Changeset 209159 in webkit


Ignore:
Timestamp:
Nov 30, 2016 3:48:00 PM (7 years ago)
Author:
commit-queue@webkit.org
Message:

Add separate settings and preferences to enable/disable async decoding for large images and animated images
https://bugs.webkit.org/show_bug.cgi?id=165177

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-11-30
Reviewed by Simon Fraser.
Source/WebCore:

Instead of having the async image decoding be controlled by one setting,
two separate settings are added:

largeImageAsyncDecodingEnabled
animatedImageAsyncDecodingEnabled

And an existing setting is removed:

asyncImageDecodingEnabled

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::load):

  • loader/cache/CachedImage.h:
  • page/Settings.in:
  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::internalStartAnimation):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/ImageObserver.h:

Source/WebKit/mac:

Hook up the async image decoding settings for WebKit1.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences largeImageAsyncDecodingEnabled]):
(-[WebPreferences setLargeImageAsyncDecodingEnabled:]):
(-[WebPreferences animatedImageAsyncDecodingEnabled]):
(-[WebPreferences setAnimatedImageAsyncDecodingEnabled:]):
(-[WebPreferences asyncImageDecodingEnabled]): Deleted.
(-[WebPreferences setAsyncImageDecodingEnabled:]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

Hook up the async image decoding settings for WebKit2.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _largeImageAsyncDecodingEnabled]):
(-[WKPreferences _setLargeImageAsyncDecodingEnabled:]):
(-[WKPreferences _animatedImageAsyncDecodingEnabled]):
(-[WKPreferences _setAnimatedImageAsyncDecodingEnabled:]):
(-[WKPreferences _asyncImageDecodingEnabled]): Deleted.
(-[WKPreferences _setAsyncImageDecodingEnabled:]): Deleted.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

Pref and a menu item to toggle async image decoding settings for WebKits 1 and 2.

  • MiniBrowser/mac/SettingsController.h:
  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleLargeImageAsyncDecodingEnabled:]):
(-[SettingsController largeImageAsyncDecodingEnabled]):
(-[SettingsController toggleAnimatedImageAsyncDecodingEnabled:]):
(-[SettingsController animatedImageAsyncDecodingEnabled]):
(-[SettingsController toggleAsyncImageDecodingEnabled:]): Deleted.
(-[SettingsController asyncImageDecodingEnabled]): Deleted.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController didChangeSettings]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController didChangeSettings]):

