Title: [210737] trunk/Source/WebKit2
- Revision
- 210737
- Author
- [email protected]
- Date
- 2017-01-13 11:16:34 -0800 (Fri, 13 Jan 2017)
Log Message
Defer use of autoplay heuristics to clients
https://bugs.webkit.org/show_bug.cgi?id=167010
Patch by Matt Rajca <[email protected]> on 2017-01-13
Reviewed by Alex Christensen.
Switch the autoplay policy tristate to an on/off option since clients should run any
heuristics and simply send their final decision to WebKit.
* Shared/WebsitePolicies.h:
(WebKit::WebsitePolicies::encode):
(WebKit::WebsitePolicies::decode):
* UIProcess/API/APIWebsitePolicies.h:
* UIProcess/API/C/WKWebsitePolicies.cpp:
(WKWebsitePoliciesGetAutoplayEnabled):
(WKWebsitePoliciesSetAutoplayEnabled):
(WKWebsitePoliciesGetAutoplayPolicy): Replaced.
(WKWebsitePoliciesSetAutoplayPolicy): Replaced.
* UIProcess/API/C/WKWebsitePolicies.h:
* UIProcess/API/Cocoa/_WKWebsitePolicies.h:
* UIProcess/API/Cocoa/_WKWebsitePolicies.mm:
(-[_WKWebsitePolicies setAutoplayEnabled:]):
(-[_WKWebsitePolicies autoplayEnabled]):
(-[_WKWebsitePolicies setAutoplayPolicy:]): Replaced.
(-[_WKWebsitePolicies autoplayPolicy]): Replaced.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (210736 => 210737)
--- trunk/Source/WebKit2/ChangeLog 2017-01-13 19:00:29 UTC (rev 210736)
+++ trunk/Source/WebKit2/ChangeLog 2017-01-13 19:16:34 UTC (rev 210737)
@@ -1,3 +1,30 @@
+2017-01-13 Matt Rajca <[email protected]>
+
+ Defer use of autoplay heuristics to clients
+ https://bugs.webkit.org/show_bug.cgi?id=167010
+
+ Reviewed by Alex Christensen.
+
+ Switch the autoplay policy tristate to an on/off option since clients should run any
+ heuristics and simply send their final decision to WebKit.
+
+ * Shared/WebsitePolicies.h:
+ (WebKit::WebsitePolicies::encode):
+ (WebKit::WebsitePolicies::decode):
+ * UIProcess/API/APIWebsitePolicies.h:
+ * UIProcess/API/C/WKWebsitePolicies.cpp:
+ (WKWebsitePoliciesGetAutoplayEnabled):
+ (WKWebsitePoliciesSetAutoplayEnabled):
+ (WKWebsitePoliciesGetAutoplayPolicy): Replaced.
+ (WKWebsitePoliciesSetAutoplayPolicy): Replaced.
+ * UIProcess/API/C/WKWebsitePolicies.h:
+ * UIProcess/API/Cocoa/_WKWebsitePolicies.h:
+ * UIProcess/API/Cocoa/_WKWebsitePolicies.mm:
+ (-[_WKWebsitePolicies setAutoplayEnabled:]):
+ (-[_WKWebsitePolicies autoplayEnabled]):
+ (-[_WKWebsitePolicies setAutoplayPolicy:]): Replaced.
+ (-[_WKWebsitePolicies autoplayPolicy]): Replaced.
+
2017-01-13 Carlos Garcia Campos <[email protected]>
[SOUP] Simplify cookie storage handling
Modified: trunk/Source/WebKit2/Shared/WebsitePolicies.h (210736 => 210737)
--- trunk/Source/WebKit2/Shared/WebsitePolicies.h 2017-01-13 19:00:29 UTC (rev 210736)
+++ trunk/Source/WebKit2/Shared/WebsitePolicies.h 2017-01-13 19:16:34 UTC (rev 210737)
@@ -36,7 +36,7 @@
struct WebsitePolicies {
bool contentBlockersEnabled { true };
- WebsiteAutoplayPolicy autoplayPolicy { WebsiteAutoplayPolicy::UseHeuristics };
+ bool autoplayEnabled { true };
template<class Encoder> void encode(Encoder&) const;
template<class Decoder> static bool decode(Decoder&, WebsitePolicies&);
@@ -45,7 +45,7 @@
template<class Encoder> void WebsitePolicies::encode(Encoder& encoder) const
{
encoder << contentBlockersEnabled;
- encoder.encodeEnum(autoplayPolicy);
+ encoder << autoplayEnabled;
}
template<class Decoder> bool WebsitePolicies::decode(Decoder& decoder, WebsitePolicies& result)
@@ -52,7 +52,7 @@
{
if (!decoder.decode(result.contentBlockersEnabled))
return false;
- if (!decoder.decodeEnum(result.autoplayPolicy))
+ if (!decoder.decode(result.autoplayEnabled))
return false;
return true;
}
Modified: trunk/Source/WebKit2/UIProcess/API/APIWebsitePolicies.h (210736 => 210737)
--- trunk/Source/WebKit2/UIProcess/API/APIWebsitePolicies.h 2017-01-13 19:00:29 UTC (rev 210736)
+++ trunk/Source/WebKit2/UIProcess/API/APIWebsitePolicies.h 2017-01-13 19:16:34 UTC (rev 210737)
@@ -39,8 +39,8 @@
bool contentBlockersEnabled() const { return m_websitePolicies.contentBlockersEnabled; }
void setContentBlockersEnabled(bool enabled) { m_websitePolicies.contentBlockersEnabled = enabled; }
- WebKit::WebsiteAutoplayPolicy autoplayPolicy() const { return m_websitePolicies.autoplayPolicy; }
- void setAutoplayPolicy(WebKit::WebsiteAutoplayPolicy policy) { m_websitePolicies.autoplayPolicy = policy; }
+ bool autoplayEnabled() const { return m_websitePolicies.autoplayEnabled; }
+ void setAutoplayEnabled(bool enabled) { m_websitePolicies.autoplayEnabled = enabled; }
const WebKit::WebsitePolicies& websitePolicies() { return m_websitePolicies; }
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKWebsitePolicies.cpp (210736 => 210737)
--- trunk/Source/WebKit2/UIProcess/API/C/WKWebsitePolicies.cpp 2017-01-13 19:00:29 UTC (rev 210736)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKWebsitePolicies.cpp 2017-01-13 19:16:34 UTC (rev 210737)
@@ -52,32 +52,12 @@
return toImpl(websitePolicies)->contentBlockersEnabled();
}
-WKWebsiteAutoplayPolicy WKWebsitePoliciesGetAutoplayPolicy(WKWebsitePoliciesRef websitePolicies)
+bool WKWebsitePoliciesGetAutoplayEnabled(WKWebsitePoliciesRef websitePolicies)
{
- switch (toImpl(websitePolicies)->autoplayPolicy()) {
- case WebsiteAutoplayPolicy::AlwaysAllow:
- return kWKWebsiteAutoplayPolicyAlwaysAllow;
- case WebsiteAutoplayPolicy::AlwaysDeny:
- return kWKWebsiteAutoplayPolicyAlwaysDeny;
- case WebsiteAutoplayPolicy::UseHeuristics:
- return kWKWebsiteAutoplayPolicyUseHeuristics;
- }
- ASSERT_NOT_REACHED();
- return kWKWebsiteAutoplayPolicyUseHeuristics;
+ return toImpl(websitePolicies)->autoplayEnabled();
}
-void WKWebsitePoliciesSetAutoplayPolicy(WKWebsitePoliciesRef websitePolicies, WKWebsiteAutoplayPolicy autoplayPolicy)
+void WKWebsitePoliciesSetAutoplayEnabled(WKWebsitePoliciesRef websitePolicies, bool enabled)
{
- switch (autoplayPolicy) {
- case kWKWebsiteAutoplayPolicyAlwaysAllow:
- toImpl(websitePolicies)->setAutoplayPolicy(WebsiteAutoplayPolicy::AlwaysAllow);
- return;
- case kWKWebsiteAutoplayPolicyAlwaysDeny:
- toImpl(websitePolicies)->setAutoplayPolicy(WebsiteAutoplayPolicy::AlwaysDeny);
- return;
- case kWKWebsiteAutoplayPolicyUseHeuristics:
- toImpl(websitePolicies)->setAutoplayPolicy(WebsiteAutoplayPolicy::UseHeuristics);
- return;
- }
- ASSERT_NOT_REACHED();
+ toImpl(websitePolicies)->setAutoplayEnabled(enabled);
}
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKWebsitePolicies.h (210736 => 210737)
--- trunk/Source/WebKit2/UIProcess/API/C/WKWebsitePolicies.h 2017-01-13 19:00:29 UTC (rev 210736)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKWebsitePolicies.h 2017-01-13 19:16:34 UTC (rev 210737)
@@ -44,8 +44,8 @@
WK_EXPORT bool WKWebsitePoliciesGetContentBlockersEnabled(WKWebsitePoliciesRef);
WK_EXPORT void WKWebsitePoliciesSetContentBlockersEnabled(WKWebsitePoliciesRef, bool);
-WK_EXPORT WKWebsiteAutoplayPolicy WKWebsitePoliciesGetAutoplayPolicy(WKWebsitePoliciesRef);
-WK_EXPORT void WKWebsitePoliciesSetAutoplayPolicy(WKWebsitePoliciesRef, WKWebsiteAutoplayPolicy);
+WK_EXPORT bool WKWebsitePoliciesGetAutoplayEnabled(WKWebsitePoliciesRef);
+WK_EXPORT void WKWebsitePoliciesSetAutoplayEnabled(WKWebsitePoliciesRef, bool);
#ifdef __cplusplus
}
Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKWebsitePolicies.h (210736 => 210737)
--- trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKWebsitePolicies.h 2017-01-13 19:00:29 UTC (rev 210736)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKWebsitePolicies.h 2017-01-13 19:16:34 UTC (rev 210737)
@@ -37,7 +37,7 @@
@interface _WKWebsitePolicies : NSObject
@property (nonatomic) BOOL contentBlockersEnabled;
-@property (nonatomic) _WKWebsiteAutoplayPolicy autoplayPolicy;
+@property (nonatomic) BOOL autoplayEnabled;
@end
Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKWebsitePolicies.mm (210736 => 210737)
--- trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKWebsitePolicies.mm 2017-01-13 19:00:29 UTC (rev 210736)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKWebsitePolicies.mm 2017-01-13 19:16:34 UTC (rev 210737)
@@ -57,31 +57,14 @@
return _websitePolicies->contentBlockersEnabled();
}
-- (void)setAutoplayPolicy:(_WKWebsiteAutoplayPolicy)autoplayPolicy
+- (void)setAutoplayEnabled:(BOOL)enabled
{
- switch (autoplayPolicy) {
- case _WKWebsiteAutoplayPolicyUseHeuristics:
- _websitePolicies->setAutoplayPolicy(WebKit::WebsiteAutoplayPolicy::UseHeuristics);
- break;
- case _WKWebsiteAutoplayPolicyAlwaysAllow:
- _websitePolicies->setAutoplayPolicy(WebKit::WebsiteAutoplayPolicy::AlwaysAllow);
- break;
- case _WKWebsiteAutoplayPolicyAlwaysDeny:
- _websitePolicies->setAutoplayPolicy(WebKit::WebsiteAutoplayPolicy::AlwaysDeny);
- break;
- }
+ _websitePolicies->setAutoplayEnabled(enabled);
}
-- (_WKWebsiteAutoplayPolicy)autoplayPolicy
+- (BOOL)autoplayEnabled
{
- switch (_websitePolicies->autoplayPolicy()) {
- case WebKit::WebsiteAutoplayPolicy::UseHeuristics:
- return _WKWebsiteAutoplayPolicyUseHeuristics;
- case WebKit::WebsiteAutoplayPolicy::AlwaysAllow:
- return _WKWebsiteAutoplayPolicyAlwaysAllow;
- case WebKit::WebsiteAutoplayPolicy::AlwaysDeny:
- return _WKWebsiteAutoplayPolicyAlwaysDeny;
- }
+ return _websitePolicies->autoplayEnabled();
}
- (NSString *)description
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes