Diff
Modified: trunk/Source/WebKit/ChangeLog (233770 => 233771)
--- trunk/Source/WebKit/ChangeLog 2018-07-12 17:00:58 UTC (rev 233770)
+++ trunk/Source/WebKit/ChangeLog 2018-07-12 17:03:41 UTC (rev 233771)
@@ -1,3 +1,30 @@
+2018-07-12 Jer Noble <jer.no...@apple.com>
+
+ REGRESSION (r230163): Videos cannot be seen full screen in Complete Anatomy app
+ https://bugs.webkit.org/show_bug.cgi?id=187527
+ <rdar://problem/40511527>
+
+ Reviewed by Ryosuke Niwa.
+
+ Do not enable element fullscreen mode unless apps specifically opt-in. The Fullscreen API is
+ an experimental feature on iOS, but not on Mac, but we can't simply not return the ExperimentalFeature
+ object from the list of experimental features, as this keeps Safari from being able to apply a
+ NSUserDefault value for that feature. Instead, add a property to API::ExperimentalFeature and
+ _WKExperimentalFeature called "hidden", which signals to clients whether to display the feature
+ in their UI.
+
+ * Scripts/GeneratePreferences.rb:
+ * Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb:
+ * Shared/WebPreferences.yaml:
+ * Shared/WebPreferencesDefaultValues.h:
+ * UIProcess/API/APIExperimentalFeature.cpp:
+ (API::ExperimentalFeature::create):
+ (API::ExperimentalFeature::ExperimentalFeature):
+ * UIProcess/API/APIExperimentalFeature.h:
+ * UIProcess/API/Cocoa/_WKExperimentalFeature.h:
+ * UIProcess/API/Cocoa/_WKExperimentalFeature.mm:
+ (-[_WKExperimentalFeature isHidden]):
+
2018-07-12 Alexey Proskuryakov <a...@apple.com>
[Mac] Run Unlock Keychain more reliably
Modified: trunk/Source/WebKit/Scripts/GeneratePreferences.rb (233770 => 233771)
--- trunk/Source/WebKit/Scripts/GeneratePreferences.rb 2018-07-12 17:00:58 UTC (rev 233770)
+++ trunk/Source/WebKit/Scripts/GeneratePreferences.rb 2018-07-12 17:03:41 UTC (rev 233771)
@@ -70,7 +70,7 @@
attr_accessor :category
attr_accessor :webcoreBinding
attr_accessor :condition
- attr_accessor :visibleCondition
+ attr_accessor :hidden
def initialize(name, opts)
@name = name
@@ -83,7 +83,7 @@
@webcoreBinding = opts["webcoreBinding"]
@webcoreName = opts["webcoreName"]
@condition = opts["condition"]
- @visibleCondition = opts["visibleCondition"]
+ @hidden = opts["hidden"] || false
end
def nameLower
Modified: trunk/Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb (233770 => 233771)
--- trunk/Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb 2018-07-12 17:00:58 UTC (rev 233770)
+++ trunk/Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb 2018-07-12 17:03:41 UTC (rev 233771)
@@ -53,13 +53,7 @@
<%- if @pref.condition -%>
#if <%= @pref.condition %>
<%- end -%>
-<%- if @pref.visibleCondition -%>
-#if <%= @pref.visibleCondition %>
-<%- end -%>
- API::ExperimentalFeature::create(<%= @pref.humanReadableName %>, "<%= @pref.name %>", <%= @pref.humanReadableDescription %>, <%= @pref.defaultValue %>),
-<%- if @pref.visibleCondition -%>
-#endif
-<%- end -%>
+ API::ExperimentalFeature::create(<%= @pref.humanReadableName %>, "<%= @pref.name %>", <%= @pref.humanReadableDescription %>, <%= @pref.defaultValue %>, <%= @pref.hidden %>),
<%- if @pref.condition -%>
#endif
<%- end -%>
Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (233770 => 233771)
--- trunk/Source/WebKit/Shared/WebPreferences.yaml 2018-07-12 17:00:58 UTC (rev 233770)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml 2018-07-12 17:03:41 UTC (rev 233771)
@@ -1268,9 +1268,9 @@
FullScreenEnabled:
type: bool
- defaultValue: DEFAULT_ENABLE_FULLSCREEN_API
+ defaultValue: false
condition: ENABLE(FULLSCREEN_API)
- visibleCondition: PLATFORM(IOS)
+ hidden: EXPERIMENTAL_FULLSCREEN_API_HIDDEN
humanReadableName: "Fullscreen API"
humanReadableDescription: "Fullscreen API"
category: experimental
Modified: trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.h (233770 => 233771)
--- trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.h 2018-07-12 17:00:58 UTC (rev 233770)
+++ trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.h 2018-07-12 17:03:41 UTC (rev 233771)
@@ -75,7 +75,7 @@
#define DEFAULT_TEMPORARY_TILE_COHORT_RETENTION_ENABLED false
#define DEFAULT_REQUIRES_USER_GESTURE_FOR_AUDIO_PLAYBACK true
#define DEFAULT_INTERACTIVE_MEDIA_CAPTURE_STREAM_REPROMPT_INTERVAL_IN_MINUTES 1
-#define DEFAULT_ENABLE_FULLSCREEN_API false
+#define EXPERIMENTAL_FULLSCREEN_API_HIDDEN false
#else
#define DEFAULT_ALLOWS_PICTURE_IN_PICTURE_MEDIA_PLAYBACK false
#define DEFAULT_BACKSPACE_KEY_NAVIGATION_ENABLED true
@@ -94,7 +94,7 @@
#define DEFAULT_TEMPORARY_TILE_COHORT_RETENTION_ENABLED true
#define DEFAULT_REQUIRES_USER_GESTURE_FOR_AUDIO_PLAYBACK false
#define DEFAULT_INTERACTIVE_MEDIA_CAPTURE_STREAM_REPROMPT_INTERVAL_IN_MINUTES 10
-#define DEFAULT_ENABLE_FULLSCREEN_API true
+#define EXPERIMENTAL_FULLSCREEN_API_HIDDEN true
#endif
#if PLATFORM(COCOA)
Modified: trunk/Source/WebKit/UIProcess/API/APIExperimentalFeature.cpp (233770 => 233771)
--- trunk/Source/WebKit/UIProcess/API/APIExperimentalFeature.cpp 2018-07-12 17:00:58 UTC (rev 233770)
+++ trunk/Source/WebKit/UIProcess/API/APIExperimentalFeature.cpp 2018-07-12 17:03:41 UTC (rev 233771)
@@ -28,16 +28,17 @@
namespace API {
-Ref<ExperimentalFeature> ExperimentalFeature::create(const WTF::String& name, const WTF::String& key, const WTF::String& details, bool defaultValue)
+Ref<ExperimentalFeature> ExperimentalFeature::create(const WTF::String& name, const WTF::String& key, const WTF::String& details, bool defaultValue, bool hidden)
{
- return adoptRef(*new ExperimentalFeature(name, key, details, defaultValue));
+ return adoptRef(*new ExperimentalFeature(name, key, details, defaultValue, hidden));
}
-ExperimentalFeature::ExperimentalFeature(const WTF::String& name, const WTF::String& key, const WTF::String& details, bool defaultValue)
+ExperimentalFeature::ExperimentalFeature(const WTF::String& name, const WTF::String& key, const WTF::String& details, bool defaultValue, bool hidden)
: m_name(name)
, m_key(key)
, m_details(details)
, m_defaultValue(defaultValue)
+ , m_hidden(hidden)
{
}
Modified: trunk/Source/WebKit/UIProcess/API/APIExperimentalFeature.h (233770 => 233771)
--- trunk/Source/WebKit/UIProcess/API/APIExperimentalFeature.h 2018-07-12 17:00:58 UTC (rev 233770)
+++ trunk/Source/WebKit/UIProcess/API/APIExperimentalFeature.h 2018-07-12 17:03:41 UTC (rev 233771)
@@ -33,7 +33,7 @@
class ExperimentalFeature final : public ObjectImpl<Object::Type::ExperimentalFeature> {
public:
- static Ref<ExperimentalFeature> create(const WTF::String& name, const WTF::String& key, const WTF::String& details, bool defaultValue);
+ static Ref<ExperimentalFeature> create(const WTF::String& name, const WTF::String& key, const WTF::String& details, bool defaultValue, bool hidden);
virtual ~ExperimentalFeature();
WTF::String name() const { return m_name; }
@@ -40,14 +40,16 @@
WTF::String key() const { return m_key; }
WTF::String details() const { return m_details; }
bool defaultValue() const { return m_defaultValue; }
+ bool isHidden() const { return m_hidden; }
private:
- explicit ExperimentalFeature(const WTF::String& name, const WTF::String& key, const WTF::String& details, bool defaultValue);
+ explicit ExperimentalFeature(const WTF::String& name, const WTF::String& key, const WTF::String& details, bool defaultValue, bool hidden);
WTF::String m_name;
WTF::String m_key;
WTF::String m_details;
bool m_defaultValue;
+ bool m_hidden;
};
}
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKExperimentalFeature.h (233770 => 233771)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKExperimentalFeature.h 2018-07-12 17:00:58 UTC (rev 233770)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKExperimentalFeature.h 2018-07-12 17:03:41 UTC (rev 233771)
@@ -36,6 +36,7 @@
@property (nonatomic, readonly, copy) NSString *name;
@property (nonatomic, readonly, copy) NSString *details;
@property (nonatomic, readonly) BOOL defaultValue;
+@property (nonatomic, readonly, getter=isHidden) BOOL hidden;
@end
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKExperimentalFeature.mm (233770 => 233771)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKExperimentalFeature.mm 2018-07-12 17:00:58 UTC (rev 233770)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKExperimentalFeature.mm 2018-07-12 17:03:41 UTC (rev 233771)
@@ -62,6 +62,11 @@
return _experimentalFeature->defaultValue();
}
+- (BOOL)isHidden
+{
+ return _experimentalFeature->isHidden();
+}
+
#pragma mark WKObject protocol implementation
- (API::Object&)_apiObject