WebContents::WebContents(content::WebContents* web_contents)
: CommonWebContentsDelegate(false),
content::WebContentsObserver(web_contents),
- guest_instance_id_(-1),
guest_opaque_(true),
guest_host_(nullptr),
auto_size_enabled_(false),
WebContents::WebContents(const mate::Dictionary& options)
: CommonWebContentsDelegate(true),
- guest_instance_id_(-1),
guest_opaque_(true),
guest_host_(nullptr),
auto_size_enabled_(false),
is_full_page_plugin_(false) {
- options.Get("guestInstanceId", &guest_instance_id_);
-
auto browser_context = AtomBrowserContext::Get();
content::SiteInstance* site_instance = content::SiteInstance::CreateForURL(
browser_context, GURL("chrome-guest://fake-host"));
content::WebContents::CreateParams params(browser_context, site_instance);
- bool is_guest;
- if (options.Get("isGuest", &is_guest) && is_guest)
- params.guest_delegate = this;
+ params.guest_delegate = this;
auto web_contents = content::WebContents::Create(params);
InitWithWebContents(web_contents, GetWindowFromGuest(web_contents));
// Returns the default size of the guestview.
gfx::Size GetDefaultSize() const;
- // Unique ID for a guest WebContents.
- int guest_instance_id_;
-
// Stores whether the contents of the guest can be transparent.
bool guest_opaque_;
webViewManager ?= process.atomBinding 'web_view_manager'
id = getNextInstanceId embedder
- guest = webContents.create
- isGuest: true
- guestInstanceId: id
+ guest = webContents.create()
guestInstances[id] = {guest, embedder}
# Destroy guest when the embedder is gone or navigated.