[webkit-changes] [147113] trunk

2013-03-28 Thread morrita
Title: [147113] trunk








Revision 147113
Author morr...@google.com
Date 2013-03-28 07:34:21 -0700 (Thu, 28 Mar 2013)


Log Message
Custom Elements: should support non-HTML namespaces.
https://bugs.webkit.org/show_bug.cgi?id=111693

Reviewed by Dimitri Glazkov.

Source/WebCore:

Some existing code assumes that the element extends HTMLElements.
This change allow it to extend from Element. Note that the
namespace URI of a custom element is determined by given element
prototype: An element will have XHTML namespace if its prototype
chain includes HTMLElements, SVGElement leads SVG namespace and
null otherwise, respectively.

Test: fast/dom/custom/document-register-namespace.html

* bindings/v8/CustomElementHelpers.cpp:
(WebCore::hasValidPrototypeChainFor): Factored out from isValidPrototypeParameter()
(WebCore::CustomElementHelpers::isValidPrototypeParameter): Extend to support non HTMLElement prototype
(WebCore::CustomElementHelpers::findLocalName): Support non-HTML element names.
* bindings/v8/CustomElementHelpers.h:
(CustomElementHelpers):
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::createElementInternal):
* dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::registerElement): No longer hard-codes namespace and picks one based on the prototype value.
* dom/CustomElementRegistry.h:
(CustomElementRegistry):

LayoutTests:

* fast/dom/custom/document-register-namespace-expected.txt: Added.
* fast/dom/custom/document-register-namespace.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/v8/CustomElementHelpers.cpp
trunk/Source/WebCore/bindings/v8/CustomElementHelpers.h
trunk/Source/WebCore/dom/CustomElementConstructor.cpp
trunk/Source/WebCore/dom/CustomElementRegistry.cpp
trunk/Source/WebCore/dom/CustomElementRegistry.h


Added Paths

trunk/LayoutTests/fast/dom/custom/document-register-namespace-expected.txt
trunk/LayoutTests/fast/dom/custom/document-register-namespace.html




Diff

Modified: trunk/LayoutTests/ChangeLog (147112 => 147113)

--- trunk/LayoutTests/ChangeLog	2013-03-28 14:28:32 UTC (rev 147112)
+++ trunk/LayoutTests/ChangeLog	2013-03-28 14:34:21 UTC (rev 147113)
@@ -1,3 +1,13 @@
+2013-03-28  Hajime Morrita  morr...@google.com
+
+Custom Elements: should support non-HTML namespaces.
+https://bugs.webkit.org/show_bug.cgi?id=111693
+
+Reviewed by Dimitri Glazkov.
+
+* fast/dom/custom/document-register-namespace-expected.txt: Added.
+* fast/dom/custom/document-register-namespace.html: Added.
+
 2013-03-28  Christophe Dumez  ch.du...@sisa.samsung.com
 
 Unreviewed EFL gardening.


Added: trunk/LayoutTests/fast/dom/custom/document-register-namespace-expected.txt (0 => 147113)

--- trunk/LayoutTests/fast/dom/custom/document-register-namespace-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/custom/document-register-namespace-expected.txt	2013-03-28 14:34:21 UTC (rev 147113)
@@ -0,0 +1,38 @@
+Using document.register() for extending HTML and non-HTML elements.
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS html1.namespaceURI is 'http://www.w3.org/1999/xhtml'
+PASS html2.namespaceURI is 'http://www.w3.org/1999/xhtml'
+PASS html3.namespaceURI is 'http://www.w3.org/1999/xhtml'
+PASS html4.namespaceURI is 'http://www.w3.org/1999/xhtml'
+PASS notHTML.namespaceURI is 'http://www.example.com/'
+PASS notHTML instanceof CustomHTMLElement is false
+PASS notHTML instanceof HTMLElement is false
+PASS svg1.tagName is 'svg-foo'
+PASS svg1.namespaceURI is 'http://www.w3.org/2000/svg'
+PASS svg2.tagName is 'svg-foo'
+PASS svg2.namespaceURI is 'http://www.w3.org/2000/svg'
+PASS svg3.tagName is 'svg-foo'
+PASS svg3.namespaceURI is 'http://www.w3.org/2000/svg'
+PASS notSVG1.namespaceURI is 'http://www.w3.org/1999/xhtml'
+PASS notSVG1 instanceof CustomSVGElement is false
+PASS notSVG1 instanceof HTMLUnknownElement is true
+PASS notSVG2.namespaceURI is 'http://www.w3.org/1999/xhtml'
+PASS notSVG2 instanceof CustomSVGElement is false
+PASS notSVG2 instanceof HTMLUnknownElement is true
+PASS xml1.tagName is 'xml-foo'
+PASS xml1.namespaceURI is null
+PASS xml2.tagName is 'xml-foo'
+PASS xml2.namespaceURI is null
+PASS notXML1.namespaceURI is 'http://www.w3.org/1999/xhtml'
+PASS notXML1 instanceof CustomXMLElement is false
+PASS notXML1 instanceof HTMLUnknownElement is true
+PASS notXML2.namespaceURI is 'http://www.w3.org/1999/xhtml'
+PASS notXML2 instanceof CustomXMLElement is false
+PASS notXML2 instanceof HTMLUnknownElement is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/dom/custom/document-register-namespace.html (0 => 147113)

--- trunk/LayoutTests/fast/dom/custom/document-register-namespace.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/custom/document-register-namespace.html	2013-03-28 14:34:21 UTC (rev 147113)
@@ -

[webkit-changes] [146851] trunk/Source/WebCore

2013-03-26 Thread morrita
Title: [146851] trunk/Source/WebCore








Revision 146851
Author morr...@google.com
Date 2013-03-25 23:35:06 -0700 (Mon, 25 Mar 2013)


Log Message
Custom Elements Refactoring: The name V8CustomElement is confusing.
https://bugs.webkit.org/show_bug.cgi?id=113165

Reviewed by Kent Tamura.

This change moves functions from V8CustomElement to CustomElementHelpers and
removes V8CustomElement. V8CustomElement is just a heritage of old design
and no longer makes sense.

No new tests. No behavior change.

* WebCore.gypi:
* bindings/v8/CustomElementHelpers.cpp:
(WebCore::CustomElementHelpers::createWrapper):
(WebCore):
* bindings/v8/CustomElementHelpers.h:
(CustomElementHelpers):
(WebCore::CustomElementHelpers::wrap):
(WebCore):
(WebCore::CustomElementHelpers::constructorOf):
* bindings/v8/V8CustomElement.cpp: Removed.
* bindings/v8/V8CustomElement.h: Removed.
* bindings/v8/custom/V8CustomElementConstructorCustom.cpp:
(WebCore::V8CustomElementConstructor::callAsFunctionCallback):
* dom/make_names.pl:
(printWrapperFactoryCppFile):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.gypi
trunk/Source/WebCore/bindings/v8/CustomElementHelpers.cpp
trunk/Source/WebCore/bindings/v8/CustomElementHelpers.h
trunk/Source/WebCore/bindings/v8/custom/V8CustomElementConstructorCustom.cpp
trunk/Source/WebCore/dom/make_names.pl


Removed Paths

trunk/Source/WebCore/bindings/v8/V8CustomElement.cpp
trunk/Source/WebCore/bindings/v8/V8CustomElement.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (146850 => 146851)

--- trunk/Source/WebCore/ChangeLog	2013-03-26 06:07:52 UTC (rev 146850)
+++ trunk/Source/WebCore/ChangeLog	2013-03-26 06:35:06 UTC (rev 146851)
@@ -1,3 +1,32 @@
+2013-03-25  Hajime Morrita  morr...@google.com
+
+Custom Elements Refactoring: The name V8CustomElement is confusing.
+https://bugs.webkit.org/show_bug.cgi?id=113165
+
+Reviewed by Kent Tamura.
+
+This change moves functions from V8CustomElement to CustomElementHelpers and
+removes V8CustomElement. V8CustomElement is just a heritage of old design
+and no longer makes sense.
+
+No new tests. No behavior change.
+
+* WebCore.gypi:
+* bindings/v8/CustomElementHelpers.cpp:
+(WebCore::CustomElementHelpers::createWrapper):
+(WebCore):
+* bindings/v8/CustomElementHelpers.h:
+(CustomElementHelpers):
+(WebCore::CustomElementHelpers::wrap):
+(WebCore):
+(WebCore::CustomElementHelpers::constructorOf):
+* bindings/v8/V8CustomElement.cpp: Removed.
+* bindings/v8/V8CustomElement.h: Removed.
+* bindings/v8/custom/V8CustomElementConstructorCustom.cpp:
+(WebCore::V8CustomElementConstructor::callAsFunctionCallback):
+* dom/make_names.pl:
+(printWrapperFactoryCppFile):
+
 2013-03-25  Eugene Klyuchnikov  eus...@chromium.org
 
 Web Inspector: [Timeline] Records sidebar is clipped.


Modified: trunk/Source/WebCore/WebCore.gypi (146850 => 146851)

--- trunk/Source/WebCore/WebCore.gypi	2013-03-26 06:07:52 UTC (rev 146850)
+++ trunk/Source/WebCore/WebCore.gypi	2013-03-26 06:35:06 UTC (rev 146851)
@@ -1372,8 +1372,6 @@
 'bindings/v8/V8Callback.h',
 'bindings/v8/V8Collection.cpp',
 'bindings/v8/V8Collection.h',
-'bindings/v8/V8CustomElement.cpp',
-'bindings/v8/V8CustomElement.h',
 'bindings/v8/V8DOMConfiguration.cpp',
 'bindings/v8/V8DOMConfiguration.h',
 'bindings/v8/V8DOMActivityLogger.h',


Modified: trunk/Source/WebCore/bindings/v8/CustomElementHelpers.cpp (146850 => 146851)

--- trunk/Source/WebCore/bindings/v8/CustomElementHelpers.cpp	2013-03-26 06:07:52 UTC (rev 146850)
+++ trunk/Source/WebCore/bindings/v8/CustomElementHelpers.cpp	2013-03-26 06:35:06 UTC (rev 146851)
@@ -43,6 +43,38 @@
 
 #if ENABLE(CUSTOM_ELEMENTS)
 
+v8::Handlev8::Object CustomElementHelpers::createWrapper(PassRefPtrElement impl, v8::Handlev8::Object creationContext, PassRefPtrCustomElementConstructor constructor, v8::Isolate* isolate)
+{
+ASSERT(impl);
+
+// The constructor and registered lifecycle callbacks should be visible only from main world.
+// FIXME: This shouldn't be needed once each custom element has its own FunctionTemplate
+// https://bugs.webkit.org/show_bug.cgi?id=108138
+if (!CustomElementHelpers::isFeatureAllowed(creationContext-CreationContext())) {
+v8::Handlev8::Object wrapper = V8DOMWrapper::createWrapper(creationContext, V8HTMLElement::info, impl.get(), isolate);
+if (!wrapper.IsEmpty())
+V8DOMWrapper::associateObjectWithWrapper(impl, V8HTMLElement::info, wrapper, isolate, WrapperConfiguration::Dependent);
+return wrapper;
+}
+
+v8::Handlev8::Value constructorValue = WebCore::toV8(constructor.get(), creationContext, isolate);
+if (constructorValue.IsEmpty() || !constructorValue-IsObject())
+return v8:

[webkit-changes] [146853] trunk

2013-03-26 Thread morrita
Title: [146853] trunk








Revision 146853
Author morr...@google.com
Date 2013-03-25 23:39:12 -0700 (Mon, 25 Mar 2013)


Log Message
Listening touch events on ShadowRoot can crash.
https://bugs.webkit.org/show_bug.cgi?id=113035

Reviewed by Kentaro Hara.

Source/WebCore:

TreeScope destructor clears a document reference on ShadowRoot but
destructors of ContainerNode and Node assumed it being available
and tried to access it for some cleanup purposes.

This change extracts such cleanup to Node::willBeDeletedFrom() and
calls it from ShadowRoot dtor before the document reference gets cleared.

Test: fast/dom/shadow/shadow-root-touch-listener-crash.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::~ContainerNode): Adopted willBeDeletedFrom()
* dom/Node.cpp:
(WebCore::Node::~Node): Adopted willBeDeletedFrom()
(WebCore::Node::willBeDeletedFrom): Extracted from Node and ContainerNode
(WebCore):
* dom/Node.h:
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::~ShadowRoot): Adopted willBeDeletedFrom()

LayoutTests:

* fast/dom/shadow/shadow-root-touch-listener-crash-expected.txt: Added.
* fast/dom/shadow/shadow-root-touch-listener-crash.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContainerNode.cpp
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/dom/ShadowRoot.cpp


Added Paths

trunk/LayoutTests/fast/dom/shadow/shadow-root-touch-listener-crash-expected.txt
trunk/LayoutTests/fast/dom/shadow/shadow-root-touch-listener-crash.html




Diff

Modified: trunk/LayoutTests/ChangeLog (146852 => 146853)

--- trunk/LayoutTests/ChangeLog	2013-03-26 06:35:49 UTC (rev 146852)
+++ trunk/LayoutTests/ChangeLog	2013-03-26 06:39:12 UTC (rev 146853)
@@ -1,3 +1,13 @@
+2013-03-22  Hajime Morrita  morr...@google.com
+
+Listening touch events on ShadowRoot can crash.
+https://bugs.webkit.org/show_bug.cgi?id=113035
+
+Reviewed by Kentaro Hara.
+
+* fast/dom/shadow/shadow-root-touch-listener-crash-expected.txt: Added.
+* fast/dom/shadow/shadow-root-touch-listener-crash.html: Added.
+
 2013-03-25  James Robinson  jam...@chromium.org
 
 Update a few more chromium compositor baselines.


Added: trunk/LayoutTests/fast/dom/shadow/shadow-root-touch-listener-crash-expected.txt (0 => 146853)

--- trunk/LayoutTests/fast/dom/shadow/shadow-root-touch-listener-crash-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-root-touch-listener-crash-expected.txt	2013-03-26 06:39:12 UTC (rev 146853)
@@ -0,0 +1,10 @@
+Tests to ensure that event dispatching behaves as the Shadow DOM spec describes.
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS unless crash
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/dom/shadow/shadow-root-touch-listener-crash.html (0 => 146853)

--- trunk/LayoutTests/fast/dom/shadow/shadow-root-touch-listener-crash.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-root-touch-listener-crash.html	2013-03-26 06:39:12 UTC (rev 146853)
@@ -0,0 +1,31 @@
+!DOCTYPE html
+html
+body
+script src=""
+script src=""
+script src=""
+div id=target/div
+script
+jsTestIsAsync = true;
+
+function addTouchEventListeners(name)
+{
+var node = getNodeInShadowTreeStack(name);
+node.addEventListener('touchstart', recordEvent, false);
+}
+
+target.appendChild(
+createDOM('div', {'id': 'A'},
+  createShadowRoot()));
+addTouchEventListeners('A/');
+
+setTimeout(function() {
+target.parentNode.removeChild(target);
+gc();
+debug(PASS unless crash);
+finishJSTest();
+}, 0);
+/script
+script src=""
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (146852 => 146853)

--- trunk/Source/WebCore/ChangeLog	2013-03-26 06:35:49 UTC (rev 146852)
+++ trunk/Source/WebCore/ChangeLog	2013-03-26 06:39:12 UTC (rev 146853)
@@ -1,3 +1,29 @@
+2013-03-22  Hajime Morrita  morr...@google.com
+
+Listening touch events on ShadowRoot can crash.
+https://bugs.webkit.org/show_bug.cgi?id=113035
+
+Reviewed by Kentaro Hara.
+
+TreeScope destructor clears a document reference on ShadowRoot but
+destructors of ContainerNode and Node assumed it being available
+and tried to access it for some cleanup purposes.
+
+This change extracts such cleanup to Node::willBeDeletedFrom() and
+calls it from ShadowRoot dtor before the document reference gets cleared.
+
+Test: fast/dom/shadow/shadow-root-touch-listener-crash.html
+
+* dom/ContainerNode.cpp:
+(WebCore::ContainerNode::~ContainerNode): Adopted willBeDeletedFrom()
+* dom/Node.cpp:
+(WebCore::Node::~Node): Adopted willBeDeletedFrom()
+(WebCore::Node::willBeDeletedFrom): Extracted from Node and ContainerNode
+(WebCore):
+* dom/Node

[webkit-changes] [146882] trunk

2013-03-26 Thread morrita
Title: [146882] trunk








Revision 146882
Author morr...@google.com
Date 2013-03-26 08:06:59 -0700 (Tue, 26 Mar 2013)


Log Message
remoeveAllEventListeners() should be called to shadow trees
https://bugs.webkit.org/show_bug.cgi?id=113037

Reviewed by Dimitri Glazkov.

Source/WebCore:

Document::removeAllEventListeners() doesn't traverse shadow tree, but we should.
This change override Element::removeAllEventListeners() so that it cleans its shadow trees up.

Test: fast/dom/shadow/shadow-tree-listener-clearance.html

* dom/Element.cpp:
(WebCore::Element::removeAllEventListeners):
(WebCore):
* dom/Element.h:
(Element):
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::removeAllEventListeners): Added.
(WebCore):
* dom/ElementShadow.h:
(ElementShadow):

LayoutTests:

* fast/dom/shadow/resources/shadow-tree-listener-clearance-frame.html: Added.
* fast/dom/shadow/shadow-tree-listener-clearance-expected.txt: Added.
* fast/dom/shadow/shadow-tree-listener-clearance.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/ElementShadow.cpp
trunk/Source/WebCore/dom/ElementShadow.h


Added Paths

trunk/LayoutTests/fast/dom/shadow/resources/shadow-tree-listener-clearance-frame.html
trunk/LayoutTests/fast/dom/shadow/shadow-tree-listener-clearance-expected.txt
trunk/LayoutTests/fast/dom/shadow/shadow-tree-listener-clearance.html




Diff

Modified: trunk/LayoutTests/ChangeLog (146881 => 146882)

--- trunk/LayoutTests/ChangeLog	2013-03-26 15:04:06 UTC (rev 146881)
+++ trunk/LayoutTests/ChangeLog	2013-03-26 15:06:59 UTC (rev 146882)
@@ -1,3 +1,14 @@
+2013-03-26  Hajime Morrita  morr...@google.com
+
+remoeveAllEventListeners() should be called to shadow trees
+https://bugs.webkit.org/show_bug.cgi?id=113037
+
+Reviewed by Dimitri Glazkov.
+
+* fast/dom/shadow/resources/shadow-tree-listener-clearance-frame.html: Added.
+* fast/dom/shadow/shadow-tree-listener-clearance-expected.txt: Added.
+* fast/dom/shadow/shadow-tree-listener-clearance.html: Added.
+
 2013-03-26  Yury Semikhatsky  yu...@chromium.org
 
 Unreviewed. Updated test expectations for compositing/geometry/fixed-in-composited.html


Added: trunk/LayoutTests/fast/dom/shadow/resources/shadow-tree-listener-clearance-frame.html (0 => 146882)

--- trunk/LayoutTests/fast/dom/shadow/resources/shadow-tree-listener-clearance-frame.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/resources/shadow-tree-listener-clearance-frame.html	2013-03-26 15:06:59 UTC (rev 146882)
@@ -0,0 +1,13 @@
+!DOCTYPE html
+html
+body
+div id=host/div
+script
+(function() {
+var shadow = document.getElementById(host).webkitCreateShadowRoot();
+shadow.innerHTML = article id='target'/article;
+document.targetInShadow = shadow.getElementById(target);
+})();
+/script
+/body
+/html


Added: trunk/LayoutTests/fast/dom/shadow/shadow-tree-listener-clearance-expected.txt (0 => 146882)

--- trunk/LayoutTests/fast/dom/shadow/shadow-tree-listener-clearance-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-tree-listener-clearance-expected.txt	2013-03-26 15:06:59 UTC (rev 146882)
@@ -0,0 +1,6 @@
+PASS firedCount is 1
+PASS firedCount is 1
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/dom/shadow/shadow-tree-listener-clearance.html (0 => 146882)

--- trunk/LayoutTests/fast/dom/shadow/shadow-tree-listener-clearance.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-tree-listener-clearance.html	2013-03-26 15:06:59 UTC (rev 146882)
@@ -0,0 +1,37 @@
+!DOCTYPE html
+html
+body
+script src=""
+iframe id=childFrame src=""
+script
+
+var child = document.getElementById(childFrame);
+var firedCount = 0;
+
+function getChildTarget()
+{
+return child.contentDocument.targetInShadow;
+}
+
+function test()
+{
+var toBeListened = getChildTarget();
+toBeListened.addEventListener(test, function(event) { firedCount++; });
+
+toBeListened.dispatchEvent(new CustomEvent(test));
+shouldBe(firedCount, 1);
+
+window.child.contentDocument.open(); // This should clear event listeners
+toBeListened.dispatchEvent(new CustomEvent(test));
+shouldBe(firedCount, 1);
+
+finishJSTest();
+}
+
+jsTestIsAsync = true;
+child.addEventListener(load, test);
+
+/script
+script src=""
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (146881 => 146882)

--- trunk/Source/WebCore/ChangeLog	2013-03-26 15:04:06 UTC (rev 146881)
+++ trunk/Source/WebCore/ChangeLog	2013-03-26 15:06:59 UTC (rev 146882)
@@ -1,3 +1,26 @@
+2013-03-26  Hajime Morrita  morr...@google.com
+
+remoeveAllEventListeners() should be called to shadow trees
+https://bugs.webkit.org/show_bug.cgi?id=113037
+
+Reviewed by Dimitri Glazkov.
+
+Documen

[webkit-changes] [146896] trunk

2013-03-26 Thread morrita
Title: [146896] trunk








Revision 146896
Author morr...@google.com
Date 2013-03-26 09:14:59 -0700 (Tue, 26 Mar 2013)


Log Message
https://bugs.webkit.org/show_bug.cgi?id=113164
Custom Elements: readyCallback should be called for outerHTML and insertAdjecentHTML

Source/WebCore:

These APIs also create new elements thus should have V8DeliverCustomElementCallbacks attribute.

Reviewed by Dimitri Glazkov.

Test: Updated lifecycle-ready-creation-api.html.

* html/HTMLElement.idl:

LayoutTests:

Reviewed by Dimitri Glazkov.

* fast/dom/custom/lifecycle-ready-creation-api-expected.txt:
* fast/dom/custom/lifecycle-ready-creation-api.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/dom/custom/lifecycle-ready-creation-api-expected.txt
trunk/LayoutTests/fast/dom/custom/lifecycle-ready-creation-api.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLElement.idl




Diff

Modified: trunk/LayoutTests/ChangeLog (146895 => 146896)

--- trunk/LayoutTests/ChangeLog	2013-03-26 16:10:02 UTC (rev 146895)
+++ trunk/LayoutTests/ChangeLog	2013-03-26 16:14:59 UTC (rev 146896)
@@ -1,3 +1,13 @@
+2013-03-26  Hajime Morrita  morr...@google.com
+
+https://bugs.webkit.org/show_bug.cgi?id=113164
+Custom Elements: readyCallback should be called for outerHTML and insertAdjecentHTML
+
+Reviewed by Dimitri Glazkov.
+
+* fast/dom/custom/lifecycle-ready-creation-api-expected.txt:
+* fast/dom/custom/lifecycle-ready-creation-api.html:
+
 2013-03-26  Jochen Eisinger  joc...@chromium.org
 
 Fix incorrect test name in content shell expectations


Modified: trunk/LayoutTests/fast/dom/custom/lifecycle-ready-creation-api-expected.txt (146895 => 146896)

--- trunk/LayoutTests/fast/dom/custom/lifecycle-ready-creation-api-expected.txt	2013-03-26 16:10:02 UTC (rev 146895)
+++ trunk/LayoutTests/fast/dom/custom/lifecycle-ready-creation-api-expected.txt	2013-03-26 16:14:59 UTC (rev 146896)
@@ -19,6 +19,8 @@
 PASS importedBar.callbacksCalled is true
 PASS importedBar.firstChild.callbacksCalled is true
 PASS window.callbacksCalled is ['DIV', 'X-FOO']
+PASS window.callbacksCalled is ['X-FOO']
+PASS window.callbacksCalled is ['X-FOO']
 PASS successfullyParsed is true
 
 TEST COMPLETE


Modified: trunk/LayoutTests/fast/dom/custom/lifecycle-ready-creation-api.html (146895 => 146896)

--- trunk/LayoutTests/fast/dom/custom/lifecycle-ready-creation-api.html	2013-03-26 16:10:02 UTC (rev 146895)
+++ trunk/LayoutTests/fast/dom/custom/lifecycle-ready-creation-api.html	2013-03-26 16:14:59 UTC (rev 146896)
@@ -56,6 +56,18 @@
 shouldBeTrue(importedBar.firstChild.callbacksCalled);
 shouldBe(window.callbacksCalled, ['DIV', 'X-FOO']);
 
+window.callbacksCalled = [];
+var toBeReplaced = document.createElement(div);
+document.body.appendChild(toBeReplaced);
+toBeReplaced.outerHTML = x-foo/x-foo;
+shouldBe(window.callbacksCalled, ['X-FOO']);
+
+window.callbacksCalled = [];
+var insertionPlaceHolder = document.createElement(div);
+document.body.appendChild(insertionPlaceHolder);
+insertionPlaceHolder.insertAdjacentHTML(beforebegin, x-foo/x-foo);
+shouldBe(window.callbacksCalled, ['X-FOO']);
+
 /script
 script src=""
 /body


Modified: trunk/Source/WebCore/ChangeLog (146895 => 146896)

--- trunk/Source/WebCore/ChangeLog	2013-03-26 16:10:02 UTC (rev 146895)
+++ trunk/Source/WebCore/ChangeLog	2013-03-26 16:14:59 UTC (rev 146896)
@@ -1,3 +1,16 @@
+2013-03-26  Hajime Morrita  morr...@google.com
+
+https://bugs.webkit.org/show_bug.cgi?id=113164
+Custom Elements: readyCallback should be called for outerHTML and insertAdjecentHTML
+
+These APIs also create new elements thus should have V8DeliverCustomElementCallbacks attribute.
+
+Reviewed by Dimitri Glazkov.
+
+Test: Updated lifecycle-ready-creation-api.html.
+
+* html/HTMLElement.idl:
+
 2013-03-26  Ilya Tikhonovsky  loi...@chromium.org
 
 Unreviewed. WebInspector: remove unnecessary method.


Modified: trunk/Source/WebCore/html/HTMLElement.idl (146895 => 146896)

--- trunk/Source/WebCore/html/HTMLElement.idl	2013-03-26 16:10:02 UTC (rev 146895)
+++ trunk/Source/WebCore/html/HTMLElement.idl	2013-03-26 16:14:59 UTC (rev 146896)
@@ -43,7 +43,7 @@
  setter raises(DOMException);
  [TreatNullAs=NullString] attribute DOMString innerText
  setter raises(DOMException);
- [TreatNullAs=NullString] attribute DOMString outerHTML
+ [TreatNullAs=NullString, V8DeliverCustomElementCallbacks] attribute DOMString outerHTML
  setter raises(DOMException);
  [TreatNullAs=NullString] attribute DOMString outerText
  setter raises(DOMException);
@@ -51,6 +51,7 @@
 Element insertAdjacentElement(in [Optional=DefaultIsUndefined] DOMString where,
   in [Optional=DefaultIsUndefined] Element element)
 raises(DOMException);
+[V8Deli

[webkit-changes] [146156] trunk/LayoutTests

2013-03-18 Thread morrita
Title: [146156] trunk/LayoutTests








Revision 146156
Author morr...@google.com
Date 2013-03-18 17:17:26 -0700 (Mon, 18 Mar 2013)


Log Message
Older shadow root rendered in incorrect order when multiple shadow roots containing style tags have been constructed
https://bugs.webkit.org/show_bug.cgi?id=93752

The bug was already fixed in some point. This change just adds a regression test to cover the reported problem.

Reviewed by Dimitri Glazkov.

* fast/dom/shadow/multiple-shadowroots-with-empty-styles-expected.html: Added.
* fast/dom/shadow/multiple-shadowroots-with-empty-styles.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog


Added Paths

trunk/LayoutTests/fast/dom/shadow/multiple-shadowroots-with-empty-styles-expected.html
trunk/LayoutTests/fast/dom/shadow/multiple-shadowroots-with-empty-styles.html




Diff

Modified: trunk/LayoutTests/ChangeLog (146155 => 146156)

--- trunk/LayoutTests/ChangeLog	2013-03-19 00:13:36 UTC (rev 146155)
+++ trunk/LayoutTests/ChangeLog	2013-03-19 00:17:26 UTC (rev 146156)
@@ -1,3 +1,15 @@
+2013-03-18  Hajime Morrita  morr...@google.com
+
+Older shadow root rendered in incorrect order when multiple shadow roots containing style tags have been constructed
+https://bugs.webkit.org/show_bug.cgi?id=93752
+
+The bug was already fixed in some point. This change just adds a regression test to cover the reported problem.
+
+Reviewed by Dimitri Glazkov.
+
+* fast/dom/shadow/multiple-shadowroots-with-empty-styles-expected.html: Added.
+* fast/dom/shadow/multiple-shadowroots-with-empty-styles.html: Added.
+
 2013-03-18  Simon Fraser  simon.fra...@apple.com
 
 Remove failing Windows-specific result; this test passes now.


Added: trunk/LayoutTests/fast/dom/shadow/multiple-shadowroots-with-empty-styles-expected.html (0 => 146156)

--- trunk/LayoutTests/fast/dom/shadow/multiple-shadowroots-with-empty-styles-expected.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/multiple-shadowroots-with-empty-styles-expected.html	2013-03-19 00:17:26 UTC (rev 146156)
@@ -0,0 +1,9 @@
+!DOCTYPE html
+html
+body
+div id=output
+div id=fdivHello from foo./div/div
+div id=bdivHello from bar./divdivHello from zot./div/div
+/div
+/body
+/html


Added: trunk/LayoutTests/fast/dom/shadow/multiple-shadowroots-with-empty-styles.html (0 => 146156)

--- trunk/LayoutTests/fast/dom/shadow/multiple-shadowroots-with-empty-styles.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/multiple-shadowroots-with-empty-styles.html	2013-03-19 00:17:26 UTC (rev 146156)
@@ -0,0 +1,35 @@
+!DOCTYPE html
+html
+body
+div id=output/div
+script
+if (window.testRunner)
+testRunner.waitUntilDone();
+
+document.addEventListener(DOMContentLoaded, function() {
+var output = document.querySelector(#output);
+// 1. make an element and insert it into the document. 
+// 2. create a shadow root that contains a style element.
+var f = document.createElement(div);
+output.appendChild(f);
+var fs = f.webkitCreateShadowRoot();
+fs.innerHTML = style/styledivHello from foo./div;
+//
+// 3. make another element.
+// 4. create a shadow root on this element that contains a style element.
+// 5. create another shadow root on the element.
+// 6. insert the element into the document.
+var b = document.createElement(div);
+var bs0 = b.webkitCreateShadowRoot();
+bs0.innerHTML = style/styledivHello from bar./div;
+var bs1 = b.webkitCreateShadowRoot();
+bs1.innerHTML = shadow/shadowdivHello from zot./div;
+// NOTE: must add to dom after adding shadowRoot to observe problem.
+output.appendChild(b);
+
+if (window.testRunner)
+testRunner.notifyDone();
+});
+/script
+/body
+/html






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [145175] trunk

2013-03-07 Thread morrita
Title: [145175] trunk








Revision 145175
Author morr...@google.com
Date 2013-03-07 20:25:52 -0800 (Thu, 07 Mar 2013)


Log Message
Custom Elements: CustomElement constructor shouldn't share function instance
https://bugs.webkit.org/show_bug.cgi?id=111807

Reviewed by Kentaro Hara.

Source/WebCore:

Adaptor functions of custom elements unintentionally share the instance.
This fix gives new one for each.

Test: Updated fast/dom/custom/document-register-basic.html

* bindings/v8/V8AdaptorFunction.cpp:
(WebCore::V8AdaptorFunction::wrap):

LayoutTests:

* fast/dom/custom/document-register-basic-expected.txt:
* fast/dom/custom/document-register-basic.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/dom/custom/document-register-basic-expected.txt
trunk/LayoutTests/fast/dom/custom/document-register-basic.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/v8/V8AdaptorFunction.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (145174 => 145175)

--- trunk/LayoutTests/ChangeLog	2013-03-08 04:24:23 UTC (rev 145174)
+++ trunk/LayoutTests/ChangeLog	2013-03-08 04:25:52 UTC (rev 145175)
@@ -1,3 +1,13 @@
+2013-03-07  Hajime Morrita  morr...@google.com
+
+Custom Elements: CustomElement constructor shouldn't share function instance
+https://bugs.webkit.org/show_bug.cgi?id=111807
+
+Reviewed by Kentaro Hara.
+
+* fast/dom/custom/document-register-basic-expected.txt:
+* fast/dom/custom/document-register-basic.html:
+
 2013-03-07  Hayato Ito  hay...@chromium.org
 
 Unreviewed gardening.


Modified: trunk/LayoutTests/fast/dom/custom/document-register-basic-expected.txt (145174 => 145175)

--- trunk/LayoutTests/fast/dom/custom/document-register-basic-expected.txt	2013-03-08 04:24:23 UTC (rev 145174)
+++ trunk/LayoutTests/fast/dom/custom/document-register-basic-expected.txt	2013-03-08 04:25:52 UTC (rev 145175)
@@ -24,6 +24,7 @@
 PASS parsedFoo.__proto__ is fooConstructor.prototype
 PASS parsedFoo.tagName is 'X-FOO'
 PASS parsedFoo.someProperty is container.firstChild.someProperty
+PASS barConstructor !== fooConstructor is true
 PASS createdBar.tagName is 'X-BAR'
 PASS createdBaz.tagName is 'X-BAZ'
 PASS createdBaz.thisIsPrototype is true
@@ -40,6 +41,9 @@
 PASS (new (document.register('yz-bar', createRegisterParamters()))()).tagName is 'YZ-BAR'
 PASS (new (document.register('y-z-bar', createRegisterParamters()))()).tagName is 'Y-Z-BAR'
 PASS (new (document.register('y--bar', createRegisterParamters()))()).tagName is 'Y--BAR'
+PASS (new fooConstructor).tagName is 'X-FOO'
+PASS (new barConstructor).tagName is 'X-BAR'
+PASS (new bazConstructor).tagName is 'X-BAZ'
 PASS successfullyParsed is true
 
 TEST COMPLETE


Modified: trunk/LayoutTests/fast/dom/custom/document-register-basic.html (145174 => 145175)

--- trunk/LayoutTests/fast/dom/custom/document-register-basic.html	2013-03-08 04:24:23 UTC (rev 145174)
+++ trunk/LayoutTests/fast/dom/custom/document-register-basic.html	2013-03-08 04:25:52 UTC (rev 145175)
@@ -77,6 +77,7 @@
 
 // Having another constructor
 var barConstructor = document.register(x-bar, createRegisterParamters());
+shouldBeTrue(barConstructor !== fooConstructor);
 var createdBar = new barConstructor();
 shouldBe(createdBar.tagName, 'X-BAR');
 
@@ -107,6 +108,11 @@
 shouldBe((new (document.register('y-z-bar', createRegisterParamters()))()).tagName, 'Y-Z-BAR');
 shouldBe((new (document.register('y--bar', createRegisterParamters()))()).tagName, 'Y--BAR');
 
+// Constructor shouldn't interfere each otehr
+shouldBe((new fooConstructor).tagName, 'X-FOO');
+shouldBe((new barConstructor).tagName, 'X-BAR');
+shouldBe((new bazConstructor).tagName, 'X-BAZ');
+
 /script
 script src=""
 /body


Modified: trunk/Source/WebCore/ChangeLog (145174 => 145175)

--- trunk/Source/WebCore/ChangeLog	2013-03-08 04:24:23 UTC (rev 145174)
+++ trunk/Source/WebCore/ChangeLog	2013-03-08 04:25:52 UTC (rev 145175)
@@ -1,3 +1,18 @@
+2013-03-07  Hajime Morrita  morr...@google.com
+
+Custom Elements: CustomElement constructor shouldn't share function instance
+https://bugs.webkit.org/show_bug.cgi?id=111807
+
+Reviewed by Kentaro Hara.
+
+Adaptor functions of custom elements unintentionally share the instance.
+This fix gives new one for each.
+
+Test: Updated fast/dom/custom/document-register-basic.html
+
+* bindings/v8/V8AdaptorFunction.cpp:
+(WebCore::V8AdaptorFunction::wrap):
+
 2013-03-07  Jared Wyles  wy...@adobe.com
 
 Reading border radius from style property returns in wrong order.


Modified: trunk/Source/WebCore/bindings/v8/V8AdaptorFunction.cpp (145174 => 145175)

--- trunk/Source/WebCore/bindings/v8/V8AdaptorFunction.cpp	2013-03-08 04:24:23 UTC (rev 145174)
+++ trunk/Source/WebCore/bindings/v8/V8AdaptorFunction.cpp	2013-03-08 04:25:52 UTC (rev 145175)
@@ -76,7 +76,7 @@
 {
 if (object.IsEmpty() || !object-IsObject())
 return v8::Hand

[webkit-changes] [145040] trunk/Source/WebCore

2013-03-06 Thread morrita
Title: [145040] trunk/Source/WebCore








Revision 145040
Author morr...@google.com
Date 2013-03-06 22:32:27 -0800 (Wed, 06 Mar 2013)


Log Message
Custom Elements Refactoring: CustomElementConstructor API shouldn't bound to HTMLElement
https://bugs.webkit.org/show_bug.cgi?id=111678

Reviewed by Kentaro Hara.

The latest Custom Elements standard supports non-HTML custom elements. Even though current implementation
support only HTML, it'd be better off to make API generic enough to support them.

This change

- eliminates HTMLElement from the API signature by replacing it with Element, and
- rename V8HTMLCustomElement to V8CustomElement.

No new tests, just changing signatures and a class name.

* WebCore.gypi:
* bindings/v8/V8CustomElement.cpp: Renamed from Source/WebCore/bindings/v8/V8HTMLCustomElement.cpp.
(WebCore):
(WebCore::findWrapperTypeOf):
(WebCore::V8CustomElement::createWrapper):
* bindings/v8/V8CustomElement.h: Renamed from Source/WebCore/bindings/v8/V8HTMLCustomElement.h.
(WebCore):
(V8CustomElement):
(WebCore::V8CustomElement::toV8):
(WebCore::V8CustomElement::wrap):
(WebCore::HTMLCustomElement::wrap):
* bindings/v8/custom/V8CustomElementConstructorCustom.cpp:
(WebCore::V8CustomElementConstructor::callAsFunctionCallback):
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::createElement):
* dom/CustomElementConstructor.h:
(WebCore):
(CustomElementConstructor):
* dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::constructorOf):
(WebCore::CustomElementRegistry::createElement):
* dom/CustomElementRegistry.h:
(WebCore):
(CustomElementRegistry):
* dom/Document.cpp: Ensured that the document is an HTML.
(WebCore::Document::registerElement):
* dom/Document.idl:
* dom/make_names.pl:
(printWrapperFactoryCppFile):
* html/HTMLDocument.idl: Moved an API to Document.idl

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.gypi
trunk/Source/WebCore/bindings/v8/custom/V8CustomElementConstructorCustom.cpp
trunk/Source/WebCore/dom/CustomElementConstructor.cpp
trunk/Source/WebCore/dom/CustomElementConstructor.h
trunk/Source/WebCore/dom/CustomElementRegistry.cpp
trunk/Source/WebCore/dom/CustomElementRegistry.h
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Document.idl
trunk/Source/WebCore/dom/make_names.pl
trunk/Source/WebCore/html/HTMLDocument.idl


Added Paths

trunk/Source/WebCore/bindings/v8/V8CustomElement.cpp
trunk/Source/WebCore/bindings/v8/V8CustomElement.h


Removed Paths

trunk/Source/WebCore/bindings/v8/V8HTMLCustomElement.cpp
trunk/Source/WebCore/bindings/v8/V8HTMLCustomElement.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (145039 => 145040)

--- trunk/Source/WebCore/ChangeLog	2013-03-07 05:58:57 UTC (rev 145039)
+++ trunk/Source/WebCore/ChangeLog	2013-03-07 06:32:27 UTC (rev 145040)
@@ -1,3 +1,51 @@
+2013-03-06  Hajime Morrita  morr...@google.com
+
+Custom Elements Refactoring: CustomElementConstructor API shouldn't bound to HTMLElement
+https://bugs.webkit.org/show_bug.cgi?id=111678
+
+Reviewed by Kentaro Hara.
+
+The latest Custom Elements standard supports non-HTML custom elements. Even though current implementation
+support only HTML, it'd be better off to make API generic enough to support them.
+
+This change
+
+- eliminates HTMLElement from the API signature by replacing it with Element, and
+- rename V8HTMLCustomElement to V8CustomElement.
+
+No new tests, just changing signatures and a class name.
+
+* WebCore.gypi:
+* bindings/v8/V8CustomElement.cpp: Renamed from Source/WebCore/bindings/v8/V8HTMLCustomElement.cpp.
+(WebCore):
+(WebCore::findWrapperTypeOf):
+(WebCore::V8CustomElement::createWrapper):
+* bindings/v8/V8CustomElement.h: Renamed from Source/WebCore/bindings/v8/V8HTMLCustomElement.h.
+(WebCore):
+(V8CustomElement):
+(WebCore::V8CustomElement::toV8):
+(WebCore::V8CustomElement::wrap):
+(WebCore::HTMLCustomElement::wrap):
+* bindings/v8/custom/V8CustomElementConstructorCustom.cpp:
+(WebCore::V8CustomElementConstructor::callAsFunctionCallback):
+* dom/CustomElementConstructor.cpp:
+(WebCore::CustomElementConstructor::createElement):
+* dom/CustomElementConstructor.h:
+(WebCore):
+(CustomElementConstructor):
+* dom/CustomElementRegistry.cpp:
+(WebCore::CustomElementRegistry::constructorOf):
+(WebCore::CustomElementRegistry::createElement):
+* dom/CustomElementRegistry.h:
+(WebCore):
+(CustomElementRegistry):
+* dom/Document.cpp: Ensured that the document is an HTML.
+(WebCore::Document::registerElement):
+* dom/Document.idl:
+* dom/make_names.pl:
+(printWrapperFactoryCppFile):
+* html/HTMLDocument.idl: Moved an API to Document.idl
+
 2013-03-06  Tim Horton  timothy_hor...@apple.

[webkit-changes] [144735] trunk/Source/WebCore

2013-03-05 Thread morrita
Title: [144735] trunk/Source/WebCore








Revision 144735
Author morr...@google.com
Date 2013-03-05 00:08:15 -0800 (Tue, 05 Mar 2013)


Log Message
ShadowRoot needs guardRef() and guardDeref()
https://bugs.webkit.org/show_bug.cgi?id=109777

Reviewed by Dimitri Glazkov.

This change moves m_guardRefCount from Document to TreeScope,
which allows ShadowRoot to be guarded by guardRef() mechanism as
Document. After r137524, Node referes TreeScope instead of
Document. This is natural consequence of the change: It no longer
makes sense to guardRef() Document pointer from Node.

Detail:

- Document::m_guardRefCount and related funcdtions are moved to TreeScope
- Document::removedLastRef is factored out into TreeScope::removedLastRefToScope(),
  TreeScope::dispose() and Docuent::dispose(). ShadowRoot also got its own dispose() implementation.
- Moved guardRef() and guardDeref() calls to TreeScope and Node.
  Note that there are two guarded TreeScope references. One is
  Node::m_treeScope and another is TreeScope::m_parentTreeScope.
  The guarded-ref management is now encapsulated in these two classes.

No new tests. Covered by existing tests.

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::dispose): Extracted from removedLastRef()
* dom/Document.h:
(WebCore::Node::isTreeScope):
(WebCore::Node::Node):
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::DocumentFragment): Remove ASSERT() and move it to ...
(WebCore::DocumentFragment::create): ... here, to allow NULL document from ShadowRoot.
* dom/Node.cpp:
(WebCore::Node::~Node):
(WebCore::Node::removedLastRef):
* dom/Node.h:
(WebCore::Node::setTreeScope):
* dom/Element.cpp:
(WebCore::Element::ensureAttr): This has been wrong and is fixed in this revision since the incorrectness is unveiled by this change.
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot): Passed NULL document to superclass. This aligns what Document is doing.
(WebCore::ShadowRoot::dispose): Added.
* dom/ShadowRoot.h:
(ShadowRoot):
* dom/TreeScope.cpp:
(SameSizeAsTreeScope):
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::~TreeScope):
(WebCore::TreeScope::dispose): Added.
(WebCore::TreeScope::setParentTreeScope):
(WebCore::TreeScope::deletionHasBegun):
(WebCore::TreeScope::beginDeletion):
(WebCore::TreeScope::refCount): Added.
* dom/TreeScope.h: Turned m_rootNode to Node* from ContainerNode* for Node::isTreeScope to be inlined.
(WebCore::TreeScope::guardRef): Pulled up from Document.
(WebCore::TreeScope::guardDeref): Ditto.
(WebCore::TreeScope::hasGuardRefCount): Added to hide m_guardRefCount.
(WebCore::TreeScope::deletionHasBegun): Added.
(WebCore::TreeScope::beginDeletion): Added.
(WebCore::TreeScope::removedLastRefToScope): Pulled up from Document.
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.exp.in
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Document.h
trunk/Source/WebCore/dom/DocumentFragment.cpp
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/dom/ShadowRoot.cpp
trunk/Source/WebCore/dom/ShadowRoot.h
trunk/Source/WebCore/dom/TreeScope.cpp
trunk/Source/WebCore/dom/TreeScope.h
trunk/Source/WebCore/dom/TreeScopeAdopter.cpp
trunk/Source/WebCore/dom/TreeScopeAdopter.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (144734 => 144735)

--- trunk/Source/WebCore/ChangeLog	2013-03-05 07:59:34 UTC (rev 144734)
+++ trunk/Source/WebCore/ChangeLog	2013-03-05 08:08:15 UTC (rev 144735)
@@ -1,3 +1,71 @@
+2013-03-05  Hajime Morrita  morr...@google.com
+
+ShadowRoot needs guardRef() and guardDeref()
+https://bugs.webkit.org/show_bug.cgi?id=109777
+
+Reviewed by Dimitri Glazkov.
+
+This change moves m_guardRefCount from Document to TreeScope,
+which allows ShadowRoot to be guarded by guardRef() mechanism as
+Document. After r137524, Node referes TreeScope instead of
+Document. This is natural consequence of the change: It no longer
+makes sense to guardRef() Document pointer from Node.
+
+Detail:
+
+- Document::m_guardRefCount and related funcdtions are moved to TreeScope
+- Document::removedLastRef is factored out into TreeScope::removedLastRefToScope(),
+  TreeScope::dispose() and Docuent::dispose(). ShadowRoot also got its own dispose() implementation.
+- Moved guardRef() and guardDeref() calls to TreeScope and Node.
+  Note that there are two guarded TreeScope references. One is
+  Node::m_treeScope and another is TreeScope::m_parentTreeScope.
+  The guarded-ref management is now encapsulated in these two classes.
+
+No new tests. Covered by existing tests.
+
+* WebCore.exp.in:
+* dom/Document.

[webkit-changes] [144889] trunk/Source/WebCore

2013-03-05 Thread morrita
Title: [144889] trunk/Source/WebCore








Revision 144889
Author morr...@google.com
Date 2013-03-05 23:53:47 -0800 (Tue, 05 Mar 2013)


Log Message
Custom Elements: CustomElementConstructor::m_name doesn't have any good use.
https://bugs.webkit.org/show_bug.cgi?id=111523

Reviewed by Kentaro Hara.

This change removes CustomElementConstructor::m_name and renames
m_tagName to m_name. Now generated function name is same as interface name.

Originally, m_name was added to specify the generated constructor
name. An early version of custom element allows to give the name,
but it no longer says anything about that.

The rename is to align the semantics of type extension mechanism
of Custom Elements, where the name of a custom element isn't
necessarily a tag name.

No new tests. Just removing old code.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::create):
(WebCore::CustomElementConstructor::CustomElementConstructor):
(WebCore::CustomElementConstructor::createElement):
* dom/CustomElementConstructor.h:
(CustomElementConstructor):
(WebCore::CustomElementConstructor::name):
* dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::registerElement):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
trunk/Source/WebCore/dom/CustomElementConstructor.cpp
trunk/Source/WebCore/dom/CustomElementConstructor.h
trunk/Source/WebCore/dom/CustomElementRegistry.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (144888 => 144889)

--- trunk/Source/WebCore/ChangeLog	2013-03-06 07:43:43 UTC (rev 144888)
+++ trunk/Source/WebCore/ChangeLog	2013-03-06 07:53:47 UTC (rev 144889)
@@ -1,3 +1,35 @@
+2013-03-05  Hajime Morrita  morr...@google.com
+
+Custom Elements: CustomElementConstructor::m_name doesn't have any good use.
+https://bugs.webkit.org/show_bug.cgi?id=111523
+
+Reviewed by Kentaro Hara.
+
+This change removes CustomElementConstructor::m_name and renames
+m_tagName to m_name. Now generated function name is same as interface name.
+
+Originally, m_name was added to specify the generated constructor
+name. An early version of custom element allows to give the name,
+but it no longer says anything about that.
+
+The rename is to align the semantics of type extension mechanism
+of Custom Elements, where the name of a custom element isn't
+necessarily a tag name.
+
+No new tests. Just removing old code.
+
+* bindings/scripts/CodeGeneratorV8.pm:
+(GenerateHeader):
+* dom/CustomElementConstructor.cpp:
+(WebCore::CustomElementConstructor::create):
+(WebCore::CustomElementConstructor::CustomElementConstructor):
+(WebCore::CustomElementConstructor::createElement):
+* dom/CustomElementConstructor.h:
+(CustomElementConstructor):
+(WebCore::CustomElementConstructor::name):
+* dom/CustomElementRegistry.cpp:
+(WebCore::CustomElementRegistry::registerElement):
+
 2013-03-05  Ilya Tikhonovsky  loi...@chromium.org
 
 Web Inspector: Flame Chart. Provide node context info in a popover when mouse hovers over a flame chart item.


Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm (144888 => 144889)

--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm	2013-03-06 07:43:43 UTC (rev 144888)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm	2013-03-06 07:53:47 UTC (rev 144889)
@@ -537,7 +537,7 @@
 my $createWrapperCall = $customWrap ? ${v8InterfaceName}::wrap : ${v8InterfaceName}::createWrapper;
 my $returningWrapper = $interface-extendedAttributes-{V8WrapAsFunction} ? V8DOMWrapper::toFunction(wrapper) : wrapper;
 my $returningCreatedWrapperOpening = $interface-extendedAttributes-{V8WrapAsFunction} ? V8DOMWrapper::toFunction( : ;
-my $returningCreatedWrapperClosing = $interface-extendedAttributes-{V8WrapAsFunction} ? , impl-name(), isolate) : ;
+my $returningCreatedWrapperClosing = $interface-extendedAttributes-{V8WrapAsFunction} ? , \${interfaceName}\, isolate) : ;
 
 if ($customWrap) {
 push(@headerContent, END);


Modified: trunk/Source/WebCore/dom/CustomElementConstructor.cpp (144888 => 144889)

--- trunk/Source/WebCore/dom/CustomElementConstructor.cpp	2013-03-06 07:43:43 UTC (rev 144888)
+++ trunk/Source/WebCore/dom/CustomElementConstructor.cpp	2013-03-06 07:53:47 UTC (rev 144889)
@@ -41,17 +41,16 @@
 
 namespace WebCore {
 
-PassRefPtrCustomElementConstructor CustomElementConstructor::create(ScriptState* state, Document* document, const QualifiedName tagName, const String name, const ScriptValue prototype)
+PassRefPtrCustomElementConstructor CustomElementConstructor::create(ScriptState* state, Document* document, const QualifiedName name, const ScriptValue prototype)
 {
-RefPtrCustomElementCo

[webkit-changes] [143840] trunk/Source/WebCore

2013-02-23 Thread morrita
Title: [143840] trunk/Source/WebCore








Revision 143840
Author morr...@google.com
Date 2013-02-23 02:49:49 -0800 (Sat, 23 Feb 2013)


Log Message
ShadowRoot needs guardRef() and guardDeref()
https://bugs.webkit.org/show_bug.cgi?id=109777

Reviewed by Dimitri Glazkov.

This change moves m_guardRefCount from Document to TreeScope,
which allows ShadowRoot to be guarded by guardRef() mechanism as
Document. After r137524, Node referes TreeScope instead of
Document. This is natural consequence of the change: It no longer
makes sense to guardRef() Document pointer from Node.

Detail:

- Document::m_guardRefCount and related funcdtions are moved to TreeScope
- Document::removedLastRef is factored out into TreeScope::removedLastRefToScope(),
  TreeScope::dispose() and Docuent::dispose(). ShadowRoot also got its own dispose() implementation.
- Moved guardRef() and guardDeref() calls to TreeScope and Node.
  Note that there are two guarded TreeScope references. One is
  Node::m_treeScope and another is TreeScope::m_parentTreeScope.
  The guarded-ref management is now encapsulated in these two classes.

No new tests. Covered by existing tests.

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::dispose): Extracted from removedLastRef()
* dom/Document.h:
(WebCore::Node::isTreeScope):
(WebCore::Node::Node):
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::DocumentFragment): Remove ASSERT() and move it to ...
(WebCore::DocumentFragment::create): ... here, to allow NULL document from ShadowRoot.
* dom/Node.cpp:
(WebCore::Node::~Node):
(WebCore::Node::removedLastRef):
* dom/Node.h:
(WebCore::Node::setTreeScope):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot): Passed NULL document to superclass. This aligns what Document is doing.
(WebCore::ShadowRoot::dispose): Added.
* dom/ShadowRoot.h:
(ShadowRoot):
* dom/TreeScope.cpp:
(SameSizeAsTreeScope):
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::~TreeScope):
(WebCore::TreeScope::dispose): Added.
(WebCore::TreeScope::setParentTreeScope):
(WebCore::TreeScope::deletionHasBegun):
(WebCore::TreeScope::beginDeletion):
(WebCore::TreeScope::refCount): Added.
* dom/TreeScope.h: Turned m_rootNode to Node* from ContainerNode* for Node::isTreeScope to be inlined.
(WebCore::TreeScope::guardRef): Pulled up from Document.
(WebCore::TreeScope::guardDeref): Ditto.
(WebCore::TreeScope::hasGuardRefCount): Added to hide m_guardRefCount.
(WebCore::TreeScope::deletionHasBegun): Added.
(WebCore::TreeScope::beginDeletion): Added.
(WebCore::TreeScope::removedLastRefToScope): Pulled up from Document.
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.exp.in
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Document.h
trunk/Source/WebCore/dom/DocumentFragment.cpp
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/dom/ShadowRoot.cpp
trunk/Source/WebCore/dom/ShadowRoot.h
trunk/Source/WebCore/dom/TreeScope.cpp
trunk/Source/WebCore/dom/TreeScope.h
trunk/Source/WebCore/dom/TreeScopeAdopter.cpp
trunk/Source/WebCore/dom/TreeScopeAdopter.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (143839 => 143840)

--- trunk/Source/WebCore/ChangeLog	2013-02-23 09:03:36 UTC (rev 143839)
+++ trunk/Source/WebCore/ChangeLog	2013-02-23 10:49:49 UTC (rev 143840)
@@ -1,3 +1,69 @@
+2013-02-23  Hajime Morrita  morr...@google.com
+
+ShadowRoot needs guardRef() and guardDeref()
+https://bugs.webkit.org/show_bug.cgi?id=109777
+
+Reviewed by Dimitri Glazkov.
+
+This change moves m_guardRefCount from Document to TreeScope,
+which allows ShadowRoot to be guarded by guardRef() mechanism as
+Document. After r137524, Node referes TreeScope instead of
+Document. This is natural consequence of the change: It no longer
+makes sense to guardRef() Document pointer from Node.
+
+Detail:
+
+- Document::m_guardRefCount and related funcdtions are moved to TreeScope
+- Document::removedLastRef is factored out into TreeScope::removedLastRefToScope(),
+  TreeScope::dispose() and Docuent::dispose(). ShadowRoot also got its own dispose() implementation.
+- Moved guardRef() and guardDeref() calls to TreeScope and Node.
+  Note that there are two guarded TreeScope references. One is
+  Node::m_treeScope and another is TreeScope::m_parentTreeScope.
+  The guarded-ref management is now encapsulated in these two classes.
+
+No new tests. Covered by existing tests.
+
+* WebCore.exp.in:
+* dom/Document.cpp:
+(WebCore::Document::Document):
+(WebCore::Document::~Document):
+(WebCore::Document::dispose): Extracted from removedLastRef()
+* dom/Document.h:
+(WebCore::N

[webkit-changes] [143311] trunk/Tools

2013-02-19 Thread morrita
Title: [143311] trunk/Tools








Revision 143311
Author morr...@google.com
Date 2013-02-19 01:31:36 -0800 (Tue, 19 Feb 2013)


Log Message
Unreviewed, updated spelling of my name.

* Scripts/webkitpy/common/config/committers.py:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/common/config/committers.py




Diff

Modified: trunk/Tools/ChangeLog (143310 => 143311)

--- trunk/Tools/ChangeLog	2013-02-19 09:27:21 UTC (rev 143310)
+++ trunk/Tools/ChangeLog	2013-02-19 09:31:36 UTC (rev 143311)
@@ -1,3 +1,9 @@
+2013-02-19  Hajime Morrita  morr...@google.com
+
+Unreviewed, updated spelling of my name.
+
+* Scripts/webkitpy/common/config/committers.py:
+
 2013-02-18  Ilya Tikhonovsky  loi...@chromium.org
 
 Unreviewed. Adjust expectations.


Modified: trunk/Tools/Scripts/webkitpy/common/config/committers.py (143310 => 143311)

--- trunk/Tools/Scripts/webkitpy/common/config/committers.py	2013-02-19 09:27:21 UTC (rev 143310)
+++ trunk/Tools/Scripts/webkitpy/common/config/committers.py	2013-02-19 09:31:36 UTC (rev 143311)
@@ -538,7 +538,7 @@
 Reviewer(George Staikos, [stai...@kde.org, stai...@webkit.org]),
 Reviewer(Gustavo Noronha Silva, [g...@gnome.org, k...@webkit.org, gustavo.noro...@collabora.co.uk, gustavo.noro...@collabora.com], kov),
 Reviewer(Gyuyoung Kim, [gyuyoung@samsung.com, gyuyoung@webkit.org], gyuyoung),
-Reviewer(Hajime Morita, [morr...@google.com, morr...@chromium.org], morrita),
+Reviewer(Hajime Morrita, [morr...@google.com, morr...@chromium.org], morrita),
 Reviewer(Holger Freyther, [ze...@selfish.org, ze...@webkit.org], zecke),
 Reviewer(James Robinson, [jam...@chromium.org, jam...@google.com], jamesr),
 Reviewer(Jan Alonzo, [jmalo...@gmail.com, jmalo...@webkit.org], janm),






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [142940] trunk

2013-02-14 Thread morrita
Title: [142940] trunk








Revision 142940
Author morr...@google.com
Date 2013-02-14 16:42:03 -0800 (Thu, 14 Feb 2013)


Log Message
[V8] Assertion failure on an exception is thrown
https://bugs.webkit.org/show_bug.cgi?id=109129

Source/WebCore:

An assertion in V8AbstractEventListener is wrong. This change turns it into an error check.

Reviewed by Kentaro Hara.

Test: fast/events/onerror-no-constructor.html

* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::handleEvent):

LayoutTests:

Reviewed by Kentaro Hara.

* fast/events/onerror-no-constructor-expected.txt: Added.
* fast/events/onerror-no-constructor.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/v8/V8AbstractEventListener.cpp


Added Paths

trunk/LayoutTests/fast/events/onerror-no-constructor-expected.txt
trunk/LayoutTests/fast/events/onerror-no-constructor.html




Diff

Modified: trunk/LayoutTests/ChangeLog (142939 => 142940)

--- trunk/LayoutTests/ChangeLog	2013-02-15 00:38:19 UTC (rev 142939)
+++ trunk/LayoutTests/ChangeLog	2013-02-15 00:42:03 UTC (rev 142940)
@@ -1,3 +1,13 @@
+2013-02-14  Hajime Morrita  morr...@google.com
+
+[V8] Assertion failure on an exception is thrown
+https://bugs.webkit.org/show_bug.cgi?id=109129
+
+Reviewed by Kentaro Hara.
+
+* fast/events/onerror-no-constructor-expected.txt: Added.
+* fast/events/onerror-no-constructor.html: Added.
+
 2013-02-14  Philip Rogers  p...@google.com
 
 Rebaseline 9 SVG tests after r142765


Added: trunk/LayoutTests/fast/events/onerror-no-constructor-expected.txt (0 => 142940)

--- trunk/LayoutTests/fast/events/onerror-no-constructor-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/events/onerror-no-constructor-expected.txt	2013-02-15 00:42:03 UTC (rev 142940)
@@ -0,0 +1,2 @@
+CONSOLE MESSAGE: line 20: Uncaught PASS if this is reported as an uncaught exception.
+


Added: trunk/LayoutTests/fast/events/onerror-no-constructor.html (0 => 142940)

--- trunk/LayoutTests/fast/events/onerror-no-constructor.html	(rev 0)
+++ trunk/LayoutTests/fast/events/onerror-no-constructor.html	2013-02-15 00:42:03 UTC (rev 142940)
@@ -0,0 +1,23 @@
+!DOCTYPE html
+html
+body
+div id=container/div
+script
+if (window.testRunner)
+window.testRunner.dumpAsText();
+window._onerror_ = function(message) { console.log(FAIL); }
+
+Object.defineProperty(Object.prototype, prototype, {
+get: function() { console.log(FAIL); },
+set: function() { console.log(FAIL); }
+});
+
+Object.defineProperty(Object.prototype, constructor, {
+get: function() { console.log(FAIL); },
+set: function() { console.log(FAIL); }
+});
+
+throw PASS if this is reported as an uncaught exception.;
+/script
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (142939 => 142940)

--- trunk/Source/WebCore/ChangeLog	2013-02-15 00:38:19 UTC (rev 142939)
+++ trunk/Source/WebCore/ChangeLog	2013-02-15 00:42:03 UTC (rev 142940)
@@ -1,3 +1,17 @@
+2013-02-14  Hajime Morrita  morr...@google.com
+
+[V8] Assertion failure on an exception is thrown
+https://bugs.webkit.org/show_bug.cgi?id=109129
+
+An assertion in V8AbstractEventListener is wrong. This change turns it into an error check.
+
+Reviewed by Kentaro Hara.
+
+Test: fast/events/onerror-no-constructor.html
+
+* bindings/v8/V8AbstractEventListener.cpp:
+(WebCore::V8AbstractEventListener::handleEvent):
+
 2013-02-14  Kentaro Hara  hara...@chromium.org
 
 [V8] CodeGeneratorV8.pm can assume that DOMWindow has [CheckSecurity]


Modified: trunk/Source/WebCore/bindings/v8/V8AbstractEventListener.cpp (142939 => 142940)

--- trunk/Source/WebCore/bindings/v8/V8AbstractEventListener.cpp	2013-02-15 00:38:19 UTC (rev 142939)
+++ trunk/Source/WebCore/bindings/v8/V8AbstractEventListener.cpp	2013-02-15 00:42:03 UTC (rev 142940)
@@ -98,8 +98,8 @@
 
 // Get the V8 wrapper for the event object.
 v8::Handlev8::Value jsEvent = toV8(event, v8::Handlev8::Object(), v8Context-GetIsolate());
-ASSERT(!jsEvent.IsEmpty());
-
+if (jsEvent.IsEmpty())
+return;
 invokeEventHandler(context, event, jsEvent);
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [142953] trunk/LayoutTests

2013-02-14 Thread morrita
Title: [142953] trunk/LayoutTests








Revision 142953
Author morr...@google.com
Date 2013-02-14 19:07:49 -0800 (Thu, 14 Feb 2013)


Log Message
Unreviewed rebaselining following r142940.

* fast/events/onerror-no-constructor-expected.txt:
* platform/chromium/fast/events/onerror-no-constructor-expected.txt: Copied from LayoutTests/fast/events/onerror-no-constructor-expected.txt.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/events/onerror-no-constructor-expected.txt


Added Paths

trunk/LayoutTests/platform/chromium/fast/events/onerror-no-constructor-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (142952 => 142953)

--- trunk/LayoutTests/ChangeLog	2013-02-15 02:38:02 UTC (rev 142952)
+++ trunk/LayoutTests/ChangeLog	2013-02-15 03:07:49 UTC (rev 142953)
@@ -1,3 +1,10 @@
+2013-02-14  Hajime Morrita  morr...@google.com
+
+Unreviewed rebaselining following r142940.
+
+* fast/events/onerror-no-constructor-expected.txt:
+* platform/chromium/fast/events/onerror-no-constructor-expected.txt: Copied from LayoutTests/fast/events/onerror-no-constructor-expected.txt.
+
 2013-02-14  Christian Biesinger  cbiesin...@chromium.org
 
 Convert media controls from DeprecatedFlexibleBox to FlexibleBox


Modified: trunk/LayoutTests/fast/events/onerror-no-constructor-expected.txt (142952 => 142953)

--- trunk/LayoutTests/fast/events/onerror-no-constructor-expected.txt	2013-02-15 02:38:02 UTC (rev 142952)
+++ trunk/LayoutTests/fast/events/onerror-no-constructor-expected.txt	2013-02-15 03:07:49 UTC (rev 142953)
@@ -1,2 +1,3 @@
-CONSOLE MESSAGE: line 20: Uncaught PASS if this is reported as an uncaught exception.
+CONSOLE MESSAGE: line 8: FAIL
+CONSOLE MESSAGE: PASS if this is reported as an uncaught exception.
 


Copied: trunk/LayoutTests/platform/chromium/fast/events/onerror-no-constructor-expected.txt (from rev 142952, trunk/LayoutTests/fast/events/onerror-no-constructor-expected.txt) (0 => 142953)

--- trunk/LayoutTests/platform/chromium/fast/events/onerror-no-constructor-expected.txt	(rev 0)
+++ trunk/LayoutTests/platform/chromium/fast/events/onerror-no-constructor-expected.txt	2013-02-15 03:07:49 UTC (rev 142953)
@@ -0,0 +1,2 @@
+CONSOLE MESSAGE: line 20: Uncaught PASS if this is reported as an uncaught exception.
+






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [142726] trunk

2013-02-12 Thread morrita
Title: [142726] trunk








Revision 142726
Author morr...@google.com
Date 2013-02-12 23:34:47 -0800 (Tue, 12 Feb 2013)


Log Message
[Internals] setShadowDOMEnabled() shouldn't be used except a few tests.
https://bugs.webkit.org/show_bug.cgi?id=109642

Reviewed by Kent Tamura.

Source/WebCore:

InternalSettings.setShadowDOMEnabled() shouldn't be called after
any relevant DOM bindings are touched. However for fuzzers, it
isn't trivial to regulate its behavior.

This change whitelists the URL of running test for prevent
unintended API calls. This doesn't hurt the Internals usability
since the API is called from just a couple of tests and the number
isn't expected to grow.

Test: fast/dom/shadow/shadow-dom-enabled-flag-whitelist.html

* testing/InternalSettings.cpp:
(WebCore::urlIsWhitelisted):
(WebCore):
(WebCore::InternalSettings::setShadowDOMEnabled):

LayoutTests:

* fast/dom/shadow/shadow-dom-enabled-flag-whitelist-expected.txt: Added.
* fast/dom/shadow/shadow-dom-enabled-flag-whitelist.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/testing/InternalSettings.cpp


Added Paths

trunk/LayoutTests/fast/dom/shadow/shadow-dom-enabled-flag-whitelist-expected.txt
trunk/LayoutTests/fast/dom/shadow/shadow-dom-enabled-flag-whitelist.html




Diff

Modified: trunk/LayoutTests/ChangeLog (142725 => 142726)

--- trunk/LayoutTests/ChangeLog	2013-02-13 07:24:02 UTC (rev 142725)
+++ trunk/LayoutTests/ChangeLog	2013-02-13 07:34:47 UTC (rev 142726)
@@ -1,3 +1,13 @@
+2013-02-12  Hajime Morrita  morr...@google.com
+
+[Internals] setShadowDOMEnabled() shouldn't be used except a few tests.
+https://bugs.webkit.org/show_bug.cgi?id=109642
+
+Reviewed by Kent Tamura.
+
+* fast/dom/shadow/shadow-dom-enabled-flag-whitelist-expected.txt: Added.
+* fast/dom/shadow/shadow-dom-enabled-flag-whitelist.html: Added.
+
 2013-02-12  Vsevolod Vlasov  vse...@chromium.org
 
 Web Inspector: Introduce version controller to migrate settings versions.


Added: trunk/LayoutTests/fast/dom/shadow/shadow-dom-enabled-flag-whitelist-expected.txt (0 => 142726)

--- trunk/LayoutTests/fast/dom/shadow/shadow-dom-enabled-flag-whitelist-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-dom-enabled-flag-whitelist-expected.txt	2013-02-13 07:34:47 UTC (rev 142726)
@@ -0,0 +1,10 @@
+Ensure that setShadowDOMEnabled() is only allowed for a set of tests.
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS window.internals.settings.setShadowDOMEnabled(false) threw exception Error: InvalidAccessError: DOM Exception 15.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/dom/shadow/shadow-dom-enabled-flag-whitelist.html (0 => 142726)

--- trunk/LayoutTests/fast/dom/shadow/shadow-dom-enabled-flag-whitelist.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-dom-enabled-flag-whitelist.html	2013-02-13 07:34:47 UTC (rev 142726)
@@ -0,0 +1,13 @@
+!DOCTYPE html
+html
+head
+script src=""
+/head
+body
+script
+description(Ensure that setShadowDOMEnabled() is only allowed for a set of tests.)
+shouldThrow(window.internals.settings.setShadowDOMEnabled(false), 'Error: InvalidAccessError: DOM Exception 15');
+/script
+script src=""
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (142725 => 142726)

--- trunk/Source/WebCore/ChangeLog	2013-02-13 07:24:02 UTC (rev 142725)
+++ trunk/Source/WebCore/ChangeLog	2013-02-13 07:34:47 UTC (rev 142726)
@@ -1,3 +1,26 @@
+2013-02-12  Hajime Morrita  morr...@google.com
+
+[Internals] setShadowDOMEnabled() shouldn't be used except a few tests.
+https://bugs.webkit.org/show_bug.cgi?id=109642
+
+Reviewed by Kent Tamura.
+
+InternalSettings.setShadowDOMEnabled() shouldn't be called after
+any relevant DOM bindings are touched. However for fuzzers, it
+isn't trivial to regulate its behavior.
+
+This change whitelists the URL of running test for prevent
+unintended API calls. This doesn't hurt the Internals usability
+since the API is called from just a couple of tests and the number
+isn't expected to grow.
+
+Test: fast/dom/shadow/shadow-dom-enabled-flag-whitelist.html
+
+* testing/InternalSettings.cpp:
+(WebCore::urlIsWhitelisted):
+(WebCore):
+(WebCore::InternalSettings::setShadowDOMEnabled):
+
 2013-02-12  Vsevolod Vlasov  vse...@chromium.org
 
 Web Inspector: Introduce version controller to migrate settings versions.


Modified: trunk/Source/WebCore/testing/InternalSettings.cpp (142725 => 142726)

--- trunk/Source/WebCore/testing/InternalSettings.cpp	2013-02-13 07:24:02 UTC (rev 142725)
+++ trunk/Source/WebCore/testing/InternalSettings.cpp	2013-02-13 07:34:47 UTC (rev 142726)
@@ -195,10 +195,22 @@
 settings()-setMockScrol

[webkit-changes] [141873] trunk/Source/WebCore

2013-02-05 Thread morrita
Title: [141873] trunk/Source/WebCore








Revision 141873
Author morr...@google.com
Date 2013-02-05 01:19:31 -0800 (Tue, 05 Feb 2013)


Log Message
Unreviewed Linux ASAN build fix for r141783.

* platform/RefCountedSupplement.h:
(Wrapper):
* platform/Supplementable.h:
(Supplement):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/RefCountedSupplement.h
trunk/Source/WebCore/platform/Supplementable.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (141872 => 141873)

--- trunk/Source/WebCore/ChangeLog	2013-02-05 09:13:47 UTC (rev 141872)
+++ trunk/Source/WebCore/ChangeLog	2013-02-05 09:19:31 UTC (rev 141873)
@@ -1,3 +1,12 @@
+2013-02-05  Hajime Morrita  morr...@google.com
+
+Unreviewed Linux ASAN build fix for r141783.
+
+* platform/RefCountedSupplement.h:
+(Wrapper):
+* platform/Supplementable.h:
+(Supplement):
+
 2013-02-05  Mike West  mk...@chromium.org
 
 [chromium] Unreviewed: Fix broken SVG-disabled build.


Modified: trunk/Source/WebCore/platform/RefCountedSupplement.h (141872 => 141873)

--- trunk/Source/WebCore/platform/RefCountedSupplement.h	2013-02-05 09:13:47 UTC (rev 141872)
+++ trunk/Source/WebCore/platform/RefCountedSupplement.h	2013-02-05 09:19:31 UTC (rev 141873)
@@ -44,7 +44,7 @@
 public:
 explicit Wrapper(PassRefPtrThisType wrapped) : m_wrapped(wrapped) { }
 virtual ~Wrapper() { m_wrapped-hostDestroyed();  }
-#if !ASSERT_DISABLED
+#if !ASSERT_DISABLED || defined(ADDRESS_SANITIZER)
 virtual bool isRefCountedWrapper() const OVERRIDE { return true; }
 #endif
 ThisType* wrapped() const { return m_wrapped.get(); }


Modified: trunk/Source/WebCore/platform/Supplementable.h (141872 => 141873)

--- trunk/Source/WebCore/platform/Supplementable.h	2013-02-05 09:13:47 UTC (rev 141872)
+++ trunk/Source/WebCore/platform/Supplementable.h	2013-02-05 09:19:31 UTC (rev 141873)
@@ -79,7 +79,7 @@
 class Supplement {
 public:
 virtual ~Supplement() { }
-#if !ASSERT_DISABLED
+#if !ASSERT_DISABLED || defined(ADDRESS_SANITIZER)
 virtual bool isRefCountedWrapper() const { return false; }
 #endif
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [141859] trunk/LayoutTests

2013-02-04 Thread morrita
Title: [141859] trunk/LayoutTests








Revision 141859
Author morr...@google.com
Date 2013-02-04 22:35:18 -0800 (Mon, 04 Feb 2013)


Log Message
[Chromium] Unreviewed rebaselining.

* platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt: Added.
* platform/chromium-linux/compositing/overflow/updating-scrolling-content-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/scrolling-without-painting-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/updating-scrolling-content-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/scrolling-without-painting-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/updating-scrolling-content-expected.txt: Added.

Modified Paths

trunk/LayoutTests/ChangeLog


Added Paths

trunk/LayoutTests/platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt
trunk/LayoutTests/platform/chromium-linux/compositing/overflow/updating-scrolling-content-expected.txt
trunk/LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/scrolling-without-painting-expected.txt
trunk/LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/updating-scrolling-content-expected.txt
trunk/LayoutTests/platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/scrolling-without-painting-expected.txt
trunk/LayoutTests/platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/updating-scrolling-content-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (141858 => 141859)

--- trunk/LayoutTests/ChangeLog	2013-02-05 06:20:33 UTC (rev 141858)
+++ trunk/LayoutTests/ChangeLog	2013-02-05 06:35:18 UTC (rev 141859)
@@ -1,3 +1,14 @@
+2013-02-04  Hajime Morrita  morr...@google.com
+
+[Chromium] Unreviewed rebaselining.
+
+* platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt: Added.
+* platform/chromium-linux/compositing/overflow/updating-scrolling-content-expected.txt: Added.
+* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/scrolling-without-painting-expected.txt: Added.
+* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/updating-scrolling-content-expected.txt: Added.
+* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/scrolling-without-painting-expected.txt: Added.
+* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/updating-scrolling-content-expected.txt: Added.
+
 2013-02-04  Kent Tamura  tk...@chromium.org
 
 Fix crash by select type change on focus


Added: trunk/LayoutTests/platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt (0 => 141859)

--- trunk/LayoutTests/platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt	(rev 0)
+++ trunk/LayoutTests/platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt	2013-02-05 06:35:18 UTC (rev 141859)
@@ -0,0 +1,48 @@
+(GraphicsLayer
+  (bounds 800.00 600.00)
+  (children 1
+(GraphicsLayer
+  (bounds 800.00 600.00)
+  (contentsOpaque 1)
+  (children 1
+(GraphicsLayer
+  (position 8.00 8.00)
+  (bounds 202.00 202.00)
+  (drawsContent 1)
+  (children 4
+(GraphicsLayer
+  (position 1.00 1.00)
+  (bounds 200.00 200.00)
+  (children 1
+(GraphicsLayer
+  (position 0.00 -25.00)
+  (bounds 185.00 1025.00)
+  (drawsContent 1)
+)
+  )
+)
+(GraphicsLayer
+  (position 1.00 186.00)
+  (bounds 185.00 15.00)
+  (drawsContent 1)
+)
+(GraphicsLayer
+  (position 186.00 1.00)
+  (bounds 15.00 185.00)
+  (drawsContent 1)
+  (repaint rects
+(rect 0.00 0.00 15.00 185.00)
+  )
+)
+(GraphicsLayer
+  (position 186.00 186.00)
+  (bounds 15.00 15.00)
+  (drawsContent 1)
+)
+  )
+)
+  )
+)
+  )
+)
+


Added: trunk/LayoutTests/platform/chromium-linux/compositing/overflow/updating-scrolling-content-expected.txt (0 => 141859)

--- trunk/LayoutTests/platform/chromium-linux/compositing/overflow/updating-scrolling-content-expected.txt	(rev 0)
+++ trunk/LayoutTests/platform/chromium-linux/compositing/overflow/updating-scrolling-content-expected.txt	2013-02-05 06:35:18 UTC (rev 141859)
@@ -0,0 +1,50 @@
+(Grap

[webkit-changes] [141861] trunk/LayoutTests

2013-02-04 Thread morrita
Title: [141861] trunk/LayoutTests








Revision 141861
Author morr...@google.com
Date 2013-02-04 23:28:55 -0800 (Mon, 04 Feb 2013)


Log Message
[Chromium] Unreviewed, skipping heap-snapshot-with-detached-dom-tree.html

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (141860 => 141861)

--- trunk/LayoutTests/ChangeLog	2013-02-05 06:53:56 UTC (rev 141860)
+++ trunk/LayoutTests/ChangeLog	2013-02-05 07:28:55 UTC (rev 141861)
@@ -1,3 +1,9 @@
+2013-02-04  Hajime Morrita morr...@google.com
+
+[Chromium] Unreviewed, skipping heap-snapshot-with-detached-dom-tree.html
+
+* platform/chromium/TestExpectations:
+
 2013-02-04  Hajime Morrita  morr...@google.com
 
 [Chromium] Unreviewed rebaselining.


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (141860 => 141861)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-05 06:53:56 UTC (rev 141860)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-05 07:28:55 UTC (rev 141861)
@@ -4336,3 +4336,5 @@
 
 webkit.org/b/108876 [ Linux ] media/track/track-cues-cuechange.html [ Slow ]
 webkit.org/b/108876 [ Linux ] media/track/track-cues-enter-exit.html [ Slow ]
+
+webkit.org/b/108912 inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree.html [ Pass Failure ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [141725] trunk/LayoutTests

2013-02-03 Thread morrita
Title: [141725] trunk/LayoutTests








Revision 141725
Author morr...@google.com
Date 2013-02-03 17:54:56 -0800 (Sun, 03 Feb 2013)


Log Message
[Chromium] Unreviewed, marking block-test.html as a fail.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (141724 => 141725)

--- trunk/LayoutTests/ChangeLog	2013-02-04 01:37:58 UTC (rev 141724)
+++ trunk/LayoutTests/ChangeLog	2013-02-04 01:54:56 UTC (rev 141725)
@@ -1,3 +1,9 @@
+2013-02-03  Hajime Morrita  morr...@google.com
+
+[Chromium] Unreviewed, marking block-test.html as a fail.
+
+* platform/chromium/TestExpectations:
+
 2013-02-03  Noel Gordon  noel.gor...@gmail.com
 
 [chromium] Skip editing/inserting/smart-link-when-caret-is-moved-before-URL.html


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (141724 => 141725)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-04 01:37:58 UTC (rev 141724)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-04 01:54:56 UTC (rev 141725)
@@ -1134,7 +1134,8 @@
 
 # Due to the differences in initialization checks in KURL and googleurl.
 # Note: this test was also marked as flaky on WIN RELEASE above, BUGCR31342.
-crbug.com/39423 security/block-test.html [ Timeout ]
+# See also https://webkit.org/b/108780
+crbug.com/39423 security/block-test.html [ Timeout Failure ]
 
 crbug.com/20345 http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html [ Failure ]
 webkit.org/b/42769 http/tests/security/401-logout/401-logout.php [ Timeout ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [141726] trunk/LayoutTests

2013-02-03 Thread morrita
Title: [141726] trunk/LayoutTests








Revision 141726
Author morr...@google.com
Date 2013-02-03 18:15:07 -0800 (Sun, 03 Feb 2013)


Log Message
[Chromium] Unreviewed, marking grid-preferred-logical-widths.html as a fail.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (141725 => 141726)

--- trunk/LayoutTests/ChangeLog	2013-02-04 01:54:56 UTC (rev 141725)
+++ trunk/LayoutTests/ChangeLog	2013-02-04 02:15:07 UTC (rev 141726)
@@ -1,3 +1,9 @@
+2013-02-03  Hajime Morrita morr...@google.com
+
+[Chromium] Unreviewed, marking grid-preferred-logical-widths.html as a fail.
+
+* platform/chromium/TestExpectations:
+
 2013-02-03  Hajime Morrita  morr...@google.com
 
 [Chromium] Unreviewed, marking block-test.html as a fail.


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (141725 => 141726)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-04 01:54:56 UTC (rev 141725)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-04 02:15:07 UTC (rev 141726)
@@ -4344,3 +4344,5 @@
 
 webkit.org/b/108424 media/video-error-does-not-exist.html [ Failure Crash ]
 webkit.org/b/108594 [ Debug ] tables/table-section-overflow-clip-crash.html [ Crash ]
+
+webkit.org/b/108781 [ Win ] fast/css-grid-layout/grid-preferred-logical-widths.html [ Timeout ]
\ No newline at end of file






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [141728] trunk/LayoutTests

2013-02-03 Thread morrita
Title: [141728] trunk/LayoutTests








Revision 141728
Author morr...@google.com
Date 2013-02-03 18:55:10 -0800 (Sun, 03 Feb 2013)


Log Message
[Chromium] Unreviewed rebaselining.

* platform/chromium-mac-lion/fast/css/resize-corner-tracking-transformed-iframe-expected.png: Added.

Modified Paths

trunk/LayoutTests/ChangeLog


Added Paths

trunk/LayoutTests/platform/chromium-mac-lion/fast/css/resize-corner-tracking-transformed-iframe-expected.png




Diff

Modified: trunk/LayoutTests/ChangeLog (141727 => 141728)

--- trunk/LayoutTests/ChangeLog	2013-02-04 02:16:45 UTC (rev 141727)
+++ trunk/LayoutTests/ChangeLog	2013-02-04 02:55:10 UTC (rev 141728)
@@ -1,3 +1,9 @@
+2013-02-03  Hajime Morrita  morr...@google.com
+
+[Chromium] Unreviewed rebaselining.
+
+* platform/chromium-mac-lion/fast/css/resize-corner-tracking-transformed-iframe-expected.png: Added.
+
 2013-02-03  Hajime Morrita morr...@google.com
 
 [Chromium] Unreviewed, marking grid-preferred-logical-widths.html as a fail.


Added: trunk/LayoutTests/platform/chromium-mac-lion/fast/css/resize-corner-tracking-transformed-iframe-expected.png (0 => 141728)

--- trunk/LayoutTests/platform/chromium-mac-lion/fast/css/resize-corner-tracking-transformed-iframe-expected.png	(rev 0)
+++ trunk/LayoutTests/platform/chromium-mac-lion/fast/css/resize-corner-tracking-transformed-iframe-expected.png	2013-02-04 02:55:10 UTC (rev 141728)
@@ -0,0 +1,82 @@
+\x89PNG
+
+
+IHDR X\x9Av\x82p)tEXtchecksum7effc48798d58699cb3761c544293e96\xDB\xC9\xFCm IDATx\x9C\xEC\xDD{|Tս\xF7\xF1\xDFNr3@@9\xB4OcHE{\xB0E\xC8\xF1V\xA8 \xD4\xE2\xE5\x9C\xC1V\xA8TK\xAD\xB5\x80\xB5\x{D875}\xA2=\xDEj\xBD\xB0\xF0\xD4\xD2@-E\x91\xAAPi+\x8A\x97*b\x8AQƠEk\x86\x84@\xEE\xF3}\xFE\xD8\xCC$\x99\\x89aef\xF2y\xBF^\xBE\xC6=3\xD9{\xED\xC9\xFA\xEE\xB5\xD6^\x9E$8\x90\xD4\xD9\xD0u@8C\xE0\x803\xCE@8C\xE0LJk_X\xB6l\x99\x8BrH\xDF\xF9\xCEwZ\xFC\xBC\xD5bf\xF6\x8Do|\xA3C
+\xA0k\xF3\x98	\x80+\x8C\xE0\x803\xCE@8C\xE0\x803\xCE@8C\xE0\x803\xCE@8C\xE0\x803\xCE@8C\xE0L\xDC\x90\xF8\xC0\x9Ey\xE6+..\xEE\xEC\xA2h\xA7V\xC8\xFC\xC7\xD8\xE0\xC1\x83-;;ۮ\xB9\xE6KNN\xB6\xCF\xFE\xF36m\xDA4\x9B0a\x82\x9Dt\xD2I\xB6jժZ\xC8E\x8Bٺu\xEB쥗^\xB2aÆYee\xE5\xA7^gm\xAD\xD9[o\x85\xEC\x89'\xAAm\xFF\xFEP\x94\xF2ӓ\xCCJK\xD5h\xF9\xE8Q\xB3g\x9E\xA9\xB1ŋ+\xAD\xA8(6\xCA\xFAi\xB4\xB6?55f{\xF6\x84l\xED\xDAj;p@M\xAC\xC1,#\x87!\xFA\x9CE\x8B\xA5\xEB,\xAF\xA3\xA6\xCE\xF3{\xB6\xB6\xED\xDF\xBF\xBFsg\xAD=\xF2H\x95\xBD\xF1F3?܊C\x87d\xF9K\xB5=\xFDt\xB59\xD2\xF8\xF3\xBD{C\xF6\xC7?V٫\xAF6\xBD\xFE\xD67\xF3\xAF\xFD;jm\xE7\xCE\x{195C7D}B\xB1\xF2*\x8E\x85B!۹s\xA7=\xF2\xC8#\xF6\xC6otZ9\xDE\xFF\xFDN\xDBv\xB4\x9A\x9A۳g\x8F\xAD]\xBB\xD68\xD0)eh\xEA\xDA~\xFD\xF5\xD7\xED\xF1\xC7\xE7\x86ЉZ
+ \xBDz\xF5\xB2ݻw[^^\x9E=\xFC\xF0\xC3ֽ{w3f\x8C=\xFA裶y\xF3f{\xE4\x91G\xAC\xBC\xBC\xBC\xDD8r\xE4\x88=\xF5\xD4S\xCD~~\xF8\xF0a\x9B?\xBE]\xFD\xF5\xF6\xF3\x9F\xFFܶn\xDDj'\x9DtR\xBB\xB7V^n\xB6ys\xB5}\xF3\x9Beֳ\xA7\xF7\xA9\xD7\xD7\xFE\xFC\xE7j[\xB2\xA4\xB2\xD1rR\x92Y Pk?\xFA\xD1QKK\x8B\x9BF\xABf\xB5\xB6?\x87\xCB\xBCʾ\xFD\xED2\xEB۷\xF1\xB9)(\xA8\xB5\xB4\xB4C\xF6\xC1\xCDW\xFC]\x89g\xD1b\xE9:\x8B\xB7\xEB(\xFA\xF8\xA1\xEC\xFB\xDF?j\xC8n\xB9\xA5\xDCz\xA8\xB2\xC5\xEF\xD7
+\xF9\xC1\xE5\x9Ak\x8EXr\xF2\xF1\x97\xE5\xC9'\xABm\xEA\xD42;\xE5\x94$\xFB\xDC\xE7\x92lƌ2\xFB\xF8cE\xD6\xFD\xBD\xEF\xB5\xCB.;l\xDF\xFF\xFEQ;\xEF\xBCR\xBB\xFB\xEE\x8A\xDBn\xE9\xF3\xB0ݻkm\xC1\x82r9\xB2\xD4\xFE\xDF\xFFs@
+
+
+,--\xCD\xF8\xE0g\xDBLD\xA1P\xC8\xDE{\xEF\xBDȍ\xBA\xCE2l\xD80{\xE7\x9Dw:m\xFB\xF5|\xD8\xFCq\xFB\xF6\xB7\xBFm}\xFB\xF6u\xBE\xFD\xA6\xAE\xED\xDF\xFC\xE67\xF6\xEC\xB3\xCFZqq\xB1͝;\xD7y\x99\xF8Z\xAD\x85̝;\xD7\xFA\xF7\xEF\xDF\xEC\xE7\x93M\xB2\x91#G\xB6k\xE3UUU6u\xEAT{\xED\xB5ך\xFDή]\xBB\xAC\xB6\xB6\xD6ϯ\xBC\x9Dq\xC6\xED\xDAV\xB4}\xCCz\xF7\xF6,++\xD9N9\xA5\xF9\x8Aa\xF4\x9D\xC8ygrŊJ\xCB\xC99\xA9\xD1r\x8F\xFE]\xF6ѣS\xEC\xE4\x93O\xD8\xE6\x9Dim\xFA\xF7\xF7\xACgO\xB3/L\xB1޽~\xC6\xC9v\xDF}=\xED\xD4S\xEBΛ\xEB;\xC6a\xD1\xE7,Z[\xAF3\xE2\xED:\x8A\xCFk\xD6T\xD9ѣ\xB2\xF3\xCFO\xB6\xEC\xEC\xEE\xF6ӟ\x967h	i\xEA\xBAKI1;rD\x96\x9E\x9EdÆ_\xE5p\xE7\xCEZ\xBB\xF2\xCA2\xFB\xC3\xFAؿ\xFD[\xB2
+\x96l\xA3G\xA7ؚ5Uff\xF6\xC8#U\xF6\xEDow\xB7\xB7\xDF\xEEk\x{1B371C}\xEEv\xCF=VVfm\xFAlذd7\xAE\x9B%'\x9BM\x98\xD0\xED\xB8\xCA\xF8i\x9Cq\xC6v\xDF}\xF7٩\xA7\x9E\xEAl\x9B\xB1f\xE7Ν\x9Fz)))v\xE4\xC8KOO\xB7aÆu@\xA9\xDA'--\xCDY\xEE\x88}k\xAF\xFE\xFD\xFB[Ϟ=\xED\xC2/\xB4\xDEM\xFD2?\xC1\xA2\xAF\xEDݻwۃhs\xE6̱Y\xB3f\xD9ҥK\x9D\x97	\x80/\xA5\xB5/\x8C=\xBA\xC5ϻu\xEBf\xE7\x9Dw\x9E\x99\xF9\xE34\xEE\xBB\xEF+,,\xB4C\x87\xD9o~\xF35j\x94\x99\x99\xAD^\xBD\xDAJJJ\xEC\xF0\xE1Ö\x97\x97g/\xBD\xF4\x92=\xF8\xE0\x83\xF6׿\xFE\xD58`EEE\xB6x\xF1\xE2\xBF\xA4\x96/_n\x8F?\xFE\xB8\xD5\xD4\xD4؜9s\xACgϞv\xCF=\xF7Xii\xA9\xFD\xECg?\xB3^\xBDz\xD9;\xEF\xBCc\x83\xB6{\xEE\xB9\xC7z\xF7\xEEm۶

[webkit-changes] [141737] trunk/LayoutTests

2013-02-03 Thread morrita
Title: [141737] trunk/LayoutTests








Revision 141737
Author morr...@google.com
Date 2013-02-03 22:02:17 -0800 (Sun, 03 Feb 2013)


Log Message
[Chromium] Unreviewed, marking terminate-during-sync-operation.html as timing out.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (141736 => 141737)

--- trunk/LayoutTests/ChangeLog	2013-02-04 05:59:19 UTC (rev 141736)
+++ trunk/LayoutTests/ChangeLog	2013-02-04 06:02:17 UTC (rev 141737)
@@ -1,3 +1,9 @@
+2013-02-03  Hajime Morrita morr...@google.com
+
+[Chromium] Unreviewed, marking terminate-during-sync-operation.html as timing out.
+
+* platform/chromium/TestExpectations:
+
 2013-02-03  Hajime Morrita  morr...@google.com
 
 [Chromium] Unreviewed rebaselining.


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (141736 => 141737)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-04 05:59:19 UTC (rev 141736)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-04 06:02:17 UTC (rev 141737)
@@ -4345,4 +4345,5 @@
 webkit.org/b/108424 media/video-error-does-not-exist.html [ Failure Crash ]
 webkit.org/b/108594 [ Debug ] tables/table-section-overflow-clip-crash.html [ Crash ]
 
-webkit.org/b/108781 [ Win ] fast/css-grid-layout/grid-preferred-logical-widths.html [ Timeout ]
\ No newline at end of file
+webkit.org/b/108781 [ Win ] fast/css-grid-layout/grid-preferred-logical-widths.html [ Timeout ]
+webkit.org/b/108789 [ Win Mac ] http/tests/workers/terminate-during-sync-operation.html [ Pass Timeout ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [141740] trunk/LayoutTests

2013-02-03 Thread morrita
Title: [141740] trunk/LayoutTests








Revision 141740
Author morr...@google.com
Date 2013-02-03 22:17:14 -0800 (Sun, 03 Feb 2013)


Log Message
[Chromium] Unreviewed, marking some as timing out.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (141739 => 141740)

--- trunk/LayoutTests/ChangeLog	2013-02-04 06:16:10 UTC (rev 141739)
+++ trunk/LayoutTests/ChangeLog	2013-02-04 06:17:14 UTC (rev 141740)
@@ -1,3 +1,9 @@
+2013-02-03  Hajime Morrita  morr...@google.com
+
+[Chromium] Unreviewed, marking some as timing out.
+
+* platform/chromium/TestExpectations:
+
 2013-02-03  Hajime Morrita morr...@google.com
 
 [Chromium] Unreviewed, marking terminate-during-sync-operation.html as timing out.


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (141739 => 141740)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-04 06:16:10 UTC (rev 141739)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-04 06:17:14 UTC (rev 141740)
@@ -3798,6 +3798,7 @@
 
 webkit.org/b/96441 [ Win Android Debug ] fast/hidpi/gradient-with-scaled-ancestor.html [ ImageOnlyFailure ]
 webkit.org/b/96441 [ Linux Win ] platform/chromium/virtual/gpu/fast/hidpi/gradient-with-scaled-ancestor.html [ ImageOnlyFailure ]
+webkit.org/b/96441 [ Win7 Debug ] platform/chromium/virtual/gpu/fast/hidpi/gradient-with-scaled-ancestor.html [ Timeout Pass ]
 
 webkit.org/b/96950 [ Linux ] http/tests/cache/cancel-during-revalidation-succeeded.html [ Failure Pass ]
 
@@ -4347,3 +4348,4 @@
 
 webkit.org/b/108781 [ Win ] fast/css-grid-layout/grid-preferred-logical-widths.html [ Timeout ]
 webkit.org/b/108789 [ Win Mac ] http/tests/workers/terminate-during-sync-operation.html [ Pass Timeout ]
+webkit.org/b/108790 [ Win7 Debug ] platform/chromium/virtual/gpu/fast/hidpi/gradient-with-scaled-ancestor.html [ Pass Timeout ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [141549] trunk/LayoutTests

2013-02-01 Thread morrita
Title: [141549] trunk/LayoutTests








Revision 141549
Author morr...@google.com
Date 2013-02-01 00:30:09 -0800 (Fri, 01 Feb 2013)


Log Message
Unreviewed, rebaselining a result.

* platform/chromium/fast/js/kde/inbuilt_function_tostring-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/fast/js/kde/inbuilt_function_tostring-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (141548 => 141549)

--- trunk/LayoutTests/ChangeLog	2013-02-01 08:27:10 UTC (rev 141548)
+++ trunk/LayoutTests/ChangeLog	2013-02-01 08:30:09 UTC (rev 141549)
@@ -1,3 +1,9 @@
+2013-02-01  Hajime Morrita  morr...@google.com
+
+Unreviewed, rebaselining a result.
+
+* platform/chromium/fast/js/kde/inbuilt_function_tostring-expected.txt:
+
 2013-02-01  Vsevolod Vlasov  vse...@chromium.org
 
 Web Inspector: Use String.prototype.startsWith instead of String.prototype.indexOf when possible


Modified: trunk/LayoutTests/platform/chromium/fast/js/kde/inbuilt_function_tostring-expected.txt (141548 => 141549)

--- trunk/LayoutTests/platform/chromium/fast/js/kde/inbuilt_function_tostring-expected.txt	2013-02-01 08:27:10 UTC (rev 141548)
+++ trunk/LayoutTests/platform/chromium/fast/js/kde/inbuilt_function_tostring-expected.txt	2013-02-01 08:30:09 UTC (rev 141549)
@@ -63,7 +63,7 @@
 PASS StripSpaces(Boolean.prototype.toString.toString()) is functiontoString(){[nativecode]}
 PASS StripSpaces(Boolean.prototype.valueOf.toString()) is functionvalueOf(){[nativecode]}
 PASS StripSpaces(Number.prototype.toString.toString()) is functiontoString(){[nativecode]}
-FAIL StripSpaces(Number.prototype.toLocaleString.toString()) should be functiontoLocaleString(){[nativecode]}. Was function(locales,options){returnformatNumber(newnumberFormat(locales,options),this)}.
+FAIL StripSpaces(Number.prototype.toLocaleString.toString()) should be functiontoLocaleString(){[nativecode]}. Was function(locales,options){varnumberFormat=cachedOrNewService('numberformat',locales,options)returnformatNumber(numberFormat,this)}.
 PASS StripSpaces(Number.prototype.valueOf.toString()) is functionvalueOf(){[nativecode]}
 PASS StripSpaces(Number.prototype.toFixed.toString()) is functiontoFixed(){[nativecode]}
 PASS StripSpaces(Number.prototype.toExponential.toString()) is functiontoExponential(){[nativecode]}
@@ -90,9 +90,9 @@
 PASS StripSpaces(Date.prototype.toUTCString.toString()) is functiontoUTCString(){[nativecode]}
 PASS StripSpaces(Date.prototype.toDateString.toString()) is functiontoDateString(){[nativecode]}
 PASS StripSpaces(Date.prototype.toTimeString.toString()) is functiontoTimeString(){[nativecode]}
-FAIL StripSpaces(Date.prototype.toLocaleString.toString()) should be functiontoLocaleString(){[nativecode]}. Was function(locales,options){returntoLocaleDateTime(this,locales,options,'any','all')}.
-FAIL StripSpaces(Date.prototype.toLocaleDateString.toString()) should be functiontoLocaleDateString(){[nativecode]}. Was function(locales,options){returntoLocaleDateTime(this,locales,options,'date','date')}.
-FAIL StripSpaces(Date.prototype.toLocaleTimeString.toString()) should be functiontoLocaleTimeString(){[nativecode]}. Was function(locales,options){returntoLocaleDateTime(this,locales,options,'time','time')}.
+FAIL StripSpaces(Date.prototype.toLocaleString.toString()) should be functiontoLocaleString(){[nativecode]}. Was function(locales,options){returntoLocaleDateTime(this,locales,options,'any','all','dateformatall')}.
+FAIL StripSpaces(Date.prototype.toLocaleDateString.toString()) should be functiontoLocaleDateString(){[nativecode]}. Was function(locales,options){returntoLocaleDateTime(this,locales,options,'date','date','dateformatdate')}.
+FAIL StripSpaces(Date.prototype.toLocaleTimeString.toString()) should be functiontoLocaleTimeString(){[nativecode]}. Was function(locales,options){returntoLocaleDateTime(this,locales,options,'time','time','dateformattime')}.
 PASS StripSpaces(Date.prototype.valueOf.toString()) is functionvalueOf(){[nativecode]}
 PASS StripSpaces(Date.prototype.getTime.toString()) is functiongetTime(){[nativecode]}
 PASS StripSpaces(Date.prototype.getFullYear.toString()) is functiongetFullYear(){[nativecode]}






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [141552] trunk/LayoutTests

2013-02-01 Thread morrita
Title: [141552] trunk/LayoutTests








Revision 141552
Author morr...@google.com
Date 2013-02-01 00:44:31 -0800 (Fri, 01 Feb 2013)


Log Message
[Chromium] Unreviewed, marking table-section-overflow-clip-crash.html failed.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (141551 => 141552)

--- trunk/LayoutTests/ChangeLog	2013-02-01 08:44:24 UTC (rev 141551)
+++ trunk/LayoutTests/ChangeLog	2013-02-01 08:44:31 UTC (rev 141552)
@@ -1,3 +1,9 @@
+2013-02-01  Hajime Morrita  morr...@google.com 
+
+[Chromium] Unreviewed, marking table-section-overflow-clip-crash.html failed.
+
+* platform/chromium/TestExpectations:
+
 2013-02-01  Hajime Morrita  morr...@google.com
 
 Unreviewed, rebaselining a result.


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (141551 => 141552)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-01 08:44:24 UTC (rev 141551)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-01 08:44:31 UTC (rev 141552)
@@ -4355,3 +4355,4 @@
 
 webkit.org/b/108424 media/video-error-does-not-exist.html [ Failure Crash ]
 webkit.org/b/108566 platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations.html [ Failure ]
+webkit.org/b/108594 [ Debug ] tables/table-section-overflow-clip-crash.html [ Crash ]
\ No newline at end of file






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [141527] trunk/LayoutTests

2013-01-31 Thread morrita
Title: [141527] trunk/LayoutTests








Revision 141527
Author morr...@google.com
Date 2013-01-31 19:51:12 -0800 (Thu, 31 Jan 2013)


Log Message
[Chromium] Unreviewed, marking a failing test.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (141526 => 141527)

--- trunk/LayoutTests/ChangeLog	2013-02-01 03:28:33 UTC (rev 141526)
+++ trunk/LayoutTests/ChangeLog	2013-02-01 03:51:12 UTC (rev 141527)
@@ -1,3 +1,9 @@
+2013-01-31  Hajime Morrita  morr...@google.com
+
+[Chromium] Unreviewed, marking a failing test.
+
+* platform/chromium/TestExpectations:
+
 2013-01-31  Sheriff Bot  webkit.review@gmail.com
 
 Unreviewed, rolling out r141479.


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (141526 => 141527)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-01 03:28:33 UTC (rev 141526)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-01 03:51:12 UTC (rev 141527)
@@ -4364,3 +4364,4 @@
 webkit.org/b/108370 editing/spelling/spelling-with-whitespace-selection.html [ Failure ]
 
 webkit.org/b/108424 media/video-error-does-not-exist.html [ Failure Crash ]
+webkit.org/b/108566 platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations.html [ Failure ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [141532] trunk/LayoutTests

2013-01-31 Thread morrita
Title: [141532] trunk/LayoutTests








Revision 141532
Author morr...@google.com
Date 2013-01-31 20:20:01 -0800 (Thu, 31 Jan 2013)


Log Message
[Chromium] Unreviewed, rebaselining expectations.

* platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-e-expected.txt: Added.
* platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-n-expected.txt: Added.
* platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-s-expected.txt: Added.
* platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-w-expected.txt: Added.

Modified Paths

trunk/LayoutTests/ChangeLog


Added Paths

trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/
trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-e-expected.txt
trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-n-expected.txt
trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-s-expected.txt
trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-w-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (141531 => 141532)

--- trunk/LayoutTests/ChangeLog	2013-02-01 04:03:04 UTC (rev 141531)
+++ trunk/LayoutTests/ChangeLog	2013-02-01 04:20:01 UTC (rev 141532)
@@ -1,3 +1,12 @@
+2013-01-31  Hajime Morrita  morr...@google.com
+
+[Chromium] Unreviewed, rebaselining expectations.
+
+* platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-e-expected.txt: Added.
+* platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-n-expected.txt: Added.
+* platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-s-expected.txt: Added.
+* platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-w-expected.txt: Added.
+
 2013-01-31  Victor Carbune  vcarb...@chromium.org
 
 [Track] Closed Caption button shouldn't be visible if all the track resources have failed loading


Added: trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-e-expected.txt (0 => 141532)

--- trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-e-expected.txt	(rev 0)
+++ trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-e-expected.txt	2013-02-01 04:20:01 UTC (rev 141532)
@@ -0,0 +1,10 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x64
+  RenderBlock {HTML} at (0,0) size 800x64
+RenderBody {BODY} at (8,8) size 784x48
+  RenderBlock {DIV} at (0,0) size 784x30 [bgcolor=#00]
+  RenderBlock {DIV} at (0,30) size 784x18
+RenderText {#text} at (0,0) size 148x18
+  text run at (0,0) width 148: This test requires DRT.
+scrolled to 100,0


Added: trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-n-expected.txt (0 => 141532)

--- trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-n-expected.txt	(rev 0)
+++ trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-n-expected.txt	2013-02-01 04:20:01 UTC (rev 141532)
@@ -0,0 +1,9 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x64
+  RenderBlock {HTML} at (0,0) size 800x64
+RenderBody {BODY} at (8,8) size 784x48
+  RenderBlock {DIV} at (0,0) size 784x30 [bgcolor=#00]
+  RenderBlock {DIV} at (0,30) size 784x18
+RenderText {#text} at (0,0) size 148x18
+  text run at (0,0) width 148: This test requires DRT.


Added: trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-s-expected.txt (0 => 141532)

--- trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-s-expected.txt	(rev 0)
+++ trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-s-expected.txt	2013-02-01 04:20:01 UTC (rev 141532)
@@ -0,0 +1,10 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x64
+  RenderBlock {HTML} at (0,0) size 800x64
+RenderBody {BODY} at (8,8) size 784x48
+  RenderBlock {DIV} at (0,0) size 784x30 [bgcolor=#00]
+  RenderBlock {DIV} at (0,30) size 784x18
+RenderText {#text} at (0,0) size 148x18
+  text run at (0,0) width 148: This test requires DRT.
+scrolled to 0,100


Added: trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-w-expected.txt (0 => 141532)

--- trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-w-expected.txt	(rev 0)
+++ trunk/LayoutTests/platform/chromium-mac/platform/chromium/rubberbanding/event-overhang-w-expected.txt	2013-02-01 04:20:01 UTC (rev 141532)
@@ -0,0 +1,9 @@
+layer at (0,

[webkit-changes] [141535] trunk/Source/WebKit/chromium

2013-01-31 Thread morrita
Title: [141535] trunk/Source/WebKit/chromium








Revision 141535
Author morr...@google.com
Date 2013-01-31 21:37:58 -0800 (Thu, 31 Jan 2013)


Log Message
Unreviewed, disabling failing test.

* tests/WebFrameTest.cpp:

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/WebFrameTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (141534 => 141535)

--- trunk/Source/WebKit/chromium/ChangeLog	2013-02-01 05:01:35 UTC (rev 141534)
+++ trunk/Source/WebKit/chromium/ChangeLog	2013-02-01 05:37:58 UTC (rev 141535)
@@ -1,3 +1,9 @@
+2013-01-31  Hajime Morrita  morr...@google.com
+
+Unreviewed, disabling failing test.
+
+* tests/WebFrameTest.cpp:
+
 2013-01-31  Sheriff Bot  webkit.review@gmail.com
 
 Unreviewed, rolling out r141479.


Modified: trunk/Source/WebKit/chromium/tests/WebFrameTest.cpp (141534 => 141535)

--- trunk/Source/WebKit/chromium/tests/WebFrameTest.cpp	2013-02-01 05:01:35 UTC (rev 141534)
+++ trunk/Source/WebKit/chromium/tests/WebFrameTest.cpp	2013-02-01 05:37:58 UTC (rev 141535)
@@ -1319,7 +1319,12 @@
 int m_count;
 };
 
+// This fails on Mac https://bugs.webkit.org/show_bug.cgi?id=108574
+#if OS(DARWIN)
+TEST_F(WebFrameTest, DISABLED_FindInPageMatchRects)
+#else
 TEST_F(WebFrameTest, FindInPageMatchRects)
+#endif
 {
 registerMockedHttpURLLoad(find_in_page.html);
 registerMockedHttpURLLoad(find_in_page_frame.html);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [141538] trunk/Source/WebKit/chromium

2013-01-31 Thread morrita
Title: [141538] trunk/Source/WebKit/chromium








Revision 141538
Author morr...@google.com
Date 2013-01-31 22:36:02 -0800 (Thu, 31 Jan 2013)


Log Message
Unreviewed, followup fix for r141535.

* tests/WebFrameTest.cpp:

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/WebFrameTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (141537 => 141538)

--- trunk/Source/WebKit/chromium/ChangeLog	2013-02-01 06:28:28 UTC (rev 141537)
+++ trunk/Source/WebKit/chromium/ChangeLog	2013-02-01 06:36:02 UTC (rev 141538)
@@ -1,3 +1,9 @@
+2013-01-31  Hajime Morrita  morr...@google.com 
+
+Unreviewed, followup fix for r141535.
+
+* tests/WebFrameTest.cpp:
+
 2013-01-31  Sheriff Bot  webkit.review@gmail.com
 
 Unreviewed.  Rolled Chromium DEPS to r180023.  Requested by


Modified: trunk/Source/WebKit/chromium/tests/WebFrameTest.cpp (141537 => 141538)

--- trunk/Source/WebKit/chromium/tests/WebFrameTest.cpp	2013-02-01 06:28:28 UTC (rev 141537)
+++ trunk/Source/WebKit/chromium/tests/WebFrameTest.cpp	2013-02-01 06:36:02 UTC (rev 141538)
@@ -61,6 +61,7 @@
 #include public/WebFloatRect.h
 #include public/WebURLResponse.h
 #include webkit/support/webkit_support.h
+#include wtf/Forward.h
 
 using namespace WebKit;
 using WebCore::FloatRect;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [141369] trunk/Tools

2013-01-30 Thread morrita
Title: [141369] trunk/Tools








Revision 141369
Author morr...@google.com
Date 2013-01-30 20:42:29 -0800 (Wed, 30 Jan 2013)


Log Message
Unreviewed test failure fix for r141341.

* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):
* Scripts/webkitpy/tool/steps/runtests_unittest.py:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/tool/steps/runtests.py
trunk/Tools/Scripts/webkitpy/tool/steps/runtests_unittest.py




Diff

Modified: trunk/Tools/ChangeLog (141368 => 141369)

--- trunk/Tools/ChangeLog	2013-01-31 04:32:21 UTC (rev 141368)
+++ trunk/Tools/ChangeLog	2013-01-31 04:42:29 UTC (rev 141369)
@@ -1,3 +1,11 @@
+2013-01-30  Hajime Morrita  morr...@google.com
+
+Unreviewed test failure fix for r141341.
+
+* Scripts/webkitpy/tool/steps/runtests.py:
+(RunTests.run):
+* Scripts/webkitpy/tool/steps/runtests_unittest.py:
+
 2013-01-30  Levi Weintraub  le...@chromium.org
 
 [Chromium] WebPluginContainerImpl adding imbalanced touch handler refs


Modified: trunk/Tools/Scripts/webkitpy/tool/steps/runtests.py (141368 => 141369)

--- trunk/Tools/Scripts/webkitpy/tool/steps/runtests.py	2013-01-31 04:32:21 UTC (rev 141368)
+++ trunk/Tools/Scripts/webkitpy/tool/steps/runtests.py	2013-01-31 04:42:29 UTC (rev 141369)
@@ -90,8 +90,9 @@
 --quiet,
 ])
 
-if sys.platform != cygwin:
-args.append(--skip-failing-test)
+if sys.platform != cygwin:
+args.append(--skip-failing-test)
+
 if self._options.quiet:
 args.append(--quiet)
 


Modified: trunk/Tools/Scripts/webkitpy/tool/steps/runtests_unittest.py (141368 => 141369)

--- trunk/Tools/Scripts/webkitpy/tool/steps/runtests_unittest.py	2013-01-31 04:32:21 UTC (rev 141368)
+++ trunk/Tools/Scripts/webkitpy/tool/steps/runtests_unittest.py	2013-01-31 04:42:29 UTC (rev 141369)
@@ -41,6 +41,6 @@
 expected_logs = Running WebKit unit tests
 MOCK run_and_throw_if_fail: ['mock-run-webkit-unit-tests'], cwd=/mock-checkout
 Running run-webkit-tests
-MOCK run_and_throw_if_fail: ['mock-run-webkit-tests', '--no-new-test-results', '--no-show-results', '--skip-failing-tests', '--exit-after-n-failures=30', '--quiet'], cwd=/mock-checkout
+MOCK run_and_throw_if_fail: ['mock-run-webkit-tests', '--no-new-test-results', '--no-show-results', '--exit-after-n-failures=30', '--quiet', '--skip-failing-test'], cwd=/mock-checkout
 
 OutputCapture().assert_outputs(self, step.run, [{}], expected_logs=expected_logs)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [141379] trunk/LayoutTests

2013-01-30 Thread morrita
Title: [141379] trunk/LayoutTests








Revision 141379
Author morr...@google.com
Date 2013-01-30 22:05:23 -0800 (Wed, 30 Jan 2013)


Log Message
[Chromium] Unreviewed, marking video-error-does-not-exist.html as a fail.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (141378 => 141379)

--- trunk/LayoutTests/ChangeLog	2013-01-31 06:00:52 UTC (rev 141378)
+++ trunk/LayoutTests/ChangeLog	2013-01-31 06:05:23 UTC (rev 141379)
@@ -1,3 +1,9 @@
+2013-01-30  Hajime Morrita  morr...@google.com
+
+[Chromium] Unreviewed, marking video-error-does-not-exist.html as a fail.
+
+* platform/chromium/TestExpectations:
+
 2013-01-30  Kent Tamura  tk...@chromium.org
 
 [Chromium] Rebaline for form-related tests


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (141378 => 141379)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-01-31 06:00:52 UTC (rev 141378)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-01-31 06:05:23 UTC (rev 141379)
@@ -4404,3 +4404,5 @@
 webkit.org/b/108370 editing/spelling/spelling-with-punctuation-selection.html [ Skip ]
 webkit.org/b/108370 editing/spelling/spelling-with-underscore-selection.html [ Skip ]
 webkit.org/b/108370 editing/spelling/spelling-with-whitespace-selection.html [ Skip ]
+
+webkit.org/b/108424 media/video-error-does-not-exist.html [ Failure ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [140659] trunk/Source

2013-01-24 Thread morrita
Title: [140659] trunk/Source








Revision 140659
Author morr...@google.com
Date 2013-01-24 00:23:16 -0800 (Thu, 24 Jan 2013)


Log Message
There are a few of wrong removeAllChildren() call
https://bugs.webkit.org/show_bug.cgi?id=107790

Reviewed by Ryosuke Niwa.

Source/WebCore:

removeAllChildren() is designed for trashing deleting children out.
It doesn't detach() children and could have possible leak.
This change replaces such removeAllChildren() usage with safer removeChildren().

No new tests. Covered by existing tests.

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseAttribute):
* html/InputType.cpp:
(WebCore::InputType::destroyShadowSubtree):
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::setMessageDOMAndStartTimer):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):

Source/WebKit/qt:

* Api/qwebelement.cpp: Repalced removeAllChildren() with safer removeChildren()
(QWebElement::removeAllChildren):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLInputElement.cpp
trunk/Source/WebCore/html/InputType.cpp
trunk/Source/WebCore/html/ValidationMessage.cpp
trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp
trunk/Source/WebKit/qt/Api/qwebelement.cpp
trunk/Source/WebKit/qt/ChangeLog




Diff

Modified: trunk/Source/WebCore/ChangeLog (140658 => 140659)

--- trunk/Source/WebCore/ChangeLog	2013-01-24 08:16:00 UTC (rev 140658)
+++ trunk/Source/WebCore/ChangeLog	2013-01-24 08:23:16 UTC (rev 140659)
@@ -1,3 +1,25 @@
+2013-01-24  Hajime Morrita  morr...@google.com
+
+There are a few of wrong removeAllChildren() call
+https://bugs.webkit.org/show_bug.cgi?id=107790
+
+Reviewed by Ryosuke Niwa.
+
+removeAllChildren() is designed for trashing deleting children out.
+It doesn't detach() children and could have possible leak.
+This change replaces such removeAllChildren() usage with safer removeChildren().
+
+No new tests. Covered by existing tests.
+
+* html/HTMLInputElement.cpp:
+(WebCore::HTMLInputElement::parseAttribute):
+* html/InputType.cpp:
+(WebCore::InputType::destroyShadowSubtree):
+* html/ValidationMessage.cpp:
+(WebCore::ValidationMessage::setMessageDOMAndStartTimer):
+* html/parser/HTMLTreeBuilder.cpp:
+(WebCore::HTMLTreeBuilder::processEndTag):
+
 2013-01-24  Dominic Mazzoni  dmazz...@google.com
 
 AX: should init an AXObject only after AXObjectCache has added it


Modified: trunk/Source/WebCore/html/HTMLInputElement.cpp (140658 => 140659)

--- trunk/Source/WebCore/html/HTMLInputElement.cpp	2013-01-24 08:16:00 UTC (rev 140658)
+++ trunk/Source/WebCore/html/HTMLInputElement.cpp	2013-01-24 08:23:16 UTC (rev 140659)
@@ -752,7 +752,8 @@
 detach();
 m_inputType-destroyShadowSubtree();
 m_inputType-createShadowSubtree();
-attach();
+if (!attached())
+attach();
 } else {
 m_inputType-destroyShadowSubtree();
 m_inputType-createShadowSubtree();


Modified: trunk/Source/WebCore/html/InputType.cpp (140658 => 140659)

--- trunk/Source/WebCore/html/InputType.cpp	2013-01-24 08:16:00 UTC (rev 140658)
+++ trunk/Source/WebCore/html/InputType.cpp	2013-01-24 08:23:16 UTC (rev 140659)
@@ -489,14 +489,14 @@
 if (!root)
 return;
 
-root-removeAllChildren();
+root-removeChildren();
 
 // It's ok to clear contents of all other ShadowRoots because they must have
 // been created by TextFieldDecorationElement, and we don't allow adding
 // AuthorShadowRoot to HTMLInputElement.
 while ((root = root-youngerShadowRoot())) {
 #if ENABLE(SHADOW_DOM)
-root-removeAllChildren();
+root-removeChildren();
 root-appendChild(HTMLShadowElement::create(shadowTag, element()-document()));
 #else
 ASSERT_NOT_REACHED();


Modified: trunk/Source/WebCore/html/ValidationMessage.cpp (140658 => 140659)

--- trunk/Source/WebCore/html/ValidationMessage.cpp	2013-01-24 08:16:00 UTC (rev 140658)
+++ trunk/Source/WebCore/html/ValidationMessage.cpp	2013-01-24 08:23:16 UTC (rev 140659)
@@ -125,8 +125,8 @@
 ASSERT(!validationMessageClient());
 ASSERT(m_messageHeading);
 ASSERT(m_messageBody);
-m_messageHeading-removeAllChildren();
-m_messageBody-removeAllChildren();
+m_messageHeading-removeChildren();
+m_messageBody-removeChildren();
 VectorString lines;
 m_message.split('\n', lines);
 Document* doc = m_messageHeading-document();


Modified: trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp (140658 => 140659)

--- trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp	2013-01-24 08:16:00 UTC (rev 140658)
+++ trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp	2013-01-24 08:23:16 UTC (rev 140659)
@@ -2152,7 +2152,7 @@
 m_scriptToProcess = m_tree.currentElement();
 m_tree.ope

[webkit-changes] [140784] trunk/Source/WebCore

2013-01-24 Thread morrita
Title: [140784] trunk/Source/WebCore








Revision 140784
Author morr...@google.com
Date 2013-01-24 22:45:39 -0800 (Thu, 24 Jan 2013)


Log Message
Refactoring: The name ContainerNode::removeChildren and ContainerNde::removeAllChilren() is confusing
https://bugs.webkit.org/show_bug.cgi?id=107640

Reviewed by Eric Seidel.

This change renames unsafe removeAllChilren() function to
removeDetachedChildren() and move it to protected visibility.

In theory, the removed nodes should be detached() before. But some
tests violates that assumption. It should be fixed.

No new tests. No behavior change.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeDetachedChildren):
(WebCore::ContainerNode::takeAllChildrenFrom):
(WebCore::ContainerNode::~ContainerNode):
* dom/ContainerNode.h:
(ContainerNode):
* dom/ContainerNodeAlgorithms.h:
(WebCore::removeDetachedChildrenInContainer):
(WebCore):
* dom/Document.cpp:
(WebCore::Document::removedLastRef):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::~ShadowRoot):
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::detach):
* svg/SVGElementInstance.h:
(SVGElementInstance):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContainerNode.cpp
trunk/Source/WebCore/dom/ContainerNode.h
trunk/Source/WebCore/dom/ContainerNodeAlgorithms.h
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/ShadowRoot.cpp
trunk/Source/WebCore/svg/SVGElementInstance.cpp
trunk/Source/WebCore/svg/SVGElementInstance.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (140783 => 140784)

--- trunk/Source/WebCore/ChangeLog	2013-01-25 06:38:54 UTC (rev 140783)
+++ trunk/Source/WebCore/ChangeLog	2013-01-25 06:45:39 UTC (rev 140784)
@@ -1,3 +1,36 @@
+2013-01-24  Hajime Morrita  morr...@google.com
+
+Refactoring: The name ContainerNode::removeChildren and ContainerNde::removeAllChilren() is confusing
+https://bugs.webkit.org/show_bug.cgi?id=107640
+
+Reviewed by Eric Seidel.
+
+This change renames unsafe removeAllChilren() function to
+removeDetachedChildren() and move it to protected visibility.
+
+In theory, the removed nodes should be detached() before. But some
+tests violates that assumption. It should be fixed.
+
+No new tests. No behavior change.
+
+* dom/ContainerNode.cpp:
+(WebCore::ContainerNode::removeDetachedChildren):
+(WebCore::ContainerNode::takeAllChildrenFrom):
+(WebCore::ContainerNode::~ContainerNode):
+* dom/ContainerNode.h:
+(ContainerNode):
+* dom/ContainerNodeAlgorithms.h:
+(WebCore::removeDetachedChildrenInContainer):
+(WebCore):
+* dom/Document.cpp:
+(WebCore::Document::removedLastRef):
+* dom/ShadowRoot.cpp:
+(WebCore::ShadowRoot::~ShadowRoot):
+* svg/SVGElementInstance.cpp:
+(WebCore::SVGElementInstance::detach):
+* svg/SVGElementInstance.h:
+(SVGElementInstance):
+
 2013-01-24  Keishi Hattori  kei...@webkit.org
 
 Adjust design of the Calendar Picker


Modified: trunk/Source/WebCore/dom/ContainerNode.cpp (140783 => 140784)

--- trunk/Source/WebCore/dom/ContainerNode.cpp	2013-01-25 06:38:54 UTC (rev 140783)
+++ trunk/Source/WebCore/dom/ContainerNode.cpp	2013-01-25 06:45:39 UTC (rev 140784)
@@ -90,16 +90,17 @@
 toContainerNode(node)-removeChildren();
 }
 
-void ContainerNode::removeAllChildren()
+void ContainerNode::removeDetachedChildren()
 {
-removeAllChildrenInContainerNode, ContainerNode(this);
+// FIXME: We should be able to ASSERT(!attached()) here: https://bugs.webkit.org/show_bug.cgi?id=107801
+removeDetachedChildrenInContainerNode, ContainerNode(this);
 }
 
 void ContainerNode::takeAllChildrenFrom(ContainerNode* oldParent)
 {
 NodeVector children;
 getChildNodes(oldParent, children);
-oldParent-removeAllChildren();
+oldParent-removeDetachedChildren();
 
 for (unsigned i = 0; i  children.size(); ++i) {
 ExceptionCode ec = 0;
@@ -123,7 +124,7 @@
 if (AXObjectCache::accessibilityEnabled()  documentInternal()  documentInternal()-axObjectCacheExists())
 documentInternal()-axObjectCache()-remove(this);
 
-removeAllChildren();
+removeDetachedChildren();
 }
 
 static inline bool isChildTypeAllowed(ContainerNode* newParent, Node* child)


Modified: trunk/Source/WebCore/dom/ContainerNode.h (140783 => 140784)

--- trunk/Source/WebCore/dom/ContainerNode.h	2013-01-25 06:38:54 UTC (rev 140783)
+++ trunk/Source/WebCore/dom/ContainerNode.h	2013-01-25 06:45:39 UTC (rev 140784)
@@ -101,11 +101,7 @@
 void parserRemoveChild(Node*);
 void parserInsertBefore(PassRefPtrNode newChild, Node* refChild);
 
-// FIXME: It's not good to have two functions with such similar names, especially public functions.
-// How do removeChildren and removeAllChildren differ?
 void removeChildren();
-void removeAllChildren();
-
 void takeAllChildrenFrom(ContainerNode*);
 

[webkit-changes] [140520] trunk

2013-01-23 Thread morrita
Title: [140520] trunk








Revision 140520
Author morr...@google.com
Date 2013-01-23 00:37:56 -0800 (Wed, 23 Jan 2013)


Log Message
Invalidated SVG shadow tree should be always detached.
https://bugs.webkit.org/show_bug.cgi?id=107634

Reviewed by Ryosuke Niwa.

Source/WebCore:

SVGUseElement::clearResourceReferences() uses removeAllChildren() for
clearing its shadow DOM, but this is wrong.
removeAllChildren() is designed for removing children of an out-of-document Node.
For efficiency, it skips a series of cleanup sequences like detach().

For removing SVG shadow tree which is in Document, removeChildren() should be used.
It does proper cleanup for the chilren.

Test: svg/custom/use-invalidate-click-crash.xhtml

* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::clearResourceReferences):

LayoutTests:

* svg/custom/use-invalidate-click-crash-expected.txt: Added.
* svg/custom/use-invalidate-click-crash.xhtml: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/svg/SVGUseElement.cpp


Added Paths

trunk/LayoutTests/svg/custom/use-invalidate-click-crash-expected.txt
trunk/LayoutTests/svg/custom/use-invalidate-click-crash.xhtml




Diff

Modified: trunk/LayoutTests/ChangeLog (140519 => 140520)

--- trunk/LayoutTests/ChangeLog	2013-01-23 08:34:16 UTC (rev 140519)
+++ trunk/LayoutTests/ChangeLog	2013-01-23 08:37:56 UTC (rev 140520)
@@ -1,3 +1,13 @@
+2013-01-23  Hajime Morrita  morr...@google.com
+
+Invalidated SVG shadow tree should be always detached.
+https://bugs.webkit.org/show_bug.cgi?id=107634
+
+Reviewed by Ryosuke Niwa.
+
+* svg/custom/use-invalidate-click-crash-expected.txt: Added.
+* svg/custom/use-invalidate-click-crash.xhtml: Added.
+
 2013-01-23  Seokju Kwon  seokju.k...@gmail.com
 
 [EFL] Gardening for some inspector tests


Added: trunk/LayoutTests/svg/custom/use-invalidate-click-crash-expected.txt (0 => 140520)

--- trunk/LayoutTests/svg/custom/use-invalidate-click-crash-expected.txt	(rev 0)
+++ trunk/LayoutTests/svg/custom/use-invalidate-click-crash-expected.txt	2013-01-23 08:37:56 UTC (rev 140520)
@@ -0,0 +1 @@
+PASS


Added: trunk/LayoutTests/svg/custom/use-invalidate-click-crash.xhtml (0 => 140520)

--- trunk/LayoutTests/svg/custom/use-invalidate-click-crash.xhtml	(rev 0)
+++ trunk/LayoutTests/svg/custom/use-invalidate-click-crash.xhtml	2013-01-23 08:37:56 UTC (rev 140520)
@@ -0,0 +1,32 @@
+html
+body id=body
+svg xmlns:xlink=http://www.w3.org/1999/xlink xmlns=http://www.w3.org/2000/svg
+
+symbol id=target
+  text font-size=172cmY/text
+/symbol
+use xlink:href="" 
+
+script![CDATA[
+function keyDownMouseClick(x1, y1, x2, y2)
+{
+if (!window.eventSender)
+return;
+eventSender.mouseDown();
+eventSender.mouseMoveTo(x2, y2);
+eventSender.mouseUp();
+}
+
+if (window.testRunner)
+   testRunner.dumpAsText();
+
+var target = document.getElementById(target);
+keyDownMouseClick(333, 357, 155, 174);
+target.textContent = ;
+keyDownMouseClick(115, 317, -16, -2);
+
+document.getElementById(body).textContent = PASS
+]]/script
+/svg
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (140519 => 140520)

--- trunk/Source/WebCore/ChangeLog	2013-01-23 08:34:16 UTC (rev 140519)
+++ trunk/Source/WebCore/ChangeLog	2013-01-23 08:37:56 UTC (rev 140520)
@@ -1,3 +1,23 @@
+2013-01-23  Hajime Morrita  morr...@google.com
+
+Invalidated SVG shadow tree should be always detached.
+https://bugs.webkit.org/show_bug.cgi?id=107634
+
+Reviewed by Ryosuke Niwa.
+
+SVGUseElement::clearResourceReferences() uses removeAllChildren() for
+clearing its shadow DOM, but this is wrong.
+removeAllChildren() is designed for removing children of an out-of-document Node.
+For efficiency, it skips a series of cleanup sequences like detach().
+
+For removing SVG shadow tree which is in Document, removeChildren() should be used.
+It does proper cleanup for the chilren.
+
+Test: svg/custom/use-invalidate-click-crash.xhtml
+
+* svg/SVGUseElement.cpp:
+(WebCore::SVGUseElement::clearResourceReferences):
+
 2013-01-23  Huang Dongsung  luxte...@company100.net
 
 [TexMap] Don't call GraphicsLayer::setNeedsDisplay() from TextureMapperLayer.


Modified: trunk/Source/WebCore/svg/SVGUseElement.cpp (140519 => 140520)

--- trunk/Source/WebCore/svg/SVGUseElement.cpp	2013-01-23 08:34:16 UTC (rev 140519)
+++ trunk/Source/WebCore/svg/SVGUseElement.cpp	2013-01-23 08:37:56 UTC (rev 140520)
@@ -400,7 +400,7 @@
 {
 // FIXME: We should try to optimize this, to at least allow partial reclones.
 if (ShadowRoot* shadowTreeRootElement =  shadow()-oldestShadowRoot())
-shadowTreeRootElement-removeAllChildren();
+shadowTreeRootElement-removeChildren();
 
 if (m_targetElementInstance) {
   

[webkit-changes] [140506] trunk/Source/WebCore

2013-01-22 Thread morrita
Title: [140506] trunk/Source/WebCore








Revision 140506
Author morr...@google.com
Date 2013-01-22 21:52:06 -0800 (Tue, 22 Jan 2013)


Log Message
non-ENABLE(DETAILS_ELEMENT) build fails.
https://bugs.webkit.org/show_bug.cgi?id=107626

Reviewed by Kent Tamura.

No new tests, build configuration change.

* rendering/RenderObject.h:
(RenderObject): Added a missing condition.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderObject.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (140505 => 140506)

--- trunk/Source/WebCore/ChangeLog	2013-01-23 05:50:15 UTC (rev 140505)
+++ trunk/Source/WebCore/ChangeLog	2013-01-23 05:52:06 UTC (rev 140506)
@@ -1,3 +1,15 @@
+2013-01-22  Hajime Morrita  morr...@google.com
+
+non-ENABLE(DETAILS_ELEMENT) build fails.
+https://bugs.webkit.org/show_bug.cgi?id=107626
+
+Reviewed by Kent Tamura.
+
+No new tests, build configuration change.
+
+* rendering/RenderObject.h:
+(RenderObject): Added a missing condition.
+
 2013-01-22  Dima Gorbik  dgor...@apple.com
 
 Whitelist should also work for the WebVTT ::cue element without an argument


Modified: trunk/Source/WebCore/rendering/RenderObject.h (140505 => 140506)

--- trunk/Source/WebCore/rendering/RenderObject.h	2013-01-23 05:50:15 UTC (rev 140505)
+++ trunk/Source/WebCore/rendering/RenderObject.h	2013-01-23 05:52:06 UTC (rev 140506)
@@ -321,7 +321,7 @@
 #endif
 virtual bool isQuote() const { return false; }
 
-#if ENABLE(DETAILS_ELEMENT)
+#if ENABLE(DETAILS_ELEMENT) || ENABLE(INPUT_MULTIPLE_FIELDS_UI)
 virtual bool isDetailsMarker() const { return false; }
 #endif
 virtual bool isEmbeddedObject() const { return false; }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [139942] trunk/Source/WebCore

2013-01-16 Thread morrita
Title: [139942] trunk/Source/WebCore








Revision 139942
Author morr...@google.com
Date 2013-01-16 17:38:20 -0800 (Wed, 16 Jan 2013)


Log Message
WebCore::ScriptRunner::timerFired() is reported to crash.
https://bugs.webkit.org/show_bug.cgi?id=92211

Reviewed by Darin Adler.

This is a speculative fix to address some crash reports.
Here is my rough guess.

The crash report says there is a PendingScript instance whose m_element is null.
- It happens only if the instance is created through the default constructor,
- that could happen if m_pendingAsyncScripts doesn't contains matched PendingScript in ScriptRunner::notifyScriptReady(),
- that could happen when notifyScriptReady() is called more than once.
- It turns out that the call site, ScriptElement::notifyFinished(), could be called multiple times since
  it doesn't remove itself from the CachedResource, which is done separately in ScriptElement::execute().
- So if notifyFinished() is called before execute(), it could happen

This change added a guard to prevent notifyFinished() from being invoked multiple times.
We should watch if these crash reports disappear.

No new tests. I couldn't create any repro for this.

* dom/ScriptElement.cpp:
(WebCore::ScriptElement::notifyFinished):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ScriptElement.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (139941 => 139942)

--- trunk/Source/WebCore/ChangeLog	2013-01-17 01:36:09 UTC (rev 139941)
+++ trunk/Source/WebCore/ChangeLog	2013-01-17 01:38:20 UTC (rev 139942)
@@ -1,3 +1,29 @@
+2013-01-16  MORITA Hajime  morr...@google.com
+
+WebCore::ScriptRunner::timerFired() is reported to crash.
+https://bugs.webkit.org/show_bug.cgi?id=92211
+
+Reviewed by Darin Adler.
+
+This is a speculative fix to address some crash reports.
+Here is my rough guess.
+
+The crash report says there is a PendingScript instance whose m_element is null.
+- It happens only if the instance is created through the default constructor,
+- that could happen if m_pendingAsyncScripts doesn't contains matched PendingScript in ScriptRunner::notifyScriptReady(),
+- that could happen when notifyScriptReady() is called more than once.
+- It turns out that the call site, ScriptElement::notifyFinished(), could be called multiple times since
+  it doesn't remove itself from the CachedResource, which is done separately in ScriptElement::execute().
+- So if notifyFinished() is called before execute(), it could happen
+
+This change added a guard to prevent notifyFinished() from being invoked multiple times.
+We should watch if these crash reports disappear.
+
+No new tests. I couldn't create any repro for this.
+
+* dom/ScriptElement.cpp:
+(WebCore::ScriptElement::notifyFinished):
+
 2013-01-16  Pablo Flouret  pab...@motorola.com
 
 Fix mac build system warnings introduced by r139866


Modified: trunk/Source/WebCore/dom/ScriptElement.cpp (139941 => 139942)

--- trunk/Source/WebCore/dom/ScriptElement.cpp	2013-01-17 01:36:09 UTC (rev 139941)
+++ trunk/Source/WebCore/dom/ScriptElement.cpp	2013-01-17 01:38:20 UTC (rev 139942)
@@ -331,7 +331,14 @@
 void ScriptElement::notifyFinished(CachedResource* resource)
 {
 ASSERT(!m_willBeParserExecuted);
+
+// CachedResource possibly invokes this notifyFinished() more than
+// once because ScriptElement doesn't unsubscribe itself from
+// CachedResource here and does it in execute() instead.
+// We use m_cachedScript to check if this function is already called.
 ASSERT_UNUSED(resource, resource == m_cachedScript);
+if (!m_cachedScript)
+return;
 
 if (m_requestUsesAccessControl
  !m_element-document()-securityOrigin()-canRequest(m_cachedScript-response().url())






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [139958] trunk

2013-01-16 Thread morrita
Title: [139958] trunk








Revision 139958
Author morr...@google.com
Date 2013-01-16 20:22:41 -0800 (Wed, 16 Jan 2013)


Log Message
Attr.ownerDocument should change if its parent's owner did
https://bugs.webkit.org/show_bug.cgi?id=97644

Reviewed by Darin Adler.

Source/WebCore:

moveTreeToNewScope() didn't traverse its Attr instances. But it should.

Test: fast/dom/Attr/parent-adopt-node.html

* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::getExistingAttrs):
(WebCore):
* dom/ElementAttributeData.h:
(ElementAttributeData):
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):

LayoutTests:

* fast/dom/Attr/parent-adopt-node-expected.txt: Added.
* fast/dom/Attr/parent-adopt-node.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/TreeScopeAdopter.cpp


Added Paths

trunk/LayoutTests/fast/dom/Attr/parent-adopt-node-expected.txt
trunk/LayoutTests/fast/dom/Attr/parent-adopt-node.html




Diff

Modified: trunk/LayoutTests/ChangeLog (139957 => 139958)

--- trunk/LayoutTests/ChangeLog	2013-01-17 04:00:01 UTC (rev 139957)
+++ trunk/LayoutTests/ChangeLog	2013-01-17 04:22:41 UTC (rev 139958)
@@ -1,3 +1,13 @@
+2013-01-16  MORITA Hajime  morr...@google.com
+
+Attr.ownerDocument should change if its parent's owner did
+https://bugs.webkit.org/show_bug.cgi?id=97644
+
+Reviewed by Darin Adler.
+
+* fast/dom/Attr/parent-adopt-node-expected.txt: Added.
+* fast/dom/Attr/parent-adopt-node.html: Added.
+
 2013-01-16  Victor Carbune  vcarb...@chromium.org
 
 Cues not rendered when they should be


Added: trunk/LayoutTests/fast/dom/Attr/parent-adopt-node-expected.txt (0 => 139958)

--- trunk/LayoutTests/fast/dom/Attr/parent-adopt-node-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/Attr/parent-adopt-node-expected.txt	2013-01-17 04:22:41 UTC (rev 139958)
@@ -0,0 +1,5 @@
+PASS attr.ownerDocument.title is anotherDocument.title
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/dom/Attr/parent-adopt-node.html (0 => 139958)

--- trunk/LayoutTests/fast/dom/Attr/parent-adopt-node.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/Attr/parent-adopt-node.html	2013-01-17 04:22:41 UTC (rev 139958)
@@ -0,0 +1,18 @@
+!DOCTYPE html
+html
+head
+script src=""
+/head
+body
+div id=target/div
+script
+var target = document.getElementById(target);
+var attr = target.attributes[0];
+var anotherDocument = document.implementation.createDocument(http://www.w3.org/1999/xhtml, , null);
+anotherDocument.title = Hello;
+anotherDocument.adoptNode(target);
+shouldBe(attr.ownerDocument.title, anotherDocument.title);
+/script
+script src=""
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (139957 => 139958)

--- trunk/Source/WebCore/ChangeLog	2013-01-17 04:00:01 UTC (rev 139957)
+++ trunk/Source/WebCore/ChangeLog	2013-01-17 04:22:41 UTC (rev 139958)
@@ -1,3 +1,22 @@
+2013-01-16  MORITA Hajime  morr...@google.com
+
+Attr.ownerDocument should change if its parent's owner did
+https://bugs.webkit.org/show_bug.cgi?id=97644
+
+Reviewed by Darin Adler.
+
+moveTreeToNewScope() didn't traverse its Attr instances. But it should.
+
+Test: fast/dom/Attr/parent-adopt-node.html
+
+* dom/ElementAttributeData.cpp:
+(WebCore::ElementAttributeData::getExistingAttrs):
+(WebCore):
+* dom/ElementAttributeData.h:
+(ElementAttributeData):
+* dom/TreeScopeAdopter.cpp:
+(WebCore::TreeScopeAdopter::moveTreeToNewScope):
+
 2013-01-16  Adam Barth  aba...@webkit.org
 
 Address tonyg's feedback on BackgroundHTMLParser


Modified: trunk/Source/WebCore/dom/Element.cpp (139957 => 139958)

--- trunk/Source/WebCore/dom/Element.cpp	2013-01-17 04:00:01 UTC (rev 139957)
+++ trunk/Source/WebCore/dom/Element.cpp	2013-01-17 04:22:41 UTC (rev 139958)
@@ -1642,6 +1642,12 @@
 }
 #endif
 
+const VectorRefPtrAttr  Element::attrNodeList()
+{
+ASSERT(hasSyntheticAttrChildNodes());
+return *attrNodeListForElement(this);
+}
+
 PassRefPtrAttr Element::setAttributeNode(Attr* attrNode, ExceptionCode ec)
 {
 if (!attrNode) {


Modified: trunk/Source/WebCore/dom/Element.h (139957 => 139958)

--- trunk/Source/WebCore/dom/Element.h	2013-01-17 04:00:01 UTC (rev 139957)
+++ trunk/Source/WebCore/dom/Element.h	2013-01-17 04:22:41 UTC (rev 139958)
@@ -37,6 +37,7 @@
 
 namespace WebCore {
 
+class Attr;
 class Attribute;
 class ClientRect;
 class ClientRectList;
@@ -228,7 +229,9 @@
 
 PassRefPtrAttr attrIfExists(const QualifiedName);
 PassRefPtrAttr ensureAttr(const QualifiedName);
-
+
+const VectorRefPtrAttr  attrNodeList();
+
 virtual CSSStyleDeclaration* style();
 
 const QualifiedName tagQName() const { return m_tagName; }


Modified: 

[webkit-changes] [139964] trunk

2013-01-16 Thread morrita
Title: [139964] trunk








Revision 139964
Author morr...@google.com
Date 2013-01-16 21:25:14 -0800 (Wed, 16 Jan 2013)


Log Message
NoEventDispatchAssertion in ContainerNode::removeChildren is too strict
https://bugs.webkit.org/show_bug.cgi?id=106985

Reviewed by Ryosuke Niwa.

Source/WebCore:

This change narrowed the lifetime of NoEventDispatchAssertion in removeChildren().
It is as safe as other mutation method even after this change: childrenChanged() and
ChildNodeRemovalNotifier are used outside the assertion scope.

Test: svg/custom/use-mutation-crash.xhtml

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChildren):

LayoutTests:

* svg/custom/use-mutation-crash-expected.txt: Added.
* svg/custom/use-mutation-crash.xhtml: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContainerNode.cpp


Added Paths

trunk/LayoutTests/svg/custom/use-mutation-crash-expected.txt
trunk/LayoutTests/svg/custom/use-mutation-crash.xhtml




Diff

Modified: trunk/LayoutTests/ChangeLog (139963 => 139964)

--- trunk/LayoutTests/ChangeLog	2013-01-17 05:16:27 UTC (rev 139963)
+++ trunk/LayoutTests/ChangeLog	2013-01-17 05:25:14 UTC (rev 139964)
@@ -1,3 +1,13 @@
+2013-01-16  Hajime Morrita  morr...@google.com
+
+NoEventDispatchAssertion in ContainerNode::removeChildren is too strict
+https://bugs.webkit.org/show_bug.cgi?id=106985
+
+Reviewed by Ryosuke Niwa.
+
+* svg/custom/use-mutation-crash-expected.txt: Added.
+* svg/custom/use-mutation-crash.xhtml: Added.
+
 2013-01-16  MORITA Hajime  morr...@google.com
 
 Attr.ownerDocument should change if its parent's owner did


Added: trunk/LayoutTests/svg/custom/use-mutation-crash-expected.txt (0 => 139964)

--- trunk/LayoutTests/svg/custom/use-mutation-crash-expected.txt	(rev 0)
+++ trunk/LayoutTests/svg/custom/use-mutation-crash-expected.txt	2013-01-17 05:25:14 UTC (rev 139964)
@@ -0,0 +1 @@
+PASS. 


Added: trunk/LayoutTests/svg/custom/use-mutation-crash.xhtml (0 => 139964)

--- trunk/LayoutTests/svg/custom/use-mutation-crash.xhtml	(rev 0)
+++ trunk/LayoutTests/svg/custom/use-mutation-crash.xhtml	2013-01-17 05:25:14 UTC (rev 139964)
@@ -0,0 +1,19 @@
+html
+body
+pre id=consolePASS./pre
+svg id=tCFSVG xmlns:xlink=http://www.w3.org/1999/xlink xmlns=http://www.w3.org/2000/svg
+
+g id=target /g
+use xlink:href="" 
+
+script![CDATA[
+if (window.testRunner)
+testRunner.dumpAsText();
+
+target = document.getElementById(target);
+target.textContent = Hello;
+]]/script
+
+/svg
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (139963 => 139964)

--- trunk/Source/WebCore/ChangeLog	2013-01-17 05:16:27 UTC (rev 139963)
+++ trunk/Source/WebCore/ChangeLog	2013-01-17 05:25:14 UTC (rev 139964)
@@ -1,3 +1,19 @@
+2013-01-16  Hajime Morrita  morr...@google.com
+
+NoEventDispatchAssertion in ContainerNode::removeChildren is too strict
+https://bugs.webkit.org/show_bug.cgi?id=106985
+
+Reviewed by Ryosuke Niwa.
+
+This change narrowed the lifetime of NoEventDispatchAssertion in removeChildren().
+It is as safe as other mutation method even after this change: childrenChanged() and
+ChildNodeRemovalNotifier are used outside the assertion scope.
+
+Test: svg/custom/use-mutation-crash.xhtml
+
+* dom/ContainerNode.cpp:
+(WebCore::ContainerNode::removeChildren):
+
 2013-01-16  Shinya Kawanaka  shin...@chromium.org
 
 [Refactoring] HTMLTextFormControlElement should use shadowHost instead of shadowAncestorNode


Modified: trunk/Source/WebCore/dom/ContainerNode.cpp (139963 => 139964)

--- trunk/Source/WebCore/dom/ContainerNode.cpp	2013-01-17 05:16:27 UTC (rev 139963)
+++ trunk/Source/WebCore/dom/ContainerNode.cpp	2013-01-17 05:25:14 UTC (rev 139964)
@@ -582,43 +582,42 @@
 VectorRefPtrNode, 10 removedChildren;
 {
 WidgetHierarchyUpdatesSuspensionScope suspendWidgetHierarchyUpdates;
-NoEventDispatchAssertion assertNoEventDispatch;
-removedChildren.reserveInitialCapacity(childNodeCount());
-while (RefPtrNode n = m_firstChild) {
-Node* next = n-nextSibling();
+{
+NoEventDispatchAssertion assertNoEventDispatch;
+removedChildren.reserveInitialCapacity(childNodeCount());
+while (RefPtrNode n = m_firstChild) {
+Node* next = n-nextSibling();
 
-// Remove the node from the tree before calling detach or removedFromDocument (4427024, 4129744).
-// removeChild() does this after calling detach(). There is no explanation for
-// this discrepancy between removeChild() and its optimized version removeChildren().
-n-setPreviousSibling(0);
-n-setNextSibling(0);
-n-setParentOrHostNode(0);
-document()-adoptIfNeeded(n.get());
+// Remove the 

[webkit-changes] [139325] trunk/Source/WebCore

2013-01-10 Thread morrita
Title: [139325] trunk/Source/WebCore








Revision 139325
Author morr...@google.com
Date 2013-01-10 09:44:05 -0800 (Thu, 10 Jan 2013)


Log Message
ComposedShadowTreeWalker shouldn't be exposed to non-ShadowDOM classes
https://bugs.webkit.org/show_bug.cgi?id=106505

Reviewed by Dimitri Glazkov.

This change hides ComposedShadowTreeWalker from non-ShadowDOM classes by

- introducing thin wrapper functions on NodeRenderingTraversal and relacing
  CSTW callsites with it,
- replacing ComposedShadowTreeWalker usage with AncestorChainWalker if possible and
- moving AncestorChainWalker to its own file and including it on files
  which needs only AncestorChainWalker. This eliminates ComposedShadowTreeWalker.h inclusions.

No new tests. No behavior change.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* dom/AncestorChainWalker.cpp: Added. Extracted from ComposedShadowTreeWalker.cpp
(WebCore):
(WebCore::AncestorChainWalker::AncestorChainWalker):
(WebCore::AncestorChainWalker::parent):
* dom/AncestorChainWalker.h: Added. Extracted from ComposedShadowTreeWalker.h
(WebCore):
(AncestorChainWalker):
(WebCore::AncestorChainWalker::get):
(WebCore::AncestorChainWalker::crossingInsertionPoint):
* dom/ComposedShadowTreeWalker.cpp:
* dom/ComposedShadowTreeWalker.h:
* dom/DOMAllInOne.cpp:
* dom/ElementShadow.h:
(WebCore::shadowOfParent):
(WebCore):
* dom/EventDispatcher.cpp:
* dom/Node.cpp:
* dom/NodeRenderingTraversal.cpp:
(WebCore::NodeRenderingTraversal::nextInScope):
(NodeRenderingTraversal):
(WebCore::NodeRenderingTraversal::previousInScope): Added.
(WebCore::NodeRenderingTraversal::parentInScope): Added.
(WebCore::NodeRenderingTraversal::lastChildInScope): Added.
* dom/NodeRenderingTraversal.h:
(NodeRenderingTraversal):
* dom/TreeScope.cpp:
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::attach):
* page/EventHandler.cpp:
* page/FocusController.cpp: Replacing CSTW with NRT
(WebCore):
(WebCore::FocusNavigationScope::focusNavigationScopeOf):
(WebCore::FocusController::findNodeWithExactTabIndex):
(WebCore::nextNodeWithGreaterTabIndex):
(WebCore::previousNodeWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):

Modified Paths

trunk/Source/WebCore/CMakeLists.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/GNUmakefile.list.am
trunk/Source/WebCore/Target.pri
trunk/Source/WebCore/WebCore.gypi
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/dom/ComposedShadowTreeWalker.cpp
trunk/Source/WebCore/dom/ComposedShadowTreeWalker.h
trunk/Source/WebCore/dom/DOMAllInOne.cpp
trunk/Source/WebCore/dom/ElementShadow.h
trunk/Source/WebCore/dom/EventDispatcher.cpp
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/NodeRenderingTraversal.cpp
trunk/Source/WebCore/dom/NodeRenderingTraversal.h
trunk/Source/WebCore/dom/TreeScope.cpp
trunk/Source/WebCore/html/HTMLLIElement.cpp
trunk/Source/WebCore/page/EventHandler.cpp
trunk/Source/WebCore/page/FocusController.cpp


Added Paths

trunk/Source/WebCore/dom/AncestorChainWalker.cpp
trunk/Source/WebCore/dom/AncestorChainWalker.h




Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (139324 => 139325)

--- trunk/Source/WebCore/CMakeLists.txt	2013-01-10 17:29:45 UTC (rev 139324)
+++ trunk/Source/WebCore/CMakeLists.txt	2013-01-10 17:44:05 UTC (rev 139325)
@@ -1109,6 +1109,7 @@
 css/WebKitCSSViewportRule.cpp
 
 dom/ActiveDOMObject.cpp
+dom/AncestorChainWalker.cpp
 dom/Attr.cpp
 dom/BeforeTextInsertedEvent.cpp
 dom/BeforeUnloadEvent.cpp


Modified: trunk/Source/WebCore/ChangeLog (139324 => 139325)

--- trunk/Source/WebCore/ChangeLog	2013-01-10 17:29:45 UTC (rev 139324)
+++ trunk/Source/WebCore/ChangeLog	2013-01-10 17:44:05 UTC (rev 139325)
@@ -1,3 +1,63 @@
+2013-01-10  Hajime Morrita  morr...@google.com
+
+ComposedShadowTreeWalker shouldn't be exposed to non-ShadowDOM classes
+https://bugs.webkit.org/show_bug.cgi?id=106505
+
+Reviewed by Dimitri Glazkov.
+
+This change hides ComposedShadowTreeWalker from non-ShadowDOM classes by
+
+- introducing thin wrapper functions on NodeRenderingTraversal and relacing
+  CSTW callsites with it,
+- replacing ComposedShadowTreeWalker usage with AncestorChainWalker if possible and
+- moving AncestorChainWalker to its own file and including it on files
+  which needs only AncestorChainWalker. This eliminates ComposedShadowTreeWalker.h inclusions.
+
+No new tests. No behavior change.
+
+* CMakeLists.txt:
+* GNUmakefile.list.am:
+* Target.pri:
+* WebCore.gypi:
+* WebCore.xcodeproj/project.pbxproj:
+* dom/AncestorChainWalker.cpp: Added. Extracted from ComposedShadowTreeWalker.cpp
+(WebCore):
+(WebCore::AncestorChainWalker::AncestorChainWalker):
+(WebCore::AncestorChainWalker::parent):
+* dom/AncestorChainWalker.h:

[webkit-changes] [139400] trunk/Source/WebCore

2013-01-10 Thread morrita
Title: [139400] trunk/Source/WebCore








Revision 139400
Author morr...@google.com
Date 2013-01-10 20:00:13 -0800 (Thu, 10 Jan 2013)


Log Message
[Shadow DOM] Refactoring: InsertionPoint could simplify its subclass hooks
https://bugs.webkit.org/show_bug.cgi?id=106614

Reviewed by Dimitri Glazkov.

This change simplifies InsertionPoint overrides and give some flexibility to it.

The change

- Removes InsertionPoint::isSelectValid(). now ContentSelectorQuery parses given selector anyway.
  Invalid select attribute is handled by newly introduced matchTypeFor() method.
- Introduces InsertionPoint::matchTypeFor() to give a chance each InsertionPoint to decide whether it
  accepts the given node as its distribution. Then it lets DetailsSummaryElement adopt it.
- Pulls some HTMLShadowElement overrides up to InsertionPoint so that other upcoming InsertionPoint
  subclasses don't need to override them.

No new tests. Refactoring.

* html/HTMLDetailsElement.cpp:
(WebCore::DetailsSummaryElement::DetailsSummaryElement):
- Implemented matchTypeFor() to get rid of HTMLContentElement machinery which is compiled out in the upcoming change.
(DetailsSummaryElement):
* html/shadow/ContentSelectorQuery.cpp:
(WebCore::ContentSelectorQuery::ContentSelectorQuery):
(WebCore::ContentSelectorQuery::matches):
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::matchTypeFor): Added.
(WebCore):
* html/shadow/HTMLContentElement.h:
(HTMLContentElement):
(WebCore::isHTMLContentElement):
* html/shadow/HTMLShadowElement.cpp:
* html/shadow/HTMLShadowElement.h:
(HTMLShadowElement):
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::emptySelectorList): Moved from HTMLShadowElement.
(WebCore):
* html/shadow/InsertionPoint.h:
(WebCore::InsertionPoint::matchTypeFor): Added.
(WebCore::InsertionPoint::selectorList): Moved from HTMLShadowElement.
(InsertionPoint):
* testing/Internals.cpp:
(WebCore::Internals::isValidContentSelect):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLDetailsElement.cpp
trunk/Source/WebCore/html/shadow/ContentSelectorQuery.cpp
trunk/Source/WebCore/html/shadow/HTMLContentElement.cpp
trunk/Source/WebCore/html/shadow/HTMLContentElement.h
trunk/Source/WebCore/html/shadow/HTMLShadowElement.cpp
trunk/Source/WebCore/html/shadow/HTMLShadowElement.h
trunk/Source/WebCore/html/shadow/InsertionPoint.cpp
trunk/Source/WebCore/html/shadow/InsertionPoint.h
trunk/Source/WebCore/testing/Internals.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (139399 => 139400)

--- trunk/Source/WebCore/ChangeLog	2013-01-11 03:18:36 UTC (rev 139399)
+++ trunk/Source/WebCore/ChangeLog	2013-01-11 04:00:13 UTC (rev 139400)
@@ -1,3 +1,49 @@
+2013-01-10  Hajime Morrita  morr...@google.com
+
+[Shadow DOM] Refactoring: InsertionPoint could simplify its subclass hooks
+https://bugs.webkit.org/show_bug.cgi?id=106614
+
+Reviewed by Dimitri Glazkov.
+
+This change simplifies InsertionPoint overrides and give some flexibility to it.
+
+The change
+
+- Removes InsertionPoint::isSelectValid(). now ContentSelectorQuery parses given selector anyway.
+  Invalid select attribute is handled by newly introduced matchTypeFor() method.
+- Introduces InsertionPoint::matchTypeFor() to give a chance each InsertionPoint to decide whether it
+  accepts the given node as its distribution. Then it lets DetailsSummaryElement adopt it.
+- Pulls some HTMLShadowElement overrides up to InsertionPoint so that other upcoming InsertionPoint
+  subclasses don't need to override them.
+
+No new tests. Refactoring.
+
+* html/HTMLDetailsElement.cpp:
+(WebCore::DetailsSummaryElement::DetailsSummaryElement):
+- Implemented matchTypeFor() to get rid of HTMLContentElement machinery which is compiled out in the upcoming change.
+(DetailsSummaryElement):
+* html/shadow/ContentSelectorQuery.cpp:
+(WebCore::ContentSelectorQuery::ContentSelectorQuery):
+(WebCore::ContentSelectorQuery::matches):
+* html/shadow/HTMLContentElement.cpp:
+(WebCore::HTMLContentElement::matchTypeFor): Added.
+(WebCore):
+* html/shadow/HTMLContentElement.h:
+(HTMLContentElement):
+(WebCore::isHTMLContentElement):
+* html/shadow/HTMLShadowElement.cpp:
+* html/shadow/HTMLShadowElement.h:
+(HTMLShadowElement):
+* html/shadow/InsertionPoint.cpp:
+(WebCore::InsertionPoint::emptySelectorList): Moved from HTMLShadowElement.
+(WebCore):
+* html/shadow/InsertionPoint.h:
+(WebCore::InsertionPoint::matchTypeFor): Added.
+(WebCore::InsertionPoint::selectorList): Moved from HTMLShadowElement.
+(InsertionPoint):
+* testing/Internals.cpp:
+(WebCore::Internals::isValidContentSelect):
+
 2013-01-10  Dean Jackson  d...@apple.com
 
 Plugin snapshot label should take dev

[webkit-changes] [139410] trunk/Source

2013-01-10 Thread morrita
Title: [139410] trunk/Source








Revision 139410
Author morr...@google.com
Date 2013-01-10 23:39:23 -0800 (Thu, 10 Jan 2013)


Log Message
https://bugs.webkit.org/show_bug.cgi?id=106283
[Shadow DOM] HTMLContentElement and HTMLShadowElement should be behind SHADOW_DOM

Reviewed by Kentaro Hara.

No new tests. Covered by existing tests.

This change moves content and shadow behind
ENABLE(SHADOW_DOM). Note that empty stub definitions are remaining
even after this change. They are for minimizing #if/#endif usage
and won't hurt code size.

* WebCore.exp.in:
* html/InputType.cpp:
(WebCore::InputType::destroyShadowSubtree):
* html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistributor::distribute):
* html/shadow/HTMLContentElement.cpp:
(WebCore):
(WebCore::HTMLContentElement::create):
(WebCore::HTMLContentElement::HTMLContentElement):
* html/shadow/HTMLContentElement.h:
(WebCore):
(HTMLContentElement):
* html/shadow/HTMLShadowElement.cpp:
* html/shadow/HTMLShadowElement.h:
(WebCore):
(WebCore::isHTMLShadowElement):
(WebCore::toHTMLShadowElement):
* html/shadow/TextFieldDecorationElement.cpp:
(WebCore::TextFieldDecorationElement::decorate):
* testing/Internals.cpp:
(WebCore::Internals::createContentElement):
(WebCore::Internals::isValidContentSelect):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.exp.in
trunk/Source/WebCore/html/InputType.cpp
trunk/Source/WebCore/html/shadow/ContentDistributor.cpp
trunk/Source/WebCore/html/shadow/HTMLContentElement.cpp
trunk/Source/WebCore/html/shadow/HTMLContentElement.h
trunk/Source/WebCore/html/shadow/HTMLShadowElement.cpp
trunk/Source/WebCore/html/shadow/HTMLShadowElement.h
trunk/Source/WebCore/html/shadow/TextFieldDecorationElement.cpp
trunk/Source/WebCore/testing/Internals.cpp
trunk/Source/WebKit/win/WebKit.vcproj/WebKitExports.def.in




Diff

Modified: trunk/Source/WebCore/ChangeLog (139409 => 139410)

--- trunk/Source/WebCore/ChangeLog	2013-01-11 07:08:28 UTC (rev 139409)
+++ trunk/Source/WebCore/ChangeLog	2013-01-11 07:39:23 UTC (rev 139410)
@@ -1,3 +1,40 @@
+2013-01-10  Hajime Morrita  morr...@google.com
+
+https://bugs.webkit.org/show_bug.cgi?id=106283
+[Shadow DOM] HTMLContentElement and HTMLShadowElement should be behind SHADOW_DOM
+
+Reviewed by Kentaro Hara.
+
+No new tests. Covered by existing tests.
+
+This change moves content and shadow behind
+ENABLE(SHADOW_DOM). Note that empty stub definitions are remaining
+even after this change. They are for minimizing #if/#endif usage
+and won't hurt code size.
+
+* WebCore.exp.in:
+* html/InputType.cpp:
+(WebCore::InputType::destroyShadowSubtree):
+* html/shadow/ContentDistributor.cpp:
+(WebCore::ContentDistributor::distribute):
+* html/shadow/HTMLContentElement.cpp:
+(WebCore):
+(WebCore::HTMLContentElement::create):
+(WebCore::HTMLContentElement::HTMLContentElement):
+* html/shadow/HTMLContentElement.h:
+(WebCore):
+(HTMLContentElement):
+* html/shadow/HTMLShadowElement.cpp:
+* html/shadow/HTMLShadowElement.h:
+(WebCore):
+(WebCore::isHTMLShadowElement):
+(WebCore::toHTMLShadowElement):
+* html/shadow/TextFieldDecorationElement.cpp:
+(WebCore::TextFieldDecorationElement::decorate):
+* testing/Internals.cpp:
+(WebCore::Internals::createContentElement):
+(WebCore::Internals::isValidContentSelect):
+
 2013-01-10  Takashi Sakamoto  ta...@google.com
 
 Implement CSSGroupingRule for @host @-rules and @supports.


Modified: trunk/Source/WebCore/WebCore.exp.in (139409 => 139410)

--- trunk/Source/WebCore/WebCore.exp.in	2013-01-11 07:08:28 UTC (rev 139409)
+++ trunk/Source/WebCore/WebCore.exp.in	2013-01-11 07:39:23 UTC (rev 139410)
@@ -513,7 +513,6 @@
 __ZN7WebCore17openTemporaryFileERKN3WTF6StringERi
 __ZN7WebCore17userVisibleStringEP5NSURL
 __ZN7WebCore18DOMWindowExtensionC1EPNS_5FrameEPNS_15DOMWrapperWorldE
-__ZN7WebCore18HTMLContentElement6createEPNS_8DocumentE
 __ZN7WebCore10Pasteboard17generalPasteboardEv
 __ZN7WebCore10Pasteboard14writePlainTextERKN3WTF6StringENS0_18SmartReplaceOptionE
 __ZN7WebCore18ContentDistributor22ensureSelectFeatureSetEPNS_13ElementShadowE
@@ -2714,6 +2713,10 @@
 _wkCaptionAppearanceGetSettingsChangedNotification
 #endif
 
+#if ENABLE(SHADOW_DOM)
+__ZN7WebCore18HTMLContentElement6createEPNS_8DocumentE
+#endif
+
 #if ENABLE(CSS_REGIONS)
 __ZN7WebCore22RuntimeEnabledFeatures19isCSSRegionsEnabledE
 #endif


Modified: trunk/Source/WebCore/html/InputType.cpp (139409 => 139410)

--- trunk/Source/WebCore/html/InputType.cpp	2013-01-11 07:08:28 UTC (rev 139409)
+++ trunk/Source/WebCore/html/InputType.cpp	2013-01-11 07:39:23 UTC (rev 139410)
@@ -490,8 +490,12 @@
 // been created by TextFieldDecorationElement, and we don't allow adding
 // AuthorShadowRoot to HTMLInputElement.
 while ((ro

[webkit-changes] [139199] trunk/Source/WebCore

2013-01-09 Thread morrita
Title: [139199] trunk/Source/WebCore








Revision 139199
Author morr...@google.com
Date 2013-01-09 09:41:10 -0800 (Wed, 09 Jan 2013)


Log Message
Document::setActiveNode() should be Document::setActiveElement()
https://bugs.webkit.org/show_bug.cgi?id=106437

Reviewed by Ojan Vafai.

No new tests. No functoinal change.

* dom/Document.cpp:
(WebCore::Document::setActiveElement):
(WebCore::Document::updateHoverActiveState):
* dom/Document.h:
(Document):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::innerElement):
(WebCore):
* rendering/HitTestResult.h:
(HitTestResult):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Document.h
trunk/Source/WebCore/rendering/HitTestResult.cpp
trunk/Source/WebCore/rendering/HitTestResult.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (139198 => 139199)

--- trunk/Source/WebCore/ChangeLog	2013-01-09 17:34:54 UTC (rev 139198)
+++ trunk/Source/WebCore/ChangeLog	2013-01-09 17:41:10 UTC (rev 139199)
@@ -1,3 +1,23 @@
+2013-01-09  Hajime Morrita  morr...@google.com
+
+Document::setActiveNode() should be Document::setActiveElement()
+https://bugs.webkit.org/show_bug.cgi?id=106437
+
+Reviewed by Ojan Vafai.
+
+No new tests. No functoinal change.
+
+* dom/Document.cpp:
+(WebCore::Document::setActiveElement):
+(WebCore::Document::updateHoverActiveState):
+* dom/Document.h:
+(Document):
+* rendering/HitTestResult.cpp:
+(WebCore::HitTestResult::innerElement):
+(WebCore):
+* rendering/HitTestResult.h:
+(HitTestResult):
+
 2013-01-09  Shinya Kawanaka  shin...@chromium.org
 
 [Shadow DOM]: ShadowRoot has wrong nodeName attribute


Modified: trunk/Source/WebCore/dom/Document.cpp (139198 => 139199)

--- trunk/Source/WebCore/dom/Document.cpp	2013-01-09 17:34:54 UTC (rev 139198)
+++ trunk/Source/WebCore/dom/Document.cpp	2013-01-09 17:41:10 UTC (rev 139199)
@@ -3235,14 +3235,14 @@
 m_hoverNode = newHoverNode;
 }
 
-void Document::setActiveNode(PassRefPtrNode newActiveNode)
+void Document::setActiveElement(PassRefPtrElement newActiveElement)
 {
-if (!newActiveNode) {
+if (!newActiveElement) {
 m_activeElement.clear();
 return;
 }
 
-m_activeElement = newActiveNode-isElementNode() ? toElement(newActiveNode.get()) : newActiveNode-parentElement();
+m_activeElement = newActiveElement;
 }
 
 void Document::focusedNodeRemoved()
@@ -5809,35 +5809,36 @@
 if (request.readOnly())
 return;
 
-Node* innerNodeInDocument = result.innerNode();
-ASSERT(!innerNodeInDocument || innerNodeInDocument-document() == this);
+Element* innerElementInDocument = result.innerElement();
+ASSERT(!innerElementInDocument || innerElementInDocument-document() == this);
 
-Node* oldActiveNode = activeElement();
-if (oldActiveNode  !request.active()) {
+Element* oldActiveElement = activeElement();
+if (oldActiveElement  !request.active()) {
 // We are clearing the :active chain because the mouse has been released.
-for (RenderObject* curr = oldActiveNode-renderer(); curr; curr = curr-parent()) {
-if (curr-node()  !curr-isText()) {
+for (RenderObject* curr = oldActiveElement-renderer(); curr; curr = curr-parent()) {
+if (curr-node()) {
+ASSERT(!curr-node()-isTextNode());
 curr-node()-setActive(false);
 m_userActionElements.setInActiveChain(curr-node(), false);
 }
 }
-setActiveNode(0);
+setActiveElement(0);
 } else {
-Node* newActiveNode = innerNodeInDocument;
-if (!oldActiveNode  newActiveNode  request.active()  !request.touchMove()) {
+Element* newActiveElement = innerElementInDocument;
+if (!oldActiveElement  newActiveElement  request.active()  !request.touchMove()) {
 // We are setting the :active chain and freezing it. If future moves happen, they
 // will need to reference this chain.
-for (RenderObject* curr = newActiveNode-renderer(); curr; curr = curr-parent()) {
+for (RenderObject* curr = newActiveElement-renderer(); curr; curr = curr-parent()) {
 if (curr-node()  !curr-isText())
 m_userActionElements.setInActiveChain(curr-node(), true);
 }
 
-setActiveNode(newActiveNode);
+setActiveElement(newActiveElement);
 }
 }
 // If the mouse has just been pressed, set :active on the chain. Those (and only those)
 // nodes should remain :active until the mouse is released.
-bool allowActiveChanges = !oldActiveNode  activeElement();
+bool allowActiveChanges = !oldActiveElement  activeElement();
 
 // If the mouse is down and if this is a mouse move event, we want to restrict changes in
 // :hover/:active to only apply to el

[webkit-changes] [139064] trunk/Source/WebCore

2013-01-08 Thread morrita
Title: [139064] trunk/Source/WebCore








Revision 139064
Author morr...@google.com
Date 2013-01-08 09:29:32 -0800 (Tue, 08 Jan 2013)


Log Message
[Shadow DOM] Refactoring: invalidateParentDistributionIfNecessary() calls are too intrusive
https://bugs.webkit.org/show_bug.cgi?id=106305

Reviewed by Dimitri Glazkov.

Scattering invalidateParentDistributionIfNecessary() looks bad because
- it has long name whose terminology is cryptic for people who don't know much about Shadow DOM standard.
- its calls are always paired with setNeedsStyleRecalc() and people do setNeedsStyleRecalc()
  need to be aware about distribution feature bit tracking. Separate invalidateParentDistributionIfNecessary()
  call doesn't help that recognition.

This change introduces Element::didAffectSelector() to replace a setNeedsStyleRecalc()-i37y() call sequence.
SelectRuleFeatureSet::FeatureRule is renamed AffectedSelectorType so that it explains its purpose
in a bit more plain WebKit term.

No new tests. Refactoring.

* dom/Document.cpp:
(WebCore::Document::setCSSTarget): Adopted didAffectSelector.
* dom/Element.cpp:
(WebCore::Element::didAffectSelector): Added.
(WebCore):
* dom/Element.h:
(Element):
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::didAffectSelector): Morphed from invalidateParentDistributionIfNecessary().
* dom/ElementShadow.h:
(ElementShadow):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseAttribute): Adopted didAffectSelector
* html/HTMLDetailsElement.cpp:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::disabledAttributeChanged): Adopted didAffectSelector
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked): Adopted didAffectSelector
(WebCore::HTMLInputElement::setIndeterminate): Adopted didAffectSelector
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::parseAttribute): Adopted didAffectSelector
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::parseAttribute): Adopted didAffectSelector
(WebCore::HTMLOptionElement::setSelectedState): Adopted didAffectSelector
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::didElementStateChange): Adopted didAffectSelector
* html/HTMLSummaryElement.cpp:
* html/shadow/HTMLContentElement.cpp:
* html/shadow/SelectRuleFeatureSet.cpp:
(WebCore::SelectRuleFeatureSet::collectFeaturesFromSelector): Followed renaming.
* html/shadow/SelectRuleFeatureSet.h: Followed renaming.
(WebCore::SelectRuleFeatureSet::hasSelectorForChecked):
(WebCore::SelectRuleFeatureSet::hasSelectorForEnabled):
(WebCore::SelectRuleFeatureSet::hasSelectorForDisabled):
(WebCore::SelectRuleFeatureSet::hasSelectorForIndeterminate):
(WebCore::SelectRuleFeatureSet::hasSelectorForLink):
(WebCore::SelectRuleFeatureSet::hasSelectorForTarget):
(WebCore::SelectRuleFeatureSet::hasSelectorForVisited):
(WebCore::SelectRuleFeatureSet::hasSelectorFor):
(WebCore::SelectRuleFeatureSet::setSelectRuleFeature):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/ElementShadow.cpp
trunk/Source/WebCore/dom/ElementShadow.h
trunk/Source/WebCore/html/HTMLAnchorElement.cpp
trunk/Source/WebCore/html/HTMLDetailsElement.cpp
trunk/Source/WebCore/html/HTMLFormControlElement.cpp
trunk/Source/WebCore/html/HTMLInputElement.cpp
trunk/Source/WebCore/html/HTMLOptGroupElement.cpp
trunk/Source/WebCore/html/HTMLOptionElement.cpp
trunk/Source/WebCore/html/HTMLProgressElement.cpp
trunk/Source/WebCore/html/HTMLSummaryElement.cpp
trunk/Source/WebCore/html/shadow/HTMLContentElement.cpp
trunk/Source/WebCore/html/shadow/SelectRuleFeatureSet.cpp
trunk/Source/WebCore/html/shadow/SelectRuleFeatureSet.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (139063 => 139064)

--- trunk/Source/WebCore/ChangeLog	2013-01-08 16:47:55 UTC (rev 139063)
+++ trunk/Source/WebCore/ChangeLog	2013-01-08 17:29:32 UTC (rev 139064)
@@ -1,3 +1,63 @@
+2013-01-08  Hajime Morrita  morr...@google.com
+
+[Shadow DOM] Refactoring: invalidateParentDistributionIfNecessary() calls are too intrusive
+https://bugs.webkit.org/show_bug.cgi?id=106305
+
+Reviewed by Dimitri Glazkov.
+
+Scattering invalidateParentDistributionIfNecessary() looks bad because
+- it has long name whose terminology is cryptic for people who don't know much about Shadow DOM standard.
+- its calls are always paired with setNeedsStyleRecalc() and people do setNeedsStyleRecalc()
+  need to be aware about distribution feature bit tracking. Separate invalidateParentDistributionIfNecessary()
+  call doesn't help that recognition.
+
+This change introduces Element::didAffectSelector() to replace a setNeedsStyleRecalc()-i37y() call sequence.
+SelectRuleFeatureSet::FeatureRule is renamed AffectedSelectorType so that it explains its purpose
+in a bit more plain WebKit term.
+
+No new tests. Refactor

[webkit-changes] [139131] trunk/LayoutTests

2013-01-08 Thread morrita
Title: [139131] trunk/LayoutTests








Revision 139131
Author morr...@google.com
Date 2013-01-08 16:32:15 -0800 (Tue, 08 Jan 2013)


Log Message
Unreviewed, marking drag-and-drop-autoscroll.html

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/efl/TestExpectations
trunk/LayoutTests/platform/gtk/TestExpectations
trunk/LayoutTests/platform/mac/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (139130 => 139131)

--- trunk/LayoutTests/ChangeLog	2013-01-09 00:30:42 UTC (rev 139130)
+++ trunk/LayoutTests/ChangeLog	2013-01-09 00:32:15 UTC (rev 139131)
@@ -1,3 +1,11 @@
+2013-01-08  Hajime Morrita  morr...@google.com
+
+Unreviewed, marking drag-and-drop-autoscroll.html
+
+* platform/efl/TestExpectations:
+* platform/gtk/TestExpectations:
+* platform/mac/TestExpectations:
+
 2013-01-08  Dimitri Glazkov  dglaz...@chromium.org
 
 Organize some svg/gynamic-updates expectations.


Modified: trunk/LayoutTests/platform/efl/TestExpectations (139130 => 139131)

--- trunk/LayoutTests/platform/efl/TestExpectations	2013-01-09 00:30:42 UTC (rev 139130)
+++ trunk/LayoutTests/platform/efl/TestExpectations	2013-01-09 00:32:15 UTC (rev 139131)
@@ -1774,3 +1774,6 @@
 
 # New test introduced in r138756 is failing.
 webkit.org/b/106086 fast/dom/HTMLTemplateElement/ownerDocument-adoptNode.html [ Failure ]
+
+# [Qt][EFL] New fast/events/drag-and-drop-autoscroll.html fails
+webkit.org/b/106318 fast/events/drag-and-drop-autoscroll.html [ Failure ]


Modified: trunk/LayoutTests/platform/gtk/TestExpectations (139130 => 139131)

--- trunk/LayoutTests/platform/gtk/TestExpectations	2013-01-09 00:30:42 UTC (rev 139130)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2013-01-09 00:32:15 UTC (rev 139131)
@@ -1383,6 +1383,8 @@
 
 webkit.org/b/106316 accessibility/render-counter-text.html [ Failure ]
 
+webkit.org/b/106318 fast/events/drag-and-drop-autoscroll.html [ Failure ]
+
 #
 # End of Tests failing
 #


Modified: trunk/LayoutTests/platform/mac/TestExpectations (139130 => 139131)

--- trunk/LayoutTests/platform/mac/TestExpectations	2013-01-09 00:30:42 UTC (rev 139130)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2013-01-09 00:32:15 UTC (rev 139131)
@@ -1270,3 +1270,5 @@
 webkit.org/b/106185 fast/frames/flattening/iframe-flattening-fixed-height.html [ Pass Failure ]
 
 webkit.org/b/106361 [ Debug ] svg/custom/text-use-click-crash.xhtml [ Crash ]
+
+webkit.org/b/106318 fast/events/drag-and-drop-autoscroll.html [ Failure ]
\ No newline at end of file






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [139027] trunk/Source/WebCore

2013-01-07 Thread morrita
Title: [139027] trunk/Source/WebCore








Revision 139027
Author morr...@google.com
Date 2013-01-07 19:00:52 -0800 (Mon, 07 Jan 2013)


Log Message
WebKit should compile on Mac with --shadow-dom
https://bugs.webkit.org/show_bug.cgi?id=105469

Reviewed by Dimitri Glazkov.

No new tests. Just changing build files.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* dom/Element.idl:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.exp.in
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/dom/Element.idl




Diff

Modified: trunk/Source/WebCore/ChangeLog (139026 => 139027)

--- trunk/Source/WebCore/ChangeLog	2013-01-08 02:58:15 UTC (rev 139026)
+++ trunk/Source/WebCore/ChangeLog	2013-01-08 03:00:52 UTC (rev 139027)
@@ -1,3 +1,16 @@
+2013-01-07  Hajime Morrita  morr...@google.com
+
+WebKit should compile on Mac with --shadow-dom
+https://bugs.webkit.org/show_bug.cgi?id=105469
+
+Reviewed by Dimitri Glazkov.
+
+No new tests. Just changing build files.
+
+* WebCore.exp.in:
+* WebCore.xcodeproj/project.pbxproj:
+* dom/Element.idl:
+
 2013-01-07  Stephen White  senorbla...@chromium.org
 
 Add a flag to control canvas antialiasing.


Modified: trunk/Source/WebCore/WebCore.exp.in (139026 => 139027)

--- trunk/Source/WebCore/WebCore.exp.in	2013-01-08 02:58:15 UTC (rev 139026)
+++ trunk/Source/WebCore/WebCore.exp.in	2013-01-08 03:00:52 UTC (rev 139027)
@@ -2516,6 +2516,8 @@
 
 #if ENABLE(SHADOW_DOM)
 __ZN7WebCore22RuntimeEnabledFeatures18isShadowDOMEnabledE
+__ZN7WebCore22RuntimeEnabledFeatures37isAuthorShadowDOMForAnyElementEnabledE
+__ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_10ShadowRootE
 #endif
 
 #if ENABLE(DIALOG_ELEMENT)


Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (139026 => 139027)

--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2013-01-08 02:58:15 UTC (rev 139026)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2013-01-08 03:00:52 UTC (rev 139027)
@@ -3897,6 +3897,8 @@
 		A71878900B2D04AC00A16ECE /* DragControllerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = A718788F0B2D04AC00A16ECE /* DragControllerMac.mm */; };
 		A723F77B1484CA4C008C6DBE /* PlatformExportMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = A723F77A1484CA4C008C6DBE /* PlatformExportMacros.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		A72763BF16689BFB002FCACB /* UserActionElementSet.h in Headers */ = {isa = PBXBuildFile; fileRef = A72763BE16689BFB002FCACB /* UserActionElementSet.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		A72B66A7169AD88D0034130C /* DOMShadowRoot.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = A7F73ED9169AD7AA00CBAA4B /* DOMShadowRoot.h */; };
+		A72B66A8169AD88D0034130C /* DOMShadowRoot.mm in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = A7F73EDA169AD7AA00CBAA4B /* DOMShadowRoot.mm */; };
 		A72EA3BB1585CF55004FAA26 /* RefCountedSupplement.h in Headers */ = {isa = PBXBuildFile; fileRef = A72EA3BA1585CF55004FAA26 /* RefCountedSupplement.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		A73F95FE12C97BFE0031AAF9 /* RoundedRect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A73F95FC12C97BFE0031AAF9 /* RoundedRect.cpp */; };
 		A73F95FF12C97BFE0031AAF9 /* RoundedRect.h in Headers */ = {isa = PBXBuildFile; fileRef = A73F95FD12C97BFE0031AAF9 /* RoundedRect.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -6879,6 +6881,7 @@
 1CB4214D0AF2B2CA0085AD91 /* DOMRangeInternal.h in Copy Generated Headers */,
 858C39BC0AA905EF00B187A4 /* DOMRect.h in Copy Generated Headers */,
 855D358D0AD707CC0019AAC7 /* DOMRGBColor.h in Copy Generated Headers */,
+A72B66A7169AD88D0034130C /* DOMShadowRoot.h in Copy Generated Headers */,
 850657A00AAB4A8E002D15C0 /* DOMStyleSheet.h in Copy Generated Headers */,
 850657A10AAB4A8E002D15C0 /* DOMStyleSheetList.h in Copy Generated Headers */,
 A8F46B380CB20A9D003A9670 /* DOMSVG.h in Copy Generated Headers */,
@@ -11352,6 +11355,8 @@
 		A7DBF8DC1276919C006B6008 /* TextCheckingHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextCheckingHelper.h; sourceTree = group; };
 		A7F5D94D1384F02D00A29A87 /* NodeRenderingContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NodeRenderingContext.cpp; sourceTree = group; };
 		A7F5D94E1384F02D00A29A87 /* NodeRenderingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NodeRenderingContext.h; sourceTree = group; };
+		A7F73ED9169AD7AA00CBAA4B /* DOMShadowRoot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DOMShadowRoot.h; path = DOMShadowRoot.h; sourceTree = group; };
+		A7F73EDA169AD7AA00CBAA4B /* DOMShadowRoot.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnow

[webkit-changes] [139029] trunk

2013-01-07 Thread morrita
Title: [139029] trunk








Revision 139029
Author morr...@google.com
Date 2013-01-07 20:39:39 -0800 (Mon, 07 Jan 2013)


Log Message
Document::m_activeNode should be always an Element.
https://bugs.webkit.org/show_bug.cgi?id=106193

Reviewed by Ryosuke Niwa.

Source/WebCore:

r137277 tightened an invariant that assumes that active node is
always an element. But Document::updateHoverActiveState() didn't
respect that assumption. This change forces it.

Test: svg/custom/text-use-click-crash.html

* dom/Document.cpp:
(WebCore::Document::removedLastRef):
(WebCore::Document::detach):
(WebCore::Document::setActiveNode):
(WebCore::Document::activeChainNodeDetached):
(WebCore::Document::updateHoverActiveState):
* dom/Document.h:
(WebCore::Document::activeElement): Renamed from m_activeNode for the clarification.
(Document):

LayoutTests:

* svg/custom/text-use-click-crash-expected.txt: Added.
* svg/custom/text-use-click-crash.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Document.h


Added Paths

trunk/LayoutTests/svg/custom/text-use-click-crash-expected.txt
trunk/LayoutTests/svg/custom/text-use-click-crash.xhtml




Diff

Modified: trunk/LayoutTests/ChangeLog (139028 => 139029)

--- trunk/LayoutTests/ChangeLog	2013-01-08 04:24:14 UTC (rev 139028)
+++ trunk/LayoutTests/ChangeLog	2013-01-08 04:39:39 UTC (rev 139029)
@@ -1,3 +1,13 @@
+2013-01-07  Hajime Morrita  morr...@google.com
+
+Document::m_activeNode should be always an Element.
+https://bugs.webkit.org/show_bug.cgi?id=106193
+
+Reviewed by Ryosuke Niwa.
+
+* svg/custom/text-use-click-crash-expected.txt: Added.
+* svg/custom/text-use-click-crash.html: Added.
+
 2013-01-07  Julien Chaffraix  jchaffr...@webkit.org
 
 [CSS Grid Layout] Implement grid items sizing for fixed minmax grid tracks


Added: trunk/LayoutTests/svg/custom/text-use-click-crash-expected.txt (0 => 139029)

--- trunk/LayoutTests/svg/custom/text-use-click-crash-expected.txt	(rev 0)
+++ trunk/LayoutTests/svg/custom/text-use-click-crash-expected.txt	2013-01-08 04:39:39 UTC (rev 139029)
@@ -0,0 +1 @@
+PASS


Added: trunk/LayoutTests/svg/custom/text-use-click-crash.xhtml (0 => 139029)

--- trunk/LayoutTests/svg/custom/text-use-click-crash.xhtml	(rev 0)
+++ trunk/LayoutTests/svg/custom/text-use-click-crash.xhtml	2013-01-08 04:39:39 UTC (rev 139029)
@@ -0,0 +1,33 @@
+html xmlns=http://www.w3.org/1999/xhtml
+body
+svg viewBox=0 0 480 360 xmlns:xlink=http://www.w3.org/1999/xlink xmlns=http://www.w3.org/2000/svg
+text font-size=58em id=targetX/text
+use xlink:href=""
+/svg
+script![CDATA[
+if (window.testRunner) {
+testRunner.waitUntilDone();
+testRunner.dumpAsText();
+}
+
+function keyDownMouseClick(x1, y1, x2, y2)
+{
+if (!window.eventSender)
+return;
+eventSender.mouseMoveTo(x1, y1);
+eventSender.mouseDown();
+eventSender.mouseMoveTo(x2, y2);
+eventSender.mouseUp();
+}
+
+target = document.getElementById(target);
+keyDownMouseClick(266, 322, 0, 0);
+target.setAttribute(requiredFeatures, unknown_feature); 
+keyDownMouseClick(226, 322, 0, 0);
+
+document.body.innerHTML = PASS;
+testRunner.notifyDone();
+
+]]/script
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (139028 => 139029)

--- trunk/Source/WebCore/ChangeLog	2013-01-08 04:24:14 UTC (rev 139028)
+++ trunk/Source/WebCore/ChangeLog	2013-01-08 04:39:39 UTC (rev 139029)
@@ -1,5 +1,28 @@
 2013-01-07  Hajime Morrita  morr...@google.com
 
+Document::m_activeNode should be always an Element.
+https://bugs.webkit.org/show_bug.cgi?id=106193
+
+Reviewed by Ryosuke Niwa.
+
+r137277 tightened an invariant that assumes that active node is
+always an element. But Document::updateHoverActiveState() didn't
+respect that assumption. This change forces it.
+
+Test: svg/custom/text-use-click-crash.html
+
+* dom/Document.cpp:
+(WebCore::Document::removedLastRef):
+(WebCore::Document::detach):
+(WebCore::Document::setActiveNode):
+(WebCore::Document::activeChainNodeDetached):
+(WebCore::Document::updateHoverActiveState):
+* dom/Document.h:
+(WebCore::Document::activeElement): Renamed from m_activeNode for the clarification.
+(Document):
+
+2013-01-07  Hajime Morrita  morr...@google.com
+
 WebKit should compile on Mac with --shadow-dom
 https://bugs.webkit.org/show_bug.cgi?id=105469
 


Modified: trunk/Source/WebCore/dom/Document.cpp (139028 => 139029)

--- trunk/Source/WebCore/dom/Document.cpp	2013-01-08 04:24:14 UTC (rev 139028)
+++ trunk/Source/WebCore/dom/Document.cpp	2013-01-08 04:39:39 UTC (rev 139029)
@@ -688,7 +688,7 @@
 m_docType = 0;
 m_focusedNode = 0;
 m_hoverNode =

[webkit-changes] [137717] trunk/Source/WebCore

2012-12-13 Thread morrita
Title: [137717] trunk/Source/WebCore








Revision 137717
Author morr...@google.com
Date 2012-12-13 23:45:46 -0800 (Thu, 13 Dec 2012)


Log Message
ContentDistributor and ShadowRootContentDistributionData should use RefPtr to hold elements.
https://bugs.webkit.org/show_bug.cgi?id=104918

Reviewed by Kentaro Hara.

This change turns some raw pointers to RefPtrs.

No new tests. Hard to write reliable fast tests since the error
reproduction needs GC to run in certain timing. Although original
report has a repdocution, it takes a few seconds before crash and
isn't suited for a layout test.

* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::insertionPointList):
* dom/ShadowRoot.h:
(ShadowRoot):
* html/shadow/ContentDistributor.cpp:
(WebCore::ShadowRootContentDistributionData::ensureInsertionPointList):
(WebCore::ContentDistributor::findInsertionPointFor):
(WebCore::ContentDistributor::distribute):
(WebCore::ContentDistributor::invalidate):
* html/shadow/ContentDistributor.h:
(ShadowRootContentDistributionData):
(ContentDistributor):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ShadowRoot.cpp
trunk/Source/WebCore/dom/ShadowRoot.h
trunk/Source/WebCore/html/shadow/ContentDistributor.cpp
trunk/Source/WebCore/html/shadow/ContentDistributor.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (137716 => 137717)

--- trunk/Source/WebCore/ChangeLog	2012-12-14 07:30:53 UTC (rev 137716)
+++ trunk/Source/WebCore/ChangeLog	2012-12-14 07:45:46 UTC (rev 137717)
@@ -1,5 +1,32 @@
 2012-12-13  Hajime Morrita  morr...@google.com
 
+ContentDistributor and ShadowRootContentDistributionData should use RefPtr to hold elements.
+https://bugs.webkit.org/show_bug.cgi?id=104918
+
+Reviewed by Kentaro Hara.
+
+This change turns some raw pointers to RefPtrs.
+
+No new tests. Hard to write reliable fast tests since the error
+reproduction needs GC to run in certain timing. Although original
+report has a repdocution, it takes a few seconds before crash and
+isn't suited for a layout test.
+
+* dom/ShadowRoot.cpp:
+(WebCore::ShadowRoot::insertionPointList):
+* dom/ShadowRoot.h:
+(ShadowRoot):
+* html/shadow/ContentDistributor.cpp:
+(WebCore::ShadowRootContentDistributionData::ensureInsertionPointList):
+(WebCore::ContentDistributor::findInsertionPointFor):
+(WebCore::ContentDistributor::distribute):
+(WebCore::ContentDistributor::invalidate):
+* html/shadow/ContentDistributor.h:
+(ShadowRootContentDistributionData):
+(ContentDistributor):
+
+2012-12-13  Hajime Morrita  morr...@google.com
+
 NodeRenderingContext is slow due to ComposedShadowTreeWalker
 https://bugs.webkit.org/show_bug.cgi?id=104332
 


Modified: trunk/Source/WebCore/dom/ShadowRoot.cpp (137716 => 137717)

--- trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-12-14 07:30:53 UTC (rev 137716)
+++ trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-12-14 07:45:46 UTC (rev 137717)
@@ -328,9 +328,9 @@
 owner()-invalidateDistribution();
 }
 
-const VectorInsertionPoint* ShadowRoot::insertionPointList()
+const VectorRefPtrInsertionPoint  ShadowRoot::insertionPointList()
 {
-typedef VectorInsertionPoint* InsertionPointVector;
+typedef VectorRefPtrInsertionPoint  InsertionPointVector;
 DEFINE_STATIC_LOCAL(InsertionPointVector, emptyVector, ());
 
 return distributionData() ? distributionData()-ensureInsertionPointList(this) : emptyVector;


Modified: trunk/Source/WebCore/dom/ShadowRoot.h (137716 => 137717)

--- trunk/Source/WebCore/dom/ShadowRoot.h	2012-12-14 07:30:53 UTC (rev 137716)
+++ trunk/Source/WebCore/dom/ShadowRoot.h	2012-12-14 07:45:46 UTC (rev 137717)
@@ -102,7 +102,7 @@
 bool hasElementShadow() const;
 unsigned countElementShadow() const;
 
-const VectorInsertionPoint* insertionPointList();
+const VectorRefPtrInsertionPoint  insertionPointList();
 
 virtual void registerScopedHTMLStyleChild() OVERRIDE;
 virtual void unregisterScopedHTMLStyleChild() OVERRIDE;


Modified: trunk/Source/WebCore/html/shadow/ContentDistributor.cpp (137716 => 137717)

--- trunk/Source/WebCore/html/shadow/ContentDistributor.cpp	2012-12-14 07:30:53 UTC (rev 137716)
+++ trunk/Source/WebCore/html/shadow/ContentDistributor.cpp	2012-12-14 07:45:46 UTC (rev 137717)
@@ -91,7 +91,7 @@
 m_insertionPointList.clear();
 }
 
-const VectorInsertionPoint* ShadowRootContentDistributionData::ensureInsertionPointList(ShadowRoot* shadowRoot)
+const VectorRefPtrInsertionPoint  ShadowRootContentDistributionData::ensureInsertionPointList(ShadowRoot* shadowRoot)
 {
 if (m_insertionPointListIsValid)
 return m_insertionPointList;
@@ -155,7 +155,7 @@
 
 InsertionPoint* ContentDistributor::findInsertionPointFor(const Node* key) const
 {
-return m_nodeToInsertionPoint.get(key);
+return m_nodeToInsertionPoint.get(key).get();
 }
 
 void ContentDistributor::p

[webkit-changes] [137277] trunk/Source/WebCore

2012-12-11 Thread morrita
Title: [137277] trunk/Source/WebCore








Revision 137277
Author morr...@google.com
Date 2012-12-11 02:36:24 -0800 (Tue, 11 Dec 2012)


Log Message
IsActiveFlag, IsHoverFlag, InActiveChainFlag can be unified.
https://bugs.webkit.org/show_bug.cgi?id=103697

Reviewed by Ryosuke Niwa.

To save two more NodeFlags bits, this patch inroduces
UserActionElementSet to get IsLinkFlag, IsHoverFlag,
InActiveChainFlag together. These three old flags are replaced by
UserActionElementSet::ElementFlags and UserActionElementSet
collection which tracks elements which are flagged with one of
a ElementFlags.

When marking an element as active for example, WebKit sets
UserActionElementSet::IsActiveFlag to the element and store it
into corresponding element set of the document. This set maintains
marked elements and corresponding flags for each elements.

UserActionElementSet can be seen as a yet another rare data for
these flags. However, the following characteristics of these flags
make adding a new data structure on Document an attractive
alternative:

- UserActionElementSet is maintained for each Document instead of a
  global collecton. This fits element lifetime better.

- The number of elements which have these flags is generally
  small, and a group of elements for each flag is largely overlapped
  due to its nature. This property keeps the set small, and lets
  flag retrieval efficient. On majority of the elements, all these
  flags are false thus the check is done by just checking
  IsInUserActionFlag.

As a bonus, isFocused flag, which was on NodeRareData, is also moved to this model.

No new tests, covered by existing test.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMAllInOne.cpp:
* dom/Document.cpp:
(WebCore::Document::removedLastRef):
(WebCore::Document::updateHoverActiveState):
* dom/Document.h:
(WebCore::Document::userActionElements): Added.
(Document):
* dom/Node.cpp:
(WebCore::Node::detach):
* dom/Node.h:
(WebCore):
(WebCore::Node::isUserActionElement): Added.
(WebCore::Node::setUserActionElement): Added.
(Node):
(WebCore::Node::active): Switched to UserActionElementSet.
(WebCore::Node::inActiveChain): Switched to UserActionElementSet.
(WebCore::Node::hovered): Switched to UserActionElementSet.
(WebCore::Node::focused): Switched to UserActionElementSet.
(WebCore::Node::setFocus): Switched to UserActionElementSet.
(WebCore::Node::setActive): Switched to UserActionElementSet.
(WebCore::Node::setHovered): Switched to UserActionElementSet.
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
(NodeRareData):
* dom/UserActionElementSet.cpp: Added.
(WebCore):
(WebCore::UserActionElementSet::instanceFor):
(WebCore::UserActionElementSet::UserActionElementSet):
(WebCore::UserActionElementSet::~UserActionElementSet):
(WebCore::UserActionElementSet::didDetach):
(WebCore::UserActionElementSet::documentDidRemoveLastRef):
(WebCore::UserActionElementSet::hasFlags):
(WebCore::UserActionElementSet::setFlags):
(WebCore::UserActionElementSet::clearFlags):
* dom/UserActionElementSet.h: Added.
(WebCore):
(UserActionElementSet):
(WebCore::UserActionElementSet::create):
(WebCore::UserActionElementSet::isFocused):
(WebCore::UserActionElementSet::setFocused):
(WebCore::UserActionElementSet::isActive):
(WebCore::UserActionElementSet::setActive):
(WebCore::UserActionElementSet::isInActiveChain):
(WebCore::UserActionElementSet::setInActiveChain):
(WebCore::UserActionElementSet::isHovered):
(WebCore::UserActionElementSet::setHovered):
(WebCore::UserActionElementSet::setFlags):

Modified Paths

trunk/Source/WebCore/CMakeLists.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/GNUmakefile.list.am
trunk/Source/WebCore/Target.pri
trunk/Source/WebCore/WebCore.gypi
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/dom/DOMAllInOne.cpp
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Document.h
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/dom/NodeRareData.h


Added Paths

trunk/Source/WebCore/dom/UserActionElementSet.cpp
trunk/Source/WebCore/dom/UserActionElementSet.h




Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (137276 => 137277)

--- trunk/Source/WebCore/CMakeLists.txt	2012-12-11 10:31:17 UTC (rev 137276)
+++ trunk/Source/WebCore/CMakeLists.txt	2012-12-11 10:36:24 UTC (rev 137277)
@@ -1236,6 +1236,7 @@
 dom/TreeWalker.cpp
 dom/UIEvent.cpp
 dom/UIEventWithKeyState.cpp
+dom/UserActionElementSet.cpp
 dom/UserGestureIndicator.cpp
 dom/UserTypingGestureIndicator.cpp
 dom/ViewportArguments.cpp


Modified: trunk/Source/WebCore/ChangeLog (137276 => 137277)

--- trunk/Source/WebCore/ChangeLog	2012-12-11 10:31:17 UTC (rev 137276)
+++ trunk/Source/WebCore/ChangeLog	2012-12-11 10:36:24 UTC (rev 137277)
@@ -1,3 +1,94 @@
+2012-12-11  Hajime Morrita  morr...@google.com
+
+IsActiveFlag, IsHoverFlag, InActiveChainFlag can be u

[webkit-changes] [137119] trunk/Source/WebCore

2012-12-10 Thread morrita
Title: [137119] trunk/Source/WebCore








Revision 137119
Author morr...@google.com
Date 2012-12-10 01:03:06 -0800 (Mon, 10 Dec 2012)


Log Message
[Shadow DOM][Refacdtoring] nextTo() and previousTo() can be part of ContentDistribution
https://bugs.webkit.org/show_bug.cgi?id=104514

Reviewed by Kentaro Hara.

InsertionPoint::nextTo() and InsertionPoint::previousTo() are an
query to distributed nodes, which is what ContentDistribution
represents. We can move them to better home.

No new tests. No behavior change.

* html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistribution::nextTo): Moved from InsertionPoint
(WebCore):
(WebCore::ContentDistribution::previousTo): Moved from InsertionPoint
* html/shadow/ContentDistributor.h:
(ContentDistribution):
* html/shadow/InsertionPoint.cpp:
* html/shadow/InsertionPoint.h:
(WebCore::InsertionPoint::nextTo): Delegated to ContentDistribution
(WebCore::InsertionPoint::previousTo): Delegated to ContentDistribution

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/shadow/ContentDistributor.cpp
trunk/Source/WebCore/html/shadow/ContentDistributor.h
trunk/Source/WebCore/html/shadow/InsertionPoint.cpp
trunk/Source/WebCore/html/shadow/InsertionPoint.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (137118 => 137119)

--- trunk/Source/WebCore/ChangeLog	2012-12-10 08:42:40 UTC (rev 137118)
+++ trunk/Source/WebCore/ChangeLog	2012-12-10 09:03:06 UTC (rev 137119)
@@ -1,3 +1,27 @@
+2012-12-10  Hajime Morrita  morr...@google.com
+
+[Shadow DOM][Refacdtoring] nextTo() and previousTo() can be part of ContentDistribution
+https://bugs.webkit.org/show_bug.cgi?id=104514
+
+Reviewed by Kentaro Hara.
+
+InsertionPoint::nextTo() and InsertionPoint::previousTo() are an
+query to distributed nodes, which is what ContentDistribution
+represents. We can move them to better home.
+
+No new tests. No behavior change.
+
+* html/shadow/ContentDistributor.cpp:
+(WebCore::ContentDistribution::nextTo): Moved from InsertionPoint
+(WebCore):
+(WebCore::ContentDistribution::previousTo): Moved from InsertionPoint
+* html/shadow/ContentDistributor.h:
+(ContentDistribution):
+* html/shadow/InsertionPoint.cpp:
+* html/shadow/InsertionPoint.h:
+(WebCore::InsertionPoint::nextTo): Delegated to ContentDistribution
+(WebCore::InsertionPoint::previousTo): Delegated to ContentDistribution
+
 2012-12-10  Joanmarie Diggs  jdi...@igalia.com
 
 [GTK] accessibility/language-attribute.html is failing


Modified: trunk/Source/WebCore/html/shadow/ContentDistributor.cpp (137118 => 137119)

--- trunk/Source/WebCore/html/shadow/ContentDistributor.cpp	2012-12-10 08:42:40 UTC (rev 137118)
+++ trunk/Source/WebCore/html/shadow/ContentDistributor.cpp	2012-12-10 09:03:06 UTC (rev 137119)
@@ -58,6 +58,23 @@
 return it.get()-value;
 }
 
+Node* ContentDistribution::nextTo(const Node* node) const
+{
+size_t index = find(node);
+if (index == notFound || index + 1 == size())
+return 0;
+return at(index + 1).get();
+}
+
+Node* ContentDistribution::previousTo(const Node* node) const
+{
+size_t index = find(node);
+if (index == notFound || !index)
+return 0;
+return at(index - 1).get();
+}
+
+
 ShadowRootContentDistributionData::ShadowRootContentDistributionData()
 : m_insertionPointAssignedTo(0)
 , m_numberOfShadowElementChildren(0)


Modified: trunk/Source/WebCore/html/shadow/ContentDistributor.h (137118 => 137119)

--- trunk/Source/WebCore/html/shadow/ContentDistributor.h	2012-12-10 08:42:40 UTC (rev 137118)
+++ trunk/Source/WebCore/html/shadow/ContentDistributor.h	2012-12-10 09:03:06 UTC (rev 137119)
@@ -58,6 +58,8 @@
 
 bool contains(const Node* node) const { return m_indices.contains(node); }
 size_t find(const Node*) const;
+Node* nextTo(const Node*) const;
+Node* previousTo(const Node*) const;
 
 void swap(ContentDistribution other);
 


Modified: trunk/Source/WebCore/html/shadow/InsertionPoint.cpp (137118 => 137119)

--- trunk/Source/WebCore/html/shadow/InsertionPoint.cpp	2012-12-10 08:42:40 UTC (rev 137118)
+++ trunk/Source/WebCore/html/shadow/InsertionPoint.cpp	2012-12-10 09:03:06 UTC (rev 137119)
@@ -112,22 +112,6 @@
 return !isShadowBoundary()  HTMLElement::rendererIsNeeded(context);
 }
 
-Node* InsertionPoint::nextTo(const Node* node) const
-{
-size_t index = m_distribution.find(node);
-if (index == notFound || index + 1 == m_distribution.size())
-return 0;
-return m_distribution.at(index + 1).get();
-}
-
-Node* InsertionPoint::previousTo(const Node* node) const
-{
-size_t index = m_distribution.find(node);
-if (index == notFound || !index)
-return 0;
-return m_distribution.at(index - 1).get();
-}
-
 void InsertionPoint::childrenChanged(bool changedByParser, Node* beforeChange, Node* afterChange, int childCountDelta)
 {

[webkit-changes] [137233] trunk/Source/WebCore

2012-12-10 Thread morrita
Title: [137233] trunk/Source/WebCore








Revision 137233
Author morr...@google.com
Date 2012-12-10 17:42:16 -0800 (Mon, 10 Dec 2012)


Log Message
[Shadow DOM][Refactoring] HTMLContentElement,HTMLShadowElement::m_registeredWithShadowRoot should be moved to InsertionPoint
https://bugs.webkit.org/show_bug.cgi?id=104516

Reviewed by Dimitri Glazkov.

This change pulls duplicated code in removedFrom() and
insertedInto() of both both HTMLShadowElement and
HTMLContentElement to their super class InsertionPoint.

This is a part of effor that encapsulate node distribution algorithm to
ContentDistributor and its family.

No new tests, no behavior change.

* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::registerInsertionPoint): Added.
(WebCore::ShadowRoot::unregisterInsertionPoint): Added.
* dom/ShadowRoot.h:
(ShadowRoot):
* html/shadow/ContentDistributor.cpp:
(WebCore::ShadowRootContentDistributionData::regiterInsertionPoint): Generalized two methods for content and shadow.
(WebCore):
(WebCore::ShadowRootContentDistributionData::unregisterInsertionPoint): Ditto.
* html/shadow/ContentDistributor.h:
(ShadowRootContentDistributionData):
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::HTMLContentElement):
* html/shadow/HTMLContentElement.h:
* html/shadow/HTMLShadowElement.cpp:
(WebCore::HTMLShadowElement::HTMLShadowElement):
* html/shadow/HTMLShadowElement.h:
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::InsertionPoint):
(WebCore::InsertionPoint::insertedInto): Pulled up from subclasses
(WebCore::InsertionPoint::removedFrom): Pulled up from subclasses
* html/shadow/InsertionPoint.h:
(InsertionPoint):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ShadowRoot.cpp
trunk/Source/WebCore/dom/ShadowRoot.h
trunk/Source/WebCore/html/shadow/ContentDistributor.cpp
trunk/Source/WebCore/html/shadow/ContentDistributor.h
trunk/Source/WebCore/html/shadow/HTMLContentElement.cpp
trunk/Source/WebCore/html/shadow/HTMLContentElement.h
trunk/Source/WebCore/html/shadow/HTMLShadowElement.cpp
trunk/Source/WebCore/html/shadow/HTMLShadowElement.h
trunk/Source/WebCore/html/shadow/InsertionPoint.cpp
trunk/Source/WebCore/html/shadow/InsertionPoint.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (137232 => 137233)

--- trunk/Source/WebCore/ChangeLog	2012-12-11 01:40:46 UTC (rev 137232)
+++ trunk/Source/WebCore/ChangeLog	2012-12-11 01:42:16 UTC (rev 137233)
@@ -1,3 +1,43 @@
+2012-12-10  Hajime Morrita  morr...@google.com
+
+[Shadow DOM][Refactoring] HTMLContentElement,HTMLShadowElement::m_registeredWithShadowRoot should be moved to InsertionPoint
+https://bugs.webkit.org/show_bug.cgi?id=104516
+
+Reviewed by Dimitri Glazkov.
+
+This change pulls duplicated code in removedFrom() and
+insertedInto() of both both HTMLShadowElement and
+HTMLContentElement to their super class InsertionPoint.
+
+This is a part of effor that encapsulate node distribution algorithm to
+ContentDistributor and its family.
+
+No new tests, no behavior change.
+
+* dom/ShadowRoot.cpp:
+(WebCore::ShadowRoot::registerInsertionPoint): Added.
+(WebCore::ShadowRoot::unregisterInsertionPoint): Added.
+* dom/ShadowRoot.h:
+(ShadowRoot):
+* html/shadow/ContentDistributor.cpp:
+(WebCore::ShadowRootContentDistributionData::regiterInsertionPoint): Generalized two methods for content and shadow.
+(WebCore):
+(WebCore::ShadowRootContentDistributionData::unregisterInsertionPoint): Ditto.
+* html/shadow/ContentDistributor.h:
+(ShadowRootContentDistributionData):
+* html/shadow/HTMLContentElement.cpp:
+(WebCore::HTMLContentElement::HTMLContentElement):
+* html/shadow/HTMLContentElement.h:
+* html/shadow/HTMLShadowElement.cpp:
+(WebCore::HTMLShadowElement::HTMLShadowElement):
+* html/shadow/HTMLShadowElement.h:
+* html/shadow/InsertionPoint.cpp:
+(WebCore::InsertionPoint::InsertionPoint):
+(WebCore::InsertionPoint::insertedInto): Pulled up from subclasses
+(WebCore::InsertionPoint::removedFrom): Pulled up from subclasses
+* html/shadow/InsertionPoint.h:
+(InsertionPoint):
+
 2012-12-10  Jon Lee  jon...@apple.com
 
 Keep track of plug-in snapshots clicked by user


Modified: trunk/Source/WebCore/dom/ShadowRoot.cpp (137232 => 137233)

--- trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-12-11 01:40:46 UTC (rev 137232)
+++ trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-12-11 01:42:16 UTC (rev 137233)
@@ -358,14 +358,14 @@
 return m_distributionData.get();
 }   
 
-void ShadowRoot::registerShadowElement()
+void ShadowRoot::registerInsertionPoint(InsertionPoint* point)
 {
-ensureDistributionData()-incrementNumberOfShadowElementChildren();
+ensureDistributionData()-regiterInsertionPoint(this, point);
 }
 
-void ShadowRoot::unregisterShadowElement()
+void Shad

[webkit-changes] [136924] trunk

2012-12-06 Thread morrita
hostWithUAShadow = document.createElement('input');
+shouldBeNull(hostWithUAShadow.webkitShadowRoot);
+
+/script
+script src=""
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (136923 => 136924)

--- trunk/Source/WebCore/ChangeLog	2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/ChangeLog	2012-12-07 07:20:18 UTC (rev 136924)
@@ -1,3 +1,74 @@
+2012-12-06  Hajime Morrita  morr...@google.com
+
+[Shadow DOM] Implement Element::shadowRoot with prefix
+https://bugs.webkit.org/show_bug.cgi?id=102912
+
+Reviewed by Dimitri Glazkov.
+
+- Added Element::shadowRoot() which return the youngest author shadow root.
+- Renamed existing Node::shadowRoot() to containingShadowRoot() to avoid name shadowing.
+  The name shadowRoot() is confusing anyway so this is good opportunity to rename it.
+
+Test: fast/dom/shadow/shadow-aware-shadow-root.html
+
+* css/SelectorChecker.cpp:
+(WebCore::SelectorChecker::checkSelector):
+* css/StyleScopeResolver.cpp:
+(WebCore::StyleScopeResolver::scopeFor):
+(WebCore::StyleScopeResolver::addHostRule):
+* dom/Element.cpp:
+(WebCore::Element::shadowRoot):
+(WebCore):
+* dom/Element.h:
+(Element):
+* dom/Element.idl:
+* dom/ElementShadow.cpp:
+(WebCore::ElementShadow::setShouldCollectSelectFeatureSet):
+* dom/Node.cpp:
+(WebCore::Node::rendererIsEditable):
+(WebCore::Node::shadowHost):
+(WebCore::Node::shadowAncestorNode):
+(WebCore::Node::containingShadowRoot):
+* dom/Node.h:
+(Node):
+* dom/Range.cpp:
+(WebCore::Range::shadowRoot):
+* dom/ShadowRoot.cpp:
+(WebCore::ShadowRoot::insertedInto):
+(WebCore::ShadowRoot::removedFrom):
+* dom/ShadowRoot.h:
+(WebCore::ShadowRoot::isAccessible):
+* editing/TextIterator.cpp:
+(WebCore::TextIterator::handleReplacedElement):
+* editing/htmlediting.cpp:
+(WebCore::indexForVisiblePosition):
+* html/HTMLStyleElement.cpp:
+(WebCore::HTMLStyleElement::scopedAttributeChanged):
+(WebCore::HTMLStyleElement::registerWithScopingNode):
+(WebCore::HTMLStyleElement::removedFrom):
+* html/shadow/ContentDistributor.cpp:
+(WebCore::ContentDistributor::distribute):
+* html/shadow/HTMLContentElement.cpp:
+(WebCore::HTMLContentElement::parseAttribute):
+(WebCore::HTMLContentElement::insertedInto):
+(WebCore::HTMLContentElement::removedFrom):
+* html/shadow/HTMLShadowElement.cpp:
+(WebCore::HTMLShadowElement::insertedInto):
+(WebCore::HTMLShadowElement::removedFrom):
+* html/shadow/InsertionPoint.cpp:
+(WebCore::InsertionPoint::attach):
+(WebCore::InsertionPoint::detach):
+(WebCore::InsertionPoint::isActive):
+(WebCore::InsertionPoint::childrenChanged):
+(WebCore::InsertionPoint::insertedInto):
+(WebCore::InsertionPoint::removedFrom):
+(WebCore::InsertionPoint::setResetStyleInheritance):
+* page/EventHandler.cpp:
+(WebCore::instanceAssociatedWithShadowTreeElement):
+* svg/SVGElement.cpp:
+(WebCore::SVGElement::correspondingElement):
+(WebCore::collectInstancesForSVGElement):
+
 2012-12-06  Michael Pruett  mich...@68k.org
 
 IndexedDB: Replace int64 with int64_t


Modified: trunk/Source/WebCore/css/SelectorChecker.cpp (136923 => 136924)

--- trunk/Source/WebCore/css/SelectorChecker.cpp	2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/css/SelectorChecker.cpp	2012-12-07 07:20:18 UTC (rev 136924)
@@ -448,7 +448,7 @@
 
 if (context.selector-m_match == CSSSelector::PseudoElement) {
 if (context.selector-isCustomPseudoElement()) {
-if (ShadowRoot* root = context.element-shadowRoot()) {
+if (ShadowRoot* root = context.element-containingShadowRoot()) {
 if (context.element-shadowPseudoId() != context.selector-value())
 return SelectorFailsLocally;
 


Modified: trunk/Source/WebCore/css/StyleScopeResolver.cpp (136923 => 136924)

--- trunk/Source/WebCore/css/StyleScopeResolver.cpp	2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/css/StyleScopeResolver.cpp	2012-12-07 07:20:18 UTC (rev 136924)
@@ -68,7 +68,7 @@
 
 HTMLStyleElement* styleElement = static_castHTMLStyleElement*(ownerNode);
 if (!styleElement-scoped())
-return styleElement-isInShadowTree() ? styleElement-shadowRoot() : 0;
+return styleElement-isInShadowTree() ? styleElement-containingShadowRoot() : 0;
 
 ContainerNode* parent = styleElement-parentNode();
 if (!parent)
@@ -175,7 +175,7 @@
 if (!scope || !scope-isInShadowTree())
 return;
 
-ShadowRoot* shadowRoot = scope-shadowRoot();
+ShadowRoot* shadowRoot = scope-containingShadowRoot();

[webkit-changes] [136405] trunk

2012-12-03 Thread morrita
Title: [136405] trunk








Revision 136405
Author morr...@google.com
Date 2012-12-03 09:06:36 -0800 (Mon, 03 Dec 2012)


Log Message
Corrupted DOM tree during appendChild/insertBefore
https://bugs.webkit.org/show_bug.cgi?id=103601

Reviewed by Abhishek Arya.

Source/WebCore:

There are some missing protection in appendChild() and insertBefore().
This change added these.

Dromaeo dom-modify shows no speed regression (5445run/s before vs 5351run/s after)

Tests: fast/events/mutation-during-append-child.html
   fast/events/mutation-during-insert-before.html

* dom/ContainerNode.cpp:
(WebCore::checkAcceptChildGuaranteedNodeTypes):
(WebCore):
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::appendChild):

LayoutTests:

* fast/events/mutation-during-append-child-expected.txt: Added.
* fast/events/mutation-during-append-child.html: Added.
* fast/events/mutation-during-insert-before-expected.txt: Added.
* fast/events/mutation-during-insert-before.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContainerNode.cpp


Added Paths

trunk/LayoutTests/fast/events/mutation-during-append-child-expected.txt
trunk/LayoutTests/fast/events/mutation-during-append-child.html
trunk/LayoutTests/fast/events/mutation-during-insert-before-expected.txt
trunk/LayoutTests/fast/events/mutation-during-insert-before.html




Diff

Modified: trunk/LayoutTests/ChangeLog (136404 => 136405)

--- trunk/LayoutTests/ChangeLog	2012-12-03 17:01:57 UTC (rev 136404)
+++ trunk/LayoutTests/ChangeLog	2012-12-03 17:06:36 UTC (rev 136405)
@@ -1,3 +1,15 @@
+2012-12-03  Hajime Morrita  morr...@google.com
+
+Corrupted DOM tree during appendChild/insertBefore
+https://bugs.webkit.org/show_bug.cgi?id=103601
+
+Reviewed by Abhishek Arya.
+
+* fast/events/mutation-during-append-child-expected.txt: Added.
+* fast/events/mutation-during-append-child.html: Added.
+* fast/events/mutation-during-insert-before-expected.txt: Added.
+* fast/events/mutation-during-insert-before.html: Added.
+
 2012-12-03  Jussi Kukkonen  jussi.kukko...@intel.com
 
 [GTK][EFL] Gardening for media/video-volume.html


Added: trunk/LayoutTests/fast/events/mutation-during-append-child-expected.txt (0 => 136405)

--- trunk/LayoutTests/fast/events/mutation-during-append-child-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/events/mutation-during-append-child-expected.txt	2012-12-03 17:06:36 UTC (rev 136405)
@@ -0,0 +1,10 @@
+Ensures that appendChild() throws an exception if mutation even handler does something wrong
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS newparent.appendChild(child); threw exception Error: HierarchyRequestError: DOM Exception 3.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/events/mutation-during-append-child.html (0 => 136405)

--- trunk/LayoutTests/fast/events/mutation-during-append-child.html	(rev 0)
+++ trunk/LayoutTests/fast/events/mutation-during-append-child.html	2012-12-03 17:06:36 UTC (rev 136405)
@@ -0,0 +1,23 @@
+!DOCTYPE html
+html
+head
+script src=""
+/head
+body
+div
+  div id=child/div
+  div id=newparent/div
+/div
+script
+description(Ensures that appendChild() throws an exception if mutation even handler does something wrong);
+
+var listener = function() {
+document.removeEventListener(DOMNodeRemoved, listener, false);
+child.appendChild(newparent);
+};
+document.addEventListener(DOMNodeRemoved, listener, false);
+shouldThrow(newparent.appendChild(child);,  'Error: HierarchyRequestError: DOM Exception 3');
+/script
+script src=""
+/body
+/html


Added: trunk/LayoutTests/fast/events/mutation-during-insert-before-expected.txt (0 => 136405)

--- trunk/LayoutTests/fast/events/mutation-during-insert-before-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/events/mutation-during-insert-before-expected.txt	2012-12-03 17:06:36 UTC (rev 136405)
@@ -0,0 +1,10 @@
+Ensures that insertBefore() throws an exception if mutation even handler does something wrong
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS newparent.insertBefore(child, beforeChild); threw exception Error: HierarchyRequestError: DOM Exception 3.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/events/mutation-during-insert-before.html (0 => 136405)

--- trunk/LayoutTests/fast/events/mutation-during-insert-before.html	(rev 0)
+++ trunk/LayoutTests/fast/events/mutation-during-insert-before.html	2012-12-03 17:06:36 UTC (rev 136405)
@@ -0,0 +1,23 @@
+!DOCTYPE html
+html
+head
+script src=""
+/head
+body
+div
+  div id=child/div
+  div id=newparentspan id=beforeChild/div
+/div
+script
+description(Ensures that insertBefore() throws an exception 

[webkit-changes] [136131] trunk

2012-11-29 Thread morrita
Title: [136131] trunk








Revision 136131
Author morr...@google.com
Date 2012-11-29 07:33:03 -0800 (Thu, 29 Nov 2012)


Log Message
Source/WebCore: HTMLMediaElement's .textTracks property does not reflect track element
https://bugs.webkit.org/show_bug.cgi?id=103420

Reviewed by Eric Carlson.

There were some assumptions that track elements are valid only
if the parent media is in document. This change relaxes this
assumption so that track is valid when it has media as a
parent regardless whether the media is in the document or not.

HTMLMediaElement::didAddTrack and didRemoveTrack are now called
when the track is inserted to or removed from the parent media
element.

Test: media/track/track-node-add-remove.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::didRemoveTrack):
Renamed from willRemoveTrack() to reflect the timing. This was once called from
Node::willRemove(), which was removed a while ago.
* html/HTMLMediaElement.h:
(HTMLMediaElement):
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::insertedInto):
The old code notified parent media only if the subtree became a part of the document.
Now it notifies the media when this track becomes a child of that media.

(WebCore::HTMLTrackElement::removedFrom):
The old code notifies the parent media every time as long as the parent is available.
Now it notifies the media only if this track is removed from the parent media.
This matches how corresponding notification is done in insertedInto().

* html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::trackElementIndex):

LayoutTests: HTMLMediaElement's .textTracks property does not reflect track element
https://bugs.webkit.org/show_bug.cgi?id=103420

Reviewed by Eric Carlson.

* media/track/track-node-add-remove-expected.txt: Added.
* media/track/track-node-add-remove.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLMediaElement.cpp
trunk/Source/WebCore/html/HTMLMediaElement.h
trunk/Source/WebCore/html/HTMLTrackElement.cpp
trunk/Source/WebCore/html/track/LoadableTextTrack.cpp


Added Paths

trunk/LayoutTests/media/track/track-node-add-remove-expected.txt
trunk/LayoutTests/media/track/track-node-add-remove.html




Diff

Modified: trunk/LayoutTests/ChangeLog (136130 => 136131)

--- trunk/LayoutTests/ChangeLog	2012-11-29 15:31:17 UTC (rev 136130)
+++ trunk/LayoutTests/ChangeLog	2012-11-29 15:33:03 UTC (rev 136131)
@@ -1,3 +1,13 @@
+2012-11-29  Hajime Morrita  morr...@google.com
+
+HTMLMediaElement's .textTracks property does not reflect track element
+https://bugs.webkit.org/show_bug.cgi?id=103420
+
+Reviewed by Eric Carlson.
+
+* media/track/track-node-add-remove-expected.txt: Added.
+* media/track/track-node-add-remove.html: Added.
+
 2012-11-29  Alexander Pavlov  apav...@chromium.org
 
 [Chromium] Unreviewed, update Mac expectation after r136128.


Added: trunk/LayoutTests/media/track/track-node-add-remove-expected.txt (0 => 136131)

--- trunk/LayoutTests/media/track/track-node-add-remove-expected.txt	(rev 0)
+++ trunk/LayoutTests/media/track/track-node-add-remove-expected.txt	2012-11-29 15:33:03 UTC (rev 136131)
@@ -0,0 +1,24 @@
+Adding tracks outside the DOM tree:
+PASS video.textTracks.length is 2
+PASS video.textTracks[0] is tracka.track
+PASS video.textTracks[1] is trackb.track
+Inserting the parent video element into the document.
+PASS video.textTracks.length is 2
+PASS video.textTracks[0] is tracka.track
+PASS video.textTracks[1] is trackb.track
+Inserting and removing another track in the document.
+PASS video.textTracks.length is 3
+PASS video.textTracks[2] is trackc.track
+PASS video.textTracks.length is 2
+PASS video.textTracks[0] is tracka.track
+PASS video.textTracks[1] is trackc.track
+Removing the video from the document.
+PASS video.textTracks.length is 2
+PASS video.textTracks[0] is tracka.track
+PASS video.textTracks[1] is trackc.track
+PASS video.textTracks.length is 1
+PASS video.textTracks[0] is trackc.track
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/media/track/track-node-add-remove.html (0 => 136131)

--- trunk/LayoutTests/media/track/track-node-add-remove.html	(rev 0)
+++ trunk/LayoutTests/media/track/track-node-add-remove.html	2012-11-29 15:33:03 UTC (rev 136131)
@@ -0,0 +1,50 @@
+!DOCTYPE html
+html
+head
+script src=""
+/head
+body
+script
+var video = document.createElement('video');
+
+var tracka = document.createElement('track');
+video.appendChild(tracka);
+var trackb = document.createElement('track');
+video.appendChild(trackb);
+
+debug(Adding tracks outside the DOM tree:);
+shouldBe(video.textTracks.length, 2);
+shouldBe(video.textTracks[0], tracka.track);
+shouldBe(video.textTracks[1], trackb.track);
+
+debug(Inserting the parent video element into the document.);
+document.body.appendChild(video);
+shouldBe(video.t

[webkit-changes] [136076] trunk/Source/WebCore

2012-11-28 Thread morrita
Title: [136076] trunk/Source/WebCore








Revision 136076
Author morr...@google.com
Date 2012-11-28 16:51:45 -0800 (Wed, 28 Nov 2012)


Log Message
checkAcceptChild() needs fewer virtual calls
https://bugs.webkit.org/show_bug.cgi?id=103372

Reviewed by Ojan Vafai.

This change reorganizes checkAcceptChild family for speed.

- Made Node::checkAddChild and Node::checkReplaceChild() static inline functions
  in ContainerNode.cpp. checkAcceptChild() was also moved to the same file. This allows us
  more aggressive inlining.

- Added a fast path in checkAcceptChild(), where we can assume that the parent is element
  and the new child is element or text. Under this assumption, we need no extra type checks
  and just needs a cycle prevention through Node::contains(). This is faster than current generic version.

- Moved extra checks from checkAddChild() and checkReplaceChild() to
  checkAcceptChild(). This allows the fast path skips even these extra checks.

- Node::canReplaceChild() is devirtualized. Since the only override is on
  Document, we can check isDocumentNode() to call it directly.

- The default implemenation of Node::canReplaceChild() just calls isChildTypeAllowed().
  That is what an extra check for checkAddChild() did. So we can share these code path in checkAcceptChild().

This gains 2-3% win on Dromaeo dom-modify.html.

No new tests, covered by existing tests.

* dom/ContainerNode.cpp:
(WebCore::isChildTypeAllowed): Moved from Node.cpp
(WebCore::checkAcceptChild): Moved from Node.cpp, Added a fast path.
(WebCore::checkAddChild): Moved from Node.cpp
(WebCore::checkReplaceChild): Moved from Node.cpp
(WebCore::ContainerNode::insertBefore): Followed the signature change.
(WebCore::ContainerNode::replaceChild): Followed the signature change, moved null check from checkReplaceChild to here.
(WebCore::ContainerNode::appendChild): Followed the signature change.
* dom/Document.h:
(Document):
* dom/Node.cpp:
* dom/Node.h:
(WebCore::Node::isDocumentTypeNode): Added for better readability of call sites.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContainerNode.cpp
trunk/Source/WebCore/dom/Document.h
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (136075 => 136076)

--- trunk/Source/WebCore/ChangeLog	2012-11-29 00:20:17 UTC (rev 136075)
+++ trunk/Source/WebCore/ChangeLog	2012-11-29 00:51:45 UTC (rev 136076)
@@ -1,3 +1,47 @@
+2012-11-28  Hajime Morrita  morr...@google.com
+
+checkAcceptChild() needs fewer virtual calls
+https://bugs.webkit.org/show_bug.cgi?id=103372
+
+Reviewed by Ojan Vafai.
+
+This change reorganizes checkAcceptChild family for speed.
+
+- Made Node::checkAddChild and Node::checkReplaceChild() static inline functions
+  in ContainerNode.cpp. checkAcceptChild() was also moved to the same file. This allows us
+  more aggressive inlining.
+
+- Added a fast path in checkAcceptChild(), where we can assume that the parent is element
+  and the new child is element or text. Under this assumption, we need no extra type checks
+  and just needs a cycle prevention through Node::contains(). This is faster than current generic version.
+
+- Moved extra checks from checkAddChild() and checkReplaceChild() to
+  checkAcceptChild(). This allows the fast path skips even these extra checks.
+
+- Node::canReplaceChild() is devirtualized. Since the only override is on
+  Document, we can check isDocumentNode() to call it directly.
+
+- The default implemenation of Node::canReplaceChild() just calls isChildTypeAllowed().
+  That is what an extra check for checkAddChild() did. So we can share these code path in checkAcceptChild().
+
+This gains 2-3% win on Dromaeo dom-modify.html.
+
+No new tests, covered by existing tests.
+
+* dom/ContainerNode.cpp:
+(WebCore::isChildTypeAllowed): Moved from Node.cpp
+(WebCore::checkAcceptChild): Moved from Node.cpp, Added a fast path.
+(WebCore::checkAddChild): Moved from Node.cpp
+(WebCore::checkReplaceChild): Moved from Node.cpp
+(WebCore::ContainerNode::insertBefore): Followed the signature change.
+(WebCore::ContainerNode::replaceChild): Followed the signature change, moved null check from checkReplaceChild to here.
+(WebCore::ContainerNode::appendChild): Followed the signature change.
+* dom/Document.h:
+(Document):
+* dom/Node.cpp:
+* dom/Node.h:
+(WebCore::Node::isDocumentTypeNode): Added for better readability of call sites.
+
 2012-11-28  Kenichi Ishibashi  ba...@chromium.org
 
 StyleResolver should not set NaN to font size


Modified: trunk/Source/WebCore/dom/ContainerNode.cpp (136075 => 136076)

--- trunk/Source/WebCore/dom/ContainerNode.cpp	2012-11-29 00:20:17 UTC (rev 136075)
+++ trunk/Source/WebCo

[webkit-changes] [136092] trunk

2012-11-28 Thread morrita
Title: [136092] trunk








Revision 136092
Author morr...@google.com
Date 2012-11-28 21:27:07 -0800 (Wed, 28 Nov 2012)


Log Message
[Shadow DOM] Element.createShadowRoot() should be prefixed.
https://bugs.webkit.org/show_bug.cgi?id=103595

Reviewed by Kentaro Hara.

Source/WebCore:

No new tests, updated shadow-aware-create-shadow-root.html to follow the change.

* dom/Element.idl:

LayoutTests:

* fast/dom/shadow/shadow-aware-create-shadow-root.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Element.idl




Diff

Modified: trunk/LayoutTests/ChangeLog (136091 => 136092)

--- trunk/LayoutTests/ChangeLog	2012-11-29 05:20:54 UTC (rev 136091)
+++ trunk/LayoutTests/ChangeLog	2012-11-29 05:27:07 UTC (rev 136092)
@@ -1,3 +1,12 @@
+2012-11-28  Hajime Morrita  morr...@google.com
+
+[Shadow DOM] Element.createShadowRoot() should be prefixed.
+https://bugs.webkit.org/show_bug.cgi?id=103595
+
+Reviewed by Kentaro Hara.
+
+* fast/dom/shadow/shadow-aware-create-shadow-root.html:
+
 2012-11-28  Hayato Ito hay...@chromium.org
 
 Test the return value from Node::compareDocumentPositionMake more strictly.


Modified: trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root.html (136091 => 136092)

--- trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root.html	2012-11-29 05:20:54 UTC (rev 136091)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root.html	2012-11-29 05:27:07 UTC (rev 136092)
@@ -6,6 +6,7 @@
 body
 script
 description(Tests for ShadowAware JS APIs.);
+Element.prototype.createShadowRoot = Element.prototype.createShadowRoot || Element.prototype.webkitCreateShadowRoot;
 
 // ShadowAware.createShadowRoot()
 var host = document.createElement('div');


Modified: trunk/Source/WebCore/ChangeLog (136091 => 136092)

--- trunk/Source/WebCore/ChangeLog	2012-11-29 05:20:54 UTC (rev 136091)
+++ trunk/Source/WebCore/ChangeLog	2012-11-29 05:27:07 UTC (rev 136092)
@@ -1,3 +1,14 @@
+2012-11-28  Hajime Morrita  morr...@google.com
+
+[Shadow DOM] Element.createShadowRoot() should be prefixed.
+https://bugs.webkit.org/show_bug.cgi?id=103595
+
+Reviewed by Kentaro Hara.
+
+No new tests, updated shadow-aware-create-shadow-root.html to follow the change.
+
+* dom/Element.idl:
+
 2012-11-28  Hayato Ito  hay...@chromium.org
 
 Node::compareDocumentPosition returns wrong value for a node in the different shadow tree.


Modified: trunk/Source/WebCore/dom/Element.idl (136091 => 136092)

--- trunk/Source/WebCore/dom/Element.idl	2012-11-29 05:20:54 UTC (rev 136091)
+++ trunk/Source/WebCore/dom/Element.idl	2012-11-29 05:27:07 UTC (rev 136092)
@@ -122,7 +122,7 @@
 // ShadowAware API
 #if defined(ENABLE_SHADOW_DOM)  ENABLE_SHADOW_DOM
 [Reflect, V8EnabledAtRuntime=shadowDOM] attribute DOMString pseudo;
-[V8EnabledAtRuntime=shadowDOM] ShadowRoot createShadowRoot() raises(DOMException);
+[V8EnabledAtRuntime=shadowDOM, ImplementedAs=createShadowRoot] ShadowRoot webkitCreateShadowRoot() raises(DOMException);
 #endif
 
 // DOM 4






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [135833] trunk/Source/WebCore

2012-11-27 Thread morrita
Title: [135833] trunk/Source/WebCore








Revision 135833
Author morr...@google.com
Date 2012-11-27 00:49:23 -0800 (Tue, 27 Nov 2012)


Log Message
[Refactoring] NodeFlags::IsShadowRootFlag should be Node::IsDocumentFragmentFlag
https://bugs.webkit.org/show_bug.cgi?id=103370

Reviewed by Kentaro Hara.

This chagne introduces Node::IsDocumentFragmentFlag so that we can
have fast Node::isDocumentFragment().

Note that Node::isShadowRoot() can become slightly slower when it
returns true, but that is minor in terms of the number of calls at runtime.

No new tests. No behavior change.

* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::create):
* dom/DocumentFragment.h:
* dom/Node.cpp:
(WebCore::Node::documentFragmentIsShadowRoot):
(WebCore):
* dom/Node.h:
(Node):
(WebCore::Node::isDocumentFragment):
(WebCore::Node::isShadowRoot):
(WebCore::Node::parentNode):
(WebCore::Node::parentNodeGuaranteedHostFree):
* dom/ShadowRoot.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/DocumentFragment.cpp
trunk/Source/WebCore/dom/DocumentFragment.h
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/dom/ShadowRoot.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (135832 => 135833)

--- trunk/Source/WebCore/ChangeLog	2012-11-27 08:38:54 UTC (rev 135832)
+++ trunk/Source/WebCore/ChangeLog	2012-11-27 08:49:23 UTC (rev 135833)
@@ -1,3 +1,32 @@
+2012-11-27  Hajime Morrita  morr...@google.com
+
+[Refactoring] NodeFlags::IsShadowRootFlag should be Node::IsDocumentFragmentFlag
+https://bugs.webkit.org/show_bug.cgi?id=103370
+
+Reviewed by Kentaro Hara.
+
+This chagne introduces Node::IsDocumentFragmentFlag so that we can
+have fast Node::isDocumentFragment().
+
+Note that Node::isShadowRoot() can become slightly slower when it
+returns true, but that is minor in terms of the number of calls at runtime.
+
+No new tests. No behavior change.
+
+* dom/DocumentFragment.cpp:
+(WebCore::DocumentFragment::create):
+* dom/DocumentFragment.h:
+* dom/Node.cpp:
+(WebCore::Node::documentFragmentIsShadowRoot):
+(WebCore):
+* dom/Node.h:
+(Node):
+(WebCore::Node::isDocumentFragment):
+(WebCore::Node::isShadowRoot):
+(WebCore::Node::parentNode):
+(WebCore::Node::parentNodeGuaranteedHostFree):
+* dom/ShadowRoot.h:
+
 2012-11-26  Kent Tamura  tk...@chromium.org
 
 :read-only selector should match to date/time input types


Modified: trunk/Source/WebCore/dom/DocumentFragment.cpp (135832 => 135833)

--- trunk/Source/WebCore/dom/DocumentFragment.cpp	2012-11-27 08:38:54 UTC (rev 135832)
+++ trunk/Source/WebCore/dom/DocumentFragment.cpp	2012-11-27 08:49:23 UTC (rev 135833)
@@ -40,7 +40,7 @@
 
 PassRefPtrDocumentFragment DocumentFragment::create(Document* document)
 {
-return adoptRef(new DocumentFragment(document));
+return adoptRef(new DocumentFragment(document, Node::CreateDocumentFragment));
 }
 
 String DocumentFragment::nodeName() const


Modified: trunk/Source/WebCore/dom/DocumentFragment.h (135832 => 135833)

--- trunk/Source/WebCore/dom/DocumentFragment.h	2012-11-27 08:38:54 UTC (rev 135832)
+++ trunk/Source/WebCore/dom/DocumentFragment.h	2012-11-27 08:49:23 UTC (rev 135833)
@@ -46,6 +46,7 @@
 virtual NodeType nodeType() const;
 virtual PassRefPtrNode cloneNode(bool deep);
 virtual bool childTypeAllowed(NodeType) const;
+virtual bool documentFragmentIsShadowRoot() const OVERRIDE { return false; }
 };
 
 } //namespace


Modified: trunk/Source/WebCore/dom/Node.cpp (135832 => 135833)

--- trunk/Source/WebCore/dom/Node.cpp	2012-11-27 08:38:54 UTC (rev 135832)
+++ trunk/Source/WebCore/dom/Node.cpp	2012-11-27 08:49:23 UTC (rev 135833)
@@ -954,6 +954,12 @@
 return isFocusable();
 }
 
+bool Node::documentFragmentIsShadowRoot() const
+{
+ASSERT_NOT_REACHED();
+return false;
+}
+
 Node* Node::focusDelegate()
 {
 return this;


Modified: trunk/Source/WebCore/dom/Node.h (135832 => 135833)

--- trunk/Source/WebCore/dom/Node.h	2012-11-27 08:38:54 UTC (rev 135832)
+++ trunk/Source/WebCore/dom/Node.h	2012-11-27 08:49:23 UTC (rev 135833)
@@ -233,8 +233,10 @@
 virtual bool isCharacterDataNode() const { return false; }
 virtual bool isFrameOwnerElement() const { return false; }
 virtual bool isPluginElement() const { return false; }
+virtual bool documentFragmentIsShadowRoot() const;
 bool isDocumentNode() const;
-bool isShadowRoot() const { return getFlag(IsShadowRootFlag); }
+bool isDocumentFragment() const { return getFlag(IsDocumentFragmentFlag); }
+bool isShadowRoot() const { return isDocumentFragment()  documentFragmentIsShadowRoot(); }
 bool isInsertionPoint() const { return getFlag(IsInsertionPointFlag); }
 bool inNamedFlow() const { return getFlag(InNamedFlowFlag); }
 bool hasCustomCallbacks() const {

[webkit-changes] [135693] trunk

2012-11-26 Thread morrita
Title: [135693] trunk








Revision 135693
Author morr...@google.com
Date 2012-11-26 01:38:43 -0800 (Mon, 26 Nov 2012)


Log Message
[Shadow DOM] Implement Element::createShadowRoot()
https://bugs.webkit.org/show_bug.cgi?id=102911

Reviewed by Kentaro Hara.

Source/WebCore:

Added an API implementation and exposed it.

This is basically an alias of the ShadowRoot constructor, which
will be removed as bug 102913.

Test: fast/dom/shadow/shadow-aware-create-shdow-root.html

* bindings/gobject/GNUmakefile.am:
* dom/Element.cpp:
(WebCore::Element::createShadowRoot):
(WebCore):
* dom/Element.h:
(Element):
* dom/Element.idl:

LayoutTests:

The coverage might not seem comprehensive at a glance. However,
this is just an alias of ShadowRoot constructor and there are
bunch of test cases which cover it.

As bug 102913 will convert such callsites to use createShadowRoot(),
the API will get be covered well then.

* fast/dom/shadow/shadow-aware-create-shdow-root-expected.txt: Added.
* fast/dom/shadow/shadow-aware-create-shdow-root.html: Added.
  Further ShadowAware API will come here.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/gobject/GNUmakefile.am
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/Element.idl


Added Paths

trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root-expected.txt
trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root.html




Diff

Modified: trunk/LayoutTests/ChangeLog (135692 => 135693)

--- trunk/LayoutTests/ChangeLog	2012-11-26 09:27:28 UTC (rev 135692)
+++ trunk/LayoutTests/ChangeLog	2012-11-26 09:38:43 UTC (rev 135693)
@@ -1,3 +1,21 @@
+2012-11-26  Hajime Morrita  morr...@google.com
+
+[Shadow DOM] Implement Element::createShadowRoot()
+https://bugs.webkit.org/show_bug.cgi?id=102911
+
+Reviewed by Kentaro Hara.
+
+The coverage might not seem comprehensive at a glance. However,
+this is just an alias of ShadowRoot constructor and there are
+bunch of test cases which cover it.
+
+As bug 102913 will convert such callsites to use createShadowRoot(),
+the API will get be covered well then.
+
+* fast/dom/shadow/shadow-aware-create-shdow-root-expected.txt: Added.
+* fast/dom/shadow/shadow-aware-create-shdow-root.html: Added.
+  Further ShadowAware API will come here.
+
 2012-11-26  Alexander Pavlov  apav...@chromium.org
 
 [Chromium] Unreviewed, mark platform/chromium/fast/forms/calendar-picker/week-picker-key-operations.html as flaky (date-dependent).


Added: trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root-expected.txt (0 => 135693)

--- trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root-expected.txt	2012-11-26 09:38:43 UTC (rev 135693)
@@ -0,0 +1,13 @@
+Tests for ShadowAware JS APIs.
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS root1.constructor is window.WebKitShadowRoot
+PASS root1 is not root2
+PASS root1 is window.internals.oldestShadowRoot(host)
+PASS root2 is window.internals.youngestShadowRoot(host)
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root.html (0 => 135693)

--- trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root.html	2012-11-26 09:38:43 UTC (rev 135693)
@@ -0,0 +1,22 @@
+!DOCTYPE html
+html
+head
+script src=""
+/head
+body
+script
+description(Tests for ShadowAware JS APIs.);
+
+// ShadowAware.createShadowRoot()
+var host = document.createElement('div');
+var root1 = host.createShadowRoot();
+var root2 = host.createShadowRoot();
+shouldBe(root1.constructor, window.WebKitShadowRoot);
+shouldNotBe(root1, root2);
+shouldBe(root1, window.internals.oldestShadowRoot(host));
+shouldBe(root2, window.internals.youngestShadowRoot(host));
+
+/script
+script src=""
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (135692 => 135693)

--- trunk/Source/WebCore/ChangeLog	2012-11-26 09:27:28 UTC (rev 135692)
+++ trunk/Source/WebCore/ChangeLog	2012-11-26 09:38:43 UTC (rev 135693)
@@ -1,3 +1,25 @@
+2012-11-26  Hajime Morrita  morr...@google.com
+
+[Shadow DOM] Implement Element::createShadowRoot()
+https://bugs.webkit.org/show_bug.cgi?id=102911
+
+Reviewed by Kentaro Hara.
+
+Added an API implementation and exposed it.
+
+This is basically an alias of the ShadowRoot constructor, which
+will be removed as bug 102913.
+
+Test: fast/dom/shadow/shadow-aware-create-shdow-root.html
+
+* bindings/gobject/GNUmakefile.am:
+* dom/Element.cpp:
+(WebCore::Element::crea

[webkit-changes] [135695] trunk/Source/WebCore

2012-11-26 Thread morrita
Title: [135695] trunk/Source/WebCore








Revision 135695
Author morr...@google.com
Date 2012-11-26 02:21:53 -0800 (Mon, 26 Nov 2012)


Log Message
[Refactoring] Some Node::isDescendant calls can be replaced with Node::contains()
https://bugs.webkit.org/show_bug.cgi?id=103211

Reviewed by Daniel Bates.

A couple of call sites of isDescendant() does same as Node::contains().
This change replaces these locations with Node::contains().

No new tests, no behavior change.

* dom/Node.cpp:
(WebCore::checkAcceptChild):
* dom/Range.cpp:
(WebCore::Range::surroundContents):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Range.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (135694 => 135695)

--- trunk/Source/WebCore/ChangeLog	2012-11-26 10:11:53 UTC (rev 135694)
+++ trunk/Source/WebCore/ChangeLog	2012-11-26 10:21:53 UTC (rev 135695)
@@ -1,3 +1,20 @@
+2012-11-26  Hajime Morrita  morr...@google.com
+
+[Refactoring] Some Node::isDescendant calls can be replaced with Node::contains()
+https://bugs.webkit.org/show_bug.cgi?id=103211
+
+Reviewed by Daniel Bates.
+
+A couple of call sites of isDescendant() does same as Node::contains().
+This change replaces these locations with Node::contains().
+
+No new tests, no behavior change.
+
+* dom/Node.cpp:
+(WebCore::checkAcceptChild):
+* dom/Range.cpp:
+(WebCore::Range::surroundContents):
+
 2012-11-26  Kunihiko Sakamoto  ksakam...@chromium.org
 
 [Chromium] Enable input type datetime-local


Modified: trunk/Source/WebCore/dom/Node.cpp (135694 => 135695)

--- trunk/Source/WebCore/dom/Node.cpp	2012-11-26 10:11:53 UTC (rev 135694)
+++ trunk/Source/WebCore/dom/Node.cpp	2012-11-26 10:21:53 UTC (rev 135695)
@@ -1193,7 +1193,7 @@
 // HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not allow children of the type of the
 // newChild node, or if the node to append is one of this node's ancestors.
 
-if (newChild == newParent || newParent-isDescendantOf(newChild)) {
+if (newChild-contains(newParent)) {
 ec = HIERARCHY_REQUEST_ERR;
 return;
 }


Modified: trunk/Source/WebCore/dom/Range.cpp (135694 => 135695)

--- trunk/Source/WebCore/dom/Range.cpp	2012-11-26 10:11:53 UTC (rev 135694)
+++ trunk/Source/WebCore/dom/Range.cpp	2012-11-26 10:21:53 UTC (rev 135695)
@@ -1447,7 +1447,7 @@
 return;
 }
 
-if (m_start.container() == newParent || m_start.container()-isDescendantOf(newParent.get())) {
+if (newParent-contains(m_start.container())) {
 ec = HIERARCHY_REQUEST_ERR;
 return;
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [135456] trunk

2012-11-21 Thread morrita
Title: [135456] trunk








Revision 135456
Author morr...@google.com
Date 2012-11-21 16:44:58 -0800 (Wed, 21 Nov 2012)


Log Message
[Shadow DOM][V8] Assertion failure when shadow host is reclaimed before ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=102893

Reviewed by Kentaro Hara.

Source/WebCore:

Due to bug 88834, shadow hosts can be reclaimed before
corresponding ShadowRoots are.  This breaks an invariant, that is,
the host is always available for any ShadowRoot.  This change adds
guards for the possibly broken invariant.

Since bug 88834 is planned to be fixed shortly, this change
doesn't aim to fix this problem by make it work correctly, but
just lays a safety net which is needed until the root cause is
gone.

Test: fast/dom/shadow/host-wrapper-reclaimed.html

* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::setInnerHTML):
(WebCore::ShadowRoot::setApplyAuthorStyles):
(WebCore::ShadowRoot::setResetStyleInheritance):
(WebCore::ShadowRoot::childrenChanged):

LayoutTests:

* fast/dom/shadow/host-wrapper-reclaimed-expected.txt: Added.
* fast/dom/shadow/host-wrapper-reclaimed.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ShadowRoot.cpp


Added Paths

trunk/LayoutTests/fast/dom/shadow/host-wrapper-reclaimed-expected.txt
trunk/LayoutTests/fast/dom/shadow/host-wrapper-reclaimed.html




Diff

Modified: trunk/LayoutTests/ChangeLog (135455 => 135456)

--- trunk/LayoutTests/ChangeLog	2012-11-22 00:28:05 UTC (rev 135455)
+++ trunk/LayoutTests/ChangeLog	2012-11-22 00:44:58 UTC (rev 135456)
@@ -1,3 +1,13 @@
+2012-11-21  Hajime Morrita  morr...@google.com
+
+[Shadow DOM][V8] Assertion failure when shadow host is reclaimed before ShadowRoot
+https://bugs.webkit.org/show_bug.cgi?id=102893
+
+Reviewed by Kentaro Hara.
+
+* fast/dom/shadow/host-wrapper-reclaimed-expected.txt: Added.
+* fast/dom/shadow/host-wrapper-reclaimed.html: Added.
+
 2012-11-21  Daniel Bates  dba...@webkit.org
 
 _javascript_ fails to concatenate large strings


Added: trunk/LayoutTests/fast/dom/shadow/host-wrapper-reclaimed-expected.txt (0 => 135456)

--- trunk/LayoutTests/fast/dom/shadow/host-wrapper-reclaimed-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/host-wrapper-reclaimed-expected.txt	2012-11-22 00:44:58 UTC (rev 135456)
@@ -0,0 +1 @@
+PASS unless crash.


Added: trunk/LayoutTests/fast/dom/shadow/host-wrapper-reclaimed.html (0 => 135456)

--- trunk/LayoutTests/fast/dom/shadow/host-wrapper-reclaimed.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/host-wrapper-reclaimed.html	2012-11-22 00:44:58 UTC (rev 135456)
@@ -0,0 +1,27 @@
+!DOCTYPE html
+html
+head
+/head
+body
+script
+if (window.testRunner)
+testRunner.dumpAsText();
+
+function makeOrphanShadow() {
+var host = document.createElement(div);
+var shadow = new WebKitShadowRoot(host);
+return shadow;
+};
+
+var shadow = makeOrphanShadow();
+gc(true);
+
+try { shadow.innerHTML = Hello; } catch(e) { }
+shadow.appendChild(document.createElement(span));
+shadow.resetStyleInheritance = true;
+shadow.applyAuthorStyles = false;
+
+document.body.innerHTML = PASS unless crash.;
+/script
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (135455 => 135456)

--- trunk/Source/WebCore/ChangeLog	2012-11-22 00:28:05 UTC (rev 135455)
+++ trunk/Source/WebCore/ChangeLog	2012-11-22 00:44:58 UTC (rev 135456)
@@ -1,3 +1,28 @@
+2012-11-21  Hajime Morrita  morr...@google.com
+
+[Shadow DOM][V8] Assertion failure when shadow host is reclaimed before ShadowRoot
+https://bugs.webkit.org/show_bug.cgi?id=102893
+
+Reviewed by Kentaro Hara.
+
+Due to bug 88834, shadow hosts can be reclaimed before
+corresponding ShadowRoots are.  This breaks an invariant, that is,
+the host is always available for any ShadowRoot.  This change adds
+guards for the possibly broken invariant.
+
+Since bug 88834 is planned to be fixed shortly, this change
+doesn't aim to fix this problem by make it work correctly, but
+just lays a safety net which is needed until the root cause is
+gone.
+
+Test: fast/dom/shadow/host-wrapper-reclaimed.html
+
+* dom/ShadowRoot.cpp:
+(WebCore::ShadowRoot::setInnerHTML):
+(WebCore::ShadowRoot::setApplyAuthorStyles):
+(WebCore::ShadowRoot::setResetStyleInheritance):
+(WebCore::ShadowRoot::childrenChanged):
+
 2012-11-21  Dirk Schulze  k...@webkit.org
 
 Make CachedSVGDocumentReference independent of FilterOperation


Modified: trunk/Source/WebCore/dom/ShadowRoot.cpp (135455 => 135456)

--- trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-11-22 00:28:05 UTC (rev 135455)
+++ trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-11-22 00:44:58 UTC (rev 135456)
@@ -46,6 +46,13 @@
 #include StyleResolver.h
 #include markup.h
 
+// FIXME: This shouldn'

[webkit-changes] [135464] trunk

2012-11-21 Thread morrita
Title: [135464] trunk








Revision 135464
Author morr...@google.com
Date 2012-11-21 19:15:14 -0800 (Wed, 21 Nov 2012)


Log Message
[Shadow DOM] Implement Element::createShadowRoot()
https://bugs.webkit.org/show_bug.cgi?id=102911

Reviewed by Kentaro Hara.

Source/WebCore:

Added an API implementation and exposed it.

This is basically an alias of the ShadowRoot constructor, which
will be removed as bug 102913.

Test: fast/dom/shadow/shadow-aware-create-shdow-root.html

* dom/Element.cpp:
(WebCore::Element::createShadowRoot):
(WebCore):
* dom/Element.h:
(Element):
* dom/Element.idl:

LayoutTests:

The coverage might not seem comprehensive at a glance. However,
this is just an alias of ShadowRoot constructor and there are
bunch of test cases which cover it.

As bug 102913 will convert such callsites to use createShadowRoot(),
the API will get be covered well then.

* fast/dom/shadow/shadow-aware-create-shdow-root-expected.txt: Added.
* fast/dom/shadow/shadow-aware-create-shdow-root.html: Added.
  Further ShadowAware API will come here.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/Element.idl


Added Paths

trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root-expected.txt
trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root.html




Diff

Modified: trunk/LayoutTests/ChangeLog (135463 => 135464)

--- trunk/LayoutTests/ChangeLog	2012-11-22 03:08:46 UTC (rev 135463)
+++ trunk/LayoutTests/ChangeLog	2012-11-22 03:15:14 UTC (rev 135464)
@@ -1,3 +1,21 @@
+2012-11-21  Hajime Morrita  morr...@google.com
+
+[Shadow DOM] Implement Element::createShadowRoot()
+https://bugs.webkit.org/show_bug.cgi?id=102911
+
+Reviewed by Kentaro Hara.
+
+The coverage might not seem comprehensive at a glance. However,
+this is just an alias of ShadowRoot constructor and there are
+bunch of test cases which cover it.
+
+As bug 102913 will convert such callsites to use createShadowRoot(),
+the API will get be covered well then.
+
+* fast/dom/shadow/shadow-aware-create-shdow-root-expected.txt: Added.
+* fast/dom/shadow/shadow-aware-create-shdow-root.html: Added.
+  Further ShadowAware API will come here.
+
 2012-11-21  Dana Jansens  dan...@chromium.org
 
 Remove crashing expectation for css3/filters/effect-reference-ordering-hw.html


Added: trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root-expected.txt (0 => 135464)

--- trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root-expected.txt	2012-11-22 03:15:14 UTC (rev 135464)
@@ -0,0 +1,13 @@
+Tests for ShadowAware JS APIs.
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS root1.constructor is window.WebKitShadowRoot
+PASS root1 is not root2
+PASS root1 is window.internals.oldestShadowRoot(host)
+PASS root2 is window.internals.youngestShadowRoot(host)
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root.html (0 => 135464)

--- trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-aware-create-shadow-root.html	2012-11-22 03:15:14 UTC (rev 135464)
@@ -0,0 +1,22 @@
+!DOCTYPE html
+html
+head
+script src=""
+/head
+body
+script
+description(Tests for ShadowAware JS APIs.);
+
+// ShadowAware.createShadowRoot()
+var host = document.createElement('div');
+var root1 = host.createShadowRoot();
+var root2 = host.createShadowRoot();
+shouldBe(root1.constructor, window.WebKitShadowRoot);
+shouldNotBe(root1, root2);
+shouldBe(root1, window.internals.oldestShadowRoot(host));
+shouldBe(root2, window.internals.youngestShadowRoot(host));
+
+/script
+script src=""
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (135463 => 135464)

--- trunk/Source/WebCore/ChangeLog	2012-11-22 03:08:46 UTC (rev 135463)
+++ trunk/Source/WebCore/ChangeLog	2012-11-22 03:15:14 UTC (rev 135464)
@@ -1,3 +1,24 @@
+2012-11-21  Hajime Morrita  morr...@google.com
+
+[Shadow DOM] Implement Element::createShadowRoot()
+https://bugs.webkit.org/show_bug.cgi?id=102911
+
+Reviewed by Kentaro Hara.
+
+Added an API implementation and exposed it.
+
+This is basically an alias of the ShadowRoot constructor, which
+will be removed as bug 102913.
+
+Test: fast/dom/shadow/shadow-aware-create-shdow-root.html
+
+* dom/Element.cpp:
+(WebCore::Element::createShadowRoot):
+(WebCore):
+* dom/Element.h:
+(Element):
+* dom/Element.idl:
+
 2012-11-20  James Simonsen  simon...@chromium.org
 
 [Resource Timing] Po

[webkit-changes] [134366] branches/chromium/1312/Source

2012-11-12 Thread morrita
Title: [134366] branches/chromium/1312/Source








Revision 134366
Author morr...@google.com
Date 2012-11-12 22:36:48 -0800 (Mon, 12 Nov 2012)


Log Message
Merge 133429 - Shadow DOM should be able to be disabled per context.
https://bugs.webkit.org/show_bug.cgi?id=101173

Reviewed by Dimitri Glazkov.

Source/WebCore:

This change pulls back relevant bits from r131549. Note that if
the the port enables runtime Shadow DOM flag, this can cause slow
down on some Chromium page cycler test cases (which r131549
attempted to fix).

This change is temporal and the flags should be switched back from
ContextFeatures to RuntimeEnabledFeatures once it gains sufficent
stability.

* dom/ContextFeatures.cpp:
(WebCore::ContextFeatures::shadowDOMEnabled):
(WebCore):
* dom/ContextFeatures.h:
* dom/Position.cpp:
(WebCore::Position::Position):
(WebCore::Position::findParent):
* dom/TreeScope.cpp:
(WebCore::TreeScope::getSelection):
* html/HTMLTagNames.in:
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::contentTagName):
* page/DOMWindow.idl:

Source/WebKit/chromium:

* src/ContextFeaturesClientImpl.cpp:
(WebKit::ContextFeaturesClientImpl::askIfIsEnabled):


TBR=morr...@google.com
Review URL: https://codereview.chromium.org/11410062

Modified Paths

branches/chromium/1312/Source/WebCore/dom/ContextFeatures.cpp
branches/chromium/1312/Source/WebCore/dom/ContextFeatures.h
branches/chromium/1312/Source/WebCore/dom/Position.cpp
branches/chromium/1312/Source/WebCore/dom/TreeScope.cpp
branches/chromium/1312/Source/WebCore/html/HTMLTagNames.in
branches/chromium/1312/Source/WebCore/html/shadow/HTMLContentElement.cpp
branches/chromium/1312/Source/WebCore/page/DOMWindow.idl
branches/chromium/1312/Source/WebKit/chromium/src/ContextFeaturesClientImpl.cpp




Diff

Modified: branches/chromium/1312/Source/WebCore/dom/ContextFeatures.cpp (134365 => 134366)

--- branches/chromium/1312/Source/WebCore/dom/ContextFeatures.cpp	2012-11-13 06:36:05 UTC (rev 134365)
+++ branches/chromium/1312/Source/WebCore/dom/ContextFeatures.cpp	2012-11-13 06:36:48 UTC (rev 134366)
@@ -63,6 +63,18 @@
 #endif
 }
 
+bool ContextFeatures::shadowDOMEnabled(Document* document)
+{
+#if ENABLE(SHADOW_DOM)
+if (!document)
+return RuntimeEnabledFeatures::shadowDOMEnabled();
+return document-contextFeatures()-isEnabled(document, ShadowDOM, RuntimeEnabledFeatures::shadowDOMEnabled());
+#else
+UNUSED_PARAM(document);
+return false;
+#endif
+}
+
 bool ContextFeatures::styleScopedEnabled(Document* document)
 {
 #if ENABLE(STYLE_SCOPED)


Modified: branches/chromium/1312/Source/WebCore/dom/ContextFeatures.h (134365 => 134366)

--- branches/chromium/1312/Source/WebCore/dom/ContextFeatures.h	2012-11-13 06:36:05 UTC (rev 134365)
+++ branches/chromium/1312/Source/WebCore/dom/ContextFeatures.h	2012-11-13 06:36:48 UTC (rev 134366)
@@ -40,6 +40,7 @@
 public:
 enum FeatureType {
 DialogElement = 0,
+ShadowDOM,
 StyleScoped,
 PagePopup,
 HTMLNotifications,
@@ -53,6 +54,7 @@
 static PassRefPtrContextFeatures create(ContextFeaturesClient*);
 
 static bool dialogElementEnabled(Document*);
+static bool shadowDOMEnabled(Document*);
 static bool styleScopedEnabled(Document*);
 static bool pagePopupEnabled(Document*);
 static bool htmlNotificationsEnabled(Document*);


Modified: branches/chromium/1312/Source/WebCore/dom/Position.cpp (134365 => 134366)

--- branches/chromium/1312/Source/WebCore/dom/Position.cpp	2012-11-13 06:36:05 UTC (rev 134365)
+++ branches/chromium/1312/Source/WebCore/dom/Position.cpp	2012-11-13 06:36:48 UTC (rev 134366)
@@ -27,13 +27,13 @@
 #include Position.h
 
 #include CSSComputedStyleDeclaration.h
+#include ContextFeatures.h
 #include HTMLNames.h
 #include InlineTextBox.h
 #include Logging.h
 #include PositionIterator.h
 #include RenderBlock.h
 #include RenderText.h
-#include RuntimeEnabledFeatures.h
 #include Text.h
 #include TextIterator.h
 #include VisiblePosition.h
@@ -82,7 +82,7 @@
 , m_isLegacyEditingPosition(true)
 {
 #if ENABLE(SHADOW_DOM)
-ASSERT((m_anchorNode  RuntimeEnabledFeatures::shadowDOMEnabled())
+ASSERT((m_anchorNode  ContextFeatures::shadowDOMEnabled(m_anchorNode-document()))
|| !m_anchorNode || !m_anchorNode-isShadowRoot());
 #else
 ASSERT(!m_anchorNode || !m_anchorNode-isShadowRoot());
@@ -96,7 +96,7 @@
 , m_isLegacyEditingPosition(false)
 {
 #if ENABLE(SHADOW_DOM)
-ASSERT((m_anchorNode  RuntimeEnabledFeatures::shadowDOMEnabled())
+ASSERT((m_anchorNode  ContextFeatures::shadowDOMEnabled(m_anchorNode-document()))
|| !m_anchorNode || !m_anchorNode-isShadowRoot());
 #else
 ASSERT(!m_anchorNode || !m_anchorNode-isShadowRoot());
@@ -114,7 +114,7 @@
 , m_isLegacyEditingPosition(false)
 {
 #if ENABLE(SHADOW_DOM)
-ASSERT((m_anchorNode  RuntimeEnabledFeatures::shadowDOMEnabled())
+ASSERT((m_anchorNode  ContextFeatures::shadowDOMEnabled(m_anchorNode-document()))
|| 

[webkit-changes] [133429] trunk/Source

2012-11-04 Thread morrita
Title: [133429] trunk/Source








Revision 133429
Author morr...@google.com
Date 2012-11-04 19:09:45 -0800 (Sun, 04 Nov 2012)


Log Message
Shadow DOM should be able to be disabled per context.
https://bugs.webkit.org/show_bug.cgi?id=101173

Reviewed by Dimitri Glazkov.

Source/WebCore:

This change pulls back relevant bits from r131549. Note that if
the the port enables runtime Shadow DOM flag, this can cause slow
down on some Chromium page cycler test cases (which r131549
attempted to fix).

This change is temporal and the flags should be switched back from
ContextFeatures to RuntimeEnabledFeatures once it gains sufficent
stability.

* dom/ContextFeatures.cpp:
(WebCore::ContextFeatures::shadowDOMEnabled):
(WebCore):
* dom/ContextFeatures.h:
* dom/Position.cpp:
(WebCore::Position::Position):
(WebCore::Position::findParent):
* dom/TreeScope.cpp:
(WebCore::TreeScope::getSelection):
* html/HTMLTagNames.in:
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::contentTagName):
* page/DOMWindow.idl:

Source/WebKit/chromium:

* src/ContextFeaturesClientImpl.cpp:
(WebKit::ContextFeaturesClientImpl::askIfIsEnabled):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContextFeatures.cpp
trunk/Source/WebCore/dom/ContextFeatures.h
trunk/Source/WebCore/dom/Position.cpp
trunk/Source/WebCore/dom/TreeScope.cpp
trunk/Source/WebCore/html/HTMLTagNames.in
trunk/Source/WebCore/html/shadow/HTMLContentElement.cpp
trunk/Source/WebCore/page/DOMWindow.idl
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/ContextFeaturesClientImpl.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (133428 => 133429)

--- trunk/Source/WebCore/ChangeLog	2012-11-05 03:04:57 UTC (rev 133428)
+++ trunk/Source/WebCore/ChangeLog	2012-11-05 03:09:45 UTC (rev 133429)
@@ -1,3 +1,33 @@
+2012-11-04  MORITA Hajime  morr...@google.com
+
+Shadow DOM should be able to be disabled per context.
+https://bugs.webkit.org/show_bug.cgi?id=101173
+
+Reviewed by Dimitri Glazkov.
+
+This change pulls back relevant bits from r131549. Note that if
+the the port enables runtime Shadow DOM flag, this can cause slow
+down on some Chromium page cycler test cases (which r131549
+attempted to fix).
+
+This change is temporal and the flags should be switched back from
+ContextFeatures to RuntimeEnabledFeatures once it gains sufficent
+stability.
+
+* dom/ContextFeatures.cpp:
+(WebCore::ContextFeatures::shadowDOMEnabled):
+(WebCore):
+* dom/ContextFeatures.h:
+* dom/Position.cpp:
+(WebCore::Position::Position):
+(WebCore::Position::findParent):
+* dom/TreeScope.cpp:
+(WebCore::TreeScope::getSelection):
+* html/HTMLTagNames.in:
+* html/shadow/HTMLContentElement.cpp:
+(WebCore::HTMLContentElement::contentTagName):
+* page/DOMWindow.idl:
+
 2012-11-04  Shinya Kawanaka  shin...@chromium.org
 
 [Shadow] Implement custom pseudo-elements styling


Modified: trunk/Source/WebCore/dom/ContextFeatures.cpp (133428 => 133429)

--- trunk/Source/WebCore/dom/ContextFeatures.cpp	2012-11-05 03:04:57 UTC (rev 133428)
+++ trunk/Source/WebCore/dom/ContextFeatures.cpp	2012-11-05 03:09:45 UTC (rev 133429)
@@ -63,6 +63,18 @@
 #endif
 }
 
+bool ContextFeatures::shadowDOMEnabled(Document* document)
+{
+#if ENABLE(SHADOW_DOM)
+if (!document)
+return RuntimeEnabledFeatures::shadowDOMEnabled();
+return document-contextFeatures()-isEnabled(document, ShadowDOM, RuntimeEnabledFeatures::shadowDOMEnabled());
+#else
+UNUSED_PARAM(document);
+return false;
+#endif
+}
+
 bool ContextFeatures::styleScopedEnabled(Document* document)
 {
 #if ENABLE(STYLE_SCOPED)


Modified: trunk/Source/WebCore/dom/ContextFeatures.h (133428 => 133429)

--- trunk/Source/WebCore/dom/ContextFeatures.h	2012-11-05 03:04:57 UTC (rev 133428)
+++ trunk/Source/WebCore/dom/ContextFeatures.h	2012-11-05 03:09:45 UTC (rev 133429)
@@ -40,6 +40,7 @@
 public:
 enum FeatureType {
 DialogElement = 0,
+ShadowDOM,
 StyleScoped,
 PagePopup,
 HTMLNotifications,
@@ -53,6 +54,7 @@
 static PassRefPtrContextFeatures create(ContextFeaturesClient*);
 
 static bool dialogElementEnabled(Document*);
+static bool shadowDOMEnabled(Document*);
 static bool styleScopedEnabled(Document*);
 static bool pagePopupEnabled(Document*);
 static bool htmlNotificationsEnabled(Document*);


Modified: trunk/Source/WebCore/dom/Position.cpp (133428 => 133429)

--- trunk/Source/WebCore/dom/Position.cpp	2012-11-05 03:04:57 UTC (rev 133428)
+++ trunk/Source/WebCore/dom/Position.cpp	2012-11-05 03:09:45 UTC (rev 133429)
@@ -27,13 +27,13 @@
 #include Position.h
 
 #include CSSComputedStyleDeclaration.h
+#include ContextFeatures.h
 #include HTMLNames.h
 #include InlineTextBox.h
 #include Logging.h
 #include PositionIterator.h
 #include RenderBlock.h

[webkit-changes] [132033] trunk/Source/WebCore

2012-10-22 Thread morrita
Title: [132033] trunk/Source/WebCore








Revision 132033
Author morr...@google.com
Date 2012-10-21 23:44:10 -0700 (Sun, 21 Oct 2012)


Log Message
[V8] V8EnablePerContext shouldn't require document() accessor to the native object.
https://bugs.webkit.org/show_bug.cgi?id=99954

Reviewed by Kentaro Hara.

It now refers ScriptExecutionContext of the creation context instead of document() of
wrapped object.

No new tests. No behavior change at this time.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateImplementation):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm




Diff

Modified: trunk/Source/WebCore/ChangeLog (132032 => 132033)

--- trunk/Source/WebCore/ChangeLog	2012-10-22 06:37:29 UTC (rev 132032)
+++ trunk/Source/WebCore/ChangeLog	2012-10-22 06:44:10 UTC (rev 132033)
@@ -1,3 +1,18 @@
+2012-10-21  MORITA Hajime  morr...@google.com
+
+[V8] V8EnablePerContext shouldn't require document() accessor to the native object.
+https://bugs.webkit.org/show_bug.cgi?id=99954
+
+Reviewed by Kentaro Hara.
+
+It now refers ScriptExecutionContext of the creation context instead of document() of
+wrapped object.
+
+No new tests. No behavior change at this time.
+
+* bindings/scripts/CodeGeneratorV8.pm:
+(GenerateImplementation):
+
 2012-10-21  Kent Tamura  tk...@chromium.org
 
 Page popup: Fix crash by events after closing


Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm (132032 => 132033)

--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm	2012-10-22 06:37:29 UTC (rev 132032)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm	2012-10-22 06:44:10 UTC (rev 132033)
@@ -3057,8 +3057,9 @@
 void ${className}::installPerContextProperties(v8::Handlev8::Object instance, ${nativeType}* impl)
 {
 v8::Localv8::Object proto = v8::Localv8::Object::Cast(instance-GetPrototype());
+ScriptExecutionContext* context = toScriptExecutionContext(proto-CreationContext());
 // When building QtWebkit with V8 this variable is unused when none of the features are enabled.
-UNUSED_PARAM(proto);
+UNUSED_PARAM(context);
 END
 
 # Setup the enable-by-settings attrs if we have them
@@ -3066,7 +3067,7 @@
 my $enableFunction = GetContextEnableFunction($runtimeAttr-signature);
 my $conditionalString = $codeGenerator-GenerateConditionalString($runtimeAttr-signature);
 push(@implContent, \n#if ${conditionalString}\n) if $conditionalString;
-push(@implContent, if (${enableFunction}(impl-document())) {\n);
+push(@implContent, if (context  context-isDocument()  ${enableFunction}(static_castDocument*(context))) {\n);
 push(@implContent, static const V8DOMConfiguration::BatchedAttribute attrData =\\\n);
 GenerateSingleBatchedAttribute($interfaceName, $runtimeAttr, ;, );
 push(@implContent, END);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [132038] trunk/Source/WebCore

2012-10-22 Thread morrita
Title: [132038] trunk/Source/WebCore








Revision 132038
Author morr...@google.com
Date 2012-10-22 01:26:03 -0700 (Mon, 22 Oct 2012)


Log Message
Unreviewed follow up to update test result after r132033.

* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::installPerContextProperties):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (132037 => 132038)

--- trunk/Source/WebCore/ChangeLog	2012-10-22 08:22:47 UTC (rev 132037)
+++ trunk/Source/WebCore/ChangeLog	2012-10-22 08:26:03 UTC (rev 132038)
@@ -1,3 +1,10 @@
+2012-10-22  MORITA Hajime  morr...@google.com
+
+Unreviewed follow up to update test result after r132033.
+
+* bindings/scripts/test/V8/V8TestObj.cpp:
+(WebCore::V8TestObj::installPerContextProperties):
+
 2012-10-21  MORITA Hajime  morr...@google.com
 
 [V8] V8EnablePerContext shouldn't require document() accessor to the native object.


Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp (132037 => 132038)

--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp	2012-10-22 08:22:47 UTC (rev 132037)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp	2012-10-22 08:26:03 UTC (rev 132038)
@@ -2326,15 +2326,16 @@
 void V8TestObj::installPerContextProperties(v8::Handlev8::Object instance, TestObj* impl)
 {
 v8::Localv8::Object proto = v8::Localv8::Object::Cast(instance-GetPrototype());
+ScriptExecutionContext* context = toScriptExecutionContext(proto-CreationContext());
 // When building QtWebkit with V8 this variable is unused when none of the features are enabled.
-UNUSED_PARAM(proto);
-if (ContextFeatures::enabledPerContextAttr1Enabled(impl-document())) {
+UNUSED_PARAM(context);
+if (context  context-isDocument()  ContextFeatures::enabledPerContextAttr1Enabled(static_castDocument*(context))) {
 static const V8DOMConfiguration::BatchedAttribute attrData =\
 // Attribute 'enabledPerContextAttr1' (Type: 'attribute' ExtAttr: 'V8EnabledPerContext')
 {enabledPerContextAttr1, TestObjV8Internal::enabledPerContextAttr1AttrGetter, TestObjV8Internal::enabledPerContextAttr1AttrSetter, 0 /* no data */, static_castv8::AccessControl(v8::DEFAULT), static_castv8::PropertyAttribute(v8::None), 0 /* on instance */};
 V8DOMConfiguration::configureAttribute(instance, proto, attrData);
 }
-if (ContextFeatures::featureNameEnabled(impl-document())) {
+if (context  context-isDocument()  ContextFeatures::featureNameEnabled(static_castDocument*(context))) {
 static const V8DOMConfiguration::BatchedAttribute attrData =\
 // Attribute 'enabledPerContextAttr2' (Type: 'attribute' ExtAttr: 'V8EnabledPerContext')
 {enabledPerContextAttr2, TestObjV8Internal::enabledPerContextAttr2AttrGetter, TestObjV8Internal::enabledPerContextAttr2AttrSetter, 0 /* no data */, static_castv8::AccessControl(v8::DEFAULT), static_castv8::PropertyAttribute(v8::None), 0 /* on instance */};






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [132171] trunk/Source/WebCore

2012-10-22 Thread morrita
Title: [132171] trunk/Source/WebCore








Revision 132171
Author morr...@google.com
Date 2012-10-22 19:05:07 -0700 (Mon, 22 Oct 2012)


Log Message
[Chromium] Needs to track ShadowRoot usage
https://bugs.webkit.org/show_bug.cgi?id=99955

Reviewed by Dimitri Glazkov.

Added an UMA instrumentation.

* dom/ShadowRoot.cpp:
(WebCore::determineUsageType):
(WebCore):
(WebCore::ShadowRoot::create):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ShadowRoot.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (132170 => 132171)

--- trunk/Source/WebCore/ChangeLog	2012-10-23 01:22:48 UTC (rev 132170)
+++ trunk/Source/WebCore/ChangeLog	2012-10-23 02:05:07 UTC (rev 132171)
@@ -1,3 +1,17 @@
+2012-10-22  MORITA Hajime  morr...@google.com
+
+[Chromium] Needs to track ShadowRoot usage
+https://bugs.webkit.org/show_bug.cgi?id=99955
+
+Reviewed by Dimitri Glazkov.
+
+Added an UMA instrumentation.
+
+* dom/ShadowRoot.cpp:
+(WebCore::determineUsageType):
+(WebCore):
+(WebCore::ShadowRoot::create):
+
 2012-10-22  Kent Tamura  tk...@chromium.org
 
 Introduce Localizer::standAloneMonthLabels


Modified: trunk/Source/WebCore/dom/ShadowRoot.cpp (132170 => 132171)

--- trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-10-23 01:22:48 UTC (rev 132170)
+++ trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-10-23 02:05:07 UTC (rev 132171)
@@ -38,6 +38,7 @@
 #include HTMLInputElement.h
 #include HTMLNames.h
 #include HTMLTextAreaElement.h
+#include HistogramSupport.h
 #include InsertionPoint.h
 #include NodeRareData.h
 #include RuntimeEnabledFeatures.h
@@ -86,8 +87,28 @@
 return element-areAuthorShadowsAllowed();
 }
 
+enum ShadowRootUsageOriginType {
+ShadowRootUsageOriginWeb = 0,
+ShadowRootUsageOriginNotWeb,
+ShadowRootUsageOriginTypes
+};
+
+static inline ShadowRootUsageOriginType determineUsageType(Element* host)
+{
+// Enables only on CHROMIUM since this cost won't worth paying for platforms which don't collect this metrics.
+#if PLATFORM(CHROMIUM)
+if (!host)
+return ShadowRootUsageOriginWeb;
+return host-document()-url().string().startsWith(http) ? ShadowRootUsageOriginWeb : ShadowRootUsageOriginNotWeb;
+#else
+UNUSED_PARAM(host);
+return ShadowRootUsageOriginWeb;
+#endif
+}
+
 PassRefPtrShadowRoot ShadowRoot::create(Element* element, ExceptionCode ec)
 {
+HistogramSupport::histogramEnumeration(WebCore.ShadowRoot.constructor, determineUsageType(element), ShadowRootUsageOriginTypes);
 return create(element, AuthorShadowRoot, ec);
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [132176] trunk

2012-10-22 Thread morrita
Title: [132176] trunk








Revision 132176
Author morr...@google.com
Date 2012-10-22 21:20:01 -0700 (Mon, 22 Oct 2012)


Log Message
Assertion failed at WebCore::toInsertionPoint / WebCore::ContentDistributor::distribute
https://bugs.webkit.org/show_bug.cgi?id=100038

Reviewed by Kent Tamura.

Source/WebCore:

isHTMLContentElement() assumes that the content element always has
a tag name content but it doesn't when Shadow DOM feature is
disabled. This fix let the function see the correct tag name.

Test: fast/dom/shadow/insertion-points-with-shadow-disabled.html

* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::contentTagName):
* html/shadow/HTMLContentElement.h:
(HTMLContentElement):
(WebCore::isHTMLContentElement):

LayoutTests:

* fast/dom/shadow/insertion-points-with-shadow-disabled-expected.txt: Added.
* fast/dom/shadow/insertion-points-with-shadow-disabled.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/shadow/HTMLContentElement.cpp
trunk/Source/WebCore/html/shadow/HTMLContentElement.h


Added Paths

trunk/LayoutTests/fast/dom/shadow/insertion-points-with-shadow-disabled-expected.txt
trunk/LayoutTests/fast/dom/shadow/insertion-points-with-shadow-disabled.html




Diff

Modified: trunk/LayoutTests/ChangeLog (132175 => 132176)

--- trunk/LayoutTests/ChangeLog	2012-10-23 03:43:47 UTC (rev 132175)
+++ trunk/LayoutTests/ChangeLog	2012-10-23 04:20:01 UTC (rev 132176)
@@ -1,3 +1,13 @@
+2012-10-22  MORITA Hajime  morr...@google.com
+
+Assertion failed at WebCore::toInsertionPoint / WebCore::ContentDistributor::distribute
+https://bugs.webkit.org/show_bug.cgi?id=100038
+
+Reviewed by Kent Tamura.
+
+* fast/dom/shadow/insertion-points-with-shadow-disabled-expected.txt: Added.
+* fast/dom/shadow/insertion-points-with-shadow-disabled.html: Added.
+
 2012-10-22  Dongwoo Joshua Im  dw...@samsung.com
 
 Include path in the repaint-text-decoration-style.html should be changed.


Added: trunk/LayoutTests/fast/dom/shadow/insertion-points-with-shadow-disabled-expected.txt (0 => 132176)

--- trunk/LayoutTests/fast/dom/shadow/insertion-points-with-shadow-disabled-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/insertion-points-with-shadow-disabled-expected.txt	2012-10-23 04:20:01 UTC (rev 132176)
@@ -0,0 +1 @@
+PASS unless crash


Added: trunk/LayoutTests/fast/dom/shadow/insertion-points-with-shadow-disabled.html (0 => 132176)

--- trunk/LayoutTests/fast/dom/shadow/insertion-points-with-shadow-disabled.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/insertion-points-with-shadow-disabled.html	2012-10-23 04:20:01 UTC (rev 132176)
@@ -0,0 +1,20 @@
+!DOCTYPE html
+html
+head
+script
+if (window.testRunner) {
+testRunner.dumpAsText();
+window.internals.settings.setShadowDOMEnabled(false);
+}
+/script
+/head
+body
+summary
+  content/content
+/summary
+summary
+  shadow/shadow
+/summary
+divPASS unless crash/div
+/head
+/html


Modified: trunk/Source/WebCore/ChangeLog (132175 => 132176)

--- trunk/Source/WebCore/ChangeLog	2012-10-23 03:43:47 UTC (rev 132175)
+++ trunk/Source/WebCore/ChangeLog	2012-10-23 04:20:01 UTC (rev 132176)
@@ -1,3 +1,22 @@
+2012-10-22  MORITA Hajime  morr...@google.com
+
+Assertion failed at WebCore::toInsertionPoint / WebCore::ContentDistributor::distribute
+https://bugs.webkit.org/show_bug.cgi?id=100038
+
+Reviewed by Kent Tamura.
+
+isHTMLContentElement() assumes that the content element always has
+a tag name content but it doesn't when Shadow DOM feature is
+disabled. This fix let the function see the correct tag name.
+
+Test: fast/dom/shadow/insertion-points-with-shadow-disabled.html
+
+* html/shadow/HTMLContentElement.cpp:
+(WebCore::HTMLContentElement::contentTagName):
+* html/shadow/HTMLContentElement.h:
+(HTMLContentElement):
+(WebCore::isHTMLContentElement):
+
 2012-10-22  Shinya Kawanaka  shin...@chromium.org
 
 [Shadow] Fallback content should also be reprojection.


Modified: trunk/Source/WebCore/html/shadow/HTMLContentElement.cpp (132175 => 132176)

--- trunk/Source/WebCore/html/shadow/HTMLContentElement.cpp	2012-10-23 03:43:47 UTC (rev 132175)
+++ trunk/Source/WebCore/html/shadow/HTMLContentElement.cpp	2012-10-23 04:20:01 UTC (rev 132176)
@@ -40,7 +40,7 @@
 
 using HTMLNames::selectAttr;
 
-static const QualifiedName contentTagName(Document*)
+const QualifiedName HTMLContentElement::contentTagName(Document*)
 {
 #if ENABLE(SHADOW_DOM)
 if (!RuntimeEnabledFeatures::shadowDOMEnabled())


Modified: trunk/Source/WebCore/html/shadow/HTMLContentElement.h (132175 => 132176)

--- trunk/Source/WebCore/html/shadow/HTMLContentElement.h	2012-10-23 03:43:47 UTC (rev 132175)
+++ trunk/Source/WebCore/html/shadow/HTMLContentElement.h	2012-10-23 04:20:01 UTC (rev 132176)
@@ -38,6 +38,7 @@
 
 

[webkit-changes] [131709] trunk

2012-10-18 Thread morrita
Title: [131709] trunk








Revision 131709
Author morr...@google.com
Date 2012-10-18 00:08:58 -0700 (Thu, 18 Oct 2012)


Log Message
Assertion failure at TreeScopeAdopter::moveNodeToNewDocument()
https://bugs.webkit.org/show_bug.cgi?id=99510

Reviewed by Kent Tamura.

Source/WebCore:

Shadow DOM notification call didn't have checks for mutation detection.
This change adds such checks.

Test: fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style.html

* dom/ContainerNodeAlgorithms.cpp:
(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):

LayoutTests:

* fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style-expected.txt: Added.
* fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContainerNodeAlgorithms.cpp


Added Paths

trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style-expected.txt
trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style.html




Diff

Modified: trunk/LayoutTests/ChangeLog (131708 => 131709)

--- trunk/LayoutTests/ChangeLog	2012-10-18 07:05:45 UTC (rev 131708)
+++ trunk/LayoutTests/ChangeLog	2012-10-18 07:08:58 UTC (rev 131709)
@@ -1,3 +1,13 @@
+2012-10-18  MORITA Hajime  morr...@google.com
+
+Assertion failure at TreeScopeAdopter::moveNodeToNewDocument()
+https://bugs.webkit.org/show_bug.cgi?id=99510
+
+Reviewed by Kent Tamura.
+
+* fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style-expected.txt: Added.
+* fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style.html: Added.
+
 2012-10-18  Zan Dobersek  zandober...@gmail.com
 
 Unreviewed GTK gardening.


Added: trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style-expected.txt (0 => 131709)

--- trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style-expected.txt	2012-10-18 07:08:58 UTC (rev 131709)
@@ -0,0 +1 @@
+PASS unless crash.


Added: trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style.html (0 => 131709)

--- trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style.html	(rev 0)
+++ trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style.html	2012-10-18 07:08:58 UTC (rev 131709)
@@ -0,0 +1,20 @@
+head
+style /style
+/head
+body
+script
+testRunner.dumpAsText();
+testRunner.waitUntilDone();
+var docElement = document.documentElement;
+textArea = document.createElement(textarea);
+textArea.setAttribute(autofocus, );
+textArea.appendChild(document.head);
+textArea.addEventListener(DOMFocusIn, function () { docElement.innerHTML = ; }, false);
+docElement.appendChild(textArea);
+document.implementation.createDocument(http://www.w3.org/1999/xhtml, html, null).adoptNode(textArea);
+window.setTimeout(function() {
+document.body.innerHTML = PASS unless crash.;
+testRunner.notifyDone();
+}, 0);
+/script
+/body


Modified: trunk/Source/WebCore/ChangeLog (131708 => 131709)

--- trunk/Source/WebCore/ChangeLog	2012-10-18 07:05:45 UTC (rev 131708)
+++ trunk/Source/WebCore/ChangeLog	2012-10-18 07:08:58 UTC (rev 131709)
@@ -1,3 +1,19 @@
+2012-10-18  MORITA Hajime  morr...@google.com
+
+Assertion failure at TreeScopeAdopter::moveNodeToNewDocument()
+https://bugs.webkit.org/show_bug.cgi?id=99510
+
+Reviewed by Kent Tamura.
+
+Shadow DOM notification call didn't have checks for mutation detection.
+This change adds such checks.
+
+Test: fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style.html
+
+* dom/ContainerNodeAlgorithms.cpp:
+(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
+(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
+
 2012-10-17  Kentaro Hara  hara...@chromium.org
 
 Unreviewed. Rebaselined run-bindings-tests.


Modified: trunk/Source/WebCore/dom/ContainerNodeAlgorithms.cpp (131708 => 131709)

--- trunk/Source/WebCore/dom/ContainerNodeAlgorithms.cpp	2012-10-18 07:05:45 UTC (rev 131708)
+++ trunk/Source/WebCore/dom/ContainerNodeAlgorithms.cpp	2012-10-18 07:08:58 UTC (rev 131709)
@@ -48,8 +48,10 @@
 
 if (ElementShadow* shadow = toElement(node)-shadow()) {
 ShadowRootVector roots(shadow);
-for (size_t i = 0; i  roots.size(); ++i)
-notifyNodeInsertedIntoDocument(roots[i].get());
+for (size_t i = 0; i  roots.size(); ++i) {
+if (node-inDocument()  roots[i]-host() == 

[webkit-changes] [131561] trunk/Source/WebCore

2012-10-17 Thread morrita
Title: [131561] trunk/Source/WebCore








Revision 131561
Author morr...@google.com
Date 2012-10-17 01:00:16 -0700 (Wed, 17 Oct 2012)


Log Message
Crash on Frame::inScope() part 2
https://bugs.webkit.org/show_bug.cgi?id=99543

Reviewed by Kent Tamura.

FrameTree::scopedChildCount() can be called even when the one of child frames
is in orphan state. This change added a guard for that case.

No new tests. A hard-to-test timing issue.

* page/Frame.cpp:
(WebCore::Frame::inScope):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/Frame.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (131560 => 131561)

--- trunk/Source/WebCore/ChangeLog	2012-10-17 07:54:23 UTC (rev 131560)
+++ trunk/Source/WebCore/ChangeLog	2012-10-17 08:00:16 UTC (rev 131561)
@@ -1,3 +1,18 @@
+2012-10-17  MORITA Hajime  morr...@google.com
+
+Crash on Frame::inScope() part 2
+https://bugs.webkit.org/show_bug.cgi?id=99543
+
+Reviewed by Kent Tamura.
+
+FrameTree::scopedChildCount() can be called even when the one of child frames
+is in orphan state. This change added a guard for that case.
+
+No new tests. A hard-to-test timing issue.
+
+* page/Frame.cpp:
+(WebCore::Frame::inScope):
+
 2012-10-17  Shinya Kawanaka  shin...@chromium.org
 
 Remove shadowAncestorNode() from VisibleSelection


Modified: trunk/Source/WebCore/page/Frame.cpp (131560 => 131561)

--- trunk/Source/WebCore/page/Frame.cpp	2012-10-17 07:54:23 UTC (rev 131560)
+++ trunk/Source/WebCore/page/Frame.cpp	2012-10-17 08:00:16 UTC (rev 131561)
@@ -236,9 +236,12 @@
 bool Frame::inScope(TreeScope* scope) const
 {
 ASSERT(scope);
-HTMLFrameOwnerElement* owner = document()-ownerElement();
-// Scoping test should be done only for child frames.
-ASSERT(owner);
+Document* doc = document();
+if (!doc)
+return false;
+HTMLFrameOwnerElement* owner = doc-ownerElement();
+if (!owner)
+return false;
 return owner-treeScope() == scope;
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [131572] trunk

2012-10-17 Thread morrita
Title: [131572] trunk








Revision 131572
Author morr...@google.com
Date 2012-10-17 02:57:57 -0700 (Wed, 17 Oct 2012)


Log Message
Assertion failed on HTMLFormControlElement.cpp: updateFromElementCallback()
https://bugs.webkit.org/show_bug.cgi?id=99566

Reviewed by Kent Tamura.

Source/WebCore:

It had a too optimistic assertion. This change removes it.

Test: fast/forms/textarea/textarea-autofocus-removal-while-focusing.html

* html/HTMLFormControlElement.cpp:
(WebCore::updateFromElementCallback):

LayoutTests:

* fast/forms/textarea/textarea-autofocus-removal-while-focusing.txt: Added.
* fast/forms/textarea/textarea-autofocus-removal-while-focusing.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLFormControlElement.cpp


Added Paths

trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing-expected.txt
trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing.html




Diff

Modified: trunk/LayoutTests/ChangeLog (131571 => 131572)

--- trunk/LayoutTests/ChangeLog	2012-10-17 09:43:48 UTC (rev 131571)
+++ trunk/LayoutTests/ChangeLog	2012-10-17 09:57:57 UTC (rev 131572)
@@ -1,3 +1,13 @@
+2012-10-17  MORITA Hajime  morr...@google.com
+
+Assertion failed on HTMLFormControlElement.cpp: updateFromElementCallback()
+https://bugs.webkit.org/show_bug.cgi?id=99566
+
+Reviewed by Kent Tamura.
+
+* fast/forms/textarea/textarea-autofocus-removal-while-focusing.txt: Added.
+* fast/forms/textarea/textarea-autofocus-removal-while-focusing.html: Added.
+
 2012-10-17  Anton Muhin  ant...@chromium.org
 
 Unreviewed Chromium rebaselines.


Added: trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing-expected.txt (0 => 131572)

--- trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing-expected.txt	2012-10-17 09:57:57 UTC (rev 131572)
@@ -0,0 +1 @@
+PASS unless crash.


Added: trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing.html (0 => 131572)

--- trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing.html	(rev 0)
+++ trunk/LayoutTests/fast/forms/textarea/textarea-autofocus-removal-while-focusing.html	2012-10-17 09:57:57 UTC (rev 131572)
@@ -0,0 +1,17 @@
+!DOCTYPE html
+html
+body
+script
+testRunner.dumpAsText();
+testRunner.waitUntilDone();
+var textarea = document.createElement(textarea);
+textarea.setAttribute(autofocus, );
+textarea.addEventListener(DOMFocusIn, function () { document.documentElement.innerHTML = ; }, false);
+document.documentElement.appendChild(textarea);
+window.setTimeout(function() {
+document.body.innerHTML = PASS unless crash.;
+testRunner.notifyDone();
+}, 0);
+/script
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (131571 => 131572)

--- trunk/Source/WebCore/ChangeLog	2012-10-17 09:43:48 UTC (rev 131571)
+++ trunk/Source/WebCore/ChangeLog	2012-10-17 09:57:57 UTC (rev 131572)
@@ -1,3 +1,17 @@
+2012-10-17  MORITA Hajime  morr...@google.com
+
+Assertion failed on HTMLFormControlElement.cpp: updateFromElementCallback()
+https://bugs.webkit.org/show_bug.cgi?id=99566
+
+Reviewed by Kent Tamura.
+
+It had a too optimistic assertion. This change removes it.
+
+Test: fast/forms/textarea/textarea-autofocus-removal-while-focusing.html
+
+* html/HTMLFormControlElement.cpp:
+(WebCore::updateFromElementCallback):
+
 2012-10-17  Vsevolod Vlasov  vse...@chromium.org
 
 Web Inspector: When dirty uiSourceCode is saved to disk from scripts navigator context menu working copy is not committed.


Modified: trunk/Source/WebCore/html/HTMLFormControlElement.cpp (131571 => 131572)

--- trunk/Source/WebCore/html/HTMLFormControlElement.cpp	2012-10-17 09:43:48 UTC (rev 131571)
+++ trunk/Source/WebCore/html/HTMLFormControlElement.cpp	2012-10-17 09:57:57 UTC (rev 131572)
@@ -297,7 +297,6 @@
 {
 ASSERT_ARG(node, node-isElementNode());
 ASSERT_ARG(node, static_castElement*(node)-isFormControlElement());
-ASSERT(node-renderer());
 if (RenderObject* renderer = node-renderer())
 renderer-updateFromElement();
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [131549] trunk/Source

2012-10-16 Thread morrita
Title: [131549] trunk/Source








Revision 131549
Author morr...@google.com
Date 2012-10-16 22:39:01 -0700 (Tue, 16 Oct 2012)


Log Message
[Shadow DOM][V8] WebCore::V8DOMWindow::installPerContextProperties() is slow when shadowDOMEnabled flag is on.
https://bugs.webkit.org/show_bug.cgi?id=99428

Reviewed by Adam Barth.

Source/WebCore:

A benchmark unveiled that installPerContextProperties() could have made DOMWindow setup slower when
- Some properties are added per-context basis by turnin the flag on and
- There are bunch of DOMWindow object in the page (that is, there are many iframes.)

This change eliminates Shadow DOM related per-context properties from DOMWindow for getting rid of that slowness.

* dom/ContextFeatures.cpp:
* dom/ContextFeatures.h: Removed shadowDOMEnabled() method and related enum entry.
* dom/Position.cpp:
(WebCore::Position::Position):
(WebCore::Position::findParent):
* dom/TreeScope.cpp:
(WebCore::TreeScope::getSelection):
* dom/make_names.pl: Re-introduced runtimeConditional directive.
(defaultTagPropertyHash):
(printConstructorInterior):
(printFactoryCppFile):
(printWrapperFunctions):
(printWrapperFactoryCppFile):
* html/HTMLTagNames.in:
* html/shadow/HTMLContentElement.cpp:
(WebCore::contentTagName):
* page/DOMWindow.idl:

Source/WebKit/chromium:

* src/ContextFeaturesClientImpl.cpp:
(WebKit::ContextFeaturesClientImpl::askIfIsEnabled):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContextFeatures.cpp
trunk/Source/WebCore/dom/ContextFeatures.h
trunk/Source/WebCore/dom/Position.cpp
trunk/Source/WebCore/dom/TreeScope.cpp
trunk/Source/WebCore/dom/make_names.pl
trunk/Source/WebCore/html/HTMLTagNames.in
trunk/Source/WebCore/html/shadow/HTMLContentElement.cpp
trunk/Source/WebCore/page/DOMWindow.idl
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/ContextFeaturesClientImpl.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (131548 => 131549)

--- trunk/Source/WebCore/ChangeLog	2012-10-17 02:48:11 UTC (rev 131548)
+++ trunk/Source/WebCore/ChangeLog	2012-10-17 05:39:01 UTC (rev 131549)
@@ -1,3 +1,34 @@
+2012-10-16  MORITA Hajime  morr...@google.com
+
+[Shadow DOM][V8] WebCore::V8DOMWindow::installPerContextProperties() is slow when shadowDOMEnabled flag is on.
+https://bugs.webkit.org/show_bug.cgi?id=99428
+
+Reviewed by Adam Barth.
+
+A benchmark unveiled that installPerContextProperties() could have made DOMWindow setup slower when
+- Some properties are added per-context basis by turnin the flag on and
+- There are bunch of DOMWindow object in the page (that is, there are many iframes.)
+
+This change eliminates Shadow DOM related per-context properties from DOMWindow for getting rid of that slowness.
+
+* dom/ContextFeatures.cpp:
+* dom/ContextFeatures.h: Removed shadowDOMEnabled() method and related enum entry.
+* dom/Position.cpp:
+(WebCore::Position::Position):
+(WebCore::Position::findParent):
+* dom/TreeScope.cpp:
+(WebCore::TreeScope::getSelection):
+* dom/make_names.pl: Re-introduced runtimeConditional directive.
+(defaultTagPropertyHash):
+(printConstructorInterior):
+(printFactoryCppFile):
+(printWrapperFunctions):
+(printWrapperFactoryCppFile):
+* html/HTMLTagNames.in:
+* html/shadow/HTMLContentElement.cpp:
+(WebCore::contentTagName):
+* page/DOMWindow.idl:
+
 2012-10-16  Julien Chaffraix  jchaffr...@webkit.org
 
 Make RenderObject destruction during detach a top-down operation


Modified: trunk/Source/WebCore/dom/ContextFeatures.cpp (131548 => 131549)

--- trunk/Source/WebCore/dom/ContextFeatures.cpp	2012-10-17 02:48:11 UTC (rev 131548)
+++ trunk/Source/WebCore/dom/ContextFeatures.cpp	2012-10-17 05:39:01 UTC (rev 131549)
@@ -63,18 +63,6 @@
 #endif
 }
 
-bool ContextFeatures::shadowDOMEnabled(Document* document)
-{
-#if ENABLE(SHADOW_DOM)
-if (!document)
-return RuntimeEnabledFeatures::shadowDOMEnabled();
-return document-contextFeatures()-isEnabled(document, ShadowDOM, RuntimeEnabledFeatures::shadowDOMEnabled());
-#else
-UNUSED_PARAM(document);
-return false;
-#endif
-}
-
 bool ContextFeatures::styleScopedEnabled(Document* document)
 {
 #if ENABLE(STYLE_SCOPED)


Modified: trunk/Source/WebCore/dom/ContextFeatures.h (131548 => 131549)

--- trunk/Source/WebCore/dom/ContextFeatures.h	2012-10-17 02:48:11 UTC (rev 131548)
+++ trunk/Source/WebCore/dom/ContextFeatures.h	2012-10-17 05:39:01 UTC (rev 131549)
@@ -40,7 +40,6 @@
 public:
 enum FeatureType {
 DialogElement = 0,
-ShadowDOM,
 StyleScoped,
 PagePopup,
 HTMLNotifications,
@@ -53,7 +52,6 @@
 static PassRefPtrContextFeatures create(ContextFeaturesClient*);
 
 static bool dialogElementEnabled(Document*);
-static bool shadowDOMEnabled(Document*);
 static bool styleScopedEnabled(Document*);
 

[webkit-changes] [131325] trunk/Source/WebCore

2012-10-15 Thread morrita
Title: [131325] trunk/Source/WebCore








Revision 131325
Author morr...@google.com
Date 2012-10-15 11:26:18 -0700 (Mon, 15 Oct 2012)


Log Message
[Regression r131167] run-webkit-tests fails
https://bugs.webkit.org/show_bug.cgi?id=99279

Reviewed by Kentaro Hara.

CodeGeneratorV8.pm assumed that there are only two objects which have constructor getters and
overlooked TestObj. This fix relaxes that assumption to accept it.

No new tests. Fixing an existing test.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateConstructorGetter):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::TestObjConstructorGetter):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (131324 => 131325)

--- trunk/Source/WebCore/ChangeLog	2012-10-15 18:14:26 UTC (rev 131324)
+++ trunk/Source/WebCore/ChangeLog	2012-10-15 18:26:18 UTC (rev 131325)
@@ -1,3 +1,20 @@
+2012-10-15  MORITA Hajime  morr...@google.com
+
+[Regression r131167] run-webkit-tests fails
+https://bugs.webkit.org/show_bug.cgi?id=99279
+
+Reviewed by Kentaro Hara.
+
+CodeGeneratorV8.pm assumed that there are only two objects which have constructor getters and
+overlooked TestObj. This fix relaxes that assumption to accept it.
+
+No new tests. Fixing an existing test.
+
+* bindings/scripts/CodeGeneratorV8.pm:
+(GenerateConstructorGetter):
+* bindings/scripts/test/V8/V8TestObj.cpp:
+(WebCore::TestObjV8Internal::TestObjConstructorGetter):
+
 2012-10-15  Joe Mason  jma...@rim.com
 
 [BlackBerry] Fix WebSockets which was disabled by recent string changes


Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm (131324 => 131325)

--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm	2012-10-15 18:14:26 UTC (rev 131324)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm	2012-10-15 18:26:18 UTC (rev 131325)
@@ -835,12 +835,9 @@
 END
 } elsif ($implClassName eq WorkerContext) {
 push(@implContentDecls, return perContextData-constructorForType(WrapperTypeInfo::unwrap(data), V8WorkerContext::toNative(info.Holder()));\n)
+} else {
+push(@implContentDecls, return perContextData-constructorForType(WrapperTypeInfo::unwrap(data), 0);\n);
 }
-# FIXME: This code is correct for real IDL files, but fails with TestObj.idl,
-# which contains methods with [V8EnabledPerContext].
-# else {
-#die Unknown Context ${implClassName}
-# }
 push(@implContentDecls, END);
 }
 END


Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp (131324 => 131325)

--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp	2012-10-15 18:14:26 UTC (rev 131324)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp	2012-10-15 18:26:18 UTC (rev 131325)
@@ -1031,6 +1031,7 @@
 V8PerContextData* perContextData = V8PerContextData::from(info.Holder()-CreationContext());
 if (!perContextData)
 return v8Undefined();
+return perContextData-constructorForType(WrapperTypeInfo::unwrap(data), 0);
 }
 static void TestObjReplaceableAttrSetter(v8::Localv8::String name, v8::Localv8::Value value, const v8::AccessorInfo info)
 {






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [130987] trunk

2012-10-10 Thread morrita
Title: [130987] trunk








Revision 130987
Author morr...@google.com
Date 2012-10-10 18:00:37 -0700 (Wed, 10 Oct 2012)


Log Message
https://bugs.webkit.org/show_bug.cgi?id=95664
[Shadow DOM] should be able to be available without style scoped

Reviewed by Dimitri Glazkov.

Source/WebCore:

This change relaxes ENABLE(STYLE_SCOPED) compilation guard
and styleScopedEnabled() runtime guard. The flags now masks
user visible bits of the code, rather than all of it.
This change also eliminates some redundant guards for simplicity.

Test: fast/dom/shadow/style-scoped-not-enabled.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::matchScopedAuthorRules):
(WebCore::StyleResolver::locateCousinList):
(WebCore::StyleResolver::canShareStyleWithElement):
(WebCore::StyleResolver::locateSharedStyle):
* css/StyleScopeResolver.cpp:
(WebCore::StyleScopeResolver::scopeFor):
* css/StyleScopeResolver.h:
(WebCore):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::HTMLStyleElement):
(WebCore::HTMLStyleElement::parseAttribute):
(WebCore::HTMLStyleElement::scopedAttributeChanged):
(WebCore::HTMLStyleElement::isRegisteredAsScoped):
(WebCore::HTMLStyleElement::registerWithScopingNode):
(WebCore::HTMLStyleElement::unregisterWithScopingNode):
(WebCore::HTMLStyleElement::insertedInto):
(WebCore::HTMLStyleElement::removedFrom):
(WebCore::HTMLStyleElement::scoped):
(WebCore::HTMLStyleElement::scopingElement):
* html/HTMLStyleElement.h:
(HTMLStyleElement):
* testing/InternalSettings.cpp: Exporsing a flag for testing.
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setStyleScopedEnabled):
(WebCore):
* testing/InternalSettings.h: Exporsing a flag for testing.
(Backup):
(InternalSettings):
* testing/InternalSettings.idl: Exporsing a flag for testing.

LayoutTests:

* fast/dom/shadow/style-scoped-not-enabled-expected.txt: Added.
* fast/dom/shadow/style-scoped-not-enabled.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/StyleResolver.cpp
trunk/Source/WebCore/css/StyleScopeResolver.cpp
trunk/Source/WebCore/css/StyleScopeResolver.h
trunk/Source/WebCore/html/HTMLStyleElement.cpp
trunk/Source/WebCore/html/HTMLStyleElement.h
trunk/Source/WebCore/testing/InternalSettings.cpp
trunk/Source/WebCore/testing/InternalSettings.h
trunk/Source/WebCore/testing/InternalSettings.idl


Added Paths

trunk/LayoutTests/fast/dom/shadow/style-scoped-not-enabled-expected.txt
trunk/LayoutTests/fast/dom/shadow/style-scoped-not-enabled.html




Diff

Modified: trunk/LayoutTests/ChangeLog (130986 => 130987)

--- trunk/LayoutTests/ChangeLog	2012-10-11 01:00:26 UTC (rev 130986)
+++ trunk/LayoutTests/ChangeLog	2012-10-11 01:00:37 UTC (rev 130987)
@@ -1,3 +1,13 @@
+2012-10-10  MORITA Hajime  morr...@google.com
+
+https://bugs.webkit.org/show_bug.cgi?id=95664
+[Shadow DOM] should be able to be available without style scoped
+
+Reviewed by Dimitri Glazkov.
+
+* fast/dom/shadow/style-scoped-not-enabled-expected.txt: Added.
+* fast/dom/shadow/style-scoped-not-enabled.html: Added.
+
 2012-10-10  Ojan Vafai  o...@chromium.org
 
 check-layout.js should always dumpAsText


Added: trunk/LayoutTests/fast/dom/shadow/style-scoped-not-enabled-expected.txt (0 => 130987)

--- trunk/LayoutTests/fast/dom/shadow/style-scoped-not-enabled-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/style-scoped-not-enabled-expected.txt	2012-10-11 01:00:37 UTC (rev 130987)
@@ -0,0 +1,16 @@
+This test ensures content element feature can be disabled
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS window.getComputedStyle(shouldBeApplied).color is 'rgb(0, 0, 255)'
+PASS window.getComputedStyle(shouldNotBeApplied).color is 'rgb(0, 0, 0)'
+PASS window.getComputedStyle(insideScope).color is 'rgb(255, 0, 0)'
+PASS window.getComputedStyle(shouldNotBeScoped).color is 'rgb(255, 0, 0)'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+Should not be blue
+Should be red
+
+Should be red


Added: trunk/LayoutTests/fast/dom/shadow/style-scoped-not-enabled.html (0 => 130987)

--- trunk/LayoutTests/fast/dom/shadow/style-scoped-not-enabled.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/style-scoped-not-enabled.html	2012-10-11 01:00:37 UTC (rev 130987)
@@ -0,0 +1,35 @@
+!DOCTYPE html
+html
+head
+script src=""
+script
+if (window.internals)
+window.internals.settings.setStyleScopedEnabled(false);
+/script
+/head
+body
+div id=host/div
+span id='shouldNotBeApplied'Should not be blue/span
+div
+  style scoped p { color: red; } /style
+  p id='insideScope'Should be red/p
+/div
+p id='shouldNotBeScoped'Should be red/p
+script
+description(This test ensures content element feature can be disabled);
+var host = document.getElementById(host);
+var shadow = new WebKitShadowRoot(host);
+shadow.innerHTML = style span { color: 

[webkit-changes] [130988] trunk/Source/WebCore

2012-10-10 Thread morrita
Title: [130988] trunk/Source/WebCore








Revision 130988
Author morr...@google.com
Date 2012-10-10 18:18:28 -0700 (Wed, 10 Oct 2012)


Log Message
[Chromium] Crash on SpellChecker::didCheck()
https://bugs.webkit.org/show_bug.cgi?id=98476

Reviewed by Kent Tamura.

SpellChecker::didCheck() assumed m_processingRequest is non-NULL. However, SpellChecker::invokeRequest()
calls SpellCheckRequest::didCancel(), which results didCheck() with NULL m_processingRequest.
This chagne eliminates the problematic didCheck().

No new tests. The case depends on specific timing and is hard to hit by automated testing.

* editing/SpellChecker.cpp:
(WebCore::SpellChecker::didCheck):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/editing/SpellChecker.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (130987 => 130988)

--- trunk/Source/WebCore/ChangeLog	2012-10-11 01:00:37 UTC (rev 130987)
+++ trunk/Source/WebCore/ChangeLog	2012-10-11 01:18:28 UTC (rev 130988)
@@ -1,5 +1,21 @@
 2012-10-10  MORITA Hajime  morr...@google.com
 
+[Chromium] Crash on SpellChecker::didCheck()
+https://bugs.webkit.org/show_bug.cgi?id=98476
+
+Reviewed by Kent Tamura.
+
+SpellChecker::didCheck() assumed m_processingRequest is non-NULL. However, SpellChecker::invokeRequest()
+calls SpellCheckRequest::didCancel(), which results didCheck() with NULL m_processingRequest.
+This chagne eliminates the problematic didCheck().
+
+No new tests. The case depends on specific timing and is hard to hit by automated testing.
+
+* editing/SpellChecker.cpp:
+(WebCore::SpellChecker::didCheck):
+
+2012-10-10  MORITA Hajime  morr...@google.com
+
 https://bugs.webkit.org/show_bug.cgi?id=95664
 [Shadow DOM] should be able to be available without style scoped
 


Modified: trunk/Source/WebCore/editing/SpellChecker.cpp (130987 => 130988)

--- trunk/Source/WebCore/editing/SpellChecker.cpp	2012-10-11 01:00:37 UTC (rev 130987)
+++ trunk/Source/WebCore/editing/SpellChecker.cpp	2012-10-11 01:18:28 UTC (rev 130988)
@@ -178,11 +178,8 @@
 void SpellChecker::invokeRequest(PassRefPtrSpellCheckRequest request)
 {
 ASSERT(!m_processingRequest);
-if (!client()) {
-request-didCancel();
+if (!client())
 return;
-}
-
 m_processingRequest = request;
 client()-requestCheckingOfString(m_processingRequest);
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [130732] trunk/Source/WebCore

2012-10-09 Thread morrita
Title: [130732] trunk/Source/WebCore








Revision 130732
Author morr...@google.com
Date 2012-10-09 01:00:53 -0700 (Tue, 09 Oct 2012)


Log Message
[Refactoring] Scoped Style related code should have its own class.
https://bugs.webkit.org/show_bug.cgi?id=98244

Reviewed by Dimitri Glazkov.

This change extracts StyleScopeResolver from StyleResolver to clarify
the responsibility of the style scope handling. Now we can easily see
where the style scoping needs to be involed.

Coming Shadow DOM related change like @host rules will fit within this class.

No new tests, refactoring.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAllInOne.cpp:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::collectFeatures):
(WebCore::StyleResolver::appendAuthorStylesheets):
(WebCore::StyleResolver::pushParentElement):
(WebCore::StyleResolver::popParentElement):
(WebCore::StyleResolver::pushParentShadowRoot):
(WebCore::StyleResolver::popParentShadowRoot):
(WebCore::StyleResolver::matchScopedAuthorRules):
(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::StyleResolver::reportMemoryUsage):
* css/StyleResolver.h:
(StyleResolver):
* css/StyleScopeResolver.cpp: Added.
(WebCore):
(WebCore::StyleScopeResolver::StyleScopeResolver):
(WebCore::StyleScopeResolver::~StyleScopeResolver):
(WebCore::StyleScopeResolver::scopeFor):
(WebCore::StyleScopeResolver::ruleSetFor):
(WebCore::StyleScopeResolver::ensureRuleSetFor):
(WebCore::StyleScopeResolver::setupStack):
(WebCore::StyleScopeResolver::push):
(WebCore::StyleScopeResolver::pop):
(WebCore::StyleScopeResolver::collectFeaturesTo):
(WebCore::StyleScopeResolver::reportMemoryUsage):
* css/StyleScopeResolver.h: Added.
(WebCore):
(StyleScopeResolver):
(WebCore::StyleScopeResolver::StackFrame::StackFrame):
(StackFrame):
(WebCore::StyleScopeResolver::hasScopedStyles):
(WebCore::StyleScopeResolver::stackSize):
(WebCore::StyleScopeResolver::stackFrameAt):
(WebCore::StyleScopeResolver::matchesStyleBounds):
(WebCore::StyleScopeResolver::stackIsConsistent):
(WebCore::StyleScopeResolver::ensureStackConsistency):
(WebCore::StyleScopeResolver::scopeFor):
(WebCore::StyleScopeResolver::ensureRuleSetFor):

Modified Paths

trunk/Source/WebCore/CMakeLists.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/GNUmakefile.list.am
trunk/Source/WebCore/Target.pri
trunk/Source/WebCore/WebCore.gypi
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/css/CSSAllInOne.cpp
trunk/Source/WebCore/css/StyleResolver.cpp
trunk/Source/WebCore/css/StyleResolver.h


Added Paths

trunk/Source/WebCore/css/StyleScopeResolver.cpp
trunk/Source/WebCore/css/StyleScopeResolver.h




Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (130731 => 130732)

--- trunk/Source/WebCore/CMakeLists.txt	2012-10-09 07:58:40 UTC (rev 130731)
+++ trunk/Source/WebCore/CMakeLists.txt	2012-10-09 08:00:53 UTC (rev 130732)
@@ -1081,6 +1081,7 @@
 css/StyleResolver.cpp
 css/StyleRule.cpp
 css/StyleRuleImport.cpp
+css/StyleScopeResolver.cpp
 css/StyleSheet.cpp
 css/StyleSheetContents.cpp
 css/StyleSheetList.cpp


Modified: trunk/Source/WebCore/ChangeLog (130731 => 130732)

--- trunk/Source/WebCore/ChangeLog	2012-10-09 07:58:40 UTC (rev 130731)
+++ trunk/Source/WebCore/ChangeLog	2012-10-09 08:00:53 UTC (rev 130732)
@@ -1,3 +1,63 @@
+2012-10-09  Hajime Morrita  morr...@google.com
+
+[Refactoring] Scoped Style related code should have its own class.
+https://bugs.webkit.org/show_bug.cgi?id=98244
+
+Reviewed by Dimitri Glazkov.
+
+This change extracts StyleScopeResolver from StyleResolver to clarify
+the responsibility of the style scope handling. Now we can easily see
+where the style scoping needs to be involed.
+
+Coming Shadow DOM related change like @host rules will fit within this class.
+
+No new tests, refactoring.
+
+* CMakeLists.txt:
+* GNUmakefile.list.am:
+* Target.pri:
+* WebCore.gypi:
+* WebCore.xcodeproj/project.pbxproj:
+* css/CSSAllInOne.cpp:
+* css/StyleResolver.cpp:
+(WebCore::StyleResolver::StyleResolver):
+(WebCore::StyleResolver::collectFeatures):
+(WebCore::StyleResolver::appendAuthorStylesheets):
+(WebCore::StyleResolver::pushParentElement):
+(WebCore::StyleResolver::popParentElement):
+(WebCore::StyleResolver::pushParentShadowRoot):
+(WebCore::StyleResolver::popParentShadowRoot):
+(WebCore::StyleResolver::matchScopedAuthorRules):
+(WebCore::StyleResolver::collectMatchingRulesForList):
+(WebCore::StyleResolver::reportMemoryUsage):
+* css/StyleResolver.h:
+(StyleResolver):
+* css/StyleScopeResolver.cpp: Added.
+(WebCore):
+(WebCore::StyleScopeResolver::StyleScopeResolver):
+(WebCore::StyleScopeRe

[webkit-changes] [130249] trunk/Source/WebCore

2012-10-02 Thread morrita
Title: [130249] trunk/Source/WebCore








Revision 130249
Author morr...@google.com
Date 2012-10-02 22:26:07 -0700 (Tue, 02 Oct 2012)


Log Message
https://bugs.webkit.org/show_bug.cgi?id=98134
[Refactoring] StyleResolver::matchScopedAuthorRules() could be simpler.

Reviewed by Dimitri Glazkov.

matchScopedAuthorRules() did have some optimization which only
makes sense for heavily nested shadow tree. However, we don't see
such type of usage of Shadow DOM and this looks premature
optimization. This change unified its triple for loop into one,
which makes the code much simpler.

No new tests. Covered by existing tests.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::matchScopedAuthorRules):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/StyleResolver.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (130248 => 130249)

--- trunk/Source/WebCore/ChangeLog	2012-10-03 05:12:10 UTC (rev 130248)
+++ trunk/Source/WebCore/ChangeLog	2012-10-03 05:26:07 UTC (rev 130249)
@@ -1,3 +1,21 @@
+2012-10-02  MORITA Hajime  morr...@google.com
+
+https://bugs.webkit.org/show_bug.cgi?id=98134
+[Refactoring] StyleResolver::matchScopedAuthorRules() could be simpler.
+
+Reviewed by Dimitri Glazkov.
+
+matchScopedAuthorRules() did have some optimization which only
+makes sense for heavily nested shadow tree. However, we don't see
+such type of usage of Shadow DOM and this looks premature
+optimization. This change unified its triple for loop into one,
+which makes the code much simpler.
+
+No new tests. Covered by existing tests.
+
+* css/StyleResolver.cpp:
+(WebCore::StyleResolver::matchScopedAuthorRules):
+
 2012-10-02  Kent Tamura  tk...@chromium.org
 
 Introduce Localizer::dateTimeFormatWithSecond and dateTimeFormatWithoutSecond


Modified: trunk/Source/WebCore/css/StyleResolver.cpp (130248 => 130249)

--- trunk/Source/WebCore/css/StyleResolver.cpp	2012-10-03 05:12:10 UTC (rev 130248)
+++ trunk/Source/WebCore/css/StyleResolver.cpp	2012-10-03 05:26:07 UTC (rev 130249)
@@ -962,41 +962,31 @@
 if (m_scopedAuthorStyles.isEmpty())
 return;
 
-MatchOptions options(includeEmptyRules);
-
 // Match scoped author rules by traversing the scoped element stack (rebuild it if it got inconsistent).
 if (!scopeStackIsConsistent(m_element))
 setupScopeStack(m_element);
-
-unsigned int firstShadowScopeIndex = 0;
-if (m_element-treeScope()-applyAuthorStyles()) {
-unsigned i;
-for (i = 0; i  m_scopeStack.size()  !m_scopeStack[i].m_scope-isInShadowTree(); ++i) {
-const ScopeStackFrame frame = m_scopeStack[i];
-options.scope = frame.m_scope;
-collectMatchingRules(frame.m_ruleSet, result.ranges.firstAuthorRule, result.ranges.lastAuthorRule, options);
-collectMatchingRulesForRegion(frame.m_ruleSet, result.ranges.firstAuthorRule, result.ranges.lastAuthorRule, options);
-}
-firstShadowScopeIndex = i;
-}
-
-if (!m_element-isInShadowTree() || m_scopeStack.isEmpty())
+if (m_scopeStack.isEmpty())
 return;
 
-unsigned scopedIndex = m_scopeStack.size();
-int authorStyleBoundsIndex = m_scopeStackParentBoundsIndex;
-for ( ; scopedIndex  firstShadowScopeIndex; --scopedIndex) {
-if (authorStyleBoundsIndex != m_scopeStack[scopedIndex - 1].m_authorStyleBoundsIndex)
-break;
-}
-
-// Ruleset for ancestor nodes should be applied first.
-for (unsigned i = scopedIndex; i  m_scopeStack.size(); ++i) {
+bool applyAuthorStyles = m_element-treeScope()-applyAuthorStyles();
+bool documentScope = true;
+unsigned scopeSize = m_scopeStack.size();
+for (unsigned i = 0; i  scopeSize; ++i) {
 const ScopeStackFrame frame = m_scopeStack[i];
-options.scope = frame.m_scope;
+documentScope = documentScope  !frame.m_scope-isInShadowTree();
+if (documentScope) {
+if (!applyAuthorStyles)
+continue;
+} else {
+if (frame.m_authorStyleBoundsIndex != m_scopeStackParentBoundsIndex)
+continue;
+}
+   
+MatchOptions options(includeEmptyRules, frame.m_scope);
 collectMatchingRules(frame.m_ruleSet, result.ranges.firstAuthorRule, result.ranges.lastAuthorRule, options);
 collectMatchingRulesForRegion(frame.m_ruleSet, result.ranges.firstAuthorRule, result.ranges.lastAuthorRule, options);
 }
+
 #else
 UNUSED_PARAM(result);
 UNUSED_PARAM(includeEmptyRules);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [130006] trunk/Source/WebCore

2012-09-30 Thread morrita
Title: [130006] trunk/Source/WebCore








Revision 130006
Author morr...@google.com
Date 2012-09-30 22:56:48 -0700 (Sun, 30 Sep 2012)


Log Message
https://bugs.webkit.org/show_bug.cgi?id=97988
Crash on FrameTree::scopedChildCount()

Reviewed by Kent Tamura.

The series of crash reports says that there are some null pointer
access in scopedChildCount(). This change added a null guard
against Frame::document(), that can return null.

No new tests. This is tied to some specific timing and is hard to reproduce.

* page/FrameTree.cpp:
(WebCore::FrameTree::scopedChildCount):
(WebCore::FrameTree::scopedChild):
(WebCore):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/FrameTree.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (130005 => 130006)

--- trunk/Source/WebCore/ChangeLog	2012-10-01 05:50:08 UTC (rev 130005)
+++ trunk/Source/WebCore/ChangeLog	2012-10-01 05:56:48 UTC (rev 130006)
@@ -1,3 +1,21 @@
+2012-09-30  MORITA Hajime  morr...@google.com
+
+https://bugs.webkit.org/show_bug.cgi?id=97988
+Crash on FrameTree::scopedChildCount()
+
+Reviewed by Kent Tamura.
+
+The series of crash reports says that there are some null pointer
+access in scopedChildCount(). This change added a null guard
+against Frame::document(), that can return null.
+
+No new tests. This is tied to some specific timing and is hard to reproduce.
+
+* page/FrameTree.cpp:
+(WebCore::FrameTree::scopedChildCount):
+(WebCore::FrameTree::scopedChild):
+(WebCore):
+
 2012-09-30  Yoshifumi Inoue  yo...@chromium.org
 
 Make multiple fields date/time input UI related files to available all ports


Modified: trunk/Source/WebCore/page/FrameTree.cpp (130005 => 130006)

--- trunk/Source/WebCore/page/FrameTree.cpp	2012-10-01 05:50:08 UTC (rev 130005)
+++ trunk/Source/WebCore/page/FrameTree.cpp	2012-10-01 05:56:48 UTC (rev 130006)
@@ -172,6 +172,9 @@
 
 inline Frame* FrameTree::scopedChild(unsigned index, TreeScope* scope) const
 {
+if (!scope)
+return 0;
+
 unsigned scopedIndex = 0;
 for (Frame* result = firstChild(); result; result = result-tree()-nextSibling()) {
 if (result-inScope(scope)) {
@@ -186,6 +189,9 @@
 
 inline Frame* FrameTree::scopedChild(const AtomicString name, TreeScope* scope) const
 {
+if (!scope)
+return 0;
+
 for (Frame* child = firstChild(); child; child = child-tree()-nextSibling())
 if (child-tree()-uniqueName() == name  child-inScope(scope))
 return child;
@@ -194,6 +200,9 @@
 
 inline unsigned FrameTree::scopedChildCount(TreeScope* scope) const
 {
+if (!scope)
+return 0;
+
 unsigned scopedCount = 0;
 for (Frame* result = firstChild(); result; result = result-tree()-nextSibling()) {
 if (result-inScope(scope))






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [129861] trunk/Source/WebCore

2012-09-28 Thread morrita
Title: [129861] trunk/Source/WebCore








Revision 129861
Author morr...@google.com
Date 2012-09-28 01:41:22 -0700 (Fri, 28 Sep 2012)


Log Message
Move Shadow DOM inspection feature out from experiments
https://bugs.webkit.org/show_bug.cgi?id=94274

Reviewed by Pavel Feldman.

This chagne turns the showShadowDOM experiments into a settings,
adding aSettingsScreen entry for that.

* English.lproj/localizedStrings.js:
* inspector/front-end/DOMAgent.js:
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/SettingsScreen.js:
(WebInspector.GenericSettingsTab):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/English.lproj/localizedStrings.js
trunk/Source/WebCore/inspector/front-end/DOMAgent.js
trunk/Source/WebCore/inspector/front-end/Settings.js
trunk/Source/WebCore/inspector/front-end/SettingsScreen.js




Diff

Modified: trunk/Source/WebCore/ChangeLog (129860 => 129861)

--- trunk/Source/WebCore/ChangeLog	2012-09-28 08:29:33 UTC (rev 129860)
+++ trunk/Source/WebCore/ChangeLog	2012-09-28 08:41:22 UTC (rev 129861)
@@ -1,3 +1,20 @@
+2012-09-28  MORITA Hajime  morr...@google.com
+
+Move Shadow DOM inspection feature out from experiments
+https://bugs.webkit.org/show_bug.cgi?id=94274
+
+Reviewed by Pavel Feldman.
+
+This chagne turns the showShadowDOM experiments into a settings,
+adding aSettingsScreen entry for that.
+
+* English.lproj/localizedStrings.js:
+* inspector/front-end/DOMAgent.js:
+* inspector/front-end/Settings.js:
+(WebInspector.ExperimentsSettings):
+* inspector/front-end/SettingsScreen.js:
+(WebInspector.GenericSettingsTab):
+
 2012-09-27  Kent Tamura  tk...@chromium.org
 
 Use Localizer in PagePopupController


Modified: trunk/Source/WebCore/English.lproj/localizedStrings.js (129860 => 129861)

--- trunk/Source/WebCore/English.lproj/localizedStrings.js	2012-09-28 08:29:33 UTC (rev 129860)
+++ trunk/Source/WebCore/English.lproj/localizedStrings.js	2012-09-28 08:41:22 UTC (rev 129861)
@@ -389,6 +389,7 @@
 localizedStrings[Show counts and sizes as percentages.] = Show counts and sizes as percentages.;
 localizedStrings[Show function definition] = Show function definition;
 localizedStrings[Show inherited] = Show inherited;
+localizedStrings[Show Shadow DOM] = Show Shadow DOM;
 localizedStrings[Show the records that are shorter than %s] = Show the records that are shorter than %s;
 localizedStrings[Show times as percentages.] = Show times as percentages.;
 localizedStrings[Show total and self times as percentages.] = Show total and self times as percentages.;


Modified: trunk/Source/WebCore/inspector/front-end/DOMAgent.js (129860 => 129861)

--- trunk/Source/WebCore/inspector/front-end/DOMAgent.js	2012-09-28 08:29:33 UTC (rev 129860)
+++ trunk/Source/WebCore/inspector/front-end/DOMAgent.js	2012-09-28 08:41:22 UTC (rev 129861)
@@ -76,7 +76,7 @@
 this._renumber();
 }
 
-if (payload.shadowRoots  WebInspector.experimentsSettings.showShadowDOM.isEnabled()) {
+if (payload.shadowRoots  WebInspector.settings.showShadowDOM.get()) {
 for (var i = 0; i  payload.shadowRoots.length; ++i) {
 var root = payload.shadowRoots[i];
 var node = new WebInspector.DOMNode(this._domAgent, this.ownerDocument, true, root);


Modified: trunk/Source/WebCore/inspector/front-end/Settings.js (129860 => 129861)

--- trunk/Source/WebCore/inspector/front-end/Settings.js	2012-09-28 08:29:33 UTC (rev 129860)
+++ trunk/Source/WebCore/inspector/front-end/Settings.js	2012-09-28 08:41:22 UTC (rev 129861)
@@ -95,6 +95,7 @@
 this.dockToRight = this.createSetting(dockToRight, false);
 this.emulateTouchEvents = this.createSetting(emulateTouchEvents, false);
 this.showPaintRects = this.createSetting(showPaintRects, false);
+this.showShadowDOM = this.createSetting(showShadowDOM, false);
 this.zoomLevel = this.createSetting(zoomLevel, 0);
 this.savedURLs = this.createSetting(savedURLs, {});
 this._javascript_Disabled = this.createSetting(_javascript_Disabled, false);
@@ -186,7 +187,6 @@
 this._enabledForTest = {};
 
 // Add currently running experiments here.
-this.showShadowDOM = this._createExperiment(showShadowDOM, Show shadow DOM);
 this.snippetsSupport = this._createExperiment(snippetsSupport, Snippets support);
 this.nativeMemorySnapshots = this._createExperiment(nativeMemorySnapshots, Native memory profiling);
 this.liveNativeMemoryChart = this._createExperiment(liveNativeMemoryChart, Live native memory chart);


Modified: trunk/Source/WebCore/inspector/front-end/SettingsScreen.js (129860 => 129861)

--- trunk/Source/WebCore/inspector/front-end/SettingsScreen.js	2012-09-28 08:29:33 UTC (rev 129860)
+++ trunk/Source/WebCore/inspector/front-end/SettingsScreen.js	2012-09-28 08:41:22 UTC (rev 129861)
@@ -268,6 +268,7 @@
 [ WebInspector.Color.Format.HSL, HSL: hsl(300, 80%, 

[webkit-changes] [129469] trunk

2012-09-25 Thread morrita
Title: [129469] trunk








Revision 129469
Author morr...@google.com
Date 2012-09-25 01:01:17 -0700 (Tue, 25 Sep 2012)


Log Message
adoptNode() shouldn't reset ownerDocument if the source node failed to remove itself
https://bugs.webkit.org/show_bug.cgi?id=97527

Reviewed by Ryosuke Niwa.

Source/WebCore:

Document::adoptNode() overlooked an error which can happen in Node::removeChild().
Which results an assertion failure. This change adds an error check for that code path.

Test: fast/dom/adopt-node-prevented.html

* dom/Document.cpp:
(WebCore::Document::adoptNode):

LayoutTests:

* fast/dom/adopt-node-prevented-expected.txt: Added.
* fast/dom/adopt-node-prevented.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Document.cpp


Added Paths

trunk/LayoutTests/fast/dom/adopt-node-prevented-expected.txt
trunk/LayoutTests/fast/dom/adopt-node-prevented.html




Diff

Modified: trunk/LayoutTests/ChangeLog (129468 => 129469)

--- trunk/LayoutTests/ChangeLog	2012-09-25 07:59:27 UTC (rev 129468)
+++ trunk/LayoutTests/ChangeLog	2012-09-25 08:01:17 UTC (rev 129469)
@@ -1,3 +1,13 @@
+2012-09-25  MORITA Hajime  morr...@google.com
+
+adoptNode() shouldn't reset ownerDocument if the source node failed to remove itself
+https://bugs.webkit.org/show_bug.cgi?id=97527
+
+Reviewed by Ryosuke Niwa.
+
+* fast/dom/adopt-node-prevented-expected.txt: Added.
+* fast/dom/adopt-node-prevented.html: Added.
+
 2012-09-25  Zoltan Arvai  zar...@inf.u-szeged.hu
 
 [Qt] Unreviwed gardening. Greening bots.


Added: trunk/LayoutTests/fast/dom/adopt-node-prevented-expected.txt (0 => 129469)

--- trunk/LayoutTests/fast/dom/adopt-node-prevented-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/adopt-node-prevented-expected.txt	2012-09-25 08:01:17 UTC (rev 129469)
@@ -0,0 +1,10 @@
+Test that adoptNode fails safely if prevented by a DOM mutation.
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+PASS target.ownerDocument.location is document.location
+


Added: trunk/LayoutTests/fast/dom/adopt-node-prevented.html (0 => 129469)

--- trunk/LayoutTests/fast/dom/adopt-node-prevented.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/adopt-node-prevented.html	2012-09-25 08:01:17 UTC (rev 129469)
@@ -0,0 +1,27 @@
+!DOCTYPE html
+html
+head
+script src=""
+/head
+body
+  div id=newParent/div
+  a href="" id=target/a
+script
+description(Test that adoptNode fails safely if prevented by a DOM mutation.);
+
+function run() {
+newParent = document.getElementById(newParent);
+target = document.getElementById(target);
+target.addEventListener(blur, function () { newParent.appendChild(target); }, false);
+target.focus();
+var anotherDocument = document.implementation.createDocument(, , null);
+
+try { anotherDocument.adoptNode(target); } catch(e) {}
+shouldBe(target.ownerDocument.location, document.location);
+}
+
+document.addEventListener(DOMContentLoaded, run, false);
+/script
+script src=""
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (129468 => 129469)

--- trunk/Source/WebCore/ChangeLog	2012-09-25 07:59:27 UTC (rev 129468)
+++ trunk/Source/WebCore/ChangeLog	2012-09-25 08:01:17 UTC (rev 129469)
@@ -1,3 +1,18 @@
+2012-09-25  MORITA Hajime  morr...@google.com
+
+adoptNode() shouldn't reset ownerDocument if the source node failed to remove itself
+https://bugs.webkit.org/show_bug.cgi?id=97527
+
+Reviewed by Ryosuke Niwa.
+
+Document::adoptNode() overlooked an error which can happen in Node::removeChild().
+Which results an assertion failure. This change adds an error check for that code path.
+
+Test: fast/dom/adopt-node-prevented.html
+
+* dom/Document.cpp:
+(WebCore::Document::adoptNode):
+
 2012-09-21  Ilya Tikhonovsky  loi...@chromium.org
 
 Web Inspector: extract Vector instrumentation from core NMI code into MemoryInstrumentationVector.h header.


Modified: trunk/Source/WebCore/dom/Document.cpp (129468 => 129469)

--- trunk/Source/WebCore/dom/Document.cpp	2012-09-25 07:59:27 UTC (rev 129468)
+++ trunk/Source/WebCore/dom/Document.cpp	2012-09-25 08:01:17 UTC (rev 129469)
@@ -1049,8 +1049,11 @@
 return 0;
 }
 }
-if (source-parentNode())
+if (source-parentNode()) {
 source-parentNode()-removeChild(source.get(), ec);
+if (ec)
+return 0;
+}
 }
 
 this-adoptIfNeeded(source.get());






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [128323] trunk

2012-09-12 Thread morrita
Title: [128323] trunk








Revision 128323
Author morr...@google.com
Date 2012-09-12 09:16:14 -0700 (Wed, 12 Sep 2012)


Log Message
[Shadow DOM] Unpolished elements should reject author shadows
https://bugs.webkit.org/show_bug.cgi?id=96404

Reviewed by Dimitri Glazkov.

Source/WebCore:

Gave areAuthorShadowsAllowed() overrides for these replaced elements
which aren't author shadow ready.

No new tests. Covered by existing tests.

* html/HTMLCanvasElement.h: Did areAuthorShadowsAllowed() overrride.
* html/HTMLFieldSetElement.h: Did areAuthorShadowsAllowed() overrride.
* html/HTMLFrameElementBase.h: Did areAuthorShadowsAllowed() overrride.
* html/HTMLMediaElement.h: Did areAuthorShadowsAllowed() overrride.
* html/HTMLPlugInElement.h: Did areAuthorShadowsAllowed() overrride.
* html/HTMLSelectElement.h: Did areAuthorShadowsAllowed() overrride.

LayoutTests:

- Added setAuthorShadowDOMForAnyElementEnabled() calls to make tests works.
- UPdated shadow-disable.html to capture the disabled elements.

* fast/dom/shadow/shadow-disable-expected.txt:
* fast/dom/shadow/shadow-disable.html:
* fast/dom/shadow/shadowdom-for-fieldset-without-shadow.html:
* fast/dom/shadow/shadowdom-for-form-associated-element-useragent.html:
* fast/dom/shadow/shadowdom-for-media.html:
* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/dom/shadow/shadow-disable-expected.txt
trunk/LayoutTests/fast/dom/shadow/shadow-disable.html
trunk/LayoutTests/fast/dom/shadow/shadowdom-for-fieldset-without-shadow.html
trunk/LayoutTests/fast/dom/shadow/shadowdom-for-form-associated-element-useragent.html
trunk/LayoutTests/fast/dom/shadow/shadowdom-for-media.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLCanvasElement.h
trunk/Source/WebCore/html/HTMLFieldSetElement.h
trunk/Source/WebCore/html/HTMLFrameElementBase.h
trunk/Source/WebCore/html/HTMLMediaElement.h
trunk/Source/WebCore/html/HTMLPlugInElement.h
trunk/Source/WebCore/html/HTMLSelectElement.h




Diff

Modified: trunk/LayoutTests/ChangeLog (128322 => 128323)

--- trunk/LayoutTests/ChangeLog	2012-09-12 16:11:28 UTC (rev 128322)
+++ trunk/LayoutTests/ChangeLog	2012-09-12 16:16:14 UTC (rev 128323)
@@ -1,3 +1,20 @@
+2012-09-12  MORITA Hajime  morr...@google.com
+
+[Shadow DOM] Unpolished elements should reject author shadows
+https://bugs.webkit.org/show_bug.cgi?id=96404
+
+Reviewed by Dimitri Glazkov.
+
+- Added setAuthorShadowDOMForAnyElementEnabled() calls to make tests works.
+- UPdated shadow-disable.html to capture the disabled elements.
+
+* fast/dom/shadow/shadow-disable-expected.txt:
+* fast/dom/shadow/shadow-disable.html:
+* fast/dom/shadow/shadowdom-for-fieldset-without-shadow.html:
+* fast/dom/shadow/shadowdom-for-form-associated-element-useragent.html:
+* fast/dom/shadow/shadowdom-for-media.html:
+* platform/chromium/TestExpectations:
+
 2012-09-12  Dominic Mazzoni  dmazz...@google.com
 
 AX: Refactor most AccessibilityRenderObject code into AccessibilityNodeObject


Modified: trunk/LayoutTests/fast/dom/shadow/shadow-disable-expected.txt (128322 => 128323)

--- trunk/LayoutTests/fast/dom/shadow/shadow-disable-expected.txt	2012-09-12 16:11:28 UTC (rev 128322)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-disable-expected.txt	2012-09-12 16:16:14 UTC (rev 128323)
@@ -11,18 +11,18 @@
 PASS new WebKitShadowRoot(element) is not null
 SECTION
 PASS new WebKitShadowRoot(element) is not null
-AUDIO
-PASS new WebKitShadowRoot(element) is not null
-VIDEO
-PASS new WebKitShadowRoot(element) is not null
-SELECT
-PASS new WebKitShadowRoot(element) is not null
 TEXTAREA
 PASS new WebKitShadowRoot(element) is not null
 INPUT
 PASS new WebKitShadowRoot(element) threw exception Error: HIERARCHY_REQUEST_ERR: DOM Exception 3.
 tref
 PASS new WebKitShadowRoot(element) threw exception Error: HIERARCHY_REQUEST_ERR: DOM Exception 3.
+AUDIO
+PASS new WebKitShadowRoot(element) threw exception Error: HIERARCHY_REQUEST_ERR: DOM Exception 3.
+VIDEO
+PASS new WebKitShadowRoot(element) threw exception Error: HIERARCHY_REQUEST_ERR: DOM Exception 3.
+SELECT
+PASS new WebKitShadowRoot(element) threw exception Error: HIERARCHY_REQUEST_ERR: DOM Exception 3.
 PASS successfullyParsed is true
 
 TEST COMPLETE


Modified: trunk/LayoutTests/fast/dom/shadow/shadow-disable.html (128322 => 128323)

--- trunk/LayoutTests/fast/dom/shadow/shadow-disable.html	2012-09-12 16:11:28 UTC (rev 128322)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-disable.html	2012-09-12 16:16:14 UTC (rev 128323)
@@ -24,15 +24,15 @@
 document.createElement('span'),
 document.createElement('a'),
 document.createElement('section'),
-document.createElement('audio'),
-document.createElement('video'),
-document.createElement('select'),
 document.createElement('textarea')
 ];
 
 var elementsToFail = [
 document.createElement('input'),
-

[webkit-changes] [128331] trunk/Source/WebCore

2012-09-12 Thread morrita
Title: [128331] trunk/Source/WebCore








Revision 128331
Author morr...@google.com
Date 2012-09-12 09:54:55 -0700 (Wed, 12 Sep 2012)


Log Message
[Scoped Style] NodeRareData::m_numberOfScopedHTMLStyleChildren could be replaced with a node flag.
https://bugs.webkit.org/show_bug.cgi?id=96450

Reviewed by Dimitri Glazkov.

This change gets rid of NodeRareData::m_numberOfScopedHTMLStyleChildren
by replacing it with a Node flag called HasScopedHTMLStyleChildFlag.
Instead of tracking the number of certain node, this chagne compute the number
when necessary.

Now we no longer need to hit rareData() for each hasScopedHTMLStyleChild() call.
Note that because such a re-counting occurs only when the scoped style elements
leave the tree, the performance impact is negligible.

No new tests. Covered by existing tests.

* dom/Node.cpp:
(WebCore):
* dom/Node.h:
(WebCore::Node::hasScopedHTMLStyleChild):
(WebCore::Node::setHasScopedHTMLStyleChild):
(Node):
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
(NodeRareData):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::isRegisteredAsScoped):
(WebCore):
(WebCore::Node::registerScopedHTMLStyleChild):
(WebCore::Node::unregisterScopedHTMLStyleChild):
(WebCore::Node::numberOfScopedHTMLStyleChildren):
(WebCore::HTMLStyleElement::unregisterWithScopingNode):
* html/HTMLStyleElement.h:
(HTMLStyleElement):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Node.cpp
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/dom/NodeRareData.h
trunk/Source/WebCore/html/HTMLStyleElement.cpp
trunk/Source/WebCore/html/HTMLStyleElement.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (128330 => 128331)

--- trunk/Source/WebCore/ChangeLog	2012-09-12 16:51:43 UTC (rev 128330)
+++ trunk/Source/WebCore/ChangeLog	2012-09-12 16:54:55 UTC (rev 128331)
@@ -1,3 +1,40 @@
+2012-09-11 MORITA Hajime  morr...@google.com
+
+[Scoped Style] NodeRareData::m_numberOfScopedHTMLStyleChildren could be replaced with a node flag.
+https://bugs.webkit.org/show_bug.cgi?id=96450
+
+Reviewed by Dimitri Glazkov.
+
+This change gets rid of NodeRareData::m_numberOfScopedHTMLStyleChildren
+by replacing it with a Node flag called HasScopedHTMLStyleChildFlag.
+Instead of tracking the number of certain node, this chagne compute the number
+when necessary.
+
+Now we no longer need to hit rareData() for each hasScopedHTMLStyleChild() call.
+Note that because such a re-counting occurs only when the scoped style elements
+leave the tree, the performance impact is negligible.
+
+No new tests. Covered by existing tests.
+
+* dom/Node.cpp:
+(WebCore):
+* dom/Node.h:
+(WebCore::Node::hasScopedHTMLStyleChild):
+(WebCore::Node::setHasScopedHTMLStyleChild):
+(Node):
+* dom/NodeRareData.h:
+(WebCore::NodeRareData::NodeRareData):
+(NodeRareData):
+* html/HTMLStyleElement.cpp:
+(WebCore::HTMLStyleElement::isRegisteredAsScoped):
+(WebCore):
+(WebCore::Node::registerScopedHTMLStyleChild):
+(WebCore::Node::unregisterScopedHTMLStyleChild):
+(WebCore::Node::numberOfScopedHTMLStyleChildren):
+(WebCore::HTMLStyleElement::unregisterWithScopingNode):
+* html/HTMLStyleElement.h:
+(HTMLStyleElement):
+
 2012-09-12  Dimitri Glazkov  dglaz...@chromium.org
 
 Remove transient state regarding uknown pseudoelements from SelectorChecker.


Modified: trunk/Source/WebCore/dom/Node.cpp (128330 => 128331)

--- trunk/Source/WebCore/dom/Node.cpp	2012-09-12 16:51:43 UTC (rev 128330)
+++ trunk/Source/WebCore/dom/Node.cpp	2012-09-12 16:54:55 UTC (rev 128331)
@@ -2535,40 +2535,6 @@
 }
 #endif // ENABLE(MUTATION_OBSERVERS)
 
-#if ENABLE(STYLE_SCOPED)
-bool Node::hasScopedHTMLStyleChild() const
-{
-return hasRareData()  rareData()-hasScopedHTMLStyleChild();
-}
-
-size_t Node::numberOfScopedHTMLStyleChildren() const
-{
-return hasRareData() ? rareData()-numberOfScopedHTMLStyleChildren() : 0;
-}
-
-void Node::registerScopedHTMLStyleChild()
-{
-ensureRareData()-registerScopedHTMLStyleChild();
-}
-
-void Node::unregisterScopedHTMLStyleChild()
-{
-ASSERT(hasRareData());
-if (hasRareData())
-rareData()-unregisterScopedHTMLStyleChild();
-}
-#else
-bool Node::hasScopedHTMLStyleChild() const
-{
-return 0;
-}
-
-size_t Node::numberOfScopedHTMLStyleChildren() const
-{
-return 0;
-}
-#endif
-
 void Node::handleLocalEvents(Event* event)
 {
 if (!hasRareData() || !rareData()-eventTargetData())


Modified: trunk/Source/WebCore/dom/Node.h (128330 => 128331)

--- trunk/Source/WebCore/dom/Node.h	2012-09-12 16:51:43 UTC (rev 128330)
+++ trunk/Source/WebCore/dom/Node.h	2012-09-12 16:54:55 UTC (rev 128331)
@@ -349,6 +349,9 @@
 void setHasAttrList() { setFlag(HasAttrListFlag); }
 void clearHasAttrList() { clearFlag(HasAttrListFlag); }
 
+bool 

[webkit-changes] [127811] trunk/Source/WebCore

2012-09-06 Thread morrita
Title: [127811] trunk/Source/WebCore








Revision 127811
Author morr...@google.com
Date 2012-09-06 19:25:36 -0700 (Thu, 06 Sep 2012)


Log Message
[Shadow DOM][Refactoring] Element subclasses should have a way to reject author shadows.
https://bugs.webkit.org/show_bug.cgi?id=95831

Reviewed by Dimitri Glazkov.

Originally, the availability of author shadows was decided by ShadowRoot class.
This change moves that responsibility to each Element subclasses to make future
author shadow support improvement local to each replaced elements, rather than
touching ShadowRoot.cpp for reach.

No new tests. Should have no behavioral change.

* dom/Element.h:
* dom/ShadowRoot.cpp:
(WebCore::allowsAuthorShadowRoot):
* html/HTMLTextFormControlElement.h:
(HTMLTextFormControlElement):
* svg/SVGElement.h:
(SVGElement):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/ShadowRoot.cpp
trunk/Source/WebCore/html/HTMLInputElement.h
trunk/Source/WebCore/svg/SVGElement.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (127810 => 127811)

--- trunk/Source/WebCore/ChangeLog	2012-09-07 01:42:53 UTC (rev 127810)
+++ trunk/Source/WebCore/ChangeLog	2012-09-07 02:25:36 UTC (rev 127811)
@@ -1,3 +1,25 @@
+2012-09-06  MORITA Hajime  morr...@google.com
+
+[Shadow DOM][Refactoring] Element subclasses should have a way to reject author shadows.
+https://bugs.webkit.org/show_bug.cgi?id=95831
+
+Reviewed by Dimitri Glazkov.
+
+Originally, the availability of author shadows was decided by ShadowRoot class.
+This change moves that responsibility to each Element subclasses to make future
+author shadow support improvement local to each replaced elements, rather than
+touching ShadowRoot.cpp for reach.
+
+No new tests. Should have no behavioral change.
+
+* dom/Element.h:
+* dom/ShadowRoot.cpp:
+(WebCore::allowsAuthorShadowRoot):
+* html/HTMLTextFormControlElement.h:
+(HTMLTextFormControlElement):
+* svg/SVGElement.h:
+(SVGElement):
+
 2012-09-06  Adam Barth  aba...@chromium.org
 
 [V8] Weave creationContext through toV8 and related functions


Modified: trunk/Source/WebCore/dom/Element.h (127810 => 127811)

--- trunk/Source/WebCore/dom/Element.h	2012-09-07 01:42:53 UTC (rev 127810)
+++ trunk/Source/WebCore/dom/Element.h	2012-09-07 02:25:36 UTC (rev 127811)
@@ -275,6 +275,7 @@
 ElementShadow* shadow() const;
 ElementShadow* ensureShadow();
 virtual void willAddAuthorShadowRoot() { }
+virtual bool areAuthorShadowsAllowed() const { return true; }
 
 ShadowRoot* userAgentShadowRoot() const;
 


Modified: trunk/Source/WebCore/dom/ShadowRoot.cpp (127810 => 127811)

--- trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-09-07 01:42:53 UTC (rev 127810)
+++ trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-09-07 02:25:36 UTC (rev 127811)
@@ -82,23 +82,7 @@
 if (RuntimeEnabledFeatures::authorShadowDOMForAnyElementEnabled())
 return true;
 #endif
-
-// FIXME: The elements in Shadow DOM of an input element assumes that they have renderer if the input
-// element has a renderer. However, this does not hold until input elemnet is AuthorShadowDOM-ready.
-// So we would like to prohibit having a AuthorShadowDOM for a while. The same thing happens to
-// textarea element also.
-// https://bugs.webkit.org/show_bug.cgi?id=92608
-if (isHTMLInputElement(element))
-return false;
-
-// FIXME: We disable multiple shadow subtrees for SVG for while, because there will be problems to support it.
-// https://bugs.webkit.org/show_bug.cgi?id=78205
-// Especially SVG TREF recreates shadow root dynamically.
-// https://bugs.webkit.org/show_bug.cgi?id=77938
-if (element-isSVGElement())
-return false;
-
-return true;
+return element-areAuthorShadowsAllowed();
 }
 
 PassRefPtrShadowRoot ShadowRoot::create(Element* element, ExceptionCode ec)


Modified: trunk/Source/WebCore/html/HTMLInputElement.h (127810 => 127811)

--- trunk/Source/WebCore/html/HTMLInputElement.h	2012-09-07 01:42:53 UTC (rev 127810)
+++ trunk/Source/WebCore/html/HTMLInputElement.h	2012-09-07 02:25:36 UTC (rev 127811)
@@ -290,6 +290,9 @@
 HTMLInputElement(const QualifiedName, Document*, HTMLFormElement*, bool createdByParser);
 void createShadowSubtree();
 virtual void defaultEventHandler(Event*);
+// FIXME: Author shadows should be allowed
+// https://bugs.webkit.org/show_bug.cgi?id=92608
+virtual bool areAuthorShadowsAllowed() const OVERRIDE { return false; }
 
 private:
 enum AutoCompleteSetting { Uninitialized, On, Off };


Modified: trunk/Source/WebCore/svg/SVGElement.h (127810 => 127811)

--- trunk/Source/WebCore/svg/SVGElement.h	2012-09-07 01:42:53 UTC (rev 127810)
+++ trunk/Source/WebCore/svg/SVGElement.h	2012-09-07 02:25:36 UTC (rev 127811)
@@ -136,6 +136,10 @@
 
 void 

[webkit-changes] [127580] trunk

2012-09-05 Thread morrita
Title: [127580] trunk








Revision 127580
Author morr...@google.com
Date 2012-09-05 05:09:07 -0700 (Wed, 05 Sep 2012)


Log Message
ShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.
https://bugs.webkit.org/show_bug.cgi?id=91704

Reviewed by Kentaro Hara.

Source/WebCore:

This change implement ShadowRoot::cloneNode() which throws an exception.
This also adds an overloaded version cloneNode() to ShadowRoot.idl
which is enabled only for _javascript_ instead of changing the
signature of Node::cloneNode().

Note that changing the existing signature can break GObject bindings
compatibility.

Test: fast/dom/shadow/shadowroot-clonenode.html

* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::cloneNode):
(WebCore):
* dom/ShadowRoot.h:
(ShadowRoot):
* dom/ShadowRoot.idl:

LayoutTests:

* fast/dom/shadow/shadowroot-clonenode-expected.txt: Added.
* fast/dom/shadow/shadowroot-clonenode.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ShadowRoot.cpp
trunk/Source/WebCore/dom/ShadowRoot.h
trunk/Source/WebCore/dom/ShadowRoot.idl


Added Paths

trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode-expected.txt
trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode.html




Diff

Modified: trunk/LayoutTests/ChangeLog (127579 => 127580)

--- trunk/LayoutTests/ChangeLog	2012-09-05 11:53:40 UTC (rev 127579)
+++ trunk/LayoutTests/ChangeLog	2012-09-05 12:09:07 UTC (rev 127580)
@@ -1,3 +1,13 @@
+2012-09-05  MORITA Hajime  morr...@google.com
+
+ShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.
+https://bugs.webkit.org/show_bug.cgi?id=91704
+
+Reviewed by Kentaro Hara.
+
+* fast/dom/shadow/shadowroot-clonenode-expected.txt: Added.
+* fast/dom/shadow/shadowroot-clonenode.html: Added.
+
 2012-09-05  Christophe Dumez  christophe.du...@intel.com
 
 WKTR doesn't implement dumpWillCacheResponse()


Added: trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode-expected.txt (0 => 127580)

--- trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode-expected.txt	2012-09-05 12:09:07 UTC (rev 127580)
@@ -0,0 +1,10 @@
+Calling ShadowRoot.cloneNode() should throw a DATA_CLONE_ERR exception.
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS shadowRoot.cloneNode() threw exception Error: DATA_CLONE_ERR: DOM Exception 25.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode.html (0 => 127580)

--- trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode.html	2012-09-05 12:09:07 UTC (rev 127580)
@@ -0,0 +1,16 @@
+!DOCTYPE
+html
+script src=""
+script src=""
+
+pre id=console/pre
+
+script
+description('Calling ShadowRoot.cloneNode() should throw a DATA_CLONE_ERR exception.');
+
+var host = document.createElement('div');
+var shadowRoot = new WebKitShadowRoot(host);
+shouldThrow('shadowRoot.cloneNode()', 'Error: DATA_CLONE_ERR: DOM Exception 25');
+/script
+script src=""
+/html


Modified: trunk/Source/WebCore/ChangeLog (127579 => 127580)

--- trunk/Source/WebCore/ChangeLog	2012-09-05 11:53:40 UTC (rev 127579)
+++ trunk/Source/WebCore/ChangeLog	2012-09-05 12:09:07 UTC (rev 127580)
@@ -1,3 +1,27 @@
+2012-09-05  MORITA Hajime  morr...@google.com
+
+ShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.
+https://bugs.webkit.org/show_bug.cgi?id=91704
+
+Reviewed by Kentaro Hara.
+
+This change implement ShadowRoot::cloneNode() which throws an exception.
+This also adds an overloaded version cloneNode() to ShadowRoot.idl
+which is enabled only for _javascript_ instead of changing the
+signature of Node::cloneNode().
+
+Note that changing the existing signature can break GObject bindings
+compatibility.
+
+Test: fast/dom/shadow/shadowroot-clonenode.html
+
+* dom/ShadowRoot.cpp:
+(WebCore::ShadowRoot::cloneNode):
+(WebCore):
+* dom/ShadowRoot.h:
+(ShadowRoot):
+* dom/ShadowRoot.idl:
+
 2012-09-05  Simon Hausmann  simon.hausm...@nokia.com
 
 [Qt] Unreviewed trivial build fix: Use DOMAllInOne.cpp only if we have xslt available.


Modified: trunk/Source/WebCore/dom/ShadowRoot.cpp (127579 => 127580)

--- trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-09-05 11:53:40 UTC (rev 127579)
+++ trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-09-05 12:09:07 UTC (rev 127580)
@@ -145,6 +145,17 @@
 return 0;
 }
 
+PassRefPtrNode ShadowRoot::cloneNode(bool deep, ExceptionCode ec)
+{
+RefPtrNode clone = cloneNode(deep);
+if (!clone) {
+ec = DATA_CLONE_ERR;
+return 0;
+}
+
+return clone;
+}
+
 String ShadowRoot::innerHTML() const
 {
 return 

[webkit-changes] [127228] trunk

2012-08-30 Thread morrita
Title: [127228] trunk








Revision 127228
Author morr...@google.com
Date 2012-08-30 21:27:31 -0700 (Thu, 30 Aug 2012)


Log Message
Unreviewed, rolling out r126127.
http://trac.webkit.org/changeset/126127

This breaks gobject bindings.

Source/WebCore:

* dom/Attr.cpp:
(WebCore::Attr::cloneNode):
* dom/Attr.h:
* dom/CDATASection.cpp:
(WebCore::CDATASection::cloneNode):
* dom/CDATASection.h:
(CDATASection):
* dom/Comment.cpp:
(WebCore::Comment::cloneNode):
* dom/Comment.h:
(Comment):
* dom/Document.cpp:
(WebCore::Document::cloneNode):
* dom/Document.h:
(Document):
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::cloneNode):
* dom/DocumentFragment.h:
(DocumentFragment):
* dom/DocumentType.cpp:
(WebCore::DocumentType::cloneNode):
* dom/DocumentType.h:
(DocumentType):
* dom/Element.cpp:
(WebCore::Element::cloneNode):
* dom/Element.h:
(Element):
* dom/EntityReference.cpp:
(WebCore::EntityReference::cloneNode):
* dom/EntityReference.h:
(EntityReference):
* dom/Node.h:
(Node):
* dom/Node.idl:
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::cloneNode):
* dom/ProcessingInstruction.h:
(ProcessingInstruction):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::cloneNode):
* dom/ShadowRoot.h:
(ShadowRoot):
* dom/Text.cpp:
(WebCore::Text::cloneNode):
* dom/Text.h:
(Text):

LayoutTests:

* fast/dom/shadow/shadowroot-clonenode-expected.txt: Removed.
* fast/dom/shadow/shadowroot-clonenode.html: Removed.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Attr.cpp
trunk/Source/WebCore/dom/Attr.h
trunk/Source/WebCore/dom/CDATASection.cpp
trunk/Source/WebCore/dom/CDATASection.h
trunk/Source/WebCore/dom/Comment.cpp
trunk/Source/WebCore/dom/Comment.h
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Document.h
trunk/Source/WebCore/dom/DocumentFragment.cpp
trunk/Source/WebCore/dom/DocumentFragment.h
trunk/Source/WebCore/dom/DocumentType.cpp
trunk/Source/WebCore/dom/DocumentType.h
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/EntityReference.cpp
trunk/Source/WebCore/dom/EntityReference.h
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/dom/Node.idl
trunk/Source/WebCore/dom/ProcessingInstruction.cpp
trunk/Source/WebCore/dom/ProcessingInstruction.h
trunk/Source/WebCore/dom/ShadowRoot.cpp
trunk/Source/WebCore/dom/ShadowRoot.h
trunk/Source/WebCore/dom/Text.cpp
trunk/Source/WebCore/dom/Text.h


Removed Paths

trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode-expected.txt
trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode.html




Diff

Modified: trunk/LayoutTests/ChangeLog (127227 => 127228)

--- trunk/LayoutTests/ChangeLog	2012-08-31 04:00:54 UTC (rev 127227)
+++ trunk/LayoutTests/ChangeLog	2012-08-31 04:27:31 UTC (rev 127228)
@@ -1,3 +1,13 @@
+2012-08-30  MORITA Hajime  morr...@google.com
+
+Unreviewed, rolling out r126127.
+http://trac.webkit.org/changeset/126127
+
+This breaks gobject bindings.
+
+* fast/dom/shadow/shadowroot-clonenode-expected.txt: Removed.
+* fast/dom/shadow/shadowroot-clonenode.html: Removed.
+
 2012-08-30  Yoshifumi Inoue  yo...@chromium.org
 
 [Forms] Shift+Tab should focus the last field of multiple fields time input UI


Deleted: trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode-expected.txt (127227 => 127228)

--- trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode-expected.txt	2012-08-31 04:00:54 UTC (rev 127227)
+++ trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode-expected.txt	2012-08-31 04:27:31 UTC (rev 127228)
@@ -1,10 +0,0 @@
-Calling ShadowRoot.cloneNode() should throw a DATA_CLONE_ERR exception.
-
-On success, you will see a series of PASS messages, followed by TEST COMPLETE.
-
-
-PASS exceptionCode is DOMException.DATA_CLONE_ERR
-PASS successfullyParsed is true
-
-TEST COMPLETE
-


Deleted: trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode.html (127227 => 127228)

--- trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode.html	2012-08-31 04:00:54 UTC (rev 127227)
+++ trunk/LayoutTests/fast/dom/shadow/shadowroot-clonenode.html	2012-08-31 04:27:31 UTC (rev 127228)
@@ -1,26 +0,0 @@
-!DOCTYPE
-html
-script src=""
-script src=""
-
-pre id=console/pre
-
-script
-description('Calling ShadowRoot.cloneNode() should throw a DATA_CLONE_ERR exception.');
-
-var host = document.createElement('div');
-var shadowRoot = new WebKitShadowRoot(host);
-
-var exceptionCode = null;
-try {
-shadowRoot.cloneNode()
-} catch (e) {
-exceptionCode = e.code;
-}
-
-shouldBe('exceptionCode', 'DOMException.DATA_CLONE_ERR')
-
-finishJSTest();
-/script
-script src=""
-/html


Modified: trunk/Source/WebCore/ChangeLog (127227 => 127228)

--- trunk/Source/WebCore/ChangeLog	2012-08-31 04:00:54 UTC (rev 127227)
+++ trunk/Source/WebCore/ChangeLog	2012-08-31 04:27:31 UTC (rev 127228)
@@ -1,3 +1,57 @@
+2012-08-30  MORITA Hajime  morr...@google.com
+
+Unreviewed, rolling out r126127.
+

[webkit-changes] [127230] trunk/Source/WebCore

2012-08-30 Thread morrita
Title: [127230] trunk/Source/WebCore








Revision 127230
Author morr...@google.com
Date 2012-08-30 21:51:57 -0700 (Thu, 30 Aug 2012)


Log Message
Unreviewed, followup build fix against r127228.

* dom/Notation.cpp:
(WebCore::Notation::cloneNode):
* dom/Notation.h:
(Notation):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Notation.cpp
trunk/Source/WebCore/dom/Notation.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (127229 => 127230)

--- trunk/Source/WebCore/ChangeLog	2012-08-31 04:51:47 UTC (rev 127229)
+++ trunk/Source/WebCore/ChangeLog	2012-08-31 04:51:57 UTC (rev 127230)
@@ -1,3 +1,12 @@
+2012-08-30 MORITA Hajime  morr...@google.com
+
+Unreviewed, followup build fix against r127228.
+
+* dom/Notation.cpp:
+(WebCore::Notation::cloneNode):
+* dom/Notation.h:
+(Notation):
+
 2012-08-30  MORITA Hajime  morr...@google.com
 
 Unreviewed, rolling out r126127.


Modified: trunk/Source/WebCore/dom/Notation.cpp (127229 => 127230)

--- trunk/Source/WebCore/dom/Notation.cpp	2012-08-31 04:51:47 UTC (rev 127229)
+++ trunk/Source/WebCore/dom/Notation.cpp	2012-08-31 04:51:57 UTC (rev 127230)
@@ -43,7 +43,7 @@
 return NOTATION_NODE;
 }
 
-PassRefPtrNode Notation::cloneNode(bool /*deep*/, ExceptionCode)
+PassRefPtrNode Notation::cloneNode(bool /*deep*/)
 {
 // Spec says cloning Notation nodes is implementation dependent. We do not support it.
 return 0;


Modified: trunk/Source/WebCore/dom/Notation.h (127229 => 127230)

--- trunk/Source/WebCore/dom/Notation.h	2012-08-31 04:51:47 UTC (rev 127229)
+++ trunk/Source/WebCore/dom/Notation.h	2012-08-31 04:51:57 UTC (rev 127230)
@@ -38,7 +38,7 @@
 
 virtual String nodeName() const;
 virtual NodeType nodeType() const;
-virtual PassRefPtrNode cloneNode(bool deep, ExceptionCode);
+virtual PassRefPtrNode cloneNode(bool deep);
 virtual bool childTypeAllowed(NodeType) const;
 
 String m_name;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [126408] trunk/LayoutTests

2012-08-23 Thread morrita
Title: [126408] trunk/LayoutTests








Revision 126408
Author morr...@google.com
Date 2012-08-23 02:02:20 -0700 (Thu, 23 Aug 2012)


Log Message
Unreviewed Chromium gardeing.

* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-vertical-expected.txt: Added.

Modified Paths

trunk/LayoutTests/ChangeLog


Added Paths

trunk/LayoutTests/platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.txt
trunk/LayoutTests/platform/chromium-mac-snowleopard/media/track/track-cue-rendering-vertical-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (126407 => 126408)

--- trunk/LayoutTests/ChangeLog	2012-08-23 08:50:04 UTC (rev 126407)
+++ trunk/LayoutTests/ChangeLog	2012-08-23 09:02:20 UTC (rev 126408)
@@ -1,3 +1,10 @@
+2012-08-23  Hajime Morrita  morr...@chromium.org
+
+Unreviewed Chromium gardeing.
+
+* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.txt: Added.
+* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-vertical-expected.txt: Added.
+
 2012-08-23  Zan Dobersek  zandober...@gmail.com
 
 Unreviewed gardening.


Added: trunk/LayoutTests/platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.txt (0 => 126408)

--- trunk/LayoutTests/platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.txt	(rev 0)
+++ trunk/LayoutTests/platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.txt	2012-08-23 09:02:20 UTC (rev 126408)
@@ -0,0 +1,84 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x332
+  RenderBlock {HTML} at (0,0) size 800x332
+RenderBody {BODY} at (8,8) size 784x316
+  RenderBlock (anonymous) at (0,0) size 784x244
+RenderText {#text} at (0,0) size 0x0
+  RenderBlock {DIV} at (0,244) size 784x72
+RenderText {#text} at (0,0) size 266x18
+  text run at (0,0) width 266: Rendering horizontal line-positioned cues.
+RenderBR {BR} at (266,0) size 0x18
+RenderText {#text} at (0,18) size 162x18
+  text run at (0,18) width 162: EVENT(canplaythrough)
+RenderBR {BR} at (162,18) size 0x18
+RenderText {#text} at (0,36) size 107x18
+  text run at (0,36) width 107: EVENT(seeked)
+RenderBR {BR} at (107,36) size 0x18
+RenderText {#text} at (0,54) size 102x18
+  text run at (0,54) width 102: END OF TEST
+RenderBR {BR} at (102,54) size 0x18
+layer at (8,8) size 320x240
+  RenderVideo {VIDEO} at (0,0) size 320x240
+layer at (8,8) size 320x240
+  RenderDeprecatedFlexibleBox (relative positioned) {DIV} at (0,0) size 320x240
+RenderBlock {DIV} at (0,205) size 320x35
+layer at (8,8) size 320x205
+  RenderBlock (relative positioned) {DIV} at (0,0) size 320x205 [color=#FF00]
+layer at (8,8) size 320x14
+  RenderBlock (positioned) {DIV} at (0,0) size 320x14 [color=#FF]
+RenderInline {DIV} at (0,0) size 280x18 [bgcolor=#00CC]
+  RenderText {#text} at (22,0) size 276x14
+text run at (22,0) width 276: Cue 1: should be positioned at the top of the video.
+RenderInline {DIV} at (0,0) size 3x18 [bgcolor=#00CC]
+layer at (8,26) size 320x14
+  RenderBlock (positioned) {DIV} at (0,18) size 320x14 [color=#FF]
+RenderInline {DIV} at (0,0) size 308x18 [bgcolor=#00CC]
+  RenderText {#text} at (8,0) size 304x14
+text run at (8,0) width 304: Cue 2: should be the second cue and not overlap cue 1.
+RenderInline {DIV} at (0,0) size 3x18 [bgcolor=#00CC]
+layer at (8,44) size 320x14
+  RenderBlock (positioned) {DIV} at (0,36) size 320x14 [color=#FF]
+RenderInline {DIV} at (0,0) size 300x18 [bgcolor=#00CC]
+  RenderText {#text} at (12,0) size 296x14
+text run at (12,0) width 296: Cue 3: should become the third line from top to bottom.
+RenderInline {DIV} at (0,0) size 2x18 [bgcolor=#00CC]
+layer at (8,98) size 320x14
+  RenderBlock (positioned) {DIV} at (0,90) size 320x14 [color=#FF]
+RenderInline {DIV} at (0,0) size 292x18 [bgcolor=#00CC]
+  RenderText {#text} at (16,0) size 288x14
+text run at (16,0) width 288: Cue 4: should be fixed positioned around the middle.
+RenderInline {DIV} at (0,0) size 3x18 [bgcolor=#00CC]
+layer at (8,195) size 320x14
+  RenderBlock (positioned) {DIV} at (0,187) size 320x14 [color=#FF]
+RenderInline {DIV} at (0,0) size 296x18 [bgcolor=#00CC]
+  RenderText {#text} at (14,0) size 292x14
+text run at (14,0) width 292: Cue 5: should be displayed at the bottom of the video.
+RenderInline {DIV} at (0,0) size 3x18 [bgcolor=#00CC]
+layer at (8,177) size 320x14
+  RenderBlock (positioned) {DIV} at (0,169) size 320x14 [color=#FF]
+RenderInline {DIV} a

[webkit-changes] [126411] trunk/LayoutTests

2012-08-23 Thread morrita
Title: [126411] trunk/LayoutTests








Revision 126411
Author morr...@google.com
Date 2012-08-23 02:42:53 -0700 (Thu, 23 Aug 2012)


Log Message
Unreviewed Chromium gardeing.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (126410 => 126411)

--- trunk/LayoutTests/ChangeLog	2012-08-23 09:24:10 UTC (rev 126410)
+++ trunk/LayoutTests/ChangeLog	2012-08-23 09:42:53 UTC (rev 126411)
@@ -1,3 +1,9 @@
+2012-08-23  Hajime Morrita  morr...@chromium.org
+
+Unreviewed Chromium gardeing.
+
+* platform/chromium/TestExpectations:
+
 2012-08-23  Dominic Cooney  domin...@chromium.org
 
 [Chromium] Unreviewed gardening.


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (126410 => 126411)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-23 09:24:10 UTC (rev 126410)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-23 09:42:53 UTC (rev 126411)
@@ -3516,4 +3516,4 @@
 
 BUGCR67540 BUGWK94735 LINUX : fast/text/emphasis-overlap.html = IMAGE IMAGE+TEXT
 
-BUGWK94793 XP DEBUG : fast/notifications/notifications-event-listener-crash.html = TEXT PASS
+BUGWK94793 : fast/notifications/notifications-event-listener-crash.html = TEXT PASS






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [126136] trunk/Source/WebCore

2012-08-21 Thread morrita
Title: [126136] trunk/Source/WebCore








Revision 126136
Author morr...@google.com
Date 2012-08-20 23:49:27 -0700 (Mon, 20 Aug 2012)


Log Message
InsertionShouldCallDidNotifyDescendantInsertions should be merged to InsertionShouldCallDidNotifySubtreeInsertions
https://bugs.webkit.org/show_bug.cgi?id=94570

Reviewed by Ryosuke Niwa.

Node::didNotifySubtreeInsertions() and Node::didNotifyDescendantInsertions() are used for similar purpose and
we could unify them to the safer one, which is didNotifySubtreeInsertions().

This change replaces the last didNotifyDescendantInsertions() implementation in HTMLBodyElement with didNotifySubtreeInsertions()
then eliminates related code which is no longer used.

No new tests. Covered by existing tests.

* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
* dom/Node.h: Removed didNotifyDescendantInsertions() stub and InsertionShouldCallDidNotifyDescendantInsertions enum value.
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::insertedInto):
(WebCore::HTMLBodyElement::didNotifySubtreeInsertions): morphed from didNotifyDescendantInsertions()
* html/HTMLBodyElement.h:
(HTMLBodyElement):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::insertedInto): Remove useless InsertionShouldCallDidNotifyDescendantInsertions return statement.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContainerNodeAlgorithms.h
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/html/HTMLBodyElement.cpp
trunk/Source/WebCore/html/HTMLBodyElement.h
trunk/Source/WebCore/html/HTMLFormElement.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (126135 => 126136)

--- trunk/Source/WebCore/ChangeLog	2012-08-21 05:56:44 UTC (rev 126135)
+++ trunk/Source/WebCore/ChangeLog	2012-08-21 06:49:27 UTC (rev 126136)
@@ -1,3 +1,30 @@
+2012-08-20  MORITA Hajime  morr...@google.com
+
+InsertionShouldCallDidNotifyDescendantInsertions should be merged to InsertionShouldCallDidNotifySubtreeInsertions
+https://bugs.webkit.org/show_bug.cgi?id=94570
+
+Reviewed by Ryosuke Niwa.
+
+Node::didNotifySubtreeInsertions() and Node::didNotifyDescendantInsertions() are used for similar purpose and
+we could unify them to the safer one, which is didNotifySubtreeInsertions().
+
+This change replaces the last didNotifyDescendantInsertions() implementation in HTMLBodyElement with didNotifySubtreeInsertions()
+then eliminates related code which is no longer used.
+
+No new tests. Covered by existing tests.
+
+* dom/ContainerNodeAlgorithms.h:
+(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
+(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
+* dom/Node.h: Removed didNotifyDescendantInsertions() stub and InsertionShouldCallDidNotifyDescendantInsertions enum value.
+* html/HTMLBodyElement.cpp:
+(WebCore::HTMLBodyElement::insertedInto):
+(WebCore::HTMLBodyElement::didNotifySubtreeInsertions): morphed from didNotifyDescendantInsertions()
+* html/HTMLBodyElement.h:
+(HTMLBodyElement):
+* html/HTMLFormElement.cpp:
+(WebCore::HTMLFormElement::insertedInto): Remove useless InsertionShouldCallDidNotifyDescendantInsertions return statement.
+
 2012-08-20  Rob Buis  rb...@rim.com
 
 Reduce GradientAttributes object size


Modified: trunk/Source/WebCore/dom/ContainerNodeAlgorithms.h (126135 => 126136)

--- trunk/Source/WebCore/dom/ContainerNodeAlgorithms.h	2012-08-21 05:56:44 UTC (rev 126135)
+++ trunk/Source/WebCore/dom/ContainerNodeAlgorithms.h	2012-08-21 06:49:27 UTC (rev 126136)
@@ -193,21 +193,10 @@
 {
 ASSERT(m_insertionPoint-inDocument());
 RefPtrNode protect(node);
-Node::InsertionNotificationRequest request = node-insertedInto(m_insertionPoint);
-
+if (Node::InsertionShouldCallDidNotifySubtreeInsertions == node-insertedInto(m_insertionPoint))
+m_postInsertionNotificationTargets.append(node);
 if (node-isContainerNode())
 notifyDescendantInsertedIntoDocument(toContainerNode(node));
-
-switch (request) {
-case Node::InsertionDone:
-break;
-case Node::InsertionShouldCallDidNotifyDescendantInsertions:
-node-didNotifyDescendantInsertions(m_insertionPoint);
-break;
-case Node::InsertionShouldCallDidNotifySubtreeInsertions:
-m_postInsertionNotificationTargets.append(node);
-break;
-}
 }
 
 inline void ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree(ContainerNode* node)
@@ -215,11 +204,9 @@
 ASSERT(!m_insertionPoint-inDocument());
 forbidEventDispatch();
 
-Node::InsertionNotificationRequest request = node-insertedInto(m_insertionPoint);
-
+if (Node::InsertionShouldCallDidNotifySubtreeInsertions == node-insertedInto(m_insertionPoint))
+

[webkit-changes] [126131] trunk

2012-08-20 Thread morrita
Title: [126131] trunk








Revision 126131
Author morr...@google.com
Date 2012-08-20 21:21:28 -0700 (Mon, 20 Aug 2012)


Log Message
load event shouldn't fired during node insertion traversals.
https://bugs.webkit.org/show_bug.cgi?id=94447

Reviewed by Ryosuke Niwa.

Source/WebCore:

HTMLFrameElementBase::didNotifyDescendantInsertions() with empty @src
can trigger a load event during ChildNodeInsertionNotifier
traversal, whose handler can make DOM tree state inconsistent.

This change introduces a post traversal hook,
didNotifySubtreeInsertions(), for the insertion traversal and
replaces the problematic didNotifyDescendantInsertions() with it.

Since didNotifySubtreeInsertions() is invoked after the traversal,
it is safe for event handlers to mutate the tree.

Test: fast/frames/iframe-onload-and-domnodeinserted.html

* dom/ContainerNodeAlgorithms.h:
(ChildNodeInsertionNotifier): Added a post subtree notification.
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
(WebCore::ChildNodeInsertionNotifier::notify):
* dom/Node.h:
(WebCore::Node::didNotifySubtreeInsertions): Newly added.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::insertedInto): Now returns InsertionShouldCallDidNotifySubtreeInsertions
(WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Replaced didNotifyDescendantInsertions()
* html/HTMLFrameElementBase.h:
(HTMLFrameElementBase):

LayoutTests:

* fast/frames/iframe-onload-and-domnodeinserted-expected.txt: Added.
* fast/frames/iframe-onload-and-domnodeinserted.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContainerNodeAlgorithms.h
trunk/Source/WebCore/dom/Node.h
trunk/Source/WebCore/html/HTMLFrameElementBase.cpp
trunk/Source/WebCore/html/HTMLFrameElementBase.h


Added Paths

trunk/LayoutTests/fast/frames/iframe-onload-and-domnodeinserted-expected.txt
trunk/LayoutTests/fast/frames/iframe-onload-and-domnodeinserted.html




Diff

Modified: trunk/LayoutTests/ChangeLog (126130 => 126131)

--- trunk/LayoutTests/ChangeLog	2012-08-21 03:57:42 UTC (rev 126130)
+++ trunk/LayoutTests/ChangeLog	2012-08-21 04:21:28 UTC (rev 126131)
@@ -1,3 +1,13 @@
+2012-08-20  MORITA Hajime  morr...@google.com
+
+load event shouldn't fired during node insertion traversals.
+https://bugs.webkit.org/show_bug.cgi?id=94447
+
+Reviewed by Ryosuke Niwa.
+
+* fast/frames/iframe-onload-and-domnodeinserted-expected.txt: Added.
+* fast/frames/iframe-onload-and-domnodeinserted.html: Added.
+
 2012-08-20  Shinya Kawanaka  shin...@chromium.org
 
 ShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.


Added: trunk/LayoutTests/fast/frames/iframe-onload-and-domnodeinserted-expected.txt (0 => 126131)

--- trunk/LayoutTests/fast/frames/iframe-onload-and-domnodeinserted-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/frames/iframe-onload-and-domnodeinserted-expected.txt	2012-08-21 04:21:28 UTC (rev 126131)
@@ -0,0 +1,11 @@
+This test ensures that any tree mutation in the load event handler cannot harm the tree consistency.
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS loadEventFired is true
+PASS unless crash.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Property changes on: trunk/LayoutTests/fast/frames/iframe-onload-and-domnodeinserted-expected.txt
___


Added: svn:eol-style

Added: trunk/LayoutTests/fast/frames/iframe-onload-and-domnodeinserted.html (0 => 126131)

--- trunk/LayoutTests/fast/frames/iframe-onload-and-domnodeinserted.html	(rev 0)
+++ trunk/LayoutTests/fast/frames/iframe-onload-and-domnodeinserted.html	2012-08-21 04:21:28 UTC (rev 126131)
@@ -0,0 +1,26 @@
+!DOCTYPE html
+html
+head
+script src=""
+/head
+body
+div id=g/div
+script
+description(This test ensures that any tree mutation in the load event handler cannot harm the tree consistency.)
+var docElement = document.documentElement;
+
+textareaElement = document.createElement(textarea);
+iframeElement = document.createElement(iframe);
+
+var loadEventFired = false;
+textareaElement.appendChild(iframeElement);
+iframeElement.addEventListener(load, function () { iframeElement.innerHTML = X; loadEventFired = true; }, false);
+textareaElement.addEventListener(DOMNodeInserted, function () { document.implementation.createDocument(, , null).adoptNode(textareaElement) }, false);
+document.documentElement.appendChild(textareaElement); // The DOMNodeInserted event is triggered here through innerHTML = X
+document.getElementById(g).appendChild(textareaElement);
+shouldBeTrue(loadEventFired);
+debug(PASS unless crash.);
+/script
+script src=""
+/body
+/html
Property changes on: trunk/LayoutTests/fast/frames/iframe-onload-and-domnodeinserted.html
___


Added: svn:eol-style


[webkit-changes] [125988] trunk

2012-08-19 Thread morrita
Title: [125988] trunk








Revision 125988
Author morr...@google.com
Date 2012-08-19 19:56:18 -0700 (Sun, 19 Aug 2012)


Log Message
DOM mutation against including link shouldn't trigger pending HTML parser.
https://bugs.webkit.org/show_bug.cgi?id=93641

Reviewed by Ryosuke Niwa.

Source/WebCore:

HTMLLinkElement::removedFrom() invoked Document::removePendingSheet(), which can trigger
HTMLParser that can mutate DOM tree. DOM mutation reentrancy on like this is problematic and
should be prohibited.

This change add an variation of Document::removePendingSheet() which postpones the notification
which triggers DOM mutation, and flush such pending notifications at the end of ongoing mutation.

Test: http/tests/loading/remove-child-triggers-parser.html

* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildNodeRemovalNotifier::notify): Flushed pending notifications at the end.
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::removePendingSheet): Added RemovePendingSheetNotificationType parameter.
(WebCore):
(WebCore::Document::didRemoveAllPendingStylesheet): Extracted from removePendingSheet()
* dom/Document.h:
(Document):
(WebCore::Document::setNeedsNotifyRemoveAllPendingStylesheet): A flag setter.
(WebCore::Document::notifyRemovePendingSheetIfNeeded):
(WebCore):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::removedFrom): Switched to use notification later version of removePendingSheet()
(WebCore::HTMLLinkElement::removePendingSheet): Added RemovePendingSheetNotificationType parameter.
* html/HTMLLinkElement.h:

LayoutTests:

Note that the test content need to be such cryptic because HTML parser is involving the
captured bug and adding explanations can affect the behavior then mask the bug.

* http/tests/loading/remove-child-triggers-parser-expected.txt: Added.
* http/tests/loading/remove-child-triggers-parser.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContainerNodeAlgorithms.h
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Document.h
trunk/Source/WebCore/html/HTMLLinkElement.cpp
trunk/Source/WebCore/html/HTMLLinkElement.h


Added Paths

trunk/LayoutTests/http/tests/loading/remove-child-triggers-parser-expected.txt
trunk/LayoutTests/http/tests/loading/remove-child-triggers-parser.html




Diff

Modified: trunk/LayoutTests/ChangeLog (125987 => 125988)

--- trunk/LayoutTests/ChangeLog	2012-08-20 02:30:04 UTC (rev 125987)
+++ trunk/LayoutTests/ChangeLog	2012-08-20 02:56:18 UTC (rev 125988)
@@ -1,3 +1,16 @@
+2012-08-19  MORITA Hajime  morr...@google.com
+
+DOM mutation against including link shouldn't trigger pending HTML parser.
+https://bugs.webkit.org/show_bug.cgi?id=93641
+
+Reviewed by Ryosuke Niwa.
+
+Note that the test content need to be such cryptic because HTML parser is involving the
+captured bug and adding explanations can affect the behavior then mask the bug.
+
+* http/tests/loading/remove-child-triggers-parser-expected.txt: Added.
+* http/tests/loading/remove-child-triggers-parser.html: Added.
+
 2012-08-19  KwangYong Choi  ky0.c...@samsung.com
 
 [EFL] Gardening for fast/forms/range/thumbslider-no-parent-slider.html


Added: trunk/LayoutTests/http/tests/loading/remove-child-triggers-parser-expected.txt (0 => 125988)

--- trunk/LayoutTests/http/tests/loading/remove-child-triggers-parser-expected.txt	(rev 0)
+++ trunk/LayoutTests/http/tests/loading/remove-child-triggers-parser-expected.txt	2012-08-20 02:56:18 UTC (rev 125988)
@@ -0,0 +1,6 @@
+main frame - didStartProvisionalLoadForFrame
+main frame - didCommitLoadForFrame
+main frame - didFinishDocumentLoadForFrame
+main frame - didHandleOnloadEventsForFrame
+main frame - didFinishLoadForFrame
+


Added: trunk/LayoutTests/http/tests/loading/remove-child-triggers-parser.html (0 => 125988)

--- trunk/LayoutTests/http/tests/loading/remove-child-triggers-parser.html	(rev 0)
+++ trunk/LayoutTests/http/tests/loading/remove-child-triggers-parser.html	2012-08-20 02:56:18 UTC (rev 125988)
@@ -0,0 +1,18 @@
+script/script
+!-- This test covers Bug 93641 --
+script
+if (window.testRunner)
+testRunner.dumpAsText();
+setTimeout(function() { var child = document.documentElement; child.parentNode.removeChild(child); }, 36);
+/script
+script/script
+span/span
+div/div
+span/span
+nobr
+span/span
+div
+  link rel=stylesheet href=""
+  script;/script
+  nobr
+/div


Modified: trunk/Source/WebCore/ChangeLog (125987 => 125988)

--- trunk/Source/WebCore/ChangeLog	2012-08-20 02:30:04 UTC (rev 125987)
+++ trunk/Source/WebCore/ChangeLog	2012-08-20 02:56:18 UTC (rev 125988)
@@ -1,3 +1,36 @@
+2012-08-19  MORITA Hajime  morr...@google.com
+
+DOM mutation against including link shouldn't trigger pending HTML parser.
+https://bugs.webkit.org/show_bug.cgi?id=93641
+
+Reviewed by Ryosuke Niwa.
+
+

[webkit-changes] [125739] trunk

2012-08-15 Thread morrita
Title: [125739] trunk








Revision 125739
Author morr...@google.com
Date 2012-08-15 20:05:59 -0700 (Wed, 15 Aug 2012)


Log Message
Regression(121518) TextFieldDecorationElement formatting is broken.
https://bugs.webkit.org/show_bug.cgi?id=90913

Reviewed by Dimitri Glazkov.

Source/WebCore:

NodeRenderingContext::nextRenderer() has a problem which cannot retrieve the renderer
across an insertion point in some case. That is because ad-hoc composed tree traversal on
NodeRenderingContext is broken. The problem is hidden before r121518 though.

This change rewrite nextRenderer() using ComposedShadowTreeWalker to eliminate the ad-hoc
traversal. previousRenderer() is also rewritten in the same way.

Test: fast/dom/shadow/shadow-div-reflow.html

* dom/NodeRenderingContext.cpp:
(WebCore):
(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):

LayoutTests:

* fast/dom/shadow/shadow-div-reflow-expected.html: Added.
* fast/dom/shadow/shadow-div-reflow.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/NodeRenderingContext.cpp


Added Paths

trunk/LayoutTests/fast/dom/shadow/shadow-div-reflow-expected.html
trunk/LayoutTests/fast/dom/shadow/shadow-div-reflow.html




Diff

Modified: trunk/LayoutTests/ChangeLog (125738 => 125739)

--- trunk/LayoutTests/ChangeLog	2012-08-16 02:40:21 UTC (rev 125738)
+++ trunk/LayoutTests/ChangeLog	2012-08-16 03:05:59 UTC (rev 125739)
@@ -1,3 +1,13 @@
+2012-08-15  MORITA Hajime  morr...@google.com
+
+Regression(121518) TextFieldDecorationElement formatting is broken.
+https://bugs.webkit.org/show_bug.cgi?id=90913
+
+Reviewed by Dimitri Glazkov.
+
+* fast/dom/shadow/shadow-div-reflow-expected.html: Added.
+* fast/dom/shadow/shadow-div-reflow.html: Added.
+
 2012-08-14  Jeffrey Pfau  jp...@apple.com
 
 Allow blocking of Web SQL databases in third-party documents


Added: trunk/LayoutTests/fast/dom/shadow/shadow-div-reflow-expected.html (0 => 125739)

--- trunk/LayoutTests/fast/dom/shadow/shadow-div-reflow-expected.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-div-reflow-expected.html	2012-08-16 03:05:59 UTC (rev 125739)
@@ -0,0 +1,18 @@
+!DOCTYPE html
+html
+head
+style
+#host {
+width: 200px;
+}
+/style
+/head
+body
+div
+div
+divdivFirst line leads,/div/div
+divsecond line follows./div
+/div
+/div
+/body
+/html


Added: trunk/LayoutTests/fast/dom/shadow/shadow-div-reflow.html (0 => 125739)

--- trunk/LayoutTests/fast/dom/shadow/shadow-div-reflow.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-div-reflow.html	2012-08-16 03:05:59 UTC (rev 125739)
@@ -0,0 +1,32 @@
+!DOCTYPE html
+html
+head
+style
+#host {
+width: 200px;
+}
+/style
+/head
+body
+div id=host tabindex=0
+div
+divdivFirst line leads,/div/div
+/div
+/div
+script
+if (window.internals)
+   internals.settings.setAuthorShadowDOMForAnyElementEnabled(true);
+
+var host = document.getElementById(host);
+var shadow1 = new WebKitShadowRoot(host);
+shadow1.innerHTML = divshadow/shadowdiv/div/div;
+var shadow2 = new WebKitShadowRoot(host);
+shadow2.innerHTML = section
+ +   shadow/shadow
+ +   divsecond line follows./div
+ + /section;
+host.focus();
+host.blur();
+/script
+/body
+/html


Modified: trunk/Source/WebCore/ChangeLog (125738 => 125739)

--- trunk/Source/WebCore/ChangeLog	2012-08-16 02:40:21 UTC (rev 125738)
+++ trunk/Source/WebCore/ChangeLog	2012-08-16 03:05:59 UTC (rev 125739)
@@ -1,3 +1,24 @@
+2012-08-15  MORITA Hajime  morr...@google.com
+
+Regression(121518) TextFieldDecorationElement formatting is broken.
+https://bugs.webkit.org/show_bug.cgi?id=90913
+
+Reviewed by Dimitri Glazkov.
+
+NodeRenderingContext::nextRenderer() has a problem which cannot retrieve the renderer
+across an insertion point in some case. That is because ad-hoc composed tree traversal on
+NodeRenderingContext is broken. The problem is hidden before r121518 though.
+
+This change rewrite nextRenderer() using ComposedShadowTreeWalker to eliminate the ad-hoc
+traversal. previousRenderer() is also rewritten in the same way.
+
+Test: fast/dom/shadow/shadow-div-reflow.html
+
+* dom/NodeRenderingContext.cpp:
+(WebCore):
+(WebCore::NodeRenderingContext::nextRenderer):
+(WebCore::NodeRenderingContext::previousRenderer):
+
 2012-08-15  Julien Chaffraix  jchaffr...@webkit.org
 
 Add a was-inserted-into-tree notification to RenderObject


Modified: trunk/Source/WebCore/dom/NodeRenderingContext.cpp (125738 => 125739)

--- trunk/Source/WebCore/dom/NodeRenderingContext.cpp	2012-08-16 02:40:21 UTC (rev 125738)
+++ trunk/Source/WebCore/dom/NodeRenderingContext.cpp	2012-08-16 03:05:59 UTC (rev 125739)
@@ -49,9 +49,6 @@
 
 using namespace 

[webkit-changes] [125487] trunk/Tools

2012-08-13 Thread morrita
Title: [125487] trunk/Tools








Revision 125487
Author morr...@google.com
Date 2012-08-13 18:04:15 -0700 (Mon, 13 Aug 2012)


Log Message
Unreviewed update for webcomponents-bugzilla address.

* Scripts/webkitpy/common/config/committers.py:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/common/config/committers.py




Diff

Modified: trunk/Tools/ChangeLog (125486 => 125487)

--- trunk/Tools/ChangeLog	2012-08-14 01:03:48 UTC (rev 125486)
+++ trunk/Tools/ChangeLog	2012-08-14 01:04:15 UTC (rev 125487)
@@ -1,3 +1,9 @@
+2012-08-13  MORITA Hajime  morr...@google.com
+
+Unreviewed update for webcomponents-bugzilla address.
+
+* Scripts/webkitpy/common/config/committers.py:
+
 2012-08-11  Raphael Kubo da Costa  rak...@webkit.org
 
 [CMake] Rewrite FindLibSoup2.cmake.


Modified: trunk/Tools/Scripts/webkitpy/common/config/committers.py (125486 => 125487)

--- trunk/Tools/Scripts/webkitpy/common/config/committers.py	2012-08-14 01:03:48 UTC (rev 125486)
+++ trunk/Tools/Scripts/webkitpy/common/config/committers.py	2012-08-14 01:04:15 UTC (rev 125487)
@@ -161,7 +161,7 @@
 Contributor(Terry Anderson, tdander...@chromium.org, tdanderson),
 Contributor(Tien-Ren Chen, trc...@chromium.org, trchen),
 Contributor(WebKit Review Bot, webkit.review@gmail.com, sheriff-bot),
-Contributor(Web Components Team, webcomponents-bugzi...@google.com),
+Contributor(Web Components Team, webcomponents-bugzi...@chromium.org),
 Contributor(Wyatt Carss, [wca...@chromium.org, wca...@google.com], wcarss),
 Contributor(Zeev Lieber, zlie...@chromium.org),
 Contributor(Zoltan Arvai, zar...@inf.u-szeged.hu, azbest_hu),






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125390] trunk/Tools

2012-08-12 Thread morrita
Title: [125390] trunk/Tools








Revision 125390
Author morr...@google.com
Date 2012-08-12 22:21:54 -0700 (Sun, 12 Aug 2012)


Log Message
Unreviewed, added a proxy address to contributors_who_are_not_committers.

* Scripts/webkitpy/common/config/committers.py:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/common/config/committers.py




Diff

Modified: trunk/Tools/ChangeLog (125389 => 125390)

--- trunk/Tools/ChangeLog	2012-08-13 04:36:01 UTC (rev 125389)
+++ trunk/Tools/ChangeLog	2012-08-13 05:21:54 UTC (rev 125390)
@@ -1,3 +1,9 @@
+2012-08-12  MORITA Hajime  morr...@google.com
+
+Unreviewed, added a proxy address to contributors_who_are_not_committers.
+
+* Scripts/webkitpy/common/config/committers.py:
+
 2012-08-12  Loïc Yhuel  loic.yh...@softathome.com
 
 [Qt] Make it possible to build without QtTest/QtPrintSupport


Modified: trunk/Tools/Scripts/webkitpy/common/config/committers.py (125389 => 125390)

--- trunk/Tools/Scripts/webkitpy/common/config/committers.py	2012-08-13 04:36:01 UTC (rev 125389)
+++ trunk/Tools/Scripts/webkitpy/common/config/committers.py	2012-08-13 05:21:54 UTC (rev 125390)
@@ -161,6 +161,7 @@
 Contributor(Terry Anderson, tdander...@chromium.org, tdanderson),
 Contributor(Tien-Ren Chen, trc...@chromium.org, trchen),
 Contributor(WebKit Review Bot, webkit.review@gmail.com, sheriff-bot),
+Contributor(Web Components Team, webcomponents-bugzi...@google.com),
 Contributor(Wyatt Carss, [wca...@chromium.org, wca...@google.com], wcarss),
 Contributor(Zeev Lieber, zlie...@chromium.org),
 Contributor(Zoltan Arvai, zar...@inf.u-szeged.hu, azbest_hu),






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125162] trunk

2012-08-09 Thread morrita
Title: [125162] trunk








Revision 125162
Author morr...@google.com
Date 2012-08-09 01:16:54 -0700 (Thu, 09 Aug 2012)


Log Message
DOMCharacterDataModified should not be fired inside shadows
https://bugs.webkit.org/show_bug.cgi?id=93427

Reviewed by Ryosuke Niwa.

Source/WebCore:

CharacterData::dispatchModifiedEvent() fires DOMCharacterDataModified event even if
the node is in shadow. But it shouldn't. Check dispatchChildInsertionEvents() and
dispatchChildRemovalEvents() to see how other MutationEvents are suppressed behind shadows.
This change follows the same path to suppress DOMCharacterDataModified.

Tests: fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata.html
   fast/forms/textarea-and-mutation-events-appending-text.html

* dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):

LayoutTests:

Added two tests. This also fixes existing test, which cover the wrong behavior.

* fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata-expected.txt: Added.
* fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata.html: Added.
* fast/events/dom-character-data-modified-textarea-crash.html:
- DOMCharacterDataModified shouldn't be fired in this case.
  Fixed to allow test to terminate without the event.
  Note that The event was fired by textarea, which is fixed by this change.
* fast/forms/textarea-and-mutation-events-appending-text-expected.txt: Added.
* fast/forms/textarea-and-mutation-events-appending-text.html: Added.
* svg/custom/tref-nested-events-crash.svg:
- DOMCharacterDataModified shouldn't be fired in this case.
  Fixed to allow test to terminate without the event.
  Note that The event was fired by SVGShadowText, which is just an implentation detail and
  should not be exposed.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/events/dom-character-data-modified-textarea-crash.html
trunk/LayoutTests/svg/custom/tref-nested-events-crash.svg
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/CharacterData.cpp


Added Paths

trunk/LayoutTests/fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata-expected.txt
trunk/LayoutTests/fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata.html
trunk/LayoutTests/fast/forms/textarea-and-mutation-events-appending-text-expected.txt
trunk/LayoutTests/fast/forms/textarea-and-mutation-events-appending-text.html




Diff

Modified: trunk/LayoutTests/ChangeLog (125161 => 125162)

--- trunk/LayoutTests/ChangeLog	2012-08-09 08:09:23 UTC (rev 125161)
+++ trunk/LayoutTests/ChangeLog	2012-08-09 08:16:54 UTC (rev 125162)
@@ -1,3 +1,26 @@
+2012-08-09  MORITA Hajime  morr...@google.com
+
+DOMCharacterDataModified should not be fired inside shadows
+https://bugs.webkit.org/show_bug.cgi?id=93427
+
+Reviewed by Ryosuke Niwa.
+
+Added two tests. This also fixes existing test, which cover the wrong behavior.
+
+* fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata-expected.txt: Added.
+* fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata.html: Added.
+* fast/events/dom-character-data-modified-textarea-crash.html:
+- DOMCharacterDataModified shouldn't be fired in this case.
+  Fixed to allow test to terminate without the event.
+  Note that The event was fired by textarea, which is fixed by this change.
+* fast/forms/textarea-and-mutation-events-appending-text-expected.txt: Added.
+* fast/forms/textarea-and-mutation-events-appending-text.html: Added.
+* svg/custom/tref-nested-events-crash.svg:
+- DOMCharacterDataModified shouldn't be fired in this case.
+  Fixed to allow test to terminate without the event.
+  Note that The event was fired by SVGShadowText, which is just an implentation detail and
+  should not be exposed.
+
 2012-08-09  Takashi Toyoshima  toyos...@chromium.org
 
 Unreviewed, update TestExpectations for chromium gardening.


Added: trunk/LayoutTests/fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata-expected.txt (0 => 125162)

--- trunk/LayoutTests/fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata-expected.txt	2012-08-09 08:16:54 UTC (rev 125162)
@@ -0,0 +1,11 @@
+Ensures that DOMCharacterDataModified isn't fired inside shadows.
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS fired is false
+PASS div.innerHTML is 'Hello, World!'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata.html (0 => 125162)

--- trunk/LayoutTests/fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata.html	(rev 0)
+++ 

[webkit-changes] [125237] trunk

2012-08-09 Thread morrita
Title: [125237] trunk








Revision 125237
Author morr...@google.com
Date 2012-08-09 19:15:42 -0700 (Thu, 09 Aug 2012)


Log Message
https://bugs.webkit.org/show_bug.cgi?id=93587
Node::replaceChild() can create bad DOM topology with MutationEvent, Part 2

Reviewed by Kent Tamura.

Source/WebCore:

This is a followup of r124156. replaceChild() has yet another hidden
MutationEvent trigger. This change added a guard for it.

Test: fast/events/mutation-during-replace-child-2.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::replaceChild):

LayoutTests:

* fast/events/mutation-during-replace-child-2-expected.txt: Added.
* fast/events/mutation-during-replace-child-2.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContainerNode.cpp


Added Paths

trunk/LayoutTests/fast/events/mutation-during-replace-child-2-expected.txt
trunk/LayoutTests/fast/events/mutation-during-replace-child-2.html




Diff

Modified: trunk/LayoutTests/ChangeLog (125236 => 125237)

--- trunk/LayoutTests/ChangeLog	2012-08-10 02:13:55 UTC (rev 125236)
+++ trunk/LayoutTests/ChangeLog	2012-08-10 02:15:42 UTC (rev 125237)
@@ -1,3 +1,13 @@
+2012-08-09  MORITA Hajime  morr...@google.com
+
+https://bugs.webkit.org/show_bug.cgi?id=93587
+Node::replaceChild() can create bad DOM topology with MutationEvent, Part 2
+
+Reviewed by Kent Tamura.
+
+* fast/events/mutation-during-replace-child-2-expected.txt: Added.
+* fast/events/mutation-during-replace-child-2.html: Added.
+
 2012-08-09  Kinuko Yasuda  kin...@chromium.org
 
 http/tests/security/mixedContent/blob-url-in-iframe.html fails on Mac


Added: trunk/LayoutTests/fast/events/mutation-during-replace-child-2-expected.txt (0 => 125237)

--- trunk/LayoutTests/fast/events/mutation-during-replace-child-2-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/events/mutation-during-replace-child-2-expected.txt	2012-08-10 02:15:42 UTC (rev 125237)
@@ -0,0 +1,10 @@
+Ensures that replaceChild() throws an exception if mutation even handler does something wrong
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS target.replaceChild(newChild, oldChild); threw exception Error: HIERARCHY_REQUEST_ERR: DOM Exception 3.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Property changes on: trunk/LayoutTests/fast/events/mutation-during-replace-child-2-expected.txt
___


Added: svn:eol-style

Added: trunk/LayoutTests/fast/events/mutation-during-replace-child-2.html (0 => 125237)

--- trunk/LayoutTests/fast/events/mutation-during-replace-child-2.html	(rev 0)
+++ trunk/LayoutTests/fast/events/mutation-during-replace-child-2.html	2012-08-10 02:15:42 UTC (rev 125237)
@@ -0,0 +1,36 @@
+!DOCTYPE html
+html
+head
+script src=""
+/head
+body
+div
+  div id=target
+b/bb id=oldChild/bb/b
+  /div
+  div id=newChild/div
+/div
+
+script
+description(Ensures that replaceChild() throws an exception if mutation even handler does something wrong);
+var target = document.getElementById('target');
+var oldChild = document.getElementById('oldChild');
+var newChild = document.getElementById('newChild');
+
+var numCalled = 0;
+
+function handler(){
+numCalled++;
+if (numCalled  2)
+return;
+document.removeEventListener(DOMNodeRemoved, handler, false);
+target.parentNode.removeChild(target);
+newChild.appendChild(target);
+}   
+document.addEventListener(DOMNodeRemoved, handler, false);
+shouldThrow(target.replaceChild(newChild, oldChild);,  'Error: HIERARCHY_REQUEST_ERR: DOM Exception 3');
+/script
+script src=""
+/body
+/html
+
Property changes on: trunk/LayoutTests/fast/events/mutation-during-replace-child-2.html
___


Added: svn:eol-style

Modified: trunk/Source/WebCore/ChangeLog (125236 => 125237)

--- trunk/Source/WebCore/ChangeLog	2012-08-10 02:13:55 UTC (rev 125236)
+++ trunk/Source/WebCore/ChangeLog	2012-08-10 02:15:42 UTC (rev 125237)
@@ -1,3 +1,18 @@
+2012-08-09  MORITA Hajime  morr...@google.com
+
+https://bugs.webkit.org/show_bug.cgi?id=93587
+Node::replaceChild() can create bad DOM topology with MutationEvent, Part 2
+
+Reviewed by Kent Tamura.
+
+This is a followup of r124156. replaceChild() has yet another hidden
+MutationEvent trigger. This change added a guard for it.
+
+Test: fast/events/mutation-during-replace-child-2.html
+
+* dom/ContainerNode.cpp:
+(WebCore::ContainerNode::replaceChild):
+
 2012-08-09  Kentaro Hara  hara...@chromium.org
 
 [V8] V8Utilities::throwTypeMismatchException() should use setDOMException()


Modified: trunk/Source/WebCore/dom/ContainerNode.cpp (125236 => 125237)

--- trunk/Source/WebCore/dom/ContainerNode.cpp	2012-08-10 02:13:55 UTC (rev 125236)
+++ 

[webkit-changes] [125147] trunk

2012-08-08 Thread morrita
Title: [125147] trunk








Revision 125147
Author morr...@google.com
Date 2012-08-08 21:16:38 -0700 (Wed, 08 Aug 2012)


Log Message
[SVG] load events shouldn't be fired during Node::insrtedInto()
https://bugs.webkit.org/show_bug.cgi?id=92969

Reviewed by Ryosuke Niwa.

Source/WebCore:

Event dispatches during insertedInto() allow event handlers to
break DOM tree cosistency. This chagne makes them async for load
events which are dispatched during insertedInto() call. This
prevents event handlers from breaking tree consistency while the
notification traversal.

Test: svg/custom/loadevents-async.html

* svg/SVGElement.cpp:
(WebCore::SVGElement::sendSVGLoadEventIfPossibleAsynchronously): Added.
(WebCore):
(WebCore::SVGElement::svgLoadEventTimerFired): Added.
(WebCore::SVGElement::svgLoadEventTimer):
- Added a stub. Implemented in SVGScriptElement, SVGStopElement, SVGUseElement
  where the load event happens.
* svg/SVGElement.h:
(SVGElement):
* svg/SVGExternalResourcesRequired.cpp:
(WebCore::SVGExternalResourcesRequired::insertedIntoDocument):
- Replaces event dispatch call with async version.
* svg/SVGScriptElement.h:
* svg/SVGStyleElement.h:
* svg/SVGUseElement.h:

LayoutTests:

* svg/custom/loadevents-async-expected.txt: Added.
* svg/custom/loadevents-async.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/svg/SVGElement.cpp
trunk/Source/WebCore/svg/SVGElement.h
trunk/Source/WebCore/svg/SVGExternalResourcesRequired.cpp
trunk/Source/WebCore/svg/SVGScriptElement.cpp
trunk/Source/WebCore/svg/SVGScriptElement.h
trunk/Source/WebCore/svg/SVGStyleElement.cpp
trunk/Source/WebCore/svg/SVGStyleElement.h
trunk/Source/WebCore/svg/SVGUseElement.cpp
trunk/Source/WebCore/svg/SVGUseElement.h


Added Paths

trunk/LayoutTests/svg/custom/loadevents-async-expected.txt
trunk/LayoutTests/svg/custom/loadevents-async.html




Diff

Modified: trunk/LayoutTests/ChangeLog (125146 => 125147)

--- trunk/LayoutTests/ChangeLog	2012-08-09 03:52:41 UTC (rev 125146)
+++ trunk/LayoutTests/ChangeLog	2012-08-09 04:16:38 UTC (rev 125147)
@@ -1,3 +1,13 @@
+2012-08-08  MORITA Hajime  morr...@google.com
+
+[SVG] load events shouldn't be fired during Node::insrtedInto()
+https://bugs.webkit.org/show_bug.cgi?id=92969
+
+Reviewed by Ryosuke Niwa.
+
+* svg/custom/loadevents-async-expected.txt: Added.
+* svg/custom/loadevents-async.html: Added.
+
 2012-08-08  Tony Chang  t...@chromium.org
 
 css3/flexbox/content-height-with-scrollbars.html failing on non-fractional pixel layout machines


Added: trunk/LayoutTests/svg/custom/loadevents-async-expected.txt (0 => 125147)

--- trunk/LayoutTests/svg/custom/loadevents-async-expected.txt	(rev 0)
+++ trunk/LayoutTests/svg/custom/loadevents-async-expected.txt	2012-08-09 04:16:38 UTC (rev 125147)
@@ -0,0 +1,11 @@
+This test ensures that tree mutation on the load doesn't break consistency.
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS invoked is false
+PASS invoked is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/svg/custom/loadevents-async.html (0 => 125147)

--- trunk/LayoutTests/svg/custom/loadevents-async.html	(rev 0)
+++ trunk/LayoutTests/svg/custom/loadevents-async.html	2012-08-09 04:16:38 UTC (rev 125147)
@@ -0,0 +1,31 @@
+!DOCTYPE HTML
+html
+head
+script src=""
+/head
+body
+script
+description(This test ensures that tree mutation on the load doesn't break consistency.);
+var invoked = false;
+var spanElement = document.createElementNS(http://www.w3.org/1999/xhtml, span);
+var divElement = document.createElementNS(http://www.w3.org/1999/xhtml, div);
+var useElement = document.createElementNS(http://www.w3.org/2000/svg, use);
+var emptyDocument = document.implementation.createDocument(, , null);
+
+document.body.appendChild(spanElement);
+divElement.appendChild(useElement);
+useElement.addEventListener(load, function () { emptyDocument.adoptNode(useElement); invoked = true; }, false);
+spanElement.appendChild(divElement);
+document.body.appendChild(useElement);
+shouldBeFalse(invoked);
+
+jsTestIsAsync = true;
+setTimeout(function() {
+shouldBeTrue(invoked);
+finishJSTest();
+}, 1);
+
+/script
+script src=""
+body
+/html


Modified: trunk/Source/WebCore/ChangeLog (125146 => 125147)

--- trunk/Source/WebCore/ChangeLog	2012-08-09 03:52:41 UTC (rev 125146)
+++ trunk/Source/WebCore/ChangeLog	2012-08-09 04:16:38 UTC (rev 125147)
@@ -1,3 +1,34 @@
+2012-08-08  MORITA Hajime  morr...@google.com
+
+[SVG] load events shouldn't be fired during Node::insrtedInto()
+https://bugs.webkit.org/show_bug.cgi?id=92969
+
+Reviewed by Ryosuke Niwa.
+
+Event dispatches during insertedInto() allow event handlers to
+break DOM tree cosistency. This chagne makes them async for load
+events which are dispatched during insertedInto() call. 

[webkit-changes] [124304] trunk

2012-08-01 Thread morrita
Title: [124304] trunk








Revision 124304
Author morr...@google.com
Date 2012-07-31 23:11:43 -0700 (Tue, 31 Jul 2012)


Log Message
Internals::setAuthorShadowDOMForAnyElementEnabled should be on InternalSettings
https://bugs.webkit.org/show_bug.cgi?id=92823

Reviewed by Kentaro Hara.

Source/WebCore:

This change moves Internals::setAuthorShadowDOMForAnyElementEnabled() to
InternalSettings to support original value recovery.

* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setAuthorShadowDOMForAnyElementEnabled): Moved from Internals.
(WebCore):
* testing/InternalSettings.h:
(Backup):
(InternalSettings):
* testing/InternalSettings.idl:
* testing/Internals.cpp:
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

LayoutTests:

Followed the changed on Internals API.

* fast/dom/shadow/input-with-validation.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/dom/shadow/input-with-validation.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/testing/InternalSettings.cpp
trunk/Source/WebCore/testing/InternalSettings.h
trunk/Source/WebCore/testing/InternalSettings.idl
trunk/Source/WebCore/testing/Internals.cpp
trunk/Source/WebCore/testing/Internals.h
trunk/Source/WebCore/testing/Internals.idl




Diff

Modified: trunk/LayoutTests/ChangeLog (124303 => 124304)

--- trunk/LayoutTests/ChangeLog	2012-08-01 06:05:54 UTC (rev 124303)
+++ trunk/LayoutTests/ChangeLog	2012-08-01 06:11:43 UTC (rev 124304)
@@ -1,3 +1,14 @@
+2012-07-31  MORITA Hajime  morr...@google.com
+
+Internals::setAuthorShadowDOMForAnyElementEnabled should be on InternalSettings
+https://bugs.webkit.org/show_bug.cgi?id=92823
+
+Reviewed by Kentaro Hara.
+
+Followed the changed on Internals API.
+
+* fast/dom/shadow/input-with-validation.html:
+
 2012-07-31  Keishi Hattori  kei...@webkit.org
 
 Mark fast/forms/color/color-suggestion-picker-appearance.html as missing or image mismatch


Modified: trunk/LayoutTests/fast/dom/shadow/input-with-validation.html (124303 => 124304)

--- trunk/LayoutTests/fast/dom/shadow/input-with-validation.html	2012-08-01 06:05:54 UTC (rev 124303)
+++ trunk/LayoutTests/fast/dom/shadow/input-with-validation.html	2012-08-01 06:11:43 UTC (rev 124304)
@@ -9,7 +9,7 @@
 
 script
 if (window.internals)
-internals.setAuthorShadowDOMForAnyElementEnabled(true);
+internals.settings.setAuthorShadowDOMForAnyElementEnabled(true);
 
 var input = document.getElementById('password');
 var shadowRoot = new WebKitShadowRoot(input);
@@ -19,8 +19,6 @@
 if (window.testRunner) {
 testRunner.waitUntilDone();
 setTimeout(function() {
-if (window.internals)
-internals.setAuthorShadowDOMForAnyElementEnabled(false);  
 testRunner.notifyDone();
 }, 10);
 }


Modified: trunk/Source/WebCore/ChangeLog (124303 => 124304)

--- trunk/Source/WebCore/ChangeLog	2012-08-01 06:05:54 UTC (rev 124303)
+++ trunk/Source/WebCore/ChangeLog	2012-08-01 06:11:43 UTC (rev 124304)
@@ -1,3 +1,27 @@
+2012-07-31  MORITA Hajime  morr...@google.com
+
+Internals::setAuthorShadowDOMForAnyElementEnabled should be on InternalSettings
+https://bugs.webkit.org/show_bug.cgi?id=92823
+
+Reviewed by Kentaro Hara.
+
+This change moves Internals::setAuthorShadowDOMForAnyElementEnabled() to
+InternalSettings to support original value recovery.
+
+* testing/InternalSettings.cpp:
+(WebCore::InternalSettings::Backup::Backup):
+(WebCore::InternalSettings::Backup::restoreTo):
+(WebCore::InternalSettings::setAuthorShadowDOMForAnyElementEnabled): Moved from Internals.
+(WebCore):
+* testing/InternalSettings.h:
+(Backup):
+(InternalSettings):
+* testing/InternalSettings.idl:
+* testing/Internals.cpp:
+* testing/Internals.h:
+(Internals):
+* testing/Internals.idl:
+
 2012-07-31  Vincent Scheib  sch...@chromium.org
 
 webkitRequestPointerLock and webkitExitPointerLock limited to the same document of an active Pointer lock.


Modified: trunk/Source/WebCore/testing/InternalSettings.cpp (124303 => 124304)

--- trunk/Source/WebCore/testing/InternalSettings.cpp	2012-08-01 06:05:54 UTC (rev 124303)
+++ trunk/Source/WebCore/testing/InternalSettings.cpp	2012-08-01 06:11:43 UTC (rev 124304)
@@ -77,6 +77,7 @@
 , m_originalCSSExclusionsEnabled(RuntimeEnabledFeatures::cssExclusionsEnabled())
 #if ENABLE(SHADOW_DOM)
 , m_originalShadowDOMEnabled(RuntimeEnabledFeatures::shadowDOMEnabled())
+, m_originalAuthorShadowDOMForAnyElementEnabled(RuntimeEnabledFeatures::authorShadowDOMForAnyElementEnabled())
 #endif
 , m_originalEditingBehavior(settings-editingBehaviorType())
 , m_originalFixedPositionCreatesStackingContext(settings-fixedPositionCreatesStackingContext())
@@ -105,6 +106,7 @@
 

[webkit-changes] [124156] trunk

2012-07-30 Thread morrita
Title: [124156] trunk








Revision 124156
Author morr...@google.com
Date 2012-07-30 19:48:33 -0700 (Mon, 30 Jul 2012)


Log Message
Node::replaceChild() can create bad DOM topology with MutationEvent
https://bugs.webkit.org/show_bug.cgi?id=92619

Reviewed by Ryosuke Niwa.

Source/WebCore:

Node::replaceChild() calls insertBeforeCommon() after dispatching
a MutationEvent event for removeChild(). But insertBeforeCommon()
expects call sites to check the invariant and doesn't have
suffient check. So a MutationEvent handler can let some bad tree
topology to slip into insertBeforeCommon().

This change adds a guard for checking the invariant using
checkReplaceChild() between removeChild() and insertBeforeCommon().

Test: fast/events/mutation-during-replace-child.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::replaceChild): Added a guard.

LayoutTests:

* fast/events/mutation-during-replace-child-expected.txt: Added.
* fast/events/mutation-during-replace-child.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContainerNode.cpp


Added Paths

trunk/LayoutTests/fast/events/mutation-during-replace-child-expected.txt
trunk/LayoutTests/fast/events/mutation-during-replace-child.html




Diff

Modified: trunk/LayoutTests/ChangeLog (124155 => 124156)

--- trunk/LayoutTests/ChangeLog	2012-07-31 02:46:58 UTC (rev 124155)
+++ trunk/LayoutTests/ChangeLog	2012-07-31 02:48:33 UTC (rev 124156)
@@ -1,3 +1,13 @@
+2012-07-30  MORITA Hajime  morr...@google.com
+
+Node::replaceChild() can create bad DOM topology with MutationEvent
+https://bugs.webkit.org/show_bug.cgi?id=92619
+
+Reviewed by Ryosuke Niwa.
+
+* fast/events/mutation-during-replace-child-expected.txt: Added.
+* fast/events/mutation-during-replace-child.html: Added.
+
 2012-07-30  Kent Tamura  tk...@chromium.org
 
 Fix a popup position issue of fast/forms/date/calendar-picker-appearance.html


Added: trunk/LayoutTests/fast/events/mutation-during-replace-child-expected.txt (0 => 124156)

--- trunk/LayoutTests/fast/events/mutation-during-replace-child-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/events/mutation-during-replace-child-expected.txt	2012-07-31 02:48:33 UTC (rev 124156)
@@ -0,0 +1,10 @@
+Ensures that replaceChild() throws an exception if mutation even handler does something wrong
+
+On success, you will see a series of PASS messages, followed by TEST COMPLETE.
+
+
+PASS target.replaceChild(newChild, oldChild); threw exception Error: HIERARCHY_REQUEST_ERR: DOM Exception 3.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Property changes on: trunk/LayoutTests/fast/events/mutation-during-replace-child-expected.txt
___


Added: svn:eol-style

Added: trunk/LayoutTests/fast/events/mutation-during-replace-child.html (0 => 124156)

--- trunk/LayoutTests/fast/events/mutation-during-replace-child.html	(rev 0)
+++ trunk/LayoutTests/fast/events/mutation-during-replace-child.html	2012-07-31 02:48:33 UTC (rev 124156)
@@ -0,0 +1,32 @@
+!DOCTYPE html
+html
+head
+script src=""
+/head
+body
+div
+  div id=target
+b/bb id=oldChild/bb/b
+  /div
+  div id=newChild/div
+/div
+
+script
+description(Ensures that replaceChild() throws an exception if mutation even handler does something wrong);
+var target = document.getElementById('target');
+var oldChild = document.getElementById('oldChild');
+var newChild = document.getElementById('newChild');
+
+function handler(){
+document.removeEventListener(DOMNodeRemoved, handler, false);
+newChild.parentNode.removeChild(newChild);
+target.parentNode.removeChild(target);
+newChild.appendChild(target);
+}   
+document.addEventListener(DOMNodeRemoved, handler, false);
+shouldThrow(target.replaceChild(newChild, oldChild);,  'Error: HIERARCHY_REQUEST_ERR: DOM Exception 3');
+/script
+script src=""
+/body
+/html
+
Property changes on: trunk/LayoutTests/fast/events/mutation-during-replace-child.html
___


Added: svn:eol-style

Modified: trunk/Source/WebCore/ChangeLog (124155 => 124156)

--- trunk/Source/WebCore/ChangeLog	2012-07-31 02:46:58 UTC (rev 124155)
+++ trunk/Source/WebCore/ChangeLog	2012-07-31 02:48:33 UTC (rev 124156)
@@ -1,3 +1,24 @@
+2012-07-30  MORITA Hajime  morr...@google.com
+
+Node::replaceChild() can create bad DOM topology with MutationEvent
+https://bugs.webkit.org/show_bug.cgi?id=92619
+
+Reviewed by Ryosuke Niwa.
+
+Node::replaceChild() calls insertBeforeCommon() after dispatching
+a MutationEvent event for removeChild(). But insertBeforeCommon()
+expects call sites to check the invariant and doesn't have
+suffient check. So a MutationEvent handler can let some bad tree
+topology to slip into insertBeforeCommon().
+
+This change adds 

[webkit-changes] [123585] trunk/Source/WebKit/chromium

2012-07-25 Thread morrita
Title: [123585] trunk/Source/WebKit/chromium








Revision 123585
Author morr...@google.com
Date 2012-07-25 01:00:53 -0700 (Wed, 25 Jul 2012)


Log Message
Unreviewed win build fix against r123569.

* tests/IDBAbortOnCorruptTest.cpp:
* tests/IDBDatabaseBackendTest.cpp:

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp
trunk/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (123584 => 123585)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-07-25 07:42:03 UTC (rev 123584)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-07-25 08:00:53 UTC (rev 123585)
@@ -1,3 +1,10 @@
+2012-07-25  MORITA Hajime  morr...@google.com
+
+Unreviewed win build fix against r123569.
+
+* tests/IDBAbortOnCorruptTest.cpp:
+* tests/IDBDatabaseBackendTest.cpp:
+
 2012-07-24  Sheriff Bot  webkit.review@gmail.com
 
 Unreviewed.  Rolled DEPS.


Modified: trunk/Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp (123584 => 123585)

--- trunk/Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp	2012-07-25 07:42:03 UTC (rev 123584)
+++ trunk/Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp	2012-07-25 08:00:53 UTC (rev 123585)
@@ -24,6 +24,7 @@
  */
 
 #include config.h
+#include IDBCursorBackendInterface.h
 #include IDBFactoryBackendImpl.h
 #include IDBFakeBackingStore.h
 #include SecurityOrigin.h


Modified: trunk/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp (123584 => 123585)

--- trunk/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp	2012-07-25 07:42:03 UTC (rev 123584)
+++ trunk/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp	2012-07-25 08:00:53 UTC (rev 123585)
@@ -25,6 +25,7 @@
 
 #include config.h
 #include IDBBackingStore.h
+#include IDBCursorBackendInterface.h
 #include IDBDatabaseBackendImpl.h
 #include IDBFactoryBackendImpl.h
 #include IDBFakeBackingStore.h






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [123589] trunk/Source/WebKit/chromium

2012-07-25 Thread morrita
Title: [123589] trunk/Source/WebKit/chromium








Revision 123589
Author morr...@google.com
Date 2012-07-25 01:42:44 -0700 (Wed, 25 Jul 2012)


Log Message
Another unreviewed win build fix against r123569.

* tests/IDBAbortOnCorruptTest.cpp:

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (123588 => 123589)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-07-25 08:35:59 UTC (rev 123588)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-07-25 08:42:44 UTC (rev 123589)
@@ -1,3 +1,9 @@
+2012-07-25  MORITA Hajime morr...@google.com
+
+Another unreviewed win build fix against r123569.
+
+* tests/IDBAbortOnCorruptTest.cpp:
+
 2012-07-25  MORITA Hajime  morr...@google.com
 
 Unreviewed win build fix against r123569.


Modified: trunk/Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp (123588 => 123589)

--- trunk/Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp	2012-07-25 08:35:59 UTC (rev 123588)
+++ trunk/Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp	2012-07-25 08:42:44 UTC (rev 123589)
@@ -25,6 +25,7 @@
 
 #include config.h
 #include IDBCursorBackendInterface.h
+#include IDBDatabaseBackendInterface.h
 #include IDBFactoryBackendImpl.h
 #include IDBFakeBackingStore.h
 #include SecurityOrigin.h






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [123706] trunk

2012-07-25 Thread morrita
Title: [123706] trunk








Revision 123706
Author morr...@google.com
Date 2012-07-25 20:26:50 -0700 (Wed, 25 Jul 2012)


Log Message
[Chromium][Win] progress animation on RTL direction is reverse
https://bugs.webkit.org/show_bug.cgi?id=92236

Reviewed by Kent Tamura.

Source/WebCore:

This change modfies the way to handle RTL progress bar painting.
Originally it computes the flipped coordinates. This change uses transformation for the flip.
DirectionFlippingScope handles it.

* rendering/RenderThemeChromiumLinux.cpp:
(WebCore::RenderThemeChromiumLinux::paintProgressBar): Applied DirectionFlippingScope
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::determinateProgressValueRectFor):
- Deleted RTL handling in favor of DirectionFlippingScope
(WebCore::RenderThemeChromiumSkia::DirectionFlippingScope::DirectionFlippingScope):
(WebCore):
(WebCore::RenderThemeChromiumSkia::DirectionFlippingScope::~DirectionFlippingScope):
* rendering/RenderThemeChromiumSkia.h:
(RenderThemeChromiumSkia):
(DirectionFlippingScope): Added.
* rendering/RenderThemeChromiumWin.cpp:
(WebCore):
(WebCore::RenderThemeChromiumWin::paintProgressBar): Applied DirectionFlippingScope

LayoutTests:

Updated the expectation file which went slightly different.

* platform/chromium-linux/fast/dom/HTMLProgressElement/progress-element-expected.png:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium-linux/fast/dom/HTMLProgressElement/progress-element-expected.png
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderThemeChromiumLinux.cpp
trunk/Source/WebCore/rendering/RenderThemeChromiumSkia.cpp
trunk/Source/WebCore/rendering/RenderThemeChromiumSkia.h
trunk/Source/WebCore/rendering/RenderThemeChromiumWin.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (123705 => 123706)

--- trunk/LayoutTests/ChangeLog	2012-07-26 03:24:46 UTC (rev 123705)
+++ trunk/LayoutTests/ChangeLog	2012-07-26 03:26:50 UTC (rev 123706)
@@ -1,3 +1,14 @@
+2012-07-25  MORITA Hajime  morr...@google.com
+
+[Chromium][Win] progress animation on RTL direction is reverse
+https://bugs.webkit.org/show_bug.cgi?id=92236
+
+Reviewed by Kent Tamura.
+
+Updated the expectation file which went slightly different.
+
+* platform/chromium-linux/fast/dom/HTMLProgressElement/progress-element-expected.png:
+
 2012-07-25  Shinya Kawanaka  shin...@chromium.org
 
 The elements in ShadowDOM of meter or progress should not be modifiable.


Modified: trunk/LayoutTests/platform/chromium-linux/fast/dom/HTMLProgressElement/progress-element-expected.png

(Binary files differ)


Modified: trunk/Source/WebCore/ChangeLog (123705 => 123706)

--- trunk/Source/WebCore/ChangeLog	2012-07-26 03:24:46 UTC (rev 123705)
+++ trunk/Source/WebCore/ChangeLog	2012-07-26 03:26:50 UTC (rev 123706)
@@ -1,3 +1,29 @@
+2012-07-25  MORITA Hajime  morr...@google.com
+
+[Chromium][Win] progress animation on RTL direction is reverse
+https://bugs.webkit.org/show_bug.cgi?id=92236
+
+Reviewed by Kent Tamura.
+
+This change modfies the way to handle RTL progress bar painting.
+Originally it computes the flipped coordinates. This change uses transformation for the flip.
+DirectionFlippingScope handles it.
+
+* rendering/RenderThemeChromiumLinux.cpp:
+(WebCore::RenderThemeChromiumLinux::paintProgressBar): Applied DirectionFlippingScope
+* rendering/RenderThemeChromiumSkia.cpp:
+(WebCore::RenderThemeChromiumSkia::determinateProgressValueRectFor):
+- Deleted RTL handling in favor of DirectionFlippingScope
+(WebCore::RenderThemeChromiumSkia::DirectionFlippingScope::DirectionFlippingScope):
+(WebCore):
+(WebCore::RenderThemeChromiumSkia::DirectionFlippingScope::~DirectionFlippingScope):
+* rendering/RenderThemeChromiumSkia.h:
+(RenderThemeChromiumSkia):
+(DirectionFlippingScope): Added.
+* rendering/RenderThemeChromiumWin.cpp:
+(WebCore):
+(WebCore::RenderThemeChromiumWin::paintProgressBar): Applied DirectionFlippingScope
+
 2012-07-25  Vineet Chaudhary  rgf...@motorola.com
 
 https://bugs.webkit.org/show_bug.cgi?id=92260


Modified: trunk/Source/WebCore/rendering/RenderThemeChromiumLinux.cpp (123705 => 123706)

--- trunk/Source/WebCore/rendering/RenderThemeChromiumLinux.cpp	2012-07-26 03:24:46 UTC (rev 123705)
+++ trunk/Source/WebCore/rendering/RenderThemeChromiumLinux.cpp	2012-07-26 03:26:50 UTC (rev 123706)
@@ -357,6 +357,7 @@
 extraParams.progressBar.valueRectWidth = valueRect.width();
 extraParams.progressBar.valueRectHeight = valueRect.height();
 
+DirectionFlippingScope scope(o, i, rect);
 PlatformSupport::paintThemePart(i.context, PlatformSupport::PartProgressBar, getWebThemeState(this, o), rect, extraParams);
 return false;
 }


Modified: trunk/Source/WebCore/rendering/RenderThemeChromiumSkia.cpp (123705 => 123706)

--- 

  1   2   3   >