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 {
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
public void destroy() {
super.destroy();
......
......@@ -294,6 +294,18 @@ void WebContentsObserverProxy::DidFirstVisuallyNonEmptyPaint() {
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(
const GURL& url,
ReloadType reload_type) {
......
......@@ -52,6 +52,8 @@ class WebContentsObserverProxy : public WebContentsObserver {
const FrameNavigateParams& params) override;
void DocumentAvailableInMainFrame() override;
void DidFirstVisuallyNonEmptyPaint() override;
void WasShown() override;
void WasHidden() override;
void DidStartProvisionalLoadForFrame(RenderFrameHost* render_frame_host,
const GURL& validated_url,
bool is_error_page,
......
......@@ -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
@CalledByNative
public void didNavigateAnyFrame(String url, String baseUrl, boolean isReload) {
......
......@@ -82,6 +82,16 @@ public abstract class WebContentsObserver {
*/
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.
* @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