Title: [207421] trunk/Source/WebCore
- Revision
- 207421
- Author
- commit-qu...@webkit.org
- Date
- 2016-10-17 12:11:20 -0700 (Mon, 17 Oct 2016)
Log Message
[Modern Media Controls] Add a MediaControlsHost API to retrieve the shadow root CSS
https://bugs.webkit.org/show_bug.cgi?id=163501
<rdar://problem/28792014>
Patch by Antoine Quint <grao...@apple.com> on 2016-10-17
Reviewed by Darin Adler.
Add a new `shadowRootCSSText` property to MediaControlsHost so that we may obtain the
concatenated CSS sources for the media controls shadow root via JS. Actually using this
API will be done in a later patch. We also no longer inject those styles as a user-agent
stylesheet when the runtime flag is on since it will no longer be necessary.
* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::shadowRootCSSText):
* Modules/mediacontrols/MediaControlsHost.h:
* Modules/mediacontrols/MediaControlsHost.idl:
* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (207420 => 207421)
--- trunk/Source/WebCore/ChangeLog 2016-10-17 19:06:25 UTC (rev 207420)
+++ trunk/Source/WebCore/ChangeLog 2016-10-17 19:11:20 UTC (rev 207421)
@@ -1,3 +1,23 @@
+2016-10-17 Antoine Quint <grao...@apple.com>
+
+ [Modern Media Controls] Add a MediaControlsHost API to retrieve the shadow root CSS
+ https://bugs.webkit.org/show_bug.cgi?id=163501
+ <rdar://problem/28792014>
+
+ Reviewed by Darin Adler.
+
+ Add a new `shadowRootCSSText` property to MediaControlsHost so that we may obtain the
+ concatenated CSS sources for the media controls shadow root via JS. Actually using this
+ API will be done in a later patch. We also no longer inject those styles as a user-agent
+ stylesheet when the runtime flag is on since it will no longer be necessary.
+
+ * Modules/mediacontrols/MediaControlsHost.cpp:
+ (WebCore::MediaControlsHost::shadowRootCSSText):
+ * Modules/mediacontrols/MediaControlsHost.h:
+ * Modules/mediacontrols/MediaControlsHost.idl:
+ * css/CSSDefaultStyleSheets.cpp:
+ (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
+
2016-10-17 Simon Fraser <simon.fra...@apple.com>
Implement DOMPoint/DOMPointReadOnly
Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp (207420 => 207421)
--- trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp 2016-10-17 19:06:25 UTC (rev 207420)
+++ trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp 2016-10-17 19:11:20 UTC (rev 207421)
@@ -36,6 +36,7 @@
#include "MediaControlElements.h"
#include "Page.h"
#include "PageGroup.h"
+#include "RenderTheme.h"
#include "TextTrack.h"
#include "TextTrackList.h"
#include "UUID.h"
@@ -283,6 +284,14 @@
return createCanonicalUUIDString();
}
+String MediaControlsHost::shadowRootCSSText() const
+{
+ Page* page = m_mediaElement->document().page();
+ if (!page)
+ return emptyString();
+ return RenderTheme::themeForPage(page)->mediaControlsStyleSheet();
}
+}
+
#endif
Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h (207420 => 207421)
--- trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h 2016-10-17 19:06:25 UTC (rev 207420)
+++ trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h 2016-10-17 19:11:20 UTC (rev 207421)
@@ -82,6 +82,8 @@
String generateUUID() const;
+ String shadowRootCSSText() const;
+
private:
MediaControlsHost(HTMLMediaElement*);
Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl (207420 => 207421)
--- trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl 2016-10-17 19:06:25 UTC (rev 207420)
+++ trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl 2016-10-17 19:11:20 UTC (rev 207421)
@@ -59,4 +59,6 @@
void exitedFullscreen();
DOMString generateUUID();
+
+ [EnabledAtRuntime=ModernMediaControls] readonly attribute DOMString shadowRootCSSText;
};
Modified: trunk/Source/WebCore/css/CSSDefaultStyleSheets.cpp (207420 => 207421)
--- trunk/Source/WebCore/css/CSSDefaultStyleSheets.cpp 2016-10-17 19:06:25 UTC (rev 207420)
+++ trunk/Source/WebCore/css/CSSDefaultStyleSheets.cpp 2016-10-17 19:11:20 UTC (rev 207421)
@@ -46,6 +46,7 @@
#include "Page.h"
#include "RenderTheme.h"
#include "RuleSet.h"
+#include "RuntimeEnabledFeatures.h"
#include "SVGElement.h"
#include "StyleSheetContents.h"
#include "UserAgentStyleSheets.h"
@@ -181,9 +182,14 @@
#if ENABLE(VIDEO)
else if (is<HTMLMediaElement>(element)) {
if (!mediaControlsStyleSheet) {
- String mediaRules = RenderTheme::themeForPage(element.document().page())->mediaControlsStyleSheet();
- if (mediaRules.isEmpty())
- mediaRules = String(mediaControlsUserAgentStyleSheet, sizeof(mediaControlsUserAgentStyleSheet)) + RenderTheme::themeForPage(element.document().page())->extraMediaControlsStyleSheet();
+ String mediaRules;
+ if (RuntimeEnabledFeatures::sharedFeatures().modernMediaControlsEnabled())
+ mediaRules = emptyString();
+ else {
+ mediaRules = RenderTheme::themeForPage(element.document().page())->mediaControlsStyleSheet();
+ if (mediaRules.isEmpty())
+ mediaRules = String(mediaControlsUserAgentStyleSheet, sizeof(mediaControlsUserAgentStyleSheet)) + RenderTheme::themeForPage(element.document().page())->extraMediaControlsStyleSheet();
+ }
mediaControlsStyleSheet = parseUASheet(mediaRules);
defaultStyle->addRulesFromSheet(*mediaControlsStyleSheet, screenEval());
defaultPrintStyle->addRulesFromSheet(*mediaControlsStyleSheet, printEval());
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes