Diff
Modified: trunk/LayoutTests/ChangeLog (105499 => 105500)
--- trunk/LayoutTests/ChangeLog 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/LayoutTests/ChangeLog 2012-01-20 10:29:14 UTC (rev 105500)
@@ -1,3 +1,24 @@
+2012-01-20 Hayato Ito <[email protected]>
+
+ Add ShadowRoot.idl which is enabled by newly introduced SHADOW_DOM flag.
+ https://bugs.webkit.org/show_bug.cgi?id=76353
+
+ Reviewed by Hajime Morita.
+
+ Add ShadowRoot.idl, which is enabled only on chromium port since this is
+ under development feature.
+ ShadowRoot.idl contains minimum API so that we can test it.
+ Other APIs should be added on other changes so that we can isolate issues.
+
+ * fast/dom/shadow/shadow-root-js-api-expected.txt: Added.
+ * fast/dom/shadow/shadow-root-js-api.html: Added.
+ * platform/efl/Skipped:
+ * platform/gtk/Skipped:
+ * platform/mac/Skipped:
+ * platform/qt/Skipped:
+ * platform/win/Skipped:
+ * platform/wincairo/Skipped:
+
2012-01-20 Csaba Osztrogonác <[email protected]>
[Qt] Unreviewed gardening after r105486.
Added: trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api-expected.txt (0 => 105500)
--- trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api-expected.txt 2012-01-20 10:29:14 UTC (rev 105500)
@@ -0,0 +1,10 @@
+Tests for ShadowRoot JS APIs. Can only run within DRT
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS shadowHost is shadowRoot.host
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api.html (0 => 105500)
--- trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api.html (rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api.html 2012-01-20 10:29:14 UTC (rev 105500)
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+</head>
+<body>
+<div id="console"></div>
+<script>
+description("Tests for ShadowRoot JS APIs. Can only run within DRT");
+
+if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+var shadowHost = document.createElement('div');
+internals.ensureShadowRoot(shadowHost);
+var shadowRoot = internals.shadowRoot(shadowHost);
+shouldBe("shadowHost", "shadowRoot.host");
+
+</script>
+<script src=""
+</body>
+</html>
Modified: trunk/LayoutTests/platform/efl/Skipped (105499 => 105500)
--- trunk/LayoutTests/platform/efl/Skipped 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/LayoutTests/platform/efl/Skipped 2012-01-20 10:29:14 UTC (rev 105500)
@@ -1900,6 +1900,9 @@
# <style scoped> is not yet enabled. http://webkit.org/b/49142
fast/css/style-scoped
+# ENABLE(SHADOW_DOM) is disabled.
+fast/dom/shadow/shadow-root-js-api.html
+
# CSS Filters support not yet enabled (needs ENABLE_CSS_FILTERS).
# https://bugs.webkit.org/show_bug.cgi?id=68469
css3/filters
Modified: trunk/LayoutTests/platform/gtk/Skipped (105499 => 105500)
--- trunk/LayoutTests/platform/gtk/Skipped 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/LayoutTests/platform/gtk/Skipped 2012-01-20 10:29:14 UTC (rev 105500)
@@ -349,6 +349,9 @@
# <style scoped> is not yet enabled. http://webkit.org/b/49142
fast/css/style-scoped
+# ENABLE(SHADOW_DOM) is disabled.
+fast/dom/shadow/shadow-root-js-api.html
+
# CSS Regions support not yet enabled. http://webkit.org/b/57312
fast/regions
Modified: trunk/LayoutTests/platform/mac/Skipped (105499 => 105500)
--- trunk/LayoutTests/platform/mac/Skipped 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/LayoutTests/platform/mac/Skipped 2012-01-20 10:29:14 UTC (rev 105500)
@@ -413,6 +413,9 @@
# <style scoped> is not yet enabled. http://webkit.org/b/49142
fast/css/style-scoped
+# ENABLE(SHADOW_DOM) is disabled.
+fast/dom/shadow/shadow-root-js-api.html
+
# JSC does not support setIsolatedWorldSecurityOrigin (http://webkit.org/b/61540)
http/tests/security/isolatedWorld/cross-origin-xhr.html
Modified: trunk/LayoutTests/platform/qt/Skipped (105499 => 105500)
--- trunk/LayoutTests/platform/qt/Skipped 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/LayoutTests/platform/qt/Skipped 2012-01-20 10:29:14 UTC (rev 105500)
@@ -161,6 +161,9 @@
# <style scoped> is not yet enabled. http://webkit.org/b/49142
fast/css/style-scoped
+# ENABLE(SHADOW_DOM) is disabled.
+fast/dom/shadow/shadow-root-js-api.html
+
# CSS Regions support not yet enabled. http://webkit.org/b/57312
fast/regions
Modified: trunk/LayoutTests/platform/win/Skipped (105499 => 105500)
--- trunk/LayoutTests/platform/win/Skipped 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/LayoutTests/platform/win/Skipped 2012-01-20 10:29:14 UTC (rev 105500)
@@ -1423,6 +1423,9 @@
# <style scoped> is not yet enabled. http://webkit.org/b/49142
fast/css/style-scoped
+# ENABLE(SHADOW_DOM) is disabled.
+fast/dom/shadow/shadow-root-js-api.html
+
# CSS Regions support not yet enabled. http://webkit.org/b/57312
fast/regions
Modified: trunk/LayoutTests/platform/wincairo/Skipped (105499 => 105500)
--- trunk/LayoutTests/platform/wincairo/Skipped 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/LayoutTests/platform/wincairo/Skipped 2012-01-20 10:29:14 UTC (rev 105500)
@@ -1960,6 +1960,9 @@
# <style scoped> is not yet enabled. http://webkit.org/b/49142
fast/css/style-scoped
+# ENABLE(SHADOW_DOM) is disabled.
+fast/dom/shadow/shadow-root-js-api.html
+
# CSS Regions support not yet enabled. http://webkit.org/b/57312
fast/regions
Modified: trunk/Source/WebCore/ChangeLog (105499 => 105500)
--- trunk/Source/WebCore/ChangeLog 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Source/WebCore/ChangeLog 2012-01-20 10:29:14 UTC (rev 105500)
@@ -1,3 +1,31 @@
+2012-01-20 Hayato Ito <[email protected]>
+
+ Add ShadowRoot.idl which is enabled by newly introduced SHADOW_DOM flag.
+ https://bugs.webkit.org/show_bug.cgi?id=76353
+
+ Reviewed by Hajime Morita.
+
+ Add ShadowRoot.idl, which is enabled only on chromium port since this is
+ under development feature.
+ ShadowRoot.idl contains minimum API so that we can test it.
+ Other APIs should be added on other changes so that we can isolate issues.
+
+ Test: fast/dom/shadow/shadow-root-js-api.html
+
+ * WebCore.gypi:
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::shadowDOMEnabled):
+ (WebCore::RuntimeEnabledFeatures::setShadowDOMEnabled):
+ * dom/ShadowRoot.h:
+ (WebCore::ShadowRoot::host):
+ * dom/ShadowRoot.idl: Added.
+ * testing/Internals.cpp:
+ (WebCore::Internals::ensureShadowRoot):
+ (WebCore::Internals::shadowRoot):
+ * testing/Internals.h:
+ * testing/Internals.idl:
+
2012-01-19 Kent Tamura <[email protected]>
Change LocalizedNumber interface
Modified: trunk/Source/WebCore/WebCore.gypi (105499 => 105500)
--- trunk/Source/WebCore/WebCore.gypi 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Source/WebCore/WebCore.gypi 2012-01-20 10:29:14 UTC (rev 105500)
@@ -1231,6 +1231,7 @@
'dom/Range.idl',
'dom/RangeException.idl',
'dom/RequestAnimationFrameCallback.idl',
+ 'dom/ShadowRoot.idl',
'dom/StringCallback.idl',
'dom/Text.idl',
'dom/TextEvent.idl',
Modified: trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp (105499 => 105500)
--- trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp 2012-01-20 10:29:14 UTC (rev 105500)
@@ -180,4 +180,8 @@
#endif
#endif
+#if ENABLE(SHADOW_DOM)
+bool RuntimeEnabledFeatures::isShadowDOMEnabled = false;
+#endif
+
} // namespace WebCore
Modified: trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h (105499 => 105500)
--- trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h 2012-01-20 10:29:14 UTC (rev 105500)
@@ -191,6 +191,11 @@
static void setWebkitVideoTrackEnabled(bool isEnabled) { isVideoTrackEnabled = isEnabled; }
#endif
+#if ENABLE(SHADOW_DOM)
+ static bool shadowDOMEnabled() { return isShadowDOMEnabled; }
+ static void setShadowDOMEnabled(bool isEnabled) { isShadowDOMEnabled = isEnabled; }
+#endif
+
private:
// Never instantiate.
RuntimeEnabledFeatures() { }
@@ -247,6 +252,10 @@
#if ENABLE(VIDEO_TRACK)
static bool isVideoTrackEnabled;
#endif
+
+#if ENABLE(SHADOW_DOM)
+ static bool isShadowDOMEnabled;
+#endif
};
} // namespace WebCore
Modified: trunk/Source/WebCore/dom/ShadowRoot.h (105499 => 105500)
--- trunk/Source/WebCore/dom/ShadowRoot.h 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Source/WebCore/dom/ShadowRoot.h 2012-01-20 10:29:14 UTC (rev 105500)
@@ -50,6 +50,8 @@
virtual bool applyAuthorSheets() const;
void setApplyAuthorSheets(bool);
+ Element* host() const { return shadowHost(); }
+
ContentInclusionSelector* inclusions() const;
ContentInclusionSelector* ensureInclusions();
Added: trunk/Source/WebCore/dom/ShadowRoot.idl (0 => 105500)
--- trunk/Source/WebCore/dom/ShadowRoot.idl (rev 0)
+++ trunk/Source/WebCore/dom/ShadowRoot.idl 2012-01-20 10:29:14 UTC (rev 105500)
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2012 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module core {
+
+ interface [
+ Conditional=SHADOW_DOM,
+ EnabledAtRuntime=shadowDOM
+ ] ShadowRoot : Node {
+ readonly attribute Element host;
+ };
+
+}
Modified: trunk/Source/WebCore/testing/Internals.cpp (105499 => 105500)
--- trunk/Source/WebCore/testing/Internals.cpp 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Source/WebCore/testing/Internals.cpp 2012-01-20 10:29:14 UTC (rev 105500)
@@ -164,7 +164,7 @@
return representation;
}
-Node* Internals::ensureShadowRoot(Element* host, ExceptionCode& ec)
+Internals::ShadowRootIfShadowDOMEnabledOrNode* Internals::ensureShadowRoot(Element* host, ExceptionCode& ec)
{
if (!host) {
ec = INVALID_ACCESS_ERR;
@@ -174,7 +174,7 @@
return host->ensureShadowRoot();
}
-Node* Internals::shadowRoot(Element* host, ExceptionCode& ec)
+Internals::ShadowRootIfShadowDOMEnabledOrNode* Internals::shadowRoot(Element* host, ExceptionCode& ec)
{
if (!host) {
ec = INVALID_ACCESS_ERR;
Modified: trunk/Source/WebCore/testing/Internals.h (105499 => 105500)
--- trunk/Source/WebCore/testing/Internals.h 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Source/WebCore/testing/Internals.h 2012-01-20 10:29:14 UTC (rev 105500)
@@ -39,6 +39,7 @@
class Element;
class Node;
class Range;
+class ShadowRoot;
typedef int ExceptionCode;
@@ -54,8 +55,13 @@
bool isPreloaded(Document*, const String& url);
- Node* ensureShadowRoot(Element* host, ExceptionCode&);
- Node* shadowRoot(Element* host, ExceptionCode&);
+#if ENABLE(SHADOW_DOM)
+ typedef ShadowRoot ShadowRootIfShadowDOMEnabledOrNode;
+#else
+ typedef Node ShadowRootIfShadowDOMEnabledOrNode;
+#endif
+ ShadowRootIfShadowDOMEnabledOrNode* ensureShadowRoot(Element* host, ExceptionCode&);
+ ShadowRootIfShadowDOMEnabledOrNode* shadowRoot(Element* host, ExceptionCode&);
void removeShadowRoot(Element* host, ExceptionCode&);
Element* includerFor(Node*, ExceptionCode&);
String shadowPseudoId(Element*, ExceptionCode&);
Modified: trunk/Source/WebCore/testing/Internals.idl (105499 => 105500)
--- trunk/Source/WebCore/testing/Internals.idl 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Source/WebCore/testing/Internals.idl 2012-01-20 10:29:14 UTC (rev 105500)
@@ -30,8 +30,14 @@
DOMString elementRenderTreeAsText(in Element element) raises(DOMException);
boolean isPreloaded(in Document document, in DOMString url);
+#if defined(ENABLE_SHADOW_DOM)
+ ShadowRoot ensureShadowRoot(in Element host) raises (DOMException);
+ ShadowRoot shadowRoot(in Element host) raises (DOMException);
+#else
Node ensureShadowRoot(in Element host) raises (DOMException);
Node shadowRoot(in Element host) raises (DOMException);
+#endif
+
Element includerFor(in Node node) raises (DOMException);
void removeShadowRoot(in Element host) raises (DOMException);
DOMString shadowPseudoId(in Element element) raises (DOMException);
Modified: trunk/Source/WebKit/chromium/ChangeLog (105499 => 105500)
--- trunk/Source/WebKit/chromium/ChangeLog 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Source/WebKit/chromium/ChangeLog 2012-01-20 10:29:14 UTC (rev 105500)
@@ -1,3 +1,21 @@
+2012-01-20 Hayato Ito <[email protected]>
+
+ Add ShadowRoot.idl which is enabled by newly introduced SHADOW_DOM flag.
+ https://bugs.webkit.org/show_bug.cgi?id=76353
+
+ Reviewed by Hajime Morita.
+
+ Add ShadowRoot.idl, which is enabled only on chromium port since this is
+ under development feature.
+ ShadowRoot.idl contains minimum API so that we can test it.
+ Other APIs should be added on other changes so that we can isolate issues.
+
+ * features.gypi:
+ * public/WebRuntimeFeatures.h:
+ * src/WebRuntimeFeatures.cpp:
+ (WebKit::WebRuntimeFeatures::enableShadowDOM):
+ (WebKit::WebRuntimeFeatures::isShadowDOMEnabled):
+
2012-01-20 Shinya Kawanaka <[email protected]>
[chromium] Chromium should have EditorClientImpl::checkTextOfParagraph.
Modified: trunk/Source/WebKit/chromium/features.gypi (105499 => 105500)
--- trunk/Source/WebKit/chromium/features.gypi 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Source/WebKit/chromium/features.gypi 2012-01-20 10:29:14 UTC (rev 105500)
@@ -81,6 +81,7 @@
'ENABLE_REQUEST_ANIMATION_FRAME=1',
'ENABLE_RUBY=1',
'ENABLE_SANDBOX=1',
+ 'ENABLE_SHADOW_DOM=1',
'ENABLE_SHARED_WORKERS=1',
'ENABLE_SMOOTH_SCROLLING=1',
'ENABLE_SQL_DATABASE=1',
Modified: trunk/Source/WebKit/chromium/public/WebRuntimeFeatures.h (105499 => 105500)
--- trunk/Source/WebKit/chromium/public/WebRuntimeFeatures.h 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Source/WebKit/chromium/public/WebRuntimeFeatures.h 2012-01-20 10:29:14 UTC (rev 105500)
@@ -121,6 +121,9 @@
WEBKIT_EXPORT static void enableGamepad(bool);
WEBKIT_EXPORT static bool isGamepadEnabled();
+ WEBKIT_EXPORT static void enableShadowDOM(bool);
+ WEBKIT_EXPORT static bool isShadowDOMEnabled();
+
private:
WebRuntimeFeatures();
};
Modified: trunk/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp (105499 => 105500)
--- trunk/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp 2012-01-20 10:29:14 UTC (rev 105500)
@@ -432,4 +432,23 @@
#endif
}
+void WebRuntimeFeatures::enableShadowDOM(bool enable)
+{
+#if ENABLE(SHADOW_DOM)
+ RuntimeEnabledFeatures::setShadowDOMEnabled(enable);
+#else
+ UNUSED_PARAM(enable);
+#endif
+}
+
+bool WebRuntimeFeatures::isShadowDOMEnabled()
+{
+#if ENABLE(SHADOW_DOM)
+ return RuntimeEnabledFeatures::shadowDOMEnabled();
+#else
+ return false;
+#endif
+}
+
+
} // namespace WebKit
Modified: trunk/Tools/ChangeLog (105499 => 105500)
--- trunk/Tools/ChangeLog 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Tools/ChangeLog 2012-01-20 10:29:14 UTC (rev 105500)
@@ -1,3 +1,18 @@
+2012-01-20 Hayato Ito <[email protected]>
+
+ Add ShadowRoot.idl which is enabled by newly introduced SHADOW_DOM flag.
+ https://bugs.webkit.org/show_bug.cgi?id=76353
+
+ Reviewed by Hajime Morita.
+
+ Add ShadowRoot.idl, which is enabled only on chromium port since this is
+ under development feature.
+ ShadowRoot.idl contains minimum API so that we can test it.
+ Other APIs should be added on other changes so that we can isolate issues.
+
+ * DumpRenderTree/chromium/TestShell.cpp:
+ (TestShell::TestShell):
+
2012-01-20 Mario Sanchez Prada <[email protected]>
[GTK] GTK's DRT not to log events for already defunct objects
Modified: trunk/Tools/DumpRenderTree/chromium/TestShell.cpp (105499 => 105500)
--- trunk/Tools/DumpRenderTree/chromium/TestShell.cpp 2012-01-20 10:17:36 UTC (rev 105499)
+++ trunk/Tools/DumpRenderTree/chromium/TestShell.cpp 2012-01-20 10:29:14 UTC (rev 105500)
@@ -127,6 +127,7 @@
WebRuntimeFeatures::enableWebAudio(true);
WebRuntimeFeatures::enableVideoTrack(true);
WebRuntimeFeatures::enableGamepad(true);
+ WebRuntimeFeatures::enableShadowDOM(true);
m_webPermissions = adoptPtr(new WebPermissions(this));
m_accessibilityController = adoptPtr(new AccessibilityController(this));