auto import from //branches/cupcake/...@127101
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 71fef38..170083d 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -54,8 +54,6 @@
 import android.graphics.drawable.PaintDrawable;
 import android.hardware.SensorListener;
 import android.hardware.SensorManager;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
 import android.net.Uri;
 import android.net.WebAddress;
 import android.net.http.EventHandler;
@@ -63,7 +61,6 @@
 import android.net.http.SslCertificate;
 import android.net.http.SslError;
 import android.os.AsyncTask;
-import android.os.Build;
 import android.os.Bundle;
 import android.os.Debug;
 import android.os.Environment;
@@ -78,7 +75,6 @@
 import android.os.SystemProperties;
 import android.preference.PreferenceManager;
 import android.provider.Browser;
-import android.provider.Checkin;
 import android.provider.Contacts.Intents.Insert;
 import android.provider.Contacts;
 import android.provider.Downloads;
@@ -104,7 +100,6 @@
 import android.view.animation.AlphaAnimation;
 import android.view.animation.Animation;
 import android.view.animation.AnimationSet;
-import android.view.animation.AnimationUtils;
 import android.view.animation.DecelerateInterpolator;
 import android.view.animation.ScaleAnimation;
 import android.view.animation.TranslateAnimation;
@@ -112,8 +107,6 @@
 import android.webkit.CookieSyncManager;
 import android.webkit.DownloadListener;
 import android.webkit.HttpAuthHandler;
-import android.webkit.JsPromptResult;
-import android.webkit.JsResult;
 import android.webkit.SslErrorHandler;
 import android.webkit.URLUtil;
 import android.webkit.WebChromeClient;
@@ -143,7 +136,6 @@
 import java.util.Date;
 import java.util.Enumeration;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Locale;
 import java.util.regex.Matcher;
@@ -151,7 +143,6 @@
 import java.util.Vector;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
-import java.util.zip.ZipInputStream;
 
 public class BrowserActivity extends Activity
     implements KeyTracker.OnKeyTracker,
