Merge "Change "Save Web Archive" to "Save Page""
diff --git a/res/menu-xlarge/browser.xml b/res/menu-xlarge/browser.xml
index a791cdd..be4a521 100644
--- a/res/menu-xlarge/browser.xml
+++ b/res/menu-xlarge/browser.xml
@@ -32,6 +32,8 @@
             android:title="@string/share_page"
             android:icon="@drawable/ic_share_holo_dark"
             android:alphabeticShortcut="s" />
+        <item android:id="@+id/save_webarchive_menu_id"
+            android:title="@string/menu_save_webarchive" />
         <item android:id="@+id/page_info_menu_id"
             android:title="@string/page_info"
             android:icon="@drawable/ic_pageinfo_holo_dark"
@@ -44,8 +46,6 @@
             android:title="@string/menu_preferences"
             android:icon="@drawable/ic_settings_holo_dark"
             android:alphabeticShortcut="p" />
-        <item android:id="@+id/save_webarchive_menu_id"
-            android:title="@string/menu_save_webarchive" />
         <!-- followings are debug only -->
         <item android:id="@+id/dump_nav_menu_id"
             android:title="@string/dump_nav"
diff --git a/res/menu/browser.xml b/res/menu/browser.xml
index 7a59ffd..abe3716 100644
--- a/res/menu/browser.xml
+++ b/res/menu/browser.xml
@@ -45,6 +45,8 @@
             android:title="@string/share_page"
             android:icon="@drawable/ic_share_holo_dark"
             android:alphabeticShortcut="s" />
+        <item android:id="@+id/save_webarchive_menu_id"
+            android:title="@string/menu_save_webarchive" />
         <item android:id="@+id/page_info_menu_id"
             android:title="@string/page_info"
             android:icon="@drawable/ic_pageinfo_holo_dark"
@@ -57,8 +59,6 @@
             android:title="@string/menu_preferences"
             android:icon="@drawable/ic_settings_holo_dark"
             android:alphabeticShortcut="p" />
-        <item android:id="@+id/save_webarchive_menu_id"
-            android:title="@string/menu_save_webarchive" />
         <!-- followings are debug only -->
         <item android:id="@+id/dump_nav_menu_id"
             android:title="@string/dump_nav"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8005e14..0aeffca 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -235,12 +235,12 @@
     <string name="copy_page_url">Copy page url</string>
     <!-- Menu item -->
     <string name="share_page">Share page</string>
-    <!-- Menu item for saving a page as a web archive. -->
-    <string name="menu_save_webarchive">Save as Web Archive</string>
-    <!-- Toast informing the user that the page has been saved. -->
-    <string name="webarchive_saved">Web archive saved.</string>
-    <!-- Toast informing the user that saving the page has failed. -->
-    <string name="webarchive_failed">Failed to save web archive.</string>
+    <!-- Menu item for saving a page. [CHAR LIMIT=30] -->
+    <string name="menu_save_webarchive">Save page</string>
+    <!-- Toast informing the user that the page has been saved. [CHAR LIMIT=50] -->
+    <string name="webarchive_saved">Page saved.</string>
+    <!-- Toast informing the user that saving the page has failed. [CHAR LIMIT=50] -->
+    <string name="webarchive_failed">Failed to save page.</string>
     <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
     <string name="contextheader_folder_bookmarkcount"><xliff:g id="bookmark_count">%d</xliff:g> bookmarks</string>
     <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 6e06e6e..e72d7b3 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -1468,8 +1468,10 @@
                 newtab.setEnabled(getTabControl().canCreateNewTab());
 
                 MenuItem archive = menu.findItem(R.id.save_webarchive_menu_id);
-                String url = w != null ? w.getUrl() : null;
-                archive.setVisible(url != null && !url.endsWith(".webarchivexml"));
+                Tab tab = getTabControl().getCurrentTab();
+                String url = tab != null ? tab.getUrl() : null;
+                archive.setVisible(!TextUtils.isEmpty(url)
+                        && !url.endsWith(".webarchivexml"));
                 break;
         }
         mCurrentMenuState = mMenuState;
@@ -1591,6 +1593,7 @@
                 }
                 WebView topWebView = getCurrentTopWebView();
                 final String title = topWebView.getTitle();
+                final String url = topWebView.getUrl();
                 topWebView.saveWebArchive(directory, true,
                         new ValueCallback<String>() {
                     @Override
@@ -1614,8 +1617,8 @@
                                 return;
                             }
                         }
-                        Toast.makeText(mActivity,
-                                R.string.webarchive_failed, Toast.LENGTH_SHORT).show();
+                        DownloadHandler.onDownloadStartNoStream(mActivity,
+                                url, null, null, null);
                     }
                 });
                 break;