Data URL fixes - bookmarks, save, and wallpaper

 Bug 5383517
 Images kept in data URLs can now be selected and this fixes the
 Save and Set Wallpaper options. It also removes the bookmarking
 capability.

Change-Id: I461bdcb4c950f6fcd8db8b38f4c599212106b027
diff --git a/src/com/android/browser/NavigationBarTablet.java b/src/com/android/browser/NavigationBarTablet.java
index c22b1a0..be3a9ab 100644
--- a/src/com/android/browser/NavigationBarTablet.java
+++ b/src/com/android/browser/NavigationBarTablet.java
@@ -151,6 +151,12 @@
     }
 
     @Override
+    public void onTabDataChanged(Tab tab) {
+        super.onTabDataChanged(tab);
+        showHideStar(tab);
+    }
+
+    @Override
     public void setCurrentUrlIsBookmark(boolean isBookmark) {
         mStar.setActivated(isBookmark);
     }
@@ -235,7 +241,7 @@
             }
             mGoButton.setVisibility(View.GONE);
             mVoiceSearch.setVisibility(View.GONE);
-            mStar.setVisibility(View.VISIBLE);
+            showHideStar(mUiController.getCurrentTab());
             mClearButton.setVisibility(View.GONE);
             if (mTitleBar.useQuickControls()) {
                 mSearchButton.setVisibility(View.GONE);
@@ -321,4 +327,16 @@
         combo.start();
     }
 
+    private void showHideStar(Tab tab) {
+        // hide the bookmark star for data URLs
+        if (tab != null && tab.inForeground()) {
+            int starVisibility = View.VISIBLE;
+            String url = tab.getUrl();
+            if (DataUri.isDataUri(url)) {
+                starVisibility = View.GONE;
+            }
+            mStar.setVisibility(starVisibility);
+        }
+    }
+
 }