Bug 134248

Summary: Only flush layers when the exposed rect actually changes
Product: WebKit Reporter: Antti Koivisto <koivisto>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ahmad.saleem792, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch andersca: review+

Description Antti Koivisto 2014-06-24 06:46:07 PDT
Currently we flush unconditionally.
Comment 1 Antti Koivisto 2014-06-24 06:56:47 PDT
Created attachment 233698 [details]
patch
Comment 2 Simon Fraser (smfr) 2014-06-24 08:56:57 PDT
Comment on attachment 233698 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=233698&action=review

> Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:206
> +    auto rect = enclosingIntRect(exposedContentRect);
> +    if (frameView->exposedContentRect() == rect)
> +        return;

This makes assumptions about how FrameView does rounding. Maybe setExposedContentRect() should instead return a bool?
Comment 3 Antti Koivisto 2014-06-24 12:10:48 PDT
http://trac.webkit.org/changeset/170377
Comment 4 Antti Koivisto 2014-06-24 12:16:12 PDT
> This makes assumptions about how FrameView does rounding. Maybe setExposedContentRect() should instead return a bool?

There is currently no rounding (these were just switched to FloatRect) and it is generally reasonable to expect getters and setters to pair. The setter should probably be renamed if it starts rounding.
Comment 5 Ahmad Saleem 2022-10-10 15:13:28 PDT
Landed and didn't backed out:
https://github.com/WebKit/WebKit/commit/80d3862733cf0b06bde7cde3af207aa5f5e4518b

Marking this as "RESOLVED FIXED".
Comment 6 Radar WebKit Bug Importer 2022-10-10 15:14:18 PDT
<rdar://problem/100999725>