WebContents::WebContents(brightray::InspectableWebContents* web_contents)
: WebContents(web_contents->GetWebContents()) {
+ type_ = BROWSER_WINDOW;
inspectable_web_contents_ = web_contents;
}
guest_host_(nullptr),
auto_size_enabled_(false),
is_full_page_plugin_(false),
+ type_(REMOTE),
inspectable_web_contents_(nullptr) {
AttachAsUserData(web_contents);
}
guest_opaque_(true),
guest_host_(nullptr),
auto_size_enabled_(false),
- is_full_page_plugin_(false) {
+ is_full_page_plugin_(false),
+ type_(WEB_VIEW) {
auto browser_context = AtomBrowserMainParts::Get()->browser_context();
content::SiteInstance* site_instance = content::SiteInstance::CreateForURL(
browser_context, GURL("chrome-guest://fake-host"));
void OnGpuProcessCrashed(base::TerminationStatus exit_code) override;
private:
+ enum Type {
+ BROWSER_WINDOW, // Used by BrowserWindow.
+ WEB_VIEW, // Used by <webview>.
+ REMOTE, // Thin wrap around an existing WebContents.
+ };
+
// Called when received a message from renderer.
void OnRendererMessage(const base::string16& channel,
const base::ListValue& args);
// Whether the guest view is inside a plugin document.
bool is_full_page_plugin_;
+ // The type of current WebContents.
+ Type type_;
+
// Current InspectableWebContents object, can be nullptr for WebContents of
// devtools. It is a weak reference.
brightray::InspectableWebContents* inspectable_web_contents_;