[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

commit-queue at webkit.org commit-queue at webkit.org
Sun Feb 20 23:32:02 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit 4ceaac1727f3f25055014a850e2adb02196af3c2
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Jan 21 11:31:15 2011 +0000

    2011-01-21  Adam Klein  <adamk at chromium.org>
    
            Reviewed by Eric Seidel.
    
            [chromium] Rename ChromiumBridge to PlatformBridge
            https://bugs.webkit.org/show_bug.cgi?id=52471
    
            No tests added as this is a rename; no change in behavior.
    
            * WebCore.gypi:
            * bindings/v8/V8DOMWindowShell.cpp:
            (WebCore::reportFatalErrorInV8):
            * page/PageGroup.cpp:
            (WebCore::PageGroup::isLinkVisited):
            * platform/android/PlatformBridge.h:
            * platform/audio/chromium/AudioBusChromium.cpp:
            (WebCore::createBusFromInMemoryAudioFile):
            * platform/chromium/ChromiumBridge.h: Removed.
            * platform/chromium/ChromiumDataObjectLegacy.cpp:
            (WebCore::ChromiumDataObjectLegacy::getData):
            * platform/chromium/DragDataChromium.cpp:
            (WebCore::DragData::asURL):
            * platform/chromium/FileSystemChromium.cpp:
            (WebCore::deleteFile):
            (WebCore::deleteEmptyDirectory):
            (WebCore::getFileSize):
            (WebCore::getFileModificationTime):
            (WebCore::revealFolderInOS):
            (WebCore::directoryName):
            (WebCore::pathByAppendingComponent):
            (WebCore::makeAllDirectories):
            (WebCore::fileExists):
            (WebCore::openFile):
            (WebCore::closeFile):
            (WebCore::seekFile):
            (WebCore::truncateFile):
            (WebCore::readFromFile):
            (WebCore::writeToFile):
            * platform/chromium/LanguageChromium.cpp:
            (WebCore::platformDefaultLanguage):
            * platform/chromium/LinkHashChromium.cpp:
            (WebCore::visitedLinkHash):
            * platform/chromium/MIMETypeRegistryChromium.cpp:
            (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
            (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
            (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
            (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
            (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
            * platform/chromium/PasteboardChromium.cpp:
            (WebCore::Pasteboard::writeSelection):
            (WebCore::Pasteboard::writePlainText):
            (WebCore::Pasteboard::writeURL):
            (WebCore::Pasteboard::writeImage):
            (WebCore::Pasteboard::canSmartReplace):
            (WebCore::Pasteboard::plainText):
            (WebCore::Pasteboard::documentFragment):
            * platform/chromium/PlatformBridge.h:
            * platform/chromium/PlatformScreenChromium.cpp:
            (WebCore::screenDepth):
            (WebCore::screenDepthPerComponent):
            (WebCore::screenIsMonochrome):
            (WebCore::screenRect):
            (WebCore::screenAvailableRect):
            * platform/chromium/ReadableDataObject.cpp:
            (WebCore::ReadableDataObject::getData):
            (WebCore::ReadableDataObject::urlTitle):
            (WebCore::ReadableDataObject::htmlBaseUrl):
            (WebCore::ReadableDataObject::filenames):
            (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
            * platform/chromium/SSLKeyGeneratorChromium.cpp:
            (WebCore::signedPublicKeyAndChallengeString):
            * platform/chromium/ScrollbarThemeChromium.cpp:
            * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
            (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
            (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
            (WebCore::ScrollbarThemeChromiumLinux::paintButton):
            (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
            (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
            (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
            * platform/chromium/ScrollbarThemeChromiumMac.mm:
            (WebCore::scrollbarStateToThemeState):
            (WebCore::ScrollbarThemeChromiumMac::paint):
            * platform/chromium/ScrollbarThemeChromiumWin.cpp:
            (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
            (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
            (WebCore::ScrollbarThemeChromiumWin::paintButton):
            (WebCore::ScrollbarThemeChromiumWin::paintThumb):
            (WebCore::ScrollbarThemeChromiumWin::buttonSize):
            * platform/chromium/SharedTimerChromium.cpp:
            (WebCore::setSharedTimerFiredFunction):
            (WebCore::setSharedTimerFireTime):
            (WebCore::stopSharedTimer):
            * platform/chromium/SuddenTerminationChromium.cpp:
            (WebCore::disableSuddenTermination):
            (WebCore::enableSuddenTermination):
            * platform/chromium/SystemTimeChromium.cpp:
            (WebCore::currentTime):
            * platform/chromium/WritableDataObject.cpp:
            (WebCore::WritableDataObject::setData):
            * platform/graphics/chromium/CrossProcessFontLoading.mm:
            * platform/graphics/chromium/FontCacheChromiumWin.cpp:
            (WebCore::fontContainsCharacter):
            (WebCore::FillLogFont):
            * platform/graphics/chromium/FontCacheLinux.cpp:
            (WebCore::FontCache::getFontDataForCharacters):
            * platform/graphics/chromium/FontChromiumWin.cpp:
            (WebCore::Font::drawGlyphs):
            * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
            (WebCore::FontPlatformData::scriptFontProperties):
            * platform/graphics/chromium/FontPlatformDataLinux.cpp:
            (WebCore::FontPlatformData::querySystemForRenderStyle):
            * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
            (WebCore::fillBMPGlyphs):
            * platform/graphics/chromium/ImageChromium.cpp:
            (WebCore::Image::loadPlatformResource):
            * platform/graphics/chromium/ImageChromiumMac.mm:
            (WebCore::Image::loadPlatformResource):
            * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
            (WebCore::SimpleFontData::platformInit):
            (WebCore::SimpleFontData::determinePitch):
            (WebCore::SimpleFontData::platformWidthForGlyph):
            * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
            (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
            * platform/graphics/skia/FontCustomPlatformData.cpp:
            (WebCore::FontCustomPlatformData::fontPlatformData):
            * platform/network/chromium/CookieJarChromium.cpp:
            (WebCore::setCookies):
            (WebCore::cookies):
            (WebCore::cookieRequestHeaderFieldValue):
            (WebCore::cookiesEnabled):
            (WebCore::getRawCookies):
            (WebCore::deleteCookie):
            * platform/network/chromium/DNSChromium.cpp:
            (WebCore::prefetchDNS):
            * platform/qt/PlatformBridge.h:
            * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
            (WebCore::SQLiteFileSystem::deleteDatabaseFile):
            (WebCore::SQLiteFileSystem::getDatabaseFileSize):
            * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
            (chromiumOpen):
            (chromiumDelete):
            (chromiumAccess):
            * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
            * plugins/chromium/PluginDataChromium.cpp:
            (WebCore::PluginCache::plugins):
            * rendering/RenderThemeChromiumMac.mm:
            (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
            * rendering/RenderThemeChromiumSkia.cpp:
            (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
            * rendering/RenderThemeChromiumWin.cpp:
            (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
            (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
            (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
            (WebCore::RenderThemeChromiumWin::systemColor):
            (WebCore::RenderThemeChromiumWin::paintButton):
            (WebCore::RenderThemeChromiumWin::paintSliderTrack):
            (WebCore::menuListButtonWidth):
            (WebCore::RenderThemeChromiumWin::paintMenuList):
            (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
            (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
            (WebCore::RenderThemeChromiumWin::paintProgressBar):
            * storage/chromium/IDBFactoryBackendInterface.cpp:
            (WebCore::IDBFactoryBackendInterface::create):
            (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
            * storage/chromium/IDBKeyPathBackendImpl.cpp:
            (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
    2011-01-21  Adam Klein  <adamk at chromium.org>
    
            Reviewed by Eric Seidel.
    
            [chromium] Rename ChromiumBridge to PlatformBridge
            https://bugs.webkit.org/show_bug.cgi?id=52471
    
            * WebKit.gyp:
            * src/AssertMatchingEnums.cpp:
            * src/PlatformBridge.cpp:
            (WebCore::toChromeClientImpl):
            (WebCore::toWebWidgetClient):
            (WebCore::getCookieJar):
            (WebCore::PlatformBridge::cacheMetadata):
            (WebCore::PlatformBridge::clipboardIsFormatAvailable):
            (WebCore::PlatformBridge::clipboardReadPlainText):
            (WebCore::PlatformBridge::clipboardReadHTML):
            (WebCore::PlatformBridge::clipboardWriteSelection):
            (WebCore::PlatformBridge::clipboardWritePlainText):
            (WebCore::PlatformBridge::clipboardWriteURL):
            (WebCore::PlatformBridge::clipboardWriteImage):
            (WebCore::PlatformBridge::clipboardWriteData):
            (WebCore::PlatformBridge::clipboardReadAvailableTypes):
            (WebCore::PlatformBridge::clipboardReadData):
            (WebCore::PlatformBridge::clipboardReadFilenames):
            (WebCore::PlatformBridge::setCookies):
            (WebCore::PlatformBridge::cookies):
            (WebCore::PlatformBridge::cookieRequestHeaderFieldValue):
            (WebCore::PlatformBridge::rawCookies):
            (WebCore::PlatformBridge::deleteCookie):
            (WebCore::PlatformBridge::cookiesEnabled):
            (WebCore::PlatformBridge::prefetchDNS):
            (WebCore::PlatformBridge::fileExists):
            (WebCore::PlatformBridge::deleteFile):
            (WebCore::PlatformBridge::deleteEmptyDirectory):
            (WebCore::PlatformBridge::getFileSize):
            (WebCore::PlatformBridge::revealFolderInOS):
            (WebCore::PlatformBridge::getFileModificationTime):
            (WebCore::PlatformBridge::directoryName):
            (WebCore::PlatformBridge::pathByAppendingComponent):
            (WebCore::PlatformBridge::makeAllDirectories):
            (WebCore::PlatformBridge::getAbsolutePath):
            (WebCore::PlatformBridge::isDirectory):
            (WebCore::PlatformBridge::filePathToURL):
            (WebCore::PlatformBridge::openFile):
            (WebCore::PlatformBridge::closeFile):
            (WebCore::PlatformBridge::seekFile):
            (WebCore::PlatformBridge::truncateFile):
            (WebCore::PlatformBridge::readFromFile):
            (WebCore::PlatformBridge::writeToFile):
            (WebCore::PlatformBridge::ensureFontLoaded):
            (WebCore::PlatformBridge::getFontFamilyForCharacters):
            (WebCore::PlatformBridge::getRenderStyleForStrike):
            (WebCore::PlatformBridge::loadFont):
            (WebCore::PlatformBridge::databaseOpenFile):
            (WebCore::PlatformBridge::databaseDeleteFile):
            (WebCore::PlatformBridge::databaseGetFileAttributes):
            (WebCore::PlatformBridge::databaseGetFileSize):
            (WebCore::PlatformBridge::idbFactory):
            (WebCore::PlatformBridge::idbShutdown):
            (WebCore::PlatformBridge::createIDBKeysFromSerializedValuesAndKeyPath):
            (WebCore::PlatformBridge::signedPublicKeyAndChallengeString):
            (WebCore::PlatformBridge::computedDefaultLanguage):
            (WebCore::PlatformBridge::layoutTestMode):
            (WebCore::PlatformBridge::isSupportedImageMIMEType):
            (WebCore::PlatformBridge::isSupportedJavaScriptMIMEType):
            (WebCore::PlatformBridge::isSupportedNonImageMIMEType):
            (WebCore::PlatformBridge::mimeTypeForExtension):
            (WebCore::PlatformBridge::mimeTypeFromFile):
            (WebCore::PlatformBridge::preferredExtensionForMIMEType):
            (WebCore::PlatformBridge::plugins):
            (WebCore::PlatformBridge::pluginScriptableObject):
            (WebCore::PlatformBridge::loadPlatformImageResource):
            (WebCore::PlatformBridge::loadPlatformAudioResource):
            (WebCore::PlatformBridge::decodeAudioFileData):
            (WebCore::PlatformBridge::sandboxEnabled):
            (WebCore::PlatformBridge::setSharedTimerFiredFunction):
            (WebCore::PlatformBridge::setSharedTimerFireTime):
            (WebCore::PlatformBridge::stopSharedTimer):
            (WebCore::PlatformBridge::decrementStatsCounter):
            (WebCore::PlatformBridge::incrementStatsCounter):
            (WebCore::PlatformBridge::histogramCustomCounts):
            (WebCore::PlatformBridge::histogramEnumeration):
            (WebCore::PlatformBridge::suddenTerminationChanged):
            (WebCore::PlatformBridge::currentTime):
            (WebCore::PlatformBridge::paintButton):
            (WebCore::PlatformBridge::paintMenuList):
            (WebCore::PlatformBridge::paintScrollbarArrow):
            (WebCore::PlatformBridge::paintScrollbarThumb):
            (WebCore::PlatformBridge::paintScrollbarTrack):
            (WebCore::PlatformBridge::paintSpinButton):
            (WebCore::PlatformBridge::paintTextField):
            (WebCore::PlatformBridge::paintTrackbar):
            (WebCore::PlatformBridge::paintProgressBar):
            (WebCore::WebThemePart):
            (WebCore::WebThemeState):
            (WebCore::GetWebThemeExtraParams):
            (WebCore::PlatformBridge::getThemePartSize):
            (WebCore::PlatformBridge::paintThemePart):
            (WebCore::PlatformBridge::traceEventBegin):
            (WebCore::PlatformBridge::traceEventEnd):
            (WebCore::PlatformBridge::visitedLinkHash):
            (WebCore::PlatformBridge::isLinkVisited):
            (WebCore::PlatformBridge::notifyJSOutOfMemory):
            (WebCore::PlatformBridge::memoryUsageMB):
            (WebCore::PlatformBridge::actualMemoryUsageMB):
            (WebCore::PlatformBridge::screenDepth):
            (WebCore::PlatformBridge::screenDepthPerComponent):
            (WebCore::PlatformBridge::screenIsMonochrome):
            (WebCore::PlatformBridge::screenRect):
            (WebCore::PlatformBridge::screenAvailableRect):
            (WebCore::PlatformBridge::popupsAllowed):
            (WebCore::WorkerContextProxy::create):
            * src/ResourceHandle.cpp:
            (WebCore::ResourceHandle::cacheMetadata):
            * src/WebFrameImpl.cpp:
            (WebKit::WebFrameImpl::WebFrameImpl):
            (WebKit::WebFrameImpl::~WebFrameImpl):
            * src/WebViewImpl.cpp:
            (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76340 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 9cbb966..464673f 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,170 @@
+2011-01-21  Adam Klein  <adamk at chromium.org>
+
+        Reviewed by Eric Seidel.
+
+        [chromium] Rename ChromiumBridge to PlatformBridge
+        https://bugs.webkit.org/show_bug.cgi?id=52471
+
+        No tests added as this is a rename; no change in behavior.
+
+        * WebCore.gypi:
+        * bindings/v8/V8DOMWindowShell.cpp:
+        (WebCore::reportFatalErrorInV8):
+        * page/PageGroup.cpp:
+        (WebCore::PageGroup::isLinkVisited):
+        * platform/android/PlatformBridge.h:
+        * platform/audio/chromium/AudioBusChromium.cpp:
+        (WebCore::createBusFromInMemoryAudioFile):
+        * platform/chromium/ChromiumBridge.h: Removed.
+        * platform/chromium/ChromiumDataObjectLegacy.cpp:
+        (WebCore::ChromiumDataObjectLegacy::getData):
+        * platform/chromium/DragDataChromium.cpp:
+        (WebCore::DragData::asURL):
+        * platform/chromium/FileSystemChromium.cpp:
+        (WebCore::deleteFile):
+        (WebCore::deleteEmptyDirectory):
+        (WebCore::getFileSize):
+        (WebCore::getFileModificationTime):
+        (WebCore::revealFolderInOS):
+        (WebCore::directoryName):
+        (WebCore::pathByAppendingComponent):
+        (WebCore::makeAllDirectories):
+        (WebCore::fileExists):
+        (WebCore::openFile):
+        (WebCore::closeFile):
+        (WebCore::seekFile):
+        (WebCore::truncateFile):
+        (WebCore::readFromFile):
+        (WebCore::writeToFile):
+        * platform/chromium/LanguageChromium.cpp:
+        (WebCore::platformDefaultLanguage):
+        * platform/chromium/LinkHashChromium.cpp:
+        (WebCore::visitedLinkHash):
+        * platform/chromium/MIMETypeRegistryChromium.cpp:
+        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
+        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
+        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
+        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
+        * platform/chromium/PasteboardChromium.cpp:
+        (WebCore::Pasteboard::writeSelection):
+        (WebCore::Pasteboard::writePlainText):
+        (WebCore::Pasteboard::writeURL):
+        (WebCore::Pasteboard::writeImage):
+        (WebCore::Pasteboard::canSmartReplace):
+        (WebCore::Pasteboard::plainText):
+        (WebCore::Pasteboard::documentFragment):
+        * platform/chromium/PlatformBridge.h:
+        * platform/chromium/PlatformScreenChromium.cpp:
+        (WebCore::screenDepth):
+        (WebCore::screenDepthPerComponent):
+        (WebCore::screenIsMonochrome):
+        (WebCore::screenRect):
+        (WebCore::screenAvailableRect):
+        * platform/chromium/ReadableDataObject.cpp:
+        (WebCore::ReadableDataObject::getData):
+        (WebCore::ReadableDataObject::urlTitle):
+        (WebCore::ReadableDataObject::htmlBaseUrl):
+        (WebCore::ReadableDataObject::filenames):
+        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
+        * platform/chromium/SSLKeyGeneratorChromium.cpp:
+        (WebCore::signedPublicKeyAndChallengeString):
+        * platform/chromium/ScrollbarThemeChromium.cpp:
+        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
+        (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
+        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
+        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
+        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
+        (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
+        (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
+        * platform/chromium/ScrollbarThemeChromiumMac.mm:
+        (WebCore::scrollbarStateToThemeState):
+        (WebCore::ScrollbarThemeChromiumMac::paint):
+        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
+        (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
+        (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
+        (WebCore::ScrollbarThemeChromiumWin::paintButton):
+        (WebCore::ScrollbarThemeChromiumWin::paintThumb):
+        (WebCore::ScrollbarThemeChromiumWin::buttonSize):
+        * platform/chromium/SharedTimerChromium.cpp:
+        (WebCore::setSharedTimerFiredFunction):
+        (WebCore::setSharedTimerFireTime):
+        (WebCore::stopSharedTimer):
+        * platform/chromium/SuddenTerminationChromium.cpp:
+        (WebCore::disableSuddenTermination):
+        (WebCore::enableSuddenTermination):
+        * platform/chromium/SystemTimeChromium.cpp:
+        (WebCore::currentTime):
+        * platform/chromium/WritableDataObject.cpp:
+        (WebCore::WritableDataObject::setData):
+        * platform/graphics/chromium/CrossProcessFontLoading.mm:
+        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
+        (WebCore::fontContainsCharacter):
+        (WebCore::FillLogFont):
+        * platform/graphics/chromium/FontCacheLinux.cpp:
+        (WebCore::FontCache::getFontDataForCharacters):
+        * platform/graphics/chromium/FontChromiumWin.cpp:
+        (WebCore::Font::drawGlyphs):
+        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
+        (WebCore::FontPlatformData::scriptFontProperties):
+        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+        (WebCore::FontPlatformData::querySystemForRenderStyle):
+        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
+        (WebCore::fillBMPGlyphs):
+        * platform/graphics/chromium/ImageChromium.cpp:
+        (WebCore::Image::loadPlatformResource):
+        * platform/graphics/chromium/ImageChromiumMac.mm:
+        (WebCore::Image::loadPlatformResource):
+        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
+        (WebCore::SimpleFontData::platformInit):
+        (WebCore::SimpleFontData::determinePitch):
+        (WebCore::SimpleFontData::platformWidthForGlyph):
+        * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
+        (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
+        * platform/graphics/skia/FontCustomPlatformData.cpp:
+        (WebCore::FontCustomPlatformData::fontPlatformData):
+        * platform/network/chromium/CookieJarChromium.cpp:
+        (WebCore::setCookies):
+        (WebCore::cookies):
+        (WebCore::cookieRequestHeaderFieldValue):
+        (WebCore::cookiesEnabled):
+        (WebCore::getRawCookies):
+        (WebCore::deleteCookie):
+        * platform/network/chromium/DNSChromium.cpp:
+        (WebCore::prefetchDNS):
+        * platform/qt/PlatformBridge.h:
+        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
+        (WebCore::SQLiteFileSystem::deleteDatabaseFile):
+        (WebCore::SQLiteFileSystem::getDatabaseFileSize):
+        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
+        (chromiumOpen):
+        (chromiumDelete):
+        (chromiumAccess):
+        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
+        * plugins/chromium/PluginDataChromium.cpp:
+        (WebCore::PluginCache::plugins):
+        * rendering/RenderThemeChromiumMac.mm:
+        (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
+        * rendering/RenderThemeChromiumSkia.cpp:
+        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
+        * rendering/RenderThemeChromiumWin.cpp:
+        (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
+        (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
+        (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
+        (WebCore::RenderThemeChromiumWin::systemColor):
+        (WebCore::RenderThemeChromiumWin::paintButton):
+        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
+        (WebCore::menuListButtonWidth):
+        (WebCore::RenderThemeChromiumWin::paintMenuList):
+        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
+        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
+        (WebCore::RenderThemeChromiumWin::paintProgressBar):
+        * storage/chromium/IDBFactoryBackendInterface.cpp:
+        (WebCore::IDBFactoryBackendInterface::create):
+        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
+        * storage/chromium/IDBKeyPathBackendImpl.cpp:
+        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
+
 2011-01-21  Sheriff Bot  <webkit.review.bot at gmail.com>
 
         Unreviewed, rolling out r76335.
diff --git a/Source/WebCore/WebCore.gypi b/Source/WebCore/WebCore.gypi
index 534ddf2..0348c06 100644
--- a/Source/WebCore/WebCore.gypi
+++ b/Source/WebCore/WebCore.gypi
@@ -2446,7 +2446,6 @@
             'platform/cf/SchedulePair.cpp',
             'platform/cf/SchedulePair.h',
             'platform/cf/SharedBufferCF.cpp',
-            'platform/chromium/ChromiumBridge.h',
             'platform/chromium/ChromiumDataObject.cpp',
             'platform/chromium/ChromiumDataObject.h',
             'platform/chromium/ChromiumDataObjectLegacy.cpp',
@@ -2483,6 +2482,7 @@
             'platform/chromium/MIMETypeRegistryChromium.cpp',
             'platform/chromium/PasteboardChromium.cpp',
             'platform/chromium/PasteboardPrivate.h',
+            'platform/chromium/PlatformBridge.h',
             'platform/chromium/PlatformCursor.h',
             'platform/chromium/PlatformKeyboardEventChromium.cpp',
             'platform/chromium/PlatformScreenChromium.cpp',
diff --git a/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp b/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp
index f4b1eb7..ea2c3c4 100644
--- a/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp
+++ b/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp
@@ -85,7 +85,7 @@ static void reportFatalErrorInV8(const char* location, const char* message)
     // FIXME: clean up V8Proxy and disable JavaScript.
     int memoryUsageMB = -1;
 #if PLATFORM(CHROMIUM)
-    memoryUsageMB = ChromiumBridge::actualMemoryUsageMB();
+    memoryUsageMB = PlatformBridge::actualMemoryUsageMB();
 #endif
     printf("V8 error: %s (%s).  Current memory usage: %d MB\n", message, location, memoryUsageMB);
     handleFatalErrorInV8();
diff --git a/Source/WebCore/page/PageGroup.cpp b/Source/WebCore/page/PageGroup.cpp
index 8b902c0..b9b0e34 100644
--- a/Source/WebCore/page/PageGroup.cpp
+++ b/Source/WebCore/page/PageGroup.cpp
@@ -37,7 +37,7 @@
 #include "StorageNamespace.h"
 
 #if PLATFORM(CHROMIUM)
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 #endif
 
 namespace WebCore {
@@ -128,7 +128,7 @@ bool PageGroup::isLinkVisited(LinkHash visitedLinkHash)
 {
 #if PLATFORM(CHROMIUM)
     // Use Chromium's built-in visited link database.
-    return ChromiumBridge::isLinkVisited(visitedLinkHash);
+    return PlatformBridge::isLinkVisited(visitedLinkHash);
 #else
     if (!m_visitedLinksPopulated) {
         m_visitedLinksPopulated = true;
diff --git a/Source/WebCore/platform/android/PlatformBridge.h b/Source/WebCore/platform/android/PlatformBridge.h
index 4269ef8..81d9a1f 100644
--- a/Source/WebCore/platform/android/PlatformBridge.h
+++ b/Source/WebCore/platform/android/PlatformBridge.h
@@ -86,7 +86,7 @@ class Widget;
 
 // An interface to the embedding layer, which has the ability to answer
 // questions about the system and so on...
-// This is very similar to ChromiumBridge and the two are likely to converge
+// This is very similar to chromium/PlatformBridge and the two are likely to converge
 // in the future.
 //
 // The methods in this class all need to reach across a JNI layer to the Java VM
diff --git a/Source/WebCore/platform/audio/chromium/AudioBusChromium.cpp b/Source/WebCore/platform/audio/chromium/AudioBusChromium.cpp
index a93703d..9eef84e 100644
--- a/Source/WebCore/platform/audio/chromium/AudioBusChromium.cpp
+++ b/Source/WebCore/platform/audio/chromium/AudioBusChromium.cpp
@@ -29,7 +29,7 @@
 #include "AudioBus.h"
 
 #include "AudioFileReader.h"
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 #include <wtf/PassOwnPtr.h>
 
 namespace WebCore {
@@ -38,12 +38,12 @@ namespace WebCore {
 
 // PassOwnPtr<AudioBus> AudioBus::loadPlatformResource(const char* name, double sampleRate)
 // {
-//     return ChromiumBridge::loadPlatformAudioResource(name, sampleRate);
+//     return PlatformBridge::loadPlatformAudioResource(name, sampleRate);
 // }
 
 PassOwnPtr<AudioBus> createBusFromInMemoryAudioFile(const void* data, size_t dataSize, bool mixToMono, double sampleRate)
 {
-    OwnPtr<AudioBus> audioBus = ChromiumBridge::decodeAudioFileData(static_cast<const char*>(data), dataSize, sampleRate);
+    OwnPtr<AudioBus> audioBus = PlatformBridge::decodeAudioFileData(static_cast<const char*>(data), dataSize, sampleRate);
     if (audioBus->numberOfChannels() == 2 && mixToMono) {
         OwnPtr<AudioBus> monoAudioBus = adoptPtr(new AudioBus(1, audioBus->length()));
 
diff --git a/Source/WebCore/platform/chromium/ChromiumBridge.h b/Source/WebCore/platform/chromium/ChromiumBridge.h
deleted file mode 100644
index f104b2c..0000000
--- a/Source/WebCore/platform/chromium/ChromiumBridge.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * Copyright (c) 2010, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ChromiumBridge_h
-#define ChromiumBridge_h
-
-#if ENABLE(WEB_AUDIO)
-#include "AudioBus.h"
-#endif
-
-#include "FileSystem.h"
-#include "ImageSource.h"
-#include "LinkHash.h"
-#include "PassRefPtr.h"
-#include "PasteboardPrivate.h"
-#include "PluginData.h"
-
-#include <wtf/Forward.h>
-#include <wtf/HashSet.h>
-#include <wtf/Vector.h>
-
-typedef struct NPObject NPObject;
-typedef struct _NPP NPP_t;
-typedef NPP_t* NPP;
-
-#if OS(DARWIN)
-typedef struct CGFont* CGFontRef;
-typedef uintptr_t ATSFontContainerRef;
-#ifdef __OBJC__
- at class NSFont;
-#else
-class NSFont;
-#endif
-#endif // OS(DARWIN)
-
-#if OS(WINDOWS)
-typedef struct HFONT__* HFONT;
-#endif
-
-namespace WebCore {
-
-    class ClipboardData;
-    class Color;
-    class Cursor;
-    class Document;
-    class Frame;
-    class GeolocationServiceBridge;
-    class GeolocationServiceChromium;
-    class GraphicsContext;
-    class Image;
-    class IDBFactoryBackendInterface;
-    class IDBKey;
-    class IntRect;
-    class KURL;
-    class SerializedScriptValue;
-    class Widget;
-
-    struct Cookie;
-    struct FontRenderStyle;
-
-    // An interface to the embedding layer, which has the ability to answer
-    // questions about the system and so on...
-
-    class ChromiumBridge {
-    public:
-        // Cache --------------------------------------------------------------
-        static void cacheMetadata(const KURL& url, double responseTime, const Vector<char>&);
-
-        // Clipboard ----------------------------------------------------------
-        static bool clipboardIsFormatAvailable(PasteboardPrivate::ClipboardFormat, PasteboardPrivate::ClipboardBuffer);
-
-        static String clipboardReadPlainText(PasteboardPrivate::ClipboardBuffer);
-        static void clipboardReadHTML(PasteboardPrivate::ClipboardBuffer, String*, KURL*);
-
-        // Only the clipboardRead functions take a buffer argument because
-        // Chromium currently uses a different technique to write to alternate
-        // clipboard buffers.
-        static void clipboardWriteSelection(const String&, const KURL&, const String&, bool);
-        static void clipboardWritePlainText(const String&);
-        static void clipboardWriteURL(const KURL&, const String&);
-        static void clipboardWriteImage(NativeImagePtr, const KURL&, const String&);
-        static void clipboardWriteData(const String& type, const String& data, const String& metadata);
-
-        // Interface for handling copy and paste, drag and drop, and selection copy.
-        static HashSet<String> clipboardReadAvailableTypes(PasteboardPrivate::ClipboardBuffer, bool* containsFilenames);
-        static bool clipboardReadData(PasteboardPrivate::ClipboardBuffer, const String& type, String& data, String& metadata);
-        static Vector<String> clipboardReadFilenames(PasteboardPrivate::ClipboardBuffer);
-
-        // Cookies ------------------------------------------------------------
-        static void setCookies(const Document*, const KURL&, const String& value);
-        static String cookies(const Document*, const KURL&);
-        static String cookieRequestHeaderFieldValue(const Document*, const KURL&);
-        static bool rawCookies(const Document*, const KURL& url, Vector<Cookie>&);
-        static void deleteCookie(const Document*, const KURL& url, const String& cookieName);
-        static bool cookiesEnabled(const Document*);
-
-        // DNS ----------------------------------------------------------------
-        static void prefetchDNS(const String& hostname);
-
-        // File ---------------------------------------------------------------
-        static void revealFolderInOS(const String&);
-        static bool fileExists(const String&);
-        static bool deleteFile(const String&);
-        static bool deleteEmptyDirectory(const String&);
-        static bool getFileSize(const String&, long long& result);
-        static bool getFileModificationTime(const String&, time_t& result);
-        static String directoryName(const String& path);
-        static String pathByAppendingComponent(const String& path, const String& component);
-        static bool makeAllDirectories(const String& path);
-        static String getAbsolutePath(const String&);
-        static bool isDirectory(const String&);
-        static KURL filePathToURL(const String&);
-        static PlatformFileHandle openFile(const String& path, FileOpenMode);
-        static void closeFile(PlatformFileHandle&);
-        static long long seekFile(PlatformFileHandle, long long offset, FileSeekOrigin);
-        static bool truncateFile(PlatformFileHandle, long long offset);
-        static int readFromFile(PlatformFileHandle, char* data, int length);
-        static int writeToFile(PlatformFileHandle, const char* data, int length);
-
-        // Font ---------------------------------------------------------------
-#if OS(WINDOWS)
-        static bool ensureFontLoaded(HFONT font);
-#endif
-#if OS(LINUX) || OS(FREEBSD)
-        static void getRenderStyleForStrike(const char* family, int sizeAndStyle, FontRenderStyle* result);
-        static String getFontFamilyForCharacters(const UChar*, size_t numCharacters);
-#endif
-#if OS(DARWIN)
-        static bool loadFont(NSFont* srcFont, ATSFontContainerRef* out);
-#endif
-
-        // Forms --------------------------------------------------------------
-        static void notifyFormStateChanged(const Document*);
-
-        // Databases ----------------------------------------------------------
-        // Returns a handle to the DB file and ooptionally a handle to its containing directory
-        static PlatformFileHandle databaseOpenFile(const String& vfsFleName, int desiredFlags);
-        // Returns a SQLite code (SQLITE_OK = 0, on success)
-        static int databaseDeleteFile(const String& vfsFileName, bool syncDir = false);
-        // Returns the attributes of the DB file
-        static long databaseGetFileAttributes(const String& vfsFileName);
-        // Returns the size of the DB file
-        static long long databaseGetFileSize(const String& vfsFileName);
-
-        // IndexedDB ----------------------------------------------------------
-        static PassRefPtr<IDBFactoryBackendInterface> idbFactory();
-        static void idbShutdown();
-        // Extracts keyPath from values and returns the corresponding keys.
-        static void createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue> >& values, const String& keyPath, Vector<RefPtr<IDBKey> >& keys);
-
-        // JavaScript ---------------------------------------------------------
-        static void notifyJSOutOfMemory(Frame*);
-        static bool allowScriptDespiteSettings(const KURL& documentURL);
-
-        // Keygen -------------------------------------------------------------
-        static String signedPublicKeyAndChallengeString(unsigned keySizeIndex, const String& challenge, const KURL& url);
-
-        // Language -----------------------------------------------------------
-        static String computedDefaultLanguage();
-
-        // LayoutTestMode -----------------------------------------------------
-        static bool layoutTestMode();
-
-        // Memory -------------------------------------------------------------
-        // Returns the current space allocated for the pagefile, in MB.
-        // That is committed size for Windows and virtual memory size for POSIX
-        static int memoryUsageMB();
-
-        // Same as above, but always returns actual value, without any caches.
-        static int actualMemoryUsageMB();
-
-        // MimeType -----------------------------------------------------------
-        static bool isSupportedImageMIMEType(const String& mimeType);
-        static bool isSupportedJavaScriptMIMEType(const String& mimeType);
-        static bool isSupportedNonImageMIMEType(const String& mimeType);
-        static String mimeTypeForExtension(const String& fileExtension);
-        static String mimeTypeFromFile(const String& filePath);
-        static String preferredExtensionForMIMEType(const String& mimeType);
-
-        // Plugin -------------------------------------------------------------
-        static bool plugins(bool refresh, Vector<PluginInfo>*);
-        static NPObject* pluginScriptableObject(Widget*);
-        static bool popupsAllowed(NPP);
-
-        // Resources ----------------------------------------------------------
-        static PassRefPtr<Image> loadPlatformImageResource(const char* name);
-
-#if ENABLE(WEB_AUDIO)
-        static PassOwnPtr<AudioBus> loadPlatformAudioResource(const char* name, double sampleRate);
-        static PassOwnPtr<AudioBus> decodeAudioFileData(const char* data, size_t size, double sampleRate);
-#endif
-
-        // Sandbox ------------------------------------------------------------
-        static bool sandboxEnabled();
-
-        // Screen -------------------------------------------------------------
-        static int screenDepth(Widget*);
-        static int screenDepthPerComponent(Widget*);
-        static bool screenIsMonochrome(Widget*);
-        static IntRect screenRect(Widget*);
-        static IntRect screenAvailableRect(Widget*);
-
-        // SharedTimers -------------------------------------------------------
-        static void setSharedTimerFiredFunction(void (*func)());
-        static void setSharedTimerFireTime(double fireTime);
-        static void stopSharedTimer();
-
-        // StatsCounters ------------------------------------------------------
-        static void decrementStatsCounter(const char* name);
-        static void incrementStatsCounter(const char* name);
-        static void histogramCustomCounts(const char* name, int sample, int min, int max, int bucketCount);
-        static void histogramEnumeration(const char* name, int sample, int boundaryValue);
-
-        // Sudden Termination
-        static void suddenTerminationChanged(bool enabled);
-
-        // SystemTime ---------------------------------------------------------
-        static double currentTime();
-
-        // Theming ------------------------------------------------------------
-#if OS(WINDOWS)
-        static void paintButton(
-            GraphicsContext*, int part, int state, int classicState, const IntRect&);
-        static void paintMenuList(
-            GraphicsContext*, int part, int state, int classicState, const IntRect&);
-        static void paintScrollbarArrow(
-            GraphicsContext*, int state, int classicState, const IntRect&);
-        static void paintScrollbarThumb(
-            GraphicsContext*, int part, int state, int classicState, const IntRect&);
-        static void paintScrollbarTrack(
-            GraphicsContext*, int part, int state, int classicState, const IntRect&, const IntRect& alignRect);
-        static void paintSpinButton(
-            GraphicsContext*, int part, int state, int classicState, const IntRect&);
-        static void paintTextField(
-            GraphicsContext*, int part, int state, int classicState, const IntRect&, const Color&, bool fillContentArea, bool drawEdges);
-        static void paintTrackbar(
-            GraphicsContext*, int part, int state, int classicState, const IntRect&);
-        static void paintProgressBar(
-            GraphicsContext*, const IntRect& barRect, const IntRect& valueRect, bool determinate, double animatedSeconds);
-#elif OS(LINUX)
-        // The UI part which is being accessed.
-        enum ThemePart {
-            PartScrollbarDownArrow,
-            PartScrollbarLeftArrow,
-            PartScrollbarRightArrow,
-            PartScrollbarUpArrow,
-            PartScrollbarHorizontalThumb,
-            PartScrollbarVerticalThumb,
-            PartScrollbarHorizontalTrack,
-            PartScrollbarVerticalTrack,
-        };
-
-        // The current state of the associated Part.
-        enum ThemePaintState {
-            StateDisabled,
-            StateHover,
-            StateNormal,
-            StatePressed,
-        };
-
-        struct ScrollbarTrackExtraParams {
-            // The bounds of the entire track, as opposed to the part being painted.
-            int trackX;
-            int trackY;
-            int trackWidth;
-            int trackHeight;
-        };
-
-        union ThemePaintExtraParams {
-            ScrollbarTrackExtraParams scrollbarTrack;
-        };
-
-        // Gets the size of the given theme part. For variable sized items
-        // like vertical scrollbar thumbs, the width will be the required width of
-        // the track while the height will be the minimum height.
-        static IntSize getThemePartSize(ThemePart);
-        // Paint the given the given theme part.
-        static void paintThemePart(GraphicsContext*, ThemePart, ThemePaintState, const IntRect&, const ThemePaintExtraParams*);
-#elif OS(DARWIN)
-        enum ThemePaintState {
-            StateDisabled,
-            StateInactive,
-            StateActive,
-            StatePressed,
-        };
-
-        enum ThemePaintSize {
-            SizeRegular,
-            SizeSmall,
-        };
-
-        enum ThemePaintScrollbarOrientation {
-            ScrollbarOrientationHorizontal,
-            ScrollbarOrientationVertical,
-        };
-
-        enum ThemePaintScrollbarParent {
-            ScrollbarParentScrollView,
-            ScrollbarParentRenderLayer,
-        };
-
-        struct ThemePaintScrollbarInfo {
-            ThemePaintScrollbarOrientation orientation;
-            ThemePaintScrollbarParent parent;
-            int maxValue;
-            int currentValue;
-            int visibleSize;
-            int totalSize;
-        };
-
-        static void paintScrollbarThumb(GraphicsContext*, ThemePaintState, ThemePaintSize, const IntRect&, const ThemePaintScrollbarInfo&);
-#endif
-
-        // Trace Event --------------------------------------------------------
-        static void traceEventBegin(const char* name, void* id, const char* extra);
-        static void traceEventEnd(const char* name, void* id, const char* extra);
-
-        // Visited links ------------------------------------------------------
-        static LinkHash visitedLinkHash(const UChar* url, unsigned length);
-        static LinkHash visitedLinkHash(const KURL& base, const AtomicString& attributeURL);
-        static bool isLinkVisited(LinkHash);
-    };
-
-} // namespace WebCore
-
-#endif
diff --git a/Source/WebCore/platform/chromium/ChromiumDataObjectLegacy.cpp b/Source/WebCore/platform/chromium/ChromiumDataObjectLegacy.cpp
index a2952c0..82e47e2 100644
--- a/Source/WebCore/platform/chromium/ChromiumDataObjectLegacy.cpp
+++ b/Source/WebCore/platform/chromium/ChromiumDataObjectLegacy.cpp
@@ -31,9 +31,9 @@
 #include "config.h"
 #include "ChromiumDataObjectLegacy.h"
 
-#include "ChromiumBridge.h"
 #include "ClipboardMimeTypes.h"
 #include "Pasteboard.h"
+#include "PlatformBridge.h"
 
 namespace WebCore {
 
@@ -132,7 +132,7 @@ String ChromiumDataObjectLegacy::getData(const String& type, bool& success)
                 Pasteboard::generalPasteboard()->isSelectionMode() ?
                 PasteboardPrivate::SelectionBuffer :
                 PasteboardPrivate::StandardBuffer;
-            String text = ChromiumBridge::clipboardReadPlainText(buffer);
+            String text = PlatformBridge::clipboardReadPlainText(buffer);
             success = !text.isEmpty();
             return text;
         }
@@ -158,7 +158,7 @@ String ChromiumDataObjectLegacy::getData(const String& type, bool& success)
                 PasteboardPrivate::StandardBuffer;
             String htmlText;
             KURL sourceURL;
-            ChromiumBridge::clipboardReadHTML(buffer, &htmlText, &sourceURL);
+            PlatformBridge::clipboardReadHTML(buffer, &htmlText, &sourceURL);
             success = !htmlText.isEmpty();
             return htmlText;
         }
diff --git a/Source/WebCore/platform/chromium/DragDataChromium.cpp b/Source/WebCore/platform/chromium/DragDataChromium.cpp
index 8c20a00..9312505 100644
--- a/Source/WebCore/platform/chromium/DragDataChromium.cpp
+++ b/Source/WebCore/platform/chromium/DragDataChromium.cpp
@@ -30,16 +30,16 @@
 #include "config.h"
 #include "DragData.h"
 
-#include "ChromiumBridge.h"
 #include "ChromiumDataObject.h"
 #include "ClipboardMimeTypes.h"
 #include "DocumentFragment.h"
 #include "FileSystem.h"
 #include "Frame.h"
 #include "KURL.h"
-#include "markup.h"
 #include "NotImplemented.h"
+#include "PlatformBridge.h"
 #include "PlatformString.h"
+#include "markup.h"
 
 namespace WebCore {
 
@@ -63,7 +63,7 @@ String DragData::asURL(Frame*, FilenameConversionPolicy filenamePolicy, String*
         if (title)
             *title = m_platformDragData->urlTitle();
     } else if (filenamePolicy == ConvertFilenames && containsFiles()) {
-        url = ChromiumBridge::filePathToURL(ChromiumBridge::getAbsolutePath(m_platformDragData->filenames()[0]));
+        url = PlatformBridge::filePathToURL(PlatformBridge::getAbsolutePath(m_platformDragData->filenames()[0]));
     }
     return url;
 }
diff --git a/Source/WebCore/platform/chromium/FileSystemChromium.cpp b/Source/WebCore/platform/chromium/FileSystemChromium.cpp
index d8a1e3f..faf5e92 100644
--- a/Source/WebCore/platform/chromium/FileSystemChromium.cpp
+++ b/Source/WebCore/platform/chromium/FileSystemChromium.cpp
@@ -31,85 +31,85 @@
 #include "config.h"
 #include "FileSystem.h"
 
-#include "ChromiumBridge.h"
 #include "NotImplemented.h"
+#include "PlatformBridge.h"
 #include "PlatformString.h"
 
 namespace WebCore {
 
 bool deleteFile(const String& path)
 {
-    return ChromiumBridge::deleteFile(path);
+    return PlatformBridge::deleteFile(path);
 }
 
 bool deleteEmptyDirectory(const String& path)
 {
-    return ChromiumBridge::deleteEmptyDirectory(path);
+    return PlatformBridge::deleteEmptyDirectory(path);
 }
 
 bool getFileSize(const String& path, long long& result)
 {
-    return ChromiumBridge::getFileSize(path, result);
+    return PlatformBridge::getFileSize(path, result);
 }
 
 bool getFileModificationTime(const String& path, time_t& result)
 {
-    return ChromiumBridge::getFileModificationTime(path, result);
+    return PlatformBridge::getFileModificationTime(path, result);
 }
 
 void revealFolderInOS(const String& path)
 {
-    ChromiumBridge::revealFolderInOS(path);
+    PlatformBridge::revealFolderInOS(path);
 }
 
 String directoryName(const String& path)
 {
-    return ChromiumBridge::directoryName(path);
+    return PlatformBridge::directoryName(path);
 }
 
 String pathByAppendingComponent(const String& path, const String& component)
 {
-    return ChromiumBridge::pathByAppendingComponent(path, component);
+    return PlatformBridge::pathByAppendingComponent(path, component);
 }
 
 bool makeAllDirectories(const String& path)
 {
-    return ChromiumBridge::makeAllDirectories(path);
+    return PlatformBridge::makeAllDirectories(path);
 }
 
 bool fileExists(const String& path)
 {
-    return ChromiumBridge::fileExists(path);
+    return PlatformBridge::fileExists(path);
 }
 
 PlatformFileHandle openFile(const String& path, FileOpenMode mode)
 {
-    return ChromiumBridge::openFile(path, mode);
+    return PlatformBridge::openFile(path, mode);
 }
 
 void closeFile(PlatformFileHandle& handle)
 {
-    return ChromiumBridge::closeFile(handle);
+    return PlatformBridge::closeFile(handle);
 }
 
 long long seekFile(PlatformFileHandle handle, long long offset, FileSeekOrigin origin)
 {
-    return ChromiumBridge::seekFile(handle, offset, origin);
+    return PlatformBridge::seekFile(handle, offset, origin);
 }
 
 bool truncateFile(PlatformFileHandle handle, long long offset)
 {
-    return ChromiumBridge::truncateFile(handle, offset);
+    return PlatformBridge::truncateFile(handle, offset);
 }
 
 int readFromFile(PlatformFileHandle handle, char* data, int length)
 {
-    return ChromiumBridge::readFromFile(handle, data, length);
+    return PlatformBridge::readFromFile(handle, data, length);
 }
 
 int writeToFile(PlatformFileHandle handle, const char* data, int length)
 {
-    return ChromiumBridge::writeToFile(handle, data, length);
+    return PlatformBridge::writeToFile(handle, data, length);
 }
 
 } // namespace WebCore
diff --git a/Source/WebCore/platform/chromium/LanguageChromium.cpp b/Source/WebCore/platform/chromium/LanguageChromium.cpp
index 69fe372..fedc4d5 100644
--- a/Source/WebCore/platform/chromium/LanguageChromium.cpp
+++ b/Source/WebCore/platform/chromium/LanguageChromium.cpp
@@ -31,7 +31,7 @@
 #include "config.h"
 #include "Language.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 #include "PlatformString.h"
 
 namespace WebCore {
@@ -40,7 +40,7 @@ String platformDefaultLanguage()
 {
     static String computedDefaultLanguage;
     if (computedDefaultLanguage.isEmpty())
-        computedDefaultLanguage = ChromiumBridge::computedDefaultLanguage();
+        computedDefaultLanguage = PlatformBridge::computedDefaultLanguage();
     return computedDefaultLanguage;
 }
 
diff --git a/Source/WebCore/platform/chromium/LinkHashChromium.cpp b/Source/WebCore/platform/chromium/LinkHashChromium.cpp
index 9cb93ea..5e1ffa4 100644
--- a/Source/WebCore/platform/chromium/LinkHashChromium.cpp
+++ b/Source/WebCore/platform/chromium/LinkHashChromium.cpp
@@ -31,18 +31,18 @@
 #include "config.h"
 #include "LinkHash.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 
 namespace WebCore {
 
 LinkHash visitedLinkHash(const UChar* url, unsigned length)
 {
-    return ChromiumBridge::visitedLinkHash(url, length);
+    return PlatformBridge::visitedLinkHash(url, length);
 }
 
 LinkHash visitedLinkHash(const KURL& base, const AtomicString& attributeURL)
 {
-    return ChromiumBridge::visitedLinkHash(base, attributeURL);
+    return PlatformBridge::visitedLinkHash(base, attributeURL);
 }
 
 } // namespace WebCore
diff --git a/Source/WebCore/platform/chromium/MIMETypeRegistryChromium.cpp b/Source/WebCore/platform/chromium/MIMETypeRegistryChromium.cpp
index 9df8847..fec0e9b 100644
--- a/Source/WebCore/platform/chromium/MIMETypeRegistryChromium.cpp
+++ b/Source/WebCore/platform/chromium/MIMETypeRegistryChromium.cpp
@@ -31,20 +31,20 @@
 #include "config.h"
 #include "MIMETypeRegistry.h"
 
-#include "ChromiumBridge.h"
 #include "MediaPlayer.h"
+#include "PlatformBridge.h"
 #include "PluginDataChromium.h"
 #include <wtf/text/CString.h>
 
 // NOTE: Unlike other ports, we don't use the shared implementation bits in
 // MIMETypeRegistry.cpp.  Instead, we need to route most functions via the
-// ChromiumBridge to the embedder.
+// PlatformBridge to the embedder.
 
 namespace WebCore {
 
 String MIMETypeRegistry::getMIMETypeForExtension(const String &ext)
 {
-    return ChromiumBridge::mimeTypeForExtension(ext);
+    return PlatformBridge::mimeTypeForExtension(ext);
 }
 
 // Returns the file extension if one is found.  Does not include the dot in the
@@ -55,7 +55,7 @@ String MIMETypeRegistry::getPreferredExtensionForMIMEType(const String& type)
     // FIXME: Is this really necessary??
     String mimeType = type.substring(0, static_cast<unsigned>(type.find(';')));
 
-    String ext = ChromiumBridge::preferredExtensionForMIMEType(type);
+    String ext = PlatformBridge::preferredExtensionForMIMEType(type);
     if (!ext.isEmpty() && ext[0] == '.')
         ext = ext.substring(1);
 
@@ -81,7 +81,7 @@ String MIMETypeRegistry::getMIMETypeForPath(const String& path)
 
 bool MIMETypeRegistry::isSupportedImageMIMEType(const String& mimeType)
 { 
-    return ChromiumBridge::isSupportedImageMIMEType(mimeType);
+    return PlatformBridge::isSupportedImageMIMEType(mimeType);
 }
 
 bool MIMETypeRegistry::isSupportedImageResourceMIMEType(const String& mimeType)
@@ -96,12 +96,12 @@ bool MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(const String& mimeTyp
 
 bool MIMETypeRegistry::isSupportedJavaScriptMIMEType(const String& mimeType)
 {
-    return ChromiumBridge::isSupportedJavaScriptMIMEType(mimeType);
+    return PlatformBridge::isSupportedJavaScriptMIMEType(mimeType);
 }
     
 bool MIMETypeRegistry::isSupportedNonImageMIMEType(const String& mimeType)
 {
-    return ChromiumBridge::isSupportedNonImageMIMEType(mimeType);
+    return PlatformBridge::isSupportedNonImageMIMEType(mimeType);
 }
 
 bool MIMETypeRegistry::isSupportedMediaMIMEType(const String& mimeType)
diff --git a/Source/WebCore/platform/chromium/PasteboardChromium.cpp b/Source/WebCore/platform/chromium/PasteboardChromium.cpp
index 907a4b9..6beb017 100644
--- a/Source/WebCore/platform/chromium/PasteboardChromium.cpp
+++ b/Source/WebCore/platform/chromium/PasteboardChromium.cpp
@@ -31,20 +31,20 @@
 #include "config.h"
 #include "Pasteboard.h"
 
-#include "ChromiumBridge.h"
 #include "ClipboardUtilitiesChromium.h"
-#include "DocumentFragment.h"
 #include "Document.h"
+#include "DocumentFragment.h"
 #include "Element.h"
 #include "Frame.h"
 #include "HTMLNames.h"
 #include "HTMLParserIdioms.h"
 #include "Image.h"
 #include "KURL.h"
-#include "markup.h"
 #include "NativeImageSkia.h"
+#include "PlatformBridge.h"
 #include "Range.h"
 #include "RenderImage.h"
+#include "markup.h"
 
 #if ENABLE(SVG)
 #include "SVGNames.h"
@@ -91,7 +91,7 @@ void Pasteboard::writeSelection(Range* selectedRange, bool canSmartCopyOrDelete,
 #endif
     replaceNBSPWithSpace(plainText);
 
-    ChromiumBridge::clipboardWriteSelection(html, url, plainText, canSmartCopyOrDelete);
+    PlatformBridge::clipboardWriteSelection(html, url, plainText, canSmartCopyOrDelete);
 }
 
 void Pasteboard::writePlainText(const String& text)
@@ -99,9 +99,9 @@ void Pasteboard::writePlainText(const String& text)
 #if OS(WINDOWS)
     String plainText(text);
     replaceNewlinesWithWindowsStyleNewlines(plainText);
-    ChromiumBridge::clipboardWritePlainText(plainText);
+    PlatformBridge::clipboardWritePlainText(plainText);
 #else
-    ChromiumBridge::clipboardWritePlainText(text);
+    PlatformBridge::clipboardWritePlainText(text);
 #endif
 }
 
@@ -116,7 +116,7 @@ void Pasteboard::writeURL(const KURL& url, const String& titleStr, Frame* frame)
             title = url.host();
     }
 
-    ChromiumBridge::clipboardWriteURL(url, title);
+    PlatformBridge::clipboardWriteURL(url, title);
 }
 
 void Pasteboard::writeImage(Node* node, const KURL&, const String& title)
@@ -150,17 +150,17 @@ void Pasteboard::writeImage(Node* node, const KURL&, const String& title)
     }
     KURL url = urlString.isEmpty() ? KURL() : node->document()->completeURL(stripLeadingAndTrailingHTMLSpaces(urlString));
 
-    ChromiumBridge::clipboardWriteImage(bitmap, url, title);
+    PlatformBridge::clipboardWriteImage(bitmap, url, title);
 }
 
 bool Pasteboard::canSmartReplace()
 {
-    return ChromiumBridge::clipboardIsFormatAvailable(PasteboardPrivate::WebSmartPasteFormat, m_selectionMode ? PasteboardPrivate::SelectionBuffer : PasteboardPrivate::StandardBuffer);
+    return PlatformBridge::clipboardIsFormatAvailable(PasteboardPrivate::WebSmartPasteFormat, m_selectionMode ? PasteboardPrivate::SelectionBuffer : PasteboardPrivate::StandardBuffer);
 }
 
 String Pasteboard::plainText(Frame* frame)
 {
-    return ChromiumBridge::clipboardReadPlainText(m_selectionMode ? PasteboardPrivate::SelectionBuffer : PasteboardPrivate::StandardBuffer);
+    return PlatformBridge::clipboardReadPlainText(m_selectionMode ? PasteboardPrivate::SelectionBuffer : PasteboardPrivate::StandardBuffer);
 }
 
 PassRefPtr<DocumentFragment> Pasteboard::documentFragment(Frame* frame, PassRefPtr<Range> context, bool allowPlainText, bool& chosePlainText)
@@ -168,10 +168,10 @@ PassRefPtr<DocumentFragment> Pasteboard::documentFragment(Frame* frame, PassRefP
     chosePlainText = false;
     PasteboardPrivate::ClipboardBuffer buffer = m_selectionMode ? PasteboardPrivate::SelectionBuffer : PasteboardPrivate::StandardBuffer;
 
-    if (ChromiumBridge::clipboardIsFormatAvailable(PasteboardPrivate::HTMLFormat, buffer)) {
+    if (PlatformBridge::clipboardIsFormatAvailable(PasteboardPrivate::HTMLFormat, buffer)) {
         String markup;
         KURL srcURL;
-        ChromiumBridge::clipboardReadHTML(buffer, &markup, &srcURL);
+        PlatformBridge::clipboardReadHTML(buffer, &markup, &srcURL);
 
         RefPtr<DocumentFragment> fragment =
             createFragmentFromMarkup(frame->document(), markup, srcURL, FragmentScriptingNotAllowed);
@@ -180,7 +180,7 @@ PassRefPtr<DocumentFragment> Pasteboard::documentFragment(Frame* frame, PassRefP
     }
 
     if (allowPlainText) {
-        String markup = ChromiumBridge::clipboardReadPlainText(buffer);
+        String markup = PlatformBridge::clipboardReadPlainText(buffer);
         if (!markup.isEmpty()) {
             chosePlainText = true;
 
diff --git a/Source/WebCore/platform/chromium/PlatformBridge.h b/Source/WebCore/platform/chromium/PlatformBridge.h
index ecb7b45..f5c1ed7 100644
--- a/Source/WebCore/platform/chromium/PlatformBridge.h
+++ b/Source/WebCore/platform/chromium/PlatformBridge.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010 Google Inc. All rights reserved.
+ * Copyright (c) 2010, Google Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are
@@ -31,17 +31,323 @@
 #ifndef PlatformBridge_h
 #define PlatformBridge_h
 
-#include "ChromiumBridge.h"
+#if ENABLE(WEB_AUDIO)
+#include "AudioBus.h"
+#endif
+
+#include "FileSystem.h"
+#include "ImageSource.h"
+#include "LinkHash.h"
+#include "PassRefPtr.h"
+#include "PasteboardPrivate.h"
+#include "PluginData.h"
+
+#include <wtf/Forward.h>
+#include <wtf/HashSet.h>
+#include <wtf/Vector.h>
+
+typedef struct NPObject NPObject;
+typedef struct _NPP NPP_t;
+typedef NPP_t* NPP;
+
+#if OS(DARWIN)
+typedef struct CGFont* CGFontRef;
+typedef uintptr_t ATSFontContainerRef;
+#ifdef __OBJC__
+ at class NSFont;
+#else
+class NSFont;
+#endif
+#endif // OS(DARWIN)
+
+#if OS(WINDOWS)
+typedef struct HFONT__* HFONT;
+#endif
 
 namespace WebCore {
 
-// FIXME: A better name for ChromiumBridge is PlatformBridge. Android already
-// uses PlatformBridge so the code that is shared among the Android and Chromium
-// ports is gradually moving towards using PlatformBridge. Once the Android
-// unforking is done, we will change the name of ChromiumBridge to PlatformBridge
-// and merge the two classes into one that will be shared by both ports.
-typedef ChromiumBridge PlatformBridge;
+class ClipboardData;
+class Color;
+class Cursor;
+class Document;
+class Frame;
+class GeolocationServiceBridge;
+class GeolocationServiceChromium;
+class GraphicsContext;
+class Image;
+class IDBFactoryBackendInterface;
+class IDBKey;
+class IntRect;
+class KURL;
+class SerializedScriptValue;
+class Widget;
+
+struct Cookie;
+struct FontRenderStyle;
+
+// An interface to the embedding layer, which has the ability to answer
+// questions about the system and so on...
+
+class PlatformBridge {
+public:
+    // Cache --------------------------------------------------------------
+    static void cacheMetadata(const KURL&, double responseTime, const Vector<char>&);
+
+    // Clipboard ----------------------------------------------------------
+    static bool clipboardIsFormatAvailable(PasteboardPrivate::ClipboardFormat, PasteboardPrivate::ClipboardBuffer);
+
+    static String clipboardReadPlainText(PasteboardPrivate::ClipboardBuffer);
+    static void clipboardReadHTML(PasteboardPrivate::ClipboardBuffer, String*, KURL*);
+
+    // Only the clipboardRead functions take a buffer argument because
+    // Chromium currently uses a different technique to write to alternate
+    // clipboard buffers.
+    static void clipboardWriteSelection(const String&, const KURL&, const String&, bool);
+    static void clipboardWritePlainText(const String&);
+    static void clipboardWriteURL(const KURL&, const String&);
+    static void clipboardWriteImage(NativeImagePtr, const KURL&, const String&);
+    static void clipboardWriteData(const String& type, const String& data, const String& metadata);
+
+    // Interface for handling copy and paste, drag and drop, and selection copy.
+    static HashSet<String> clipboardReadAvailableTypes(PasteboardPrivate::ClipboardBuffer, bool* containsFilenames);
+    static bool clipboardReadData(PasteboardPrivate::ClipboardBuffer, const String& type, String& data, String& metadata);
+    static Vector<String> clipboardReadFilenames(PasteboardPrivate::ClipboardBuffer);
+
+    // Cookies ------------------------------------------------------------
+    static void setCookies(const Document*, const KURL&, const String& value);
+    static String cookies(const Document*, const KURL&);
+    static String cookieRequestHeaderFieldValue(const Document*, const KURL&);
+    static bool rawCookies(const Document*, const KURL&, Vector<Cookie>&);
+    static void deleteCookie(const Document*, const KURL&, const String& cookieName);
+    static bool cookiesEnabled(const Document*);
+
+    // DNS ----------------------------------------------------------------
+    static void prefetchDNS(const String& hostname);
+
+    // File ---------------------------------------------------------------
+    static void revealFolderInOS(const String&);
+    static bool fileExists(const String&);
+    static bool deleteFile(const String&);
+    static bool deleteEmptyDirectory(const String&);
+    static bool getFileSize(const String&, long long& result);
+    static bool getFileModificationTime(const String&, time_t& result);
+    static String directoryName(const String& path);
+    static String pathByAppendingComponent(const String& path, const String& component);
+    static bool makeAllDirectories(const String& path);
+    static String getAbsolutePath(const String&);
+    static bool isDirectory(const String&);
+    static KURL filePathToURL(const String&);
+    static PlatformFileHandle openFile(const String& path, FileOpenMode);
+    static void closeFile(PlatformFileHandle&);
+    static long long seekFile(PlatformFileHandle, long long offset, FileSeekOrigin);
+    static bool truncateFile(PlatformFileHandle, long long offset);
+    static int readFromFile(PlatformFileHandle, char* data, int length);
+    static int writeToFile(PlatformFileHandle, const char* data, int length);
+
+    // Font ---------------------------------------------------------------
+#if OS(WINDOWS)
+    static bool ensureFontLoaded(HFONT);
+#endif
+#if OS(LINUX) || OS(FREEBSD)
+    static void getRenderStyleForStrike(const char* family, int sizeAndStyle, FontRenderStyle* result);
+    static String getFontFamilyForCharacters(const UChar*, size_t numCharacters);
+#endif
+#if OS(DARWIN)
+    static bool loadFont(NSFont* srcFont, ATSFontContainerRef* out);
+#endif
+
+    // Forms --------------------------------------------------------------
+    static void notifyFormStateChanged(const Document*);
+
+    // Databases ----------------------------------------------------------
+    // Returns a handle to the DB file and ooptionally a handle to its containing directory
+    static PlatformFileHandle databaseOpenFile(const String& vfsFleName, int desiredFlags);
+    // Returns a SQLite code (SQLITE_OK = 0, on success)
+    static int databaseDeleteFile(const String& vfsFileName, bool syncDir = false);
+    // Returns the attributes of the DB file
+    static long databaseGetFileAttributes(const String& vfsFileName);
+    // Returns the size of the DB file
+    static long long databaseGetFileSize(const String& vfsFileName);
+
+    // IndexedDB ----------------------------------------------------------
+    static PassRefPtr<IDBFactoryBackendInterface> idbFactory();
+    static void idbShutdown();
+    // Extracts keyPath from values and returns the corresponding keys.
+    static void createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue> >& values, const String& keyPath, Vector<RefPtr<IDBKey> >& keys);
+
+    // JavaScript ---------------------------------------------------------
+    static void notifyJSOutOfMemory(Frame*);
+    static bool allowScriptDespiteSettings(const KURL& documentURL);
+
+    // Keygen -------------------------------------------------------------
+    static String signedPublicKeyAndChallengeString(unsigned keySizeIndex, const String& challenge, const KURL&);
+
+    // Language -----------------------------------------------------------
+    static String computedDefaultLanguage();
+
+    // LayoutTestMode -----------------------------------------------------
+    static bool layoutTestMode();
+
+    // Memory -------------------------------------------------------------
+    // Returns the current space allocated for the pagefile, in MB.
+    // That is committed size for Windows and virtual memory size for POSIX
+    static int memoryUsageMB();
+
+    // Same as above, but always returns actual value, without any caches.
+    static int actualMemoryUsageMB();
+
+    // MimeType -----------------------------------------------------------
+    static bool isSupportedImageMIMEType(const String& mimeType);
+    static bool isSupportedJavaScriptMIMEType(const String& mimeType);
+    static bool isSupportedNonImageMIMEType(const String& mimeType);
+    static String mimeTypeForExtension(const String& fileExtension);
+    static String mimeTypeFromFile(const String& filePath);
+    static String preferredExtensionForMIMEType(const String& mimeType);
+
+    // Plugin -------------------------------------------------------------
+    static bool plugins(bool refresh, Vector<PluginInfo>*);
+    static NPObject* pluginScriptableObject(Widget*);
+    static bool popupsAllowed(NPP);
+
+    // Resources ----------------------------------------------------------
+    static PassRefPtr<Image> loadPlatformImageResource(const char* name);
+
+#if ENABLE(WEB_AUDIO)
+    static PassOwnPtr<AudioBus> loadPlatformAudioResource(const char* name, double sampleRate);
+    static PassOwnPtr<AudioBus> decodeAudioFileData(const char* data, size_t, double sampleRate);
+#endif
+
+    // Sandbox ------------------------------------------------------------
+    static bool sandboxEnabled();
+
+    // Screen -------------------------------------------------------------
+    static int screenDepth(Widget*);
+    static int screenDepthPerComponent(Widget*);
+    static bool screenIsMonochrome(Widget*);
+    static IntRect screenRect(Widget*);
+    static IntRect screenAvailableRect(Widget*);
+
+    // SharedTimers -------------------------------------------------------
+    static void setSharedTimerFiredFunction(void (*func)());
+    static void setSharedTimerFireTime(double);
+    static void stopSharedTimer();
+
+    // StatsCounters ------------------------------------------------------
+    static void decrementStatsCounter(const char* name);
+    static void incrementStatsCounter(const char* name);
+    static void histogramCustomCounts(const char* name, int sample, int min, int max, int bucketCount);
+    static void histogramEnumeration(const char* name, int sample, int boundaryValue);
+
+    // Sudden Termination
+    static void suddenTerminationChanged(bool enabled);
+
+    // SystemTime ---------------------------------------------------------
+    static double currentTime();
+
+    // Theming ------------------------------------------------------------
+#if OS(WINDOWS)
+    static void paintButton(
+        GraphicsContext*, int part, int state, int classicState, const IntRect&);
+    static void paintMenuList(
+        GraphicsContext*, int part, int state, int classicState, const IntRect&);
+    static void paintScrollbarArrow(
+        GraphicsContext*, int state, int classicState, const IntRect&);
+    static void paintScrollbarThumb(
+        GraphicsContext*, int part, int state, int classicState, const IntRect&);
+    static void paintScrollbarTrack(
+        GraphicsContext*, int part, int state, int classicState, const IntRect&, const IntRect& alignRect);
+    static void paintSpinButton(
+        GraphicsContext*, int part, int state, int classicState, const IntRect&);
+    static void paintTextField(
+        GraphicsContext*, int part, int state, int classicState, const IntRect&, const Color&, bool fillContentArea, bool drawEdges);
+    static void paintTrackbar(
+        GraphicsContext*, int part, int state, int classicState, const IntRect&);
+    static void paintProgressBar(
+        GraphicsContext*, const IntRect& barRect, const IntRect& valueRect, bool determinate, double animatedSeconds);
+#elif OS(LINUX)
+    // The UI part which is being accessed.
+    enum ThemePart {
+        PartScrollbarDownArrow,
+        PartScrollbarLeftArrow,
+        PartScrollbarRightArrow,
+        PartScrollbarUpArrow,
+        PartScrollbarHorizontalThumb,
+        PartScrollbarVerticalThumb,
+        PartScrollbarHorizontalTrack,
+        PartScrollbarVerticalTrack,
+    };
+
+    // The current state of the associated Part.
+    enum ThemePaintState {
+        StateDisabled,
+        StateHover,
+        StateNormal,
+        StatePressed,
+    };
+
+    struct ScrollbarTrackExtraParams {
+        // The bounds of the entire track, as opposed to the part being painted.
+        int trackX;
+        int trackY;
+        int trackWidth;
+        int trackHeight;
+    };
+
+    union ThemePaintExtraParams {
+        ScrollbarTrackExtraParams scrollbarTrack;
+    };
+
+    // Gets the size of the given theme part. For variable sized items
+    // like vertical scrollbar thumbs, the width will be the required width of
+    // the track while the height will be the minimum height.
+    static IntSize getThemePartSize(ThemePart);
+    // Paint the given the given theme part.
+    static void paintThemePart(GraphicsContext*, ThemePart, ThemePaintState, const IntRect&, const ThemePaintExtraParams*);
+#elif OS(DARWIN)
+    enum ThemePaintState {
+        StateDisabled,
+        StateInactive,
+        StateActive,
+        StatePressed,
+    };
+
+    enum ThemePaintSize {
+        SizeRegular,
+        SizeSmall,
+    };
+
+    enum ThemePaintScrollbarOrientation {
+        ScrollbarOrientationHorizontal,
+        ScrollbarOrientationVertical,
+    };
+
+    enum ThemePaintScrollbarParent {
+        ScrollbarParentScrollView,
+        ScrollbarParentRenderLayer,
+    };
+
+    struct ThemePaintScrollbarInfo {
+        ThemePaintScrollbarOrientation orientation;
+        ThemePaintScrollbarParent parent;
+        int maxValue;
+        int currentValue;
+        int visibleSize;
+        int totalSize;
+    };
+
+    static void paintScrollbarThumb(GraphicsContext*, ThemePaintState, ThemePaintSize, const IntRect&, const ThemePaintScrollbarInfo&);
+#endif
+
+    // Trace Event --------------------------------------------------------
+    static void traceEventBegin(const char* name, void*, const char* extra);
+    static void traceEventEnd(const char* name, void*, const char* extra);
+
+    // Visited links ------------------------------------------------------
+    static LinkHash visitedLinkHash(const UChar* url, unsigned length);
+    static LinkHash visitedLinkHash(const KURL& base, const AtomicString& attributeURL);
+    static bool isLinkVisited(LinkHash);
+};
 
 } // namespace WebCore
 
-#endif // PlatformBridge_h
+#endif
diff --git a/Source/WebCore/platform/chromium/PlatformScreenChromium.cpp b/Source/WebCore/platform/chromium/PlatformScreenChromium.cpp
index e659ef5..35d5018 100644
--- a/Source/WebCore/platform/chromium/PlatformScreenChromium.cpp
+++ b/Source/WebCore/platform/chromium/PlatformScreenChromium.cpp
@@ -31,34 +31,34 @@
 #include "config.h"
 #include "PlatformScreen.h"
 
-#include "ChromiumBridge.h"
 #include "IntRect.h"
+#include "PlatformBridge.h"
 
 namespace WebCore {
 
 int screenDepth(Widget* widget)
 {
-    return ChromiumBridge::screenDepth(widget);
+    return PlatformBridge::screenDepth(widget);
 }
 
 int screenDepthPerComponent(Widget* widget)
 {
-    return ChromiumBridge::screenDepthPerComponent(widget);
+    return PlatformBridge::screenDepthPerComponent(widget);
 }
 
 bool screenIsMonochrome(Widget* widget)
 {
-    return ChromiumBridge::screenIsMonochrome(widget);
+    return PlatformBridge::screenIsMonochrome(widget);
 }
 
 FloatRect screenRect(Widget* widget)
 {
-    return ChromiumBridge::screenRect(widget);
+    return PlatformBridge::screenRect(widget);
 }
 
 FloatRect screenAvailableRect(Widget* widget)
 {
-    return ChromiumBridge::screenAvailableRect(widget);
+    return PlatformBridge::screenAvailableRect(widget);
 }
 
 } // namespace WebCore
diff --git a/Source/WebCore/platform/chromium/ReadableDataObject.cpp b/Source/WebCore/platform/chromium/ReadableDataObject.cpp
index 97c481b..dbf4739 100644
--- a/Source/WebCore/platform/chromium/ReadableDataObject.cpp
+++ b/Source/WebCore/platform/chromium/ReadableDataObject.cpp
@@ -31,10 +31,10 @@
 #include "config.h"
 #include "ReadableDataObject.h"
 
-#include "ChromiumBridge.h"
 #include "ClipboardMimeTypes.h"
 #include "Pasteboard.h"
 #include "PasteboardPrivate.h"
+#include "PlatformBridge.h"
 
 namespace WebCore {
 
@@ -80,19 +80,19 @@ String ReadableDataObject::getData(const String& type, bool& succeeded) const
                 Pasteboard::generalPasteboard()->isSelectionMode() ?
                 PasteboardPrivate::SelectionBuffer :
                 PasteboardPrivate::StandardBuffer;
-            data = ChromiumBridge::clipboardReadPlainText(buffer);
+            data = PlatformBridge::clipboardReadPlainText(buffer);
         } else if (type == mimeTypeTextHTML) {
             PasteboardPrivate::ClipboardBuffer buffer =
                 Pasteboard::generalPasteboard()->isSelectionMode() ?
                 PasteboardPrivate::SelectionBuffer :
                 PasteboardPrivate::StandardBuffer;
             KURL ignoredSourceURL;
-            ChromiumBridge::clipboardReadHTML(buffer, &data, &ignoredSourceURL);
+            PlatformBridge::clipboardReadHTML(buffer, &data, &ignoredSourceURL);
         }
         succeeded = !data.isEmpty();
         return data;
     }
-    succeeded = ChromiumBridge::clipboardReadData(
+    succeeded = PlatformBridge::clipboardReadData(
         clipboardBuffer(m_clipboardType), type, data, ignoredMetadata);
     return data;
 }
@@ -101,7 +101,7 @@ String ReadableDataObject::urlTitle() const
 {
     String ignoredData;
     String urlTitle;
-    ChromiumBridge::clipboardReadData(
+    PlatformBridge::clipboardReadData(
         clipboardBuffer(m_clipboardType), mimeTypeTextURIList, ignoredData, urlTitle);
     return urlTitle;
 }
@@ -110,7 +110,7 @@ KURL ReadableDataObject::htmlBaseUrl() const
 {
     String ignoredData;
     String htmlBaseUrl;
-    ChromiumBridge::clipboardReadData(
+    PlatformBridge::clipboardReadData(
         clipboardBuffer(m_clipboardType), mimeTypeTextHTML, ignoredData, htmlBaseUrl);
     return KURL(ParsedURLString, htmlBaseUrl);
 }
@@ -123,7 +123,7 @@ bool ReadableDataObject::containsFilenames() const
 
 Vector<String> ReadableDataObject::filenames() const
 {
-    return ChromiumBridge::clipboardReadFilenames(clipboardBuffer(m_clipboardType));
+    return PlatformBridge::clipboardReadFilenames(clipboardBuffer(m_clipboardType));
 }
 
 void ReadableDataObject::ensureTypeCacheInitialized() const
@@ -131,7 +131,7 @@ void ReadableDataObject::ensureTypeCacheInitialized() const
     if (m_isTypeCacheInitialized)
         return;
 
-    m_types = ChromiumBridge::clipboardReadAvailableTypes(
+    m_types = PlatformBridge::clipboardReadAvailableTypes(
         clipboardBuffer(m_clipboardType), &m_containsFilenames);
     m_isTypeCacheInitialized = true;
 }
diff --git a/Source/WebCore/platform/chromium/SSLKeyGeneratorChromium.cpp b/Source/WebCore/platform/chromium/SSLKeyGeneratorChromium.cpp
index 49d9517..6467764 100644
--- a/Source/WebCore/platform/chromium/SSLKeyGeneratorChromium.cpp
+++ b/Source/WebCore/platform/chromium/SSLKeyGeneratorChromium.cpp
@@ -31,7 +31,7 @@
 #include "config.h"
 #include "SSLKeyGenerator.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 #include "PlatformString.h"
 
 namespace WebCore {
@@ -51,7 +51,7 @@ String signedPublicKeyAndChallengeString(unsigned keySizeIndex,
                                          const String& challengeString,
                                          const KURL& url)
 {
-    return ChromiumBridge::signedPublicKeyAndChallengeString(keySizeIndex,
+    return PlatformBridge::signedPublicKeyAndChallengeString(keySizeIndex,
                                                              challengeString,
                                                              url);
 }
diff --git a/Source/WebCore/platform/chromium/ScrollbarThemeChromium.cpp b/Source/WebCore/platform/chromium/ScrollbarThemeChromium.cpp
index 234d0ee..fe09553 100644
--- a/Source/WebCore/platform/chromium/ScrollbarThemeChromium.cpp
+++ b/Source/WebCore/platform/chromium/ScrollbarThemeChromium.cpp
@@ -27,7 +27,7 @@
 #include "config.h"
 #include "ScrollbarThemeChromium.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 #include "PlatformMouseEvent.h"
 #include "Scrollbar.h"
 #include "ScrollbarClient.h"
diff --git a/Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.cpp b/Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.cpp
index ba10953..e173dff 100644
--- a/Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.cpp
+++ b/Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.cpp
@@ -31,7 +31,7 @@
 #include "config.h"
 #include "ScrollbarThemeChromiumLinux.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 #include "PlatformMouseEvent.h"
 #include "Scrollbar.h"
 
@@ -46,22 +46,22 @@ ScrollbarTheme* ScrollbarTheme::nativeTheme()
 int ScrollbarThemeChromiumLinux::scrollbarThickness(ScrollbarControlSize controlSize)
 {
     // Horiz and Vert scrollbars are the same thickness.
-    IntSize scrollbarSize = ChromiumBridge::getThemePartSize(ChromiumBridge::PartScrollbarVerticalTrack);
+    IntSize scrollbarSize = PlatformBridge::getThemePartSize(PlatformBridge::PartScrollbarVerticalTrack);
     return scrollbarSize.width();
 }
 
 void ScrollbarThemeChromiumLinux::paintTrackPiece(GraphicsContext* gc, Scrollbar* scrollbar, const IntRect& rect, ScrollbarPart partType)
 {
-    ChromiumBridge::ThemePaintState state = scrollbar->hoveredPart() == partType ? ChromiumBridge::StateHover : ChromiumBridge::StateNormal;
+    PlatformBridge::ThemePaintState state = scrollbar->hoveredPart() == partType ? PlatformBridge::StateHover : PlatformBridge::StateNormal;
     IntRect alignRect = trackRect(scrollbar, false);
-    ChromiumBridge::ThemePaintExtraParams extraParams;
+    PlatformBridge::ThemePaintExtraParams extraParams;
     extraParams.scrollbarTrack.trackX = alignRect.x();
     extraParams.scrollbarTrack.trackY = alignRect.y();
     extraParams.scrollbarTrack.trackWidth = alignRect.width();
     extraParams.scrollbarTrack.trackHeight = alignRect.height();
-    ChromiumBridge::paintThemePart(
+    PlatformBridge::paintThemePart(
         gc,
-        scrollbar->orientation() == HorizontalScrollbar ? ChromiumBridge::PartScrollbarHorizontalTrack : ChromiumBridge::PartScrollbarVerticalTrack,
+        scrollbar->orientation() == HorizontalScrollbar ? PlatformBridge::PartScrollbarHorizontalTrack : PlatformBridge::PartScrollbarVerticalTrack,
         state,
         rect,
         &extraParams);
@@ -69,52 +69,52 @@ void ScrollbarThemeChromiumLinux::paintTrackPiece(GraphicsContext* gc, Scrollbar
 
 void ScrollbarThemeChromiumLinux::paintButton(GraphicsContext* gc, Scrollbar* scrollbar, const IntRect& rect, ScrollbarPart part)
 {
-    ChromiumBridge::ThemePart paintPart;
-    ChromiumBridge::ThemePaintState state = ChromiumBridge::StateNormal;
+    PlatformBridge::ThemePart paintPart;
+    PlatformBridge::ThemePaintState state = PlatformBridge::StateNormal;
     bool checkMin = false;
     bool checkMax = false;
     if (scrollbar->orientation() == HorizontalScrollbar) {
         if (part == BackButtonStartPart) {
-            paintPart = ChromiumBridge::PartScrollbarLeftArrow;
+            paintPart = PlatformBridge::PartScrollbarLeftArrow;
             checkMin = true;
         } else {
-            paintPart = ChromiumBridge::PartScrollbarRightArrow;
+            paintPart = PlatformBridge::PartScrollbarRightArrow;
             checkMax = true;
         }
     } else {
         if (part == BackButtonStartPart) {
-            paintPart = ChromiumBridge::PartScrollbarUpArrow;
+            paintPart = PlatformBridge::PartScrollbarUpArrow;
             checkMin = true;
         } else {
-            paintPart = ChromiumBridge::PartScrollbarDownArrow;
+            paintPart = PlatformBridge::PartScrollbarDownArrow;
             checkMax = true;
         }
     }
     if ((checkMin && (scrollbar->currentPos() <= 0))
         || (checkMax && scrollbar->currentPos() == scrollbar->maximum())) {
-        state = ChromiumBridge::StateDisabled;
+        state = PlatformBridge::StateDisabled;
     } else {
         if (part == scrollbar->pressedPart())
-            state = ChromiumBridge::StatePressed;
+            state = PlatformBridge::StatePressed;
         else if (part == scrollbar->hoveredPart())
-            state = ChromiumBridge::StateHover;
+            state = PlatformBridge::StateHover;
     }
-    ChromiumBridge::paintThemePart(gc, paintPart, state, rect, 0);
+    PlatformBridge::paintThemePart(gc, paintPart, state, rect, 0);
 }
 
 void ScrollbarThemeChromiumLinux::paintThumb(GraphicsContext* gc, Scrollbar* scrollbar, const IntRect& rect)
 {
-    ChromiumBridge::ThemePaintState state;
+    PlatformBridge::ThemePaintState state;
 
     if (scrollbar->pressedPart() == ThumbPart)
-        state = ChromiumBridge::StatePressed;
+        state = PlatformBridge::StatePressed;
     else if (scrollbar->hoveredPart() == ThumbPart)
-        state = ChromiumBridge::StateHover;
+        state = PlatformBridge::StateHover;
     else
-        state = ChromiumBridge::StateNormal;
-    ChromiumBridge::paintThemePart(
+        state = PlatformBridge::StateNormal;
+    PlatformBridge::paintThemePart(
         gc,
-        scrollbar->orientation() == HorizontalScrollbar ? ChromiumBridge::PartScrollbarHorizontalThumb : ChromiumBridge::PartScrollbarVerticalThumb,
+        scrollbar->orientation() == HorizontalScrollbar ? PlatformBridge::PartScrollbarHorizontalThumb : PlatformBridge::PartScrollbarVerticalThumb,
         state,
         rect,
         0);
@@ -128,23 +128,23 @@ bool ScrollbarThemeChromiumLinux::shouldCenterOnThumb(Scrollbar*, const Platform
 IntSize ScrollbarThemeChromiumLinux::buttonSize(Scrollbar* scrollbar)
 {
     if (scrollbar->orientation() == VerticalScrollbar) {
-        IntSize size = ChromiumBridge::getThemePartSize(ChromiumBridge::PartScrollbarUpArrow);
+        IntSize size = PlatformBridge::getThemePartSize(PlatformBridge::PartScrollbarUpArrow);
         return IntSize(size.width(), scrollbar->height() < 2 * size.height() ? scrollbar->height() / 2 : size.height());
     }
 
     // HorizontalScrollbar
-    IntSize size = ChromiumBridge::getThemePartSize(ChromiumBridge::PartScrollbarLeftArrow);
+    IntSize size = PlatformBridge::getThemePartSize(PlatformBridge::PartScrollbarLeftArrow);
     return IntSize(scrollbar->width() < 2 * size.width() ? scrollbar->width() / 2 : size.width(), size.height());
 }
 
 int ScrollbarThemeChromiumLinux::minimumThumbLength(Scrollbar* scrollbar)
 {
     if (scrollbar->orientation() == VerticalScrollbar) {
-        IntSize size = ChromiumBridge::getThemePartSize(ChromiumBridge::PartScrollbarVerticalThumb);
+        IntSize size = PlatformBridge::getThemePartSize(PlatformBridge::PartScrollbarVerticalThumb);
         return size.height();
     }
 
-    IntSize size = ChromiumBridge::getThemePartSize(ChromiumBridge::PartScrollbarHorizontalThumb);
+    IntSize size = PlatformBridge::getThemePartSize(PlatformBridge::PartScrollbarHorizontalThumb);
     return size.width();
 }
 
diff --git a/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.mm b/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.mm
index 0aa3e10..0f49297 100644
--- a/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.mm
+++ b/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.mm
@@ -27,9 +27,9 @@
 #include "config.h"
 #include "ScrollbarThemeChromiumMac.h"
 
-#include "ChromiumBridge.h"
 #include "FrameView.h"
 #include "ImageBuffer.h"
+#include "PlatformBridge.h"
 #include "PlatformMouseEvent.h"
 #include "ScrollView.h"
 #include <Carbon/Carbon.h>
@@ -370,15 +370,15 @@ static int scrollbarPartToHIPressedState(ScrollbarPart part)
     }
 }
 
-static ChromiumBridge::ThemePaintState scrollbarStateToThemeState(Scrollbar* scrollbar) {
+static PlatformBridge::ThemePaintState scrollbarStateToThemeState(Scrollbar* scrollbar) {
     if (!scrollbar->enabled())
-        return ChromiumBridge::StateDisabled;
+        return PlatformBridge::StateDisabled;
     if (!scrollbar->client()->isActive())
-        return ChromiumBridge::StateInactive;
+        return PlatformBridge::StateInactive;
     if (scrollbar->pressedPart() == ThumbPart)
-        return ChromiumBridge::StatePressed;
+        return PlatformBridge::StatePressed;
 
-    return ChromiumBridge::StateActive;
+    return PlatformBridge::StateActive;
 }
 
 bool ScrollbarThemeChromiumMac::paint(Scrollbar* scrollbar, GraphicsContext* context, const IntRect& damageRect)
@@ -463,18 +463,18 @@ bool ScrollbarThemeChromiumMac::paint(Scrollbar* scrollbar, GraphicsContext* con
     }
 
     if (hasThumb(scrollbar)) {
-        ChromiumBridge::ThemePaintScrollbarInfo scrollbarInfo;
-        scrollbarInfo.orientation = scrollbar->orientation() == HorizontalScrollbar ? ChromiumBridge::ScrollbarOrientationHorizontal : ChromiumBridge::ScrollbarOrientationVertical;
-        scrollbarInfo.parent = scrollbar->parent() && scrollbar->parent()->isFrameView() && static_cast<FrameView*>(scrollbar->parent())->isScrollViewScrollbar(scrollbar) ? ChromiumBridge::ScrollbarParentScrollView : ChromiumBridge::ScrollbarParentRenderLayer;
+        PlatformBridge::ThemePaintScrollbarInfo scrollbarInfo;
+        scrollbarInfo.orientation = scrollbar->orientation() == HorizontalScrollbar ? PlatformBridge::ScrollbarOrientationHorizontal : PlatformBridge::ScrollbarOrientationVertical;
+        scrollbarInfo.parent = scrollbar->parent() && scrollbar->parent()->isFrameView() && static_cast<FrameView*>(scrollbar->parent())->isScrollViewScrollbar(scrollbar) ? PlatformBridge::ScrollbarParentScrollView : PlatformBridge::ScrollbarParentRenderLayer;
         scrollbarInfo.maxValue = scrollbar->maximum();
         scrollbarInfo.currentValue = scrollbar->currentPos();
         scrollbarInfo.visibleSize = scrollbar->visibleSize();
         scrollbarInfo.totalSize = scrollbar->totalSize();
 
-        ChromiumBridge::paintScrollbarThumb(
+        PlatformBridge::paintScrollbarThumb(
             drawingContext,
             scrollbarStateToThemeState(scrollbar),
-            scrollbar->controlSize() == RegularScrollbar ? ChromiumBridge::SizeRegular : ChromiumBridge::SizeSmall,
+            scrollbar->controlSize() == RegularScrollbar ? PlatformBridge::SizeRegular : PlatformBridge::SizeSmall,
             scrollbar->frameRect(),
             scrollbarInfo);
     }
diff --git a/Source/WebCore/platform/chromium/ScrollbarThemeChromiumWin.cpp b/Source/WebCore/platform/chromium/ScrollbarThemeChromiumWin.cpp
index ba7e97b..29e8b44 100644
--- a/Source/WebCore/platform/chromium/ScrollbarThemeChromiumWin.cpp
+++ b/Source/WebCore/platform/chromium/ScrollbarThemeChromiumWin.cpp
@@ -30,8 +30,8 @@
 #include <windows.h>
 #include <vsstyle.h>
 
-#include "ChromiumBridge.h"
 #include "GraphicsContext.h"
+#include "PlatformBridge.h"
 #include "PlatformContextSkia.h"
 #include "PlatformMouseEvent.h"
 #include "Scrollbar.h"
@@ -61,7 +61,7 @@ int ScrollbarThemeChromiumWin::scrollbarThickness(ScrollbarControlSize controlSi
 {
     static int thickness;
     if (!thickness) {
-        if (ChromiumBridge::layoutTestMode())
+        if (PlatformBridge::layoutTestMode())
             return kMacScrollbarSize[controlSize];
         thickness = GetSystemMetrics(SM_CXVSCROLL);
     }
@@ -104,7 +104,7 @@ void ScrollbarThemeChromiumWin::paintTrackPiece(GraphicsContext* gc, Scrollbar*
     IntRect alignRect = trackRect(scrollbar, false);
 
     // Draw the track area before/after the thumb on the scroll bar.
-    ChromiumBridge::paintScrollbarTrack(
+    PlatformBridge::paintScrollbarTrack(
         gc,
         partId,
         getThemeState(scrollbar, partType),
@@ -124,7 +124,7 @@ void ScrollbarThemeChromiumWin::paintButton(GraphicsContext* gc, Scrollbar* scro
         partId = horz ? DFCS_SCROLLRIGHT : DFCS_SCROLLDOWN;
 
     // Draw the thumb (the box you drag in the scroll bar to scroll).
-    ChromiumBridge::paintScrollbarArrow(
+    PlatformBridge::paintScrollbarArrow(
         gc,
         getThemeArrowState(scrollbar, part),
         partId | getClassicThemeState(scrollbar, part),
@@ -136,7 +136,7 @@ void ScrollbarThemeChromiumWin::paintThumb(GraphicsContext* gc, Scrollbar* scrol
     bool horz = scrollbar->orientation() == HorizontalScrollbar;
 
     // Draw the thumb (the box you drag in the scroll bar to scroll).
-    ChromiumBridge::paintScrollbarThumb(
+    PlatformBridge::paintScrollbarThumb(
         gc,
         horz ? SBP_THUMBBTNHORZ : SBP_THUMBBTNVERT,
         getThemeState(scrollbar, ThumbPart),
@@ -144,7 +144,7 @@ void ScrollbarThemeChromiumWin::paintThumb(GraphicsContext* gc, Scrollbar* scrol
         rect);
 
     // Draw the gripper (the three little lines on the thumb).
-    ChromiumBridge::paintScrollbarThumb(
+    PlatformBridge::paintScrollbarThumb(
         gc,
         horz ? SBP_GRIPPERHORZ : SBP_GRIPPERVERT,
         getThemeState(scrollbar, ThumbPart),
@@ -256,7 +256,7 @@ IntSize ScrollbarThemeChromiumWin::buttonSize(Scrollbar* scrollbar)
     // test mode so that should be enough to result in repeatable results, but
     // preserving this hack avoids having to rebaseline pixel tests.
     const int kLayoutTestModeGirth = 17;
-    int girth = ChromiumBridge::layoutTestMode() ? kLayoutTestModeGirth : thickness;
+    int girth = PlatformBridge::layoutTestMode() ? kLayoutTestModeGirth : thickness;
 
     if (scrollbar->orientation() == HorizontalScrollbar) {
         int width = scrollbar->width() < 2 * girth ? scrollbar->width() / 2 : girth;
diff --git a/Source/WebCore/platform/chromium/SharedTimerChromium.cpp b/Source/WebCore/platform/chromium/SharedTimerChromium.cpp
index 5a6a000..5acb253 100644
--- a/Source/WebCore/platform/chromium/SharedTimerChromium.cpp
+++ b/Source/WebCore/platform/chromium/SharedTimerChromium.cpp
@@ -26,23 +26,23 @@
 #include "config.h"
 #include "SharedTimer.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 
 namespace WebCore {
 
 void setSharedTimerFiredFunction(void (*f)())
 {                   
-    ChromiumBridge::setSharedTimerFiredFunction(f);
+    PlatformBridge::setSharedTimerFiredFunction(f);
 }
 
 void setSharedTimerFireTime(double fireTime)
 {
-    ChromiumBridge::setSharedTimerFireTime(fireTime);
+    PlatformBridge::setSharedTimerFireTime(fireTime);
 }
 
 void stopSharedTimer()
 {
-    ChromiumBridge::stopSharedTimer();
+    PlatformBridge::stopSharedTimer();
 }
 
 } // namespace WebCore
diff --git a/Source/WebCore/platform/chromium/SuddenTerminationChromium.cpp b/Source/WebCore/platform/chromium/SuddenTerminationChromium.cpp
index 54b8304..06cc738 100644
--- a/Source/WebCore/platform/chromium/SuddenTerminationChromium.cpp
+++ b/Source/WebCore/platform/chromium/SuddenTerminationChromium.cpp
@@ -1,48 +1,48 @@
-/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "SuddenTermination.h"
-
-#include "ChromiumBridge.h"
-
-namespace WebCore {
-
-void disableSuddenTermination()
-{
-    ChromiumBridge::suddenTerminationChanged(false);
-}
-
-void enableSuddenTermination()
-{
-    ChromiumBridge::suddenTerminationChanged(true);
-}
-
-} // namespace WebCore
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "SuddenTermination.h"
+
+#include "PlatformBridge.h"
+
+namespace WebCore {
+
+void disableSuddenTermination()
+{
+    PlatformBridge::suddenTerminationChanged(false);
+}
+
+void enableSuddenTermination()
+{
+    PlatformBridge::suddenTerminationChanged(true);
+}
+
+} // namespace WebCore
diff --git a/Source/WebCore/platform/chromium/SystemTimeChromium.cpp b/Source/WebCore/platform/chromium/SystemTimeChromium.cpp
index 52ac262..93ac8b1 100644
--- a/Source/WebCore/platform/chromium/SystemTimeChromium.cpp
+++ b/Source/WebCore/platform/chromium/SystemTimeChromium.cpp
@@ -31,15 +31,15 @@
 #include "config.h"
 #include "SystemTime.h"
 
-#include "ChromiumBridge.h"
 #include "NotImplemented.h"
+#include "PlatformBridge.h"
 
 namespace WebCore {
 
 // Get the current time in seconds since epoch.
 double currentTime()
 {
-    return ChromiumBridge::currentTime();
+    return PlatformBridge::currentTime();
 }
 
 float userIdleTime()
diff --git a/Source/WebCore/platform/chromium/WritableDataObject.cpp b/Source/WebCore/platform/chromium/WritableDataObject.cpp
index 7cbf42c..a1ac7d9 100644
--- a/Source/WebCore/platform/chromium/WritableDataObject.cpp
+++ b/Source/WebCore/platform/chromium/WritableDataObject.cpp
@@ -31,8 +31,8 @@
 #include "config.h"
 #include "WritableDataObject.h"
 
-#include "ChromiumBridge.h"
 #include "ClipboardMimeTypes.h"
+#include "PlatformBridge.h"
 
 namespace WebCore {
 
@@ -80,7 +80,7 @@ bool WritableDataObject::setData(const String& type, const String& data)
         // FIXME: This is currently unimplemented on the Chromium-side. This is
         // "okay" for now since the original implementation didn't support it
         // anyway. Going forward, this is something we'll need to fix though.
-        ChromiumBridge::clipboardWriteData(type, data, "");
+        PlatformBridge::clipboardWriteData(type, data, "");
         return true;
     }
     m_dataMap.set(type, data);
diff --git a/Source/WebCore/platform/graphics/chromium/CrossProcessFontLoading.mm b/Source/WebCore/platform/graphics/chromium/CrossProcessFontLoading.mm
index 72e3369..227fbe4 100644
--- a/Source/WebCore/platform/graphics/chromium/CrossProcessFontLoading.mm
+++ b/Source/WebCore/platform/graphics/chromium/CrossProcessFontLoading.mm
@@ -30,7 +30,7 @@
 #import "CrossProcessFontLoading.h"
 
 #import "../graphics/cocoa/FontPlatformData.h"
-#import "ChromiumBridge.h"
+#import "PlatformBridge.h"
 #import <AppKit/NSFont.h>
 #import <wtf/HashMap.h>
 
@@ -87,7 +87,7 @@ PassRefPtr<MemoryActivatedFont> loadFontFromBrowserProcess(NSFont* nsFont)
 {
     ATSFontContainerRef container;
     // Send cross-process request to load font.
-    if (!ChromiumBridge::loadFont(nsFont, &container))
+    if (!PlatformBridge::loadFont(nsFont, &container))
         return 0;
     
     ATSFontContainerRef srcFontContainerRef = fontContainerRefFromNSFont(nsFont);
diff --git a/Source/WebCore/platform/graphics/chromium/FontCacheChromiumWin.cpp b/Source/WebCore/platform/graphics/chromium/FontCacheChromiumWin.cpp
index 2c79815..f4c0dee 100644
--- a/Source/WebCore/platform/graphics/chromium/FontCacheChromiumWin.cpp
+++ b/Source/WebCore/platform/graphics/chromium/FontCacheChromiumWin.cpp
@@ -32,11 +32,11 @@
 #include "config.h"
 #include "FontCache.h"
 
-#include "ChromiumBridge.h"
 #include "Font.h"
 #include "FontUtilsChromiumWin.h"
 #include "HashMap.h"
 #include "HashSet.h"
+#include "PlatformBridge.h"
 #include "SimpleFontData.h"
 #include <unicode/uniset.h>
 #include <wtf/text/StringHash.h>
@@ -288,9 +288,9 @@ static bool fontContainsCharacter(const FontPlatformData* fontData,
     HDC hdc = GetDC(0);
     HGDIOBJ oldFont = static_cast<HFONT>(SelectObject(hdc, hfont));
     int count = GetFontUnicodeRanges(hdc, 0);
-    if (count == 0 && ChromiumBridge::ensureFontLoaded(hfont))
+    if (!count && PlatformBridge::ensureFontLoaded(hfont))
         count = GetFontUnicodeRanges(hdc, 0);
-    if (count == 0) {
+    if (!count) {
         LOG_ERROR("Unable to get the font unicode range after second attempt");
         SelectObject(hdc, oldFont);
         ReleaseDC(0, hdc);
@@ -362,7 +362,7 @@ static void FillLogFont(const FontDescription& fontDescription, LOGFONT* winfont
     winfont->lfStrikeOut = false;
     winfont->lfCharSet = DEFAULT_CHARSET;
     winfont->lfOutPrecision = OUT_TT_ONLY_PRECIS;
-    winfont->lfQuality = ChromiumBridge::layoutTestMode() ? NONANTIALIASED_QUALITY : DEFAULT_QUALITY; // Honor user's desktop settings.
+    winfont->lfQuality = PlatformBridge::layoutTestMode() ? NONANTIALIASED_QUALITY : DEFAULT_QUALITY; // Honor user's desktop settings.
     winfont->lfPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE;
     winfont->lfItalic = fontDescription.italic();
     winfont->lfWeight = toGDIFontWeight(fontDescription.weight());
diff --git a/Source/WebCore/platform/graphics/chromium/FontCacheLinux.cpp b/Source/WebCore/platform/graphics/chromium/FontCacheLinux.cpp
index bd33927..a849a6c 100644
--- a/Source/WebCore/platform/graphics/chromium/FontCacheLinux.cpp
+++ b/Source/WebCore/platform/graphics/chromium/FontCacheLinux.cpp
@@ -31,12 +31,12 @@
 #include "config.h"
 #include "FontCache.h"
 
-#include "ChromiumBridge.h"
 #include "Font.h"
 #include "FontDescription.h"
 #include "FontPlatformData.h"
 #include "Logging.h"
 #include "NotImplemented.h"
+#include "PlatformBridge.h"
 #include "SimpleFontData.h"
 
 #include "SkPaint.h"
@@ -57,7 +57,7 @@ const SimpleFontData* FontCache::getFontDataForCharacters(const Font& font,
                                                           const UChar* characters,
                                                           int length)
 {
-    String family = ChromiumBridge::getFontFamilyForCharacters(characters, length);
+    String family = PlatformBridge::getFontFamilyForCharacters(characters, length);
     if (family.isEmpty())
         return 0;
 
diff --git a/Source/WebCore/platform/graphics/chromium/FontChromiumWin.cpp b/Source/WebCore/platform/graphics/chromium/FontChromiumWin.cpp
index 1a00833..5da4d5a 100644
--- a/Source/WebCore/platform/graphics/chromium/FontChromiumWin.cpp
+++ b/Source/WebCore/platform/graphics/chromium/FontChromiumWin.cpp
@@ -32,10 +32,10 @@
 #include "config.h"
 #include "Font.h"
 
-#include "ChromiumBridge.h"
 #include "FontFallbackList.h"
 #include "GlyphBuffer.h"
 #include "NotImplemented.h"
+#include "PlatformBridge.h"
 #include "PlatformContextSkia.h"
 #include "SimpleFontData.h"
 #include "SkiaFontWin.h"
@@ -424,7 +424,7 @@ void Font::drawGlyphs(GraphicsContext* graphicsContext,
             success = painter.drawGlyphs(curLen, &glyphs[0], &advances[0], curAdvance);
             if (!success && executions == 0) {
                 // Ask the browser to load the font for us and retry.
-                ChromiumBridge::ensureFontLoaded(font->platformData().hfont());
+                PlatformBridge::ensureFontLoaded(font->platformData().hfont());
                 continue;
             }
             break;
diff --git a/Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.cpp b/Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.cpp
index d6c83ec..1022a9f 100644
--- a/Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.cpp
+++ b/Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.cpp
@@ -36,7 +36,7 @@
 #include <objidl.h>
 #include <mlang.h>
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 #include "SkiaFontWin.h"
 
 namespace WebCore {
@@ -136,7 +136,7 @@ SCRIPT_FONTPROPERTIES* FontPlatformData::scriptFontProperties() const
             HRESULT hr = ScriptGetFontProperties(dc, scriptCache(),
                                                  m_scriptFontProperties);
             if (S_OK != hr) {
-                if (ChromiumBridge::ensureFontLoaded(hfont())) {
+                if (PlatformBridge::ensureFontLoaded(hfont())) {
                     // FIXME: Handle gracefully the error if this call also fails.
                     hr = ScriptGetFontProperties(dc, scriptCache(),
                                                  m_scriptFontProperties);
diff --git a/Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.cpp b/Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.cpp
index 42942cc..a1ea012 100644
--- a/Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.cpp
+++ b/Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.cpp
@@ -31,9 +31,9 @@
 #include "config.h"
 #include "FontPlatformData.h"
 
-#include "ChromiumBridge.h"
 #include "HarfbuzzSkia.h"
 #include "NotImplemented.h"
+#include "PlatformBridge.h"
 #include "PlatformString.h"
 
 #include "SkPaint.h"
@@ -229,7 +229,7 @@ void FontPlatformData::querySystemForRenderStyle()
         return;
     }
 
-    ChromiumBridge::getRenderStyleForStrike(m_family.data(), (((int)m_textSize) << 2) | (m_typeface->style() & 3), &m_style);
+    PlatformBridge::getRenderStyleForStrike(m_family.data(), (((int)m_textSize) << 2) | (m_typeface->style() & 3), &m_style);
 }
 
 }  // namespace WebCore
diff --git a/Source/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp b/Source/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp
index e71f66a..ee2b5ab 100644
--- a/Source/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp
+++ b/Source/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp
@@ -32,9 +32,9 @@
 #include <windows.h>
 #include <vector>
 
-#include "ChromiumBridge.h"
 #include "Font.h"
 #include "GlyphPageTreeNode.h"
+#include "PlatformBridge.h"
 #include "SimpleFontData.h"
 #include "UniscribeHelperTextRun.h"
 #include "WindowsVersion.h"
@@ -80,12 +80,11 @@ static bool fillBMPGlyphs(unsigned offset,
         ReleaseDC(0, dc);
 
         if (recurse) {
-            if (ChromiumBridge::ensureFontLoaded(fontData->platformData().hfont()))
+            if (PlatformBridge::ensureFontLoaded(fontData->platformData().hfont()))
                 return fillBMPGlyphs(offset, length, buffer, page, fontData, false);
-            else {
-                fillEmptyGlyphs(page);
-                return false;
-            }
+
+            fillEmptyGlyphs(page);
+            return false;
         } else {
             // FIXME: Handle gracefully the error if this call also fails.
             // See http://crbug.com/6401
diff --git a/Source/WebCore/platform/graphics/chromium/ImageChromium.cpp b/Source/WebCore/platform/graphics/chromium/ImageChromium.cpp
index e90d566..e2b6f7a 100644
--- a/Source/WebCore/platform/graphics/chromium/ImageChromium.cpp
+++ b/Source/WebCore/platform/graphics/chromium/ImageChromium.cpp
@@ -31,7 +31,7 @@
 #include "config.h"
 #include "Image.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 
 namespace WebCore {
 
@@ -39,7 +39,7 @@ namespace WebCore {
 
 PassRefPtr<Image> Image::loadPlatformResource(const char *name)
 {
-    return ChromiumBridge::loadPlatformImageResource(name);
+    return PlatformBridge::loadPlatformImageResource(name);
 }
 
 } // namespace WebCore
diff --git a/Source/WebCore/platform/graphics/chromium/ImageChromiumMac.mm b/Source/WebCore/platform/graphics/chromium/ImageChromiumMac.mm
index 073a409..f003894 100644
--- a/Source/WebCore/platform/graphics/chromium/ImageChromiumMac.mm
+++ b/Source/WebCore/platform/graphics/chromium/ImageChromiumMac.mm
@@ -33,14 +33,14 @@
 #include "config.h"
 #include "BitmapImage.h"
 
-#include "ChromiumBridge.h"
 #include "Image.h"
+#include "PlatformBridge.h"
 
 namespace WebCore {
 
 PassRefPtr<Image> Image::loadPlatformResource(const char* name)
 {
-    return ChromiumBridge::loadPlatformImageResource(name);
+    return PlatformBridge::loadPlatformImageResource(name);
 }
 
 // FIXME: These are temporary stubs, we need real implementations which
diff --git a/Source/WebCore/platform/graphics/chromium/SimpleFontDataChromiumWin.cpp b/Source/WebCore/platform/graphics/chromium/SimpleFontDataChromiumWin.cpp
index 204c565..c23c586 100644
--- a/Source/WebCore/platform/graphics/chromium/SimpleFontDataChromiumWin.cpp
+++ b/Source/WebCore/platform/graphics/chromium/SimpleFontDataChromiumWin.cpp
@@ -32,11 +32,11 @@
 #include "config.h"
 #include "SimpleFontData.h"
 
-#include "ChromiumBridge.h"
+#include "FloatRect.h"
 #include "Font.h"
 #include "FontCache.h"
-#include "FloatRect.h"
 #include "FontDescription.h"
+#include "PlatformBridge.h"
 #include <wtf/MathExtras.h>
 
 #include <unicode/uchar.h>
@@ -70,7 +70,7 @@ void SimpleFontData::platformInit()
 
     TEXTMETRIC textMetric = {0};
     if (!GetTextMetrics(dc, &textMetric)) {
-        if (ChromiumBridge::ensureFontLoaded(m_platformData.hfont())) {
+        if (PlatformBridge::ensureFontLoaded(m_platformData.hfont())) {
             // Retry GetTextMetrics.
             // FIXME: Handle gracefully the error if this call also fails.
             // See http://crbug.com/6401.
@@ -159,7 +159,7 @@ void SimpleFontData::determinePitch()
     // is *not* fixed pitch.  Unbelievable but true.
     TEXTMETRIC textMetric = {0};
     if (!GetTextMetrics(dc, &textMetric)) {
-        if (ChromiumBridge::ensureFontLoaded(m_platformData.hfont())) {
+        if (PlatformBridge::ensureFontLoaded(m_platformData.hfont())) {
             // Retry GetTextMetrics.
             // FIXME: Handle gracefully the error if this call also fails.
             // See http://crbug.com/6401.
@@ -190,7 +190,7 @@ float SimpleFontData::platformWidthForGlyph(Glyph glyph) const
     int width = 0;
     if (!GetCharWidthI(dc, glyph, 1, 0, &width)) {
         // Ask the browser to preload the font and retry.
-        if (ChromiumBridge::ensureFontLoaded(m_platformData.hfont())) {
+        if (PlatformBridge::ensureFontLoaded(m_platformData.hfont())) {
             // FIXME: Handle gracefully the error if this call also fails.
             // See http://crbug.com/6401.
             if (!GetCharWidthI(dc, glyph, 1, 0, &width))
diff --git a/Source/WebCore/platform/graphics/chromium/UniscribeHelperTextRun.cpp b/Source/WebCore/platform/graphics/chromium/UniscribeHelperTextRun.cpp
index 84a08fc..aa18b4a 100644
--- a/Source/WebCore/platform/graphics/chromium/UniscribeHelperTextRun.cpp
+++ b/Source/WebCore/platform/graphics/chromium/UniscribeHelperTextRun.cpp
@@ -31,8 +31,8 @@
 #include "config.h"
 #include "UniscribeHelperTextRun.h"
 
-#include "ChromiumBridge.h"
 #include "Font.h"
+#include "PlatformBridge.h"
 #include "SimpleFontData.h"
 #include "TextRun.h"
 
@@ -80,7 +80,7 @@ void UniscribeHelperTextRun::tryToPreloadFont(HFONT font)
     // Ask the browser to get the font metrics for this font.
     // That will preload the font and it should now be accessible
     // from the renderer.
-    ChromiumBridge::ensureFontLoaded(font);
+    PlatformBridge::ensureFontLoaded(font);
 }
 
 bool UniscribeHelperTextRun::nextWinFontData(
diff --git a/Source/WebCore/platform/graphics/skia/FontCustomPlatformData.cpp b/Source/WebCore/platform/graphics/skia/FontCustomPlatformData.cpp
index e94c417..0b31dfa 100644
--- a/Source/WebCore/platform/graphics/skia/FontCustomPlatformData.cpp
+++ b/Source/WebCore/platform/graphics/skia/FontCustomPlatformData.cpp
@@ -35,8 +35,8 @@
 
 #if OS(WINDOWS)
 #include "Base64.h"
-#include "ChromiumBridge.h"
 #include "OpenTypeUtilities.h"
+#include "PlatformBridge.h"
 #elif OS(LINUX) || OS(FREEBSD) || PLATFORM(BREWMP)
 #include "SkStream.h"
 #endif
@@ -91,7 +91,7 @@ FontPlatformData FontCustomPlatformData::fontPlatformData(int size, bool bold, b
     logFont.lfStrikeOut = false;
     logFont.lfCharSet = DEFAULT_CHARSET;
     logFont.lfOutPrecision = OUT_TT_ONLY_PRECIS;
-    logFont.lfQuality = ChromiumBridge::layoutTestMode() ?
+    logFont.lfQuality = PlatformBridge::layoutTestMode() ?
                         NONANTIALIASED_QUALITY :
                         DEFAULT_QUALITY; // Honor user's desktop settings.
     logFont.lfPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE;
diff --git a/Source/WebCore/platform/network/chromium/CookieJarChromium.cpp b/Source/WebCore/platform/network/chromium/CookieJarChromium.cpp
index e17816a..2f2489b 100644
--- a/Source/WebCore/platform/network/chromium/CookieJarChromium.cpp
+++ b/Source/WebCore/platform/network/chromium/CookieJarChromium.cpp
@@ -32,39 +32,39 @@
 #include "CookieJar.h"
 
 #include "Cookie.h"
-#include "ChromiumBridge.h"
 #include "Document.h"
+#include "PlatformBridge.h"
 
 namespace WebCore {
 
 void setCookies(Document* document, const KURL& url, const String& value)
 {
-    ChromiumBridge::setCookies(document, url, value);
+    PlatformBridge::setCookies(document, url, value);
 }
 
 String cookies(const Document* document, const KURL& url)
 {
-    return ChromiumBridge::cookies(document, url);
+    return PlatformBridge::cookies(document, url);
 }
 
 String cookieRequestHeaderFieldValue(const Document* document, const KURL& url)
 {
-    return ChromiumBridge::cookieRequestHeaderFieldValue(document, url);
+    return PlatformBridge::cookieRequestHeaderFieldValue(document, url);
 }
 
 bool cookiesEnabled(const Document* document)
 {
-    return ChromiumBridge::cookiesEnabled(document);
+    return PlatformBridge::cookiesEnabled(document);
 }
 
 bool getRawCookies(const Document* document, const KURL& url, Vector<Cookie>& rawCookies)
 {
-    return ChromiumBridge::rawCookies(document, url, rawCookies);
+    return PlatformBridge::rawCookies(document, url, rawCookies);
 }
 
 void deleteCookie(const Document* document, const KURL& url, const String& cookieName)
 {
-    return ChromiumBridge::deleteCookie(document, url, cookieName);
+    return PlatformBridge::deleteCookie(document, url, cookieName);
 }
 
 } // namespace WebCore
diff --git a/Source/WebCore/platform/network/chromium/DNSChromium.cpp b/Source/WebCore/platform/network/chromium/DNSChromium.cpp
index 21fcd46..7b9eac5 100644
--- a/Source/WebCore/platform/network/chromium/DNSChromium.cpp
+++ b/Source/WebCore/platform/network/chromium/DNSChromium.cpp
@@ -26,14 +26,14 @@
 #include "config.h"
 #include "DNS.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 #include "ResourceHandle.h"
 
 namespace WebCore {
 
 void prefetchDNS(const String& hostname)
 {
-    ChromiumBridge::prefetchDNS(hostname);
+    PlatformBridge::prefetchDNS(hostname);
 }
 
 void ResourceHandle::prepareForURL(const KURL& url)
diff --git a/Source/WebCore/platform/qt/PlatformBridge.h b/Source/WebCore/platform/qt/PlatformBridge.h
index e478d8f..9647507 100644
--- a/Source/WebCore/platform/qt/PlatformBridge.h
+++ b/Source/WebCore/platform/qt/PlatformBridge.h
@@ -86,7 +86,7 @@ class Widget;
 
 // An interface to the embedding layer, which has the ability to answer
 // questions about the system and so on...
-// This is very similar to ChromiumBridge and the two are likely to converge
+// This is very similar to chromium/PlatformBridge and the two are likely to converge
 // in the future.
 class PlatformBridge {
 public:
diff --git a/Source/WebCore/platform/sql/chromium/SQLiteFileSystemChromium.cpp b/Source/WebCore/platform/sql/chromium/SQLiteFileSystemChromium.cpp
index 0a09888..b79eb1a 100644
--- a/Source/WebCore/platform/sql/chromium/SQLiteFileSystemChromium.cpp
+++ b/Source/WebCore/platform/sql/chromium/SQLiteFileSystemChromium.cpp
@@ -31,7 +31,7 @@
 #include "config.h"
 #include "SQLiteFileSystem.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 #include "SQLiteDatabase.h"
 #include <sqlite3.h>
 #include <wtf/text/CString.h>
@@ -92,12 +92,12 @@ bool SQLiteFileSystem::deleteEmptyDatabaseDirectory(const String&)
 
 bool SQLiteFileSystem::deleteDatabaseFile(const String& fileName)
 {
-    return (ChromiumBridge::databaseDeleteFile(fileName) == SQLITE_OK);
+    return (PlatformBridge::databaseDeleteFile(fileName) == SQLITE_OK);
 }
 
 long long SQLiteFileSystem::getDatabaseFileSize(const String& fileName)
 {
-    return ChromiumBridge::databaseGetFileSize(fileName);
+    return PlatformBridge::databaseGetFileSize(fileName);
 }
 
 } // namespace WebCore
diff --git a/Source/WebCore/platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp b/Source/WebCore/platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp
index 1102df5..37f96be 100644
--- a/Source/WebCore/platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp
+++ b/Source/WebCore/platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp
@@ -31,7 +31,7 @@
 #include "config.h"
 #include "SQLiteFileSystem.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 #include <sqlite3.h>
 
 #include <errno.h>
@@ -996,10 +996,10 @@ static int chromiumOpen(sqlite3_vfs* vfs, const char* fileName,
     }
 
     if (fd < 0) {
-        fd = ChromiumBridge::databaseOpenFile(fileName, desiredFlags);
+        fd = PlatformBridge::databaseOpenFile(fileName, desiredFlags);
         if ((fd < 0) && (desiredFlags & SQLITE_OPEN_READWRITE)) {
             int newFlags = (desiredFlags & ~(SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)) | SQLITE_OPEN_READONLY;
-            fd = ChromiumBridge::databaseOpenFile(fileName, newFlags);
+            fd = PlatformBridge::databaseOpenFile(fileName, newFlags);
         }
     }
     if (fd < 0) {
@@ -1031,7 +1031,7 @@ static int chromiumOpen(sqlite3_vfs* vfs, const char* fileName,
 //           should be synched after the file is deleted.
 static int chromiumDelete(sqlite3_vfs*, const char* fileName, int syncDir)
 {
-    return ChromiumBridge::databaseDeleteFile(fileName, syncDir);
+    return PlatformBridge::databaseDeleteFile(fileName, syncDir);
 }
 
 // Check the existance and status of the given file.
@@ -1042,7 +1042,7 @@ static int chromiumDelete(sqlite3_vfs*, const char* fileName, int syncDir)
 // res - the result.
 static int chromiumAccess(sqlite3_vfs*, const char* fileName, int flag, int* res)
 {
-    int attr = static_cast<int>(ChromiumBridge::databaseGetFileAttributes(fileName));
+    int attr = static_cast<int>(PlatformBridge::databaseGetFileAttributes(fileName));
     if (attr < 0) {
         *res = 0;
         return SQLITE_OK;
diff --git a/Source/WebCore/platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp b/Source/WebCore/platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp
index d846af7..47e01d0 100644
--- a/Source/WebCore/platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp
+++ b/Source/WebCore/platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp
@@ -31,7 +31,7 @@
 #include "config.h"
 #include "SQLiteFileSystem.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 #include <sqlite3.h>
 #include <windows.h>
 
@@ -55,7 +55,7 @@ namespace {
 int chromiumOpen(sqlite3_vfs*, const char* fileName,
                  sqlite3_file* id, int desiredFlags, int* usedFlags)
 {
-    HANDLE h = ChromiumBridge::databaseOpenFile(fileName, desiredFlags);
+    HANDLE h = PlatformBridge::databaseOpenFile(fileName, desiredFlags);
     if (h == INVALID_HANDLE_VALUE) {
         if (desiredFlags & SQLITE_OPEN_READWRITE) {
             int newFlags = (desiredFlags | SQLITE_OPEN_READONLY) & ~SQLITE_OPEN_READWRITE;
@@ -82,7 +82,7 @@ int chromiumOpen(sqlite3_vfs*, const char* fileName,
 //           should be synched after the file is deleted.
 int chromiumDelete(sqlite3_vfs*, const char* fileName, int)
 {
-    return ChromiumBridge::databaseDeleteFile(fileName);
+    return PlatformBridge::databaseDeleteFile(fileName);
 }
 
 // Check the existance and status of the given file.
@@ -93,7 +93,7 @@ int chromiumDelete(sqlite3_vfs*, const char* fileName, int)
 // res - the result.
 int chromiumAccess(sqlite3_vfs*, const char* fileName, int flag, int* res)
 {
-    DWORD attr = ChromiumBridge::databaseGetFileAttributes(fileName);
+    DWORD attr = PlatformBridge::databaseGetFileAttributes(fileName);
     switch (flag) {
     case SQLITE_ACCESS_READ:
     case SQLITE_ACCESS_EXISTS:
diff --git a/Source/WebCore/plugins/chromium/PluginDataChromium.cpp b/Source/WebCore/plugins/chromium/PluginDataChromium.cpp
index c924063..77cdbbf 100644
--- a/Source/WebCore/plugins/chromium/PluginDataChromium.cpp
+++ b/Source/WebCore/plugins/chromium/PluginDataChromium.cpp
@@ -31,7 +31,7 @@
 #include "config.h"
 #include "PluginDataChromium.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 
 namespace WebCore {
 
@@ -50,7 +50,7 @@ public:
     const Vector<PluginInfo>& plugins()
     {
         if (!m_loaded) {
-            ChromiumBridge::plugins(m_refresh, &m_plugins);
+            PlatformBridge::plugins(m_refresh, &m_plugins);
             m_loaded = true;
             m_refresh = false;
         }
diff --git a/Source/WebCore/rendering/RenderThemeChromiumMac.mm b/Source/WebCore/rendering/RenderThemeChromiumMac.mm
index 02eb134..10285ac 100644
--- a/Source/WebCore/rendering/RenderThemeChromiumMac.mm
+++ b/Source/WebCore/rendering/RenderThemeChromiumMac.mm
@@ -20,8 +20,8 @@
 
 #import "config.h"
 #import "RenderThemeChromiumMac.h"
-#import "ChromiumBridge.h"
 #import "PaintInfo.h"
+#import "PlatformBridge.h"
 #import "RenderMediaControlsChromium.h"
 #import "UserAgentStyleSheets.h"
 #import <Carbon/Carbon.h>
@@ -71,7 +71,7 @@ PassRefPtr<RenderTheme> RenderThemeChromiumMac::create()
 
 bool RenderThemeChromiumMac::usesTestModeFocusRingColor() const
 {
-    return ChromiumBridge::layoutTestMode();
+    return PlatformBridge::layoutTestMode();
 }
 
 NSView* RenderThemeChromiumMac::documentViewFor(RenderObject*) const
diff --git a/Source/WebCore/rendering/RenderThemeChromiumSkia.cpp b/Source/WebCore/rendering/RenderThemeChromiumSkia.cpp
index bb60c1f..1457766 100644
--- a/Source/WebCore/rendering/RenderThemeChromiumSkia.cpp
+++ b/Source/WebCore/rendering/RenderThemeChromiumSkia.cpp
@@ -24,7 +24,6 @@
 #include "config.h"
 #include "RenderThemeChromiumSkia.h"
 
-#include "ChromiumBridge.h"
 #include "CSSValueKeywords.h"
 #include "CurrentTime.h"
 #include "GraphicsContext.h"
@@ -33,6 +32,7 @@
 #include "Image.h"
 #include "MediaControlElements.h"
 #include "PaintInfo.h"
+#include "PlatformBridge.h"
 #include "PlatformContextSkia.h"
 #include "RenderBox.h"
 #include "RenderMediaControlsChromium.h"
@@ -185,7 +185,7 @@ double RenderThemeChromiumSkia::caretBlinkInterval() const
 {
     // Disable the blinking caret in layout test mode, as it introduces
     // a race condition for the pixel tests. http://b/1198440
-    if (ChromiumBridge::layoutTestMode())
+    if (PlatformBridge::layoutTestMode())
         return 0;
 
     return caretBlinkIntervalInternal();
diff --git a/Source/WebCore/rendering/RenderThemeChromiumWin.cpp b/Source/WebCore/rendering/RenderThemeChromiumWin.cpp
index 572aa2f..bba0520 100644
--- a/Source/WebCore/rendering/RenderThemeChromiumWin.cpp
+++ b/Source/WebCore/rendering/RenderThemeChromiumWin.cpp
@@ -30,7 +30,6 @@
 #include <vssym32.h>
 
 #include "CSSValueKeywords.h"
-#include "ChromiumBridge.h"
 #include "CurrentTime.h"
 #include "FontSelector.h"
 #include "FontUtilsChromiumWin.h"
@@ -39,6 +38,7 @@
 #include "HTMLNames.h"
 #include "MediaControlElements.h"
 #include "PaintInfo.h"
+#include "PlatformBridge.h"
 #include "RenderBox.h"
 #include "RenderProgress.h"
 #include "RenderSlider.h"
@@ -238,7 +238,7 @@ bool RenderThemeChromiumWin::supportsFocusRing(const RenderStyle* style) const
 
 Color RenderThemeChromiumWin::platformActiveSelectionBackgroundColor() const
 {
-    if (ChromiumBridge::layoutTestMode())
+    if (PlatformBridge::layoutTestMode())
         return Color(0x00, 0x00, 0xff); // Royal blue.
     COLORREF color = GetSysColor(COLOR_HIGHLIGHT);
     return Color(GetRValue(color), GetGValue(color), GetBValue(color), 0xff);
@@ -246,7 +246,7 @@ Color RenderThemeChromiumWin::platformActiveSelectionBackgroundColor() const
 
 Color RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor() const
 {
-    if (ChromiumBridge::layoutTestMode())
+    if (PlatformBridge::layoutTestMode())
         return Color(0x99, 0x99, 0x99); // Medium gray.
     COLORREF color = GetSysColor(COLOR_GRAYTEXT);
     return Color(GetRValue(color), GetGValue(color), GetBValue(color), 0xff);
@@ -254,7 +254,7 @@ Color RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor() const
 
 Color RenderThemeChromiumWin::platformActiveSelectionForegroundColor() const
 {
-    if (ChromiumBridge::layoutTestMode())
+    if (PlatformBridge::layoutTestMode())
         return Color(0xff, 0xff, 0xcc); // Pale yellow.
     COLORREF color = GetSysColor(COLOR_HIGHLIGHTTEXT);
     return Color(GetRValue(color), GetGValue(color), GetBValue(color), 0xff);
@@ -375,7 +375,7 @@ static int cssValueIdToSysColorIndex(int cssValueId)
 Color RenderThemeChromiumWin::systemColor(int cssValueId) const
 {
     int sysColorIndex = cssValueIdToSysColorIndex(cssValueId);
-    if (ChromiumBridge::layoutTestMode() || (sysColorIndex == -1))
+    if (PlatformBridge::layoutTestMode() || (sysColorIndex == -1))
         return RenderTheme::systemColor(cssValueId);
 
     COLORREF color = GetSysColor(sysColorIndex);
@@ -411,7 +411,7 @@ bool RenderThemeChromiumWin::paintButton(RenderObject* o, const PaintInfo& i, co
     const ThemeData& themeData = getThemeData(o);
 
     ThemePainter painter(i.context, r);
-    ChromiumBridge::paintButton(painter.context(),
+    PlatformBridge::paintButton(painter.context(),
                                 themeData.m_part,
                                 themeData.m_state,
                                 themeData.m_classicState,
@@ -429,7 +429,7 @@ bool RenderThemeChromiumWin::paintSliderTrack(RenderObject* o, const PaintInfo&
     const ThemeData& themeData = getThemeData(o);
 
     ThemePainter painter(i.context, r);
-    ChromiumBridge::paintTrackbar(painter.context(),
+    PlatformBridge::paintTrackbar(painter.context(),
                                   themeData.m_part,
                                   themeData.m_state,
                                   themeData.m_classicState,
@@ -444,7 +444,7 @@ bool RenderThemeChromiumWin::paintSliderThumb(RenderObject* o, const PaintInfo&
 
 static int menuListButtonWidth()
 {
-    static int width = ChromiumBridge::layoutTestMode() ? kStandardMenuListButtonWidth : GetSystemMetrics(SM_CXVSCROLL);
+    static int width = PlatformBridge::layoutTestMode() ? kStandardMenuListButtonWidth : GetSystemMetrics(SM_CXVSCROLL);
     return width;
 }
 
@@ -492,7 +492,7 @@ bool RenderThemeChromiumWin::paintMenuList(RenderObject* o, const PaintInfo& i,
 
     // Get the correct theme data for a textfield and paint the menu.
     ThemePainter painter(i.context, rect);
-    ChromiumBridge::paintMenuList(painter.context(),
+    PlatformBridge::paintMenuList(painter.context(),
                                   CP_DROPDOWNBUTTON,
                                   determineState(o),
                                   determineClassicState(o),
@@ -657,7 +657,7 @@ bool RenderThemeChromiumWin::paintTextFieldInternal(RenderObject* o,
                                                     bool drawEdges)
 {
     // Fallback to white if the specified color object is invalid.
-    // (Note ChromiumBridge::paintTextField duplicates this check).
+    // (Note PlatformBridge::paintTextField duplicates this check).
     Color backgroundColor(Color::white);
     if (o->style()->visitedDependentColor(CSSPropertyBackgroundColor).isValid())
         backgroundColor = o->style()->visitedDependentColor(CSSPropertyBackgroundColor);
@@ -681,7 +681,7 @@ bool RenderThemeChromiumWin::paintTextFieldInternal(RenderObject* o,
     {
         const ThemeData& themeData = getThemeData(o);
         ThemePainter painter(i.context, r);
-        ChromiumBridge::paintTextField(painter.context(),
+        PlatformBridge::paintTextField(painter.context(),
                                        themeData.m_part,
                                        themeData.m_state,
                                        themeData.m_classicState,
@@ -710,7 +710,7 @@ bool RenderThemeChromiumWin::paintInnerSpinButton(RenderObject* object, const Pa
     half.setHeight(rect.height() / 2);
     const ThemeData& upThemeData = getThemeData(object, SpinButtonUp);
     ThemePainter upPainter(info.context, half);
-    ChromiumBridge::paintSpinButton(upPainter.context(),
+    PlatformBridge::paintSpinButton(upPainter.context(),
                                     upThemeData.m_part,
                                     upThemeData.m_state,
                                     upThemeData.m_classicState,
@@ -719,7 +719,7 @@ bool RenderThemeChromiumWin::paintInnerSpinButton(RenderObject* object, const Pa
     half.setY(rect.y() + rect.height() / 2);
     const ThemeData& downThemeData = getThemeData(object, SpinButtonDown);
     ThemePainter downPainter(info.context, half);
-    ChromiumBridge::paintSpinButton(downPainter.context(),
+    PlatformBridge::paintSpinButton(downPainter.context(),
                                     downThemeData.m_part,
                                     downThemeData.m_state,
                                     downThemeData.m_classicState,
@@ -760,7 +760,7 @@ bool RenderThemeChromiumWin::paintProgressBar(RenderObject* o, const PaintInfo&
     IntRect valueRect = renderProgress->isDeterminate() ? determinateProgressValueRectFor(renderProgress, r) : IntRect(0, 0, 0, 0);
     double animatedSeconds = renderProgress->animationStartTime() ?  WTF::currentTime() - renderProgress->animationStartTime() : 0;
     ThemePainter painter(i.context, r);
-    ChromiumBridge::paintProgressBar(painter.context(), r, valueRect, renderProgress->isDeterminate(), animatedSeconds);
+    PlatformBridge::paintProgressBar(painter.context(), r, valueRect, renderProgress->isDeterminate(), animatedSeconds);
     return false;
 }
 
diff --git a/Source/WebCore/storage/chromium/IDBFactoryBackendInterface.cpp b/Source/WebCore/storage/chromium/IDBFactoryBackendInterface.cpp
index c0fb444..92e9a7b 100644
--- a/Source/WebCore/storage/chromium/IDBFactoryBackendInterface.cpp
+++ b/Source/WebCore/storage/chromium/IDBFactoryBackendInterface.cpp
@@ -28,7 +28,7 @@
 #include "config.h"
 #include "IDBFactoryBackendInterface.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 
 #if ENABLE(INDEXED_DATABASE)
 
@@ -36,12 +36,12 @@ namespace WebCore {
 
 PassRefPtr<IDBFactoryBackendInterface> IDBFactoryBackendInterface::create()
 {
-    return ChromiumBridge::idbFactory();
+    return PlatformBridge::idbFactory();
 }
 
 IDBFactoryBackendInterface::~IDBFactoryBackendInterface()
 {
-    ChromiumBridge::idbShutdown();
+    PlatformBridge::idbShutdown();
 }
 
 } // namespace WebCore
diff --git a/Source/WebCore/storage/chromium/IDBKeyPathBackendImpl.cpp b/Source/WebCore/storage/chromium/IDBKeyPathBackendImpl.cpp
index 0f10875..38b2983 100644
--- a/Source/WebCore/storage/chromium/IDBKeyPathBackendImpl.cpp
+++ b/Source/WebCore/storage/chromium/IDBKeyPathBackendImpl.cpp
@@ -28,13 +28,13 @@
 
 #if ENABLE(INDEXED_DATABASE)
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 
 namespace WebCore {
 
 void IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue>, 0>& values,  const String& keyPath, Vector<RefPtr<IDBKey>, 0>& keys)
 {
-    ChromiumBridge::createIDBKeysFromSerializedValuesAndKeyPath(values, keyPath, keys);
+    PlatformBridge::createIDBKeysFromSerializedValuesAndKeyPath(values, keyPath, keys);
 }
 
 } // namespace WebCore
diff --git a/Source/WebKit/chromium/ChangeLog b/Source/WebKit/chromium/ChangeLog
index 2b391c9..9d582d2 100644
--- a/Source/WebKit/chromium/ChangeLog
+++ b/Source/WebKit/chromium/ChangeLog
@@ -1,3 +1,124 @@
+2011-01-21  Adam Klein  <adamk at chromium.org>
+
+        Reviewed by Eric Seidel.
+
+        [chromium] Rename ChromiumBridge to PlatformBridge
+        https://bugs.webkit.org/show_bug.cgi?id=52471
+
+        * WebKit.gyp:
+        * src/AssertMatchingEnums.cpp:
+        * src/PlatformBridge.cpp:
+        (WebCore::toChromeClientImpl):
+        (WebCore::toWebWidgetClient):
+        (WebCore::getCookieJar):
+        (WebCore::PlatformBridge::cacheMetadata):
+        (WebCore::PlatformBridge::clipboardIsFormatAvailable):
+        (WebCore::PlatformBridge::clipboardReadPlainText):
+        (WebCore::PlatformBridge::clipboardReadHTML):
+        (WebCore::PlatformBridge::clipboardWriteSelection):
+        (WebCore::PlatformBridge::clipboardWritePlainText):
+        (WebCore::PlatformBridge::clipboardWriteURL):
+        (WebCore::PlatformBridge::clipboardWriteImage):
+        (WebCore::PlatformBridge::clipboardWriteData):
+        (WebCore::PlatformBridge::clipboardReadAvailableTypes):
+        (WebCore::PlatformBridge::clipboardReadData):
+        (WebCore::PlatformBridge::clipboardReadFilenames):
+        (WebCore::PlatformBridge::setCookies):
+        (WebCore::PlatformBridge::cookies):
+        (WebCore::PlatformBridge::cookieRequestHeaderFieldValue):
+        (WebCore::PlatformBridge::rawCookies):
+        (WebCore::PlatformBridge::deleteCookie):
+        (WebCore::PlatformBridge::cookiesEnabled):
+        (WebCore::PlatformBridge::prefetchDNS):
+        (WebCore::PlatformBridge::fileExists):
+        (WebCore::PlatformBridge::deleteFile):
+        (WebCore::PlatformBridge::deleteEmptyDirectory):
+        (WebCore::PlatformBridge::getFileSize):
+        (WebCore::PlatformBridge::revealFolderInOS):
+        (WebCore::PlatformBridge::getFileModificationTime):
+        (WebCore::PlatformBridge::directoryName):
+        (WebCore::PlatformBridge::pathByAppendingComponent):
+        (WebCore::PlatformBridge::makeAllDirectories):
+        (WebCore::PlatformBridge::getAbsolutePath):
+        (WebCore::PlatformBridge::isDirectory):
+        (WebCore::PlatformBridge::filePathToURL):
+        (WebCore::PlatformBridge::openFile):
+        (WebCore::PlatformBridge::closeFile):
+        (WebCore::PlatformBridge::seekFile):
+        (WebCore::PlatformBridge::truncateFile):
+        (WebCore::PlatformBridge::readFromFile):
+        (WebCore::PlatformBridge::writeToFile):
+        (WebCore::PlatformBridge::ensureFontLoaded):
+        (WebCore::PlatformBridge::getFontFamilyForCharacters):
+        (WebCore::PlatformBridge::getRenderStyleForStrike):
+        (WebCore::PlatformBridge::loadFont):
+        (WebCore::PlatformBridge::databaseOpenFile):
+        (WebCore::PlatformBridge::databaseDeleteFile):
+        (WebCore::PlatformBridge::databaseGetFileAttributes):
+        (WebCore::PlatformBridge::databaseGetFileSize):
+        (WebCore::PlatformBridge::idbFactory):
+        (WebCore::PlatformBridge::idbShutdown):
+        (WebCore::PlatformBridge::createIDBKeysFromSerializedValuesAndKeyPath):
+        (WebCore::PlatformBridge::signedPublicKeyAndChallengeString):
+        (WebCore::PlatformBridge::computedDefaultLanguage):
+        (WebCore::PlatformBridge::layoutTestMode):
+        (WebCore::PlatformBridge::isSupportedImageMIMEType):
+        (WebCore::PlatformBridge::isSupportedJavaScriptMIMEType):
+        (WebCore::PlatformBridge::isSupportedNonImageMIMEType):
+        (WebCore::PlatformBridge::mimeTypeForExtension):
+        (WebCore::PlatformBridge::mimeTypeFromFile):
+        (WebCore::PlatformBridge::preferredExtensionForMIMEType):
+        (WebCore::PlatformBridge::plugins):
+        (WebCore::PlatformBridge::pluginScriptableObject):
+        (WebCore::PlatformBridge::loadPlatformImageResource):
+        (WebCore::PlatformBridge::loadPlatformAudioResource):
+        (WebCore::PlatformBridge::decodeAudioFileData):
+        (WebCore::PlatformBridge::sandboxEnabled):
+        (WebCore::PlatformBridge::setSharedTimerFiredFunction):
+        (WebCore::PlatformBridge::setSharedTimerFireTime):
+        (WebCore::PlatformBridge::stopSharedTimer):
+        (WebCore::PlatformBridge::decrementStatsCounter):
+        (WebCore::PlatformBridge::incrementStatsCounter):
+        (WebCore::PlatformBridge::histogramCustomCounts):
+        (WebCore::PlatformBridge::histogramEnumeration):
+        (WebCore::PlatformBridge::suddenTerminationChanged):
+        (WebCore::PlatformBridge::currentTime):
+        (WebCore::PlatformBridge::paintButton):
+        (WebCore::PlatformBridge::paintMenuList):
+        (WebCore::PlatformBridge::paintScrollbarArrow):
+        (WebCore::PlatformBridge::paintScrollbarThumb):
+        (WebCore::PlatformBridge::paintScrollbarTrack):
+        (WebCore::PlatformBridge::paintSpinButton):
+        (WebCore::PlatformBridge::paintTextField):
+        (WebCore::PlatformBridge::paintTrackbar):
+        (WebCore::PlatformBridge::paintProgressBar):
+        (WebCore::WebThemePart):
+        (WebCore::WebThemeState):
+        (WebCore::GetWebThemeExtraParams):
+        (WebCore::PlatformBridge::getThemePartSize):
+        (WebCore::PlatformBridge::paintThemePart):
+        (WebCore::PlatformBridge::traceEventBegin):
+        (WebCore::PlatformBridge::traceEventEnd):
+        (WebCore::PlatformBridge::visitedLinkHash):
+        (WebCore::PlatformBridge::isLinkVisited):
+        (WebCore::PlatformBridge::notifyJSOutOfMemory):
+        (WebCore::PlatformBridge::memoryUsageMB):
+        (WebCore::PlatformBridge::actualMemoryUsageMB):
+        (WebCore::PlatformBridge::screenDepth):
+        (WebCore::PlatformBridge::screenDepthPerComponent):
+        (WebCore::PlatformBridge::screenIsMonochrome):
+        (WebCore::PlatformBridge::screenRect):
+        (WebCore::PlatformBridge::screenAvailableRect):
+        (WebCore::PlatformBridge::popupsAllowed):
+        (WebCore::WorkerContextProxy::create):
+        * src/ResourceHandle.cpp:
+        (WebCore::ResourceHandle::cacheMetadata):
+        * src/WebFrameImpl.cpp:
+        (WebKit::WebFrameImpl::WebFrameImpl):
+        (WebKit::WebFrameImpl::~WebFrameImpl):
+        * src/WebViewImpl.cpp:
+        (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+
 2011-01-20  Adam Klein  <adamk at chromium.org>
 
         Reviewed by Andreas Kling.
diff --git a/Source/WebKit/chromium/WebKit.gyp b/Source/WebKit/chromium/WebKit.gyp
index 85f671d..f40f4a2 100644
--- a/Source/WebKit/chromium/WebKit.gyp
+++ b/Source/WebKit/chromium/WebKit.gyp
@@ -315,7 +315,6 @@
                 'src/BoundObject.h',
                 'src/ChromeClientImpl.cpp',
                 'src/ChromeClientImpl.h',
-                'src/ChromiumBridge.cpp',
                 'src/ChromiumCurrentTime.cpp',
                 'src/ChromiumThreading.cpp',
                 'src/CompositionUnderlineBuilder.h',
@@ -384,6 +383,7 @@
                 'src/MediaPlayerPrivateChromium.cpp',
                 'src/NotificationPresenterImpl.h',
                 'src/NotificationPresenterImpl.cpp',
+                'src/PlatformBridge.cpp',
                 'src/PlatformMessagePortChannel.cpp',
                 'src/PlatformMessagePortChannel.h',
                 'src/ResourceHandle.cpp',
diff --git a/Source/WebKit/chromium/src/AssertMatchingEnums.cpp b/Source/WebKit/chromium/src/AssertMatchingEnums.cpp
index e1ee4a1..e89fb74 100644
--- a/Source/WebKit/chromium/src/AssertMatchingEnums.cpp
+++ b/Source/WebKit/chromium/src/AssertMatchingEnums.cpp
@@ -80,7 +80,7 @@
 #include <wtf/text/StringImpl.h>
 
 #if OS(DARWIN)
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 #include "mac/WebThemeEngine.h"
 #endif
 
@@ -398,17 +398,17 @@ COMPILE_ASSERT_MATCHING_ENUM(WebGeolocationError::ErrorPermissionDenied, Geoloca
 COMPILE_ASSERT_MATCHING_ENUM(WebGeolocationError::ErrorPositionUnavailable, GeolocationError::PositionUnavailable);
 
 #if OS(DARWIN)
-COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::StateDisabled, ChromiumBridge::StateDisabled);
-COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::StateInactive, ChromiumBridge::StateInactive);
-COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::StateActive, ChromiumBridge::StateActive);
-COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::StatePressed, ChromiumBridge::StatePressed);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::StateDisabled, PlatformBridge::StateDisabled);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::StateInactive, PlatformBridge::StateInactive);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::StateActive, PlatformBridge::StateActive);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::StatePressed, PlatformBridge::StatePressed);
 
-COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::SizeRegular, ChromiumBridge::SizeRegular);
-COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::SizeSmall, ChromiumBridge::SizeSmall);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::SizeRegular, PlatformBridge::SizeRegular);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::SizeSmall, PlatformBridge::SizeSmall);
 
-COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::ScrollbarOrientationHorizontal, ChromiumBridge::ScrollbarOrientationHorizontal);
-COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::ScrollbarOrientationVertical, ChromiumBridge::ScrollbarOrientationVertical);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::ScrollbarOrientationHorizontal, PlatformBridge::ScrollbarOrientationHorizontal);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::ScrollbarOrientationVertical, PlatformBridge::ScrollbarOrientationVertical);
 
-COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::ScrollbarParentScrollView, ChromiumBridge::ScrollbarParentScrollView);
-COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::ScrollbarParentRenderLayer, ChromiumBridge::ScrollbarParentRenderLayer);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::ScrollbarParentScrollView, PlatformBridge::ScrollbarParentScrollView);
+COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::ScrollbarParentRenderLayer, PlatformBridge::ScrollbarParentRenderLayer);
 #endif
diff --git a/Source/WebKit/chromium/src/ChromiumBridge.cpp b/Source/WebKit/chromium/src/ChromiumBridge.cpp
deleted file mode 100644
index fbe9aa6..0000000
--- a/Source/WebKit/chromium/src/ChromiumBridge.cpp
+++ /dev/null
@@ -1,997 +0,0 @@
-/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "ChromiumBridge.h"
-
-#include <googleurl/src/url_util.h>
-
-#include "Chrome.h"
-#include "ChromeClientImpl.h"
-#include "WebAudioBus.h"
-#include "WebClipboard.h"
-#include "WebCookie.h"
-#include "WebCookieJar.h"
-#include "WebData.h"
-#include "WebDragData.h"
-#include "WebFileUtilities.h"
-#include "WebFrameClient.h"
-#include "WebFrameImpl.h"
-#include "WebIDBKey.h"
-#include "WebImage.h"
-#include "WebKit.h"
-#include "WebKitClient.h"
-#include "WebMimeRegistry.h"
-#include "WebPluginContainerImpl.h"
-#include "WebPluginListBuilderImpl.h"
-#include "WebSandboxSupport.h"
-#include "WebSerializedScriptValue.h"
-#include "WebScreenInfo.h"
-#include "WebString.h"
-#include "WebURL.h"
-#include "WebVector.h"
-#include "WebViewClient.h"
-#include "WebViewImpl.h"
-#include "WebWorkerClientImpl.h"
-
-#if PLATFORM(CG)
-#include <CoreGraphics/CGContext.h>
-#endif
-
-#if OS(WINDOWS)
-#include "WebRect.h"
-#include "win/WebThemeEngine.h"
-#endif
-
-#if OS(LINUX) || OS(FREEBSD)
-#include "linux/WebThemeEngine.h"
-#include "WebFontInfo.h"
-#include "WebFontRenderStyle.h"
-#endif
-
-#if OS(DARWIN)
-#include "mac/WebThemeEngine.h"
-#endif
-
-#if WEBKIT_USING_SKIA
-#include "NativeImageSkia.h"
-#endif
-
-#include "BitmapImage.h"
-#include "Cookie.h"
-#include "FrameView.h"
-#include "GraphicsContext.h"
-#include "IDBFactoryBackendProxy.h"
-#include "KURL.h"
-#include "NotImplemented.h"
-#include "PlatformContextSkia.h"
-#include "PluginData.h"
-#include "SharedBuffer.h"
-
-#include "Worker.h"
-#include "WorkerContextProxy.h"
-#include <wtf/Assertions.h>
-
-// We are part of the WebKit implementation.
-using namespace WebKit;
-
-namespace WebCore {
-
-static ChromeClientImpl* toChromeClientImpl(Widget* widget)
-{
-    if (!widget)
-        return 0;
-
-    FrameView* view;
-    if (widget->isFrameView())
-        view = static_cast<FrameView*>(widget);
-    else if (widget->parent() && widget->parent()->isFrameView())
-        view = static_cast<FrameView*>(widget->parent());
-    else
-        return 0;
-
-    Page* page = view->frame() ? view->frame()->page() : 0;
-    if (!page)
-        return 0;
-
-    return static_cast<ChromeClientImpl*>(page->chrome()->client());
-}
-
-static WebWidgetClient* toWebWidgetClient(Widget* widget)
-{
-    ChromeClientImpl* chromeClientImpl = toChromeClientImpl(widget);
-    if (!chromeClientImpl || !chromeClientImpl->webView())
-        return 0;
-    return chromeClientImpl->webView()->client();
-}
-
-static WebCookieJar* getCookieJar(const Document* document)
-{
-    WebFrameImpl* frameImpl = WebFrameImpl::fromFrame(document->frame());
-    if (!frameImpl || !frameImpl->client())
-        return 0;
-    WebCookieJar* cookieJar = frameImpl->client()->cookieJar(frameImpl);
-    if (!cookieJar)
-        cookieJar = webKitClient()->cookieJar();
-    return cookieJar;
-}
-
-// Cache ----------------------------------------------------------------------
-
-void ChromiumBridge::cacheMetadata(const KURL& url, double responseTime, const Vector<char>& data)
-{
-    webKitClient()->cacheMetadata(url, responseTime, data.data(), data.size());
-}
-
-// Clipboard ------------------------------------------------------------------
-
-bool ChromiumBridge::clipboardIsFormatAvailable(
-    PasteboardPrivate::ClipboardFormat format,
-    PasteboardPrivate::ClipboardBuffer buffer)
-{
-    return webKitClient()->clipboard()->isFormatAvailable(
-        static_cast<WebClipboard::Format>(format),
-        static_cast<WebClipboard::Buffer>(buffer));
-}
-
-String ChromiumBridge::clipboardReadPlainText(
-    PasteboardPrivate::ClipboardBuffer buffer)
-{
-    return webKitClient()->clipboard()->readPlainText(
-        static_cast<WebClipboard::Buffer>(buffer));
-}
-
-void ChromiumBridge::clipboardReadHTML(
-    PasteboardPrivate::ClipboardBuffer buffer,
-    String* htmlText, KURL* sourceURL)
-{
-    WebURL url;
-    *htmlText = webKitClient()->clipboard()->readHTML(
-        static_cast<WebClipboard::Buffer>(buffer), &url);
-    *sourceURL = url;
-}
-
-void ChromiumBridge::clipboardWriteSelection(const String& htmlText,
-                                             const KURL& sourceURL,
-                                             const String& plainText,
-                                             bool writeSmartPaste)
-{
-    webKitClient()->clipboard()->writeHTML(
-        htmlText, sourceURL, plainText, writeSmartPaste);
-}
-
-void ChromiumBridge::clipboardWritePlainText(const String& plainText)
-{
-    webKitClient()->clipboard()->writePlainText(plainText);
-}
-
-void ChromiumBridge::clipboardWriteURL(const KURL& url, const String& title)
-{
-    webKitClient()->clipboard()->writeURL(url, title);
-}
-
-void ChromiumBridge::clipboardWriteImage(NativeImagePtr image,
-                                         const KURL& sourceURL,
-                                         const String& title)
-{
-#if WEBKIT_USING_SKIA
-    WebImage webImage(*image);
-#else
-    WebImage webImage(image);
-#endif
-    webKitClient()->clipboard()->writeImage(webImage, sourceURL, title);
-}
-
-void ChromiumBridge::clipboardWriteData(const String& type,
-                                        const String& data,
-                                        const String& metadata)
-{
-    webKitClient()->clipboard()->writeData(type, data, metadata);
-}
-
-HashSet<String> ChromiumBridge::clipboardReadAvailableTypes(
-    PasteboardPrivate::ClipboardBuffer buffer, bool* containsFilenames)
-{
-    WebVector<WebString> result = webKitClient()->clipboard()->readAvailableTypes(
-        static_cast<WebClipboard::Buffer>(buffer), containsFilenames);
-    HashSet<String> types;
-    for (size_t i = 0; i < result.size(); ++i)
-        types.add(result[i]);
-    return types;
-}
-
-bool ChromiumBridge::clipboardReadData(PasteboardPrivate::ClipboardBuffer buffer,
-                                       const String& type, String& data, String& metadata)
-{
-    WebString resultData;
-    WebString resultMetadata;
-    bool succeeded = webKitClient()->clipboard()->readData(
-        static_cast<WebClipboard::Buffer>(buffer), type, &resultData, &resultMetadata);
-    if (succeeded) {
-        data = resultData;
-        metadata = resultMetadata;
-    }
-    return succeeded;
-}
-
-Vector<String> ChromiumBridge::clipboardReadFilenames(PasteboardPrivate::ClipboardBuffer buffer)
-{
-    WebVector<WebString> result = webKitClient()->clipboard()->readFilenames(
-        static_cast<WebClipboard::Buffer>(buffer));
-    Vector<String> convertedResult;
-    for (size_t i = 0; i < result.size(); ++i)
-        convertedResult.append(result[i]);
-    return convertedResult;
-}
-
-// Cookies --------------------------------------------------------------------
-
-void ChromiumBridge::setCookies(const Document* document, const KURL& url,
-                                const String& value)
-{
-    WebCookieJar* cookieJar = getCookieJar(document);
-    if (cookieJar)
-        cookieJar->setCookie(url, document->firstPartyForCookies(), value);
-}
-
-String ChromiumBridge::cookies(const Document* document, const KURL& url)
-{
-    String result;
-    WebCookieJar* cookieJar = getCookieJar(document);
-    if (cookieJar)
-        result = cookieJar->cookies(url, document->firstPartyForCookies());
-    return result;
-}
-
-String ChromiumBridge::cookieRequestHeaderFieldValue(const Document* document,
-                                                     const KURL& url)
-{
-    String result;
-    WebCookieJar* cookieJar = getCookieJar(document);
-    if (cookieJar)
-        result = cookieJar->cookieRequestHeaderFieldValue(url, document->firstPartyForCookies());
-    return result;
-}
-
-bool ChromiumBridge::rawCookies(const Document* document, const KURL& url, Vector<Cookie>& rawCookies)
-{
-    rawCookies.clear();
-    WebVector<WebCookie> webCookies;
-
-    WebCookieJar* cookieJar = getCookieJar(document);
-    if (cookieJar)
-        cookieJar->rawCookies(url, document->firstPartyForCookies(), webCookies);
-
-    for (unsigned i = 0; i < webCookies.size(); ++i) {
-        const WebCookie& webCookie = webCookies[i];
-        Cookie cookie(webCookie.name,
-                      webCookie.value,
-                      webCookie.domain,
-                      webCookie.path,
-                      webCookie.expires,
-                      webCookie.httpOnly,
-                      webCookie.secure,
-                      webCookie.session);
-        rawCookies.append(cookie);
-    }
-    return true;
-}
-
-void ChromiumBridge::deleteCookie(const Document* document, const KURL& url, const String& cookieName)
-{
-    WebCookieJar* cookieJar = getCookieJar(document);
-    if (cookieJar)
-        cookieJar->deleteCookie(url, cookieName);
-}
-
-bool ChromiumBridge::cookiesEnabled(const Document* document)
-{
-    bool result = false;
-    WebCookieJar* cookieJar = getCookieJar(document);
-    if (cookieJar)
-        result = cookieJar->cookiesEnabled(document->cookieURL(), document->firstPartyForCookies());
-    return result;
-}
-
-// DNS ------------------------------------------------------------------------
-
-void ChromiumBridge::prefetchDNS(const String& hostname)
-{
-    webKitClient()->prefetchHostName(hostname);
-}
-
-// File ------------------------------------------------------------------------
-
-bool ChromiumBridge::fileExists(const String& path)
-{
-    return webKitClient()->fileUtilities()->fileExists(path);
-}
-
-bool ChromiumBridge::deleteFile(const String& path)
-{
-    return webKitClient()->fileUtilities()->deleteFile(path);
-}
-
-bool ChromiumBridge::deleteEmptyDirectory(const String& path)
-{
-    return webKitClient()->fileUtilities()->deleteEmptyDirectory(path);
-}
-
-bool ChromiumBridge::getFileSize(const String& path, long long& result)
-{
-    return webKitClient()->fileUtilities()->getFileSize(path, result);
-}
-
-void ChromiumBridge::revealFolderInOS(const String& path)
-{
-    webKitClient()->fileUtilities()->revealFolderInOS(path);
-}
-
-bool ChromiumBridge::getFileModificationTime(const String& path, time_t& result)
-{
-    double modificationTime;
-    if (!webKitClient()->fileUtilities()->getFileModificationTime(path, modificationTime))
-        return false;
-    result = static_cast<time_t>(modificationTime);
-    return true;
-}
-
-String ChromiumBridge::directoryName(const String& path)
-{
-    return webKitClient()->fileUtilities()->directoryName(path);
-}
-
-String ChromiumBridge::pathByAppendingComponent(const String& path, const String& component)
-{
-    return webKitClient()->fileUtilities()->pathByAppendingComponent(path, component);
-}
-
-bool ChromiumBridge::makeAllDirectories(const String& path)
-{
-    return webKitClient()->fileUtilities()->makeAllDirectories(path);
-}
-
-String ChromiumBridge::getAbsolutePath(const String& path)
-{
-    return webKitClient()->fileUtilities()->getAbsolutePath(path);
-}
-
-bool ChromiumBridge::isDirectory(const String& path)
-{
-    return webKitClient()->fileUtilities()->isDirectory(path);
-}
-
-KURL ChromiumBridge::filePathToURL(const String& path)
-{
-    return webKitClient()->fileUtilities()->filePathToURL(path);
-}
-
-PlatformFileHandle ChromiumBridge::openFile(const String& path, FileOpenMode mode)
-{
-    return webKitClient()->fileUtilities()->openFile(path, mode);
-}
-
-void ChromiumBridge::closeFile(PlatformFileHandle& handle)
-{
-    webKitClient()->fileUtilities()->closeFile(handle);
-}
-
-long long ChromiumBridge::seekFile(PlatformFileHandle handle, long long offset, FileSeekOrigin origin)
-{
-    return webKitClient()->fileUtilities()->seekFile(handle, offset, origin);
-}
-
-bool ChromiumBridge::truncateFile(PlatformFileHandle handle, long long offset)
-{
-    return webKitClient()->fileUtilities()->truncateFile(handle, offset);
-}
-
-int ChromiumBridge::readFromFile(PlatformFileHandle handle, char* data, int length)
-{
-    return webKitClient()->fileUtilities()->readFromFile(handle, data, length);
-}
-
-int ChromiumBridge::writeToFile(PlatformFileHandle handle, const char* data, int length)
-{
-    return webKitClient()->fileUtilities()->writeToFile(handle, data, length);
-}
-
-// Font -----------------------------------------------------------------------
-
-#if OS(WINDOWS)
-bool ChromiumBridge::ensureFontLoaded(HFONT font)
-{
-    WebSandboxSupport* ss = webKitClient()->sandboxSupport();
-
-    // if there is no sandbox, then we can assume the font
-    // was able to be loaded successfully already
-    return ss ? ss->ensureFontLoaded(font) : true;
-}
-#endif
-
-#if OS(LINUX) || OS(FREEBSD)
-String ChromiumBridge::getFontFamilyForCharacters(const UChar* characters, size_t numCharacters)
-{
-    if (webKitClient()->sandboxSupport())
-        return webKitClient()->sandboxSupport()->getFontFamilyForCharacters(characters, numCharacters);
-
-    WebCString family = WebFontInfo::familyForChars(characters, numCharacters);
-    if (family.data())
-        return WebString::fromUTF8(family.data());
-
-    return WebString();
-}
-
-void ChromiumBridge::getRenderStyleForStrike(const char* font, int sizeAndStyle, FontRenderStyle* result)
-{
-    WebFontRenderStyle style;
-
-    if (webKitClient()->sandboxSupport())
-        webKitClient()->sandboxSupport()->getRenderStyleForStrike(font, sizeAndStyle, &style);
-    else
-        WebFontInfo::renderStyleForStrike(font, sizeAndStyle, &style);
-
-    style.toFontRenderStyle(result);
-}
-#endif
-
-#if OS(DARWIN)
-bool ChromiumBridge::loadFont(NSFont* srcFont, ATSFontContainerRef* out)
-{
-    WebSandboxSupport* ss = webKitClient()->sandboxSupport();
-    if (ss)
-        return ss->loadFont(srcFont, out);
-
-    // This function should only be called in response to an error loading a
-    // font due to being blocked by the sandbox.
-    // This by definition shouldn't happen if there is no sandbox support.
-    ASSERT_NOT_REACHED();
-    *out = 0;
-    return false;
-}
-#endif
-
-// Databases ------------------------------------------------------------------
-
-PlatformFileHandle ChromiumBridge::databaseOpenFile(const String& vfsFileName, int desiredFlags)
-{
-    return webKitClient()->databaseOpenFile(WebString(vfsFileName), desiredFlags);
-}
-
-int ChromiumBridge::databaseDeleteFile(const String& vfsFileName, bool syncDir)
-{
-    return webKitClient()->databaseDeleteFile(WebString(vfsFileName), syncDir);
-}
-
-long ChromiumBridge::databaseGetFileAttributes(const String& vfsFileName)
-{
-    return webKitClient()->databaseGetFileAttributes(WebString(vfsFileName));
-}
-
-long long ChromiumBridge::databaseGetFileSize(const String& vfsFileName)
-{
-    return webKitClient()->databaseGetFileSize(WebString(vfsFileName));
-}
-
-// Indexed Database -----------------------------------------------------------
-
-PassRefPtr<IDBFactoryBackendInterface> ChromiumBridge::idbFactory()
-{
-    // There's no reason why we need to allocate a new proxy each time, but
-    // there's also no strong reason not to.
-    return IDBFactoryBackendProxy::create();
-}
-
-void ChromiumBridge::idbShutdown()
-{
-    // In the browser process, this shuts down the utility process. In the renderer process, it does nothing.
-    webKitClient()->idbShutdown();
-}
-
-void ChromiumBridge::createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue> >& values, const String& keyPath, Vector<RefPtr<IDBKey> >& keys)
-{
-    WebVector<WebSerializedScriptValue> webValues = values;
-    WebVector<WebIDBKey> webKeys;
-    webKitClient()->createIDBKeysFromSerializedValuesAndKeyPath(webValues, WebString(keyPath), webKeys);
-
-    size_t webKeysSize = webKeys.size();
-    keys.reserveCapacity(webKeysSize);
-    for (size_t i = 0; i < webKeysSize; ++i)
-        keys.append(PassRefPtr<IDBKey>(webKeys[i]));
-}
-
-// Keygen ---------------------------------------------------------------------
-
-String ChromiumBridge::signedPublicKeyAndChallengeString(
-    unsigned keySizeIndex, const String& challenge, const KURL& url)
-{
-    return webKitClient()->signedPublicKeyAndChallengeString(keySizeIndex,
-                                                             WebString(challenge),
-                                                             WebURL(url));
-}
-
-// Language -------------------------------------------------------------------
-
-String ChromiumBridge::computedDefaultLanguage()
-{
-    return webKitClient()->defaultLocale();
-}
-
-// LayoutTestMode -------------------------------------------------------------
-
-bool ChromiumBridge::layoutTestMode()
-{
-    return WebKit::layoutTestMode();
-}
-
-// MimeType -------------------------------------------------------------------
-
-bool ChromiumBridge::isSupportedImageMIMEType(const String& mimeType)
-{
-    return webKitClient()->mimeRegistry()->supportsImageMIMEType(mimeType)
-        != WebMimeRegistry::IsNotSupported;
-}
-
-bool ChromiumBridge::isSupportedJavaScriptMIMEType(const String& mimeType)
-{
-    return webKitClient()->mimeRegistry()->supportsJavaScriptMIMEType(mimeType)
-        != WebMimeRegistry::IsNotSupported;
-}
-
-bool ChromiumBridge::isSupportedNonImageMIMEType(const String& mimeType)
-{
-    return webKitClient()->mimeRegistry()->supportsNonImageMIMEType(mimeType)
-        != WebMimeRegistry::IsNotSupported;
-}
-
-String ChromiumBridge::mimeTypeForExtension(const String& extension)
-{
-    return webKitClient()->mimeRegistry()->mimeTypeForExtension(extension);
-}
-
-String ChromiumBridge::mimeTypeFromFile(const String& path)
-{
-    return webKitClient()->mimeRegistry()->mimeTypeFromFile(path);
-}
-
-String ChromiumBridge::preferredExtensionForMIMEType(const String& mimeType)
-{
-    return webKitClient()->mimeRegistry()->preferredExtensionForMIMEType(mimeType);
-}
-
-// Plugin ---------------------------------------------------------------------
-
-bool ChromiumBridge::plugins(bool refresh, Vector<PluginInfo>* results)
-{
-    WebPluginListBuilderImpl builder(results);
-    webKitClient()->getPluginList(refresh, &builder);
-    return true;  // FIXME: There is no need for this function to return a value.
-}
-
-NPObject* ChromiumBridge::pluginScriptableObject(Widget* widget)
-{
-    if (!widget || !widget->isPluginContainer())
-        return 0;
-
-    return static_cast<WebPluginContainerImpl*>(widget)->scriptableObject();
-}
-
-// Resources ------------------------------------------------------------------
-
-PassRefPtr<Image> ChromiumBridge::loadPlatformImageResource(const char* name)
-{
-    const WebData& resource = webKitClient()->loadResource(name);
-    if (resource.isEmpty())
-        return Image::nullImage();
-
-    RefPtr<Image> image = BitmapImage::create();
-    image->setData(resource, true);
-    return image;
-}
-
-#if ENABLE(WEB_AUDIO)
-
-PassOwnPtr<AudioBus> ChromiumBridge::loadPlatformAudioResource(const char* name, double sampleRate)
-{
-    const WebData& resource = webKitClient()->loadResource(name);
-    if (resource.isEmpty())
-        return 0;
-    
-    return decodeAudioFileData(resource.data(), resource.size(), sampleRate);
-}
-
-PassOwnPtr<AudioBus> ChromiumBridge::decodeAudioFileData(const char* data, size_t size, double sampleRate)
-{
-    WebAudioBus webAudioBus;
-    if (webKitClient()->loadAudioResource(&webAudioBus, data, size, sampleRate))
-        return webAudioBus.release();
-    return 0;
-}
-
-#endif // ENABLE(WEB_AUDIO)
-
-// Sandbox --------------------------------------------------------------------
-
-bool ChromiumBridge::sandboxEnabled()
-{
-    return webKitClient()->sandboxEnabled();
-}
-
-// SharedTimers ---------------------------------------------------------------
-
-void ChromiumBridge::setSharedTimerFiredFunction(void (*func)())
-{
-    webKitClient()->setSharedTimerFiredFunction(func);
-}
-
-void ChromiumBridge::setSharedTimerFireTime(double fireTime)
-{
-    webKitClient()->setSharedTimerFireTime(fireTime);
-}
-
-void ChromiumBridge::stopSharedTimer()
-{
-    webKitClient()->stopSharedTimer();
-}
-
-// StatsCounters --------------------------------------------------------------
-
-void ChromiumBridge::decrementStatsCounter(const char* name)
-{
-    webKitClient()->decrementStatsCounter(name);
-}
-
-void ChromiumBridge::incrementStatsCounter(const char* name)
-{
-    webKitClient()->incrementStatsCounter(name);
-}
-
-void ChromiumBridge::histogramCustomCounts(const char* name, int sample, int min, int max, int bucketCount)
-{
-    webKitClient()->histogramCustomCounts(name, sample, min, max, bucketCount);
-}
-
-void ChromiumBridge::histogramEnumeration(const char* name, int sample, int boundaryValue)
-{
-    webKitClient()->histogramEnumeration(name, sample, boundaryValue);
-}
-
-// Sudden Termination ---------------------------------------------------------
-
-void ChromiumBridge::suddenTerminationChanged(bool enabled)
-{
-    webKitClient()->suddenTerminationChanged(enabled);
-}
-
-// SystemTime -----------------------------------------------------------------
-
-double ChromiumBridge::currentTime()
-{
-    return webKitClient()->currentTime();
-}
-
-// Theming --------------------------------------------------------------------
-
-#if OS(WINDOWS)
-
-void ChromiumBridge::paintButton(
-    GraphicsContext* gc, int part, int state, int classicState,
-    const IntRect& rect)
-{
-    webKitClient()->themeEngine()->paintButton(
-        gc->platformContext()->canvas(), part, state, classicState, rect);
-}
-
-void ChromiumBridge::paintMenuList(
-    GraphicsContext* gc, int part, int state, int classicState,
-    const IntRect& rect)
-{
-    webKitClient()->themeEngine()->paintMenuList(
-        gc->platformContext()->canvas(), part, state, classicState, rect);
-}
-
-void ChromiumBridge::paintScrollbarArrow(
-    GraphicsContext* gc, int state, int classicState,
-    const IntRect& rect)
-{
-    webKitClient()->themeEngine()->paintScrollbarArrow(
-        gc->platformContext()->canvas(), state, classicState, rect);
-}
-
-void ChromiumBridge::paintScrollbarThumb(
-    GraphicsContext* gc, int part, int state, int classicState,
-    const IntRect& rect)
-{
-    webKitClient()->themeEngine()->paintScrollbarThumb(
-        gc->platformContext()->canvas(), part, state, classicState, rect);
-}
-
-void ChromiumBridge::paintScrollbarTrack(
-    GraphicsContext* gc, int part, int state, int classicState,
-    const IntRect& rect, const IntRect& alignRect)
-{
-    webKitClient()->themeEngine()->paintScrollbarTrack(
-        gc->platformContext()->canvas(), part, state, classicState, rect,
-        alignRect);
-}
-
-void ChromiumBridge::paintSpinButton(
-    GraphicsContext* gc, int part, int state, int classicState,
-    const IntRect& rect)
-{
-    webKitClient()->themeEngine()->paintSpinButton(
-        gc->platformContext()->canvas(), part, state, classicState, rect);
-}
-
-void ChromiumBridge::paintTextField(
-    GraphicsContext* gc, int part, int state, int classicState,
-    const IntRect& rect, const Color& color, bool fillContentArea,
-    bool drawEdges)
-{
-    // Fallback to white when |color| is invalid.
-    RGBA32 backgroundColor = color.isValid() ? color.rgb() : Color::white;
-
-    webKitClient()->themeEngine()->paintTextField(
-        gc->platformContext()->canvas(), part, state, classicState, rect,
-        backgroundColor, fillContentArea, drawEdges);
-}
-
-void ChromiumBridge::paintTrackbar(
-    GraphicsContext* gc, int part, int state, int classicState,
-    const IntRect& rect)
-{
-    webKitClient()->themeEngine()->paintTrackbar(
-        gc->platformContext()->canvas(), part, state, classicState, rect);
-}
-
-void ChromiumBridge::paintProgressBar(
-    GraphicsContext* gc, const IntRect& barRect, const IntRect& valueRect, bool determinate, double animatedSeconds)
-{
-    webKitClient()->themeEngine()->paintProgressBar(
-        gc->platformContext()->canvas(), barRect, valueRect, determinate, animatedSeconds);
-}
-
-#elif OS(LINUX)
-
-static WebThemeEngine::Part WebThemePart(ChromiumBridge::ThemePart part)
-{
-    switch (part) {
-    case ChromiumBridge::PartScrollbarDownArrow: return WebThemeEngine::PartScrollbarDownArrow;
-    case ChromiumBridge::PartScrollbarLeftArrow: return WebThemeEngine::PartScrollbarLeftArrow;
-    case ChromiumBridge::PartScrollbarRightArrow: return WebThemeEngine::PartScrollbarRightArrow;
-    case ChromiumBridge::PartScrollbarUpArrow: return WebThemeEngine::PartScrollbarUpArrow;
-    case ChromiumBridge::PartScrollbarHorizontalThumb: return WebThemeEngine::PartScrollbarHorizontalThumb;
-    case ChromiumBridge::PartScrollbarVerticalThumb: return WebThemeEngine::PartScrollbarVerticalThumb;
-    case ChromiumBridge::PartScrollbarHorizontalTrack: return WebThemeEngine::PartScrollbarHorizontalTrack;
-    case ChromiumBridge::PartScrollbarVerticalTrack: return WebThemeEngine::PartScrollbarVerticalTrack;
-    }
-    ASSERT_NOT_REACHED();
-    return WebThemeEngine::PartScrollbarDownArrow;
-}
-
-static WebThemeEngine::State WebThemeState(ChromiumBridge::ThemePaintState state)
-{
-    switch (state) {
-    case ChromiumBridge::StateDisabled: return WebThemeEngine::StateDisabled;
-    case ChromiumBridge::StateHover: return WebThemeEngine::StateHover;
-    case ChromiumBridge::StateNormal: return WebThemeEngine::StateNormal;
-    case ChromiumBridge::StatePressed: return WebThemeEngine::StatePressed;
-    }
-    ASSERT_NOT_REACHED();
-    return WebThemeEngine::StateDisabled;
-}
-
-static void GetWebThemeExtraParams(ChromiumBridge::ThemePart part, ChromiumBridge::ThemePaintState state, const ChromiumBridge::ThemePaintExtraParams* extraParams, WebThemeEngine::ExtraParams* webThemeExtraParams)
-{
-    if (part == ChromiumBridge::PartScrollbarHorizontalTrack || part == ChromiumBridge::PartScrollbarVerticalTrack) {
-        webThemeExtraParams->scrollbarTrack.trackX = extraParams->scrollbarTrack.trackX;
-        webThemeExtraParams->scrollbarTrack.trackY = extraParams->scrollbarTrack.trackY;
-        webThemeExtraParams->scrollbarTrack.trackWidth = extraParams->scrollbarTrack.trackWidth;
-        webThemeExtraParams->scrollbarTrack.trackHeight = extraParams->scrollbarTrack.trackHeight;
-    }
-}
-
-IntSize ChromiumBridge::getThemePartSize(ThemePart part)
-{
-     return webKitClient()->themeEngine()->getSize(WebThemePart(part));
-}
-
-void ChromiumBridge::paintThemePart(
-    GraphicsContext* gc, ThemePart part, ThemePaintState state, const IntRect& rect, const ThemePaintExtraParams* extraParams)
-{
-    WebThemeEngine::ExtraParams webThemeExtraParams;
-    GetWebThemeExtraParams(part, state, extraParams, &webThemeExtraParams);
-    webKitClient()->themeEngine()->paint(
-        gc->platformContext()->canvas(), WebThemePart(part), WebThemeState(state), rect, &webThemeExtraParams);
-}
-
-#elif OS(DARWIN)
-
-void ChromiumBridge::paintScrollbarThumb(
-    GraphicsContext* gc, ThemePaintState state, ThemePaintSize size, const IntRect& rect, const ThemePaintScrollbarInfo& scrollbarInfo)
-{
-    WebThemeEngine::ScrollbarInfo webThemeScrollbarInfo;
-
-    webThemeScrollbarInfo.orientation = static_cast<WebThemeEngine::ScrollbarOrientation>(scrollbarInfo.orientation);
-    webThemeScrollbarInfo.parent = static_cast<WebThemeEngine::ScrollbarParent>(scrollbarInfo.parent);
-    webThemeScrollbarInfo.maxValue = scrollbarInfo.maxValue;
-    webThemeScrollbarInfo.currentValue = scrollbarInfo.currentValue;
-    webThemeScrollbarInfo.visibleSize = scrollbarInfo.visibleSize;
-    webThemeScrollbarInfo.totalSize = scrollbarInfo.totalSize;
-
-    webKitClient()->themeEngine()->paintScrollbarThumb(
-        gc->platformContext(),
-        static_cast<WebThemeEngine::State>(state),
-        static_cast<WebThemeEngine::Size>(size),
-        rect,
-        webThemeScrollbarInfo);
-}
-
-#endif
-
-// Trace Event ----------------------------------------------------------------
-
-void ChromiumBridge::traceEventBegin(const char* name, void* id, const char* extra)
-{
-    webKitClient()->traceEventBegin(name, id, extra);
-}
-
-void ChromiumBridge::traceEventEnd(const char* name, void* id, const char* extra)
-{
-    webKitClient()->traceEventEnd(name, id, extra);
-}
-
-// Visited Links --------------------------------------------------------------
-
-LinkHash ChromiumBridge::visitedLinkHash(const UChar* url, unsigned length)
-{
-    url_canon::RawCanonOutput<2048> buffer;
-    url_parse::Parsed parsed;
-    if (!url_util::Canonicalize(url, length, 0, &buffer, &parsed))
-        return 0;  // Invalid URLs are unvisited.
-    return webKitClient()->visitedLinkHash(buffer.data(), buffer.length());
-}
-
-LinkHash ChromiumBridge::visitedLinkHash(const KURL& base,
-                                         const AtomicString& attributeURL)
-{
-    // Resolve the relative URL using googleurl and pass the absolute URL up to
-    // the embedder. We could create a GURL object from the base and resolve
-    // the relative URL that way, but calling the lower-level functions
-    // directly saves us the string allocation in most cases.
-    url_canon::RawCanonOutput<2048> buffer;
-    url_parse::Parsed parsed;
-
-#if USE(GOOGLEURL)
-    const CString& cstr = base.utf8String();
-    const char* data = cstr.data();
-    int length = cstr.length();
-    const url_parse::Parsed& srcParsed = base.parsed();
-#else
-    // When we're not using GoogleURL, first canonicalize it so we can resolve it
-    // below.
-    url_canon::RawCanonOutput<2048> srcCanon;
-    url_parse::Parsed srcParsed;
-    String str = base.string();
-    if (!url_util::Canonicalize(str.characters(), str.length(), 0, &srcCanon, &srcParsed))
-        return 0;
-    const char* data = srcCanon.data();
-    int length = srcCanon.length();
-#endif
-
-    if (!url_util::ResolveRelative(data, length, srcParsed, attributeURL.characters(),
-                                   attributeURL.length(), 0, &buffer, &parsed))
-        return 0;  // Invalid resolved URL.
-
-    return webKitClient()->visitedLinkHash(buffer.data(), buffer.length());
-}
-
-bool ChromiumBridge::isLinkVisited(LinkHash visitedLinkHash)
-{
-    return webKitClient()->isLinkVisited(visitedLinkHash);
-}
-
-// These are temporary methods that the WebKit layer can use to call to the
-// Glue layer. Once the Glue layer moves entirely into the WebKit layer, these
-// methods will be deleted.
-
-void ChromiumBridge::notifyJSOutOfMemory(Frame* frame)
-{
-    if (!frame)
-        return;
-
-    WebFrameImpl* webFrame = WebFrameImpl::fromFrame(frame);
-    if (!webFrame->client())
-        return;
-    webFrame->client()->didExhaustMemoryAvailableForScript(webFrame);
-}
-
-int ChromiumBridge::memoryUsageMB()
-{
-    return static_cast<int>(webKitClient()->memoryUsageMB());
-}
-
-int ChromiumBridge::actualMemoryUsageMB()
-{
-    return static_cast<int>(webKitClient()->actualMemoryUsageMB());
-}
-
-int ChromiumBridge::screenDepth(Widget* widget)
-{
-    WebWidgetClient* client = toWebWidgetClient(widget);
-    if (!client)
-        return 0;
-    return client->screenInfo().depth;
-}
-
-int ChromiumBridge::screenDepthPerComponent(Widget* widget)
-{
-    WebWidgetClient* client = toWebWidgetClient(widget);
-    if (!client)
-        return 0;
-    return client->screenInfo().depthPerComponent;
-}
-
-bool ChromiumBridge::screenIsMonochrome(Widget* widget)
-{
-    WebWidgetClient* client = toWebWidgetClient(widget);
-    if (!client)
-        return 0;
-    return client->screenInfo().isMonochrome;
-}
-
-IntRect ChromiumBridge::screenRect(Widget* widget)
-{
-    WebWidgetClient* client = toWebWidgetClient(widget);
-    if (!client)
-        return IntRect();
-    return client->screenInfo().rect;
-}
-
-IntRect ChromiumBridge::screenAvailableRect(Widget* widget)
-{
-    WebWidgetClient* client = toWebWidgetClient(widget);
-    if (!client)
-        return IntRect();
-    return client->screenInfo().availableRect;
-}
-
-bool ChromiumBridge::popupsAllowed(NPP npp)
-{
-    // FIXME: Give the embedder a way to control this.
-    return false;
-}
-
-WorkerContextProxy* WorkerContextProxy::create(Worker* worker)
-{
-    return WebWorkerClientImpl::createWorkerContextProxy(worker);
-}
-
-} // namespace WebCore
diff --git a/Source/WebKit/chromium/src/PlatformBridge.cpp b/Source/WebKit/chromium/src/PlatformBridge.cpp
new file mode 100644
index 0000000..041d4a0
--- /dev/null
+++ b/Source/WebKit/chromium/src/PlatformBridge.cpp
@@ -0,0 +1,997 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "PlatformBridge.h"
+
+#include <googleurl/src/url_util.h>
+
+#include "Chrome.h"
+#include "ChromeClientImpl.h"
+#include "WebAudioBus.h"
+#include "WebClipboard.h"
+#include "WebCookie.h"
+#include "WebCookieJar.h"
+#include "WebData.h"
+#include "WebDragData.h"
+#include "WebFileUtilities.h"
+#include "WebFrameClient.h"
+#include "WebFrameImpl.h"
+#include "WebIDBKey.h"
+#include "WebImage.h"
+#include "WebKit.h"
+#include "WebKitClient.h"
+#include "WebMimeRegistry.h"
+#include "WebPluginContainerImpl.h"
+#include "WebPluginListBuilderImpl.h"
+#include "WebSandboxSupport.h"
+#include "WebSerializedScriptValue.h"
+#include "WebScreenInfo.h"
+#include "WebString.h"
+#include "WebURL.h"
+#include "WebVector.h"
+#include "WebViewClient.h"
+#include "WebViewImpl.h"
+#include "WebWorkerClientImpl.h"
+
+#if PLATFORM(CG)
+#include <CoreGraphics/CGContext.h>
+#endif
+
+#if OS(WINDOWS)
+#include "WebRect.h"
+#include "win/WebThemeEngine.h"
+#endif
+
+#if OS(LINUX) || OS(FREEBSD)
+#include "linux/WebThemeEngine.h"
+#include "WebFontInfo.h"
+#include "WebFontRenderStyle.h"
+#endif
+
+#if OS(DARWIN)
+#include "mac/WebThemeEngine.h"
+#endif
+
+#if WEBKIT_USING_SKIA
+#include "NativeImageSkia.h"
+#endif
+
+#include "BitmapImage.h"
+#include "Cookie.h"
+#include "FrameView.h"
+#include "GraphicsContext.h"
+#include "IDBFactoryBackendProxy.h"
+#include "KURL.h"
+#include "NotImplemented.h"
+#include "PlatformContextSkia.h"
+#include "PluginData.h"
+#include "SharedBuffer.h"
+
+#include "Worker.h"
+#include "WorkerContextProxy.h"
+#include <wtf/Assertions.h>
+
+// We are part of the WebKit implementation.
+using namespace WebKit;
+
+namespace WebCore {
+
+static ChromeClientImpl* toChromeClientImpl(Widget* widget)
+{
+    if (!widget)
+        return 0;
+
+    FrameView* view;
+    if (widget->isFrameView())
+        view = static_cast<FrameView*>(widget);
+    else if (widget->parent() && widget->parent()->isFrameView())
+        view = static_cast<FrameView*>(widget->parent());
+    else
+        return 0;
+
+    Page* page = view->frame() ? view->frame()->page() : 0;
+    if (!page)
+        return 0;
+
+    return static_cast<ChromeClientImpl*>(page->chrome()->client());
+}
+
+static WebWidgetClient* toWebWidgetClient(Widget* widget)
+{
+    ChromeClientImpl* chromeClientImpl = toChromeClientImpl(widget);
+    if (!chromeClientImpl || !chromeClientImpl->webView())
+        return 0;
+    return chromeClientImpl->webView()->client();
+}
+
+static WebCookieJar* getCookieJar(const Document* document)
+{
+    WebFrameImpl* frameImpl = WebFrameImpl::fromFrame(document->frame());
+    if (!frameImpl || !frameImpl->client())
+        return 0;
+    WebCookieJar* cookieJar = frameImpl->client()->cookieJar(frameImpl);
+    if (!cookieJar)
+        cookieJar = webKitClient()->cookieJar();
+    return cookieJar;
+}
+
+// Cache ----------------------------------------------------------------------
+
+void PlatformBridge::cacheMetadata(const KURL& url, double responseTime, const Vector<char>& data)
+{
+    webKitClient()->cacheMetadata(url, responseTime, data.data(), data.size());
+}
+
+// Clipboard ------------------------------------------------------------------
+
+bool PlatformBridge::clipboardIsFormatAvailable(
+    PasteboardPrivate::ClipboardFormat format,
+    PasteboardPrivate::ClipboardBuffer buffer)
+{
+    return webKitClient()->clipboard()->isFormatAvailable(
+        static_cast<WebClipboard::Format>(format),
+        static_cast<WebClipboard::Buffer>(buffer));
+}
+
+String PlatformBridge::clipboardReadPlainText(
+    PasteboardPrivate::ClipboardBuffer buffer)
+{
+    return webKitClient()->clipboard()->readPlainText(
+        static_cast<WebClipboard::Buffer>(buffer));
+}
+
+void PlatformBridge::clipboardReadHTML(
+    PasteboardPrivate::ClipboardBuffer buffer,
+    String* htmlText, KURL* sourceURL)
+{
+    WebURL url;
+    *htmlText = webKitClient()->clipboard()->readHTML(
+        static_cast<WebClipboard::Buffer>(buffer), &url);
+    *sourceURL = url;
+}
+
+void PlatformBridge::clipboardWriteSelection(const String& htmlText,
+                                             const KURL& sourceURL,
+                                             const String& plainText,
+                                             bool writeSmartPaste)
+{
+    webKitClient()->clipboard()->writeHTML(
+        htmlText, sourceURL, plainText, writeSmartPaste);
+}
+
+void PlatformBridge::clipboardWritePlainText(const String& plainText)
+{
+    webKitClient()->clipboard()->writePlainText(plainText);
+}
+
+void PlatformBridge::clipboardWriteURL(const KURL& url, const String& title)
+{
+    webKitClient()->clipboard()->writeURL(url, title);
+}
+
+void PlatformBridge::clipboardWriteImage(NativeImagePtr image,
+                                         const KURL& sourceURL,
+                                         const String& title)
+{
+#if WEBKIT_USING_SKIA
+    WebImage webImage(*image);
+#else
+    WebImage webImage(image);
+#endif
+    webKitClient()->clipboard()->writeImage(webImage, sourceURL, title);
+}
+
+void PlatformBridge::clipboardWriteData(const String& type,
+                                        const String& data,
+                                        const String& metadata)
+{
+    webKitClient()->clipboard()->writeData(type, data, metadata);
+}
+
+HashSet<String> PlatformBridge::clipboardReadAvailableTypes(
+    PasteboardPrivate::ClipboardBuffer buffer, bool* containsFilenames)
+{
+    WebVector<WebString> result = webKitClient()->clipboard()->readAvailableTypes(
+        static_cast<WebClipboard::Buffer>(buffer), containsFilenames);
+    HashSet<String> types;
+    for (size_t i = 0; i < result.size(); ++i)
+        types.add(result[i]);
+    return types;
+}
+
+bool PlatformBridge::clipboardReadData(PasteboardPrivate::ClipboardBuffer buffer,
+                                       const String& type, String& data, String& metadata)
+{
+    WebString resultData;
+    WebString resultMetadata;
+    bool succeeded = webKitClient()->clipboard()->readData(
+        static_cast<WebClipboard::Buffer>(buffer), type, &resultData, &resultMetadata);
+    if (succeeded) {
+        data = resultData;
+        metadata = resultMetadata;
+    }
+    return succeeded;
+}
+
+Vector<String> PlatformBridge::clipboardReadFilenames(PasteboardPrivate::ClipboardBuffer buffer)
+{
+    WebVector<WebString> result = webKitClient()->clipboard()->readFilenames(
+        static_cast<WebClipboard::Buffer>(buffer));
+    Vector<String> convertedResult;
+    for (size_t i = 0; i < result.size(); ++i)
+        convertedResult.append(result[i]);
+    return convertedResult;
+}
+
+// Cookies --------------------------------------------------------------------
+
+void PlatformBridge::setCookies(const Document* document, const KURL& url,
+                                const String& value)
+{
+    WebCookieJar* cookieJar = getCookieJar(document);
+    if (cookieJar)
+        cookieJar->setCookie(url, document->firstPartyForCookies(), value);
+}
+
+String PlatformBridge::cookies(const Document* document, const KURL& url)
+{
+    String result;
+    WebCookieJar* cookieJar = getCookieJar(document);
+    if (cookieJar)
+        result = cookieJar->cookies(url, document->firstPartyForCookies());
+    return result;
+}
+
+String PlatformBridge::cookieRequestHeaderFieldValue(const Document* document,
+                                                     const KURL& url)
+{
+    String result;
+    WebCookieJar* cookieJar = getCookieJar(document);
+    if (cookieJar)
+        result = cookieJar->cookieRequestHeaderFieldValue(url, document->firstPartyForCookies());
+    return result;
+}
+
+bool PlatformBridge::rawCookies(const Document* document, const KURL& url, Vector<Cookie>& rawCookies)
+{
+    rawCookies.clear();
+    WebVector<WebCookie> webCookies;
+
+    WebCookieJar* cookieJar = getCookieJar(document);
+    if (cookieJar)
+        cookieJar->rawCookies(url, document->firstPartyForCookies(), webCookies);
+
+    for (unsigned i = 0; i < webCookies.size(); ++i) {
+        const WebCookie& webCookie = webCookies[i];
+        Cookie cookie(webCookie.name,
+                      webCookie.value,
+                      webCookie.domain,
+                      webCookie.path,
+                      webCookie.expires,
+                      webCookie.httpOnly,
+                      webCookie.secure,
+                      webCookie.session);
+        rawCookies.append(cookie);
+    }
+    return true;
+}
+
+void PlatformBridge::deleteCookie(const Document* document, const KURL& url, const String& cookieName)
+{
+    WebCookieJar* cookieJar = getCookieJar(document);
+    if (cookieJar)
+        cookieJar->deleteCookie(url, cookieName);
+}
+
+bool PlatformBridge::cookiesEnabled(const Document* document)
+{
+    bool result = false;
+    WebCookieJar* cookieJar = getCookieJar(document);
+    if (cookieJar)
+        result = cookieJar->cookiesEnabled(document->cookieURL(), document->firstPartyForCookies());
+    return result;
+}
+
+// DNS ------------------------------------------------------------------------
+
+void PlatformBridge::prefetchDNS(const String& hostname)
+{
+    webKitClient()->prefetchHostName(hostname);
+}
+
+// File ------------------------------------------------------------------------
+
+bool PlatformBridge::fileExists(const String& path)
+{
+    return webKitClient()->fileUtilities()->fileExists(path);
+}
+
+bool PlatformBridge::deleteFile(const String& path)
+{
+    return webKitClient()->fileUtilities()->deleteFile(path);
+}
+
+bool PlatformBridge::deleteEmptyDirectory(const String& path)
+{
+    return webKitClient()->fileUtilities()->deleteEmptyDirectory(path);
+}
+
+bool PlatformBridge::getFileSize(const String& path, long long& result)
+{
+    return webKitClient()->fileUtilities()->getFileSize(path, result);
+}
+
+void PlatformBridge::revealFolderInOS(const String& path)
+{
+    webKitClient()->fileUtilities()->revealFolderInOS(path);
+}
+
+bool PlatformBridge::getFileModificationTime(const String& path, time_t& result)
+{
+    double modificationTime;
+    if (!webKitClient()->fileUtilities()->getFileModificationTime(path, modificationTime))
+        return false;
+    result = static_cast<time_t>(modificationTime);
+    return true;
+}
+
+String PlatformBridge::directoryName(const String& path)
+{
+    return webKitClient()->fileUtilities()->directoryName(path);
+}
+
+String PlatformBridge::pathByAppendingComponent(const String& path, const String& component)
+{
+    return webKitClient()->fileUtilities()->pathByAppendingComponent(path, component);
+}
+
+bool PlatformBridge::makeAllDirectories(const String& path)
+{
+    return webKitClient()->fileUtilities()->makeAllDirectories(path);
+}
+
+String PlatformBridge::getAbsolutePath(const String& path)
+{
+    return webKitClient()->fileUtilities()->getAbsolutePath(path);
+}
+
+bool PlatformBridge::isDirectory(const String& path)
+{
+    return webKitClient()->fileUtilities()->isDirectory(path);
+}
+
+KURL PlatformBridge::filePathToURL(const String& path)
+{
+    return webKitClient()->fileUtilities()->filePathToURL(path);
+}
+
+PlatformFileHandle PlatformBridge::openFile(const String& path, FileOpenMode mode)
+{
+    return webKitClient()->fileUtilities()->openFile(path, mode);
+}
+
+void PlatformBridge::closeFile(PlatformFileHandle& handle)
+{
+    webKitClient()->fileUtilities()->closeFile(handle);
+}
+
+long long PlatformBridge::seekFile(PlatformFileHandle handle, long long offset, FileSeekOrigin origin)
+{
+    return webKitClient()->fileUtilities()->seekFile(handle, offset, origin);
+}
+
+bool PlatformBridge::truncateFile(PlatformFileHandle handle, long long offset)
+{
+    return webKitClient()->fileUtilities()->truncateFile(handle, offset);
+}
+
+int PlatformBridge::readFromFile(PlatformFileHandle handle, char* data, int length)
+{
+    return webKitClient()->fileUtilities()->readFromFile(handle, data, length);
+}
+
+int PlatformBridge::writeToFile(PlatformFileHandle handle, const char* data, int length)
+{
+    return webKitClient()->fileUtilities()->writeToFile(handle, data, length);
+}
+
+// Font -----------------------------------------------------------------------
+
+#if OS(WINDOWS)
+bool PlatformBridge::ensureFontLoaded(HFONT font)
+{
+    WebSandboxSupport* ss = webKitClient()->sandboxSupport();
+
+    // if there is no sandbox, then we can assume the font
+    // was able to be loaded successfully already
+    return ss ? ss->ensureFontLoaded(font) : true;
+}
+#endif
+
+#if OS(LINUX) || OS(FREEBSD)
+String PlatformBridge::getFontFamilyForCharacters(const UChar* characters, size_t numCharacters)
+{
+    if (webKitClient()->sandboxSupport())
+        return webKitClient()->sandboxSupport()->getFontFamilyForCharacters(characters, numCharacters);
+
+    WebCString family = WebFontInfo::familyForChars(characters, numCharacters);
+    if (family.data())
+        return WebString::fromUTF8(family.data());
+
+    return WebString();
+}
+
+void PlatformBridge::getRenderStyleForStrike(const char* font, int sizeAndStyle, FontRenderStyle* result)
+{
+    WebFontRenderStyle style;
+
+    if (webKitClient()->sandboxSupport())
+        webKitClient()->sandboxSupport()->getRenderStyleForStrike(font, sizeAndStyle, &style);
+    else
+        WebFontInfo::renderStyleForStrike(font, sizeAndStyle, &style);
+
+    style.toFontRenderStyle(result);
+}
+#endif
+
+#if OS(DARWIN)
+bool PlatformBridge::loadFont(NSFont* srcFont, ATSFontContainerRef* out)
+{
+    WebSandboxSupport* ss = webKitClient()->sandboxSupport();
+    if (ss)
+        return ss->loadFont(srcFont, out);
+
+    // This function should only be called in response to an error loading a
+    // font due to being blocked by the sandbox.
+    // This by definition shouldn't happen if there is no sandbox support.
+    ASSERT_NOT_REACHED();
+    *out = 0;
+    return false;
+}
+#endif
+
+// Databases ------------------------------------------------------------------
+
+PlatformFileHandle PlatformBridge::databaseOpenFile(const String& vfsFileName, int desiredFlags)
+{
+    return webKitClient()->databaseOpenFile(WebString(vfsFileName), desiredFlags);
+}
+
+int PlatformBridge::databaseDeleteFile(const String& vfsFileName, bool syncDir)
+{
+    return webKitClient()->databaseDeleteFile(WebString(vfsFileName), syncDir);
+}
+
+long PlatformBridge::databaseGetFileAttributes(const String& vfsFileName)
+{
+    return webKitClient()->databaseGetFileAttributes(WebString(vfsFileName));
+}
+
+long long PlatformBridge::databaseGetFileSize(const String& vfsFileName)
+{
+    return webKitClient()->databaseGetFileSize(WebString(vfsFileName));
+}
+
+// Indexed Database -----------------------------------------------------------
+
+PassRefPtr<IDBFactoryBackendInterface> PlatformBridge::idbFactory()
+{
+    // There's no reason why we need to allocate a new proxy each time, but
+    // there's also no strong reason not to.
+    return IDBFactoryBackendProxy::create();
+}
+
+void PlatformBridge::idbShutdown()
+{
+    // In the browser process, this shuts down the utility process. In the renderer process, it does nothing.
+    webKitClient()->idbShutdown();
+}
+
+void PlatformBridge::createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue> >& values, const String& keyPath, Vector<RefPtr<IDBKey> >& keys)
+{
+    WebVector<WebSerializedScriptValue> webValues = values;
+    WebVector<WebIDBKey> webKeys;
+    webKitClient()->createIDBKeysFromSerializedValuesAndKeyPath(webValues, WebString(keyPath), webKeys);
+
+    size_t webKeysSize = webKeys.size();
+    keys.reserveCapacity(webKeysSize);
+    for (size_t i = 0; i < webKeysSize; ++i)
+        keys.append(PassRefPtr<IDBKey>(webKeys[i]));
+}
+
+// Keygen ---------------------------------------------------------------------
+
+String PlatformBridge::signedPublicKeyAndChallengeString(
+    unsigned keySizeIndex, const String& challenge, const KURL& url)
+{
+    return webKitClient()->signedPublicKeyAndChallengeString(keySizeIndex,
+                                                             WebString(challenge),
+                                                             WebURL(url));
+}
+
+// Language -------------------------------------------------------------------
+
+String PlatformBridge::computedDefaultLanguage()
+{
+    return webKitClient()->defaultLocale();
+}
+
+// LayoutTestMode -------------------------------------------------------------
+
+bool PlatformBridge::layoutTestMode()
+{
+    return WebKit::layoutTestMode();
+}
+
+// MimeType -------------------------------------------------------------------
+
+bool PlatformBridge::isSupportedImageMIMEType(const String& mimeType)
+{
+    return webKitClient()->mimeRegistry()->supportsImageMIMEType(mimeType)
+        != WebMimeRegistry::IsNotSupported;
+}
+
+bool PlatformBridge::isSupportedJavaScriptMIMEType(const String& mimeType)
+{
+    return webKitClient()->mimeRegistry()->supportsJavaScriptMIMEType(mimeType)
+        != WebMimeRegistry::IsNotSupported;
+}
+
+bool PlatformBridge::isSupportedNonImageMIMEType(const String& mimeType)
+{
+    return webKitClient()->mimeRegistry()->supportsNonImageMIMEType(mimeType)
+        != WebMimeRegistry::IsNotSupported;
+}
+
+String PlatformBridge::mimeTypeForExtension(const String& extension)
+{
+    return webKitClient()->mimeRegistry()->mimeTypeForExtension(extension);
+}
+
+String PlatformBridge::mimeTypeFromFile(const String& path)
+{
+    return webKitClient()->mimeRegistry()->mimeTypeFromFile(path);
+}
+
+String PlatformBridge::preferredExtensionForMIMEType(const String& mimeType)
+{
+    return webKitClient()->mimeRegistry()->preferredExtensionForMIMEType(mimeType);
+}
+
+// Plugin ---------------------------------------------------------------------
+
+bool PlatformBridge::plugins(bool refresh, Vector<PluginInfo>* results)
+{
+    WebPluginListBuilderImpl builder(results);
+    webKitClient()->getPluginList(refresh, &builder);
+    return true;  // FIXME: There is no need for this function to return a value.
+}
+
+NPObject* PlatformBridge::pluginScriptableObject(Widget* widget)
+{
+    if (!widget || !widget->isPluginContainer())
+        return 0;
+
+    return static_cast<WebPluginContainerImpl*>(widget)->scriptableObject();
+}
+
+// Resources ------------------------------------------------------------------
+
+PassRefPtr<Image> PlatformBridge::loadPlatformImageResource(const char* name)
+{
+    const WebData& resource = webKitClient()->loadResource(name);
+    if (resource.isEmpty())
+        return Image::nullImage();
+
+    RefPtr<Image> image = BitmapImage::create();
+    image->setData(resource, true);
+    return image;
+}
+
+#if ENABLE(WEB_AUDIO)
+
+PassOwnPtr<AudioBus> PlatformBridge::loadPlatformAudioResource(const char* name, double sampleRate)
+{
+    const WebData& resource = webKitClient()->loadResource(name);
+    if (resource.isEmpty())
+        return 0;
+    
+    return decodeAudioFileData(resource.data(), resource.size(), sampleRate);
+}
+
+PassOwnPtr<AudioBus> PlatformBridge::decodeAudioFileData(const char* data, size_t size, double sampleRate)
+{
+    WebAudioBus webAudioBus;
+    if (webKitClient()->loadAudioResource(&webAudioBus, data, size, sampleRate))
+        return webAudioBus.release();
+    return 0;
+}
+
+#endif // ENABLE(WEB_AUDIO)
+
+// Sandbox --------------------------------------------------------------------
+
+bool PlatformBridge::sandboxEnabled()
+{
+    return webKitClient()->sandboxEnabled();
+}
+
+// SharedTimers ---------------------------------------------------------------
+
+void PlatformBridge::setSharedTimerFiredFunction(void (*func)())
+{
+    webKitClient()->setSharedTimerFiredFunction(func);
+}
+
+void PlatformBridge::setSharedTimerFireTime(double fireTime)
+{
+    webKitClient()->setSharedTimerFireTime(fireTime);
+}
+
+void PlatformBridge::stopSharedTimer()
+{
+    webKitClient()->stopSharedTimer();
+}
+
+// StatsCounters --------------------------------------------------------------
+
+void PlatformBridge::decrementStatsCounter(const char* name)
+{
+    webKitClient()->decrementStatsCounter(name);
+}
+
+void PlatformBridge::incrementStatsCounter(const char* name)
+{
+    webKitClient()->incrementStatsCounter(name);
+}
+
+void PlatformBridge::histogramCustomCounts(const char* name, int sample, int min, int max, int bucketCount)
+{
+    webKitClient()->histogramCustomCounts(name, sample, min, max, bucketCount);
+}
+
+void PlatformBridge::histogramEnumeration(const char* name, int sample, int boundaryValue)
+{
+    webKitClient()->histogramEnumeration(name, sample, boundaryValue);
+}
+
+// Sudden Termination ---------------------------------------------------------
+
+void PlatformBridge::suddenTerminationChanged(bool enabled)
+{
+    webKitClient()->suddenTerminationChanged(enabled);
+}
+
+// SystemTime -----------------------------------------------------------------
+
+double PlatformBridge::currentTime()
+{
+    return webKitClient()->currentTime();
+}
+
+// Theming --------------------------------------------------------------------
+
+#if OS(WINDOWS)
+
+void PlatformBridge::paintButton(
+    GraphicsContext* gc, int part, int state, int classicState,
+    const IntRect& rect)
+{
+    webKitClient()->themeEngine()->paintButton(
+        gc->platformContext()->canvas(), part, state, classicState, rect);
+}
+
+void PlatformBridge::paintMenuList(
+    GraphicsContext* gc, int part, int state, int classicState,
+    const IntRect& rect)
+{
+    webKitClient()->themeEngine()->paintMenuList(
+        gc->platformContext()->canvas(), part, state, classicState, rect);
+}
+
+void PlatformBridge::paintScrollbarArrow(
+    GraphicsContext* gc, int state, int classicState,
+    const IntRect& rect)
+{
+    webKitClient()->themeEngine()->paintScrollbarArrow(
+        gc->platformContext()->canvas(), state, classicState, rect);
+}
+
+void PlatformBridge::paintScrollbarThumb(
+    GraphicsContext* gc, int part, int state, int classicState,
+    const IntRect& rect)
+{
+    webKitClient()->themeEngine()->paintScrollbarThumb(
+        gc->platformContext()->canvas(), part, state, classicState, rect);
+}
+
+void PlatformBridge::paintScrollbarTrack(
+    GraphicsContext* gc, int part, int state, int classicState,
+    const IntRect& rect, const IntRect& alignRect)
+{
+    webKitClient()->themeEngine()->paintScrollbarTrack(
+        gc->platformContext()->canvas(), part, state, classicState, rect,
+        alignRect);
+}
+
+void PlatformBridge::paintSpinButton(
+    GraphicsContext* gc, int part, int state, int classicState,
+    const IntRect& rect)
+{
+    webKitClient()->themeEngine()->paintSpinButton(
+        gc->platformContext()->canvas(), part, state, classicState, rect);
+}
+
+void PlatformBridge::paintTextField(
+    GraphicsContext* gc, int part, int state, int classicState,
+    const IntRect& rect, const Color& color, bool fillContentArea,
+    bool drawEdges)
+{
+    // Fallback to white when |color| is invalid.
+    RGBA32 backgroundColor = color.isValid() ? color.rgb() : Color::white;
+
+    webKitClient()->themeEngine()->paintTextField(
+        gc->platformContext()->canvas(), part, state, classicState, rect,
+        backgroundColor, fillContentArea, drawEdges);
+}
+
+void PlatformBridge::paintTrackbar(
+    GraphicsContext* gc, int part, int state, int classicState,
+    const IntRect& rect)
+{
+    webKitClient()->themeEngine()->paintTrackbar(
+        gc->platformContext()->canvas(), part, state, classicState, rect);
+}
+
+void PlatformBridge::paintProgressBar(
+    GraphicsContext* gc, const IntRect& barRect, const IntRect& valueRect, bool determinate, double animatedSeconds)
+{
+    webKitClient()->themeEngine()->paintProgressBar(
+        gc->platformContext()->canvas(), barRect, valueRect, determinate, animatedSeconds);
+}
+
+#elif OS(LINUX)
+
+static WebThemeEngine::Part WebThemePart(PlatformBridge::ThemePart part)
+{
+    switch (part) {
+    case PlatformBridge::PartScrollbarDownArrow: return WebThemeEngine::PartScrollbarDownArrow;
+    case PlatformBridge::PartScrollbarLeftArrow: return WebThemeEngine::PartScrollbarLeftArrow;
+    case PlatformBridge::PartScrollbarRightArrow: return WebThemeEngine::PartScrollbarRightArrow;
+    case PlatformBridge::PartScrollbarUpArrow: return WebThemeEngine::PartScrollbarUpArrow;
+    case PlatformBridge::PartScrollbarHorizontalThumb: return WebThemeEngine::PartScrollbarHorizontalThumb;
+    case PlatformBridge::PartScrollbarVerticalThumb: return WebThemeEngine::PartScrollbarVerticalThumb;
+    case PlatformBridge::PartScrollbarHorizontalTrack: return WebThemeEngine::PartScrollbarHorizontalTrack;
+    case PlatformBridge::PartScrollbarVerticalTrack: return WebThemeEngine::PartScrollbarVerticalTrack;
+    }
+    ASSERT_NOT_REACHED();
+    return WebThemeEngine::PartScrollbarDownArrow;
+}
+
+static WebThemeEngine::State WebThemeState(PlatformBridge::ThemePaintState state)
+{
+    switch (state) {
+    case PlatformBridge::StateDisabled: return WebThemeEngine::StateDisabled;
+    case PlatformBridge::StateHover: return WebThemeEngine::StateHover;
+    case PlatformBridge::StateNormal: return WebThemeEngine::StateNormal;
+    case PlatformBridge::StatePressed: return WebThemeEngine::StatePressed;
+    }
+    ASSERT_NOT_REACHED();
+    return WebThemeEngine::StateDisabled;
+}
+
+static void GetWebThemeExtraParams(PlatformBridge::ThemePart part, PlatformBridge::ThemePaintState state, const PlatformBridge::ThemePaintExtraParams* extraParams, WebThemeEngine::ExtraParams* webThemeExtraParams)
+{
+    if (part == PlatformBridge::PartScrollbarHorizontalTrack || part == PlatformBridge::PartScrollbarVerticalTrack) {
+        webThemeExtraParams->scrollbarTrack.trackX = extraParams->scrollbarTrack.trackX;
+        webThemeExtraParams->scrollbarTrack.trackY = extraParams->scrollbarTrack.trackY;
+        webThemeExtraParams->scrollbarTrack.trackWidth = extraParams->scrollbarTrack.trackWidth;
+        webThemeExtraParams->scrollbarTrack.trackHeight = extraParams->scrollbarTrack.trackHeight;
+    }
+}
+
+IntSize PlatformBridge::getThemePartSize(ThemePart part)
+{
+     return webKitClient()->themeEngine()->getSize(WebThemePart(part));
+}
+
+void PlatformBridge::paintThemePart(
+    GraphicsContext* gc, ThemePart part, ThemePaintState state, const IntRect& rect, const ThemePaintExtraParams* extraParams)
+{
+    WebThemeEngine::ExtraParams webThemeExtraParams;
+    GetWebThemeExtraParams(part, state, extraParams, &webThemeExtraParams);
+    webKitClient()->themeEngine()->paint(
+        gc->platformContext()->canvas(), WebThemePart(part), WebThemeState(state), rect, &webThemeExtraParams);
+}
+
+#elif OS(DARWIN)
+
+void PlatformBridge::paintScrollbarThumb(
+    GraphicsContext* gc, ThemePaintState state, ThemePaintSize size, const IntRect& rect, const ThemePaintScrollbarInfo& scrollbarInfo)
+{
+    WebThemeEngine::ScrollbarInfo webThemeScrollbarInfo;
+
+    webThemeScrollbarInfo.orientation = static_cast<WebThemeEngine::ScrollbarOrientation>(scrollbarInfo.orientation);
+    webThemeScrollbarInfo.parent = static_cast<WebThemeEngine::ScrollbarParent>(scrollbarInfo.parent);
+    webThemeScrollbarInfo.maxValue = scrollbarInfo.maxValue;
+    webThemeScrollbarInfo.currentValue = scrollbarInfo.currentValue;
+    webThemeScrollbarInfo.visibleSize = scrollbarInfo.visibleSize;
+    webThemeScrollbarInfo.totalSize = scrollbarInfo.totalSize;
+
+    webKitClient()->themeEngine()->paintScrollbarThumb(
+        gc->platformContext(),
+        static_cast<WebThemeEngine::State>(state),
+        static_cast<WebThemeEngine::Size>(size),
+        rect,
+        webThemeScrollbarInfo);
+}
+
+#endif
+
+// Trace Event ----------------------------------------------------------------
+
+void PlatformBridge::traceEventBegin(const char* name, void* id, const char* extra)
+{
+    webKitClient()->traceEventBegin(name, id, extra);
+}
+
+void PlatformBridge::traceEventEnd(const char* name, void* id, const char* extra)
+{
+    webKitClient()->traceEventEnd(name, id, extra);
+}
+
+// Visited Links --------------------------------------------------------------
+
+LinkHash PlatformBridge::visitedLinkHash(const UChar* url, unsigned length)
+{
+    url_canon::RawCanonOutput<2048> buffer;
+    url_parse::Parsed parsed;
+    if (!url_util::Canonicalize(url, length, 0, &buffer, &parsed))
+        return 0;  // Invalid URLs are unvisited.
+    return webKitClient()->visitedLinkHash(buffer.data(), buffer.length());
+}
+
+LinkHash PlatformBridge::visitedLinkHash(const KURL& base,
+                                         const AtomicString& attributeURL)
+{
+    // Resolve the relative URL using googleurl and pass the absolute URL up to
+    // the embedder. We could create a GURL object from the base and resolve
+    // the relative URL that way, but calling the lower-level functions
+    // directly saves us the string allocation in most cases.
+    url_canon::RawCanonOutput<2048> buffer;
+    url_parse::Parsed parsed;
+
+#if USE(GOOGLEURL)
+    const CString& cstr = base.utf8String();
+    const char* data = cstr.data();
+    int length = cstr.length();
+    const url_parse::Parsed& srcParsed = base.parsed();
+#else
+    // When we're not using GoogleURL, first canonicalize it so we can resolve it
+    // below.
+    url_canon::RawCanonOutput<2048> srcCanon;
+    url_parse::Parsed srcParsed;
+    String str = base.string();
+    if (!url_util::Canonicalize(str.characters(), str.length(), 0, &srcCanon, &srcParsed))
+        return 0;
+    const char* data = srcCanon.data();
+    int length = srcCanon.length();
+#endif
+
+    if (!url_util::ResolveRelative(data, length, srcParsed, attributeURL.characters(),
+                                   attributeURL.length(), 0, &buffer, &parsed))
+        return 0;  // Invalid resolved URL.
+
+    return webKitClient()->visitedLinkHash(buffer.data(), buffer.length());
+}
+
+bool PlatformBridge::isLinkVisited(LinkHash visitedLinkHash)
+{
+    return webKitClient()->isLinkVisited(visitedLinkHash);
+}
+
+// These are temporary methods that the WebKit layer can use to call to the
+// Glue layer. Once the Glue layer moves entirely into the WebKit layer, these
+// methods will be deleted.
+
+void PlatformBridge::notifyJSOutOfMemory(Frame* frame)
+{
+    if (!frame)
+        return;
+
+    WebFrameImpl* webFrame = WebFrameImpl::fromFrame(frame);
+    if (!webFrame->client())
+        return;
+    webFrame->client()->didExhaustMemoryAvailableForScript(webFrame);
+}
+
+int PlatformBridge::memoryUsageMB()
+{
+    return static_cast<int>(webKitClient()->memoryUsageMB());
+}
+
+int PlatformBridge::actualMemoryUsageMB()
+{
+    return static_cast<int>(webKitClient()->actualMemoryUsageMB());
+}
+
+int PlatformBridge::screenDepth(Widget* widget)
+{
+    WebWidgetClient* client = toWebWidgetClient(widget);
+    if (!client)
+        return 0;
+    return client->screenInfo().depth;
+}
+
+int PlatformBridge::screenDepthPerComponent(Widget* widget)
+{
+    WebWidgetClient* client = toWebWidgetClient(widget);
+    if (!client)
+        return 0;
+    return client->screenInfo().depthPerComponent;
+}
+
+bool PlatformBridge::screenIsMonochrome(Widget* widget)
+{
+    WebWidgetClient* client = toWebWidgetClient(widget);
+    if (!client)
+        return 0;
+    return client->screenInfo().isMonochrome;
+}
+
+IntRect PlatformBridge::screenRect(Widget* widget)
+{
+    WebWidgetClient* client = toWebWidgetClient(widget);
+    if (!client)
+        return IntRect();
+    return client->screenInfo().rect;
+}
+
+IntRect PlatformBridge::screenAvailableRect(Widget* widget)
+{
+    WebWidgetClient* client = toWebWidgetClient(widget);
+    if (!client)
+        return IntRect();
+    return client->screenInfo().availableRect;
+}
+
+bool PlatformBridge::popupsAllowed(NPP npp)
+{
+    // FIXME: Give the embedder a way to control this.
+    return false;
+}
+
+WorkerContextProxy* WorkerContextProxy::create(Worker* worker)
+{
+    return WebWorkerClientImpl::createWorkerContextProxy(worker);
+}
+
+} // namespace WebCore
diff --git a/Source/WebKit/chromium/src/ResourceHandle.cpp b/Source/WebKit/chromium/src/ResourceHandle.cpp
index 83e0017..72f60bb 100644
--- a/Source/WebKit/chromium/src/ResourceHandle.cpp
+++ b/Source/WebKit/chromium/src/ResourceHandle.cpp
@@ -31,7 +31,7 @@
 #include "config.h"
 #include "ResourceHandle.h"
 
-#include "ChromiumBridge.h"
+#include "PlatformBridge.h"
 #include "ResourceHandleClient.h"
 #include "ResourceRequest.h"
 #include "SharedBuffer.h"
@@ -330,7 +330,7 @@ bool ResourceHandle::willLoadFromCache(ResourceRequest& request, Frame*)
 // static
 void ResourceHandle::cacheMetadata(const ResourceResponse& response, const Vector<char>& data)
 {
-    ChromiumBridge::cacheMetadata(response.url(), response.responseTime(), data);
+    PlatformBridge::cacheMetadata(response.url(), response.responseTime(), data);
 }
 
 } // namespace WebCore
diff --git a/Source/WebKit/chromium/src/WebFrameImpl.cpp b/Source/WebKit/chromium/src/WebFrameImpl.cpp
index 4d19053..4af9707 100644
--- a/Source/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/Source/WebKit/chromium/src/WebFrameImpl.cpp
@@ -74,7 +74,6 @@
 #include "AssociatedURLLoader.h"
 #include "BackForwardController.h"
 #include "Chrome.h"
-#include "ChromiumBridge.h"
 #include "ClipboardUtilitiesChromium.h"
 #include "Console.h"
 #include "DOMUtilitiesPrivate.h"
@@ -103,6 +102,7 @@
 #include "InspectorController.h"
 #include "Page.h"
 #include "Performance.h"
+#include "PlatformBridge.h"
 #include "PlatformContextSkia.h"
 #include "PluginDocument.h"
 #include "PrintContext.h"
@@ -1821,13 +1821,13 @@ WebFrameImpl::WebFrameImpl(WebFrameClient* client)
     , m_animationController(this)
     , m_identifier(generateFrameIdentifier())
 {
-    ChromiumBridge::incrementStatsCounter(webFrameActiveCount);
+    PlatformBridge::incrementStatsCounter(webFrameActiveCount);
     frameCount++;
 }
 
 WebFrameImpl::~WebFrameImpl()
 {
-    ChromiumBridge::decrementStatsCounter(webFrameActiveCount);
+    PlatformBridge::decrementStatsCounter(webFrameActiveCount);
     frameCount--;
 
     cancelPendingScopingEffort();
diff --git a/Source/WebKit/chromium/src/WebViewImpl.cpp b/Source/WebKit/chromium/src/WebViewImpl.cpp
index e1756d2..798e5ff 100644
--- a/Source/WebKit/chromium/src/WebViewImpl.cpp
+++ b/Source/WebKit/chromium/src/WebViewImpl.cpp
@@ -34,23 +34,22 @@
 #include "AutoFillPopupMenuClient.h"
 #include "AXObjectCache.h"
 #include "BackForwardListChromium.h"
+#include "CSSStyleSelector.h"
+#include "CSSValueKeywords.h"
 #include "Chrome.h"
-#include "ChromiumBridge.h"
 #include "ColorSpace.h"
 #include "CompositionUnderlineVectorBuilder.h"
 #include "ContextMenu.h"
 #include "ContextMenuController.h"
 #include "ContextMenuItem.h"
-#include "CSSStyleSelector.h"
-#include "CSSValueKeywords.h"
 #include "Cursor.h"
+#include "DOMUtilitiesPrivate.h"
 #include "DeviceOrientationClientProxy.h"
 #include "Document.h"
 #include "DocumentLoader.h"
-#include "DOMUtilitiesPrivate.h"
 #include "DragController.h"
-#include "DragScrollTimer.h"
 #include "DragData.h"
+#include "DragScrollTimer.h"
 #include "Editor.h"
 #include "EventHandler.h"
 #include "Extensions3D.h"
@@ -65,8 +64,8 @@
 #include "GraphicsContext3DInternal.h"
 #include "HTMLInputElement.h"
 #include "HTMLMediaElement.h"
-#include "HitTestResult.h"
 #include "HTMLNames.h"
+#include "HitTestResult.h"
 #include "Image.h"
 #include "ImageBuffer.h"
 #include "InspectorController.h"
@@ -78,6 +77,7 @@
 #include "PageGroup.h"
 #include "PageGroupLoadDeferrer.h"
 #include "Pasteboard.h"
+#include "PlatformBridge.h"
 #include "PlatformContextSkia.h"
 #include "PlatformKeyboardEvent.h"
 #include "PlatformMouseEvent.h"
@@ -98,8 +98,8 @@
 #include "Vector.h"
 #include "WebAccessibilityObject.h"
 #include "WebAutoFillClient.h"
-#include "WebDevToolsAgentPrivate.h"
 #include "WebDevToolsAgentImpl.h"
+#include "WebDevToolsAgentPrivate.h"
 #include "WebDragData.h"
 #include "WebFrameImpl.h"
 #include "WebImage.h"
@@ -2299,7 +2299,7 @@ void WebViewImpl::invalidateRootLayerRect(const IntRect& rect)
 
 void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
 {
-    ChromiumBridge::histogramEnumeration("GPU.setIsAcceleratedCompositingActive", active * 2 + m_isAcceleratedCompositingActive, 4);
+    PlatformBridge::histogramEnumeration("GPU.setIsAcceleratedCompositingActive", active * 2 + m_isAcceleratedCompositingActive, 4);
 
     if (m_isAcceleratedCompositingActive == active)
         return;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list