Changeset 185880 in webkit


Ignore:
Timestamp:
Jun 23, 2015 11:27:13 AM (9 years ago)
Author:
Simon Fraser
Message:

Expose some more rendering progress events, and have MiniBrowser log for each of them
https://bugs.webkit.org/show_bug.cgi?id=146227

Reviewed by Darin Adler.

Source/WebKit2:

Add _WKRenderingProgressEventFirstLayoutAfterSuppressedIncrementalRendering and
_WKRenderingProgressEventFirstPaintAfterSuppressedIncrementalRendering to the private
header, and convert them to/from WebCore milestones.

  • Shared/API/Cocoa/_WKRenderingProgressEvents.h:
  • Shared/API/Cocoa/_WKRenderingProgressEventsInternal.h:

(renderingProgressEvents):

  • UIProcess/API/Cocoa/WKWebView.mm:

(layoutMilestones):

Tools:

Register for layout milestones/rendering progress events in the WK1 and WK2
browser window controllers, and, if logging is turned on, log when they are
reached.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController awakeFromNib]):
(-[WK1BrowserWindowController webView:didLayout:]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController _webView:renderingProgressDidChange:]):

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r185879 r185880  
     12015-06-23  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Expose some more rendering progress events, and have MiniBrowser log for each of them
     4        https://bugs.webkit.org/show_bug.cgi?id=146227
     5
     6        Reviewed by Darin Adler.
     7
     8        Add _WKRenderingProgressEventFirstLayoutAfterSuppressedIncrementalRendering and
     9        _WKRenderingProgressEventFirstPaintAfterSuppressedIncrementalRendering to the private
     10        header, and convert them to/from WebCore milestones.
     11
     12        * Shared/API/Cocoa/_WKRenderingProgressEvents.h:
     13        * Shared/API/Cocoa/_WKRenderingProgressEventsInternal.h:
     14        (renderingProgressEvents):
     15        * UIProcess/API/Cocoa/WKWebView.mm:
     16        (layoutMilestones):
     17
    1182015-06-23  Carlos Garcia Campos  <cgarcia@igalia.com>
    219
  • trunk/Source/WebKit2/Shared/API/Cocoa/_WKRenderingProgressEvents.h

    r177760 r185880  
    3232    _WKRenderingProgressEventFirstVisuallyNonEmptyLayout WK_ENUM_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA) = 1 << 1,
    3333    _WKRenderingProgressEventFirstPaintWithSignificantArea = 1 << 2,
    34     _WKRenderingProgressEventReachedSessionRestorationRenderTreeSizeThreshold WK_ENUM_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA) = 1 << 3
     34    _WKRenderingProgressEventReachedSessionRestorationRenderTreeSizeThreshold WK_ENUM_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA) = 1 << 3,
     35    _WKRenderingProgressEventFirstLayoutAfterSuppressedIncrementalRendering WK_ENUM_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA) = 1 << 4,
     36    _WKRenderingProgressEventFirstPaintAfterSuppressedIncrementalRendering WK_ENUM_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA) = 1 << 5
    3537} WK_ENUM_AVAILABLE(10_10, 8_0);
    3638
  • trunk/Source/WebKit2/Shared/API/Cocoa/_WKRenderingProgressEventsInternal.h

    r177760 r185880  
    4646        events |= _WKRenderingProgressEventReachedSessionRestorationRenderTreeSizeThreshold;
    4747
     48    if (milestones & WebCore::DidFirstLayoutAfterSuppressedIncrementalRendering)
     49        events |= _WKRenderingProgressEventFirstLayoutAfterSuppressedIncrementalRendering;
     50
     51    if (milestones & WebCore::DidFirstPaintAfterSuppressedIncrementalRendering)
     52        events |= _WKRenderingProgressEventFirstPaintAfterSuppressedIncrementalRendering;
     53
    4854    return events;
    4955}
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm

    r185876 r185880  
    20882088        milestones |= WebCore::ReachedSessionRestorationRenderTreeSizeThreshold;
    20892089
     2090    if (events & _WKRenderingProgressEventFirstLayoutAfterSuppressedIncrementalRendering)
     2091        milestones |= WebCore::DidFirstLayoutAfterSuppressedIncrementalRendering;
     2092
     2093    if (events & _WKRenderingProgressEventFirstPaintAfterSuppressedIncrementalRendering)
     2094        milestones |= WebCore::DidFirstPaintAfterSuppressedIncrementalRendering;
     2095
    20902096    return milestones;
    20912097}
  • trunk/Tools/ChangeLog

    r185877 r185880  
     12015-06-23  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Expose some more rendering progress events, and have MiniBrowser log for each of them
     4        https://bugs.webkit.org/show_bug.cgi?id=146227
     5
     6        Reviewed by Darin Adler.
     7
     8        Register for layout milestones/rendering progress events in the WK1 and WK2
     9        browser window controllers, and, if logging is turned on, log when they are
     10        reached.
     11
     12        * MiniBrowser/mac/WK1BrowserWindowController.m:
     13        (-[WK1BrowserWindowController awakeFromNib]):
     14        (-[WK1BrowserWindowController webView:didLayout:]):
     15        * MiniBrowser/mac/WK2BrowserWindowController.m:
     16        (-[WK2BrowserWindowController awakeFromNib]):
     17        (-[WK2BrowserWindowController _webView:renderingProgressDidChange:]):
     18
    1192015-06-23  Brady Eidson  <beidson@apple.com>
    220
  • trunk/Tools/MiniBrowser/mac/WK1BrowserWindowController.m

    r185857 r185880  
    5454    [[WebPreferences standardPreferences] setServiceControlsEnabled:YES];
    5555
     56    [_webView _listenForLayoutMilestones:WebDidFirstLayout | WebDidFirstVisuallyNonEmptyLayout | WebDidHitRelevantRepaintedObjectsAreaThreshold];
     57
    5658    [self didChangeSettings];
    5759
     
    274276}
    275277
     278- (void)webView:(WebView *)sender didLayout:(WebLayoutMilestones)milestones
     279{
     280    if (milestones & WebDidFirstLayout)
     281        LOG(@"layout milestone: %@", @"first layout");
     282
     283    if (milestones & WebDidFirstVisuallyNonEmptyLayout)
     284        LOG(@"layout milestone: %@", @"first non-empty layout");
     285
     286    if (milestones & WebDidHitRelevantRepaintedObjectsAreaThreshold)
     287        LOG(@"layout milestone: %@", @"relevant repainted objects area threshold");
     288}
     289
    276290- (void)webView:(WebView *)webView decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id<WebPolicyDecisionListener>)listener
    277291{
  • trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m

    r184358 r185880  
    7272    _webView.UIDelegate = self;
    7373   
     74    _webView._observedRenderingProgressEvents = _WKRenderingProgressEventFirstLayout
     75        | _WKRenderingProgressEventFirstVisuallyNonEmptyLayout
     76        | _WKRenderingProgressEventFirstPaintWithSignificantArea
     77        | _WKRenderingProgressEventFirstLayoutAfterSuppressedIncrementalRendering
     78        | _WKRenderingProgressEventFirstPaintAfterSuppressedIncrementalRendering;
     79
    7480    _zoomTextOnly = NO;
    7581}
     
    524530}
    525531
     532- (void)_webView:(WKWebView *)webView renderingProgressDidChange:(_WKRenderingProgressEvents)progressEvents
     533{
     534    if (progressEvents & _WKRenderingProgressEventFirstLayout)
     535        LOG(@"renderingProgressDidChange: %@", @"first layout");
     536
     537    if (progressEvents & _WKRenderingProgressEventFirstVisuallyNonEmptyLayout)
     538        LOG(@"renderingProgressDidChange: %@", @"first visually non-empty layout");
     539
     540    if (progressEvents & _WKRenderingProgressEventFirstPaintWithSignificantArea)
     541        LOG(@"renderingProgressDidChange: %@", @"first paint with significant area");
     542
     543    if (progressEvents & _WKRenderingProgressEventFirstLayoutAfterSuppressedIncrementalRendering)
     544        LOG(@"renderingProgressDidChange: %@", @"first layout after suppressed incremental rendering");
     545
     546    if (progressEvents & _WKRenderingProgressEventFirstPaintAfterSuppressedIncrementalRendering)
     547        LOG(@"renderingProgressDidChange: %@", @"first paint after suppressed incremental rendering");
     548}
     549
    526550@end
    527551
Note: See TracChangeset for help on using the changeset viewer.