Location:
trunk
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r209158 r209159  
     12016-11-30  Said Abou-Hallawa  <sabouhallawa@apple.com>
     2
     3        Add separate settings and preferences to enable/disable async decoding for large images and animated images
     4        https://bugs.webkit.org/show_bug.cgi?id=165177
     5
     6        Reviewed by Simon Fraser.
     7
     8        Instead of having the async image decoding be controlled by one setting,
     9        two separate settings are added:
     10            largeImageAsyncDecodingEnabled
     11            animatedImageAsyncDecodingEnabled
     12           
     13        And an existing setting is removed:
     14            asyncImageDecodingEnabled
     15
     16        * loader/cache/CachedImage.cpp:
     17        (WebCore::CachedImage::load):
     18        * loader/cache/CachedImage.h:
     19        * page/Settings.in:
     20        * platform/graphics/BitmapImage.cpp:
     21        (WebCore::BitmapImage::internalStartAnimation):
     22        * platform/graphics/BitmapImage.h:
     23        * platform/graphics/ImageObserver.h:
     24
    1252016-11-30  Zalan Bujtas  <zalan@apple.com>
    226
  • trunk/Source/WebCore/loader/cache/CachedImage.cpp

    r208511 r209159  
    9393    if (m_loader) {
    9494        m_allowSubsampling = m_loader->frameLoader()->frame().settings().imageSubsamplingEnabled();
    95         m_allowAsyncImageDecoding = m_loader->frameLoader()->frame().settings().asyncImageDecodingEnabled();
     95        m_allowLargeImageAsyncDecoding = m_loader->frameLoader()->frame().settings().largeImageAsyncDecodingEnabled();
     96        m_allowAnimatedImageAsyncDecoding = m_loader->frameLoader()->frame().settings().animatedImageAsyncDecodingEnabled();
    9697        m_showDebugBackground = m_loader->frameLoader()->frame().settings().showDebugBorders();
    9798    }
  • trunk/Source/WebCore/loader/cache/CachedImage.h

    r208646 r209159  
    119119    // ImageObserver
    120120    bool allowSubsampling() const override { return m_allowSubsampling; }
    121     bool allowAsyncImageDecoding() const override { return m_allowAsyncImageDecoding; }
     121    bool allowLargeImageAsyncDecoding() const override { return m_allowLargeImageAsyncDecoding; }
     122    bool allowAnimatedImageAsyncDecoding() const override { return m_allowAnimatedImageAsyncDecoding; }
    122123    bool showDebugBackground() const override { return m_showDebugBackground; }
    123124    void decodedSizeChanged(const Image*, long long delta) override;
     
    146147    bool m_allowSubsampling { false };
    147148#endif
    148     bool m_allowAsyncImageDecoding { true };
     149    bool m_allowLargeImageAsyncDecoding { true };
     150    bool m_allowAnimatedImageAsyncDecoding { true };
    149151    bool m_showDebugBackground { false };
    150152};
  • trunk/Source/WebCore/page/Settings.in

    r208983 r209159  
    290290forcedPrefersReducedMotionAccessibilityValue type=ForcedAccessibilityValue, initial=defaultForcedPrefersReducedMotionAccessibilityValue
    291291
    292 asyncImageDecodingEnabled initial=true
     292largeImageAsyncDecodingEnabled initial=true
     293animatedImageAsyncDecodingEnabled initial=true
    293294
    294295es6ModulesEnabled initial=false
  • trunk/Source/WebCore/platform/graphics/BitmapImage.cpp

    r208511 r209159  
    279279    // through the callback newFrameNativeImageAvailableAtIndex(). Otherwise, advanceAnimation() will be called
    280280    // when the timer fires and m_currentFrame will be advanced to nextFrame since it is not being decoded.
    281     if ((allowAsyncImageDecoding() && m_source.isAsyncDecodingRequired()) || isAsyncDecodingForcedForTesting()) {
     281    if ((allowAnimatedImageAsyncDecoding() && m_source.isAsyncDecodingRequired()) || isAsyncDecodingForcedForTesting()) {
    282282        if (!m_source.requestFrameAsyncDecodingAtIndex(nextFrame, m_currentSubsamplingLevel))
    283283            LOG(Images, "BitmapImage %p %s - cachedFrameCount %ld nextFrame %ld", this, __FUNCTION__, ++m_cachedFrameCount, nextFrame);
  • trunk/Source/WebCore/platform/graphics/BitmapImage.h

    r208985 r209159  
    135135
    136136    bool allowSubsampling() const { return imageObserver() && imageObserver()->allowSubsampling(); }
    137     bool allowAsyncImageDecoding() const { return imageObserver() && imageObserver()->allowAsyncImageDecoding(); }
     137    bool allowLargeImageAsyncDecoding() const { return imageObserver() && imageObserver()->allowLargeImageAsyncDecoding(); }
     138    bool allowAnimatedImageAsyncDecoding() const { return imageObserver() && imageObserver()->allowAnimatedImageAsyncDecoding(); }
    138139    bool showDebugBackground() const { return imageObserver() && imageObserver()->showDebugBackground(); }
    139140
  • trunk/Source/WebCore/platform/graphics/ImageObserver.h

    r208511 r209159  
    3939public:
    4040    virtual bool allowSubsampling() const = 0;
    41     virtual bool allowAsyncImageDecoding() const = 0;
     41    virtual bool allowLargeImageAsyncDecoding() const = 0;
     42    virtual bool allowAnimatedImageAsyncDecoding() const = 0;
    4243    virtual bool showDebugBackground() const = 0;
    4344    virtual void decodedSizeChanged(const Image*, long long delta) = 0;
  • trunk/Source/WebKit/mac/ChangeLog

    r209088 r209159  
     12016-11-30  Said Abou-Hallawa  <sabouhallawa@apple.com>
     2
     3        Add separate settings and preferences to enable/disable async decoding for large images and animated images
     4        https://bugs.webkit.org/show_bug.cgi?id=165177
     5
     6        Reviewed by Simon Fraser.
     7       
     8        Hook up the async image decoding settings for WebKit1.
     9
     10        * WebView/WebPreferenceKeysPrivate.h:
     11        * WebView/WebPreferences.mm:
     12        (+[WebPreferences initialize]):
     13        (-[WebPreferences largeImageAsyncDecodingEnabled]):
     14        (-[WebPreferences setLargeImageAsyncDecodingEnabled:]):
     15        (-[WebPreferences animatedImageAsyncDecodingEnabled]):
     16        (-[WebPreferences setAnimatedImageAsyncDecodingEnabled:]):
     17        (-[WebPreferences asyncImageDecodingEnabled]): Deleted.
     18        (-[WebPreferences setAsyncImageDecodingEnabled:]): Deleted.
     19        * WebView/WebPreferencesPrivate.h:
     20        * WebView/WebView.mm:
     21        (-[WebView _preferencesChanged:]):
     22
    1232016-11-29  Andy Estes  <aestes@apple.com>
    224
  • trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h

    r208983 r209159  
    142142#define WebKitSubpixelCSSOMElementMetricsEnabledPreferenceKey @"WebKitSubpixelCSSOMElementMetricsEnabled"
    143143#define WebKitResourceLoadStatisticsEnabledPreferenceKey @"WebKitResourceLoadStatisticsEnabled"
    144 #define WebKitAsyncImageDecodingEnabledPreferenceKey @"WebKitAsyncImageDecodingEnabledEnabled"
     144#define WebKitLargeImageAsyncDecodingEnabledPreferenceKey @"WebKitLargeImageAsyncDecodingEnabled"
     145#define WebKitAnimatedImageAsyncDecodingEnabledPreferenceKey @"WebKitAnimatedImageAsyncDecodingEnabled"
    145146#if TARGET_OS_IPHONE
    146147#define WebKitAudioSessionCategoryOverride @"WebKitAudioSessionCategoryOverride"
  • trunk/Source/WebKit/mac/WebView/WebPreferences.mm

    r208983 r209159  
    508508        [NSNumber numberWithBool:NO],  WebKitSubpixelCSSOMElementMetricsEnabledPreferenceKey,
    509509        [NSNumber numberWithBool:NO],  WebKitResourceLoadStatisticsEnabledPreferenceKey,
    510         [NSNumber numberWithBool:YES],  WebKitAsyncImageDecodingEnabledPreferenceKey,
     510        [NSNumber numberWithBool:YES],  WebKitLargeImageAsyncDecodingEnabledPreferenceKey,
     511        [NSNumber numberWithBool:YES],  WebKitAnimatedImageAsyncDecodingEnabledPreferenceKey,
    511512#if PLATFORM(IOS)
    512513        [NSNumber numberWithBool:YES],  WebKitFrameFlatteningEnabledPreferenceKey,
     
    18881889}
    18891890
    1890 - (BOOL)asyncImageDecodingEnabled
    1891 {
    1892     return [self _boolValueForKey:WebKitAsyncImageDecodingEnabledPreferenceKey];
    1893 }
    1894 
    1895 - (void)setAsyncImageDecodingEnabled:(BOOL)enabled
    1896 {
    1897     [self _setBoolValue:enabled forKey:WebKitAsyncImageDecodingEnabledPreferenceKey];
     1891- (BOOL)largeImageAsyncDecodingEnabled
     1892{
     1893    return [self _boolValueForKey:WebKitLargeImageAsyncDecodingEnabledPreferenceKey];
     1894}
     1895
     1896- (void)setLargeImageAsyncDecodingEnabled:(BOOL)enabled
     1897{
     1898    [self _setBoolValue:enabled forKey:WebKitLargeImageAsyncDecodingEnabledPreferenceKey];
     1899}
     1900
     1901- (BOOL)animatedImageAsyncDecodingEnabled
     1902{
     1903    return [self _boolValueForKey:WebKitAnimatedImageAsyncDecodingEnabledPreferenceKey];
     1904}
     1905
     1906- (void)setAnimatedImageAsyncDecodingEnabled:(BOOL)enabled
     1907{
     1908    [self _setBoolValue:enabled forKey:WebKitAnimatedImageAsyncDecodingEnabledPreferenceKey];
    18981909}
    18991910
  • trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h

    r208983 r209159  
    514514
    515515@property (nonatomic) BOOL visualViewportEnabled;
    516 @property (nonatomic) BOOL asyncImageDecodingEnabled;
     516@property (nonatomic) BOOL largeImageAsyncDecodingEnabled;
     517@property (nonatomic) BOOL animatedImageAsyncDecodingEnabled;
    517518@property (nonatomic) BOOL javaScriptMarkupEnabled;
    518519@property (nonatomic) BOOL mediaDataLoadsAutomatically;
  • trunk/Source/WebKit/mac/WebView/WebView.mm

    r208983 r209159  
    29012901    settings.setShouldConvertInvalidURLsToBlank(shouldConvertInvalidURLsToBlank());
    29022902
    2903     settings.setAsyncImageDecodingEnabled([preferences asyncImageDecodingEnabled]);
     2903    settings.setLargeImageAsyncDecodingEnabled([preferences largeImageAsyncDecodingEnabled]);
     2904    settings.setAnimatedImageAsyncDecodingEnabled([preferences animatedImageAsyncDecodingEnabled]);
    29042905}
    29052906
  • trunk/Source/WebKit2/ChangeLog

    r209151 r209159  
     12016-11-30  Said Abou-Hallawa  <sabouhallawa@apple.com>
     2
     3        Add separate settings and preferences to enable/disable async decoding for large images and animated images
     4        https://bugs.webkit.org/show_bug.cgi?id=165177
     5
     6        Reviewed by Simon Fraser.
     7       
     8        Hook up the async image decoding settings for WebKit2.
     9
     10        * Shared/WebPreferencesDefinitions.h:
     11        * UIProcess/API/Cocoa/WKPreferences.mm:
     12        (-[WKPreferences _largeImageAsyncDecodingEnabled]):
     13        (-[WKPreferences _setLargeImageAsyncDecodingEnabled:]):
     14        (-[WKPreferences _animatedImageAsyncDecodingEnabled]):
     15        (-[WKPreferences _setAnimatedImageAsyncDecodingEnabled:]):
     16        (-[WKPreferences _asyncImageDecodingEnabled]): Deleted.
     17        (-[WKPreferences _setAsyncImageDecodingEnabled:]): Deleted.
     18        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
     19        * WebProcess/InjectedBundle/InjectedBundle.cpp:
     20        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
     21        * WebProcess/WebPage/WebPage.cpp:
     22        (WebKit::WebPage::updatePreferences):
     23
    1242016-11-30  Chris Dumez  <cdumez@apple.com>
    225
  • trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h

    r209151 r209159  
    241241    macro(VisualViewportEnabled, visualViewportEnabled, Bool, bool, false, "", "") \
    242242    macro(NeedsStorageAccessFromFileURLsQuirk, needsStorageAccessFromFileURLsQuirk, Bool, bool, true, "", "") \
    243     macro(AsyncImageDecodingEnabled, asyncImageDecodingEnabled, Bool, bool, true, "", "") \
     243    macro(LargeImageAsyncDecodingEnabled, largeImageAsyncDecodingEnabled, Bool, bool, true, "", "") \
     244    macro(AnimatedImageAsyncDecodingEnabled, animatedImageAsyncDecodingEnabled, Bool, bool, true, "", "") \
    244245    macro(CustomElementsEnabled, customElementsEnabled, Bool, bool, true, "", "") \
    245246    macro(EncryptedMediaAPIEnabled, encryptedMediaAPIEnabled, Bool, bool, false, "", "") \
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm

    r208399 r209159  
    326326}
    327327
    328 - (BOOL)_asyncImageDecodingEnabled
    329 {
    330     return _preferences->asyncImageDecodingEnabled();
    331 }
    332 
    333 - (void)_setAsyncImageDecodingEnabled:(BOOL)_asyncImageDecodingEnabled
    334 {
    335     _preferences->setAsyncImageDecodingEnabled(_asyncImageDecodingEnabled);
     328- (BOOL)_largeImageAsyncDecodingEnabled
     329{
     330    return _preferences->largeImageAsyncDecodingEnabled();
     331}
     332
     333- (void)_setLargeImageAsyncDecodingEnabled:(BOOL)_largeImageAsyncDecodingEnabled
     334{
     335    _preferences->setLargeImageAsyncDecodingEnabled(_largeImageAsyncDecodingEnabled);
     336}
     337
     338- (BOOL)_animatedImageAsyncDecodingEnabled
     339{
     340    return _preferences->animatedImageAsyncDecodingEnabled();
     341}
     342
     343- (void)_setAnimatedImageAsyncDecodingEnabled:(BOOL)_animatedImageAsyncDecodingEnabled
     344{
     345    _preferences->setAnimatedImageAsyncDecodingEnabled(_animatedImageAsyncDecodingEnabled);
    336346}
    337347
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h

    r208399 r209159  
    6565@property (nonatomic, setter=_setDisplayListDrawingEnabled:) BOOL _displayListDrawingEnabled WK_API_AVAILABLE(macosx(10.12), ios(10.0));
    6666@property (nonatomic, setter=_setVisualViewportEnabled:) BOOL _visualViewportEnabled WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
    67 @property (nonatomic, setter=_setAsyncImageDecodingEnabled:) BOOL _asyncImageDecodingEnabled WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
     67@property (nonatomic, setter=_setLargeImageAsyncDecodingEnabled:) BOOL _largeImageAsyncDecodingEnabled WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
     68@property (nonatomic, setter=_setAnimatedImageAsyncDecodingEnabled:) BOOL _animatedImageAsyncDecodingEnabled WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
    6869@property (nonatomic, setter=_setTextAutosizingEnabled:) BOOL _textAutosizingEnabled WK_API_AVAILABLE(macosx(10.12), ios(10.0));
    6970
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp

    r208939 r209159  
    243243    macro(WebKitHTTPEquivEnabled, HttpEquivEnabled, httpEquivEnabled) \
    244244    macro(WebKitVisualViewportEnabled, VisualViewportEnabled, visualViewportEnabled) \
    245     macro(WebKitAsyncImageDecodingEnabled, AsyncImageDecodingEnabled, asyncImageDecodingEnabled) \
     245    macro(WebKitLargeImageAsyncDecodingEnabled, LargeImageAsyncDecodingEnabled, largeImageAsyncDecodingEnabled) \
     246    macro(WebKitAnimatedImageAsyncDecodingEnabled, AnimatedImageAsyncDecodingEnabled, animatedImageAsyncDecodingEnabled) \
    246247    macro(WebKitES6ModulesEnabled, Es6ModulesEnabled, es6ModulesEnabled) \
    247248    \
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r209103 r209159  
    32203220    setForceAlwaysUserScalable(m_forceAlwaysUserScalable || store.getBoolValueForKey(WebPreferencesKey::forceAlwaysUserScalableKey()));
    32213221#endif
    3222     settings.setAsyncImageDecodingEnabled(store.getBoolValueForKey(WebPreferencesKey::asyncImageDecodingEnabledKey()));
     3222    settings.setLargeImageAsyncDecodingEnabled(store.getBoolValueForKey(WebPreferencesKey::largeImageAsyncDecodingEnabledKey()));
     3223    settings.setAnimatedImageAsyncDecodingEnabled(store.getBoolValueForKey(WebPreferencesKey::animatedImageAsyncDecodingEnabledKey()));
    32233224}
    32243225
  • trunk/Tools/ChangeLog

    r209136 r209159  
     12016-11-30  Said Abou-Hallawa  <sabouhallawa@apple.com>
     2
     3        Add separate settings and preferences to enable/disable async decoding for large images and animated images
     4        https://bugs.webkit.org/show_bug.cgi?id=165177
     5
     6        Reviewed by Simon Fraser.
     7       
     8        Pref and a menu item to toggle async image decoding settings for WebKits 1 and 2.
     9
     10        * MiniBrowser/mac/SettingsController.h:
     11        * MiniBrowser/mac/SettingsController.m:
     12        (-[SettingsController _populateMenu]):
     13        (-[SettingsController validateMenuItem:]):
     14        (-[SettingsController toggleLargeImageAsyncDecodingEnabled:]):
     15        (-[SettingsController largeImageAsyncDecodingEnabled]):
     16        (-[SettingsController toggleAnimatedImageAsyncDecodingEnabled:]):
     17        (-[SettingsController animatedImageAsyncDecodingEnabled]):
     18        (-[SettingsController toggleAsyncImageDecodingEnabled:]): Deleted.
     19        (-[SettingsController asyncImageDecodingEnabled]): Deleted.
     20        * MiniBrowser/mac/WK1BrowserWindowController.m:
     21        (-[WK1BrowserWindowController didChangeSettings]):
     22        * MiniBrowser/mac/WK2BrowserWindowController.m:
     23        (-[WK2BrowserWindowController didChangeSettings]):
     24
    1252016-11-30  Jonathan Bedard  <jbedard@apple.com>
    226
  • trunk/Tools/MiniBrowser/mac/SettingsController.h

    r208865 r209159  
    5151@property (nonatomic, readonly) BOOL resourceLoadStatisticsEnabled;
    5252@property (nonatomic, readonly) BOOL visualViewportEnabled;
    53 @property (nonatomic, readonly) BOOL asyncImageDecodingEnabled;
     53@property (nonatomic, readonly) BOOL largeImageAsyncDecodingEnabled;
     54@property (nonatomic, readonly) BOOL animatedImageAsyncDecodingEnabled;
    5455@property (nonatomic, readonly) BOOL loadsAllSiteIcons;
    5556@property (nonatomic, readonly) BOOL usesGameControllerFramework;
  • trunk/Tools/MiniBrowser/mac/SettingsController.m

    r208865 r209159  
    5757
    5858static NSString * const VisualViewportEnabledPreferenceKey = @"VisualViewportEnabled";
    59 static NSString * const AsyncImageDecodingEnabledPreferenceKey = @"AsyncImageDecodingEnabled";
     59static NSString * const LargeImageAsyncDecodingEnabledPreferenceKey = @"LargeImageAsyncDecodingEnabled";
     60static NSString * const AnimatedImageAsyncDecodingEnabledPreferenceKey = @"AnimatedImageAsyncDecodingEnabled";
    6061
    6162// This default name intentionally overlaps with the key that WebKit2 checks when creating a view.
     
    129130    [self _addItemWithTitle:@"Enable Visual Viewport" action:@selector(toggleVisualViewportEnabled:) indented:NO];
    130131    [self _addItemWithTitle:@"Enable Resource Load Statistics" action:@selector(toggleResourceLoadStatisticsEnabled:) indented:NO];
    131     [self _addItemWithTitle:@"Enable Async Image Decoding" action:@selector(toggleAsyncImageDecodingEnabled:) indented:NO];
     132    [self _addItemWithTitle:@"Enable Large Image Async Decoding" action:@selector(toggleLargeImageAsyncDecodingEnabled:) indented:NO];
     133    [self _addItemWithTitle:@"Enable Animated Image Async Decoding" action:@selector(toggleAnimatedImageAsyncDecodingEnabled:) indented:NO];
    132134
    133135    [self _addHeaderWithTitle:@"WebKit2-only Settings"];
     
    204206    else if (action == @selector(toggleResourceLoadStatisticsEnabled:))
    205207        [menuItem setState:[self resourceLoadStatisticsEnabled] ? NSOnState : NSOffState];
    206     else if (action == @selector(toggleAsyncImageDecodingEnabled:))
    207         [menuItem setState:[self asyncImageDecodingEnabled] ? NSOnState : NSOffState];
     208    else if (action == @selector(toggleLargeImageAsyncDecodingEnabled:))
     209        [menuItem setState:[self largeImageAsyncDecodingEnabled] ? NSOnState : NSOffState];
     210    else if (action == @selector(toggleAnimatedImageAsyncDecodingEnabled:))
     211        [menuItem setState:[self animatedImageAsyncDecodingEnabled] ? NSOnState : NSOffState];
    208212    else if (action == @selector(toggleVisualViewportEnabled:))
    209213        [menuItem setState:[self visualViewportEnabled] ? NSOnState : NSOffState];
     
    413417}
    414418
    415 - (void)toggleAsyncImageDecodingEnabled:(id)sender
    416 {
    417     [self _toggleBooleanDefault:AsyncImageDecodingEnabledPreferenceKey];
    418 }
    419 
    420 - (BOOL)asyncImageDecodingEnabled
    421 {
    422     return [[NSUserDefaults standardUserDefaults] boolForKey:AsyncImageDecodingEnabledPreferenceKey];
     419- (void)toggleLargeImageAsyncDecodingEnabled:(id)sender
     420{
     421    [self _toggleBooleanDefault:LargeImageAsyncDecodingEnabledPreferenceKey];
     422}
     423
     424- (BOOL)largeImageAsyncDecodingEnabled
     425{
     426    return [[NSUserDefaults standardUserDefaults] boolForKey:LargeImageAsyncDecodingEnabledPreferenceKey];
     427}
     428
     429- (void)toggleAnimatedImageAsyncDecodingEnabled:(id)sender
     430{
     431    [self _toggleBooleanDefault:AnimatedImageAsyncDecodingEnabledPreferenceKey];
     432}
     433
     434- (BOOL)animatedImageAsyncDecodingEnabled
     435{
     436    return [[NSUserDefaults standardUserDefaults] boolForKey:AnimatedImageAsyncDecodingEnabledPreferenceKey];
    423437}
    424438
  • trunk/Tools/MiniBrowser/mac/WK1BrowserWindowController.m

    r208399 r209159  
    283283    [[WebPreferences standardPreferences] setResourceLoadStatisticsEnabled:settings.resourceLoadStatisticsEnabled];
    284284    [[WebPreferences standardPreferences] setVisualViewportEnabled:settings.visualViewportEnabled];
    285     [[WebPreferences standardPreferences] setAsyncImageDecodingEnabled:settings.asyncImageDecodingEnabled];
     285    [[WebPreferences standardPreferences] setLargeImageAsyncDecodingEnabled:settings.largeImageAsyncDecodingEnabled];
     286    [[WebPreferences standardPreferences] setAnimatedImageAsyncDecodingEnabled:settings.animatedImageAsyncDecodingEnabled];
    286287
    287288    BOOL useTransparentWindows = settings.useTransparentWindows;
  • trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m

    r208865 r209159  
    376376    preferences._displayListDrawingEnabled = settings.displayListDrawingEnabled;
    377377    preferences._visualViewportEnabled = settings.visualViewportEnabled;
    378     preferences._asyncImageDecodingEnabled = settings.asyncImageDecodingEnabled;
     378    preferences._largeImageAsyncDecodingEnabled = settings.largeImageAsyncDecodingEnabled;
     379    preferences._animatedImageAsyncDecodingEnabled = settings.animatedImageAsyncDecodingEnabled;
    379380
    380381    _webView.configuration.websiteDataStore._resourceLoadStatisticsEnabled = settings.resourceLoadStatisticsEnabled;
Note: See TracChangeset for help on using the changeset viewer.