Commit cd6c51e7 authored by tedchoc's avatar tedchoc Committed by Commit bot

Hide the page info dialog if the underlying webcontents is hidden.

BUG=621464

Review-Url: https://chromiumcodereview.appspot.com/2434893003
Cr-Commit-Position: refs/heads/master@{#426501}
parent 0abf0b0b
...@@ -422,6 +422,13 @@ public class WebsiteSettingsPopup implements OnClickListener { ...@@ -422,6 +422,13 @@ public class WebsiteSettingsPopup implements OnClickListener {
mDialog.dismiss(); mDialog.dismiss();
} }
@Override
public void wasHidden() {
// The web contents were hidden (potentially by loading another URL via an intent),
// so dismiss the dialog).
mDialog.dismiss();
}
@Override @Override
public void destroy() { public void destroy() {
super.destroy(); super.destroy();
......
...@@ -294,6 +294,18 @@ void WebContentsObserverProxy::DidFirstVisuallyNonEmptyPaint() { ...@@ -294,6 +294,18 @@ void WebContentsObserverProxy::DidFirstVisuallyNonEmptyPaint() {
Java_WebContentsObserverProxy_didFirstVisuallyNonEmptyPaint(env, obj); Java_WebContentsObserverProxy_didFirstVisuallyNonEmptyPaint(env, obj);
} }
void WebContentsObserverProxy::WasShown() {
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jobject> obj(java_observer_);
Java_WebContentsObserverProxy_wasShown(env, obj);
}
void WebContentsObserverProxy::WasHidden() {
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jobject> obj(java_observer_);
Java_WebContentsObserverProxy_wasHidden(env, obj);
}
void WebContentsObserverProxy::DidStartNavigationToPendingEntry( void WebContentsObserverProxy::DidStartNavigationToPendingEntry(
const GURL& url, const GURL& url,
ReloadType reload_type) { ReloadType reload_type) {
......
...@@ -52,6 +52,8 @@ class WebContentsObserverProxy : public WebContentsObserver { ...@@ -52,6 +52,8 @@ class WebContentsObserverProxy : public WebContentsObserver {
const FrameNavigateParams& params) override; const FrameNavigateParams& params) override;
void DocumentAvailableInMainFrame() override; void DocumentAvailableInMainFrame() override;
void DidFirstVisuallyNonEmptyPaint() override; void DidFirstVisuallyNonEmptyPaint() override;
void WasShown() override;
void WasHidden() override;
void DidStartProvisionalLoadForFrame(RenderFrameHost* render_frame_host, void DidStartProvisionalLoadForFrame(RenderFrameHost* render_frame_host,
const GURL& validated_url, const GURL& validated_url,
bool is_error_page, bool is_error_page,
......
...@@ -138,6 +138,22 @@ class WebContentsObserverProxy extends WebContentsObserver { ...@@ -138,6 +138,22 @@ class WebContentsObserverProxy extends WebContentsObserver {
} }
} }
@Override
@CalledByNative
public void wasShown() {
for (mObserversIterator.rewind(); mObserversIterator.hasNext();) {
mObserversIterator.next().wasShown();
}
}
@Override
@CalledByNative
public void wasHidden() {
for (mObserversIterator.rewind(); mObserversIterator.hasNext();) {
mObserversIterator.next().wasHidden();
}
}
@Override @Override
@CalledByNative @CalledByNative
public void didNavigateAnyFrame(String url, String baseUrl, boolean isReload) { public void didNavigateAnyFrame(String url, String baseUrl, boolean isReload) {
......
...@@ -82,6 +82,16 @@ public abstract class WebContentsObserver { ...@@ -82,6 +82,16 @@ public abstract class WebContentsObserver {
*/ */
public void didFirstVisuallyNonEmptyPaint() {} public void didFirstVisuallyNonEmptyPaint() {}
/**
* The web contents was shown.
*/
public void wasShown() {}
/**
* The web contents was hidden.
*/
public void wasHidden() {}
/** /**
* Similar to didNavigateMainFrame but also called on subframe navigations. * Similar to didNavigateMainFrame but also called on subframe navigations.
* @param url The validated url for the page. * @param url The validated url for the page.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment