Register for interstitial page state notification
- Block clicking on favicon when showing interstitial page
- Ensure topcontrols is always shown when showing interstitial page
diff --git a/src/com/android/browser/NavigationBarBase.java b/src/com/android/browser/NavigationBarBase.java
index ce65f16..10c091b 100644
--- a/src/com/android/browser/NavigationBarBase.java
+++ b/src/com/android/browser/NavigationBarBase.java
@@ -340,6 +340,7 @@
@Override
public void onClick(View v) {
Tab currentTab = mUiController.getCurrentTab();
+ WebView wv = currentTab.getWebView();
String url = null;
if (currentTab != null){
url = currentTab.getUrl();
@@ -347,7 +348,7 @@
if (mMore == v) {
showMenu(mMore);
} else if (mFaviconTile == v) {
- if (urlHasSitePrefs(url)){
+ if (urlHasSitePrefs(url) && (wv != null && !wv.isShowingInterstitialPage()) ){
showSiteSpecificSettings();
}
} else if (mMagnify == v) {
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index a86b2e6..f533f6c 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -666,6 +666,20 @@
ui.forceDisableFullscreenMode(popup);
}
}
+
+ @Override
+ public void onAttachInterstitialPage(WebView mWebView) {
+ Controller controller = (Controller)mWebViewController;
+ BaseUi ui = (BaseUi) controller.getUi();
+ ui.getTitleBar().showTopControls(false);
+ }
+
+ @Override
+ public void onDetachInterstitialPage(WebView mWebView) {
+ Controller controller = (Controller)mWebViewController;
+ BaseUi ui = (BaseUi) controller.getUi();
+ ui.getTitleBar().enableTopControls(true);
+ }
};
private void syncCurrentState(WebView view, String url) {