Fix initializing webview
This commit is contained in:
parent
39e75574f4
commit
993f66bd02
2 changed files with 14 additions and 1 deletions
|
@ -14,6 +14,7 @@
|
||||||
#include "content/public/browser/render_frame_host.h"
|
#include "content/public/browser/render_frame_host.h"
|
||||||
#include "content/public/browser/render_process_host.h"
|
#include "content/public/browser/render_process_host.h"
|
||||||
#include "content/public/browser/render_view_host.h"
|
#include "content/public/browser/render_view_host.h"
|
||||||
|
#include "content/public/browser/render_widget_host_view.h"
|
||||||
#include "content/public/browser/web_contents.h"
|
#include "content/public/browser/web_contents.h"
|
||||||
#include "native_mate/dictionary.h"
|
#include "native_mate/dictionary.h"
|
||||||
#include "native_mate/object_template_builder.h"
|
#include "native_mate/object_template_builder.h"
|
||||||
|
@ -39,7 +40,7 @@ WebContents::WebContents(content::WebContents* web_contents)
|
||||||
WebContents::WebContents(const mate::Dictionary& options)
|
WebContents::WebContents(const mate::Dictionary& options)
|
||||||
: guest_instance_id_(-1),
|
: guest_instance_id_(-1),
|
||||||
auto_size_enabled_(false) {
|
auto_size_enabled_(false) {
|
||||||
options.Get("guestInstances", &guest_instance_id_);
|
options.Get("guestInstanceId", &guest_instance_id_);
|
||||||
|
|
||||||
content::WebContents::CreateParams params(AtomBrowserContext::Get());
|
content::WebContents::CreateParams params(AtomBrowserContext::Get());
|
||||||
bool is_guest;
|
bool is_guest;
|
||||||
|
@ -99,6 +100,15 @@ bool WebContents::OnMessageReceived(const IPC::Message& message) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebContents::RenderViewReady() {
|
void WebContents::RenderViewReady() {
|
||||||
|
if (!is_guest())
|
||||||
|
return;
|
||||||
|
|
||||||
|
content::RenderViewHost* rvh = web_contents()->GetRenderViewHost();
|
||||||
|
if (auto_size_enabled_) {
|
||||||
|
rvh->EnableAutoResize(min_auto_size_, max_auto_size_);
|
||||||
|
} else {
|
||||||
|
rvh->DisableAutoResize(element_size_);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebContents::WebContentsDestroyed() {
|
void WebContents::WebContentsDestroyed() {
|
||||||
|
|
|
@ -61,6 +61,9 @@ class WebContents : public mate::EventEmitter,
|
||||||
const gfx::Size& min_size,
|
const gfx::Size& min_size,
|
||||||
const gfx::Size& max_size);
|
const gfx::Size& max_size);
|
||||||
|
|
||||||
|
// Returns whether this is a guest view.
|
||||||
|
bool is_guest() const { return guest_instance_id_ != -1; }
|
||||||
|
|
||||||
// Returns whether this guest has an associated embedder.
|
// Returns whether this guest has an associated embedder.
|
||||||
bool attached() const { return !!embedder_web_contents_; }
|
bool attached() const { return !!embedder_web_contents_; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue