mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-20 14:10:40 +01:00
chrome: osr: Create CefWebContentsViewOSR for guest views (see #3681)
Match the logic in Alloy's CefMimeHandlerViewGuestDelegate.
This commit is contained in:
parent
5065aba1b4
commit
708d90a6ff
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include "libcef/browser/browser_host_base.h"
|
#include "libcef/browser/browser_host_base.h"
|
||||||
#include "libcef/browser/chrome/chrome_context_menu_handler.h"
|
#include "libcef/browser/chrome/chrome_context_menu_handler.h"
|
||||||
|
#include "libcef/browser/osr/web_contents_view_osr.h"
|
||||||
|
|
||||||
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
|
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
|
||||||
|
|
||||||
@ -19,6 +20,22 @@ ChromeMimeHandlerViewGuestDelegateCef::ChromeMimeHandlerViewGuestDelegateCef(
|
|||||||
ChromeMimeHandlerViewGuestDelegateCef::
|
ChromeMimeHandlerViewGuestDelegateCef::
|
||||||
~ChromeMimeHandlerViewGuestDelegateCef() = default;
|
~ChromeMimeHandlerViewGuestDelegateCef() = default;
|
||||||
|
|
||||||
|
void ChromeMimeHandlerViewGuestDelegateCef::OverrideWebContentsCreateParams(
|
||||||
|
content::WebContents::CreateParams* params) {
|
||||||
|
DCHECK(params->guest_delegate);
|
||||||
|
|
||||||
|
auto owner_browser =
|
||||||
|
CefBrowserHostBase::GetBrowserForContents(owner_web_contents_);
|
||||||
|
DCHECK(owner_browser);
|
||||||
|
|
||||||
|
if (owner_browser->IsWindowless()) {
|
||||||
|
CefWebContentsViewOSR* view_osr = new CefWebContentsViewOSR(
|
||||||
|
owner_browser->GetBackgroundColor(), false, false);
|
||||||
|
params->view = view_osr;
|
||||||
|
params->delegate_view = view_osr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool ChromeMimeHandlerViewGuestDelegateCef::HandleContextMenu(
|
bool ChromeMimeHandlerViewGuestDelegateCef::HandleContextMenu(
|
||||||
content::RenderFrameHost& render_frame_host,
|
content::RenderFrameHost& render_frame_host,
|
||||||
const content::ContextMenuParams& params) {
|
const content::ContextMenuParams& params) {
|
||||||
|
@ -25,6 +25,8 @@ class ChromeMimeHandlerViewGuestDelegateCef
|
|||||||
~ChromeMimeHandlerViewGuestDelegateCef() override;
|
~ChromeMimeHandlerViewGuestDelegateCef() override;
|
||||||
|
|
||||||
// MimeHandlerViewGuestDelegate methods.
|
// MimeHandlerViewGuestDelegate methods.
|
||||||
|
void OverrideWebContentsCreateParams(
|
||||||
|
content::WebContents::CreateParams* params) override;
|
||||||
bool HandleContextMenu(content::RenderFrameHost& render_frame_host,
|
bool HandleContextMenu(content::RenderFrameHost& render_frame_host,
|
||||||
const content::ContextMenuParams& params) override;
|
const content::ContextMenuParams& params) override;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user