WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 93040
[BlackBerry] Upstream GraphicsLayerClient::contentsVisible()
https://bugs.webkit.org/show_bug.cgi?id=93040
Summary
[BlackBerry] Upstream GraphicsLayerClient::contentsVisible()
Arvid Nilsson
Reported
2012-08-02 16:16:10 PDT
Our LayerTiler uses both proactive and reactive rendering to populate tiles. If contentsVisible() is accurate, it will cause the right tiles to be rendered. Failing that, when a dirty tile is found to be visible on the compositing thread, a render job is scheduled.
Attachments
Patch
(2.84 KB, patch)
2012-08-02 16:36 PDT
,
Arvid Nilsson
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Arvid Nilsson
Comment 1
2012-08-02 16:36:10 PDT
Created
attachment 156199
[details]
Patch
WebKit Review Bot
Comment 2
2012-08-02 18:15:15 PDT
Comment on
attachment 156199
[details]
Patch Clearing flags on attachment: 156199 Committed
r124544
: <
http://trac.webkit.org/changeset/124544
>
WebKit Review Bot
Comment 3
2012-08-02 18:15:18 PDT
All reviewed patches have been landed. Closing bug.
Antonio Gomes
Comment 4
2012-08-03 05:48:34 PDT
Comment on
attachment 156199
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=156199&action=review
Post-land comments:
> Source/WebCore/platform/graphics/GraphicsLayerClient.h:89 > + virtual bool contentsVisible(const GraphicsLayer*, const IntRect& contentRect) const = 0;
but it would be preferable to add a default blank implementation here, instead of a pure virtual method, and get rid of the #if platform(bb)?
> Source/WebCore/rendering/RenderLayerBacking.cpp:1632 > + IntRect visibleContentRect(view->visibleContentRect()); > + FloatQuad absoluteContentQuad = renderer()->localToAbsoluteQuad(FloatRect(localContentRect)); > + return absoluteContentQuad.enclosingBoundingBox().intersects(visibleContentRect);
does this work for subframes?
Arvid Nilsson
Comment 5
2012-08-03 05:57:36 PDT
Gnnh, I forgot to add the declaration to RenderLayerBacking.h
Arvid Nilsson
Comment 6
2012-08-03 06:04:09 PDT
Comment on
attachment 156199
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=156199&action=review
>> Source/WebCore/platform/graphics/GraphicsLayerClient.h:89 >> + virtual bool contentsVisible(const GraphicsLayer*, const IntRect& contentRect) const = 0; > > but it would be preferable to add a default blank implementation here, instead of a pure virtual method, and get rid of the #if platform(bb)?
There's a default implementation coming in
https://bugs.webkit.org/show_bug.cgi?id=93036
, however it's still not enabling it for all platforms.
>> Source/WebCore/rendering/RenderLayerBacking.cpp:1632 >> + return absoluteContentQuad.enclosingBoundingBox().intersects(visibleContentRect); > > does this work for subframes?
I think this is actually returns true too often, which is better than too seldom - if my thinking is correct, this will return true if the layer is visible in the subframe's viewport, even if the whole viewport is scrolled off screen.
Antonio Gomes
Comment 7
2012-08-03 06:09:24 PDT
> > does this work for subframes? > > I think this is actually returns true too often, which is better than too seldom - if my thinking is correct, this will return true if the layer is visible in the subframe's viewport, even if the whole viewport is scrolled off screen.
I do not think it clips against its parent viewport.
Arvid Nilsson
Comment 8
2012-08-03 06:21:24 PDT
(In reply to
comment #7
)
> > > does this work for subframes? > > > > I think this is actually returns true too often, which is better than too seldom - if my thinking is correct, this will return true if the layer is visible in the subframe's viewport, even if the whole viewport is scrolled off screen. > > I do not think it clips against its parent viewport.
Exactly, I guess that was what I was trying to say. So it will return true too often (false positive) but that's ok considering the use case - when to populate tiles. ,maybe there is benefit from making it more accurate, though.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug