Changeset 194683 in webkit


Ignore:
Timestamp:
Jan 6, 2016, 5:43:25 PM (10 years ago)
Author:
Simon Fraser
Message:

Add a setting and preferences to enable display-list drawing. Does nothing yet.
https://bugs.webkit.org/show_bug.cgi?id=152807

Reviewed by Zalan Bujtas.
Source/WebCore:

Setting for display-list drawing.

  • page/Settings.in:

Source/WebKit/mac:

WK1 pref for display-list drawing, defaults to off.

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

(+[WebPreferences initialize]):
(-[WebPreferences displayListDrawingEnabled]):
(-[WebPreferences setDisplayListDrawingEnabled:]):

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

(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(-[WebView _preferencesChanged:]):

Source/WebKit2:

WK2 debug pref for display-list drawing, defaults to off.

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

(-[WKPreferences _displayListDrawingEnabled]):
(-[WKPreferences _setDisplayListDrawingEnabled:]):

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

(WebKit::WebPage::updatePreferences):

Tools:

Add an item to the Settings menu to toggle display-list drawing.

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

(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleDisplayListDrawingEnabled:]):
(-[SettingsController displayListDrawingEnabled]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController didChangeSettings]):

Location:
trunk
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r194672 r194683  
     12016-01-06  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Add a setting and preferences to enable display-list drawing. Does nothing yet.
     4        https://bugs.webkit.org/show_bug.cgi?id=152807
     5
     6        Reviewed by Zalan Bujtas.
     7
     8        Setting for display-list drawing.
     9
     10        * page/Settings.in:
     11
    1122016-01-06  Eric Carlson  <eric.carlson@apple.com>
    213
  • trunk/Source/WebCore/page/Settings.in

    r194301 r194683  
    8686canvasUsesAcceleratedDrawing initial=false
    8787acceleratedDrawingEnabled initial=false
     88displayListDrawingEnabled initial=false
    8889acceleratedFiltersEnabled initial=false
    8990useLegacyTextAlignPositionedElementBehavior initial=false
  • trunk/Source/WebKit/mac/ChangeLog

    r194667 r194683  
     12016-01-06  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Add a setting and preferences to enable display-list drawing. Does nothing yet.
     4        https://bugs.webkit.org/show_bug.cgi?id=152807
     5
     6        Reviewed by Zalan Bujtas.
     7       
     8        WK1 pref for display-list drawing, defaults to off.
     9
     10        * WebView/WebPreferenceKeysPrivate.h:
     11        * WebView/WebPreferences.mm:
     12        (+[WebPreferences initialize]):
     13        (-[WebPreferences displayListDrawingEnabled]):
     14        (-[WebPreferences setDisplayListDrawingEnabled:]):
     15        * WebView/WebPreferencesPrivate.h:
     16        * WebView/WebView.mm:
     17        (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
     18        (-[WebView _preferencesChanged:]):
     19
    1202016-01-06  Simon Fraser  <simon.fraser@apple.com>
    221
  • trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h

    r194000 r194683  
    100100#define WebKitXSSAuditorEnabledPreferenceKey @"WebKitXSSAuditorEnabled"
    101101#define WebKitAcceleratedDrawingEnabledPreferenceKey @"WebKitAcceleratedDrawingEnabled"
     102#define WebKitDisplayListDrawingEnabledPreferenceKey @"WebKitDisplayListDrawingEnabled"
    102103#define WebKitCanvasUsesAcceleratedDrawingPreferenceKey @"WebKitCanvasUsesAcceleratedDrawing"
    103104#define WebKitAcceleratedCompositingEnabledPreferenceKey @"WebKitAcceleratedCompositingEnabled"
  • trunk/Source/WebKit/mac/WebView/WebPreferences.mm

    r194378 r194683  
    491491        [NSNumber numberWithBool:YES], WebKitCSSRegionsEnabledPreferenceKey,
    492492        [NSNumber numberWithBool:YES], WebKitCSSCompositingEnabledPreferenceKey,
     493        [NSNumber numberWithBool:NO],   WebKitDisplayListDrawingEnabledPreferenceKey,
    493494#if PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR)
    494495        [NSNumber numberWithBool:YES],  WebKitAcceleratedDrawingEnabledPreferenceKey,
     
    18181819}
    18191820
     1821- (BOOL)displayListDrawingEnabled
     1822{
     1823    return [self _boolValueForKey:WebKitDisplayListDrawingEnabledPreferenceKey];
     1824}
     1825
     1826- (void)setDisplayListDrawingEnabled:(BOOL)enabled
     1827{
     1828    [self _setBoolValue:enabled forKey:WebKitDisplayListDrawingEnabledPreferenceKey];
     1829}
     1830
    18201831- (BOOL)canvasUsesAcceleratedDrawing
    18211832{
  • trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h

    r194000 r194683  
    201201- (void)setAcceleratedDrawingEnabled:(BOOL)enabled;
    202202
     203- (BOOL)displayListDrawingEnabled;
     204- (void)setDisplayListDrawingEnabled:(BOOL)enabled;
     205
    203206- (BOOL)canvasUsesAcceleratedDrawing;
    204207- (void)setCanvasUsesAcceleratedDrawing:(BOOL)enabled;
  • trunk/Source/WebKit/mac/WebView/WebView.mm

    r194667 r194683  
    12301230    _private->page->settings().setDownloadableBinaryFontsEnabled(false);
    12311231    _private->page->settings().setAcceleratedDrawingEnabled([preferences acceleratedDrawingEnabled]);
     1232    _private->page->settings().setDisplayListDrawingEnabled([preferences displayListDrawingEnabled]);
    12321233   
    12331234    _private->page->settings().setFontFallbackPrefersPictographs(true);
     
    22822283    settings.setAcceleratedCompositingEnabled([preferences acceleratedCompositingEnabled]);
    22832284    settings.setAcceleratedDrawingEnabled([preferences acceleratedDrawingEnabled]);
    2284     settings.setCanvasUsesAcceleratedDrawing([preferences canvasUsesAcceleratedDrawing]);   
     2285    settings.setDisplayListDrawingEnabled([preferences displayListDrawingEnabled]);
     2286    settings.setCanvasUsesAcceleratedDrawing([preferences canvasUsesAcceleratedDrawing]);
    22852287    settings.setShowDebugBorders([preferences showDebugBorders]);
    22862288    settings.setSimpleLineLayoutDebugBordersEnabled([preferences simpleLineLayoutDebugBordersEnabled]);
  • trunk/Source/WebKit2/ChangeLog

    r194668 r194683  
     12016-01-06  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Add a setting and preferences to enable display-list drawing. Does nothing yet.
     4        https://bugs.webkit.org/show_bug.cgi?id=152807
     5
     6        Reviewed by Zalan Bujtas.
     7       
     8        WK2 debug pref for display-list drawing, defaults to off.
     9
     10        * Shared/WebPreferencesDefinitions.h:
     11        * UIProcess/API/Cocoa/WKPreferences.mm:
     12        (-[WKPreferences _displayListDrawingEnabled]):
     13        (-[WKPreferences _setDisplayListDrawingEnabled:]):
     14        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
     15        * WebProcess/WebPage/WebPage.cpp:
     16        (WebKit::WebPage::updatePreferences):
     17
    1182016-01-06  Daniel Bates  <dabates@apple.com>
    219
  • trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h

    r194000 r194683  
    244244#define FOR_EACH_WEBKIT_DEBUG_BOOL_PREFERENCE(macro) \
    245245    macro(AcceleratedDrawingEnabled, acceleratedDrawingEnabled, Bool, bool, DEFAULT_ACCELERATED_DRAWING_ENABLED) \
     246    macro(DisplayListDrawingEnabled, displayListDrawingEnabled, Bool, bool, false) \
    246247    macro(CompositingBordersVisible, compositingBordersVisible, Bool, bool, false) \
    247248    macro(CompositingRepaintCountersVisible, compositingRepaintCountersVisible, Bool, bool, false) \
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm

    r194000 r194683  
    258258}
    259259
     260- (BOOL)_displayListDrawingEnabled
     261{
     262    return _preferences->displayListDrawingEnabled();
     263}
     264
     265- (void)_setDisplayListDrawingEnabled:(BOOL)displayListDrawingEnabled
     266{
     267    _preferences->setDisplayListDrawingEnabled(displayListDrawingEnabled);
     268}
     269
    260270- (BOOL)_developerExtrasEnabled
    261271{
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h

    r192313 r194683  
    6060@property (nonatomic, setter=_setSimpleLineLayoutDebugBordersEnabled:) BOOL _simpleLineLayoutDebugBordersEnabled WK_AVAILABLE(10_11, 9_0);
    6161@property (nonatomic, setter=_setAcceleratedDrawingEnabled:) BOOL _acceleratedDrawingEnabled WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
     62@property (nonatomic, setter=_setDisplayListDrawingEnabled:) BOOL _displayListDrawingEnabled WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
    6263
    6364@property (nonatomic, setter=_setDeveloperExtrasEnabled:) BOOL _developerExtrasEnabled WK_AVAILABLE(10_11, 9_0);
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r194667 r194683  
    27672767    settings.setAcceleratedCompositingEnabled(store.getBoolValueForKey(WebPreferencesKey::acceleratedCompositingEnabledKey()));
    27682768    settings.setAcceleratedDrawingEnabled(store.getBoolValueForKey(WebPreferencesKey::acceleratedDrawingEnabledKey()));
     2769    settings.setDisplayListDrawingEnabled(store.getBoolValueForKey(WebPreferencesKey::displayListDrawingEnabledKey()));
    27692770    settings.setCanvasUsesAcceleratedDrawing(store.getBoolValueForKey(WebPreferencesKey::canvasUsesAcceleratedDrawingKey()));
    27702771    settings.setShowDebugBorders(store.getBoolValueForKey(WebPreferencesKey::compositingBordersVisibleKey()));
  • trunk/Tools/ChangeLog

    r194634 r194683  
     12016-01-06  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Add a setting and preferences to enable display-list drawing. Does nothing yet.
     4        https://bugs.webkit.org/show_bug.cgi?id=152807
     5
     6        Reviewed by Zalan Bujtas.
     7       
     8        Add an item to the Settings menu to toggle display-list drawing.
     9
     10        * MiniBrowser/mac/SettingsController.h:
     11        * MiniBrowser/mac/SettingsController.m:
     12        (-[SettingsController _populateMenu]):
     13        (-[SettingsController validateMenuItem:]):
     14        (-[SettingsController toggleDisplayListDrawingEnabled:]):
     15        (-[SettingsController displayListDrawingEnabled]):
     16        * MiniBrowser/mac/WK2BrowserWindowController.m:
     17        (-[WK2BrowserWindowController didChangeSettings]):
     18
    1192016-01-06  Youenn Fablet  <youenn.fablet@crf.canon.fr>
    220
  • trunk/Tools/MiniBrowser/mac/SettingsController.h

    r192801 r194683  
    4848@property (nonatomic, readonly) BOOL subPixelCSSOMMetricsEnabled;
    4949@property (nonatomic, readonly) BOOL acceleratedDrawingEnabled;
     50@property (nonatomic, readonly) BOOL displayListDrawingEnabled;
    5051@property (nonatomic, readonly) NSString *defaultURL;
    5152
  • trunk/Tools/MiniBrowser/mac/SettingsController.m

    r192801 r194683  
    3939static NSString * const IncrementalRenderingSuppressedPreferenceKey = @"IncrementalRenderingSuppressed";
    4040static NSString * const AcceleratedDrawingEnabledPreferenceKey = @"AcceleratedDrawingEnabled";
     41static NSString * const DisplayListDrawingEnabledPreferenceKey = @"DisplayListDrawingEnabled";
    4142
    4243static NSString * const NonFastScrollableRegionOverlayVisiblePreferenceKey = @"NonFastScrollableRegionOverlayVisible";
     
    111112    [self _addItemWithTitle:@"Suppress Incremental Rendering in New Windows" action:@selector(toggleIncrementalRenderingSuppressed:) indented:NO];
    112113    [self _addItemWithTitle:@"Enable Accelerated Drawing" action:@selector(toggleAcceleratedDrawingEnabled:) indented:NO];
     114    [self _addItemWithTitle:@"Enable Display List Drawing" action:@selector(toggleDisplayListDrawingEnabled:) indented:NO];
    113115
    114116    [self _addHeaderWithTitle:@"WebKit2-only Settings"];
     
    159161    else if (action == @selector(toggleAcceleratedDrawingEnabled:))
    160162        [menuItem setState:[self acceleratedDrawingEnabled] ? NSOnState : NSOffState];
     163    else if (action == @selector(toggleDisplayListDrawingEnabled:))
     164        [menuItem setState:[self displayListDrawingEnabled] ? NSOnState : NSOffState];
    161165    else if (action == @selector(toggleShowTiledScrollingIndicator:))
    162166        [menuItem setState:[self tiledScrollingIndicatorVisible] ? NSOnState : NSOffState];
     
    283287}
    284288
     289- (void)toggleDisplayListDrawingEnabled:(id)sender
     290{
     291    [self _toggleBooleanDefault:DisplayListDrawingEnabledPreferenceKey];
     292}
     293
     294- (BOOL)displayListDrawingEnabled
     295{
     296    return [[NSUserDefaults standardUserDefaults] boolForKey:DisplayListDrawingEnabledPreferenceKey];
     297}
     298
    285299- (void)toggleShowTiledScrollingIndicator:(id)sender
    286300{
  • trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m

    r192801 r194683  
    344344    preferences._acceleratedDrawingEnabled = settings.acceleratedDrawingEnabled;
    345345    preferences._resourceUsageOverlayVisible = settings.resourceUsageOverlayVisible;
     346    preferences._displayListDrawingEnabled = settings.displayListDrawingEnabled;
    346347
    347348    BOOL useTransparentWindows = settings.useTransparentWindows;
Note: See TracChangeset for help on using the changeset viewer.