diff options
Diffstat (limited to 'src/com/android/browser/NavigationBarBase.java')
-rw-r--r-- | src/com/android/browser/NavigationBarBase.java | 52 |
1 files changed, 38 insertions, 14 deletions
diff --git a/src/com/android/browser/NavigationBarBase.java b/src/com/android/browser/NavigationBarBase.java index 486c2022..90879917 100644 --- a/src/com/android/browser/NavigationBarBase.java +++ b/src/com/android/browser/NavigationBarBase.java @@ -58,7 +58,6 @@ import java.net.URISyntaxException; import java.net.URL; import org.codeaurora.net.NetworkServices; -import org.codeaurora.swe.Engine; import org.codeaurora.swe.WebRefiner; import org.codeaurora.swe.WebView; import org.codeaurora.swe.util.ColorUtils; @@ -93,6 +92,8 @@ public class NavigationBarBase extends LinearLayout implements private static final int WEBREFINER_COUNTER_MSG_DELAY = 3000; private Handler mHandler; + protected int mTrustLevel = SiteTileView.TRUST_UNKNOWN; + private static final String noSitePrefs[] = { "browser://", "about:", @@ -165,21 +166,28 @@ public class NavigationBarBase extends LinearLayout implements public void setSecurityState(Tab.SecurityState securityState) { switch (securityState) { case SECURITY_STATE_SECURE: - mFaviconTile.setTrustLevel(SiteTileView.TRUST_TRUSTED); + mTrustLevel = SiteTileView.TRUST_TRUSTED; mFaviconTile.setBadgeHasCertIssues(false); break; case SECURITY_STATE_MIXED: - mFaviconTile.setTrustLevel(SiteTileView.TRUST_UNTRUSTED); + mTrustLevel = SiteTileView.TRUST_UNTRUSTED; mFaviconTile.setBadgeHasCertIssues(true); + mTitleBar.showTopControls(false); break; case SECURITY_STATE_BAD_CERTIFICATE: - mFaviconTile.setTrustLevel(SiteTileView.TRUST_AVOID); + mTrustLevel = SiteTileView.TRUST_AVOID; mFaviconTile.setBadgeHasCertIssues(true); + mTitleBar.showTopControls(false); break; case SECURITY_STATE_NOT_SECURE: default: - mFaviconTile.setTrustLevel(SiteTileView.TRUST_UNKNOWN); + mTrustLevel = SiteTileView.TRUST_UNKNOWN; } + mFaviconTile.setTrustLevel(mTrustLevel); + } + + public int getTrustLevel() { + return mTrustLevel; } public static int adjustColor(int color, float hueMultiplier, @@ -437,7 +445,7 @@ public class NavigationBarBase extends LinearLayout implements if (mUrlInput.getText().length() == 0) { Tab currentTab = mUiController.getTabControl().getCurrentTab(); if (currentTab != null) { - setDisplayTitle(currentTab.getUrl()); + setDisplayTitle(currentTab.getTitle(), currentTab.getUrl()); } } } @@ -458,10 +466,18 @@ public class NavigationBarBase extends LinearLayout implements } } - void setDisplayTitle(String title) { + void setDisplayTitle(String title, String url) { if (!isEditingUrl()) { - if (!title.equals(mUrlInput.getText().toString())) { - mUrlInput.setText(title, false); + if (!TextUtils.isEmpty(title)) { + if (mTrustLevel == SiteTileView.TRUST_TRUSTED) { + if (!title.equals(mUrlInput.getText().toString())) { + mUrlInput.setText(title, false); + } + return; + } + } + if (!url.equals(mUrlInput.getText().toString())) { + mUrlInput.setText(url, false); } } } @@ -499,21 +515,21 @@ public class NavigationBarBase extends LinearLayout implements // logic in UrlHandler for other schemas if (url != null && t != null && url.startsWith("javascript:")) { mUiController.loadUrl(t, url); - setDisplayTitle(text); + setDisplayTitle(null, text); return; } // add for carrier wap2estore feature if (url != null && t != null && wap2estore && isEstoreTypeUrl(url)) { if (handleEstoreTypeUrl(url)) { - setDisplayTitle(text); + setDisplayTitle(null, text); return; } } // add for rtsp scheme feature if (url != null && t != null && isRtspTypeUrl(url)) { if (handleRtspTypeUrl(url)) { - setDisplayTitle(text); + setDisplayTitle(null, text); return; } } @@ -537,7 +553,7 @@ public class NavigationBarBase extends LinearLayout implements i.putExtra("source", appData); } mUiController.handleNewIntent(i); - setDisplayTitle(text); + setDisplayTitle(null, text); } private boolean isMakeCallTypeUrl(String url) { @@ -648,7 +664,7 @@ public class NavigationBarBase extends LinearLayout implements public void run() { clearFocus(); if (currentTab != null) { - setDisplayTitle(currentTab.getUrl()); + setDisplayTitle(currentTab.getTitle(), currentTab.getUrl()); } } }); @@ -757,6 +773,7 @@ public class NavigationBarBase extends LinearLayout implements mFaviconTile.setVisibility(View.GONE); mMagnify.setVisibility(View.VISIBLE); } + setDisplayTitle(currentTab.getTitle(), currentTab.getUrl()); } mUiController.setWindowDimming(0.0f); } @@ -769,6 +786,13 @@ public class NavigationBarBase extends LinearLayout implements mMore.setVisibility(View.GONE); if (mUiController != null) { mUiController.setWindowDimming(0.75f); + if (mTrustLevel == SiteTileView.TRUST_TRUSTED) { + Tab currentTab = mUiController.getCurrentTab(); + if (currentTab != null) { + mUrlInput.setText(currentTab.getUrl(), false); + mUrlInput.selectAll(); + } + } } break; case STATE_EDITED: |