[WK2] Support posting injected bundle messages to a page
        https://bugs.webkit.org/show_bug.cgi?id=94630

        Reviewed by Sam Weinig.

        * Shared/APIClientTraits.cpp:
        * Shared/APIClientTraits.h:
        * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h:
        * UIProcess/API/C/WKPage.cpp:
        (WKPagePostMessageToInjectedBundle):
        * UIProcess/API/C/WKPage.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::postMessageToInjectedBundle):
        * UIProcess/WebPageProxy.h:
        * WebProcess/InjectedBundle/API/c/WKBundle.h:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::didReceiveMessageToPage):
        (WebKit::InjectedBundle::didReceiveMessage):
        * WebProcess/InjectedBundle/InjectedBundle.h:
        * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
        (WebKit::InjectedBundleClient::didReceiveMessageToPage):
        * WebProcess/InjectedBundle/InjectedBundleClient.h:
        (InjectedBundleClient):
        Added a PostMessageToPage injected bundle message type, with all associated
        machinery. API is WKPagePostMessageToInjectedBundle(), and an associated
        didReceiveMessageToPage() injected bundle client function.

        * WebProcess/qt/QtBuiltinBundle.cpp: (WebKit::QtBuiltinBundle::initialize):
        Updated for new client API.

        * UIProcess/WebContext.cpp: (WebKit::WebContext::postMessageToInjectedBundle):
        Implemented multiple process model case.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph are not implemented on Chromium Windows
https://bugs.webkit.org/show_bug.cgi?id=83512

Patch by Koji Ishii <kojiishi@gmail.com> on 2012-08-22
Reviewed by Tony Chang.

Source/WebCore:

Chromium Windows does not implement following 3 functions that are required for bug 51450.
1. FontMetrics.unitsPerEm() always returns the default value (gDefaultUnitsPerEm = 1000).
2. FontPlatformData.orientation() always returns Horizontal.
3. SimpleFontData::platformBoundsForGlyph() always returns FloatRect().
Tony suggested in bug 51450 review to split code that is not behind
#if ENABLE(OPENTYPE_VERTICAL) to a separate patch.

Test: Following 3 existing but skipped tests are now enabled and pass.
      fast/text/emphasis-overlap.html
      fast/text/emphasis-avoid-ruby.html
      fast/repaint/text-emphasis-v.html

* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::FontCache::createFontPlatformData): Add orientation.
* platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
(WebCore::FontPlatformData::FontPlatformData): Add orientation.
(WebCore::FontPlatformData::operator=): Add orientation.
* platform/graphics/chromium/FontPlatformDataChromiumWin.h:
(FontPlatformData):
(WebCore::FontPlatformData::orientation): Add orientation.
(WebCore::FontPlatformData::setOrientation): Add orientation.
(WebCore::FontPlatformData::operator==): Add orientation.
* platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
(WebCore::SimpleFontData::platformInit): Set FontMetrics.unitsPerEm.
(WebCore::SimpleFontData::createScaledFontData): Add orientation.
(WebCore::SimpleFontData::platformBoundsForGlyph): Implemented.
* platform/graphics/skia/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData): Add orientation.

LayoutTests:

Chromium Windows does not implement following 3 functions that are required for bug 51450.
1. FontMetrics.unitsPerEm() always returns the default value (gDefaultUnitsPerEm = 1000).
   This change requires rebaseline of fast/repaint/stacked-diacritics and fast/text/emphasis-overlap.
2. FontPlatformData.orientation() always returns Horizontal. This has no effect as of this patch.
3. SimpleFontData::platformBoundsForGlyph() always returns FloatRect().
   This change improves rendering of text-emphasis and 3 existing tests pass now.
Tony suggested in bug 51450 review to split code that is not behind
#if ENABLE(OPENTYPE_VERTICAL) to a separate patch.

* platform/chromium-win/fast/repaint/stacked-diacritics-expected.png:
* platform/chromium-win/fast/text/emphasis-overlap-expected.txt: Added due to metrics change.
* platform/chromium/TestExpectations: Enabled 3 tests for Chromium Win.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix. libWebCore needs include paths
for some bits of WebCoreGtk.

* GNUmakefile.am:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126313 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: make "sdk" component compile independently from the rest of the front-end.
https://bugs.webkit.org/show_bug.cgi?id=94705

Reviewed by Vsevolod Vlasov.

Source/WebCore:

