Fix webview for the new API

This commit is contained in:
Cheng Zhao 2015-03-13 16:33:06 -07:00
parent 8328bce3f6
commit 12d5474077
7 changed files with 78 additions and 1 deletions

View file

@ -56,6 +56,7 @@ WebContents::WebContents(content::WebContents* web_contents)
guest_instance_id_(-1),
element_instance_id_(-1),
guest_opaque_(true),
guest_sizer_(nullptr),
auto_size_enabled_(false) {
}
@ -63,6 +64,7 @@ WebContents::WebContents(const mate::Dictionary& options)
: guest_instance_id_(-1),
element_instance_id_(-1),
guest_opaque_(true),
guest_sizer_(nullptr),
auto_size_enabled_(false) {
options.Get("guestInstanceId", &guest_instance_id_);
@ -287,6 +289,14 @@ void WebContents::DidAttach(int guest_proxy_routing_id) {
void WebContents::ElementSizeChanged(const gfx::Size& size) {
element_size_ = size;
// Only resize if needed.
if (!size.IsEmpty())
guest_sizer_->SizeContents(size);
}
content::WebContents* WebContents::GetOwnerWebContents() const {
return embedder_web_contents_;
}
void WebContents::GuestSizeChanged(const gfx::Size& old_size,
@ -302,6 +312,10 @@ void WebContents::RegisterDestructionCallback(
destruction_callback_ = callback;
}
void WebContents::SetGuestSizer(content::GuestSizer* guest_sizer) {
guest_sizer_ = guest_sizer;
}
void WebContents::WillAttach(content::WebContents* embedder_web_contents,
int element_instance_id,
bool is_full_page_plugin) {