⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 236497 in webkit


Ignore:
Timestamp:
Sep 25, 2018, 10:26:30 PM (8 years ago)
Author:
rniwa@webkit.org
Message:

Make frame flattening an internal debug feature
https://bugs.webkit.org/show_bug.cgi?id=189984

Reviewed by Simon Fraser.

Made frame flattening a runtime switchable from internal debug menu.

To avoid having to enumerate three distinct values in the settings, made it a boolean flag in WKPreference.
That's what's exposd as an API anyway.

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetFrameFlatteningEnabled):
(WKPreferencesGetFrameFlatteningEnabled):

  • UIProcess/API/glib/WebKitSettings.cpp:

(webkit_settings_get_enable_frame_flattening):
(webkit_settings_set_enable_frame_flattening):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Location:
trunk/Source/WebKit
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r236494 r236497  
     12018-09-25  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Make frame flattening an internal debug feature
     4        https://bugs.webkit.org/show_bug.cgi?id=189984
     5
     6        Reviewed by Simon Fraser.
     7
     8        Made frame flattening a runtime switchable from internal debug menu.
     9
     10        To avoid having to enumerate three distinct values in the settings, made it a boolean flag in WKPreference.
     11        That's what's exposd as an API anyway.
     12
     13        * Shared/WebPreferences.yaml:
     14        * Shared/WebPreferencesDefaultValues.h:
     15        * UIProcess/API/C/WKPreferences.cpp:
     16        (WKPreferencesSetFrameFlatteningEnabled):
     17        (WKPreferencesGetFrameFlatteningEnabled):
     18        * UIProcess/API/glib/WebKitSettings.cpp:
     19        (webkit_settings_get_enable_frame_flattening):
     20        (webkit_settings_set_enable_frame_flattening):
     21        * WebProcess/WebPage/WebPage.cpp:
     22        (WebKit::WebPage::updatePreferences):
     23
    1242018-09-25  Eric Carlson  <eric.carlson@apple.com>
    225
  • trunk/Source/WebKit/Shared/WebPreferences.yaml

    r236424 r236497  
    887887  webcoreBinding: custom
    888888
    889 FrameFlattening:
    890   type: uint32_t
     889FrameFlatteningEnabled:
     890  type: bool
    891891  defaultValue: DEFAULT_FRAME_FLATTENING
    892892  webcoreBinding: custom
     893  humanReadableName: "Frame flattening"
     894  humanReadableDescription: "Enable frame flattening, which adjusts the height of an iframe to fit its contents"
     895  category: internal
    893896
    894897StandardFontFamily:
  • trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.h

    r235925 r236497  
    6161#define DEFAULT_ALLOWS_PICTURE_IN_PICTURE_MEDIA_PLAYBACK true
    6262#define DEFAULT_BACKSPACE_KEY_NAVIGATION_ENABLED false
    63 #define DEFAULT_FRAME_FLATTENING FrameFlattening::FullyEnabled
     63#define DEFAULT_FRAME_FLATTENING true
    6464#define DEFAULT_SHOULD_PRINT_BACKGROUNDS true
    6565#define DEFAULT_TEXT_AREAS_ARE_RESIZABLE false
     
    8080#define DEFAULT_ALLOWS_PICTURE_IN_PICTURE_MEDIA_PLAYBACK false
    8181#define DEFAULT_BACKSPACE_KEY_NAVIGATION_ENABLED true
    82 #define DEFAULT_FRAME_FLATTENING FrameFlattening::Disabled
     82#define DEFAULT_FRAME_FLATTENING false
    8383#define DEFAULT_SHOULD_PRINT_BACKGROUNDS false
    8484#define DEFAULT_TEXT_AREAS_ARE_RESIZABLE true
  • trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp

    r236424 r236497  
    161161void WKPreferencesSetFrameFlatteningEnabled(WKPreferencesRef preferencesRef, bool frameFlatteningEnabled)
    162162{
    163     // FIXME: Expose more frame flattening values.
    164     toImpl(preferencesRef)->setFrameFlattening(frameFlatteningEnabled ? static_cast<uint32_t>(WebCore::FrameFlattening::FullyEnabled) : static_cast<uint32_t>(WebCore::FrameFlattening::Disabled));
     163    toImpl(preferencesRef)->setFrameFlatteningEnabled(frameFlatteningEnabled);
    165164}
    166165
    167166bool WKPreferencesGetFrameFlatteningEnabled(WKPreferencesRef preferencesRef)
    168167{
    169     // FIXME: Expose more frame flattening values.
    170     return toImpl(preferencesRef)->frameFlattening() != static_cast<uint32_t>(WebCore::FrameFlattening::Disabled);
     168    return toImpl(preferencesRef)->frameFlatteningEnabled();
    171169}
    172170
  • trunk/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp

    r236279 r236497  
    17181718    g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE);
    17191719
    1720     // FIXME: Expose more frame flattening values.
    1721     return settings->priv->preferences->frameFlattening() != static_cast<uint32_t>(WebCore::FrameFlattening::Disabled);
     1720    return settings->priv->preferences->frameFlatteningEnabled();
    17221721}
    17231722
     
    17341733
    17351734    WebKitSettingsPrivate* priv = settings->priv;
    1736     bool currentValue = priv->preferences->frameFlattening() != static_cast<uint32_t>(WebCore::FrameFlattening::Disabled);
    1737     if (currentValue == enabled)
    1738         return;
    1739 
    1740     // FIXME: Expose more frame flattening values.
    1741     priv->preferences->setFrameFlattening(enabled ? static_cast<uint32_t>(WebCore::FrameFlattening::FullyEnabled) : static_cast<uint32_t>(WebCore::FrameFlattening::Disabled));
     1735    if (priv->preferences->frameFlatteningEnabled() == enabled)
     1736        return;
     1737
     1738    priv->preferences->setFrameFlatteningEnabled(enabled);
    17421739    g_object_notify(G_OBJECT(settings), "enable-frame-flattening");
    17431740}
  • trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp

    r236485 r236497  
    31563156    settings.setJavaScriptRuntimeFlags(static_cast<RuntimeFlags>(store.getUInt32ValueForKey(WebPreferencesKey::javaScriptRuntimeFlagsKey())));
    31573157    settings.setStorageBlockingPolicy(static_cast<SecurityOrigin::StorageBlockingPolicy>(store.getUInt32ValueForKey(WebPreferencesKey::storageBlockingPolicyKey())));
    3158     settings.setFrameFlattening(static_cast<WebCore::FrameFlattening>(store.getUInt32ValueForKey(WebPreferencesKey::frameFlatteningKey())));
     3158    settings.setFrameFlattening(store.getBoolValueForKey(WebPreferencesKey::frameFlatteningEnabledKey()) ? WebCore::FrameFlattening::FullyEnabled : WebCore::FrameFlattening::Disabled);
    31593159    settings.setEditableLinkBehavior(static_cast<WebCore::EditableLinkBehavior>(store.getUInt32ValueForKey(WebPreferencesKey::editableLinkBehaviorKey())));
    31603160#if ENABLE(DATA_DETECTION)
Note: See TracChangeset for help on using the changeset viewer.