This change refactors the way we compile. Running "compile-front-end.py sdk" will compile sdk only.
It also introduces DOMStorageModel and DatabaseModel that are used to split model / UI layers.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/InjectedScriptExterns.js:
(InjectedScriptHost.prototype.evaluate):
* inspector/Inspector.json:
* inspector/compile-front-end.py:
(dump_module):
* inspector/front-end/CompilerScriptMapping.js:
* inspector/front-end/ConsoleModel.js:
(WebInspector.ConsoleMessage):
(WebInspector.ConsoleMessage.prototype.clone):
(WebInspector.ConsoleMessage.prototype.location):
* inspector/front-end/DOMAgent.js:
* inspector/front-end/DOMStorage.js:
(WebInspector.DOMStorageModel):
(WebInspector.DOMStorageModel.prototype._addDOMStorage):
(WebInspector.DOMStorageModel.prototype._domStorageUpdated):
(WebInspector.DOMStorageModel.prototype.storageForId):
(WebInspector.DOMStorageModel.prototype.storages):
(WebInspector.DOMStorageDispatcher):
(WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
(WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):
* inspector/front-end/Database.js:
(WebInspector.Database):
(WebInspector.Database.prototype.executeSql):
(WebInspector.DatabaseModel):
(WebInspector.DatabaseModel.prototype.databases):
(WebInspector.DatabaseModel.prototype.databaseForId):
(WebInspector.DatabaseModel.prototype._addDatabase):
(WebInspector.DatabaseModel.prototype._sqlTransactionSucceeded):
(WebInspector.DatabaseModel.prototype._sqlTransactionFailed):
(WebInspector.DatabaseDispatcher):
(WebInspector.DatabaseDispatcher.prototype.addDatabase):
(WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
(WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
* inspector/front-end/DebuggerModel.js:
* inspector/front-end/FileUtils.js:
(WebInspector.OutputStreamDelegate.prototype.onTransferStarted):
(WebInspector.OutputStreamDelegate.prototype.onChunkTransferred):
(WebInspector.OutputStreamDelegate.prototype.onTransferFinished):
(WebInspector.OutputStreamDelegate.prototype.onError):
(WebInspector.OutputStream):
(WebInspector.OutputStream.prototype.startTransfer):
(WebInspector.OutputStream.prototype.transferChunk):
(WebInspector.OutputStream.prototype.finishTransfer):
(WebInspector.OutputStream.prototype.dispose):
* inspector/front-end/HandlerRegistry.js:
* inspector/front-end/HeapSnapshotView.js:
* inspector/front-end/InspectorFrontendHostStub.js:
* inspector/front-end/PresentationConsoleMessageHelper.js:
(WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype._reset):
(WebInspector.ResourcesPanel.prototype._databaseAdded):
(WebInspector.ResourcesPanel.prototype._addDatabase):
(WebInspector.ResourcesPanel.prototype._domStorageAdded):
(WebInspector.ResourcesPanel.prototype._addDOMStorage):
(WebInspector.ResourcesPanel.prototype._showDatabase.get if):
(WebInspector.ResourcesPanel.prototype._showDatabase.else.get if):
(WebInspector.ResourcesPanel.prototype._showDatabase):
(WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
(WebInspector.ResourcesPanel.prototype._showDOMStorage):
(WebInspector.ResourcesPanel.prototype._updateDatabaseTables.get if):
(WebInspector.ResourcesPanel.prototype._updateDatabaseTables.tableNamesCallback):
(WebInspector.DatabaseTreeElement.prototype.onselect):
(WebInspector.DatabaseTableTreeElement.prototype.onselect):
(WebInspector.DOMStorageTreeElement.prototype.onselect):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
* inspector/front-end/SearchController.js:
(WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
* inspector/front-end/Settings.js:
* inspector/front-end/Spectrum.js:
* inspector/front-end/TextEditorModel.js:
* inspector/front-end/UIString.js: Added.
(WebInspector.UIString):
* inspector/front-end/UIUtils.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/externs.js:
(InspectorFrontendHostAPI.prototype.platform):
(InspectorFrontendHostAPI.prototype.port):
(InspectorFrontendHostAPI.prototype.bringToFront):
(InspectorFrontendHostAPI.prototype.closeWindow):
(InspectorFrontendHostAPI.prototype.requestAttachWindow):
(InspectorFrontendHostAPI.prototype.requestDetachWindow):
(InspectorFrontendHostAPI.prototype.requestSetDockSide):
(InspectorFrontendHostAPI.prototype.setAttachedWindowHeight):
(InspectorFrontendHostAPI.prototype.moveWindowBy):
(InspectorFrontendHostAPI.prototype.setInjectedScriptForOrigin):
(InspectorFrontendHostAPI.prototype.loaded):
(InspectorFrontendHostAPI.prototype.localizedStringsURL):
(InspectorFrontendHostAPI.prototype.hiddenPanels):
(InspectorFrontendHostAPI.prototype.inspectedURLChanged):
(InspectorFrontendHostAPI.prototype.documentCopy):
(InspectorFrontendHostAPI.prototype.copyText):
(InspectorFrontendHostAPI.prototype.openInNewTab):
(InspectorFrontendHostAPI.prototype.canSave):
(InspectorFrontendHostAPI.prototype.save):
(InspectorFrontendHostAPI.prototype.canAppend):
(InspectorFrontendHostAPI.prototype.append):
(InspectorFrontendHostAPI.prototype.sendMessageToBackend):
(InspectorFrontendHostAPI.prototype.recordActionTaken):
(InspectorFrontendHostAPI.prototype.recordPanelShown):
(InspectorFrontendHostAPI.prototype.recordSettingChanged):
(InspectorFrontendHostAPI.prototype.loadResourceSynchronously):
(InspectorFrontendHostAPI.prototype.setZoomFactor):
(InspectorFrontendHostAPI.prototype.canInspectWorkers):
(SourceMapV3):
(SourceMapV3.Section):
(SourceMapV3.Offset):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.inspect):

LayoutTests:

* http/tests/inspector-enabled/database-open.html:
* http/tests/inspector-enabled/dom-storage-open.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix. Missing PANGO_CFLAGS.

* GNUmakefile.am:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unskip http/tests/inspector/console-resource-errors.html.
https://bugs.webkit.org/show_bug.cgi?id=94640.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-22
Reviewed by Jessie Berlin.

The test has been rebaseline'd in r126281 and no longer fails.

* platform/mac/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126316 268f45cc-cd09-0410-ab3c-d52691b4dbfc