@@ -210,7 +201,8 @@
 
                     if (googleUser == null || !hostedUser.equals(googleUser)) {
                         String domain = hostedUser.substring(hostedUser.lastIndexOf('@')+1);
-                        homepage = "http://www.google.com/m/a/" + domain;
+                        homepage = "http://www.google.com/m/a/" + domain + "?client=ms-" +
+                            SystemProperties.get("ro.com.google.clientid", "unknown");
                     }
                 } catch (RemoteException ignore) {
                     // Login service died; carry on
@@ -228,7 +220,7 @@
                         resumeAfterCredentials();
 
                         // as this is running in a separate thread,
-                        // BrowserActivity's onDestroy() may have been called, 
+                        // BrowserActivity's onDestroy() may have been called,
                         // which also calls unbindService().
                         if (mGlsConnection != null) {
                             // we no longer need to keep GLS open
@@ -665,10 +657,8 @@
         mGenericFavicon = getResources().getDrawable(
                 R.drawable.app_web_browser_sm);
 
-
-        mContentView = new FrameLayout(this);
-
-        setContentView(mContentView);
+        mContentView = (FrameLayout) getWindow().getDecorView().findViewById(
+                com.android.internal.R.id.content);
 
         // Create the tab control and our initial tab
         mTabControl = new TabControl(this);
@@ -773,7 +763,7 @@
         }
         final String action = intent.getAction();
         final int flags = intent.getFlags();
-        if (Intent.ACTION_MAIN.equals(action) || 
+        if (Intent.ACTION_MAIN.equals(action) ||
                 (flags & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) != 0) {
             // just resume the browser
             return;
@@ -786,7 +776,7 @@
             if (url == null || url.length() == 0) {
                 url = mSettings.getHomePage();
             }
-            if (Intent.ACTION_VIEW.equals(action) && 
+            if (Intent.ACTION_VIEW.equals(action) &&
                     (flags & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
                 // if FLAG_ACTIVITY_BROUGHT_TO_FRONT flag is on, the url will be
                 // opened in a new tab unless we have reached MAX_TABS. Then the
@@ -872,7 +862,7 @@
 
     /**
      * Looking for the pattern like this
-     * 
+     *
      *          *
      *         * *
      *      ***   *     *******
@@ -890,7 +880,7 @@
         public void onSensorChanged(int sensor, float[] values) {
             boolean show = false;
             float[] diff = new float[3];
-            
+
             for (int i = 0; i < 3; i++) {
                 diff[i] = values[i] - mPrev[i];
                 if (Math.abs(diff[i]) > 1) {
@@ -959,7 +949,7 @@
 
         public void onAccuracyChanged(int sensor, int accuracy) {
             // TODO Auto-generated method stub
-            
+
         }
     };
 
@@ -1018,7 +1008,7 @@
         // the default implementation requires each view to have an id. As the
         // browser handles the state itself and it doesn't use id for the views,
         // don't call the default implementation. Otherwise it will trigger the
-        // warning like this, "couldn't save which view has focus because the 
+        // warning like this, "couldn't save which view has focus because the
         // focused view XXX has no id".
 
         // Save all the tabs
@@ -1088,7 +1078,7 @@
     @Override
     public void onConfigurationChanged(Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
-        
+
         if (mPageInfoDialog != null) {
             mPageInfoDialog.dismiss();
             showPageInfo(
@@ -1132,7 +1122,7 @@
     }
 
     private boolean resumeWebView() {
-        if ((!mActivityInPause && !mPageStarted) || 
+        if ((!mActivityInPause && !mPageStarted) ||
                 (mActivityInPause && mPageStarted)) {
             CookieSyncManager.getInstance().startSync();
             WebView w = mTabControl.getCurrentWebView();
@@ -1168,7 +1158,7 @@
         mCredsDlg = new ProgressDialog(this);
         mCredsDlg.setIndeterminate(true);
         mCredsDlg.setMessage(getText(R.string.retrieving_creds_dlg_msg));
-        // If the user cancels the operation, then cancel the Google 
+        // If the user cancels the operation, then cancel the Google
         // Credentials request.
         mCredsDlg.setCancelMessage(mHandler.obtainMessage(CANCEL_CREDS_REQUEST));
         mCredsDlg.show();
@@ -1310,7 +1300,7 @@
     }
 
     @Override
-    public void startSearch(String initialQuery, boolean selectInitialQuery, 
+    public void startSearch(String initialQuery, boolean selectInitialQuery,
             Bundle appSearchData, boolean globalSearch) {
         if (appSearchData == null) {
             appSearchData = createGoogleSearchSourceBundle(GOOGLE_SEARCH_SOURCE_TYPE);
@@ -1429,11 +1419,11 @@
                 Browser.saveBookmark(this, getTopWindow().getTitle(),
                         getTopWindow().getUrl());
                 break;
-                
+
             case R.id.share_page_menu_id:
                 Browser.sendString(this, getTopWindow().getUrl());
                 break;
-                
+
             case R.id.dump_nav_menu_id:
                 getTopWindow().debugDump();
                 break;
@@ -1455,11 +1445,11 @@
             case R.id.view_downloads_menu_id:
                 viewDownloads(null);
                 break;
-                
+
             case R.id.flip_orientation_menu_id:
-                if (mSettings.getOrientation() != 
+                if (mSettings.getOrientation() !=
                         ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {
-                    mSettings.setOrientation(this, 
+                    mSettings.setOrientation(this,
                             ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
                 } else {
                     mSettings.setOrientation(this,
@@ -1542,16 +1532,16 @@
                     for (int id = 0; id < WINDOW_SHORTCUT_ID_ARRAY.length; id++) {
                         if (WINDOW_SHORTCUT_ID_ARRAY[id] == menuid) {
                             TabControl.Tab desiredTab = mTabControl.getTab(id);
-                            if (desiredTab != null && 
+                            if (desiredTab != null &&
                                     desiredTab != mTabControl.getCurrentTab()) {
                                 switchTabs(mTabControl.getCurrentIndex(), id, false);
                             }
                             break;
-                        } 
+                        }
                     }
                 }
                 break;
-                
+
             default:
                 if (!super.onOptionsItemSelected(item)) {
                     return false;
@@ -1608,10 +1598,10 @@
                 final MenuItem back = menu.findItem(R.id.back_menu_id);
                 back.setVisible(canGoBack);
                 back.setEnabled(canGoBack);
-                final MenuItem flip = 
+                final MenuItem flip =
                         menu.findItem(R.id.flip_orientation_menu_id);
-                boolean keyboardClosed = 
-                        getResources().getConfiguration().hardKeyboardHidden == 
+                boolean keyboardClosed =
+                        getResources().getConfiguration().hardKeyboardHidden ==
                         Configuration.HARDKEYBOARDHIDDEN_YES;
                 flip.setEnabled(keyboardClosed);
 
@@ -1625,7 +1615,7 @@
 
                 menu.findItem(R.id.zoom_in_menu_id).setVisible(false);
                 menu.findItem(R.id.zoom_out_menu_id).setVisible(false);
-                
+
                 // decide whether to show the share link option
                 PackageManager pm = getPackageManager();
                 Intent send = new Intent(Intent.ACTION_SEND);
@@ -1634,7 +1624,7 @@
                         PackageManager.MATCH_DEFAULT_ONLY);
                 menu.findItem(R.id.share_page_menu_id).setVisible(
                         list.size() > 0);
-                
+
                 // Hide the menu+<window number> items
                 // Can't set visibility in menu xml file b/c when a
                 // group is set visible, all items are set visible.
@@ -2171,7 +2161,7 @@
             mText = toCopy;
         }
     }
-    
+
     private class Download implements OnMenuItemClickListener {
         private String mText;
 
@@ -2549,7 +2539,6 @@
     public final static int STOP_LOAD               = 1002;
 
     // Message Ids
-    private static final int JS_CONFIRM              = 101;
     private static final int FOCUS_NODE_HREF         = 102;
     private static final int CANCEL_CREDS_REQUEST    = 103;
     private static final int ANIMATE_FROM_OVERVIEW   = 104;
@@ -2563,15 +2552,6 @@
 
         public void handleMessage(Message msg) {
             switch (msg.what) {
-                case JS_CONFIRM:
-                    JsResult res = (JsResult) msg.obj;
-                    if (msg.arg1 == 0) {
-                        res.cancel();
-                    } else {
-                        res.confirm();
-                    }
-                    break;
-
                 case ANIMATE_FROM_OVERVIEW:
                     final HashMap map = (HashMap) msg.obj;
                     animateFromTabOverview((AnimatingView) map.get("view"),
@@ -2815,7 +2795,7 @@
                                     && mWebView.getContext() != null
                                     && mWebView.getContext().getSystemService(
                                     Context.CONNECTIVITY_SERVICE) != null) {
-                                ConnectivityManager cManager = 
+                                ConnectivityManager cManager =
                                         (ConnectivityManager) mWebView
                                         .getContext().getSystemService(
                                         Context.CONNECTIVITY_SERVICE);
@@ -3191,7 +3171,7 @@
                 mTabControl.createSubWindow();
                 final TabControl.Tab t = mTabControl.getCurrentTab();
                 attachSubWindow(t);
-                WebView.WebViewTransport transport = 
+                WebView.WebViewTransport transport =
                         (WebView.WebViewTransport) msg.obj;
                 transport.setWebView(t.getSubWebView());
                 msg.sendToTarget();
@@ -3338,7 +3318,7 @@
             try {
                 url = "%" + url;
                 String [] selArgs = new String[] { url };
-                
+
                 String where = Browser.BookmarkColumns.URL + " LIKE ? AND "
                         + Browser.BookmarkColumns.BOOKMARK + " = 0";
                 Cursor c = mResolver.query(Browser.BOOKMARKS_URI,
@@ -3366,159 +3346,6 @@
         public void onReceivedIcon(WebView view, Bitmap icon) {
             updateIcon(view.getUrl(), icon);
         }
-
-        //----------------------------------------------------------------------
-        // JavaScript functions.
-        //----------------------------------------------------------------------
-
-        // Show an alert to the user.
-        @Override
-        public boolean onJsAlert(WebView view, String url, String message,
-                JsResult result) {
-            String title = url;
-            if (URLUtil.isDataUrl(url)) {
-                // For data: urls, we just display 'JavaScript' similar to
-                // Safari.
-                title = getString(R.string.js_dialog_title_default);
-            } else {
-                try {
-                    URL aUrl = new URL(url);
-                    // Example: "The page at 'http://www.mit.edu' says:"
-                    title = getText(R.string.js_dialog_title_prefix)
-                        + " '"
-                        + (aUrl.getProtocol() + "://" + aUrl.getHost())
-                        + "' "
-                        + getText(R.string.js_dialog_title_suffix);
-                } catch (MalformedURLException ex) {
-                    // do nothing. just use the url passed as the title
-                }
-            }
-            final JsResult res = result;
-            new AlertDialog.Builder(BrowserActivity.this)
-                    .setTitle(title)
-                    .setMessage(message)
-                    .setPositiveButton(R.string.ok,
-                            new AlertDialog.OnClickListener() {
-                                public void onClick(DialogInterface dialog,
-                                        int which) {
-                                    res.confirm();
-                                }
-                            })
-                    .setCancelable(false)
-                    .show();
-            return true;
-        }
-
-        @Override
-        public boolean onJsConfirm(WebView view, String url, String message,
-                final JsResult result) {
-            String title = url;
-            try {
-                URL aUrl = new URL(url);
-                // Example: "The page at 'http://www.mit.edu' says:"
-                title = getText(R.string.js_dialog_title_prefix)
-                    + " '"
-                    + (aUrl.getProtocol() + "://" + aUrl.getHost())
-                    + "' "
-                    + getText(R.string.js_dialog_title_suffix);
-            } catch (MalformedURLException ex) {
-                // do nothing. just use the url passed as the title
-            }
-            new AlertDialog.Builder(BrowserActivity.this)
-                .setTitle(title)
-                .setMessage(message)
-                .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
-                    public void onClick(DialogInterface dialog, int which) {
-                        mHandler.obtainMessage(JS_CONFIRM, 1, 0, result).sendToTarget();
-                    }})
-                .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
-                    public void onClick(DialogInterface dialog, int which) {
-                        mHandler.obtainMessage(JS_CONFIRM, 0, 0, result).sendToTarget();
-                    }})
-                .show();
-            // Return true so WebView knows we will handle the confirm.
-            return true;
-        }
-
-        @Override
-        public boolean onJsPrompt(WebView view, String url, String message, String defaultValue,
-                final JsPromptResult result) {
-            String title = url;
-            try {
-                URL aUrl = new URL(url);
-                // Example: "The page at 'http://www.mit.edu' says:"
-                title = getText(R.string.js_dialog_title_prefix)
-                    + " '"
-                    + (aUrl.getProtocol() + "://" + aUrl.getHost())
-                    + "' "
-                    + getText(R.string.js_dialog_title_suffix);
-            } catch (MalformedURLException ex) {
-                // do nothing, just use the url passed as the title
-            }
-
-            final LayoutInflater factory = LayoutInflater.from(BrowserActivity.this);
-            final View v = factory.inflate(R.layout.js_prompt, null);
-            ((TextView)v.findViewById(R.id.message)).setText(message);
-            ((EditText)v.findViewById(R.id.value)).setText(defaultValue);
-
-            new AlertDialog.Builder(BrowserActivity.this)
-                .setTitle(title)
-                .setView(v)
-                .setPositiveButton(R.string.ok,
-                        new DialogInterface.OnClickListener() {
-                            public void onClick(DialogInterface dialog, int whichButton) {
-                                String value = ((EditText)v.findViewById(R.id.value)).getText()
-                                        .toString();
-                                result.confirm(value);
-                            }
-                        })
-                .setNegativeButton(R.string.cancel,
-                        new DialogInterface.OnClickListener() {
-                            public void onClick(DialogInterface dialog, int whichButton) {
-                                result.cancel();
-                            }
-                        })
-                .setOnCancelListener(
-                        new DialogInterface.OnCancelListener() {
-                            public void onCancel(DialogInterface dialog) {
-                                result.cancel();
-                            }
-                        })
-                .show();
-
-            // Return true so WebView knows we will handle the prompt.
-            return true;
-        }
-
-        @Override
-        public boolean onJsBeforeUnload(WebView view, String url,
-                String message, final JsResult result) {
-            final String m =
-                    getString(R.string.js_dialog_before_unload, message);
-            new AlertDialog.Builder(BrowserActivity.this)
-                    .setMessage(m)
-                    .setPositiveButton(R.string.ok,
-                            new DialogInterface.OnClickListener() {
-                                public void onClick(DialogInterface dialog,
-                                        int which) {
-                                    // Use JS_CONFIRM since it has the same
-                                    // behavior we want here.
-                                    mHandler.obtainMessage(JS_CONFIRM, 1, 0,
-                                            result).sendToTarget();
-                                }})
-                    .setNegativeButton(R.string.cancel,
-                            new DialogInterface.OnClickListener() {
-                                public void onClick(DialogInterface dialog,
-                                        int which) {
-                                    // Use JS_CONFIRM since it has the same
-                                    // behavior we want here.
-                                    mHandler.obtainMessage(JS_CONFIRM, 0, 0,
-                                            result).sendToTarget();
-                                }})
-                    .show();
-            // Return true so WebView knows we will handle the dialog.
-            return true;
-        }
     };
 
     /**
@@ -3696,7 +3523,7 @@
                 .from(this);
 
         final View pageInfoView = factory.inflate(R.layout.page_info, null);
-        
+
         final WebView view = tab.getWebView();
 
         String url = null;
@@ -3770,7 +3597,7 @@
 
         // if we have a main top-level page SSL certificate set or a certificate
         // error
-        if (fromShowSSLCertificateOnError || 
+        if (fromShowSSLCertificateOnError ||
                 (view != null && view.getCertificate() != null)) {
             // add a 'View Certificate' button
             alertDialogBuilder.setNeutralButton(
@@ -3933,7 +3760,7 @@
                                 // need to show the dialog again once the
                                 // user is done exploring the page-info details
 
-                                showPageInfo(mTabControl.getTabFromView(view), 
+                                showPageInfo(mTabControl.getTabFromView(view),
                                         true);
                             }
                         })
@@ -4187,7 +4014,7 @@
         }
         getTopWindow().requestFocus();
     }
-    
+
     /*
      * This method is called as a result of the user selecting the options
      * menu to see the download window, or when a download changes state. It
@@ -4703,10 +4530,10 @@
     // overlap. A count of 0 means no animation where a count of > 0 means
     // there are animations in progress.
     private int mAnimationCount;
-    
+
     // As the ids are dynamically created, we can't guarantee that they will
     // be in sequence, so this static array maps ids to a window number.
-    final static private int[] WINDOW_SHORTCUT_ID_ARRAY = 
+    final static private int[] WINDOW_SHORTCUT_ID_ARRAY =
     { R.id.window_one_menu_id, R.id.window_two_menu_id, R.id.window_three_menu_id,
       R.id.window_four_menu_id, R.id.window_five_menu_id, R.id.window_six_menu_id,
       R.id.window_seven_menu_id, R.id.window_eight_menu_id };
diff --git a/src/com/android/browser/GearsFilePickerDialog.java b/src/com/android/browser/GearsFilePickerDialog.java
index c744a86..d84a970 100644
--- a/src/com/android/browser/GearsFilePickerDialog.java
+++ b/src/com/android/browser/GearsFilePickerDialog.java
@@ -413,7 +413,7 @@
       }
       if (mBackIcon == null) {
         mBackIcon = BitmapFactory.decodeResource(getResources(),
-                                                 R.drawable.gears_back);
+                com.android.internal.R.drawable.ic_menu_back);
       }
     }
 
diff --git a/src/com/android/browser/TabControl.java b/src/com/android/browser/TabControl.java
index 01ef3a8..dfac185 100644
--- a/src/com/android/browser/TabControl.java
+++ b/src/com/android/browser/TabControl.java
@@ -107,27 +107,6 @@
             }
             mActivity.dismissSubWindow(mTab);
         }
-        // JavaScript functions
-        @Override
-        public boolean onJsAlert(WebView view, String url, String message,
-                JsResult result) {
-            return mClient.onJsAlert(view, url, message, result);
-        }
-        @Override
-        public boolean onJsConfirm(WebView view, String url, String message,
-                JsResult result) {
-            return mClient.onJsConfirm(view, url, message, result);
-        }
-        @Override
-        public boolean onJsPrompt(WebView view, String url, String message,
-                String initValue, JsPromptResult result) {
-            return mClient.onJsPrompt(view, url, message, initValue, result);
-        }
-        @Override
-        public boolean onJsBeforeUnload(WebView view, String url,
-                String message, JsResult result) {
-            return mClient.onJsBeforeUnload(view, url, message, result);
-        }
     }
     // Background WebChromeClient for focusing tabs
     private class BackgroundChromeClient extends WebChromeClient {