WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
74893
[chromium] Make sure rootDamageRect gets passed to renderer
https://bugs.webkit.org/show_bug.cgi?id=74893
Summary
[chromium] Make sure rootDamageRect gets passed to renderer
Shawn Singh
Reported
2011-12-19 15:24:06 PST
In the process of refactoring, the root damage rect got "disconnected" from where it is used to perform the partial swap. The fix is very straightforward, and works fine. However, I would like to add a unit test to make sure this does not happen again. An effective unit test needs to mock the "getExtensions()" accessor, so we can pretend that partial swap is supported. Currently getExtensions() is implemented as non-virtual in un-mockable GraphicsContext3DPrivate. Is it OK to move the implementation of getExtensions() from GraphicsContext3DPrivate into WebGraphicsContext3D, where we can make it virtual and mock-able? or is there some reason not to do this?
Attachments
Patch
(11.90 KB, patch)
2011-12-19 18:59 PST
,
Shawn Singh
no flags
Details
Formatted Diff
Diff
addressed nits and added one more case to unit test
(13.38 KB, patch)
2011-12-19 20:35 PST
,
Shawn Singh
no flags
Details
Formatted Diff
Diff
updated to close to tip of tree
(13.62 KB, patch)
2012-01-03 11:00 PST
,
Shawn Singh
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
James Robinson
Comment 1
2011-12-19 15:54:54 PST
Extensions3DChromium simply thunks to WebGraphicsContext3D for all of its operations and WebGraphicsContext3D is fully virtual and easy to mock. I don't understand why you would need more. Is there some scenario that you can't mock out today?
Shawn Singh
Comment 2
2011-12-19 18:29:59 PST
Thanks, it works exactly as you suggested. Will post a patch soon.
James Robinson
Comment 3
2011-12-19 18:39:35 PST
OK cool, glad that worked. If it helps shuffling around all of the Platform headers should make it pretty easy for us to cut out at least one layer of indirection in our GraphicsContext3D->WebGraphicsContext3D mappings.
Shawn Singh
Comment 4
2011-12-19 18:59:11 PST
Created
attachment 119972
[details]
Patch This patch has (1) the fix itself (2) appropriate unit test (3) drive-by style fix on ordering of include files.
James Robinson
Comment 5
2011-12-19 19:07:08 PST
Comment on
attachment 119972
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=119972&action=review
haven't looked through full patch, just some drive by nits for now. will try to look at this later
> Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h:108 > + void swapBuffers(IntRect subBuffer);
we typically pass IntRects by const ref, can we do that here?
> Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp:311 > + FakeDrawableCCLayerImpl(int id) : CCLayerImpl(id) { }
nit: explicit
> Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp:337 > +class PartialSwapTrackerContext: public MockWebGraphicsContext3D {
nit: space between PartialSwapTrackerContext and the :
Shawn Singh
Comment 6
2011-12-19 20:35:32 PST
Created
attachment 119981
[details]
addressed nits and added one more case to unit test
Shawn Singh
Comment 7
2012-01-03 11:00:59 PST
Created
attachment 120960
[details]
updated to close to tip of tree
James Robinson
Comment 8
2012-01-03 11:06:54 PST
Comment on
attachment 120960
[details]
updated to close to tip of tree R=me
WebKit Review Bot
Comment 9
2012-01-03 16:34:21 PST
Comment on
attachment 120960
[details]
updated to close to tip of tree Clearing flags on attachment: 120960 Committed
r103988
: <
http://trac.webkit.org/changeset/103988
>
WebKit Review Bot
Comment 10
2012-01-03 16:34:26 PST
All reviewed patches have been landed. Closing bug.
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