Reset embedder_zoom_controller_
before assigning new one
This commit is contained in:
parent
fd7af5c1d9
commit
dadfbd3a4f
2 changed files with 14 additions and 4 deletions
|
@ -41,10 +41,7 @@ void WebViewGuestDelegate::Initialize(api::WebContents* api_web_contents) {
|
||||||
|
|
||||||
void WebViewGuestDelegate::Destroy() {
|
void WebViewGuestDelegate::Destroy() {
|
||||||
// Give the content module an opportunity to perform some cleanup.
|
// Give the content module an opportunity to perform some cleanup.
|
||||||
if (embedder_zoom_controller_) {
|
ResetZoomController();
|
||||||
embedder_zoom_controller_->RemoveObserver(this);
|
|
||||||
embedder_zoom_controller_ = nullptr;
|
|
||||||
}
|
|
||||||
guest_host_->WillDestroy();
|
guest_host_->WillDestroy();
|
||||||
guest_host_ = nullptr;
|
guest_host_ = nullptr;
|
||||||
}
|
}
|
||||||
|
@ -113,11 +110,15 @@ void WebViewGuestDelegate::DidFinishNavigation(
|
||||||
|
|
||||||
void WebViewGuestDelegate::DidDetach() {
|
void WebViewGuestDelegate::DidDetach() {
|
||||||
attached_ = false;
|
attached_ = false;
|
||||||
|
ResetZoomController();
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebViewGuestDelegate::DidAttach(int guest_proxy_routing_id) {
|
void WebViewGuestDelegate::DidAttach(int guest_proxy_routing_id) {
|
||||||
attached_ = true;
|
attached_ = true;
|
||||||
api_web_contents_->Emit("did-attach");
|
api_web_contents_->Emit("did-attach");
|
||||||
|
|
||||||
|
ResetZoomController();
|
||||||
|
|
||||||
embedder_zoom_controller_ =
|
embedder_zoom_controller_ =
|
||||||
WebContentsZoomController::FromWebContents(embedder_web_contents_);
|
WebContentsZoomController::FromWebContents(embedder_web_contents_);
|
||||||
auto zoom_controller = api_web_contents_->GetZoomController();
|
auto zoom_controller = api_web_contents_->GetZoomController();
|
||||||
|
@ -183,6 +184,13 @@ gfx::Size WebViewGuestDelegate::GetDefaultSize() const {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WebViewGuestDelegate::ResetZoomController() {
|
||||||
|
if (embedder_zoom_controller_) {
|
||||||
|
embedder_zoom_controller_->RemoveObserver(this);
|
||||||
|
embedder_zoom_controller_ = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool WebViewGuestDelegate::CanBeEmbeddedInsideCrossProcessFrames() {
|
bool WebViewGuestDelegate::CanBeEmbeddedInsideCrossProcessFrames() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,6 +88,8 @@ class WebViewGuestDelegate : public content::BrowserPluginGuestDelegate,
|
||||||
// Returns the default size of the guestview.
|
// Returns the default size of the guestview.
|
||||||
gfx::Size GetDefaultSize() const;
|
gfx::Size GetDefaultSize() const;
|
||||||
|
|
||||||
|
void ResetZoomController();
|
||||||
|
|
||||||
// The WebContents that attaches this guest view.
|
// The WebContents that attaches this guest view.
|
||||||
content::WebContents* embedder_web_contents_ = nullptr;
|
content::WebContents* embedder_web_contents_ = nullptr;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue