Summary: | REGRESSION(r177075): [GTK] Creating a second web view disables accelerated compositing in existing web view | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Carlos Garcia Campos <cgarcia> | ||||
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | berto, commit-queue, gustavo, j.isorce, mrobinson, yoon, zan | ||||
Priority: | P2 | Keywords: | Gtk, Regression | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Carlos Garcia Campos
2015-01-15 01:27:41 PST
Created attachment 244683 [details]
Patch
We can save the IPC messages to change the setting, and simplify the code, by always enabling AC mode when the native surface handle is set in the web process.
Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API Comment on attachment 244683 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=244683&action=review > Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:691 > + m_webPage.corePage()->settings().setAcceleratedCompositingEnabled(true); Wouldn't it be better to enable this unconditionally in WebKitSettings's constructed? This looks a bit hackish. (In reply to comment #3) > Comment on attachment 244683 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=244683&action=review > > > Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:691 > > + m_webPage.corePage()->settings().setAcceleratedCompositingEnabled(true); > > Wouldn't it be better to enable this unconditionally in WebKitSettings's > constructed? This looks a bit hackish. That would be a problem if the required X extensions are not present and SetNativeSurfaceHandleForCompositing message is not sent. The web process would enter AC mode but we wouldn't render anything. I think this is the safest approach, the setting is disabled by default, and should only be enabled when the web process has a native surface handle. Comment on attachment 244683 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=244683&action=review >>> Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:691 >>> + m_webPage.corePage()->settings().setAcceleratedCompositingEnabled(true); >> >> Wouldn't it be better to enable this unconditionally in WebKitSettings's constructed? This looks a bit hackish. > > That would be a problem if the required X extensions are not present and SetNativeSurfaceHandleForCompositing message is not sent. The web process would enter AC mode but we wouldn't render anything. I think this is the safest approach, the setting is disabled by default, and should only be enabled when the web process has a native surface handle. okidoki Committed r178509: <http://trac.webkit.org/changeset/178509> |