diff options
author | dglazkov@google.com <dglazkov@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-20 20:19:05 +0000 |
---|---|---|
committer | dglazkov@google.com <dglazkov@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-20 20:19:05 +0000 |
commit | ef8c792e9353c839ffa0ad13330c234ff7cd0a7d (patch) | |
tree | 924aee851d98a4fac7d41e2902a4edaf656d3b92 | |
parent | 2c33f8c7875472f3593479505c83bb0748c5b7b2 (diff) | |
download | chromium_src-ef8c792e9353c839ffa0ad13330c234ff7cd0a7d.zip chromium_src-ef8c792e9353c839ffa0ad13330c234ff7cd0a7d.tar.gz chromium_src-ef8c792e9353c839ffa0ad13330c234ff7cd0a7d.tar.bz2 |
WebKit Merge 42609:42671, Chromium Side
Gross offenders:
* http://trac.webkit.org/changeset/42633, event listener creation
helpers moved to JSC-specific files.
* http://trac.webkit.org/changeset/42647, our refactoring of XHR code.
* http://trac.webkit.org/changeset/42671, unforking of DOMWindow.event
R=levin
Review URL: http://codereview.chromium.org/84002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14056 0039d316-1c4b-4281-b951-d872f2087c98
21 files changed, 64 insertions, 39 deletions
@@ -1,7 +1,7 @@ vars = { "webkit_trunk": "http://svn.webkit.org/repository/webkit/trunk", - "webkit_revision": "42609", + "webkit_revision": "42671", } @@ -19,7 +19,7 @@ deps = { "http://googletest.googlecode.com/svn/trunk@214", "src/third_party/WebKit": - "/trunk/deps/third_party/WebKit@13974", + "/trunk/deps/third_party/WebKit@14055", "src/third_party/icu38": "/trunk/deps/third_party/icu38@13472", diff --git a/WEBKIT_MERGE_REVISION b/WEBKIT_MERGE_REVISION index 8ea8055..c2fb537 100644 --- a/WEBKIT_MERGE_REVISION +++ b/WEBKIT_MERGE_REVISION @@ -1 +1 @@ -http://svn.webkit.org/repository/webkit/trunk@42609
\ No newline at end of file +http://svn.webkit.org/repository/webkit/trunk@42671
\ No newline at end of file diff --git a/webkit/build/V8Bindings/V8Bindings.vcproj b/webkit/build/V8Bindings/V8Bindings.vcproj index 6b110f0..e131ce2 100644 --- a/webkit/build/V8Bindings/V8Bindings.vcproj +++ b/webkit/build/V8Bindings/V8Bindings.vcproj @@ -3081,6 +3081,14 @@ > </File> <File + RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\v8\V8Utilities.cpp" + > + </File> + <File + RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\v8\V8Utilities.h" + > + </File> + <File RelativePath="..\..\port\bindings\v8\V8WorkerContextCustom.cpp" > </File> @@ -3105,11 +3113,11 @@ > </File> <File - RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\v8\V8XMLHttpRequestUtilities.cpp" + RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\v8\V8Utilities.cpp" > </File> <File - RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\v8\V8XMLHttpRequestUtilities.h" + RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\v8\V8Utilities.h" > </File> <File diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.checksum b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.checksum index b285826..fc02830 100644 --- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.checksum +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.checksum @@ -1 +1 @@ -3c84361ae018c48661e58b0564f65f8d
\ No newline at end of file +821211c9ffd5ae48db936d6685e76de8
\ No newline at end of file diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.png b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.png Binary files differindex 777fb52..5425bee 100644 --- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.png +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.png diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.txt index a5b0bc2..40a2cde 100644 --- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.txt @@ -24,7 +24,7 @@ layer at (169,11) size 151x16 scrollX 187 scrollWidth 338 RenderBlock {DIV} at (2,3) size 151x16 RenderText {#text} at (-187,0) size 337x16 text run at (-187,0) width 337: "this text field has a lot of text in it so that it needs to scroll" -layer at (328,11) size 151x16 scrollX 188 scrollWidth 339 +layer at (328,11) size 151x16 scrollX 187 scrollWidth 339 RenderBlock {DIV} at (2,3) size 151x16 RenderText {#text} at (1,0) size 337x16 text run at (1,0) width 337: "this text field has a lot of text in it so that it needs to scroll" diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-2-expected.checksum b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-2-expected.checksum new file mode 100644 index 0000000..c1c08753 --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-2-expected.checksum @@ -0,0 +1 @@ +556a68c674a59e5c978d096e6532f370
\ No newline at end of file diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-2-expected.png b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-2-expected.png Binary files differnew file mode 100644 index 0000000..786dc6d --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-2-expected.png diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-2-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-2-expected.txt new file mode 100644 index 0000000..ae70065 --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-2-expected.txt @@ -0,0 +1,13 @@ +layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock {DIV} at (0,0) size 784x40
+ RenderText {#text} at (0,0) size 783x39
+ text run at (0,0) width 783: "This tests for a bug (https://bugs.webkit.org/show_bug.cgi?id=25277) where a caret at the end of a non-wrapping line that extends"
+ text run at (0,20) width 423: "outside of the containing block would paint over part of the focus halo."
+ RenderBlock {DIV} at (0,40) size 50x20
+ RenderText {#text} at (0,0) size 250x19
+ text run at (0,0) width 250: "The caret should be at the end of this line."
+caret: position 44 of child 0 {#text} of child 2 {DIV} of child 0 {BODY} of child 0 {HTML} of document
diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-expected.checksum b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-expected.checksum new file mode 100644 index 0000000..c1c08753 --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-expected.checksum @@ -0,0 +1 @@ +556a68c674a59e5c978d096e6532f370
\ No newline at end of file diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-expected.png b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-expected.png Binary files differnew file mode 100644 index 0000000..786dc6d --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-expected.png diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-expected.txt new file mode 100644 index 0000000..ae70065 --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/inline/25277-expected.txt @@ -0,0 +1,13 @@ +layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock {DIV} at (0,0) size 784x40
+ RenderText {#text} at (0,0) size 783x39
+ text run at (0,0) width 783: "This tests for a bug (https://bugs.webkit.org/show_bug.cgi?id=25277) where a caret at the end of a non-wrapping line that extends"
+ text run at (0,20) width 423: "outside of the containing block would paint over part of the focus halo."
+ RenderBlock {DIV} at (0,40) size 50x20
+ RenderText {#text} at (0,0) size 250x19
+ text run at (0,0) width 250: "The caret should be at the end of this line."
+caret: position 44 of child 0 {#text} of child 2 {DIV} of child 0 {BODY} of child 0 {HTML} of document
diff --git a/webkit/port/bindings/v8/ScriptController.cpp b/webkit/port/bindings/v8/ScriptController.cpp index 4bb0b69..bde1b3d 100644 --- a/webkit/port/bindings/v8/ScriptController.cpp +++ b/webkit/port/bindings/v8/ScriptController.cpp @@ -237,12 +237,6 @@ void ScriptController::disposeJSResult(v8::Persistent<v8::Value> result) result.Clear(); } -PassRefPtr<EventListener> ScriptController::createInlineEventListener( - const String& functionName, const String& eventParameterName, const String& code, Node* node) -{ - return m_proxy->createInlineEventListener(functionName, code, node); -} - void ScriptController::setEventHandlerLineNumber(int lineno) { m_proxy->setEventHandlerLineno(lineno); diff --git a/webkit/port/bindings/v8/ScriptController.h b/webkit/port/bindings/v8/ScriptController.h index b72b7c6..4009a71 100644 --- a/webkit/port/bindings/v8/ScriptController.h +++ b/webkit/port/bindings/v8/ScriptController.h @@ -173,8 +173,6 @@ public: void disposeJSResult(JSResult result); void collectGarbage(); - PassRefPtr<EventListener> createInlineEventListener(const String& functionName, const String& eventParameterName, const String& code, Node*); - // Creates a property of the global object of a frame. void BindToWindowObject(Frame*, const String& key, NPObject*); diff --git a/webkit/port/bindings/v8/V8WorkerContextCustom.cpp b/webkit/port/bindings/v8/V8WorkerContextCustom.cpp index e646bb5..84aa89a 100644 --- a/webkit/port/bindings/v8/V8WorkerContextCustom.cpp +++ b/webkit/port/bindings/v8/V8WorkerContextCustom.cpp @@ -120,7 +120,7 @@ ACCESSOR_SETTER(WorkerContextOnmessage) { } else { RefPtr<V8EventListener> listener = - imp->script()->proxy()->FindOrCreateEventListener( + imp->script()->proxy()->findOrCreateEventListener( v8::Local<v8::Object>::Cast(value), false, false); if (listener) { if (old_listener) { @@ -192,7 +192,7 @@ CALLBACK_FUNC_DECL(WorkerContextAddEventListener) { V8ClassIndex::WORKERCONTEXT, args.Holder()); RefPtr<V8EventListener> listener = - imp->script()->proxy()->FindOrCreateEventListener( + imp->script()->proxy()->findOrCreateEventListener( v8::Local<v8::Object>::Cast(args[1]), false, false); if (listener) { @@ -211,7 +211,7 @@ CALLBACK_FUNC_DECL(WorkerContextRemoveEventListener) { V8ClassIndex::WORKERCONTEXT, args.Holder()); WorkerContextExecutionProxy* proxy = imp->script()->proxy(); - RefPtr<V8EventListener> listener = proxy->FindOrCreateEventListener( + RefPtr<V8EventListener> listener = proxy->findOrCreateEventListener( v8::Local<v8::Object>::Cast(args[1]), false, true); if (listener) { diff --git a/webkit/port/bindings/v8/v8_custom.cpp b/webkit/port/bindings/v8/v8_custom.cpp index 272141d..e887cb8 100644 --- a/webkit/port/bindings/v8/v8_custom.cpp +++ b/webkit/port/bindings/v8/v8_custom.cpp @@ -1072,7 +1072,7 @@ ACCESSOR_SETTER(DOMWindowEventHandler) { if (value->IsNull()) { // Clear the event listener - imp->removeInlineEventListenerForType(event_type); + imp->clearInlineEventListener(event_type); } else { V8Proxy* proxy = V8Proxy::retrieve(imp->frame()); if (!proxy) @@ -1081,7 +1081,7 @@ ACCESSOR_SETTER(DOMWindowEventHandler) { RefPtr<EventListener> listener = proxy->FindOrCreateV8EventListener(value, true); if (listener) { - imp->setInlineEventListenerForType(event_type, listener); + imp->setInlineEventListener(event_type, listener); } } } @@ -1105,7 +1105,7 @@ ACCESSOR_GETTER(DOMWindowEventHandler) { String key = ToWebCoreString(name); String event_type = EventNameFromAttributeName(key); - EventListener* listener = imp->inlineEventListenerForType(event_type); + EventListener* listener = imp->getInlineEventListener(event_type); return V8Proxy::EventListenerToV8Object(listener); } @@ -1132,10 +1132,10 @@ ACCESSOR_SETTER(ElementEventHandler) { RefPtr<EventListener> listener = proxy->FindOrCreateV8EventListener(value, true); if (listener) { - node->setInlineEventListenerForType(event_type, listener); + node->setInlineEventListener(event_type, listener); } } else { - node->removeInlineEventListenerForType(event_type); + node->clearInlineEventListener(event_type); } } @@ -1148,7 +1148,7 @@ ACCESSOR_GETTER(ElementEventHandler) { ASSERT(key.startsWith("on")); String event_type = key.substring(2); - EventListener* listener = node->inlineEventListenerForType(event_type); + EventListener* listener = node->getInlineEventListener(event_type); return V8Proxy::EventListenerToV8Object(listener); } diff --git a/webkit/port/bindings/v8/v8_custom.h b/webkit/port/bindings/v8/v8_custom.h index 49f7c75..d61b95d 100644 --- a/webkit/port/bindings/v8/v8_custom.h +++ b/webkit/port/bindings/v8/v8_custom.h @@ -233,6 +233,8 @@ static bool v8##NAME##IndexedSecurityCheck(v8::Local<v8::Object> host, \ DECLARE_PROPERTY_ACCESSOR(CanvasRenderingContext2DStrokeStyle) DECLARE_PROPERTY_ACCESSOR(CanvasRenderingContext2DFillStyle) +DECLARE_PROPERTY_ACCESSOR_GETTER(DOMWindowEvent) +DECLARE_PROPERTY_ACCESSOR_GETTER(DOMWindowCrypto) // Customized getter&setter of DOMWindow.location DECLARE_PROPERTY_ACCESSOR_SETTER(DOMWindowLocation) // Customized setter of DOMWindow.opener diff --git a/webkit/port/bindings/v8/v8_proxy.cpp b/webkit/port/bindings/v8/v8_proxy.cpp index 91aad7b..e2b71d6 100644 --- a/webkit/port/bindings/v8/v8_proxy.cpp +++ b/webkit/port/bindings/v8/v8_proxy.cpp @@ -809,14 +809,6 @@ void V8Proxy::SetJSWrapperForDOMNode(Node* node, v8::Persistent<v8::Object> wrap getDOMNodeMap().set(node, wrapper); } -PassRefPtr<EventListener> V8Proxy::createInlineEventListener( - const String& functionName, - const String& code, Node* node) -{ - return V8LazyEventListener::create(m_frame, code, functionName); -} - - // Event listeners static V8EventListener* FindEventListenerInList(V8EventListenerList& list, diff --git a/webkit/port/bindings/v8/v8_proxy.h b/webkit/port/bindings/v8/v8_proxy.h index f34ccaa..6568820 100644 --- a/webkit/port/bindings/v8/v8_proxy.h +++ b/webkit/port/bindings/v8/v8_proxy.h @@ -172,7 +172,7 @@ class V8Proxy { explicit V8Proxy(Frame* frame) : m_frame(frame), m_event_listeners("m_event_listeners"), - m_xhr_listeners("m_xhr_listeners"), m_inlineCode(false), + m_xhr_listeners("m_xhr_listeners"), m_timerCallback(false), m_recursion(0) { } ~V8Proxy(); @@ -229,9 +229,6 @@ class V8Proxy { static void GCProtect(void* dom_object); static void GCUnprotect(void* dom_object); - // Create a lazy event listener. - PassRefPtr<EventListener> createInlineEventListener( - const String& functionName, const String& code, Node* node); #if ENABLE(SVG) static void SetSVGContext(void* object, SVGElement* context); static SVGElement* GetSVGContext(void* object); diff --git a/webkit/tools/layout_tests/test_expectations.txt b/webkit/tools/layout_tests/test_expectations.txt index 6c5e13c..5859272 100644 --- a/webkit/tools/layout_tests/test_expectations.txt +++ b/webkit/tools/layout_tests/test_expectations.txt @@ -2468,7 +2468,7 @@ DEFER BUG10621 : LayoutTests/fast/js/array-reduce.html = FAIL DEFER BUG10621 : LayoutTests/fast/js/array-reduceRight.html = FAIL DEFER BUG10622 : LayoutTests/fast/js/array-enumerators-functions.html = FAIL -// Need rebaselining for Mac and Linus, from WebKit merge 42580:42609 +// Need rebaselining for Mac and Linux, from WebKit merge 42580:42609 BUG10662 LINUX MAC : LayoutTests/fast/forms/caret-rtl.html = FAIL BUG10662 LINUX MAC : LayoutTests/fast/forms/form-added-to-table.html = FAIL BUG10662 LINUX MAC : LayoutTests/fast/forms/form-in-malformed-markup.html = FAIL @@ -2499,3 +2499,9 @@ BUG10662 LINUX MAC : LayoutTests/tables/mozilla/bugs/bug78162.html = FAIL BUG10662 LINUX : LayoutTests/tables/mozilla/bugs/bug96334.html = FAIL BUG10662 LINUX MAC : LayoutTests/tables/mozilla/bugs/bug96343.html = FAIL BUG10662 LINUX MAC : LayoutTests/tables/mozilla_expected_failures/bugs/bug1725.html = FAIL + +// New tests from WebKit Merge 42609:42671 +BUG4363 : LayoutTests/fast/layers/video-layer.html = FAIL +BUG10760 : LayoutTests/fast/forms/input-text-scroll-left-on-blur.html = FAIL +BUG10760 : LayoutTests/fast/inline/25277-2.html = FAIL +BUG10760 : LayoutTests/fast/inline/25277.html = FAIL
\ No newline at end of file diff --git a/webkit/webkit.gyp b/webkit/webkit.gyp index 37a282a..20e6f23f 100644 --- a/webkit/webkit.gyp +++ b/webkit/webkit.gyp @@ -1078,12 +1078,12 @@ '../third_party/WebKit/WebCore/bindings/v8/V8ObjectEventListener.cpp', '../third_party/WebKit/WebCore/bindings/v8/V8ObjectEventListener.h', '../third_party/WebKit/WebCore/bindings/v8/V8Proxy.h', + '../third_party/WebKit/WebCore/bindings/v8/V8Utilities.cpp', + '../third_party/WebKit/WebCore/bindings/v8/V8Utilities.h', '../third_party/WebKit/WebCore/bindings/v8/V8WorkerContextEventListener.cpp', '../third_party/WebKit/WebCore/bindings/v8/V8WorkerContextEventListener.h', '../third_party/WebKit/WebCore/bindings/v8/V8WorkerContextObjectEventListener.cpp', '../third_party/WebKit/WebCore/bindings/v8/V8WorkerContextObjectEventListener.h', - '../third_party/WebKit/WebCore/bindings/v8/V8XMLHttpRequestUtilities.cpp', - '../third_party/WebKit/WebCore/bindings/v8/V8XMLHttpRequestUtilities.h', '../third_party/WebKit/WebCore/bindings/v8/WorkerContextExecutionProxy.h', '../third_party/WebKit/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp', '../third_party/WebKit/WebCore/bindings/v8/WorkerScriptController.h', |