Bug 58383 - Fix bug with adding wrong context to LayerRendererChromium and get rid of RefPtr loop.
Summary: Fix bug with adding wrong context to LayerRendererChromium and get rid of Ref...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other OS X 10.5
: P2 Normal
Assignee: John Bates
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-12 15:41 PDT by John Bates
Modified: 2011-04-14 02:29 PDT (History)
6 users (show)

See Also:


Attachments
Patch (4.07 KB, patch)
2011-04-12 15:42 PDT, John Bates
no flags Details | Formatted Diff | Diff
Patch (8.00 KB, patch)
2011-04-13 09:26 PDT, John Bates
no flags Details | Formatted Diff | Diff
Patch (5.98 KB, patch)
2011-04-13 13:48 PDT, John Bates
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description John Bates 2011-04-12 15:41:40 PDT
workaround possible HashMap RefPtr key bug
Comment 1 John Bates 2011-04-12 15:42:36 PDT
Created attachment 89284 [details]
Patch
Comment 2 Kenneth Russell 2011-04-12 17:17:58 PDT
Comment on attachment 89284 [details]
Patch

Per our offline discussion and analysis this doesn't work.
Comment 3 John Bates 2011-04-13 09:26:43 PDT
Created attachment 89388 [details]
Patch
Comment 4 John Bates 2011-04-13 09:38:14 PDT
Comment on attachment 89388 [details]
Patch

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

> Source/WebCore/platform/graphics/chromium/WebGLLayerChromium.cpp:-100
> -            layerRenderer()->addChildContext(m_context);

This appears to be the bug that caused the map to be empty.
Comment 5 WebKit Review Bot 2011-04-13 09:42:45 PDT
Attachment 89388 [details] did not build on chromium:
Build output: http://queues.webkit.org/results/8403269
Comment 6 Kenneth Russell 2011-04-13 11:07:43 PDT
Comment on attachment 89388 [details]
Patch

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

Looks good overall. Did you test this both with and without the GL_CHROMIUM_latch extension exposed from the command buffer service code, and do page reloads, verifying that the assertion failure is fixed when the extension isn't present, and that there is no memory leak (in either the renderer or GPU process) when it is?

r- just because the ChangeLogs need the synopsis updated. I recommend rerunning prepare-ChangeLog.

> Source/WebCore/ChangeLog:5
> +        workaround possible HashMap RefPtr key bug

Please update this synopsis.

> Source/WebKit/chromium/ChangeLog:5
> +        workaround possible HashMap RefPtr key bug

Please update synopsis.
Comment 7 Kenneth Russell 2011-04-13 11:17:10 PDT
Also, the build failure on Chromium-Linux is occurring because you need to roll the chromium_rev in Source/WebKit/chromium/DEPS forward to a revision containing your implementation of the newly pure virtual methods in WebGraphicsContext3D.h.

You should make that change and do the DEPS roll in a separate bug. They're unrelated to this bug fix.
Comment 8 John Bates 2011-04-13 13:48:54 PDT
Created attachment 89448 [details]
Patch
Comment 9 Kenneth Russell 2011-04-13 13:53:58 PDT
Comment on attachment 89448 [details]
Patch

This looks great. Thanks for the quick fix.
Comment 10 WebKit Commit Bot 2011-04-14 02:24:20 PDT
The commit-queue encountered the following flaky tests while processing attachment 89448 [details]:

http/tests/xmlhttprequest/basic-auth.html bug 51613 (author: ap@webkit.org)
The commit-queue is continuing to process your patch.
Comment 11 WebKit Commit Bot 2011-04-14 02:28:53 PDT
Comment on attachment 89448 [details]
Patch

Clearing flags on attachment: 89448

Committed r83828: <http://trac.webkit.org/changeset/83828>
Comment 12 WebKit Commit Bot 2011-04-14 02:29:00 PDT
All reviewed patches have been landed.  Closing bug.