summaryrefslogtreecommitdiffstats
path: root/WebKit/chromium
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/chromium')
-rw-r--r--WebKit/chromium/ChangeLog800
-rw-r--r--WebKit/chromium/DEPS27
-rw-r--r--WebKit/chromium/WebKit.grd1
-rw-r--r--WebKit/chromium/WebKit.gyp86
-rw-r--r--WebKit/chromium/WebKit.gypi1
-rw-r--r--WebKit/chromium/features.gypi1
-rwxr-xr-xWebKit/chromium/gyp_webkit8
-rw-r--r--WebKit/chromium/public/WebDevToolsAgentClient.h1
-rw-r--r--WebKit/chromium/public/WebIDBCallbacks.h2
-rw-r--r--WebKit/chromium/public/WebIDBDatabase.h42
-rwxr-xr-xWebKit/chromium/public/WebIDBObjectStore.h75
-rw-r--r--WebKit/chromium/public/WebIndexedDatabase.h10
-rw-r--r--WebKit/chromium/public/WebInputElement.h5
-rw-r--r--WebKit/chromium/public/WebURLResponse.h4
-rw-r--r--WebKit/chromium/public/WebView.h5
-rw-r--r--WebKit/chromium/public/WebViewClient.h28
-rw-r--r--WebKit/chromium/src/AutoFillPopupMenuClient.cpp77
-rw-r--r--WebKit/chromium/src/AutoFillPopupMenuClient.h12
-rw-r--r--WebKit/chromium/src/ChromeClientImpl.cpp83
-rw-r--r--WebKit/chromium/src/ChromeClientImpl.h4
-rw-r--r--WebKit/chromium/src/DebuggerAgent.h5
-rw-r--r--WebKit/chromium/src/DebuggerAgentImpl.cpp5
-rw-r--r--WebKit/chromium/src/DebuggerAgentImpl.h1
-rw-r--r--WebKit/chromium/src/GraphicsContext3D.cpp2
-rw-r--r--WebKit/chromium/src/IDBCallbacksProxy.cpp7
-rw-r--r--WebKit/chromium/src/IDBCallbacksProxy.h3
-rw-r--r--WebKit/chromium/src/IDBDatabaseProxy.cpp31
-rw-r--r--WebKit/chromium/src/IDBDatabaseProxy.h14
-rwxr-xr-xWebKit/chromium/src/IDBObjectStoreProxy.cpp89
-rwxr-xr-xWebKit/chromium/src/IDBObjectStoreProxy.h67
-rw-r--r--WebKit/chromium/src/IndexedDatabaseProxy.cpp6
-rw-r--r--WebKit/chromium/src/IndexedDatabaseProxy.h2
-rw-r--r--WebKit/chromium/src/InspectorClientImpl.cpp18
-rw-r--r--WebKit/chromium/src/InspectorClientImpl.h13
-rw-r--r--WebKit/chromium/src/NotificationPresenterImpl.cpp5
-rw-r--r--WebKit/chromium/src/SuggestionsPopupMenuClient.h2
-rw-r--r--WebKit/chromium/src/WebDevToolsAgentImpl.cpp8
-rw-r--r--WebKit/chromium/src/WebEntities.cpp4
-rw-r--r--WebKit/chromium/src/WebFormControlElement.cpp2
-rw-r--r--WebKit/chromium/src/WebIDBCallbacksImpl.cpp8
-rw-r--r--WebKit/chromium/src/WebIDBCallbacksImpl.h1
-rw-r--r--WebKit/chromium/src/WebIDBDatabaseImpl.cpp41
-rw-r--r--WebKit/chromium/src/WebIDBDatabaseImpl.h18
-rwxr-xr-xWebKit/chromium/src/WebIDBObjectStoreImpl.cpp84
-rwxr-xr-xWebKit/chromium/src/WebIDBObjectStoreImpl.h60
-rw-r--r--WebKit/chromium/src/WebImageCG.cpp10
-rw-r--r--WebKit/chromium/src/WebIndexedDatabaseImpl.cpp4
-rw-r--r--WebKit/chromium/src/WebIndexedDatabaseImpl.h2
-rw-r--r--WebKit/chromium/src/WebInputElement.cpp15
-rw-r--r--WebKit/chromium/src/WebPluginContainerImpl.cpp1
-rw-r--r--WebKit/chromium/src/WebSearchableFormData.cpp14
-rw-r--r--WebKit/chromium/src/WebSettingsImpl.cpp2
-rw-r--r--WebKit/chromium/src/WebURLResponse.cpp10
-rw-r--r--WebKit/chromium/src/WebViewImpl.cpp60
-rw-r--r--WebKit/chromium/src/WebViewImpl.h8
-rw-r--r--WebKit/chromium/src/gtk/WebInputEventFactory.cpp54
-rw-r--r--WebKit/chromium/src/js/DebuggerAgent.js72
-rw-r--r--WebKit/chromium/src/js/DebuggerScript.js46
-rw-r--r--WebKit/chromium/src/js/DevTools.js71
-rw-r--r--WebKit/chromium/src/js/DevToolsHostStub.js4
-rw-r--r--WebKit/chromium/src/js/InspectorControllerImpl.js21
-rw-r--r--WebKit/chromium/src/js/Tests.js4
-rwxr-xr-xWebKit/chromium/src/js/devTools.css4
-rw-r--r--WebKit/chromium/tests/PopupMenuTest.cpp2
64 files changed, 1905 insertions, 267 deletions
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 50ae8ae..452c79d 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,803 @@
+2010-06-14 Jeremy Orlow <jorlow@chromium.org>
+
+ Build fix.
+
+ * src/IDBCallbacksProxy.h:
+
+2010-06-14 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
+ data from inspected page to WebInspector as JSON string via http. The native
+ serialization to JSON string is supported by InspectorValue's classes. This patch
+ has the implementation of sendMessageToFrontend function. WebKit version of it still
+ uses ScriptFunctionCall and will be switched to another transport a little bit later.
+ https://bugs.webkit.org/show_bug.cgi?id=40134
+
+ * src/InspectorClientImpl.cpp:
+ (WebKit::InspectorClientImpl::sendMessageToFrontend):
+ * src/InspectorClientImpl.h:
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::setInspectorFrontendProxyToInspectorController):
+
+2010-06-13 Tony Chang <tony@chromium.org>
+
+ Build fix, not reviewed.
+
+ fix chromium compile after r61094 (id attribute refactor)
+ https://bugs.webkit.org/show_bug.cgi?id=40553
+
+ * src/ChromeClientImpl.cpp:
+ * src/WebFormControlElement.cpp:
+ (WebKit::WebFormControlElement::nameForAutofill):
+
+2010-06-13 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Centralize the gperf code generation commands into make-hash-tools.pl
+ to avoid redundancy across multiple build systems.
+ Do this in preparation of refactoring the usage of these generated
+ sources to fix the debug linking error on Linux with gcc >= 4.4.0.
+
+ webkit.org/b/29244
+
+ * src/WebEntities.cpp:
+
+2010-06-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Rename the rest of the *Tokenizer classes to *DocumentParser
+ https://bugs.webkit.org/show_bug.cgi?id=40507
+
+ * src/WebEntities.cpp:
+ - Fix a comment to match new class names.
+
+2010-06-12 Evan Stade <estade@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [chromium] Menu key should act on current selection even if it is not editable
+ https://bugs.webkit.org/show_bug.cgi?id=40348
+
+ Allow the menu key to act on non-editable selections.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::sendContextMenuEvent):
+
+2010-06-11 James Hawkins <jhawkins@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Notify the WebView when the AutoFill popup hides.
+
+ https://bugs.webkit.org/show_bug.cgi?id=40459
+
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::selectionCleared):
+
+2010-06-11 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Roll chromium DEPS 49376:49521
+ https://bugs.webkit.org/show_bug.cgi?id=40488
+
+ * DEPS:
+
+2010-06-10 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Steve Block.
+
+ Implement more of IndexedDB's Indexes and ObjectStores
+ https://bugs.webkit.org/show_bug.cgi?id=40424
+
+ Add plumbing for both of these classes.
+
+ * public/WebIDBDatabase.h:
+ (WebKit::WebIDBDatabase::name):
+ (WebKit::WebIDBDatabase::description):
+ (WebKit::WebIDBDatabase::version):
+ (WebKit::WebIDBDatabase::objectStores):
+ (WebKit::WebIDBDatabase::objectStore):
+ (WebKit::WebIDBDatabase::removeObjectStore):
+ * public/WebIDBObjectStore.h:
+ (WebKit::WebIDBObjectStore::indexNames):
+ (WebKit::WebIDBObjectStore::createIndex):
+ (WebKit::WebIDBObjectStore::index):
+ (WebKit::WebIDBObjectStore::removeIndex):
+ * src/IDBDatabaseProxy.cpp:
+ (WebCore::IDBDatabaseProxy::name):
+ (WebCore::IDBDatabaseProxy::description):
+ (WebCore::IDBDatabaseProxy::version):
+ (WebCore::IDBDatabaseProxy::objectStores):
+ (WebCore::IDBDatabaseProxy::objectStore):
+ (WebCore::IDBDatabaseProxy::removeObjectStore):
+ * src/IDBDatabaseProxy.h:
+ * src/IDBObjectStoreProxy.cpp:
+ (WebCore::IDBObjectStoreProxy::indexNames):
+ (WebCore::IDBObjectStoreProxy::createIndex):
+ (WebCore::IDBObjectStoreProxy::index):
+ (WebCore::IDBObjectStoreProxy::removeIndex):
+ * src/IDBObjectStoreProxy.h:
+ * src/WebIDBDatabaseImpl.cpp:
+ (WebKit::WebIDBDatabaseImpl::WebIDBDatabaseImpl):
+ (WebKit::WebIDBDatabaseImpl::name):
+ (WebKit::WebIDBDatabaseImpl::description):
+ (WebKit::WebIDBDatabaseImpl::version):
+ (WebKit::WebIDBDatabaseImpl::objectStores):
+ (WebKit::WebIDBDatabaseImpl::createObjectStore):
+ (WebKit::WebIDBDatabaseImpl::objectStore):
+ (WebKit::WebIDBDatabaseImpl::removeObjectStore):
+ * src/WebIDBDatabaseImpl.h:
+ * src/WebIDBObjectStoreImpl.cpp:
+ (WebKit::WebIDBObjectStoreImpl::WebIDBObjectStoreImpl):
+ (WebKit::WebIDBObjectStoreImpl::name):
+ (WebKit::WebIDBObjectStoreImpl::keyPath):
+ (WebKit::WebIDBObjectStoreImpl::indexNames):
+ (WebKit::WebIDBObjectStoreImpl::createIndex):
+ (WebKit::WebIDBObjectStoreImpl::index):
+ (WebKit::WebIDBObjectStoreImpl::removeIndex):
+ * src/WebIDBObjectStoreImpl.h:
+
+2010-06-11 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Enable serialization/deserialization of the frontend state
+ https://bugs.webkit.org/show_bug.cgi?id=40228
+
+ * src/js/InspectorControllerImpl.js:
+ (devtools.InspectorBackendImpl):
+
+2010-06-10 Søren Gjesse <sgjesse@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ V8: Chromium test expectations not matching improved V8 JavaScript stepping
+ https://bugs.webkit.org/show_bug.cgi?id=40419
+
+ Update test expetations to match chaged V8 break locations.
+
+ * src/js/Tests.js:
+
+2010-06-10 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Port performSearch from InjectedScript to InspectorDOMAgent.
+
+ https://bugs.webkit.org/show_bug.cgi?id=40422
+
+ * src/js/InspectorControllerImpl.js:
+ (devtools.InspectorBackendImpl):
+
+2010-06-11 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] Adding a build dependency to the gles2 C library to the webkit_unit_tests
+ project to allow it to link when WebCore is compiled with the ACCELERATED_COMPOSITING
+ flag.
+ https://bugs.webkit.org/show_bug.cgi?id=40341
+
+ * WebKit.gyp:
+
+2010-06-10 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Support plugin tests
+ https://bugs.webkit.org/show_bug.cgi?id=40413
+
+ * DEPS:
+ Bump the Chromium revision to r49376 to have a npapi_layout_test_plugin
+ change and Linux <progress> resources.
+ Add third_party/mesa because app/ depends on them
+ since r49332.
+ * WebKit.gyp:
+ Copy a plugin binary for DRT to recognize it.
+
+2010-06-10 James Hawkins <jhawkins@chromium.org>
+
+ Not reviwed.
+
+ Build fix for Chromium Mac Release.
+
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::getSuggestion):
+ (WebKit::AutoFillPopupMenuClient::valueChanged):
+ (WebKit::AutoFillPopupMenuClient::selectionChanged):
+ (WebKit::AutoFillPopupMenuClient::itemIsSeparator):
+
+2010-06-09 James Hawkins <jhawkins@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Add the ability to specify a separator in
+ AutoFillPopupMenuClient.
+
+ https://bugs.webkit.org/show_bug.cgi?id=40397
+
+ * public/WebViewClient.h:
+ (WebKit::WebViewClient::didAcceptAutoFillSuggestion):
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::getSuggestionsCount):
+ (WebKit::AutoFillPopupMenuClient::getSuggestion):
+ (WebKit::AutoFillPopupMenuClient::valueChanged):
+ (WebKit::AutoFillPopupMenuClient::selectionChanged):
+ (WebKit::AutoFillPopupMenuClient::itemIsSeparator):
+ (WebKit::AutoFillPopupMenuClient::initialize):
+ (WebKit::AutoFillPopupMenuClient::setSuggestions):
+ * src/AutoFillPopupMenuClient.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::applyAutoFillSuggestions):
+ * src/WebViewImpl.h:
+
+2010-06-10 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, Chromium build fix from Abhishek Arya.
+
+ * src/WebImageCG.cpp:
+ (WebKit::WebImage::WebImage):
+ (WebKit::WebImage::operator=):
+
+2010-06-10 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add null pointer checks for nativeImageForCurrentFrame
+ function calls.
+ https://bugs.webkit.org/show_bug.cgi?id=39797
+
+ * src/WebImageCG.cpp:
+ (WebKit::WebImage::WebImage):
+ (WebKit::WebImage::operator=):
+
+2010-06-10 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: to reduce the front end start up time don't push script
+ sources to frontend if debugger is always enabled, instead request
+ script content lazily at the moment it should be displyed. It is critical for
+ always enabled debugger because in that case lots of script may have
+ already been parsed when the front end is opening and pushing all
+ of them at once may slow things down(even though the script sources will never
+ be used if scripts panel isn't open).
+ https://bugs.webkit.org/show_bug.cgi?id=40364
+
+ * src/js/DevTools.js:
+ * src/js/InspectorControllerImpl.js:
+ (devtools.InspectorBackendImpl):
+ (.devtools.InspectorBackendImpl.prototype.getScriptSource):
+
+2010-06-10 Mike Belshe <mbelshe@google.com>
+
+ Reviewed by David Levin
+
+ Track whether a resource is loaded via a proxy.
+
+ https://bugs.webkit.org/show_bug.cgi?id=40312
+
+ * public/WebURLResponse.h:
+ * src/WebURLResponse.cpp:
+ (WebKit::WebURLResponse::wasFetchedViaProxy):
+ (WebKit::WebURLResponse::setWasFetchedViaProxy):
+
+2010-06-10 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [chromium] Adding the ANGLE project to the DEPS file as it's required
+ by the gpu-accelerated compositor.
+ https://bugs.webkit.org/show_bug.cgi?id=40379
+
+ * DEPS:
+
+2010-06-09 Bo Liu <boliu@chromium.org>
+
+ Reviewed by David Levin.
+
+ [Chromium] Pass <video> full screen calls to Chromium port client
+ https://bugs.webkit.org/show_bug.cgi?id=40317
+
+ * public/WebViewClient.h:
+ (WebKit::WebViewClient::supportsFullscreen):
+ (WebKit::WebViewClient::enterFullscreenForNode):
+ (WebKit::WebViewClient::exitFullscreenForNode):
+ * src/ChromeClientImpl.cpp:
+ (WebKit::ChromeClientImpl::supportsFullscreenForNode):
+ (WebKit::ChromeClientImpl::enterFullscreenForNode):
+ (WebKit::ChromeClientImpl::exitFullscreenForNode):
+ * src/ChromeClientImpl.h:
+
+2010-06-09 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Rename FloatArray to Float32Array
+ https://bugs.webkit.org/show_bug.cgi?id=40323
+
+ Used do-webcore-rename to perform renaming. Manually undid
+ incorrect changes to WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp,
+ WebCore/manual-tests/resources/ArrayParameterTestApplet.java and
+ ArrayParameterTestApplet.class. Updated LayoutTests. Built and ran
+ all layout tests on Safari; built Chromium and ran selected WebGL
+ tests.
+
+ * src/GraphicsContext3D.cpp:
+
+2010-06-09 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r60889.
+ http://trac.webkit.org/changeset/60889
+ https://bugs.webkit.org/show_bug.cgi?id=40365
+
+ gtk bot has some kind of memory corruption (Requested by
+ loislo on #webkit).
+
+ * src/InspectorClientImpl.cpp:
+ * src/InspectorClientImpl.h:
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::setInspectorFrontendProxyToInspectorController):
+
+2010-06-09 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: retreive debugger script source synchronously when
+ frontend is attached. We need this to be able to stop on top-level
+ breakpoints.
+ https://bugs.webkit.org/show_bug.cgi?id=40289
+
+ * WebKit.gypi:
+ * src/DebuggerAgent.h:
+ * src/DebuggerAgentImpl.cpp:
+ * src/DebuggerAgentImpl.h:
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::createInspectorFrontendProxy):
+ * src/js/DebuggerScript.js:
+ * src/js/DevTools.js:
+ (WebInspector.loaded):
+ * src/js/DevToolsHostStub.js:
+
+2010-06-07 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
+ data from inspected page to WebInspector as JSON string via http. The native
+ serialization to JSON string is supported by InspectorValue's classes. This patch
+ has the implementation of sendMessageToFrontend function. WebKit version of it still
+ uses ScriptFunctionCall and will be switched to another transport a little bit later.
+ https://bugs.webkit.org/show_bug.cgi?id=40134
+
+ * src/InspectorClientImpl.cpp:
+ (WebKit::InspectorClientImpl::sendMessageToFrontend):
+ * src/InspectorClientImpl.h:
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::setInspectorFrontendProxyToInspectorController):
+
+2010-06-09 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: update stack trace after script source editing
+ https://bugs.webkit.org/show_bug.cgi?id=40357
+
+ * src/js/DebuggerAgent.js:
+ (devtools.DebuggerAgent.prototype.editScriptSource.this.requestSeqToCallback_.cmd.getSequenceNumber):
+ (devtools.DebuggerAgent.prototype.editScriptSource.requestBacktrace):
+ (devtools.DebuggerAgent.prototype.editScriptSource.handleBacktraceResponse):
+ (devtools.DebuggerAgent.prototype.editScriptSource.reportDidCommitEditing):
+ (devtools.DebuggerAgent.prototype.editScriptSource):
+ (devtools.DebuggerAgent.prototype.requestBacktrace_):
+ (devtools.DebuggerAgent.prototype.handleDebuggerOutput_):
+ (devtools.DebuggerAgent.prototype.doHandleBacktraceResponse_):
+ (devtools.DebuggerAgent.prototype.updateCallFramesFromBacktraceResponse_):
+ * src/js/InspectorControllerImpl.js:
+ (.devtools.InspectorBackendImpl.prototype.editScriptSource):
+
+2010-06-08 Tony Chang <tony@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] compile linux chromium in WebKit/out instead of WebKit/WebKit/chromium/out
+ https://bugs.webkit.org/show_bug.cgi?id=40285
+
+ Take 2 at landing this patch, this time rolling DEPS just a bit
+ further to pick up some chromium fixes.
+
+ * DEPS
+ * gyp_webkit:
+
+2010-06-08 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r60878.
+ http://trac.webkit.org/changeset/60878
+ https://bugs.webkit.org/show_bug.cgi?id=40349
+
+ broke linux build (Requested by tony^work on #webkit).
+
+ * DEPS:
+ * gyp_webkit:
+
+2010-06-08 Tony Chang <tony@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] compile linux chromium in WebKit/out instead of WebKit/WebKit/chromium/out
+ https://bugs.webkit.org/show_bug.cgi?id=40285
+
+ * gyp_webkit:
+
+2010-06-08 Tony Chang <tony@chromium.org>
+
+ Not reviewed, build fix.
+
+ [chromium] fix linux compile
+ https://bugs.webkit.org/show_bug.cgi?id=40343
+
+ * DEPS:
+
+2010-06-08 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: extend ScriptDebugServer to support script source editing
+ https://bugs.webkit.org/show_bug.cgi?id=40297
+
+ * src/js/DebuggerAgent.js:
+ (devtools.ScriptInfo.prototype.worldType):
+ * src/js/DebuggerScript.js:
+ (debuggerScriptConstructor.DebuggerScript.editScriptSource):
+ * src/js/DevTools.js:
+ (WebInspector.loaded):
+ * src/js/InspectorControllerImpl.js:
+ (devtools.InspectorBackendImpl):
+
+2010-06-08 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Ojan Vafai and Darin Adler.
+
+ Refactor platform dependent editing behavior code out of Settings
+ https://bugs.webkit.org/show_bug.cgi?id=39854
+
+ EditingBehavior enum was renamed to EditingBehaviorTypes and moved out from Settings.h to
+ EditingBehaviorTypes.h . Call sites in WebKit/ adjusted accordingly.
+
+ * src/WebSettingsImpl.cpp:
+ (WebKit::WebSettingsImpl::setEditingBehavior):
+2010-06-07 Tony Chang <tony@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [chromium] roll chromium DEPS
+ https://bugs.webkit.org/show_bug.cgi?id=40277
+
+ * DEPS:
+
+2010-06-07 Kinuko Yasuda <kinuko@chromium.org>
+
+ Reviewed by Jian Li.
+
+ Refactor FormData and Blob for better support of Blobs synthesized by BlobBuilder.
+ https://bugs.webkit.org/show_bug.cgi?id=39083
+
+ Replace FormDataList::Item list with BlobItemList to get it compiled
+ with the refactoring in FormDataList.
+
+ * src/WebSearchableFormData.cpp:
+ (WebCore::HasSuitableTextElement):
+
+2010-06-07 Andrei Popescu <andreip@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ [indexedDB] It is impossible to create object stores
+ https://bugs.webkit.org/show_bug.cgi?id=40054
+
+ * WebKit.gyp:
+ * public/WebIDBCallbacks.h:
+ (WebKit::WebIDBCallbacks::onSuccess):
+ * public/WebIDBDatabase.h:
+ (WebKit::WebIDBDatabase::createObjectStore):
+ * public/WebIDBObjectStore.h: Added.
+ (WebKit::WebIDBObjectStore::~WebIDBObjectStore):
+ (WebKit::WebIDBObjectStore::name):
+ (WebKit::WebIDBObjectStore::keyPath):
+ * src/IDBCallbacksProxy.cpp:
+ (WebCore::IDBCallbacksProxy::onSuccess):
+ * src/IDBCallbacksProxy.h:
+ * src/IDBDatabaseProxy.cpp:
+ (WebCore::IDBDatabaseProxy::createObjectStore):
+ * src/IDBDatabaseProxy.h:
+ * src/IDBObjectStoreProxy.cpp: Added.
+ (WebCore::IDBObjectStoreProxy::create):
+ (WebCore::IDBObjectStoreProxy::IDBObjectStoreProxy):
+ (WebCore::IDBObjectStoreProxy::~IDBObjectStoreProxy):
+ (WebCore::IDBObjectStoreProxy::name):
+ (WebCore::IDBObjectStoreProxy::keyPath):
+ (WebCore::IDBObjectStoreProxy::indexNames):
+ (WebCore::IDBObjectStoreProxy::createIndex):
+ (WebCore::IDBObjectStoreProxy::index):
+ (WebCore::IDBObjectStoreProxy::removeIndex):
+ * src/IDBObjectStoreProxy.h: Added.
+ * src/IndexedDatabaseProxy.cpp:
+ (WebCore::IndexedDatabaseProxy::open):
+ * src/WebIDBCallbacksImpl.cpp:
+ (WebCore::WebIDBCallbacksImpl::onSuccess):
+ * src/WebIDBCallbacksImpl.h:
+ * src/WebIDBDatabaseImpl.cpp:
+ (WebKit::WebIDBDatabaseImpl::createObjectStore):
+ * src/WebIDBDatabaseImpl.h:
+ * src/WebIDBObjectStoreImpl.cpp: Added.
+ (WebKit::WebIDBObjectStoreImpl::WebIDBObjectStoreImpl):
+ (WebKit::WebIDBObjectStoreImpl::~WebIDBObjectStoreImpl):
+ (WebKit::WebIDBObjectStoreImpl::name):
+ (WebKit::WebIDBObjectStoreImpl::keyPath):
+ * src/WebIDBObjectStoreImpl.h: Added.
+ * src/WebIndexedDatabaseImpl.cpp:
+ (WebKit::WebIndexedDatabaseImpl::open):
+
+2010-06-07 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: should be possible to distinguish extension scripts from main world scripts
+ https://bugs.webkit.org/show_bug.cgi?id=40220
+
+ * src/js/DebuggerAgent.js:
+ (devtools.DebuggerAgent.prototype.initUI):
+ (devtools.DebuggerAgent.prototype.addScriptInfo_):
+ (devtools.DebuggerAgent.prototype.formatCallFrame_):
+ (devtools.ScriptInfo.prototype.worldType):
+ * src/js/DebuggerScript.js:
+ (debuggerScriptConstructor.DebuggerScript.getScripts): use only context id without context type
+ when filtering scripts so that extension scripts are also included.
+ (debuggerScriptConstructor.DebuggerScript._formatScript):
+ * src/js/devTools.css:
+
+2010-06-04 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Accessibility focus change notifications are now sent from
+ ChromeClientImpl::focusedNodeChanged().
+ https://bugs.webkit.org/show_bug.cgi?id=39792
+
+ * src/ChromeClientImpl.cpp:
+ (WebKit::ChromeClientImpl::focus):
+ (WebKit::ChromeClientImpl::focusedNodeChanged):
+
+2010-06-04 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] Adding support for the left and right Windows keys to the
+ NativeWebKeyboardEvent.
+ https://bugs.webkit.org/show_bug.cgi?id=39752
+
+ * src/gtk/WebInputEventFactory.cpp:
+ (WebKit::gdkEventToWindowsKeyCode):
+
+2010-06-04 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Create resource for DebuggerScript.js.
+ https://bugs.webkit.org/show_bug.cgi?id=40122
+
+ * WebKit.grd:
+ * public/WebDevToolsAgentClient.h:
+ (WebKit::WebDevToolsAgentClient::debuggerScriptSource):
+
+2010-05-26 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Jian Li.
+
+ [Chromium] Dragging over an element with scrollbars should scroll the element when dragging near edges
+ https://bugs.webkit.org/show_bug.cgi?id=39725
+
+ Added WebViewImpl::scrollForDragging() to handle scroll-on-drag.
+ Note that this change handes both source and destination cases.
+
+ * public/WebView.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::dragSourceMovedTo):
+ (WebKit::WebViewImpl::dragTargetDragEnterOrOver):
+ (WebKit::WebViewImpl::scrollForDragging):
+ * src/WebViewImpl.h:
+
+2010-06-03 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ [v8] Web Inspector: show "Object" as description for values with anonymous constructor
+ https://bugs.webkit.org/show_bug.cgi?id=40121
+
+ * src/js/DevTools.js: don't call DebuggerAgent methods if ScriptDebugServer is used.
+
+2010-06-03 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Checking out lighttpd
+ https://bugs.webkit.org/show_bug.cgi?id=39948
+
+ - Add lighttpd only on Windows. It is used by new-run-webkit-tests.
+ - Add libvpx.
+ - Remove pthreads-win32 from DEPS.
+ It has not been used since Chromium r28642.
+ - Update Chromium revision to use Windows resource query code and
+ webkit_glue dependency fix.
+
+ * DEPS:
+
+2010-06-02 Tony Chang <tony@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [chromium] refactor WebKit.gyp's DRT section so the conditions are less messy
+ https://bugs.webkit.org/show_bug.cgi?id=40104
+
+ * WebKit.gyp:
+
+2010-06-02 Tony Chang <tony@chromium.org>
+
+ Not reviewed, build fix in downstream chromium.
+
+ Fix the path to repack.py so it works in a chromium checkout too.
+
+ * WebKit.gyp:
+
+2010-06-02 Tony Chang <tony@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [chromium] generate DumpRenderTree.pak on DRT linux
+ https://bugs.webkit.org/show_bug.cgi?id=40098
+
+ * WebKit.gyp:
+
+2010-06-02 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r60592.
+ http://trac.webkit.org/changeset/60592
+ https://bugs.webkit.org/show_bug.cgi?id=40099
+
+ broke the build, need to coordiate updating DEPS (Requested by
+ tony^work on #webkit).
+
+ * DEPS:
+ * public/WebMediaPlayer.h:
+
+2010-06-02 Victoria Kirst <vrk@google.com>
+
+ Reviewed by David Levin.
+
+ Modifying the WebMediaPlayer interface to be compatible with
+ a change in chrome.
+ This is a part 2 of 3 one-sided changes to chrome and WebKit. Chrome
+ has been updated, so this commit should NOT break chromium anymore.
+ https://bugs.webkit.org/show_bug.cgi?id=39445
+
+ * DEPS: Updated to a newer chrome revision number.
+ * public/WebMediaPlayer.h: Changed buffered() to be non-const.
+
+2010-06-02 Peter Kasting <pkasting@google.com>
+
+ Unreviewed, emergency fix for test crashes (verbal r+ beforehand from
+ John Gregg).
+
+ Temporarily make notificationObjectDestroyed() a no-op to avoid an
+ ASSERT failure.
+
+ https://bugs.webkit.org/show_bug.cgi?id=40097
+
+ * src/NotificationPresenterImpl.cpp:
+ (WebKit::NotificationPresenterImpl::notificationObjectDestroyed):
+
+2010-06-02 Sterling Swigart <sswigart@google.com>
+
+ Reviewed by David Levin.
+
+ Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
+ https://bugs.webkit.org/show_bug.cgi?id=39906
+
+ * features.gypi:
+
+2010-06-01 James Hawkins <jhawkins@chromium.org>
+
+ UNREVIEWED: build fix.
+
+ Implement the added virtual methods from PopupMenuClient to
+ TestPopupMenuClient.
+
+ * tests/PopupMenuTest.cpp:
+ (WebKit::TestPopupMenuClient::selectionChanged):
+ (WebKit::TestPopupMenuClient::selectionCleared):
+
+2010-05-24 James Hawkins <jhawkins@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Implement new PopupMenuClient methods selectionChanged()
+ and selectionCleared(). Expose placeHolder methods and isAutoFilled()
+ in WebInputElement.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39639
+
+ * public/WebInputElement.h:
+ * public/WebViewClient.h:
+ (WebKit::WebViewClient::didSelectAutoFillSuggestion):
+ (WebKit::WebViewClient::didClearAutoFillSelection):
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::selectionChanged):
+ (WebKit::AutoFillPopupMenuClient::selectionCleared):
+ (WebKit::AutoFillPopupMenuClient::popupDidHide):
+ * src/AutoFillPopupMenuClient.h:
+ * src/SuggestionsPopupMenuClient.h:
+ (WebKit::SuggestionsPopupMenuClient::selectionChanged):
+ (WebKit::SuggestionsPopupMenuClient::selectionCleared):
+ * src/WebInputElement.cpp:
+ (WebKit::WebInputElement::setPlaceholder):
+ (WebKit::WebInputElement::placeholder):
+ (WebKit::WebInputElement::isAutofilled):
+
+2010-06-01 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r60483.
+ http://trac.webkit.org/changeset/60483
+ https://bugs.webkit.org/show_bug.cgi?id=40013
+
+ Breaks Mac and Linux builds (Requested by antonm on #webkit).
+
+ * DEPS:
+
+2010-06-01 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ IndexedDB cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=40007
+
+ Remove the exception code paramter (that hasn't been used for a while).
+ Add asserts to default implementations.
+
+ * public/WebIDBDatabase.h:
+ (WebKit::WebIDBDatabase::name):
+ (WebKit::WebIDBDatabase::description):
+ (WebKit::WebIDBDatabase::version):
+ (WebKit::WebIDBDatabase::objectStores):
+ * public/WebIndexedDatabase.h:
+ (WebKit::WebIndexedDatabase::open):
+ * src/WebIndexedDatabaseImpl.cpp:
+ (WebKit::WebIndexedDatabaseImpl::open):
+ * src/WebIndexedDatabaseImpl.h:
+
+2010-06-01 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Rolling Chromium revision to bring recent changes to V8.
+
+ * DEPS:
+
+2010-06-01 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r60470.
+ http://trac.webkit.org/changeset/60470
+ https://bugs.webkit.org/show_bug.cgi?id=39990
+
+ Need to rollout until bot can be updated (Requested by jorlow
+ on #webkit).
+
+ * DEPS:
+
2010-05-31 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
diff --git a/WebKit/chromium/DEPS b/WebKit/chromium/DEPS
index c633a79..973e78d 100644
--- a/WebKit/chromium/DEPS
+++ b/WebKit/chromium/DEPS
@@ -32,9 +32,7 @@
vars = {
'chromium_svn': 'http://src.chromium.org/svn/trunk/src',
- 'chromium_rev': '47248',
-
- 'pthreads-win32_rev': '26716',
+ 'chromium_rev': '49521',
}
deps = {
@@ -82,7 +80,7 @@ deps = {
'googleurl':
From('chromium_deps', 'src/googleurl'),
- # webkit dependencis
+ # webkit dependencies
'webkit': Var('chromium_svn')+'/webkit@'+Var('chromium_rev'),
'app':
@@ -91,10 +89,18 @@ deps = {
Var('chromium_svn')+'/gpu@'+Var('chromium_rev'),
'media':
Var('chromium_svn')+'/media@'+Var('chromium_rev'),
+ 'third_party/angle': # needed by the gpu process
+ From('chromium_deps', 'src/third_party/angle'),
'third_party/glew': # webgl related
Var('chromium_svn')+'/third_party/glew@'+Var('chromium_rev'),
'third_party/ffmpeg': # needed by webkit/media
- Var('chromium_svn')+'/third_party/ffmpeg@'+Var('chromium_rev'),
+ From('chromium_deps', 'src/third_party/ffmpeg'),
+ 'third_party/libvpx/include':
+ From('chromium_deps', 'src/third_party/libvpx/include'),
+ 'third_party/libvpx/lib':
+ From('chromium_deps', 'src/third_party/libvpx/lib'),
+ 'third_party/mesa':
+ Var('chromium_svn')+'/third_party/mesa@'+Var('chromium_rev'),
'third_party/yasm': # needed by ffmpeg
Var('chromium_svn')+'/third_party/yasm@'+Var('chromium_rev'),
'third_party/openmax': # needed by webkit/media
@@ -147,8 +153,8 @@ deps = {
'third_party/zlib':
Var('chromium_svn')+'/third_party/zlib@'+Var('chromium_rev'),
- 'third_party/ffmpeg/source/patched-ffmpeg-mt':
- From('chromium_deps', 'src/third_party/ffmpeg/source/patched-ffmpeg-mt'),
+ 'third_party/mozilla':
+ Var('chromium_svn')+'/third_party/mozilla@'+Var('chromium_rev'),
}
deps_os = {
@@ -159,9 +165,8 @@ deps_os = {
From('chromium_deps', 'src/third_party/python_24'),
'third_party/ffmpeg/binaries/chromium/win/ia32':
From('chromium_deps', 'src/third_party/ffmpeg/binaries/chromium/win/ia32'),
- 'third_party/pthreads-win32':
- 'http://src.chromium.org/svn/trunk/deps/third_party/pthreads-win32@'+Var('pthreads-win32_rev'),
- # base.gypi depends on nss on Windows
+ 'third_party/lighttpd':
+ From('chromium_deps', 'src/third_party/lighttpd'),
'third_party/nss':
From('chromium_deps', 'src/third_party/nss'),
'third_party/wtl':
@@ -171,6 +176,8 @@ deps_os = {
# needed by ffmpeg
'third_party/yasm/source/patched-yasm':
From('chromium_deps', 'src/third_party/yasm/source/patched-yasm'),
+ 'third_party/nss':
+ From('chromium_deps', 'src/third_party/nss'),
},
'unix': {
# Linux, actually.
diff --git a/WebKit/chromium/WebKit.grd b/WebKit/chromium/WebKit.grd
index a0783d7..1f80034 100644
--- a/WebKit/chromium/WebKit.grd
+++ b/WebKit/chromium/WebKit.grd
@@ -9,6 +9,7 @@
</outputs>
<release seq="1">
<includes>
+ <include name="IDR_DEVTOOLS_DEBUGGER_SCRIPT_JS" file="src\js\DebuggerScript.js" type="BINDATA"/>
<include name="IDR_DEVTOOLS_INJECT_DISPATCH_JS" file="src\js\InjectDispatch.js" type="BINDATA"/>
<include name="IDR_DEVTOOLS_INJECT_WEBKIT_JS" file="..\..\WebCore\inspector\front-end\InjectedScript.js" type="BINDATA"/>
</includes>
diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp
index 937f4b3..83ae631 100644
--- a/WebKit/chromium/WebKit.gyp
+++ b/WebKit/chromium/WebKit.gyp
@@ -140,6 +140,7 @@
'public/WebIDBDatabase.h',
'public/WebIDBDatabaseError.h',
'public/WebIDBIndex.h',
+ 'public/WebIDBObjectStore.h',
'public/WebIndexedDatabase.h',
'public/WebInputElement.h',
'public/WebInputEvent.h',
@@ -269,6 +270,8 @@
'src/IDBDatabaseProxy.h',
'src/IDBIndexProxy.cpp',
'src/IDBIndexProxy.h',
+ 'src/IDBObjectStoreProxy.cpp',
+ 'src/IDBObjectStoreProxy.h',
'src/IndexedDatabaseProxy.cpp',
'src/IndexedDatabaseProxy.h',
'src/InspectorClientImpl.cpp',
@@ -358,6 +361,8 @@
'src/WebIDBDatabaseImpl.h',
'src/WebIDBIndexImpl.cpp',
'src/WebIDBIndexImpl.h',
+ 'src/WebIDBObjectStoreImpl.cpp',
+ 'src/WebIDBObjectStoreImpl.h',
'src/WebImageCG.cpp',
'src/WebImageDecoder.cpp',
'src/WebImageSkia.cpp',
@@ -518,6 +523,7 @@
'<(chromium_src_dir)/testing/gtest.gyp:gtest',
'<(chromium_src_dir)/base/base.gyp:base',
'<(chromium_src_dir)/base/base.gyp:base_i18n',
+ '<(chromium_src_dir)/gpu/gpu.gyp:gles2_c_lib',
],
'include_dirs': [
'public',
@@ -570,7 +576,9 @@
'webkit',
'../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf_config',
'<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
+ '<(chromium_src_dir)/webkit/support/webkit_support.gyp:npapi_layout_test_plugin',
'<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
+ '<(chromium_src_dir)/gpu/gpu.gyp:gles2_c_lib'
],
'include_dirs': [
'.',
@@ -600,23 +608,20 @@
'copies': [{
'destination': '<(PRODUCT_DIR)',
'files': ['<(ahem_path)'],
+ }, {
+ # This should really be done in the 'npapi_layout_test_plugin'
+ # target, but the current VS generator handles 'copies'
+ # settings as AdditionalDependencies, which means that
+ # when it's over there, it tries to do the copy *before*
+ # the file is built, instead of after. We work around this
+ # by attaching the copy here, since it depends on that
+ # target.
+ 'destination': '<(PRODUCT_DIR)/plugins',
+ 'files': ['<(PRODUCT_DIR)/npapi_layout_test_plugin.dll'],
}],
- }],
- ['OS=="mac"', {
- 'dependencies': ['LayoutTestHelper'],
-
- 'mac_bundle_resources': [
- '<(ahem_path)',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher200.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher300.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher400.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher500.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher600.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher700.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher800.ttf',
- '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf',
- '<(SHARED_INTERMEDIATE_DIR)/webkit/textAreaResizeCorner.png',
+ },{ # OS!="win"
+ 'sources/': [
+ ['exclude', 'Win\\.cpp$'],
],
'actions': [
{
@@ -624,6 +629,7 @@
'variables': {
'repack_path': '<(chromium_src_dir)/tools/data_pack/repack.py',
'pak_inputs': [
+ '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
'<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak',
'<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.pak',
'<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.pak',
@@ -640,31 +646,49 @@
},
], # actions
}],
- ['OS=="linux"', {
+ ['OS=="mac"', {
+ 'dependencies': ['LayoutTestHelper'],
+
+ 'mac_bundle_resources': [
+ '<(ahem_path)',
+ '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf',
+ '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher200.ttf',
+ '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher300.ttf',
+ '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher400.ttf',
+ '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher500.ttf',
+ '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher600.ttf',
+ '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher700.ttf',
+ '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher800.ttf',
+ '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf',
+ '<(SHARED_INTERMEDIATE_DIR)/webkit/textAreaResizeCorner.png',
+ ],
+ 'copies': [{
+ 'destination': '<(PRODUCT_DIR)/DumpRenderTree.app/Contents/PlugIns/',
+ 'files': ['<(PRODUCT_DIR)/TestNetscapePlugIn.plugin/'],
+ }],
+ },{ # OS!="mac"
+ 'sources/': [
+ # .mm is already excluded by common.gypi
+ ['exclude', 'Mac\\.cpp$'],
+ ]
+ }],
+ ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
'copies': [{
'destination': '<(PRODUCT_DIR)',
'files': [
'<(ahem_path)',
'../../WebKitTools/DumpRenderTree/chromium/fonts.conf',
- ],
+ '<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak',
+ ]
+ }, {
+ 'destination': '<(PRODUCT_DIR)/plugins',
+ 'files': ['<(PRODUCT_DIR)/libnpapi_layout_test_plugin.so'],
}],
- }],
- ['OS!="linux" and OS!="freebsd" and OS!="openbsd"', {
+ },{ # OS!="linux" and OS!="freebsd" and OS!="openbsd" and OS!="solaris"
'sources/': [
['exclude', '(Gtk|Linux)\\.cpp$']
]
}],
- ['OS!="win"', {
- 'sources/': [
- ['exclude', 'Win\\.cpp$'],
- ]
- }],
- ['OS!="mac"', {
- 'sources/': [
- # .mm is already excluded by common.gypi
- ['exclude', 'Mac\\.cpp$'],
- ]
- }],
],
},
], # targets
diff --git a/WebKit/chromium/WebKit.gypi b/WebKit/chromium/WebKit.gypi
index a9df3f5..69b1479 100644
--- a/WebKit/chromium/WebKit.gypi
+++ b/WebKit/chromium/WebKit.gypi
@@ -35,7 +35,6 @@
'devtools_js_files': [
'src/js/InspectorControllerImpl.js',
'src/js/DebuggerAgent.js',
- 'src/js/DebuggerScript.js',
'src/js/ProfilerAgent.js',
'src/js/ProfilerProcessor.js',
'src/js/HeapProfilerPanel.js',
diff --git a/WebKit/chromium/features.gypi b/WebKit/chromium/features.gypi
index c7d40cf..9a23949 100644
--- a/WebKit/chromium/features.gypi
+++ b/WebKit/chromium/features.gypi
@@ -51,6 +51,7 @@
'ENABLE_FILTERS=1',
'ENABLE_GEOLOCATION=1',
'ENABLE_ICONDATABASE=0',
+ 'ENABLE_IMAGE_RESIZER=0',
'ENABLE_INDEXED_DATABASE=1',
'ENABLE_JAVASCRIPT_DEBUGGER=1',
'ENABLE_JSC_MULTIPLE_THREADS=0',
diff --git a/WebKit/chromium/gyp_webkit b/WebKit/chromium/gyp_webkit
index 1ca6133..b7d2308 100755
--- a/WebKit/chromium/gyp_webkit
+++ b/WebKit/chromium/gyp_webkit
@@ -78,7 +78,11 @@ if __name__ == '__main__':
# On linux, we want gyp to output a makefile (default is scons).
if sys.platform == 'linux2':
- args.extend(['-fmake'])
+ args.extend(['-fmake',
+ '--suffix=.chromium',
+ '--toplevel-dir=../..',
+ # auto_regeneration doesn't work with toplevel-dir
+ '-Gauto_regeneration=0'])
# Other command args:
args.extend([
@@ -90,7 +94,7 @@ if __name__ == '__main__':
# gyp hack: otherwise gyp assumes its in chromium's src/ dir.
'--depth=./',
- # gyp files to execute.
+ # gyp file to execute.
'WebKit.gyp'])
print 'Updating webkit projects from gyp files...'
diff --git a/WebKit/chromium/public/WebDevToolsAgentClient.h b/WebKit/chromium/public/WebDevToolsAgentClient.h
index 0f7421d..622f788 100644
--- a/WebKit/chromium/public/WebDevToolsAgentClient.h
+++ b/WebKit/chromium/public/WebDevToolsAgentClient.h
@@ -55,6 +55,7 @@ public:
virtual WebCString injectedScriptSource() { return WebCString(); }
virtual WebCString injectedScriptDispatcherSource() { return WebCString(); }
+ virtual WebCString debuggerScriptSource() { return WebCString(); }
class WebKitClientMessageLoop {
public:
diff --git a/WebKit/chromium/public/WebIDBCallbacks.h b/WebKit/chromium/public/WebIDBCallbacks.h
index bba7c74..0e28961 100644
--- a/WebKit/chromium/public/WebIDBCallbacks.h
+++ b/WebKit/chromium/public/WebIDBCallbacks.h
@@ -33,6 +33,7 @@ namespace WebKit {
class WebIDBDatabase;
class WebIDBDatabaseError;
class WebIDBIndex;
+class WebIDBObjectStore;
class WebSerializedScriptValue;
class WebIDBCallbacks {
@@ -45,6 +46,7 @@ public:
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(WebIDBObjectStore*) { WEBKIT_ASSERT_NOT_REACHED(); }
virtual void onSuccess(const WebSerializedScriptValue&) { WEBKIT_ASSERT_NOT_REACHED(); }
};
diff --git a/WebKit/chromium/public/WebIDBDatabase.h b/WebKit/chromium/public/WebIDBDatabase.h
index 0f65c6f..b0d6086 100644
--- a/WebKit/chromium/public/WebIDBDatabase.h
+++ b/WebKit/chromium/public/WebIDBDatabase.h
@@ -31,15 +31,49 @@
namespace WebKit {
+class WebFrame;
+class WebIDBCallbacks;
+class WebIDBObjectStore;
+
// See comment in WebIndexedDatabase for a high level overview of these classes.
class WebIDBDatabase {
public:
virtual ~WebIDBDatabase() { }
- virtual WebString name() { return WebString(); }
- virtual WebString description() { return WebString(); }
- virtual WebString version() { return WebString(); }
- virtual WebDOMStringList objectStores() { return WebDOMStringList(); }
+ virtual WebString name() const
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ return WebString();
+ }
+ virtual WebString description() const
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ return WebString();
+ }
+ virtual WebString version() const
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ return WebString();
+ }
+ virtual WebDOMStringList objectStores() const
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ return WebDOMStringList();
+ }
+ virtual void createObjectStore(const WebString& name, const WebString& keyPath, bool autoIncrement, WebIDBCallbacks*)
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ }
+ // Transfers ownership of the WebIDBObjectStore to the caller.
+ virtual WebIDBObjectStore* objectStore(const WebString& name, unsigned short mode)
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ return 0;
+ }
+ virtual void removeObjectStore(const WebString& name, WebIDBCallbacks* callbacks)
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ }
};
} // namespace WebKit
diff --git a/WebKit/chromium/public/WebIDBObjectStore.h b/WebKit/chromium/public/WebIDBObjectStore.h
new file mode 100755
index 0000000..fead881
--- /dev/null
+++ b/WebKit/chromium/public/WebIDBObjectStore.h
@@ -0,0 +1,75 @@
+/*
+ * 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 WebIDBObjectStore_h
+#define WebIDBObjectStore_h
+
+#include "WebCommon.h"
+#include "WebDOMStringList.h"
+#include "WebIDBCallbacks.h"
+#include "WebString.h"
+
+namespace WebKit {
+
+// See comment in WebIndexedDatabase for a high level overview these classes.
+class WebIDBObjectStore {
+public:
+ virtual ~WebIDBObjectStore() { }
+
+ virtual WebString name() const
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ return WebString();
+ }
+ virtual WebString keyPath() const
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ return WebString();
+ }
+ virtual WebDOMStringList indexNames() const
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ return WebDOMStringList();
+ }
+ void createIndex(const WebString& name, const WebString& keyPath, bool unique, WebIDBCallbacks*)
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ }
+ // Transfers ownership of the WebIDBIndex to the caller.
+ WebIDBIndex* index(const WebString& name)
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ return 0;
+ }
+ void removeIndex(const WebString& name, WebIDBCallbacks*)
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ }
+ // FIXME: finish.
+};
+
+} // namespace WebKit
+
+#endif // WebIDBObjectStore_h
diff --git a/WebKit/chromium/public/WebIndexedDatabase.h b/WebKit/chromium/public/WebIndexedDatabase.h
index 8e4bf5b..5517a0c 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,
- WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* webFrame, int& exceptionCode)
+ virtual void open(const WebString& name, const WebString& description, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* webFrame)
{
- open(name, description, false, callbacks, origin, webFrame, exceptionCode);
+ int exceptionCode;
+ open(name, description, callbacks, origin, webFrame, exceptionCode);
}
// FIXME: Delete soon. Compatability hack.
- 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, callbacks, origin, webFrame, exceptionCode);
+ open(name, description, callbacks, origin, webFrame);
}
};
diff --git a/WebKit/chromium/public/WebInputElement.h b/WebKit/chromium/public/WebInputElement.h
index 0de96a7..95f8aa7 100644
--- a/WebKit/chromium/public/WebInputElement.h
+++ b/WebKit/chromium/public/WebInputElement.h
@@ -86,8 +86,11 @@ namespace WebKit {
WEBKIT_API bool isActivatedSubmit() const;
WEBKIT_API void setActivatedSubmit(bool);
WEBKIT_API int size() const;
- WEBKIT_API void setValue(const WebString& value);
+ WEBKIT_API void setValue(const WebString&);
WEBKIT_API WebString value() const;
+ WEBKIT_API void setPlaceholder(const WebString&);
+ WEBKIT_API WebString placeholder() const;
+ WEBKIT_API bool isAutofilled() const;
WEBKIT_API void setAutofilled(bool);
WEBKIT_API void dispatchFormControlChangeEvent();
WEBKIT_API void setSelectionRange(int, int);
diff --git a/WebKit/chromium/public/WebURLResponse.h b/WebKit/chromium/public/WebURLResponse.h
index b3c084c..4462394 100644
--- a/WebKit/chromium/public/WebURLResponse.h
+++ b/WebKit/chromium/public/WebURLResponse.h
@@ -131,6 +131,10 @@ public:
WEBKIT_API bool wasNpnNegotiated() const;
WEBKIT_API void setWasNpnNegotiated(bool);
+ // Flag whether this request was loaded via an explicit proxy (HTTP, SOCKS, etc).
+ WEBKIT_API bool wasFetchedViaProxy() const;
+ WEBKIT_API void setWasFetchedViaProxy(bool);
+
// Flag whether this request is part of a multipart response.
WEBKIT_API bool isMultipartPayload() const;
WEBKIT_API void setIsMultipartPayload(bool);
diff --git a/WebKit/chromium/public/WebView.h b/WebKit/chromium/public/WebView.h
index 56ea68d..9054d8c 100644
--- a/WebKit/chromium/public/WebView.h
+++ b/WebKit/chromium/public/WebView.h
@@ -169,6 +169,11 @@ public:
const WebPoint& clientPoint, const WebPoint& screenPoint,
WebDragOperation operation) = 0;
+ // Notifies the WebView that a drag is going on.
+ virtual void dragSourceMovedTo(
+ const WebPoint& clientPoint, const WebPoint& screenPoint,
+ WebDragOperation operation) = 0;
+
// Notfies the WebView that the system drag and drop operation has ended.
virtual void dragSourceSystemDragEnded() = 0;
diff --git a/WebKit/chromium/public/WebViewClient.h b/WebKit/chromium/public/WebViewClient.h
index e0fe71d..31ef028 100644
--- a/WebKit/chromium/public/WebViewClient.h
+++ b/WebKit/chromium/public/WebViewClient.h
@@ -202,6 +202,9 @@ public:
virtual bool runModalBeforeUnloadDialog(
WebFrame*, const WebString& message) { return true; }
+ virtual bool supportsFullscreen() { return false; }
+ virtual void enterFullscreenForNode(const WebNode&) { }
+ virtual void exitFullscreenForNode(const WebNode&) { }
// UI ------------------------------------------------------------------
@@ -273,7 +276,7 @@ public:
virtual void didUpdateInspectorSetting(const WebString& key, const WebString& value) { }
- // Autofill ------------------------------------------------------------
+ // AutoFill ------------------------------------------------------------
// Queries the browser for suggestions to be shown for the form text
// field named |name|. |value| is the text entered by the user so
@@ -282,18 +285,33 @@ public:
const WebString& name,
const WebString& value) { }
- // Instructs the browser to remove the autofill entry specified from
+ // Instructs the browser to remove the Autocomplete entry specified from
// its DB.
+ // FIXME: This method should be named removeAutocompleteSugestion.
virtual void removeAutofillSuggestions(const WebString& name,
const WebString& value) { }
- // Informs the browser that the user has selected an AutoFill suggestion
- // for a WebNode. |name| and |label| form a key into the set of AutoFill
- // profiles.
+ // Informs the browser that the user has accepted an AutoFill suggestion for
+ // a WebNode. |name| and |label| form a key into the set of AutoFill
+ // profiles. |index| is an index of the selected suggestion in the list of
+ // suggestions provided by the client
virtual void didAcceptAutoFillSuggestion(const WebNode&,
const WebString& name,
+ const WebString& label,
+ unsigned index) { }
+
+ // Informs the browser that the user has selected an AutoFill suggestion for
+ // a WebNode. This happens when the user hovers over a suggestion or uses
+ // the arrow keys to navigate to a suggestion.
+ virtual void didSelectAutoFillSuggestion(const WebNode&,
+ const WebString& name,
const WebString& label) { }
+ // Informs the browser that the user has cleared the selection from the
+ // AutoFill suggestions dropdown. This happens when a user uses the arrow
+ // keys to navigate outside the range of possible selections.
+ virtual void didClearAutoFillSelection(const WebNode&) { }
+
// Geolocation ---------------------------------------------------------
// Access the embedder API for geolocation services.
diff --git a/WebKit/chromium/src/AutoFillPopupMenuClient.cpp b/WebKit/chromium/src/AutoFillPopupMenuClient.cpp
index 4f8793a..8084aad 100644
--- a/WebKit/chromium/src/AutoFillPopupMenuClient.cpp
+++ b/WebKit/chromium/src/AutoFillPopupMenuClient.cpp
@@ -44,14 +44,25 @@ namespace WebKit {
unsigned AutoFillPopupMenuClient::getSuggestionsCount() const
{
- return m_names.size();
+ return m_names.size() + ((m_separatorIndex == -1) ? 0 : 1);
}
WebString AutoFillPopupMenuClient::getSuggestion(unsigned listIndex) const
{
+ if (listIndex == static_cast<unsigned>(m_separatorIndex))
+ return WebString();
+
+ if (m_separatorIndex != -1 && listIndex > static_cast<unsigned>(m_separatorIndex))
+ --listIndex;
+
// FIXME: Modify the PopupMenu to add the label in gray right-justified.
ASSERT(listIndex >= 0 && listIndex < m_names.size());
- return m_names[listIndex] + String(" (") + m_labels[listIndex] + String(")");
+
+ WebString suggestion = m_names[listIndex];
+ if (m_labels[listIndex].isEmpty())
+ return suggestion;
+
+ return suggestion + String(" (") + m_labels[listIndex] + String(")");
}
void AutoFillPopupMenuClient::removeSuggestionAtIndex(unsigned listIndex)
@@ -64,37 +75,85 @@ void AutoFillPopupMenuClient::removeSuggestionAtIndex(unsigned listIndex)
void AutoFillPopupMenuClient::valueChanged(unsigned listIndex, bool fireEvents)
{
+ WebViewImpl* webView = getWebView();
+ if (!webView)
+ return;
+
+ if (m_separatorIndex != -1 && listIndex > static_cast<unsigned>(m_separatorIndex))
+ --listIndex;
+
ASSERT(listIndex >= 0 && listIndex < m_names.size());
+ webView->client()->didAcceptAutoFillSuggestion(WebNode(getTextField()),
+ m_names[listIndex],
+ m_labels[listIndex],
+ listIndex);
+}
+
+void AutoFillPopupMenuClient::selectionChanged(unsigned listIndex, bool fireEvents)
+{
WebViewImpl* webView = getWebView();
if (!webView)
return;
- webView->client()->didAcceptAutoFillSuggestion(WebNode(getTextField()),
+ if (m_separatorIndex != -1 && listIndex > static_cast<unsigned>(m_separatorIndex))
+ --listIndex;
+
+ ASSERT(listIndex >= 0 && listIndex < m_names.size());
+
+ webView->client()->didSelectAutoFillSuggestion(WebNode(getTextField()),
m_names[listIndex],
m_labels[listIndex]);
}
+void AutoFillPopupMenuClient::selectionCleared()
+{
+ WebViewImpl* webView = getWebView();
+ if (!webView)
+ return;
+
+ webView->suggestionsPopupDidHide();
+ webView->client()->didClearAutoFillSelection(WebNode(getTextField()));
+}
+
+void AutoFillPopupMenuClient::popupDidHide()
+{
+ // FIXME: Refactor this method, as selectionCleared() and popupDidHide()
+ // share the exact same functionality.
+ WebViewImpl* webView = getWebView();
+ if (!webView)
+ return;
+
+ webView->client()->didClearAutoFillSelection(WebNode(getTextField()));
+}
+
+bool AutoFillPopupMenuClient::itemIsSeparator(unsigned listIndex) const
+{
+ return (m_separatorIndex != -1 && static_cast<unsigned>(m_separatorIndex) == listIndex);
+}
+
void AutoFillPopupMenuClient::initialize(
HTMLInputElement* textField,
const WebVector<WebString>& names,
const WebVector<WebString>& labels,
- int defaultSuggestionIndex)
+ int separatorIndex)
{
ASSERT(names.size() == labels.size());
- ASSERT(defaultSuggestionIndex < static_cast<int>(names.size()));
+ ASSERT(separatorIndex < static_cast<int>(names.size()));
// The suggestions must be set before initializing the
// SuggestionsPopupMenuClient.
- setSuggestions(names, labels);
+ setSuggestions(names, labels, separatorIndex);
- SuggestionsPopupMenuClient::initialize(textField, defaultSuggestionIndex);
+ SuggestionsPopupMenuClient::initialize(textField, -1);
}
void AutoFillPopupMenuClient::setSuggestions(const WebVector<WebString>& names,
- const WebVector<WebString>& labels)
+ const WebVector<WebString>& labels,
+ int separatorIndex)
{
ASSERT(names.size() == labels.size());
+ ASSERT(separatorIndex < static_cast<int>(names.size()));
m_names.clear();
m_labels.clear();
@@ -103,6 +162,8 @@ void AutoFillPopupMenuClient::setSuggestions(const WebVector<WebString>& names,
m_labels.append(labels[i]);
}
+ m_separatorIndex = separatorIndex;
+
// Try to preserve selection if possible.
if (getSelectedIndex() >= static_cast<int>(names.size()))
setSelectedIndex(-1);
diff --git a/WebKit/chromium/src/AutoFillPopupMenuClient.h b/WebKit/chromium/src/AutoFillPopupMenuClient.h
index 568ce4d..488bdb1 100644
--- a/WebKit/chromium/src/AutoFillPopupMenuClient.h
+++ b/WebKit/chromium/src/AutoFillPopupMenuClient.h
@@ -52,18 +52,26 @@ public:
// WebCore::PopupMenuClient implementation:
virtual void valueChanged(unsigned listIndex, bool fireEvents = true);
+ virtual void selectionChanged(unsigned listIndex, bool fireEvents = true);
+ virtual void selectionCleared();
+ virtual void popupDidHide();
+ virtual bool itemIsSeparator(unsigned listIndex) const;
void initialize(WebCore::HTMLInputElement*,
const WebVector<WebString>& names,
const WebVector<WebString>& labels,
- int defaultSuggestionIndex);
+ int separatorIndex);
void setSuggestions(const WebVector<WebString>& names,
- const WebVector<WebString>& labels);
+ const WebVector<WebString>& labels,
+ int separatorIndex);
private:
Vector<WebCore::String> m_names;
Vector<WebCore::String> m_labels;
+
+ // The index of the separator. -1 if there is no separator.
+ int m_separatorIndex;
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/ChromeClientImpl.cpp b/WebKit/chromium/src/ChromeClientImpl.cpp
index d54f328..559a62b 100644
--- a/WebKit/chromium/src/ChromeClientImpl.cpp
+++ b/WebKit/chromium/src/ChromeClientImpl.cpp
@@ -48,6 +48,7 @@
#include "WebGeolocationService.h"
#include "GeolocationServiceChromium.h"
#include "GraphicsLayer.h"
+#include "HTMLNames.h"
#include "HitTestResult.h"
#include "IntRect.h"
#include "Node.h"
@@ -159,35 +160,8 @@ float ChromeClientImpl::scaleFactor()
void ChromeClientImpl::focus()
{
- if (!m_webView->client())
- return;
-
- m_webView->client()->didFocus();
-
- // If accessibility is enabled, we should notify assistive technology that
- // the active AccessibilityObject changed.
- const Frame* frame = m_webView->focusedWebCoreFrame();
- if (!frame)
- return;
-
- Document* doc = frame->document();
-
- if (doc && doc->axObjectCache()->accessibilityEnabled()) {
- Node* focusedNode = m_webView->focusedWebCoreNode();
-
- if (!focusedNode) {
- // Could not retrieve focused Node.
- return;
- }
-
- // Retrieve the focused AccessibilityObject.
- AccessibilityObject* focusedAccObj =
- doc->axObjectCache()->getOrCreate(focusedNode->renderer());
-
- // Alert assistive technology that focus changed.
- if (focusedAccObj)
- m_webView->client()->focusAccessibilityObject(WebAccessibilityObject(focusedAccObj));
- }
+ if (m_webView->client())
+ m_webView->client()->didFocus();
}
void ChromeClientImpl::unfocus()
@@ -217,17 +191,37 @@ void ChromeClientImpl::focusedNodeChanged(Node* node)
{
m_webView->client()->focusedNodeChanged(WebNode(node));
- WebURL focus_url;
+ WebURL focusURL;
if (node && node->isLink()) {
// This HitTestResult hack is the easiest way to get a link URL out of a
// WebCore::Node.
- HitTestResult hit_test(IntPoint(0, 0));
+ HitTestResult hitTest(IntPoint(0, 0));
// This cast must be valid because of the isLink() check.
- hit_test.setURLElement(reinterpret_cast<Element*>(node));
- if (hit_test.isLiveLink())
- focus_url = hit_test.absoluteLinkURL();
+ hitTest.setURLElement(static_cast<Element*>(node));
+ if (hitTest.isLiveLink())
+ focusURL = hitTest.absoluteLinkURL();
+ }
+ m_webView->client()->setKeyboardFocusURL(focusURL);
+
+ if (!node)
+ return;
+
+ // If accessibility is enabled, we should notify assistive technology that
+ // the active AccessibilityObject changed.
+ Document* document = node->document();
+ if (!document) {
+ ASSERT_NOT_REACHED();
+ return;
+ }
+ if (document && document->axObjectCache()->accessibilityEnabled()) {
+ // Retrieve the focused AccessibilityObject.
+ AccessibilityObject* focusedAccObj =
+ document->axObjectCache()->getOrCreate(node->renderer());
+
+ // Alert assistive technology that focus changed.
+ if (focusedAccObj)
+ m_webView->client()->focusAccessibilityObject(WebAccessibilityObject(focusedAccObj));
}
- m_webView->client()->setKeyboardFocusURL(focus_url);
}
Page* ChromeClientImpl::createWindow(
@@ -736,4 +730,23 @@ void ChromeClientImpl::scheduleCompositingLayerSync()
}
#endif
+bool ChromeClientImpl::supportsFullscreenForNode(const WebCore::Node* node)
+{
+ if (m_webView->client() && node->hasTagName(WebCore::HTMLNames::videoTag))
+ return m_webView->client()->supportsFullscreen();
+ return false;
+}
+
+void ChromeClientImpl::enterFullscreenForNode(WebCore::Node* node)
+{
+ if (m_webView->client())
+ m_webView->client()->enterFullscreenForNode(WebNode(node));
+}
+
+void ChromeClientImpl::exitFullscreenForNode(WebCore::Node* node)
+{
+ if (m_webView->client())
+ m_webView->client()->exitFullscreenForNode(WebNode(node));
+}
+
} // namespace WebKit
diff --git a/WebKit/chromium/src/ChromeClientImpl.h b/WebKit/chromium/src/ChromeClientImpl.h
index 3b5ebd5..84355c3 100644
--- a/WebKit/chromium/src/ChromeClientImpl.h
+++ b/WebKit/chromium/src/ChromeClientImpl.h
@@ -146,6 +146,10 @@ public:
// to do an eager layout before the drawing.
virtual void scheduleCompositingLayerSync();
#endif
+ virtual bool supportsFullscreenForNode(const WebCore::Node*);
+ virtual void enterFullscreenForNode(WebCore::Node*);
+ virtual void exitFullscreenForNode(WebCore::Node*);
+
// ChromeClientChromium methods:
virtual void popupOpened(WebCore::PopupContainer* popupContainer,
const WebCore::IntRect& bounds,
diff --git a/WebKit/chromium/src/DebuggerAgent.h b/WebKit/chromium/src/DebuggerAgent.h
index 7f3dbbb..17cde11 100644
--- a/WebKit/chromium/src/DebuggerAgent.h
+++ b/WebKit/chromium/src/DebuggerAgent.h
@@ -40,10 +40,7 @@ namespace WebKit {
METHOD0(getContextId) \
\
/* Request v8 to process all debug commands in the queue. */ \
- METHOD0(processDebugCommands) \
- \
- /* Push DebuggerScript.js content to the agent. */ \
- METHOD1(setDebuggerScriptSource, String)
+ METHOD0(processDebugCommands)
DEFINE_RPC_CLASS(DebuggerAgent, DEBUGGER_AGENT_STRUCT)
diff --git a/WebKit/chromium/src/DebuggerAgentImpl.cpp b/WebKit/chromium/src/DebuggerAgentImpl.cpp
index 673482a..dde9e1d 100644
--- a/WebKit/chromium/src/DebuggerAgentImpl.cpp
+++ b/WebKit/chromium/src/DebuggerAgentImpl.cpp
@@ -79,11 +79,6 @@ void DebuggerAgentImpl::processDebugCommands()
v8::Debug::ProcessDebugMessages();
}
-void DebuggerAgentImpl::setDebuggerScriptSource(const String& source)
-{
- WebCore::ScriptDebugServer::shared().setDebuggerScriptSource(source);
-}
-
void DebuggerAgentImpl::debuggerOutput(const String& command)
{
m_delegate->debuggerOutput(command);
diff --git a/WebKit/chromium/src/DebuggerAgentImpl.h b/WebKit/chromium/src/DebuggerAgentImpl.h
index bd9ddf6..0e6e6af 100644
--- a/WebKit/chromium/src/DebuggerAgentImpl.h
+++ b/WebKit/chromium/src/DebuggerAgentImpl.h
@@ -60,7 +60,6 @@ public:
// DebuggerAgent implementation.
virtual void getContextId();
virtual void processDebugCommands();
- virtual void setDebuggerScriptSource(const String&);
void debuggerOutput(const WebCore::String& out);
diff --git a/WebKit/chromium/src/GraphicsContext3D.cpp b/WebKit/chromium/src/GraphicsContext3D.cpp
index 7c5635b..0681675 100644
--- a/WebKit/chromium/src/GraphicsContext3D.cpp
+++ b/WebKit/chromium/src/GraphicsContext3D.cpp
@@ -41,7 +41,7 @@
#include "ImageData.h"
#include "WebGLBuffer.h"
#include "Int8Array.h"
-#include "FloatArray.h"
+#include "Float32Array.h"
#include "WebGLFramebuffer.h"
#include "Int32Array.h"
#include "WebGLProgram.h"
diff --git a/WebKit/chromium/src/IDBCallbacksProxy.cpp b/WebKit/chromium/src/IDBCallbacksProxy.cpp
index 3e5f00a..42be08d 100644
--- a/WebKit/chromium/src/IDBCallbacksProxy.cpp
+++ b/WebKit/chromium/src/IDBCallbacksProxy.cpp
@@ -35,6 +35,7 @@
#include "WebIDBDatabaseImpl.h"
#include "WebIDBDatabaseError.h"
#include "WebIDBIndexImpl.h"
+#include "WebIDBObjectStoreImpl.h"
#include "WebSerializedScriptValue.h"
#if ENABLE(INDEXED_DATABASE)
@@ -79,6 +80,12 @@ void IDBCallbacksProxy::onSuccess(PassRefPtr<IDBIndex> idbIndex)
m_callbacks.clear();
}
+void IDBCallbacksProxy::onSuccess(PassRefPtr<IDBObjectStore> idbObjectStore)
+{
+ m_callbacks->onSuccess(new WebKit::WebIDBObjectStoreImpl(idbObjectStore));
+ 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 d98e2ed..8f2da28 100644
--- a/WebKit/chromium/src/IDBCallbacksProxy.h
+++ b/WebKit/chromium/src/IDBCallbacksProxy.h
@@ -30,6 +30,7 @@
#define IDBCallbacksProxy_h
#include "IDBCallbacks.h"
+#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
@@ -43,6 +44,7 @@ namespace WebCore {
class IDBDatabaseError;
class IDBDatabase;
+class IDBObjectStore;
class SerializedScriptValue;
class IDBCallbacksProxy : public IDBCallbacks {
@@ -54,6 +56,7 @@ public:
virtual void onSuccess(); // For "null".
virtual void onSuccess(PassRefPtr<IDBDatabase>);
virtual void onSuccess(PassRefPtr<IDBIndex>);
+ virtual void onSuccess(PassRefPtr<IDBObjectStore>);
virtual void onSuccess(PassRefPtr<SerializedScriptValue>);
private:
diff --git a/WebKit/chromium/src/IDBDatabaseProxy.cpp b/WebKit/chromium/src/IDBDatabaseProxy.cpp
index deb2f99..9d009c0 100644
--- a/WebKit/chromium/src/IDBDatabaseProxy.cpp
+++ b/WebKit/chromium/src/IDBDatabaseProxy.cpp
@@ -27,8 +27,13 @@
#include "IDBDatabaseProxy.h"
#include "DOMStringList.h"
+#include "IDBCallbacks.h"
+#include "IDBObjectStoreProxy.h"
+#include "WebFrameImpl.h"
+#include "WebIDBCallbacksImpl.h"
#include "WebIDBDatabase.h"
#include "WebIDBDatabaseError.h"
+#include "WebIDBObjectStore.h"
#if ENABLE(INDEXED_DATABASE)
@@ -48,26 +53,44 @@ IDBDatabaseProxy::~IDBDatabaseProxy()
{
}
-String IDBDatabaseProxy::name()
+String IDBDatabaseProxy::name() const
{
return m_webIDBDatabase->name();
}
-String IDBDatabaseProxy::description()
+String IDBDatabaseProxy::description() const
{
return m_webIDBDatabase->description();
}
-String IDBDatabaseProxy::version()
+String IDBDatabaseProxy::version() const
{
return m_webIDBDatabase->version();
}
-PassRefPtr<DOMStringList> IDBDatabaseProxy::objectStores()
+PassRefPtr<DOMStringList> IDBDatabaseProxy::objectStores() const
{
return m_webIDBDatabase->objectStores();
}
+void IDBDatabaseProxy::createObjectStore(const String& name, const String& keyPath, bool autoIncrement, PassRefPtr<IDBCallbacks> callbacks)
+{
+ m_webIDBDatabase->createObjectStore(name, keyPath, autoIncrement, new WebIDBCallbacksImpl(callbacks));
+}
+
+PassRefPtr<IDBObjectStore> IDBDatabaseProxy::objectStore(const String& name, unsigned short mode)
+{
+ WebKit::WebIDBObjectStore* objectStore = m_webIDBDatabase->objectStore(name, mode);
+ if (!objectStore)
+ return 0;
+ return IDBObjectStoreProxy::create(objectStore);
+}
+
+void IDBDatabaseProxy::removeObjectStore(const String& name, PassRefPtr<IDBCallbacks> callbacks)
+{
+ m_webIDBDatabase->removeObjectStore(name, new WebIDBCallbacksImpl(callbacks));
+}
+
} // namespace WebCore
#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebKit/chromium/src/IDBDatabaseProxy.h b/WebKit/chromium/src/IDBDatabaseProxy.h
index e5e5125..36588f0 100644
--- a/WebKit/chromium/src/IDBDatabaseProxy.h
+++ b/WebKit/chromium/src/IDBDatabaseProxy.h
@@ -42,12 +42,16 @@ public:
static PassRefPtr<IDBDatabase> create(PassOwnPtr<WebKit::WebIDBDatabase>);
virtual ~IDBDatabaseProxy();
- virtual String name();
- virtual String description();
- virtual String version();
- virtual PassRefPtr<DOMStringList> objectStores();
+ virtual String name() const;
+ virtual String description() const;
+ virtual String version() const;
+ virtual PassRefPtr<DOMStringList> objectStores() const;
- // FIXME: Add other methods.
+ // FIXME: Add transaction and setVersion.
+
+ virtual void createObjectStore(const String& name, const String& keyPath, bool autoIncrement, PassRefPtr<IDBCallbacks>);
+ virtual PassRefPtr<IDBObjectStore> objectStore(const String& name, unsigned short mode);
+ virtual void removeObjectStore(const String& name, PassRefPtr<IDBCallbacks>);
private:
IDBDatabaseProxy(PassOwnPtr<WebKit::WebIDBDatabase>);
diff --git a/WebKit/chromium/src/IDBObjectStoreProxy.cpp b/WebKit/chromium/src/IDBObjectStoreProxy.cpp
new file mode 100755
index 0000000..5942e2a
--- /dev/null
+++ b/WebKit/chromium/src/IDBObjectStoreProxy.cpp
@@ -0,0 +1,89 @@
+/*
+ * 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 "IDBObjectStoreProxy.h"
+
+#include "DOMStringList.h"
+#include "IDBCallbacks.h"
+#include "IDBIndexProxy.h"
+#include "WebIDBCallbacksImpl.h"
+#include "WebIDBIndex.h"
+#include "WebIDBObjectStore.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+PassRefPtr<IDBObjectStore> IDBObjectStoreProxy::create(PassOwnPtr<WebKit::WebIDBObjectStore> objectStore)
+{
+ return adoptRef(new IDBObjectStoreProxy(objectStore));
+}
+
+IDBObjectStoreProxy::IDBObjectStoreProxy(PassOwnPtr<WebKit::WebIDBObjectStore> objectStore)
+ : m_webIDBObjectStore(objectStore)
+{
+}
+
+IDBObjectStoreProxy::~IDBObjectStoreProxy()
+{
+}
+
+String IDBObjectStoreProxy::name() const
+{
+ return m_webIDBObjectStore->name();
+}
+
+String IDBObjectStoreProxy::keyPath() const
+{
+ return m_webIDBObjectStore->keyPath();
+}
+
+PassRefPtr<DOMStringList> IDBObjectStoreProxy::indexNames() const
+{
+ return m_webIDBObjectStore->indexNames();
+}
+
+void IDBObjectStoreProxy::createIndex(const String& name, const String& keyPath, bool unique, PassRefPtr<IDBCallbacks> callbacks)
+{
+ m_webIDBObjectStore->createIndex(name, keyPath, unique, new WebIDBCallbacksImpl(callbacks));
+}
+
+PassRefPtr<IDBIndex> IDBObjectStoreProxy::index(const String& name)
+{
+ WebKit::WebIDBIndex* index = m_webIDBObjectStore->index(name);
+ if (!index)
+ return 0;
+ return IDBIndexProxy::create(index);
+}
+
+void IDBObjectStoreProxy::removeIndex(const String& name, PassRefPtr<IDBCallbacks> callbacks)
+{
+ m_webIDBObjectStore->removeIndex(name, new WebIDBCallbacksImpl(callbacks));
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebKit/chromium/src/IDBObjectStoreProxy.h b/WebKit/chromium/src/IDBObjectStoreProxy.h
new file mode 100755
index 0000000..78983cb
--- /dev/null
+++ b/WebKit/chromium/src/IDBObjectStoreProxy.h
@@ -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.
+ */
+
+#ifndef IDBObjectStoreProxy_h
+#define IDBObjectStoreProxy_h
+
+#include "IDBObjectStore.h"
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
+#include <wtf/PassRefPtr.h>
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebKit { class WebIDBObjectStore; }
+
+namespace WebCore {
+
+class DOMStringList;
+class IDBIndex;
+
+class IDBObjectStoreProxy : public IDBObjectStore {
+public:
+ static PassRefPtr<IDBObjectStore> create(PassOwnPtr<WebKit::WebIDBObjectStore>);
+ virtual ~IDBObjectStoreProxy();
+
+ virtual String name() const;
+ virtual String keyPath() const;
+ virtual PassRefPtr<DOMStringList> indexNames() const;
+
+ virtual void createIndex(const String& name, const String& keyPath, bool unique, PassRefPtr<IDBCallbacks>);
+ virtual PassRefPtr<IDBIndex> index(const String& name);
+ virtual void removeIndex(const String& name, PassRefPtr<IDBCallbacks>);
+
+private:
+ IDBObjectStoreProxy(PassOwnPtr<WebKit::WebIDBObjectStore>);
+
+ OwnPtr<WebKit::WebIDBObjectStore> m_webIDBObjectStore;
+};
+
+} // namespace WebCore
+
+#endif
+
+#endif // IDBObjectStoreProxy_h
+
diff --git a/WebKit/chromium/src/IndexedDatabaseProxy.cpp b/WebKit/chromium/src/IndexedDatabaseProxy.cpp
index 2572877..bee99b2 100644
--- a/WebKit/chromium/src/IndexedDatabaseProxy.cpp
+++ b/WebKit/chromium/src/IndexedDatabaseProxy.cpp
@@ -57,12 +57,10 @@ IndexedDatabaseProxy::~IndexedDatabaseProxy()
{
}
-void IndexedDatabaseProxy::open(const String& name, const String& description, 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)
{
- if (!frame || !frame->document())
- return;
WebKit::WebFrame* webFrame = WebKit::WebFrameImpl::fromFrame(frame);
- m_webIndexedDatabase->open(name, description, new WebIDBCallbacksImpl(callbacks), origin, webFrame, ec);
+ m_webIndexedDatabase->open(name, description, new WebIDBCallbacksImpl(callbacks), origin, webFrame);
}
} // namespace WebCore
diff --git a/WebKit/chromium/src/IndexedDatabaseProxy.h b/WebKit/chromium/src/IndexedDatabaseProxy.h
index 206099c..53097f0 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, PassRefPtr<IDBCallbacks>, PassRefPtr<SecurityOrigin>, Frame*, ExceptionCode&);
+ virtual void open(const String& name, const String& description, PassRefPtr<IDBCallbacks>, PassRefPtr<SecurityOrigin>, Frame*);
private:
IndexedDatabaseProxy();
diff --git a/WebKit/chromium/src/InspectorClientImpl.cpp b/WebKit/chromium/src/InspectorClientImpl.cpp
index 22b515f..91d10d5 100644
--- a/WebKit/chromium/src/InspectorClientImpl.cpp
+++ b/WebKit/chromium/src/InspectorClientImpl.cpp
@@ -35,6 +35,8 @@
#include "FloatRect.h"
#include "NotImplemented.h"
#include "Page.h"
+#include "WebDevToolsAgentImpl.h"
+#include "WebDevToolsMessageData.h"
#include "WebRect.h"
#include "WebURL.h"
#include "WebURLRequest.h"
@@ -102,4 +104,20 @@ void InspectorClientImpl::storeSetting(const String& key, const String& value)
m_inspectedWebView->setInspectorSetting(key, value);
}
+bool InspectorClientImpl::sendMessageToFrontend(const WebCore::String& message)
+{
+ WebDevToolsAgentImpl* devToolsAgent = static_cast<WebDevToolsAgentImpl*>(m_inspectedWebView->devToolsAgent());
+ if (!devToolsAgent)
+ return false;
+
+ WebVector<WebString> arguments(size_t(1));
+ arguments[0] = message;
+ WebDevToolsMessageData data;
+ data.className = "ToolsAgentDelegate";
+ data.methodName = "dispatchOnClient";
+ data.arguments.swap(arguments);
+ devToolsAgent->sendRpcMessage(data);
+ return true;
+}
+
} // namespace WebKit
diff --git a/WebKit/chromium/src/InspectorClientImpl.h b/WebKit/chromium/src/InspectorClientImpl.h
index 7447d0c..f4994e3 100644
--- a/WebKit/chromium/src/InspectorClientImpl.h
+++ b/WebKit/chromium/src/InspectorClientImpl.h
@@ -36,6 +36,8 @@
#include <wtf/OwnPtr.h>
namespace WebKit {
+
+class WebDevToolsAgentClient;
class WebViewImpl;
class InspectorClientImpl : public WebCore::InspectorClient {
@@ -46,15 +48,14 @@ public:
// InspectorClient methods:
virtual void inspectorDestroyed();
virtual void openInspectorFrontend(WebCore::InspectorController*);
+
virtual void highlight(WebCore::Node*);
virtual void hideHighlight();
- virtual void populateSetting(
- const WebCore::String& key,
- WebCore::String* value);
- virtual void storeSetting(
- const WebCore::String& key,
- const WebCore::String& value);
+ virtual void populateSetting(const WebCore::String& key, WebCore::String* value);
+ virtual void storeSetting(const WebCore::String& key, const WebCore::String& value);
+
+ virtual bool sendMessageToFrontend(const WebCore::String&);
private:
// The WebViewImpl of the page being inspected; gets passed to the constructor
diff --git a/WebKit/chromium/src/NotificationPresenterImpl.cpp b/WebKit/chromium/src/NotificationPresenterImpl.cpp
index dca1856..c928c91 100644
--- a/WebKit/chromium/src/NotificationPresenterImpl.cpp
+++ b/WebKit/chromium/src/NotificationPresenterImpl.cpp
@@ -88,7 +88,10 @@ void NotificationPresenterImpl::cancel(Notification* notification)
void NotificationPresenterImpl::notificationObjectDestroyed(Notification* notification)
{
- m_presenter->objectDestroyed(PassRefPtr<Notification>(notification));
+ // TODO(pkasting): We cannot ref an object that's being destroyed. Either
+ // this function needs to be called earlier than in ~Notification(), or it
+ // needs to not ref this object.
+ //m_presenter->objectDestroyed(PassRefPtr<Notification>(notification));
}
NotificationPresenter::Permission NotificationPresenterImpl::checkPermission(const KURL& sourceURL)
diff --git a/WebKit/chromium/src/SuggestionsPopupMenuClient.h b/WebKit/chromium/src/SuggestionsPopupMenuClient.h
index 77b3890..7717593 100644
--- a/WebKit/chromium/src/SuggestionsPopupMenuClient.h
+++ b/WebKit/chromium/src/SuggestionsPopupMenuClient.h
@@ -61,6 +61,8 @@ public:
// WebCore::PopupMenuClient methods:
virtual void valueChanged(unsigned listIndex, bool fireEvents = true);
+ virtual void selectionChanged(unsigned, bool) {}
+ virtual void selectionCleared() {}
virtual WebCore::String itemText(unsigned listIndex) const;
virtual WebCore::String itemToolTip(unsigned lastIndex) const { return WebCore::String(); }
virtual WebCore::String itemAccessibilityText(unsigned lastIndex) const { return WebCore::String(); }
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
index 8dde31f..c4bbbfa 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
@@ -462,6 +462,11 @@ void WebDevToolsAgentImpl::createInspectorFrontendProxy()
m_utilityContext = v8::Context::New();
compileUtilityScripts();
initDevToolsAgentHost();
+#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
+ WebCString debuggerScriptJs = m_client->debuggerScriptSource();
+ WebCore::ScriptDebugServer::shared().setDebuggerScriptSource(
+ WebCore::String(debuggerScriptJs.data(), debuggerScriptJs.length()));
+#endif
}
void WebDevToolsAgentImpl::setInspectorFrontendProxyToInspectorController()
@@ -470,8 +475,7 @@ void WebDevToolsAgentImpl::setInspectorFrontendProxyToInspectorController()
ScriptState* state = ScriptState::forContext(
v8::Local<v8::Context>::New(m_utilityContext));
InspectorController* ic = inspectorController();
- ic->setFrontend(new InspectorFrontend(
- ScriptObject(state, m_utilityContext->Global())));
+ ic->connectFrontend(ScriptObject(state, m_utilityContext->Global()));
}
void WebDevToolsAgentImpl::setApuAgentEnabled(bool enabled)
diff --git a/WebKit/chromium/src/WebEntities.cpp b/WebKit/chromium/src/WebEntities.cpp
index b9143d9..2b8ae3c 100644
--- a/WebKit/chromium/src/WebEntities.cpp
+++ b/WebKit/chromium/src/WebEntities.cpp
@@ -42,12 +42,12 @@
using namespace WebCore;
namespace {
-// Note that this file is also included by HTMLTokenizer.cpp so we are getting
+// Note that this file is also included by HTMLDocumentParser.cpp so we are getting
// two copies of the data in memory. We can fix this by changing the script
// that generated the array to create a static const that is its length, but
// this is low priority since the data is less than 4K. We use anonymous
// namespace to prevent name collisions.
-#include "HTMLEntityNames.c" // NOLINT
+#include "HTMLEntityNames.cpp" // NOLINT
}
namespace WebKit {
diff --git a/WebKit/chromium/src/WebFormControlElement.cpp b/WebKit/chromium/src/WebFormControlElement.cpp
index 007673e..a75fe5c 100644
--- a/WebKit/chromium/src/WebFormControlElement.cpp
+++ b/WebKit/chromium/src/WebFormControlElement.cpp
@@ -59,7 +59,7 @@ WebString WebFormControlElement::nameForAutofill() const
String trimmedName = name.stripWhiteSpace();
if (!trimmedName.isEmpty())
return trimmedName;
- name = constUnwrap<HTMLFormControlElement>()->getAttribute(HTMLNames::idAttr);
+ name = constUnwrap<HTMLFormControlElement>()->getIdAttribute();
trimmedName = name.stripWhiteSpace();
if (!trimmedName.isEmpty())
return trimmedName;
diff --git a/WebKit/chromium/src/WebIDBCallbacksImpl.cpp b/WebKit/chromium/src/WebIDBCallbacksImpl.cpp
index ea1c0b1..891e3b3 100644
--- a/WebKit/chromium/src/WebIDBCallbacksImpl.cpp
+++ b/WebKit/chromium/src/WebIDBCallbacksImpl.cpp
@@ -30,10 +30,12 @@
#include "IDBDatabaseError.h"
#include "IDBDatabaseProxy.h"
#include "IDBIndexProxy.h"
+#include "IDBObjectStoreProxy.h"
#include "WebIDBCallbacks.h"
#include "WebIDBDatabase.h"
#include "WebIDBDatabaseError.h"
#include "WebIDBIndex.h"
+#include "WebIDBObjectStore.h"
#include "WebSerializedScriptValue.h"
#if ENABLE(INDEXED_DATABASE)
@@ -73,6 +75,12 @@ void WebIDBCallbacksImpl::onSuccess(WebKit::WebIDBIndex* webKitInstance)
m_callbacks.clear();
}
+void WebIDBCallbacksImpl::onSuccess(WebKit::WebIDBObjectStore* webKitInstance)
+{
+ m_callbacks->onSuccess(IDBObjectStoreProxy::create(webKitInstance));
+ m_callbacks.clear();
+}
+
void WebIDBCallbacksImpl::onSuccess(const WebKit::WebSerializedScriptValue& serializedScriptValue)
{
m_callbacks->onSuccess(serializedScriptValue);
diff --git a/WebKit/chromium/src/WebIDBCallbacksImpl.h b/WebKit/chromium/src/WebIDBCallbacksImpl.h
index 8e5ada7..519f692 100644
--- a/WebKit/chromium/src/WebIDBCallbacksImpl.h
+++ b/WebKit/chromium/src/WebIDBCallbacksImpl.h
@@ -45,6 +45,7 @@ public:
virtual void onSuccess(); // For "null".
virtual void onSuccess(WebKit::WebIDBDatabase*);
virtual void onSuccess(WebKit::WebIDBIndex*);
+ virtual void onSuccess(WebKit::WebIDBObjectStore*);
virtual void onSuccess(const WebKit::WebSerializedScriptValue&);
private:
diff --git a/WebKit/chromium/src/WebIDBDatabaseImpl.cpp b/WebKit/chromium/src/WebIDBDatabaseImpl.cpp
index 3a00ccb..e2f771a 100644
--- a/WebKit/chromium/src/WebIDBDatabaseImpl.cpp
+++ b/WebKit/chromium/src/WebIDBDatabaseImpl.cpp
@@ -27,7 +27,10 @@
#include "WebIDBDatabaseImpl.h"
#include "DOMStringList.h"
+#include "IDBCallbacksProxy.h"
#include "IDBDatabase.h"
+#include "WebIDBCallbacks.h"
+#include "WebIDBObjectStoreImpl.h"
#if ENABLE(INDEXED_DATABASE)
@@ -35,8 +38,8 @@ using namespace WebCore;
namespace WebKit {
-WebIDBDatabaseImpl::WebIDBDatabaseImpl(PassRefPtr<IDBDatabase> idbDatabase)
- : m_idbDatabase(idbDatabase)
+WebIDBDatabaseImpl::WebIDBDatabaseImpl(PassRefPtr<IDBDatabase> database)
+ : m_database(database)
{
}
@@ -44,24 +47,42 @@ WebIDBDatabaseImpl::~WebIDBDatabaseImpl()
{
}
-WebString WebIDBDatabaseImpl::name()
+WebString WebIDBDatabaseImpl::name() const
{
- return m_idbDatabase->name();
+ return m_database->name();
}
-WebString WebIDBDatabaseImpl::description()
+WebString WebIDBDatabaseImpl::description() const
{
- return m_idbDatabase->description();
+ return m_database->description();
}
-WebString WebIDBDatabaseImpl::version()
+WebString WebIDBDatabaseImpl::version() const
{
- return m_idbDatabase->version();
+ return m_database->version();
}
-WebDOMStringList WebIDBDatabaseImpl::objectStores()
+WebDOMStringList WebIDBDatabaseImpl::objectStores() const
{
- return m_idbDatabase->objectStores();
+ return m_database->objectStores();
+}
+
+void WebIDBDatabaseImpl::createObjectStore(const WebString& name, const WebString& keyPath, bool autoIncrement, WebIDBCallbacks* callbacks)
+{
+ m_database->createObjectStore(name, keyPath, autoIncrement, IDBCallbacksProxy::create(callbacks));
+}
+
+WebIDBObjectStore* WebIDBDatabaseImpl::objectStore(const WebString& name, unsigned short mode)
+{
+ RefPtr<IDBObjectStore> objectStore = m_database->objectStore(name, mode);
+ if (!objectStore)
+ return 0;
+ return new WebIDBObjectStoreImpl(objectStore);
+}
+
+void WebIDBDatabaseImpl::removeObjectStore(const WebString& name, WebIDBCallbacks* callbacks)
+{
+ m_database->removeObjectStore(name, IDBCallbacksProxy::create(callbacks));
}
} // namespace WebCore
diff --git a/WebKit/chromium/src/WebIDBDatabaseImpl.h b/WebKit/chromium/src/WebIDBDatabaseImpl.h
index f99a759..c83d8d7 100644
--- a/WebKit/chromium/src/WebIDBDatabaseImpl.h
+++ b/WebKit/chromium/src/WebIDBDatabaseImpl.h
@@ -35,19 +35,25 @@ namespace WebCore { class IDBDatabase; }
namespace WebKit {
+class WebIDBObjectStore;
+
// See comment in WebIndexedDatabase for a high level overview these classes.
class WebIDBDatabaseImpl : public WebIDBDatabase {
public:
- WebIDBDatabaseImpl(WTF::PassRefPtr<WebCore::IDBDatabase> idbDatabase);
+ WebIDBDatabaseImpl(WTF::PassRefPtr<WebCore::IDBDatabase> database);
virtual ~WebIDBDatabaseImpl();
- virtual WebString name();
- virtual WebString description();
- virtual WebString version();
- virtual WebDOMStringList objectStores();
+ virtual WebString name() const;
+ virtual WebString description() const;
+ virtual WebString version() const;
+ virtual WebDOMStringList objectStores() const;
+
+ virtual void createObjectStore(const WebString& name, const WebString& keyPath, bool autoIncrement, WebIDBCallbacks* callbacks);
+ virtual WebIDBObjectStore* objectStore(const WebString& name, unsigned short mode);
+ virtual void removeObjectStore(const WebString& name, WebIDBCallbacks* callbacks);
private:
- WTF::RefPtr<WebCore::IDBDatabase> m_idbDatabase;
+ WTF::RefPtr<WebCore::IDBDatabase> m_database;
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebIDBObjectStoreImpl.cpp b/WebKit/chromium/src/WebIDBObjectStoreImpl.cpp
new file mode 100755
index 0000000..a41010a
--- /dev/null
+++ b/WebKit/chromium/src/WebIDBObjectStoreImpl.cpp
@@ -0,0 +1,84 @@
+/*
+ * 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 "WebIDBObjectStoreImpl.h"
+
+#include "DOMStringList.h"
+#include "IDBCallbacksProxy.h"
+#include "IDBObjectStore.h"
+#include "WebIDBIndexImpl.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebIDBObjectStoreImpl::WebIDBObjectStoreImpl(PassRefPtr<IDBObjectStore> objectStore)
+ : m_objectStore(objectStore)
+{
+}
+
+WebIDBObjectStoreImpl::~WebIDBObjectStoreImpl()
+{
+}
+
+WebString WebIDBObjectStoreImpl::name() const
+{
+ return m_objectStore->name();
+}
+
+WebString WebIDBObjectStoreImpl::keyPath() const
+{
+ return m_objectStore->keyPath();
+}
+
+WebDOMStringList WebIDBObjectStoreImpl::indexNames() const
+{
+ return m_objectStore->indexNames();
+}
+
+void WebIDBObjectStoreImpl::createIndex(const WebString& name, const WebString& keyPath, bool unique, WebIDBCallbacks* callbacks)
+{
+ m_objectStore->createIndex(name, keyPath, unique, IDBCallbacksProxy::create(callbacks));
+}
+
+WebIDBIndex* WebIDBObjectStoreImpl::index(const WebString& name)
+{
+ RefPtr<IDBIndex> index = m_objectStore->index(name);
+ if (!index)
+ return 0;
+ return new WebIDBIndexImpl(index);
+}
+
+void WebIDBObjectStoreImpl::removeIndex(const WebString& name, WebIDBCallbacks* callbacks)
+{
+ m_objectStore->removeIndex(name, IDBCallbacksProxy::create(callbacks));
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebKit/chromium/src/WebIDBObjectStoreImpl.h b/WebKit/chromium/src/WebIDBObjectStoreImpl.h
new file mode 100755
index 0000000..f59840f
--- /dev/null
+++ b/WebKit/chromium/src/WebIDBObjectStoreImpl.h
@@ -0,0 +1,60 @@
+/*
+ * 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 WebIDBObjectStoreImpl_h
+#define WebIDBObjectStoreImpl_h
+
+#include "WebCommon.h"
+#include "WebIDBObjectStore.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
+
+namespace WebCore { class IDBObjectStore; }
+
+namespace WebKit {
+
+class WebIDBIndex;
+
+// See comment in WebIndexedObjectStore for a high level overview these classes.
+class WebIDBObjectStoreImpl : public WebIDBObjectStore {
+public:
+ WebIDBObjectStoreImpl(WTF::PassRefPtr<WebCore::IDBObjectStore> objectStore);
+ virtual ~WebIDBObjectStoreImpl();
+
+ virtual WebString name() const;
+ virtual WebString keyPath() const;
+ virtual WebDOMStringList indexNames() const;
+
+ virtual void createIndex(const WebString& name, const WebString& keyPath, bool unique, WebIDBCallbacks* callbacks);
+ virtual WebIDBIndex* index(const WebString& name);
+ virtual void removeIndex(const WebString& name, WebIDBCallbacks* callbacks);
+
+ private:
+ WTF::RefPtr<WebCore::IDBObjectStore> m_objectStore;
+};
+
+} // namespace WebKit
+
+#endif // WebIDBObjectStoreImpl_h
diff --git a/WebKit/chromium/src/WebImageCG.cpp b/WebKit/chromium/src/WebImageCG.cpp
index 60b2449..045c8be 100644
--- a/WebKit/chromium/src/WebImageCG.cpp
+++ b/WebKit/chromium/src/WebImageCG.cpp
@@ -89,14 +89,16 @@ WebSize WebImage::size() const
WebImage::WebImage(const PassRefPtr<Image>& image)
: m_imageRef(0)
{
- if (image.get())
- assign(image->nativeImageForCurrentFrame());
+ NativeImagePtr p;
+ if (image.get() && (p = image->nativeImageForCurrentFrame()))
+ assign(p);
}
WebImage& WebImage::operator=(const PassRefPtr<Image>& image)
{
- if (image.get())
- assign(image->nativeImageForCurrentFrame());
+ NativeImagePtr p;
+ if (image.get() && (p = image->nativeImageForCurrentFrame()))
+ assign(p);
else
reset();
return *this;
diff --git a/WebKit/chromium/src/WebIndexedDatabaseImpl.cpp b/WebKit/chromium/src/WebIndexedDatabaseImpl.cpp
index 00122ad..27a6247 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, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame*, int& exceptionCode)
+void WebIndexedDatabaseImpl::open(const WebString& name, const WebString& description, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame*)
{
- m_indexedDatabase->open(name, description, IDBCallbacksProxy::create(callbacks), origin, 0, exceptionCode);
+ m_indexedDatabase->open(name, description, IDBCallbacksProxy::create(callbacks), origin, 0);
}
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebIndexedDatabaseImpl.h b/WebKit/chromium/src/WebIndexedDatabaseImpl.h
index 072a92b..76781e5 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, WebIDBCallbacks*, const WebSecurityOrigin&, WebFrame*, int& exceptionCode);
+ virtual void open(const WebString& name, const WebString& description, WebIDBCallbacks*, const WebSecurityOrigin&, WebFrame*);
private:
WTF::RefPtr<WebCore::IndexedDatabase> m_indexedDatabase;
diff --git a/WebKit/chromium/src/WebInputElement.cpp b/WebKit/chromium/src/WebInputElement.cpp
index 68bb91e..18bafd6 100644
--- a/WebKit/chromium/src/WebInputElement.cpp
+++ b/WebKit/chromium/src/WebInputElement.cpp
@@ -85,6 +85,21 @@ WebString WebInputElement::value() const
return constUnwrap<HTMLInputElement>()->value();
}
+void WebInputElement::setPlaceholder(const WebString& value)
+{
+ unwrap<HTMLInputElement>()->setPlaceholder(value);
+}
+
+WebString WebInputElement::placeholder() const
+{
+ return constUnwrap<HTMLInputElement>()->placeholder();
+}
+
+bool WebInputElement::isAutofilled() const
+{
+ return constUnwrap<HTMLInputElement>()->isAutofilled();
+}
+
void WebInputElement::setAutofilled(bool autoFilled)
{
unwrap<HTMLInputElement>()->setAutofilled(autoFilled);
diff --git a/WebKit/chromium/src/WebPluginContainerImpl.cpp b/WebKit/chromium/src/WebPluginContainerImpl.cpp
index 5807a79..d099048 100644
--- a/WebKit/chromium/src/WebPluginContainerImpl.cpp
+++ b/WebKit/chromium/src/WebPluginContainerImpl.cpp
@@ -60,6 +60,7 @@
#include "KeyboardEvent.h"
#include "MouseEvent.h"
#include "Page.h"
+#include "RenderBox.h"
#include "ScrollView.h"
#include "WheelEvent.h"
diff --git a/WebKit/chromium/src/WebSearchableFormData.cpp b/WebKit/chromium/src/WebSearchableFormData.cpp
index 601a497..14ece13 100644
--- a/WebKit/chromium/src/WebSearchableFormData.cpp
+++ b/WebKit/chromium/src/WebSearchableFormData.cpp
@@ -187,8 +187,8 @@ bool HasSuitableTextElement(const HTMLFormElement* form, Vector<char>* encodedSt
if (!formElement->appendFormData(dataList, false))
continue;
- const Vector<FormDataList::Item>& itemList = dataList.list();
- if (isTextElement && !itemList.isEmpty()) {
+ const BlobItemList& items = dataList.items();
+ if (isTextElement && !items.isEmpty()) {
if (textElement) {
// The auto-complete bar only knows how to fill in one value.
// This form has multiple fields; don't treat it as searchable.
@@ -196,20 +196,22 @@ bool HasSuitableTextElement(const HTMLFormElement* form, Vector<char>* encodedSt
}
textElement = static_cast<HTMLInputElement*>(formElement);
}
- for (Vector<FormDataList::Item>::const_iterator j(itemList.begin()); j != itemList.end(); ++j) {
+ for (BlobItemList::const_iterator j(items.begin()); j != items.end(); ++j) {
+ const StringBlobItem* item = (*j)->toStringBlobItem();
+ ASSERT(item);
// Handle ISINDEX / <input name=isindex> specially, but only if it's
// the first entry.
- if (!encodedString->isEmpty() || j->data() != "isindex") {
+ if (!encodedString->isEmpty() || item->cstr() != "isindex") {
if (!encodedString->isEmpty())
encodedString->append('&');
- FormDataBuilder::encodeStringAsFormData(*encodedString, j->data());
+ FormDataBuilder::encodeStringAsFormData(*encodedString, item->cstr());
encodedString->append('=');
}
++j;
if (formElement == textElement)
encodedString->append("{searchTerms}", 13);
else
- FormDataBuilder::encodeStringAsFormData(*encodedString, j->data());
+ FormDataBuilder::encodeStringAsFormData(*encodedString, item->cstr());
}
}
diff --git a/WebKit/chromium/src/WebSettingsImpl.cpp b/WebKit/chromium/src/WebSettingsImpl.cpp
index 946782b..7e89a77 100644
--- a/WebKit/chromium/src/WebSettingsImpl.cpp
+++ b/WebKit/chromium/src/WebSettingsImpl.cpp
@@ -271,7 +271,7 @@ void WebSettingsImpl::setShowDebugBorders(bool show)
void WebSettingsImpl::setEditingBehavior(EditingBehavior behavior)
{
- m_settings->setEditingBehavior(static_cast<WebCore::EditingBehavior>(behavior));
+ m_settings->setEditingBehaviorType(static_cast<WebCore::EditingBehaviorType>(behavior));
}
void WebSettingsImpl::setAcceleratedCompositingEnabled(bool enabled)
diff --git a/WebKit/chromium/src/WebURLResponse.cpp b/WebKit/chromium/src/WebURLResponse.cpp
index 1aba54e..d5ba707 100644
--- a/WebKit/chromium/src/WebURLResponse.cpp
+++ b/WebKit/chromium/src/WebURLResponse.cpp
@@ -287,6 +287,16 @@ void WebURLResponse::setWasNpnNegotiated(bool value)
m_private->m_resourceResponse->setWasNpnNegotiated(value);
}
+bool WebURLResponse::wasFetchedViaProxy() const
+{
+ return m_private->m_resourceResponse->wasFetchedViaProxy();
+}
+
+void WebURLResponse::setWasFetchedViaProxy(bool value)
+{
+ m_private->m_resourceResponse->setWasFetchedViaProxy(value);
+}
+
bool WebURLResponse::isMultipartPayload() const
{
return m_private->m_resourceResponse->isMultipartPayload();
diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp
index a38995e..5adc35c 100644
--- a/WebKit/chromium/src/WebViewImpl.cpp
+++ b/WebKit/chromium/src/WebViewImpl.cpp
@@ -681,7 +681,7 @@ bool WebViewImpl::sendContextMenuEvent(const WebKeyboardEvent& event)
Node* focusedNode = focusedFrame->document()->focusedNode();
Position start = mainFrameImpl->selection()->selection().start();
- if (focusedFrame->editor() && focusedFrame->editor()->canEdit() && start.node()) {
+ if (start.node()) {
RenderObject* renderer = start.node()->renderer();
if (!renderer)
return false;
@@ -827,6 +827,45 @@ bool WebViewImpl::mapKeyCodeForScroll(int keyCode,
return true;
}
+// Computes the distance from a point outside a rect to the nearest edge of the rect.
+static IntSize distanceToRect(const IntPoint& point, const IntRect& rect)
+{
+ int dx = 0, dy = 0;
+ if (point.x() < rect.x())
+ dx = point.x() - rect.x();
+ else if (rect.right() < point.x())
+ dx = point.x() - rect.right();
+ if (point.y() < rect.y())
+ dy = point.y() - rect.y();
+ else if (rect.bottom() < point.y())
+ dy = point.y() - rect.bottom();
+ return IntSize(dx, dy);
+}
+
+void WebViewImpl::scrollForDragging(const WebPoint& clientPoint)
+{
+ // This margin approximates Safari behavior, derived from an observation.
+ static const int scrollMargin = 30;
+
+ FrameView* view = mainFrameImpl()->frameView();
+ if (!view)
+ return;
+
+ IntRect bounds(0, 0, view->visibleWidth(), view->visibleHeight());
+ bounds.setY(bounds.y() + scrollMargin);
+ bounds.setHeight(bounds.height() - scrollMargin * 2);
+ bounds.setX(bounds.x() + scrollMargin);
+ bounds.setWidth(bounds.width() - scrollMargin * 2);
+
+ IntPoint point = clientPoint;
+ if (bounds.contains(point))
+ return;
+
+ IntSize toScroll = distanceToRect(point, bounds);
+ if (!toScroll.isZero())
+ view->scrollBy(toScroll);
+}
+
void WebViewImpl::hideSelectPopup()
{
if (m_selectPopup.get())
@@ -1539,6 +1578,14 @@ void WebViewImpl::dragSourceEndedAt(
static_cast<DragOperation>(operation));
}
+void WebViewImpl::dragSourceMovedTo(
+ const WebPoint& clientPoint,
+ const WebPoint& screenPoint,
+ WebDragOperation operation)
+{
+ scrollForDragging(clientPoint);
+}
+
void WebViewImpl::dragSourceSystemDragEnded()
{
// It's possible for us to get this callback while not doing a drag if
@@ -1659,6 +1706,9 @@ WebDragOperation WebViewImpl::dragTargetDragEnterOrOver(const WebPoint& clientPo
} else
m_dragOperation = static_cast<WebDragOperation>(effect);
+ if (dragAction == DragOver)
+ scrollForDragging(clientPoint);
+
return m_dragOperation;
}
@@ -1736,10 +1786,10 @@ void WebViewImpl::applyAutoFillSuggestions(
const WebNode& node,
const WebVector<WebString>& names,
const WebVector<WebString>& labels,
- int defaultSuggestionIndex)
+ int separatorIndex)
{
ASSERT(names.size() == labels.size());
- ASSERT(defaultSuggestionIndex < static_cast<int>(names.size()));
+ ASSERT(separatorIndex < static_cast<int>(names.size()));
if (names.isEmpty()) {
hideSuggestionsPopup();
@@ -1764,7 +1814,7 @@ void WebViewImpl::applyAutoFillSuggestions(
m_autoFillPopupClient.set(new AutoFillPopupMenuClient);
m_autoFillPopupClient->initialize(inputElem, names, labels,
- defaultSuggestionIndex);
+ separatorIndex);
if (m_suggestionsPopupClient != m_autoFillPopupClient.get()) {
hideSuggestionsPopup();
@@ -1781,7 +1831,7 @@ void WebViewImpl::applyAutoFillSuggestions(
m_suggestionsPopup = m_autoFillPopup.get();
if (m_suggestionsPopupShowing) {
- m_autoFillPopupClient->setSuggestions(names, labels);
+ m_autoFillPopupClient->setSuggestions(names, labels, separatorIndex);
refreshSuggestionsPopup();
} else {
m_suggestionsPopup->show(focusedNode->getRect(),
diff --git a/WebKit/chromium/src/WebViewImpl.h b/WebKit/chromium/src/WebViewImpl.h
index b2fc680..8b15f8a 100644
--- a/WebKit/chromium/src/WebViewImpl.h
+++ b/WebKit/chromium/src/WebViewImpl.h
@@ -132,6 +132,10 @@ public:
const WebPoint& clientPoint,
const WebPoint& screenPoint,
WebDragOperation operation);
+ virtual void dragSourceMovedTo(
+ const WebPoint& clientPoint,
+ const WebPoint& screenPoint,
+ WebDragOperation operation);
virtual void dragSourceSystemDragEnded();
virtual WebDragOperation dragTargetDragEnter(
const WebDragData& dragData, int identity,
@@ -162,7 +166,7 @@ public:
const WebNode&,
const WebVector<WebString>& names,
const WebVector<WebString>& labels,
- int defaultSuggestionIndex);
+ int separatorIndex);
virtual void applyAutocompleteSuggestions(
const WebNode&,
const WebVector<WebString>& suggestions,
@@ -347,6 +351,8 @@ private:
// Returns true if the view was scrolled.
bool scrollViewWithKeyboard(int keyCode, int modifiers);
+ void scrollForDragging(const WebPoint&);
+
void hideSelectPopup();
// Converts |pos| from window coordinates to contents coordinates and gets
diff --git a/WebKit/chromium/src/gtk/WebInputEventFactory.cpp b/WebKit/chromium/src/gtk/WebInputEventFactory.cpp
index f4db5ee..dc46b07 100644
--- a/WebKit/chromium/src/gtk/WebInputEventFactory.cpp
+++ b/WebKit/chromium/src/gtk/WebInputEventFactory.cpp
@@ -151,6 +151,60 @@ static int gdkEventToWindowsKeyCode(const GdkEventKey* event)
GDK_period, // 0x3C: GDK_period
GDK_slash, // 0x3D: GDK_slash
0, // 0x3E: GDK_Shift_R
+ 0, // 0x3F:
+ 0, // 0x40:
+ 0, // 0x41:
+ 0, // 0x42:
+ 0, // 0x43:
+ 0, // 0x44:
+ 0, // 0x45:
+ 0, // 0x46:
+ 0, // 0x47:
+ 0, // 0x48:
+ 0, // 0x49:
+ 0, // 0x4A:
+ 0, // 0x4B:
+ 0, // 0x4C:
+ 0, // 0x4D:
+ 0, // 0x4E:
+ 0, // 0x4F:
+ 0, // 0x50:
+ 0, // 0x51:
+ 0, // 0x52:
+ 0, // 0x53:
+ 0, // 0x54:
+ 0, // 0x55:
+ 0, // 0x56:
+ 0, // 0x57:
+ 0, // 0x58:
+ 0, // 0x59:
+ 0, // 0x5A:
+ 0, // 0x5B:
+ 0, // 0x5C:
+ 0, // 0x5D:
+ 0, // 0x5E:
+ 0, // 0x5F:
+ 0, // 0x60:
+ 0, // 0x61:
+ 0, // 0x62:
+ 0, // 0x63:
+ 0, // 0x64:
+ 0, // 0x65:
+ 0, // 0x66:
+ 0, // 0x67:
+ 0, // 0x68:
+ 0, // 0x69:
+ 0, // 0x6A:
+ 0, // 0x6B:
+ 0, // 0x6C:
+ 0, // 0x6D:
+ 0, // 0x6E:
+ 0, // 0x6F:
+ 0, // 0x70:
+ 0, // 0x71:
+ 0, // 0x72:
+ GDK_Super_L, // 0x73: GDK_Super_L
+ GDK_Super_R, // 0x74: GDK_Super_R
};
// |windowsKeyCode| has to include a valid virtual-key code even when we
diff --git a/WebKit/chromium/src/js/DebuggerAgent.js b/WebKit/chromium/src/js/DebuggerAgent.js
index 67e54aa..8d2457f 100644
--- a/WebKit/chromium/src/js/DebuggerAgent.js
+++ b/WebKit/chromium/src/js/DebuggerAgent.js
@@ -181,7 +181,7 @@ devtools.DebuggerAgent.prototype.initUI = function()
// pending addition into the UI.
for (var scriptId in this.parsedScripts_) {
var script = this.parsedScripts_[scriptId];
- WebInspector.parsedScriptSource(scriptId, script.getUrl(), undefined /* script source */, script.getLineOffset() + 1);
+ WebInspector.parsedScriptSource(scriptId, script.getUrl(), undefined /* script source */, script.getLineOffset() + 1, script.worldType());
this.restoreBreakpoints_(scriptId, script.getUrl());
}
return;
@@ -307,7 +307,7 @@ devtools.DebuggerAgent.prototype.addBreakpoint = function(sourceId, line, enable
/**
- * Changes given line of the script.
+ * Changes given line of the script.
*/
devtools.DebuggerAgent.prototype.editScriptSource = function(sourceId, newContent, callback)
{
@@ -319,12 +319,31 @@ devtools.DebuggerAgent.prototype.editScriptSource = function(sourceId, newConten
var cmd = new devtools.DebugCommand("changelive", commandArguments);
devtools.DebuggerAgent.sendCommand_(cmd);
this.requestSeqToCallback_[cmd.getSequenceNumber()] = function(msg) {
- if (!msg.isSuccess())
- WebInspector.log("Unable to modify source code within given scope. Only function bodies are editable at the moment.", WebInspector.ConsoleMessage.MessageLevel.Warning);
- this.resolveScriptSource(sourceId, callback);
- if (WebInspector.panels.scripts.paused)
- this.requestBacktrace_();
+ if (!msg.isSuccess()) {
+ callback(false, "Unable to modify source code within given scope. Only function bodies are editable at the moment.", null);
+ return;
+ }
+
+ this.resolveScriptSource(sourceId, requestBacktrace.bind(this));
}.bind(this);
+
+
+ function requestBacktrace(newScriptSource) {
+ if (WebInspector.panels.scripts.paused)
+ this.requestBacktrace_(handleBacktraceResponse.bind(this, newScriptSource));
+ else
+ reportDidCommitEditing(newScriptSource);
+ }
+
+ function handleBacktraceResponse(newScriptSource, msg) {
+ this.updateCallFramesFromBacktraceResponse_(msg);
+ reportDidCommitEditing(newScriptSource, this.callFrames_);
+ }
+
+ function reportDidCommitEditing(newScriptSource, callFrames) {
+ callback(true, newScriptSource, callFrames);
+ }
+
RemoteDebuggerAgent.processDebugCommands();
};
@@ -679,12 +698,14 @@ devtools.DebuggerAgent.prototype.requestClearBreakpoint_ = function(breakpointId
/**
* Sends "backtrace" request to v8.
*/
-devtools.DebuggerAgent.prototype.requestBacktrace_ = function()
+devtools.DebuggerAgent.prototype.requestBacktrace_ = function(opt_customHandler)
{
var cmd = new devtools.DebugCommand("backtrace", {
"compactFormat":true
});
devtools.DebuggerAgent.sendCommand_(cmd);
+ var responseHandler = opt_customHandler ? opt_customHandler : this.handleBacktraceResponse_.bind(this);
+ this.requestSeqToCallback_[cmd.getSequenceNumber()] = responseHandler;
};
@@ -800,7 +821,7 @@ devtools.DebuggerAgent.prototype.handleDebuggerOutput_ = function(output)
else if (msg.getCommand() === "clearbreakpoint")
this.handleClearBreakpointResponse_(msg);
else if (msg.getCommand() === "backtrace")
- this.handleBacktraceResponse_(msg);
+ this.invokeCallbackForResponse_(msg);
else if (msg.getCommand() === "lookup")
this.invokeCallbackForResponse_(msg);
else if (msg.getCommand() === "evaluate")
@@ -948,17 +969,17 @@ devtools.DebuggerAgent.prototype.handleAfterCompileEvent_ = function(msg)
devtools.DebuggerAgent.prototype.addScriptInfo_ = function(script, msg)
{
var context = msg.lookup(script.context.ref);
- var contextType;
// Find the type from context data. The context data has the format
// "type,id".
var comma = context.data.indexOf(",");
if (comma < 0)
- return
- contextType = context.data.substring(0, comma);
- this.parsedScripts_[script.id] = new devtools.ScriptInfo(script.id, script.name, script.lineOffset, contextType);
+ return;
+ var contextType = context.data.substring(0, comma);
+ var info = new devtools.ScriptInfo(script.id, script.name, script.lineOffset, contextType);
+ this.parsedScripts_[script.id] = info;
if (this.scriptsPanelInitialized_) {
// Only report script as parsed after scripts panel has been shown.
- WebInspector.parsedScriptSource(script.id, script.name, script.source, script.lineOffset + 1);
+ WebInspector.parsedScriptSource(script.id, script.name, script.source, script.lineOffset + 1, info.worldType());
this.restoreBreakpoints_(script.id, script.name);
}
};
@@ -991,13 +1012,20 @@ devtools.DebuggerAgent.prototype.handleBacktraceResponse_ = function(msg)
*/
devtools.DebuggerAgent.prototype.doHandleBacktraceResponse_ = function(msg)
{
+ this.updateCallFramesFromBacktraceResponse_(msg);
+ WebInspector.pausedScript(this.callFrames_);
+ this.showPendingExceptionMessage_();
+ InspectorFrontendHost.bringToFront();
+};
+
+
+devtools.DebuggerAgent.prototype.updateCallFramesFromBacktraceResponse_ = function(msg)
+{
var frames = msg.getBody().frames;
this.callFrames_ = [];
for (var i = 0; i < frames.length; ++i)
this.callFrames_.push(this.formatCallFrame_(frames[i]));
- WebInspector.pausedScript(this.callFrames_);
- this.showPendingExceptionMessage_();
- InspectorFrontendHost.bringToFront();
+ return this.callFrames_;
};
@@ -1044,7 +1072,7 @@ devtools.DebuggerAgent.prototype.formatCallFrame_ = function(stackFrame)
var existingScript = this.parsedScripts_[sourceId];
if (!existingScript) {
this.parsedScripts_[sourceId] = new devtools.ScriptInfo(sourceId, null /* name */, 0 /* line */, "unknown" /* type */, true /* unresolved */);
- WebInspector.parsedScriptSource(sourceId, null, null, 0);
+ WebInspector.parsedScriptSource(sourceId, null, null, 0, WebInspector.Script.WorldType.MAIN_WORLD);
}
var funcName = func.name || func.inferredName || "(anonymous function)";
@@ -1257,6 +1285,14 @@ devtools.ScriptInfo.prototype.isUnresolved = function()
};
+devtools.ScriptInfo.prototype.worldType = function()
+{
+ if (this.contextType_ === "injected")
+ return WebInspector.Script.WorldType.EXTENSIONS_WORLD;
+ return WebInspector.Script.WorldType.MAIN_WORLD;
+};
+
+
/**
* @param {number} line 0-based line number in the script.
* @return {?devtools.BreakpointInfo} Information on a breakpoint at the
diff --git a/WebKit/chromium/src/js/DebuggerScript.js b/WebKit/chromium/src/js/DebuggerScript.js
index 7e5b430..3ff3eb7 100644
--- a/WebKit/chromium/src/js/DebuggerScript.js
+++ b/WebKit/chromium/src/js/DebuggerScript.js
@@ -28,7 +28,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-function debuggerScriptConstructor() {
+(function () {
var DebuggerScript = {};
DebuggerScript._breakpoints = {};
@@ -39,6 +39,11 @@ DebuggerScript.PauseOnExceptionsState = {
PauseOnUncaughtExceptions: 2
};
+DebuggerScript.ScriptWorldType = {
+ MainWorld : 0,
+ ExtensionsWorld : 1
+};
+
DebuggerScript._pauseOnExceptionsState = DebuggerScript.PauseOnExceptionsState.DontPauseOnExceptions;
Debug.clearBreakOnException();
Debug.clearBreakOnUncaughtException();
@@ -50,11 +55,21 @@ DebuggerScript.getAfterCompileScript = function(eventData)
DebuggerScript.getScripts = function(contextData)
{
- var scripts = Debug.scripts();
var result = [];
+
+ if (!contextData)
+ return result;
+ var comma = contextData.indexOf(",");
+ if (comma === -1)
+ return result;
+ // Context data is a string in the following format:
+ // ("page"|"injected")","<page id>
+ var idSuffix = contextData.substring(comma); // including the comma
+
+ var scripts = Debug.scripts();
for (var i = 0; i < scripts.length; ++i) {
var script = scripts[i];
- if (contextData === script.context_data)
+ if (script.context_data && script.context_data.lastIndexOf(idSuffix) != -1)
result.push(DebuggerScript._formatScript(script));
}
return result;
@@ -62,13 +77,16 @@ DebuggerScript.getScripts = function(contextData)
DebuggerScript._formatScript = function(script)
{
+ var scriptWorldType = DebuggerScript.ScriptWorldType.MainWorld;
+ if (script.context_data && script.context_data.indexOf("injected") == 0)
+ scriptWorldType = DebuggerScript.ScriptWorldType.ExtensionsWorld;
return {
id: script.id,
name: script.name,
source: script.source,
lineOffset: script.line_offset,
lineCount: script.lineCount(),
- contextData: script.context_data
+ scriptWorldType: scriptWorldType
};
}
@@ -152,6 +170,24 @@ DebuggerScript.stepOutOfFunction = function(execState)
execState.prepareStep(Debug.StepAction.StepOut, 1);
}
+DebuggerScript.editScriptSource = function(scriptId, newSource)
+{
+ var scripts = Debug.scripts();
+ var scriptToEdit = null;
+ for (var i = 0; i < scripts.length; i++) {
+ if (scripts[i].id == scriptId) {
+ scriptToEdit = scripts[i];
+ break;
+ }
+ }
+ if (!scriptToEdit)
+ throw("Script not found");
+
+ var changeLog = [];
+ Debug.LiveEdit.SetScriptSource(scriptToEdit, newSource, changeLog);
+ return scriptToEdit.source;
+}
+
DebuggerScript.clearBreakpoints = function(execState, args)
{
for (var key in DebuggerScript._breakpoints) {
@@ -239,4 +275,4 @@ DebuggerScript._v8ToWebkitLineNumber = function(line)
return DebuggerScript;
-}
+})();
diff --git a/WebKit/chromium/src/js/DevTools.js b/WebKit/chromium/src/js/DevTools.js
index 6e9c090..398d358 100644
--- a/WebKit/chromium/src/js/DevTools.js
+++ b/WebKit/chromium/src/js/DevTools.js
@@ -183,8 +183,8 @@ WebInspector.loaded = function()
Preferences.heapProfilerPresent = true;
Preferences.debuggerAlwaysEnabled = true;
Preferences.profilerAlwaysEnabled = true;
- RemoteDebuggerAgent.setDebuggerScriptSource("(" + debuggerScriptConstructor + ")();");
-
+ Preferences.canEditScriptSource = true;
+
oldLoaded.call(this);
InspectorFrontendHost.loaded();
@@ -210,42 +210,6 @@ document.addEventListener("DOMContentLoaded", devtools.domContentLoaded, false);
if (!window.v8ScriptDebugServerEnabled) {
-/**
- * This override is necessary for adding script source asynchronously.
- * @override
- */
-WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded = function()
-{
- if (!this._frameNeedsSetup)
- return;
-
- this.attach();
-
- if (this.script.source)
- this.didResolveScriptSource_();
- else {
- var self = this;
- devtools.tools.getDebuggerAgent().resolveScriptSource(
- this.script.sourceID,
- function(source) {
- self.script.source = source || WebInspector.UIString("<source is not available>");
- self.didResolveScriptSource_();
- });
- }
-};
-
-
-/**
- * Performs source frame setup when script source is aready resolved.
- */
-WebInspector.ScriptView.prototype.didResolveScriptSource_ = function()
-{
- this.sourceFrame.setContent("text/javascript", this._prependWhitespace(this.script.source));
- this._sourceFrameSetup = true;
- delete this._frameNeedsSetup;
-};
-
-
(function()
{
var oldShow = WebInspector.ScriptsPanel.prototype.show;
@@ -296,6 +260,21 @@ InjectedScriptAccess.prototype.getCompletions = function(expressionString, inclu
};
})();
+// Highlight extension content scripts in the scripts list.
+(function () {
+ var original = WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu;
+ WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu = function(script)
+ {
+ var result = original.apply(this, arguments);
+ var debuggerAgent = devtools.tools.getDebuggerAgent();
+ var type = debuggerAgent.getScriptContextType(script.sourceID);
+ var option = script.filesSelectOption;
+ if (type === "injected" && option)
+ option.addStyleClass("injected");
+ return result;
+ };
+})();
+
}
@@ -349,22 +328,6 @@ WebInspector.UIString = function(string)
})();
-// Highlight extension content scripts in the scripts list.
-(function () {
- var original = WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu;
- WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu = function(script)
- {
- var result = original.apply(this, arguments);
- var debuggerAgent = devtools.tools.getDebuggerAgent();
- var type = debuggerAgent.getScriptContextType(script.sourceID);
- var option = script.filesSelectOption;
- if (type === "injected" && option)
- option.addStyleClass("injected");
- return result;
- };
-})();
-
-
/** Pending WebKit upstream by apavlov). Fixes iframe vs drag problem. */
(function()
{
diff --git a/WebKit/chromium/src/js/DevToolsHostStub.js b/WebKit/chromium/src/js/DevToolsHostStub.js
index cae4a1e..da5929a 100644
--- a/WebKit/chromium/src/js/DevToolsHostStub.js
+++ b/WebKit/chromium/src/js/DevToolsHostStub.js
@@ -55,10 +55,6 @@ RemoteDebuggerAgentStub.prototype.processDebugCommands = function()
};
-RemoteDebuggerAgentStub.prototype.setDebuggerScriptSource = function(source)
-{
-};
-
/**
* @constructor
diff --git a/WebKit/chromium/src/js/InspectorControllerImpl.js b/WebKit/chromium/src/js/InspectorControllerImpl.js
index 86f885a..327ca8f 100644
--- a/WebKit/chromium/src/js/InspectorControllerImpl.js
+++ b/WebKit/chromium/src/js/InspectorControllerImpl.js
@@ -61,13 +61,16 @@ devtools.InspectorBackendImpl = function()
this.installInspectorControllerDelegate_("getResourceContent");
this.installInspectorControllerDelegate_("highlightDOMNode");
this.installInspectorControllerDelegate_("hideDOMNodeHighlight");
+ this.installInspectorControllerDelegate_("performSearch");
this.installInspectorControllerDelegate_("releaseWrapperObjectGroup");
this.installInspectorControllerDelegate_("removeAllScriptsToEvaluateOnLoad");
this.installInspectorControllerDelegate_("reloadPage");
this.installInspectorControllerDelegate_("removeAttribute");
this.installInspectorControllerDelegate_("removeDOMStorageItem");
this.installInspectorControllerDelegate_("removeNode");
- this.installInspectorControllerDelegate_("saveFrontendSettings");
+ this.installInspectorControllerDelegate_("saveApplicationSettings");
+ this.installInspectorControllerDelegate_("saveSessionSettings");
+ this.installInspectorControllerDelegate_("searchCanceled");
this.installInspectorControllerDelegate_("setAttribute");
this.installInspectorControllerDelegate_("setDOMStorageItem");
this.installInspectorControllerDelegate_("setInjectedScriptSource");
@@ -93,6 +96,8 @@ devtools.InspectorBackendImpl = function()
if (window.v8ScriptDebugServerEnabled) {
this.installInspectorControllerDelegate_("disableDebugger");
+ this.installInspectorControllerDelegate_("editScriptSource");
+ this.installInspectorControllerDelegate_("getScriptSource");
this.installInspectorControllerDelegate_("enableDebugger");
this.installInspectorControllerDelegate_("setBreakpoint");
this.installInspectorControllerDelegate_("removeBreakpoint");
@@ -143,12 +148,22 @@ devtools.InspectorBackendImpl.prototype.removeBreakpoint = function(sourceID, li
devtools.InspectorBackendImpl.prototype.editScriptSource = function(callID, sourceID, newContent)
{
- devtools.tools.getDebuggerAgent().editScriptSource(sourceID, newContent, function(newFullBody) {
- WebInspector.didEditScriptSource(callID, newFullBody);
+ devtools.tools.getDebuggerAgent().editScriptSource(sourceID, newContent, function(success, newBodyOrErrorMessage, callFrames) {
+ WebInspector.didEditScriptSource(callID, success, newBodyOrErrorMessage, callFrames);
});
};
+devtools.InspectorBackendImpl.prototype.getScriptSource = function(callID, sourceID)
+{
+ devtools.tools.getDebuggerAgent().resolveScriptSource(
+ sourceID,
+ function(source) {
+ WebInspector.didGetScriptSource(callID, source);
+ });
+};
+
+
devtools.InspectorBackendImpl.prototype.activateBreakpoints = function()
{
devtools.tools.getDebuggerAgent().setBreakpointsActivated(true);
diff --git a/WebKit/chromium/src/js/Tests.js b/WebKit/chromium/src/js/Tests.js
index 758b8c0..fa910ab 100644
--- a/WebKit/chromium/src/js/Tests.js
+++ b/WebKit/chromium/src/js/Tests.js
@@ -1279,8 +1279,8 @@ TestSuite.prototype.testStepIn = function()
},
{
functionsOnStack: ["fact","d","a","(anonymous function)"],
- lineNumber: 15,
- lineText: " return r;"
+ lineNumber: 10,
+ lineText: " var r = 1;"
},
function() {
test.releaseControl();
diff --git a/WebKit/chromium/src/js/devTools.css b/WebKit/chromium/src/js/devTools.css
index 2cb4ab3..0e6d284 100755
--- a/WebKit/chromium/src/js/devTools.css
+++ b/WebKit/chromium/src/js/devTools.css
@@ -1,7 +1,3 @@
-#scripts-files option.injected {
- color: rgb(70, 134, 240);
-}
-
.data-grid table {
line-height: 120%;
}
diff --git a/WebKit/chromium/tests/PopupMenuTest.cpp b/WebKit/chromium/tests/PopupMenuTest.cpp
index c98ea74..2756f9d 100644
--- a/WebKit/chromium/tests/PopupMenuTest.cpp
+++ b/WebKit/chromium/tests/PopupMenuTest.cpp
@@ -59,6 +59,8 @@ public:
{
m_selectIndex = listIndex;
}
+ virtual void selectionChanged(unsigned, bool) {}
+ virtual void selectionCleared() {}
virtual String itemText(unsigned listIndex) const
{