mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Add support for shared texture and external BeginFrame in OSR mode (issue #1006)
- Add CefWindowInfo::shared_texture_enabled and CefRenderHandler::OnAcceleratedPaint for shared texture support. Currently only supported on Windows (D3D11). - Add CefWindowInfo::external_begin_frame_enabled and CefBrowserHost::SendExternalBeginFrame for external begin frame support.
This commit is contained in:
committed by
Marshall Greenblatt
parent
09afa3a843
commit
713eebcafc
@@ -35,6 +35,14 @@ CefWindowHandle CefBrowserPlatformDelegateBackground::GetHostWindowHandle()
|
||||
return kNullWindowHandle;
|
||||
}
|
||||
|
||||
bool CefBrowserPlatformDelegateBackground::CanUseSharedTexture() const {
|
||||
return native_delegate_->CanUseSharedTexture();
|
||||
}
|
||||
|
||||
bool CefBrowserPlatformDelegateBackground::CanUseExternalBeginFrame() const {
|
||||
return native_delegate_->CanUseExternalBeginFrame();
|
||||
}
|
||||
|
||||
SkColor CefBrowserPlatformDelegateBackground::GetBackgroundColor() const {
|
||||
return native_delegate_->GetBackgroundColor();
|
||||
}
|
||||
|
@@ -22,6 +22,8 @@ class CefBrowserPlatformDelegateBackground
|
||||
void CloseHostWindow() override;
|
||||
CefWindowHandle GetHostWindowHandle() const override;
|
||||
SkColor GetBackgroundColor() const override;
|
||||
bool CanUseSharedTexture() const override;
|
||||
bool CanUseExternalBeginFrame() const override;
|
||||
void SynchronizeVisualProperties() override;
|
||||
void SendKeyEvent(const content::NativeWebKeyboardEvent& event) override;
|
||||
void SendMouseEvent(const blink::WebMouseEvent& event) override;
|
||||
|
@@ -42,8 +42,8 @@ void CefMimeHandlerViewGuestDelegate::OverrideWebContentsCreateParams(
|
||||
|
||||
CefRefPtr<CefBrowserHostImpl> owner_browser = GetOwnerBrowser(guest_);
|
||||
if (owner_browser->IsWindowless()) {
|
||||
CefWebContentsViewOSR* view_osr =
|
||||
new CefWebContentsViewOSR(owner_browser->GetBackgroundColor());
|
||||
CefWebContentsViewOSR* view_osr = new CefWebContentsViewOSR(
|
||||
owner_browser->GetBackgroundColor(), false, false);
|
||||
params->view = view_osr;
|
||||
params->delegate_view = view_osr;
|
||||
}
|
||||
|
Reference in New Issue
Block a user