diff options
Diffstat (limited to 'WebKit/chromium')
62 files changed, 1528 insertions, 286 deletions
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog index 07e6edb..50ae8ae 100644 --- a/WebKit/chromium/ChangeLog +++ b/WebKit/chromium/ChangeLog @@ -1,3 +1,566 @@ +2010-05-31 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Chromium: save inspector settings as dictionary, not as string. + https://bugs.webkit.org/show_bug.cgi?id=32118 + + * public/WebView.h: + * public/WebViewClient.h: + (WebKit::WebViewClient::didUpdateInspectorSetting): + * src/InspectorClientImpl.cpp: + (WebKit::InspectorClientImpl::populateSetting): + (WebKit::InspectorClientImpl::storeSetting): + * src/InspectorClientImpl.h: + * src/WebViewImpl.cpp: + (WebKit::WebViewImpl::WebViewImpl): + (WebKit::WebViewImpl::inspectorSetting): + (WebKit::WebViewImpl::setInspectorSetting): + * src/WebViewImpl.h: + +2010-05-31 James Robinson <jamesr@chromium.org> + + Reviewed by Darin Fisher. + + Expose html5 parser enabled flag in WebSettings + https://bugs.webkit.org/show_bug.cgi?id=39913 + + * public/WebSettings.h: + * src/WebSettingsImpl.cpp: + (WebKit::WebSettingsImpl::setHTML5ParserEnabled): + * src/WebSettingsImpl.h: + +2010-05-31 Lyon Chen <liachen@rim.com> + + Reviewed by Kent Tamura. + + Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts. + https://bugs.webkit.org/show_bug.cgi?id=35530 + + Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance. + + * src/WebFrameImpl.cpp: + (WebKit::WebFrameImpl::executeCommand): + +2010-05-31 Roland Steiner <rolandsteiner@chromium.org> + + Bug 39977 - Missing Chromium bindings for InspectorController methods introduced in r60443 + https://bugs.webkit.org/show_bug.cgi?id=39977 + + add missing InspectorController JS bindings: + - getStyleSheet + - getRuleRangesForStyleSheetId + + Tests: inspector/styles-source-offsets.html + + * src/js/InspectorControllerImpl.js: + (devtools.InspectorBackendImpl): + +2010-05-31 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r60456. + http://trac.webkit.org/changeset/60456 + https://bugs.webkit.org/show_bug.cgi?id=39974 + + Broke Chromium Linux/Max build (Requested by tkent on + #webkit). + + * DEPS: + +2010-05-31 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Checking out lighttpd + https://bugs.webkit.org/show_bug.cgi?id=39948 + + - Checking out lighttpd only on Windows. It is used by new-run-webkit-tests. + - Update Chromium revision to use Windows resource query code + + * DEPS: + +2010-05-31 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: allow hiding Scripts panel from Chromium code. This + is needed to support v8 debugging protocol which has an implementation + that conflicts with debugger provided by the inspector. + https://bugs.webkit.org/show_bug.cgi?id=39952 + + * public/WebDevToolsAgentClient.h: + (WebKit::WebDevToolsAgentClient::exposeV8DebuggerProtocol): + * public/WebDevToolsFrontendClient.h: + (WebKit::WebDevToolsFrontendClient::WebDevToolsFrontendClient): + (WebKit::WebDevToolsFrontendClient::sendMessageToAgent): + (WebKit::WebDevToolsFrontendClient::sendDebuggerCommandToAgent): + (WebKit::WebDevToolsFrontendClient::sendDebuggerPauseScript): + (WebKit::WebDevToolsFrontendClient::activateWindow): + (WebKit::WebDevToolsFrontendClient::closeWindow): + (WebKit::WebDevToolsFrontendClient::requestDockWindow): + (WebKit::WebDevToolsFrontendClient::requestUndockWindow): + (WebKit::WebDevToolsFrontendClient::hideScriptsPanel): + * src/DebuggerAgentManager.cpp: + (WebKit::DebuggerAgentManager::debugAttach): + (WebKit::DebuggerAgentManager::debugDetach): + (WebKit::DebuggerAgentManager::setExposeV8DebuggerProtocol): + * src/DebuggerAgentManager.h: + * src/InspectorFrontendClientImpl.cpp: + (WebKit::InspectorFrontendClientImpl::hiddenPanels): + * src/WebDevToolsAgentImpl.cpp: + (WebKit::WebDevToolsAgentImpl::WebDevToolsAgentImpl): + (WebKit::WebDevToolsAgentImpl::attach): + +2010-05-30 Lyon Chen <liachen@rim.com> + + Reviewed by Kent Tamura. + + This is a coding style cleanup before fixing to bug 35530. + + Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts. + https://bugs.webkit.org/show_bug.cgi?id=35530 + + * src/WebFrameImpl.cpp: + (WebKit::WebFrameImpl::find): + (WebKit::WebFrameImpl::scopeStringMatches): + (WebKit::WebFrameImpl::createChildFrame): + (WebKit::WebFrameImpl::shouldScopeMatches): + +2010-05-30 Daniel Bates <dbates@rim.com> + + Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418. + + I missed a few call sites in the Chromium source when I + landed http://trac.webkit.org/changeset/60419. + + Credit to Chris Jerdonek for looking over both this patch and the patch + committed in r60419. + + * src/WebSearchableFormData.cpp: + (WebCore::GetButtonToActivate): + (WebCore::HasSuitableTextElement): + +2010-05-30 Daniel Bates <dbates@rim.com> + + Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418. + + * src/EditorClientImpl.cpp: + (WebKit::EditorClientImpl::autofill): + * src/WebFormControlElement.cpp: + (WebKit::WebFormControlElement::formControlName): + (WebKit::WebFormControlElement::formControlType): + * src/WebFormElement.cpp: + (WebKit::WebFormElement::getFormControlElements): + * src/WebPasswordFormUtils.cpp: + (WebKit::findPasswordFormFields): + +2010-05-30 Jessie Berlin <jberlin@webkit.org> + + Reviewed by Pavel Feldman. + + https://bugs.webkit.org/show_bug.cgi?id=39224 + Bug 39224 - Web Inspector: There should be a way to clean up profiles + + * src/js/InspectorControllerImpl.js: + (devtools.InspectorBackendImpl): + +2010-05-29 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Darin Fisher. + + Adding support for a runtime flag to enable accelerated + compositing in chromium. + https://bugs.webkit.org/show_bug.cgi?id=39917 + + * public/WebSettings.h: + * src/WebSettingsImpl.cpp: + (WebKit::WebSettingsImpl::setAcceleratedCompositingEnabled): + * src/WebSettingsImpl.h: + +2010-05-28 Aaron Boodman <aa@chromium.org> + + Reviewed by Darin Fisher. + + Add isXHTMLDocument() to WebDocument. + + https://bugs.webkit.org/show_bug.cgi?id=39887 + + * public/WebDocument.h: Add isXHTMLDocument(). + * src/WebDocument.cpp: ditto. + (WebKit::WebDocument::isXHTMLDocument): dittorama. + +2010-05-27 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Steve Block. + + Add IndexedDB's IDBIndex + https://bugs.webkit.org/show_bug.cgi?id=39850 + + Add WebKit layer for IDBIndex. + + * WebKit.gyp: + * public/WebCommon.h: + * public/WebIDBCallbacks.h: + (WebKit::WebIDBCallbacks::onError): + (WebKit::WebIDBCallbacks::onSuccess): + * public/WebIDBDatabase.h: + * public/WebIDBIndex.h: Added. + (WebKit::WebIDBIndex::~WebIDBIndex): + (WebKit::WebIDBIndex::name): + (WebKit::WebIDBIndex::keyPath): + (WebKit::WebIDBIndex::unique): + * src/IDBCallbacksProxy.cpp: + (WebCore::IDBCallbacksProxy::onSuccess): + * src/IDBCallbacksProxy.h: + * src/IDBDatabaseProxy.cpp: + * src/IDBDatabaseProxy.h: + * src/IDBIndexProxy.cpp: Added. + (WebCore::IDBIndexProxy::create): + (WebCore::IDBIndexProxy::IDBIndexProxy): + (WebCore::IDBIndexProxy::~IDBIndexProxy): + (WebCore::IDBIndexProxy::name): + (WebCore::IDBIndexProxy::keyPath): + (WebCore::IDBIndexProxy::unique): + * src/IDBIndexProxy.h: Added. + * src/WebIDBCallbacksImpl.cpp: + (WebCore::WebIDBCallbacksImpl::onSuccess): + * src/WebIDBCallbacksImpl.h: + * src/WebIDBDatabaseImpl.cpp: + * src/WebIDBDatabaseImpl.h: + * src/WebIDBIndexImpl.cpp: Added. + (WebKit::WebIDBIndexImpl::WebIDBIndexImpl): + (WebKit::WebIDBIndexImpl::~WebIDBIndexImpl): + (WebKit::WebIDBIndexImpl::name): + (WebKit::WebIDBIndexImpl::keyPath): + (WebKit::WebIDBIndexImpl::unique): + * src/WebIDBIndexImpl.h: Added. + +2010-05-28 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: check that ClientMessageLoopAdapter is not 0 before + accessing its fileds from inspectedViewClosed method. It may be 0 + if inspector frontend has not been open. + https://bugs.webkit.org/show_bug.cgi?id=39876 + + * src/WebDevToolsAgentImpl.cpp: + (WebKit::): + +2010-05-27 Eric Uhrhane <ericu@chromium.org> + + Reviewed by Adam Barth. + + Add v8 bindings for async DB API in workers + https://bugs.webkit.org/show_bug.cgi?id=39145 + + * src/DatabaseObserver.cpp: + We should check that we're on the context thread now, not the main + thread. + (WebCore::DatabaseObserver::databaseOpened): + (WebCore::DatabaseObserver::databaseModified): + (WebCore::DatabaseObserver::databaseClosed): + +2010-05-27 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Resume script execution if user tries to navigate to another URL + https://bugs.webkit.org/show_bug.cgi?id=39842 + + * src/WebDevToolsAgentImpl.cpp: + (WebKit::): + (WebKit::WebDevToolsAgentImpl::didNavigate): + +2010-05-27 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + Implement lazy clearing of renderbuffers + https://bugs.webkit.org/show_bug.cgi?id=36248 + + * src/WebGraphicsContext3DDefaultImpl.cpp: + (WebKit::WebGraphicsContext3DDefaultImpl::reshape): Clear WebGL internal buffers. + +2010-05-26 Roland Steiner <rolandsteiner@chromium.org> + + Reviewed by NOBODY (layout test crashing fix). + + Bug 39811 - WebPluginListBuilderImpl::addMediaTypeToLastPlugin does not initialize pluginIndex + https://bugs.webkit.org/show_bug.cgi?id=39811 + + Initialize the pluginIndex field (quick fix). + + Tests: covered by fast/dom/prototype-inheritance-2.html + (crashed under Chromium Linux and Windows) + + * src/WebPluginListBuilderImpl.cpp: + (WebKit::WebPluginListBuilderImpl::addMediaTypeToLastPlugin): + +2010-05-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Clean up MimeClassInfo and PluginInfo + https://bugs.webkit.org/show_bug.cgi?id=39700 + + Update for WebCore changes. + + * src/WebPluginListBuilderImpl.cpp: + (WebKit::WebPluginListBuilderImpl::addPlugin): + (WebKit::WebPluginListBuilderImpl::addMediaTypeToLastPlugin): + (WebKit::WebPluginListBuilderImpl::addFileExtensionToLastMediaType): + * src/WebPluginListBuilderImpl.h: + (WebKit::WebPluginListBuilderImpl::WebPluginListBuilderImpl): + +2010-05-26 Jeremy Orlow <jorlow@chromium.org> + + Unreviewed chromium build fix + https://bugs.webkit.org/show_bug.cgi?id=39739 + + The backwards compat function needs to take in a WebSecurityOrigin + instead of a WebString. + + * public/WebIndexedDatabase.h: + (WebKit::WebIndexedDatabase::open): + +2010-05-26 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Darin Fisher. + + Implement WebDOMStorageList and make WebIDBDatabase use it + https://bugs.webkit.org/show_bug.cgi?id=39731 + + * WebKit.gyp: + * public/WebDOMStringList.h: Added. + (WebKit::WebDOMStringList::~WebDOMStringList): + (WebKit::WebDOMStringList::WebDOMStringList): + (WebKit::WebDOMStringList::operator=): + * public/WebIDBDatabase.h: + (WebKit::WebIDBDatabase::objectStores): + * src/IDBDatabaseProxy.cpp: + (WebCore::IDBDatabaseProxy::objectStores): + * src/WebDOMStringList.cpp: Added. + (WebKit::WebDOMStringList::reset): + (WebKit::WebDOMStringList::assign): + (WebKit::WebDOMStringList::append): + (WebKit::WebDOMStringList::length): + (WebKit::WebDOMStringList::item): + (WebKit::WebDOMStringList::WebDOMStringList): + (WebKit::WebDOMStringList::operator=): + (WebKit::WebDOMStringList::operator WTF::PassRefPtr<WebCore::DOMStringList>): + * src/WebIDBDatabaseImpl.cpp: + (WebKit::WebIDBDatabaseImpl::objectStores): + * src/WebIDBDatabaseImpl.h: + +2010-05-24 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Steve Block. + + Add IDBDatabase's attributes + https://bugs.webkit.org/show_bug.cgi?id=39602 + + Plumbing to hook up the synchronous attribute requests + on IDBDatabase. + + * public/WebIDBDatabase.h: + (WebKit::WebIDBDatabase::name): + (WebKit::WebIDBDatabase::description): + (WebKit::WebIDBDatabase::version): + (WebKit::WebIDBDatabase::objectStores): + * src/IDBDatabaseProxy.cpp: + (WebCore::IDBDatabaseProxy::name): + (WebCore::IDBDatabaseProxy::description): + (WebCore::IDBDatabaseProxy::version): + (WebCore::IDBDatabaseProxy::objectStores): + * src/IDBDatabaseProxy.h: + * src/WebIDBDatabaseImpl.cpp: + (WebKit::WebIDBDatabaseImpl::WebIDBDatabaseImpl): + (WebKit::WebIDBDatabaseImpl::name): + (WebKit::WebIDBDatabaseImpl::description): + (WebKit::WebIDBDatabaseImpl::version): + (WebKit::WebIDBDatabaseImpl::objectStores): + * src/WebIDBDatabaseImpl.h: + +2010-05-24 Dirk Pranke <dpranke@chromium.org> + + Reviewed by Dimitri Glazkov. + + Re-commit r58765 - it had been rolled out to see if it was causing + a perf regression (in r59787 and r59789), but that does not seem to + have been the case. + + * public/WebNotification.h: + * src/WebNotification.cpp: + (WebKit::WebNotification::dir): + (WebKit::WebNotification::replaceId): + +2010-05-25 Brett Wilson <brettw@chromium.org> + + Reviewed by Darin Fisher. + + Remove obsolete code for Mac & Windows plugin creation in the Chromium + port. This non-Windows code was to prevent a crash which we no longer + seem to have, and it is preventing other types of plugins from working. + https://bugs.webkit.org/show_bug.cgi?id=39684 + + * src/FrameLoaderClientImpl.cpp: + (WebKit::FrameLoaderClientImpl::createPlugin): + +2010-05-25 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Enable 3D_CANVAS, FILTERS, METER_TAG and PROGRESS_TAG + https://bugs.webkit.org/show_bug.cgi?id=39652 + + 3D_CANVAS and FILTERS have been enabled for Chromium tree + build. They fix dozens of unexpected test results in a case of + upstreaming build. + Enable METER_TAG and PROGRESS_TAG too because they will be enabled + in Chromium tree in the near future. + + * features.gypi: + +2010-05-25 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Darin Fisher. + + The GraphicsContext that serves as a backing store for the root layer + updates when doing accelerated compositing is now stored in LayerRendererChromium + instead of the Layer itself. Updating code in WebViewImpl to reflect + that change. + https://bugs.webkit.org/show_bug.cgi?id=39640 + + * src/WebViewImpl.cpp: + (WebKit::WebViewImpl::updateRootLayerContents): + +2010-05-24 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + ScriptDebugServer is now implemented as DebugEventListener which means it doesn't + depend on v8 debugging protocol, instead it uses ExecState to collect debugging + info and pass it to the listeners. + + New implementation of ScriptDebugServer uses methods provided by client to dispatch + its messages while JS is paused(previously the messages was dispatched in a callback + passed to v8 along with DebugEventHandler). + + Pause command is dispatched on IO thread. + + https://bugs.webkit.org/show_bug.cgi?id=39594 + + * public/WebDevToolsAgentClient.h: + (WebKit::WebDevToolsAgentClient::ClientMessageLoop::~ClientMessageLoop): + (WebKit::WebDevToolsAgentClient::createClientMessageLoop): Returns an object that allows to run + nested client message loop while script execution is paused on a breakpoint. + * src/DebuggerAgentManager.cpp: + (WebKit::DebuggerAgentManager::setMessageLoopDispatchHandler): + * src/DebuggerAgentManager.h: + * src/WebDevToolsAgentImpl.cpp: + (WebKit::): + (WebKit::WebDevToolsAgentImpl::~WebDevToolsAgentImpl): + (WebKit::WebDevToolsAgentImpl::attach): + * src/js/DebuggerScript.js: + (debuggerScriptConstructor.DebuggerScript.getAfterCompileScript): + (debuggerScriptConstructor.DebuggerScript.stepIntoStatement): + (debuggerScriptConstructor.DebuggerScript.stepOverStatement): + (debuggerScriptConstructor.DebuggerScript.stepOutOfFunction): + * src/js/InspectorControllerImpl.js: + (devtools.InspectorBackendImpl): + (else.devtools.InspectorBackendImpl.prototype.pauseInDebugger): Pause command should be handled on IO + thread so that script can be paused even if it's in an infinite loop. + +2010-05-25 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Add memory graph to Timeline overview pane. + + https://bugs.webkit.org/show_bug.cgi?id=37879 + + * src/js/devTools.css: + (.timeline-category-statusbar-item input): + +2010-05-24 Tony Chang <tony@chromium.org> + + Reviewed by David Levin. + + [chromium] Fix zoom tests after r60104 + https://bugs.webkit.org/show_bug.cgi?id=39645 + + m_zoomFactor moved from Frame to FrameView. FrameView has separate + notions of page zoom and text zoom. In my hurried compile fix, I + assumed that m_zoomFactor was for page zoom, but it's not always. + + * src/WebViewImpl.cpp: + (WebKit::WebViewImpl::setZoomLevel): + +2010-05-24 Kent Tamura <tkent@chromium.org> + + Unreviewed. Sort features. + + * features.gypi: + +2010-05-24 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + [DRT/Chromium] Import layout_test_helper for Windows + https://bugs.webkit.org/show_bug.cgi?id=39581 + + * WebKit.gyp: Add a build rule for LayoutTestHelper.exe for Windows. + +2010-05-24 Marcus Bulach <bulach@chromium.org> + + Reviewed by Kent Tamura. + + [chromium] Adds WebGeolocationServiceMockImpl to remove public dependency on wtf/HashMap.h + https://bugs.webkit.org/show_bug.cgi?id=39587 + + * public/WebGeolocationServiceMock.h: + * src/WebGeolocationServiceMock.cpp: + (WebKit::WebGeolocationServiceMockImpl::~WebGeolocationServiceMockImpl): + (WebKit::WebGeolocationServiceMock::createWebGeolocationServiceMock): + (WebKit::WebGeolocationServiceMockImpl::requestPermissionForFrame): + (WebKit::WebGeolocationServiceMockImpl::attachBridge): + (WebKit::WebGeolocationServiceMockImpl::detachBridge): + +2010-05-24 Tony Chang <tony@chromium.org> + + Reviewed by Kent Tamura. + + [chromium] setup fonts on chromium linux DRT + https://bugs.webkit.org/show_bug.cgi?id=39644 + + * WebKit.gyp: + +2010-05-24 Tony Chang <tony@chromium.org> + + Not reviewed, build fix. + + Fix the chromium compile due to pageZoomFactor refactoring. + + * src/WebViewImpl.cpp: + (WebKit::WebViewImpl::setZoomLevel): + +2010-05-24 Darin Adler <darin@apple.com> + + Reviewed by Eric Seidel. + + Move view-related functions from Frame to FrameView + https://bugs.webkit.org/show_bug.cgi?id=39366 + + * src/WebViewImpl.cpp: + (WebKit::WebViewImpl::setZoomLevel): Call setZoomLevel on FrameView. + +2010-05-24 Anders Carlsson <andersca@apple.com> + + Attempt to fix the Chromium build. + + * src/WebViewImpl.cpp: + 2010-05-21 Tony Chang <tony@chromium.org> Reviewed by Ojan Vafai. @@ -221,18 +784,6 @@ (WebKit::WebNotification::dir): (WebKit::WebNotification::replaceId): -2010-05-18 Dirk Pranke <dpranke@chromium.org> - - Reviewed by Dimitri Glazkov. - - Attempt to revert r58765 to see if it was causing a performance - regression. - - https://bugs.webkit.org/show_bug.cgi?id=39328 - - * public/WebNotification.h: - * src/WebNotification.cpp: - 2010-05-19 Jian Li <jianli@chromium.org> Reviewed by Darin Fisher. diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp index 94d7a46..937f4b3 100644 --- a/WebKit/chromium/WebKit.gyp +++ b/WebKit/chromium/WebKit.gyp @@ -100,6 +100,7 @@ 'public/WebCrossOriginPreflightResultCache.h', 'public/WebCString.h', 'public/WebCursorInfo.h', + 'public/WebDOMStringList.h', 'public/WebData.h', 'public/WebDatabase.h', 'public/WebDatabaseObserver.h', @@ -138,6 +139,7 @@ 'public/WebIDBCallbacks.h', 'public/WebIDBDatabase.h', 'public/WebIDBDatabaseError.h', + 'public/WebIDBIndex.h', 'public/WebIndexedDatabase.h', 'public/WebInputElement.h', 'public/WebInputEvent.h', @@ -265,6 +267,8 @@ 'src/IDBCallbacksProxy.h', 'src/IDBDatabaseProxy.cpp', 'src/IDBDatabaseProxy.h', + 'src/IDBIndexProxy.cpp', + 'src/IDBIndexProxy.h', 'src/IndexedDatabaseProxy.cpp', 'src/IndexedDatabaseProxy.h', 'src/InspectorClientImpl.cpp', @@ -313,6 +317,7 @@ 'src/WebCrossOriginPreflightResultCache.cpp', 'src/WebCString.cpp', 'src/WebCursorInfo.cpp', + 'src/WebDOMStringList.cpp', 'src/WebData.cpp', 'src/WebDatabase.cpp', 'src/WebDataSourceImpl.cpp', @@ -351,6 +356,8 @@ 'src/WebIDBDatabaseError.cpp', 'src/WebIDBDatabaseImpl.cpp', 'src/WebIDBDatabaseImpl.h', + 'src/WebIDBIndexImpl.cpp', + 'src/WebIDBIndexImpl.h', 'src/WebImageCG.cpp', 'src/WebImageDecoder.cpp', 'src/WebImageSkia.cpp', @@ -581,16 +588,18 @@ ], 'conditions': [ ['OS=="win"', { + 'dependencies': ['LayoutTestHelper'], + 'resource_include_dirs': ['<(SHARED_INTERMEDIATE_DIR)/webkit'], 'sources': [ - '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc', - '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc', - '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.rc', - '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.rc', + '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.rc', + '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.rc', ], 'copies': [{ - 'destination': '<(PRODUCT_DIR)', - 'files': ['<(ahem_path)'], + 'destination': '<(PRODUCT_DIR)', + 'files': ['<(ahem_path)'], }], }], ['OS=="mac"', { @@ -631,6 +640,15 @@ }, ], # actions }], + ['OS=="linux"', { + 'copies': [{ + 'destination': '<(PRODUCT_DIR)', + 'files': [ + '<(ahem_path)', + '../../WebKitTools/DumpRenderTree/chromium/fonts.conf', + ], + }], + }], ['OS!="linux" and OS!="freebsd" and OS!="openbsd"', { 'sources/': [ ['exclude', '(Gtk|Linux)\\.cpp$'] @@ -651,6 +669,13 @@ }, ], # targets 'conditions': [ + ['OS=="win"', { + 'targets': [{ + 'target_name': 'LayoutTestHelper', + 'type': 'executable', + 'sources': ['../../WebKitTools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp'], + }], + }], ['OS=="mac"', { 'targets': [ { diff --git a/WebKit/chromium/features.gypi b/WebKit/chromium/features.gypi index 87a6e09..c7d40cf 100644 --- a/WebKit/chromium/features.gypi +++ b/WebKit/chromium/features.gypi @@ -39,40 +39,43 @@ # chromium build, overrides this list with its own values. See # features_override.gypi inline documentation for more details. 'feature_defines%': [ - 'ENABLE_3D_CANVAS=0', + 'ENABLE_3D_CANVAS=1', 'ENABLE_BLOB_SLICE=1', 'ENABLE_CHANNEL_MESSAGING=1', + 'ENABLE_DASHBOARD_SUPPORT=0', 'ENABLE_DATABASE=1', 'ENABLE_DATAGRID=0', - 'ENABLE_OFFLINE_WEB_APPLICATIONS=1', - 'ENABLE_DASHBOARD_SUPPORT=0', 'ENABLE_DOM_STORAGE=1', 'ENABLE_FILE_READER=1', 'ENABLE_FILE_WRITER=0', + 'ENABLE_FILTERS=1', 'ENABLE_GEOLOCATION=1', - 'ENABLE_JAVASCRIPT_DEBUGGER=1', - 'ENABLE_JSC_MULTIPLE_THREADS=0', 'ENABLE_ICONDATABASE=0', 'ENABLE_INDEXED_DATABASE=1', + 'ENABLE_JAVASCRIPT_DEBUGGER=1', + 'ENABLE_JSC_MULTIPLE_THREADS=0', + 'ENABLE_METER_TAG=1', 'ENABLE_NOTIFICATIONS=1', + 'ENABLE_OFFLINE_WEB_APPLICATIONS=1', 'ENABLE_OPENTYPE_SANITIZER=1', 'ENABLE_ORIENTATION_EVENTS=0', + 'ENABLE_PROGRESS_TAG=1', 'ENABLE_RUBY=1', 'ENABLE_SANDBOX=1', - 'ENABLE_XHTMLMP=0', - 'ENABLE_XSLT=1', - 'ENABLE_XPATH=1', 'ENABLE_SHARED_WORKERS=1', 'ENABLE_SVG=1', 'ENABLE_SVG_ANIMATION=1', 'ENABLE_SVG_AS_IMAGE=1', - 'ENABLE_SVG_USE=1', - 'ENABLE_SVG_FOREIGN_OBJECT=1', 'ENABLE_SVG_FONTS=1', + 'ENABLE_SVG_FOREIGN_OBJECT=1', + 'ENABLE_SVG_USE=1', 'ENABLE_TOUCH_EVENTS=1', 'ENABLE_VIDEO=1', 'ENABLE_WEB_SOCKETS=1', 'ENABLE_WORKERS=1', + 'ENABLE_XHTMLMP=0', + 'ENABLE_XPATH=1', + 'ENABLE_XSLT=1', 'WTF_USE_ACCELERATED_COMPOSITING=0', ], diff --git a/WebKit/chromium/public/WebCommon.h b/WebKit/chromium/public/WebCommon.h index e7e38d3..7872729 100644 --- a/WebKit/chromium/public/WebCommon.h +++ b/WebKit/chromium/public/WebCommon.h @@ -106,4 +106,6 @@ WEBKIT_API void failedAssertion(const char* file, int line, const char* function } while (0) #endif +#define WEBKIT_ASSERT_NOT_REACHED() WEBKIT_ASSERT(0) + #endif diff --git a/WebKit/chromium/public/WebDOMStringList.h b/WebKit/chromium/public/WebDOMStringList.h new file mode 100644 index 0000000..b3fb533 --- /dev/null +++ b/WebKit/chromium/public/WebDOMStringList.h @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef WebDOMStringList_h +#define WebDOMStringList_h + +#include "WebCommon.h" +#include "WebPrivatePtr.h" +#include "WebString.h" + +namespace WebCore { class DOMStringList; } +#if WEBKIT_IMPLEMENTATION +namespace WTF { template <typename T> class PassRefPtr; } +#endif + +namespace WebKit { + +class WebDOMStringList { +public: + ~WebDOMStringList() { reset(); } + + WebDOMStringList() { } + WebDOMStringList(const WebDOMStringList& l) { assign(l); } + WebDOMStringList& operator=(const WebDOMStringList& l) + { + assign(l); + return *this; + } + + WEBKIT_API void reset(); + WEBKIT_API void assign(const WebDOMStringList&); + + WEBKIT_API void append(const WebString&); + WEBKIT_API unsigned length() const; + WEBKIT_API WebString item(unsigned) const; + +#if WEBKIT_IMPLEMENTATION + WebDOMStringList(const WTF::PassRefPtr<WebCore::DOMStringList>&); + WebDOMStringList& operator=(const WTF::PassRefPtr<WebCore::DOMStringList>&); + operator WTF::PassRefPtr<WebCore::DOMStringList>() const; +#endif + +private: + WebPrivatePtr<WebCore::DOMStringList> m_private; +}; + +} // namespace WebKit + +#endif diff --git a/WebKit/chromium/public/WebDevToolsAgentClient.h b/WebKit/chromium/public/WebDevToolsAgentClient.h index d78a6f1..0f7421d 100644 --- a/WebKit/chromium/public/WebDevToolsAgentClient.h +++ b/WebKit/chromium/public/WebDevToolsAgentClient.h @@ -56,6 +56,16 @@ public: virtual WebCString injectedScriptSource() { return WebCString(); } virtual WebCString injectedScriptDispatcherSource() { return WebCString(); } + class WebKitClientMessageLoop { + public: + virtual ~WebKitClientMessageLoop() { } + virtual void run() = 0; + virtual void quitNow() = 0; + }; + virtual WebKitClientMessageLoop* createClientMessageLoop() { return 0; } + + virtual bool exposeV8DebuggerProtocol() { return false; } + protected: ~WebDevToolsAgentClient() { } }; diff --git a/WebKit/chromium/public/WebDevToolsFrontendClient.h b/WebKit/chromium/public/WebDevToolsFrontendClient.h index 754ecf9..159a3cd 100644 --- a/WebKit/chromium/public/WebDevToolsFrontendClient.h +++ b/WebKit/chromium/public/WebDevToolsFrontendClient.h @@ -38,16 +38,18 @@ struct WebDevToolsMessageData; class WebDevToolsFrontendClient { public: - WebDevToolsFrontendClient() {} + WebDevToolsFrontendClient() { } - virtual void sendMessageToAgent(const WebDevToolsMessageData&) {}; - virtual void sendDebuggerCommandToAgent(const WebString& command) {}; - virtual void sendDebuggerPauseScript() {} + virtual void sendMessageToAgent(const WebDevToolsMessageData&) { } + virtual void sendDebuggerCommandToAgent(const WebString& command) { } + virtual void sendDebuggerPauseScript() { } - virtual void activateWindow() {}; - virtual void closeWindow() {}; - virtual void requestDockWindow() {}; - virtual void requestUndockWindow() {}; + virtual void activateWindow() { } + virtual void closeWindow() { } + virtual void requestDockWindow() { } + virtual void requestUndockWindow() { } + + virtual bool shouldHideScriptsPanel() { return false; } protected: virtual ~WebDevToolsFrontendClient() {} diff --git a/WebKit/chromium/public/WebDocument.h b/WebKit/chromium/public/WebDocument.h index 1f09653..c093c58 100644 --- a/WebKit/chromium/public/WebDocument.h +++ b/WebKit/chromium/public/WebDocument.h @@ -62,6 +62,7 @@ public: // Returns the frame the document belongs to or 0 if the document is frameless. WEBKIT_API WebFrame* frame() const; WEBKIT_API bool isHTMLDocument() const; + WEBKIT_API bool isXHTMLDocument() const; WEBKIT_API bool isPluginDocument() const; WEBKIT_API WebURL baseURL() const; WEBKIT_API WebURL firstPartyForCookies() const; diff --git a/WebKit/chromium/public/WebGeolocationServiceMock.h b/WebKit/chromium/public/WebGeolocationServiceMock.h index 285f70c..d1a146b 100644 --- a/WebKit/chromium/public/WebGeolocationServiceMock.h +++ b/WebKit/chromium/public/WebGeolocationServiceMock.h @@ -32,7 +32,6 @@ #define WebGeolocationServiceMock_h #include "WebGeolocationService.h" -#include <wtf/HashMap.h> namespace WebKit { @@ -40,18 +39,12 @@ class WebString; class WebGeolocationServiceMock : public WebGeolocationService { public: + static WebGeolocationServiceMock* createWebGeolocationServiceMock(); static void setMockGeolocationPermission(bool allowed); static void setMockGeolocationPosition(double latitude, double longitude, double accuracy); static void setMockGeolocationError(int errorCode, const WebString& message); - virtual void requestPermissionForFrame(int bridgeId, const WebURL& url); - virtual int attachBridge(WebGeolocationServiceBridge*); - virtual void detachBridge(int bridgeId); - -private: - typedef HashMap<int, WebGeolocationServiceBridge*> IdToBridgeMap; - IdToBridgeMap m_idToBridgeMap; - +protected: static bool s_mockGeolocationPermission; }; diff --git a/WebKit/chromium/public/WebIDBCallbacks.h b/WebKit/chromium/public/WebIDBCallbacks.h index 610f7d4..bba7c74 100644 --- a/WebKit/chromium/public/WebIDBCallbacks.h +++ b/WebKit/chromium/public/WebIDBCallbacks.h @@ -10,9 +10,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED @@ -35,6 +32,7 @@ namespace WebKit { class WebIDBDatabase; class WebIDBDatabaseError; +class WebIDBIndex; class WebSerializedScriptValue; class WebIDBCallbacks { @@ -43,9 +41,11 @@ public: // For classes that follow the PImpl pattern, pass a const reference. // For the rest, pass ownership to the callee via a pointer. - virtual void onError(const WebIDBDatabaseError&) = 0; - virtual void onSuccess(WebIDBDatabase*) = 0; - virtual void onSuccess(const WebSerializedScriptValue&) = 0; + virtual void onError(const WebIDBDatabaseError&) { WEBKIT_ASSERT_NOT_REACHED(); } + virtual void onSuccess() { WEBKIT_ASSERT_NOT_REACHED(); } // For "null". + virtual void onSuccess(WebIDBDatabase*) { WEBKIT_ASSERT_NOT_REACHED(); } + virtual void onSuccess(WebIDBIndex*) { WEBKIT_ASSERT_NOT_REACHED(); } + virtual void onSuccess(const WebSerializedScriptValue&) { WEBKIT_ASSERT_NOT_REACHED(); } }; } // namespace WebKit diff --git a/WebKit/chromium/public/WebIDBDatabase.h b/WebKit/chromium/public/WebIDBDatabase.h index 403b4e8..0f65c6f 100644 --- a/WebKit/chromium/public/WebIDBDatabase.h +++ b/WebKit/chromium/public/WebIDBDatabase.h @@ -10,9 +10,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED @@ -30,15 +27,19 @@ #define WebIDBDatabase_h #include "WebCommon.h" +#include "WebDOMStringList.h" namespace WebKit { -// See comment in WebIndexedDatabase for a high level overview these classes. +// See comment in WebIndexedDatabase for a high level overview of these classes. class WebIDBDatabase { public: virtual ~WebIDBDatabase() { } - // FIXME: Implement. + virtual WebString name() { return WebString(); } + virtual WebString description() { return WebString(); } + virtual WebString version() { return WebString(); } + virtual WebDOMStringList objectStores() { return WebDOMStringList(); } }; } // namespace WebKit diff --git a/WebKit/chromium/public/WebIDBIndex.h b/WebKit/chromium/public/WebIDBIndex.h new file mode 100644 index 0000000..dafea0e --- /dev/null +++ b/WebKit/chromium/public/WebIDBIndex.h @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef WebIDBIndex_h +#define WebIDBIndex_h + +#include "WebString.h" + +namespace WebKit { + +// See comment in WebIndexedDatabase for a high level overview of these classes. +class WebIDBIndex { +public: + virtual ~WebIDBIndex() { } + + virtual WebString name() const + { + WEBKIT_ASSERT_NOT_REACHED(); + return WebString(); + } + virtual WebString keyPath() const + { + WEBKIT_ASSERT_NOT_REACHED(); + return WebString(); + } + virtual bool unique() const + { + WEBKIT_ASSERT_NOT_REACHED(); + return false; + } +}; + +} // namespace WebKit + +#endif // WebIDBIndex_h diff --git a/WebKit/chromium/public/WebIndexedDatabase.h b/WebKit/chromium/public/WebIndexedDatabase.h index 61b77a0..8e4bf5b 100644 --- a/WebKit/chromium/public/WebIndexedDatabase.h +++ b/WebKit/chromium/public/WebIndexedDatabase.h @@ -51,16 +51,16 @@ public: virtual ~WebIndexedDatabase() { } // The WebKit implementation of open ignores the WebFrame* parameter. - virtual void open(const WebString& name, const WebString& description, bool modifyDatabase, + virtual void open(const WebString& name, const WebString& description, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* webFrame, int& exceptionCode) { - open(name, description, modifyDatabase, callbacks, origin.toString(), webFrame, exceptionCode); + open(name, description, false, callbacks, origin, webFrame, exceptionCode); } // FIXME: Delete soon. Compatability hack. virtual void open(const WebString& name, const WebString& description, bool modifyDatabase, - WebIDBCallbacks* callbacks, const WebString& origin, WebFrame* webFrame, int& exceptionCode) + WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* webFrame, int& exceptionCode) { - open(name, description, modifyDatabase, callbacks, WebSecurityOrigin::createFromString(origin), webFrame, exceptionCode); + open(name, description, callbacks, origin, webFrame, exceptionCode); } }; diff --git a/WebKit/chromium/public/WebNotification.h b/WebKit/chromium/public/WebNotification.h index 9d64e2a..ab747e3 100644 --- a/WebKit/chromium/public/WebNotification.h +++ b/WebKit/chromium/public/WebNotification.h @@ -75,6 +75,9 @@ public: WEBKIT_API WebString title() const; WEBKIT_API WebString body() const; + WEBKIT_API WebString dir() const; + WEBKIT_API WebString replaceId() const; + // Called to indicate the notification has been displayed. WEBKIT_API void dispatchDisplayEvent(); diff --git a/WebKit/chromium/public/WebSettings.h b/WebKit/chromium/public/WebSettings.h index dd31ea0..de895e1 100644 --- a/WebKit/chromium/public/WebSettings.h +++ b/WebKit/chromium/public/WebSettings.h @@ -90,6 +90,8 @@ public: virtual void setExperimentalWebGLEnabled(bool) = 0; virtual void setShowDebugBorders(bool) = 0; virtual void setEditingBehavior(EditingBehavior) = 0; + virtual void setAcceleratedCompositingEnabled(bool) = 0; + virtual void setHTML5ParserEnabled(bool) = 0; protected: ~WebSettings() { } diff --git a/WebKit/chromium/public/WebView.h b/WebKit/chromium/public/WebView.h index 9ed98c6..56ea68d 100644 --- a/WebKit/chromium/public/WebView.h +++ b/WebKit/chromium/public/WebView.h @@ -210,6 +210,10 @@ public: // Settings used by the inspector. virtual WebString inspectorSettings() const = 0; virtual void setInspectorSettings(const WebString&) = 0; + virtual bool inspectorSetting(const WebString& key, + WebString* value) const = 0; + virtual void setInspectorSetting(const WebString& key, + const WebString& value) = 0; // The embedder may optionally engage a WebDevToolsAgent. This may only // be set once per WebView. diff --git a/WebKit/chromium/public/WebViewClient.h b/WebKit/chromium/public/WebViewClient.h index 9478df9..e0fe71d 100644 --- a/WebKit/chromium/public/WebViewClient.h +++ b/WebKit/chromium/public/WebViewClient.h @@ -270,6 +270,8 @@ public: // changed and should be saved. See WebView::inspectorSettings. virtual void didUpdateInspectorSettings() { } + virtual void didUpdateInspectorSetting(const WebString& key, const WebString& value) { } + // Autofill ------------------------------------------------------------ diff --git a/WebKit/chromium/src/ChromiumBridge.cpp b/WebKit/chromium/src/ChromiumBridge.cpp index 01e91a6..3b8e5fa 100644 --- a/WebKit/chromium/src/ChromiumBridge.cpp +++ b/WebKit/chromium/src/ChromiumBridge.cpp @@ -505,7 +505,7 @@ String ChromiumBridge::preferredExtensionForMIMEType(const String& mimeType) // Plugin --------------------------------------------------------------------- -bool ChromiumBridge::plugins(bool refresh, Vector<PluginInfo*>* results) +bool ChromiumBridge::plugins(bool refresh, Vector<PluginInfo>* results) { WebPluginListBuilderImpl builder(results); webKitClient()->getPluginList(refresh, &builder); diff --git a/WebKit/chromium/src/DatabaseObserver.cpp b/WebKit/chromium/src/DatabaseObserver.cpp index 1c5117c..be658fe 100644 --- a/WebKit/chromium/src/DatabaseObserver.cpp +++ b/WebKit/chromium/src/DatabaseObserver.cpp @@ -67,19 +67,19 @@ bool DatabaseObserver::canEstablishDatabase(ScriptExecutionContext* scriptExecut void DatabaseObserver::databaseOpened(Database* database) { - ASSERT(isMainThread()); + ASSERT(database->scriptExecutionContext()->isContextThread()); WebDatabase::observer()->databaseOpened(WebDatabase(database)); } void DatabaseObserver::databaseModified(Database* database) { - ASSERT(isMainThread()); + ASSERT(database->scriptExecutionContext()->isContextThread()); WebDatabase::observer()->databaseModified(WebDatabase(database)); } void DatabaseObserver::databaseClosed(Database* database) { - ASSERT(isMainThread()); + ASSERT(database->scriptExecutionContext()->isContextThread()); WebDatabase::observer()->databaseClosed(WebDatabase(database)); } diff --git a/WebKit/chromium/src/DebuggerAgentManager.cpp b/WebKit/chromium/src/DebuggerAgentManager.cpp index d3f7fea..a30675d 100644 --- a/WebKit/chromium/src/DebuggerAgentManager.cpp +++ b/WebKit/chromium/src/DebuggerAgentManager.cpp @@ -54,6 +54,8 @@ bool DebuggerAgentManager::s_inUtilityContext = false; bool DebuggerAgentManager::s_debugBreakDelayed = false; +bool DebuggerAgentManager::s_exposeV8DebuggerProtocol = false; + namespace { class CallerIdWrapper : public v8::Debug::ClientData, public Noncopyable { @@ -73,42 +75,6 @@ private: } // namespace -void DebuggerAgentManager::hostDispatchHandler(const Vector<WebCore::Page*>& pages) -{ - if (!s_messageLoopDispatchHandler) - return; - - if (s_inHostDispatchHandler) - return; - - s_inHostDispatchHandler = true; - - Vector<WebViewImpl*> views; - // 1. Disable active objects and input events. - for (size_t i = 0; i < pages.size(); i++) { - WebCore::Page* page = pages[i]; - WebViewImpl* view = WebViewImpl::fromPage(page); - s_pageDeferrers.set(view , new WebCore::PageGroupLoadDeferrer(page, true)); - views.append(view); - view->setIgnoreInputEvents(true); - } - - // 2. Process messages. - s_messageLoopDispatchHandler(); - - // 3. Bring things back. - for (Vector<WebViewImpl*>::iterator it = views.begin(); it != views.end(); ++it) { - if (s_pageDeferrers.contains(*it)) { - // The view was not closed during the dispatch. - (*it)->setIgnoreInputEvents(false); - } - } - deleteAllValues(s_pageDeferrers); - s_pageDeferrers.clear(); - - s_inHostDispatchHandler = false; -} - void DebuggerAgentManager::debugHostDispatchHandler() { if (!s_messageLoopDispatchHandler || !s_attachedAgentsMap) @@ -154,7 +120,8 @@ DebuggerAgentManager::AttachedAgentsMap* DebuggerAgentManager::s_attachedAgentsM void DebuggerAgentManager::debugAttach(DebuggerAgentImpl* debuggerAgent) { #if ENABLE(V8_SCRIPT_DEBUG_SERVER) - return; + if (!s_exposeV8DebuggerProtocol) + return; #endif if (!s_attachedAgentsMap) { s_attachedAgentsMap = new AttachedAgentsMap(); @@ -169,7 +136,8 @@ void DebuggerAgentManager::debugAttach(DebuggerAgentImpl* debuggerAgent) void DebuggerAgentManager::debugDetach(DebuggerAgentImpl* debuggerAgent) { #if ENABLE(V8_SCRIPT_DEBUG_SERVER) - return; + if (!s_exposeV8DebuggerProtocol) + return; #endif if (!s_attachedAgentsMap) { ASSERT_NOT_REACHED(); @@ -292,9 +260,14 @@ void DebuggerAgentManager::executeDebuggerCommand(const String& command, int cal void DebuggerAgentManager::setMessageLoopDispatchHandler(WebDevToolsAgent::MessageLoopDispatchHandler handler) { s_messageLoopDispatchHandler = handler; - WebCore::ScriptDebugServer::setMessageLoopDispatchHandler(DebuggerAgentManager::hostDispatchHandler); } +void DebuggerAgentManager::setExposeV8DebuggerProtocol(bool value) +{ + s_exposeV8DebuggerProtocol = value; +} + + void DebuggerAgentManager::setHostId(WebFrameImpl* webframe, int hostId) { ASSERT(hostId > 0); diff --git a/WebKit/chromium/src/DebuggerAgentManager.h b/WebKit/chromium/src/DebuggerAgentManager.h index a8bc7a3..dbb600a 100644 --- a/WebKit/chromium/src/DebuggerAgentManager.h +++ b/WebKit/chromium/src/DebuggerAgentManager.h @@ -70,6 +70,7 @@ public: static void pauseScript(); static void executeDebuggerCommand(const WebCore::String& command, int callerId); static void setMessageLoopDispatchHandler(WebDevToolsAgent::MessageLoopDispatchHandler handler); + static void setExposeV8DebuggerProtocol(bool); // Sets |hostId| as the frame context data. This id is used to filter scripts // related to the inspected page. @@ -100,7 +101,6 @@ private: DebuggerAgentManager(); ~DebuggerAgentManager(); - static void hostDispatchHandler(const Vector<WebCore::Page*>&); static void debugHostDispatchHandler(); static void onV8DebugMessage(const v8::Debug::Message& message); static void sendCommandToV8(const WebCore::String& cmd, @@ -120,6 +120,7 @@ private: static bool s_inUtilityContext; static bool s_debugBreakDelayed; + static bool s_exposeV8DebuggerProtocol; }; } // namespace WebKit diff --git a/WebKit/chromium/src/EditorClientImpl.cpp b/WebKit/chromium/src/EditorClientImpl.cpp index 4ecdcf7..4eda1f6 100644 --- a/WebKit/chromium/src/EditorClientImpl.cpp +++ b/WebKit/chromium/src/EditorClientImpl.cpp @@ -705,6 +705,7 @@ bool EditorClientImpl::autofill(HTMLInputElement* inputElement, m_autofillArgs.clear(); m_autofillTimer.stop(); + // FIXME: Remove the extraneous isEnabledFormControl call below. // Let's try to trigger autofill for that field, if applicable. if (!inputElement->isEnabledFormControl() || !inputElement->isTextField() || inputElement->isPasswordField() || !inputElement->autoComplete() diff --git a/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/WebKit/chromium/src/FrameLoaderClientImpl.cpp index 17d9416..694d7c2 100644 --- a/WebKit/chromium/src/FrameLoaderClientImpl.cpp +++ b/WebKit/chromium/src/FrameLoaderClientImpl.cpp @@ -1372,20 +1372,6 @@ PassRefPtr<Widget> FrameLoaderClientImpl::createPlugin( const String& mimeType, bool loadManually) { -#if !OS(WINDOWS) - // WebCore asks us to make a plugin even if we don't have a - // registered handler, with a comment saying it's so we can display - // the broken plugin icon. In Chromium, we normally register a - // fallback plugin handler that allows you to install a missing - // plugin. Since we don't yet have a default plugin handler, we - // need to return null here rather than going through all the - // plugin-creation IPCs only to discover we don't have a plugin - // registered, which causes a crash. - // FIXME: remove me once we have a default plugin. - if (objectContentType(url, mimeType) != ObjectContentNetscapePlugin) - return 0; -#endif - if (!m_webFrame->client()) return 0; diff --git a/WebKit/chromium/src/IDBCallbacksProxy.cpp b/WebKit/chromium/src/IDBCallbacksProxy.cpp index 2bdf140..3e5f00a 100644 --- a/WebKit/chromium/src/IDBCallbacksProxy.cpp +++ b/WebKit/chromium/src/IDBCallbacksProxy.cpp @@ -34,6 +34,7 @@ #include "WebIDBCallbacks.h" #include "WebIDBDatabaseImpl.h" #include "WebIDBDatabaseError.h" +#include "WebIDBIndexImpl.h" #include "WebSerializedScriptValue.h" #if ENABLE(INDEXED_DATABASE) @@ -60,12 +61,24 @@ void IDBCallbacksProxy::onError(PassRefPtr<IDBDatabaseError> idbDatabaseError) m_callbacks.clear(); } +void IDBCallbacksProxy::onSuccess() +{ + m_callbacks->onSuccess(); + m_callbacks.clear(); +} + void IDBCallbacksProxy::onSuccess(PassRefPtr<IDBDatabase> idbDatabase) { m_callbacks->onSuccess(new WebKit::WebIDBDatabaseImpl(idbDatabase)); m_callbacks.clear(); } +void IDBCallbacksProxy::onSuccess(PassRefPtr<IDBIndex> idbIndex) +{ + m_callbacks->onSuccess(new WebKit::WebIDBIndexImpl(idbIndex)); + m_callbacks.clear(); +} + void IDBCallbacksProxy::onSuccess(PassRefPtr<SerializedScriptValue> serializedScriptValue) { m_callbacks->onSuccess(WebKit::WebSerializedScriptValue(serializedScriptValue)); diff --git a/WebKit/chromium/src/IDBCallbacksProxy.h b/WebKit/chromium/src/IDBCallbacksProxy.h index 5d4bc0b..d98e2ed 100644 --- a/WebKit/chromium/src/IDBCallbacksProxy.h +++ b/WebKit/chromium/src/IDBCallbacksProxy.h @@ -51,7 +51,9 @@ public: virtual ~IDBCallbacksProxy(); virtual void onError(PassRefPtr<IDBDatabaseError>); + virtual void onSuccess(); // For "null". virtual void onSuccess(PassRefPtr<IDBDatabase>); + virtual void onSuccess(PassRefPtr<IDBIndex>); virtual void onSuccess(PassRefPtr<SerializedScriptValue>); private: diff --git a/WebKit/chromium/src/IDBDatabaseProxy.cpp b/WebKit/chromium/src/IDBDatabaseProxy.cpp index d12ec70..deb2f99 100644 --- a/WebKit/chromium/src/IDBDatabaseProxy.cpp +++ b/WebKit/chromium/src/IDBDatabaseProxy.cpp @@ -10,9 +10,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED @@ -29,7 +26,7 @@ #include "config.h" #include "IDBDatabaseProxy.h" -#include "IDBDatabaseError.h" +#include "DOMStringList.h" #include "WebIDBDatabase.h" #include "WebIDBDatabaseError.h" @@ -51,7 +48,26 @@ IDBDatabaseProxy::~IDBDatabaseProxy() { } +String IDBDatabaseProxy::name() +{ + return m_webIDBDatabase->name(); +} + +String IDBDatabaseProxy::description() +{ + return m_webIDBDatabase->description(); +} + +String IDBDatabaseProxy::version() +{ + return m_webIDBDatabase->version(); +} + +PassRefPtr<DOMStringList> IDBDatabaseProxy::objectStores() +{ + return m_webIDBDatabase->objectStores(); +} + } // namespace WebCore #endif // ENABLE(INDEXED_DATABASE) - diff --git a/WebKit/chromium/src/IDBDatabaseProxy.h b/WebKit/chromium/src/IDBDatabaseProxy.h index ac96a15..e5e5125 100644 --- a/WebKit/chromium/src/IDBDatabaseProxy.h +++ b/WebKit/chromium/src/IDBDatabaseProxy.h @@ -10,9 +10,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED @@ -45,6 +42,11 @@ public: static PassRefPtr<IDBDatabase> create(PassOwnPtr<WebKit::WebIDBDatabase>); virtual ~IDBDatabaseProxy(); + virtual String name(); + virtual String description(); + virtual String version(); + virtual PassRefPtr<DOMStringList> objectStores(); + // FIXME: Add other methods. private: @@ -58,4 +60,3 @@ private: #endif #endif // IDBDatabaseProxy_h - diff --git a/WebKit/chromium/src/IDBIndexProxy.cpp b/WebKit/chromium/src/IDBIndexProxy.cpp new file mode 100644 index 0000000..f80eff3 --- /dev/null +++ b/WebKit/chromium/src/IDBIndexProxy.cpp @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "IDBIndexProxy.h" + +#include "WebIDBDatabaseError.h" +#include "WebIDBIndex.h" + +#if ENABLE(INDEXED_DATABASE) + +namespace WebCore { + +PassRefPtr<IDBIndex> IDBIndexProxy::create(PassOwnPtr<WebKit::WebIDBIndex> Index) +{ + return adoptRef(new IDBIndexProxy(Index)); +} + +IDBIndexProxy::IDBIndexProxy(PassOwnPtr<WebKit::WebIDBIndex> Index) + : m_webIDBIndex(Index) +{ +} + +IDBIndexProxy::~IDBIndexProxy() +{ +} + +String IDBIndexProxy::name() +{ + return m_webIDBIndex->name(); +} + +String IDBIndexProxy::keyPath() +{ + return m_webIDBIndex->keyPath(); +} + +bool IDBIndexProxy::unique() +{ + return m_webIDBIndex->unique(); +} + +} // namespace WebCore + +#endif // ENABLE(INDEXED_DATABASE) diff --git a/WebKit/chromium/src/IDBIndexProxy.h b/WebKit/chromium/src/IDBIndexProxy.h new file mode 100644 index 0000000..35e6b30 --- /dev/null +++ b/WebKit/chromium/src/IDBIndexProxy.h @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef IDBIndexProxy_h +#define IDBIndexProxy_h + +#include "IDBIndex.h" +#include <wtf/OwnPtr.h> +#include <wtf/PassOwnPtr.h> +#include <wtf/PassRefPtr.h> + +#if ENABLE(INDEXED_DATABASE) + +namespace WebKit { class WebIDBIndex; } + +namespace WebCore { + +class IDBIndexProxy : public IDBIndex { +public: + static PassRefPtr<IDBIndex> create(PassOwnPtr<WebKit::WebIDBIndex>); + virtual ~IDBIndexProxy(); + + virtual String name(); + virtual String keyPath(); + virtual bool unique(); + + // FIXME: Add other methods. + +private: + IDBIndexProxy(PassOwnPtr<WebKit::WebIDBIndex>); + + OwnPtr<WebKit::WebIDBIndex> m_webIDBIndex; +}; + +} // namespace WebCore + +#endif + +#endif // IDBIndexProxy_h diff --git a/WebKit/chromium/src/IndexedDatabaseProxy.cpp b/WebKit/chromium/src/IndexedDatabaseProxy.cpp index aed7c13..2572877 100644 --- a/WebKit/chromium/src/IndexedDatabaseProxy.cpp +++ b/WebKit/chromium/src/IndexedDatabaseProxy.cpp @@ -57,12 +57,12 @@ IndexedDatabaseProxy::~IndexedDatabaseProxy() { } -void IndexedDatabaseProxy::open(const String& name, const String& description, bool modifyDatabase, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<SecurityOrigin> origin, Frame* frame, ExceptionCode& ec) +void IndexedDatabaseProxy::open(const String& name, const String& description, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<SecurityOrigin> origin, Frame* frame, ExceptionCode& ec) { if (!frame || !frame->document()) return; WebKit::WebFrame* webFrame = WebKit::WebFrameImpl::fromFrame(frame); - m_webIndexedDatabase->open(name, description, modifyDatabase, new WebIDBCallbacksImpl(callbacks), origin, webFrame, ec); + m_webIndexedDatabase->open(name, description, new WebIDBCallbacksImpl(callbacks), origin, webFrame, ec); } } // namespace WebCore diff --git a/WebKit/chromium/src/IndexedDatabaseProxy.h b/WebKit/chromium/src/IndexedDatabaseProxy.h index e372e9a..206099c 100644 --- a/WebKit/chromium/src/IndexedDatabaseProxy.h +++ b/WebKit/chromium/src/IndexedDatabaseProxy.h @@ -42,7 +42,7 @@ public: static PassRefPtr<IndexedDatabase> create(); virtual ~IndexedDatabaseProxy(); - virtual void open(const String& name, const String& description, bool modifyDatabase, PassRefPtr<IDBCallbacks>, PassRefPtr<SecurityOrigin>, Frame*, ExceptionCode&); + virtual void open(const String& name, const String& description, PassRefPtr<IDBCallbacks>, PassRefPtr<SecurityOrigin>, Frame*, ExceptionCode&); private: IndexedDatabaseProxy(); diff --git a/WebKit/chromium/src/InspectorClientImpl.cpp b/WebKit/chromium/src/InspectorClientImpl.cpp index f69ef72..22b515f 100644 --- a/WebKit/chromium/src/InspectorClientImpl.cpp +++ b/WebKit/chromium/src/InspectorClientImpl.cpp @@ -33,10 +33,8 @@ #include "DOMWindow.h" #include "FloatRect.h" -#include "InspectorController.h" #include "NotImplemented.h" #include "Page.h" -#include "Settings.h" #include "WebRect.h" #include "WebURL.h" #include "WebURLRequest.h" @@ -94,65 +92,14 @@ void InspectorClientImpl::hideHighlight() void InspectorClientImpl::populateSetting(const String& key, String* value) { - loadSettings(); - if (m_settings->contains(key)) - *value = m_settings->get(key); + WebString string; + m_inspectedWebView->inspectorSetting(key, &string); + *value = string; } void InspectorClientImpl::storeSetting(const String& key, const String& value) { - loadSettings(); - m_settings->set(key, value); - saveSettings(); -} - -void InspectorClientImpl::loadSettings() -{ - if (m_settings) - return; - - m_settings.set(new SettingsMap); - String data = m_inspectedWebView->inspectorSettings(); - if (data.isEmpty()) - return; - - Vector<String> entries; - data.split("\n", entries); - for (Vector<String>::iterator it = entries.begin(); it != entries.end(); ++it) { - Vector<String> tokens; - it->split(":", tokens); - if (tokens.size() < 3) - continue; - - String name = decodeURLEscapeSequences(tokens[0]); - String type = tokens[1]; - String value = tokens[2]; - for (size_t i = 3; i < tokens.size(); ++i) - value += ":" + tokens[i]; - - if (type == "string") - value = decodeURLEscapeSequences(value); - - m_settings->set(name, value); - } -} - -void InspectorClientImpl::saveSettings() -{ - String data; - for (SettingsMap::iterator it = m_settings->begin(); it != m_settings->end(); ++it) { - String name = encodeWithURLEscapeSequences(it->first); - String value = it->second; - String entry = String::format( - "%s:string:%s", - name.utf8().data(), - encodeWithURLEscapeSequences(value).utf8().data()); - data.append(entry); - data.append("\n"); - } - m_inspectedWebView->setInspectorSettings(data); - if (m_inspectedWebView->client()) - m_inspectedWebView->client()->didUpdateInspectorSettings(); + m_inspectedWebView->setInspectorSetting(key, value); } } // namespace WebKit diff --git a/WebKit/chromium/src/InspectorClientImpl.h b/WebKit/chromium/src/InspectorClientImpl.h index ccbcef7..7447d0c 100644 --- a/WebKit/chromium/src/InspectorClientImpl.h +++ b/WebKit/chromium/src/InspectorClientImpl.h @@ -56,14 +56,9 @@ public: const WebCore::String& value); private: - void loadSettings(); - void saveSettings(); // The WebViewImpl of the page being inspected; gets passed to the constructor WebViewImpl* m_inspectedWebView; - - typedef HashMap<WebCore::String, WebCore::String> SettingsMap; - OwnPtr<SettingsMap> m_settings; }; } // namespace WebKit diff --git a/WebKit/chromium/src/InspectorFrontendClientImpl.cpp b/WebKit/chromium/src/InspectorFrontendClientImpl.cpp index 9ff3938..6f7ed95 100644 --- a/WebKit/chromium/src/InspectorFrontendClientImpl.cpp +++ b/WebKit/chromium/src/InspectorFrontendClientImpl.cpp @@ -90,6 +90,8 @@ String InspectorFrontendClientImpl::localizedStringsURL() String InspectorFrontendClientImpl::hiddenPanels() { + if (m_client->shouldHideScriptsPanel()) + return "scripts"; return ""; } diff --git a/WebKit/chromium/src/WebDOMStringList.cpp b/WebKit/chromium/src/WebDOMStringList.cpp new file mode 100644 index 0000000..cd145bf --- /dev/null +++ b/WebKit/chromium/src/WebDOMStringList.cpp @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "WebDOMStringList.h" + +#include "DOMStringList.h" +#include "WebString.h" + +using namespace WebCore; + +namespace WebKit { + +void WebDOMStringList::reset() +{ + m_private.reset(); +} + +void WebDOMStringList::assign(const WebDOMStringList& other) +{ + m_private = other.m_private; +} + +void WebDOMStringList::append(const WebString& string) +{ + m_private->append(string); +} + +unsigned WebDOMStringList::length() const +{ + return m_private->length(); +} + +WebString WebDOMStringList::item(unsigned index) const +{ + return m_private->item(index); +} + +WebDOMStringList::WebDOMStringList(const WTF::PassRefPtr<WebCore::DOMStringList>& item) + : m_private(item) +{ +} + +WebDOMStringList& WebDOMStringList::operator=(const WTF::PassRefPtr<WebCore::DOMStringList>& item) +{ + m_private = item; + return *this; +} + +WebDOMStringList::operator WTF::PassRefPtr<WebCore::DOMStringList>() const +{ + return m_private.get(); +} + +} // namespace WebKit diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp index 0969d37..8dde31f 100644 --- a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp +++ b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp @@ -43,11 +43,13 @@ #include "InspectorResource.h" #include "Node.h" #include "Page.h" +#include "PageGroup.h" #include "PlatformString.h" #include "ProfilerAgentImpl.h" #include "ResourceError.h" #include "ResourceRequest.h" #include "ResourceResponse.h" +#include "ScriptDebugServer.h" #include "ScriptObject.h" #include "ScriptState.h" #include "ScriptValue.h" @@ -129,6 +131,90 @@ public: } }; +class ClientMessageLoopAdapter : public WebCore::ScriptDebugServer::ClientMessageLoop { +public: + static void ensureClientMessageLoopCreated(WebDevToolsAgentClient* client) + { + if (s_instance) + return; + s_instance = new ClientMessageLoopAdapter(client->createClientMessageLoop()); + WebCore::ScriptDebugServer::shared().setClientMessageLoop(s_instance); + } + + static void inspectedViewClosed(WebViewImpl* view) + { + if (s_instance) + s_instance->m_frozenViews.remove(view); + } + + static void didNavigate() + { + // Release render thread if necessary. + if (s_instance && s_instance->m_running) + WebCore::ScriptDebugServer::shared().continueProgram(); + } + +private: + ClientMessageLoopAdapter(PassOwnPtr<WebKit::WebDevToolsAgentClient::WebKitClientMessageLoop> messageLoop) + : m_running(false) + , m_messageLoop(messageLoop) { } + + + virtual void run(Page* page) + { + if (m_running) + return; + m_running = true; + + Vector<WebViewImpl*> views; + + // 1. Disable input events. + HashSet<Page*>::const_iterator end = page->group().pages().end(); + for (HashSet<Page*>::const_iterator it = page->group().pages().begin(); it != end; ++it) { + WebViewImpl* view = WebViewImpl::fromPage(*it); + m_frozenViews.add(view); + views.append(view); + view->setIgnoreInputEvents(true); + } + + // 2. Disable active objects + WebView::willEnterModalLoop(); + + // 3. Process messages until quitNow is called. + m_messageLoop->run(); + + // 4. Resume active objects + WebView::didExitModalLoop(); + + // 5. Resume input events. + for (Vector<WebViewImpl*>::iterator it = views.begin(); it != views.end(); ++it) { + if (m_frozenViews.contains(*it)) { + // The view was not closed during the dispatch. + (*it)->setIgnoreInputEvents(false); + } + } + + // 6. All views have been resumed, clear the set. + m_frozenViews.clear(); + + m_running = false; + } + + virtual void quitNow() + { + m_messageLoop->quitNow(); + } + + bool m_running; + OwnPtr<WebKit::WebDevToolsAgentClient::WebKitClientMessageLoop> m_messageLoop; + typedef HashSet<WebViewImpl*> FrozenViewsSet; + FrozenViewsSet m_frozenViews; + static ClientMessageLoopAdapter* s_instance; + +}; + +ClientMessageLoopAdapter* ClientMessageLoopAdapter::s_instance = 0; + } // namespace WebDevToolsAgentImpl::WebDevToolsAgentImpl( @@ -141,6 +227,8 @@ WebDevToolsAgentImpl::WebDevToolsAgentImpl( , m_resourceTrackingWasEnabled(false) , m_attached(false) { + DebuggerAgentManager::setExposeV8DebuggerProtocol( + client->exposeV8DebuggerProtocol()); m_debuggerAgentDelegateStub.set(new DebuggerAgentDelegateStub(this)); m_toolsAgentDelegateStub.set(new ToolsAgentDelegateStub(this)); m_apuAgentDelegateStub.set(new ApuAgentDelegateStub(this)); @@ -149,6 +237,9 @@ WebDevToolsAgentImpl::WebDevToolsAgentImpl( WebDevToolsAgentImpl::~WebDevToolsAgentImpl() { DebuggerAgentManager::onWebViewClosed(m_webViewImpl); +#if ENABLE(V8_SCRIPT_DEBUG_SERVER) + ClientMessageLoopAdapter::inspectedViewClosed(m_webViewImpl); +#endif disposeUtilityContext(); } @@ -164,6 +255,12 @@ void WebDevToolsAgentImpl::attach() { if (m_attached) return; + +#if ENABLE(V8_SCRIPT_DEBUG_SERVER) + if (!m_client->exposeV8DebuggerProtocol()) + ClientMessageLoopAdapter::ensureClientMessageLoopCreated(m_client); +#endif + m_debuggerAgentImpl.set( new DebuggerAgentImpl(m_webViewImpl, m_debuggerAgentDelegateStub.get(), @@ -203,6 +300,9 @@ void WebDevToolsAgentImpl::detach() void WebDevToolsAgentImpl::didNavigate() { +#if ENABLE(V8_SCRIPT_DEBUG_SERVER) + ClientMessageLoopAdapter::didNavigate(); +#endif DebuggerAgentManager::onNavigate(); } diff --git a/WebKit/chromium/src/WebDocument.cpp b/WebKit/chromium/src/WebDocument.cpp index 21e2bb8..017716d 100644 --- a/WebKit/chromium/src/WebDocument.cpp +++ b/WebKit/chromium/src/WebDocument.cpp @@ -62,6 +62,11 @@ bool WebDocument::isHTMLDocument() const return constUnwrap<Document>()->isHTMLDocument(); } +bool WebDocument::isXHTMLDocument() const +{ + return constUnwrap<Document>()->isXHTMLDocument(); +} + bool WebDocument::isPluginDocument() const { return constUnwrap<Document>()->isPluginDocument(); diff --git a/WebKit/chromium/src/WebFormControlElement.cpp b/WebKit/chromium/src/WebFormControlElement.cpp index 0530776..007673e 100644 --- a/WebKit/chromium/src/WebFormControlElement.cpp +++ b/WebKit/chromium/src/WebFormControlElement.cpp @@ -45,12 +45,12 @@ bool WebFormControlElement::isEnabled() const WebString WebFormControlElement::formControlName() const { - return constUnwrap<HTMLFormControlElement>()->formControlName(); + return constUnwrap<HTMLFormControlElement>()->name(); } WebString WebFormControlElement::formControlType() const { - return constUnwrap<HTMLFormControlElement>()->formControlType(); + return constUnwrap<HTMLFormControlElement>()->type(); } WebString WebFormControlElement::nameForAutofill() const diff --git a/WebKit/chromium/src/WebFormElement.cpp b/WebKit/chromium/src/WebFormElement.cpp index 7952479..8b4ce04 100644 --- a/WebKit/chromium/src/WebFormElement.cpp +++ b/WebKit/chromium/src/WebFormElement.cpp @@ -82,10 +82,13 @@ void WebFormElement::getFormControlElements(WebVector<WebFormControlElement>& re { const HTMLFormElement* form = constUnwrap<HTMLFormElement>(); Vector<RefPtr<HTMLFormControlElement> > tempVector; - for (size_t i = 0; i < form->formElements.size(); i++) { - if (form->formElements[i]->hasLocalName(HTMLNames::inputTag) - || form->formElements[i]->hasLocalName(HTMLNames::selectTag)) - tempVector.append(form->formElements[i]); + // FIXME: We should move the for-loop condition into a variable instead of + // re-evaluating size each time. Also, consider refactoring this code so that + // we don't call form->associatedElements() multiple times. + for (size_t i = 0; i < form->associatedElements().size(); i++) { + if (form->associatedElements()[i]->hasLocalName(HTMLNames::inputTag) + || form->associatedElements()[i]->hasLocalName(HTMLNames::selectTag)) + tempVector.append(form->associatedElements()[i]); } result.assign(tempVector); } diff --git a/WebKit/chromium/src/WebFrameImpl.cpp b/WebKit/chromium/src/WebFrameImpl.cpp index b678459..bb1f6ce 100644 --- a/WebKit/chromium/src/WebFrameImpl.cpp +++ b/WebKit/chromium/src/WebFrameImpl.cpp @@ -75,21 +75,20 @@ #include "ChromiumBridge.h" #include "ClipboardUtilitiesChromium.h" #include "Console.h" +#include "DOMUtilitiesPrivate.h" +#include "DOMWindow.h" #include "Document.h" #include "DocumentFragment.h" // Only needed for ReplaceSelectionCommand.h :( #include "DocumentLoader.h" #include "DocumentMarker.h" -#include "DOMUtilitiesPrivate.h" -#include "DOMWindow.h" #include "Editor.h" #include "EventHandler.h" #include "FormState.h" -#include "FrameLoader.h" #include "FrameLoadRequest.h" +#include "FrameLoader.h" #include "FrameTree.h" #include "FrameView.h" #include "GraphicsContext.h" -#include "HistoryItem.h" #include "HTMLCollection.h" #include "HTMLFormElement.h" #include "HTMLFrameOwnerElement.h" @@ -97,8 +96,8 @@ #include "HTMLInputElement.h" #include "HTMLLinkElement.h" #include "HTMLNames.h" +#include "HistoryItem.h" #include "InspectorController.h" -#include "markup.h" #include "Page.h" #include "PlatformContextSkia.h" #include "PluginDocument.h" @@ -113,8 +112,8 @@ #include "ScriptController.h" #include "ScriptSourceCode.h" #include "ScriptValue.h" -#include "ScrollbarTheme.h" #include "ScrollTypes.h" +#include "ScrollbarTheme.h" #include "SelectionController.h" #include "Settings.h" #include "SkiaUtils.h" @@ -141,6 +140,7 @@ #include "WebVector.h" #include "WebViewImpl.h" #include "XPathResult.h" +#include "markup.h" #include <algorithm> #include <wtf/CurrentTime.h> @@ -1100,11 +1100,11 @@ bool WebFrameImpl::executeCommand(const WebString& name) // support. if (command == "DeleteToEndOfParagraph") { Editor* editor = frame()->editor(); - if (!editor->deleteWithDirection(SelectionController::FORWARD, + if (!editor->deleteWithDirection(SelectionController::DirectionForward, ParagraphBoundary, true, false)) { - editor->deleteWithDirection(SelectionController::FORWARD, + editor->deleteWithDirection(SelectionController::DirectionForward, CharacterGranularity, true, false); @@ -1290,7 +1290,7 @@ bool WebFrameImpl::find(int identifier, if (!options.findNext) frame()->page()->unmarkAllTextMatches(); else - setMarkerActive(m_activeMatch.get(), false); // Active match is changing. + setMarkerActive(m_activeMatch.get(), false); // Active match is changing. // Starts the search from the current selection. bool startInSelection = true; @@ -1330,7 +1330,7 @@ bool WebFrameImpl::find(int identifier, else { m_activeMatch = newSelection.toNormalizedRange(); currSelectionRect = m_activeMatch->boundingBox(); - setMarkerActive(m_activeMatch.get(), true); // Active. + setMarkerActive(m_activeMatch.get(), true); // Active. // WebKit draws the highlighting for all matches. executeCommand(WebString::fromUTF8("Unselect")); } @@ -1425,7 +1425,7 @@ void WebFrameImpl::scopeStringMatches(int identifier, identifier, searchText, options, - false); // false=we just reset, so don't do it again. + false); // false=we just reset, so don't do it again. return; } @@ -1439,7 +1439,7 @@ void WebFrameImpl::scopeStringMatches(int identifier, m_resumeScopingFromRange->startOffset(ec2) + 1, ec); if (ec || ec2) { - if (ec2) // A non-zero |ec| happens when navigating during search. + if (ec2) // A non-zero |ec| happens when navigating during search. ASSERT_NOT_REACHED(); return; } @@ -1448,7 +1448,7 @@ void WebFrameImpl::scopeStringMatches(int identifier, // This timeout controls how long we scope before releasing control. This // value does not prevent us from running for longer than this, but it is // periodically checked to see if we have exceeded our allocated time. - const double maxScopingDuration = 0.1; // seconds + const double maxScopingDuration = 0.1; // seconds int matchCount = 0; bool timedOut = false; @@ -1555,8 +1555,8 @@ void WebFrameImpl::scopeStringMatches(int identifier, identifier, searchText, options, - false); // don't reset. - return; // Done for now, resume work later. + false); // don't reset. + return; // Done for now, resume work later. } // This frame has no further scoping left, so it is done. Other frames might, @@ -1738,7 +1738,7 @@ PassRefPtr<Frame> WebFrameImpl::createChildFrame( // it is necessary to check the value after calling init() and // return without loading URL. // (b:791612) - childFrame->init(); // create an empty document + childFrame->init(); // create an empty document if (!childFrame->tree()->parent()) return 0; @@ -2065,7 +2065,7 @@ bool WebFrameImpl::shouldScopeMatches(const String& searchText) searchText.substring(0, m_lastSearchString.length()); if (previousSearchPrefix == m_lastSearchString) - return false; // Don't search this frame, it will be fruitless. + return false; // Don't search this frame, it will be fruitless. } return true; diff --git a/WebKit/chromium/src/WebGeolocationServiceMock.cpp b/WebKit/chromium/src/WebGeolocationServiceMock.cpp index 2eed352..00d819b 100644 --- a/WebKit/chromium/src/WebGeolocationServiceMock.cpp +++ b/WebKit/chromium/src/WebGeolocationServiceMock.cpp @@ -36,6 +36,7 @@ #include "GeolocationServiceMock.h" #include "WebString.h" #include <wtf/CurrentTime.h> +#include <wtf/HashMap.h> #if ENABLE(GEOLOCATION) @@ -121,8 +122,25 @@ void GeolocationServiceChromiumMock::geolocationServiceErrorOccurred(Geolocation namespace WebKit { +class WebGeolocationServiceMockImpl : public WebGeolocationServiceMock { +public: + virtual ~WebGeolocationServiceMockImpl() { } + virtual void requestPermissionForFrame(int bridgeId, const WebURL& url); + virtual int attachBridge(WebGeolocationServiceBridge*); + virtual void detachBridge(int bridgeId); + +private: + typedef HashMap<int, WebGeolocationServiceBridge*> IdToBridgeMap; + IdToBridgeMap m_idToBridgeMap; +}; + bool WebGeolocationServiceMock::s_mockGeolocationPermission = false; +WebGeolocationServiceMock* WebGeolocationServiceMock::createWebGeolocationServiceMock() +{ + return new WebGeolocationServiceMockImpl; +} + void WebGeolocationServiceMock::setMockGeolocationPermission(bool allowed) { s_mockGeolocationPermission = allowed; @@ -142,7 +160,7 @@ void WebGeolocationServiceMock::setMockGeolocationError(int errorCode, const Web GeolocationServiceMock::setError(positionError); } -void WebGeolocationServiceMock::requestPermissionForFrame(int bridgeId, const WebURL& url) +void WebGeolocationServiceMockImpl::requestPermissionForFrame(int bridgeId, const WebURL& url) { IdToBridgeMap::iterator iter = m_idToBridgeMap.find(bridgeId); if (iter == m_idToBridgeMap.end()) @@ -150,7 +168,7 @@ void WebGeolocationServiceMock::requestPermissionForFrame(int bridgeId, const We iter->second->setIsAllowed(s_mockGeolocationPermission); } -int WebGeolocationServiceMock::attachBridge(WebGeolocationServiceBridge* bridge) +int WebGeolocationServiceMockImpl::attachBridge(WebGeolocationServiceBridge* bridge) { static int nextAvailableWatchId = 1; // In case of overflow, make sure the ID remains positive, but reuse the ID values. @@ -160,7 +178,7 @@ int WebGeolocationServiceMock::attachBridge(WebGeolocationServiceBridge* bridge) return nextAvailableWatchId++; } -void WebGeolocationServiceMock::detachBridge(int bridgeId) +void WebGeolocationServiceMockImpl::detachBridge(int bridgeId) { m_idToBridgeMap.remove(bridgeId); } diff --git a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp index e7e0c32..4d24ea9 100644 --- a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp +++ b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp @@ -593,6 +593,50 @@ void WebGraphicsContext3DDefaultImpl::reshape(int width, int height) notImplemented(); } + if (m_attributes.antialias) { + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_multisampleFBO); + if (m_boundFBO == m_multisampleFBO) + mustRestoreFBO = false; + } + + // Initialize renderbuffers to 0. + GLboolean colorMask[] = {GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE}, depthMask = GL_TRUE, stencilMask = GL_TRUE; + GLboolean isScissorEnabled = GL_FALSE; + GLboolean isDitherEnabled = GL_FALSE; + GLbitfield clearMask = GL_COLOR_BUFFER_BIT; + glGetBooleanv(GL_COLOR_WRITEMASK, colorMask); + glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); + if (m_attributes.depth) { + glGetBooleanv(GL_DEPTH_WRITEMASK, &depthMask); + glDepthMask(GL_TRUE); + clearMask |= GL_DEPTH_BUFFER_BIT; + } + if (m_attributes.stencil) { + glGetBooleanv(GL_STENCIL_WRITEMASK, &stencilMask); + glStencilMask(GL_TRUE); + clearMask |= GL_STENCIL_BUFFER_BIT; + } + isScissorEnabled = glIsEnabled(GL_SCISSOR_TEST); + glDisable(GL_SCISSOR_TEST); + isDitherEnabled = glIsEnabled(GL_DITHER); + glDisable(GL_DITHER); + + glClear(clearMask); + + glColorMask(colorMask[0], colorMask[1], colorMask[2], colorMask[3]); + if (m_attributes.depth) + glDepthMask(depthMask); + if (m_attributes.stencil) + glStencilMask(stencilMask); + if (isScissorEnabled) + glEnable(GL_SCISSOR_TEST); + else + glDisable(GL_SCISSOR_TEST); + if (isDitherEnabled) + glEnable(GL_DITHER); + else + glDisable(GL_DITHER); + if (mustRestoreFBO) glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_boundFBO); #endif // RENDER_TO_DEBUGGING_WINDOW @@ -604,13 +648,6 @@ void WebGraphicsContext3DDefaultImpl::reshape(int width, int height) } m_scanline = new unsigned char[width * 4]; #endif // FLIP_FRAMEBUFFER_VERTICALLY - - GLbitfield clearMask = GL_COLOR_BUFFER_BIT; - if (m_attributes.stencil) - clearMask |= GL_STENCIL_BUFFER_BIT; - if (m_attributes.depth) - clearMask |= GL_DEPTH_BUFFER_BIT; - glClear(clearMask); } #ifdef FLIP_FRAMEBUFFER_VERTICALLY diff --git a/WebKit/chromium/src/WebIDBCallbacksImpl.cpp b/WebKit/chromium/src/WebIDBCallbacksImpl.cpp index 8f88cb6..ea1c0b1 100644 --- a/WebKit/chromium/src/WebIDBCallbacksImpl.cpp +++ b/WebKit/chromium/src/WebIDBCallbacksImpl.cpp @@ -10,9 +10,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED @@ -32,9 +29,11 @@ #include "IDBCallbacks.h" #include "IDBDatabaseError.h" #include "IDBDatabaseProxy.h" +#include "IDBIndexProxy.h" #include "WebIDBCallbacks.h" #include "WebIDBDatabase.h" #include "WebIDBDatabaseError.h" +#include "WebIDBIndex.h" #include "WebSerializedScriptValue.h" #if ENABLE(INDEXED_DATABASE) @@ -56,12 +55,24 @@ void WebIDBCallbacksImpl::onError(const WebKit::WebIDBDatabaseError& error) m_callbacks.clear(); } +void WebIDBCallbacksImpl::onSuccess() +{ + m_callbacks->onSuccess(); + m_callbacks.clear(); +} + void WebIDBCallbacksImpl::onSuccess(WebKit::WebIDBDatabase* webKitInstance) { m_callbacks->onSuccess(IDBDatabaseProxy::create(webKitInstance)); m_callbacks.clear(); } +void WebIDBCallbacksImpl::onSuccess(WebKit::WebIDBIndex* webKitInstance) +{ + m_callbacks->onSuccess(IDBIndexProxy::create(webKitInstance)); + m_callbacks.clear(); +} + void WebIDBCallbacksImpl::onSuccess(const WebKit::WebSerializedScriptValue& serializedScriptValue) { m_callbacks->onSuccess(serializedScriptValue); @@ -71,4 +82,3 @@ void WebIDBCallbacksImpl::onSuccess(const WebKit::WebSerializedScriptValue& seri } // namespace WebCore #endif // ENABLE(INDEXED_DATABASE) - diff --git a/WebKit/chromium/src/WebIDBCallbacksImpl.h b/WebKit/chromium/src/WebIDBCallbacksImpl.h index 9b53117..8e5ada7 100644 --- a/WebKit/chromium/src/WebIDBCallbacksImpl.h +++ b/WebKit/chromium/src/WebIDBCallbacksImpl.h @@ -10,9 +10,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED @@ -35,24 +32,20 @@ #if ENABLE(INDEXED_DATABASE) -namespace WebKit { -class WebIDBDatabase; -class WebIDBDatabaseError; -class WebSerializedScriptValue; -} - namespace WebCore { class IDBCallbacks; class WebIDBCallbacksImpl : public WebKit::WebIDBCallbacks { public: - WebIDBCallbacksImpl(PassRefPtr<IDBCallbacks> callbacks); + WebIDBCallbacksImpl(PassRefPtr<IDBCallbacks>); virtual ~WebIDBCallbacksImpl(); - virtual void onError(const WebKit::WebIDBDatabaseError& error); - virtual void onSuccess(WebKit::WebIDBDatabase* webKitInstance); - virtual void onSuccess(const WebKit::WebSerializedScriptValue& serializedScriptValue); + virtual void onError(const WebKit::WebIDBDatabaseError&); + virtual void onSuccess(); // For "null". + virtual void onSuccess(WebKit::WebIDBDatabase*); + virtual void onSuccess(WebKit::WebIDBIndex*); + virtual void onSuccess(const WebKit::WebSerializedScriptValue&); private: RefPtr<IDBCallbacks> m_callbacks; diff --git a/WebKit/chromium/src/WebIDBDatabaseImpl.cpp b/WebKit/chromium/src/WebIDBDatabaseImpl.cpp index e33edc2..3a00ccb 100644 --- a/WebKit/chromium/src/WebIDBDatabaseImpl.cpp +++ b/WebKit/chromium/src/WebIDBDatabaseImpl.cpp @@ -10,9 +10,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED @@ -29,6 +26,7 @@ #include "config.h" #include "WebIDBDatabaseImpl.h" +#include "DOMStringList.h" #include "IDBDatabase.h" #if ENABLE(INDEXED_DATABASE) @@ -38,6 +36,7 @@ using namespace WebCore; namespace WebKit { WebIDBDatabaseImpl::WebIDBDatabaseImpl(PassRefPtr<IDBDatabase> idbDatabase) + : m_idbDatabase(idbDatabase) { } @@ -45,6 +44,26 @@ WebIDBDatabaseImpl::~WebIDBDatabaseImpl() { } +WebString WebIDBDatabaseImpl::name() +{ + return m_idbDatabase->name(); +} + +WebString WebIDBDatabaseImpl::description() +{ + return m_idbDatabase->description(); +} + +WebString WebIDBDatabaseImpl::version() +{ + return m_idbDatabase->version(); +} + +WebDOMStringList WebIDBDatabaseImpl::objectStores() +{ + return m_idbDatabase->objectStores(); +} + } // namespace WebCore #endif // ENABLE(INDEXED_DATABASE) diff --git a/WebKit/chromium/src/WebIDBDatabaseImpl.h b/WebKit/chromium/src/WebIDBDatabaseImpl.h index 758f84a..f99a759 100644 --- a/WebKit/chromium/src/WebIDBDatabaseImpl.h +++ b/WebKit/chromium/src/WebIDBDatabaseImpl.h @@ -10,9 +10,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED @@ -44,7 +41,10 @@ public: WebIDBDatabaseImpl(WTF::PassRefPtr<WebCore::IDBDatabase> idbDatabase); virtual ~WebIDBDatabaseImpl(); - // FIXME: Implement. + virtual WebString name(); + virtual WebString description(); + virtual WebString version(); + virtual WebDOMStringList objectStores(); private: WTF::RefPtr<WebCore::IDBDatabase> m_idbDatabase; diff --git a/WebKit/chromium/src/WebIDBIndexImpl.cpp b/WebKit/chromium/src/WebIDBIndexImpl.cpp new file mode 100644 index 0000000..304217c --- /dev/null +++ b/WebKit/chromium/src/WebIDBIndexImpl.cpp @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "WebIDBIndexImpl.h" + +#include "IDBIndex.h" + +#if ENABLE(INDEXED_DATABASE) + +using namespace WebCore; + +namespace WebKit { + +WebIDBIndexImpl::WebIDBIndexImpl(PassRefPtr<IDBIndex> idbIndex) + : m_idbIndex(idbIndex) +{ +} + +WebIDBIndexImpl::~WebIDBIndexImpl() +{ +} + +WebString WebIDBIndexImpl::name() const +{ + return m_idbIndex->name(); +} + +WebString WebIDBIndexImpl::keyPath() const +{ + return m_idbIndex->keyPath(); +} + +bool WebIDBIndexImpl::unique() const +{ + return m_idbIndex->unique(); +} + +} // namespace WebCore + +#endif // ENABLE(INDEXED_DATABASE) diff --git a/WebKit/chromium/src/WebIDBIndexImpl.h b/WebKit/chromium/src/WebIDBIndexImpl.h new file mode 100644 index 0000000..e1f0538 --- /dev/null +++ b/WebKit/chromium/src/WebIDBIndexImpl.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2010 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef WebIDBIndexImpl_h +#define WebIDBIndexImpl_h + +#include "WebCommon.h" +#include "WebIDBIndex.h" +#include <wtf/PassRefPtr.h> +#include <wtf/RefPtr.h> + +namespace WebCore { class IDBIndex; } + +namespace WebKit { + +// See comment in WebIndexedDatabase for a high level overview these classes. +class WebIDBIndexImpl : public WebIDBIndex { +public: + WebIDBIndexImpl(WTF::PassRefPtr<WebCore::IDBIndex> idbIndex); + virtual ~WebIDBIndexImpl(); + + virtual WebString name() const; + virtual WebString keyPath() const; + virtual bool unique() const; + +private: + WTF::RefPtr<WebCore::IDBIndex> m_idbIndex; +}; + +} // namespace WebKit + +#endif // WebIDBIndexImpl_h diff --git a/WebKit/chromium/src/WebIndexedDatabaseImpl.cpp b/WebKit/chromium/src/WebIndexedDatabaseImpl.cpp index 99aad39..00122ad 100644 --- a/WebKit/chromium/src/WebIndexedDatabaseImpl.cpp +++ b/WebKit/chromium/src/WebIndexedDatabaseImpl.cpp @@ -57,9 +57,9 @@ WebIndexedDatabaseImpl::~WebIndexedDatabaseImpl() { } -void WebIndexedDatabaseImpl::open(const WebString& name, const WebString& description, bool modifyDatabase, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame*, int& exceptionCode) +void WebIndexedDatabaseImpl::open(const WebString& name, const WebString& description, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame*, int& exceptionCode) { - m_indexedDatabase->open(name, description, modifyDatabase, IDBCallbacksProxy::create(callbacks), origin, 0, exceptionCode); + m_indexedDatabase->open(name, description, IDBCallbacksProxy::create(callbacks), origin, 0, exceptionCode); } } // namespace WebKit diff --git a/WebKit/chromium/src/WebIndexedDatabaseImpl.h b/WebKit/chromium/src/WebIndexedDatabaseImpl.h index 57d20a6..072a92b 100644 --- a/WebKit/chromium/src/WebIndexedDatabaseImpl.h +++ b/WebKit/chromium/src/WebIndexedDatabaseImpl.h @@ -41,7 +41,7 @@ public: WebIndexedDatabaseImpl(); virtual ~WebIndexedDatabaseImpl(); - virtual void open(const WebString& name, const WebString& description, bool modifyDatabase, WebIDBCallbacks*, const WebSecurityOrigin&, WebFrame*, int& exceptionCode); + virtual void open(const WebString& name, const WebString& description, WebIDBCallbacks*, const WebSecurityOrigin&, WebFrame*, int& exceptionCode); private: WTF::RefPtr<WebCore::IndexedDatabase> m_indexedDatabase; diff --git a/WebKit/chromium/src/WebNotification.cpp b/WebKit/chromium/src/WebNotification.cpp index 5200d17..5ae1557 100644 --- a/WebKit/chromium/src/WebNotification.cpp +++ b/WebKit/chromium/src/WebNotification.cpp @@ -94,6 +94,16 @@ WebString WebNotification::body() const return m_private->contents().body(); } +WebString WebNotification::dir() const +{ + return m_private->dir(); +} + +WebString WebNotification::replaceId() const +{ + return m_private->replaceId(); +} + void WebNotification::dispatchDisplayEvent() { RefPtr<Event> event = Event::create("display", false, true); diff --git a/WebKit/chromium/src/WebPasswordFormUtils.cpp b/WebKit/chromium/src/WebPasswordFormUtils.cpp index 766dc63..e5d5411 100644 --- a/WebKit/chromium/src/WebPasswordFormUtils.cpp +++ b/WebKit/chromium/src/WebPasswordFormUtils.cpp @@ -65,7 +65,7 @@ void findPasswordFormFields(HTMLFormElement* form, PasswordFormFields* fields) int firstPasswordIndex = 0; // First, find the password fields and activated submit button - const Vector<HTMLFormControlElement*>& formElements = form->formElements; + const Vector<HTMLFormControlElement*>& formElements = form->associatedElements(); for (size_t i = 0; i < formElements.size(); i++) { HTMLFormControlElement* formElement = formElements[i]; if (formElement->isActivatedSubmit()) diff --git a/WebKit/chromium/src/WebPluginListBuilderImpl.cpp b/WebKit/chromium/src/WebPluginListBuilderImpl.cpp index 6926a2d..8f5a1f7 100644 --- a/WebKit/chromium/src/WebPluginListBuilderImpl.cpp +++ b/WebKit/chromium/src/WebPluginListBuilderImpl.cpp @@ -41,27 +41,28 @@ namespace WebKit { void WebPluginListBuilderImpl::addPlugin(const WebString& name, const WebString& description, const WebString& fileName) { - PluginInfo* info = new PluginInfo(); - info->name = name; - info->desc = description; - info->file = fileName; + PluginInfo info; + info.name = name; + info.desc = description; + info.file = fileName; m_results->append(info); } void WebPluginListBuilderImpl::addMediaTypeToLastPlugin(const WebString& name, const WebString& description) { - MimeClassInfo* info = new MimeClassInfo(); - info->type = name; - info->desc = description; - m_results->last()->mimes.append(info); + MimeClassInfo info; + info.type = name; + info.desc = description; + info.pluginIndex = m_results->size() - 1; + m_results->last().mimes.append(info); } void WebPluginListBuilderImpl::addFileExtensionToLastMediaType(const WebString& extension) { - MimeClassInfo* info = m_results->last()->mimes.last(); - if (!info->suffixes.isEmpty()) - info->suffixes.append(','); - info->suffixes.append(extension); + MimeClassInfo& info = m_results->last().mimes.last(); + if (!info.suffixes.isEmpty()) + info.suffixes.append(','); + info.suffixes.append(extension); } } // namespace WebKit diff --git a/WebKit/chromium/src/WebPluginListBuilderImpl.h b/WebKit/chromium/src/WebPluginListBuilderImpl.h index 7a8a497..3d7977a 100644 --- a/WebKit/chromium/src/WebPluginListBuilderImpl.h +++ b/WebKit/chromium/src/WebPluginListBuilderImpl.h @@ -40,7 +40,7 @@ namespace WebKit { class WebPluginListBuilderImpl : public WebPluginListBuilder { public: - WebPluginListBuilderImpl(Vector<WebCore::PluginInfo*>* results) : m_results(results) { } + WebPluginListBuilderImpl(Vector<WebCore::PluginInfo>* results) : m_results(results) { } // WebPluginListBuilder methods: virtual void addPlugin(const WebString& name, const WebString& description, const WebString& fileName); @@ -48,7 +48,7 @@ public: virtual void addFileExtensionToLastMediaType(const WebString& extension); private: - Vector<WebCore::PluginInfo*>* m_results; + Vector<WebCore::PluginInfo>* m_results; }; } // namespace WebKit diff --git a/WebKit/chromium/src/WebSearchableFormData.cpp b/WebKit/chromium/src/WebSearchableFormData.cpp index 8eef6cc..601a497 100644 --- a/WebKit/chromium/src/WebSearchableFormData.cpp +++ b/WebKit/chromium/src/WebSearchableFormData.cpp @@ -77,7 +77,8 @@ bool IsHTTPFormSubmit(const HTMLFormElement* form) HTMLFormControlElement* GetButtonToActivate(HTMLFormElement* form) { HTMLFormControlElement* firstSubmitButton = 0; - for (Vector<HTMLFormControlElement*>::const_iterator i(form->formElements.begin()); i != form->formElements.end(); ++i) { + // FIXME: Consider refactoring this code so that we don't call form->associatedElements() twice. + for (Vector<HTMLFormControlElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) { HTMLFormControlElement* formElement = *i; if (formElement->isActivatedSubmit()) // There's a button that is already activated for submit, return 0. @@ -154,7 +155,8 @@ bool HasSuitableTextElement(const HTMLFormElement* form, Vector<char>* encodedSt *encodingName = encoding.name(); HTMLInputElement* textElement = 0; - for (Vector<HTMLFormControlElement*>::const_iterator i(form->formElements.begin()); i != form->formElements.end(); ++i) { + // FIXME: Consider refactoring this code so that we don't call form->associatedElements() twice. + for (Vector<HTMLFormControlElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) { HTMLFormControlElement* formElement = *i; if (formElement->disabled() || formElement->name().isNull()) continue; diff --git a/WebKit/chromium/src/WebSettingsImpl.cpp b/WebKit/chromium/src/WebSettingsImpl.cpp index 5f32346..946782b 100644 --- a/WebKit/chromium/src/WebSettingsImpl.cpp +++ b/WebKit/chromium/src/WebSettingsImpl.cpp @@ -274,4 +274,14 @@ void WebSettingsImpl::setEditingBehavior(EditingBehavior behavior) m_settings->setEditingBehavior(static_cast<WebCore::EditingBehavior>(behavior)); } +void WebSettingsImpl::setAcceleratedCompositingEnabled(bool enabled) +{ + m_settings->setAcceleratedCompositingEnabled(enabled); +} + +void WebSettingsImpl::setHTML5ParserEnabled(bool enabled) +{ + m_settings->setHTML5ParserEnabled(enabled); +} + } // namespace WebKit diff --git a/WebKit/chromium/src/WebSettingsImpl.h b/WebKit/chromium/src/WebSettingsImpl.h index 0a90091..70bd792 100644 --- a/WebKit/chromium/src/WebSettingsImpl.h +++ b/WebKit/chromium/src/WebSettingsImpl.h @@ -86,6 +86,8 @@ public: virtual void setExperimentalWebGLEnabled(bool); virtual void setShowDebugBorders(bool); virtual void setEditingBehavior(EditingBehavior); + virtual void setAcceleratedCompositingEnabled(bool); + virtual void setHTML5ParserEnabled(bool); private: WebCore::Settings* m_settings; diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp index 4e8b7c8..a38995e 100644 --- a/WebKit/chromium/src/WebViewImpl.cpp +++ b/WebKit/chromium/src/WebViewImpl.cpp @@ -73,7 +73,6 @@ #include "PlatformKeyboardEvent.h" #include "PlatformMouseEvent.h" #include "PlatformWheelEvent.h" -#include "PluginInfoStore.h" #include "PopupMenuChromium.h" #include "PopupMenuClient.h" #include "ProgressTracker.h" @@ -258,6 +257,8 @@ WebViewImpl::WebViewImpl(WebViewClient* client) m_page->backForwardList()->setClient(&m_backForwardListClientImpl); m_page->setGroupName(pageGroupName); + + m_inspectorSettingsMap.set(new SettingsMap); } WebViewImpl::~WebViewImpl() @@ -1462,9 +1463,12 @@ int WebViewImpl::setZoomLevel(bool textOnly, int zoomLevel) maxTextSizeMultiplier), minTextSizeMultiplier)); Frame* frame = mainFrameImpl()->frame(); - if (zoomFactor != frame->zoomFactor()) { + FrameView* view = frame->view(); + if (!view) + return m_zoomLevel; + if (zoomFactor != view->zoomFactor()) { m_zoomLevel = zoomLevel; - frame->setZoomFactor(zoomFactor, textOnly ? ZoomTextOnly : ZoomPage); + view->setZoomFactor(zoomFactor, textOnly ? ZoomTextOnly : ZoomPage); } return m_zoomLevel; } @@ -1692,6 +1696,21 @@ void WebViewImpl::setInspectorSettings(const WebString& settings) m_inspectorSettings = settings; } +bool WebViewImpl::inspectorSetting(const WebString& key, WebString* value) const +{ + if (!m_inspectorSettingsMap->contains(key)) + return false; + *value = m_inspectorSettingsMap->get(key); + return true; +} + +void WebViewImpl::setInspectorSetting(const WebString& key, + const WebString& value) +{ + m_inspectorSettingsMap->set(key, value); + client()->didUpdateInspectorSetting(key, value); +} + WebDevToolsAgent* WebViewImpl::devToolsAgent() { return m_devToolsAgent.get(); @@ -2115,12 +2134,12 @@ void WebViewImpl::updateRootLayerContents(const WebRect& rect) if (rootLayer) { IntRect visibleRect = view->visibleContentRect(true); - // Update the root layer's backing store to be the size of the dirty rect. - // Unlike other layers the root layer doesn't have persistent storage for its - // contents in system memory. - rootLayer->setBackingStoreSize(IntSize(rect.width, rect.height)); - GraphicsContext* rootLayerContext = rootLayer->graphicsContext(); - skia::PlatformCanvas* platformCanvas = rootLayer->platformCanvas(); + m_layerRenderer->setRootLayerCanvasSize(IntSize(rect.width, rect.height)); + GraphicsContext* rootLayerContext = m_layerRenderer->rootLayerGraphicsContext(); + +#if PLATFORM(SKIA) + PlatformContextSkia* skiaContext = rootLayerContext->platformContext(); + skia::PlatformCanvas* platformCanvas = skiaContext->canvas(); platformCanvas->save(); @@ -2129,10 +2148,11 @@ void WebViewImpl::updateRootLayerContents(const WebRect& rect) rootLayerContext->save(); - webframe->paintWithContext(*(rootLayer->graphicsContext()), rect); + webframe->paintWithContext(*rootLayerContext, rect); rootLayerContext->restore(); platformCanvas->restore(); +#endif } } diff --git a/WebKit/chromium/src/WebViewImpl.h b/WebKit/chromium/src/WebViewImpl.h index d545a42..b2fc680 100644 --- a/WebKit/chromium/src/WebViewImpl.h +++ b/WebKit/chromium/src/WebViewImpl.h @@ -152,6 +152,9 @@ public: virtual void inspectElementAt(const WebPoint& point); virtual WebString inspectorSettings() const; virtual void setInspectorSettings(const WebString& settings); + virtual bool inspectorSetting(const WebString& key, WebString* value) const; + virtual void setInspectorSetting(const WebString& key, + const WebString& value); virtual WebDevToolsAgent* devToolsAgent(); virtual void setDevToolsAgent(WebDevToolsAgent*); virtual WebAccessibilityObject accessibilityObject(); @@ -485,6 +488,9 @@ private: // Inspector settings. WebString m_inspectorSettings; + typedef HashMap<WebCore::String, WebCore::String> SettingsMap; + OwnPtr<SettingsMap> m_inspectorSettingsMap; + #if ENABLE(NOTIFICATIONS) // The provider of desktop notifications; NotificationPresenterImpl m_notificationPresenter; diff --git a/WebKit/chromium/src/js/DebuggerScript.js b/WebKit/chromium/src/js/DebuggerScript.js index 7c4d126..7e5b430 100644 --- a/WebKit/chromium/src/js/DebuggerScript.js +++ b/WebKit/chromium/src/js/DebuggerScript.js @@ -43,9 +43,9 @@ DebuggerScript._pauseOnExceptionsState = DebuggerScript.PauseOnExceptionsState.D Debug.clearBreakOnException(); Debug.clearBreakOnUncaughtException(); -DebuggerScript.getAfterCompileScript = function(execState, args) +DebuggerScript.getAfterCompileScript = function(eventData) { - return DebuggerScript._formatScript(args.eventData.script_.script_); + return DebuggerScript._formatScript(eventData.script_.script_); } DebuggerScript.getScripts = function(contextData) @@ -137,17 +137,17 @@ DebuggerScript.currentCallFrame = function(execState, args) return topFrame; } -DebuggerScript.stepIntoStatement = function(execState, args) +DebuggerScript.stepIntoStatement = function(execState) { execState.prepareStep(Debug.StepAction.StepIn, 1); } -DebuggerScript.stepOverStatement = function(execState, args) +DebuggerScript.stepOverStatement = function(execState) { execState.prepareStep(Debug.StepAction.StepNext, 1); } -DebuggerScript.stepOutOfFunction = function(execState, args) +DebuggerScript.stepOutOfFunction = function(execState) { execState.prepareStep(Debug.StepAction.StepOut, 1); } diff --git a/WebKit/chromium/src/js/InspectorControllerImpl.js b/WebKit/chromium/src/js/InspectorControllerImpl.js index 5c3e8bd..86f885a 100644 --- a/WebKit/chromium/src/js/InspectorControllerImpl.js +++ b/WebKit/chromium/src/js/InspectorControllerImpl.js @@ -56,6 +56,8 @@ devtools.InspectorBackendImpl = function() this.installInspectorControllerDelegate_("getEventListenersForNode"); this.installInspectorControllerDelegate_("getProfile"); this.installInspectorControllerDelegate_("getProfileHeaders"); + this.installInspectorControllerDelegate_("removeProfile"); + this.installInspectorControllerDelegate_("clearProfiles"); this.installInspectorControllerDelegate_("getResourceContent"); this.installInspectorControllerDelegate_("highlightDOMNode"); this.installInspectorControllerDelegate_("hideDOMNodeHighlight"); @@ -80,6 +82,8 @@ devtools.InspectorBackendImpl = function() this.installInspectorControllerDelegate_("getStyles"); this.installInspectorControllerDelegate_("getComputedStyle"); this.installInspectorControllerDelegate_("getInlineStyle"); + this.installInspectorControllerDelegate_("getStyleSheet"); + this.installInspectorControllerDelegate_("getRuleRangesForStyleSheetId"); this.installInspectorControllerDelegate_("applyStyleText"); this.installInspectorControllerDelegate_("setStyleText"); this.installInspectorControllerDelegate_("setStyleProperty"); @@ -94,7 +98,6 @@ devtools.InspectorBackendImpl = function() this.installInspectorControllerDelegate_("removeBreakpoint"); this.installInspectorControllerDelegate_("activateBreakpoints"); this.installInspectorControllerDelegate_("deactivateBreakpoints"); - this.installInspectorControllerDelegate_("pauseInDebugger"); this.installInspectorControllerDelegate_("resumeDebugger"); this.installInspectorControllerDelegate_("stepIntoStatementInDebugger"); this.installInspectorControllerDelegate_("stepOutOfFunctionInDebugger"); @@ -217,6 +220,13 @@ devtools.InspectorBackendImpl.prototype.setPauseOnExceptions = function(value) return devtools.tools.getDebuggerAgent().setPauseOnExceptions(value); }; +} else { + +devtools.InspectorBackendImpl.prototype.pauseInDebugger = function() +{ + RemoteDebuggerCommandExecutor.DebuggerPauseScript(); +}; + } diff --git a/WebKit/chromium/src/js/devTools.css b/WebKit/chromium/src/js/devTools.css index 6b4b3e5..2cb4ab3 100755 --- a/WebKit/chromium/src/js/devTools.css +++ b/WebKit/chromium/src/js/devTools.css @@ -237,6 +237,6 @@ select.status-bar-item { -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.0); } -.timeline-category-tree-item input { +.timeline-category-statusbar-item input { vertical-align: middle; } |