diff options
Diffstat (limited to 'Source/WebKit')
96 files changed, 2074 insertions, 450 deletions
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog index dc89558..ef70b92 100644 --- a/Source/WebKit/ChangeLog +++ b/Source/WebKit/ChangeLog @@ -1,3 +1,14 @@ +2011-01-20 Zoltan Horvath <zoltan@webkit.org> + + Reviewed by Csaba Osztrogonác. + + Refactoring of the custom allocation framework + https://bugs.webkit.org/show_bug.cgi?id=49897 + + Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589). + The modification replaces Noncopyable and FastAllocBase classes and these inherits with their + equivalent macro implementation at the necessary places. + 2011-01-17 Dan Bernstein <mitz@apple.com> Rubber-stamped by Mark Rowe. diff --git a/Source/WebKit/chromium/ChangeLog b/Source/WebKit/chromium/ChangeLog index a0e0410..e2d81f7 100644 --- a/Source/WebKit/chromium/ChangeLog +++ b/Source/WebKit/chromium/ChangeLog @@ -1,3 +1,792 @@ +2011-01-21 Charlie Reis <creis@chromium.org> + + Reviewed by Darin Fisher. + + Crash in WebCore::HistoryController::itemsAreClones + https://bugs.webkit.org/show_bug.cgi?id=52819 + + Adds sanity checks to help diagnose the crash. + + * src/WebFrameImpl.cpp: + +2011-01-21 Chris Rogers <crogers@google.com> + + Reviewed by Darin Fisher. + + Add run-time enable support for the web audio API + https://bugs.webkit.org/show_bug.cgi?id=52741 + + * public/WebRuntimeFeatures.h: + * public/WebSettings.h: + * src/WebRuntimeFeatures.cpp: + (WebKit::WebRuntimeFeatures::enableWebAudio): + (WebKit::WebRuntimeFeatures::isWebAudioEnabled): + * src/WebSettingsImpl.cpp: + (WebKit::WebSettingsImpl::setWebAudioEnabled): + * src/WebSettingsImpl.h: + +2011-01-21 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed; another Chromium build fix attempt for r76378. + + * src/WebScrollbarImpl.cpp: + (WebKit::WebScrollbar::create): + (WebKit::WebScrollbarImpl::WebScrollbarImpl): + (WebKit::WebScrollbarImpl::setValue): + +2011-01-21 Ryosuke Niwa <rniwa@webkit.org> + + Unreviewed Chromium build fix attempt for r76378. + + * src/WebScrollbarImpl.cpp: + (WebKit::WebScrollbar::create): + (WebKit::WebScrollbarImpl::WebScrollbarImpl): + +2011-01-21 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add chromium bundled audio spatialization resources to WebAudio.grd + https://bugs.webkit.org/show_bug.cgi?id=52651 + + * WebKit.grd: + +2011-01-21 Xiyuan Xia <xiyuan@chromium.org> + + Reviewed by Tony Chang. + + Use WebThemeEngine for relevant RenderTheme parts for chromium/linux. + https://bugs.webkit.org/show_bug.cgi?id=52826 + + * WebKit.gyp: + * src/ChromiumBridge.cpp: + (WebCore::WebThemePart): + (WebCore::GetWebThemeExtraParams): + +2011-01-21 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship" + https://bugs.webkit.org/show_bug.cgi?id=52779 + + Rename ScrollbarClient -> ScrollableArea. + + * src/AutoFillPopupMenuClient.cpp: + (WebKit::AutoFillPopupMenuClient::createScrollbar): + * src/AutoFillPopupMenuClient.h: + * src/WebScrollbarImpl.cpp: + (WebKit::WebScrollbarImpl::WebScrollbarImpl): + (WebKit::WebScrollbarImpl::scroll): + (WebKit::WebScrollbarImpl::onMouseWheel): + (WebKit::WebScrollbarImpl::onKeyDown): + * src/WebScrollbarImpl.h: + * tests/PopupMenuTest.cpp: + (WebKit::TestPopupMenuClient::createScrollbar): + +2011-01-21 Sailesh Agrawal <sail@chromium.org> + + Reviewed by Ryosuke Niwa. + + [chromium] Notify WebFrameClient when spellcheck state changes + https://bugs.webkit.org/show_bug.cgi?id=52680 + + * public/WebFrameClient.h: + (WebKit::WebFrameClient::continuousSpellCheckingEnabledStateChanged): + * src/EditorClientImpl.cpp: + (WebKit::EditorClientImpl::toggleContinuousSpellChecking): + * src/WebFrameImpl.cpp: + +2011-01-21 Tony Chang <tony@chromium.org> + + Unreviewed, updating chromium DEPS so we can pull in linux theme changes. + + * DEPS: + +2011-01-21 Adam Klein <adamk@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@chromium.org> + + Reviewed by Andreas Kling. + + [chromium] Remove deprecated WebKit::nameOfInputElement function + https://bugs.webkit.org/show_bug.cgi?id=52824 + + * src/DOMUtilitiesPrivate.cpp: + * src/DOMUtilitiesPrivate.h: + +2011-01-20 Sam Weinig <sam@webkit.org> + + Reviewed by Dave Hyatt. + + Cleanup Scrollbar/ScrollbarClient relationship + https://bugs.webkit.org/show_bug.cgi?id=52779 + + * src/WebScrollbarImpl.cpp: + (WebKit::WebScrollbarImpl::WebScrollbarImpl): + (WebKit::WebScrollbarImpl::value): + (WebKit::WebScrollbarImpl::setValue): + (WebKit::WebScrollbarImpl::scroll): + (WebKit::WebScrollbarImpl::onMouseDown): + (WebKit::WebScrollbarImpl::onMouseMove): + (WebKit::WebScrollbarImpl::onMouseWheel): + (WebKit::WebScrollbarImpl::onKeyDown): + (WebKit::WebScrollbarImpl::scrollPosition): + (WebKit::WebScrollbarImpl::setScrollOffset): + * src/WebScrollbarImpl.h: + +2011-01-20 James Robinson <jamesr@chromium.org> + + Reviewed by Darin Fisher. + + Implement mozilla's requestAnimationFrame API + https://bugs.webkit.org/show_bug.cgi?id=51218 + + Chromium WebKit API support for window.webkitRequestAnimationFrame() + + * features.gypi: + * public/WebWidget.h: + * public/WebWidgetClient.h: + (WebKit::WebWidgetClient::scheduleAnimation): + * src/ChromeClientImpl.cpp: + (WebKit::ChromeClientImpl::scheduleAnimation): + * src/ChromeClientImpl.h: + * src/WebPopupMenuImpl.cpp: + (WebKit::WebPopupMenuImpl::animate): + (WebKit::WebPopupMenuImpl::scheduleAnimation): + * src/WebPopupMenuImpl.h: + * src/WebViewImpl.cpp: + (WebKit::WebViewImpl::animate): + * src/WebViewImpl.h: + +2010-12-14 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Adam Barth. + + [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp + https://bugs.webkit.org/show_bug.cgi?id=51044 + + * src/ChromeClientImpl.cpp: + (WebKit::ChromeClientImpl::runJavaScriptAlert): + * src/WebScriptController.cpp: + (WebKit::WebScriptController::flushConsoleMessages): + +2010-12-27 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown + https://bugs.webkit.org/show_bug.cgi?id=8519 + + Uncaught exceptions are propagated to window.onerror hander if one is present. + The handler is expected to be a function accepting three arguments: error message, + resource url and line number where the exception occured. + + It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they + were created in the same isolated world where the exception occured or not. + + Tests: fast/events/window-onerror1.html + fast/events/window-onerror10.html + fast/events/window-onerror11.html + fast/events/window-onerror12.html + fast/events/window-onerror2.html + fast/events/window-onerror3.html + fast/events/window-onerror4.html + fast/events/window-onerror5.html + fast/events/window-onerror6.html + fast/events/window-onerror7.html + fast/events/window-onerror8.html + fast/events/window-onerror9.html + http/tests/security/window-onerror-exception-in-iframe.html + userscripts/window-onerror-for-isolated-world-1.html + userscripts/window-onerror-for-isolated-world-2.html + + * src/WebWorkerClientImpl.cpp: + (WebKit::WebWorkerClientImpl::postExceptionToWorkerObject): + (WebKit::WebWorkerClientImpl::postConsoleMessageToWorkerObject): + (WebKit::WebWorkerClientImpl::postExceptionToWorkerObjectTask): + (WebKit::WebWorkerClientImpl::postConsoleMessageToWorkerObjectTask): + +2011-01-19 Dmitry Titov <dimich@chromium.org> + + [Chromium] Unreviewed, build fix. + + During revert of 76203, sheriffbot did not revert "rename+change" correctly. + + * src/ChromiumBridge.cpp: Renamed from Source/WebKit/chromium/src/PlatformBridge.cpp. + (WebCore::toChromeClientImpl): + (WebCore::toWebWidgetClient): + (WebCore::getCookieJar): + (WebCore::ChromiumBridge::cacheMetadata): + (WebCore::ChromiumBridge::clipboardIsFormatAvailable): + (WebCore::ChromiumBridge::clipboardReadPlainText): + (WebCore::ChromiumBridge::clipboardReadHTML): + (WebCore::ChromiumBridge::clipboardWriteSelection): + (WebCore::ChromiumBridge::clipboardWritePlainText): + (WebCore::ChromiumBridge::clipboardWriteURL): + (WebCore::ChromiumBridge::clipboardWriteImage): + (WebCore::ChromiumBridge::clipboardWriteData): + (WebCore::ChromiumBridge::clipboardReadAvailableTypes): + (WebCore::ChromiumBridge::clipboardReadData): + (WebCore::ChromiumBridge::clipboardReadFilenames): + (WebCore::ChromiumBridge::setCookies): + (WebCore::ChromiumBridge::cookies): + (WebCore::ChromiumBridge::cookieRequestHeaderFieldValue): + (WebCore::ChromiumBridge::rawCookies): + (WebCore::ChromiumBridge::deleteCookie): + (WebCore::ChromiumBridge::cookiesEnabled): + (WebCore::ChromiumBridge::prefetchDNS): + (WebCore::ChromiumBridge::fileExists): + (WebCore::ChromiumBridge::deleteFile): + (WebCore::ChromiumBridge::deleteEmptyDirectory): + (WebCore::ChromiumBridge::getFileSize): + (WebCore::ChromiumBridge::revealFolderInOS): + (WebCore::ChromiumBridge::getFileModificationTime): + (WebCore::ChromiumBridge::directoryName): + (WebCore::ChromiumBridge::pathByAppendingComponent): + (WebCore::ChromiumBridge::makeAllDirectories): + (WebCore::ChromiumBridge::getAbsolutePath): + (WebCore::ChromiumBridge::isDirectory): + (WebCore::ChromiumBridge::filePathToURL): + (WebCore::ChromiumBridge::openFile): + (WebCore::ChromiumBridge::closeFile): + (WebCore::ChromiumBridge::seekFile): + (WebCore::ChromiumBridge::truncateFile): + (WebCore::ChromiumBridge::readFromFile): + (WebCore::ChromiumBridge::writeToFile): + (WebCore::ChromiumBridge::ensureFontLoaded): + (WebCore::ChromiumBridge::getFontFamilyForCharacters): + (WebCore::ChromiumBridge::getRenderStyleForStrike): + (WebCore::ChromiumBridge::loadFont): + (WebCore::ChromiumBridge::databaseOpenFile): + (WebCore::ChromiumBridge::databaseDeleteFile): + (WebCore::ChromiumBridge::databaseGetFileAttributes): + (WebCore::ChromiumBridge::databaseGetFileSize): + (WebCore::ChromiumBridge::idbFactory): + (WebCore::ChromiumBridge::idbShutdown): + (WebCore::ChromiumBridge::createIDBKeysFromSerializedValuesAndKeyPath): + (WebCore::ChromiumBridge::signedPublicKeyAndChallengeString): + (WebCore::ChromiumBridge::computedDefaultLanguage): + (WebCore::ChromiumBridge::layoutTestMode): + (WebCore::ChromiumBridge::isSupportedImageMIMEType): + (WebCore::ChromiumBridge::isSupportedJavaScriptMIMEType): + (WebCore::ChromiumBridge::isSupportedNonImageMIMEType): + (WebCore::ChromiumBridge::mimeTypeForExtension): + (WebCore::ChromiumBridge::mimeTypeFromFile): + (WebCore::ChromiumBridge::preferredExtensionForMIMEType): + (WebCore::ChromiumBridge::plugins): + (WebCore::ChromiumBridge::pluginScriptableObject): + (WebCore::ChromiumBridge::loadPlatformImageResource): + (WebCore::ChromiumBridge::loadPlatformAudioResource): + (WebCore::ChromiumBridge::decodeAudioFileData): + (WebCore::ChromiumBridge::sandboxEnabled): + (WebCore::ChromiumBridge::setSharedTimerFiredFunction): + (WebCore::ChromiumBridge::setSharedTimerFireTime): + (WebCore::ChromiumBridge::stopSharedTimer): + (WebCore::ChromiumBridge::decrementStatsCounter): + (WebCore::ChromiumBridge::incrementStatsCounter): + (WebCore::ChromiumBridge::histogramCustomCounts): + (WebCore::ChromiumBridge::histogramEnumeration): + (WebCore::ChromiumBridge::suddenTerminationChanged): + (WebCore::ChromiumBridge::currentTime): + (WebCore::ChromiumBridge::paintButton): + (WebCore::ChromiumBridge::paintMenuList): + (WebCore::ChromiumBridge::paintScrollbarArrow): + (WebCore::ChromiumBridge::paintScrollbarThumb): + (WebCore::ChromiumBridge::paintScrollbarTrack): + (WebCore::ChromiumBridge::paintSpinButton): + (WebCore::ChromiumBridge::paintTextField): + (WebCore::ChromiumBridge::paintTrackbar): + (WebCore::ChromiumBridge::paintProgressBar): + (WebCore::WebThemePart): + (WebCore::WebThemeState): + (WebCore::GetWebThemeExtraParams): + (WebCore::ChromiumBridge::getThemePartSize): + (WebCore::ChromiumBridge::paintThemePart): + (WebCore::ChromiumBridge::traceEventBegin): + (WebCore::ChromiumBridge::traceEventEnd): + (WebCore::ChromiumBridge::visitedLinkHash): + (WebCore::ChromiumBridge::isLinkVisited): + (WebCore::ChromiumBridge::notifyJSOutOfMemory): + (WebCore::ChromiumBridge::memoryUsageMB): + (WebCore::ChromiumBridge::actualMemoryUsageMB): + (WebCore::ChromiumBridge::screenDepth): + (WebCore::ChromiumBridge::screenDepthPerComponent): + (WebCore::ChromiumBridge::screenIsMonochrome): + (WebCore::ChromiumBridge::screenRect): + (WebCore::ChromiumBridge::screenAvailableRect): + (WebCore::ChromiumBridge::popupsAllowed): + (WebCore::WorkerContextProxy::create): + +2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r76203. + http://trac.webkit.org/changeset/76203 + https://bugs.webkit.org/show_bug.cgi?id=52784 + + Broke Win compile on Chromium bots (Requested by dimich on + #webkit). + + * WebKit.gyp: + * src/AssertMatchingEnums.cpp: + * src/ChromiumBridge.cpp: Renamed from Source/WebKit/chromium/src/PlatformBridge.cpp. + (WebCore::toChromeClientImpl): + (WebCore::toWebWidgetClient): + (WebCore::getCookieJar): + (WebCore::ChromiumBridge::cacheMetadata): + (WebCore::ChromiumBridge::clipboardIsFormatAvailable): + (WebCore::ChromiumBridge::clipboardReadPlainText): + (WebCore::ChromiumBridge::clipboardReadHTML): + (WebCore::ChromiumBridge::clipboardWriteSelection): + (WebCore::ChromiumBridge::clipboardWritePlainText): + (WebCore::ChromiumBridge::clipboardWriteURL): + (WebCore::ChromiumBridge::clipboardWriteImage): + (WebCore::ChromiumBridge::clipboardWriteData): + (WebCore::ChromiumBridge::clipboardReadAvailableTypes): + (WebCore::ChromiumBridge::clipboardReadData): + (WebCore::ChromiumBridge::clipboardReadFilenames): + (WebCore::ChromiumBridge::setCookies): + (WebCore::ChromiumBridge::cookies): + (WebCore::ChromiumBridge::cookieRequestHeaderFieldValue): + (WebCore::ChromiumBridge::rawCookies): + (WebCore::ChromiumBridge::deleteCookie): + (WebCore::ChromiumBridge::cookiesEnabled): + (WebCore::ChromiumBridge::prefetchDNS): + (WebCore::ChromiumBridge::fileExists): + (WebCore::ChromiumBridge::deleteFile): + (WebCore::ChromiumBridge::deleteEmptyDirectory): + (WebCore::ChromiumBridge::getFileSize): + (WebCore::ChromiumBridge::revealFolderInOS): + (WebCore::ChromiumBridge::getFileModificationTime): + (WebCore::ChromiumBridge::directoryName): + (WebCore::ChromiumBridge::pathByAppendingComponent): + (WebCore::ChromiumBridge::makeAllDirectories): + (WebCore::ChromiumBridge::getAbsolutePath): + (WebCore::ChromiumBridge::isDirectory): + (WebCore::ChromiumBridge::filePathToURL): + (WebCore::ChromiumBridge::openFile): + (WebCore::ChromiumBridge::closeFile): + (WebCore::ChromiumBridge::seekFile): + (WebCore::ChromiumBridge::truncateFile): + (WebCore::ChromiumBridge::readFromFile): + (WebCore::ChromiumBridge::writeToFile): + (WebCore::ChromiumBridge::ensureFontLoaded): + (WebCore::ChromiumBridge::getFontFamilyForCharacters): + (WebCore::ChromiumBridge::getRenderStyleForStrike): + (WebCore::ChromiumBridge::loadFont): + (WebCore::ChromiumBridge::databaseOpenFile): + (WebCore::ChromiumBridge::databaseDeleteFile): + (WebCore::ChromiumBridge::databaseGetFileAttributes): + (WebCore::ChromiumBridge::databaseGetFileSize): + (WebCore::ChromiumBridge::idbFactory): + (WebCore::ChromiumBridge::idbShutdown): + (WebCore::ChromiumBridge::createIDBKeysFromSerializedValuesAndKeyPath): + (WebCore::ChromiumBridge::signedPublicKeyAndChallengeString): + (WebCore::ChromiumBridge::computedDefaultLanguage): + (WebCore::ChromiumBridge::layoutTestMode): + (WebCore::ChromiumBridge::isSupportedImageMIMEType): + (WebCore::ChromiumBridge::isSupportedJavaScriptMIMEType): + (WebCore::ChromiumBridge::isSupportedNonImageMIMEType): + (WebCore::ChromiumBridge::mimeTypeForExtension): + (WebCore::ChromiumBridge::mimeTypeFromFile): + (WebCore::ChromiumBridge::preferredExtensionForMIMEType): + (WebCore::ChromiumBridge::plugins): + (WebCore::ChromiumBridge::pluginScriptableObject): + (WebCore::ChromiumBridge::loadPlatformImageResource): + (WebCore::ChromiumBridge::loadPlatformAudioResource): + (WebCore::ChromiumBridge::decodeAudioFileData): + (WebCore::ChromiumBridge::sandboxEnabled): + (WebCore::ChromiumBridge::setSharedTimerFiredFunction): + (WebCore::ChromiumBridge::setSharedTimerFireTime): + (WebCore::ChromiumBridge::stopSharedTimer): + (WebCore::ChromiumBridge::decrementStatsCounter): + (WebCore::ChromiumBridge::incrementStatsCounter): + (WebCore::ChromiumBridge::histogramCustomCounts): + (WebCore::ChromiumBridge::histogramEnumeration): + (WebCore::ChromiumBridge::suddenTerminationChanged): + (WebCore::ChromiumBridge::currentTime): + (WebCore::ChromiumBridge::paintButton): + (WebCore::ChromiumBridge::paintMenuList): + (WebCore::ChromiumBridge::paintScrollbarArrow): + (WebCore::ChromiumBridge::paintScrollbarThumb): + (WebCore::ChromiumBridge::paintScrollbarTrack): + (WebCore::ChromiumBridge::paintSpinButton): + (WebCore::ChromiumBridge::paintTextField): + (WebCore::ChromiumBridge::paintTrackbar): + (WebCore::ChromiumBridge::paintProgressBar): + (WebCore::WebThemePart): + (WebCore::WebThemeState): + (WebCore::GetWebThemeExtraParams): + (WebCore::ChromiumBridge::getThemePartSize): + (WebCore::ChromiumBridge::paintThemePart): + (WebCore::ChromiumBridge::traceEventBegin): + (WebCore::ChromiumBridge::traceEventEnd): + (WebCore::ChromiumBridge::visitedLinkHash): + (WebCore::ChromiumBridge::isLinkVisited): + (WebCore::ChromiumBridge::notifyJSOutOfMemory): + (WebCore::ChromiumBridge::memoryUsageMB): + (WebCore::ChromiumBridge::actualMemoryUsageMB): + (WebCore::ChromiumBridge::screenDepth): + (WebCore::ChromiumBridge::screenDepthPerComponent): + (WebCore::ChromiumBridge::screenIsMonochrome): + (WebCore::ChromiumBridge::screenRect): + (WebCore::ChromiumBridge::screenAvailableRect): + (WebCore::ChromiumBridge::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-19 Adam Klein <adamk@chromium.org> + + Reviewed by Darin Fisher. + + [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-19 James Robinson <jamesr@chromium.org> + + Unreviewed, rolling out r76194. + http://trac.webkit.org/changeset/76194 + https://bugs.webkit.org/show_bug.cgi?id=51218 + + Caused mysterious compile failure on the chromium win + build.webkit.org bots + + * features.gypi: + * public/WebWidget.h: + * public/WebWidgetClient.h: + * src/ChromeClientImpl.cpp: + * src/ChromeClientImpl.h: + * src/WebPopupMenuImpl.cpp: + * src/WebPopupMenuImpl.h: + * src/WebViewImpl.cpp: + * src/WebViewImpl.h: + +2011-01-19 James Robinson <jamesr@chromium.org> + + Reviewed by Darin Fisher. + + Implement mozilla's requestAnimationFrame API + https://bugs.webkit.org/show_bug.cgi?id=51218 + + Chromium WebKit API support for window.webkitRequestAnimationFrame() + + * features.gypi: + * public/WebWidget.h: + * public/WebWidgetClient.h: + (WebKit::WebWidgetClient::scheduleAnimation): + * src/ChromeClientImpl.cpp: + (WebKit::ChromeClientImpl::scheduleAnimation): + * src/ChromeClientImpl.h: + * src/WebPopupMenuImpl.cpp: + (WebKit::WebPopupMenuImpl::animate): + (WebKit::WebPopupMenuImpl::scheduleAnimation): + * src/WebPopupMenuImpl.h: + * src/WebViewImpl.cpp: + (WebKit::WebViewImpl::animate): + * src/WebViewImpl.h: + +2011-01-19 Tony Chang <tony@chromium.org> + + Unreviewed, roll chromium deps to pick up fixes for the linux build. + + * DEPS: + +2011-01-19 Satish Sampath <satish@chromium.org> + + Reviewed by Jeremy Orlow. + + Send origin/url as part of speech input requests to the embedder. + https://bugs.webkit.org/show_bug.cgi?id=52718 + + * public/WebSpeechInputController.h: + (WebKit::WebSpeechInputController::startRecognition): Updated prototype. + * src/SpeechInputClientImpl.cpp: + (WebKit::SpeechInputClientImpl::startRecognition): Pass up additional origin parameter. + * src/SpeechInputClientImpl.h: + * src/WebSpeechInputControllerMockImpl.cpp: Updated code to pass additional parameter. + (WebKit::WebSpeechInputControllerMockImpl::startRecognition): + * src/WebSpeechInputControllerMockImpl.h: Added new variant of startRecognition method. + +2011-01-19 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: updating Chromium devtools sanity tests for downstream use. + + * src/js/Tests.js: + (.TestSuite.prototype._checkExecutionLine): + +2011-01-18 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol. + https://bugs.webkit.org/show_bug.cgi?id=52652 + + Calls served by the InjectedScript should be first class protocol + citizens, not dispatched via single protocol message. + + * src/js/Tests.js: + +2011-01-18 Victoria Kirst <vrk@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Adding support for YV16 video frame formats. + https://bugs.webkit.org/show_bug.cgi?id=52345 + + * src/VideoFrameChromiumImpl.cpp: + (WebKit::VideoFrameChromiumImpl::requiredTextureSize): + +2011-01-18 Adam Klein <adamk@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Replace ChromiumBridge::widgetSetCursor with ChromeClient::setCursor + https://bugs.webkit.org/show_bug.cgi?id=42236 + + * src/ChromeClientImpl.cpp: + (WebKit::ChromeClientImpl::setCursor): + * src/ChromeClientImpl.h: + * src/ChromiumBridge.cpp: + 2011-01-17 Nico Weber <thakis@chromium.org> Unreviewed. diff --git a/Source/WebKit/chromium/DEPS b/Source/WebKit/chromium/DEPS index 78e8b45..8d08c3f 100644 --- a/Source/WebKit/chromium/DEPS +++ b/Source/WebKit/chromium/DEPS @@ -32,7 +32,7 @@ vars = { 'chromium_svn': 'http://src.chromium.org/svn/trunk/src', - 'chromium_rev': '71607' + 'chromium_rev': '71969' } deps = { diff --git a/Source/WebKit/chromium/WebKit.grd b/Source/WebKit/chromium/WebKit.grd index 9b02554..38570b9 100644 --- a/Source/WebKit/chromium/WebKit.grd +++ b/Source/WebKit/chromium/WebKit.grd @@ -10,6 +10,246 @@ <release seq="1"> <includes> <include name="IDR_DEVTOOLS_DEBUGGER_SCRIPT_JS" file="..\..\..\Source\WebCore\bindings\v8\DebuggerScript.js" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T000_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T000_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T000_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T000_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T000_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T000_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T000_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T000_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T000_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T000_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T000_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T000_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T000_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T000_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T000_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T000_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T000_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T000_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T000_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T000_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T015_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T015_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T015_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T015_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T015_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T015_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T015_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T015_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T015_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T015_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T015_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T015_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T015_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T015_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T015_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T015_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T015_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T015_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T015_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T015_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T030_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T030_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T030_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T030_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T030_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T030_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T030_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T030_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T030_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T030_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T030_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T030_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T030_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T030_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T030_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T030_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T030_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T030_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T030_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T030_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T045_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T045_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T045_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T045_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T045_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T045_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T045_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T045_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T045_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T045_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T045_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T045_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T045_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T045_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T045_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T045_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T045_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T045_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T045_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T045_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T060_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T060_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T060_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T060_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T060_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T060_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T060_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T060_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T060_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T060_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T060_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T060_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T060_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T060_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T060_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T060_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T060_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T060_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T060_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T060_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T075_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T075_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T075_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T075_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T075_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T075_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T075_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T075_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T075_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T075_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T075_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T075_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T075_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T075_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T075_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T075_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T075_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T075_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T075_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T075_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T090_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T090_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T090_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T090_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T090_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T090_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T090_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T090_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T090_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T090_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T090_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T090_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T090_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T090_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T090_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T090_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T090_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T090_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T090_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T090_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T105_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T105_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T105_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T105_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T105_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T105_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T105_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T105_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T105_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T105_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T105_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T105_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T105_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T105_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T105_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T105_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T105_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T105_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T105_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T105_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T120_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T120_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T120_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T120_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T120_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T120_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T120_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T120_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T120_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T120_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T120_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T120_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T120_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T120_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T120_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T120_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T120_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T120_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T120_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T120_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T135_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T135_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T135_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T135_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T135_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T135_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T135_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T135_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T135_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T135_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T135_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T135_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T135_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T135_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T135_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T135_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T135_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T135_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T135_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T135_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T150_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T150_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T150_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T150_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T150_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T150_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T150_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T150_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T150_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T150_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T150_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T150_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T150_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T150_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T150_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T150_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T150_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T150_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T150_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T150_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T165_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T165_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T165_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T165_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T165_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T165_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T165_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T165_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T165_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T165_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T165_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T165_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T165_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T165_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T165_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T165_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T165_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T165_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T165_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T165_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T180_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T180_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T180_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T180_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T180_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T180_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T180_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T180_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T180_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T180_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T180_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T180_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T180_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T180_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T180_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T180_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T180_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T180_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T180_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T180_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T195_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T195_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T195_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T195_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T195_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T195_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T195_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T195_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T195_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T195_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T195_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T195_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T195_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T195_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T195_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T195_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T195_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T195_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T195_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T195_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T210_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T210_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T210_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T210_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T210_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T210_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T210_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T210_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T210_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T210_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T210_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T210_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T210_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T210_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T210_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T210_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T210_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T210_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T210_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T210_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T225_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T225_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T225_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T225_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T225_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T225_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T225_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T225_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T225_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T225_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T225_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T225_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T225_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T225_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T225_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T225_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T225_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T225_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T225_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T225_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T240_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T240_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T240_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T240_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T240_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T240_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T240_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T240_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T240_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T240_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T240_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T240_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T240_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T240_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T240_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T240_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T240_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T240_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T240_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T240_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T255_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T255_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T255_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T255_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T255_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T255_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T255_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T255_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T255_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T255_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T255_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T255_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T255_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T255_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T255_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T255_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T255_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T255_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T255_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T255_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T270_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T270_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T270_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T270_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T270_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T270_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T270_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T270_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T270_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T270_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T270_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T270_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T270_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T270_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T270_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T270_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T270_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T270_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T270_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T270_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T285_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T285_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T285_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T285_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T285_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T285_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T285_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T285_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T285_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T285_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T285_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T285_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T285_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T285_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T285_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T285_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T285_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T285_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T285_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T285_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T300_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T300_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T300_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T300_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T300_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T300_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T300_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T300_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T300_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T300_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T300_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T300_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T300_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T300_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T300_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T300_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T300_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T300_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T300_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T300_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T315_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T315_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T315_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T315_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T315_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T315_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T315_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T315_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T315_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T315_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T315_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T315_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T315_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T315_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T315_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T315_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T315_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T315_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T315_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T315_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T330_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T330_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T330_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T330_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T330_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T330_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T330_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T330_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T330_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T330_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T330_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T330_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T330_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T330_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T330_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T330_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T330_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T330_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T330_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T330_P345.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T345_P000" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T345_P000.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T345_P015" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T345_P015.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T345_P030" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T345_P030.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T345_P045" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T345_P045.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T345_P060" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T345_P060.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T345_P075" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T345_P075.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T345_P090" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T345_P090.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T345_P315" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T345_P315.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T345_P330" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T345_P330.wav" type="BINDATA"/> + <include name="IDR_AUDIO_SPATIALIZATION_T345_P345" file="..\..\WebCore\platform\audio\resources\IRC_Composite_C_R0195_T345_P345.wav" type="BINDATA"/> </includes> </release> </grit> diff --git a/Source/WebKit/chromium/WebKit.gyp b/Source/WebKit/chromium/WebKit.gyp index 85f671d..3a3672c 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', @@ -952,6 +952,7 @@ 'variables': { 'repack_path': '<(chromium_src_dir)/tools/data_pack/repack.py', 'pak_inputs': [ + '<(SHARED_INTERMEDIATE_DIR)/gfx/gfx_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.pak', diff --git a/Source/WebKit/chromium/features.gypi b/Source/WebKit/chromium/features.gypi index 372cc5c..7f4cda6 100644 --- a/Source/WebKit/chromium/features.gypi +++ b/Source/WebKit/chromium/features.gypi @@ -69,6 +69,7 @@ 'ENABLE_OPENTYPE_SANITIZER=1', 'ENABLE_ORIENTATION_EVENTS=0', 'ENABLE_PROGRESS_TAG=1', + 'ENABLE_REQUEST_ANIMATION_FRAME=1', 'ENABLE_SHARED_WORKERS=1', 'ENABLE_SVG=1', 'ENABLE_SVG_ANIMATION=1', diff --git a/Source/WebKit/chromium/public/WebFrameClient.h b/Source/WebKit/chromium/public/WebFrameClient.h index 1c6fd04..2e1890a 100644 --- a/Source/WebKit/chromium/public/WebFrameClient.h +++ b/Source/WebKit/chromium/public/WebFrameClient.h @@ -109,6 +109,9 @@ public: // Controls whether images are allowed for this frame. virtual bool allowImages(WebFrame*, bool enabledPerSettings) { return enabledPerSettings; } + // Notifies the client that continuous spell checking has been enabled or + // disabled. + virtual void didToggleContinuousSpellChecking(WebFrame*) { } // Load commands ------------------------------------------------------- diff --git a/Source/WebKit/chromium/public/WebRuntimeFeatures.h b/Source/WebKit/chromium/public/WebRuntimeFeatures.h index 5537ee2..097e95b 100644 --- a/Source/WebKit/chromium/public/WebRuntimeFeatures.h +++ b/Source/WebKit/chromium/public/WebRuntimeFeatures.h @@ -68,6 +68,9 @@ public: WEBKIT_API static void enableIndexedDatabase(bool); WEBKIT_API static bool isIndexedDatabaseEnabled(); + WEBKIT_API static void enableWebAudio(bool); + WEBKIT_API static bool isWebAudioEnabled(); + WEBKIT_API static void enableWebGL(bool); WEBKIT_API static bool isWebGLEnabled(); diff --git a/Source/WebKit/chromium/public/WebSettings.h b/Source/WebKit/chromium/public/WebSettings.h index ccff28b..bfb5122 100644 --- a/Source/WebKit/chromium/public/WebSettings.h +++ b/Source/WebKit/chromium/public/WebSettings.h @@ -89,6 +89,7 @@ public: virtual void setAllowFileAccessFromFileURLs(bool) = 0; virtual void setTextDirectionSubmenuInclusionBehaviorNeverIncluded() = 0; virtual void setOfflineWebApplicationCacheEnabled(bool) = 0; + virtual void setWebAudioEnabled(bool) = 0; virtual void setExperimentalWebGLEnabled(bool) = 0; virtual void setShowDebugBorders(bool) = 0; virtual void setEditingBehavior(EditingBehavior) = 0; diff --git a/Source/WebKit/chromium/public/WebSpeechInputController.h b/Source/WebKit/chromium/public/WebSpeechInputController.h index 6ed546f..eb83ec7 100644 --- a/Source/WebKit/chromium/public/WebSpeechInputController.h +++ b/Source/WebKit/chromium/public/WebSpeechInputController.h @@ -35,8 +35,8 @@ namespace WebKit { -class WebString; struct WebRect; +class WebSecurityOrigin; class WebString; // Provides an embedder API called by WebKit. @@ -45,6 +45,11 @@ public: // Starts speech recognition. Speech will get recorded until the endpointer detects silence, // runs to the limit or stopRecording is called. Progress indications and the recognized // text are returned via the listener interface. + virtual bool startRecognition(int requestId, const WebRect& elementRect, const WebString& language, const WebString& grammar, const WebSecurityOrigin& origin) + { + return startRecognition(requestId, elementRect, language, grammar); + } + // TODO(satish): Remove this once chromium has rolled past the above change. virtual bool startRecognition(int requestId, const WebRect& elementRect, const WebString& language, const WebString& grammar) { WEBKIT_ASSERT_NOT_REACHED(); diff --git a/Source/WebKit/chromium/public/WebWidget.h b/Source/WebKit/chromium/public/WebWidget.h index ccad134..36fbf31 100644 --- a/Source/WebKit/chromium/public/WebWidget.h +++ b/Source/WebKit/chromium/public/WebWidget.h @@ -56,6 +56,10 @@ public: // Called to resize the WebWidget. virtual void resize(const WebSize&) = 0; + // Called to update imperative animation state. This should be called before + // paint, although the client can rate-limit these calls. + virtual void animate() = 0; + // Called to layout the WebWidget. This MUST be called before Paint, // and it may result in calls to WebWidgetClient::didInvalidateRect. virtual void layout() = 0; diff --git a/Source/WebKit/chromium/public/WebWidgetClient.h b/Source/WebKit/chromium/public/WebWidgetClient.h index 373426d..85e4015 100644 --- a/Source/WebKit/chromium/public/WebWidgetClient.h +++ b/Source/WebKit/chromium/public/WebWidgetClient.h @@ -56,6 +56,9 @@ public: // Called when a call to WebWidget::composite is required virtual void scheduleComposite() { } + // Called when a call to WebWidget::animate is required + virtual void scheduleAnimation() { } + // Called when the widget acquires or loses focus, respectively. virtual void didFocus() { } virtual void didBlur() { } 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/AutoFillPopupMenuClient.cpp b/Source/WebKit/chromium/src/AutoFillPopupMenuClient.cpp index 4f57994..2ce31a9 100644 --- a/Source/WebKit/chromium/src/AutoFillPopupMenuClient.cpp +++ b/Source/WebKit/chromium/src/AutoFillPopupMenuClient.cpp @@ -254,11 +254,11 @@ HostWindow* AutoFillPopupMenuClient::hostWindow() const } PassRefPtr<Scrollbar> AutoFillPopupMenuClient::createScrollbar( - ScrollbarClient* client, + ScrollableArea* scrollableArea, ScrollbarOrientation orientation, ScrollbarControlSize size) { - return Scrollbar::createNativeScrollbar(client, orientation, size); + return Scrollbar::createNativeScrollbar(scrollableArea, orientation, size); } void AutoFillPopupMenuClient::initialize( diff --git a/Source/WebKit/chromium/src/AutoFillPopupMenuClient.h b/Source/WebKit/chromium/src/AutoFillPopupMenuClient.h index 0129a81..0071121 100644 --- a/Source/WebKit/chromium/src/AutoFillPopupMenuClient.h +++ b/Source/WebKit/chromium/src/AutoFillPopupMenuClient.h @@ -97,7 +97,7 @@ public: virtual WebCore::FontSelector* fontSelector() const; virtual WebCore::HostWindow* hostWindow() const; virtual PassRefPtr<WebCore::Scrollbar> createScrollbar( - WebCore::ScrollbarClient* client, + WebCore::ScrollableArea* client, WebCore::ScrollbarOrientation orientation, WebCore::ScrollbarControlSize size); diff --git a/Source/WebKit/chromium/src/BoundObject.h b/Source/WebKit/chromium/src/BoundObject.h index 769e83f..394ff7c 100644 --- a/Source/WebKit/chromium/src/BoundObject.h +++ b/Source/WebKit/chromium/src/BoundObject.h @@ -39,7 +39,8 @@ namespace WebKit { // BoundObject is a helper class that lets you map JavaScript method calls // directly to C++ method calls. It should be destroyed once JS object is // built. -class BoundObject : public Noncopyable { +class BoundObject { + WTF_MAKE_NONCOPYABLE(BoundObject); public: BoundObject(v8::Handle<v8::Context> context, void* v8This, const char* objectName); virtual ~BoundObject(); diff --git a/Source/WebKit/chromium/src/ChromeClientImpl.cpp b/Source/WebKit/chromium/src/ChromeClientImpl.cpp index 1a984c1..a63a625 100644 --- a/Source/WebKit/chromium/src/ChromeClientImpl.cpp +++ b/Source/WebKit/chromium/src/ChromeClientImpl.cpp @@ -436,11 +436,6 @@ void ChromeClientImpl::closeWindowSoon() void ChromeClientImpl::runJavaScriptAlert(Frame* frame, const String& message) { if (m_webView->client()) { -#if USE(V8) - // Before showing the JavaScript dialog, we give the proxy implementation - // a chance to process any pending console messages. - V8Proxy::processConsoleMessages(); -#endif m_webView->client()->runModalAlertDialog( WebFrameImpl::fromFrame(frame), message); } @@ -532,6 +527,13 @@ void ChromeClientImpl::invalidateContentsForSlowScroll(const IntRect& updateRect invalidateContentsAndWindow(updateRect, immediate); } +#if ENABLE(REQUEST_ANIMATION_FRAME) +void ChromeClientImpl::scheduleAnimation() +{ + m_webView->client()->scheduleAnimation(); +} +#endif + void ChromeClientImpl::scroll( const IntSize& scrollDelta, const IntRect& scrollRect, const IntRect& clipRect) @@ -700,6 +702,11 @@ void ChromeClientImpl::popupClosed(WebCore::PopupContainer* popupContainer) m_webView->popupClosed(popupContainer); } +void ChromeClientImpl::setCursor(const WebCore::Cursor& cursor) +{ + setCursor(WebCursorInfo(cursor)); +} + void ChromeClientImpl::setCursor(const WebCursorInfo& cursor) { if (m_webView->client()) diff --git a/Source/WebKit/chromium/src/ChromeClientImpl.h b/Source/WebKit/chromium/src/ChromeClientImpl.h index b024bc0..07f7d1f 100644 --- a/Source/WebKit/chromium/src/ChromeClientImpl.h +++ b/Source/WebKit/chromium/src/ChromeClientImpl.h @@ -105,6 +105,9 @@ public: virtual void invalidateWindow(const WebCore::IntRect&, bool); virtual void invalidateContentsAndWindow(const WebCore::IntRect&, bool); virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool); +#if ENABLE(REQUEST_ANIMATION_FRAME) + virtual void scheduleAnimation(); +#endif virtual void scroll( const WebCore::IntSize& scrollDelta, const WebCore::IntRect& rectToScroll, const WebCore::IntRect& clipRect); @@ -132,7 +135,7 @@ public: virtual void cancelGeolocationPermissionRequestForFrame(WebCore::Frame*, WebCore::Geolocation*); virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>); virtual void chooseIconForFiles(const Vector<WTF::String>&, WebCore::FileChooser*); - virtual void setCursor(const WebCore::Cursor&) { } + virtual void setCursor(const WebCore::Cursor&); virtual void formStateDidChange(const WebCore::Node*); virtual PassOwnPtr<WebCore::HTMLParserQuirks> createHTMLParserQuirks() { return 0; } #if ENABLE(TOUCH_EVENTS) @@ -167,8 +170,7 @@ public: virtual void postAccessibilityNotification(WebCore::AccessibilityObject*, WebCore::AXObjectCache::AXNotification); // ChromeClientImpl: - void setCursor(const WebCursorInfo& cursor); - void setCursorForPlugin(const WebCursorInfo& cursor); + void setCursorForPlugin(const WebCursorInfo&); virtual bool selectItemWritingDirectionIsNatural(); virtual PassRefPtr<WebCore::PopupMenu> createPopupMenu(WebCore::PopupMenuClient*) const; @@ -180,6 +182,7 @@ public: private: void getPopupMenuInfo(WebCore::PopupContainer*, WebPopupMenuInfo*); + void setCursor(const WebCursorInfo&); WebViewImpl* m_webView; // weak pointer bool m_toolbarsVisible; diff --git a/Source/WebKit/chromium/src/DOMUtilitiesPrivate.cpp b/Source/WebKit/chromium/src/DOMUtilitiesPrivate.cpp index 6f952f7..e688bfa 100644 --- a/Source/WebKit/chromium/src/DOMUtilitiesPrivate.cpp +++ b/Source/WebKit/chromium/src/DOMUtilitiesPrivate.cpp @@ -39,8 +39,6 @@ #include "HTMLOptionElement.h" #include "Node.h" -#include "WebInputElement.h" - using namespace WebCore; namespace { @@ -79,11 +77,6 @@ HTMLOptionElement* toHTMLOptionElement(Node* node) return toHTMLElement<HTMLOptionElement>(node, HTMLNames::optionTag); } -String nameOfInputElement(HTMLInputElement* element) -{ - return WebInputElement(element).nameForAutofill(); -} - bool elementHasLegalLinkAttribute(const Element* element, const QualifiedName& attrName) { diff --git a/Source/WebKit/chromium/src/DOMUtilitiesPrivate.h b/Source/WebKit/chromium/src/DOMUtilitiesPrivate.h index f5d03a5..99e3d9c 100644 --- a/Source/WebKit/chromium/src/DOMUtilitiesPrivate.h +++ b/Source/WebKit/chromium/src/DOMUtilitiesPrivate.h @@ -31,8 +31,6 @@ #ifndef DOMUtilitiesPrivate_h #define DOMUtilitiesPrivate_h -#include <wtf/Forward.h> - namespace WebCore { class Element; class HTMLInputElement; @@ -53,9 +51,6 @@ WebCore::HTMLLinkElement* toHTMLLinkElement(WebCore::Node*); WebCore::HTMLMetaElement* toHTMLMetaElement(WebCore::Node*); WebCore::HTMLOptionElement* toHTMLOptionElement(WebCore::Node*); -// FIXME: Deprecate. Use WebInputElement::nameForAutofill instead. -WTF::String nameOfInputElement(WebCore::HTMLInputElement*); - // For img, script, iframe, frame element, when attribute name is src, // for link, a, area element, when attribute name is href, // for form element, when attribute name is action, diff --git a/Source/WebKit/chromium/src/DebuggerAgentManager.cpp b/Source/WebKit/chromium/src/DebuggerAgentManager.cpp index 0860cb1..b76bcfe 100644 --- a/Source/WebKit/chromium/src/DebuggerAgentManager.cpp +++ b/Source/WebKit/chromium/src/DebuggerAgentManager.cpp @@ -55,7 +55,8 @@ bool DebuggerAgentManager::s_exposeV8DebuggerProtocol = false; namespace { -class CallerIdWrapper : public v8::Debug::ClientData, public Noncopyable { +class CallerIdWrapper : public v8::Debug::ClientData { + WTF_MAKE_NONCOPYABLE(CallerIdWrapper); public: CallerIdWrapper() : m_callerIsMananager(true), m_callerId(0) { } explicit CallerIdWrapper(int callerId) diff --git a/Source/WebKit/chromium/src/DebuggerAgentManager.h b/Source/WebKit/chromium/src/DebuggerAgentManager.h index 66bd714..a323311 100644 --- a/Source/WebKit/chromium/src/DebuggerAgentManager.h +++ b/Source/WebKit/chromium/src/DebuggerAgentManager.h @@ -63,7 +63,8 @@ class WebViewImpl; // would expect some actions from the handler. If there is no appropriate // debugger agent to handle such messages the manager will perform the action // itself, otherwise v8 may hang waiting for the action. -class DebuggerAgentManager : public Noncopyable { +class DebuggerAgentManager { + WTF_MAKE_NONCOPYABLE(DebuggerAgentManager); public: static void debugAttach(DebuggerAgentImpl* debuggerAgent); static void debugDetach(DebuggerAgentImpl* debuggerAgent); diff --git a/Source/WebKit/chromium/src/EditorClientImpl.cpp b/Source/WebKit/chromium/src/EditorClientImpl.cpp index 19b5873..68694c2 100644 --- a/Source/WebKit/chromium/src/EditorClientImpl.cpp +++ b/Source/WebKit/chromium/src/EditorClientImpl.cpp @@ -45,6 +45,7 @@ #include "WebAutoFillClient.h" #include "WebEditingAction.h" #include "WebElement.h" +#include "WebFrameClient.h" #include "WebFrameImpl.h" #include "WebKit.h" #include "WebInputElement.h" @@ -161,6 +162,11 @@ void EditorClientImpl::toggleContinuousSpellChecking() m_spellCheckThisFieldStatus = SpellCheckForcedOff; else m_spellCheckThisFieldStatus = SpellCheckForcedOn; + + WebFrameImpl* webframe = WebFrameImpl::fromFrame( + m_webView->focusedWebCoreFrame()); + if (webframe) + webframe->client()->didToggleContinuousSpellChecking(webframe); } bool EditorClientImpl::isGrammarCheckingEnabled() diff --git a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h index fc21f3e..2867917 100644 --- a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h +++ b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h @@ -44,8 +44,8 @@ namespace WebKit { class WebDevToolsFrontendClient; class WebDevToolsFrontendImpl; -class InspectorFrontendClientImpl : public WebCore::InspectorFrontendClient - , public Noncopyable { +class InspectorFrontendClientImpl : public WebCore::InspectorFrontendClient { + WTF_MAKE_NONCOPYABLE(InspectorFrontendClientImpl); public: InspectorFrontendClientImpl(WebCore::Page*, WebDevToolsFrontendClient*, WebDevToolsFrontendImpl*); virtual ~InspectorFrontendClientImpl(); diff --git a/Source/WebKit/chromium/src/ChromiumBridge.cpp b/Source/WebKit/chromium/src/PlatformBridge.cpp index e16025c..04016fc 100644 --- a/Source/WebKit/chromium/src/ChromiumBridge.cpp +++ b/Source/WebKit/chromium/src/PlatformBridge.cpp @@ -29,7 +29,7 @@ */ #include "config.h" -#include "ChromiumBridge.h" +#include "PlatformBridge.h" #include <googleurl/src/url_util.h> @@ -39,7 +39,6 @@ #include "WebClipboard.h" #include "WebCookie.h" #include "WebCookieJar.h" -#include "WebCursorInfo.h" #include "WebData.h" #include "WebDragData.h" #include "WebFileUtilities.h" @@ -146,14 +145,14 @@ static WebCookieJar* getCookieJar(const Document* document) // Cache ---------------------------------------------------------------------- -void ChromiumBridge::cacheMetadata(const KURL& url, double responseTime, const Vector<char>& data) +void PlatformBridge::cacheMetadata(const KURL& url, double responseTime, const Vector<char>& data) { webKitClient()->cacheMetadata(url, responseTime, data.data(), data.size()); } // Clipboard ------------------------------------------------------------------ -bool ChromiumBridge::clipboardIsFormatAvailable( +bool PlatformBridge::clipboardIsFormatAvailable( PasteboardPrivate::ClipboardFormat format, PasteboardPrivate::ClipboardBuffer buffer) { @@ -162,14 +161,14 @@ bool ChromiumBridge::clipboardIsFormatAvailable( static_cast<WebClipboard::Buffer>(buffer)); } -String ChromiumBridge::clipboardReadPlainText( +String PlatformBridge::clipboardReadPlainText( PasteboardPrivate::ClipboardBuffer buffer) { return webKitClient()->clipboard()->readPlainText( static_cast<WebClipboard::Buffer>(buffer)); } -void ChromiumBridge::clipboardReadHTML( +void PlatformBridge::clipboardReadHTML( PasteboardPrivate::ClipboardBuffer buffer, String* htmlText, KURL* sourceURL) { @@ -179,7 +178,7 @@ void ChromiumBridge::clipboardReadHTML( *sourceURL = url; } -void ChromiumBridge::clipboardWriteSelection(const String& htmlText, +void PlatformBridge::clipboardWriteSelection(const String& htmlText, const KURL& sourceURL, const String& plainText, bool writeSmartPaste) @@ -188,17 +187,17 @@ void ChromiumBridge::clipboardWriteSelection(const String& htmlText, htmlText, sourceURL, plainText, writeSmartPaste); } -void ChromiumBridge::clipboardWritePlainText(const String& plainText) +void PlatformBridge::clipboardWritePlainText(const String& plainText) { webKitClient()->clipboard()->writePlainText(plainText); } -void ChromiumBridge::clipboardWriteURL(const KURL& url, const String& title) +void PlatformBridge::clipboardWriteURL(const KURL& url, const String& title) { webKitClient()->clipboard()->writeURL(url, title); } -void ChromiumBridge::clipboardWriteImage(NativeImagePtr image, +void PlatformBridge::clipboardWriteImage(NativeImagePtr image, const KURL& sourceURL, const String& title) { @@ -210,14 +209,14 @@ void ChromiumBridge::clipboardWriteImage(NativeImagePtr image, webKitClient()->clipboard()->writeImage(webImage, sourceURL, title); } -void ChromiumBridge::clipboardWriteData(const String& type, +void PlatformBridge::clipboardWriteData(const String& type, const String& data, const String& metadata) { webKitClient()->clipboard()->writeData(type, data, metadata); } -HashSet<String> ChromiumBridge::clipboardReadAvailableTypes( +HashSet<String> PlatformBridge::clipboardReadAvailableTypes( PasteboardPrivate::ClipboardBuffer buffer, bool* containsFilenames) { WebVector<WebString> result = webKitClient()->clipboard()->readAvailableTypes( @@ -228,7 +227,7 @@ HashSet<String> ChromiumBridge::clipboardReadAvailableTypes( return types; } -bool ChromiumBridge::clipboardReadData(PasteboardPrivate::ClipboardBuffer buffer, +bool PlatformBridge::clipboardReadData(PasteboardPrivate::ClipboardBuffer buffer, const String& type, String& data, String& metadata) { WebString resultData; @@ -242,7 +241,7 @@ bool ChromiumBridge::clipboardReadData(PasteboardPrivate::ClipboardBuffer buffer return succeeded; } -Vector<String> ChromiumBridge::clipboardReadFilenames(PasteboardPrivate::ClipboardBuffer buffer) +Vector<String> PlatformBridge::clipboardReadFilenames(PasteboardPrivate::ClipboardBuffer buffer) { WebVector<WebString> result = webKitClient()->clipboard()->readFilenames( static_cast<WebClipboard::Buffer>(buffer)); @@ -254,7 +253,7 @@ Vector<String> ChromiumBridge::clipboardReadFilenames(PasteboardPrivate::Clipboa // Cookies -------------------------------------------------------------------- -void ChromiumBridge::setCookies(const Document* document, const KURL& url, +void PlatformBridge::setCookies(const Document* document, const KURL& url, const String& value) { WebCookieJar* cookieJar = getCookieJar(document); @@ -262,7 +261,7 @@ void ChromiumBridge::setCookies(const Document* document, const KURL& url, cookieJar->setCookie(url, document->firstPartyForCookies(), value); } -String ChromiumBridge::cookies(const Document* document, const KURL& url) +String PlatformBridge::cookies(const Document* document, const KURL& url) { String result; WebCookieJar* cookieJar = getCookieJar(document); @@ -271,7 +270,7 @@ String ChromiumBridge::cookies(const Document* document, const KURL& url) return result; } -String ChromiumBridge::cookieRequestHeaderFieldValue(const Document* document, +String PlatformBridge::cookieRequestHeaderFieldValue(const Document* document, const KURL& url) { String result; @@ -281,7 +280,7 @@ String ChromiumBridge::cookieRequestHeaderFieldValue(const Document* document, return result; } -bool ChromiumBridge::rawCookies(const Document* document, const KURL& url, Vector<Cookie>& rawCookies) +bool PlatformBridge::rawCookies(const Document* document, const KURL& url, Vector<Cookie>& rawCookies) { rawCookies.clear(); WebVector<WebCookie> webCookies; @@ -305,14 +304,14 @@ bool ChromiumBridge::rawCookies(const Document* document, const KURL& url, Vecto return true; } -void ChromiumBridge::deleteCookie(const Document* document, const KURL& url, const String& cookieName) +void PlatformBridge::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 PlatformBridge::cookiesEnabled(const Document* document) { bool result = false; WebCookieJar* cookieJar = getCookieJar(document); @@ -323,39 +322,39 @@ bool ChromiumBridge::cookiesEnabled(const Document* document) // DNS ------------------------------------------------------------------------ -void ChromiumBridge::prefetchDNS(const String& hostname) +void PlatformBridge::prefetchDNS(const String& hostname) { webKitClient()->prefetchHostName(hostname); } // File ------------------------------------------------------------------------ -bool ChromiumBridge::fileExists(const String& path) +bool PlatformBridge::fileExists(const String& path) { return webKitClient()->fileUtilities()->fileExists(path); } -bool ChromiumBridge::deleteFile(const String& path) +bool PlatformBridge::deleteFile(const String& path) { return webKitClient()->fileUtilities()->deleteFile(path); } -bool ChromiumBridge::deleteEmptyDirectory(const String& path) +bool PlatformBridge::deleteEmptyDirectory(const String& path) { return webKitClient()->fileUtilities()->deleteEmptyDirectory(path); } -bool ChromiumBridge::getFileSize(const String& path, long long& result) +bool PlatformBridge::getFileSize(const String& path, long long& result) { return webKitClient()->fileUtilities()->getFileSize(path, result); } -void ChromiumBridge::revealFolderInOS(const String& path) +void PlatformBridge::revealFolderInOS(const String& path) { webKitClient()->fileUtilities()->revealFolderInOS(path); } -bool ChromiumBridge::getFileModificationTime(const String& path, time_t& result) +bool PlatformBridge::getFileModificationTime(const String& path, time_t& result) { double modificationTime; if (!webKitClient()->fileUtilities()->getFileModificationTime(path, modificationTime)) @@ -364,62 +363,62 @@ bool ChromiumBridge::getFileModificationTime(const String& path, time_t& result) return true; } -String ChromiumBridge::directoryName(const String& path) +String PlatformBridge::directoryName(const String& path) { return webKitClient()->fileUtilities()->directoryName(path); } -String ChromiumBridge::pathByAppendingComponent(const String& path, const String& component) +String PlatformBridge::pathByAppendingComponent(const String& path, const String& component) { return webKitClient()->fileUtilities()->pathByAppendingComponent(path, component); } -bool ChromiumBridge::makeAllDirectories(const String& path) +bool PlatformBridge::makeAllDirectories(const String& path) { return webKitClient()->fileUtilities()->makeAllDirectories(path); } -String ChromiumBridge::getAbsolutePath(const String& path) +String PlatformBridge::getAbsolutePath(const String& path) { return webKitClient()->fileUtilities()->getAbsolutePath(path); } -bool ChromiumBridge::isDirectory(const String& path) +bool PlatformBridge::isDirectory(const String& path) { return webKitClient()->fileUtilities()->isDirectory(path); } -KURL ChromiumBridge::filePathToURL(const String& path) +KURL PlatformBridge::filePathToURL(const String& path) { return webKitClient()->fileUtilities()->filePathToURL(path); } -PlatformFileHandle ChromiumBridge::openFile(const String& path, FileOpenMode mode) +PlatformFileHandle PlatformBridge::openFile(const String& path, FileOpenMode mode) { return webKitClient()->fileUtilities()->openFile(path, mode); } -void ChromiumBridge::closeFile(PlatformFileHandle& handle) +void PlatformBridge::closeFile(PlatformFileHandle& handle) { webKitClient()->fileUtilities()->closeFile(handle); } -long long ChromiumBridge::seekFile(PlatformFileHandle handle, long long offset, FileSeekOrigin origin) +long long PlatformBridge::seekFile(PlatformFileHandle handle, long long offset, FileSeekOrigin origin) { return webKitClient()->fileUtilities()->seekFile(handle, offset, origin); } -bool ChromiumBridge::truncateFile(PlatformFileHandle handle, long long offset) +bool PlatformBridge::truncateFile(PlatformFileHandle handle, long long offset) { return webKitClient()->fileUtilities()->truncateFile(handle, offset); } -int ChromiumBridge::readFromFile(PlatformFileHandle handle, char* data, int length) +int PlatformBridge::readFromFile(PlatformFileHandle handle, char* data, int length) { return webKitClient()->fileUtilities()->readFromFile(handle, data, length); } -int ChromiumBridge::writeToFile(PlatformFileHandle handle, const char* data, int length) +int PlatformBridge::writeToFile(PlatformFileHandle handle, const char* data, int length) { return webKitClient()->fileUtilities()->writeToFile(handle, data, length); } @@ -427,7 +426,7 @@ int ChromiumBridge::writeToFile(PlatformFileHandle handle, const char* data, int // Font ----------------------------------------------------------------------- #if OS(WINDOWS) -bool ChromiumBridge::ensureFontLoaded(HFONT font) +bool PlatformBridge::ensureFontLoaded(HFONT font) { WebSandboxSupport* ss = webKitClient()->sandboxSupport(); @@ -438,7 +437,7 @@ bool ChromiumBridge::ensureFontLoaded(HFONT font) #endif #if OS(LINUX) || OS(FREEBSD) -String ChromiumBridge::getFontFamilyForCharacters(const UChar* characters, size_t numCharacters) +String PlatformBridge::getFontFamilyForCharacters(const UChar* characters, size_t numCharacters) { if (webKitClient()->sandboxSupport()) return webKitClient()->sandboxSupport()->getFontFamilyForCharacters(characters, numCharacters); @@ -450,7 +449,7 @@ String ChromiumBridge::getFontFamilyForCharacters(const UChar* characters, size_ return WebString(); } -void ChromiumBridge::getRenderStyleForStrike(const char* font, int sizeAndStyle, FontRenderStyle* result) +void PlatformBridge::getRenderStyleForStrike(const char* font, int sizeAndStyle, FontRenderStyle* result) { WebFontRenderStyle style; @@ -464,7 +463,7 @@ void ChromiumBridge::getRenderStyleForStrike(const char* font, int sizeAndStyle, #endif #if OS(DARWIN) -bool ChromiumBridge::loadFont(NSFont* srcFont, ATSFontContainerRef* out) +bool PlatformBridge::loadFont(NSFont* srcFont, ATSFontContainerRef* out) { WebSandboxSupport* ss = webKitClient()->sandboxSupport(); if (ss) @@ -481,42 +480,42 @@ bool ChromiumBridge::loadFont(NSFont* srcFont, ATSFontContainerRef* out) // Databases ------------------------------------------------------------------ -PlatformFileHandle ChromiumBridge::databaseOpenFile(const String& vfsFileName, int desiredFlags) +PlatformFileHandle PlatformBridge::databaseOpenFile(const String& vfsFileName, int desiredFlags) { return webKitClient()->databaseOpenFile(WebString(vfsFileName), desiredFlags); } -int ChromiumBridge::databaseDeleteFile(const String& vfsFileName, bool syncDir) +int PlatformBridge::databaseDeleteFile(const String& vfsFileName, bool syncDir) { return webKitClient()->databaseDeleteFile(WebString(vfsFileName), syncDir); } -long ChromiumBridge::databaseGetFileAttributes(const String& vfsFileName) +long PlatformBridge::databaseGetFileAttributes(const String& vfsFileName) { return webKitClient()->databaseGetFileAttributes(WebString(vfsFileName)); } -long long ChromiumBridge::databaseGetFileSize(const String& vfsFileName) +long long PlatformBridge::databaseGetFileSize(const String& vfsFileName) { return webKitClient()->databaseGetFileSize(WebString(vfsFileName)); } // Indexed Database ----------------------------------------------------------- -PassRefPtr<IDBFactoryBackendInterface> ChromiumBridge::idbFactory() +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 ChromiumBridge::idbShutdown() +void PlatformBridge::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) +void PlatformBridge::createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue> >& values, const String& keyPath, Vector<RefPtr<IDBKey> >& keys) { WebVector<WebSerializedScriptValue> webValues = values; WebVector<WebIDBKey> webKeys; @@ -530,7 +529,7 @@ void ChromiumBridge::createIDBKeysFromSerializedValuesAndKeyPath(const Vector<Re // Keygen --------------------------------------------------------------------- -String ChromiumBridge::signedPublicKeyAndChallengeString( +String PlatformBridge::signedPublicKeyAndChallengeString( unsigned keySizeIndex, const String& challenge, const KURL& url) { return webKitClient()->signedPublicKeyAndChallengeString(keySizeIndex, @@ -540,63 +539,63 @@ String ChromiumBridge::signedPublicKeyAndChallengeString( // Language ------------------------------------------------------------------- -String ChromiumBridge::computedDefaultLanguage() +String PlatformBridge::computedDefaultLanguage() { return webKitClient()->defaultLocale(); } // LayoutTestMode ------------------------------------------------------------- -bool ChromiumBridge::layoutTestMode() +bool PlatformBridge::layoutTestMode() { return WebKit::layoutTestMode(); } // MimeType ------------------------------------------------------------------- -bool ChromiumBridge::isSupportedImageMIMEType(const String& mimeType) +bool PlatformBridge::isSupportedImageMIMEType(const String& mimeType) { return webKitClient()->mimeRegistry()->supportsImageMIMEType(mimeType) != WebMimeRegistry::IsNotSupported; } -bool ChromiumBridge::isSupportedJavaScriptMIMEType(const String& mimeType) +bool PlatformBridge::isSupportedJavaScriptMIMEType(const String& mimeType) { return webKitClient()->mimeRegistry()->supportsJavaScriptMIMEType(mimeType) != WebMimeRegistry::IsNotSupported; } -bool ChromiumBridge::isSupportedNonImageMIMEType(const String& mimeType) +bool PlatformBridge::isSupportedNonImageMIMEType(const String& mimeType) { return webKitClient()->mimeRegistry()->supportsNonImageMIMEType(mimeType) != WebMimeRegistry::IsNotSupported; } -String ChromiumBridge::mimeTypeForExtension(const String& extension) +String PlatformBridge::mimeTypeForExtension(const String& extension) { return webKitClient()->mimeRegistry()->mimeTypeForExtension(extension); } -String ChromiumBridge::mimeTypeFromFile(const String& path) +String PlatformBridge::mimeTypeFromFile(const String& path) { return webKitClient()->mimeRegistry()->mimeTypeFromFile(path); } -String ChromiumBridge::preferredExtensionForMIMEType(const String& mimeType) +String PlatformBridge::preferredExtensionForMIMEType(const String& mimeType) { return webKitClient()->mimeRegistry()->preferredExtensionForMIMEType(mimeType); } // Plugin --------------------------------------------------------------------- -bool ChromiumBridge::plugins(bool refresh, Vector<PluginInfo>* results) +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* ChromiumBridge::pluginScriptableObject(Widget* widget) +NPObject* PlatformBridge::pluginScriptableObject(Widget* widget) { if (!widget || !widget->isPluginContainer()) return 0; @@ -606,7 +605,7 @@ NPObject* ChromiumBridge::pluginScriptableObject(Widget* widget) // Resources ------------------------------------------------------------------ -PassRefPtr<Image> ChromiumBridge::loadPlatformImageResource(const char* name) +PassRefPtr<Image> PlatformBridge::loadPlatformImageResource(const char* name) { const WebData& resource = webKitClient()->loadResource(name); if (resource.isEmpty()) @@ -619,7 +618,7 @@ PassRefPtr<Image> ChromiumBridge::loadPlatformImageResource(const char* name) #if ENABLE(WEB_AUDIO) -PassOwnPtr<AudioBus> ChromiumBridge::loadPlatformAudioResource(const char* name, double sampleRate) +PassOwnPtr<AudioBus> PlatformBridge::loadPlatformAudioResource(const char* name, double sampleRate) { const WebData& resource = webKitClient()->loadResource(name); if (resource.isEmpty()) @@ -628,7 +627,7 @@ PassOwnPtr<AudioBus> ChromiumBridge::loadPlatformAudioResource(const char* name, return decodeAudioFileData(resource.data(), resource.size(), sampleRate); } -PassOwnPtr<AudioBus> ChromiumBridge::decodeAudioFileData(const char* data, size_t size, double sampleRate) +PassOwnPtr<AudioBus> PlatformBridge::decodeAudioFileData(const char* data, size_t size, double sampleRate) { WebAudioBus webAudioBus; if (webKitClient()->loadAudioResource(&webAudioBus, data, size, sampleRate)) @@ -640,60 +639,60 @@ PassOwnPtr<AudioBus> ChromiumBridge::decodeAudioFileData(const char* data, size_ // Sandbox -------------------------------------------------------------------- -bool ChromiumBridge::sandboxEnabled() +bool PlatformBridge::sandboxEnabled() { return webKitClient()->sandboxEnabled(); } // SharedTimers --------------------------------------------------------------- -void ChromiumBridge::setSharedTimerFiredFunction(void (*func)()) +void PlatformBridge::setSharedTimerFiredFunction(void (*func)()) { webKitClient()->setSharedTimerFiredFunction(func); } -void ChromiumBridge::setSharedTimerFireTime(double fireTime) +void PlatformBridge::setSharedTimerFireTime(double fireTime) { webKitClient()->setSharedTimerFireTime(fireTime); } -void ChromiumBridge::stopSharedTimer() +void PlatformBridge::stopSharedTimer() { webKitClient()->stopSharedTimer(); } // StatsCounters -------------------------------------------------------------- -void ChromiumBridge::decrementStatsCounter(const char* name) +void PlatformBridge::decrementStatsCounter(const char* name) { webKitClient()->decrementStatsCounter(name); } -void ChromiumBridge::incrementStatsCounter(const char* name) +void PlatformBridge::incrementStatsCounter(const char* name) { webKitClient()->incrementStatsCounter(name); } -void ChromiumBridge::histogramCustomCounts(const char* name, int sample, int min, int max, int bucketCount) +void PlatformBridge::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) +void PlatformBridge::histogramEnumeration(const char* name, int sample, int boundaryValue) { webKitClient()->histogramEnumeration(name, sample, boundaryValue); } // Sudden Termination --------------------------------------------------------- -void ChromiumBridge::suddenTerminationChanged(bool enabled) +void PlatformBridge::suddenTerminationChanged(bool enabled) { webKitClient()->suddenTerminationChanged(enabled); } // SystemTime ----------------------------------------------------------------- -double ChromiumBridge::currentTime() +double PlatformBridge::currentTime() { return webKitClient()->currentTime(); } @@ -702,7 +701,7 @@ double ChromiumBridge::currentTime() #if OS(WINDOWS) -void ChromiumBridge::paintButton( +void PlatformBridge::paintButton( GraphicsContext* gc, int part, int state, int classicState, const IntRect& rect) { @@ -710,7 +709,7 @@ void ChromiumBridge::paintButton( gc->platformContext()->canvas(), part, state, classicState, rect); } -void ChromiumBridge::paintMenuList( +void PlatformBridge::paintMenuList( GraphicsContext* gc, int part, int state, int classicState, const IntRect& rect) { @@ -718,7 +717,7 @@ void ChromiumBridge::paintMenuList( gc->platformContext()->canvas(), part, state, classicState, rect); } -void ChromiumBridge::paintScrollbarArrow( +void PlatformBridge::paintScrollbarArrow( GraphicsContext* gc, int state, int classicState, const IntRect& rect) { @@ -726,7 +725,7 @@ void ChromiumBridge::paintScrollbarArrow( gc->platformContext()->canvas(), state, classicState, rect); } -void ChromiumBridge::paintScrollbarThumb( +void PlatformBridge::paintScrollbarThumb( GraphicsContext* gc, int part, int state, int classicState, const IntRect& rect) { @@ -734,7 +733,7 @@ void ChromiumBridge::paintScrollbarThumb( gc->platformContext()->canvas(), part, state, classicState, rect); } -void ChromiumBridge::paintScrollbarTrack( +void PlatformBridge::paintScrollbarTrack( GraphicsContext* gc, int part, int state, int classicState, const IntRect& rect, const IntRect& alignRect) { @@ -743,7 +742,7 @@ void ChromiumBridge::paintScrollbarTrack( alignRect); } -void ChromiumBridge::paintSpinButton( +void PlatformBridge::paintSpinButton( GraphicsContext* gc, int part, int state, int classicState, const IntRect& rect) { @@ -751,7 +750,7 @@ void ChromiumBridge::paintSpinButton( gc->platformContext()->canvas(), part, state, classicState, rect); } -void ChromiumBridge::paintTextField( +void PlatformBridge::paintTextField( GraphicsContext* gc, int part, int state, int classicState, const IntRect& rect, const Color& color, bool fillContentArea, bool drawEdges) @@ -764,7 +763,7 @@ void ChromiumBridge::paintTextField( backgroundColor, fillContentArea, drawEdges); } -void ChromiumBridge::paintTrackbar( +void PlatformBridge::paintTrackbar( GraphicsContext* gc, int part, int state, int classicState, const IntRect& rect) { @@ -772,7 +771,7 @@ void ChromiumBridge::paintTrackbar( gc->platformContext()->canvas(), part, state, classicState, rect); } -void ChromiumBridge::paintProgressBar( +void PlatformBridge::paintProgressBar( GraphicsContext* gc, const IntRect& barRect, const IntRect& valueRect, bool determinate, double animatedSeconds) { webKitClient()->themeEngine()->paintProgressBar( @@ -781,50 +780,101 @@ void ChromiumBridge::paintProgressBar( #elif OS(LINUX) -static WebThemeEngine::Part WebThemePart(ChromiumBridge::ThemePart part) +static WebThemeEngine::Part WebThemePart(PlatformBridge::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; + 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; + case PlatformBridge::PartCheckbox: return WebThemeEngine::PartCheckbox; + case PlatformBridge::PartRadio: return WebThemeEngine::PartRadio; + case PlatformBridge::PartButton: return WebThemeEngine::PartButton; + case PlatformBridge::PartTextField: return WebThemeEngine::PartTextField; + case PlatformBridge::PartMenuList: return WebThemeEngine::PartMenuList; + case PlatformBridge::PartSliderTrack: return WebThemeEngine::PartSliderTrack; + case PlatformBridge::PartSliderThumb: return WebThemeEngine::PartSliderThumb; + case PlatformBridge::PartInnerSpinButton: return WebThemeEngine::PartInnerSpinButton; + case PlatformBridge::PartProgressBar: return WebThemeEngine::PartProgressBar; } ASSERT_NOT_REACHED(); return WebThemeEngine::PartScrollbarDownArrow; } -static WebThemeEngine::State WebThemeState(ChromiumBridge::ThemePaintState state) +static WebThemeEngine::State WebThemeState(PlatformBridge::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; + 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(ChromiumBridge::ThemePart part, ChromiumBridge::ThemePaintState state, const ChromiumBridge::ThemePaintExtraParams* extraParams, WebThemeEngine::ExtraParams* webThemeExtraParams) +static void GetWebThemeExtraParams(PlatformBridge::ThemePart part, PlatformBridge::ThemePaintState state, const PlatformBridge::ThemePaintExtraParams* extraParams, WebThemeEngine::ExtraParams* webThemeExtraParams) { - if (part == ChromiumBridge::PartScrollbarHorizontalTrack || part == ChromiumBridge::PartScrollbarVerticalTrack) { + switch (part) { + case PlatformBridge::PartScrollbarHorizontalTrack: + case 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; + break; + case PlatformBridge::PartCheckbox: + webThemeExtraParams->button.checked = extraParams->button.checked; + webThemeExtraParams->button.indeterminate = extraParams->button.indeterminate; + break; + case PlatformBridge::PartRadio: + webThemeExtraParams->button.checked = extraParams->button.checked; + break; + case PlatformBridge::PartButton: + webThemeExtraParams->button.isDefault = extraParams->button.isDefault; + webThemeExtraParams->button.backgroundColor = extraParams->button.backgroundColor; + break; + case PlatformBridge::PartTextField: + webThemeExtraParams->textField.isTextArea = extraParams->textField.isTextArea; + webThemeExtraParams->textField.isListbox = extraParams->textField.isListbox; + webThemeExtraParams->textField.backgroundColor = extraParams->textField.backgroundColor; + break; + case PlatformBridge::PartMenuList: + webThemeExtraParams->menuList.arrowX = extraParams->menuList.arrowX; + webThemeExtraParams->menuList.arrowY = extraParams->menuList.arrowY; + webThemeExtraParams->menuList.backgroundColor = extraParams->menuList.backgroundColor; + break; + case PlatformBridge::PartSliderTrack: + case PlatformBridge::PartSliderThumb: + webThemeExtraParams->slider.vertical = extraParams->slider.vertical; + webThemeExtraParams->slider.inDrag = extraParams->slider.inDrag; + break; + case PlatformBridge::PartInnerSpinButton: + webThemeExtraParams->innerSpin.spinUp = extraParams->innerSpin.spinUp; + webThemeExtraParams->innerSpin.readOnly = extraParams->innerSpin.readOnly; + break; + case PlatformBridge::PartProgressBar: + webThemeExtraParams->progressBar.determinate = extraParams->progressBar.determinate; + webThemeExtraParams->progressBar.valueRectX = extraParams->progressBar.valueRectX; + webThemeExtraParams->progressBar.valueRectY = extraParams->progressBar.valueRectY; + webThemeExtraParams->progressBar.valueRectWidth = extraParams->progressBar.valueRectWidth; + webThemeExtraParams->progressBar.valueRectHeight = extraParams->progressBar.valueRectHeight; + break; + default: + break; // Parts that have no extra params get here. } } -IntSize ChromiumBridge::getThemePartSize(ThemePart part) +IntSize PlatformBridge::getThemePartSize(ThemePart part) { return webKitClient()->themeEngine()->getSize(WebThemePart(part)); } -void ChromiumBridge::paintThemePart( +void PlatformBridge::paintThemePart( GraphicsContext* gc, ThemePart part, ThemePaintState state, const IntRect& rect, const ThemePaintExtraParams* extraParams) { WebThemeEngine::ExtraParams webThemeExtraParams; @@ -835,7 +885,7 @@ void ChromiumBridge::paintThemePart( #elif OS(DARWIN) -void ChromiumBridge::paintScrollbarThumb( +void PlatformBridge::paintScrollbarThumb( GraphicsContext* gc, ThemePaintState state, ThemePaintSize size, const IntRect& rect, const ThemePaintScrollbarInfo& scrollbarInfo) { WebThemeEngine::ScrollbarInfo webThemeScrollbarInfo; @@ -859,19 +909,19 @@ void ChromiumBridge::paintScrollbarThumb( // Trace Event ---------------------------------------------------------------- -void ChromiumBridge::traceEventBegin(const char* name, void* id, const char* extra) +void PlatformBridge::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) +void PlatformBridge::traceEventEnd(const char* name, void* id, const char* extra) { webKitClient()->traceEventEnd(name, id, extra); } // Visited Links -------------------------------------------------------------- -LinkHash ChromiumBridge::visitedLinkHash(const UChar* url, unsigned length) +LinkHash PlatformBridge::visitedLinkHash(const UChar* url, unsigned length) { url_canon::RawCanonOutput<2048> buffer; url_parse::Parsed parsed; @@ -880,7 +930,7 @@ LinkHash ChromiumBridge::visitedLinkHash(const UChar* url, unsigned length) return webKitClient()->visitedLinkHash(buffer.data(), buffer.length()); } -LinkHash ChromiumBridge::visitedLinkHash(const KURL& base, +LinkHash PlatformBridge::visitedLinkHash(const KURL& base, const AtomicString& attributeURL) { // Resolve the relative URL using googleurl and pass the absolute URL up to @@ -914,7 +964,7 @@ LinkHash ChromiumBridge::visitedLinkHash(const KURL& base, return webKitClient()->visitedLinkHash(buffer.data(), buffer.length()); } -bool ChromiumBridge::isLinkVisited(LinkHash visitedLinkHash) +bool PlatformBridge::isLinkVisited(LinkHash visitedLinkHash) { return webKitClient()->isLinkVisited(visitedLinkHash); } @@ -923,7 +973,7 @@ bool ChromiumBridge::isLinkVisited(LinkHash visitedLinkHash) // Glue layer. Once the Glue layer moves entirely into the WebKit layer, these // methods will be deleted. -void ChromiumBridge::notifyJSOutOfMemory(Frame* frame) +void PlatformBridge::notifyJSOutOfMemory(Frame* frame) { if (!frame) return; @@ -934,17 +984,17 @@ void ChromiumBridge::notifyJSOutOfMemory(Frame* frame) webFrame->client()->didExhaustMemoryAvailableForScript(webFrame); } -int ChromiumBridge::memoryUsageMB() +int PlatformBridge::memoryUsageMB() { return static_cast<int>(webKitClient()->memoryUsageMB()); } -int ChromiumBridge::actualMemoryUsageMB() +int PlatformBridge::actualMemoryUsageMB() { return static_cast<int>(webKitClient()->actualMemoryUsageMB()); } -int ChromiumBridge::screenDepth(Widget* widget) +int PlatformBridge::screenDepth(Widget* widget) { WebWidgetClient* client = toWebWidgetClient(widget); if (!client) @@ -952,7 +1002,7 @@ int ChromiumBridge::screenDepth(Widget* widget) return client->screenInfo().depth; } -int ChromiumBridge::screenDepthPerComponent(Widget* widget) +int PlatformBridge::screenDepthPerComponent(Widget* widget) { WebWidgetClient* client = toWebWidgetClient(widget); if (!client) @@ -960,7 +1010,7 @@ int ChromiumBridge::screenDepthPerComponent(Widget* widget) return client->screenInfo().depthPerComponent; } -bool ChromiumBridge::screenIsMonochrome(Widget* widget) +bool PlatformBridge::screenIsMonochrome(Widget* widget) { WebWidgetClient* client = toWebWidgetClient(widget); if (!client) @@ -968,7 +1018,7 @@ bool ChromiumBridge::screenIsMonochrome(Widget* widget) return client->screenInfo().isMonochrome; } -IntRect ChromiumBridge::screenRect(Widget* widget) +IntRect PlatformBridge::screenRect(Widget* widget) { WebWidgetClient* client = toWebWidgetClient(widget); if (!client) @@ -976,7 +1026,7 @@ IntRect ChromiumBridge::screenRect(Widget* widget) return client->screenInfo().rect; } -IntRect ChromiumBridge::screenAvailableRect(Widget* widget) +IntRect PlatformBridge::screenAvailableRect(Widget* widget) { WebWidgetClient* client = toWebWidgetClient(widget); if (!client) @@ -984,19 +1034,12 @@ IntRect ChromiumBridge::screenAvailableRect(Widget* widget) return client->screenInfo().availableRect; } -bool ChromiumBridge::popupsAllowed(NPP npp) +bool PlatformBridge::popupsAllowed(NPP npp) { // FIXME: Give the embedder a way to control this. return false; } -void ChromiumBridge::widgetSetCursor(Widget* widget, const Cursor& cursor) -{ - ChromeClientImpl* client = toChromeClientImpl(widget); - if (client) - client->setCursor(WebCursorInfo(cursor)); -} - WorkerContextProxy* WorkerContextProxy::create(Worker* worker) { return WebWorkerClientImpl::createWorkerContextProxy(worker); 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/SpeechInputClientImpl.cpp b/Source/WebKit/chromium/src/SpeechInputClientImpl.cpp index b5ed384..e481f6e 100644 --- a/Source/WebKit/chromium/src/SpeechInputClientImpl.cpp +++ b/Source/WebKit/chromium/src/SpeechInputClientImpl.cpp @@ -32,7 +32,9 @@ #include "SpeechInputClientImpl.h" #include "PlatformString.h" +#include "SecurityOrigin.h" #include "SpeechInputListener.h" +#include "WebSecurityOrigin.h" #include "WebSpeechInputController.h" #include "WebString.h" #include "WebViewClient.h" @@ -62,10 +64,10 @@ void SpeechInputClientImpl::setListener(WebCore::SpeechInputListener* listener) m_listener = listener; } -bool SpeechInputClientImpl::startRecognition(int requestId, const WebCore::IntRect& elementRect, const AtomicString& language, const String& grammar) +bool SpeechInputClientImpl::startRecognition(int requestId, const WebCore::IntRect& elementRect, const AtomicString& language, const String& grammar, WebCore::SecurityOrigin* origin) { ASSERT(m_listener); - return m_controller->startRecognition(requestId, elementRect, language, grammar); + return m_controller->startRecognition(requestId, elementRect, language, grammar, WebSecurityOrigin(origin)); } void SpeechInputClientImpl::stopRecording(int requestId) diff --git a/Source/WebKit/chromium/src/SpeechInputClientImpl.h b/Source/WebKit/chromium/src/SpeechInputClientImpl.h index 520803a..a81151d 100644 --- a/Source/WebKit/chromium/src/SpeechInputClientImpl.h +++ b/Source/WebKit/chromium/src/SpeechInputClientImpl.h @@ -40,6 +40,7 @@ #include <wtf/PassOwnPtr.h> namespace WebCore { +class SecurityOrigin; class SpeechInputListener; } @@ -57,7 +58,7 @@ public: // SpeechInputClient methods. void setListener(WebCore::SpeechInputListener*); - bool startRecognition(int requestId, const WebCore::IntRect& elementRect, const AtomicString& language, const String& grammar); + bool startRecognition(int requestId, const WebCore::IntRect& elementRect, const AtomicString& language, const String& grammar, WebCore::SecurityOrigin*); void stopRecording(int); void cancelRecognition(int); diff --git a/Source/WebKit/chromium/src/VideoFrameChromiumImpl.cpp b/Source/WebKit/chromium/src/VideoFrameChromiumImpl.cpp index 99e3e1e..86545b7 100644 --- a/Source/WebKit/chromium/src/VideoFrameChromiumImpl.cpp +++ b/Source/WebKit/chromium/src/VideoFrameChromiumImpl.cpp @@ -111,6 +111,7 @@ const IntSize VideoFrameChromiumImpl::requiredTextureSize(unsigned plane) const { switch (format()) { case RGBA: + case YV16: return IntSize(stride(plane), height()); case YV12: if (plane == static_cast<unsigned>(yPlane)) diff --git a/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h b/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h index 866a1cb..dc7d2df 100644 --- a/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h +++ b/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h @@ -55,8 +55,8 @@ struct WebDevToolsMessageData; using WTF::String; -class WebDevToolsFrontendImpl : public WebKit::WebDevToolsFrontend - , public Noncopyable { +class WebDevToolsFrontendImpl : public WebKit::WebDevToolsFrontend { + WTF_MAKE_NONCOPYABLE(WebDevToolsFrontendImpl); public: WebDevToolsFrontendImpl( WebKit::WebViewImpl* webViewImpl, diff --git a/Source/WebKit/chromium/src/WebFontImpl.cpp b/Source/WebKit/chromium/src/WebFontImpl.cpp index 8c61997..e1fa0e7 100644 --- a/Source/WebKit/chromium/src/WebFontImpl.cpp +++ b/Source/WebKit/chromium/src/WebFontImpl.cpp @@ -35,6 +35,7 @@ #include "FontDescription.h" #include "GraphicsContext.h" #include "PlatformContextSkia.h" +#include "TextRun.h" #include "WebFloatPoint.h" #include "WebFloatRect.h" #include "WebFontDescription.h" diff --git a/Source/WebKit/chromium/src/WebFrameImpl.cpp b/Source/WebKit/chromium/src/WebFrameImpl.cpp index a13eec0..8651fa8 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" @@ -284,7 +284,8 @@ WebPluginContainerImpl* WebFrameImpl::pluginContainerFromFrame(Frame* frame) // Simple class to override some of PrintContext behavior. Some of the methods // made virtual so that they can be overriden by ChromePluginPrintContext. -class ChromePrintContext : public PrintContext, public Noncopyable { +class ChromePrintContext : public PrintContext { + WTF_MAKE_NONCOPYABLE(ChromePrintContext); public: ChromePrintContext(Frame* frame) : PrintContext(frame) @@ -883,6 +884,17 @@ void WebFrameImpl::loadHistoryItem(const WebHistoryItem& item) RefPtr<HistoryItem> historyItem = PassRefPtr<HistoryItem>(item); ASSERT(historyItem.get()); + // Sanity check for http://webkit.org/b/52819. It appears that some child + // items of this item might be null. Try validating just the first set of + // children in an attempt to catch it early. + const HistoryItemVector& childItems = historyItem->children(); + int size = childItems.size(); + for (int i = 0; i < size; ++i) { + RefPtr<HistoryItem> childItem = childItems[i].get(); + if (!childItem.get()) + CRASH(); + } + // If there is no currentItem, which happens when we are navigating in // session history after a crash, we need to manufacture one otherwise WebKit // hoarks. This is probably the wrong thing to do, but it seems to work. @@ -1198,6 +1210,9 @@ void WebFrameImpl::enableContinuousSpellChecking(bool enable) { if (enable == isContinuousSpellCheckingEnabled()) return; + // Note, the editor will will notify the client that the continuous spell + // checking state has changed by calling + // WebFrameClient::didToggleContinuousSpellChecking(). frame()->editor()->toggleContinuousSpellChecking(); } @@ -1820,13 +1835,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/WebGeolocationPermissionRequest.cpp b/Source/WebKit/chromium/src/WebGeolocationPermissionRequest.cpp index 8d8c53e..53eca19 100644 --- a/Source/WebKit/chromium/src/WebGeolocationPermissionRequest.cpp +++ b/Source/WebKit/chromium/src/WebGeolocationPermissionRequest.cpp @@ -38,7 +38,7 @@ namespace WebKit { WebSecurityOrigin WebGeolocationPermissionRequest::securityOrigin() const { - return WebSecurityOrigin::create(m_private->frame()->document()->url()); + return WebSecurityOrigin(m_private->frame()->document()->securityOrigin()); } void WebGeolocationPermissionRequest::setIsAllowed(bool allowed) diff --git a/Source/WebKit/chromium/src/WebPopupMenuImpl.cpp b/Source/WebKit/chromium/src/WebPopupMenuImpl.cpp index 63ebed8..a209e6a 100644 --- a/Source/WebKit/chromium/src/WebPopupMenuImpl.cpp +++ b/Source/WebKit/chromium/src/WebPopupMenuImpl.cpp @@ -151,6 +151,10 @@ void WebPopupMenuImpl::resize(const WebSize& newSize) } } +void WebPopupMenuImpl::animate() +{ +} + void WebPopupMenuImpl::layout() { } @@ -299,6 +303,10 @@ void WebPopupMenuImpl::invalidateContentsForSlowScroll(const IntRect& updateRect invalidateContentsAndWindow(updateRect, immediate); } +void WebPopupMenuImpl::scheduleAnimation() +{ +} + void WebPopupMenuImpl::scroll(const IntSize& scrollDelta, const IntRect& scrollRect, const IntRect& clipRect) diff --git a/Source/WebKit/chromium/src/WebPopupMenuImpl.h b/Source/WebKit/chromium/src/WebPopupMenuImpl.h index b8ef7ba..7bb9f7e 100644 --- a/Source/WebKit/chromium/src/WebPopupMenuImpl.h +++ b/Source/WebKit/chromium/src/WebPopupMenuImpl.h @@ -56,11 +56,13 @@ struct WebRect; class WebPopupMenuImpl : public WebPopupMenu, public WebCore::FramelessScrollViewClient, public RefCounted<WebPopupMenuImpl> { + WTF_MAKE_FAST_ALLOCATED; public: // WebWidget virtual void close(); virtual WebSize size() { return m_size; } virtual void resize(const WebSize&); + virtual void animate(); virtual void layout(); virtual void paint(WebCanvas* canvas, const WebRect& rect); virtual void themeChanged(); @@ -105,6 +107,7 @@ public: virtual void invalidateWindow(const WebCore::IntRect&, bool); virtual void invalidateContentsAndWindow(const WebCore::IntRect&, bool); virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool); + virtual void scheduleAnimation(); virtual void scroll( const WebCore::IntSize& scrollDelta, const WebCore::IntRect& scrollRect, const WebCore::IntRect& clipRect); diff --git a/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp b/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp index edb0413..0b5d397 100644 --- a/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp +++ b/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp @@ -184,6 +184,22 @@ bool WebRuntimeFeatures::isIndexedDatabaseEnabled() #endif } +void WebRuntimeFeatures::enableWebAudio(bool enable) +{ +#if ENABLE(WEB_AUDIO) + RuntimeEnabledFeatures::setWebkitAudioContextEnabled(enable); +#endif +} + +bool WebRuntimeFeatures::isWebAudioEnabled() +{ +#if ENABLE(WEB_AUDIO) + return RuntimeEnabledFeatures::webkitAudioContextEnabled(); +#else + return false; +#endif +} + void WebRuntimeFeatures::enableWebGL(bool enable) { #if ENABLE(3D_CANVAS) diff --git a/Source/WebKit/chromium/src/WebScriptController.cpp b/Source/WebKit/chromium/src/WebScriptController.cpp index 0aa11a6..10bc68f 100644 --- a/Source/WebKit/chromium/src/WebScriptController.cpp +++ b/Source/WebKit/chromium/src/WebScriptController.cpp @@ -54,7 +54,7 @@ void WebScriptController::enableV8SingleThreadMode() void WebScriptController::flushConsoleMessages() { - WebCore::V8Proxy::processConsoleMessages(); + // FIXME: remove this method after all it's usages are gone. } } // namespace WebKit diff --git a/Source/WebKit/chromium/src/WebScrollbarImpl.cpp b/Source/WebKit/chromium/src/WebScrollbarImpl.cpp index 8b9e287..05d2d1f 100644 --- a/Source/WebKit/chromium/src/WebScrollbarImpl.cpp +++ b/Source/WebKit/chromium/src/WebScrollbarImpl.cpp @@ -62,9 +62,10 @@ int WebScrollbar::defaultThickness() WebScrollbarImpl::WebScrollbarImpl(WebScrollbarClient* client, Orientation orientation) : m_client(client) + , m_scrollOffset(0) { m_scrollbar = Scrollbar::createNativeScrollbar( - static_cast<ScrollbarClient*>(this), + static_cast<ScrollableArea*>(this), static_cast<ScrollbarOrientation>(orientation), RegularScrollbar); } @@ -89,12 +90,12 @@ void WebScrollbarImpl::setLocation(const WebRect& rect) int WebScrollbarImpl::value() const { - return m_scrollbar->value(); + return m_scrollOffset; } void WebScrollbarImpl::setValue(int position) { - m_scrollbar->setValue(position, Scrollbar::NotFromScrollAnimator); + WebCore::ScrollableArea::scrollToOffsetWithoutAnimation(m_scrollbar->orientation(), position); } void WebScrollbarImpl::setDocumentSize(int size) @@ -112,7 +113,8 @@ void WebScrollbarImpl::scroll(ScrollDirection direction, ScrollGranularity granu dir = horizontal ? ScrollRight : ScrollDown; else dir = horizontal ? ScrollLeft : ScrollUp; - m_scrollbar->scroll(dir, static_cast<WebCore::ScrollGranularity>(granularity), multiplier); + + WebCore::ScrollableArea::scroll(dir, static_cast<WebCore::ScrollGranularity>(granularity), multiplier); } void WebScrollbarImpl::paint(WebCanvas* canvas, const WebRect& rect) @@ -167,11 +169,11 @@ bool WebScrollbarImpl::onMouseDown(const WebInputEvent& event) if (!m_scrollbar->frameRect().contains(mousedown.x, mousedown.y)) return false; - mousedown.x -= m_scrollbar->x(); - mousedown.y -= m_scrollbar->y(); - m_scrollbar->mouseDown(PlatformMouseEventBuilder(m_scrollbar.get(), mousedown)); - return true; - } + mousedown.x -= m_scrollbar->x(); + mousedown.y -= m_scrollbar->y(); + m_scrollbar->mouseDown(PlatformMouseEventBuilder(m_scrollbar.get(), mousedown)); + return true; +} bool WebScrollbarImpl::onMouseUp(const WebInputEvent& event) { @@ -183,16 +185,16 @@ bool WebScrollbarImpl::onMouseUp(const WebInputEvent& event) bool WebScrollbarImpl::onMouseMove(const WebInputEvent& event) { - WebMouseEvent mousemove = *static_cast<const WebMouseEvent*>(&event); - if (m_scrollbar->frameRect().contains(mousemove.x, mousemove.y) - || m_scrollbar->pressedPart() != NoPart) { - mousemove.x -= m_scrollbar->x(); - mousemove.y -= m_scrollbar->y(); - return m_scrollbar->mouseMoved(PlatformMouseEventBuilder(m_scrollbar.get(), mousemove)); - } + WebMouseEvent mousemove = *static_cast<const WebMouseEvent*>(&event); + if (m_scrollbar->frameRect().contains(mousemove.x, mousemove.y) + || m_scrollbar->pressedPart() != NoPart) { + mousemove.x -= m_scrollbar->x(); + mousemove.y -= m_scrollbar->y(); + return m_scrollbar->mouseMoved(PlatformMouseEventBuilder(m_scrollbar.get(), mousemove)); + } - if (m_scrollbar->hoveredPart() != NoPart) - m_scrollbar->mouseExited(); + if (m_scrollbar->hoveredPart() != NoPart) + m_scrollbar->mouseExited(); return false; } @@ -206,59 +208,59 @@ bool WebScrollbarImpl::onMouseLeave(const WebInputEvent& event) bool WebScrollbarImpl::onMouseWheel(const WebInputEvent& event) { - // Same logic as in Scrollview.cpp. If we can move at all, we'll accept the event. - WebMouseWheelEvent mousewheel = *static_cast<const WebMouseWheelEvent*>(&event); - int maxScrollDelta = m_scrollbar->maximum() - m_scrollbar->value(); - float delta = m_scrollbar->orientation() == HorizontalScrollbar ? mousewheel.deltaX : mousewheel.deltaY; - if ((delta < 0 && maxScrollDelta > 0) || (delta > 0 && m_scrollbar->value() > 0)) { - if (mousewheel.scrollByPage) { - ASSERT(m_scrollbar->orientation() == VerticalScrollbar); - bool negative = delta < 0; - delta = max(max(static_cast<float>(m_scrollbar->visibleSize()) * Scrollbar::minFractionToStepWhenPaging(), static_cast<float>(m_scrollbar->visibleSize() - Scrollbar::maxOverlapBetweenPages())), 1.0f); - if (negative) - delta *= -1; - } - m_scrollbar->scroll((m_scrollbar->orientation() == HorizontalScrollbar) ? WebCore::ScrollLeft : WebCore::ScrollUp, WebCore::ScrollByPixel, delta); - return true; + // Same logic as in Scrollview.cpp. If we can move at all, we'll accept the event. + WebMouseWheelEvent mousewheel = *static_cast<const WebMouseWheelEvent*>(&event); + int maxScrollDelta = m_scrollbar->maximum() - m_scrollbar->value(); + float delta = m_scrollbar->orientation() == HorizontalScrollbar ? mousewheel.deltaX : mousewheel.deltaY; + if ((delta < 0 && maxScrollDelta > 0) || (delta > 0 && m_scrollbar->value() > 0)) { + if (mousewheel.scrollByPage) { + ASSERT(m_scrollbar->orientation() == VerticalScrollbar); + bool negative = delta < 0; + delta = max(max(static_cast<float>(m_scrollbar->visibleSize()) * Scrollbar::minFractionToStepWhenPaging(), static_cast<float>(m_scrollbar->visibleSize() - Scrollbar::maxOverlapBetweenPages())), 1.0f); + if (negative) + delta *= -1; } + WebCore::ScrollableArea::scroll((m_scrollbar->orientation() == HorizontalScrollbar) ? WebCore::ScrollLeft : WebCore::ScrollUp, WebCore::ScrollByPixel, delta); + return true; + } return false; } bool WebScrollbarImpl::onKeyDown(const WebInputEvent& event) { - WebKeyboardEvent keyboard = *static_cast<const WebKeyboardEvent*>(&event); - int keyCode; - // We have to duplicate this logic from WebViewImpl because there it uses - // Char and RawKeyDown events, which don't exist at this point. - if (keyboard.windowsKeyCode == VKEY_SPACE) - keyCode = ((keyboard.modifiers & WebInputEvent::ShiftKey) ? VKEY_PRIOR : VKEY_NEXT); - else { - if (keyboard.modifiers == WebInputEvent::ControlKey) { - // Match FF behavior in the sense that Ctrl+home/end are the only Ctrl - // key combinations which affect scrolling. Safari is buggy in the - // sense that it scrolls the page for all Ctrl+scrolling key - // combinations. For e.g. Ctrl+pgup/pgdn/up/down, etc. - switch (keyboard.windowsKeyCode) { - case VKEY_HOME: - case VKEY_END: - break; - default: - return false; - } + WebKeyboardEvent keyboard = *static_cast<const WebKeyboardEvent*>(&event); + int keyCode; + // We have to duplicate this logic from WebViewImpl because there it uses + // Char and RawKeyDown events, which don't exist at this point. + if (keyboard.windowsKeyCode == VKEY_SPACE) + keyCode = ((keyboard.modifiers & WebInputEvent::ShiftKey) ? VKEY_PRIOR : VKEY_NEXT); + else { + if (keyboard.modifiers == WebInputEvent::ControlKey) { + // Match FF behavior in the sense that Ctrl+home/end are the only Ctrl + // key combinations which affect scrolling. Safari is buggy in the + // sense that it scrolls the page for all Ctrl+scrolling key + // combinations. For e.g. Ctrl+pgup/pgdn/up/down, etc. + switch (keyboard.windowsKeyCode) { + case VKEY_HOME: + case VKEY_END: + break; + default: + return false; } + } - if (keyboard.isSystemKey || (keyboard.modifiers & WebInputEvent::ShiftKey)) - return false; + if (keyboard.isSystemKey || (keyboard.modifiers & WebInputEvent::ShiftKey)) + return false; - keyCode = keyboard.windowsKeyCode; - } - WebCore::ScrollDirection scrollDirection; - WebCore::ScrollGranularity scrollGranularity; - if (WebViewImpl::mapKeyCodeForScroll(keyCode, &scrollDirection, &scrollGranularity)) { - // Will return false if scroll direction wasn't compatible with this scrollbar. - return m_scrollbar->scroll(scrollDirection, scrollGranularity); - } + keyCode = keyboard.windowsKeyCode; + } + WebCore::ScrollDirection scrollDirection; + WebCore::ScrollGranularity scrollGranularity; + if (WebViewImpl::mapKeyCodeForScroll(keyCode, &scrollDirection, &scrollGranularity)) { + // Will return false if scroll direction wasn't compatible with this scrollbar. + return WebCore::ScrollableArea::scroll(scrollDirection, scrollGranularity); + } return false; } @@ -267,13 +269,18 @@ int WebScrollbarImpl::scrollSize(WebCore::ScrollbarOrientation orientation) cons return (orientation == m_scrollbar->orientation()) ? (m_scrollbar->totalSize() - m_scrollbar->visibleSize()) : 0; } -void WebScrollbarImpl::setScrollOffsetFromAnimation(const WebCore::IntPoint& offset) +int WebScrollbarImpl::scrollPosition(WebCore::Scrollbar*) const { - m_scrollbar->setValue((m_scrollbar->orientation() == HorizontalScrollbar) ? offset.x() : offset.y(), Scrollbar::FromScrollAnimator); + return m_scrollOffset; } -void WebScrollbarImpl::valueChanged(WebCore::Scrollbar*) +void WebScrollbarImpl::setScrollOffset(const WebCore::IntPoint& offset) { + if (m_scrollbar->orientation() == HorizontalScrollbar) + m_scrollOffset = offset.x(); + else + m_scrollOffset = offset.y(); + m_client->valueChanged(this); } diff --git a/Source/WebKit/chromium/src/WebScrollbarImpl.h b/Source/WebKit/chromium/src/WebScrollbarImpl.h index 5512867..4dcfd5d 100644 --- a/Source/WebKit/chromium/src/WebScrollbarImpl.h +++ b/Source/WebKit/chromium/src/WebScrollbarImpl.h @@ -31,7 +31,7 @@ #ifndef WebScrollbarImpl_h #define WebScrollbarImpl_h -#include "ScrollbarClient.h" +#include "ScrollableArea.h" #include "WebScrollbar.h" #include <wtf/RefPtr.h> @@ -43,7 +43,7 @@ class Scrollbar; namespace WebKit { class WebScrollbarImpl : public WebScrollbar, - public WebCore::ScrollbarClient { + public WebCore::ScrollableArea { public: WebScrollbarImpl(WebScrollbarClient*, Orientation orientation); ~WebScrollbarImpl(); @@ -57,10 +57,10 @@ public: virtual void paint(WebCanvas*, const WebRect&); virtual bool handleInputEvent(const WebInputEvent&); - // WebCore::ScrollbarClient methods - virtual int scrollSize(WebCore::ScrollbarOrientation orientation) const; - virtual void setScrollOffsetFromAnimation(const WebCore::IntPoint&); - virtual void valueChanged(WebCore::Scrollbar*); + // WebCore::ScrollableArea methods + virtual int scrollSize(WebCore::ScrollbarOrientation) const; + virtual int scrollPosition(WebCore::Scrollbar*) const; + virtual void setScrollOffset(const WebCore::IntPoint&); virtual void invalidateScrollbarRect(WebCore::Scrollbar*, const WebCore::IntRect&); virtual bool isActive() const; virtual bool scrollbarCornerPresent() const; @@ -76,6 +76,7 @@ private: WebScrollbarClient* m_client; + int m_scrollOffset; RefPtr<WebCore::Scrollbar> m_scrollbar; }; diff --git a/Source/WebKit/chromium/src/WebSettingsImpl.cpp b/Source/WebKit/chromium/src/WebSettingsImpl.cpp index c66a57b..0457f77 100644 --- a/Source/WebKit/chromium/src/WebSettingsImpl.cpp +++ b/Source/WebKit/chromium/src/WebSettingsImpl.cpp @@ -264,6 +264,11 @@ void WebSettingsImpl::setOfflineWebApplicationCacheEnabled(bool enabled) m_settings->setOfflineWebApplicationCacheEnabled(enabled); } +void WebSettingsImpl::setWebAudioEnabled(bool enabled) +{ + m_settings->setWebAudioEnabled(enabled); +} + void WebSettingsImpl::setExperimentalWebGLEnabled(bool enabled) { m_settings->setWebGLEnabled(enabled); diff --git a/Source/WebKit/chromium/src/WebSettingsImpl.h b/Source/WebKit/chromium/src/WebSettingsImpl.h index febc959..4960bb9 100644 --- a/Source/WebKit/chromium/src/WebSettingsImpl.h +++ b/Source/WebKit/chromium/src/WebSettingsImpl.h @@ -84,6 +84,7 @@ public: virtual void setAllowFileAccessFromFileURLs(bool); virtual void setTextDirectionSubmenuInclusionBehaviorNeverIncluded(); virtual void setOfflineWebApplicationCacheEnabled(bool); + virtual void setWebAudioEnabled(bool); virtual void setExperimentalWebGLEnabled(bool); virtual void setShowDebugBorders(bool); virtual void setEditingBehavior(EditingBehavior); diff --git a/Source/WebKit/chromium/src/WebSpeechInputControllerMockImpl.cpp b/Source/WebKit/chromium/src/WebSpeechInputControllerMockImpl.cpp index 48f8b50..3beb785 100644 --- a/Source/WebKit/chromium/src/WebSpeechInputControllerMockImpl.cpp +++ b/Source/WebKit/chromium/src/WebSpeechInputControllerMockImpl.cpp @@ -32,8 +32,10 @@ #include "WebSpeechInputControllerMockImpl.h" #include "PlatformString.h" +#include "SecurityOrigin.h" #include "SpeechInputClientMock.h" #include "WebRect.h" +#include "WebSecurityOrigin.h" namespace WebKit { @@ -80,9 +82,9 @@ void WebSpeechInputControllerMockImpl::setRecognitionResult(int requestId, const m_listener->setRecognitionResult(requestId, result); } -bool WebSpeechInputControllerMockImpl::startRecognition(int requestId, const WebRect& elementRect, const WebString& language, const WebString& grammar) +bool WebSpeechInputControllerMockImpl::startRecognition(int requestId, const WebRect& elementRect, const WebString& language, const WebString& grammar, const WebSecurityOrigin& origin) { - return m_webcoreMock->startRecognition(requestId, elementRect, language, grammar); + return m_webcoreMock->startRecognition(requestId, elementRect, language, grammar, origin.get()); } void WebSpeechInputControllerMockImpl::cancelRecognition(int requestId) diff --git a/Source/WebKit/chromium/src/WebSpeechInputControllerMockImpl.h b/Source/WebKit/chromium/src/WebSpeechInputControllerMockImpl.h index bf00ed0..4c8fee7 100644 --- a/Source/WebKit/chromium/src/WebSpeechInputControllerMockImpl.h +++ b/Source/WebKit/chromium/src/WebSpeechInputControllerMockImpl.h @@ -57,7 +57,7 @@ public: void setRecognitionResult(int requestId, const WebCore::SpeechInputResultArray& result); // WebSpeechInputController methods. - bool startRecognition(int requestId, const WebRect& elementRect, const WebString& language, const WebString& grammar); + bool startRecognition(int requestId, const WebRect& elementRect, const WebString& language, const WebString& grammar, const WebSecurityOrigin&); void cancelRecognition(int requestId); void stopRecording(int requestId); diff --git a/Source/WebKit/chromium/src/WebViewImpl.cpp b/Source/WebKit/chromium/src/WebViewImpl.cpp index 41a0804..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" @@ -972,6 +972,18 @@ void WebViewImpl::resize(const WebSize& newSize) #endif } +void WebViewImpl::animate() +{ +#if ENABLE(REQUEST_ANIMATION_FRAME) + WebFrameImpl* webframe = mainFrameImpl(); + if (webframe) { + FrameView* view = webframe->frameView(); + if (view) + view->serviceScriptedAnimations(); + } +#endif +} + void WebViewImpl::layout() { WebFrameImpl* webframe = mainFrameImpl(); @@ -2287,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; diff --git a/Source/WebKit/chromium/src/WebViewImpl.h b/Source/WebKit/chromium/src/WebViewImpl.h index bc79ec1..d164a48 100644 --- a/Source/WebKit/chromium/src/WebViewImpl.h +++ b/Source/WebKit/chromium/src/WebViewImpl.h @@ -91,6 +91,7 @@ public: virtual void close(); virtual WebSize size() { return m_size; } virtual void resize(const WebSize&); + virtual void animate(); virtual void layout(); virtual void paint(WebCanvas*, const WebRect&); virtual void themeChanged(); diff --git a/Source/WebKit/chromium/src/WebWorkerClientImpl.cpp b/Source/WebKit/chromium/src/WebWorkerClientImpl.cpp index 18282e3..f90e7e8 100644 --- a/Source/WebKit/chromium/src/WebWorkerClientImpl.cpp +++ b/Source/WebKit/chromium/src/WebWorkerClientImpl.cpp @@ -41,6 +41,7 @@ #include "MessageEvent.h" #include "MessagePort.h" #include "MessagePortChannel.h" +#include "ScriptCallStack.h" #include "ScriptExecutionContext.h" #include "Worker.h" #include "WorkerContext.h" @@ -247,7 +248,7 @@ void WebWorkerClientImpl::postExceptionToWorkerObject(const WebString& errorMess sourceURL, lineNumber)); if (unhandled) - m_scriptExecutionContext->reportException(errorMessage, lineNumber, sourceURL); + m_scriptExecutionContext->reportException(errorMessage, lineNumber, sourceURL, 0); } void WebWorkerClientImpl::postConsoleMessageToWorkerObject(int destination, @@ -274,7 +275,7 @@ void WebWorkerClientImpl::postConsoleMessageToWorkerObject(int destination, static_cast<MessageType>(messageType), static_cast<MessageLevel>(messageLevel), String(message), lineNumber, - String(sourceURL)); + String(sourceURL), 0); } void WebWorkerClientImpl::postConsoleMessageToWorkerObject(int sourceId, @@ -381,9 +382,7 @@ void WebWorkerClientImpl::postExceptionToWorkerObjectTask( sourceURL, lineNumber)); if (!handled) - thisPtr->m_scriptExecutionContext->reportException(errorMessage, - lineNumber, - sourceURL); + thisPtr->m_scriptExecutionContext->reportException(errorMessage, lineNumber, sourceURL, 0); } void WebWorkerClientImpl::postConsoleMessageToWorkerObjectTask(ScriptExecutionContext* context, @@ -398,8 +397,7 @@ void WebWorkerClientImpl::postConsoleMessageToWorkerObjectTask(ScriptExecutionCo thisPtr->m_scriptExecutionContext->addMessage(static_cast<MessageSource>(sourceId), static_cast<MessageType>(messageType), static_cast<MessageLevel>(messageLevel), - message, lineNumber, - sourceURL); + message, lineNumber, sourceURL, 0); } void WebWorkerClientImpl::confirmMessageFromWorkerObjectTask(ScriptExecutionContext* context, diff --git a/Source/WebKit/chromium/src/js/Tests.js b/Source/WebKit/chromium/src/js/Tests.js index f2e8dcb..900d79e 100644 --- a/Source/WebKit/chromium/src/js/Tests.js +++ b/Source/WebKit/chromium/src/js/Tests.js @@ -616,7 +616,7 @@ TestSuite.prototype.evaluateInConsole_ = function(code, callback) */ TestSuite.prototype._checkExecutionLine = function(sourceFrame, lineNumber, lineContent) { - this.assertEquals(lineNumber, sourceFrame.executionLine, "Unexpected execution line number."); + this.assertEquals(lineNumber, sourceFrame._executionLine, "Unexpected execution line number."); this.assertEquals(lineContent, sourceFrame._textModel.line(lineNumber - 1), "Unexpected execution line text."); } @@ -686,7 +686,8 @@ TestSuite.prototype._checkSourceFrameWhenLoaded = function(expectations, callbac var test = this; var frame = WebInspector.currentPanel.visibleView.sourceFrame; - if (frame._loaded) + + if (frame._textViewer) checkExecLine(); else { setTimeout(function() { @@ -741,32 +742,6 @@ TestSuite.prototype._waitUntilScriptsAreParsed = function(expectedScripts, callb /** - * Executes the 'code' with InjectedScriptAccess.getProperties overriden - * so that all callbacks passed to InjectedScriptAccess.getProperties are - * extended with the "hook". - * @param {Function} hook The hook function. - * @param {Function} code A code snippet to be executed. - */ -TestSuite.prototype._hookGetPropertiesCallback = function(hook, code) -{ - var accessor = InjectedScriptAccess.prototype; - var orig = accessor.getProperties; - accessor.getProperties = function(objectProxy, ignoreHasOwnProperty, abbreviate, callback) { - orig.call(this, objectProxy, ignoreHasOwnProperty, abbreviate, - function() { - callback.apply(this, arguments); - hook(); - }); - }; - try { - code(); - } finally { - accessor.getProperties = orig; - } -}; - - -/** * Key event with given key identifier. */ TestSuite.createKeyEvent = function(keyIdentifier) diff --git a/Source/WebKit/chromium/tests/PopupMenuTest.cpp b/Source/WebKit/chromium/tests/PopupMenuTest.cpp index dab5ff9..4c9a149 100644 --- a/Source/WebKit/chromium/tests/PopupMenuTest.cpp +++ b/Source/WebKit/chromium/tests/PopupMenuTest.cpp @@ -96,7 +96,7 @@ public: virtual FontSelector* fontSelector() const { return 0; } virtual HostWindow* hostWindow() const { return 0; } - virtual PassRefPtr<Scrollbar> createScrollbar(ScrollbarClient*, ScrollbarOrientation, ScrollbarControlSize) { return 0; } + virtual PassRefPtr<Scrollbar> createScrollbar(ScrollableArea*, ScrollbarOrientation, ScrollbarControlSize) { return 0; } private: unsigned m_selectIndex; diff --git a/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.h b/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.h index 4bbae25..67c4608 100644 --- a/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.h +++ b/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.h @@ -27,7 +27,8 @@ #include "HTMLMediaElement.h" #include <wtf/RefPtr.h> -class FullscreenVideoController : public Noncopyable { +class FullscreenVideoController { + WTF_MAKE_NONCOPYABLE(FullscreenVideoController); public: FullscreenVideoController(); virtual ~FullscreenVideoController(); diff --git a/Source/WebKit/gtk/ChangeLog b/Source/WebKit/gtk/ChangeLog index ef1f2aa..912c948 100644 --- a/Source/WebKit/gtk/ChangeLog +++ b/Source/WebKit/gtk/ChangeLog @@ -1,3 +1,28 @@ +2011-01-21 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Show caps lock indicator in password fields + https://bugs.webkit.org/show_bug.cgi?id=52878 + + Test: manual-tests/password-caps-lock.html + + * webkit/webkitwebview.cpp: + (webkit_web_view_key_release_event): Call + capsLockStateMayHaveChanged() when caps lock key is pressed. + +2011-01-19 Joone Hur <joone.hur@collabora.co.uk> + + Reviewed by Andreas Kling. + + [GTK] No need to invalidate empty areas in ChromeClient::invalidateContentsAndWindow + https://bugs.webkit.org/show_bug.cgi?id=52702 + + Don't call gdk_window_invalidate_rect if an updated rectangle is empty. + + * WebCoreSupport/ChromeClientGtk.cpp: + (WebKit::ChromeClient::invalidateContentsAndWindow): + 2011-01-17 Philippe Normand <pnormand@igalia.com> Unreviewed, build fix for 2 GTK tests html file paths. diff --git a/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp index 8b6a483..04ee8ba 100644 --- a/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp +++ b/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp @@ -377,7 +377,7 @@ void ChromeClient::invalidateContentsAndWindow(const IntRect& updateRect, bool i GdkRectangle rect = updateRect; GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(m_webView)); - if (window) { + if (window && !updateRect.isEmpty()) { gdk_window_invalidate_rect(window, &rect, FALSE); // We don't currently do immediate updates since they delay other UI elements. //if (immediate) diff --git a/Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.h b/Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.h index d4bbea2..3fb8b16 100644 --- a/Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.h +++ b/Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.h @@ -27,7 +27,8 @@ #include "HTMLMediaElement.h" #include <wtf/RefPtr.h> -class FullscreenVideoController : public Noncopyable { +class FullscreenVideoController { + WTF_MAKE_NONCOPYABLE(FullscreenVideoController); public: FullscreenVideoController(); virtual ~FullscreenVideoController(); diff --git a/Source/WebKit/gtk/webkit/webkitdownload.cpp b/Source/WebKit/gtk/webkit/webkitdownload.cpp index 60b8e6d..a7890c1 100644 --- a/Source/WebKit/gtk/webkit/webkitdownload.cpp +++ b/Source/WebKit/gtk/webkit/webkitdownload.cpp @@ -57,7 +57,8 @@ using namespace WebCore; * out what is to be downloaded, and do it itself. */ -class DownloadClient : public Noncopyable, public ResourceHandleClient { +class DownloadClient : public ResourceHandleClient { + WTF_MAKE_NONCOPYABLE(DownloadClient); public: DownloadClient(WebKitDownload*); diff --git a/Source/WebKit/gtk/webkit/webkitwebview.cpp b/Source/WebKit/gtk/webkit/webkitwebview.cpp index e5d5b84..c855507 100644 --- a/Source/WebKit/gtk/webkit/webkitwebview.cpp +++ b/Source/WebKit/gtk/webkit/webkitwebview.cpp @@ -790,6 +790,9 @@ static gboolean webkit_web_view_key_release_event(GtkWidget* widget, GdkEventKey if (!frame->view()) return FALSE; + if (event->keyval == GDK_Caps_Lock) + frame->eventHandler()->capsLockStateMayHaveChanged(); + PlatformKeyboardEvent keyboardEvent(event); if (frame->eventHandler()->keyEvent(keyboardEvent)) return TRUE; diff --git a/Source/WebKit/mac/ChangeLog b/Source/WebKit/mac/ChangeLog index fcd7edb..121250d 100644 --- a/Source/WebKit/mac/ChangeLog +++ b/Source/WebKit/mac/ChangeLog @@ -1,3 +1,125 @@ +2011-01-21 Chris Rogers <crogers@google.com> + + Reviewed by Darin Fisher. + + Add run-time enable support for the web audio API + https://bugs.webkit.org/show_bug.cgi?id=52741 + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (-[WebPreferences webAudioEnabled]): + (-[WebPreferences setWebAudioEnabled:]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2011-01-20 John Sullivan <sullivan@apple.com> + + Reviewed by Mark Rowe. + + Shift-tab doesn't cycle through fields in http authentication panel + https://bugs.webkit.org/show_bug.cgi?id=52850 + + * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: + * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: + Re-wired the key loop so that there aren't two views with the same nextKeyView. + +2011-01-20 Beth Dakin <bdakin@apple.com> + + Reviewed by Geoffrey Garen. + + Fix for <rdar://problem/8890255> + + Allow WebKitSystemInterface to draw scrollbars + when appropriate. + * WebCoreSupport/WebSystemInterface.mm: + (InitWebCoreSystemInterface): + +2011-01-19 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + GraphicsLayers in subframes can get sync'd multiple times + https://bugs.webkit.org/show_bug.cgi?id=52489 + + * WebView/WebView.mm: + (-[WebView _syncCompositingChanges]): syncCompositingStateRecursive() + was renamed to syncCompositingStateIncludingSubframes(). + +2011-01-19 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Would like script debugging protocol method to differentiate between caught and uncaught exceptions + https://bugs.webkit.org/show_bug.cgi?id=52104 + rdar://problem/8704226 + + * WebView/WebDelegateImplementationCaching.h: + Fix type of second integer in CallScriptDebugDelegate function overload + to be int to match the actual Objective-C method. Added a new overload + that includes a BOOL in the right place. Added a boolean named + exceptionWasRaisedExpectsHasHandlerFlag. + + * WebView/WebDelegateImplementationCaching.mm: + (CallDelegate): Added overloads as above. + (CallScriptDebugDelegate): Ditto. + + * WebView/WebScriptDebugDelegate.h: Added new method with the additional + boolean argument. Marked the old method informally deprecated. + + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::exception): Added code to call with or without the + boolean depending on exceptionWasRaisedExpectsHasHandlerFlag. + + * WebView/WebView.mm: + (-[WebView _cacheScriptDebugDelegateImplementations]): Set up the + exceptionWasRaisedExpectsHasHandlerFlag. Also fixed old code that was not + guaranteed to set didParseSourceExpectsBaseLineNumber to NO. + +2011-01-19 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Mihai Parparita. + + Perform some forward declaration + https://bugs.webkit.org/show_bug.cgi?id=52522 + + * Misc/WebKitNSStringExtras.mm: + +2011-01-19 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [JSC] scripts have incorrect starting line (always 1). + https://bugs.webkit.org/show_bug.cgi?id=52721 + + * WebView/WebScriptDebugger.h: + * WebView/WebScriptDebugger.mm: + (toNSString): + (WebScriptDebugger::sourceParsed): + +2011-01-19 Levi Weintraub <leviw@google.com> + + Reviewed by Ryosuke Niwa. + + Updating to use Position::parentAnchoredEquivalent instead of + the old htmlediting rangeCompliantEquivalent. + + remove rangeCompliantEquivalent and replace it with Position methods + https://bugs.webkit.org/show_bug.cgi?id=25057 + + * WebView/WebFrame.mm: + (-[WebFrame _smartDeleteRangeForProposedRange:]): + +2011-01-18 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + REGRESSION: A problem with Voiceover and finding links + https://bugs.webkit.org/show_bug.cgi?id=52324 + + * WebView/WebDynamicScrollBarsView.mm: + (-[WebDynamicScrollBarsView accessibilityIsIgnored]): + 2011-01-17 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project diff --git a/Source/WebKit/mac/Misc/WebKitNSStringExtras.mm b/Source/WebKit/mac/Misc/WebKitNSStringExtras.mm index 4bf268c..a997e30 100644 --- a/Source/WebKit/mac/Misc/WebKitNSStringExtras.mm +++ b/Source/WebKit/mac/Misc/WebKitNSStringExtras.mm @@ -30,6 +30,7 @@ #import <WebCore/Font.h> #import <WebCore/GraphicsContext.h> +#import <WebCore/TextRun.h> #import <WebCore/WebCoreNSStringExtras.h> #import <WebKit/WebNSFileManagerExtras.h> #import <WebKit/WebNSObjectExtras.h> diff --git a/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib b/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib index 1e684d5..d102a89 100644 --- a/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib +++ b/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib @@ -2,13 +2,13 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">10J530</string> - <string key="IBDocument.InterfaceBuilderVersion">804</string> + <string key="IBDocument.SystemVersion">10J567</string> + <string key="IBDocument.InterfaceBuilderVersion">823</string> <string key="IBDocument.AppKitVersion">1038.35</string> - <string key="IBDocument.HIToolboxVersion">461.00</string> + <string key="IBDocument.HIToolboxVersion">462.00</string> <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">804</string> + <string key="NS.object.0">823</string> </object> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -389,14 +389,6 @@ </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">nextKeyView</string> - <reference key="source" ref="71972597"/> - <reference key="destination" ref="368270689"/> - </object> - <int key="connectionID">36</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> <string key="label">imageView</string> <reference key="source" ref="238662661"/> <reference key="destination" ref="285173040"/> @@ -413,67 +405,91 @@ </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">nextKeyView</string> - <reference key="source" ref="368270689"/> - <reference key="destination" ref="657854151"/> + <string key="label">separateRealmLabel</string> + <reference key="source" ref="238662661"/> + <reference key="destination" ref="1000280557"/> </object> - <int key="connectionID">41</int> + <int key="connectionID">100057</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> <string key="label">nextKeyView</string> - <reference key="source" ref="657854151"/> - <reference key="destination" ref="494193237"/> + <reference key="source" ref="705333610"/> + <reference key="destination" ref="1000280557"/> </object> - <int key="connectionID">42</int> + <int key="connectionID">100058</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> <string key="label">nextKeyView</string> - <reference key="source" ref="494193237"/> - <reference key="destination" ref="305175176"/> + <reference key="source" ref="1000280557"/> + <reference key="destination" ref="199018347"/> </object> - <int key="connectionID">43</int> + <int key="connectionID">100059</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> <string key="label">nextKeyView</string> - <reference key="source" ref="305175176"/> - <reference key="destination" ref="705333610"/> + <reference key="source" ref="199018347"/> + <reference key="destination" ref="477300420"/> </object> - <int key="connectionID">100042</int> + <int key="connectionID">100060</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> <string key="label">nextKeyView</string> - <reference key="source" ref="705333610"/> - <reference key="destination" ref="199018347"/> + <reference key="source" ref="477300420"/> + <reference key="destination" ref="71972597"/> </object> - <int key="connectionID">100045</int> + <int key="connectionID">100061</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> <string key="label">nextKeyView</string> - <reference key="source" ref="199018347"/> - <reference key="destination" ref="71972597"/> + <reference key="source" ref="71972597"/> + <reference key="destination" ref="833115728"/> </object> - <int key="connectionID">100046</int> + <int key="connectionID">100062</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> <string key="label">nextKeyView</string> - <reference key="source" ref="1000280557"/> + <reference key="source" ref="833115728"/> <reference key="destination" ref="368270689"/> </object> - <int key="connectionID">100051</int> + <int key="connectionID">100063</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">separateRealmLabel</string> - <reference key="source" ref="238662661"/> - <reference key="destination" ref="1000280557"/> + <string key="label">nextKeyView</string> + <reference key="source" ref="368270689"/> + <reference key="destination" ref="657854151"/> </object> - <int key="connectionID">100057</int> + <int key="connectionID">100064</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">nextKeyView</string> + <reference key="source" ref="657854151"/> + <reference key="destination" ref="494193237"/> + </object> + <int key="connectionID">100065</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">nextKeyView</string> + <reference key="source" ref="494193237"/> + <reference key="destination" ref="305175176"/> + </object> + <int key="connectionID">100066</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">nextKeyView</string> + <reference key="source" ref="305175176"/> + <reference key="destination" ref="705333610"/> + </object> + <int key="connectionID">100067</int> </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> @@ -780,10 +796,10 @@ <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> - <string>{{288, 734}, {424, 254}}</string> + <string>{{288, 843}, {424, 254}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> - <string>{{288, 734}, {424, 254}}</string> + <string>{{288, 843}, {424, 254}}</string> <integer value="1"/> <integer value="0"/> <integer value="0"/> @@ -809,7 +825,7 @@ </object> </object> <nil key="sourceID"/> - <int key="maxID">100057</int> + <int key="maxID">100067</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> diff --git a/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib b/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib Binary files differindex 5bd4806..42a4b1d 100644 --- a/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib +++ b/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h index f784ade..4f2c566 100644 --- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h +++ b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h @@ -313,7 +313,8 @@ private: bool demarshalValueFromArray(JSC::ExecState*, NSArray *array, NSUInteger& index, JSC::JSValue& result); void demarshalValues(JSC::ExecState*, data_t valuesData, mach_msg_type_number_t valuesLength, JSC::MarkedArgumentBuffer& result); - class LocalObjectMap : Noncopyable { + class LocalObjectMap { + WTF_MAKE_NONCOPYABLE(LocalObjectMap); public: LocalObjectMap(); ~LocalObjectMap(); diff --git a/Source/WebKit/mac/Storage/WebDatabaseTrackerClient.mm b/Source/WebKit/mac/Storage/WebDatabaseTrackerClient.mm index 2913739..65aba43 100644 --- a/Source/WebKit/mac/Storage/WebDatabaseTrackerClient.mm +++ b/Source/WebKit/mac/Storage/WebDatabaseTrackerClient.mm @@ -52,7 +52,8 @@ WebDatabaseTrackerClient::~WebDatabaseTrackerClient() { } -class DidModifyOriginData : public Noncopyable { +class DidModifyOriginData { + WTF_MAKE_NONCOPYABLE(DidModifyOriginData); public: static void dispatchToMainThread(WebDatabaseTrackerClient* client, SecurityOrigin* origin) { diff --git a/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm b/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm index e1c1058..70767ee 100644 --- a/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm +++ b/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm @@ -123,6 +123,8 @@ void InitWebCoreSystemInterface(void) INIT(CreateCTTypesetterWithUniCharProviderAndOptions); INIT(IOSurfaceContextCreate); INIT(IOSurfaceContextCreateImage); + INIT(MakeScrollbarPainter); + INIT(ScrollbarPainterPaint); #endif didInit = true; diff --git a/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.h b/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.h index 2aadc83..8bc776b 100644 --- a/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.h +++ b/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.h @@ -80,6 +80,7 @@ struct WebFrameLoadDelegateImplementationCache { struct WebScriptDebugDelegateImplementationCache { BOOL didParseSourceExpectsBaseLineNumber; + BOOL exceptionWasRaisedExpectsHasHandlerFlag; IMP didParseSourceFunc; IMP failedToParseSourceFunc; IMP didEnterCallFrameFunc; @@ -138,7 +139,8 @@ BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id, id, id CallScriptDebugDelegate(IMP, WebView *, SEL, id, id, NSInteger, id); id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, id, NSInteger, id); id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, id, id, id); -id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, NSInteger, id); +id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, int, id); +id CallScriptDebugDelegate(IMP, WebView *, SEL, id, BOOL, NSInteger, int, id); id CallHistoryDelegate(IMP, WebView *, SEL); id CallHistoryDelegate(IMP, WebView *, SEL, id, id); diff --git a/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm b/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm index d00d60b..c070b2b 100644 --- a/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm +++ b/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm @@ -345,7 +345,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE return nil; } -static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, NSInteger integer1, NSInteger integer2, id object2) +static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, NSInteger integer1, int integer2, id object2) { if (!delegate) return nil; @@ -359,6 +359,20 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE return nil; } +static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, BOOL boolean, NSInteger integer1, int integer2, id object2) +{ + if (!delegate) + return nil; + if (!self->_private->catchesDelegateExceptions) + return implementation(delegate, selector, self, object1, boolean, integer1, integer2, object2); + @try { + return implementation(delegate, selector, self, object1, boolean, integer1, integer2, object2); + } @catch(id exception) { + ReportDiscardedDelegateException(selector, exception); + } + return nil; +} + static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, id object2, NSInteger integer, id object3) { if (!delegate) @@ -574,11 +588,16 @@ id CallScriptDebugDelegate(IMP implementation, WebView *self, SEL selector, id o return CallDelegate(implementation, self, self->_private->scriptDebugDelegate, selector, object1, integer, object2, object3, object4); } -id CallScriptDebugDelegate(IMP implementation, WebView *self, SEL selector, id object1, NSInteger integer1, NSInteger integer2, id object2) +id CallScriptDebugDelegate(IMP implementation, WebView *self, SEL selector, id object1, NSInteger integer1, int integer2, id object2) { return CallDelegate(implementation, self, self->_private->scriptDebugDelegate, selector, object1, integer1, integer2, object2); } +id CallScriptDebugDelegate(IMP implementation, WebView *self, SEL selector, id object1, BOOL boolean, NSInteger integer1, int integer2, id object2) +{ + return CallDelegate(implementation, self, self->_private->scriptDebugDelegate, selector, object1, boolean, integer1, integer2, object2); +} + id CallHistoryDelegate(IMP implementation, WebView *self, SEL selector) { return CallDelegate(implementation, self, self->_private->historyDelegate, selector); diff --git a/Source/WebKit/mac/WebView/WebDynamicScrollBarsView.mm b/Source/WebKit/mac/WebView/WebDynamicScrollBarsView.mm index 79c3067..b8edef8 100644 --- a/Source/WebKit/mac/WebView/WebDynamicScrollBarsView.mm +++ b/Source/WebKit/mac/WebView/WebDynamicScrollBarsView.mm @@ -565,11 +565,7 @@ static const unsigned cMaxUpdateScrollbarsPass = 2; - (BOOL)accessibilityIsIgnored { - id docView = [self documentView]; - if ([docView isKindOfClass:[WebFrameView class]] && ![(WebFrameView *)docView allowsScrolling]) - return YES; - - return [super accessibilityIsIgnored]; + return YES; } - (void)setScrollOrigin:(NSPoint)scrollOrigin updatePosition:(BOOL)updatePosition diff --git a/Source/WebKit/mac/WebView/WebFrame.mm b/Source/WebKit/mac/WebView/WebFrame.mm index 3dde06f..154156a 100644 --- a/Source/WebKit/mac/WebView/WebFrame.mm +++ b/Source/WebKit/mac/WebView/WebFrame.mm @@ -802,8 +802,8 @@ static inline WebDataSource *dataSource(DocumentLoader* loader) if (newEnd.isNull()) newEnd = end; - newStart = rangeCompliantEquivalent(newStart); - newEnd = rangeCompliantEquivalent(newEnd); + newStart = newStart.parentAnchoredEquivalent(); + newEnd = newEnd.parentAnchoredEquivalent(); RefPtr<Range> range = _private->coreFrame->document()->createRange(); int exception = 0; diff --git a/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h b/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h index 93f83fc..e6ba629 100644 --- a/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h +++ b/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h @@ -91,6 +91,7 @@ #define WebKitAcceleratedCompositingEnabledPreferenceKey @"WebKitAcceleratedCompositingEnabled" #define WebKitShowDebugBordersPreferenceKey @"WebKitShowDebugBorders" #define WebKitShowRepaintCounterPreferenceKey @"WebKitShowRepaintCounter" +#define WebKitWebAudioEnabledPreferenceKey @"WebKitWebAudioEnabled" #define WebKitWebGLEnabledPreferenceKey @"WebKitWebGLEnabled" #define WebKitAccelerated2dCanvasEnabledPreferenceKey @"WebKitAccelerated2dCanvasEnabled" #define WebKitPluginAllowedRunTimePreferenceKey @"WebKitPluginAllowedRunTime" diff --git a/Source/WebKit/mac/WebView/WebPreferences.mm b/Source/WebKit/mac/WebView/WebPreferences.mm index 7ce3bc4..c97cc2a 100644 --- a/Source/WebKit/mac/WebView/WebPreferences.mm +++ b/Source/WebKit/mac/WebView/WebPreferences.mm @@ -1264,6 +1264,16 @@ static NSString *classIBCreatorID = nil; [self _setBoolValue:enabled forKey:WebKitShowRepaintCounterPreferenceKey]; } +- (BOOL)webAudioEnabled +{ + return [self _boolValueForKey:WebKitWebAudioEnabledPreferenceKey]; +} + +- (void)setWebAudioEnabled:(BOOL)enabled +{ + [self _setBoolValue:enabled forKey:WebKitWebAudioEnabledPreferenceKey]; +} + - (BOOL)webGLEnabled { return [self _boolValueForKey:WebKitWebGLEnabledPreferenceKey]; diff --git a/Source/WebKit/mac/WebView/WebPreferencesPrivate.h b/Source/WebKit/mac/WebView/WebPreferencesPrivate.h index 89b6288..25a1bbd 100644 --- a/Source/WebKit/mac/WebView/WebPreferencesPrivate.h +++ b/Source/WebKit/mac/WebView/WebPreferencesPrivate.h @@ -185,6 +185,9 @@ extern NSString *WebPreferencesRemovedNotification; - (BOOL)showRepaintCounter; - (void)setShowRepaintCounter:(BOOL)show; +- (BOOL)webAudioEnabled; +- (void)setWebAudioEnabled:(BOOL)enabled; + - (BOOL)webGLEnabled; - (void)setWebGLEnabled:(BOOL)enabled; diff --git a/Source/WebKit/mac/WebView/WebScriptDebugDelegate.h b/Source/WebKit/mac/WebView/WebScriptDebugDelegate.h index 823cc35..2444b98 100644 --- a/Source/WebKit/mac/WebView/WebScriptDebugDelegate.h +++ b/Source/WebKit/mac/WebView/WebScriptDebugDelegate.h @@ -99,9 +99,17 @@ enum { // exception is being thrown - (void)webView:(WebView *)webView exceptionWasRaised:(WebScriptCallFrame *)frame + hasHandler:(BOOL)hasHandler sourceId:(WebSourceId)sid line:(int)lineno forWebFrame:(WebFrame *)webFrame; + +// exception is being thrown (deprecated old version; called only if new version is not implemented) +- (void)webView:(WebView *)webView exceptionWasRaised:(WebScriptCallFrame *)frame + sourceId:(WebSourceId)sid + line:(int)lineno + forWebFrame:(WebFrame *)webFrame; + @end diff --git a/Source/WebKit/mac/WebView/WebScriptDebugger.h b/Source/WebKit/mac/WebView/WebScriptDebugger.h index c4147a2..73c9466 100644 --- a/Source/WebKit/mac/WebView/WebScriptDebugger.h +++ b/Source/WebKit/mac/WebView/WebScriptDebugger.h @@ -53,7 +53,7 @@ public: void initGlobalCallFrame(const JSC::DebuggerCallFrame&); - virtual void sourceParsed(JSC::ExecState*, const JSC::SourceCode&, int errorLine, const JSC::UString& errorMsg); + virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const JSC::UString& errorMsg); virtual void callEvent(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber); virtual void atStatement(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber); virtual void returnEvent(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber); diff --git a/Source/WebKit/mac/WebView/WebScriptDebugger.mm b/Source/WebKit/mac/WebView/WebScriptDebugger.mm index 25ef4b7..9bc3bce 100644 --- a/Source/WebKit/mac/WebView/WebScriptDebugger.mm +++ b/Source/WebKit/mac/WebView/WebScriptDebugger.mm @@ -34,7 +34,7 @@ #import "WebViewInternal.h" #import <JavaScriptCore/DebuggerCallFrame.h> #import <JavaScriptCore/JSGlobalObject.h> -#import <JavaScriptCore/SourceCode.h> +#import <JavaScriptCore/SourceProvider.h> #import <WebCore/DOMWindow.h> #import <WebCore/Frame.h> #import <WebCore/JSDOMWindow.h> @@ -57,11 +57,11 @@ NSString *toNSString(const UString& s) return [NSString stringWithCharacters:reinterpret_cast<const unichar*>(s.characters()) length:s.length()]; } -static NSString *toNSString(const SourceCode& s) +static NSString *toNSString(SourceProvider* s) { - if (!s.length()) + if (!s->length()) return nil; - return [NSString stringWithCharacters:reinterpret_cast<const unichar*>(s.data()) length:s.length()]; + return [NSString stringWithCharacters:reinterpret_cast<const unichar*>(s->data()) length:s->length()]; } // convert UString to NSURL @@ -104,15 +104,16 @@ void WebScriptDebugger::initGlobalCallFrame(const DebuggerCallFrame& debuggerCal } // callbacks - relay to delegate -void WebScriptDebugger::sourceParsed(ExecState* exec, const SourceCode& source, int errorLine, const UString& errorMsg) +void WebScriptDebugger::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const UString& errorMsg) { if (m_callingDelegate) return; m_callingDelegate = true; - NSString *nsSource = toNSString(source); - NSURL *nsURL = toNSURL(source.provider()->url()); + NSString *nsSource = toNSString(sourceProvider); + NSURL *nsURL = toNSURL(sourceProvider->url()); + int firstLine = sourceProvider->startPosition().m_line.oneBasedInt(); WebFrame *webFrame = toWebFrame(exec->dynamicGlobalObject()); WebView *webView = [webFrame webView]; @@ -121,9 +122,9 @@ void WebScriptDebugger::sourceParsed(ExecState* exec, const SourceCode& source, if (errorLine == -1) { if (implementations->didParseSourceFunc) { if (implementations->didParseSourceExpectsBaseLineNumber) - CallScriptDebugDelegate(implementations->didParseSourceFunc, webView, @selector(webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:), nsSource, source.firstLine(), nsURL, source.provider()->asID(), webFrame); + CallScriptDebugDelegate(implementations->didParseSourceFunc, webView, @selector(webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:), nsSource, firstLine, nsURL, sourceProvider->asID(), webFrame); else - CallScriptDebugDelegate(implementations->didParseSourceFunc, webView, @selector(webView:didParseSource:fromURL:sourceId:forWebFrame:), nsSource, [nsURL absoluteString], source.provider()->asID(), webFrame); + CallScriptDebugDelegate(implementations->didParseSourceFunc, webView, @selector(webView:didParseSource:fromURL:sourceId:forWebFrame:), nsSource, [nsURL absoluteString], sourceProvider->asID(), webFrame); } } else { NSString* nsErrorMessage = toNSString(errorMsg); @@ -131,7 +132,7 @@ void WebScriptDebugger::sourceParsed(ExecState* exec, const SourceCode& source, NSError *error = [[NSError alloc] initWithDomain:WebScriptErrorDomain code:WebScriptGeneralErrorCode userInfo:info]; if (implementations->failedToParseSourceFunc) - CallScriptDebugDelegate(implementations->failedToParseSourceFunc, webView, @selector(webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:), nsSource, source.firstLine(), nsURL, error, webFrame); + CallScriptDebugDelegate(implementations->failedToParseSourceFunc, webView, @selector(webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:), nsSource, firstLine, nsURL, error, webFrame); [error release]; [info release]; @@ -211,9 +212,13 @@ void WebScriptDebugger::exception(const DebuggerCallFrame& debuggerCallFrame, in WebView *webView = [webFrame webView]; [m_topCallFrame.get() _setDebuggerCallFrame:debuggerCallFrame]; - WebScriptDebugDelegateImplementationCache* implementations = WebViewGetScriptDebugDelegateImplementations(webView); - if (implementations->exceptionWasRaisedFunc) - CallScriptDebugDelegate(implementations->exceptionWasRaisedFunc, webView, @selector(webView:exceptionWasRaised:sourceId:line:forWebFrame:), m_topCallFrame.get(), sourceID, lineNumber, webFrame); + WebScriptDebugDelegateImplementationCache* cache = WebViewGetScriptDebugDelegateImplementations(webView); + if (cache->exceptionWasRaisedFunc) { + if (cache->exceptionWasRaisedExpectsHasHandlerFlag) + CallScriptDebugDelegate(cache->exceptionWasRaisedFunc, webView, @selector(webView:exceptionWasRaised:hasHandler:sourceId:line:forWebFrame:), m_topCallFrame.get(), hasHandler, sourceID, lineNumber, webFrame); + else + CallScriptDebugDelegate(cache->exceptionWasRaisedFunc, webView, @selector(webView:exceptionWasRaised:sourceId:line:forWebFrame:), m_topCallFrame.get(), sourceID, lineNumber, webFrame); + } m_callingDelegate = false; } diff --git a/Source/WebKit/mac/WebView/WebView.mm b/Source/WebKit/mac/WebView/WebView.mm index 809b286..82e4f2c 100644 --- a/Source/WebKit/mac/WebView/WebView.mm +++ b/Source/WebKit/mac/WebView/WebView.mm @@ -1496,6 +1496,7 @@ static bool fastDocumentTeardownEnabled() settings->setShowDebugBorders([preferences showDebugBorders]); settings->setShowRepaintCounter([preferences showRepaintCounter]); settings->setPluginAllowedRunTime([preferences pluginAllowedRunTime]); + settings->setWebAudioEnabled([preferences webAudioEnabled]); settings->setWebGLEnabled([preferences webGLEnabled]); settings->setAccelerated2dCanvasEnabled([preferences accelerated2dCanvasEnabled]); settings->setLoadDeferringEnabled(shouldEnableLoadDeferring()); @@ -1604,14 +1605,23 @@ static inline IMP getMethod(id o, SEL s) cache->didParseSourceFunc = getMethod(delegate, @selector(webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:)); if (cache->didParseSourceFunc) cache->didParseSourceExpectsBaseLineNumber = YES; - else + else { + cache->didParseSourceExpectsBaseLineNumber = NO; cache->didParseSourceFunc = getMethod(delegate, @selector(webView:didParseSource:fromURL:sourceId:forWebFrame:)); + } cache->failedToParseSourceFunc = getMethod(delegate, @selector(webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:)); cache->didEnterCallFrameFunc = getMethod(delegate, @selector(webView:didEnterCallFrame:sourceId:line:forWebFrame:)); cache->willExecuteStatementFunc = getMethod(delegate, @selector(webView:willExecuteStatement:sourceId:line:forWebFrame:)); cache->willLeaveCallFrameFunc = getMethod(delegate, @selector(webView:willLeaveCallFrame:sourceId:line:forWebFrame:)); - cache->exceptionWasRaisedFunc = getMethod(delegate, @selector(webView:exceptionWasRaised:sourceId:line:forWebFrame:)); + + cache->exceptionWasRaisedFunc = getMethod(delegate, @selector(webView:exceptionWasRaised:hasHandler:sourceId:line:forWebFrame:)); + if (cache->exceptionWasRaisedFunc) + cache->exceptionWasRaisedExpectsHasHandlerFlag = YES; + else { + cache->exceptionWasRaisedExpectsHasHandlerFlag = NO; + cache->exceptionWasRaisedFunc = getMethod(delegate, @selector(webView:exceptionWasRaised:sourceId:line:forWebFrame:)); + } } - (void)_cacheHistoryDelegateImplementations @@ -5947,7 +5957,7 @@ static inline uint64_t roundUpToPowerOf2(uint64_t num) { Frame* frame = [self _mainCoreFrame]; if (frame && frame->view()) - return frame->view()->syncCompositingStateRecursive(); + return frame->view()->syncCompositingStateIncludingSubframes(); return YES; } diff --git a/Source/WebKit/qt/Api/DerivedSources.pro b/Source/WebKit/qt/Api/DerivedSources.pro index 3109ffe..8084242 100644 --- a/Source/WebKit/qt/Api/DerivedSources.pro +++ b/Source/WebKit/qt/Api/DerivedSources.pro @@ -45,7 +45,7 @@ for(HEADER, WEBKIT_API_HEADERS) { # the package sources are relocatable. PATH_TO_HEADER = $$HEADER - CONFIG(standalone_package): PATH_TO_HEADER = ../../../Source/WebKit/qt/Api/$$basename(HEADER) + CONFIG(standalone_package): PATH_TO_HEADER = ../../WebKit/qt/Api/$$basename(HEADER) eval($${HEADER_TARGET}.target = $${DESTDIR}/$${HEADER_NAME}) eval($${HEADER_TARGET}.depends = $$HEADER) diff --git a/Source/WebKit/qt/Api/qwebframe.cpp b/Source/WebKit/qt/Api/qwebframe.cpp index 9c89a4c..0d502b3 100644 --- a/Source/WebKit/qt/Api/qwebframe.cpp +++ b/Source/WebKit/qt/Api/qwebframe.cpp @@ -1071,7 +1071,7 @@ void QWebFrame::setScrollBarValue(Qt::Orientation orientation, int value) value = 0; else if (value > scrollBarMaximum(orientation)) value = scrollBarMaximum(orientation); - sb->setValue(value, Scrollbar::NotFromScrollAnimator); + sb->scrollableArea()->scrollToOffsetWithoutAnimation(orientation == Qt::Horizontal ? HorizontalScrollbar : VerticalScrollbar, value); } } diff --git a/Source/WebKit/qt/ChangeLog b/Source/WebKit/qt/ChangeLog index 06fb368..aec5b45 100644 --- a/Source/WebKit/qt/ChangeLog +++ b/Source/WebKit/qt/ChangeLog @@ -1,3 +1,70 @@ +2011-01-21 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship" + https://bugs.webkit.org/show_bug.cgi?id=52779 + + Rename ScrollbarClient -> ScrollableArea. + + * Api/qwebframe.cpp: + (QWebFrame::setScrollBarValue): + +2011-01-20 Sam Weinig <sam@webkit.org> + + Fix build. + + * Api/qwebframe.cpp: + (QWebFrame::setScrollBarValue): + +2011-01-20 Sam Weinig <sam@webkit.org> + + Fix build. + + * Api/qwebframe.cpp: + (QWebFrame::setScrollBarValue): + +2011-01-20 Sam Weinig <sam@webkit.org> + + Reviewed by Dave Hyatt. + + Cleanup Scrollbar/ScrollbarClient relationship + https://bugs.webkit.org/show_bug.cgi?id=52779 + + * Api/qwebframe.cpp: + (QWebFrame::setScrollBarValue): + +2011-01-19 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + GraphicsLayers in subframes can get sync'd multiple times + https://bugs.webkit.org/show_bug.cgi?id=52489 + + * WebCoreSupport/PageClientQt.cpp: + (WebCore::PageClientQWidget::syncLayers): syncCompositingStateRecursive() + was renamed to syncCompositingStateIncludingSubframes(). + +2011-01-19 Csaba Osztrogonác <ossy@webkit.org> + + Reviewed by Laszlo Gombos and Tor Arne Vestbø. + + [Qt] Remove unnecessary "../Source" from paths + after moving source files into Source is finished. + + * Api/DerivedSources.pro: + +2011-01-18 Robert Hogan <robert@webkit.org> + + Reviewed by Simon Hausmann. + + [Qt] http/tests/incremental/slow-utf8-text.pl fails + https://bugs.webkit.org/show_bug.cgi?id=44282 + + * WebCoreSupport/DumpRenderTreeSupportQt.cpp: + (DumpRenderTreeSupportQt::responseMimeType): + * WebCoreSupport/DumpRenderTreeSupportQt.h: + 2011-01-17 Alexey Proskuryakov <ap@apple.com> https://bugs.webkit.org/show_bug.cgi?id=52495 diff --git a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp index ecd91eb..a7a495a 100644 --- a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp +++ b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp @@ -31,6 +31,7 @@ #include "ContextMenuController.h" #include "DeviceOrientation.h" #include "DeviceOrientationClientMockQt.h" +#include "DocumentLoader.h" #include "Editor.h" #include "EditorClientQt.h" #include "Element.h" @@ -885,6 +886,13 @@ QVariantList DumpRenderTreeSupportQt::nodesFromRect(const QWebElement& document, return res; } +QString DumpRenderTreeSupportQt::responseMimeType(QWebFrame* frame) +{ + WebCore::Frame* coreFrame = QWebFramePrivate::core(frame); + WebCore::DocumentLoader* docLoader = coreFrame->loader()->documentLoader(); + return docLoader->responseMIMEType(); +} + // Provide a backward compatibility with previously exported private symbols as of QtWebKit 4.6 release void QWEBKIT_EXPORT qt_resumeActiveDOMObjects(QWebFrame* frame) diff --git a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h index 6917039..dd84e76 100644 --- a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h +++ b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h @@ -184,6 +184,7 @@ public: static QString viewportAsText(QWebPage*, const QSize&); static QVariantList nodesFromRect(const QWebElement& document, int x, int y, unsigned top, unsigned right, unsigned bottom, unsigned left, bool ignoreClipping); + static QString responseMimeType(QWebFrame*); }; #endif diff --git a/Source/WebKit/qt/WebCoreSupport/PageClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/PageClientQt.cpp index c3869c5..1821bec 100644 --- a/Source/WebKit/qt/WebCoreSupport/PageClientQt.cpp +++ b/Source/WebKit/qt/WebCoreSupport/PageClientQt.cpp @@ -170,7 +170,7 @@ void PageClientQWidget::markForSync(bool scheduleSync) void PageClientQWidget::syncLayers(Timer<PageClientQWidget>*) { - QWebFramePrivate::core(page->mainFrame())->view()->syncCompositingStateRecursive(); + QWebFramePrivate::core(page->mainFrame())->view()->syncCompositingStateIncludingSubframes(); } #endif @@ -321,7 +321,7 @@ void PageClientQGraphicsWidget::createOrDeleteOverlay() void PageClientQGraphicsWidget::syncLayers() { if (shouldSync) { - QWebFramePrivate::core(page->mainFrame())->view()->syncCompositingStateRecursive(); + QWebFramePrivate::core(page->mainFrame())->view()->syncCompositingStateIncludingSubframes(); shouldSync = false; } } @@ -342,7 +342,7 @@ void PageClientQGraphicsWidget::setRootGraphicsLayer(QGraphicsObject* layer) if (rootGraphicsLayer) { rootGraphicsLayer.data()->setParentItem(0); view->scene()->removeItem(rootGraphicsLayer.data()); - QWebFramePrivate::core(page->mainFrame())->view()->syncCompositingStateRecursive(); + QWebFramePrivate::core(page->mainFrame())->view()->syncCompositingStateIncludingSubframes(); } rootGraphicsLayer = layer; diff --git a/Source/WebKit/win/COMEnumVariant.h b/Source/WebKit/win/COMEnumVariant.h index a93a3c2..6725107 100644 --- a/Source/WebKit/win/COMEnumVariant.h +++ b/Source/WebKit/win/COMEnumVariant.h @@ -29,12 +29,12 @@ #define NOMINMAX #include <unknwn.h> -#include <wtf/Noncopyable.h> #include "COMVariantSetter.h" template<typename ContainerType> -class COMEnumVariant : public IEnumVARIANT, public Noncopyable { +class COMEnumVariant : public IEnumVARIANT { + WTF_MAKE_NONCOPYABLE(COMEnumVariant); public: static COMEnumVariant* adopt(ContainerType&); static COMEnumVariant* createInstance(const ContainerType&); diff --git a/Source/WebKit/win/COMPropertyBag.h b/Source/WebKit/win/COMPropertyBag.h index 610c367..620458e 100644 --- a/Source/WebKit/win/COMPropertyBag.h +++ b/Source/WebKit/win/COMPropertyBag.h @@ -35,7 +35,8 @@ #include "COMVariantSetter.h"
template<typename ValueType, typename KeyType = typename WTF::String, typename HashType = typename WTF::StringHash>
-class COMPropertyBag : public IPropertyBag, public IPropertyBag2, Noncopyable {
+class COMPropertyBag : public IPropertyBag, public IPropertyBag2 {
+ WTF_MAKE_NONCOPYABLE(COMPropertyBag);
public:
typedef HashMap<KeyType, ValueType, HashType> HashMapType;
diff --git a/Source/WebKit/win/ChangeLog b/Source/WebKit/win/ChangeLog index f26f0f2..6a3b53c 100644 --- a/Source/WebKit/win/ChangeLog +++ b/Source/WebKit/win/ChangeLog @@ -1,3 +1,152 @@ +2011-01-21 Chris Rogers <crogers@google.com> + + Reviewed by Darin Fisher. + + Add run-time enable support for the web audio API + https://bugs.webkit.org/show_bug.cgi?id=52741 + + * WebPreferenceKeysPrivate.h: + * WebView.cpp: + (WebView::notifyPreferencesChanged): + +2011-01-21 Sam Weinig <sam@webkit.org> + + Fix windows build. + + * WebScrollBar.h: + +2011-01-21 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship" + https://bugs.webkit.org/show_bug.cgi?id=52779 + + Rename ScrollbarClient -> ScrollableArea. + + * WebScrollBar.cpp: + (WebScrollBar::scroll): + * WebScrollBar.h: + +2011-01-20 Adam Roben <aroben@apple.com> + + Update for CACFLayerTreeHost changes + + Fixes <http://webkit.org/b/52852> Flushing layer changes and rendering are intertwined in + CACFLayerTreeHost, but shouldn't be + + Reviewed by Simon Fraser. + + * WebView.cpp: + (WebView::paint): Changed to flush layer changes via CACFLayerTreeHost, which will call back + to our own flushing function if needed. + + * WebView.h: Removed shouldRender, which is no longer used or needed. + +2011-01-21 Adam Roben <aroben@apple.com> + + Update for WKCACFLayerRenderer -> CACFLayerTreeHost rename + + Also renamed WebView::m_layerRenderer to WebView::m_layerTreeHost to match. + + Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't + + Reviewed by Simon Fraser. + + * WebPreferences.cpp: + * WebView.cpp: + (WebView::setAcceleratedCompositing): Also made sure to remove our HWND from the layer tree + host before we get rid of the layer tree host itself. + * WebView.h: + +2011-01-21 Adam Roben <aroben@apple.com> + + Replace some "sync compositing state" terminology with "flush pending GraphicsLayer changes" + + This seems to be the direction in which our code is moving. I chose "GraphicsLayer" as + opposed to just "layer" because there are cases where we flush changes to CACFLayers that + don't have a corresponding GraphicsLayer. + + Fixes <http://webkit.org/b/52894> "Sync compositing state" terminology in + WKCACFLayerRenderer and friends is confusing + + Reviewed by Simon Fraser. + + * WebCoreSupport/WebChromeClient.cpp: + (WebChromeClient::scheduleCompositingLayerSync): Updated for WebView changes. + + * WebView.cpp: + (WebView::paint): Updated for rename. + (WebView::flushPendingGraphicsLayerChangesSoon): Renamed from scheduleCompositingLayerSync. + (WebView::notifySyncRequired): Updated for rename. + (WebView::flushPendingGraphicsLayerChanges): Renamed from syncCompositingState. + + * WebView.h: Did the renames. + +2011-01-20 Sam Weinig <sam@webkit.org> + + Reviewed by Dave Hyatt. + + Cleanup Scrollbar/ScrollbarClient relationship + https://bugs.webkit.org/show_bug.cgi?id=52779 + + * WebScrollBar.cpp: + (WebScrollBar::WebScrollBar): + (WebScrollBar::setValue): + (WebScrollBar::value): + (WebScrollBar::scroll): + (WebScrollBar::scrollPosition): + (WebScrollBar::setScrollOffset): + * WebScrollBar.h: + +2011-01-19 Adam Roben <aroben@apple.com> + + Update for WKCACFLayerRenderer changes + + Fixes <http://webkit.org/b/52749> WKCACFLayerRenderer should be + ref-counted + + Reviewed by Simon Fraser. + + * WebView.cpp: + (WebView::~WebView): Added some assertions to make sure we've gotten rid of our + compositing-related members. My biggest concern was making sure that m_layerRenderer was + gone, which would also mean we had nulled out its client pointer. + (WebView::setAcceleratedCompositing): Changed to call WKCACFLayerRenderer::setClient instead + of passing the client into create(), and to clear out the client before nulling out + m_layerRenderer. + + * WebView.h: Changed m_layerRenderer from an OwnPtr to a RefPtr. + +2011-01-19 Adam Roben <aroben@apple.com> + + Teach WebView::scrollBackingStore about compositing mode + + Test: + compositing/scroll-painted-composited-content.html + + Fixes <http://webkit.org/b/52720> REGRESSION (r75987): Assertion failure in + WebView::scrollBackingStore when scrolling page with composited content + + Reviewed by Anders Carlsson. + + * WebView.cpp: + (WebView::scrollBackingStore): Do something sensible (though naive) when in compositing + mode, rather than incorrectly asserting that this function is never called in that case. For + now we just repaint the entire scrolled region; someday hopefully we can avoid having to + repaint the areas that have just been moved. + +2011-01-19 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + GraphicsLayers in subframes can get sync'd multiple times + https://bugs.webkit.org/show_bug.cgi?id=52489 + + * WebView.cpp: + (WebView::syncCompositingState): syncCompositingStateRecursive() + was renamed to syncCompositingStateIncludingSubframes(). + 2011-01-17 Adam Roben <aroben@apple.com> Update for WKCACFLayerRenderer changes diff --git a/Source/WebKit/win/FullscreenVideoController.h b/Source/WebKit/win/FullscreenVideoController.h index 6b56ab5..a65529e 100644 --- a/Source/WebKit/win/FullscreenVideoController.h +++ b/Source/WebKit/win/FullscreenVideoController.h @@ -102,7 +102,8 @@ private: int m_dragStartOffset; }; -class FullscreenVideoController : WebCore::MediaPlayerPrivateFullscreenClient, public Noncopyable { +class FullscreenVideoController : WebCore::MediaPlayerPrivateFullscreenClient { + WTF_MAKE_NONCOPYABLE(FullscreenVideoController); public: FullscreenVideoController(); virtual ~FullscreenVideoController(); diff --git a/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp b/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp index 6460b4a..f5cce4e 100644 --- a/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp +++ b/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp @@ -826,7 +826,7 @@ void WebChromeClient::attachRootGraphicsLayer(Frame* frame, GraphicsLayer* graph void WebChromeClient::scheduleCompositingLayerSync() { - m_webView->scheduleCompositingLayerSync(); + m_webView->flushPendingGraphicsLayerChangesSoon(); } #endif diff --git a/Source/WebKit/win/WebCoreSupport/WebDragClient.cpp b/Source/WebKit/win/WebCoreSupport/WebDragClient.cpp index f4d9842..184df95 100644 --- a/Source/WebKit/win/WebCoreSupport/WebDragClient.cpp +++ b/Source/WebKit/win/WebCoreSupport/WebDragClient.cpp @@ -43,6 +43,7 @@ #include <WebCore/Page.h> #include <WebCore/Settings.h> #include <WebCore/StringTruncator.h> +#include <WebCore/TextRun.h> #include <WebCore/WebCoreTextRenderer.h> #pragma warning(pop) diff --git a/Source/WebKit/win/WebDatabaseManager.cpp b/Source/WebKit/win/WebDatabaseManager.cpp index bdcb549..e2b81e1 100644 --- a/Source/WebKit/win/WebDatabaseManager.cpp +++ b/Source/WebKit/win/WebDatabaseManager.cpp @@ -52,7 +52,8 @@ static inline bool isEqual(LPCWSTR s1, LPCWSTR s2) return !wcscmp(s1, s2); } -class DatabaseDetailsPropertyBag : public IPropertyBag, public Noncopyable { +class DatabaseDetailsPropertyBag : public IPropertyBag { + WTF_MAKE_NONCOPYABLE(DatabaseDetailsPropertyBag); public: static DatabaseDetailsPropertyBag* createInstance(const DatabaseDetails&); @@ -328,7 +329,8 @@ HRESULT STDMETHODCALLTYPE WebDatabaseManager::deleteDatabase( return S_OK; } -class DidModifyOriginData : public Noncopyable { +class DidModifyOriginData { + WTF_MAKE_NONCOPYABLE(DidModifyOriginData); public: static void dispatchToMainThread(WebDatabaseManager* databaseManager, SecurityOrigin* origin) { diff --git a/Source/WebKit/win/WebInspector.h b/Source/WebKit/win/WebInspector.h index 053a593..e2d2fcd 100644 --- a/Source/WebKit/win/WebInspector.h +++ b/Source/WebKit/win/WebInspector.h @@ -34,7 +34,8 @@ class WebView; -class WebInspector : public IWebInspector, public IWebInspectorPrivate, public Noncopyable { +class WebInspector : public IWebInspector, public IWebInspectorPrivate { + WTF_MAKE_NONCOPYABLE(WebInspector); public: static WebInspector* createInstance(WebView*); diff --git a/Source/WebKit/win/WebLocalizableStrings.cpp b/Source/WebKit/win/WebLocalizableStrings.cpp index da6b221..e9b99ad 100644 --- a/Source/WebKit/win/WebLocalizableStrings.cpp +++ b/Source/WebKit/win/WebLocalizableStrings.cpp @@ -72,7 +72,8 @@ static LocalizedStringMap frameworkLocStrings() return map; } -class LocalizedString : public Noncopyable { +class LocalizedString { + WTF_MAKE_NONCOPYABLE(LocalizedString); public: LocalizedString(CFStringRef string) : m_cfString(string) diff --git a/Source/WebKit/win/WebPreferenceKeysPrivate.h b/Source/WebKit/win/WebPreferenceKeysPrivate.h index 0b781d8..be0ebe5 100644 --- a/Source/WebKit/win/WebPreferenceKeysPrivate.h +++ b/Source/WebKit/win/WebPreferenceKeysPrivate.h @@ -67,6 +67,7 @@ #define WebKitCacheModelPreferenceKey "WebKitCacheModelPreferenceKey" #define WebKitLocalStorageDatabasePathPreferenceKey "WebKitLocalStorageDatabasePath" #define WebKitHyperlinkAuditingEnabledPreferenceKey "WebKitHyperlinkAuditingEnabled" +#define WebKitWebAudioEnabledPreferenceKey "WebKitWebAudioEnabled" // These are private both because callers should be using the cover methods and because the // cover methods themselves are private. diff --git a/Source/WebKit/win/WebPreferences.cpp b/Source/WebKit/win/WebPreferences.cpp index 5a2c19b..a962471 100644 --- a/Source/WebKit/win/WebPreferences.cpp +++ b/Source/WebKit/win/WebPreferences.cpp @@ -29,23 +29,22 @@ #include "WebPreferences.h" #include "COMPtr.h" +#include "WebLocalizableStrings.h" #include "WebNotificationCenter.h" #include "WebPreferenceKeysPrivate.h" -#include <wtf/text/StringHash.h> +#include <CoreFoundation/CoreFoundation.h> +#include <WebCore/CACFLayerTreeHost.h> #include <WebCore/FileSystem.h> #include <WebCore/Font.h> #include <WebCore/PlatformString.h> -#include <WebCore/WKCACFLayerRenderer.h> -#include "WebLocalizableStrings.h" - -#include <CoreFoundation/CoreFoundation.h> #include <limits> #include <shlobj.h> #include <tchar.h> #include <wtf/HashMap.h> #include <wtf/OwnArrayPtr.h> #include <wtf/text/CString.h> +#include <wtf/text/StringHash.h> #if PLATFORM(CG) #include <CoreGraphics/CoreGraphics.h> @@ -1446,7 +1445,7 @@ HRESULT WebPreferences::setAcceleratedCompositingEnabled(BOOL enabled) HRESULT WebPreferences::acceleratedCompositingEnabled(BOOL* enabled) { #if USE(ACCELERATED_COMPOSITING) - *enabled = WKCACFLayerRenderer::acceleratedCompositingAvailable() && boolValueForKey(CFSTR(WebKitAcceleratedCompositingEnabledPreferenceKey)); + *enabled = CACFLayerTreeHost::acceleratedCompositingAvailable() && boolValueForKey(CFSTR(WebKitAcceleratedCompositingEnabledPreferenceKey)); #else *enabled = FALSE; #endif diff --git a/Source/WebKit/win/WebScriptWorld.h b/Source/WebKit/win/WebScriptWorld.h index f088a72..01511de 100644 --- a/Source/WebKit/win/WebScriptWorld.h +++ b/Source/WebKit/win/WebScriptWorld.h @@ -31,7 +31,8 @@ namespace WebCore { class DOMWrapperWorld; } -class WebScriptWorld : public Noncopyable, public IWebScriptWorld { +class WebScriptWorld : public IWebScriptWorld { + WTF_MAKE_NONCOPYABLE(WebScriptWorld); public: static WebScriptWorld* standardWorld(); static COMPtr<WebScriptWorld> createInstance(); diff --git a/Source/WebKit/win/WebScrollBar.cpp b/Source/WebKit/win/WebScrollBar.cpp index 8613c1c..45bc8f3 100644 --- a/Source/WebKit/win/WebScrollBar.cpp +++ b/Source/WebKit/win/WebScrollBar.cpp @@ -42,6 +42,7 @@ using namespace WebCore; WebScrollBar::WebScrollBar() : m_refCount(0) , m_containingWindow(0) + , m_currentPosition(0) { gClassCount++; gClassNameCount.add("WebScrollBar"); @@ -143,7 +144,7 @@ HRESULT STDMETHODCALLTYPE WebScrollBar::setRect( HRESULT STDMETHODCALLTYPE WebScrollBar::setValue( /* [in] */ int value) { - m_scrollBar->setValue(value, Scrollbar::NotFromScrollAnimator); + m_currentPosition = value; return S_OK; } @@ -152,7 +153,7 @@ HRESULT STDMETHODCALLTYPE WebScrollBar::value( { if (!value) return E_POINTER; - *value = m_scrollBar->value(); + *value = m_currentPosition; return S_OK; } @@ -247,27 +248,25 @@ HRESULT STDMETHODCALLTYPE WebScrollBar::scroll( { ScrollDirection webCoreScrollDirection = (ScrollDirection) direction; ScrollGranularity webCoreGranularity = (ScrollGranularity) granularity; - m_scrollBar->scroll(webCoreScrollDirection, webCoreGranularity, multiplier); + ScrollableArea::scroll(webCoreScrollDirection, webCoreGranularity, multiplier); return S_OK; } -// ScrollbarClient ------------------------------------------------------- +// ScrollableArea ------------------------------------------------------- + int WebScrollBar::scrollSize(ScrollbarOrientation orientation) const { return (orientation == m_scrollBar->orientation()) ? (m_scrollBar->totalSize() - m_scrollBar->visibleSize()) : 0; } -void WebScrollBar::setScrollOffsetFromAnimation(const IntPoint& offset) +int WebScrollBar::scrollPosition(Scrollbar*) const { - m_scrollBar->setValue((m_scrollBar->orientation() == HorizontalScrollbar) ? offset.x() : offset.y(), Scrollbar::FromScrollAnimator); + return m_currentPosition; } -void WebScrollBar::valueChanged(Scrollbar* scrollBar) +void WebScrollBar::setScrollOffset(const IntPoint& offset) { - if (m_scrollBar != scrollBar) { - ASSERT(false); // shouldn't happen - return; - } + m_currentPosition = (m_scrollBar->orientation() == HorizontalScrollbar) ? offset.x() : offset.y(); m_delegate->valueChanged(this); } diff --git a/Source/WebKit/win/WebScrollBar.h b/Source/WebKit/win/WebScrollBar.h index 90f2491..ca44e8b 100644 --- a/Source/WebKit/win/WebScrollBar.h +++ b/Source/WebKit/win/WebScrollBar.h @@ -34,17 +34,14 @@ #pragma warning(push, 0) #include <WebCore/COMPtr.h> #include <WebCore/Scrollbar.h> -#include <WebCore/ScrollbarClient.h> +#include <WebCore/ScrollableArea.h> #pragma warning(pop) namespace WebCore { class Scrollbar; } -using namespace WebCore; - -class WebScrollBar : public IWebScrollBarPrivate, ScrollbarClient -{ +class WebScrollBar : public IWebScrollBarPrivate, WebCore::ScrollableArea { public: static WebScrollBar* createInstance(); protected: @@ -115,11 +112,11 @@ public: /* [in] */ float multiplier); protected: - // ScrollbarClient - virtual int scrollSize(ScrollbarOrientation orientation) const; - virtual void setScrollOffsetFromAnimation(const IntPoint&); - virtual void valueChanged(Scrollbar*); - virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&); + // ScrollableArea + virtual int scrollSize(WebCore::ScrollbarOrientation) const; + virtual int scrollPosition(WebCore::Scrollbar*) const; + virtual void setScrollOffset(const WebCore::IntPoint&); + virtual void invalidateScrollbarRect(WebCore::Scrollbar*, const WebCore::IntRect&); // FIXME: We should provide a way to set this value. virtual bool isActive() const { return true; } @@ -128,6 +125,7 @@ protected: ULONG m_refCount; HWND m_containingWindow; + int m_currentPosition; RefPtr<WebCore::Scrollbar> m_scrollBar; COMPtr<IWebScrollBarDelegatePrivate> m_delegate; }; diff --git a/Source/WebKit/win/WebSerializedJSValue.h b/Source/WebKit/win/WebSerializedJSValue.h index a2d6d56..6e3747d 100644 --- a/Source/WebKit/win/WebSerializedJSValue.h +++ b/Source/WebKit/win/WebSerializedJSValue.h @@ -34,7 +34,8 @@ namespace WebCore { class SerializedScriptValue; } -class WebSerializedJSValue : public Noncopyable, public IWebSerializedJSValue, public IWebSerializedJSValuePrivate { +class WebSerializedJSValue : public IWebSerializedJSValue, public IWebSerializedJSValuePrivate { + WTF_MAKE_NONCOPYABLE(WebSerializedJSValue); public: static COMPtr<WebSerializedJSValue> createInstance(); diff --git a/Source/WebKit/win/WebUserContentURLPattern.h b/Source/WebKit/win/WebUserContentURLPattern.h index e8f6b67..42854b4 100644 --- a/Source/WebKit/win/WebUserContentURLPattern.h +++ b/Source/WebKit/win/WebUserContentURLPattern.h @@ -32,7 +32,8 @@ namespace WebCore { class UserContentURLPattern; } -class WebUserContentURLPattern : public Noncopyable, public IWebUserContentURLPattern { +class WebUserContentURLPattern : public IWebUserContentURLPattern { + WTF_MAKE_NONCOPYABLE(WebUserContentURLPattern); public: static COMPtr<WebUserContentURLPattern> createInstance(); diff --git a/Source/WebKit/win/WebView.cpp b/Source/WebKit/win/WebView.cpp index ae91724..da88be4 100644 --- a/Source/WebKit/win/WebView.cpp +++ b/Source/WebKit/win/WebView.cpp @@ -387,6 +387,11 @@ WebView::~WebView() ASSERT(!m_preferences); ASSERT(!m_viewWindow); +#if USE(ACCELERATED_COMPOSITING) + ASSERT(!m_layerTreeHost); + ASSERT(!m_backingLayer); +#endif + WebViewCount--; gClassCount--; gClassNameCount.remove("WebView"); @@ -819,7 +824,12 @@ void WebView::addToDirtyRegion(HRGN newRegion) void WebView::scrollBackingStore(FrameView* frameView, int dx, int dy, const IntRect& scrollViewRect, const IntRect& clipRect) { #if USE(ACCELERATED_COMPOSITING) - ASSERT(!isAcceleratedCompositing()); + if (isAcceleratedCompositing()) { + // FIXME: We should be doing something smarter here, like moving tiles around and painting + // any newly-exposed tiles. <http://webkit.org/b/52714> + m_backingLayer->setNeedsDisplayInRect(scrollViewRect); + return; + } #endif LOCAL_GDI_COUNTER(0, __FUNCTION__); @@ -873,8 +883,8 @@ void WebView::sizeChanged(const IntSize& newSize) coreFrame->view()->resize(newSize); #if USE(ACCELERATED_COMPOSITING) - if (m_layerRenderer) - m_layerRenderer->resize(); + if (m_layerTreeHost) + m_layerTreeHost->resize(); if (m_backingLayer) { m_backingLayer->setSize(newSize); m_backingLayer->setNeedsDisplay(); @@ -980,11 +990,11 @@ void WebView::paint(HDC dc, LPARAM options) #if USE(ACCELERATED_COMPOSITING) if (isAcceleratedCompositing()) { - syncCompositingState(); - // Syncing might have taken us out of compositing mode. + m_layerTreeHost->flushPendingLayerChangesNow(); + // Flushing might have taken us out of compositing mode. if (isAcceleratedCompositing()) { // FIXME: We need to paint into dc (if provided). <http://webkit.org/b/52578> - m_layerRenderer->paint(); + m_layerTreeHost->paint(); ::ValidateRect(m_viewWindow, 0); return; } @@ -4792,6 +4802,10 @@ HRESULT WebView::notifyPreferencesChanged(IWebNotification* notification) return hr; settings->setShowRepaintCounter(enabled); +#if ENABLE(WEB_AUDIO) + settings->setWebAudioEnabled(true); +#endif // ENABLE(WEB_AUDIO) + #if ENABLE(3D_CANVAS) settings->setWebGLEnabled(true); #endif // ENABLE(3D_CANVAS) @@ -6262,26 +6276,26 @@ void WebView::setRootChildLayer(GraphicsLayer* layer) m_backingLayer->addChild(layer); } -void WebView::scheduleCompositingLayerSync() +void WebView::flushPendingGraphicsLayerChangesSoon() { - if (!m_layerRenderer) + if (!m_layerTreeHost) return; - m_layerRenderer->syncCompositingStateSoon(); + m_layerTreeHost->flushPendingGraphicsLayerChangesSoon(); } void WebView::setAcceleratedCompositing(bool accelerated) { - if (m_isAcceleratedCompositing == accelerated || !WKCACFLayerRenderer::acceleratedCompositingAvailable()) + if (m_isAcceleratedCompositing == accelerated || !CACFLayerTreeHost::acceleratedCompositingAvailable()) return; if (accelerated) { - m_layerRenderer = WKCACFLayerRenderer::create(this); - if (m_layerRenderer) { + m_layerTreeHost = CACFLayerTreeHost::create(); + if (m_layerTreeHost) { m_isAcceleratedCompositing = true; - // Create the root layer + m_layerTreeHost->setClient(this); ASSERT(m_viewWindow); - m_layerRenderer->setHostWindow(m_viewWindow); + m_layerTreeHost->setWindow(m_viewWindow); // FIXME: We could perhaps get better performance by never allowing this layer to // become tiled (or choosing a higher-than-normal tiling threshold). @@ -6294,7 +6308,7 @@ void WebView::setAcceleratedCompositing(bool accelerated) m_backingLayer->setSize(IntRect(clientRect).size()); m_backingLayer->setNeedsDisplay(); - m_layerRenderer->setRootChildLayer(PlatformCALayer::platformCALayer(m_backingLayer->platformLayer())); + m_layerTreeHost->setRootChildLayer(PlatformCALayer::platformCALayer(m_backingLayer->platformLayer())); // We aren't going to be using our backing store while we're in accelerated compositing // mode. But don't delete it immediately, in case we switch out of accelerated @@ -6302,7 +6316,10 @@ void WebView::setAcceleratedCompositing(bool accelerated) deleteBackingStoreSoon(); } } else { - m_layerRenderer = 0; + ASSERT(m_layerTreeHost); + m_layerTreeHost->setClient(0); + m_layerTreeHost->setWindow(0); + m_layerTreeHost = 0; m_backingLayer = 0; m_isAcceleratedCompositing = false; } @@ -6468,7 +6485,7 @@ void WebView::notifyAnimationStarted(const GraphicsLayer*, double) void WebView::notifySyncRequired(const GraphicsLayer*) { - scheduleCompositingLayerSync(); + flushPendingGraphicsLayerChangesSoon(); } void WebView::paintContents(const GraphicsLayer*, GraphicsContext& context, GraphicsLayerPaintingPhase, const IntRect& inClip) @@ -6493,19 +6510,7 @@ bool WebView::showRepaintCounter() const return m_page->settings()->showRepaintCounter(); } -bool WebView::shouldRender() const -{ - Frame* coreFrame = core(m_mainFrame); - if (!coreFrame) - return true; - FrameView* frameView = coreFrame->view(); - if (!frameView) - return true; - - return !frameView->layoutPending(); -} - -void WebView::syncCompositingState() +void WebView::flushPendingGraphicsLayerChanges() { Frame* coreFrame = core(m_mainFrame); if (!coreFrame) @@ -6522,7 +6527,7 @@ void WebView::syncCompositingState() if (m_backingLayer) m_backingLayer->syncCompositingStateForThisLayerOnly(); - view->syncCompositingStateRecursive(); + view->syncCompositingStateIncludingSubframes(); } #endif diff --git a/Source/WebKit/win/WebView.h b/Source/WebKit/win/WebView.h index f775eaf..1a993c6 100644 --- a/Source/WebKit/win/WebView.h +++ b/Source/WebKit/win/WebView.h @@ -40,8 +40,8 @@ #include <wtf/RefPtr.h> #if USE(ACCELERATED_COMPOSITING) +#include <WebCore/CACFLayerTreeHost.h> #include <WebCore/PlatformCALayer.h> -#include <WebCore/WKCACFLayerRenderer.h> #endif class FullscreenVideoController; @@ -71,7 +71,7 @@ class WebView , WebCore::WindowMessageListener #if USE(ACCELERATED_COMPOSITING) , WebCore::GraphicsLayerClient - , WebCore::WKCACFLayerRendererClient + , WebCore::CACFLayerTreeHostClient #endif { public: @@ -905,7 +905,7 @@ public: void downloadURL(const WebCore::KURL&); #if USE(ACCELERATED_COMPOSITING) - void scheduleCompositingLayerSync(); + void flushPendingGraphicsLayerChangesSoon(); void setRootChildLayer(WebCore::GraphicsLayer*); #endif @@ -947,9 +947,8 @@ private: virtual bool showDebugBorders() const; virtual bool showRepaintCounter() const; - // WKCACFLayerRendererClient - virtual bool shouldRender() const; - virtual void syncCompositingState(); + // CACFLayerTreeHostClient + virtual void flushPendingGraphicsLayerChanges(); #endif protected: @@ -1056,7 +1055,7 @@ protected: bool isAcceleratedCompositing() const { return m_isAcceleratedCompositing; } void setAcceleratedCompositing(bool); - OwnPtr<WebCore::WKCACFLayerRenderer> m_layerRenderer; + RefPtr<WebCore::CACFLayerTreeHost> m_layerTreeHost; OwnPtr<WebCore::GraphicsLayer> m_backingLayer; bool m_isAcceleratedCompositing; #endif |