WebKit Bugzilla
Attachment 338994 Details for
Bug 185050
: [Extra zoom mode] Add a mechanism to override default viewport behaviors in extra zoom mode
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Part 3 (patch for landing)
bug-185050-20180427091036.patch (text/plain), 5.87 KB, created by
Wenson Hsieh
on 2018-04-27 09:10:36 PDT
(
hide
)
Description:
Part 3 (patch for landing)
Filename:
MIME Type:
Creator:
Wenson Hsieh
Created:
2018-04-27 09:10:36 PDT
Size:
5.87 KB
patch
obsolete
>Subversion Revision: 231097 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index afaf81ee9cacd21c0932289363c9309c49b97828..36b9552c42d2bd9921b6f19e5cee366833f69774 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,22 @@ >+2018-04-26 Wenson Hsieh <wenson_hsieh@apple.com> >+ >+ Add an experimental feature flag for viewport "min-device-width" >+ https://bugs.webkit.org/show_bug.cgi?id=185050 >+ <rdar://problem/39624038> >+ >+ Reviewed by Tim Horton. >+ >+ Add MinDeviceWidthEnabled as a new runtime-enabled feature. >+ >+ * dom/ViewportArguments.cpp: >+ (WebCore::setViewportFeature): >+ >+ Gate the parsing of "min-device-width" on the runtime-enabled feature being flipped on. >+ >+ * page/RuntimeEnabledFeatures.h: >+ (WebCore::RuntimeEnabledFeatures::setMinDeviceWidthEnabled): >+ (WebCore::RuntimeEnabledFeatures::minDeviceWidthEnabled const): >+ > 2018-04-27 Wenson Hsieh <wenson_hsieh@apple.com> > > Rename minimumLayoutSize to viewLayoutSize >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 761a9a45930be6397c1382b8effa0c620b627dbe..37bb4bc6e73d4e5d4e8464399b8035d449bea324 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,16 @@ >+2018-04-26 Wenson Hsieh <wenson_hsieh@apple.com> >+ >+ Add an experimental feature flag for viewport "min-device-width" >+ https://bugs.webkit.org/show_bug.cgi?id=185050 >+ <rdar://problem/39624038> >+ >+ Reviewed by Tim Horton. >+ >+ Add MinDeviceWidthEnabled as a new experimental feature, on by default in extra zoom mode and off elsewhere. >+ >+ * Shared/WebPreferences.yaml: >+ * Shared/WebPreferencesDefaultValues.h: >+ > 2018-04-27 Wenson Hsieh <wenson_hsieh@apple.com> > > Rename minimumLayoutSize to viewLayoutSize >diff --git a/Source/WebCore/dom/ViewportArguments.cpp b/Source/WebCore/dom/ViewportArguments.cpp >index 71a3c5df042337e7c95acc5eef528441a8dbc726..a77b979ca8586da9577fbb21dd8e88c1afa4581f 100644 >--- a/Source/WebCore/dom/ViewportArguments.cpp >+++ b/Source/WebCore/dom/ViewportArguments.cpp >@@ -31,6 +31,7 @@ > #include "Document.h" > #include "Frame.h" > #include "IntSize.h" >+#include "RuntimeEnabledFeatures.h" > #include "ScriptableDocumentParser.h" > #include "Settings.h" > #include <wtf/text/TextStream.h> >@@ -420,7 +421,7 @@ void setViewportFeature(ViewportArguments& arguments, Document& document, String > arguments.shrinkToFit = findBooleanValue(document, key, value); > else if (equalLettersIgnoringASCIICase(key, "viewport-fit") && document.settings().viewportFitEnabled()) > arguments.viewportFit = parseViewportFitValue(document, key, value); >- else if (equalLettersIgnoringASCIICase(key, "min-device-width")) >+ else if (equalLettersIgnoringASCIICase(key, "min-device-width") && RuntimeEnabledFeatures::sharedFeatures().minDeviceWidthEnabled()) > arguments.minDeviceWidth = numericPrefix(document, key, value); > else > reportViewportWarning(document, UnrecognizedViewportArgumentKeyError, key); >diff --git a/Source/WebCore/page/RuntimeEnabledFeatures.h b/Source/WebCore/page/RuntimeEnabledFeatures.h >index 35a3b8f072e9caa84a9c852b523bdbb929d0cd41..29c49d144b97a279859c968f10d23b510df4a030 100644 >--- a/Source/WebCore/page/RuntimeEnabledFeatures.h >+++ b/Source/WebCore/page/RuntimeEnabledFeatures.h >@@ -253,6 +253,9 @@ public: > void setFromOriginResponseHeaderEnabled(bool isEnabled) { m_fromOriginResponseHeaderEnabled = isEnabled; } > bool fromOriginResponseHeaderEnabled() const { return m_fromOriginResponseHeaderEnabled; } > >+ void setMinDeviceWidthEnabled(bool isEnabled) { m_minDeviceWidthEnabled = isEnabled; } >+ bool minDeviceWidthEnabled() const { return m_minDeviceWidthEnabled; } >+ > WEBCORE_EXPORT static RuntimeEnabledFeatures& sharedFeatures(); > > private: >@@ -389,6 +392,8 @@ private: > > bool m_fromOriginResponseHeaderEnabled { false }; > >+ bool m_minDeviceWidthEnabled { false }; >+ > friend class WTF::NeverDestroyed<RuntimeEnabledFeatures>; > }; > >diff --git a/Source/WebKit/Shared/WebPreferences.yaml b/Source/WebKit/Shared/WebPreferences.yaml >index b5f62c70cb7d3d2b0e1ead316a6a6e52291e65e0..f44c7d78b393d794e0d6919b2a2332c9a1ee0f55 100644 >--- a/Source/WebKit/Shared/WebPreferences.yaml >+++ b/Source/WebKit/Shared/WebPreferences.yaml >@@ -781,7 +781,7 @@ DataTransferItemsEnabled: > CustomPasteboardDataEnabled: > type: bool > defaultValue: defaultCustomPasteboardDataEnabled() >- humanReadableName: "Custom pateboard data" >+ humanReadableName: "Custom pasteboard data" > humanReadableDescription: "Enable custom clipboard types and better security model for clipboard API." > webcoreBinding: RuntimeEnabledFeatures > >@@ -1248,3 +1248,11 @@ FromOriginResponseHeaderEnabled: > humanReadableDescription: "Support for the From-Origin Response Header" > category: experimental > webcoreBinding: RuntimeEnabledFeatures >+ >+MinDeviceWidthEnabled: >+ type: bool >+ defaultValue: DEFAULT_MIN_DEVICE_WIDTH_ENABLED >+ humanReadableName: "Minimum device width" >+ humanReadableDescription: "Enable the min-device-width viewport parameter" >+ category: experimental >+ webcoreBinding: RuntimeEnabledFeatures >diff --git a/Source/WebKit/Shared/WebPreferencesDefaultValues.h b/Source/WebKit/Shared/WebPreferencesDefaultValues.h >index e75f3d4d33334304e244199b70d9d9b11d6d020b..194e026413b562134fa51132d0c7749da27d600d 100644 >--- a/Source/WebKit/Shared/WebPreferencesDefaultValues.h >+++ b/Source/WebKit/Shared/WebPreferencesDefaultValues.h >@@ -177,6 +177,12 @@ > #define DEFAULT_VISUAL_VIEWPORT_HEIGHT_EXPANSION_FACTOR 0 > #endif > >+#if ENABLE(EXTRA_ZOOM_MODE) >+#define DEFAULT_MIN_DEVICE_WIDTH_ENABLED 1 >+#else >+#define DEFAULT_MIN_DEVICE_WIDTH_ENABLED 0 >+#endif >+ > // Cocoa ports must disable experimental features on release branches for now. > #if ENABLE(EXPERIMENTAL_FEATURES) || PLATFORM(COCOA) > #define DEFAULT_EXPERIMENTAL_FEATURES_ENABLED true
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 185050
:
338953
|
338962
|
338964
|
338975
|
338987
|
338992
| 338994