Bug 45124

Summary: [chromium] Gracefully switch over to software compositing when layer renderer fails to initialize
Product: WebKit Reporter: Vangelis Kokkevis <vangelis>
Component: WebCore Misc.Assignee: Vangelis Kokkevis <vangelis>
Status: RESOLVED FIXED    
Severity: Normal CC: fishd
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: OS X 10.5   
Attachments:
Description Flags
Proposed patch fishd: review+, fishd: commit-queue-

Vangelis Kokkevis
Reported 2010-09-02 12:56:53 PDT
Currently if the accelerated compositor fails to initialize (e.g. failed to get a gl context), page renders without the composited layers. The correct behavior would be to switch over to software compositing.
Attachments
Proposed patch (7.87 KB, patch)
2010-09-02 22:36 PDT, Vangelis Kokkevis
fishd: review+
fishd: commit-queue-
Vangelis Kokkevis
Comment 1 2010-09-02 22:36:55 PDT
Created attachment 66470 [details] Proposed patch
Darin Fisher (:fishd, Google)
Comment 2 2010-09-03 11:37:51 PDT
Comment on attachment 66470 [details] Proposed patch View in context: https://bugs.webkit.org/attachment.cgi?id=66470&action=prettypatch > WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:83 > + PassOwnPtr<LayerRendererChromium> layerRenderer(new LayerRendererChromium(gles2Context)); nit: this should be changed to use OwnPtr, like so: OwnPtr<LayerRenderChromium> layerRenderer(new LayerRendererChromium(gles2Context)); Then you should use the .release() method of OwnPtr<T> to finally return a PassOwnPtr<T>. > WebKit/chromium/src/WebViewImpl.cpp:2110 > + if (m_compositorCreationFailed) nit: I think the body of this function should just be changed to: return !m_compositorCreationFailed; R=me with those nits fixed
Vangelis Kokkevis
Comment 3 2010-09-03 16:24:49 PDT
Note You need to log in before you can comment on or make changes to this bug.