diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 9fdf63b..a355610 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1,25 +1,25 @@
 <!--
-/* //device/apps/Browser/AndroidManifest.xml
-**
-** Copyright 2006, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
+/*
+ * Copyright 2006, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.browser">
 
     <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" />
+    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
     <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
@@ -28,12 +28,15 @@
     <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.WAKE_LOCK"/>
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
     <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
+    <uses-permission android:name="android.permission.BACKUP_DATA" />
 
     <application   android:name="Browser"
                    android:label="@string/application_name"
                    android:icon="@drawable/ic_launcher_browser"
+                   android:backupAgent=".BrowserBackupAgent"
                    android:taskAffinity="android.task.browser" >
 
         <provider android:name="BrowserProvider"
@@ -120,7 +123,6 @@
         <activity android:name="BrowserBookmarksPage" android:label="@string/bookmarks"
                   android:launchMode="singleTop" android:configChanges="orientation|keyboardHidden">
         </activity>
-
         <activity android:name="MostVisitedActivity" android:label=""
                 android:launchMode="singleTop" android:configChanges="orientation|keyboardHidden"/>
 
@@ -152,14 +154,8 @@
                   android:configChanges="orientation|keyboardHidden">
         </activity>
 
-        <activity android:name="GearsDialog" android:process=":dialog"
-                  android:configChanges="orientation|keyboardHidden"
-                  android:theme="@android:style/Theme.Dialog">
-        </activity>
-
-        <activity android:name="GearsNativeDialog"
-                  android:configChanges="orientation|keyboardHidden"
-                  android:theme="@android:style/Theme.Dialog">
+        <activity android:name="WebsiteSettingsActivity" android:label=""
+                  android:configChanges="orientation|keyboardHidden">
         </activity>
 
         <activity android:name="BookmarkSearch"
@@ -175,14 +171,6 @@
                     android:resource="@xml/bookmarks_searchable" />
         </activity>
 
-        <service android:name="GearsDialogService"
-                 android:process=":dialog"
-                 android:exported="false">
-            <intent-filter>
-                <action android:name="com.android.browser.IGearsDialogService" />
-            </intent-filter>
-        </service>
-
         <activity android:name="AddBookmarkPage" android:label="Save bookmark" android:theme="@android:style/Theme.Dialog"
                   android:configChanges="orientation|keyboardHidden" android:windowSoftInputMode="stateHidden">
             <intent-filter>
diff --git a/assets/plugins/gears-0.5.17.0/dummy b/assets/plugins/gears-0.5.17.0/dummy
deleted file mode 100644
index 50f9ab9..0000000
--- a/assets/plugins/gears-0.5.17.0/dummy
+++ /dev/null
@@ -1 +0,0 @@
-This file is used to ensure this subdirectory is created.
diff --git a/assets/plugins/gears.so b/assets/plugins/gears.so
deleted file mode 100644
index 56b3386..0000000
--- a/assets/plugins/gears.so
+++ /dev/null
Binary files differ
diff --git a/res/drawable/background_titlebar.png b/res/drawable/background_titlebar.png
new file mode 100644
index 0000000..1fdb078
--- /dev/null
+++ b/res/drawable/background_titlebar.png
Binary files differ
diff --git a/res/drawable/blank.xml b/res/drawable/blank.xml
new file mode 100644
index 0000000..724f5e7
--- /dev/null
+++ b/res/drawable/blank.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <shape>
+            <corners android:radius="5dip"/>
+            <solid android:color="@color/white"/>
+        </shape>
+    </item>
+</layer-list>
diff --git a/res/drawable/bookmark_shadow.9.png b/res/drawable/bookmark_shadow.9.png
new file mode 100644
index 0000000..3c706be
--- /dev/null
+++ b/res/drawable/bookmark_shadow.9.png
Binary files differ
diff --git a/res/drawable/browser_tab_selected.9.png b/res/drawable/browser_tab_selected.9.png
new file mode 100644
index 0000000..f822528
--- /dev/null
+++ b/res/drawable/browser_tab_selected.9.png
Binary files differ
diff --git a/res/drawable/browser_tab_unselected.9.png b/res/drawable/browser_tab_unselected.9.png
new file mode 100644
index 0000000..6f6e373
--- /dev/null
+++ b/res/drawable/browser_tab_unselected.9.png
Binary files differ
diff --git a/res/drawable/button_line.xml b/res/drawable/button_line.xml
new file mode 100644
index 0000000..67869d0
--- /dev/null
+++ b/res/drawable/button_line.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <shape android:width="2dip">
+            <solid android:color="#ff000000"/>
+        </shape>
+    </item>
+    <item android:left="1dip" android:width="1dip">
+        <shape>
+            <solid android:color="#ffffffff"/>
+        </shape>
+    </item>
+</layer-list>
diff --git a/res/drawable/gears.png b/res/drawable/gears.png
deleted file mode 100644
index bd0fb08..0000000
--- a/res/drawable/gears.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/gears_button.xml b/res/drawable/gears_button.xml
deleted file mode 100755
index ec8cebb..0000000
--- a/res/drawable/gears_button.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2008, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-  <item android:state_focused="true" android:state_pressed="false"
-    android:state_enabled="true"
-    android:drawable="@drawable/gears_button_selected" />
-  <item android:state_enabled="true" android:state_pressed="true"
-    android:drawable="@drawable/gears_button_pressed" />
-  <item android:state_enabled="true" android:state_focused="false"
-    android:state_pressed="false"
-    android:drawable="@drawable/gears_button_default" />
-  <item android:drawable="@drawable/gears_button_default" />
-</selector>
diff --git a/res/drawable/gears_button_default.9.png b/res/drawable/gears_button_default.9.png
deleted file mode 100644
index 3b1d065..0000000
--- a/res/drawable/gears_button_default.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/gears_button_pressed.9.png b/res/drawable/gears_button_pressed.9.png
deleted file mode 100644
index 7b56794..0000000
--- a/res/drawable/gears_button_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/gears_button_selected.9.png b/res/drawable/gears_button_selected.9.png
deleted file mode 100644
index e1d5608..0000000
--- a/res/drawable/gears_button_selected.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/gears_icon_32x32.png b/res/drawable/gears_icon_32x32.png
deleted file mode 100644
index f703f7f..0000000
--- a/res/drawable/gears_icon_32x32.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/gears_icon_48x48.png b/res/drawable/gears_icon_48x48.png
deleted file mode 100644
index da5493b..0000000
--- a/res/drawable/gears_icon_48x48.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/gears_local_data.png b/res/drawable/gears_local_data.png
deleted file mode 100644
index 4c43456..0000000
--- a/res/drawable/gears_local_data.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/gears_location_data.png b/res/drawable/gears_location_data.png
deleted file mode 100644
index f69ad75..0000000
--- a/res/drawable/gears_location_data.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/ic_add_tab.png b/res/drawable/ic_add_tab.png
new file mode 100644
index 0000000..5585a54
--- /dev/null
+++ b/res/drawable/ic_add_tab.png
Binary files differ
diff --git a/res/drawable/ic_close_tab.png b/res/drawable/ic_close_tab.png
new file mode 100644
index 0000000..44a789e
--- /dev/null
+++ b/res/drawable/ic_close_tab.png
Binary files differ
diff --git a/res/drawable/ic_titlebar_zoom.png b/res/drawable/ic_titlebar_zoom.png
new file mode 100644
index 0000000..b497dab
--- /dev/null
+++ b/res/drawable/ic_titlebar_zoom.png
Binary files differ
diff --git a/res/drawable/ic_titlebar_zoom_out.png b/res/drawable/ic_titlebar_zoom_out.png
new file mode 100644
index 0000000..4b5a3dd
--- /dev/null
+++ b/res/drawable/ic_titlebar_zoom_out.png
Binary files differ
diff --git a/res/drawable/minitab_focus.9.png b/res/drawable/minitab_focus.9.png
new file mode 100644
index 0000000..7c290e3
--- /dev/null
+++ b/res/drawable/minitab_focus.9.png
Binary files differ
diff --git a/res/drawable/minitab_press.9.png b/res/drawable/minitab_press.9.png
new file mode 100644
index 0000000..c7369e7
--- /dev/null
+++ b/res/drawable/minitab_press.9.png
Binary files differ
diff --git a/res/drawable/minitab_selected.9.png b/res/drawable/minitab_selected.9.png
new file mode 100644
index 0000000..849e124
--- /dev/null
+++ b/res/drawable/minitab_selected.9.png
Binary files differ
diff --git a/res/drawable/minitab_unselected.9.png b/res/drawable/minitab_unselected.9.png
new file mode 100644
index 0000000..e12b36d
--- /dev/null
+++ b/res/drawable/minitab_unselected.9.png
Binary files differ
diff --git a/res/drawable/search.9.png b/res/drawable/search.9.png
new file mode 100644
index 0000000..037e8f0
--- /dev/null
+++ b/res/drawable/search.9.png
Binary files differ
diff --git a/res/drawable/tab_indicator.xml b/res/drawable/tab_indicator.xml
new file mode 100644
index 0000000..839532b
--- /dev/null
+++ b/res/drawable/tab_indicator.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:state_selected="true"
+        android:state_focused="false"
+        android:state_pressed="false"
+        android:drawable="@drawable/minitab_selected"
+        />
+    <item
+        android:state_selected="false"
+        android:state_focused="false"
+        android:state_pressed="false"
+        android:drawable="@drawable/minitab_unselected"
+        />
+    <item
+        android:state_focused="true"
+        android:state_selected="true"
+        android:state_pressed="false"
+        android:drawable="@drawable/minitab_focus"
+        />
+    <item
+        android:state_pressed="true"
+        android:state_selected="true"
+        android:state_focused="true"
+        android:drawable="@drawable/minitab_press"
+        />
+</selector>
diff --git a/res/drawable/tab_selected.9.png b/res/drawable/tab_selected.9.png
new file mode 100644
index 0000000..a47f024
--- /dev/null
+++ b/res/drawable/tab_selected.9.png
Binary files differ
diff --git a/res/drawable/tab_unselected.9.png b/res/drawable/tab_unselected.9.png
new file mode 100644
index 0000000..2e3a454
--- /dev/null
+++ b/res/drawable/tab_unselected.9.png
Binary files differ
diff --git a/res/layout/application.xml b/res/layout/application.xml
new file mode 100644
index 0000000..d8de265
--- /dev/null
+++ b/res/layout/application.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+  android:drawingCacheQuality="auto"
+  android:layout_width="fill_parent"
+  android:layout_height="wrap_content"
+  android:gravity="center"
+  android:padding="0dip">
+
+  <ImageView android:id="@+id/icon"
+    android:layout_width="32px"
+    android:layout_height="32px"
+    android:padding="2dip" />
+
+  <TwoLineListItem
+    android:paddingTop="2dip"
+    android:paddingBottom="2dip"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:mode="twoLine">
+
+    <TextView android:id="@+id/title"
+      android:layout_width="fill_parent"
+      android:layout_height="wrap_content"
+      android:layout_marginLeft="6dip"
+      android:layout_marginTop="6dip"
+      android:textAppearance="?android:attr/textAppearanceLarge"/>
+
+    <TextView android:id="@+id/subtitle"
+      android:layout_width="fill_parent"
+      android:layout_height="wrap_content"
+      android:layout_below="@+id/title"
+      android:layout_alignLeft="@+id/title"
+      android:textAppearance="?android:attr/textAppearanceSmall"/>
+
+  </TwoLineListItem>
+
+</LinearLayout>
diff --git a/res/layout/bookmark_thumbnail.xml b/res/layout/bookmark_thumbnail.xml
new file mode 100644
index 0000000..b3d39a4
--- /dev/null
+++ b/res/layout/bookmark_thumbnail.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:orientation="vertical"
+    android:padding="4dip"
+    >
+
+    <!-- Keep the width in sync with BrowserBookmarksPage and
+            BrowserActivity.updateScreenshot -->
+    <TextView android:id="@+id/label"
+        android:layout_width="100dip"
+        android:layout_height="wrap_content"
+        android:layout_gravity="bottom"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:textStyle="bold"
+        android:textColor="@color/white"
+        android:maxLines="1"
+        android:paddingTop="3dip"
+        android:paddingBottom="3dip"
+        android:paddingLeft="2dip"
+        android:paddingRight="2dip"
+        android:scrollHorizontally="true"
+        android:ellipsize="marquee"
+        />
+
+    <ImageView android:id="@+id/thumb"
+        android:src="@drawable/blank"
+        android:scaleType="center"
+        android:layout_width="100dip"
+        android:layout_height="80dip"
+        android:background="@drawable/bookmark_shadow"
+        android:layout_below="@+id/label"
+        />
+
+    <!-- FIXME: Want to have a gradient over the thumb -->
+
+    <!-- This holds the star for addbookmark -->
+    <LinearLayout android:id="@+id/holder"
+        android:layout_height="wrap_content"
+        android:layout_width="fill_parent"
+        android:orientation="horizontal"
+        android:background="#cc000000"
+        android:gravity="center"
+        android:layout_alignBottom="@+id/thumb"
+        >
+        <ImageView
+            android:layout_height="wrap_content"
+            android:layout_width="wrap_content"
+            android:layout_marginTop="3dip"
+            android:layout_marginBottom="3dip"
+            android:src="@drawable/ic_tab_browser_bookmark_selected"
+            />
+        <TextView
+            android:layout_height="wrap_content"
+            android:layout_width="wrap_content"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:textStyle="bold"
+            android:textColor="@color/white"
+            android:text="@string/add_bookmark_short"
+            />
+    </LinearLayout>
+</RelativeLayout>
diff --git a/res/layout/browser_downloads_page.xml b/res/layout/browser_downloads_page.xml
index c83a727..1d4d4e6 100644
--- a/res/layout/browser_downloads_page.xml
+++ b/res/layout/browser_downloads_page.xml
@@ -18,8 +18,14 @@
 ** limitations under the License.
 */
 -->
-
-<ListView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/list"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent"/>
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+    <ListView 
+        android:id="@+id/list"
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent"/>
+    <ViewStub 
+        android:id="@+id/empty"
+        android:layout="@layout/no_downloads"
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent"/>
+</merge>
diff --git a/res/layout/custom_screen.xml b/res/layout/custom_screen.xml
new file mode 100644
index 0000000..f654a84
--- /dev/null
+++ b/res/layout/custom_screen.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android">
+    <FrameLayout android:id="@+id/fullscreen_custom_content"
+        android:visibility="gone"
+        android:background="@color/black"
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent"
+    />
+    <LinearLayout android:orientation="vertical"
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent">
+        <com.android.browser.TitleBarSet android:id="@+id/title_bar"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            android:background="@drawable/tab_unselected"
+        />
+
+        <LinearLayout android:id="@+id/error_console"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+        />
+
+        <FrameLayout android:id="@+id/main_content"
+            android:layout_width="fill_parent"
+            android:layout_height="fill_parent"
+            android:foreground="?android:attr/windowContentOverlay"
+        />
+    </LinearLayout>
+</FrameLayout>
diff --git a/res/layout/error_console.xml b/res/layout/error_console.xml
new file mode 100644
index 0000000..0fffcde
--- /dev/null
+++ b/res/layout/error_console.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/error_console_view_group_id"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    android:orientation="vertical"
+    android:background="#000000">
+
+    <TextView android:id="@+id/error_console_header_id"
+        android:text="@string/error_console_header_text_minimized"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        android:paddingTop="2dip"
+        android:paddingBottom="2dip"
+        android:paddingLeft="5dip"
+        style="?android:attr/listSeparatorTextViewStyle"
+        android:visibility="gone"
+    />
+
+    <view class="com.android.browser.ErrorConsoleView$ErrorConsoleListView"
+        android:id="@+id/error_console_list_id"
+        android:layout_width="fill_parent"
+        android:layout_height="200dip"
+        android:visibility="gone"
+        android:layout_weight="1"
+        android:cacheColorHint="#000000"
+    />
+
+    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/error_console_eval_view_group_id"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        android:visibility="gone">
+
+        <EditText android:id="@+id/error_console_eval_text_id"
+            android:hint="@string/error_console_eval_text_hint"
+            android:layout_height="wrap_content"
+            android:scrollHorizontally="true"
+            android:inputType="text"
+            android:layout_width="0dip"
+            android:layout_gravity="left"
+            android:layout_weight="1.0"
+        />
+
+        <Button android:id="@+id/error_console_eval_button_id"
+            android:text="@string/error_console_eval_button_text"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+        />
+    </LinearLayout>
+</LinearLayout>
diff --git a/res/layout/gears_dialog_permission.xml b/res/layout/gears_dialog_permission.xml
deleted file mode 100644
index 01914e2..0000000
--- a/res/layout/gears_dialog_permission.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2008, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-  android:layout_width="fill_parent"
-  android:layout_height="wrap_content"
-  android:paddingBottom="10dip">
-
-  <LinearLayout
-    android:orientation="vertical"
-    android:layout_width="fill_parent"
-    android:paddingTop="10dip"
-    android:paddingLeft="10dip"
-    android:paddingRight="10dip"
-    android:layout_height="wrap_content">
-
-    <LinearLayout
-      android:layout_width="fill_parent"
-      android:layout_height="wrap_content"
-      android:orientation="horizontal">
-
-      <ImageView
-        android:id="@+id/origin_icon"
-        android:padding="10dip"
-        android:layout_centerHorizontal="true"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:visibility="gone"
-        android:adjustViewBounds="true"
-        android:src="@drawable/gears"/>
-
-      <LinearLayout
-        android:layout_width="fill_parent"
-        android:layout_height="wrap_content"
-        android:padding="4dip"
-        android:orientation="vertical">
-
-        <TextView
-          android:id="@+id/origin_title"
-          android:layout_width="fill_parent"
-          android:layout_height="wrap_content"
-          android:visibility="gone"
-          android:textStyle="bold"
-          android:gravity="left"
-          android:textSize="16dip"
-          android:textColor="@color/white"/>
-
-        <TextView
-          android:id="@+id/origin_subtitle"
-          android:layout_width="fill_parent"
-          android:layout_height="wrap_content"
-          android:visibility="gone"
-          android:gravity="left"
-          android:textSize="13dip"
-          android:textColor="@color/white"/>
-
-        <TextView
-          android:id="@+id/origin_message"
-          android:layout_width="fill_parent"
-          android:layout_height="wrap_content"
-          android:visibility="gone"
-          android:paddingTop="10dip"
-          android:gravity="left"
-          android:textSize="13dip"
-          android:textColor="@color/white"/>
-
-      </LinearLayout>
-
-    </LinearLayout>
-
-    <TextView
-      android:id="@+id/privacy_policy_label"
-      android:layout_width="fill_parent"
-      android:layout_height="wrap_content"
-      android:paddingTop="10dip"
-      android:gravity="center_horizontal"
-      android:textSize="13dip"
-      android:textStyle="italic"
-      android:textColor="@color/white"
-      android:visibility="gone"
-      android:text="@string/privacy_policy" />
-
-    <TextView
-      android:id="@+id/permission_dialog_message"
-      android:layout_width="fill_parent"
-      android:layout_height="wrap_content"
-      android:paddingLeft="4dip"
-      android:paddingTop="10dip"
-      android:gravity="left"
-      android:textSize="16dip"
-      android:textColor="@color/white"/>
-
-  </LinearLayout>
-
-</ScrollView>
diff --git a/res/layout/gears_dialog_settings.xml b/res/layout/gears_dialog_settings.xml
deleted file mode 100644
index a9026db..0000000
--- a/res/layout/gears_dialog_settings.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2008, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-  android:orientation="vertical"
-  android:layout_width="wrap_content"
-  android:layout_height="wrap_content">
-
-  <LinearLayout
-    android:orientation="vertical"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@color/gray"
-    android:padding="1px">
-
-    <LinearLayout
-      android:orientation="vertical"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:background="@color/white">
-
-      <ListView android:id="@+id/sites_list"
-        android:padding="4dip"
-        android:layout_width="fill_parent"
-        android:layout_height="wrap_content"
-        style="@android:style/Widget.ListView.White" />
-
-    </LinearLayout>
-
-  </LinearLayout>
-
-  <TextView
-    android:id="@+id/gears_version"
-    android:layout_width="fill_parent"
-    android:layout_height="wrap_content"
-    android:paddingTop="10dip"
-    android:gravity="center_horizontal"
-    android:textSize="13dip"
-    android:textStyle="italic"
-    android:textColor="@color/black" />
-
-</LinearLayout>
diff --git a/res/layout/gears_dialog_settings_row.xml b/res/layout/gears_dialog_settings_row.xml
deleted file mode 100644
index 11d757a..0000000
--- a/res/layout/gears_dialog_settings_row.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2008, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-  android:orientation="vertical"
-  android:layout_width="fill_parent"
-  android:layout_height="wrap_content"
-  android:textSize="13dip"
-  android:background="@color/white"
-  android:textColor="@color/black">
-
-  <LinearLayout
-    android:orientation="horizontal"
-    android:layout_width="fill_parent"
-    android:layout_height="wrap_content"
-    android:padding="4dip">
-
-    <TextView
-      android:id="@+id/origin_name"
-      android:layout_width="0dip"
-      android:layout_height="wrap_content"
-      android:layout_weight="1"
-      android:textColor="@color/black"
-      android:textStyle="bold"/>
-
-    <Button
-      android:id="@+id/origin_remove"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      style="@style/gears_button"
-      android:text="@string/remove"/>
-
-  </LinearLayout>
-
-  <TableLayout
-    android:layout_width="fill_parent"
-    android:layout_height="wrap_content"
-    android:stretchColumns="0"
-    android:shrinkColumns="0">
-
-    <TableRow
-      android:id="@+id/local_storage_choice"
-      android:visibility="gone">
-
-      <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="fill_parent"
-        android:textColor="@color/black"
-        android:gravity="center_vertical"
-        android:text="@string/local_storage"/>
-
-      <RadioGroup
-        android:orientation="horizontal"
-        android:layout_width="wrap_content"
-        android:layout_height="fill_parent">
-        <RadioButton
-          android:id="@+id/local_storage_allowed"
-          android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:textColor="@color/black"
-          android:textSize="13dip"
-          android:text="@string/allowed"/>
-
-        <RadioButton
-          android:id="@+id/local_storage_denied"
-          android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:textColor="@color/black"
-          android:textSize="13dip"
-          android:text="@string/denied"/>
-      </RadioGroup>
-
-    </TableRow>
-
-    <TableRow
-      android:id="@+id/location_data_choice"
-      android:visibility="gone">
-
-      <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="fill_parent"
-        android:textColor="@color/black"
-        android:layout_gravity="center_vertical"
-        android:text="@string/location"/>
-
-      <RadioGroup
-        android:orientation="horizontal"
-        android:layout_width="wrap_content"
-        android:layout_height="fill_parent">
-        <RadioButton
-          android:id="@+id/location_data_allowed"
-          android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:textColor="@color/black"
-          android:textSize="13dip"
-          android:text="@string/allowed"/>
-
-        <RadioButton
-          android:id="@+id/location_data_denied"
-          android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:textColor="@color/black"
-          android:textSize="13dip"
-          android:text="@string/denied"/>
-      </RadioGroup>
-
-    </TableRow>
-
-  </TableLayout>
-
-</LinearLayout>
diff --git a/res/layout/gears_settings.xml b/res/layout/gears_settings.xml
deleted file mode 100644
index e3a4cbe..0000000
--- a/res/layout/gears_settings.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2008, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-  android:drawingCacheQuality="auto"
-  android:layout_width="fill_parent"
-  android:layout_height="wrap_content"
-  android:orientation="vertical"
-  android:padding="0dip">
-
-  <ListView android:id="@+id/sites_list"
-    android:padding="4dip"
-    android:layout_width="fill_parent"
-    android:layout_height="wrap_content" />
-
-  <LinearLayout
-    android:layout_width="fill_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical">
-
-    <ImageView android:id="@+id/titleDivider"
-        android:layout_width="fill_parent"
-        android:layout_height="1dip"
-        android:scaleType="fitXY"
-        android:gravity="fill_horizontal"
-        android:src="@drawable/dialog_divider_horizontal_light"
-        android:layout_marginLeft="10dip"
-        android:layout_marginRight="10dip"/>
-
-  </LinearLayout>
-
-</LinearLayout>
diff --git a/res/layout/gears_settings_row.xml b/res/layout/gears_settings_row.xml
deleted file mode 100644
index 6a1e851..0000000
--- a/res/layout/gears_settings_row.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2008, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<com.android.internal.view.menu.ListMenuItemView
-  xmlns:android="http://schemas.android.com/apk/res/android"
-  android:layout_width="fill_parent"
-  android:layout_height="?android:attr/listPreferredItemHeight">
-
-  <RelativeLayout
-    android:layout_width="0dip"
-    android:layout_weight="1"
-    android:layout_height="wrap_content"
-    android:layout_gravity="center_vertical"
-    android:layout_marginLeft="6dip"
-    android:layout_marginRight="6dip"
-    android:duplicateParentState="true">
-
-    <TextView
-      android:id="@+id/title"
-      android:layout_width="fill_parent"
-      android:layout_height="wrap_content"
-      android:layout_alignParentTop="true"
-      android:layout_alignParentLeft="true"
-      android:textAppearance="?android:attr/textAppearanceMedium"
-      android:singleLine="true"
-      android:duplicateParentState="true"
-      android:ellipsize="start"
-      android:fadingEdge="none"/>
-
-    <TextView
-      android:id="@+id/subtitle"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_below="@id/title"
-      android:layout_alignParentLeft="true"
-      android:textAppearance="?android:attr/textAppearanceSmall"
-      android:singleLine="false"
-      android:duplicateParentState="true"/>
-
-    <TextView
-      android:id="@+id/info"
-      android:visibility="gone"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_below="@id/subtitle"
-      android:textAppearance="?android:attr/textAppearanceMedium"
-      android:singleLine="true"
-      android:layout_centerHorizontal="true"
-      android:duplicateParentState="true"
-      android:ellipsize="marquee"
-      android:fadingEdge="horizontal"/>
-
-  </RelativeLayout>
-
-  <LinearLayout
-    android:layout_width="wrap_content"
-    android:layout_height="fill_parent"
-    android:paddingLeft="10dip"
-    android:gravity="center_vertical"
-    android:orientation="horizontal">
-
-    <ImageView
-      android:id="@+id/icon"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:visibility="gone"
-      android:src="@drawable/ic_dialog_menu_generic" />
-
-    <CheckBox
-      android:id="@+id/checkbox"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_alignParentLeft="true"
-      android:drawablePadding="10dip"
-      android:focusable="false"
-      android:clickable="false"
-      android:duplicateParentState="true"
-      android:visibility="gone"
-      android:textSize="16dip"/>
-
-  </LinearLayout>
-
-</com.android.internal.view.menu.ListMenuItemView>
diff --git a/res/layout/geolocation_permissions_prompt.xml b/res/layout/geolocation_permissions_prompt.xml
new file mode 100755
index 0000000..404637b
--- /dev/null
+++ b/res/layout/geolocation_permissions_prompt.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+
+     This is the layout for the Geolocation permissions prompt.
+     FIXME: Make this looks pretty.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:fitsSystemWindows="true"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content">
+
+    <!-- Use an inner element as we can't show a hidden outermost element -->
+    <LinearLayout android:id="@+id/inner"
+        android:orientation="vertical"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        android:background="@color/geolocation_permissions_prompt_background"
+        android:visibility="gone">
+
+        <!-- 'google.com wants to know your location' -->
+        <TextView android:id="@+id/message"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            android:textSize="14dip"
+            android:textColor="@color/white" />
+
+        <!-- Buttons -->
+        <LinearLayout
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content">
+            <Button android:id="@+id/share_button"
+                android:text="@string/geolocation_permissions_prompt_share"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content" />
+            <Button android:id="@+id/dont_share_button"
+                android:text="@string/geolocation_permissions_prompt_dont_share"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content" />
+        </LinearLayout>
+
+        <CheckBox android:id="@+id/remember"
+            android:text="@string/geolocation_permissions_prompt_remember"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:drawablePadding="10dip"
+            android:textSize="16dip"
+            android:textColor="@color/white" />
+
+    </LinearLayout>
+</LinearLayout>
diff --git a/res/layout/new_window_button.xml b/res/layout/new_window_button.xml
new file mode 100644
index 0000000..af0a4bd
--- /dev/null
+++ b/res/layout/new_window_button.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!--    android:background="@drawable/browser_tab_unselected" -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="fill_parent"
+    >
+    <ImageView android:id="@+id/button"
+        android:src="@drawable/ic_add_tab"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        />
+</LinearLayout>
diff --git a/res/layout/gears_dialog.xml b/res/layout/permission_dialog.xml
similarity index 64%
rename from res/layout/gears_dialog.xml
rename to res/layout/permission_dialog.xml
index 57d4f0b..ff24eaf 100644
--- a/res/layout/gears_dialog.xml
+++ b/res/layout/permission_dialog.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
 /*
- * Copyright 2008, The Android Open Source Project
+ * Copyright 2009, The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,49 +27,26 @@
   <LinearLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
-    android:orientation="vertical"
+    android:orientation="horizontal"
     android:padding="10dip">
 
-    <LinearLayout
-      android:layout_width="fill_parent"
+    <ImageView
+      android:id="@+id/icon"
+      android:paddingRight="10dip"
+      android:layout_width="wrap_content"
       android:layout_height="wrap_content"
-      android:orientation="vertical">
+      android:layout_centerHorizontal="true"/>
 
-      <LinearLayout
-        android:layout_width="fill_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal">
-
-        <ImageView
-          android:id="@+id/icon"
-          android:paddingRight="10dip"
-          android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:layout_centerHorizontal="true"/>
-
-        <TextView
-          android:id="@+id/dialog_title"
-          android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:layout_centerVertical="true"
-          android:gravity="center_vertical"
-          android:visibility="gone"
-          android:textSize="16dip"
-          android:textStyle="bold"
-          android:textColor="@color/white"/>
-
-        <TextView
-          android:id="@+id/dialog_message"
-          android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:visibility="gone"
-          android:gravity="center_vertical"
-          android:textSize="20dip"
-          android:textColor="@color/white"/>
-
-      </LinearLayout>
-
-    </LinearLayout>
+    <TextView
+      android:id="@+id/dialog_title"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_centerVertical="true"
+      android:gravity="center_vertical"
+      android:visibility="gone"
+      android:textSize="16dip"
+      android:textStyle="bold"
+      android:textColor="@color/white"/>
 
   </LinearLayout>
 
@@ -89,37 +66,43 @@
 
   </LinearLayout>
 
-  <LinearLayout
-    android:id="@+id/panel_content"
+  <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
-    android:padding="0dip"
-    android:layout_weight="1" />
-
-  <RelativeLayout
-    android:layout_width="fill_parent"
-    android:layout_height="wrap_content"
-    android:paddingLeft="10dip"
-    android:paddingRight="10dip"
-    android:paddingTop="0dip">
+    android:paddingBottom="10dip"
+    android:layout_weight="1">
 
     <LinearLayout
       android:orientation="vertical"
       android:layout_width="fill_parent"
+      android:paddingTop="10dip"
+      android:paddingLeft="10dip"
+      android:paddingRight="10dip"
       android:layout_height="wrap_content">
 
       <TextView
-        android:id="@+id/selection"
+        android:id="@+id/origin"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
-        android:textSize="13dip"
-        android:gravity="right"
         android:visibility="gone"
+        android:textStyle="bold"
+        android:gravity="left"
+        android:textSize="16dip"
+        android:textColor="@color/white"/>
+
+      <TextView
+        android:id="@+id/dialog_message"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        android:paddingLeft="4dip"
+        android:paddingTop="10dip"
+        android:gravity="left"
+        android:textSize="16dip"
         android:textColor="@color/white"/>
 
     </LinearLayout>
 
-  </RelativeLayout>
+  </ScrollView>
 
   <LinearLayout
     android:layout_width="fill_parent"
@@ -138,8 +121,8 @@
 
     <Button
       android:id="@+id/button_allow"
-      android:layout_width="96px"
-      android:layout_height="48px"
+      android:layout_width="96dip"
+      android:layout_height="48dip"
       android:layout_gravity="left"
       android:layout_weight="1"
       android:maxLines="2"
@@ -147,8 +130,8 @@
 
     <Button
       android:id="@+id/button_alwaysdeny"
-      android:layout_width="96px"
-      android:layout_height="48px"
+      android:layout_width="96dip"
+      android:layout_height="48dip"
       android:layout_gravity="left"
       android:layout_weight="1"
       android:maxLines="2"
@@ -156,8 +139,8 @@
 
     <Button
       android:id="@+id/button_deny"
-      android:layout_width="96px"
-      android:layout_height="48px"
+      android:layout_width="96dip"
+      android:layout_height="48dip"
       android:layout_gravity="right"
       android:layout_weight="1"
       android:maxLines="2"
diff --git a/res/layout/tab.xml b/res/layout/tab.xml
new file mode 100755
index 0000000..ea9cd1a
--- /dev/null
+++ b/res/layout/tab.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+
+
+     This layout provides the structure for a browser tab. A tab contains the
+     WebView and any number of other UI elements specific to that tab.
+     Currently, the only such element is the Geolocation permissions prompt.
+-->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:fitsSystemWindows="true"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent">
+
+    <!-- Wrapper layout for the WebView, which must be in a FrameLayout. -->
+    <FrameLayout android:id="@+id/webview_wrapper"
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent" />
+
+    <!-- Geolocation permissions prompt -->
+    <com.android.browser.GeolocationPermissionsPrompt
+        android:id="@+id/geolocation_permissions_prompt"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content" />
+
+</FrameLayout>
diff --git a/res/layout/tab_header.xml b/res/layout/tab_header.xml
new file mode 100644
index 0000000..7187034
--- /dev/null
+++ b/res/layout/tab_header.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    android:background="@drawable/tab_indicator"
+    >
+    <TextView
+        android:id="@+id/tab_label"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textColor="?android:attr/textColorPrimary"
+        android:layout_gravity="center"
+        />
+</FrameLayout>
diff --git a/res/layout/tabs.xml b/res/layout/tabs.xml
index 7cf5b5d..908dd43 100644
--- a/res/layout/tabs.xml
+++ b/res/layout/tabs.xml
@@ -13,29 +13,40 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-
-<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@android:id/tabhost"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
     android:layout_width="fill_parent"
-    android:layout_height="fill_parent">
-
-    <LinearLayout
-        android:orientation="vertical"
+    android:layout_height="fill_parent"
+    >
+    <TextView android:id="@+id/search"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/search"
+        android:singleLine="true"
+        />
+    <TabHost
+        android:id="@android:id/tabhost"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent">
 
-        <TabWidget android:id="@android:id/tabs"
+        <LinearLayout
+            android:orientation="vertical"
             android:layout_width="fill_parent"
-            android:layout_height="68dip"
-            android:paddingLeft="1dip"
-            android:paddingRight="1dip"
-            android:paddingTop="4dip"
-        />
+            android:layout_height="fill_parent">
 
-        <FrameLayout android:id="@android:id/tabcontent"
-            android:layout_width="fill_parent"
-            android:layout_height="0dip"
-            android:layout_weight="1"
-        />
-    </LinearLayout>
-</TabHost>
\ No newline at end of file
+            <TabWidget android:id="@android:id/tabs"
+                android:layout_width="fill_parent"
+                android:layout_height="wrap_content"
+                android:paddingLeft="1dip"
+                android:paddingRight="1dip"
+                android:paddingTop="4dip"
+            />
+
+            <FrameLayout android:id="@android:id/tabcontent"
+                android:layout_width="fill_parent"
+                android:layout_height="0dip"
+                android:layout_weight="1"
+            />
+        </LinearLayout>
+    </TabHost>
+</LinearLayout>
diff --git a/res/layout/title_bar.xml b/res/layout/title_bar.xml
new file mode 100644
index 0000000..3cc25ac
--- /dev/null
+++ b/res/layout/title_bar.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:fitsSystemWindows="true"
+    android:orientation="horizontal"
+    android:layout_width="fill_parent"
+    android:background="@drawable/tab_selected"
+    android:layout_height="45dip">
+    <ImageView android:id="@+id/favicon"
+        android:layout_height="20dip"
+        android:layout_width="20dip"
+        android:layout_marginLeft="6dip"
+        android:layout_marginRight="6dip"
+        android:layout_gravity="center_vertical"
+        />
+    <!-- layout which contains the title, progress bar, and url -->
+    <LinearLayout
+        android:orientation="vertical"
+        android:layout_width="0dip"
+        android:layout_weight="1"
+        android:layout_height="wrap_content">
+        <!-- This part contains the favicon and the progress bar -->
+        <LinearLayout
+            android:orientation="vertical"
+            android:layout_marginTop="0dip"
+            android:layout_height="wrap_content"
+            android:layout_width="fill_parent"
+            >
+            <!-- need to make this no wider than the horizontal progress bar -->
+            <TextView android:id="@+id/title"
+                android:layout_height="wrap_content"
+                android:layout_width="wrap_content"
+                android:layout_marginLeft="6dip"
+                android:layout_marginTop="0dip"
+                android:textSize="14dip"
+                android:textColor="@color/white"
+                android:textStyle="bold"
+                android:singleLine="true"
+                android:padding="0dip"
+                />
+            <LinearLayout
+                android:orientation="horizontal"
+                android:layout_width="fill_parent"
+                android:layout_height="wrap_content">
+                <TextView android:id="@+id/url"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="6dip"
+                    android:textSize="11dip"
+                    android:padding="0dip"
+                    android:textColor="@color/white"
+                    android:singleLine="true"
+                    />
+                <ProgressBar android:id="@+id/progress_circular"
+                    style="?android:attr/progressBarStyleSmallTitle"
+                    android:layout_marginLeft="3dip"
+                    android:layout_gravity="center_vertical"
+                    android:max="100"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content" />
+            <ImageView android:id="@+id/lock_icon"
+                android:layout_height="wrap_content"
+                android:layout_width="wrap_content"
+                android:layout_alignBottom="@id/title"
+                android:layout_alignParentRight="true"
+                android:visibility="gone"/>
+            </LinearLayout>
+            <ProgressBar android:id="@+id/progress_horizontal"
+                style="?android:attr/progressBarStyleHorizontal"
+                android:layout_width="fill_parent"
+                android:layout_weight="1"
+                android:layout_height="5dip"
+                android:max="100" />
+        </LinearLayout>
+    </LinearLayout>
+    <!-- This buttons will change look/functionality -->
+    <ImageView android:id="@+id/rt_button"
+        android:layout_width="52dip"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_vertical"
+        android:src="@drawable/ic_close_tab"/>
+</LinearLayout>
diff --git a/res/menu/bookmarks.xml b/res/menu/bookmarks.xml
index 50dcfa9..f768c98 100644
--- a/res/menu/bookmarks.xml
+++ b/res/menu/bookmarks.xml
@@ -18,4 +18,6 @@
     <item android:id="@+id/new_context_menu_id"
         android:icon="@android:drawable/ic_menu_add"
         android:title="@string/bookmark_page" />
+    <item android:id="@+id/switch_mode_menu_id"
+        />
 </menu>
diff --git a/res/menu/bookmarkscontext.xml b/res/menu/bookmarkscontext.xml
index b43e242..badbb00 100644
--- a/res/menu/bookmarkscontext.xml
+++ b/res/menu/bookmarkscontext.xml
@@ -28,11 +28,13 @@
       android:title="@string/edit_bookmark"/>
     <item android:id="@+id/shortcut_context_menu_id"
       android:title="@string/create_shortcut_bookmark"/>
-    <item android:id="@+id/send_context_menu_id"
-      android:title="@string/tab_picker_send_url"/>
+    <item android:id="@+id/share_link_context_menu_id"
+      android:title="@string/contextmenu_sharelink"/>
     <item android:id="@+id/copy_url_context_menu_id"
       android:title="@string/contextmenu_copylink"/>
     <item android:id="@+id/delete_context_menu_id"
       android:title="@string/remove_bookmark"/>
+    <item android:id="@+id/homepage_context_menu_id"
+      android:title="@string/set_as_homepage"/>
   </group>
 </menu>
diff --git a/res/menu/browser.xml b/res/menu/browser.xml
index 088fb6e..c2f80d6 100644
--- a/res/menu/browser.xml
+++ b/res/menu/browser.xml
@@ -20,17 +20,15 @@
             android:title="@string/goto_dot" 
             android:alphabeticShortcut="l" 
             android:icon="@android:drawable/ic_menu_search"/>
-        <item android:id="@+id/bookmarks_menu_id"
-            android:title="@string/bookmarks" 
-            android:alphabeticShortcut="b" 
-            android:icon="@drawable/ic_menu_bookmark" />
-        <item android:id="@+id/windows_menu_id"
-            android:title="@string/view_tabs" 
-            android:alphabeticShortcut="t" 
-            android:titleCondensed="@string/view_tabs_condensed"
-            android:icon="@drawable/ic_menu_windows" />
         <item android:id="@+id/stop_reload_menu_id"
             android:alphabeticShortcut="r" />
+        <item android:id="@+id/add_bookmark_menu_id"
+            android:title="@string/save_to_bookmarks"
+            android:icon="@drawable/ic_menu_bookmark" />
+        <item android:id="@+id/back_menu_id"
+            android:title="@string/back"
+            android:drawable="@*android:drawable/ic_menu_back"
+            android:alphabeticShortcut="j" />
         <item android:id="@+id/forward_menu_id"
             android:title="@string/forward" 
             android:alphabeticShortcut="k"
@@ -57,8 +55,6 @@
             android:visible="false" />
     </group>
     <group android:id="@+id/MAIN_SHORTCUT_MENU" android:visible="false">
-        <item android:id="@+id/back_menu_id"
-            android:alphabeticShortcut="j" />
         <item android:id="@+id/close_menu_id"
             android:alphabeticShortcut="w" />
         <item android:id="@+id/homepage_menu_id"
@@ -86,20 +82,6 @@
         <item android:id="@+id/window_eight_menu_id"
             android:alphabeticShortcut="8" />
     </group>
-    <group android:id="@+id/TAB_MENU">
-        <item android:id="@+id/new_tab_menu_id"
-            android:title="@string/tab_picker_new_tab"
-            android:alphabeticShortcut="t" 
-            android:icon="@android:drawable/ic_menu_add" />
-        <item android:id="@+id/bookmarks_tab_menu_id"
-            android:title="@string/bookmarks" 
-            android:alphabeticShortcut="b" 
-            android:icon="@drawable/ic_menu_bookmark" />
-        <item android:id="@+id/history_tab_menu_id"
-            android:title="@string/history"
-            android:alphabeticShortcut="h" 
-            android:icon="@android:drawable/ic_menu_recent_history" />
-    </group>
     <!-- these items are toggled in and out of @+id/stop_reload_menu_id -->
     <item android:id="@+id/stop_menu_id"
         android:title="@string/stop" 
diff --git a/res/menu/historycontext.xml b/res/menu/historycontext.xml
index dfda010..bd4ede4 100644
--- a/res/menu/historycontext.xml
+++ b/res/menu/historycontext.xml
@@ -23,8 +23,10 @@
         android:title="@string/save_to_bookmarks"/>   
     <item android:id="@+id/share_link_context_menu_id"
         android:title="@string/contextmenu_sharelink"/>
-    <item android:id="@+id/copy_context_menu_id"
+    <item android:id="@+id/copy_url_context_menu_id"
         android:title="@string/contextmenu_copylink"/> 
     <item android:id="@+id/delete_context_menu_id"
-        android:title="@string/remove_history_item"/> 
+        android:title="@string/remove_history_item"/>
+    <item android:id="@+id/homepage_context_menu_id"
+        android:title="@string/set_as_homepage"/>
 </menu>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 793bb38..0871700 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -15,283 +15,232 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Prohlížeč"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Záložky"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Často navštěvované"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Historie"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Přidáno k záložkám"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Odstraněno ze záložek"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Přihlásit se: <xliff:g id="HOSTNAME">%s1</xliff:g> <xliff:g id="REALM">%s2</xliff:g>"</string>
-    <string name="username" msgid="5057566336518215922">"Název"</string>
-    <string name="password" msgid="1177138552305184404">"Heslo"</string>
-    <string name="action" msgid="183105774472071343">"Přihlásit se"</string>
-    <string name="bookmarks_search" msgid="5229596268214362873">"Prohlížeč"</string>
-    <string name="cancel" msgid="3017274947407233702">"Zrušit"</string>
-    <string name="ok" msgid="1509280796718850364">"OK"</string>
+    <string name="application_name">"Prohlížeč"</string>
+    <string name="tab_bookmarks">"Záložky"</string>
+    <string name="tab_most_visited">"Často navštěvované"</string>
+    <string name="tab_history">"Historie"</string>
+    <string name="added_to_bookmarks">"Přidáno k záložkám"</string>
+    <string name="removed_from_bookmarks">"Odstraněno ze záložek"</string>
+    <string name="sign_in_to">"Přihlásit se: <xliff:g id="HOSTNAME">%s1</xliff:g> <xliff:g id="REALM">%s2</xliff:g>"</string>
+    <string name="username">"Název"</string>
+    <string name="password">"Heslo"</string>
+    <string name="action">"Přihlásit se"</string>
+    <string name="bookmarks_search">"Prohlížeč"</string>
+    <string name="cancel">"Zrušit"</string>
+    <string name="ok">"OK"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Žádné shody"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 shoda"</item>
-    <item quantity="few" msgid="5544267486978946555">"Počet shod: <xliff:g id="NUMBER">%d</xliff:g>"</item>
-    <item quantity="other" msgid="6616125067364315405">"Počet shod: <xliff:g id="NUMBER">%d</xliff:g>"</item>
+    <item quantity="zero">"Žádné shody"</item>
+    <item quantity="one">"1 shoda"</item>
+    <item quantity="few">"Počet shod: <xliff:g id="NUMBER">%d</xliff:g>"</item>
+    <item quantity="other">"Počet shod: <xliff:g id="NUMBER">%d</xliff:g>"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Informace o stránce"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Zobrazit informace o stránce"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Adresa:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Vyskytly se problémy s certifikátem zabezpečení tohoto webu."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Pokračovat"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Upozornění zabezpečení"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Zobrazit certifikát"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Tento certifikát nepochází od důvěryhodné autority."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"Název webu se neshoduje s názvem uvedeným v certifikátu."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Platnost certifikátu vypršela."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Tento certifikát zatím není platný."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Certifikát zabezpečení"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Tento certifikát je platný."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Vydáno komu:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Běžný název:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Organizace:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Organizační jednotka:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Vydal:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Platnost:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Datum vydání:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Platnost vyprší:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Načítání podrobností pro přihlášení..."</string>
-    <string name="stopping" msgid="4839698519340302982">"Zastavuji..."</string>
-    <string name="stop" msgid="5687251076030630074">"Zastavit"</string>
-    <string name="reload" msgid="8585220783228408062">"Obnovit"</string>
-    <string name="forward" msgid="4288210890526641577">"Předat dál"</string>
-    <string name="save" msgid="5922311934992468496">"OK"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Zrušit"</string>
-    <string name="location" msgid="969988560160364559">"Umístění"</string>
-    <string name="name" msgid="5990326151488445481">"Název"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Přidat do záložek"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Upravit záložku"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Přidat odkaz na plochu"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Otevřít"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Smazat záložku"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Odstranit z historie"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Uloženo do záložek."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"Záložka musí mít název."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"Záložka musí mít umístění."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Nelze vytvořit prázdnou záložku."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"Adresa URL není platná."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Smazat"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Přidat poslední zobrazenou stránku do záložek"</string>
-    <string name="current_page" msgid="7510129573681663135">"od "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"Záložka <xliff:g id="BOOKMARK">%s</xliff:g> bude smazána."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Otevřít v novém okně"</string>
-    <string name="new_window" msgid="8117889615360211551">"Nové okno"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Přejít"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Vyhledat na stránce"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Označit text"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Přehled okna"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Okna"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Aktuální okna"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Zobrazit"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Nové okno"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Zavřít"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Přidat do záložek"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Sdílet odkaz"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Záložky"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Přidat do záložek"</string>
-    <string name="history" msgid="2451240511251410032">"Historie"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Stahování"</string>
-    <string name="share_page" msgid="593756995297268343">"Sdílet stránku"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Otevřít"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Otevřít v novém okně"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Přidat odkaz do záložek"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Uložit odkaz"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Sdílet odkaz"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Kopírovat"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Kopírovat URL odkazu"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Uložit obrázek"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Zobrazit obrázek"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Volat..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Přidat kontakt"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"Odeslat e-mail"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Mapa"</string>
-    <string name="clear" msgid="7070043081700011461">"Vymazat"</string>
-    <string name="replace" msgid="4843033491070384047">"Nahradit"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Záložky"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Nastavení"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Nastavení obsahu stránky"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Načítat obrázky"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Zobrazovat obrázky na webových stránkách"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Blokovat vyskakovací okna"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"Povolit JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Otevřít na pozadí"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Nová okna budou otevřena za aktuálním oknem"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Nastavit domovskou stránku"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Automaticky přizpůsobit stránky"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Přizpůsobit velikost webových stránek obrazovce"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Nastavení ochrany osobních údajů"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Vymazat mezipaměť"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Smazat veškerý obsah stránek z mezipaměti"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"Mezipaměť bude vymazána."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Vymazat všechny soubory cookie"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Vymazat všechny soubory cookie prohlížeče"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Všechny soubory cookie budou smazány."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Vymazat historii"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Vymazat historii stránek prohlížeče"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"Historie stránek prohlížeče bude vymazána."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Vymazat data formulářů"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Vymazat všechna uložená data formulářů"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Všechna uložená data formulářů budou vymazána."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Vymazat hesla"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Vymazat všechna uložená hesla"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Všechna uložená hesla budou vymazána."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Nastavení zabezpečení"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Zapamatovat hesla"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Ukládat uživatelská jména a hesla na webových stránkách"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Zapamatovat data formuláře"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Zapamatovat si data zadaná do formulářů pro další použití"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Zobrazit upozornění zabezpečení"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Zobrazit upozornění, pokud dojde k problému se zabezpečením webu"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Přijímat soubory cookie"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Povolit webům ukládat a číst soubory cookie"</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"Velikost textu"</string>
+    <string name="page_info">"Informace o stránce"</string>
+    <string name="page_info_view">"Zobrazit informace o stránce"</string>
+    <string name="page_info_address">"Adresa:"</string>
+    <string name="ssl_warnings_header">"Vyskytly se problémy s certifikátem zabezpečení tohoto webu."</string>
+    <string name="ssl_continue">"Pokračovat"</string>
+    <string name="security_warning">"Upozornění zabezpečení"</string>
+    <string name="view_certificate">"Zobrazit certifikát"</string>
+    <string name="ssl_untrusted">"Tento certifikát nepochází od důvěryhodné autority."</string>
+    <string name="ssl_mismatch">"Název webu se neshoduje s názvem uvedeným v certifikátu."</string>
+    <string name="ssl_expired">"Platnost certifikátu vypršela."</string>
+    <string name="ssl_not_yet_valid">"Tento certifikát zatím není platný."</string>
+    <string name="ssl_certificate">"Certifikát zabezpečení"</string>
+    <string name="ssl_certificate_is_valid">"Tento certifikát je platný."</string>
+    <string name="issued_to">"Vydáno komu:"</string>
+    <string name="common_name">"Běžný název:"</string>
+    <string name="org_name">"Organizace:"</string>
+    <string name="org_unit">"Organizační jednotka:"</string>
+    <string name="issued_by">"Vydal:"</string>
+    <string name="validity_period">"Platnost:"</string>
+    <string name="issued_on">"Datum vydání:"</string>
+    <string name="expires_on">"Platnost vyprší:"</string>
+    <string name="retrieving_creds_dlg_msg">"Načítání podrobností pro přihlášení..."</string>
+    <string name="stopping">"Zastavuji..."</string>
+    <string name="stop">"Zastavit"</string>
+    <string name="reload">"Obnovit"</string>
+    <string name="forward">"Předat dál"</string>
+    <string name="save">"OK"</string>
+    <string name="do_not_save">"Zrušit"</string>
+    <string name="location">"Umístění"</string>
+    <string name="name">"Název"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Přidat do záložek"</string>
+    <string name="edit_bookmark">"Upravit záložku"</string>
+    <string name="create_shortcut_bookmark">"Přidat odkaz na plochu"</string>
+    <string name="open_bookmark">"Otevřít"</string>
+    <string name="remove_bookmark">"Smazat záložku"</string>
+    <string name="remove_history_item">"Odstranit z historie"</string>
+    <string name="bookmark_saved">"Uloženo do záložek."</string>
+    <string name="bookmark_needs_title">"Záložka musí mít název."</string>
+    <string name="bookmark_needs_url">"Záložka musí mít umístění."</string>
+    <string name="empty_bookmark">"Nelze vytvořit prázdnou záložku."</string>
+    <string name="bookmark_url_not_valid">"Adresa URL není platná."</string>
+    <string name="delete_bookmark">"Smazat"</string>
+    <string name="bookmark_page">"Přidat poslední zobrazenou stránku do záložek"</string>
+    <string name="current_page">"od "</string>
+    <string name="delete_bookmark_warning">"Záložka <xliff:g id="BOOKMARK">%s</xliff:g> bude smazána."</string>
+    <string name="open_in_new_window">"Otevřít v novém okně"</string>
+    <string name="new_window">"Nové okno"</string>
+    <string name="goto_dot">"Přejít"</string>
+    <string name="find_dot">"Vyhledat na stránce"</string>
+    <string name="select_dot">"Označit text"</string>
+    <string name="view_tabs">"Přehled okna"</string>
+    <string name="view_tabs_condensed">"Okna"</string>
+    <string name="tab_picker_title">"Aktuální okna"</string>
+    <string name="tab_picker_view_tab">"Zobrazit"</string>
+    <string name="tab_picker_new_tab">"Nové okno"</string>
+    <string name="tab_picker_remove_tab">"Zavřít"</string>
+    <string name="tab_picker_bookmark">"Přidat do záložek"</string>
+    <string name="tab_picker_send_url">"Sdílet odkaz"</string>
+    <string name="bookmarks">"Záložky"</string>
+    <string name="shortcut_bookmark">"Přidat do záložek"</string>
+    <string name="history">"Historie"</string>
+    <string name="menu_view_download">"Stahování"</string>
+    <string name="share_page">"Sdílet stránku"</string>
+    <string name="contextmenu_openlink">"Otevřít"</string>
+    <string name="contextmenu_openlink_newwindow">"Otevřít v novém okně"</string>
+    <string name="contextmenu_bookmark_thislink">"Přidat odkaz do záložek"</string>
+    <string name="contextmenu_savelink">"Uložit odkaz"</string>
+    <string name="contextmenu_sharelink">"Sdílet odkaz"</string>
+    <string name="contextmenu_copy">"Kopírovat"</string>
+    <string name="contextmenu_copylink">"Kopírovat URL odkazu"</string>
+    <string name="contextmenu_download_image">"Uložit obrázek"</string>
+    <string name="contextmenu_view_image">"Zobrazit obrázek"</string>
+    <string name="contextmenu_dial_dot">"Volat..."</string>
+    <string name="contextmenu_add_contact">"Přidat kontakt"</string>
+    <string name="contextmenu_send_mail">"Odeslat e-mail"</string>
+    <string name="contextmenu_map">"Mapa"</string>
+    <string name="clear">"Vymazat"</string>
+    <string name="replace">"Nahradit"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Záložky"</string>
+    <string name="menu_preferences">"Nastavení"</string>
+    <string name="pref_content_title">"Nastavení obsahu stránky"</string>
+    <string name="pref_content_load_images">"Načítat obrázky"</string>
+    <string name="pref_content_load_images_summary">"Zobrazovat obrázky na webových stránkách"</string>
+    <string name="pref_content_block_popups">"Blokovat vyskakovací okna"</string>
+    <string name="pref_content_javascript">"Povolit JavaScript"</string>
+    <string name="pref_content_open_in_background">"Otevřít na pozadí"</string>
+    <string name="pref_content_open_in_background_summary">"Nová okna budou otevřena za aktuálním oknem"</string>
+    <string name="pref_content_homepage">"Nastavit domovskou stránku"</string>
+    <string name="pref_content_autofit">"Automaticky přizpůsobit stránky"</string>
+    <string name="pref_content_autofit_summary">"Přizpůsobit velikost webových stránek obrazovce"</string>
+    <string name="pref_privacy_title">"Nastavení ochrany osobních údajů"</string>
+    <string name="pref_privacy_clear_cache">"Vymazat mezipaměť"</string>
+    <string name="pref_privacy_clear_cache_summary">"Smazat veškerý obsah stránek z mezipaměti"</string>
+    <string name="pref_privacy_clear_cache_dlg">"Mezipaměť bude vymazána."</string>
+    <string name="pref_privacy_clear_cookies">"Vymazat všechny soubory cookie"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Vymazat všechny soubory cookie prohlížeče"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Všechny soubory cookie budou smazány."</string>
+    <string name="pref_privacy_clear_history">"Vymazat historii"</string>
+    <string name="pref_privacy_clear_history_summary">"Vymazat historii stránek prohlížeče"</string>
+    <string name="pref_privacy_clear_history_dlg">"Historie stránek prohlížeče bude vymazána."</string>
+    <string name="pref_privacy_clear_form_data">"Vymazat data formulářů"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Vymazat všechna uložená data formulářů"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Všechna uložená data formulářů budou vymazána."</string>
+    <string name="pref_privacy_clear_passwords">"Vymazat hesla"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Vymazat všechna uložená hesla"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Všechna uložená hesla budou vymazána."</string>
+    <string name="pref_security_title">"Nastavení zabezpečení"</string>
+    <string name="pref_security_remember_passwords">"Zapamatovat hesla"</string>
+    <string name="pref_security_remember_passwords_summary">"Ukládat uživatelská jména a hesla na webových stránkách"</string>
+    <string name="pref_security_save_form_data">"Zapamatovat data formuláře"</string>
+    <string name="pref_security_save_form_data_summary">"Zapamatovat si data zadaná do formulářů pro další použití"</string>
+    <string name="pref_security_show_security_warning">"Zobrazit upozornění zabezpečení"</string>
+    <string name="pref_security_show_security_warning_summary">"Zobrazit upozornění, pokud dojde k problému se zabezpečením webu"</string>
+    <string name="pref_security_accept_cookies">"Přijímat soubory cookie"</string>
+    <string name="pref_security_accept_cookies_summary">"Povolit webům ukládat a číst soubory cookie"</string>
+    <string name="pref_text_size">"Velikost textu"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Velmi malé"</item>
-    <item msgid="1950030433642671460">"Malé"</item>
-    <item msgid="4338347520133294584">"Běžné"</item>
-    <item msgid="5043128215356351184">"Velké"</item>
-    <item msgid="7201512237890458902">"Velmi velké"</item>
+    <item>"Velmi malé"</item>
+    <item>"Malé"</item>
+    <item>"Běžné"</item>
+    <item>"Velké"</item>
+    <item>"Velmi velké"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Velikost textu"</string>
-    <string name="pref_default_zoom" msgid="8076142259097187395">"Výchozí přiblížení"</string>
+    <string name="pref_text_size_dialogtitle">"Velikost textu"</string>
+    <string name="pref_default_zoom">"Výchozí přiblížení"</string>
   <string-array name="pref_default_zoom_choices">
-    <item msgid="549583171195154919">"Daleko"</item>
-    <item msgid="5619034257768161024">"Střední"</item>
-    <item msgid="3840999588443167001">"Zavřít"</item>
+    <item>"Daleko"</item>
+    <item>"Střední"</item>
+    <item>"Zavřít"</item>
   </string-array>
-    <string name="pref_default_zoom_dialogtitle" msgid="6095974367125109021">"Výchozí přiblížení"</string>
-    <string name="pref_extras_title" msgid="3091250467679722382">"Upřesnit nastavení"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Povolit službu Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Aplikace, které rozšiřují funkce prohlížeče"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Nastavení služby Gears"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Seznam pluginů"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Nejsou nainstalované žádné pluginy."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Aplikace, které rozšiřují funkce prohlížeče"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Obnovit výchozí"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Vymazat všechna data prohlížeče a obnovit všechna nastavení na výchozí hodnoty"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Všechna data prohlížeče budou vymazána a bude použito výchozí nastavení."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Obnovit výchozí"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Ladit"</string>
-    <string name="pref_default_text_encoding" msgid="5742965543955558478">"Kódování textu"</string>
+    <string name="pref_default_zoom_dialogtitle">"Výchozí přiblížení"</string>
+    <string name="pref_extras_title">"Upřesnit nastavení"</string>
+    <string name="pref_extras_reset_default">"Obnovit výchozí"</string>
+    <string name="pref_extras_reset_default_summary">"Vymazat všechna data prohlížeče a obnovit všechna nastavení na výchozí hodnoty"</string>
+    <string name="pref_extras_reset_default_dlg">"Všechna data prohlížeče budou vymazána a bude použito výchozí nastavení."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Obnovit výchozí"</string>
+    <string name="pref_development_title">"Ladit"</string>
+    <string name="pref_default_text_encoding">"Kódování textu"</string>
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japonština (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japonština (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japonština (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japonština (ISO-2022-JP)"</item>
+    <item>"Japonština (SHIFT_JIS)"</item>
+    <item>"Japonština (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Kódování textu"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latin-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Přesměrování"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Probíhá přesměrování webové stránky. Chcete data zadaná do formuláře znovu odeslat do nového umístění?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Problémy s datovým připojením"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Problém se souborem"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Potvrdit"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"Stránka, kterou se pokoušíte zobrazit, obsahuje data, která již byla odeslána (POSTDATA). Pokud data odešlete znovu, jakákoli akce vykonaná pomocí formuláře na stránce bude provedena znovu (např. hledání či nákup online)."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Žádné připojení k síti"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"Po obnovení připojení bude pokračovat načítání stránky."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Vymazat historii"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Nedávno navštívené stránky"</string>
-    <string name="empty_history" msgid="8738772352308207274">"Historie prohlížeče je prázdná."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Přidat záložku..."</string>
-    <string name="no_database" msgid="2256698896757181084">"Databáze neexistuje."</string>
-    <string name="search_hint" msgid="3385577802557697397">"Zadejte webovou adresu"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Přejít"</string>
-    <string name="search_settings_description" msgid="1422401062529014107">"Záložky a webová historie"</string>
-    <string name="attention" msgid="3473639060042811244">"Upozornění"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Tato stránka se pokouší otevřít vyskakovací okno."</string>
-    <string name="allow" msgid="1157313689171991335">"Povolit"</string>
-    <string name="block" msgid="9172175889884707800">"Blokovat"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Bylo dosaženo maximálního počtu oken"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Nové okno nelze otevřít, protože je již otevřen maximální počet oken."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Vyskakovací okno je již otevřené"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Nelze otevřít nové vyskakovací okno, protože může být otevřené pouze jedno."</string>
-    <string name="download_title" msgid="2122874021047565594">"Historie stahování"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Neznámé&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Otevřít"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Vymazat ze seznamu"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Zrušit stahování"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Zrušit stahování všech souborů"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Vymazat seznam"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Vymazat"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Všechny položky v seznamu budou vymazány a odstraněny z mezipaměti prohlížeče."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Zrušit stahování"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Stahování všech souborů (<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g>) bude zrušeno a soubory budou vymazány z historie stahování."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Nedostatek místa"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"Soubor <xliff:g id="FILENAME">%s</xliff:g> nelze stáhnout."\n"Uvolněte paměť telefonu a akci opakujte."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Stahování bylo neúspěšné"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"Žádná karta SD není dostupná."</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Na kartu SD je třeba stáhnout soubor <xliff:g id="FILENAME">%s</xliff:g>."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"Karta SD není dostupná"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"Karta SD je zaneprázdněna. Chcete-li povolit stahování, vyberte v oznámení možnost Vypnout úložiště USB."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Nebyla nalezena žádná aplikace, ve které lze tento soubor otevřít."</string>
-    <string name="retry" msgid="1835923075542266721">"Zkusit znovu"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"Historie stahování je prázdná."</string>
-    <string name="download_error" msgid="413496839831257187">"Stahování bylo neúspěšné."</string>
-    <string name="download_success" msgid="2279041638155595203">"<xliff:g id="FILE">%s</xliff:g> Stahování dokončeno."</string>
-    <string name="download_running" msgid="2622942231322015059">"Stahování..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"Zahájení stahování..."</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"Čekání na datové připojení..."</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"Čekání na datové připojení..."</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Stahování bylo zrušeno."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"Nelze stáhnout. Tento obsah není telefonem podporován."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"Stahování nelze dokončit. Není dostatek místa."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"Nelze stáhnout. Velikost položky nelze určit."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"Stahování bylo přerušeno a nelze v něm pokračovat."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Testovací verze prohlížeče"</string>
-    <string name="homepage_base" msgid="7888126987935305566">"http://www.google.com/m?client=ms-{CID}"</string>
-    <string name="search_the_web" msgid="6046130189241962337">"Vyhledat na webu"</string>
-    <string name="query_data_prompt" msgid="5474381240981604223">"Povolit úložiště"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Tyto webové stránky chtějí uložit informace do vašeho telefonu."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Přistupovat k poloze"</string>
-    <string name="location_message" msgid="1729456751935683242">"Tyto stránky by chtěly přistupovat k vaší poloze."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Vytvořit zástupce"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Tento web chce vytvořit zástupce této stránky na domovské obrazovce."</string>
-    <string name="settings_message" msgid="6171686603006325199">"Níže uvedená tabulka zobrazuje oprávnění, která jste udělili jednotlivým webům, které se pokusily použít službu Gears."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Výběr souboru"</string>
-    <string name="image_message" msgid="5450245866521896891">"Zvolený obrázek"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Nastavení služby Gears"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Chcete-li zjistit, jak bude vaše poloha využita, přečtěte si zásady ochrany osobních údajů těchto stránek."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Povolit místní úložiště"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Tyto stránky mohou ukládat informace do vašeho telefonu"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Tento web nemůže ukládat informace do vašeho telefonu"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Povolit zjištění polohy"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Tyto stránky mohou zjistit vaši aktuální polohu"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Tyto stránky nemohou zjistit vaši aktuální polohu"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Odstranit tento web ze služby Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Nejsou nastavena žádná oprávnění"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Odebrat tyto stránky"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Všechna oprávnění a všechna data uložená do telefonu těmito stránkami budou vymazána."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Tyto stránky budou ukládat informace do tohoto telefonu."\n" Toto nastavení můžete změnit zde:"\n" Nastavení -&gt; Nastavení služby Gears"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Tyto stránky nebudou nikdy ukládat informace do tohoto telefonu."\n" Toto nastavení můžete změnit zde:"\n" Nastavení -&gt; Nastavení služby Gears"</string>
-    <string name="location_notification" msgid="3495804750470905804">"Tyto stránky mohou přistupovat k vaší aktuální poloze."\n" Toto nastavení můžete změnit zde:"\n" Nastavení -&gt; Nastavení služby Gears"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Tyto stránky nebudou přistupovat k vaší aktuální poloze."\n" Toto nastavení můžete změnit zde:"\n" Nastavení -&gt; Nastavení služby Gears"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Zástupce vytvořen"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Nepovolit nikdy"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"OK"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Zrušit"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Nepovolit nikdy"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"OK"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Zrušit"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Použít"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Zrušit"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"OK"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Zrušit"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"cesta:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Nebyly vybrány žádné soubory"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Byl vybrán jeden soubor"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"souborů bylo vybráno"</string>
-    <string name="remove" msgid="7820112494467011374">"Odstranit"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Místní úložiště"</string>
-    <string name="allowed" msgid="1599514934221911624">"Povoleno"</string>
-    <string name="denied" msgid="7470209521858372968">"Odepřeno"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Nerozpoznaný typ dialogu"</string>
-    <string name="default_button" msgid="3901922329454578908">"OK"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Přehled"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Kódování textu"</string>
+    <string name="pref_default_text_encoding_default">"Latin-1"</string>
+    <string name="browserFrameRedirect">"Přesměrování"</string>
+    <string name="browserFrame307Post">"Probíhá přesměrování webové stránky. Chcete data zadaná do formuláře znovu odeslat do nového umístění?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Problémy s datovým připojením"</string>
+    <string name="browserFrameFileErrorLabel">"Problém se souborem"</string>
+    <string name="browserFrameFormResubmitLabel">"Potvrdit"</string>
+    <string name="browserFrameFormResubmitMessage">"Stránka, kterou se pokoušíte zobrazit, obsahuje data, která již byla odeslána (POSTDATA). Pokud data odešlete znovu, jakákoli akce vykonaná pomocí formuláře na stránce bude provedena znovu (např. hledání či nákup online)."</string>
+    <string name="loadSuspendedTitle">"Žádné připojení k síti"</string>
+    <string name="loadSuspended">"Po obnovení připojení bude pokračovat načítání stránky."</string>
+    <string name="clear_history">"Vymazat historii"</string>
+    <string name="browser_history">"Nedávno navštívené stránky"</string>
+    <string name="empty_history">"Historie prohlížeče je prázdná."</string>
+    <string name="add_new_bookmark">"Přidat záložku..."</string>
+    <string name="no_database">"Databáze neexistuje."</string>
+    <string name="search_hint">"Zadejte webovou adresu"</string>
+    <string name="search_button_text">"Přejít"</string>
+    <!-- no translation found for search_settings_description (1422401062529014107) -->
+    <skip />
+    <string name="attention">"Upozornění"</string>
+    <string name="popup_window_attempt">"Tato stránka se pokouší otevřít vyskakovací okno."</string>
+    <string name="allow">"Povolit"</string>
+    <string name="block">"Blokovat"</string>
+    <string name="too_many_windows_dialog_title">"Bylo dosaženo maximálního počtu oken"</string>
+    <string name="too_many_windows_dialog_message">"Nové okno nelze otevřít, protože je již otevřen maximální počet oken."</string>
+    <string name="too_many_subwindows_dialog_title">"Vyskakovací okno je již otevřené"</string>
+    <string name="too_many_subwindows_dialog_message">"Nelze otevřít nové vyskakovací okno, protože může být otevřené pouze jedno."</string>
+    <string name="download_title">"Historie stahování"</string>
+    <string name="download_unknown_filename">"&lt;Neznámé&gt;"</string>
+    <string name="download_menu_open">"Otevřít"</string>
+    <string name="download_menu_clear">"Vymazat ze seznamu"</string>
+    <string name="download_menu_cancel">"Zrušit stahování"</string>
+    <string name="download_menu_cancel_all">"Zrušit stahování všech souborů"</string>
+    <string name="download_menu_clear_all">"Vymazat seznam"</string>
+    <string name="download_clear_dlg_title">"Vymazat"</string>
+    <string name="download_clear_dlg_msg">"Všechny položky v seznamu budou vymazány a odstraněny z mezipaměti prohlížeče."</string>
+    <string name="download_cancel_dlg_title">"Zrušit stahování"</string>
+    <string name="download_cancel_dlg_msg">"Stahování všech souborů (<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g>) bude zrušeno a soubory budou vymazány z historie stahování."</string>
+    <string name="download_file_error_dlg_title">"Nedostatek místa"</string>
+    <string name="download_file_error_dlg_msg">"Soubor <xliff:g id="FILENAME">%s</xliff:g> nelze stáhnout."\n"Uvolněte paměť telefonu a akci opakujte."</string>
+    <string name="download_failed_generic_dlg_title">"Stahování bylo neúspěšné"</string>
+    <string name="download_no_sdcard_dlg_title">"Žádná karta SD není dostupná."</string>
+    <string name="download_no_sdcard_dlg_msg">"Na kartu SD je třeba stáhnout soubor <xliff:g id="FILENAME">%s</xliff:g>."</string>
+    <string name="download_sdcard_busy_dlg_title">"Karta SD není dostupná"</string>
+    <string name="download_sdcard_busy_dlg_msg">"Karta SD je zaneprázdněna. Chcete-li povolit stahování, vyberte v oznámení možnost Vypnout úložiště USB."</string>
+    <string name="download_no_application">"Nebyla nalezena žádná aplikace, ve které lze tento soubor otevřít."</string>
+    <string name="retry">"Zkusit znovu"</string>
+    <string name="no_downloads">"Historie stahování je prázdná."</string>
+    <string name="download_error">"Stahování bylo neúspěšné."</string>
+    <string name="download_success">"<xliff:g id="FILE">%s</xliff:g> Stahování dokončeno."</string>
+    <string name="download_running">"Stahování..."</string>
+    <string name="download_pending">"Zahájení stahování..."</string>
+    <string name="download_pending_network">"Čekání na datové připojení..."</string>
+    <string name="download_running_paused">"Čekání na datové připojení..."</string>
+    <string name="download_canceled">"Stahování bylo zrušeno."</string>
+    <string name="download_not_acceptable">"Nelze stáhnout. Tento obsah není telefonem podporován."</string>
+    <string name="download_file_error">"Stahování nelze dokončit. Není dostatek místa."</string>
+    <string name="download_length_required">"Nelze stáhnout. Velikost položky nelze určit."</string>
+    <string name="download_precondition_failed">"Stahování bylo přerušeno a nelze v něm pokračovat."</string>
+    <string name="activity_instrumentation_test_runner">"Testovací verze prohlížeče"</string>
+    <string name="homepage_base">"http://www.google.com/m?client=ms-{CID}"</string>
+    <string name="search_the_web">"Vyhledat na webu"</string>
+    <string name="zoom_overview_button_text">"Přehled"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index c7727d3..291b7b7 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -15,151 +15,151 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Browser"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Bogmærker"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Mest besøgte"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Oversigt"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Føjet til bogmærker"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Fjernet fra bogmærker"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Log ind på <xliff:g id="HOSTNAME">%s1</xliff:g>\"<xliff:g id="REALM">%s2</xliff:g>\""</string>
-    <string name="username" msgid="5057566336518215922">"Navn"</string>
-    <string name="password" msgid="1177138552305184404">"Adgangskode"</string>
-    <string name="action" msgid="183105774472071343">"Log ind"</string>
+    <string name="application_name">"Browser"</string>
+    <string name="tab_bookmarks">"Bogmærker"</string>
+    <string name="tab_most_visited">"Mest besøgte"</string>
+    <string name="tab_history">"Oversigt"</string>
+    <string name="added_to_bookmarks">"Føjet til bogmærker"</string>
+    <string name="removed_from_bookmarks">"Fjernet fra bogmærker"</string>
+    <string name="sign_in_to">"Log ind på <xliff:g id="HOSTNAME">%s1</xliff:g>\"<xliff:g id="REALM">%s2</xliff:g>\""</string>
+    <string name="username">"Navn"</string>
+    <string name="password">"Adgangskode"</string>
+    <string name="action">"Log ind"</string>
     <!-- no translation found for bookmarks_search (5229596268214362873) -->
     <skip />
-    <string name="cancel" msgid="3017274947407233702">"Annuller"</string>
-    <string name="ok" msgid="1509280796718850364">"OK"</string>
+    <string name="cancel">"Annuller"</string>
+    <string name="ok">"OK"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Der er ingen matches"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 match"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> matches"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> matches"</item>
+    <item quantity="zero">"Der er ingen matches"</item>
+    <item quantity="one">"1 match"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> matches"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> matches"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Sideoplysninger"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Vis sideoplysninger"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Adresse:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Der er problemer med sikkerhedscertifikatet for dette websted."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Fortsæt"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Sikkerhedsadvarsel"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Vis certifikat"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Dette certifikat stammer ikke fra en troværdig autoritet."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"Navnet på dette websted stemmer ikke overens med navnet på certifikatet."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Dette certifikat er udløbet."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Dette certifikat er ikke gyldigt endnu."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Sikkerhedscertifikat"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Dette certifikat er gyldigt."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Udstedt til:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Fællesnavn:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Organisation:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Organisatorisk enhed:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Udstedt af:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Gyldighed:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Udstedt den:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Udløber den:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Henter logindetaljer ..."</string>
-    <string name="stopping" msgid="4839698519340302982">"Standser ..."</string>
-    <string name="stop" msgid="5687251076030630074">"Stop"</string>
-    <string name="reload" msgid="8585220783228408062">"Opdater"</string>
-    <string name="forward" msgid="4288210890526641577">"Fremad"</string>
-    <string name="save" msgid="5922311934992468496">"OK"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Annuller"</string>
-    <string name="location" msgid="969988560160364559">"Placering"</string>
-    <string name="name" msgid="5990326151488445481">"Navn"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Tilføj et bogmærke"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Rediger bogmærke"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Føj genvej til Start"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Åbn"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Slet bogmærke"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Fjern fra oversigt"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Gemt i bogmærker."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"Bogmærke skal have et navn."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"Bogmærke skal have en placering."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Der kan ikke oprettes et tomt bogmærke."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"Webadresse er ikke gyldig."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Slet"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Tilføj bogmærke ved sidst viste side"</string>
-    <string name="current_page" msgid="7510129573681663135">"fra "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"Bogmærket \"<xliff:g id="BOOKMARK">%s</xliff:g>\" slettes."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Åbn i et nyt vindue"</string>
-    <string name="new_window" msgid="8117889615360211551">"Nyt vindue"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Gå"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Find på side"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Vælg tekst"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Vinduesoversigt"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Vinduer"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Nuværende vinduer"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Vis"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Nyt vindue"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Luk"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Tilføj et bogmærke"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Del link"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Bogmærker"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Bogmærke"</string>
-    <string name="history" msgid="2451240511251410032">"Oversigt"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Downloads"</string>
-    <string name="share_page" msgid="593756995297268343">"Del side"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Åbn"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Åbn i et nyt vindue"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Tilføj et bogmærke ved linket"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Gem link"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Del link"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Kopier"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Kopier linkets webadresse"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Gem billede"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Vis billede"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Ring til ..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Tilføj kontakt"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"Send e-mail"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Kort"</string>
-    <string name="clear" msgid="7070043081700011461">"Ryd"</string>
-    <string name="replace" msgid="4843033491070384047">"Erstat"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Bogmærker"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Indstillinger"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Indstillinger for sideindhold"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Indlæs billeder"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Vis billeder på websider"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Bloker pop op-vinduer"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"Aktiver Javascript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Åbn i baggrunden"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Nye vinduer åbnes bag det nuværende"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Indstil startside"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Aut. tilpassede sider"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Formater websider til at passe til skærmen"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Fortrolighedsindstillinger"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Ryd cache"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Slet alt cachelagret sideindhold"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"Cachen ryddes."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Ryd alle cookiedata"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Ryd alle browsercookierne"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Alle cookies ryddes."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Ryd oversigt"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Ryd browserens navigationsoversigt"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"Browserens navigationsoversigt ryddes."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Ryd formulardata"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Ryd alle gemte formulardata"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Alle gemte formulardata ryddes."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Ryd adgangskoder"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Ryd alle gemte adgangskoder"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Alle gemte adgangskoder ryddes."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Sikkerhedsindstillinger"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Husk adgangskoder"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Gem brugernavne og adgangskoder til websteder"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Husk formulardata"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Husk data, jeg indtaster i formularer, til senere brug"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Vis sikkerhedsadvarsler"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Vis advarsler, hvis der er et problem med et websteds sikkerhed"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Accepter cookies"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Tillad websteder at gemme og læse \"cookie\"-data"</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"Tekststørrelse"</string>
+    <string name="page_info">"Sideoplysninger"</string>
+    <string name="page_info_view">"Vis sideoplysninger"</string>
+    <string name="page_info_address">"Adresse:"</string>
+    <string name="ssl_warnings_header">"Der er problemer med sikkerhedscertifikatet for dette websted."</string>
+    <string name="ssl_continue">"Fortsæt"</string>
+    <string name="security_warning">"Sikkerhedsadvarsel"</string>
+    <string name="view_certificate">"Vis certifikat"</string>
+    <string name="ssl_untrusted">"Dette certifikat stammer ikke fra en troværdig autoritet."</string>
+    <string name="ssl_mismatch">"Navnet på dette websted stemmer ikke overens med navnet på certifikatet."</string>
+    <string name="ssl_expired">"Dette certifikat er udløbet."</string>
+    <string name="ssl_not_yet_valid">"Dette certifikat er ikke gyldigt endnu."</string>
+    <string name="ssl_certificate">"Sikkerhedscertifikat"</string>
+    <string name="ssl_certificate_is_valid">"Dette certifikat er gyldigt."</string>
+    <string name="issued_to">"Udstedt til:"</string>
+    <string name="common_name">"Fællesnavn:"</string>
+    <string name="org_name">"Organisation:"</string>
+    <string name="org_unit">"Organisatorisk enhed:"</string>
+    <string name="issued_by">"Udstedt af:"</string>
+    <string name="validity_period">"Gyldighed:"</string>
+    <string name="issued_on">"Udstedt den:"</string>
+    <string name="expires_on">"Udløber den:"</string>
+    <string name="retrieving_creds_dlg_msg">"Henter logindetaljer ..."</string>
+    <string name="stopping">"Standser ..."</string>
+    <string name="stop">"Stop"</string>
+    <string name="reload">"Opdater"</string>
+    <string name="forward">"Fremad"</string>
+    <string name="save">"OK"</string>
+    <string name="do_not_save">"Annuller"</string>
+    <string name="location">"Placering"</string>
+    <string name="name">"Navn"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Tilføj et bogmærke"</string>
+    <string name="edit_bookmark">"Rediger bogmærke"</string>
+    <string name="create_shortcut_bookmark">"Føj genvej til Start"</string>
+    <string name="open_bookmark">"Åbn"</string>
+    <string name="remove_bookmark">"Slet bogmærke"</string>
+    <string name="remove_history_item">"Fjern fra oversigt"</string>
+    <string name="bookmark_saved">"Gemt i bogmærker."</string>
+    <string name="bookmark_needs_title">"Bogmærke skal have et navn."</string>
+    <string name="bookmark_needs_url">"Bogmærke skal have en placering."</string>
+    <string name="empty_bookmark">"Der kan ikke oprettes et tomt bogmærke."</string>
+    <string name="bookmark_url_not_valid">"Webadresse er ikke gyldig."</string>
+    <string name="delete_bookmark">"Slet"</string>
+    <string name="bookmark_page">"Tilføj bogmærke ved sidst viste side"</string>
+    <string name="current_page">"fra "</string>
+    <string name="delete_bookmark_warning">"Bogmærket \"<xliff:g id="BOOKMARK">%s</xliff:g>\" slettes."</string>
+    <string name="open_in_new_window">"Åbn i et nyt vindue"</string>
+    <string name="new_window">"Nyt vindue"</string>
+    <string name="goto_dot">"Gå"</string>
+    <string name="find_dot">"Find på side"</string>
+    <string name="select_dot">"Vælg tekst"</string>
+    <string name="view_tabs">"Vinduesoversigt"</string>
+    <string name="view_tabs_condensed">"Vinduer"</string>
+    <string name="tab_picker_title">"Nuværende vinduer"</string>
+    <string name="tab_picker_view_tab">"Vis"</string>
+    <string name="tab_picker_new_tab">"Nyt vindue"</string>
+    <string name="tab_picker_remove_tab">"Luk"</string>
+    <string name="tab_picker_bookmark">"Tilføj et bogmærke"</string>
+    <string name="tab_picker_send_url">"Del link"</string>
+    <string name="bookmarks">"Bogmærker"</string>
+    <string name="shortcut_bookmark">"Bogmærke"</string>
+    <string name="history">"Oversigt"</string>
+    <string name="menu_view_download">"Downloads"</string>
+    <string name="share_page">"Del side"</string>
+    <string name="contextmenu_openlink">"Åbn"</string>
+    <string name="contextmenu_openlink_newwindow">"Åbn i et nyt vindue"</string>
+    <string name="contextmenu_bookmark_thislink">"Tilføj et bogmærke ved linket"</string>
+    <string name="contextmenu_savelink">"Gem link"</string>
+    <string name="contextmenu_sharelink">"Del link"</string>
+    <string name="contextmenu_copy">"Kopier"</string>
+    <string name="contextmenu_copylink">"Kopier linkets webadresse"</string>
+    <string name="contextmenu_download_image">"Gem billede"</string>
+    <string name="contextmenu_view_image">"Vis billede"</string>
+    <string name="contextmenu_dial_dot">"Ring til ..."</string>
+    <string name="contextmenu_add_contact">"Tilføj kontaktperson"</string>
+    <string name="contextmenu_send_mail">"Send e-mail"</string>
+    <string name="contextmenu_map">"Kort"</string>
+    <string name="clear">"Ryd"</string>
+    <string name="replace">"Erstat"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Bogmærker"</string>
+    <string name="menu_preferences">"Indstillinger"</string>
+    <string name="pref_content_title">"Indstillinger for sideindhold"</string>
+    <string name="pref_content_load_images">"Indlæs billeder"</string>
+    <string name="pref_content_load_images_summary">"Vis billeder på websider"</string>
+    <string name="pref_content_block_popups">"Bloker pop op-vinduer"</string>
+    <string name="pref_content_javascript">"Aktiver Javascript"</string>
+    <string name="pref_content_open_in_background">"Åbn i baggrunden"</string>
+    <string name="pref_content_open_in_background_summary">"Nye vinduer åbnes bag det nuværende"</string>
+    <string name="pref_content_homepage">"Indstil startside"</string>
+    <string name="pref_content_autofit">"Automatisk tilpassede sider"</string>
+    <string name="pref_content_autofit_summary">"Formater websider til at passe til skærmen"</string>
+    <string name="pref_privacy_title">"Fortrolighedsindstillinger"</string>
+    <string name="pref_privacy_clear_cache">"Ryd cache"</string>
+    <string name="pref_privacy_clear_cache_summary">"Slet alt cachelagret sideindhold"</string>
+    <string name="pref_privacy_clear_cache_dlg">"Cachen ryddes."</string>
+    <string name="pref_privacy_clear_cookies">"Ryd alle cookiedata"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Ryd alle browsercookierne"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Alle cookies ryddes."</string>
+    <string name="pref_privacy_clear_history">"Ryd oversigt"</string>
+    <string name="pref_privacy_clear_history_summary">"Ryd browserens navigationsoversigt"</string>
+    <string name="pref_privacy_clear_history_dlg">"Browserens navigationsoversigt ryddes."</string>
+    <string name="pref_privacy_clear_form_data">"Ryd formulardata"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Ryd alle gemte formulardata"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Alle gemte formulardata ryddes."</string>
+    <string name="pref_privacy_clear_passwords">"Ryd adgangskoder"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Ryd alle gemte adgangskoder"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Alle gemte adgangskoder ryddes."</string>
+    <string name="pref_security_title">"Sikkerhedsindstillinger"</string>
+    <string name="pref_security_remember_passwords">"Husk adgangskoder"</string>
+    <string name="pref_security_remember_passwords_summary">"Gem brugernavne og adgangskoder til websteder"</string>
+    <string name="pref_security_save_form_data">"Husk formulardata"</string>
+    <string name="pref_security_save_form_data_summary">"Husk data, jeg indtaster i formularer, til senere brug"</string>
+    <string name="pref_security_show_security_warning">"Vis sikkerhedsadvarsler"</string>
+    <string name="pref_security_show_security_warning_summary">"Vis advarsler, hvis der er et problem med et websteds sikkerhed"</string>
+    <string name="pref_security_accept_cookies">"Accepter cookies"</string>
+    <string name="pref_security_accept_cookies_summary">"Tillad websteder at gemme og læse \"cookie\"-data"</string>
+    <string name="pref_text_size">"Tekststørrelse"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Lillebitte"</item>
-    <item msgid="1950030433642671460">"Lille"</item>
-    <item msgid="4338347520133294584">"Normal"</item>
-    <item msgid="5043128215356351184">"Stor"</item>
-    <item msgid="7201512237890458902">"Kæmpestor"</item>
+    <item>"Lillebitte"</item>
+    <item>"Lille"</item>
+    <item>"Normal"</item>
+    <item>"Stor"</item>
+    <item>"Kæmpestor"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Tekststørrelse"</string>
+    <string name="pref_text_size_dialogtitle">"Tekststørrelse"</string>
     <!-- no translation found for pref_default_zoom (8076142259097187395) -->
     <skip />
     <!-- no translation found for pref_default_zoom_choices:0 (549583171195154919) -->
@@ -167,136 +167,84 @@
     <!-- no translation found for pref_default_zoom_choices:2 (3840999588443167001) -->
     <!-- no translation found for pref_default_zoom_dialogtitle (6095974367125109021) -->
     <skip />
-    <string name="pref_extras_title" msgid="3091250467679722382">"Avancerede indstillinger"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Aktiver Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Programmer, der udvider browserfunktionalitet"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Indstillinger for Gears"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Liste over plugins"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Der er ingen installerede plugins."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Programmer, der udvider browserfunktionalitet"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Nulstil til standard"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Ryd alle browserdata, og nulstil alle indstillinger til standard"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Alle browserdata slettes, og indstillingerne vender tilbage til standardværdier."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Nulstil til standard"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Fejlretning"</string>
+    <string name="pref_extras_title">"Avancerede indstillinger"</string>
+    <string name="pref_extras_reset_default">"Nulstil til standard"</string>
+    <string name="pref_extras_reset_default_summary">"Ryd alle browserdata, og nulstil alle indstillinger til standard"</string>
+    <string name="pref_extras_reset_default_dlg">"Alle browserdata slettes, og indstillingerne vender tilbage til standardværdier."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Nulstil til standard"</string>
+    <string name="pref_development_title">"Fejlretning"</string>
     <!-- no translation found for pref_default_text_encoding (5742965543955558478) -->
     <skip />
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japansk (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japansk (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japansk (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japansk (ISO-2022-JP)"</item>
+    <item>"Japansk (SHIFT_JIS)"</item>
+    <item>"Japansk (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Tekstkodning"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latin-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Omdiriger"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Dette websted omdirigeres. Send dine indtastede formulardata til den nye placering?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Dataforbindelsesproblem"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Der er et problem med filen"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Bekræft"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"Den side, du prøver at få vist, indeholder data, der allerede er indsendt (\"POSTDATA\"). Hvis du sender dataene igen, gentages alle handlinger, som formularen på siden udførte (som f.eks. en søgning eller et online køb)."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Der er ingen netværksforbindelse"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"Indlæsningen af siden fortsættes, når forbindelsen er genoprettet."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Ryd oversigt"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Nyligt besøgte sider"</string>
-    <string name="empty_history" msgid="8738772352308207274">"Browseroversigt er tom."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Tilføj bogmærke ..."</string>
-    <string name="no_database" msgid="2256698896757181084">"Der er ingen database!"</string>
-    <string name="search_hint" msgid="3385577802557697397">"Indtast webadresse"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Gå"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Tekstkodning"</string>
+    <string name="pref_default_text_encoding_default">"Latin-1"</string>
+    <string name="browserFrameRedirect">"Omdiriger"</string>
+    <string name="browserFrame307Post">"Dette websted omdirigeres. Send dine indtastede formulardata til den nye placering?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Dataforbindelsesproblem"</string>
+    <string name="browserFrameFileErrorLabel">"Der er et problem med filen"</string>
+    <string name="browserFrameFormResubmitLabel">"Bekræft"</string>
+    <string name="browserFrameFormResubmitMessage">"Den side, du prøver at få vist, indeholder data, der allerede er indsendt (\"POSTDATA\"). Hvis du sender dataene igen, gentages alle handlinger, som formularen på siden udførte (som f.eks. en søgning eller et online køb)."</string>
+    <string name="loadSuspendedTitle">"Der er ingen netværksforbindelse"</string>
+    <string name="loadSuspended">"Indlæsningen af siden fortsættes, når forbindelsen er genoprettet."</string>
+    <string name="clear_history">"Ryd oversigt"</string>
+    <string name="browser_history">"Nyligt besøgte sider"</string>
+    <string name="empty_history">"Browseroversigt er tom."</string>
+    <string name="add_new_bookmark">"Tilføj bogmærke ..."</string>
+    <string name="no_database">"Der er ingen database!"</string>
+    <string name="search_hint">"Indtast webadresse"</string>
+    <string name="search_button_text">"Gå"</string>
     <!-- no translation found for search_settings_description (1422401062529014107) -->
     <skip />
-    <string name="attention" msgid="3473639060042811244">"Bemærk"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Dette websted forsøger at åbne et pop op-vindue."</string>
-    <string name="allow" msgid="1157313689171991335">"Tillad"</string>
-    <string name="block" msgid="9172175889884707800">"Bloker"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Grænsen for vinduet er nået"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Der kunne ikke åbnes et nyt vindue, fordi du allerede har åbnet det maksimale antal."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Pop op er allerede åben"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Der kunne ikke åbnes et nyt pop op-vindue, da der kun kan være ét åbent ad gangen."</string>
-    <string name="download_title" msgid="2122874021047565594">"Downloadoversigt"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Ukendt&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Åbn"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Ryd fra listen"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Annuller download"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Annuller alle downloads"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Ryd liste"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Ryd"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Alle elementer ryddes fra listen og fjernes fra browserens cache."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Annuller downloads"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Alle <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> downloads annulleres og ryddes fra downloadoversigten."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Der er ikke mere plads"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"<xliff:g id="FILENAME">%s</xliff:g> kunne ikke downloades."\n"Frigør noget plads på din telefon, og prøv igen."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Download mislykkedes"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"Der er intet SD-kort"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Et SD-kort er påkrævet for at downloade <xliff:g id="FILENAME">%s</xliff:g>."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"SD-kort er ikke tilgængeligt"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"SD-kortet er optaget. Vælg \"Slå USB-lagring fra\" i meddelelsen for at tillade downloads."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Der blev ikke fundet et program, der kan åbne denne fil."</string>
-    <string name="retry" msgid="1835923075542266721">"Prøv igen"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"Downloadoversigt er tom."</string>
-    <string name="download_error" msgid="413496839831257187">"Download mislykkedes."</string>
-    <string name="download_success" msgid="2279041638155595203">"<xliff:g id="FILE">%s</xliff:g> Download afsluttet."</string>
-    <string name="download_running" msgid="2622942231322015059">"Downloader ..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"Starter download ..."</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"Venter på dataforbindelse ..."</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"Venter på dataforbindelse ..."</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Download annulleret."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"Der kan ikke downloades. Indholdet er ikke understøttet på telefonen."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"Download kan ikke afsluttes. Der er ikke nok plads."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"Der kan ikke downloades. Størrelsen på elementet kan ikke afgøres."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"Download blev afbrudt. Den kan ikke genoptages."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Browsertestkørsel"</string>
+    <string name="attention">"Bemærk"</string>
+    <string name="popup_window_attempt">"Dette websted forsøger at åbne et pop op-vindue."</string>
+    <string name="allow">"Tillad"</string>
+    <string name="block">"Bloker"</string>
+    <string name="too_many_windows_dialog_title">"Grænsen for vinduet er nået"</string>
+    <string name="too_many_windows_dialog_message">"Der kunne ikke åbnes et nyt vindue, fordi du allerede har åbnet det maksimale antal."</string>
+    <string name="too_many_subwindows_dialog_title">"Pop op er allerede åben"</string>
+    <string name="too_many_subwindows_dialog_message">"Der kunne ikke åbnes et nyt pop op-vindue, da der kun kan være ét åbent ad gangen."</string>
+    <string name="download_title">"Downloadoversigt"</string>
+    <string name="download_unknown_filename">"&lt;Ukendt&gt;"</string>
+    <string name="download_menu_open">"Åbn"</string>
+    <string name="download_menu_clear">"Ryd fra listen"</string>
+    <string name="download_menu_cancel">"Annuller download"</string>
+    <string name="download_menu_cancel_all">"Annuller alle downloads"</string>
+    <string name="download_menu_clear_all">"Ryd liste"</string>
+    <string name="download_clear_dlg_title">"Ryd"</string>
+    <string name="download_clear_dlg_msg">"Alle elementer ryddes fra listen og fjernes fra browserens cache."</string>
+    <string name="download_cancel_dlg_title">"Annuller downloads"</string>
+    <string name="download_cancel_dlg_msg">"Alle <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> downloads annulleres og ryddes fra downloadoversigten."</string>
+    <string name="download_file_error_dlg_title">"Der er ikke mere plads"</string>
+    <string name="download_file_error_dlg_msg">"<xliff:g id="FILENAME">%s</xliff:g> kunne ikke downloades."\n"Frigør noget plads på din telefon, og prøv igen."</string>
+    <string name="download_failed_generic_dlg_title">"Download mislykkedes"</string>
+    <string name="download_no_sdcard_dlg_title">"Der er intet SD-kort"</string>
+    <string name="download_no_sdcard_dlg_msg">"Et SD-kort er påkrævet for at downloade <xliff:g id="FILENAME">%s</xliff:g>."</string>
+    <string name="download_sdcard_busy_dlg_title">"SD-kort er ikke tilgængeligt"</string>
+    <string name="download_sdcard_busy_dlg_msg">"SD-kortet er optaget. Vælg \"Slå USB-lagring fra\" i meddelelsen for at tillade downloads."</string>
+    <string name="download_no_application">"Der blev ikke fundet et program, der kan åbne denne fil."</string>
+    <string name="retry">"Prøv igen"</string>
+    <string name="no_downloads">"Downloadoversigt er tom."</string>
+    <string name="download_error">"Download mislykkedes."</string>
+    <string name="download_success">"<xliff:g id="FILE">%s</xliff:g> Download afsluttet."</string>
+    <string name="download_running">"Downloader ..."</string>
+    <string name="download_pending">"Starter download ..."</string>
+    <string name="download_pending_network">"Venter på dataforbindelse ..."</string>
+    <string name="download_running_paused">"Venter på dataforbindelse ..."</string>
+    <string name="download_canceled">"Download annulleret."</string>
+    <string name="download_not_acceptable">"Der kan ikke downloades. Indholdet er ikke understøttet på telefonen."</string>
+    <string name="download_file_error">"Download kan ikke afsluttes. Der er ikke nok plads."</string>
+    <string name="download_length_required">"Der kan ikke downloades. Størrelsen på elementet kan ikke afgøres."</string>
+    <string name="download_precondition_failed">"Download blev afbrudt. Den kan ikke genoptages."</string>
+    <string name="activity_instrumentation_test_runner">"Browsertestkørsel"</string>
     <!-- no translation found for homepage_base (7888126987935305566) -->
     <skip />
     <!-- no translation found for search_the_web (6046130189241962337) -->
     <skip />
-    <string name="query_data_prompt" msgid="5474381240981604223">"Tillad lagring"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Dette websted ønsker at gemme oplysninger på din telefon."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Få adgang til din placering"</string>
-    <string name="location_message" msgid="1729456751935683242">"Dette websted ønsker at få adgang til din placering."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Opret en genvej"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Dette websted vil gerne oprette en genvej til denne side på din startskærm."</string>
-    <string name="settings_message" msgid="6171686603006325199">"Nedenstående tabel viser de tilladelser, du har givet til hvert websted, som har forsøgt at bruge Gears."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Filsamler"</string>
-    <string name="image_message" msgid="5450245866521896891">"Valgt billede"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Indstillinger for Gears"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Læs webstedets fortrolighedspolitik for at se, hvordan din placering bruges."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Tillad lokal lagring"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Dette websted kan gemme oplysninger på din telefon"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Dette websted kan ikke gemme oplysninger på din telefon"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Tillad lokaliseringsregistrering"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Dette websted kan læse din aktuelle placering"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Dette websted kan ikke læse din aktuelle placering"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Fjern dette websted fra Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Der er ikke indstillet nogen tillad."</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Fjern dette websted"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Alle tilladelser ryddes, og alle data, som er gemt på din telefon af webstedet, slettes."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Dette websted gemmer oplysninger på din telefon."\n" Skift denne indstilling i:"\n" Indstillinger-&gt; Indstillinger for Gears"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Dette websted gemmer aldrig oplysninger på din telefon."\n" Skift denne indstilling i:"\n" Indstillinger-&gt; Indstillinger for Gears"</string>
-    <string name="location_notification" msgid="3495804750470905804">"Dette websted har adgang til din aktuelle placering."\n" Skift denne indstilling i:"\n" Indstillinger -&gt; Indstillinger for Gears"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Dette websted har ikke adgang til din aktuelle placering."\n" Skift denne indstilling i:"\n" Indstillinger -&gt; Indstillinger for Gears"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Genvej oprettet"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Tillad aldrig"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"OK"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Annuller"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Tillad aldrig"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"OK"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Annuller"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Anvend"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Annuller"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"OK"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Annuller"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"sti:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Der blev ikke valgt nogen filer"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Der er valgt én fil"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"valgte filer"</string>
-    <string name="remove" msgid="7820112494467011374">"Fjern"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Lokal lagring"</string>
-    <string name="allowed" msgid="1599514934221911624">"Tilladt"</string>
-    <string name="denied" msgid="7470209521858372968">"Afvist"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Ikke anerkendt dialogtype"</string>
-    <string name="default_button" msgid="3901922329454578908">"OK"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Oversigt"</string>
+    <string name="zoom_overview_button_text">"Oversigt"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 39540a7..cf56d18 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -15,283 +15,232 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Browser"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Lesezeichen"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Meistbesucht"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Verlauf"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Zu Lesezeichen hinzugefügt"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Aus Lesezeichen entfernt"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Bei <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\" anmelden"</string>
-    <string name="username" msgid="5057566336518215922">"Name"</string>
-    <string name="password" msgid="1177138552305184404">"Passwort"</string>
-    <string name="action" msgid="183105774472071343">"Anmelden"</string>
-    <string name="bookmarks_search" msgid="5229596268214362873">"Browser"</string>
-    <string name="cancel" msgid="3017274947407233702">"Abbrechen"</string>
-    <string name="ok" msgid="1509280796718850364">"OK"</string>
+    <string name="application_name">"Browser"</string>
+    <string name="tab_bookmarks">"Lesezeichen"</string>
+    <string name="tab_most_visited">"Meistbesucht"</string>
+    <string name="tab_history">"Verlauf"</string>
+    <string name="added_to_bookmarks">"Zu Lesezeichen hinzugefügt"</string>
+    <string name="removed_from_bookmarks">"Aus Lesezeichen entfernt"</string>
+    <string name="sign_in_to">"Bei <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\" anmelden"</string>
+    <string name="username">"Name"</string>
+    <string name="password">"Passwort"</string>
+    <string name="action">"Anmelden"</string>
+    <string name="bookmarks_search">"Browser"</string>
+    <string name="cancel">"Abbrechen"</string>
+    <string name="ok">"OK"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Keine Übereinstimmungen"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 Übereinstimmung"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> Übereinstimmungen"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> Übereinstimmungen"</item>
+    <item quantity="zero">"Keine Übereinstimmungen"</item>
+    <item quantity="one">"1 Übereinstimmung"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> Übereinstimmungen"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> Übereinstimmungen"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Seiten-Info"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Seiten-Info anzeigen"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Adresse:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Es ist ein Problem mit dem Sicherheitszertifikat für diese Website aufgetreten."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Fortfahren"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Sicherheitswarnung"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Zertifikat anzeigen"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Dieses Zertifikat wurde nicht von einer vertrauenswürdigen Stelle ausgegeben."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"Der Name der Website stimmt nicht mit dem Namen auf dem Zertifikat überein."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Dieses Zertifikat ist abgelaufen."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Dieses Zertifikat ist noch nicht gültig."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Sicherheitszertifikat"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Dies ist ein gültiges Zertifikat."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Ausgegeben an:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Allgemeiner Name."</string>
-    <string name="org_name" msgid="8868889052889991293">"Organisation:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Organisationseinheit:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Ausgegeben von:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Gültigkeit:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Ausgegeben am:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Läuft ab am:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Anmeldedetails werden abgerufen…"</string>
-    <string name="stopping" msgid="4839698519340302982">"Wird angehalten..."</string>
-    <string name="stop" msgid="5687251076030630074">"Anhalten"</string>
-    <string name="reload" msgid="8585220783228408062">"Aktualisieren"</string>
-    <string name="forward" msgid="4288210890526641577">"Weiter"</string>
-    <string name="save" msgid="5922311934992468496">"OK"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Abbrechen"</string>
-    <string name="location" msgid="969988560160364559">"Ort"</string>
-    <string name="name" msgid="5990326151488445481">"Name"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Lesezeichen"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Lesezeichen bearbeiten"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Shortcut zur Startseite hinzufügen"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Öffnen"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Lesezeichen löschen"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Aus Verlauf entfernen"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Gespeichert in Lesezeichen."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"Das Lesezeichen muss über einen Namen verfügen."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"Das Lesezeichen muss über einen Speicherort verfügen."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Sie können kein leeres Lesezeichen erstellen."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"URL ist nicht gültig."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Löschen"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Lesezeichen für zuletzt besuchte Seite"</string>
-    <string name="current_page" msgid="7510129573681663135">"von "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"Lesezeichen \"<xliff:g id="BOOKMARK">%s</xliff:g>\" wird gelöscht."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"In neuem Fenster öffnen"</string>
-    <string name="new_window" msgid="8117889615360211551">"Neues Fenster"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Los"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Auf Seite suchen"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Text auswählen"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Fensterübersicht"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Fenster"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Aktuelle Fenster"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Anzeigen"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Neues Fenster"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Schließen"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Lesezeichen"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Link weiterleiten"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Lesezeichen"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Lesezeichen"</string>
-    <string name="history" msgid="2451240511251410032">"Verlauf"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Downloads"</string>
-    <string name="share_page" msgid="593756995297268343">"Seitenlink weiterleiten"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Öffnen"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"In neuem Fenster öffnen"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Lesezeichen-Link"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Link speichern"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Link weiterleiten"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Kopieren"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Link-URL kopieren"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Bild speichern"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Bild anzeigen"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Wählen..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Kontakt hinzufügen"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"E-Mail senden"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Karte"</string>
-    <string name="clear" msgid="7070043081700011461">"Löschen"</string>
-    <string name="replace" msgid="4843033491070384047">"Ersetzen"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Lesezeichen"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Einstellungen"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Einstellungen für Seiteninhalt"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Bilder laden"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Bilder auf Webseiten anzeigen"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Popupfenster blockieren"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"JavaScript aktivieren"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Im Hintergrund öffnen"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Neue Fenster hinter dem aktuellen Fenster öffnen"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Startseite festlegen"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Seiten autom. anpassen"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Webseiten an den Bildschirm anpassen"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Datenschutzeinstellungen"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Cache löschen"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Alle Seiteninhalte im Cache löschen"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"Der Cache wird gelöscht."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Alle Cookiedaten löschen"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Alle Browser-Cookies löschen"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Alle Cookies werden gelöscht."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Verlauf löschen"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Navigationsverlauf des Browsers löschen"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"Der Navigationsverlauf des Browsers wird gelöscht."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Formulardaten löschen"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Alle gespeicherten Formulardaten löschen"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Alle gespeicherten Formulardaten werden gelöscht."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Passwörter löschen"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Alle gespeicherten Passwörter löschen"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Alle gespeicherten Passwörter werden gelöscht."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Sicherheitseinstellungen"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Passwörter merken"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Nutzernamen und Passwörter für Websites speichern"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Formulardaten merken"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Daten in Formularen zur späteren Verwendung merken"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Sicherheitswarnungen"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Bei Problemen mit der Sicherheit der Website Warnung anzeigen"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Cookies akzeptieren"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Speichern und Lesen von \"Cookie\"-Daten zulassen"</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"Textgröße"</string>
+    <string name="page_info">"Seiten-Info"</string>
+    <string name="page_info_view">"Seiten-Info anzeigen"</string>
+    <string name="page_info_address">"Adresse:"</string>
+    <string name="ssl_warnings_header">"Es ist ein Problem mit dem Sicherheitszertifikat für diese Website aufgetreten."</string>
+    <string name="ssl_continue">"Fortfahren"</string>
+    <string name="security_warning">"Sicherheitswarnung"</string>
+    <string name="view_certificate">"Zertifikat anzeigen"</string>
+    <string name="ssl_untrusted">"Dieses Zertifikat wurde nicht von einer vertrauenswürdigen Stelle ausgegeben."</string>
+    <string name="ssl_mismatch">"Der Name der Website stimmt nicht mit dem Namen auf dem Zertifikat überein."</string>
+    <string name="ssl_expired">"Dieses Zertifikat ist abgelaufen."</string>
+    <string name="ssl_not_yet_valid">"Dieses Zertifikat ist noch nicht gültig."</string>
+    <string name="ssl_certificate">"Sicherheitszertifikat"</string>
+    <string name="ssl_certificate_is_valid">"Dies ist ein gültiges Zertifikat."</string>
+    <string name="issued_to">"Ausgegeben an:"</string>
+    <string name="common_name">"Allgemeiner Name."</string>
+    <string name="org_name">"Organisation:"</string>
+    <string name="org_unit">"Organisationseinheit:"</string>
+    <string name="issued_by">"Ausgegeben von:"</string>
+    <string name="validity_period">"Gültigkeit:"</string>
+    <string name="issued_on">"Ausgegeben am:"</string>
+    <string name="expires_on">"Läuft ab am:"</string>
+    <string name="retrieving_creds_dlg_msg">"Anmeldedetails werden abgerufen…"</string>
+    <string name="stopping">"Wird angehalten..."</string>
+    <string name="stop">"Anhalten"</string>
+    <string name="reload">"Aktualisieren"</string>
+    <string name="forward">"Weiter"</string>
+    <string name="save">"OK"</string>
+    <string name="do_not_save">"Abbrechen"</string>
+    <string name="location">"Ort"</string>
+    <string name="name">"Name"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Lesezeichen"</string>
+    <string name="edit_bookmark">"Lesezeichen bearbeiten"</string>
+    <string name="create_shortcut_bookmark">"Shortcut zur Startseite hinzufügen"</string>
+    <string name="open_bookmark">"Öffnen"</string>
+    <string name="remove_bookmark">"Lesezeichen löschen"</string>
+    <string name="remove_history_item">"Aus Verlauf entfernen"</string>
+    <string name="bookmark_saved">"Gespeichert in Lesezeichen."</string>
+    <string name="bookmark_needs_title">"Das Lesezeichen muss über einen Namen verfügen."</string>
+    <string name="bookmark_needs_url">"Das Lesezeichen muss über einen Speicherort verfügen."</string>
+    <string name="empty_bookmark">"Sie können kein leeres Lesezeichen erstellen."</string>
+    <string name="bookmark_url_not_valid">"URL ist nicht gültig."</string>
+    <string name="delete_bookmark">"Löschen"</string>
+    <string name="bookmark_page">"Lesezeichen für zuletzt besuchte Seite"</string>
+    <string name="current_page">"von "</string>
+    <string name="delete_bookmark_warning">"Lesezeichen \"<xliff:g id="BOOKMARK">%s</xliff:g>\" wird gelöscht."</string>
+    <string name="open_in_new_window">"In neuem Fenster öffnen"</string>
+    <string name="new_window">"Neues Fenster"</string>
+    <string name="goto_dot">"Los"</string>
+    <string name="find_dot">"Auf Seite suchen"</string>
+    <string name="select_dot">"Text auswählen"</string>
+    <string name="view_tabs">"Fensterübersicht"</string>
+    <string name="view_tabs_condensed">"Fenster"</string>
+    <string name="tab_picker_title">"Aktuelle Fenster"</string>
+    <string name="tab_picker_view_tab">"Anzeigen"</string>
+    <string name="tab_picker_new_tab">"Neues Fenster"</string>
+    <string name="tab_picker_remove_tab">"Schließen"</string>
+    <string name="tab_picker_bookmark">"Lesezeichen"</string>
+    <string name="tab_picker_send_url">"Link weiterleiten"</string>
+    <string name="bookmarks">"Lesezeichen"</string>
+    <string name="shortcut_bookmark">"Lesezeichen"</string>
+    <string name="history">"Verlauf"</string>
+    <string name="menu_view_download">"Downloads"</string>
+    <string name="share_page">"Seitenlink weiterleiten"</string>
+    <string name="contextmenu_openlink">"Öffnen"</string>
+    <string name="contextmenu_openlink_newwindow">"In neuem Fenster öffnen"</string>
+    <string name="contextmenu_bookmark_thislink">"Lesezeichen-Link"</string>
+    <string name="contextmenu_savelink">"Link speichern"</string>
+    <string name="contextmenu_sharelink">"Link weiterleiten"</string>
+    <string name="contextmenu_copy">"Kopieren"</string>
+    <string name="contextmenu_copylink">"Link-URL kopieren"</string>
+    <string name="contextmenu_download_image">"Bild speichern"</string>
+    <string name="contextmenu_view_image">"Bild anzeigen"</string>
+    <string name="contextmenu_dial_dot">"Wählen..."</string>
+    <string name="contextmenu_add_contact">"Kontakt hinzufügen"</string>
+    <string name="contextmenu_send_mail">"E-Mail senden"</string>
+    <string name="contextmenu_map">"Karte"</string>
+    <string name="clear">"Löschen"</string>
+    <string name="replace">"Ersetzen"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Lesezeichen"</string>
+    <string name="menu_preferences">"Einstellungen"</string>
+    <string name="pref_content_title">"Einstellungen für Seiteninhalt"</string>
+    <string name="pref_content_load_images">"Bilder laden"</string>
+    <string name="pref_content_load_images_summary">"Bilder auf Webseiten anzeigen"</string>
+    <string name="pref_content_block_popups">"Popupfenster blockieren"</string>
+    <string name="pref_content_javascript">"JavaScript aktivieren"</string>
+    <string name="pref_content_open_in_background">"Im Hintergrund öffnen"</string>
+    <string name="pref_content_open_in_background_summary">"Neue Fenster hinter dem aktuellen Fenster öffnen"</string>
+    <string name="pref_content_homepage">"Startseite festlegen"</string>
+    <string name="pref_content_autofit">"Seiten autom. anpassen"</string>
+    <string name="pref_content_autofit_summary">"Webseiten an den Bildschirm anpassen"</string>
+    <string name="pref_privacy_title">"Datenschutzeinstellungen"</string>
+    <string name="pref_privacy_clear_cache">"Cache löschen"</string>
+    <string name="pref_privacy_clear_cache_summary">"Alle Seiteninhalte im Cache löschen"</string>
+    <string name="pref_privacy_clear_cache_dlg">"Der Cache wird gelöscht."</string>
+    <string name="pref_privacy_clear_cookies">"Alle Cookiedaten löschen"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Alle Browser-Cookies löschen"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Alle Cookies werden gelöscht."</string>
+    <string name="pref_privacy_clear_history">"Verlauf löschen"</string>
+    <string name="pref_privacy_clear_history_summary">"Navigationsverlauf des Browsers löschen"</string>
+    <string name="pref_privacy_clear_history_dlg">"Der Navigationsverlauf des Browsers wird gelöscht."</string>
+    <string name="pref_privacy_clear_form_data">"Formulardaten löschen"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Alle gespeicherten Formulardaten löschen"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Alle gespeicherten Formulardaten werden gelöscht."</string>
+    <string name="pref_privacy_clear_passwords">"Passwörter löschen"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Alle gespeicherten Passwörter löschen"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Alle gespeicherten Passwörter werden gelöscht."</string>
+    <string name="pref_security_title">"Sicherheitseinstellungen"</string>
+    <string name="pref_security_remember_passwords">"Passwörter merken"</string>
+    <string name="pref_security_remember_passwords_summary">"Nutzernamen und Passwörter für Websites speichern"</string>
+    <string name="pref_security_save_form_data">"Formulardaten merken"</string>
+    <string name="pref_security_save_form_data_summary">"Daten in Formularen zur späteren Verwendung merken"</string>
+    <string name="pref_security_show_security_warning">"Sicherheitswarnungen"</string>
+    <string name="pref_security_show_security_warning_summary">"Bei Problemen mit der Sicherheit der Website Warnung anzeigen"</string>
+    <string name="pref_security_accept_cookies">"Cookies akzeptieren"</string>
+    <string name="pref_security_accept_cookies_summary">"Speichern und Lesen von \"Cookie\"-Daten zulassen"</string>
+    <string name="pref_text_size">"Textgröße"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Sehr klein"</item>
-    <item msgid="1950030433642671460">"Klein"</item>
-    <item msgid="4338347520133294584">"Normal"</item>
-    <item msgid="5043128215356351184">"Groß"</item>
-    <item msgid="7201512237890458902">"Sehr groß"</item>
+    <item>"Sehr klein"</item>
+    <item>"Klein"</item>
+    <item>"Normal"</item>
+    <item>"Groß"</item>
+    <item>"Sehr groß"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Textgröße"</string>
-    <string name="pref_default_zoom" msgid="8076142259097187395">"Standard-Zoom"</string>
+    <string name="pref_text_size_dialogtitle">"Textgröße"</string>
+    <string name="pref_default_zoom">"Standard-Zoom"</string>
   <string-array name="pref_default_zoom_choices">
-    <item msgid="549583171195154919">"Entfernt"</item>
-    <item msgid="5619034257768161024">"Mittel"</item>
-    <item msgid="3840999588443167001">"Schließen"</item>
+    <item>"Entfernt"</item>
+    <item>"Mittel"</item>
+    <item>"Schließen"</item>
   </string-array>
-    <string name="pref_default_zoom_dialogtitle" msgid="6095974367125109021">"Standard-Zoom"</string>
-    <string name="pref_extras_title" msgid="3091250467679722382">"Erweiterte Einstellungen"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Gears aktivieren"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Anwendungen, die die Browserfunktionen erweitern"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Gears-Einstellungen"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Liste der Plug-Ins"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Keine Plug-Ins installiert."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Vom Browser nicht unterstützte Anwendungen"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Auf Standard zurücksetzen"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Alle Browserdaten löschen und Einstellungen auf Standard zurücksetzen"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Alle Browserdaten werden gelöscht. Alle Einstellungen werden auf die Standardeinstellung zurückgesetzt."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Auf Standardeinstellung zurücksetzen"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Debuggen"</string>
-    <string name="pref_default_text_encoding" msgid="5742965543955558478">"Textcodierung"</string>
+    <string name="pref_default_zoom_dialogtitle">"Standard-Zoom"</string>
+    <string name="pref_extras_title">"Erweiterte Einstellungen"</string>
+    <string name="pref_extras_reset_default">"Auf Standard zurücksetzen"</string>
+    <string name="pref_extras_reset_default_summary">"Alle Browserdaten löschen und Einstellungen auf Standard zurücksetzen"</string>
+    <string name="pref_extras_reset_default_dlg">"Alle Browserdaten werden gelöscht. Alle Einstellungen werden auf die Standardeinstellung zurückgesetzt."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Auf Standardeinstellung zurücksetzen"</string>
+    <string name="pref_development_title">"Debuggen"</string>
+    <string name="pref_default_text_encoding">"Textcodierung"</string>
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japanisch (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japanisch (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japanisch (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japanisch (ISO-2022-JP)"</item>
+    <item>"Japanisch (SHIFT_JIS)"</item>
+    <item>"Japanisch (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Textcodierung"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latin-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Redirect"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Diese Webseite wird umgeleitet. Sollen Ihre eingegebenen Formulardaten an den neuen Ort gesendet werden?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Datenverbindungsproblem"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Problem mit Datei"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Bestätigen"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"Die Seite, die Sie anzuzeigen versuchen, enthält Daten, die bereits gesendet wurde (\"POST-DATEN\"). Wenn Sie die Daten erneut senden, wird jede Aktion, die das Formular auf der Seite ausgeführt hat, wiederholt (wie beispielsweise eine Suche oder ein Online-Kauf)."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Keine Netzwerkverbindung"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"Die Seite wird weiter geladen, nachdem die Verbindung wiederhergestellt wurde."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Verlauf löschen"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Zuletzt besuchte Seiten"</string>
-    <string name="empty_history" msgid="8738772352308207274">"Browserverlauf ist leer."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Lesezeichen hinzufügen..."</string>
-    <string name="no_database" msgid="2256698896757181084">"Keine Datenbank!"</string>
-    <string name="search_hint" msgid="3385577802557697397">"Webadresse eingeben"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Los"</string>
-    <string name="search_settings_description" msgid="1422401062529014107">"Lesezeichen und Webprotokoll"</string>
-    <string name="attention" msgid="3473639060042811244">"Achtung"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Diese Website versucht, ein Pop-up-Fenster zu öffnen."</string>
-    <string name="allow" msgid="1157313689171991335">"Zulassen"</string>
-    <string name="block" msgid="9172175889884707800">"Blockieren"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Fensterlimit erreicht"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Es konnte kein neues Fenster geöffnet werden, da Sie bereits die maximale Anzahl an Fenstern geöffnet haben."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Pop-up ist bereits geöffnet"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Es konnte kein neues Pop-up-Fenster geöffnet werden, da nur jeweils ein Fenster geöffnet sein kann."</string>
-    <string name="download_title" msgid="2122874021047565594">"Downloadverlauf"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Unbekannt&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Öffnen"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Aus Liste löschen"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Download abbrechen"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Alle Downloads abbrechen"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Liste löschen"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Löschen"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Alle Elemente werden aus der Liste gelöscht und aus dem Browser-Cache entfernt."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Downloads abbrechen"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Alle <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> Downloads werden abgebrochen und aus dem Downloadverlauf gelöscht."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Kein freier Speicher vorhanden"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"<xliff:g id="FILENAME">%s</xliff:g> konnte nicht heruntergeladen werden."\n"Bereinigen Sie den Speicher Ihres Telefons und versuchen Sie es erneut."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Download war nicht erfolgreich"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"Keine SD-Karte"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Zum Download von <xliff:g id="FILENAME">%s</xliff:g> ist eine SD-Karte erforderlich."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"SD-Karte nicht verfügbar"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"Die SD-Karte ist ausgelastet. Wählen Sie in der Benachrichtigung \"USB-Speicher deaktivieren\" aus, um Downloads zuzulassen."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Es kann keine Anwendung gefunden werden, um diese Datei zu öffnen."</string>
-    <string name="retry" msgid="1835923075542266721">"Wiederholen"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"Downloadverlauf ist leer."</string>
-    <string name="download_error" msgid="413496839831257187">"Download war nicht erfolgreich."</string>
-    <string name="download_success" msgid="2279041638155595203">"Download von <xliff:g id="FILE">%s</xliff:g> abgeschlossen."</string>
-    <string name="download_running" msgid="2622942231322015059">"Downloadvorgang läuft..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"Download wird gestartet…"</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"Warten auf Datenverbindung..."</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"Warten auf Datenverbindung..."</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Download abgebrochen."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"Download kann nicht durchgeführt werden, da der Inhalt nicht auf dem Telefon unterstützt wird."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"Download kann nicht beendet werden, da nicht genügend Speicherplatz vorhanden ist."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"Download kann nicht gestartet werden, da die Größe des Elements nicht bestimmt werden kann."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"Download wurde unterbrochen und kann nicht fortgesetzt werden."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Browser Test Runner"</string>
-    <string name="homepage_base" msgid="7888126987935305566">"http://www.google.com/m?client=ms-{CID}"</string>
-    <string name="search_the_web" msgid="6046130189241962337">"Web durchsuchen"</string>
-    <string name="query_data_prompt" msgid="5474381240981604223">"Speicher zulassen"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Diese Website möchte Informationen auf Ihrem Telefon speichern."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Zugriff auf Ihren Standort"</string>
-    <string name="location_message" msgid="1729456751935683242">"Diese Website möchte auf Ihren Standort zugreifen."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Verknüpfung erstellen"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Diese Website möchte eine Verknüpfung zu diese Seite auf Ihrem Startbildschirm erstellen."</string>
-    <string name="settings_message" msgid="6171686603006325199">"Die folgende Tabelle zeigt die Berechtigungen, die Sie jeder Website erteilt haben, die versucht hat, Gears zu verwenden."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"File Picker"</string>
-    <string name="image_message" msgid="5450245866521896891">"Gewähltes Bild"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Gears-Einstellungen"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Lesen Sie die Datenschutzbestimmungen dieser Website, um herauszufinden, wie Ihr Ort verwendet wird."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Lokalen Speicher zulassen"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Diese Website kann Informationen auf Ihrem Telefon speichern."</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Diese Website kann keine Informationen auf Ihrem Telefon speichern."</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Standorterkennung zulassen"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Diese Website kann Ihren aktuellen Standort erkennen."</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Diese Website kann Ihren aktuellen Standort nicht erkennen."</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Diese Website aus Gears entfernen"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Keine Berechtigungen festgelegt"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Diese Website entfernen"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Alle Berechtigungen sowie alle von der Website auf Ihrem Telefon gespeicherten Daten werden gelöscht."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Diese Website speichert Informationen auf diesem Telefon."\n" Ändern Sie diese Einstellung unter"\n" Einstellungen -&gt; Gears-Einstellungen."</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Diese Website speichert nie Informationen auf diesem Telefon."\n" Ändern Sie diese Einstellung unter"\n" Einstellungen -&gt; Gears-Einstellungen."</string>
-    <string name="location_notification" msgid="3495804750470905804">"Diese Website hat Zugriff auf Ihren aktuellen Standort."\n" Ändern Sie diese Einstellung unter"\n" Einstellungen -&gt; Gears-Einstellungen."</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Diese Website hat keinen Zugriff auf Ihren aktuellen Standort."\n" Ändern Sie diese Einstellung unter"\n" Einstellungen -&gt; Gears-Einstellungen."</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Verknüpfung erstellt"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Nie zulassen"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"OK"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Abbrechen"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Nie zulassen"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"OK"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Abbrechen"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Anwenden"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Abbrechen"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"OK"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Abbrechen"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"Pfad:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Keine Dateien ausgewählt"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Eine Datei ausgewählt"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"Dateien ausgewählt"</string>
-    <string name="remove" msgid="7820112494467011374">"Entfernen"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Lokaler Speicher"</string>
-    <string name="allowed" msgid="1599514934221911624">"Zugelassen"</string>
-    <string name="denied" msgid="7470209521858372968">"Abgelehnt"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Unbekannter Dialogtyp"</string>
-    <string name="default_button" msgid="3901922329454578908">"OK"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Übersicht"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Textcodierung"</string>
+    <string name="pref_default_text_encoding_default">"Latin-1"</string>
+    <string name="browserFrameRedirect">"Redirect"</string>
+    <string name="browserFrame307Post">"Diese Webseite wird umgeleitet. Sollen Ihre eingegebenen Formulardaten an den neuen Ort gesendet werden?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Datenverbindungsproblem"</string>
+    <string name="browserFrameFileErrorLabel">"Problem mit Datei"</string>
+    <string name="browserFrameFormResubmitLabel">"Bestätigen"</string>
+    <string name="browserFrameFormResubmitMessage">"Die Seite, die Sie anzuzeigen versuchen, enthält Daten, die bereits gesendet wurde (\"POST-DATEN\"). Wenn Sie die Daten erneut senden, wird jede Aktion, die das Formular auf der Seite ausgeführt hat, wiederholt (wie beispielsweise eine Suche oder ein Online-Kauf)."</string>
+    <string name="loadSuspendedTitle">"Keine Netzwerkverbindung"</string>
+    <string name="loadSuspended">"Die Seite wird weiter geladen, nachdem die Verbindung wiederhergestellt wurde."</string>
+    <string name="clear_history">"Verlauf löschen"</string>
+    <string name="browser_history">"Zuletzt besuchte Seiten"</string>
+    <string name="empty_history">"Browserverlauf ist leer."</string>
+    <string name="add_new_bookmark">"Lesezeichen hinzufügen..."</string>
+    <string name="no_database">"Keine Datenbank!"</string>
+    <string name="search_hint">"Webadresse eingeben"</string>
+    <string name="search_button_text">"Los"</string>
+    <!-- no translation found for search_settings_description (1422401062529014107) -->
+    <skip />
+    <string name="attention">"Achtung"</string>
+    <string name="popup_window_attempt">"Diese Website versucht, ein Pop-up-Fenster zu öffnen."</string>
+    <string name="allow">"Zulassen"</string>
+    <string name="block">"Blockieren"</string>
+    <string name="too_many_windows_dialog_title">"Fensterlimit erreicht"</string>
+    <string name="too_many_windows_dialog_message">"Es konnte kein neues Fenster geöffnet werden, da Sie bereits die maximale Anzahl an Fenstern geöffnet haben."</string>
+    <string name="too_many_subwindows_dialog_title">"Pop-up ist bereits geöffnet"</string>
+    <string name="too_many_subwindows_dialog_message">"Es konnte kein neues Pop-up-Fenster geöffnet werden, da nur jeweils ein Fenster geöffnet sein kann."</string>
+    <string name="download_title">"Downloadverlauf"</string>
+    <string name="download_unknown_filename">"&lt;Unbekannt&gt;"</string>
+    <string name="download_menu_open">"Öffnen"</string>
+    <string name="download_menu_clear">"Aus Liste löschen"</string>
+    <string name="download_menu_cancel">"Download abbrechen"</string>
+    <string name="download_menu_cancel_all">"Alle Downloads abbrechen"</string>
+    <string name="download_menu_clear_all">"Liste löschen"</string>
+    <string name="download_clear_dlg_title">"Löschen"</string>
+    <string name="download_clear_dlg_msg">"Alle Elemente werden aus der Liste gelöscht und aus dem Browser-Cache entfernt."</string>
+    <string name="download_cancel_dlg_title">"Downloads abbrechen"</string>
+    <string name="download_cancel_dlg_msg">"Alle <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> Downloads werden abgebrochen und aus dem Downloadverlauf gelöscht."</string>
+    <string name="download_file_error_dlg_title">"Kein freier Speicher vorhanden"</string>
+    <string name="download_file_error_dlg_msg">"<xliff:g id="FILENAME">%s</xliff:g> konnte nicht heruntergeladen werden."\n"Bereinigen Sie den Speicher Ihres Telefons und versuchen Sie es erneut."</string>
+    <string name="download_failed_generic_dlg_title">"Download war nicht erfolgreich"</string>
+    <string name="download_no_sdcard_dlg_title">"Keine SD-Karte"</string>
+    <string name="download_no_sdcard_dlg_msg">"Zum Download von <xliff:g id="FILENAME">%s</xliff:g> ist eine SD-Karte erforderlich."</string>
+    <string name="download_sdcard_busy_dlg_title">"SD-Karte nicht verfügbar"</string>
+    <string name="download_sdcard_busy_dlg_msg">"Die SD-Karte ist ausgelastet. Wählen Sie in der Benachrichtigung \"USB-Speicher deaktivieren\" aus, um Downloads zuzulassen."</string>
+    <string name="download_no_application">"Es kann keine Anwendung gefunden werden, um diese Datei zu öffnen."</string>
+    <string name="retry">"Wiederholen"</string>
+    <string name="no_downloads">"Downloadverlauf ist leer."</string>
+    <string name="download_error">"Download war nicht erfolgreich."</string>
+    <string name="download_success">"Download von <xliff:g id="FILE">%s</xliff:g> abgeschlossen."</string>
+    <string name="download_running">"Downloadvorgang läuft..."</string>
+    <string name="download_pending">"Download wird gestartet…"</string>
+    <string name="download_pending_network">"Warten auf Datenverbindung..."</string>
+    <string name="download_running_paused">"Warten auf Datenverbindung..."</string>
+    <string name="download_canceled">"Download abgebrochen."</string>
+    <string name="download_not_acceptable">"Download kann nicht durchgeführt werden, da der Inhalt nicht auf dem Telefon unterstützt wird."</string>
+    <string name="download_file_error">"Download kann nicht beendet werden, da nicht genügend Speicherplatz vorhanden ist."</string>
+    <string name="download_length_required">"Download kann nicht gestartet werden, da die Größe des Elements nicht bestimmt werden kann."</string>
+    <string name="download_precondition_failed">"Download wurde unterbrochen und kann nicht fortgesetzt werden."</string>
+    <string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
+    <string name="homepage_base">"http://www.google.com/m?client=ms-{CID}"</string>
+    <string name="search_the_web">"Web durchsuchen"</string>
+    <string name="zoom_overview_button_text">"Übersicht"</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index b3374e9..7ca87c4 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -15,152 +15,152 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Πρόγραμμα περιήγησης"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Σελιδοδείκτες"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Οι πιο δημοφιλείς"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Ιστορικό"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Έγινε προσθήκη στους σελιδοδείκτες"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Κατάργηση από τους σελιδοδείκτες"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Σύνδεση στο <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
-    <string name="username" msgid="5057566336518215922">"Όνομα"</string>
-    <string name="password" msgid="1177138552305184404">"Κωδικός πρόσβασης"</string>
-    <string name="action" msgid="183105774472071343">"Σύνδεση"</string>
+    <string name="application_name">"Πρόγραμμα περιήγησης"</string>
+    <string name="tab_bookmarks">"Σελιδοδείκτες"</string>
+    <string name="tab_most_visited">"Οι πιο δημοφιλείς"</string>
+    <string name="tab_history">"Ιστορικό"</string>
+    <string name="added_to_bookmarks">"Έγινε προσθήκη στους σελιδοδείκτες"</string>
+    <string name="removed_from_bookmarks">"Κατάργηση από τους σελιδοδείκτες"</string>
+    <string name="sign_in_to">"Σύνδεση στο <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
+    <string name="username">"Όνομα"</string>
+    <string name="password">"Κωδικός πρόσβασης"</string>
+    <string name="action">"Σύνδεση"</string>
     <!-- no translation found for bookmarks_search (5229596268214362873) -->
     <skip />
-    <string name="cancel" msgid="3017274947407233702">"Ακύρωση"</string>
-    <string name="ok" msgid="1509280796718850364">"OK"</string>
+    <string name="cancel">"Ακύρωση"</string>
+    <string name="ok">"OK"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Δεν υπάρχουν αποτελέσματα"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 αποτέλεσμα"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> αποτελέσματα"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> αποτελέσματα"</item>
+    <item quantity="zero">"Δεν υπάρχουν αποτελέσματα"</item>
+    <item quantity="one">"1 αποτέλεσμα"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> αποτελέσματα"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> αποτελέσματα"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Πληροφορίες σελίδας"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Προβολή πληροφοριών σελίδας"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Διεύθυνση:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Παρουσιάστηκαν προβλήματα με το πιστοποιητικό ασφαλείας αυτού του ιστότοπου."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Συνέχεια"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Προειδοποίηση ασφαλείας"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Προβολή πιστοποιητικού"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Αυτό το πιστοποιητικό δεν είναι από έμπιστη αρχή."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"Το όνομα του ιστότοπου δεν αντιστοιχεί στο όνομα του πιστοποιητικού."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Αυτό το πιστοποιητικό έχει λήξει."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Αυτό το πιστοποιητικό δεν είναι έγκυρο ακόμα."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Πιστοποιητικό ασφαλείας"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Αυτό το πιστοποιητικό είναι έγκυρο."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Εκδόθηκε στις:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Κοινό όνομα:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Οργανισμός:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Μονάδα οργάνωσης:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Εκδόθηκε:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Ισχύς:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Εκδόθηκε στις:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Λήγει:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Ανάκτηση λεπτομερειών σύνδεσης..."</string>
-    <string name="stopping" msgid="4839698519340302982">"Διακοπή..."</string>
-    <string name="stop" msgid="5687251076030630074">"Διακοπή"</string>
-    <string name="reload" msgid="8585220783228408062">"Ανανέωση"</string>
-    <string name="forward" msgid="4288210890526641577">"Εμπρός"</string>
-    <string name="save" msgid="5922311934992468496">"OK"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Ακύρωση"</string>
-    <string name="location" msgid="969988560160364559">"Τοποθεσία"</string>
-    <string name="name" msgid="5990326151488445481">"Όνομα"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Σελιδοδείκτης"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Επεξεργασία σελιδοδείκτη"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Προσθήκη συντόμευσης στην αρχική οθόνη"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Άνοιγμα"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Διαγραφή σελιδοδείκτη"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Κατάργηση από το ιστορικό"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Αποθηκεύτηκε στους σελιδοδείκτες."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"Ο σελιδοδείκτης πρέπει να έχει ένα όνομα."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"Ο σελιδοδείκτης πρέπει να έχει μια τοποθεσία."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Δεν είναι δυνατή η δημιουργία κενού σελιδοδείκτη."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"Μη έγκυρη διεύθυνση URL."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Διαγραφή"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Προσθήκη της τελευταίας σελίδας που προβλήθηκε στους σελιδοδείκτες"</string>
-    <string name="current_page" msgid="7510129573681663135">"από "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"Ο σελιδοδείκτης \"<xliff:g id="BOOKMARK">%s</xliff:g>\" θα διαγραφεί."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Άνοιγμα σε νέο παράθυρο"</string>
-    <string name="new_window" msgid="8117889615360211551">"Νέο παράθυρο"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Μετάβαση"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Εύρεση στη σελίδα"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Επιλογή κειμένου"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Προεπισκόπηση παραθύρου"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Παράθυρα"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Τρέχοντα παράθυρα"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Προβολή"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Νέο παράθυρο"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Κλείσιμο"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Σελιδοδείκτης"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Κοινή χρήση συνδέσμου"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Σελιδοδείκτες"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Σελιδοδείκτης"</string>
-    <string name="history" msgid="2451240511251410032">"Ιστορικό"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Λήψεις"</string>
-    <string name="share_page" msgid="593756995297268343">"Κοινή χρήση σελίδας"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Άνοιγμα"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Άνοιγμα σε νέο παράθυρο"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Πρόσθεση συνδέσμου στους σελιδοδείκτες"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Αποθήκευση συνδέσμου"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Κοινή χρήση συνδέσμου"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Αντιγραφή"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Αντιγραφή συνδέσμου διεύθυνσης URL"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Αποθήκευση εικόνας"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Προβολή εικόνας"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Κλήση..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Προσθήκη επαφής"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"Αποστολή μηνύματος ηλεκτρονικού ταχυδρομείου"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Χάρτης"</string>
-    <string name="clear" msgid="7070043081700011461">"Εκκαθάριση"</string>
-    <string name="replace" msgid="4843033491070384047">"Αντικατάσταση"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Σελιδοδείκτες"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Ρυθμίσεις"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Ρυθμίσεις περιεχομένου σελίδας"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Φόρτωση εικόνων"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Προβολή εικόνων στις ιστοσελίδες"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Αποκλεισμός αναδυόμενων παραθύρων"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"Ενεργοποίηση JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Άνοιγμα στο παρασκήνιο"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Τα νέα παράθυρα ανοίγουν πίσω από το τρέχον"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Ορισμός ως αρχική σελίδα"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Αυτόματη προσαρμογή σελίδων"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Μορφ/ση ιστοσ.για προσαρμ.τους στο μέγ.οθόν."</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Ρυθμίσεις απορρήτου"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Εκκαθάριση προσωρινής μνήμης"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Διαγραφή όλου του περιεχομένου των προσωρινά αποθηκευμένων σελίδων"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"Θα γίνει εκκαθάριση της προσωρινής μνήμης."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Εκκαθάριση όλων των δεδομένων cookie"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Εκκαθάριση όλων των cookie του προγράμματος περιήγησης"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Θα γίνει εκκαθάριση όλων των cookie."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Εκκαθάριση ιστορικού"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Εκκαθάριση ιστορικού πλοήγησης προγράμματος περιήγησης"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"Θα γίνει εκκαθάριση του ιστορικού πλοήγησης του προγράμματος περιήγησης."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Εκκαθάριση δεδομένων φόρμας"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Εκκαθάριση όλων των αποθηκευμένων δεδομένων φόρμας"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Θα γίνει εκκαθάριση όλων των αποθηκευμένων δεδομένων φόρμας."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Εκκαθάριση κωδικών πρόσβασης"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Εκκαθάριση όλων των αποθηκευμένων κωδικών πρόσβασης"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Θα γίνει εκκαθάριση όλων των αποθηκευμένων κωδικών πρόσβασης."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Ρυθμίσεις ασφαλείας"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Απομνημόνευση κωδικών πρόσβασης"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Αποθ.ονομάτων χρήστη και κωδ.πρόσβ.για τους ιστότ."</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Απομνημόνευση δεδομένων φόρμας"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Απομνημόν.των δεδομ.που εισάγ.σε φόρμ.για μελλοντ.χρήση"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Εμφάνιση προειδοποιήσεων ασφαλείας"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Να εμφαν.προειδοπ.εάν υπάρχ.πρόβλ.με την ασφάλ.ιστότ."</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Αποδοχή cookie"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Να επιτρ.η αποθ.και ανάγν.δεδ.\"cookie\" από ιστότ."</string>
+    <string name="page_info">"Πληροφορίες σελίδας"</string>
+    <string name="page_info_view">"Προβολή πληροφοριών σελίδας"</string>
+    <string name="page_info_address">"Διεύθυνση:"</string>
+    <string name="ssl_warnings_header">"Παρουσιάστηκαν προβλήματα με το πιστοποιητικό ασφαλείας αυτού του ιστότοπου."</string>
+    <string name="ssl_continue">"Συνέχεια"</string>
+    <string name="security_warning">"Προειδοποίηση ασφαλείας"</string>
+    <string name="view_certificate">"Προβολή πιστοποιητικού"</string>
+    <string name="ssl_untrusted">"Αυτό το πιστοποιητικό δεν είναι από έμπιστη αρχή."</string>
+    <string name="ssl_mismatch">"Το όνομα του ιστότοπου δεν αντιστοιχεί στο όνομα του πιστοποιητικού."</string>
+    <string name="ssl_expired">"Αυτό το πιστοποιητικό έχει λήξει."</string>
+    <string name="ssl_not_yet_valid">"Αυτό το πιστοποιητικό δεν είναι έγκυρο ακόμα."</string>
+    <string name="ssl_certificate">"Πιστοποιητικό ασφαλείας"</string>
+    <string name="ssl_certificate_is_valid">"Αυτό το πιστοποιητικό είναι έγκυρο."</string>
+    <string name="issued_to">"Εκδόθηκε στις:"</string>
+    <string name="common_name">"Κοινό όνομα:"</string>
+    <string name="org_name">"Οργανισμός:"</string>
+    <string name="org_unit">"Μονάδα οργάνωσης:"</string>
+    <string name="issued_by">"Εκδόθηκε:"</string>
+    <string name="validity_period">"Ισχύς:"</string>
+    <string name="issued_on">"Εκδόθηκε στις:"</string>
+    <string name="expires_on">"Λήγει:"</string>
+    <string name="retrieving_creds_dlg_msg">"Ανάκτηση λεπτομερειών σύνδεσης..."</string>
+    <string name="stopping">"Διακοπή..."</string>
+    <string name="stop">"Διακοπή"</string>
+    <string name="reload">"Ανανέωση"</string>
+    <string name="forward">"Εμπρός"</string>
+    <string name="save">"OK"</string>
+    <string name="do_not_save">"Ακύρωση"</string>
+    <string name="location">"Τοποθεσία"</string>
+    <string name="name">"Όνομα"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Σελιδοδείκτης"</string>
+    <string name="edit_bookmark">"Επεξεργασία σελιδοδείκτη"</string>
+    <string name="create_shortcut_bookmark">"Προσθήκη συντόμευσης στην αρχική οθόνη"</string>
+    <string name="open_bookmark">"Άνοιγμα"</string>
+    <string name="remove_bookmark">"Διαγραφή σελιδοδείκτη"</string>
+    <string name="remove_history_item">"Κατάργηση από το ιστορικό"</string>
+    <string name="bookmark_saved">"Αποθηκεύτηκε στους σελιδοδείκτες."</string>
+    <string name="bookmark_needs_title">"Ο σελιδοδείκτης πρέπει να έχει ένα όνομα."</string>
+    <string name="bookmark_needs_url">"Ο σελιδοδείκτης πρέπει να έχει μια τοποθεσία."</string>
+    <string name="empty_bookmark">"Δεν είναι δυνατή η δημιουργία κενού σελιδοδείκτη."</string>
+    <string name="bookmark_url_not_valid">"Μη έγκυρη διεύθυνση URL."</string>
+    <string name="delete_bookmark">"Διαγραφή"</string>
+    <string name="bookmark_page">"Προσθήκη της τελευταίας σελίδας που προβλήθηκε στους σελιδοδείκτες"</string>
+    <string name="current_page">"από "</string>
+    <string name="delete_bookmark_warning">"Ο σελιδοδείκτης \"<xliff:g id="BOOKMARK">%s</xliff:g>\" θα διαγραφεί."</string>
+    <string name="open_in_new_window">"Άνοιγμα σε νέο παράθυρο"</string>
+    <string name="new_window">"Νέο παράθυρο"</string>
+    <string name="goto_dot">"Μετάβαση"</string>
+    <string name="find_dot">"Εύρεση στη σελίδα"</string>
+    <string name="select_dot">"Επιλογή κειμένου"</string>
+    <string name="view_tabs">"Προεπισκόπηση παραθύρου"</string>
+    <string name="view_tabs_condensed">"Παράθυρα"</string>
+    <string name="tab_picker_title">"Τρέχοντα παράθυρα"</string>
+    <string name="tab_picker_view_tab">"Προβολή"</string>
+    <string name="tab_picker_new_tab">"Νέο παράθυρο"</string>
+    <string name="tab_picker_remove_tab">"Κλείσιμο"</string>
+    <string name="tab_picker_bookmark">"Σελιδοδείκτης"</string>
+    <string name="tab_picker_send_url">"Κοινή χρήση συνδέσμου"</string>
+    <string name="bookmarks">"Σελιδοδείκτες"</string>
+    <string name="shortcut_bookmark">"Σελιδοδείκτης"</string>
+    <string name="history">"Ιστορικό"</string>
+    <string name="menu_view_download">"Λήψεις"</string>
+    <string name="share_page">"Κοινή χρήση σελίδας"</string>
+    <string name="contextmenu_openlink">"Άνοιγμα"</string>
+    <string name="contextmenu_openlink_newwindow">"Άνοιγμα σε νέο παράθυρο"</string>
+    <string name="contextmenu_bookmark_thislink">"Πρόσθεση συνδέσμου στους σελιδοδείκτες"</string>
+    <string name="contextmenu_savelink">"Αποθήκευση συνδέσμου"</string>
+    <string name="contextmenu_sharelink">"Κοινή χρήση συνδέσμου"</string>
+    <string name="contextmenu_copy">"Αντιγραφή"</string>
+    <string name="contextmenu_copylink">"Αντιγραφή συνδέσμου διεύθυνσης URL"</string>
+    <string name="contextmenu_download_image">"Αποθήκευση εικόνας"</string>
+    <string name="contextmenu_view_image">"Προβολή εικόνας"</string>
+    <string name="contextmenu_dial_dot">"Κλήση..."</string>
+    <string name="contextmenu_add_contact">"Προσθήκη επαφής"</string>
+    <string name="contextmenu_send_mail">"Αποστολή μηνύματος ηλεκτρονικού ταχυδρομείου"</string>
+    <string name="contextmenu_map">"Χάρτης"</string>
+    <string name="clear">"Εκκαθάριση"</string>
+    <string name="replace">"Αντικατάσταση"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Σελιδοδείκτες"</string>
+    <string name="menu_preferences">"Ρυθμίσεις"</string>
+    <string name="pref_content_title">"Ρυθμίσεις περιεχομένου σελίδας"</string>
+    <string name="pref_content_load_images">"Φόρτωση εικόνων"</string>
+    <string name="pref_content_load_images_summary">"Προβολή εικόνων στις ιστοσελίδες"</string>
+    <string name="pref_content_block_popups">"Αποκλεισμός αναδυόμενων παραθύρων"</string>
+    <string name="pref_content_javascript">"Ενεργοποίηση JavaScript"</string>
+    <string name="pref_content_open_in_background">"Άνοιγμα στο παρασκήνιο"</string>
+    <string name="pref_content_open_in_background_summary">"Τα νέα παράθυρα ανοίγουν πίσω από το τρέχον"</string>
+    <string name="pref_content_homepage">"Ορισμός ως αρχική σελίδα"</string>
+    <string name="pref_content_autofit">"Αυτόματη προσαρμογή σελίδων"</string>
+    <string name="pref_content_autofit_summary">"Μορφοποίηση ιστοσελίδων για την προσαρμογή τους στο μέγεθος της οθόνης"</string>
+    <string name="pref_privacy_title">"Ρυθμίσεις απορρήτου"</string>
+    <string name="pref_privacy_clear_cache">"Εκκαθάριση προσωρινής μνήμης"</string>
+    <string name="pref_privacy_clear_cache_summary">"Διαγραφή όλου του περιεχομένου των προσωρινά αποθηκευμένων σελίδων"</string>
+    <string name="pref_privacy_clear_cache_dlg">"Θα γίνει εκκαθάριση της προσωρινής μνήμης."</string>
+    <string name="pref_privacy_clear_cookies">"Εκκαθάριση όλων των δεδομένων cookie"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Εκκαθάριση όλων των cookie του προγράμματος περιήγησης"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Θα γίνει εκκαθάριση όλων των cookie."</string>
+    <string name="pref_privacy_clear_history">"Εκκαθάριση ιστορικού"</string>
+    <string name="pref_privacy_clear_history_summary">"Εκκαθάριση ιστορικού πλοήγησης προγράμματος περιήγησης"</string>
+    <string name="pref_privacy_clear_history_dlg">"Θα γίνει εκκαθάριση του ιστορικού πλοήγησης του προγράμματος περιήγησης."</string>
+    <string name="pref_privacy_clear_form_data">"Εκκαθάριση δεδομένων φόρμας"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Εκκαθάριση όλων των αποθηκευμένων δεδομένων φόρμας"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Θα γίνει εκκαθάριση όλων των αποθηκευμένων δεδομένων φόρμας."</string>
+    <string name="pref_privacy_clear_passwords">"Εκκαθάριση κωδικών πρόσβασης"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Εκκαθάριση όλων των αποθηκευμένων κωδικών πρόσβασης"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Θα γίνει εκκαθάριση όλων των αποθηκευμένων κωδικών πρόσβασης."</string>
+    <string name="pref_security_title">"Ρυθμίσεις ασφαλείας"</string>
+    <string name="pref_security_remember_passwords">"Απομνημόνευση κωδικών πρόσβασης"</string>
+    <string name="pref_security_remember_passwords_summary">"Αποθήκευση ονομάτων χρήστη και κωδικών πρόσβασης για τους ιστότοπους"</string>
+    <string name="pref_security_save_form_data">"Απομνημόνευση δεδομένων φόρμας"</string>
+    <string name="pref_security_save_form_data_summary">"Να γίνεται απομνημόνευση των δεδομένων που εισάγω σε φόρμες για μελλοντική χρήση"</string>
+    <string name="pref_security_show_security_warning">"Εμφάνιση προειδοποιήσεων ασφαλείας"</string>
+    <string name="pref_security_show_security_warning_summary">"Να εμφανίζεται προειδοποίηση εάν υπάρχει πρόβλημα με την ασφάλεια ενός ιστότοπου"</string>
+    <string name="pref_security_accept_cookies">"Αποδοχή cookie"</string>
+    <string name="pref_security_accept_cookies_summary">"Να επιτρέπεται η αποθήκευση και η ανάγνωση δεδομένων \"cookie\" από τους ιστότοπους"</string>
     <!-- no translation found for pref_text_size (3827031324346612208) -->
     <skip />
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Πολύ μικρό"</item>
-    <item msgid="1950030433642671460">"Μικρό"</item>
-    <item msgid="4338347520133294584">"Κανονικό"</item>
-    <item msgid="5043128215356351184">"Μεγάλο"</item>
-    <item msgid="7201512237890458902">"Πολύ μεγάλο"</item>
+    <item>"Πολύ μικρό"</item>
+    <item>"Μικρό"</item>
+    <item>"Κανονικό"</item>
+    <item>"Μεγάλο"</item>
+    <item>"Πολύ μεγάλο"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Μέγεθος κειμένου"</string>
+    <string name="pref_text_size_dialogtitle">"Μέγεθος κειμένου"</string>
     <!-- no translation found for pref_default_zoom (8076142259097187395) -->
     <skip />
     <!-- no translation found for pref_default_zoom_choices:0 (549583171195154919) -->
@@ -168,136 +168,84 @@
     <!-- no translation found for pref_default_zoom_choices:2 (3840999588443167001) -->
     <!-- no translation found for pref_default_zoom_dialogtitle (6095974367125109021) -->
     <skip />
-    <string name="pref_extras_title" msgid="3091250467679722382">"Σύνθετες ρυθμίσεις"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Ενεργοποίηση Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Εφαρμογές που επεκτείνουν τις δυνατότητες του προγράμματος περιήγησης"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Ρυθμίσεις Gears"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Λίστα προσθηκών"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Δεν υπάρχουν εγκατεστημένες προσθήκες."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Εφαρμογές που επεκτ.τις δυνατ.του προγρ.περιήγ."</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Επαναφορά προεπιλογών"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Εκκαθ.όλων των δεδ.του προγρ.περιήγ.και επαναφ.όλων των ρυθμ.στις προεπ.ρυθμ."</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Θα γίνει εκκαθάριση όλων των δεδομένων του προγράμματος περιήγησης και επαναφορά των ρυθμίσεων στις προεπιλεγμένες τιμές."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Επαναφορά προεπιλογών"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Εντοπισμός σφαλμάτων"</string>
+    <string name="pref_extras_title">"Σύνθετες ρυθμίσεις"</string>
+    <string name="pref_extras_reset_default">"Επαναφορά προεπιλογών"</string>
+    <string name="pref_extras_reset_default_summary">"Εκκαθάριση όλων των δεδομένων του προγράμματος περιήγησης και επαναφορά όλων των ρυθμίσεων στις προεπιλεγμένες ρυθμίσεις"</string>
+    <string name="pref_extras_reset_default_dlg">"Θα γίνει εκκαθάριση όλων των δεδομένων του προγράμματος περιήγησης και επαναφορά των ρυθμίσεων στις προεπιλεγμένες τιμές."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Επαναφορά προεπιλογών"</string>
+    <string name="pref_development_title">"Εντοπισμός σφαλμάτων"</string>
     <!-- no translation found for pref_default_text_encoding (5742965543955558478) -->
     <skip />
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Ιαπωνικά (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Ιαπωνικά (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Ιαπωνικά (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Ιαπωνικά (ISO-2022-JP)"</item>
+    <item>"Ιαπωνικά (SHIFT_JIS)"</item>
+    <item>"Ιαπωνικά (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Κωδικοποίηση κειμένου"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latin-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Ανακατεύθυνση"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Γίνεται ανακατεύθυνση αυτής της ιστοσελίδας. Να αποσταλούν ξανά τα δεδομένα φόρμας που έχετε εισάγει, στην νέα τοποθεσία;"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Πρόβλημα σύνδεσης δεδομένων"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Υπάρχει πρόβλημα με το αρχείο"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Επιβεβαίωση"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"Η σελίδα που προσπαθείτε να προβάλλετε, περιέχει δεδομένα που έχουν ήδη υποβληθεί (\"POSTDATA\"). Εάν αποστείλετε ξανά τα δεδομένα, όλες οι ενέργειες που εκτελέστηκαν από τη φόρμα στη σελίδα (όπως μια αναζήτηση ή μια αγορά στο διαδίκτυο) θα επαναληφθούν."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Δεν υπάρχει σύνδεση δικτύου"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"Η φόρτωση της σελίδας θα συνεχιστεί μετά την επαναφορά της σύνδεσης."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Εκκαθάριση ιστορικού"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Σελίδες που έχετε επισκεφθεί πρόσφατα"</string>
-    <string name="empty_history" msgid="8738772352308207274">"Το ιστορικό του προγράμματος περιήγησης είναι κενό."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Προσθήκη σελιδοδείκτη..."</string>
-    <string name="no_database" msgid="2256698896757181084">"Δεν υπάρχει βάση δεδομένων!"</string>
-    <string name="search_hint" msgid="3385577802557697397">"Πληκτρολογήστε τη διεύθυνση ιστού"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Μετάβαση"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Κωδικοποίηση κειμένου"</string>
+    <string name="pref_default_text_encoding_default">"Latin-1"</string>
+    <string name="browserFrameRedirect">"Ανακατεύθυνση"</string>
+    <string name="browserFrame307Post">"Γίνεται ανακατεύθυνση αυτής της ιστοσελίδας. Να αποσταλούν ξανά τα δεδομένα φόρμας που έχετε εισάγει, στην νέα τοποθεσία;"</string>
+    <string name="browserFrameNetworkErrorLabel">"Πρόβλημα σύνδεσης δεδομένων"</string>
+    <string name="browserFrameFileErrorLabel">"Υπάρχει πρόβλημα με το αρχείο"</string>
+    <string name="browserFrameFormResubmitLabel">"Επιβεβαίωση"</string>
+    <string name="browserFrameFormResubmitMessage">"Η σελίδα που προσπαθείτε να προβάλλετε, περιέχει δεδομένα που έχουν ήδη υποβληθεί (\"POSTDATA\"). Εάν αποστείλετε ξανά τα δεδομένα, όλες οι ενέργειες που εκτελέστηκαν από τη φόρμα στη σελίδα (όπως μια αναζήτηση ή μια αγορά στο διαδίκτυο) θα επαναληφθούν."</string>
+    <string name="loadSuspendedTitle">"Δεν υπάρχει σύνδεση δικτύου"</string>
+    <string name="loadSuspended">"Η φόρτωση της σελίδας θα συνεχιστεί μετά την επαναφορά της σύνδεσης."</string>
+    <string name="clear_history">"Εκκαθάριση ιστορικού"</string>
+    <string name="browser_history">"Σελίδες που έχετε επισκεφθεί πρόσφατα"</string>
+    <string name="empty_history">"Το ιστορικό του προγράμματος περιήγησης είναι κενό."</string>
+    <string name="add_new_bookmark">"Προσθήκη σελιδοδείκτη..."</string>
+    <string name="no_database">"Δεν υπάρχει βάση δεδομένων!"</string>
+    <string name="search_hint">"Πληκτρολογήστε τη διεύθυνση ιστού"</string>
+    <string name="search_button_text">"Μετάβαση"</string>
     <!-- no translation found for search_settings_description (1422401062529014107) -->
     <skip />
-    <string name="attention" msgid="3473639060042811244">"Προσοχή"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Αυτός ο ιστότοπος επιχειρεί να ανοίξει ένα αναδυόμενο παράθυρο."</string>
-    <string name="allow" msgid="1157313689171991335">"Να επιτρέπεται"</string>
-    <string name="block" msgid="9172175889884707800">"Αποκλεισμός"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Το όριο παραθύρων εξαντλήθηκε"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Δεν ήταν δυνατό το άνοιγμα νέου παραθύρου, επειδή έχετε ήδη ανοίξει τον μέγιστο αριθμό παραθύρων."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Το αναδυόμενο παράθυρο είναι ήδη ανοιχτό"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Δεν είναι δυνατό το άνοιγμα ενός νέου αναδυόμενου παράθυρου, επειδή επιτρέπεται το άνοιγμα μόνο ενός παράθυρου κάθε φορά."</string>
-    <string name="download_title" msgid="2122874021047565594">"Ιστορικό λήψης"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Άγνωστο&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Άνοιγμα"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Εκκαθάριση από τη λίστα"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Ακύρωση λήψης"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Ακύρωση όλων των λήψεων"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Εκκαθάριση λίστας"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Εκκαθάριση"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Θα γίνει εκκαθάριση όλων των στοιχείων από τη λίστα και κατάργηση από την προσωρινή μνήμη του προγράμματος περιήγησης."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Ακύρωση λήψεων"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Οι <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> λήψεις θα ακυρωθούν και θα γίνει εκκαθάρισή τους από το ιστορικό λήψεων."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Εξαντλήθηκε ο χώρος"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"Δεν ήταν δυνατή η λήψη του <xliff:g id="FILENAME">%s</xliff:g>."\n"Απελευθερώστε λίγο χώρο στο τηλέφωνό σας και δοκιμάστε ξανά."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Ανεπιτυχής λήψη"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"Δεν υπάρχει κάρτα SD"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Για τη λήψη του <xliff:g id="FILENAME">%s</xliff:g> απαιτείται κάρτα SD."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"Η κάρτα SD δεν είναι διαθέσιμη"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"Η κάρτα SD είναι απασχολημένη. Για να επιτρέψετε τις λήψεις, στην ειδοποίηση επιλέξτε \"Απενεργοποίηση χώρου αποθήκευσης USB\"."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Δεν βρέθηκε εφαρμογή για το άνοιγμα αυτού του αρχείου."</string>
-    <string name="retry" msgid="1835923075542266721">"Επανάληψη"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"Το ιστορικό λήψεων του προγράμματος περιήγησης είναι κενό."</string>
-    <string name="download_error" msgid="413496839831257187">"Ανεπιτυχής λήψη."</string>
-    <string name="download_success" msgid="2279041638155595203">"<xliff:g id="FILE">%s</xliff:g> Ολοκλήρωση λήψης."</string>
-    <string name="download_running" msgid="2622942231322015059">"Λήψη..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"Έναρξη λήψης..."</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"Αναμονή για σύνδεση δεδομένων…"</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"Αναμονή για σύνδεση δεδομένων…"</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Η λήψη ακυρώθηκε."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"Δεν είναι δυνατή η λήψη. Το περιεχόμενο δεν υποστηρίζεται από το τηλέφωνο."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"Δεν είναι δυνατή η ολοκλήρωση της λήψης. Δεν υπάρχει αρκετός διαθέσιμος χώρος."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"Δεν είναι δυνατή η λήψη. Δεν είναι δυνατός ο προσδιορισμός του μεγέθους του στοιχείου."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"Η λήψη διακόπηκε. Δεν είναι δυνατή η συνέχισή της."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Πρόγραμμα εκτέλεσης δοκιμών προγράμματος περιήγησης"</string>
+    <string name="attention">"Προσοχή"</string>
+    <string name="popup_window_attempt">"Αυτός ο ιστότοπος επιχειρεί να ανοίξει ένα αναδυόμενο παράθυρο."</string>
+    <string name="allow">"Να επιτρέπεται"</string>
+    <string name="block">"Αποκλεισμός"</string>
+    <string name="too_many_windows_dialog_title">"Το όριο παραθύρων εξαντλήθηκε"</string>
+    <string name="too_many_windows_dialog_message">"Δεν ήταν δυνατό το άνοιγμα νέου παραθύρου, επειδή έχετε ήδη ανοίξει τον μέγιστο αριθμό παραθύρων."</string>
+    <string name="too_many_subwindows_dialog_title">"Το αναδυόμενο παράθυρο είναι ήδη ανοιχτό"</string>
+    <string name="too_many_subwindows_dialog_message">"Δεν είναι δυνατό το άνοιγμα ενός νέου αναδυόμενου παράθυρου, επειδή επιτρέπεται το άνοιγμα μόνο ενός παράθυρου κάθε φορά."</string>
+    <string name="download_title">"Ιστορικό λήψης"</string>
+    <string name="download_unknown_filename">"&lt;Άγνωστο&gt;"</string>
+    <string name="download_menu_open">"Άνοιγμα"</string>
+    <string name="download_menu_clear">"Εκκαθάριση από τη λίστα"</string>
+    <string name="download_menu_cancel">"Ακύρωση λήψης"</string>
+    <string name="download_menu_cancel_all">"Ακύρωση όλων των λήψεων"</string>
+    <string name="download_menu_clear_all">"Εκκαθάριση λίστας"</string>
+    <string name="download_clear_dlg_title">"Εκκαθάριση"</string>
+    <string name="download_clear_dlg_msg">"Θα γίνει εκκαθάριση όλων των στοιχείων από τη λίστα και κατάργηση από την προσωρινή μνήμη του προγράμματος περιήγησης."</string>
+    <string name="download_cancel_dlg_title">"Ακύρωση λήψεων"</string>
+    <string name="download_cancel_dlg_msg">"Οι <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> λήψεις θα ακυρωθούν και θα γίνει εκκαθάρισή τους από το ιστορικό λήψεων."</string>
+    <string name="download_file_error_dlg_title">"Εξαντλήθηκε ο χώρος"</string>
+    <string name="download_file_error_dlg_msg">"Δεν ήταν δυνατή η λήψη του <xliff:g id="FILENAME">%s</xliff:g>."\n"Απελευθερώστε λίγο χώρο στο τηλέφωνό σας και δοκιμάστε ξανά."</string>
+    <string name="download_failed_generic_dlg_title">"Ανεπιτυχής λήψη"</string>
+    <string name="download_no_sdcard_dlg_title">"Δεν υπάρχει κάρτα SD"</string>
+    <string name="download_no_sdcard_dlg_msg">"Για τη λήψη του <xliff:g id="FILENAME">%s</xliff:g> απαιτείται κάρτα SD."</string>
+    <string name="download_sdcard_busy_dlg_title">"Η κάρτα SD δεν είναι διαθέσιμη"</string>
+    <string name="download_sdcard_busy_dlg_msg">"Η κάρτα SD είναι απασχολημένη. Για να επιτρέψετε τις λήψεις, στην ειδοποίηση επιλέξτε \"Απενεργοποίηση χώρου αποθήκευσης USB\"."</string>
+    <string name="download_no_application">"Δεν βρέθηκε εφαρμογή για το άνοιγμα αυτού του αρχείου."</string>
+    <string name="retry">"Επανάληψη"</string>
+    <string name="no_downloads">"Το ιστορικό λήψεων του προγράμματος περιήγησης είναι κενό."</string>
+    <string name="download_error">"Ανεπιτυχής λήψη."</string>
+    <string name="download_success">"<xliff:g id="FILE">%s</xliff:g> Ολοκλήρωση λήψης."</string>
+    <string name="download_running">"Λήψη..."</string>
+    <string name="download_pending">"Έναρξη λήψης..."</string>
+    <string name="download_pending_network">"Αναμονή για σύνδεση δεδομένων…"</string>
+    <string name="download_running_paused">"Αναμονή για σύνδεση δεδομένων…"</string>
+    <string name="download_canceled">"Η λήψη ακυρώθηκε."</string>
+    <string name="download_not_acceptable">"Δεν είναι δυνατή η λήψη. Το περιεχόμενο δεν υποστηρίζεται από το τηλέφωνο."</string>
+    <string name="download_file_error">"Δεν είναι δυνατή η ολοκλήρωση της λήψης. Δεν υπάρχει αρκετός διαθέσιμος χώρος."</string>
+    <string name="download_length_required">"Δεν είναι δυνατή η λήψη. Δεν είναι δυνατός ο προσδιορισμός του μεγέθους του στοιχείου."</string>
+    <string name="download_precondition_failed">"Η λήψη διακόπηκε. Δεν είναι δυνατή η συνέχισή της."</string>
+    <string name="activity_instrumentation_test_runner">"Πρόγραμμα εκτέλεσης δοκιμών προγράμματος περιήγησης"</string>
     <!-- no translation found for homepage_base (7888126987935305566) -->
     <skip />
     <!-- no translation found for search_the_web (6046130189241962337) -->
     <skip />
-    <string name="query_data_prompt" msgid="5474381240981604223">"Να επιτρέπεται η αποθήκευση"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Αυτός ο ιστότοπος θέλει να αποθηκεύσει πληροφορίες στο τηλέφωνό σας."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Πρόσβαση στην τοποθεσία σας"</string>
-    <string name="location_message" msgid="1729456751935683242">"Αυτός ο ιστότοπος θέλει να αποκτήσει πρόσβαση στην τοποθεσία σας."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Δημιουργία συντόμευσης"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Αυτός ο ιστότοπος θέλει να δημιουργήσει μια συντόμευση αυτής της σελίδας στην αρχική σας οθόνη."</string>
-    <string name="settings_message" msgid="6171686603006325199">"Ο παρακάτω πίνακας εμφανίζει τα δικαιώματα που έχετε παραχωρήσει σε κάθε ιστότοπο που προσπάθησε να χρησιμοποιήσει το Gears."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Πρόγραμμα επιλογής αρχείων"</string>
-    <string name="image_message" msgid="5450245866521896891">"Επιλεγμένη εικόνα"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Ρυθμίσεις Gears"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Διαβάστε την πολιτική απορρήτου αυτού του ιστότοπου για να μάθετε πώς θα χρησιμοποιηθεί η τοποθεσία σας."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Να επιτρέπεται η τοπική αποθήκευση"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Αυτός ο ιστότοπος μπορεί να αποθηκεύσει πληροφορίες στο τηλέφωνό σας"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Αυτός ο ιστότοπος δεν μπορεί να αποθηκεύσει πληροφορίες στο τηλέφωνό σας"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Να επιτρέπεται ο εντοπισμός τοποθεσίας"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Είναι δυνατή η ανάγνωση της τοποθεσίας σας από αυτόν τον ιστότοπο"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Δεν είναι δυνατή η ανάγνωση της τοποθεσίας σας από αυτόν τον ιστότοπο"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Κατάργηση αυτού του ιστότοπου από το Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Δεν έχουν οριστεί δικαιώματα"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Κατάργηση αυτού του ιστότοπου"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Θα γίνει εκκαθάριση όλων των δικαιωμάτων και τα δεδομένα που έχουν αποθηκευτεί στο τηλέφωνό σας από τον ιστότοπο, θα διαγραφούν."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Αυτός ο ιστότοπος θα αποθηκεύσει πληροφορίες στο τηλέφωνό σας."\n" Αλλάξτε αυτήν τη ρύθμιση στο μενού:"\n" Ρυθμίσεις -&gt; Ρυθμίσεις Gears"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Αυτός ο ιστότοπος δεν θα αποθηκεύσει ποτέ πληροφορίες στο τηλέφωνό σας."\n" Αλλάξτε αυτήν τη ρύθμιση στο μενού:"\n" Ρυθμίσεις -&gt; Ρυθμίσεις Gears"</string>
-    <string name="location_notification" msgid="3495804750470905804">"Αυτός ο ιστότοπος μπορεί να αποκτήσει πρόσβαση στην τρέχουσα τοποθεσία σας."\n" Αλλάξτε αυτήν τη ρύθμιση στο μενού:"\n" Ρυθμίσεις -&gt; Ρυθμίσεις Gears"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Αυτός ο ιστότοπος δεν θα έχει πρόσβαση στην τοποθεσία σας."\n" Αλλάξτε αυτήν τη ρύθμιση από το μενού:"\n" Ρυθμίσεις -&gt; Ρυθμίσεις Gears"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Η συντόμευση δημιουργήθηκε"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Να μην επιτρέπεται ποτέ"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"OK"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Ακύρωση"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Να μην επιτρέπεται ποτέ"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"OK"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Ακύρωση"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Εφαρμογή"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Ακύρωση"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"OK"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Ακύρωση"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"διαδρομή:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Δεν έχουν επιλεχθεί αρχεία"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Επιλέχθηκε ένα αρχείο"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"επιλεγμένα αρχεία"</string>
-    <string name="remove" msgid="7820112494467011374">"Κατάργηση"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Τοπικός χώρος αποθήκευσης"</string>
-    <string name="allowed" msgid="1599514934221911624">"Επιτρέπεται"</string>
-    <string name="denied" msgid="7470209521858372968">"Απορρίφθηκε"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Άγνωστος τύπος πλαισίου διαλόγου"</string>
-    <string name="default_button" msgid="3901922329454578908">"OK"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Επισκόπηση"</string>
+    <string name="zoom_overview_button_text">"Επισκόπηση"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index ec4f949..fa61f98 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -15,151 +15,151 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Navegador"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Marcadores"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Más visitados"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Historial"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Agregado a marcadores"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Suprimido de los marcadores"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Iniciar sesión en <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
-    <string name="username" msgid="5057566336518215922">"Nombre"</string>
-    <string name="password" msgid="1177138552305184404">"Contraseña"</string>
-    <string name="action" msgid="183105774472071343">"Iniciar sesión"</string>
+    <string name="application_name">"Navegador"</string>
+    <string name="tab_bookmarks">"Marcadores"</string>
+    <string name="tab_most_visited">"Los más visitados"</string>
+    <string name="tab_history">"Historial"</string>
+    <string name="added_to_bookmarks">"Agregado a marcadores"</string>
+    <string name="removed_from_bookmarks">"Suprimido de los marcadores"</string>
+    <string name="sign_in_to">"Iniciar sesión en <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
+    <string name="username">"Nombre"</string>
+    <string name="password">"Contraseña"</string>
+    <string name="action">"Iniciar sesión"</string>
     <!-- no translation found for bookmarks_search (5229596268214362873) -->
     <skip />
-    <string name="cancel" msgid="3017274947407233702">"Cancelar"</string>
-    <string name="ok" msgid="1509280796718850364">"Aceptar"</string>
+    <string name="cancel">"Cancelar"</string>
+    <string name="ok">"Aceptar"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Sin coincidencias"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 coincidencia"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> coincide"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> coincide"</item>
+    <item quantity="zero">"Sin coincidencias"</item>
+    <item quantity="one">"1 coincidencia"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> coincide"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> coincide"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Información de la página"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Ver información de la página"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Dirección:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Existen problemas con el certificado de seguridad para este sitio."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Continuar"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Advertencia de seguridad"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Ver certificado"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Este certificado no proviene de una fuente confiable."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"El nombre del sitio no coincide con el nombre del certificado."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Este certificado ha expirado."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Este certificado aún no es válido."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Certificado de seguridad"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Este certificado es válido."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Emitido a:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Nombre habitual:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Organización:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Unidad organizativa"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Emitido por:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Validez:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Enviado el:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Expira el:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Recuperando detalles de inicio de sesión..."</string>
-    <string name="stopping" msgid="4839698519340302982">"Deteniendo..."</string>
-    <string name="stop" msgid="5687251076030630074">"Detener"</string>
-    <string name="reload" msgid="8585220783228408062">"Actualizar"</string>
-    <string name="forward" msgid="4288210890526641577">"Reenviar"</string>
-    <string name="save" msgid="5922311934992468496">"Aceptar"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Cancelar"</string>
-    <string name="location" msgid="969988560160364559">"Ubicación"</string>
-    <string name="name" msgid="5990326151488445481">"Nombre"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Marcador"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Editar marcador"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Agregar acceso directo a la página de inicio"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Abrir"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Eliminar marcador"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Suprimir del historial"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Guardado en los marcadores."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"El marcador debe tener un nombre."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"El marcador debe tener una ubicación."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"No es posible crear un marcador vacío."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"La URL no es válida."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Eliminar"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Última página vista del marcador"</string>
-    <string name="current_page" msgid="7510129573681663135">"de "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"El marcador \"<xliff:g id="BOOKMARK">%s</xliff:g>\" se eliminará."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Abrir en una ventana nueva"</string>
-    <string name="new_window" msgid="8117889615360211551">"Ventana nueva"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Ir"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Buscar en la página"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Seleccionar texto"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Descripción general de la ventana"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Windows"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Ventana actual"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Ver"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Ventana nueva"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Cerrar"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Marcador"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Compartir enlace"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Marcadores"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Marcador"</string>
-    <string name="history" msgid="2451240511251410032">"Historial"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Descargas"</string>
-    <string name="share_page" msgid="593756995297268343">"Compartir página"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Abrir"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Abrir en una ventana nueva"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Enlace del marcador"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Guardar enlace"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Compartir enlace"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Copiar"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Copiar URL de vínculo"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Guardar imagen"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Ver imagen"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Discar..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Agregar contacto"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"Enviar correo electrónico"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Situar en el mapa"</string>
-    <string name="clear" msgid="7070043081700011461">"Borrar"</string>
-    <string name="replace" msgid="4843033491070384047">"Reemplazar"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Marcadores"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Configurac."</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Configuración del contenido de la página"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Cargar imágenes"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Visualizar imágenes en páginas web"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Bloq. ventanas emerg."</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"Habilitar JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Abrir en modo subord."</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Las ventanas nuevas se abren detrás de la actual"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Definir página de inicio"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Ajuste automát. de pág."</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Formatea las páginas web para que se ajusten a la pantalla"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Configuración de privacidad"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Borrar caché"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Eliminar todo el contenido de la página del caché"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"Se borrará el caché."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Borrar datos de cookies"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Borrar todas las cookies del navegador"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Se borrarán todas las cookies."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Borrar historial"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Borrar el historial de navegación del navegador"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"Se borrará el historial del navegador."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Borrar datos del formulario"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Borrar todos los datos guardados del formulario"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Se borrarán todos los datos guardados del formulario."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Borrar contraseñas"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Borrar todas las contraseñas guardadas"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Se borrarán todas las contraseñas guardadas."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Configuración de seguridad"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Recordar contraseñas"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Guardar nombres de usuario y contraseñas para sitios web"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Recordar datos del form."</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Recordar los datos ingresados en los formularios para uso futuro"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Mostrar advert. de seguridad"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Mostrar una advertencia si hay un problema con la seguridad de un sitio"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Aceptar cookies"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Permitir que los sitios guarden y lean datos de las \"cookies\""</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"Tamaño del texto"</string>
+    <string name="page_info">"Información de la página"</string>
+    <string name="page_info_view">"Ver información de la página"</string>
+    <string name="page_info_address">"Dirección:"</string>
+    <string name="ssl_warnings_header">"Existen problemas con el certificado de seguridad para este sitio."</string>
+    <string name="ssl_continue">"Continuar"</string>
+    <string name="security_warning">"Advertencia de seguridad"</string>
+    <string name="view_certificate">"Ver certificado"</string>
+    <string name="ssl_untrusted">"Este certificado no proviene de una fuente confiable."</string>
+    <string name="ssl_mismatch">"El nombre del sitio no coincide con el nombre del certificado."</string>
+    <string name="ssl_expired">"Este certificado ha expirado."</string>
+    <string name="ssl_not_yet_valid">"Este certificado aún no es válido."</string>
+    <string name="ssl_certificate">"Certificado de seguridad"</string>
+    <string name="ssl_certificate_is_valid">"Este certificado es válido."</string>
+    <string name="issued_to">"Emitido a:"</string>
+    <string name="common_name">"Nombre habitual:"</string>
+    <string name="org_name">"Organización:"</string>
+    <string name="org_unit">"Unidad organizativa"</string>
+    <string name="issued_by">"Emitido por:"</string>
+    <string name="validity_period">"Validez:"</string>
+    <string name="issued_on">"Enviado el:"</string>
+    <string name="expires_on">"Expira el:"</string>
+    <string name="retrieving_creds_dlg_msg">"Recuperando detalles de inicio de sesión..."</string>
+    <string name="stopping">"Deteniendo..."</string>
+    <string name="stop">"Detener"</string>
+    <string name="reload">"Actualizar"</string>
+    <string name="forward">"Reenviar"</string>
+    <string name="save">"Aceptar"</string>
+    <string name="do_not_save">"Cancelar"</string>
+    <string name="location">"Ubicación"</string>
+    <string name="name">"Nombre"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Marcador"</string>
+    <string name="edit_bookmark">"Editar marcador"</string>
+    <string name="create_shortcut_bookmark">"Agregar acceso directo a la página de inicio"</string>
+    <string name="open_bookmark">"Abrir"</string>
+    <string name="remove_bookmark">"Eliminar marcador"</string>
+    <string name="remove_history_item">"Suprimir del historial"</string>
+    <string name="bookmark_saved">"Guardado en los marcadores."</string>
+    <string name="bookmark_needs_title">"El marcador debe tener un nombre."</string>
+    <string name="bookmark_needs_url">"El marcador debe tener una ubicación."</string>
+    <string name="empty_bookmark">"No es posible crear un marcador vacío."</string>
+    <string name="bookmark_url_not_valid">"La URL no es válida."</string>
+    <string name="delete_bookmark">"Eliminar"</string>
+    <string name="bookmark_page">"Última página vista del marcador"</string>
+    <string name="current_page">"de "</string>
+    <string name="delete_bookmark_warning">"El marcador \"<xliff:g id="BOOKMARK">%s</xliff:g>\" se eliminará."</string>
+    <string name="open_in_new_window">"Abrir en una ventana nueva"</string>
+    <string name="new_window">"Ventana nueva"</string>
+    <string name="goto_dot">"Ir"</string>
+    <string name="find_dot">"Buscar en la página"</string>
+    <string name="select_dot">"Seleccionar texto"</string>
+    <string name="view_tabs">"Descripción general de la ventana"</string>
+    <string name="view_tabs_condensed">"Windows"</string>
+    <string name="tab_picker_title">"Ventana actual"</string>
+    <string name="tab_picker_view_tab">"Ver"</string>
+    <string name="tab_picker_new_tab">"Ventana nueva"</string>
+    <string name="tab_picker_remove_tab">"Cerrar"</string>
+    <string name="tab_picker_bookmark">"Marcador"</string>
+    <string name="tab_picker_send_url">"Compartir enlace"</string>
+    <string name="bookmarks">"Marcadores"</string>
+    <string name="shortcut_bookmark">"Marcador"</string>
+    <string name="history">"Historial"</string>
+    <string name="menu_view_download">"Descargas"</string>
+    <string name="share_page">"Compartir página"</string>
+    <string name="contextmenu_openlink">"Abrir"</string>
+    <string name="contextmenu_openlink_newwindow">"Abrir en una ventana nueva"</string>
+    <string name="contextmenu_bookmark_thislink">"Enlace del marcador"</string>
+    <string name="contextmenu_savelink">"Guardar enlace"</string>
+    <string name="contextmenu_sharelink">"Compartir enlace"</string>
+    <string name="contextmenu_copy">"Copiar"</string>
+    <string name="contextmenu_copylink">"Copiar URL de vínculo"</string>
+    <string name="contextmenu_download_image">"Guardar imagen"</string>
+    <string name="contextmenu_view_image">"Ver imagen"</string>
+    <string name="contextmenu_dial_dot">"Discar..."</string>
+    <string name="contextmenu_add_contact">"Agregar contacto"</string>
+    <string name="contextmenu_send_mail">"Enviar correo electrónico"</string>
+    <string name="contextmenu_map">"Situar en el mapa"</string>
+    <string name="clear">"Borrar"</string>
+    <string name="replace">"Reemplazar"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Marcadores"</string>
+    <string name="menu_preferences">"Configuración"</string>
+    <string name="pref_content_title">"Configuración del contenido de la página"</string>
+    <string name="pref_content_load_images">"Cargar imágenes"</string>
+    <string name="pref_content_load_images_summary">"Visualizar imágenes en páginas web"</string>
+    <string name="pref_content_block_popups">"Bloquear ventanas emergentes"</string>
+    <string name="pref_content_javascript">"Habilitar JavaScript"</string>
+    <string name="pref_content_open_in_background">"Abrir en modo subordinado"</string>
+    <string name="pref_content_open_in_background_summary">"Las ventanas nuevas se abren detrás de la actual"</string>
+    <string name="pref_content_homepage">"Definir página de inicio"</string>
+    <string name="pref_content_autofit">"Ajuste automático de páginas"</string>
+    <string name="pref_content_autofit_summary">"Formatea las páginas web para que se ajusten a la pantalla"</string>
+    <string name="pref_privacy_title">"Configuración de privacidad"</string>
+    <string name="pref_privacy_clear_cache">"Borrar caché"</string>
+    <string name="pref_privacy_clear_cache_summary">"Eliminar todo el contenido de la página del caché"</string>
+    <string name="pref_privacy_clear_cache_dlg">"Se borrará el caché."</string>
+    <string name="pref_privacy_clear_cookies">"Borrar todos los datos de cookies"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Borrar todas las cookies del navegador"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Se borrarán todas las cookies."</string>
+    <string name="pref_privacy_clear_history">"Borrar historial"</string>
+    <string name="pref_privacy_clear_history_summary">"Borrar el historial de navegación del navegador"</string>
+    <string name="pref_privacy_clear_history_dlg">"Se borrará el historial del navegador."</string>
+    <string name="pref_privacy_clear_form_data">"Borrar datos del formulario"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Borrar todos los datos guardados del formulario"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Se borrarán todos los datos guardados del formulario."</string>
+    <string name="pref_privacy_clear_passwords">"Borrar contraseñas"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Borrar todas las contraseñas guardadas"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Se borrarán todas las contraseñas guardadas."</string>
+    <string name="pref_security_title">"Configuración de seguridad"</string>
+    <string name="pref_security_remember_passwords">"Recordar contraseñas"</string>
+    <string name="pref_security_remember_passwords_summary">"Guardar nombres de usuario y contraseñas para sitios web"</string>
+    <string name="pref_security_save_form_data">"Recordar datos del formulario"</string>
+    <string name="pref_security_save_form_data_summary">"Recordar los datos ingresados en los formularios para uso futuro"</string>
+    <string name="pref_security_show_security_warning">"Mostrar advertencias de seguridad"</string>
+    <string name="pref_security_show_security_warning_summary">"Mostrar una advertencia si hay un problema con la seguridad de un sitio"</string>
+    <string name="pref_security_accept_cookies">"Aceptar cookies"</string>
+    <string name="pref_security_accept_cookies_summary">"Permitir que los sitios guarden y lean datos de las \"cookies\""</string>
+    <string name="pref_text_size">"Tamaño del texto"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Más pequeño"</item>
-    <item msgid="1950030433642671460">"Pequeño"</item>
-    <item msgid="4338347520133294584">"Normal"</item>
-    <item msgid="5043128215356351184">"Grande"</item>
-    <item msgid="7201512237890458902">"Enorme"</item>
+    <item>"Más pequeño"</item>
+    <item>"Pequeño"</item>
+    <item>"Normal"</item>
+    <item>"Grande"</item>
+    <item>"Enorme"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Tamaño del texto"</string>
+    <string name="pref_text_size_dialogtitle">"Tamaño del texto"</string>
     <!-- no translation found for pref_default_zoom (8076142259097187395) -->
     <skip />
     <!-- no translation found for pref_default_zoom_choices:0 (549583171195154919) -->
@@ -167,136 +167,84 @@
     <!-- no translation found for pref_default_zoom_choices:2 (3840999588443167001) -->
     <!-- no translation found for pref_default_zoom_dialogtitle (6095974367125109021) -->
     <skip />
-    <string name="pref_extras_title" msgid="3091250467679722382">"Configuración avanzada"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Habilitar Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Aplicaciones que amplían la funcionalidad del navegador"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Configuración de Gears"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Lista de complementos"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"No hay complementos instalados."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Aplicaciones que amplían la funcionalidad del navegador"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Restabl. a valores predet."</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Borrar todos los datos del navegador y restablecer la configuración a los valores predeterminados"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Se borrarán todos los datos del navegador y la configuración volverá a los valores predeterminados."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Restablecer a los valores predeterminados"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Depurar"</string>
+    <string name="pref_extras_title">"Configuración avanzada"</string>
+    <string name="pref_extras_reset_default">"Restablecer a los valores predeterminados"</string>
+    <string name="pref_extras_reset_default_summary">"Borrar todos los datos del navegador y restablecer la configuración a los valores predeterminados"</string>
+    <string name="pref_extras_reset_default_dlg">"Se borrarán todos los datos del navegador y la configuración volverá a los valores predeterminados."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Restablecer a los valores predeterminados"</string>
+    <string name="pref_development_title">"Depurar"</string>
     <!-- no translation found for pref_default_text_encoding (5742965543955558478) -->
     <skip />
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latino-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japonés (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japonés (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japonés (EUC-JP)"</item>
+    <item>"Latino-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japonés (ISO-2022-JP)"</item>
+    <item>"Japonés (SHIFT_JIS)"</item>
+    <item>"Japonés (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Codificación de texto"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latino-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Redireccionamiento"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Esta página web está siendo redireccionada. ¿Deseas reenviar los datos que ingresaste en tu formulario a la ubicación nueva?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Problema de conectividad de datos"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Problema con el archivo"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Confirmar"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"La página que intentas ver contiene datos que ya se han suministrado (\"POSTDATA\"). Si vuelves a enviar los datos, se repetirán las acciones que haya realizado el formulario (como una búsqueda o compra en línea)."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"No hay conexión a la red"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"La página continuará cargando cuando se haya restablecido la conexión."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Borrar historial"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Últimas páginas visitadas"</string>
-    <string name="empty_history" msgid="8738772352308207274">"El historial del navegador está vacío."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Agregar marcador..."</string>
-    <string name="no_database" msgid="2256698896757181084">"No hay base de datos"</string>
-    <string name="search_hint" msgid="3385577802557697397">"Escribe la dirección web"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Ir"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Codificación de texto"</string>
+    <string name="pref_default_text_encoding_default">"Latino-1"</string>
+    <string name="browserFrameRedirect">"Redireccionamiento"</string>
+    <string name="browserFrame307Post">"Esta página web está siendo redireccionada. ¿Deseas reenviar los datos que ingresaste en tu formulario a la ubicación nueva?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Problema de conectividad de datos"</string>
+    <string name="browserFrameFileErrorLabel">"Problema con el archivo"</string>
+    <string name="browserFrameFormResubmitLabel">"Confirmar"</string>
+    <string name="browserFrameFormResubmitMessage">"La página que intentas ver contiene datos que ya se han suministrado (\"POSTDATA\"). Si vuelves a enviar los datos, se repetirán las acciones que haya realizado el formulario (como una búsqueda o compra en línea)."</string>
+    <string name="loadSuspendedTitle">"No hay conexión a la red"</string>
+    <string name="loadSuspended">"La página continuará cargando cuando se haya restablecido la conexión."</string>
+    <string name="clear_history">"Borrar historial"</string>
+    <string name="browser_history">"Últimas páginas visitadas"</string>
+    <string name="empty_history">"El historial del navegador está vacío."</string>
+    <string name="add_new_bookmark">"Agregar marcador..."</string>
+    <string name="no_database">"No hay base de datos"</string>
+    <string name="search_hint">"Escribe la dirección web"</string>
+    <string name="search_button_text">"Ir"</string>
     <!-- no translation found for search_settings_description (1422401062529014107) -->
     <skip />
-    <string name="attention" msgid="3473639060042811244">"Atención"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Este sitio está intentando abrir una ventana emergente."</string>
-    <string name="allow" msgid="1157313689171991335">"Permitir"</string>
-    <string name="block" msgid="9172175889884707800">"Bloquear"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Se alcanzó el límite de la ventana"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"No se ha podido abrir una ventana nueva porque ya has abierto el máximo permitido."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Ventana emergente ya abierta"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"No es posible abrir una ventana emergente nueva porque sólo puede abrirse una por vez."</string>
-    <string name="download_title" msgid="2122874021047565594">"Historial de descarga"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Desconocido&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Abrir"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Borrar de la lista"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Cancelar descarga"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Cancelar todas las descargas"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Borrar lista"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Borrar"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Todos los elementos se borrarán de la lista y se suprimirán del caché del navegador."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Cancelar descargas"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Las <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> descargas se cancelarán y se borrarán del historial de descarga."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"No hay espacio suficiente"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"<xliff:g id="FILENAME">%s</xliff:g> no se pudo cargar."\n"Libera espacio en tu teléfono y vuelve a intentarlo."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Descarga incorrecta"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"No hay tarjeta SD"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Es necesario tener una tarjeta SD para descargar <xliff:g id="FILENAME">%s</xliff:g>."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"Tarjeta SD no disponible"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"La tarjeta SD está llena. Para permitir descargas, selecciona \"Desactivar almacenamiento USB\" en la notificación."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"No se encuentra una aplicación para abrir este archivo."</string>
-    <string name="retry" msgid="1835923075542266721">"Intentar nuevamente"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"El historial de descarga está vacío."</string>
-    <string name="download_error" msgid="413496839831257187">"Descarga incorrecta."</string>
-    <string name="download_success" msgid="2279041638155595203">"<xliff:g id="FILE">%s</xliff:g> Descarga completa."</string>
-    <string name="download_running" msgid="2622942231322015059">"Descargando..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"Iniciando la descarga..."</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"Esperando la conexión de datos..."</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"Esperando la conexión de datos..."</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Descarga cancelada."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"No es posible realizar la descarga. El contenido no se admite en el teléfono."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"No es posible terminar la descarga. No hay espacio suficiente."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"No es posible realizar la descarga. No puede determinarse el tamaño del elemento."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"Descarga interrumpida. No se puede retomar."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Ejecutor de pruebas del navegador"</string>
+    <string name="attention">"Atención"</string>
+    <string name="popup_window_attempt">"Este sitio está intentando abrir una ventana emergente."</string>
+    <string name="allow">"Permitir"</string>
+    <string name="block">"Bloquear"</string>
+    <string name="too_many_windows_dialog_title">"Se alcanzó el límite de la ventana"</string>
+    <string name="too_many_windows_dialog_message">"No se ha podido abrir una ventana nueva porque ya has abierto el máximo permitido."</string>
+    <string name="too_many_subwindows_dialog_title">"Ventana emergente ya abierta"</string>
+    <string name="too_many_subwindows_dialog_message">"No es posible abrir una ventana emergente nueva porque sólo puede abrirse una por vez."</string>
+    <string name="download_title">"Historial de descarga"</string>
+    <string name="download_unknown_filename">"&lt;Desconocido&gt;"</string>
+    <string name="download_menu_open">"Abrir"</string>
+    <string name="download_menu_clear">"Borrar de la lista"</string>
+    <string name="download_menu_cancel">"Cancelar descarga"</string>
+    <string name="download_menu_cancel_all">"Cancelar todas las descargas"</string>
+    <string name="download_menu_clear_all">"Borrar lista"</string>
+    <string name="download_clear_dlg_title">"Borrar"</string>
+    <string name="download_clear_dlg_msg">"Todos los elementos se borrarán de la lista y se suprimirán del caché del navegador."</string>
+    <string name="download_cancel_dlg_title">"Cancelar descargas"</string>
+    <string name="download_cancel_dlg_msg">"Las <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> descargas se cancelarán y se borrarán del historial de descarga."</string>
+    <string name="download_file_error_dlg_title">"No hay espacio suficiente"</string>
+    <string name="download_file_error_dlg_msg">"<xliff:g id="FILENAME">%s</xliff:g> no se pudo cargar."\n"Libera espacio en tu teléfono y vuelve a intentarlo."</string>
+    <string name="download_failed_generic_dlg_title">"Descarga incorrecta"</string>
+    <string name="download_no_sdcard_dlg_title">"No hay tarjeta SD"</string>
+    <string name="download_no_sdcard_dlg_msg">"Es necesario tener una tarjeta SD para descargar <xliff:g id="FILENAME">%s</xliff:g>."</string>
+    <string name="download_sdcard_busy_dlg_title">"Tarjeta SD no disponible"</string>
+    <string name="download_sdcard_busy_dlg_msg">"La tarjeta SD está llena. Para permitir descargas, selecciona \"Desactivar almacenamiento USB\" en la notificación."</string>
+    <string name="download_no_application">"No se encuentra una aplicación para abrir este archivo."</string>
+    <string name="retry">"Intentar nuevamente"</string>
+    <string name="no_downloads">"El historial de descarga está vacío."</string>
+    <string name="download_error">"Descarga incorrecta."</string>
+    <string name="download_success">"<xliff:g id="FILE">%s</xliff:g> Descarga completa."</string>
+    <string name="download_running">"Descargando..."</string>
+    <string name="download_pending">"Iniciando la descarga..."</string>
+    <string name="download_pending_network">"Esperando la conexión de datos..."</string>
+    <string name="download_running_paused">"Esperando la conexión de datos..."</string>
+    <string name="download_canceled">"Descarga cancelada."</string>
+    <string name="download_not_acceptable">"No es posible realizar la descarga. El contenido no se admite en el teléfono."</string>
+    <string name="download_file_error">"No es posible terminar la descarga. No hay espacio suficiente."</string>
+    <string name="download_length_required">"No es posible realizar la descarga. No puede determinarse el tamaño del elemento."</string>
+    <string name="download_precondition_failed">"Descarga interrumpida. No se puede retomar."</string>
+    <string name="activity_instrumentation_test_runner">"Ejecutor de pruebas del navegador"</string>
     <!-- no translation found for homepage_base (7888126987935305566) -->
     <skip />
     <!-- no translation found for search_the_web (6046130189241962337) -->
     <skip />
-    <string name="query_data_prompt" msgid="5474381240981604223">"Permitir almacenamiento"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Este sitio web desea almacenar información en tu teléfono."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Acceder a tu ubicación"</string>
-    <string name="location_message" msgid="1729456751935683242">"Este sitio web desea acceder a tu ubicación."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Crear un acceso directo"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Este sitio web desea crear un acceso directo a esta página en tu pantalla de inicio"</string>
-    <string name="settings_message" msgid="6171686603006325199">"En la siguiente tabla, se muestran los permisos que has otorgado a cada sitio que ha intentado utilizar Gears."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"File Picker"</string>
-    <string name="image_message" msgid="5450245866521896891">"Imagen seleccionada"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Configuración de Gears"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Lee la política de privacidad del sitio para ver cómo se utilizará tu ubicación."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Permitir almacenamiento local"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Este sitio puede guardar información en tu teléfono"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Este sitio no puede guardar información en tu teléfono"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Permitir detección de ubicación"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Este sitio puede leer tu ubicación actual"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Este sitio no puede leer tu ubicación actual"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Suprimir este sitio de Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"No hay permisos definidos"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Suprimir este sitio"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Se borrarán todos los permisos y se eliminarán los datos del sitio almacenados en el teléfono."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Este sitio almacenará información en este teléfono. "\n" Cambia esta configuración en:"\n" Configuración -&gt; Configuración de Gears"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Este sitio nunca almacenará información en este teléfono. "\n" Cambia esta configuración en:"\n" Configuración -&gt; Configuración de Gears"</string>
-    <string name="location_notification" msgid="3495804750470905804">"Este sitio puede acceder a tu ubicación. "\n" Cambia esta configuración en:"\n" Configuración -&gt; Configuración de Gears"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Este sitio no accederá a tu ubicación. "\n" Cambia esta configuración en:"\n" Configuración -&gt; Configuración de Gears"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Acceso directo creado"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"No permitir nunca"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"Aceptar"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Cancelar"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"No permitir nunca"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"Aceptar"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Cancelar"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Aplicar"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Cancelar"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"Aceptar"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Cancelar"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"ruta:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"No hay archivos seleccionados"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Un archivo seleccionado"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"archivo seleccionado"</string>
-    <string name="remove" msgid="7820112494467011374">"Eliminar"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Almacenamiento local"</string>
-    <string name="allowed" msgid="1599514934221911624">"Permitido"</string>
-    <string name="denied" msgid="7470209521858372968">"Denegado"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Tipo de diálogo no reconocido"</string>
-    <string name="default_button" msgid="3901922329454578908">"Aceptar"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Descripción general"</string>
+    <string name="zoom_overview_button_text">"Descripción general"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index c034f95..8ceeb2c 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -15,283 +15,232 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Navegador"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Marcadores"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Más visitados"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Historial"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Añadido a marcadores"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Eliminado de marcadores"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Acceder a <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
-    <string name="username" msgid="5057566336518215922">"Nombre"</string>
-    <string name="password" msgid="1177138552305184404">"Contraseña"</string>
-    <string name="action" msgid="183105774472071343">"Acceder"</string>
-    <string name="bookmarks_search" msgid="5229596268214362873">"Navegador"</string>
-    <string name="cancel" msgid="3017274947407233702">"Cancelar"</string>
-    <string name="ok" msgid="1509280796718850364">"Aceptar"</string>
+    <string name="application_name">"Navegador"</string>
+    <string name="tab_bookmarks">"Marcadores"</string>
+    <string name="tab_most_visited">"Más visitados"</string>
+    <string name="tab_history">"Historial"</string>
+    <string name="added_to_bookmarks">"Añadido a marcadores"</string>
+    <string name="removed_from_bookmarks">"Eliminado de marcadores"</string>
+    <string name="sign_in_to">"Acceder a <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
+    <string name="username">"Nombre"</string>
+    <string name="password">"Contraseña"</string>
+    <string name="action">"Acceder"</string>
+    <string name="bookmarks_search">"Navegador"</string>
+    <string name="cancel">"Cancelar"</string>
+    <string name="ok">"Aceptar"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"No hay coincidencias"</item>
-    <item quantity="one" msgid="4352019729062956802">"Una coincidencia"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> coincidencias"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> coincidencias"</item>
+    <item quantity="zero">"No hay coincidencias"</item>
+    <item quantity="one">"Una coincidencia"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> coincidencias"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> coincidencias"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Información de página"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Ver información de página"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Dirección:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Hay algunos problemas con el certificado de seguridad de este sitio."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Continuar"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Advertencia de seguridad"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Ver certificado"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Este certificado no procede de una entidad de certificación de confianza."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"El nombre del sitio no coincide con el del certificado."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Este certificado ha caducado."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Este certificado aún no es válido."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Certificado de seguridad"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Este certificado es válido."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Emitido para:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Nombre común:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Organización:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Departamento:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Emitido por:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Validez:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Fecha de emisión:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Fecha de caducidad:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Recuperando detalles de acceso..."</string>
-    <string name="stopping" msgid="4839698519340302982">"Deteniendo..."</string>
-    <string name="stop" msgid="5687251076030630074">"Detener"</string>
-    <string name="reload" msgid="8585220783228408062">"Actualizar"</string>
-    <string name="forward" msgid="4288210890526641577">"Siguiente"</string>
-    <string name="save" msgid="5922311934992468496">"Aceptar"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Cancelar"</string>
-    <string name="location" msgid="969988560160364559">"Ubicación"</string>
-    <string name="name" msgid="5990326151488445481">"Nombre"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Marcar"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Editar marcador"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Añadir acceso directo a página principal"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Abrir"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Eliminar marcador"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Elliminar del historial"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Guardar en marcadores"</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"El marcador debe tener un nombre."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"El marcador debe tener una ubicación."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"No se puede crear un marcador vacío."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"La URL no es válida."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Suprimir"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Marcar como última página vista"</string>
-    <string name="current_page" msgid="7510129573681663135">"de "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"Se eliminará el marcador \"<xliff:g id="BOOKMARK">%s</xliff:g>\"."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Abrir en ventana nueva"</string>
-    <string name="new_window" msgid="8117889615360211551">"Nueva ventana"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Ir"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Buscar en la página"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Seleccionar texto"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Visión general de ventanas"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Ventanas"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Ventanas actuales"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Ver"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Nueva ventana"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Cerrar"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Marcar"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Compartir enlace"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Marcadores"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Marcar"</string>
-    <string name="history" msgid="2451240511251410032">"Historial"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Descargas"</string>
-    <string name="share_page" msgid="593756995297268343">"Compartir página"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Abrir"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Abrir en ventana nueva"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Marcar enlace"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Guardar enlace"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Compartir enlace"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Copiar"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Copiar URL de enlace"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Guardar imagen"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Ver imagen"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Llamar…"</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Añadir contacto"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"Enviar mensaje de correo electrónico"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Mapa"</string>
-    <string name="clear" msgid="7070043081700011461">"Borrar"</string>
-    <string name="replace" msgid="4843033491070384047">"Sustituir"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Marcadores"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Ajustes"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Configuración de contenido de la página"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Cargar imágenes"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Mostrar imágenes en páginas web"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Bloquear ventanas emer."</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"Habilitar JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Abrir en segundo plano"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Nuevas ventanas abiertas detrás de la actual"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Establecer página principal"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Ajustar páginas automát."</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Configurar las páginas web para ajustarlas a la pantalla"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Configuración de privacidad"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Borrar caché"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Eliminar todo el contenido de la página almacenado en caché"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"Se borrará la caché."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Borrar los datos de cookies"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Borrar todas las cookies del navegador"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Se borrarán todas las cookies."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Borrar historial"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Borrar el historial de exploración del navegador"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"Se borrará el historial de exploración del navegador."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Borrar datos de formulario"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Borrar todos los datos guardados del formulario"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Se borrarán todos los datos guardados del formulario."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Borrar contraseñas"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Borrar todas las contraseñas guardadas"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Se borrarán todas las contraseñas guardadas."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Configuración de seguridad"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Recordar contraseñas"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Guardar nombres de usuario y contraseñas de sitios web"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Recordar formularios"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Recordar datos introducidos en formularios"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Mostrar advertencias"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Mostrar advertencia si hay algún problema con la seguridad del sitio"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Aceptar cookies"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Permitir que los sitios guarden y lean datos de cookies"</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"Tamaño de texto"</string>
+    <string name="page_info">"Información de página"</string>
+    <string name="page_info_view">"Ver información de página"</string>
+    <string name="page_info_address">"Dirección:"</string>
+    <string name="ssl_warnings_header">"Hay algunos problemas con el certificado de seguridad de este sitio."</string>
+    <string name="ssl_continue">"Continuar"</string>
+    <string name="security_warning">"Advertencia de seguridad"</string>
+    <string name="view_certificate">"Ver certificado"</string>
+    <string name="ssl_untrusted">"Este certificado no procede de una entidad de certificación de confianza."</string>
+    <string name="ssl_mismatch">"El nombre del sitio no coincide con el del certificado."</string>
+    <string name="ssl_expired">"Este certificado ha caducado."</string>
+    <string name="ssl_not_yet_valid">"Este certificado aún no es válido."</string>
+    <string name="ssl_certificate">"Certificado de seguridad"</string>
+    <string name="ssl_certificate_is_valid">"Este certificado es válido."</string>
+    <string name="issued_to">"Emitido para:"</string>
+    <string name="common_name">"Nombre común:"</string>
+    <string name="org_name">"Organización:"</string>
+    <string name="org_unit">"Departamento:"</string>
+    <string name="issued_by">"Emitido por:"</string>
+    <string name="validity_period">"Validez:"</string>
+    <string name="issued_on">"Fecha de emisión:"</string>
+    <string name="expires_on">"Fecha de caducidad:"</string>
+    <string name="retrieving_creds_dlg_msg">"Recuperando detalles de acceso..."</string>
+    <string name="stopping">"Deteniendo..."</string>
+    <string name="stop">"Detener"</string>
+    <string name="reload">"Actualizar"</string>
+    <string name="forward">"Siguiente"</string>
+    <string name="save">"Aceptar"</string>
+    <string name="do_not_save">"Cancelar"</string>
+    <string name="location">"Ubicación"</string>
+    <string name="name">"Nombre"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Marcar"</string>
+    <string name="edit_bookmark">"Editar marcador"</string>
+    <string name="create_shortcut_bookmark">"Añadir acceso directo a página principal"</string>
+    <string name="open_bookmark">"Abrir"</string>
+    <string name="remove_bookmark">"Eliminar marcador"</string>
+    <string name="remove_history_item">"Elliminar del historial"</string>
+    <string name="bookmark_saved">"Guardar en marcadores"</string>
+    <string name="bookmark_needs_title">"El marcador debe tener un nombre."</string>
+    <string name="bookmark_needs_url">"El marcador debe tener una ubicación."</string>
+    <string name="empty_bookmark">"No se puede crear un marcador vacío."</string>
+    <string name="bookmark_url_not_valid">"La URL no es válida."</string>
+    <string name="delete_bookmark">"Suprimir"</string>
+    <string name="bookmark_page">"Marcar como última página vista"</string>
+    <string name="current_page">"de "</string>
+    <string name="delete_bookmark_warning">"Se eliminará el marcador \"<xliff:g id="BOOKMARK">%s</xliff:g>\"."</string>
+    <string name="open_in_new_window">"Abrir en ventana nueva"</string>
+    <string name="new_window">"Nueva ventana"</string>
+    <string name="goto_dot">"Ir"</string>
+    <string name="find_dot">"Buscar en la página"</string>
+    <string name="select_dot">"Seleccionar texto"</string>
+    <string name="view_tabs">"Visión general de ventanas"</string>
+    <string name="view_tabs_condensed">"Ventanas"</string>
+    <string name="tab_picker_title">"Ventanas actuales"</string>
+    <string name="tab_picker_view_tab">"Ver"</string>
+    <string name="tab_picker_new_tab">"Nueva ventana"</string>
+    <string name="tab_picker_remove_tab">"Cerrar"</string>
+    <string name="tab_picker_bookmark">"Marcar"</string>
+    <string name="tab_picker_send_url">"Compartir enlace"</string>
+    <string name="bookmarks">"Marcadores"</string>
+    <string name="shortcut_bookmark">"Marcar"</string>
+    <string name="history">"Historial"</string>
+    <string name="menu_view_download">"Descargas"</string>
+    <string name="share_page">"Compartir página"</string>
+    <string name="contextmenu_openlink">"Abrir"</string>
+    <string name="contextmenu_openlink_newwindow">"Abrir en ventana nueva"</string>
+    <string name="contextmenu_bookmark_thislink">"Marcar enlace"</string>
+    <string name="contextmenu_savelink">"Guardar enlace"</string>
+    <string name="contextmenu_sharelink">"Compartir enlace"</string>
+    <string name="contextmenu_copy">"Copiar"</string>
+    <string name="contextmenu_copylink">"Copiar URL de enlace"</string>
+    <string name="contextmenu_download_image">"Guardar imagen"</string>
+    <string name="contextmenu_view_image">"Ver imagen"</string>
+    <string name="contextmenu_dial_dot">"Llamar…"</string>
+    <string name="contextmenu_add_contact">"Añadir contacto"</string>
+    <string name="contextmenu_send_mail">"Enviar mensaje de correo electrónico"</string>
+    <string name="contextmenu_map">"Mapa"</string>
+    <string name="clear">"Borrar"</string>
+    <string name="replace">"Sustituir"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Marcadores"</string>
+    <string name="menu_preferences">"Ajustes"</string>
+    <string name="pref_content_title">"Configuración de contenido de la página"</string>
+    <string name="pref_content_load_images">"Cargar imágenes"</string>
+    <string name="pref_content_load_images_summary">"Mostrar imágenes en páginas web"</string>
+    <string name="pref_content_block_popups">"Bloquear ventanas emer."</string>
+    <string name="pref_content_javascript">"Habilitar JavaScript"</string>
+    <string name="pref_content_open_in_background">"Abrir en segundo plano"</string>
+    <string name="pref_content_open_in_background_summary">"Nuevas ventanas abiertas detrás de la actual"</string>
+    <string name="pref_content_homepage">"Establecer página principal"</string>
+    <string name="pref_content_autofit">"Ajustar páginas automát."</string>
+    <string name="pref_content_autofit_summary">"Configurar las páginas web para ajustarlas a la pantalla"</string>
+    <string name="pref_privacy_title">"Configuración de privacidad"</string>
+    <string name="pref_privacy_clear_cache">"Borrar caché"</string>
+    <string name="pref_privacy_clear_cache_summary">"Eliminar todo el contenido de la página almacenado en caché"</string>
+    <string name="pref_privacy_clear_cache_dlg">"Se borrará la caché."</string>
+    <string name="pref_privacy_clear_cookies">"Borrar los datos de cookies"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Borrar todas las cookies del navegador"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Se borrarán todas las cookies."</string>
+    <string name="pref_privacy_clear_history">"Borrar historial"</string>
+    <string name="pref_privacy_clear_history_summary">"Borrar el historial de exploración del navegador"</string>
+    <string name="pref_privacy_clear_history_dlg">"Se borrará el historial de exploración del navegador."</string>
+    <string name="pref_privacy_clear_form_data">"Borrar datos de formulario"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Borrar todos los datos guardados del formulario"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Se borrarán todos los datos guardados del formulario."</string>
+    <string name="pref_privacy_clear_passwords">"Borrar contraseñas"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Borrar todas las contraseñas guardadas"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Se borrarán todas las contraseñas guardadas."</string>
+    <string name="pref_security_title">"Configuración de seguridad"</string>
+    <string name="pref_security_remember_passwords">"Recordar contraseñas"</string>
+    <string name="pref_security_remember_passwords_summary">"Guardar nombres de usuario y contraseñas de sitios web"</string>
+    <string name="pref_security_save_form_data">"Recordar formularios"</string>
+    <string name="pref_security_save_form_data_summary">"Recordar datos introducidos en formularios"</string>
+    <string name="pref_security_show_security_warning">"Mostrar advertencias"</string>
+    <string name="pref_security_show_security_warning_summary">"Mostrar advertencia si hay algún problema con la seguridad del sitio"</string>
+    <string name="pref_security_accept_cookies">"Aceptar cookies"</string>
+    <string name="pref_security_accept_cookies_summary">"Permitir que los sitios guarden y lean datos de cookies"</string>
+    <string name="pref_text_size">"Tamaño de texto"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Muy pequeño"</item>
-    <item msgid="1950030433642671460">"Pequeño"</item>
-    <item msgid="4338347520133294584">"Normal"</item>
-    <item msgid="5043128215356351184">"Grande"</item>
-    <item msgid="7201512237890458902">"Enorme"</item>
+    <item>"Muy pequeño"</item>
+    <item>"Pequeño"</item>
+    <item>"Normal"</item>
+    <item>"Grande"</item>
+    <item>"Enorme"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Tamaño de texto"</string>
-    <string name="pref_default_zoom" msgid="8076142259097187395">"Zoom predeterminado"</string>
+    <string name="pref_text_size_dialogtitle">"Tamaño de texto"</string>
+    <string name="pref_default_zoom">"Zoom predeterminado"</string>
   <string-array name="pref_default_zoom_choices">
-    <item msgid="549583171195154919">"Lejos"</item>
-    <item msgid="5619034257768161024">"Media distancia"</item>
-    <item msgid="3840999588443167001">"Cerca"</item>
+    <item>"Lejos"</item>
+    <item>"Media distancia"</item>
+    <item>"Cerca"</item>
   </string-array>
-    <string name="pref_default_zoom_dialogtitle" msgid="6095974367125109021">"Zoom predeterminado"</string>
-    <string name="pref_extras_title" msgid="3091250467679722382">"Configuración avanzada"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Habilitar Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Aplicaciones que amplían las funciones del navegador"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Configuración de Gears"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Lista de complementos"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Ningún complemento instalado"</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Aplicaciones que amplían las funciones del navegador"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Restablecer valores pred."</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Borrar todos los datos del navegador y restablecer la configuración predeterminada"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Se borrarán todos los datos del navegador y se restablecerá la configuración predeterminada."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Restablecer valores predeterminados"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Depurar"</string>
-    <string name="pref_default_text_encoding" msgid="5742965543955558478">"Codificación de texto"</string>
+    <string name="pref_default_zoom_dialogtitle">"Zoom predeterminado"</string>
+    <string name="pref_extras_title">"Configuración avanzada"</string>
+    <string name="pref_extras_reset_default">"Restablecer valores pred."</string>
+    <string name="pref_extras_reset_default_summary">"Borrar todos los datos del navegador y restablecer la configuración predeterminada"</string>
+    <string name="pref_extras_reset_default_dlg">"Se borrarán todos los datos del navegador y se restablecerá la configuración predeterminada."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Restablecer valores predeterminados"</string>
+    <string name="pref_development_title">"Depurar"</string>
+    <string name="pref_default_text_encoding">"Codificación de texto"</string>
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latín-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japonés (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japonés (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japonés (EUC-JP)"</item>
+    <item>"Latín-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japonés (ISO-2022-JP)"</item>
+    <item>"Japonés (SHIFT_JIS)"</item>
+    <item>"Japonés (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Codificación de texto"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latín-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Redireccionamiento"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Esta página web se ha redirigido a otra ubicación. ¿Quieres enviar los datos del formulario cumplimentado a la nueva ubicación?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Problema de conectividad de datos"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Problema con archivo"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"OK"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"La página que intentas ver contiene datos que ya se han enviado (\"POSTDATA\"). Si reenvías los datos, se repetirá cualquier acción realizada por el formulario de la página (como las búsquedas o las compras online)."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Sin conexión de red"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"La página seguirá cargándose una vez que se restablezca la conexión."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Borrar historial"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Páginas visitadas recientemente"</string>
-    <string name="empty_history" msgid="8738772352308207274">"El historial del navegador está vacío."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Añadir marcador…"</string>
-    <string name="no_database" msgid="2256698896757181084">"No hay ninguna base de datos."</string>
-    <string name="search_hint" msgid="3385577802557697397">"Introduce la dirección web."</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Ir"</string>
-    <string name="search_settings_description" msgid="1422401062529014107">"Marcadores e historial web"</string>
-    <string name="attention" msgid="3473639060042811244">"Atención"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Este sitio está intentando mostrar una ventana emergente."</string>
-    <string name="allow" msgid="1157313689171991335">"Permitir"</string>
-    <string name="block" msgid="9172175889884707800">"Bloquear"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Límite de ventanas alcanzado"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"No se ha podido abrir una ventana nueva porque ya se ha abierto el número máximo de ventanas admitido."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Ventana emergente ya abierta"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"No se ha podido abrir una nueva ventana emergente, porque no se puede abrir más de una ventana emergente a la vez."</string>
-    <string name="download_title" msgid="2122874021047565594">"Historial de descargas"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Desconocido&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Abrir"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Borrar de la lista"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Cancelar descarga"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Cancelar todas las descargas"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Borrar lista"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Borrar"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Todos los elementos se borrarán de la lista y se eliminarán de la caché del navegador."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Cancelar descargas"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Las <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> descargas se cancelarán y se borrarán del historial de descargas."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Sin espacio"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"No se ha podido descargar el archivo <xliff:g id="FILENAME">%s</xliff:g>."\n"Libera espacio en el teléfono e inténtalo de nuevo."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Descarga incorrecta"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"Falta la tarjeta SD"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Para descargar <xliff:g id="FILENAME">%s</xliff:g> se necesita una tarjeta SD."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"Tarjeta SD no disponible"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"La tarjeta SD está ocupada. Para permitir descargas, selecciona \"Desactivar almacenamiento USB\" en la notificación."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"No se ha encontrado ninguna aplicación que permita abrir este archivo."</string>
-    <string name="retry" msgid="1835923075542266721">"Reintentar"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"El historial de descargas está vacío."</string>
-    <string name="download_error" msgid="413496839831257187">"Descarga incorrecta"</string>
-    <string name="download_success" msgid="2279041638155595203">"Se ha completado la descarga del archivo <xliff:g id="FILE">%s</xliff:g>."</string>
-    <string name="download_running" msgid="2622942231322015059">"Descargando..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"Iniciando descarga…"</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"Esperando conexión de datos…"</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"Esperando conexión de datos…"</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Descarga cancelada"</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"No se puede realizar la descarga, porque el teléfono no admite el contenido que se quiere descargar."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"No se puede completar la descarga porque no hay suficiente espacio."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"No se puede realizar la descarga, porque no es posible determinar el tamaño del elemento."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"La descarga se ha interrumpido y no se puede reanudar."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Realizador de pruebas del navegador"</string>
-    <string name="homepage_base" msgid="7888126987935305566">"http://www.google.com/m?client=ms-{CID}"</string>
-    <string name="search_the_web" msgid="6046130189241962337">"Buscar en la Web"</string>
-    <string name="query_data_prompt" msgid="5474381240981604223">"Permitir almacenamiento"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Este sitio web desea almacenar información en el teléfono."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Acceso a tu ubicación"</string>
-    <string name="location_message" msgid="1729456751935683242">"Este sitio web desea tener acceso a tu ubicación."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Crear un acceso directo"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Este sitio web desea crear un acceso directo a esta página en tu página principal."</string>
-    <string name="settings_message" msgid="6171686603006325199">"En la tabla que aparece a continuación se muestran los permisos que has concedido a los distintos sitios web que han intentado utilizar Gears."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Selector de archivos"</string>
-    <string name="image_message" msgid="5450245866521896891">"Imagen seleccionada"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Configuración de Gears"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Lee la política de privacidad del sitio para saber cómo se utilizará tu ubicación."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Permitir almacenamiento local"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Este sitio puede guardar información en el teléfono."</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Este sitio no puede guardar información en el teléfono."</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Permitir detección de ubicación"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Este sitio puede leer tu ubicación actual."</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Este sitio no puede leer tu ubicación actual."</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Eliminar este sitio de Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"No hay permisos establecidos."</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Eliminar este sitio"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Se borrarán todos los permisos y se eliminarán todos los datos que el sitio haya almacenado en el teléfono."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Este sitio puede almacenar información en el teléfono."\n" Puedes modificar esta opción en:"\n" Configuración -&gt; Configuración de Gears."</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Este sitio no puede almacenar nunca información en el teléfono."\n" Puedes modificar esta opción en:"\n" Configuración -&gt; Configuración de Gears."</string>
-    <string name="location_notification" msgid="3495804750470905804">"Este sitio puede acceder a tu ubicación actual."\n" Puedes modificar esta opción en:"\n" Configuración -&gt; Configuración de Gears."</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Este sitio no puede acceder a tu ubicación actual."\n" Puedes modificar esta opción en:"\n" Configuración -&gt; Configuración de Gears."</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Acceso directo creado"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"No permitir nunca"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"Aceptar"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Cancelar"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"No permitir nunca"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"Aceptar"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Cancelar"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Aplicar"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Cancelar"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"Aceptar"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Cancelar"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"ruta:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Ningún archivo seleccionado"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Un archivo seleccionado"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"archivos seleccionados"</string>
-    <string name="remove" msgid="7820112494467011374">"Eliminar"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Almacenamiento local"</string>
-    <string name="allowed" msgid="1599514934221911624">"Permitido"</string>
-    <string name="denied" msgid="7470209521858372968">"Denegado"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Tipo de cuadro de diálogo no reconocido"</string>
-    <string name="default_button" msgid="3901922329454578908">"Aceptar"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Información general"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Codificación de texto"</string>
+    <string name="pref_default_text_encoding_default">"Latín-1"</string>
+    <string name="browserFrameRedirect">"Redireccionamiento"</string>
+    <string name="browserFrame307Post">"Esta página web se ha redirigido a otra ubicación. ¿Quieres enviar los datos del formulario cumplimentado a la nueva ubicación?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Problema de conectividad de datos"</string>
+    <string name="browserFrameFileErrorLabel">"Problema con archivo"</string>
+    <string name="browserFrameFormResubmitLabel">"OK"</string>
+    <string name="browserFrameFormResubmitMessage">"La página que intentas ver contiene datos que ya se han enviado (\"POSTDATA\"). Si reenvías los datos, se repetirá cualquier acción realizada por el formulario de la página (como las búsquedas o las compras online)."</string>
+    <string name="loadSuspendedTitle">"Sin conexión de red"</string>
+    <string name="loadSuspended">"La página seguirá cargándose una vez que se restablezca la conexión."</string>
+    <string name="clear_history">"Borrar historial"</string>
+    <string name="browser_history">"Páginas visitadas recientemente"</string>
+    <string name="empty_history">"El historial del navegador está vacío."</string>
+    <string name="add_new_bookmark">"Añadir marcador…"</string>
+    <string name="no_database">"No hay ninguna base de datos."</string>
+    <string name="search_hint">"Introduce la dirección web."</string>
+    <string name="search_button_text">"Ir"</string>
+    <!-- no translation found for search_settings_description (1422401062529014107) -->
+    <skip />
+    <string name="attention">"Atención"</string>
+    <string name="popup_window_attempt">"Este sitio está intentando mostrar una ventana emergente."</string>
+    <string name="allow">"Permitir"</string>
+    <string name="block">"Bloquear"</string>
+    <string name="too_many_windows_dialog_title">"Límite de ventanas alcanzado"</string>
+    <string name="too_many_windows_dialog_message">"No se ha podido abrir una ventana nueva porque ya se ha abierto el número máximo de ventanas admitido."</string>
+    <string name="too_many_subwindows_dialog_title">"Ventana emergente ya abierta"</string>
+    <string name="too_many_subwindows_dialog_message">"No se ha podido abrir una nueva ventana emergente, porque no se puede abrir más de una ventana emergente a la vez."</string>
+    <string name="download_title">"Historial de descargas"</string>
+    <string name="download_unknown_filename">"&lt;Desconocido&gt;"</string>
+    <string name="download_menu_open">"Abrir"</string>
+    <string name="download_menu_clear">"Borrar de la lista"</string>
+    <string name="download_menu_cancel">"Cancelar descarga"</string>
+    <string name="download_menu_cancel_all">"Cancelar todas las descargas"</string>
+    <string name="download_menu_clear_all">"Borrar lista"</string>
+    <string name="download_clear_dlg_title">"Borrar"</string>
+    <string name="download_clear_dlg_msg">"Todos los elementos se borrarán de la lista y se eliminarán de la caché del navegador."</string>
+    <string name="download_cancel_dlg_title">"Cancelar descargas"</string>
+    <string name="download_cancel_dlg_msg">"Las <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> descargas se cancelarán y se borrarán del historial de descargas."</string>
+    <string name="download_file_error_dlg_title">"Sin espacio"</string>
+    <string name="download_file_error_dlg_msg">"No se ha podido descargar el archivo <xliff:g id="FILENAME">%s</xliff:g>."\n"Libera espacio en el teléfono e inténtalo de nuevo."</string>
+    <string name="download_failed_generic_dlg_title">"Descarga incorrecta"</string>
+    <string name="download_no_sdcard_dlg_title">"Falta la tarjeta SD"</string>
+    <string name="download_no_sdcard_dlg_msg">"Para descargar <xliff:g id="FILENAME">%s</xliff:g> se necesita una tarjeta SD."</string>
+    <string name="download_sdcard_busy_dlg_title">"Tarjeta SD no disponible"</string>
+    <string name="download_sdcard_busy_dlg_msg">"La tarjeta SD está ocupada. Para permitir descargas, selecciona \"Desactivar almacenamiento USB\" en la notificación."</string>
+    <string name="download_no_application">"No se ha encontrado ninguna aplicación que permita abrir este archivo."</string>
+    <string name="retry">"Reintentar"</string>
+    <string name="no_downloads">"El historial de descargas está vacío."</string>
+    <string name="download_error">"Descarga incorrecta"</string>
+    <string name="download_success">"Se ha completado la descarga del archivo <xliff:g id="FILE">%s</xliff:g>."</string>
+    <string name="download_running">"Descargando..."</string>
+    <string name="download_pending">"Iniciando descarga…"</string>
+    <string name="download_pending_network">"Esperando conexión de datos…"</string>
+    <string name="download_running_paused">"Esperando conexión de datos…"</string>
+    <string name="download_canceled">"Descarga cancelada"</string>
+    <string name="download_not_acceptable">"No se puede realizar la descarga, porque el teléfono no admite el contenido que se quiere descargar."</string>
+    <string name="download_file_error">"No se puede completar la descarga porque no hay suficiente espacio."</string>
+    <string name="download_length_required">"No se puede realizar la descarga, porque no es posible determinar el tamaño del elemento."</string>
+    <string name="download_precondition_failed">"La descarga se ha interrumpido y no se puede reanudar."</string>
+    <string name="activity_instrumentation_test_runner">"Realizador de pruebas del navegador"</string>
+    <string name="homepage_base">"http://www.google.com/m?client=ms-{CID}"</string>
+    <string name="search_the_web">"Buscar en la Web"</string>
+    <string name="zoom_overview_button_text">"Información general"</string>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 7e5804f..74c0a9a 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -15,283 +15,232 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Navigateur"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Favoris"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Les + visités"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Historique"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Ajouté aux favoris"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Supprimé des favoris"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Connectez-vous à <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
-    <string name="username" msgid="5057566336518215922">"Nom"</string>
-    <string name="password" msgid="1177138552305184404">"Mot de passe"</string>
-    <string name="action" msgid="183105774472071343">"Se connecter"</string>
-    <string name="bookmarks_search" msgid="5229596268214362873">"Navigateur"</string>
-    <string name="cancel" msgid="3017274947407233702">"Annuler"</string>
-    <string name="ok" msgid="1509280796718850364">"OK"</string>
+    <string name="application_name">"Navigateur"</string>
+    <string name="tab_bookmarks">"Favoris"</string>
+    <string name="tab_most_visited">"Les + visités"</string>
+    <string name="tab_history">"Historique"</string>
+    <string name="added_to_bookmarks">"Ajouté aux favoris"</string>
+    <string name="removed_from_bookmarks">"Supprimé des favoris"</string>
+    <string name="sign_in_to">"Connectez-vous à <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
+    <string name="username">"Nom"</string>
+    <string name="password">"Mot de passe"</string>
+    <string name="action">"Se connecter"</string>
+    <string name="bookmarks_search">"Navigateur"</string>
+    <string name="cancel">"Annuler"</string>
+    <string name="ok">"OK"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Aucune correspondance"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 correspondance"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> correspondances"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> correspondances"</item>
+    <item quantity="zero">"Aucune correspondance"</item>
+    <item quantity="one">"1 correspondance"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> correspondances"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> correspondances"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Infos sur la page"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Afficher les infos sur la page"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Adresse :"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Le certificat de sécurité pour ce site présente des problèmes."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Continuer"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Avertissement de sécurité"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Afficher le certificat"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Ce certificat provient d\'une autorité non approuvée."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"Le nom du site ne correspond pas au nom indiqué dans le certificat."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Le certificat a expiré."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Ce certificat n\'est pas encore valide."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Certificat de sécurité"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Ce certificat est valide."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Émis à :"</string>
-    <string name="common_name" msgid="5745530093500062357">"Nom commun :"</string>
-    <string name="org_name" msgid="8868889052889991293">"Organisation :"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Unité d\'organisation :"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Émis par :"</string>
-    <string name="validity_period" msgid="57988851973181309">"Validité :"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Émis le :"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Expire le :"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Récupération des données de connexion..."</string>
-    <string name="stopping" msgid="4839698519340302982">"Arrêt..."</string>
-    <string name="stop" msgid="5687251076030630074">"Interrompre"</string>
-    <string name="reload" msgid="8585220783228408062">"Actualiser"</string>
-    <string name="forward" msgid="4288210890526641577">"Suivant"</string>
-    <string name="save" msgid="5922311934992468496">"OK"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Annuler"</string>
-    <string name="location" msgid="969988560160364559">"Emplacement"</string>
-    <string name="name" msgid="5990326151488445481">"Nom"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Favori"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Modifier le favori"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Raccourci sur la page d\'accueil"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Ouverture"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Supprimer le favori"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Supprimer de l\'historique"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Enregistré dans les favoris"</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"Vous devez attribuer un nom à votre favori."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"Le favori doit disposer d\'un emplacement."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Impossible de créer un favori vide."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"L\'URL est incorrecte."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Supprimer"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Ajouter la dernière page consultée"</string>
-    <string name="current_page" msgid="7510129573681663135">"de "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"Le favori \"<xliff:g id="BOOKMARK">%s</xliff:g>\" sera supprimé."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Nouvelle fenêtre"</string>
-    <string name="new_window" msgid="8117889615360211551">"Nouvelle fenêtre"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Recherche"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Rechercher sur la page"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Sélectionner le texte"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Vue d\'ensemble des fenêtres"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Fenêtres"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Fenêtres actuelles"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Afficher"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Nouv. fenêtre"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Fermer"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Favori"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Partager le lien"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Favoris"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Favori"</string>
-    <string name="history" msgid="2451240511251410032">"Historique"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Téléchargements"</string>
-    <string name="share_page" msgid="593756995297268343">"Partager la page"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Ouvrir"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Ouvrir une nouvelle fenêtre"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Lien du favori"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Enregistrer le lien"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Partager le lien"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Copier"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Copier l\'URL du lien"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Enregistrer l\'image"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Afficher l\'image"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Composer..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Ajouter un contact"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"Envoyer un e-mail"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Plan"</string>
-    <string name="clear" msgid="7070043081700011461">"Effacer"</string>
-    <string name="replace" msgid="4843033491070384047">"Remplacer"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Favoris"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Paramètres"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Paramètres du contenu de la page"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Charger les images"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Afficher les images des pages Web"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Bloquer les pop-up"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"Activer JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Ouvrir en arrière-plan"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Les nouvelles fenêtres s\'ouvrent derrière la fenêtre actuelle"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Configurer la page d\'accueil"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Redimensionner"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Configurer les pages Web pour qu\'elles s\'ajustent à l\'écran"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Paramètres de confidentialité"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Effacer le cache"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Supprimer toutes les pages en cache"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"Le cache sera effacé."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Effacer tous les cookies"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Effacer tous les cookies du navigateur"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Tous les cookies seront effacés."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Effacer l\'historique"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Effacer l\'historique du navigateur"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"L\'historique du navigateur sera effacé."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Eff. données formulaires"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Effacer toutes les données de formulaire enregistrées"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Toutes les données de formulaire enregistrées seront effacées."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Effacer les mots de passe"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Effacer tous les mots de passe enregistrés"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Tous les mots de passe enregistrés seront effacés."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Paramètres de sécurité"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Mém. mots de passe"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Enregistrer les noms d\'utilisateur et les mots de passe pour les sites Web"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Mém. données formulaire"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Mémoriser les données saisies dans les formulaires pour les réutiliser"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Avertiss. de sécurité"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Afficher un avertissement en cas de problème de sécurité d\'un site"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Accepter les cookies"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Autoriser les sites à enregistrer et lire les données des cookies"</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"Taille de la police"</string>
+    <string name="page_info">"Infos sur la page"</string>
+    <string name="page_info_view">"Afficher les infos sur la page"</string>
+    <string name="page_info_address">"Adresse :"</string>
+    <string name="ssl_warnings_header">"Le certificat de sécurité pour ce site présente des problèmes."</string>
+    <string name="ssl_continue">"Continuer"</string>
+    <string name="security_warning">"Avertissement de sécurité"</string>
+    <string name="view_certificate">"Afficher le certificat"</string>
+    <string name="ssl_untrusted">"Ce certificat provient d\'une autorité non approuvée."</string>
+    <string name="ssl_mismatch">"Le nom du site ne correspond pas au nom indiqué dans le certificat."</string>
+    <string name="ssl_expired">"Le certificat a expiré."</string>
+    <string name="ssl_not_yet_valid">"Ce certificat n\'est pas encore valide."</string>
+    <string name="ssl_certificate">"Certificat de sécurité"</string>
+    <string name="ssl_certificate_is_valid">"Ce certificat est valide."</string>
+    <string name="issued_to">"Émis à :"</string>
+    <string name="common_name">"Nom commun :"</string>
+    <string name="org_name">"Organisation :"</string>
+    <string name="org_unit">"Unité d\'organisation :"</string>
+    <string name="issued_by">"Émis par :"</string>
+    <string name="validity_period">"Validité :"</string>
+    <string name="issued_on">"Émis le :"</string>
+    <string name="expires_on">"Expire le :"</string>
+    <string name="retrieving_creds_dlg_msg">"Récupération des données de connexion..."</string>
+    <string name="stopping">"Arrêt..."</string>
+    <string name="stop">"Interrompre"</string>
+    <string name="reload">"Actualiser"</string>
+    <string name="forward">"Suivant"</string>
+    <string name="save">"OK"</string>
+    <string name="do_not_save">"Annuler"</string>
+    <string name="location">"Emplacement"</string>
+    <string name="name">"Nom"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Favori"</string>
+    <string name="edit_bookmark">"Modifier le favori"</string>
+    <string name="create_shortcut_bookmark">"Raccourci sur la page d\'accueil"</string>
+    <string name="open_bookmark">"Ouverture"</string>
+    <string name="remove_bookmark">"Supprimer le favori"</string>
+    <string name="remove_history_item">"Supprimer de l\'historique"</string>
+    <string name="bookmark_saved">"Enregistré dans les favoris"</string>
+    <string name="bookmark_needs_title">"Vous devez attribuer un nom à votre favori."</string>
+    <string name="bookmark_needs_url">"Le favori doit disposer d\'un emplacement."</string>
+    <string name="empty_bookmark">"Impossible de créer un favori vide."</string>
+    <string name="bookmark_url_not_valid">"L\'URL est incorrecte."</string>
+    <string name="delete_bookmark">"Supprimer"</string>
+    <string name="bookmark_page">"Ajouter la dernière page consultée"</string>
+    <string name="current_page">"de "</string>
+    <string name="delete_bookmark_warning">"Le favori \"<xliff:g id="BOOKMARK">%s</xliff:g>\" sera supprimé."</string>
+    <string name="open_in_new_window">"Nouvelle fenêtre"</string>
+    <string name="new_window">"Nouvelle fenêtre"</string>
+    <string name="goto_dot">"Recherche"</string>
+    <string name="find_dot">"Rechercher sur la page"</string>
+    <string name="select_dot">"Sélectionner le texte"</string>
+    <string name="view_tabs">"Vue d\'ensemble des fenêtres"</string>
+    <string name="view_tabs_condensed">"Fenêtres"</string>
+    <string name="tab_picker_title">"Fenêtres actuelles"</string>
+    <string name="tab_picker_view_tab">"Afficher"</string>
+    <string name="tab_picker_new_tab">"Nouv. fenêtre"</string>
+    <string name="tab_picker_remove_tab">"Fermer"</string>
+    <string name="tab_picker_bookmark">"Favori"</string>
+    <string name="tab_picker_send_url">"Partager le lien"</string>
+    <string name="bookmarks">"Favoris"</string>
+    <string name="shortcut_bookmark">"Favori"</string>
+    <string name="history">"Historique"</string>
+    <string name="menu_view_download">"Téléchargements"</string>
+    <string name="share_page">"Partager la page"</string>
+    <string name="contextmenu_openlink">"Ouvrir"</string>
+    <string name="contextmenu_openlink_newwindow">"Ouvrir une nouvelle fenêtre"</string>
+    <string name="contextmenu_bookmark_thislink">"Lien du favori"</string>
+    <string name="contextmenu_savelink">"Enregistrer le lien"</string>
+    <string name="contextmenu_sharelink">"Partager le lien"</string>
+    <string name="contextmenu_copy">"Copier"</string>
+    <string name="contextmenu_copylink">"Copier l\'URL du lien"</string>
+    <string name="contextmenu_download_image">"Enregistrer l\'image"</string>
+    <string name="contextmenu_view_image">"Afficher l\'image"</string>
+    <string name="contextmenu_dial_dot">"Composer..."</string>
+    <string name="contextmenu_add_contact">"Ajouter un contact"</string>
+    <string name="contextmenu_send_mail">"Envoyer un e-mail"</string>
+    <string name="contextmenu_map">"Plan"</string>
+    <string name="clear">"Effacer"</string>
+    <string name="replace">"Remplacer"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Favoris"</string>
+    <string name="menu_preferences">"Paramètres"</string>
+    <string name="pref_content_title">"Paramètres du contenu de la page"</string>
+    <string name="pref_content_load_images">"Charger les images"</string>
+    <string name="pref_content_load_images_summary">"Afficher les images des pages Web"</string>
+    <string name="pref_content_block_popups">"Bloquer les pop-up"</string>
+    <string name="pref_content_javascript">"Activer JavaScript"</string>
+    <string name="pref_content_open_in_background">"Ouvrir en arrière-plan"</string>
+    <string name="pref_content_open_in_background_summary">"Les nouvelles fenêtres s\'ouvrent derrière la fenêtre actuelle"</string>
+    <string name="pref_content_homepage">"Configurer la page d\'accueil"</string>
+    <string name="pref_content_autofit">"Redimensionner"</string>
+    <string name="pref_content_autofit_summary">"Configurer les pages Web pour qu\'elles s\'ajustent à l\'écran"</string>
+    <string name="pref_privacy_title">"Paramètres de confidentialité"</string>
+    <string name="pref_privacy_clear_cache">"Effacer le cache"</string>
+    <string name="pref_privacy_clear_cache_summary">"Supprimer toutes les pages en cache"</string>
+    <string name="pref_privacy_clear_cache_dlg">"Le cache sera effacé."</string>
+    <string name="pref_privacy_clear_cookies">"Effacer tous les cookies"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Effacer tous les cookies du navigateur"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Tous les cookies seront effacés."</string>
+    <string name="pref_privacy_clear_history">"Effacer l\'historique"</string>
+    <string name="pref_privacy_clear_history_summary">"Effacer l\'historique du navigateur"</string>
+    <string name="pref_privacy_clear_history_dlg">"L\'historique du navigateur sera effacé."</string>
+    <string name="pref_privacy_clear_form_data">"Eff. données formulaires"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Effacer toutes les données de formulaire enregistrées"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Toutes les données de formulaire enregistrées seront effacées."</string>
+    <string name="pref_privacy_clear_passwords">"Effacer les mots de passe"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Effacer tous les mots de passe enregistrés"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Tous les mots de passe enregistrés seront effacés."</string>
+    <string name="pref_security_title">"Paramètres de sécurité"</string>
+    <string name="pref_security_remember_passwords">"Mém. mots de passe"</string>
+    <string name="pref_security_remember_passwords_summary">"Enregistrer les noms d\'utilisateur et les mots de passe pour les sites Web"</string>
+    <string name="pref_security_save_form_data">"Mém. données formulaire"</string>
+    <string name="pref_security_save_form_data_summary">"Mémoriser les données saisies dans les formulaires pour les réutiliser"</string>
+    <string name="pref_security_show_security_warning">"Avertiss. de sécurité"</string>
+    <string name="pref_security_show_security_warning_summary">"Afficher un avertissement en cas de problème de sécurité d\'un site"</string>
+    <string name="pref_security_accept_cookies">"Accepter les cookies"</string>
+    <string name="pref_security_accept_cookies_summary">"Autoriser les sites à enregistrer et lire les données des cookies"</string>
+    <string name="pref_text_size">"Taille de la police"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Très petite"</item>
-    <item msgid="1950030433642671460">"Petite"</item>
-    <item msgid="4338347520133294584">"Normale"</item>
-    <item msgid="5043128215356351184">"Grande"</item>
-    <item msgid="7201512237890458902">"Très grande"</item>
+    <item>"Très petite"</item>
+    <item>"Petite"</item>
+    <item>"Normale"</item>
+    <item>"Grande"</item>
+    <item>"Très grande"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Taille de la police"</string>
-    <string name="pref_default_zoom" msgid="8076142259097187395">"Zoom par défaut"</string>
+    <string name="pref_text_size_dialogtitle">"Taille de la police"</string>
+    <string name="pref_default_zoom">"Zoom par défaut"</string>
   <string-array name="pref_default_zoom_choices">
-    <item msgid="549583171195154919">"Éloigné"</item>
-    <item msgid="5619034257768161024">"Moyen"</item>
-    <item msgid="3840999588443167001">"Proche"</item>
+    <item>"Éloigné"</item>
+    <item>"Moyen"</item>
+    <item>"Proche"</item>
   </string-array>
-    <string name="pref_default_zoom_dialogtitle" msgid="6095974367125109021">"Zoom par défaut"</string>
-    <string name="pref_extras_title" msgid="3091250467679722382">"Paramètres avancés"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Activer Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Applications étendant les fonctionnalités du navigateur"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Paramètres Gears"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Liste des plug-ins"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Aucun plug-in installé."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Applications étendant les fonctionnalités du navigateur"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Rétablir valeurs par défaut"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Effacer toutes les données du navigateur et rétablir les paramètres par défaut"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Toutes les données du navigateur seront effacées et les paramètres par défaut rétablis."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Rétablir les valeurs par défaut"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Débogage"</string>
-    <string name="pref_default_text_encoding" msgid="5742965543955558478">"Codage du texte"</string>
+    <string name="pref_default_zoom_dialogtitle">"Zoom par défaut"</string>
+    <string name="pref_extras_title">"Paramètres avancés"</string>
+    <string name="pref_extras_reset_default">"Rétablir valeurs par défaut"</string>
+    <string name="pref_extras_reset_default_summary">"Effacer toutes les données du navigateur et rétablir les paramètres par défaut"</string>
+    <string name="pref_extras_reset_default_dlg">"Toutes les données du navigateur seront effacées et les paramètres par défaut rétablis."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Rétablir les valeurs par défaut"</string>
+    <string name="pref_development_title">"Débogage"</string>
+    <string name="pref_default_text_encoding">"Codage du texte"</string>
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japonais (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japonais (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japonais (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japonais (ISO-2022-JP)"</item>
+    <item>"Japonais (SHIFT_JIS)"</item>
+    <item>"Japonais (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Codage du texte"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latin-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Rediriger"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Cette page Web est en cours de redirection. Voulez-vous renvoyer les données de formulaire saisies vers le nouvel emplacement ?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Problème de connectivité des données"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Problème de fichier"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Confirmer"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"La page que vous tentez d\'afficher contient des données qui ont déjà été envoyées (\"POSTDATA\"). Si vous renvoyez les données, toute action effectuée par le formulaire sur la page exécutée (notamment les lancements de recherche ou les achats en ligne) sera répétée."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Aucune connexion réseau"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"Une fois la connexion rétablie, le chargement de la page reprendra."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Effacer l\'historique"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Dernières pages consultées"</string>
-    <string name="empty_history" msgid="8738772352308207274">"L\'historique du navigateur est vide."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Ajouter aux favoris..."</string>
-    <string name="no_database" msgid="2256698896757181084">"Aucune base de données !"</string>
-    <string name="search_hint" msgid="3385577802557697397">"Saisir l\'adresse Web"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Aller"</string>
-    <string name="search_settings_description" msgid="1422401062529014107">"Favoris et historique Web"</string>
-    <string name="attention" msgid="3473639060042811244">"Attention"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Le site tente d\'ouvrir une fenêtre contextuelle."</string>
-    <string name="allow" msgid="1157313689171991335">"Autoriser"</string>
-    <string name="block" msgid="9172175889884707800">"Bloquer"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Limite de fenêtres atteinte"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Impossible d\'ouvrir une nouvelle fenêtre, car vous avez déjà ouvert le nombre maximum de fenêtres."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Fenêtre contextuelle déjà ouverte"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Impossible d\'ouvrir une nouvelle fenêtre. Une seule fenêtre peut être ouverte à la fois."</string>
-    <string name="download_title" msgid="2122874021047565594">"Historique de téléchargement"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Inconnu&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Ouvrir"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Effacer de la liste"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Annuler le téléchargement"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Annuler tous les téléchargements"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Effacer la liste"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Effacer"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Tous les éléments seront effacés de la liste et supprimés du cache du navigateur."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Annuler les téléchargements"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Les <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> téléchargements seront annulés et effacés de l\'historique des téléchargements."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Espace insuffisant"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"Impossible de télécharger <xliff:g id="FILENAME">%s</xliff:g>."\n"Libérez de l\'espace sur votre téléphone, puis réessayez."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Échec de téléchargement"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"Aucune carte SD"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Le téléchargement de <xliff:g id="FILENAME">%s</xliff:g> requiert une carte SD."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"Carte SD non disponible"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"La carte SD est occupée. Pour autoriser les téléchargements, sélectionnez l\'option \"Désactiver le stockage USB\" dans la notification."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Impossible de trouver une application permettant d\'ouvrir ce fichier."</string>
-    <string name="retry" msgid="1835923075542266721">"Réessayer"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"L\'historique de téléchargement est vide."</string>
-    <string name="download_error" msgid="413496839831257187">"Échec du téléchargement"</string>
-    <string name="download_success" msgid="2279041638155595203">"Téléchargement de <xliff:g id="FILE">%s</xliff:g> terminé."</string>
-    <string name="download_running" msgid="2622942231322015059">"Téléchargement..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"Début du téléchargement..."</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"En attente d\'une connexion de données..."</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"En attente d\'une connexion de données..."</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Téléchargement annulé"</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"Impossible d\'effectuer le téléchargement. Le contenu n\'est pas pris en charge sur ce téléphone."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"Téléchargement interrompu. Espace insuffisant."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"Téléchargement impossible. La taille de l\'élément n\'a pas pu être déterminée."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"Téléchargement interrompu. Impossible de reprendre le téléchargement."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Testeur de navigateur"</string>
-    <string name="homepage_base" msgid="7888126987935305566">"http://www.google.com/m?client=ms-{CID}"</string>
-    <string name="search_the_web" msgid="6046130189241962337">"Rechercher sur le Web"</string>
-    <string name="query_data_prompt" msgid="5474381240981604223">"Autoriser le stockage"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Ce site souhaite enregistrer des informations sur votre téléphone."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Afficher ma position"</string>
-    <string name="location_message" msgid="1729456751935683242">"Ce site souhaite afficher votre position."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Créer un raccourci"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Le site souhaite créer un raccourci vers cette page sur votre écran d\'accueil."</string>
-    <string name="settings_message" msgid="6171686603006325199">"Le tableau ci-dessous indique les fonctions que vous avez autorisées pour chaque site ayant tenté d\'utiliser Google Gears."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Sélecteur de fichier"</string>
-    <string name="image_message" msgid="5450245866521896891">"Image sélectionnée"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Paramètres Google Gears"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Lisez les règles de confidentialité du site pour savoir comment les informations sur votre localisation seront utilisées."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Autoriser le stockage local"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Ce site peut enregistrer des informations sur votre téléphone."</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Ce site ne peut enregistrer aucune information sur votre téléphone."</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Autoriser la détection de ma position"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Ce site peut détecter votre position actuelle."</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Ce site ne peut pas détecter votre position actuelle."</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Supprimer ce site de Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Aucune autorisation définie"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Supprimer ce site"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Toutes les autorisations seront effacées et toutes les données enregistrées par le site sur votre téléphone seront supprimées."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Ce site enregistrera des informations sur votre téléphone."\n" Modifiez ce paramètre dans :"\n" Paramètres -&gt; Paramètres Gears."</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Ce site n\'enregistrera jamais aucune information sur votre téléphone."\n" Modifiez ce paramètre dans :"\n" Paramètres -&gt; Paramètres Gears."</string>
-    <string name="location_notification" msgid="3495804750470905804">"Ce site peut afficher votre position actuelle. "\n" Modifiez ce paramètre dans :"\n" Paramètres -&gt; Paramètres Gears."</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Ce site n\'affichera pas votre position actuelle."\n" Modifiez ce paramètre dans :"\n" Paramètres -&gt; Paramètres Gears."</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Raccourci créé"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Ne jamais autoriser"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"OK"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Annuler"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Ne jamais autoriser"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"OK"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Annuler"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Appliquer"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Annuler"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"OK"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Annuler"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"chemin :"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Aucun fichier sélectionné"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Un fichier sélectionné"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"fichiers sélectionnés"</string>
-    <string name="remove" msgid="7820112494467011374">"Supprimer"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Stockage local"</string>
-    <string name="allowed" msgid="1599514934221911624">"Autorisé"</string>
-    <string name="denied" msgid="7470209521858372968">"Refusé"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Type de boîte de dialogue inconnu"</string>
-    <string name="default_button" msgid="3901922329454578908">"OK"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Présentation"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Codage du texte"</string>
+    <string name="pref_default_text_encoding_default">"Latin-1"</string>
+    <string name="browserFrameRedirect">"Rediriger"</string>
+    <string name="browserFrame307Post">"Cette page Web est en cours de redirection. Voulez-vous renvoyer les données de formulaire saisies vers le nouvel emplacement ?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Problème de connectivité des données"</string>
+    <string name="browserFrameFileErrorLabel">"Problème de fichier"</string>
+    <string name="browserFrameFormResubmitLabel">"Confirmer"</string>
+    <string name="browserFrameFormResubmitMessage">"La page que vous tentez d\'afficher contient des données qui ont déjà été envoyées (\"POSTDATA\"). Si vous renvoyez les données, toute action effectuée par le formulaire sur la page exécutée (notamment les lancements de recherche ou les achats en ligne) sera répétée."</string>
+    <string name="loadSuspendedTitle">"Aucune connexion réseau"</string>
+    <string name="loadSuspended">"Une fois la connexion rétablie, le chargement de la page reprendra."</string>
+    <string name="clear_history">"Effacer l\'historique"</string>
+    <string name="browser_history">"Dernières pages consultées"</string>
+    <string name="empty_history">"L\'historique du navigateur est vide."</string>
+    <string name="add_new_bookmark">"Ajouter aux favoris..."</string>
+    <string name="no_database">"Aucune base de données !"</string>
+    <string name="search_hint">"Saisir l\'adresse Web"</string>
+    <string name="search_button_text">"Aller"</string>
+    <!-- no translation found for search_settings_description (1422401062529014107) -->
+    <skip />
+    <string name="attention">"Attention"</string>
+    <string name="popup_window_attempt">"Le site tente d\'ouvrir une fenêtre contextuelle."</string>
+    <string name="allow">"Autoriser"</string>
+    <string name="block">"Bloquer"</string>
+    <string name="too_many_windows_dialog_title">"Limite de fenêtres atteinte"</string>
+    <string name="too_many_windows_dialog_message">"Impossible d\'ouvrir une nouvelle fenêtre, car vous avez déjà ouvert le nombre maximum de fenêtres."</string>
+    <string name="too_many_subwindows_dialog_title">"Fenêtre contextuelle déjà ouverte"</string>
+    <string name="too_many_subwindows_dialog_message">"Impossible d\'ouvrir une nouvelle fenêtre. Une seule fenêtre peut être ouverte à la fois."</string>
+    <string name="download_title">"Historique de téléchargement"</string>
+    <string name="download_unknown_filename">"&lt;Inconnu&gt;"</string>
+    <string name="download_menu_open">"Ouvrir"</string>
+    <string name="download_menu_clear">"Effacer de la liste"</string>
+    <string name="download_menu_cancel">"Annuler le téléchargement"</string>
+    <string name="download_menu_cancel_all">"Annuler tous les téléchargements"</string>
+    <string name="download_menu_clear_all">"Effacer la liste"</string>
+    <string name="download_clear_dlg_title">"Effacer"</string>
+    <string name="download_clear_dlg_msg">"Tous les éléments seront effacés de la liste et supprimés du cache du navigateur."</string>
+    <string name="download_cancel_dlg_title">"Annuler les téléchargements"</string>
+    <string name="download_cancel_dlg_msg">"Les <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> téléchargements seront annulés et effacés de l\'historique des téléchargements."</string>
+    <string name="download_file_error_dlg_title">"Espace insuffisant"</string>
+    <string name="download_file_error_dlg_msg">"Impossible de télécharger <xliff:g id="FILENAME">%s</xliff:g>."\n"Libérez de l\'espace sur votre téléphone, puis réessayez."</string>
+    <string name="download_failed_generic_dlg_title">"Échec de téléchargement"</string>
+    <string name="download_no_sdcard_dlg_title">"Aucune carte SD"</string>
+    <string name="download_no_sdcard_dlg_msg">"Le téléchargement de <xliff:g id="FILENAME">%s</xliff:g> requiert une carte SD."</string>
+    <string name="download_sdcard_busy_dlg_title">"Carte SD non disponible"</string>
+    <string name="download_sdcard_busy_dlg_msg">"La carte SD est occupée. Pour autoriser les téléchargements, sélectionnez l\'option \"Désactiver le stockage USB\" dans la notification."</string>
+    <string name="download_no_application">"Impossible de trouver une application permettant d\'ouvrir ce fichier."</string>
+    <string name="retry">"Réessayer"</string>
+    <string name="no_downloads">"L\'historique de téléchargement est vide."</string>
+    <string name="download_error">"Échec du téléchargement"</string>
+    <string name="download_success">"Téléchargement de <xliff:g id="FILE">%s</xliff:g> terminé."</string>
+    <string name="download_running">"Téléchargement..."</string>
+    <string name="download_pending">"Début du téléchargement..."</string>
+    <string name="download_pending_network">"En attente d\'une connexion de données..."</string>
+    <string name="download_running_paused">"En attente d\'une connexion de données..."</string>
+    <string name="download_canceled">"Téléchargement annulé"</string>
+    <string name="download_not_acceptable">"Impossible d\'effectuer le téléchargement. Le contenu n\'est pas pris en charge sur ce téléphone."</string>
+    <string name="download_file_error">"Téléchargement interrompu. Espace insuffisant."</string>
+    <string name="download_length_required">"Téléchargement impossible. La taille de l\'élément n\'a pas pu être déterminée."</string>
+    <string name="download_precondition_failed">"Téléchargement interrompu. Impossible de reprendre le téléchargement."</string>
+    <string name="activity_instrumentation_test_runner">"Testeur de navigateur"</string>
+    <string name="homepage_base">"http://www.google.com/m?client=ms-{CID}"</string>
+    <string name="search_the_web">"Rechercher sur le Web"</string>
+    <string name="zoom_overview_button_text">"Présentation"</string>
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index d091091..ae6ca5e 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -15,283 +15,232 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Browser"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Segnalibri"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"I più visitati"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Cronologia"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Aggiunto a segnalibri"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Rimosso da segnalibri"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Accedi a <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
-    <string name="username" msgid="5057566336518215922">"Nome"</string>
-    <string name="password" msgid="1177138552305184404">"Password"</string>
-    <string name="action" msgid="183105774472071343">"Accedi"</string>
-    <string name="bookmarks_search" msgid="5229596268214362873">"Browser"</string>
-    <string name="cancel" msgid="3017274947407233702">"Annulla"</string>
-    <string name="ok" msgid="1509280796718850364">"OK"</string>
+    <string name="application_name">"Browser"</string>
+    <string name="tab_bookmarks">"Segnalibri"</string>
+    <string name="tab_most_visited">"I più visitati"</string>
+    <string name="tab_history">"Cronologia"</string>
+    <string name="added_to_bookmarks">"Aggiunto a segnalibri"</string>
+    <string name="removed_from_bookmarks">"Rimosso da segnalibri"</string>
+    <string name="sign_in_to">"Accedi a <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
+    <string name="username">"Nome"</string>
+    <string name="password">"Password"</string>
+    <string name="action">"Accedi"</string>
+    <string name="bookmarks_search">"Browser"</string>
+    <string name="cancel">"Annulla"</string>
+    <string name="ok">"OK"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Nessuna corrispondenza"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 corrispondenza"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> corrispondenze"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> corrispondenze"</item>
+    <item quantity="zero">"Nessuna corrispondenza"</item>
+    <item quantity="one">"1 corrispondenza"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> corrispondenze"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> corrispondenze"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Info pagina"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Visualizza info pagina"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Indirizzo:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Problemi con il certificato di protezione del sito."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Continua"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Avviso di protezione"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Visualizza certificato"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Questo certificato non proviene da un\'autorità attendibile."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"Il nome del sito non corrisponde al nome nel certificato."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Il certificato è scaduto."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Questo certificato non è ancora valido."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Certificato di protezione"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Questo certificato è valido."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Rilasciato a:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Nome comune:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Organizzazione:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Unità organizzativa:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Rilasciato da:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Validità:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Rilasciato il:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Scade il:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Recupero dettagli di accesso..."</string>
-    <string name="stopping" msgid="4839698519340302982">"Interruzione..."</string>
-    <string name="stop" msgid="5687251076030630074">"Interrompi"</string>
-    <string name="reload" msgid="8585220783228408062">"Aggiorna"</string>
-    <string name="forward" msgid="4288210890526641577">"Avanti"</string>
-    <string name="save" msgid="5922311934992468496">"OK"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Annulla"</string>
-    <string name="location" msgid="969988560160364559">"URL"</string>
-    <string name="name" msgid="5990326151488445481">"Nome"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Segnalibro"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Modifica segnalibro"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Aggiungi scorciatoia Home"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Apri"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Elimina segnalibro"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Rimuovi da cronologia"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Salvato nei segnalibri."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"Inserisci un nome per il segnalibro."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"Inserisci un URL per il segnalibro."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Impossibile creare un segnalibro vuoto."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"URL non valido."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Elimina"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Aggiungi ultima pagina visualizzata ai segnalibri"</string>
-    <string name="current_page" msgid="7510129573681663135">"da "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"Il segnalibro \"<xliff:g id="BOOKMARK">%s</xliff:g>\" verrà eliminato."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Apri in nuova finestra"</string>
-    <string name="new_window" msgid="8117889615360211551">"Nuova finestra"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Vai"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Trova nella pagina"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Seleziona testo"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Anteprima finestre"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Finestre"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Finestre correnti"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Visualizza"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Nuova finestra"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Chiudi"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Segnalibro"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Condividi link"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Segnalibri"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Segnalibro"</string>
-    <string name="history" msgid="2451240511251410032">"Cronologia"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Download"</string>
-    <string name="share_page" msgid="593756995297268343">"Condividi pagina"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Apri"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Apri in nuova finestra"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Aggiungi link in segnalibri"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Salva link"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Condividi link"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Copia"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Copia URL link"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Salva immagine"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Visualizza immagine"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Componi..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Aggiungi contatto"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"Invia email"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Mappa"</string>
-    <string name="clear" msgid="7070043081700011461">"Cancella"</string>
-    <string name="replace" msgid="4843033491070384047">"Sostituisci"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Segnalibri"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Impostazioni"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Impostazioni contenuti pagina"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Carica immagini"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Visualizza immagini in pagine web"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Blocca finestre pop-up"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"Attiva JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Apri in secondo piano"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Le nuove finestre vengono aperte dietro la finestra corrente"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Imposta home page"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Adatta autom. pagine"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Adatta le pagine web allo schermo"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Impostazioni privacy"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Cancella cache"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Elimina tutti i contenuti delle pagine nella cache"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"La cache verrà cancellata."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Cancella tutti i dati dei cookie"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Cancella tutti i cookie del browser"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Verranno cancellati tutti i cookie."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Cancella cronologia"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Cancella la cronologia di esplorazione del browser"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"La cronologia di esplorazione del browser verrà cancellata."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Cancella dati moduli"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Cancella tutti i dati dei moduli salvati"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Tutti i dati dei moduli salvati saranno cancellati."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Cancella password"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Cancella tutte le password salvate"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Tutte le password salvate saranno cancellate."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Impostazioni di protezione"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Memorizza le password"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Salva nomi utente e password per i siti web"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Memorizza dati moduli"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Memorizza i dati che digito nei moduli per usi futuri"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Mostra avvisi protezione"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Mostra un avviso se esiste un problema di sicurezza con un sito"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Accetta cookie"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Consenti ai siti di salvare e leggere i dati \"cookie\""</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"Dimensioni testo"</string>
+    <string name="page_info">"Info pagina"</string>
+    <string name="page_info_view">"Visualizza info pagina"</string>
+    <string name="page_info_address">"Indirizzo:"</string>
+    <string name="ssl_warnings_header">"Problemi con il certificato di protezione del sito."</string>
+    <string name="ssl_continue">"Continua"</string>
+    <string name="security_warning">"Avviso di protezione"</string>
+    <string name="view_certificate">"Visualizza certificato"</string>
+    <string name="ssl_untrusted">"Questo certificato non proviene da un\'autorità attendibile."</string>
+    <string name="ssl_mismatch">"Il nome del sito non corrisponde al nome nel certificato."</string>
+    <string name="ssl_expired">"Il certificato è scaduto."</string>
+    <string name="ssl_not_yet_valid">"Questo certificato non è ancora valido."</string>
+    <string name="ssl_certificate">"Certificato di protezione"</string>
+    <string name="ssl_certificate_is_valid">"Questo certificato è valido."</string>
+    <string name="issued_to">"Rilasciato a:"</string>
+    <string name="common_name">"Nome comune:"</string>
+    <string name="org_name">"Organizzazione:"</string>
+    <string name="org_unit">"Unità organizzativa:"</string>
+    <string name="issued_by">"Rilasciato da:"</string>
+    <string name="validity_period">"Validità:"</string>
+    <string name="issued_on">"Rilasciato il:"</string>
+    <string name="expires_on">"Scade il:"</string>
+    <string name="retrieving_creds_dlg_msg">"Recupero dettagli di accesso..."</string>
+    <string name="stopping">"Interruzione..."</string>
+    <string name="stop">"Interrompi"</string>
+    <string name="reload">"Aggiorna"</string>
+    <string name="forward">"Avanti"</string>
+    <string name="save">"OK"</string>
+    <string name="do_not_save">"Annulla"</string>
+    <string name="location">"URL"</string>
+    <string name="name">"Nome"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Segnalibro"</string>
+    <string name="edit_bookmark">"Modifica segnalibro"</string>
+    <string name="create_shortcut_bookmark">"Aggiungi scorciatoia Home"</string>
+    <string name="open_bookmark">"Apri"</string>
+    <string name="remove_bookmark">"Elimina segnalibro"</string>
+    <string name="remove_history_item">"Rimuovi da cronologia"</string>
+    <string name="bookmark_saved">"Salvato nei segnalibri."</string>
+    <string name="bookmark_needs_title">"Inserisci un nome per il segnalibro."</string>
+    <string name="bookmark_needs_url">"Inserisci un URL per il segnalibro."</string>
+    <string name="empty_bookmark">"Impossibile creare un segnalibro vuoto."</string>
+    <string name="bookmark_url_not_valid">"URL non valido."</string>
+    <string name="delete_bookmark">"Elimina"</string>
+    <string name="bookmark_page">"Aggiungi ultima pagina visualizzata ai segnalibri"</string>
+    <string name="current_page">"da "</string>
+    <string name="delete_bookmark_warning">"Il segnalibro \"<xliff:g id="BOOKMARK">%s</xliff:g>\" verrà eliminato."</string>
+    <string name="open_in_new_window">"Apri in nuova finestra"</string>
+    <string name="new_window">"Nuova finestra"</string>
+    <string name="goto_dot">"Vai"</string>
+    <string name="find_dot">"Trova nella pagina"</string>
+    <string name="select_dot">"Seleziona testo"</string>
+    <string name="view_tabs">"Anteprima finestre"</string>
+    <string name="view_tabs_condensed">"Finestre"</string>
+    <string name="tab_picker_title">"Finestre correnti"</string>
+    <string name="tab_picker_view_tab">"Visualizza"</string>
+    <string name="tab_picker_new_tab">"Nuova finestra"</string>
+    <string name="tab_picker_remove_tab">"Chiudi"</string>
+    <string name="tab_picker_bookmark">"Segnalibro"</string>
+    <string name="tab_picker_send_url">"Condividi link"</string>
+    <string name="bookmarks">"Segnalibri"</string>
+    <string name="shortcut_bookmark">"Segnalibro"</string>
+    <string name="history">"Cronologia"</string>
+    <string name="menu_view_download">"Download"</string>
+    <string name="share_page">"Condividi pagina"</string>
+    <string name="contextmenu_openlink">"Apri"</string>
+    <string name="contextmenu_openlink_newwindow">"Apri in nuova finestra"</string>
+    <string name="contextmenu_bookmark_thislink">"Aggiungi link in segnalibri"</string>
+    <string name="contextmenu_savelink">"Salva link"</string>
+    <string name="contextmenu_sharelink">"Condividi link"</string>
+    <string name="contextmenu_copy">"Copia"</string>
+    <string name="contextmenu_copylink">"Copia URL link"</string>
+    <string name="contextmenu_download_image">"Salva immagine"</string>
+    <string name="contextmenu_view_image">"Visualizza immagine"</string>
+    <string name="contextmenu_dial_dot">"Componi..."</string>
+    <string name="contextmenu_add_contact">"Aggiungi contatto"</string>
+    <string name="contextmenu_send_mail">"Invia email"</string>
+    <string name="contextmenu_map">"Mappa"</string>
+    <string name="clear">"Cancella"</string>
+    <string name="replace">"Sostituisci"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Segnalibri"</string>
+    <string name="menu_preferences">"Impostazioni"</string>
+    <string name="pref_content_title">"Impostazioni contenuti pagina"</string>
+    <string name="pref_content_load_images">"Carica immagini"</string>
+    <string name="pref_content_load_images_summary">"Visualizza immagini in pagine web"</string>
+    <string name="pref_content_block_popups">"Blocca finestre pop-up"</string>
+    <string name="pref_content_javascript">"Attiva JavaScript"</string>
+    <string name="pref_content_open_in_background">"Apri in secondo piano"</string>
+    <string name="pref_content_open_in_background_summary">"Le nuove finestre vengono aperte dietro la finestra corrente"</string>
+    <string name="pref_content_homepage">"Imposta home page"</string>
+    <string name="pref_content_autofit">"Adatta autom. pagine"</string>
+    <string name="pref_content_autofit_summary">"Adatta le pagine web allo schermo"</string>
+    <string name="pref_privacy_title">"Impostazioni privacy"</string>
+    <string name="pref_privacy_clear_cache">"Cancella cache"</string>
+    <string name="pref_privacy_clear_cache_summary">"Elimina tutti i contenuti delle pagine nella cache"</string>
+    <string name="pref_privacy_clear_cache_dlg">"La cache verrà cancellata."</string>
+    <string name="pref_privacy_clear_cookies">"Cancella tutti i dati dei cookie"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Cancella tutti i cookie del browser"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Verranno cancellati tutti i cookie."</string>
+    <string name="pref_privacy_clear_history">"Cancella cronologia"</string>
+    <string name="pref_privacy_clear_history_summary">"Cancella la cronologia di esplorazione del browser"</string>
+    <string name="pref_privacy_clear_history_dlg">"La cronologia di esplorazione del browser verrà cancellata."</string>
+    <string name="pref_privacy_clear_form_data">"Cancella dati moduli"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Cancella tutti i dati dei moduli salvati"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Tutti i dati dei moduli salvati saranno cancellati."</string>
+    <string name="pref_privacy_clear_passwords">"Cancella password"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Cancella tutte le password salvate"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Tutte le password salvate saranno cancellate."</string>
+    <string name="pref_security_title">"Impostazioni di protezione"</string>
+    <string name="pref_security_remember_passwords">"Memorizza le password"</string>
+    <string name="pref_security_remember_passwords_summary">"Salva nomi utente e password per i siti web"</string>
+    <string name="pref_security_save_form_data">"Memorizza dati moduli"</string>
+    <string name="pref_security_save_form_data_summary">"Memorizza i dati che digito nei moduli per usi futuri"</string>
+    <string name="pref_security_show_security_warning">"Mostra avvisi protezione"</string>
+    <string name="pref_security_show_security_warning_summary">"Mostra un avviso se esiste un problema di sicurezza con un sito"</string>
+    <string name="pref_security_accept_cookies">"Accetta cookie"</string>
+    <string name="pref_security_accept_cookies_summary">"Consenti ai siti di salvare e leggere i dati \"cookie\""</string>
+    <string name="pref_text_size">"Dimensioni testo"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Molto piccolo"</item>
-    <item msgid="1950030433642671460">"Piccolo"</item>
-    <item msgid="4338347520133294584">"Normale"</item>
-    <item msgid="5043128215356351184">"Grande"</item>
-    <item msgid="7201512237890458902">"Molto grande"</item>
+    <item>"Molto piccolo"</item>
+    <item>"Piccolo"</item>
+    <item>"Normale"</item>
+    <item>"Grande"</item>
+    <item>"Molto grande"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Dimensioni testo"</string>
-    <string name="pref_default_zoom" msgid="8076142259097187395">"Zoom predefinito"</string>
+    <string name="pref_text_size_dialogtitle">"Dimensioni testo"</string>
+    <string name="pref_default_zoom">"Zoom predefinito"</string>
   <string-array name="pref_default_zoom_choices">
-    <item msgid="549583171195154919">"Lontano"</item>
-    <item msgid="5619034257768161024">"Medio"</item>
-    <item msgid="3840999588443167001">"Chiudi"</item>
+    <item>"Lontano"</item>
+    <item>"Medio"</item>
+    <item>"Chiudi"</item>
   </string-array>
-    <string name="pref_default_zoom_dialogtitle" msgid="6095974367125109021">"Zoom predefinito"</string>
-    <string name="pref_extras_title" msgid="3091250467679722382">"Impostazioni avanzate"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Attiva Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Applicazioni che estendono le funzionalità del browser"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Impostazioni Gears"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Elenco di plug-in"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Nessun plug-in installato."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Applicazioni che estendono le funzionalità del browser"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Ripristina valori predefiniti"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Cancella tutti i dati del browser e ripristina tutte le impostazioni predefinite"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Verranno cancellati tutti i dati del browser e ripristinate le impostazioni predefinite."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Ripristina valori predefiniti"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Debug"</string>
-    <string name="pref_default_text_encoding" msgid="5742965543955558478">"Codifica testo"</string>
+    <string name="pref_default_zoom_dialogtitle">"Zoom predefinito"</string>
+    <string name="pref_extras_title">"Impostazioni avanzate"</string>
+    <string name="pref_extras_reset_default">"Ripristina valori predefiniti"</string>
+    <string name="pref_extras_reset_default_summary">"Cancella tutti i dati del browser e ripristina tutte le impostazioni predefinite"</string>
+    <string name="pref_extras_reset_default_dlg">"Verranno cancellati tutti i dati del browser e ripristinate le impostazioni predefinite."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Ripristina valori predefiniti"</string>
+    <string name="pref_development_title">"Debug"</string>
+    <string name="pref_default_text_encoding">"Codifica testo"</string>
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Giapponese (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Giapponese (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Giapponese (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Giapponese (ISO-2022-JP)"</item>
+    <item>"Giapponese (SHIFT_JIS)"</item>
+    <item>"Giapponese (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Codifica testo"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latin-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Reindirizza"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"La pagina web è in fase di reindizzamento. Inviare di nuovo i dati del modulo alla nuova posizione?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Problema di connettività dati"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Problemi con il file"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Conferma"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"La pagina che stai tentando di visualizzare contiene dati già inviati (\"POSTDATA\"). Se invii di nuovo i dati, ogni azione effettuata dal modulo nella pagina (come una ricerca o un acquisto online) verrà ripetuta."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Nessuna connessione di rete"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"Il caricamento della pagina continuerà una volta ripristinata la connessione."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Cancella cronologia"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Pagine visitate di recente"</string>
-    <string name="empty_history" msgid="8738772352308207274">"La cronologia del browser è vuota."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Aggiungi segnalibro…"</string>
-    <string name="no_database" msgid="2256698896757181084">"Nessun database"</string>
-    <string name="search_hint" msgid="3385577802557697397">"Digita l\'indirizzo web"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Vai"</string>
-    <string name="search_settings_description" msgid="1422401062529014107">"Segnalibri e cronologia web"</string>
-    <string name="attention" msgid="3473639060042811244">"Attenzione"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Il sito sta tentando di aprire una finestra pop-up."</string>
-    <string name="allow" msgid="1157313689171991335">"Consenti"</string>
-    <string name="block" msgid="9172175889884707800">"Blocca"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Numero limite di finestre raggiunto"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Impossibile aprire una nuova finestra. Numero massimo di finestre aperte già raggiunto."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Finestra pop-up già aperta"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Impossibile aprire una nuova finestra pop-up. È possibile aprirne soltanto una alla volta."</string>
-    <string name="download_title" msgid="2122874021047565594">"Cronologia download"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Sconosciuto&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Apri"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Cancella da elenco"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Cancella download"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Annulla tutti i download"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Cancella elenco"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Cancella"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Tutti gli elementi verranno cancellati dall\'elenco e rimossi dalla cache del browser."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Annulla download"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Tutti i <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> download verranno cancellati dalla cronologia download."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Spazio esaurito"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"Impossibile scaricare <xliff:g id="FILENAME">%s</xliff:g>."\n"Liberare spazio sul telefono e riprovare."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Download non riuscito"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"Nessuna scheda SD"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Per scaricare <xliff:g id="FILENAME">%s</xliff:g> occorre una scheda SD."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"Scheda SD non disponibile"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"La scheda SD è piena. Per consentire i download, seleziona \"Disattiva archivio USB\" nella notifica."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Impossibile trovare un\'applicazione in cui aprire questo file."</string>
-    <string name="retry" msgid="1835923075542266721">"Riprova"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"La cronologia download è vuota."</string>
-    <string name="download_error" msgid="413496839831257187">"Download non riuscito."</string>
-    <string name="download_success" msgid="2279041638155595203">"Download di <xliff:g id="FILE">%s</xliff:g> completo."</string>
-    <string name="download_running" msgid="2622942231322015059">"Download..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"Avvio download..."</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"In attesa di connessione dati..."</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"In attesa di connessione dati..."</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Download annullato."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"Impossibile effettuare il download. I contenuti non sono supportati dal telefono."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"Impossibile terminare il download. Spazio insufficiente."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"Impossibile effettuare il download. Impossibile determinare le dimensioni dell\'elemento."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"Download interrotto. Impossibile ripristinarlo."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Browser Test Runner"</string>
-    <string name="homepage_base" msgid="7888126987935305566">"http://www.google.com/m?client=ms-{CID}"</string>
-    <string name="search_the_web" msgid="6046130189241962337">"Cerca nel Web"</string>
-    <string name="query_data_prompt" msgid="5474381240981604223">"Consenti archiviazione"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Il sito web vorrebbe memorizzare informazioni sul cellulare."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Accedi alla tua posizione"</string>
-    <string name="location_message" msgid="1729456751935683242">"Questo sito web vorrebbe avere accesso alla tua posizione."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Crea un collegamento"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Questo sito web vorrebbe creare un collegamento a questa pagina nella tua home page."</string>
-    <string name="settings_message" msgid="6171686603006325199">"Nella tabella che segue vengono riportate le autorizzazioni concesse a ogni sito che ha provato a usare Gears."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Selettore file"</string>
-    <string name="image_message" msgid="5450245866521896891">"Immagine selezionata"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Impostazioni Gears"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Per conoscere la modalità di utilizzo della tua posizione, leggi le norme sulla privacy del sito."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Consenti archiviazione locale"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Questo sito può salvare informazioni sul cellulare"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Questo sito non può salvare informazioni sul cellulare"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Consenti rilevamento posizione"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Questo sito può leggere la tua posizione attuale"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Questo sito non può leggere la tua posizione attuale"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Rimuovi il sito da Google Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Nessuna autorizzazione impostata"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Rimuovi il sito"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Tutte le autorizzazioni verranno annullate e tutti i dati memorizzati sul cellulare dal sito verranno eliminati."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Questo sito memorizzerà informazioni sul cellulare."\n" Modifica questa impostazione in:"\n" Impostazioni -&gt; Impostazioni Gears"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Questo sito non memorizzerà mai informazioni sul cellulare."\n" Modifica questa impostazione in:"\n" Impostazioni -&gt; Impostazioni Gears"</string>
-    <string name="location_notification" msgid="3495804750470905804">"Questo sito può accedere alla tua posizione attuale."\n" Modifica questa impostazione in:"\n" Impostazioni -&gt; Impostazioni Gears"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Questo sito non accederà alla tua posizione attuale."\n" Modifica questa impostazione in:"\n" Impostazioni -&gt; Impostazioni Gears"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Collegamento creato"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Non consentire mai"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"OK"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Annulla"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Non consentire mai"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"OK"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Annulla"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Applica"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Annulla"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"OK"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Annulla"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"percorso:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Nessun file selezionato"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Un file selezionato"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"file selezionati"</string>
-    <string name="remove" msgid="7820112494467011374">"Rimuovi"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Archiviazione locale"</string>
-    <string name="allowed" msgid="1599514934221911624">"Consentito"</string>
-    <string name="denied" msgid="7470209521858372968">"Negato"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Tipo di finestra non riconosciuto"</string>
-    <string name="default_button" msgid="3901922329454578908">"OK"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Panoramica"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Codifica testo"</string>
+    <string name="pref_default_text_encoding_default">"Latin-1"</string>
+    <string name="browserFrameRedirect">"Reindirizza"</string>
+    <string name="browserFrame307Post">"La pagina web è in fase di reindizzamento. Inviare di nuovo i dati del modulo alla nuova posizione?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Problema di connettività dati"</string>
+    <string name="browserFrameFileErrorLabel">"Problemi con il file"</string>
+    <string name="browserFrameFormResubmitLabel">"Conferma"</string>
+    <string name="browserFrameFormResubmitMessage">"La pagina che stai tentando di visualizzare contiene dati già inviati (\"POSTDATA\"). Se invii di nuovo i dati, ogni azione effettuata dal modulo nella pagina (come una ricerca o un acquisto online) verrà ripetuta."</string>
+    <string name="loadSuspendedTitle">"Nessuna connessione di rete"</string>
+    <string name="loadSuspended">"Il caricamento della pagina continuerà una volta ripristinata la connessione."</string>
+    <string name="clear_history">"Cancella cronologia"</string>
+    <string name="browser_history">"Pagine visitate di recente"</string>
+    <string name="empty_history">"La cronologia del browser è vuota."</string>
+    <string name="add_new_bookmark">"Aggiungi segnalibro…"</string>
+    <string name="no_database">"Nessun database"</string>
+    <string name="search_hint">"Digita l\'indirizzo web"</string>
+    <string name="search_button_text">"Vai"</string>
+    <!-- no translation found for search_settings_description (1422401062529014107) -->
+    <skip />
+    <string name="attention">"Attenzione"</string>
+    <string name="popup_window_attempt">"Il sito sta tentando di aprire una finestra pop-up."</string>
+    <string name="allow">"Consenti"</string>
+    <string name="block">"Blocca"</string>
+    <string name="too_many_windows_dialog_title">"Numero limite di finestre raggiunto"</string>
+    <string name="too_many_windows_dialog_message">"Impossibile aprire una nuova finestra. Numero massimo di finestre aperte già raggiunto."</string>
+    <string name="too_many_subwindows_dialog_title">"Finestra pop-up già aperta"</string>
+    <string name="too_many_subwindows_dialog_message">"Impossibile aprire una nuova finestra pop-up. È possibile aprirne soltanto una alla volta."</string>
+    <string name="download_title">"Cronologia download"</string>
+    <string name="download_unknown_filename">"&lt;Sconosciuto&gt;"</string>
+    <string name="download_menu_open">"Apri"</string>
+    <string name="download_menu_clear">"Cancella da elenco"</string>
+    <string name="download_menu_cancel">"Cancella download"</string>
+    <string name="download_menu_cancel_all">"Annulla tutti i download"</string>
+    <string name="download_menu_clear_all">"Cancella elenco"</string>
+    <string name="download_clear_dlg_title">"Cancella"</string>
+    <string name="download_clear_dlg_msg">"Tutti gli elementi verranno cancellati dall\'elenco e rimossi dalla cache del browser."</string>
+    <string name="download_cancel_dlg_title">"Annulla download"</string>
+    <string name="download_cancel_dlg_msg">"Tutti i <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> download verranno cancellati dalla cronologia download."</string>
+    <string name="download_file_error_dlg_title">"Spazio esaurito"</string>
+    <string name="download_file_error_dlg_msg">"Impossibile scaricare <xliff:g id="FILENAME">%s</xliff:g>."\n"Liberare spazio sul telefono e riprovare."</string>
+    <string name="download_failed_generic_dlg_title">"Download non riuscito"</string>
+    <string name="download_no_sdcard_dlg_title">"Nessuna scheda SD"</string>
+    <string name="download_no_sdcard_dlg_msg">"Per scaricare <xliff:g id="FILENAME">%s</xliff:g> occorre una scheda SD."</string>
+    <string name="download_sdcard_busy_dlg_title">"Scheda SD non disponibile"</string>
+    <string name="download_sdcard_busy_dlg_msg">"La scheda SD è piena. Per consentire i download, seleziona \"Disattiva archivio USB\" nella notifica."</string>
+    <string name="download_no_application">"Impossibile trovare un\'applicazione in cui aprire questo file."</string>
+    <string name="retry">"Riprova"</string>
+    <string name="no_downloads">"La cronologia download è vuota."</string>
+    <string name="download_error">"Download non riuscito."</string>
+    <string name="download_success">"Download di <xliff:g id="FILE">%s</xliff:g> completo."</string>
+    <string name="download_running">"Download..."</string>
+    <string name="download_pending">"Avvio download..."</string>
+    <string name="download_pending_network">"In attesa di connessione dati..."</string>
+    <string name="download_running_paused">"In attesa di connessione dati..."</string>
+    <string name="download_canceled">"Download annullato."</string>
+    <string name="download_not_acceptable">"Impossibile effettuare il download. I contenuti non sono supportati dal telefono."</string>
+    <string name="download_file_error">"Impossibile terminare il download. Spazio insufficiente."</string>
+    <string name="download_length_required">"Impossibile effettuare il download. Impossibile determinare le dimensioni dell\'elemento."</string>
+    <string name="download_precondition_failed">"Download interrotto. Impossibile ripristinarlo."</string>
+    <string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
+    <string name="homepage_base">"http://www.google.com/m?client=ms-{CID}"</string>
+    <string name="search_the_web">"Cerca nel Web"</string>
+    <string name="zoom_overview_button_text">"Panoramica"</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 57f5014..7e98801 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -15,283 +15,236 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"ブラウザ"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"ブックマーク"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"よく使用"</string>
-    <string name="tab_history" msgid="1979267558744613746">"履歴"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"ブックマークに追加しました"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"ブックマークから削除しました"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"<xliff:g id="HOSTNAME">%s1</xliff:g>に「<xliff:g id="REALM">%s2</xliff:g>」でログイン"</string>
-    <string name="username" msgid="5057566336518215922">"名前"</string>
-    <string name="password" msgid="1177138552305184404">"パスワード"</string>
-    <string name="action" msgid="183105774472071343">"ログイン"</string>
-    <string name="bookmarks_search" msgid="5229596268214362873">"ブラウザ"</string>
-    <string name="cancel" msgid="3017274947407233702">"キャンセル"</string>
-    <string name="ok" msgid="1509280796718850364">"OK"</string>
+    <string name="application_name">"ブラウザ"</string>
+    <string name="tab_bookmarks">"ブックマーク"</string>
+    <string name="tab_most_visited">"よく使用"</string>
+    <string name="tab_history">"履歴"</string>
+    <string name="added_to_bookmarks">"ブックマークに追加しました"</string>
+    <string name="removed_from_bookmarks">"ブックマークから削除しました"</string>
+    <string name="sign_in_to">"<xliff:g id="HOSTNAME">%s1</xliff:g>に「<xliff:g id="REALM">%s2</xliff:g>」でログイン"</string>
+    <string name="username">"名前"</string>
+    <string name="password">"パスワード"</string>
+    <string name="action">"ログイン"</string>
+    <!-- no translation found for bookmarks_search (5229596268214362873) -->
+    <skip />
+    <string name="cancel">"キャンセル"</string>
+    <string name="ok">"OK"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"該当なし"</item>
-    <item quantity="one" msgid="4352019729062956802">"1件一致"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g>件一致"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g>件一致"</item>
+    <item quantity="zero">"該当なし"</item>
+    <item quantity="one">"1件一致"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g>件一致"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g>件一致"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"ページ情報"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"ページ情報を表示"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"アドレス:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"このサイトのセキュリティ証明書には問題があります。"</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"続行"</string>
-    <string name="security_warning" msgid="6607795404322797541">"セキュリティ警告"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"証明書を表示"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"この証明書は信頼できる認証機関のものではありません。"</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"サイト名と証明書上の名前が一致しません。"</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"この証明書は有効期限切れです。"</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"この証明書はまだ有効ではありません。"</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"セキュリティ証明書"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"この証明書は有効です。"</string>
-    <string name="issued_to" msgid="9032338008819841339">"発行先:"</string>
-    <string name="common_name" msgid="5745530093500062357">"共通名:"</string>
-    <string name="org_name" msgid="8868889052889991293">"組織:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"組織単位:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"発行者:"</string>
-    <string name="validity_period" msgid="57988851973181309">"有効期間:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"発行:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"有効期限:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"ログイン詳細を取得中..."</string>
-    <string name="stopping" msgid="4839698519340302982">"停止中..."</string>
-    <string name="stop" msgid="5687251076030630074">"停止"</string>
-    <string name="reload" msgid="8585220783228408062">"再読み込み"</string>
-    <string name="forward" msgid="4288210890526641577">"進む"</string>
-    <string name="save" msgid="5922311934992468496">"OK"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"キャンセル"</string>
-    <string name="location" msgid="969988560160364559">"場所"</string>
-    <string name="name" msgid="5990326151488445481">"名前"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"ブックマーク"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"編集"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"ショートカットを作成"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"開く"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"削除"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"履歴から消去"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"ブックマークを保存しました。"</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"名前を指定してください。"</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"場所を指定してください。"</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"空のブックマークは作成できません。"</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"無効なURLです。"</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"削除"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"最後に表示したページをブックマークする"</string>
-    <string name="current_page" msgid="7510129573681663135">"URL "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"ブックマーク「<xliff:g id="BOOKMARK">%s</xliff:g>」を削除します。"</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"新しいウィンドウで開く"</string>
-    <string name="new_window" msgid="8117889615360211551">"新規ウィンドウ"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"移動"</string>
-    <string name="find_dot" msgid="6259312434696611957">"ページ内検索"</string>
-    <string name="select_dot" msgid="6299170761900561967">"テキストを選択してコピー"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"ウィンドウリスト"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"ウィンドウ"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"現在のウィンドウ"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"表示"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"新規ウィンドウ"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"閉じる"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"ブックマーク"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"リンクを共有"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"ブックマーク"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"ブックマーク"</string>
-    <string name="history" msgid="2451240511251410032">"履歴"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"ダウンロード履歴"</string>
-    <string name="share_page" msgid="593756995297268343">"ページを共有"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"開く"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"新しいウィンドウで開く"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"リンクをブックマーク"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"リンクを保存"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"リンクを共有"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"コピー"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"URLをコピー"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"画像を保存"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"画像を表示"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"発信..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"連絡先を追加"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"メールを送信"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"地図"</string>
-    <string name="clear" msgid="7070043081700011461">"消去"</string>
-    <string name="replace" msgid="4843033491070384047">"入れ替え"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"ブックマーク"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"設定"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"ページコンテンツ設定"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"画像の読み込み"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"ウェブページに画像を表示する"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"ポップアップウィンドウをブロック"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"JavaScriptを有効にする"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"バックグラウンドで開く"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"新しいウィンドウを現在のウィンドウの後ろに開きます"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"ホームページ設定"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"ページの自動調整"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"画面に合わせてウェブページの表示やサイズを自動調整する"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"プライバシー設定"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"キャッシュを消去"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"キャッシュしたコンテンツをすべて削除する"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"キャッシュを消去します。"</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Cookieをすべて消去"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"保存されているCookieをすべて消去する"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Cookieをすべて消去します。"</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"履歴消去"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"ブラウザの閲覧履歴を消去します"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"ブラウザの閲覧履歴を消去します。"</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"フォームデータを消去"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"保存されているフォームデータをすべて消去します"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"保存されているフォームデータをすべて消去します。"</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"パスワードを消去"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"保存されているパスワードをすべて消去する"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"保存されているパスワードをすべて消去します。"</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"セキュリティ設定"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"パスワードを保存"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"サイトのユーザー名とパスワードを保存する"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"フォームデータを保存"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"フォームに入力したデータを保存して後で呼び出せるようにする"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"セキュリティ警告"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"サイトの安全性に問題がある場合に警告を表示する"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Cookieを受け入れる"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"サイトによるCookieの保存と読み取りを許可する"</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"テキストサイズ"</string>
+    <string name="page_info">"ページ情報"</string>
+    <string name="page_info_view">"ページ情報を表示"</string>
+    <string name="page_info_address">"アドレス:"</string>
+    <string name="ssl_warnings_header">"このサイトのセキュリティ証明書には問題があります。"</string>
+    <string name="ssl_continue">"続行"</string>
+    <string name="security_warning">"セキュリティ警告"</string>
+    <string name="view_certificate">"証明書を表示"</string>
+    <string name="ssl_untrusted">"この証明書は信頼できる認証機関のものではありません。"</string>
+    <string name="ssl_mismatch">"サイト名と証明書上の名前が一致しません。"</string>
+    <string name="ssl_expired">"この証明書は有効期限切れです。"</string>
+    <string name="ssl_not_yet_valid">"この証明書はまだ有効ではありません。"</string>
+    <string name="ssl_certificate">"セキュリティ証明書"</string>
+    <string name="ssl_certificate_is_valid">"この証明書は有効です。"</string>
+    <string name="issued_to">"発行先:"</string>
+    <string name="common_name">"共通名:"</string>
+    <string name="org_name">"組織:"</string>
+    <string name="org_unit">"組織単位:"</string>
+    <string name="issued_by">"発行者:"</string>
+    <string name="validity_period">"有効期間:"</string>
+    <string name="issued_on">"発行:"</string>
+    <string name="expires_on">"有効期限:"</string>
+    <string name="retrieving_creds_dlg_msg">"ログイン詳細を取得中..."</string>
+    <string name="stopping">"停止中..."</string>
+    <string name="stop">"停止"</string>
+    <string name="reload">"再読み込み"</string>
+    <string name="forward">"進む"</string>
+    <string name="save">"OK"</string>
+    <string name="do_not_save">"キャンセル"</string>
+    <string name="location">"場所"</string>
+    <string name="name">"名前"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"ブックマーク"</string>
+    <string name="edit_bookmark">"編集"</string>
+    <string name="create_shortcut_bookmark">"ショートカットを作成"</string>
+    <string name="open_bookmark">"開く"</string>
+    <string name="remove_bookmark">"削除"</string>
+    <string name="remove_history_item">"履歴から消去"</string>
+    <string name="bookmark_saved">"ブックマークを保存しました。"</string>
+    <string name="bookmark_needs_title">"名前を指定してください。"</string>
+    <string name="bookmark_needs_url">"場所を指定してください。"</string>
+    <string name="empty_bookmark">"空のブックマークは作成できません。"</string>
+    <string name="bookmark_url_not_valid">"無効なURLです。"</string>
+    <string name="delete_bookmark">"削除"</string>
+    <string name="bookmark_page">"最後に表示したページをブックマークする"</string>
+    <string name="current_page">"URL "</string>
+    <string name="delete_bookmark_warning">"ブックマーク「<xliff:g id="BOOKMARK">%s</xliff:g>」を削除します。"</string>
+    <string name="open_in_new_window">"新しいウィンドウで開く"</string>
+    <string name="new_window">"新規ウィンドウ"</string>
+    <string name="goto_dot">"移動"</string>
+    <string name="find_dot">"ページ内検索"</string>
+    <string name="select_dot">"テキストを選択してコピー"</string>
+    <string name="view_tabs">"ウィンドウリスト"</string>
+    <string name="view_tabs_condensed">"ウィンドウ"</string>
+    <string name="tab_picker_title">"現在のウィンドウ"</string>
+    <string name="tab_picker_view_tab">"表示"</string>
+    <string name="tab_picker_new_tab">"新規ウィンドウ"</string>
+    <string name="tab_picker_remove_tab">"閉じる"</string>
+    <string name="tab_picker_bookmark">"ブックマーク"</string>
+    <string name="tab_picker_send_url">"リンクを共有"</string>
+    <string name="bookmarks">"ブックマーク"</string>
+    <string name="shortcut_bookmark">"ブックマーク"</string>
+    <string name="history">"履歴"</string>
+    <string name="menu_view_download">"ダウンロード履歴"</string>
+    <string name="share_page">"ページを共有"</string>
+    <string name="contextmenu_openlink">"開く"</string>
+    <string name="contextmenu_openlink_newwindow">"新しいウィンドウで開く"</string>
+    <string name="contextmenu_bookmark_thislink">"リンクをブックマーク"</string>
+    <string name="contextmenu_savelink">"リンクを保存"</string>
+    <string name="contextmenu_sharelink">"リンクを共有"</string>
+    <string name="contextmenu_copy">"コピー"</string>
+    <string name="contextmenu_copylink">"URLをコピー"</string>
+    <string name="contextmenu_download_image">"画像を保存"</string>
+    <string name="contextmenu_view_image">"画像を表示"</string>
+    <string name="contextmenu_dial_dot">"発信..."</string>
+    <string name="contextmenu_add_contact">"連絡先を追加"</string>
+    <string name="contextmenu_send_mail">"メールを送信"</string>
+    <string name="contextmenu_map">"地図"</string>
+    <string name="clear">"消去"</string>
+    <string name="replace">"入れ替え"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"ブックマーク"</string>
+    <string name="menu_preferences">"設定"</string>
+    <string name="pref_content_title">"ページコンテンツ設定"</string>
+    <string name="pref_content_load_images">"画像の読み込み"</string>
+    <string name="pref_content_load_images_summary">"ウェブページに画像を表示する"</string>
+    <string name="pref_content_block_popups">"ポップアップウィンドウをブロック"</string>
+    <string name="pref_content_javascript">"JavaScriptを有効にする"</string>
+    <string name="pref_content_open_in_background">"バックグラウンドで開く"</string>
+    <string name="pref_content_open_in_background_summary">"新しいウィンドウを現在のウィンドウの後ろに開きます"</string>
+    <string name="pref_content_homepage">"ホームページ設定"</string>
+    <string name="pref_content_autofit">"ページの自動調整"</string>
+    <string name="pref_content_autofit_summary">"画面に合わせてウェブページの表示やサイズを自動調整する"</string>
+    <string name="pref_privacy_title">"プライバシー設定"</string>
+    <string name="pref_privacy_clear_cache">"キャッシュを消去"</string>
+    <string name="pref_privacy_clear_cache_summary">"キャッシュしたコンテンツをすべて削除する"</string>
+    <string name="pref_privacy_clear_cache_dlg">"キャッシュを消去します。"</string>
+    <string name="pref_privacy_clear_cookies">"Cookieをすべて消去"</string>
+    <string name="pref_privacy_clear_cookies_summary">"保存されているCookieをすべて消去する"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Cookieをすべて消去します。"</string>
+    <string name="pref_privacy_clear_history">"履歴消去"</string>
+    <string name="pref_privacy_clear_history_summary">"ブラウザの閲覧履歴を消去します"</string>
+    <string name="pref_privacy_clear_history_dlg">"ブラウザの閲覧履歴を消去します。"</string>
+    <string name="pref_privacy_clear_form_data">"フォームデータを消去"</string>
+    <string name="pref_privacy_clear_form_data_summary">"保存されているフォームデータをすべて消去します"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"保存されているフォームデータをすべて消去します。"</string>
+    <string name="pref_privacy_clear_passwords">"パスワードを消去"</string>
+    <string name="pref_privacy_clear_passwords_summary">"保存されているパスワードをすべて消去する"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"保存されているパスワードをすべて消去します。"</string>
+    <string name="pref_security_title">"セキュリティ設定"</string>
+    <string name="pref_security_remember_passwords">"パスワードを保存"</string>
+    <string name="pref_security_remember_passwords_summary">"サイトのユーザー名とパスワードを保存する"</string>
+    <string name="pref_security_save_form_data">"フォームデータを保存"</string>
+    <string name="pref_security_save_form_data_summary">"フォームに入力したデータを保存して後で呼び出せるようにする"</string>
+    <string name="pref_security_show_security_warning">"セキュリティ警告"</string>
+    <string name="pref_security_show_security_warning_summary">"サイトの安全性に問題がある場合に警告を表示する"</string>
+    <string name="pref_security_accept_cookies">"Cookieを受け入れる"</string>
+    <string name="pref_security_accept_cookies_summary">"サイトによるCookieの保存と読み取りを許可する"</string>
+    <string name="pref_text_size">"テキストサイズ"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"最小"</item>
-    <item msgid="1950030433642671460">"小"</item>
-    <item msgid="4338347520133294584">"中"</item>
-    <item msgid="5043128215356351184">"大"</item>
-    <item msgid="7201512237890458902">"最大"</item>
+    <item>"最小"</item>
+    <item>"小"</item>
+    <item>"中"</item>
+    <item>"大"</item>
+    <item>"最大"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"文字サイズ"</string>
-    <string name="pref_default_zoom" msgid="8076142259097187395">"デフォルトの倍率"</string>
-  <string-array name="pref_default_zoom_choices">
-    <item msgid="549583171195154919">"低い"</item>
-    <item msgid="5619034257768161024">"中間"</item>
-    <item msgid="3840999588443167001">"高い"</item>
-  </string-array>
-    <string name="pref_default_zoom_dialogtitle" msgid="6095974367125109021">"デフォルトの倍率"</string>
-    <string name="pref_extras_title" msgid="3091250467679722382">"詳細設定"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Gearsを有効にする"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"ブラウザの機能拡張を許可する"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Gearsの設定"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"プラグインリスト"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"プラグインはインストールされていません。"</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"ブラウザの機能を拡張するアプリケーション"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"初期設定にリセット"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"ブラウザデータをすべて消去して出荷時の初期設定に戻す"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"ブラウザデータをすべて消去して初期設定に戻します。"</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"初期設定にリセット"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"デバッグ"</string>
-    <string name="pref_default_text_encoding" msgid="5742965543955558478">"テキストエンコード"</string>
+    <string name="pref_text_size_dialogtitle">"文字サイズ"</string>
+    <!-- no translation found for pref_default_zoom (8076142259097187395) -->
+    <skip />
+    <!-- no translation found for pref_default_zoom_choices:0 (549583171195154919) -->
+    <!-- no translation found for pref_default_zoom_choices:1 (5619034257768161024) -->
+    <!-- no translation found for pref_default_zoom_choices:2 (3840999588443167001) -->
+    <!-- no translation found for pref_default_zoom_dialogtitle (6095974367125109021) -->
+    <skip />
+    <string name="pref_extras_title">"詳細設定"</string>
+    <string name="pref_extras_reset_default">"初期設定にリセット"</string>
+    <string name="pref_extras_reset_default_summary">"ブラウザデータをすべて消去して出荷時の初期設定に戻す"</string>
+    <string name="pref_extras_reset_default_dlg">"ブラウザデータをすべて消去して初期設定に戻します。"</string>
+    <string name="pref_extras_reset_default_dlg_title">"初期設定にリセット"</string>
+    <string name="pref_development_title">"デバッグ"</string>
+    <!-- no translation found for pref_default_text_encoding (5742965543955558478) -->
+    <skip />
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"日本語 (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"日本語 (Shift_JIS)"</item>
-    <item msgid="6545734186479713946">"日本語 (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"日本語 (ISO-2022-JP)"</item>
+    <item>"日本語 (Shift_JIS)"</item>
+    <item>"日本語 (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"テキストエンコード"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"SHIFT_JIS"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"リダイレクト"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"このウェブページはリダイレクトされます。入力したフォームデータをリダイレクト先に送信しますか？"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"データアクセスエラー"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"ファイルに問題があります"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"確認"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"表示しようとしているページには、送信済みのデータ (「POSTDATA」) があります。データを再送すると、以前このページのフォームで実行した操作 (検索やオンライン購入など) が繰り返されます。"</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"ネットワークに接続していません"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"接続が回復次第ページを表示します。"</string>
-    <string name="clear_history" msgid="5998307092715979619">"履歴消去"</string>
-    <string name="browser_history" msgid="2979476257919939232">"最近閲覧したページ"</string>
-    <string name="empty_history" msgid="8738772352308207274">"ブラウザ履歴はありません。"</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"現在のページをブックマーク"</string>
-    <string name="no_database" msgid="2256698896757181084">"データベースがありません。"</string>
-    <string name="search_hint" msgid="3385577802557697397">"ウェブアドレスを入力"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"移動"</string>
-    <string name="search_settings_description" msgid="1422401062529014107">"ブックマークとウェブ履歴"</string>
-    <string name="attention" msgid="3473639060042811244">"注意"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"このサイトはポップアップウィンドウを開こうとしています。"</string>
-    <string name="allow" msgid="1157313689171991335">"許可"</string>
-    <string name="block" msgid="9172175889884707800">"ブロック"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"ウィンドウの数が最大です"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"既にウィンドウの数が最大なので、新しいウィンドウを開けません。"</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"ポップアップが既に開いています"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"一度に1つのポップアップウィンドウしか開けません。"</string>
-    <string name="download_title" msgid="2122874021047565594">"ダウンロード履歴"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;不明&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"開く"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"リストから消去"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"ダウンロードをキャンセル"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"全ダウンロードをキャンセル"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"リストを消去"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"消去"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"リストの項目をすべて消去し、ブラウザのキャッシュから削除します。"</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"ダウンロードをキャンセル"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"全<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g>件のダウンロードをキャンセルし、ダウンロード履歴から消去します。"</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"容量不足です"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"<xliff:g id="FILENAME">%s</xliff:g>をダウンロードできませんでした。"\n"端末の空き領域を増やしてからやり直してください。"</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"ダウンロードに失敗しました"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"SDカードがありません"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"<xliff:g id="FILENAME">%s</xliff:g>をダウンロードするにはSDカードが必要です。"</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"SDカードは利用できません"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"SDカードは使用中です。[USBストレージをOFFにする]を選択してからダウンロードしてください。"</string>
-    <string name="download_no_application" msgid="5054596425887523234">"このファイルを開くアプリケーションがありません。"</string>
-    <string name="retry" msgid="1835923075542266721">"やり直す"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"ダウンロード履歴はありません。"</string>
-    <string name="download_error" msgid="413496839831257187">"ダウンロードできませんでした。"</string>
-    <string name="download_success" msgid="2279041638155595203">"<xliff:g id="FILE">%s</xliff:g>のダウンロードが終了しました。"</string>
-    <string name="download_running" msgid="2622942231322015059">"ダウンロード中..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"ダウンロードを開始します..."</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"ネットワークに接続しています..."</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"ネットワークに接続しています..."</string>
-    <string name="download_canceled" msgid="6057083743144492515">"ダウンロードをキャンセルしました。"</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"ダウンロードできません。この携帯電話ではサポートされていないコンテンツです。"</string>
-    <string name="download_file_error" msgid="1206648050615176113">"空き容量が不足しているため、ダウンロードを完了できません。"</string>
-    <string name="download_length_required" msgid="9038605488460437406">"項目のサイズを特定できないため、ダウンロードできません。"</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"ダウンロードが中断されました。再開できません。"</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Browser Test Runner"</string>
-    <string name="homepage_base" msgid="7888126987935305566">"http://www.google.co.jp/m?client=ms-{CID}"</string>
-    <string name="search_the_web" msgid="6046130189241962337">"ウェブを検索します"</string>
-    <string name="query_data_prompt" msgid="5474381240981604223">"保存を許可"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"このサイトは携帯電話に情報を保存しようとしています。"</string>
-    <string name="location_prompt" msgid="226262202057302423">"現在地情報にアクセス"</string>
-    <string name="location_message" msgid="1729456751935683242">"このサイトは現在地情報にアクセスしようとしています。"</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"ショートカットを作成"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"このサイトはホーム画面にこのページへのショートカットを作成しようとしています。"</string>
-    <string name="settings_message" msgid="6171686603006325199">"Gearsを使用しようとしたサイトに許可した権限は、以下の表のとおりです。"</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"ファイル選択"</string>
-    <string name="image_message" msgid="5450245866521896891">"選択した画像"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Gearsの設定"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"サイトのプライバシーポリシーを読んで、現在地の情報がどのように使用されるのか確認してください。"</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"ローカル保存を許可"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"このサイトは携帯電話に情報を保存できます"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"このサイトは携帯電話に情報を保存できません"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"現在地の検出を許可"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"このサイトは現在地情報を読み取ることができます"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"このサイトは現在地情報を読み取ることができません"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"このサイトをGearsから削除"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"設定されている権限はありません"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"このサイトを削除"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"権限をすべて消去し、このサイトが携帯電話に保存した全データを削除します。"</string>
-    <string name="storage_notification" msgid="6534213782873968255">"このサイトは携帯電話に情報を保存します。"\n"設定変更:"\n"[設定]-&gt;[Gears設定]"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"このサイトは携帯電話に情報を保存しません。"\n"設定変更:"\n"[設定]-&gt;[Gears設定]"</string>
-    <string name="location_notification" msgid="3495804750470905804">"このサイトは現在地情報にアクセスできます。"\n"設定変更:"\n"[設定]-&gt;[Gears設定]"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"このサイトは現在地情報にアクセスしません。"\n"設定変更:"\n"[設定]-&gt;[Gears設定]"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"ショートカットを作成しました"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"許可しない"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"OK"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"キャンセル"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"許可しない"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"OK"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"キャンセル"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"適用"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"キャンセル"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"OK"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"キャンセル"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"パス:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"ファイルが選択されていません"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"1ファイルが選択されています"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"ファイルが選択されています"</string>
-    <string name="remove" msgid="7820112494467011374">"削除"</string>
-    <string name="local_storage" msgid="6703332885937279085">"ローカル保存容量"</string>
-    <string name="allowed" msgid="1599514934221911624">"許可"</string>
-    <string name="denied" msgid="7470209521858372968">"拒否されました"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"不明な種類のダイアログです"</string>
-    <string name="default_button" msgid="3901922329454578908">"OK"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"全体表示"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"テキストエンコード"</string>
+    <string name="pref_default_text_encoding_default">"SHIFT_JIS"</string>
+    <string name="browserFrameRedirect">"リダイレクト"</string>
+    <string name="browserFrame307Post">"このウェブページはリダイレクトされます。入力したフォームデータをリダイレクト先に送信しますか？"</string>
+    <string name="browserFrameNetworkErrorLabel">"データアクセスエラー"</string>
+    <string name="browserFrameFileErrorLabel">"ファイルに問題があります"</string>
+    <string name="browserFrameFormResubmitLabel">"確認"</string>
+    <string name="browserFrameFormResubmitMessage">"表示しようとしているページには、送信済みのデータ (「POSTDATA」) があります。データを再送すると、以前このページのフォームで実行した操作 (検索やオンライン購入など) が繰り返されます。"</string>
+    <string name="loadSuspendedTitle">"ネットワークに接続していません"</string>
+    <string name="loadSuspended">"接続が回復次第ページを表示します。"</string>
+    <string name="clear_history">"履歴消去"</string>
+    <string name="browser_history">"最近閲覧したページ"</string>
+    <string name="empty_history">"ブラウザ履歴はありません。"</string>
+    <string name="add_new_bookmark">"現在のページをブックマーク"</string>
+    <string name="no_database">"データベースがありません。"</string>
+    <string name="search_hint">"ウェブアドレスを入力"</string>
+    <string name="search_button_text">"移動"</string>
+    <!-- no translation found for search_settings_description (1422401062529014107) -->
+    <skip />
+    <string name="attention">"注意"</string>
+    <string name="popup_window_attempt">"このサイトはポップアップウィンドウを開こうとしています。"</string>
+    <string name="allow">"許可"</string>
+    <string name="block">"ブロック"</string>
+    <string name="too_many_windows_dialog_title">"ウィンドウの数が最大です"</string>
+    <string name="too_many_windows_dialog_message">"既にウィンドウの数が最大なので、新しいウィンドウを開けません。"</string>
+    <string name="too_many_subwindows_dialog_title">"ポップアップが既に開いています"</string>
+    <string name="too_many_subwindows_dialog_message">"一度に1つのポップアップウィンドウしか開けません。"</string>
+    <string name="download_title">"ダウンロード履歴"</string>
+    <string name="download_unknown_filename">"&lt;不明&gt;"</string>
+    <string name="download_menu_open">"開く"</string>
+    <string name="download_menu_clear">"リストから消去"</string>
+    <string name="download_menu_cancel">"ダウンロードをキャンセル"</string>
+    <string name="download_menu_cancel_all">"全ダウンロードをキャンセル"</string>
+    <string name="download_menu_clear_all">"リストを消去"</string>
+    <string name="download_clear_dlg_title">"消去"</string>
+    <string name="download_clear_dlg_msg">"リストの項目をすべて消去し、ブラウザのキャッシュから削除します。"</string>
+    <string name="download_cancel_dlg_title">"ダウンロードをキャンセル"</string>
+    <string name="download_cancel_dlg_msg">"全<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g>件のダウンロードをキャンセルし、ダウンロード履歴から消去します。"</string>
+    <string name="download_file_error_dlg_title">"容量不足です"</string>
+    <string name="download_file_error_dlg_msg">"<xliff:g id="FILENAME">%s</xliff:g>をダウンロードできませんでした。"\n"端末の空き領域を増やしてからやり直してください。"</string>
+    <string name="download_failed_generic_dlg_title">"ダウンロードに失敗しました"</string>
+    <string name="download_no_sdcard_dlg_title">"SDカードがありません"</string>
+    <string name="download_no_sdcard_dlg_msg">"<xliff:g id="FILENAME">%s</xliff:g>をダウンロードするにはSDカードが必要です。"</string>
+    <string name="download_sdcard_busy_dlg_title">"SDカードは利用できません"</string>
+    <string name="download_sdcard_busy_dlg_msg">"SDカードは使用中です。[USBストレージをOFFにする]を選択してからダウンロードしてください。"</string>
+    <string name="download_no_application">"このファイルを開くアプリケーションがありません。"</string>
+    <string name="retry">"やり直す"</string>
+    <string name="no_downloads">"ダウンロード履歴はありません。"</string>
+    <string name="download_error">"ダウンロードできませんでした。"</string>
+    <string name="download_success">"<xliff:g id="FILE">%s</xliff:g>のダウンロードが終了しました。"</string>
+    <string name="download_running">"ダウンロード中..."</string>
+    <string name="download_pending">"ダウンロードを開始します..."</string>
+    <string name="download_pending_network">"ネットワークに接続しています..."</string>
+    <string name="download_running_paused">"ネットワークに接続しています..."</string>
+    <string name="download_canceled">"ダウンロードをキャンセルしました。"</string>
+    <string name="download_not_acceptable">"ダウンロードできません。この携帯電話ではサポートされていないコンテンツです。"</string>
+    <string name="download_file_error">"空き容量が不足しているため、ダウンロードを完了できません。"</string>
+    <string name="download_length_required">"項目のサイズを特定できないため、ダウンロードできません。"</string>
+    <string name="download_precondition_failed">"ダウンロードが中断されました。再開できません。"</string>
+    <string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
+    <!-- no translation found for homepage_base (7888126987935305566) -->
+    <skip />
+    <!-- no translation found for search_the_web (6046130189241962337) -->
+    <skip />
+    <string name="zoom_overview_button_text">"全体表示"</string>
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index cbb9945..3bc1f6a 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -15,151 +15,151 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"브라우저"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"북마크"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"최다 방문 웹사이트"</string>
-    <string name="tab_history" msgid="1979267558744613746">"기록"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"북마크에 추가되었습니다."</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"북마크에서 삭제됨"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"<xliff:g id="HOSTNAME">%s1</xliff:g> \'<xliff:g id="REALM">%s2</xliff:g>\'에 로그인"</string>
-    <string name="username" msgid="5057566336518215922">"이름"</string>
-    <string name="password" msgid="1177138552305184404">"비밀번호"</string>
-    <string name="action" msgid="183105774472071343">"로그인"</string>
+    <string name="application_name">"브라우저"</string>
+    <string name="tab_bookmarks">"북마크"</string>
+    <string name="tab_most_visited">"최다 방문 웹사이트"</string>
+    <string name="tab_history">"기록"</string>
+    <string name="added_to_bookmarks">"북마크에 추가되었습니다."</string>
+    <string name="removed_from_bookmarks">"북마크에서 삭제됨"</string>
+    <string name="sign_in_to">"<xliff:g id="HOSTNAME">%s1</xliff:g> \'<xliff:g id="REALM">%s2</xliff:g>\'에 로그인"</string>
+    <string name="username">"이름"</string>
+    <string name="password">"비밀번호"</string>
+    <string name="action">"로그인"</string>
     <!-- no translation found for bookmarks_search (5229596268214362873) -->
     <skip />
-    <string name="cancel" msgid="3017274947407233702">"취소"</string>
-    <string name="ok" msgid="1509280796718850364">"확인"</string>
+    <string name="cancel">"취소"</string>
+    <string name="ok">"확인"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"검색결과 없음"</item>
-    <item quantity="one" msgid="4352019729062956802">"검색결과 1개"</item>
-    <item quantity="few" msgid="5544267486978946555">"검색결과 <xliff:g id="NUMBER">%d</xliff:g>개"</item>
-    <item quantity="other" msgid="6616125067364315405">"검색결과 <xliff:g id="NUMBER">%d</xliff:g>개"</item>
+    <item quantity="zero">"검색결과 없음"</item>
+    <item quantity="one">"검색결과 1개"</item>
+    <item quantity="few">"검색결과 <xliff:g id="NUMBER">%d</xliff:g>개"</item>
+    <item quantity="other">"검색결과 <xliff:g id="NUMBER">%d</xliff:g>개"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"페이지 정보"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"페이지 정보 보기"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"주소:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"사이트의 보안 인증서에 문제가 있습니다."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"계속"</string>
-    <string name="security_warning" msgid="6607795404322797541">"보안 경고"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"인증서 보기"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"신뢰할 수 있는 인증 기관에서 발급한 인증서가 아닙니다."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"사이트 이름이 인증서에 있는 것과 일치하지 않습니다."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"인증서가 만료되었습니다."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"인증서가 아직 유효하지 않습니다."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"보안 인증서"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"유효한 인증서입니다."</string>
-    <string name="issued_to" msgid="9032338008819841339">"발급 대상:"</string>
-    <string name="common_name" msgid="5745530093500062357">"일반 이름:"</string>
-    <string name="org_name" msgid="8868889052889991293">"조직:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"조직 구성 단위:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"발급 기관:"</string>
-    <string name="validity_period" msgid="57988851973181309">"유효성:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"발급 날짜:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"만료 날짜:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"로그인 세부정보를 가져오는 중..."</string>
-    <string name="stopping" msgid="4839698519340302982">"중지하는 중..."</string>
-    <string name="stop" msgid="5687251076030630074">"중지"</string>
-    <string name="reload" msgid="8585220783228408062">"새로고침"</string>
-    <string name="forward" msgid="4288210890526641577">"앞으로"</string>
-    <string name="save" msgid="5922311934992468496">"확인"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"취소"</string>
-    <string name="location" msgid="969988560160364559">"위치"</string>
-    <string name="name" msgid="5990326151488445481">"이름"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"북마크"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"북마크 수정"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"홈에 바로가기 추가"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"열기"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"북마크 삭제"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"기록에서 삭제"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"북마크에 저장되었습니다."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"북마크의 이름을 입력해야 합니다."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"북마크의 위치를 입력해야 합니다."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"빈 북마크를 만들 수 없습니다."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"URL이 유효하지 않습니다."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"삭제"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"마지막으로 본 페이지를 북마크 설정"</string>
-    <string name="current_page" msgid="7510129573681663135">"북마크할 페이지 "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"\'<xliff:g id="BOOKMARK">%s</xliff:g>\' 북마크가 삭제됩니다."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"새 창에서 열기"</string>
-    <string name="new_window" msgid="8117889615360211551">"새 창"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"실행"</string>
-    <string name="find_dot" msgid="6259312434696611957">"페이지에서 찾기"</string>
-    <string name="select_dot" msgid="6299170761900561967">"텍스트 선택"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"창 전체보기"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"창"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"현재 창"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"보기"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"새 창"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"닫기"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"북마크"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"링크 공유"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"북마크"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"북마크"</string>
-    <string name="history" msgid="2451240511251410032">"기록"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"다운로드"</string>
-    <string name="share_page" msgid="593756995297268343">"페이지 공유"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"열기"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"새 창에서 열기"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"링크를 북마크에 추가"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"링크 저장"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"링크 공유"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"복사"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"링크 URL 복사"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"이미지 저장"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"이미지 보기"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"전화 걸기..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"연락처 추가"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"이메일 보내기"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"지도"</string>
-    <string name="clear" msgid="7070043081700011461">"지우기"</string>
-    <string name="replace" msgid="4843033491070384047">"교체"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"북마크"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"설정"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"페이지 콘텐츠 설정"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"이미지 로드"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"웹페이지에 이미지 표시"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"팝업 창 차단"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"자바스크립트 사용"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"백그라운드에서 열기"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"현재 창 뒤에 새 창이 열림"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"홈페이지 설정"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"페이지 자동 맞춤"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"화면에 맞게 웹페이지 형식 지정"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"개인정보 설정"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"캐시 지우기"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"캐시된 모든 페이지 콘텐츠 삭제"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"캐시가 지워집니다."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"모든 쿠키 데이터 지우기"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"모든 브라우저 쿠키 지우기"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"모든 쿠키가 지워집니다."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"기록 지우기"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"브라우저 탐색 기록 지우기"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"브라우저 탐색 기록이 지워집니다."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"양식 데이터 지우기"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"저장된 양식 데이터 모두 지우기"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"저장된 양식 데이터가 모두 지워집니다."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"비밀번호 지우기"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"저장된 모든 비밀번호 지우기"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"저장된 비밀번호가 모두 지워집니다."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"보안 설정"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"비밀번호 기억"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"웹사이트의 사용자 이름 및 비밀번호 저장"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"양식 데이터 기억"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"나중에 사용할 수 있도록 양식에 입력한 데이터 기억"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"보안 경고 표시"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"사이트 보안 관련 문제가 있는 경우 경고 표시"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"쿠키 허용"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"사이트에서 \'쿠키\' 데이터 저장 및 읽기 허용"</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"텍스트 크기"</string>
+    <string name="page_info">"페이지 정보"</string>
+    <string name="page_info_view">"페이지 정보 보기"</string>
+    <string name="page_info_address">"주소:"</string>
+    <string name="ssl_warnings_header">"사이트의 보안 인증서에 문제가 있습니다."</string>
+    <string name="ssl_continue">"계속"</string>
+    <string name="security_warning">"보안 경고"</string>
+    <string name="view_certificate">"인증서 보기"</string>
+    <string name="ssl_untrusted">"신뢰할 수 있는 인증 기관에서 발급한 인증서가 아닙니다."</string>
+    <string name="ssl_mismatch">"사이트 이름이 인증서에 있는 것과 일치하지 않습니다."</string>
+    <string name="ssl_expired">"인증서가 만료되었습니다."</string>
+    <string name="ssl_not_yet_valid">"인증서가 아직 유효하지 않습니다."</string>
+    <string name="ssl_certificate">"보안 인증서"</string>
+    <string name="ssl_certificate_is_valid">"유효한 인증서입니다."</string>
+    <string name="issued_to">"발급 대상:"</string>
+    <string name="common_name">"일반 이름:"</string>
+    <string name="org_name">"조직:"</string>
+    <string name="org_unit">"조직 구성 단위:"</string>
+    <string name="issued_by">"발급 기관:"</string>
+    <string name="validity_period">"유효성:"</string>
+    <string name="issued_on">"발급 날짜:"</string>
+    <string name="expires_on">"만료 날짜:"</string>
+    <string name="retrieving_creds_dlg_msg">"로그인 세부정보를 가져오는 중..."</string>
+    <string name="stopping">"중지하는 중..."</string>
+    <string name="stop">"중지"</string>
+    <string name="reload">"새로고침"</string>
+    <string name="forward">"앞으로"</string>
+    <string name="save">"확인"</string>
+    <string name="do_not_save">"취소"</string>
+    <string name="location">"위치"</string>
+    <string name="name">"이름"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"북마크"</string>
+    <string name="edit_bookmark">"북마크 수정"</string>
+    <string name="create_shortcut_bookmark">"홈에 바로가기 추가"</string>
+    <string name="open_bookmark">"열기"</string>
+    <string name="remove_bookmark">"북마크 삭제"</string>
+    <string name="remove_history_item">"기록에서 삭제"</string>
+    <string name="bookmark_saved">"북마크에 저장되었습니다."</string>
+    <string name="bookmark_needs_title">"북마크의 이름을 입력해야 합니다."</string>
+    <string name="bookmark_needs_url">"북마크의 위치를 입력해야 합니다."</string>
+    <string name="empty_bookmark">"빈 북마크를 만들 수 없습니다."</string>
+    <string name="bookmark_url_not_valid">"URL이 유효하지 않습니다."</string>
+    <string name="delete_bookmark">"삭제"</string>
+    <string name="bookmark_page">"마지막으로 본 페이지를 북마크 설정"</string>
+    <string name="current_page">"북마크할 페이지 "</string>
+    <string name="delete_bookmark_warning">"\'<xliff:g id="BOOKMARK">%s</xliff:g>\' 북마크가 삭제됩니다."</string>
+    <string name="open_in_new_window">"새 창에서 열기"</string>
+    <string name="new_window">"새 창"</string>
+    <string name="goto_dot">"실행"</string>
+    <string name="find_dot">"페이지에서 찾기"</string>
+    <string name="select_dot">"텍스트 선택"</string>
+    <string name="view_tabs">"창 전체보기"</string>
+    <string name="view_tabs_condensed">"창"</string>
+    <string name="tab_picker_title">"현재 창"</string>
+    <string name="tab_picker_view_tab">"보기"</string>
+    <string name="tab_picker_new_tab">"새 창"</string>
+    <string name="tab_picker_remove_tab">"닫기"</string>
+    <string name="tab_picker_bookmark">"북마크"</string>
+    <string name="tab_picker_send_url">"링크 공유"</string>
+    <string name="bookmarks">"북마크"</string>
+    <string name="shortcut_bookmark">"북마크"</string>
+    <string name="history">"기록"</string>
+    <string name="menu_view_download">"다운로드"</string>
+    <string name="share_page">"페이지 공유"</string>
+    <string name="contextmenu_openlink">"열기"</string>
+    <string name="contextmenu_openlink_newwindow">"새 창에서 열기"</string>
+    <string name="contextmenu_bookmark_thislink">"링크를 북마크에 추가"</string>
+    <string name="contextmenu_savelink">"링크 저장"</string>
+    <string name="contextmenu_sharelink">"링크 공유"</string>
+    <string name="contextmenu_copy">"복사"</string>
+    <string name="contextmenu_copylink">"링크 URL 복사"</string>
+    <string name="contextmenu_download_image">"이미지 저장"</string>
+    <string name="contextmenu_view_image">"이미지 보기"</string>
+    <string name="contextmenu_dial_dot">"전화 걸기..."</string>
+    <string name="contextmenu_add_contact">"연락처 추가"</string>
+    <string name="contextmenu_send_mail">"이메일 보내기"</string>
+    <string name="contextmenu_map">"지도"</string>
+    <string name="clear">"지우기"</string>
+    <string name="replace">"교체"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"북마크"</string>
+    <string name="menu_preferences">"설정"</string>
+    <string name="pref_content_title">"페이지 콘텐츠 설정"</string>
+    <string name="pref_content_load_images">"이미지 로드"</string>
+    <string name="pref_content_load_images_summary">"웹페이지에 이미지 표시"</string>
+    <string name="pref_content_block_popups">"팝업 창 차단"</string>
+    <string name="pref_content_javascript">"자바스크립트 사용"</string>
+    <string name="pref_content_open_in_background">"백그라운드에서 열기"</string>
+    <string name="pref_content_open_in_background_summary">"현재 창 뒤에 새 창이 열림"</string>
+    <string name="pref_content_homepage">"홈페이지 설정"</string>
+    <string name="pref_content_autofit">"페이지 자동 맞춤"</string>
+    <string name="pref_content_autofit_summary">"화면에 맞게 웹페이지 형식 지정"</string>
+    <string name="pref_privacy_title">"개인정보 설정"</string>
+    <string name="pref_privacy_clear_cache">"캐시 지우기"</string>
+    <string name="pref_privacy_clear_cache_summary">"캐시된 모든 페이지 콘텐츠 삭제"</string>
+    <string name="pref_privacy_clear_cache_dlg">"캐시가 지워집니다."</string>
+    <string name="pref_privacy_clear_cookies">"모든 쿠키 데이터 지우기"</string>
+    <string name="pref_privacy_clear_cookies_summary">"모든 브라우저 쿠키 지우기"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"모든 쿠키가 지워집니다."</string>
+    <string name="pref_privacy_clear_history">"기록 지우기"</string>
+    <string name="pref_privacy_clear_history_summary">"브라우저 탐색 기록 지우기"</string>
+    <string name="pref_privacy_clear_history_dlg">"브라우저 탐색 기록이 지워집니다."</string>
+    <string name="pref_privacy_clear_form_data">"양식 데이터 지우기"</string>
+    <string name="pref_privacy_clear_form_data_summary">"저장된 양식 데이터 모두 지우기"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"저장된 양식 데이터가 모두 지워집니다."</string>
+    <string name="pref_privacy_clear_passwords">"비밀번호 지우기"</string>
+    <string name="pref_privacy_clear_passwords_summary">"저장된 모든 비밀번호 지우기"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"저장된 비밀번호가 모두 지워집니다."</string>
+    <string name="pref_security_title">"보안 설정"</string>
+    <string name="pref_security_remember_passwords">"비밀번호 기억"</string>
+    <string name="pref_security_remember_passwords_summary">"웹사이트의 사용자 이름 및 비밀번호 저장"</string>
+    <string name="pref_security_save_form_data">"양식 데이터 기억"</string>
+    <string name="pref_security_save_form_data_summary">"나중에 사용할 수 있도록 양식에 입력한 데이터 기억"</string>
+    <string name="pref_security_show_security_warning">"보안 경고 표시"</string>
+    <string name="pref_security_show_security_warning_summary">"사이트 보안 관련 문제가 있는 경우 경고 표시"</string>
+    <string name="pref_security_accept_cookies">"쿠키 허용"</string>
+    <string name="pref_security_accept_cookies_summary">"사이트에서 \'쿠키\' 데이터 저장 및 읽기 허용"</string>
+    <string name="pref_text_size">"텍스트 크기"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"아주 작게"</item>
-    <item msgid="1950030433642671460">"작게"</item>
-    <item msgid="4338347520133294584">"보통"</item>
-    <item msgid="5043128215356351184">"크게"</item>
-    <item msgid="7201512237890458902">"아주 크게"</item>
+    <item>"아주 작게"</item>
+    <item>"작게"</item>
+    <item>"보통"</item>
+    <item>"크게"</item>
+    <item>"아주 크게"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"텍스트 크기"</string>
+    <string name="pref_text_size_dialogtitle">"텍스트 크기"</string>
     <!-- no translation found for pref_default_zoom (8076142259097187395) -->
     <skip />
     <!-- no translation found for pref_default_zoom_choices:0 (549583171195154919) -->
@@ -167,136 +167,84 @@
     <!-- no translation found for pref_default_zoom_choices:2 (3840999588443167001) -->
     <!-- no translation found for pref_default_zoom_dialogtitle (6095974367125109021) -->
     <skip />
-    <string name="pref_extras_title" msgid="3091250467679722382">"고급 설정"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Gears 사용"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"브라우저 기능을 확장하는 응용프로그램"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Gears 설정"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"플러그인 목록"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"설치된 플러그인이 없습니다."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"브라우저 기능을 확장하는 응용프로그램"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"기본값으로 재설정"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"모든 브라우저 데이터를 지우고 모든 설정을 기본값으로 재설정"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"모든 브라우저 데이터가 지워지고 설정이 기본값으로 돌아갑니다."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"기본값으로 재설정"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"디버그"</string>
+    <string name="pref_extras_title">"고급 설정"</string>
+    <string name="pref_extras_reset_default">"기본값으로 재설정"</string>
+    <string name="pref_extras_reset_default_summary">"모든 브라우저 데이터를 지우고 모든 설정을 기본값으로 재설정"</string>
+    <string name="pref_extras_reset_default_dlg">"모든 브라우저 데이터가 지워지고 설정이 기본값으로 돌아갑니다."</string>
+    <string name="pref_extras_reset_default_dlg_title">"기본값으로 재설정"</string>
+    <string name="pref_development_title">"디버그"</string>
     <!-- no translation found for pref_default_text_encoding (5742965543955558478) -->
     <skip />
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"라틴어-1(ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"유니코드(UTF-8)"</item>
-    <item msgid="7143715548814380950">"일본어(ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"일본어(SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"일본어(EUC-JP)"</item>
+    <item>"라틴어-1(ISO-8859-1)"</item>
+    <item>"유니코드(UTF-8)"</item>
+    <item>"일본어(ISO-2022-JP)"</item>
+    <item>"일본어(SHIFT_JIS)"</item>
+    <item>"일본어(EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"텍스트 인코딩"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"라틴어-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"리디렉션"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"웹페이지가 리디렉션됩니다. 입력한 양식 데이터를 새 위치로 다시 보내시겠습니까?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"데이터 연결에 문제 발생"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"파일 문제 발생"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"확인"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"보려는 페이지에 이미 제출된 데이터(\'POSTDATA\')가 있습니다. 해당 데이터를 다시 보내면 페이지의 양식에서 수행한 작업(예: 검색 또는 온라인 구매)이 반복됩니다."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"네트워크 연결 없음"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"연결이 복원된 후에 페이지 로드가 계속됩니다."</string>
-    <string name="clear_history" msgid="5998307092715979619">"기록 지우기"</string>
-    <string name="browser_history" msgid="2979476257919939232">"최근에 방문한 페이지"</string>
-    <string name="empty_history" msgid="8738772352308207274">"브라우저 기록이 비어 있습니다."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"북마크에 추가..."</string>
-    <string name="no_database" msgid="2256698896757181084">"데이터베이스가 없습니다."</string>
-    <string name="search_hint" msgid="3385577802557697397">"웹 주소 입력"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"이동"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"텍스트 인코딩"</string>
+    <string name="pref_default_text_encoding_default">"라틴어-1"</string>
+    <string name="browserFrameRedirect">"리디렉션"</string>
+    <string name="browserFrame307Post">"웹페이지가 리디렉션됩니다. 입력한 양식 데이터를 새 위치로 다시 보내시겠습니까?"</string>
+    <string name="browserFrameNetworkErrorLabel">"데이터 연결에 문제 발생"</string>
+    <string name="browserFrameFileErrorLabel">"파일 문제 발생"</string>
+    <string name="browserFrameFormResubmitLabel">"확인"</string>
+    <string name="browserFrameFormResubmitMessage">"보려는 페이지에 이미 제출된 데이터(\'POSTDATA\')가 있습니다. 해당 데이터를 다시 보내면 페이지의 양식에서 수행한 작업(예: 검색 또는 온라인 구매)이 반복됩니다."</string>
+    <string name="loadSuspendedTitle">"네트워크 연결 없음"</string>
+    <string name="loadSuspended">"연결이 복원된 후에 페이지 로드가 계속됩니다."</string>
+    <string name="clear_history">"기록 지우기"</string>
+    <string name="browser_history">"최근에 방문한 페이지"</string>
+    <string name="empty_history">"브라우저 기록이 비어 있습니다."</string>
+    <string name="add_new_bookmark">"북마크에 추가..."</string>
+    <string name="no_database">"데이터베이스가 없습니다."</string>
+    <string name="search_hint">"웹 주소 입력"</string>
+    <string name="search_button_text">"이동"</string>
     <!-- no translation found for search_settings_description (1422401062529014107) -->
     <skip />
-    <string name="attention" msgid="3473639060042811244">"주의"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"사이트에서 팝업 창을 열려고 합니다."</string>
-    <string name="allow" msgid="1157313689171991335">"허용"</string>
-    <string name="block" msgid="9172175889884707800">"차단"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"창 개수 한도에 도달"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"이미 최대 개수의 창을 열었기 때문에 새 창을 열 수 없습니다."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"팝업이 이미 열려 있음"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"한 번에 하나만 열 수 있으므로 새 팝업 창을 열 수 없습니다."</string>
-    <string name="download_title" msgid="2122874021047565594">"다운로드 기록"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;알 수 없음&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"열기"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"목록에서 지우기"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"다운로드 취소"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"모든 다운로드 취소"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"목록 지우기"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"지우기"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"목록에서 모든 항목이 지워지고 브라우저 캐시에서 삭제됩니다."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"다운로드 취소"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g>개의 다운로드가 모두 취소되고 다운로드 기록에서 지워집니다."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"여유 공간이 없음"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"<xliff:g id="FILENAME">%s</xliff:g>을(를) 다운로드할 수 없습니다."\n"휴대전화에서 여유 공간을 늘린 후에 다시 시도하세요."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"다운로드 실패"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"SD 카드 없음"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"<xliff:g id="FILENAME">%s</xliff:g>을(를) 다운로드하려면 SD 카드가 필요합니다."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"SD 카드를 사용할 수 없음"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"SD 카드가 사용 중입니다. 다운로드를 허용하려면 알림에서 \'USB 저장소 끄기\'를 선택하세요."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"이 파일을 열 수 있는 응용프로그램을 찾을 수 없습니다."</string>
-    <string name="retry" msgid="1835923075542266721">"다시 시도"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"다운로드 기록이 비어 있습니다."</string>
-    <string name="download_error" msgid="413496839831257187">"다운로드에 실패했습니다."</string>
-    <string name="download_success" msgid="2279041638155595203">"<xliff:g id="FILE">%s</xliff:g> 다운로드가 완료되었습니다."</string>
-    <string name="download_running" msgid="2622942231322015059">"다운로드 중..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"다운로드 시작 중..."</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"데이터 연결 대기 중..."</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"데이터 연결을 기다리는 중..."</string>
-    <string name="download_canceled" msgid="6057083743144492515">"다운로드가 취소되었습니다."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"휴대전화에서 지원하지 않는 콘텐츠이므로 다운로드할 수 없습니다."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"저장 용량이 부족하여 다운로드를 완료할 수 없습니다."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"항목의 크기를 확인할 수 없으므로 다운로드할 수 없습니다."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"다운로드가 중단되었으며 다시 시작할 수 없습니다."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"브라우저 테스트 실행기"</string>
+    <string name="attention">"주의"</string>
+    <string name="popup_window_attempt">"사이트에서 팝업 창을 열려고 합니다."</string>
+    <string name="allow">"허용"</string>
+    <string name="block">"차단"</string>
+    <string name="too_many_windows_dialog_title">"창 개수 한도에 도달"</string>
+    <string name="too_many_windows_dialog_message">"이미 최대 개수의 창을 열었기 때문에 새 창을 열 수 없습니다."</string>
+    <string name="too_many_subwindows_dialog_title">"팝업이 이미 열려 있음"</string>
+    <string name="too_many_subwindows_dialog_message">"한 번에 하나만 열 수 있으므로 새 팝업 창을 열 수 없습니다."</string>
+    <string name="download_title">"다운로드 기록"</string>
+    <string name="download_unknown_filename">"&lt;알 수 없음&gt;"</string>
+    <string name="download_menu_open">"열기"</string>
+    <string name="download_menu_clear">"목록에서 지우기"</string>
+    <string name="download_menu_cancel">"다운로드 취소"</string>
+    <string name="download_menu_cancel_all">"모든 다운로드 취소"</string>
+    <string name="download_menu_clear_all">"목록 지우기"</string>
+    <string name="download_clear_dlg_title">"지우기"</string>
+    <string name="download_clear_dlg_msg">"목록에서 모든 항목이 지워지고 브라우저 캐시에서 삭제됩니다."</string>
+    <string name="download_cancel_dlg_title">"다운로드 취소"</string>
+    <string name="download_cancel_dlg_msg">"<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g>개의 다운로드가 모두 취소되고 다운로드 기록에서 지워집니다."</string>
+    <string name="download_file_error_dlg_title">"여유 공간이 없음"</string>
+    <string name="download_file_error_dlg_msg">"<xliff:g id="FILENAME">%s</xliff:g>을(를) 다운로드할 수 없습니다."\n"휴대전화에서 여유 공간을 늘린 후에 다시 시도하세요."</string>
+    <string name="download_failed_generic_dlg_title">"다운로드 실패"</string>
+    <string name="download_no_sdcard_dlg_title">"SD 카드 없음"</string>
+    <string name="download_no_sdcard_dlg_msg">"<xliff:g id="FILENAME">%s</xliff:g>을(를) 다운로드하려면 SD 카드가 필요합니다."</string>
+    <string name="download_sdcard_busy_dlg_title">"SD 카드를 사용할 수 없음"</string>
+    <string name="download_sdcard_busy_dlg_msg">"SD 카드가 사용 중입니다. 다운로드를 허용하려면 알림에서 \'USB 저장소 끄기\'를 선택하세요."</string>
+    <string name="download_no_application">"이 파일을 열 수 있는 응용프로그램을 찾을 수 없습니다."</string>
+    <string name="retry">"다시 시도"</string>
+    <string name="no_downloads">"다운로드 기록이 비어 있습니다."</string>
+    <string name="download_error">"다운로드에 실패했습니다."</string>
+    <string name="download_success">"<xliff:g id="FILE">%s</xliff:g> 다운로드가 완료되었습니다."</string>
+    <string name="download_running">"다운로드 중..."</string>
+    <string name="download_pending">"다운로드 시작 중..."</string>
+    <string name="download_pending_network">"데이터 연결 대기 중..."</string>
+    <string name="download_running_paused">"데이터 연결을 기다리는 중..."</string>
+    <string name="download_canceled">"다운로드가 취소되었습니다."</string>
+    <string name="download_not_acceptable">"휴대전화에서 지원하지 않는 콘텐츠이므로 다운로드할 수 없습니다."</string>
+    <string name="download_file_error">"저장 용량이 부족하여 다운로드를 완료할 수 없습니다."</string>
+    <string name="download_length_required">"항목의 크기를 확인할 수 없으므로 다운로드할 수 없습니다."</string>
+    <string name="download_precondition_failed">"다운로드가 중단되었으며 다시 시작할 수 없습니다."</string>
+    <string name="activity_instrumentation_test_runner">"브라우저 테스트 실행기"</string>
     <!-- no translation found for homepage_base (7888126987935305566) -->
     <skip />
     <!-- no translation found for search_the_web (6046130189241962337) -->
     <skip />
-    <string name="query_data_prompt" msgid="5474381240981604223">"저장소 허용"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"웹사이트에서 휴대전화에 정보를 저장하려고 합니다."</string>
-    <string name="location_prompt" msgid="226262202057302423">"사용자 위치에 액세스"</string>
-    <string name="location_message" msgid="1729456751935683242">"웹사이트가 사용자의 위치에 액세스하려고 합니다."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"바로가기 만들기"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"웹사이트가 홈 화면에 이 페이지의 바로가기를 만들려고 합니다."</string>
-    <string name="settings_message" msgid="6171686603006325199">"아래 표는 Gears를 사용하려는 각 사이트에 부여된 권한을 보여줍니다."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"파일 선택기"</string>
-    <string name="image_message" msgid="5450245866521896891">"선택한 이미지"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Gears 설정"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"위치가 어떻게 사용되는지 보려면 사이트의 개인정보 보호정책을 읽어보세요."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"로컬 저장소 허용"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"사이트에서 휴대전화에 정보를 저장할 수 있습니다."</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"사이트에서 휴대전화에 정보를 저장할 수 없습니다."</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"위치 확인 허용"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"사이트에서 사용자의 현재 위치를 읽을 수 있습니다."</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"사이트에서 사용자의 현재 위치를 읽을 수 없습니다."</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Gears에서 사이트 삭제"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"설정된 권한이 없습니다."</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"사이트 삭제"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"모든 권한이 지워지고 사이트에서 휴대전화에 저장한 모든 데이터가 삭제됩니다."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"사이트에서 휴대전화에 정보를 저장합니다."\n" 설정을 변경하려면"\n" 설정 -&gt; Gears 설정으로 이동하세요."</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"사이트에서 휴대전화에 정보를 저장하지 않습니다."\n" 설정을 변경하려면"\n"설정 -&gt; Gears 설정으로 이동하세요."</string>
-    <string name="location_notification" msgid="3495804750470905804">"사이트에서 사용자의 현재 위치에 액세스할 수 있습니다."\n" 설정을 변경하려면"\n" 설정 -&gt; Gears 설정으로 이동하세요."</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"사이트에서 사용자의 현재 위치에 액세스하지 않습니다."\n" 설정을 변경하려면"\n" 설정 -&gt; Gears 설정으로 이동하세요."</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"바로가기 생성됨"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"허용 안함"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"확인"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"취소"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"허용 안함"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"확인"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"취소"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"적용"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"취소"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"확인"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"취소"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"경로:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"선택한 파일 없음"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"하나의 파일이 선택됨"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"파일을 선택함"</string>
-    <string name="remove" msgid="7820112494467011374">"삭제"</string>
-    <string name="local_storage" msgid="6703332885937279085">"로컬 저장소"</string>
-    <string name="allowed" msgid="1599514934221911624">"허용됨"</string>
-    <string name="denied" msgid="7470209521858372968">"거부됨"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"인식할 수 없는 대화 유형"</string>
-    <string name="default_button" msgid="3901922329454578908">"확인"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"전체보기"</string>
+    <string name="zoom_overview_button_text">"전체보기"</string>
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index e6e604d..47b08f6 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -15,152 +15,152 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"nettleser"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Bokmerker"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Mest besøkt"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Logg"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Lagt til bokmerker"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Fjernet fra bokmerker"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Logg på <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
-    <string name="username" msgid="5057566336518215922">"Brukernavn"</string>
-    <string name="password" msgid="1177138552305184404">"Passord"</string>
-    <string name="action" msgid="183105774472071343">"Logg på"</string>
+    <string name="application_name">"Nettleser"</string>
+    <string name="tab_bookmarks">"Bokmerker"</string>
+    <string name="tab_most_visited">"Mest besøkt"</string>
+    <string name="tab_history">"Historie"</string>
+    <string name="added_to_bookmarks">"Lagt til bokmerker"</string>
+    <string name="removed_from_bookmarks">"Fjernet fra bokmerker"</string>
+    <string name="sign_in_to">"Logg inn på <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
+    <string name="username">"Brukernavn"</string>
+    <string name="password">"Passord"</string>
+    <string name="action">"Logg inn"</string>
     <!-- no translation found for bookmarks_search (5229596268214362873) -->
     <skip />
-    <string name="cancel" msgid="3017274947407233702">"Avbryt"</string>
-    <string name="ok" msgid="1509280796718850364">"OK"</string>
+    <string name="cancel">"Avbryt"</string>
+    <string name="ok">"OK"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Ingen treff"</item>
-    <item quantity="one" msgid="4352019729062956802">"Ett treff"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> treff"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> treff"</item>
+    <item quantity="zero">"Ingen treff"</item>
+    <item quantity="one">"Ett treff"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> treff"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> treff"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Sideinfo"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Vis sideinformasjon"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Adresse:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Det er problemer med sikkerhetssertifikatet for denne siden."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Fortsett"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Sikkerhetsadvarsel"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Vis sertifikat"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Dette sertifikatet er ikke fra en autoritet du stoler på."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"Navnet på siden stemmer ikke med navnet på sertifikatet."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Sertifikatet er utløpt."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Sertifikatet er ikke gyldig ennå."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Sikkerhetssertifikat"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Sertifikatet er gyldig."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Utstedt til:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Ordinært navn:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Organisasjon:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Organisasjonsenhet:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Utstedt av:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Gyldighet:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Utstedt:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Utløper den:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Henter påloggingsinformasjon…"</string>
-    <string name="stopping" msgid="4839698519340302982">"Avbryter…"</string>
-    <string name="stop" msgid="5687251076030630074">"Avbryt"</string>
-    <string name="reload" msgid="8585220783228408062">"Oppdater"</string>
-    <string name="forward" msgid="4288210890526641577">"Fremover"</string>
-    <string name="save" msgid="5922311934992468496">"OK"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Avbryt"</string>
-    <string name="location" msgid="969988560160364559">"Adresse"</string>
-    <string name="name" msgid="5990326151488445481">"Navn"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Bokmerke"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Rediger bokmerke"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Lag snarvei på skrivebordet"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Åpne"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Slett bokmerke"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Fjern fra loggen"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Bokmerke lagret."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"Bokmerket må ha et navn."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"Bokmerket må ha en adresse."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Kan ikke opprette tomt bokmerke."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"Ugyldig nettadresse"</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Slett"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Bokmerk sist viste side"</string>
-    <string name="current_page" msgid="7510129573681663135">"fra "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"Bokmerket \"<xliff:g id="BOOKMARK">%s</xliff:g>\" vil bli slettet."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Åpne i nytt vindu"</string>
-    <string name="new_window" msgid="8117889615360211551">"Nytt vindu"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Gå til"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Finn på siden"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Velg tekst"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Vindusoversikt"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Vinduer"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Gjeldende vinduer"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Vis"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Nytt vindu"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Lukk"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Legg til bokmerke"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Del kobling"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Bokmerker"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Bokmerk"</string>
-    <string name="history" msgid="2451240511251410032">"Logg"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Nedlastinger"</string>
-    <string name="share_page" msgid="593756995297268343">"Del side"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Åpne"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Åpne i nytt vindu"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Bokmerk kobling"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Lagre kobling"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Del kobling"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Kopier"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Kopier lenke-URL"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Lagre bilde"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Vis bilde"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Ring…"</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Legg til kontakt"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"Send e-post"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Kart"</string>
-    <string name="clear" msgid="7070043081700011461">"Nullstill"</string>
-    <string name="replace" msgid="4843033491070384047">"Erstatt"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Bokmerker"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Innstillinger"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Innstillinger sideinnhold"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Last bilder"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Vis bilder på nettsider"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Blokker popup-vinduer"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"Aktiver JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Åpne i bakgrunnen"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Nye vinduer åpnes bak det gjeldende"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Angi startside"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Tilpass sider automatisk"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Tilpass nettsider til skjermen"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Personvernsinnstillinger"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Fjern hurtiglager"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Slett alt hurtiglagret nettinnhold"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"Hurtiglageret vil tømmes."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Fjern alle infokapsler"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Fjern alle informasjonskapsler"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Alle informasjonskapsler vil bli slettet."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Slett loggen"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Slett navigeringsloggen"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"Nettleserens navigeringslogg vil bli slettet."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Fjern skjemadata"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Slett alle lagrede skjemadata"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Alle lagrede skjemadata vil bli slettet."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Fjern passord"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Fjern alle lagrede passord"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Alle lagrede passord vil bli slettet."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Sikkerhetsinnstillinger"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Husk passord"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Lagre brukernavn og passord for nettsteder"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Husk skjemadata"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Husk data skrevet inn i skjemaer til senere"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Vis sikkerhetsadvarsler"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Vis advarsel hvis det er et problem med sikkerheten på et nettsted"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Godta informasjonskapsler"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Tillat nettsteder å lagre og lese informasjonskapsler"</string>
+    <string name="page_info">"Sideinformasjon"</string>
+    <string name="page_info_view">"Vis sideinformasjon"</string>
+    <string name="page_info_address">"Adresse:"</string>
+    <string name="ssl_warnings_header">"Det er problemer med sertifikatet for denne siden."</string>
+    <string name="ssl_continue">"Fortsett"</string>
+    <string name="security_warning">"Sikkerhetsadvarsel"</string>
+    <string name="view_certificate">"Se på sertifikat"</string>
+    <string name="ssl_untrusted">"Dette sertifikatet er ikke fra en autoritet du stoler på."</string>
+    <string name="ssl_mismatch">"Navnet på siden stemmer ikke med navnet på sertifikatet."</string>
+    <string name="ssl_expired">"Sertifikatet har gått ut."</string>
+    <string name="ssl_not_yet_valid">"Sertifikatet er ikke gyldig ennå."</string>
+    <string name="ssl_certificate">"Sikkerhetssertifikat"</string>
+    <string name="ssl_certificate_is_valid">"Sertifikatet er gyldig."</string>
+    <string name="issued_to">"Utstedt til:"</string>
+    <string name="common_name">"Navn:"</string>
+    <string name="org_name">"Organisasjon:"</string>
+    <string name="org_unit">"Organisasjonsenhet:"</string>
+    <string name="issued_by">"Utstedt av:"</string>
+    <string name="validity_period">"Gyldighet:"</string>
+    <string name="issued_on">"Utstedt:"</string>
+    <string name="expires_on">"Går ut:"</string>
+    <string name="retrieving_creds_dlg_msg">"Henter innloggingsinformasjon…"</string>
+    <string name="stopping">"Avbryter…"</string>
+    <string name="stop">"Avbryt"</string>
+    <string name="reload">"Last på nytt"</string>
+    <string name="forward">"Forover"</string>
+    <string name="save">"OK"</string>
+    <string name="do_not_save">"Avbryt"</string>
+    <string name="location">"Adresse"</string>
+    <string name="name">"Navn"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Bokmerke"</string>
+    <string name="edit_bookmark">"Rediger bokmerke"</string>
+    <string name="create_shortcut_bookmark">"Lag snarvei på skrivebordet"</string>
+    <string name="open_bookmark">"Åpne"</string>
+    <string name="remove_bookmark">"Slett bokmerke"</string>
+    <string name="remove_history_item">"Fjern fra loggen"</string>
+    <string name="bookmark_saved">"Bokmerke lagret."</string>
+    <string name="bookmark_needs_title">"Bokmerket må ha et navn."</string>
+    <string name="bookmark_needs_url">"Bokmerket må ha en adresse."</string>
+    <string name="empty_bookmark">"Kan ikke lage tomt bokmerke."</string>
+    <string name="bookmark_url_not_valid">"Adressen er ikke gyldig."</string>
+    <string name="delete_bookmark">"Slett"</string>
+    <string name="bookmark_page">"Legg til bokmerke for sist sette side"</string>
+    <string name="current_page">"Gjeldende side: "</string>
+    <string name="delete_bookmark_warning">"Bokmerket \"<xliff:g id="BOOKMARK">%s</xliff:g>\" vil bli slettet."</string>
+    <string name="open_in_new_window">"Åpne i nytt vindu"</string>
+    <string name="new_window">"Nytt vindu"</string>
+    <string name="goto_dot">"Gå til URL"</string>
+    <string name="find_dot">"Finn på siden"</string>
+    <string name="select_dot">"Velg tekst"</string>
+    <string name="view_tabs">"Vindusoversikt"</string>
+    <string name="view_tabs_condensed">"Vinduer"</string>
+    <string name="tab_picker_title">"Gjeldende vinduer"</string>
+    <string name="tab_picker_view_tab">"Vis"</string>
+    <string name="tab_picker_new_tab">"Nytt vindu"</string>
+    <string name="tab_picker_remove_tab">"Lukk"</string>
+    <string name="tab_picker_bookmark">"Legg til bokmerke"</string>
+    <string name="tab_picker_send_url">"Del lenke"</string>
+    <string name="bookmarks">"Bokmerker"</string>
+    <string name="shortcut_bookmark">"Bokmerker"</string>
+    <string name="history">"Logg"</string>
+    <string name="menu_view_download">"Nedlastinger"</string>
+    <string name="share_page">"Del side"</string>
+    <string name="contextmenu_openlink">"Åpne"</string>
+    <string name="contextmenu_openlink_newwindow">"Åpne i nytt vindu"</string>
+    <string name="contextmenu_bookmark_thislink">"Legg til lenke i bokmerker"</string>
+    <string name="contextmenu_savelink">"Lagre lenke"</string>
+    <string name="contextmenu_sharelink">"Del lenke"</string>
+    <string name="contextmenu_copy">"Kopier"</string>
+    <string name="contextmenu_copylink">"Kopier lenke-URL"</string>
+    <string name="contextmenu_download_image">"Lagre bilde"</string>
+    <string name="contextmenu_view_image">"Vis bilde"</string>
+    <string name="contextmenu_dial_dot">"Ring…"</string>
+    <string name="contextmenu_add_contact">"Legg til kontakt"</string>
+    <string name="contextmenu_send_mail">"Send e-post"</string>
+    <string name="contextmenu_map">"Kart"</string>
+    <string name="clear">"Nullstill"</string>
+    <string name="replace">"Erstatt"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Bokmerker"</string>
+    <string name="menu_preferences">"Innstillinger"</string>
+    <string name="pref_content_title">"Sideinnhold"</string>
+    <string name="pref_content_load_images">"Last bilder"</string>
+    <string name="pref_content_load_images_summary">"Vis bilder på nettsider"</string>
+    <string name="pref_content_block_popups">"Blokker sprettoppvinduer"</string>
+    <string name="pref_content_javascript">"Slå på JavaScript"</string>
+    <string name="pref_content_open_in_background">"Åpne i bakgrunnen"</string>
+    <string name="pref_content_open_in_background_summary">"La vinduer åpnes bak dette"</string>
+    <string name="pref_content_homepage">"Sett hjemmeside"</string>
+    <string name="pref_content_autofit">"Tilpass sider"</string>
+    <string name="pref_content_autofit_summary">"Tilpass nettsider så de passer på skjermen"</string>
+    <string name="pref_privacy_title">"Personvernsinnstillinger"</string>
+    <string name="pref_privacy_clear_cache">"Nullstill hurtiglager"</string>
+    <string name="pref_privacy_clear_cache_summary">"Slett alt hurtiglagret nettinnhold"</string>
+    <string name="pref_privacy_clear_cache_dlg">"Hurtiglageret vil nullstilles."</string>
+    <string name="pref_privacy_clear_cookies">"Fjern alle informasjonskapsler"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Fjern alle informasjonskapsler lagret i nettleseren"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Alle informasjonskapsler vil bli slettet."</string>
+    <string name="pref_privacy_clear_history">"Slett loggen"</string>
+    <string name="pref_privacy_clear_history_summary">"Slett navigeringsloggen"</string>
+    <string name="pref_privacy_clear_history_dlg">"Nettleserens navigeringslogg vil bli slettet."</string>
+    <string name="pref_privacy_clear_form_data">"Slett skjemadata"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Slett alt lagret skjemadata"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Alt lagret skjemadata vil bli slettet."</string>
+    <string name="pref_privacy_clear_passwords">"Slett passord"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Slett alle lagrede passord"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Alle lagrede passord vil bli slettet."</string>
+    <string name="pref_security_title">"Sikkerhetsinnstillinger"</string>
+    <string name="pref_security_remember_passwords">"Husk passord"</string>
+    <string name="pref_security_remember_passwords_summary">"Lagre brukernavn og passord for nettsider"</string>
+    <string name="pref_security_save_form_data">"Husk skjemadata"</string>
+    <string name="pref_security_save_form_data_summary">"Husk data skrevet inn i skjemaer til senere"</string>
+    <string name="pref_security_show_security_warning">"Vis sikkerhetsadvarsler"</string>
+    <string name="pref_security_show_security_warning_summary">"Vis advarsel hvis det er et problem med sikkerheten på en side"</string>
+    <string name="pref_security_accept_cookies">"Godta informasjonskapsler"</string>
+    <string name="pref_security_accept_cookies_summary">"Tillat nettsteder å lagre og lese informasjonskapsler"</string>
     <!-- no translation found for pref_text_size (3827031324346612208) -->
     <skip />
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Bitteliten"</item>
-    <item msgid="1950030433642671460">"Liten"</item>
-    <item msgid="4338347520133294584">"Normal"</item>
-    <item msgid="5043128215356351184">"Stor"</item>
-    <item msgid="7201512237890458902">"Kjempestor"</item>
+    <item>"Bitteliten"</item>
+    <item>"Liten"</item>
+    <item>"Vanlig"</item>
+    <item>"Stor"</item>
+    <item>"Kjempestor"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Tekststørrelse"</string>
+    <string name="pref_text_size_dialogtitle">"Tekststørrelse"</string>
     <!-- no translation found for pref_default_zoom (8076142259097187395) -->
     <skip />
     <!-- no translation found for pref_default_zoom_choices:0 (549583171195154919) -->
@@ -168,136 +168,84 @@
     <!-- no translation found for pref_default_zoom_choices:2 (3840999588443167001) -->
     <!-- no translation found for pref_default_zoom_dialogtitle (6095974367125109021) -->
     <skip />
-    <string name="pref_extras_title" msgid="3091250467679722382">"Avanserte innstillinger"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Aktiver Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Programmer som utvider nettleserfunksjonaliteten"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Gears-innstillinger"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Liste over utvidelser"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Ingen installerte utvidelser."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Programmer som utvider nettleserfunksjonaliteten"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Tilbakestill til standard"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Fjern alle data fra nettleseren og tilbakestill alle innstillinger til standard"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Alle data vil bli fjernet og innstillinger vil bli tilbakestilt til standardverdier."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Tilbakestill til standard"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Avlusing"</string>
+    <string name="pref_extras_title">"Avanserte innstillinger"</string>
+    <string name="pref_extras_reset_default">"Nullstill"</string>
+    <string name="pref_extras_reset_default_summary">"Fjern alle data fra nettleseren og nullstill alle innstillinger"</string>
+    <string name="pref_extras_reset_default_dlg">"Alle data vil bli fjernet fra nettleseren, og alle innstillinger vil bli nullstilt."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Nullstill"</string>
+    <string name="pref_development_title">"Avlusing"</string>
     <!-- no translation found for pref_default_text_encoding (5742965543955558478) -->
     <skip />
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japansk (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japansk (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japansk (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japansk (ISO-2022-JP)"</item>
+    <item>"Japansk (SHIFT_JIS)"</item>
+    <item>"Japansk (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Tekstkoding"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latin-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Videresending"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Denne nettsiden blir viderekoblet. Send skjemadataene på nytt til det nye nettstedet?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Datatilkoblingsproblem"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Problem med fil"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Bekreft"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"Siden du prøver å se inneholder data som allerede er blitt sendt inn (\"POSTDATA\"). Hvis du sender dataene på nytt, kan handlingene som skjemaet på siden utførte bli gjentatt."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Ingen nettverkstilkobling"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"Lasting av siden fortsetter etter gjenoppretting av forbindelsen."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Tøm logg"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Nylig besøkte sider"</string>
-    <string name="empty_history" msgid="8738772352308207274">"Nettleserloggen er tom."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Legg til bokmerke"</string>
-    <string name="no_database" msgid="2256698896757181084">"Ingen database!"</string>
-    <string name="search_hint" msgid="3385577802557697397">"Skriv inn nettadresse"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Gå"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Tekstkoding"</string>
+    <string name="pref_default_text_encoding_default">"Latin-1"</string>
+    <string name="browserFrameRedirect">"Videresending"</string>
+    <string name="browserFrame307Post">"Denne nettsiden blir videresendt. Send skjemadataene videre til den nye siden?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Tilkoblingsproblem"</string>
+    <string name="browserFrameFileErrorLabel">"Problem med fil"</string>
+    <string name="browserFrameFormResubmitLabel">"Bekreft"</string>
+    <string name="browserFrameFormResubmitMessage">"Siden du prøver å se, inneholder data som allerede er blitt sendt inn (\"POSTDATA\"). Hvis du sender dataene på nytt, kan det skjemaet på siden gjorde bli gjort på nytt."</string>
+    <string name="loadSuspendedTitle">"Ingen nettverkstilkobling"</string>
+    <string name="loadSuspended">"Siden vil fortsette å laste etter at tilkoblingen er blitt gjenopprettet."</string>
+    <string name="clear_history">"Slett logg"</string>
+    <string name="browser_history">"Nylig besøkte sider"</string>
+    <string name="empty_history">"Nettleserens logg er tom."</string>
+    <string name="add_new_bookmark">"Nytt bokmerke"</string>
+    <string name="no_database">"Ingen database!"</string>
+    <string name="search_hint">"Skriv inn nettadresse"</string>
+    <string name="search_button_text">"Gå"</string>
     <!-- no translation found for search_settings_description (1422401062529014107) -->
     <skip />
-    <string name="attention" msgid="3473639060042811244">"Obs"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Nettstedet prøver å åpne et popup-vindu"</string>
-    <string name="allow" msgid="1157313689171991335">"Tillat"</string>
-    <string name="block" msgid="9172175889884707800">"Blokker"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Vindusgrense nådd"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Kan ikke åpne et nytt vindu fordi du allerede har åpnet maksimalt antall."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Popup-vindu allerede åpent"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Kan ikke åpne et nytt popup-vindu, fordi det bare kan være ett åpent av gangen."</string>
-    <string name="download_title" msgid="2122874021047565594">"Nedlastingslogg"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Ukjent&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Åpne"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Fjern fra listen"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Avbryt nedlasting"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Avbryt alle nedlastinger"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Tøm listen"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Tøm"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Alle poster vil bli fjernet fra listen og nettleserens hurtiglager."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Avbryt nedlastinger"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Alle <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> nedlastinger vil bli avbrutt og fjernet fra nedlastingsloggen."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Tom for plass"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"Kan ikke laste ned <xliff:g id="FILENAME">%s</xliff:g>."\n"Frigjør plass på telefonen og prøv på nytt."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Nedlasting mislykket"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"Mangler minnekort"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Du trenger et minnekort for å laste ned <xliff:g id="FILENAME">%s</xliff:g>."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"Minnekort utilgjengelig"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"Minnekortet er opptatt. For å tillate nedlasting, velg \"Slå av USB-lagring\" i varslingen."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Finner ikke program som kan åpne denne filen."</string>
-    <string name="retry" msgid="1835923075542266721">"Prøv igjen"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"Nedlastingsloggen er tom."</string>
-    <string name="download_error" msgid="413496839831257187">"Nedlasting mislykket."</string>
-    <string name="download_success" msgid="2279041638155595203">"<xliff:g id="FILE">%s</xliff:g> Nedlasting fullført"</string>
-    <string name="download_running" msgid="2622942231322015059">"Laster ned…"</string>
-    <string name="download_pending" msgid="2599683668575349559">"Starter nedlasting…"</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"Venter på datatilkobling…"</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"Venter på datatilkobling…"</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Nedlasting avbrutt."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"Kan ikke laste ned. Innholdet er ikke støttet av telefonen."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"Kan ikke fullføre nedlastingen. Det er ikke nok plass."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"Kan ikke laste ned. Kan ikke fastsette størrelsen på filen."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"Nedlasting avbrutt. Den kan ikke gjenopptas."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Browser Test Runner"</string>
+    <string name="attention">"Obs"</string>
+    <string name="popup_window_attempt">"Denne siden prøver å åpne et sprettoppvindu."</string>
+    <string name="allow">"Tillat"</string>
+    <string name="block">"Blokker"</string>
+    <string name="too_many_windows_dialog_title">"Vindusgrense nådd"</string>
+    <string name="too_many_windows_dialog_message">"Kunne ikke åpne et nytt vindu fordi du allerede har maksialt antall åpnet."</string>
+    <string name="too_many_subwindows_dialog_title">"Sprettoppvindu allerede åpnet"</string>
+    <string name="too_many_subwindows_dialog_message">"Kunne ikke åpne et nytt sprettoppvindu, fordi det bare kan være ett åpent av gangen."</string>
+    <string name="download_title">"Nedlastingslogg"</string>
+    <string name="download_unknown_filename">"&lt;Ukjent&gt;"</string>
+    <string name="download_menu_open">"Åpne"</string>
+    <string name="download_menu_clear">"Fjern fra listen"</string>
+    <string name="download_menu_cancel">"Avbryt nedlasting"</string>
+    <string name="download_menu_cancel_all">"Avbryt alle nedlastinger"</string>
+    <string name="download_menu_clear_all">"Tøm listen"</string>
+    <string name="download_clear_dlg_title">"Tøm"</string>
+    <string name="download_clear_dlg_msg">"Alle nedlastinger vil bli fjernet fra listen samt fjernet fra nettleserens hurtiglager."</string>
+    <string name="download_cancel_dlg_title">"Avbryt nedlastinger"</string>
+    <string name="download_cancel_dlg_msg">"Alle <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> nedlastinger vil bli avbrutt og fjernet fra nedlastingsloggen."</string>
+    <string name="download_file_error_dlg_title">"Tom for plass"</string>
+    <string name="download_file_error_dlg_msg">"Kunne ikke laste ned <xliff:g id="FILENAME">%s</xliff:g>."\n"Frigjør plass på telefonen og prøv igjen."</string>
+    <string name="download_failed_generic_dlg_title">"Feil ved nedlasting"</string>
+    <string name="download_no_sdcard_dlg_title">"Mangler minnekort"</string>
+    <string name="download_no_sdcard_dlg_msg">"Du trenger et minnekort for å laste ned <xliff:g id="FILENAME">%s</xliff:g>."</string>
+    <string name="download_sdcard_busy_dlg_title">"Minnekort utilgjengelig"</string>
+    <string name="download_sdcard_busy_dlg_msg">"Minnekortet er opptatt. For å tillate nedlasting, velg \"Slå av USB-lagring\" i varslingen."</string>
+    <string name="download_no_application">"Fant ingen applikasjon som kunne åpne denne filen."</string>
+    <string name="retry">"Prøv igjen"</string>
+    <string name="no_downloads">"Nedlastingsloggen er tom."</string>
+    <string name="download_error">"Feil ved nedlasting."</string>
+    <string name="download_success">"<xliff:g id="FILE">%s</xliff:g> Nedlasting ferdig."</string>
+    <string name="download_running">"Laster ned…"</string>
+    <string name="download_pending">"Starter nedlasting…"</string>
+    <string name="download_pending_network">"Venter på datatilkobling…"</string>
+    <string name="download_running_paused">"Venter på datatilkobling…"</string>
+    <string name="download_canceled">"Nedlastingen ble avbrutt."</string>
+    <string name="download_not_acceptable">"Kan ikke laste ned. Innholdet er ikke støttet av telefonen."</string>
+    <string name="download_file_error">"Kan ikke fullføre nedlastingen. Det er ikke nok plass."</string>
+    <string name="download_length_required">"Kan ikke laste ned. Klarte ikke bestemme størrelsen på filen."</string>
+    <string name="download_precondition_failed">"Nedlastingen ble avbrutt. Den kan ikke fortsettes."</string>
+    <string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
     <!-- no translation found for homepage_base (7888126987935305566) -->
     <skip />
     <!-- no translation found for search_the_web (6046130189241962337) -->
     <skip />
-    <string name="query_data_prompt" msgid="5474381240981604223">"Tillat lagring"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Nettsiden under ønsker å lagre informasjon på datamaskinen ved hjelp av Gears."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Få tilgang til plassering"</string>
-    <string name="location_message" msgid="1729456751935683242">"Dette nettstedet vil ha tilgang til nettstedet ditt."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Lag snarvei"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Dette nettstedet vil lage en snarvei til denne siden på startsiden din."</string>
-    <string name="settings_message" msgid="6171686603006325199">"Tabellen under viser rettighetene du har gitt til hver side som har prøvd å bruke Gears."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Gears filplukker"</string>
-    <string name="image_message" msgid="5450245866521896891">"Valgt bilde"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Gears-innstillinger"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Les nettstedets personvernspolicy for å se hvordan informasjonen vil bli brukt."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Tillat lokal lagring"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Denne siden kan lagre informasjon i telefonen"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Denne siden kan ikke lagre informasjon i telefonen"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Tillat deteksjon av plassering"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Siden får vite hvor du befinner deg"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Siden får ikke vite hvor du befinner deg"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Fjern denne siden fra Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Ingen rettigheter satt"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Fjern denne siden"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Alle rettigheter vil bli nullstilt, og alle data lagret av siden i telefonen vil bli slettet."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Siden vil lagre informasjon i telefonen."\n" Endre dette i:"\n" Innstillinger -&gt; Gears-innstillinger"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Siden vil aldri lagre informasjon i telefonen."\n" Endre dette i:"\n" Innstillinger -&gt; Gears-innstillinger"</string>
-    <string name="location_notification" msgid="3495804750470905804">"Siden får ikke vite hvor du befinner deg."\n" Endre dette i:"\n" Innstillinger -&gt; Gears-innstillinger"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Siden vil ikke få vite hvor du befinner deg."\n" Endre dette i:"\n" Innstillinger -&gt; Gears-innstillinger"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Snarvei opprettet"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Tillat aldri"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"OK"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Avbryt"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Aldri tillat denne snarveien"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"OK"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Avbryt"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Bruk"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Avbryt"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"OK"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Avbryt"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"bane:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Ingen fil valgt"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Én fil valgt"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"valgte filer"</string>
-    <string name="remove" msgid="7820112494467011374">"Fjern"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Lokal lagring"</string>
-    <string name="allowed" msgid="1599514934221911624">"Tillatt"</string>
-    <string name="denied" msgid="7470209521858372968">"Nektet"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Ukjent dialogtype"</string>
-    <string name="default_button" msgid="3901922329454578908">"OK"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Oversikt"</string>
+    <string name="zoom_overview_button_text">"Oversikt"</string>
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 55d8016..c1b2ba4 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -15,283 +15,232 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Browser"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Bladwijzers"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Meest bezocht"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Geschiedenis"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Toegevoegd aan bladwijzers"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Verwijderd uit bladwijzers"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Aanmelden bij <xliff:g id="HOSTNAME">%s1</xliff:g> \'<xliff:g id="REALM">%s2</xliff:g>\'"</string>
-    <string name="username" msgid="5057566336518215922">"Naam"</string>
-    <string name="password" msgid="1177138552305184404">"Wachtwoord"</string>
-    <string name="action" msgid="183105774472071343">"Aanmelden"</string>
-    <string name="bookmarks_search" msgid="5229596268214362873">"Browser"</string>
-    <string name="cancel" msgid="3017274947407233702">"Annuleren"</string>
-    <string name="ok" msgid="1509280796718850364">"OK"</string>
+    <string name="application_name">"Browser"</string>
+    <string name="tab_bookmarks">"Bladwijzers"</string>
+    <string name="tab_most_visited">"Meest bezocht"</string>
+    <string name="tab_history">"Geschiedenis"</string>
+    <string name="added_to_bookmarks">"Toegevoegd aan bladwijzers"</string>
+    <string name="removed_from_bookmarks">"Verwijderd uit bladwijzers"</string>
+    <string name="sign_in_to">"Aanmelden bij <xliff:g id="HOSTNAME">%s1</xliff:g> \'<xliff:g id="REALM">%s2</xliff:g>\'"</string>
+    <string name="username">"Naam"</string>
+    <string name="password">"Wachtwoord"</string>
+    <string name="action">"Aanmelden"</string>
+    <string name="bookmarks_search">"Browser"</string>
+    <string name="cancel">"Annuleren"</string>
+    <string name="ok">"OK"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Geen overeenkomsten"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 overeenkomst"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> overeenkomsten"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> overeenkomsten"</item>
+    <item quantity="zero">"Geen overeenkomsten"</item>
+    <item quantity="one">"1 overeenkomst"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> overeenkomsten"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> overeenkomsten"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Pagina-informatie"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Pagina-informatie weergeven"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Adres:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Er zijn problemen met het beveiligingscertificaat van deze site."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Doorgaan"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Beveiligingswaarschuwing"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Certificaat weergeven"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Dit is geen certificaat van een vertrouwde autoriteit."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"De naam van deze site komt niet overeen met de naam op het certificaat."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Dit certificaat is verlopen."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Dit certificaat is nog niet geldig."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Beveiligingscertificaat"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Dit certificaat is geldig."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Uitgegeven voor:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Algemene naam:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Organisatie:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Organisatie-eenheid:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Uitgegeven door:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Geldigheid:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Uitgegeven op:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Verloopt op:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Aanmeldingsgegevens ophalen..."</string>
-    <string name="stopping" msgid="4839698519340302982">"Stoppen..."</string>
-    <string name="stop" msgid="5687251076030630074">"Stoppen"</string>
-    <string name="reload" msgid="8585220783228408062">"Vernieuwen"</string>
-    <string name="forward" msgid="4288210890526641577">"Volgende"</string>
-    <string name="save" msgid="5922311934992468496">"OK"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Annuleren"</string>
-    <string name="location" msgid="969988560160364559">"Locatie"</string>
-    <string name="name" msgid="5990326151488445481">"Naam"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Bladwijzer"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Bladwijzer bewerken"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Snelkoppeling naar startpagina toevoegen"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Openen"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Bladwijzer verwijderen"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Uit geschiedenis verwijderen"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Opgeslagen in bladwijzers."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"Bladwijzer moet een naam hebben."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"Bladwijzers moeten een locatie hebben."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Kan geen lege bladwijzer maken."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"URL is ongeldig."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Verwijderen"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Bladwijzer maken voor de laatst weergegeven pagina"</string>
-    <string name="current_page" msgid="7510129573681663135">"van "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"Bladwijzer \'<xliff:g id="BOOKMARK">%s</xliff:g>\' wordt verwijderd."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Openen in een nieuw venster"</string>
-    <string name="new_window" msgid="8117889615360211551">"Nieuw venster"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Ga"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Zoeken op pagina"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Tekst selecteren"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Vensteroverzicht"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Vensters"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Huidige vensters"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Weergeven"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Nieuw venster"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Sluiten"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Bladwijzer"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Link delen"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Bladwijzers"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Bladwijzer"</string>
-    <string name="history" msgid="2451240511251410032">"Geschiedenis"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Downloads"</string>
-    <string name="share_page" msgid="593756995297268343">"Pagina delen"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Openen"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Openen in een nieuw venster"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Bladwijzer maken van link"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Link opslaan"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Link delen"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Kopiëren"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"URL van koppeling kopiëren"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Afbeelding opslaan"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Afbeelding weergeven"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Bellen..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Contact toevoegen"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"E-mail verzenden"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Kaart"</string>
-    <string name="clear" msgid="7070043081700011461">"Wissen"</string>
-    <string name="replace" msgid="4843033491070384047">"Vervangen"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Bladwijzers"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Instellingen"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Instellingen voor pagina-inhoud"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Afbeeldingen laden"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Afbeeldingen op webpagina\'s weergeven"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Pop-upvensters blokkeren"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"JavaScript inschakelen"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Openen op de achtergrond"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Nieuwe vensters worden achter het huidige venster weergegeven."</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Startpagina instellen"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Pagina\'s automatisch laten passen"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Webpagina\'s zo indelen dat deze op het scherm passen"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Privacyinstellingen"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Cache wissen"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Alle pagina-inhoud in cache verwijderen"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"De cache wordt gewist."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Alle cookiegegevens wissen"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Alle browsercookies wissen"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Alle cookies worden gewist."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Geschiedenis wissen"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Navigatiegeschiedenis van de browser wissen"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"De navigatiegeschiedenis van de browser wordt gewist."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Formuliergegevens wissen"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Alle opgeslagen formuliergegevens wissen"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Alle opgeslagen formuliergegevens worden gewist."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Wachtwoorden wissen"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Alle opgeslagen wachtwoorden wissen"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Alle opgeslagen wachtwoorden worden gewist."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Beveiligingsinstellingen"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Wachtwoorden onthouden"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Gebruikersnamen en wachtwoorden voor websites opslaan"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Gegevens op formulier onthouden"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Gegevens die ik typ in formulieren, onthouden voor later gebruik."</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Beveiligingswaarschuwingen weergeven"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Waarschuwen als er een beveiligingsprobleem is met een site"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Cookies toelaten"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Sites toestaan cookiegegevens te lezen en schrijven"</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"Tekengrootte"</string>
+    <string name="page_info">"Pagina-informatie"</string>
+    <string name="page_info_view">"Pagina-informatie weergeven"</string>
+    <string name="page_info_address">"Adres:"</string>
+    <string name="ssl_warnings_header">"Er zijn problemen met het beveiligingscertificaat van deze site."</string>
+    <string name="ssl_continue">"Doorgaan"</string>
+    <string name="security_warning">"Beveiligingswaarschuwing"</string>
+    <string name="view_certificate">"Certificaat weergeven"</string>
+    <string name="ssl_untrusted">"Dit is geen certificaat van een vertrouwde autoriteit."</string>
+    <string name="ssl_mismatch">"De naam van deze site komt niet overeen met de naam op het certificaat."</string>
+    <string name="ssl_expired">"Dit certificaat is verlopen."</string>
+    <string name="ssl_not_yet_valid">"Dit certificaat is nog niet geldig."</string>
+    <string name="ssl_certificate">"Beveiligingscertificaat"</string>
+    <string name="ssl_certificate_is_valid">"Dit certificaat is geldig."</string>
+    <string name="issued_to">"Uitgegeven voor:"</string>
+    <string name="common_name">"Algemene naam:"</string>
+    <string name="org_name">"Organisatie:"</string>
+    <string name="org_unit">"Organisatie-eenheid:"</string>
+    <string name="issued_by">"Uitgegeven door:"</string>
+    <string name="validity_period">"Geldigheid:"</string>
+    <string name="issued_on">"Uitgegeven op:"</string>
+    <string name="expires_on">"Verloopt op:"</string>
+    <string name="retrieving_creds_dlg_msg">"Aanmeldingsgegevens ophalen..."</string>
+    <string name="stopping">"Stoppen..."</string>
+    <string name="stop">"Stoppen"</string>
+    <string name="reload">"Vernieuwen"</string>
+    <string name="forward">"Volgende"</string>
+    <string name="save">"OK"</string>
+    <string name="do_not_save">"Annuleren"</string>
+    <string name="location">"Locatie"</string>
+    <string name="name">"Naam"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Bladwijzer"</string>
+    <string name="edit_bookmark">"Bladwijzer bewerken"</string>
+    <string name="create_shortcut_bookmark">"Snelkoppeling naar startpagina toevoegen"</string>
+    <string name="open_bookmark">"Openen"</string>
+    <string name="remove_bookmark">"Bladwijzer verwijderen"</string>
+    <string name="remove_history_item">"Uit geschiedenis verwijderen"</string>
+    <string name="bookmark_saved">"Opgeslagen in bladwijzers."</string>
+    <string name="bookmark_needs_title">"Bladwijzer moet een naam hebben."</string>
+    <string name="bookmark_needs_url">"Bladwijzers moeten een locatie hebben."</string>
+    <string name="empty_bookmark">"Kan geen lege bladwijzer maken."</string>
+    <string name="bookmark_url_not_valid">"URL is ongeldig."</string>
+    <string name="delete_bookmark">"Verwijderen"</string>
+    <string name="bookmark_page">"Bladwijzer maken voor de laatst weergegeven pagina"</string>
+    <string name="current_page">"van "</string>
+    <string name="delete_bookmark_warning">"Bladwijzer \'<xliff:g id="BOOKMARK">%s</xliff:g>\' wordt verwijderd."</string>
+    <string name="open_in_new_window">"Openen in een nieuw venster"</string>
+    <string name="new_window">"Nieuw venster"</string>
+    <string name="goto_dot">"Ga"</string>
+    <string name="find_dot">"Zoeken op pagina"</string>
+    <string name="select_dot">"Tekst selecteren"</string>
+    <string name="view_tabs">"Vensteroverzicht"</string>
+    <string name="view_tabs_condensed">"Vensters"</string>
+    <string name="tab_picker_title">"Huidige vensters"</string>
+    <string name="tab_picker_view_tab">"Weergeven"</string>
+    <string name="tab_picker_new_tab">"Nieuw venster"</string>
+    <string name="tab_picker_remove_tab">"Sluiten"</string>
+    <string name="tab_picker_bookmark">"Bladwijzer"</string>
+    <string name="tab_picker_send_url">"Link delen"</string>
+    <string name="bookmarks">"Bladwijzers"</string>
+    <string name="shortcut_bookmark">"Bladwijzer"</string>
+    <string name="history">"Geschiedenis"</string>
+    <string name="menu_view_download">"Downloads"</string>
+    <string name="share_page">"Pagina delen"</string>
+    <string name="contextmenu_openlink">"Openen"</string>
+    <string name="contextmenu_openlink_newwindow">"Openen in een nieuw venster"</string>
+    <string name="contextmenu_bookmark_thislink">"Bladwijzer maken van link"</string>
+    <string name="contextmenu_savelink">"Link opslaan"</string>
+    <string name="contextmenu_sharelink">"Link delen"</string>
+    <string name="contextmenu_copy">"Kopiëren"</string>
+    <string name="contextmenu_copylink">"URL van koppeling kopiëren"</string>
+    <string name="contextmenu_download_image">"Afbeelding opslaan"</string>
+    <string name="contextmenu_view_image">"Afbeelding weergeven"</string>
+    <string name="contextmenu_dial_dot">"Bellen..."</string>
+    <string name="contextmenu_add_contact">"Contact toevoegen"</string>
+    <string name="contextmenu_send_mail">"E-mail verzenden"</string>
+    <string name="contextmenu_map">"Kaart"</string>
+    <string name="clear">"Wissen"</string>
+    <string name="replace">"Vervangen"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Bladwijzers"</string>
+    <string name="menu_preferences">"Instellingen"</string>
+    <string name="pref_content_title">"Instellingen voor pagina-inhoud"</string>
+    <string name="pref_content_load_images">"Afbeeldingen laden"</string>
+    <string name="pref_content_load_images_summary">"Afbeeldingen op webpagina\'s weergeven"</string>
+    <string name="pref_content_block_popups">"Pop-upvensters blokkeren"</string>
+    <string name="pref_content_javascript">"JavaScript inschakelen"</string>
+    <string name="pref_content_open_in_background">"Openen op de achtergrond"</string>
+    <string name="pref_content_open_in_background_summary">"Nieuwe vensters worden achter het huidige venster weergegeven."</string>
+    <string name="pref_content_homepage">"Startpagina instellen"</string>
+    <string name="pref_content_autofit">"Pagina\'s automatisch laten passen"</string>
+    <string name="pref_content_autofit_summary">"Webpagina\'s zo indelen dat deze op het scherm passen"</string>
+    <string name="pref_privacy_title">"Privacyinstellingen"</string>
+    <string name="pref_privacy_clear_cache">"Cache wissen"</string>
+    <string name="pref_privacy_clear_cache_summary">"Alle pagina-inhoud in cache verwijderen"</string>
+    <string name="pref_privacy_clear_cache_dlg">"De cache wordt gewist."</string>
+    <string name="pref_privacy_clear_cookies">"Alle cookiegegevens wissen"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Alle browsercookies wissen"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Alle cookies worden gewist."</string>
+    <string name="pref_privacy_clear_history">"Geschiedenis wissen"</string>
+    <string name="pref_privacy_clear_history_summary">"Navigatiegeschiedenis van de browser wissen"</string>
+    <string name="pref_privacy_clear_history_dlg">"De navigatiegeschiedenis van de browser wordt gewist."</string>
+    <string name="pref_privacy_clear_form_data">"Formuliergegevens wissen"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Alle opgeslagen formuliergegevens wissen"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Alle opgeslagen formuliergegevens worden gewist."</string>
+    <string name="pref_privacy_clear_passwords">"Wachtwoorden wissen"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Alle opgeslagen wachtwoorden wissen"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Alle opgeslagen wachtwoorden worden gewist."</string>
+    <string name="pref_security_title">"Beveiligingsinstellingen"</string>
+    <string name="pref_security_remember_passwords">"Wachtwoorden onthouden"</string>
+    <string name="pref_security_remember_passwords_summary">"Gebruikersnamen en wachtwoorden voor websites opslaan"</string>
+    <string name="pref_security_save_form_data">"Gegevens op formulier onthouden"</string>
+    <string name="pref_security_save_form_data_summary">"Gegevens die ik typ in formulieren, onthouden voor later gebruik."</string>
+    <string name="pref_security_show_security_warning">"Beveiligingswaarschuwingen weergeven"</string>
+    <string name="pref_security_show_security_warning_summary">"Waarschuwen als er een beveiligingsprobleem is met een site"</string>
+    <string name="pref_security_accept_cookies">"Cookies toelaten"</string>
+    <string name="pref_security_accept_cookies_summary">"Sites toestaan cookiegegevens te lezen en schrijven"</string>
+    <string name="pref_text_size">"Tekengrootte"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Minuscuul"</item>
-    <item msgid="1950030433642671460">"Klein"</item>
-    <item msgid="4338347520133294584">"Normaal"</item>
-    <item msgid="5043128215356351184">"Groot"</item>
-    <item msgid="7201512237890458902">"Enorm"</item>
+    <item>"Minuscuul"</item>
+    <item>"Klein"</item>
+    <item>"Normaal"</item>
+    <item>"Groot"</item>
+    <item>"Enorm"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Tekengrootte"</string>
-    <string name="pref_default_zoom" msgid="8076142259097187395">"Standaardzoom"</string>
+    <string name="pref_text_size_dialogtitle">"Tekengrootte"</string>
+    <string name="pref_default_zoom">"Standaardzoom"</string>
   <string-array name="pref_default_zoom_choices">
-    <item msgid="549583171195154919">"Ver"</item>
-    <item msgid="5619034257768161024">"Gemiddeld"</item>
-    <item msgid="3840999588443167001">"Sluiten"</item>
+    <item>"Ver"</item>
+    <item>"Gemiddeld"</item>
+    <item>"Sluiten"</item>
   </string-array>
-    <string name="pref_default_zoom_dialogtitle" msgid="6095974367125109021">"Standaardzoom"</string>
-    <string name="pref_extras_title" msgid="3091250467679722382">"Geavanceerde instellingen"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Gears inschakelen"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Toepassingen die de functionaliteit van de browser vergroten"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Instellingen van Gears"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Lijst met invoegtoepassingen"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Geen invoegtoepassingen geïnstalleerd."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Toepassingen die de functionaliteit van de browser vergroten"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Standaardinstellingen herstellen"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Alle browsergegevens wissen en alle standaardinstellingen herstellen"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Alle browsergegevens worden gewist en de standaardinstellingen worden hersteld."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Standaardinstellingen herstellen"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Foutopsporing"</string>
-    <string name="pref_default_text_encoding" msgid="5742965543955558478">"Tekstcodering"</string>
+    <string name="pref_default_zoom_dialogtitle">"Standaardzoom"</string>
+    <string name="pref_extras_title">"Geavanceerde instellingen"</string>
+    <string name="pref_extras_reset_default">"Standaardinstellingen herstellen"</string>
+    <string name="pref_extras_reset_default_summary">"Alle browsergegevens wissen en alle standaardinstellingen herstellen"</string>
+    <string name="pref_extras_reset_default_dlg">"Alle browsergegevens worden gewist en de standaardinstellingen worden hersteld."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Standaardinstellingen herstellen"</string>
+    <string name="pref_development_title">"Foutopsporing"</string>
+    <string name="pref_default_text_encoding">"Tekstcodering"</string>
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latijns-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japans (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japans (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japans (EUC-JP)"</item>
+    <item>"Latijns-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japans (ISO-2022-JP)"</item>
+    <item>"Japans (SHIFT_JIS)"</item>
+    <item>"Japans (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Tekstcodering"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latijns-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Omleiden"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Deze webpagina wordt omgeleid. Wilt u uw ingevulde formuliergegevens doorsturen naar de nieuwe locatie?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Probleem met gegevensverbinding"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Probleem met bestand"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Bevestigen"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"De pagina die u probeert te openen, bevat gegevens die al verzonden zijn (\'POSTDATA\'). Als u de gegevens opnieuw verzendt, wordt elke actie herhaald die het formulier op de pagina heeft uitgevoerd (zoals een zoekopdracht of online aanschaf)."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Geen netwerkverbinding"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"De pagina wordt verder geladen zodra de verbinding is hersteld."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Geschiedenis wissen"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Onlangs bezochte pagina\'s"</string>
-    <string name="empty_history" msgid="8738772352308207274">"Browsergeschiedenis is leeg."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Bladwijzer toevoegen…"</string>
-    <string name="no_database" msgid="2256698896757181084">"Geen database."</string>
-    <string name="search_hint" msgid="3385577802557697397">"Typ het webadres"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Ga"</string>
-    <string name="search_settings_description" msgid="1422401062529014107">"Bladwijzers en webgeschiedenis"</string>
-    <string name="attention" msgid="3473639060042811244">"Opgelet"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Deze site probeert een pop-upvenster te openen."</string>
-    <string name="allow" msgid="1157313689171991335">"Toestaan"</string>
-    <string name="block" msgid="9172175889884707800">"Blokkeren"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Limiet van venster is bereikt"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Kan geen nieuw venster openen omdat u al het maximum aantal vensters heeft geopend."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Pop-up is al geopend."</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Kan geen nieuw pop-upvenster openen omdat er maar één venster tegelijk geopend kan zijn."</string>
-    <string name="download_title" msgid="2122874021047565594">"Downloadgeschiedenis"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Onbekend&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Openen"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Wissen uit lijst"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Download annuleren"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Alle downloads annuleren"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Lijst wissen"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Wissen"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Alle items worden uit de lijst en uit de browsercache verwijderd."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Downloads annuleren"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Alle <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> downloads worden geannuleerd en gewist uit de downloadgeschiedenis."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Geen ruimte meer"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"<xliff:g id="FILENAME">%s</xliff:g> kan niet worden gedownload."\n"Maak ruimte vrij op uw telefoon en probeer het opnieuw."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Downloaden is mislukt."</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"Geen SD-kaart"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Een SD-kaart is vereist om <xliff:g id="FILENAME">%s</xliff:g> te kunnen downloaden."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"SD-kaart niet beschikbaar"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"De SD-kaart wordt gebruikt. Als u downloads wilt toestaan, selecteert u \'USB-opslag uitschakelen\' in de melding."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Geen toepassing gevonden om dit bestand te openen"</string>
-    <string name="retry" msgid="1835923075542266721">"Opnieuw proberen"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"Downloadgeschiedenis is leeg."</string>
-    <string name="download_error" msgid="413496839831257187">"Downloaden is mislukt."</string>
-    <string name="download_success" msgid="2279041638155595203">"Downloaden van <xliff:g id="FILE">%s</xliff:g> is voltooid."</string>
-    <string name="download_running" msgid="2622942231322015059">"Downloaden..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"Downloaden starten..."</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"Wachten op gegevensverbinding..."</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"Wachten op dataverbinding"</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Download is geannuleerd."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"Kan niet downloaden. De inhoud wordt niet ondersteund door de telefoon."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"Kan download niet voltooien. Er is niet genoeg ruimte."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"Kan niet downloaden. De grootte van het item kan niet worden vastgesteld."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"Download is onderbroken. Deze kan niet worden voortgezet."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Browser Test Runner"</string>
-    <string name="homepage_base" msgid="7888126987935305566">"http://www.google.com/m?client=ms-{CID}"</string>
-    <string name="search_the_web" msgid="6046130189241962337">"Zoeken op internet"</string>
-    <string name="query_data_prompt" msgid="5474381240981604223">"Opslag toestaan"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Deze website wil informatie opslaan op uw telefoon."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Toegang tot uw locatie"</string>
-    <string name="location_message" msgid="1729456751935683242">"Deze website wil toegang hebben tot uw locatie."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Een snelkoppeling maken"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Deze website wil een snelkoppeling naar deze pagina maken op uw startscherm."</string>
-    <string name="settings_message" msgid="6171686603006325199">"De onderstaande tabel geeft de toestemming weer die u heeft verleend aan elke site die Gears heeft geprobeerd te gebruiken."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Bestandenkiezer"</string>
-    <string name="image_message" msgid="5450245866521896891">"Gekozen afbeelding"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Instellingen van Gears"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"U kunt het privacybeleid van de site raadplegen voor meer informatie over hoe uw locatie wordt gebruikt."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Lokale opslag toestaan"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Deze site kan informatie opslaan op uw telefoon"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Deze site kan geen informatie op uw telefoon opslaan"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Locatiedetectie toestaan"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Deze site kan uw huidige locatie lezen"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Deze site kan uw huidige locatie niet lezen"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Deze site verwijderen uit Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Geen machtigingen ingesteld"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Deze site verwijderen"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Alle machtigingen worden gewist en eventuele gegevens die op uw telefoon zijn opgeslagen door de site, worden verwijderd."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Deze site slaat informatie op deze telefoon op."\n" Wijzig deze instelling in:"\n" Instellingen -&gt; Instellingen van Gears"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Deze site slaat nooit informatie op deze telefoon op."\n" Wijzig deze instelling in:"\n" Instellingen -&gt; Instellingen van Gears"</string>
-    <string name="location_notification" msgid="3495804750470905804">"Deze site heeft toegang tot uw huidige locatie."\n" Wijzig deze instelling in:"\n" Instellingen -&gt; Instellingen van Gears"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Deze site heeft geen toegang tot uw huidige locatie."\n" Wijzig deze instelling in:"\n" Instellingen -&gt; Instellingen van Gears"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Snelkoppeling gemaakt"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Nooit toestaan"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"OK"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Annuleren"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Nooit toestaan"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"OK"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Annuleren"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Toepassen"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Annuleren"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"OK"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Annuleren"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"pad:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Er zijn geen bestanden geselecteerd"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Eén bestand geselecteerd"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"bestanden geselecteerd"</string>
-    <string name="remove" msgid="7820112494467011374">"Verwijderen"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Lokale opslag"</string>
-    <string name="allowed" msgid="1599514934221911624">"Toegestaan"</string>
-    <string name="denied" msgid="7470209521858372968">"Geweigerd"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Dialoogtype wordt niet herkend"</string>
-    <string name="default_button" msgid="3901922329454578908">"OK"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Overzicht"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Tekstcodering"</string>
+    <string name="pref_default_text_encoding_default">"Latijns-1"</string>
+    <string name="browserFrameRedirect">"Omleiden"</string>
+    <string name="browserFrame307Post">"Deze webpagina wordt omgeleid. Wilt u uw ingevulde formuliergegevens doorsturen naar de nieuwe locatie?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Probleem met gegevensverbinding"</string>
+    <string name="browserFrameFileErrorLabel">"Probleem met bestand"</string>
+    <string name="browserFrameFormResubmitLabel">"Bevestigen"</string>
+    <string name="browserFrameFormResubmitMessage">"De pagina die u probeert te openen, bevat gegevens die al verzonden zijn (\'POSTDATA\'). Als u de gegevens opnieuw verzendt, wordt elke actie herhaald die het formulier op de pagina heeft uitgevoerd (zoals een zoekopdracht of online aanschaf)."</string>
+    <string name="loadSuspendedTitle">"Geen netwerkverbinding"</string>
+    <string name="loadSuspended">"De pagina wordt verder geladen zodra de verbinding is hersteld."</string>
+    <string name="clear_history">"Geschiedenis wissen"</string>
+    <string name="browser_history">"Onlangs bezochte pagina\'s"</string>
+    <string name="empty_history">"Browsergeschiedenis is leeg."</string>
+    <string name="add_new_bookmark">"Bladwijzer toevoegen…"</string>
+    <string name="no_database">"Geen database."</string>
+    <string name="search_hint">"Typ het webadres"</string>
+    <string name="search_button_text">"Ga"</string>
+    <!-- no translation found for search_settings_description (1422401062529014107) -->
+    <skip />
+    <string name="attention">"Opgelet"</string>
+    <string name="popup_window_attempt">"Deze site probeert een pop-upvenster te openen."</string>
+    <string name="allow">"Toestaan"</string>
+    <string name="block">"Blokkeren"</string>
+    <string name="too_many_windows_dialog_title">"Limiet van venster is bereikt"</string>
+    <string name="too_many_windows_dialog_message">"Kan geen nieuw venster openen omdat u al het maximum aantal vensters heeft geopend."</string>
+    <string name="too_many_subwindows_dialog_title">"Pop-up is al geopend."</string>
+    <string name="too_many_subwindows_dialog_message">"Kan geen nieuw pop-upvenster openen omdat er maar één venster tegelijk geopend kan zijn."</string>
+    <string name="download_title">"Downloadgeschiedenis"</string>
+    <string name="download_unknown_filename">"&lt;Onbekend&gt;"</string>
+    <string name="download_menu_open">"Openen"</string>
+    <string name="download_menu_clear">"Wissen uit lijst"</string>
+    <string name="download_menu_cancel">"Download annuleren"</string>
+    <string name="download_menu_cancel_all">"Alle downloads annuleren"</string>
+    <string name="download_menu_clear_all">"Lijst wissen"</string>
+    <string name="download_clear_dlg_title">"Wissen"</string>
+    <string name="download_clear_dlg_msg">"Alle items worden uit de lijst en uit de browsercache verwijderd."</string>
+    <string name="download_cancel_dlg_title">"Downloads annuleren"</string>
+    <string name="download_cancel_dlg_msg">"Alle <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> downloads worden geannuleerd en gewist uit de downloadgeschiedenis."</string>
+    <string name="download_file_error_dlg_title">"Geen ruimte meer"</string>
+    <string name="download_file_error_dlg_msg">"<xliff:g id="FILENAME">%s</xliff:g> kan niet worden gedownload."\n"Maak ruimte vrij op uw telefoon en probeer het opnieuw."</string>
+    <string name="download_failed_generic_dlg_title">"Downloaden is mislukt."</string>
+    <string name="download_no_sdcard_dlg_title">"Geen SD-kaart"</string>
+    <string name="download_no_sdcard_dlg_msg">"Een SD-kaart is vereist om <xliff:g id="FILENAME">%s</xliff:g> te kunnen downloaden."</string>
+    <string name="download_sdcard_busy_dlg_title">"SD-kaart niet beschikbaar"</string>
+    <string name="download_sdcard_busy_dlg_msg">"De SD-kaart wordt gebruikt. Als u downloads wilt toestaan, selecteert u \'USB-opslag uitschakelen\' in de melding."</string>
+    <string name="download_no_application">"Geen toepassing gevonden om dit bestand te openen"</string>
+    <string name="retry">"Opnieuw proberen"</string>
+    <string name="no_downloads">"Downloadgeschiedenis is leeg."</string>
+    <string name="download_error">"Downloaden is mislukt."</string>
+    <string name="download_success">"Downloaden van <xliff:g id="FILE">%s</xliff:g> is voltooid."</string>
+    <string name="download_running">"Downloaden..."</string>
+    <string name="download_pending">"Downloaden starten..."</string>
+    <string name="download_pending_network">"Wachten op gegevensverbinding..."</string>
+    <string name="download_running_paused">"Wachten op dataverbinding"</string>
+    <string name="download_canceled">"Download is geannuleerd."</string>
+    <string name="download_not_acceptable">"Kan niet downloaden. De inhoud wordt niet ondersteund door de telefoon."</string>
+    <string name="download_file_error">"Kan download niet voltooien. Er is niet genoeg ruimte."</string>
+    <string name="download_length_required">"Kan niet downloaden. De grootte van het item kan niet worden vastgesteld."</string>
+    <string name="download_precondition_failed">"Download is onderbroken. Deze kan niet worden voortgezet."</string>
+    <string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
+    <string name="homepage_base">"http://www.google.com/m?client=ms-{CID}"</string>
+    <string name="search_the_web">"Zoeken op internet"</string>
+    <string name="zoom_overview_button_text">"Overzicht"</string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 794338c..6972973 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -15,283 +15,232 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Internet"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Zakładki"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Popularne"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Historia"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Dodano do zakładek"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Usunięto z zakładek"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Zaloguj się w witrynie <xliff:g id="HOSTNAME">%s1</xliff:g> „<xliff:g id="REALM">%s2</xliff:g>”"</string>
-    <string name="username" msgid="5057566336518215922">"Nazwa"</string>
-    <string name="password" msgid="1177138552305184404">"Hasło"</string>
-    <string name="action" msgid="183105774472071343">"Zaloguj się"</string>
-    <string name="bookmarks_search" msgid="5229596268214362873">"Przeglądarka"</string>
-    <string name="cancel" msgid="3017274947407233702">"Anuluj"</string>
-    <string name="ok" msgid="1509280796718850364">"OK"</string>
+    <string name="application_name">"Internet"</string>
+    <string name="tab_bookmarks">"Zakładki"</string>
+    <string name="tab_most_visited">"Popularne"</string>
+    <string name="tab_history">"Historia"</string>
+    <string name="added_to_bookmarks">"Dodano do zakładek"</string>
+    <string name="removed_from_bookmarks">"Usunięto z zakładek"</string>
+    <string name="sign_in_to">"Zaloguj się w witrynie <xliff:g id="HOSTNAME">%s1</xliff:g> „<xliff:g id="REALM">%s2</xliff:g>”"</string>
+    <string name="username">"Nazwa"</string>
+    <string name="password">"Hasło"</string>
+    <string name="action">"Zaloguj się"</string>
+    <string name="bookmarks_search">"Przeglądarka"</string>
+    <string name="cancel">"Anuluj"</string>
+    <string name="ok">"OK"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Brak wyników"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 wynik"</item>
-    <item quantity="few" msgid="5544267486978946555">"Wyników: <xliff:g id="NUMBER">%d</xliff:g>"</item>
-    <item quantity="other" msgid="6616125067364315405">"Wyników: <xliff:g id="NUMBER">%d</xliff:g>"</item>
+    <item quantity="zero">"Brak wyników"</item>
+    <item quantity="one">"1 wynik"</item>
+    <item quantity="few">"Wyników: <xliff:g id="NUMBER">%d</xliff:g>"</item>
+    <item quantity="other">"Wyników: <xliff:g id="NUMBER">%d</xliff:g>"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Informacje o stronie"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Informacje o stronie"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Adres:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Są problemy z certyfikatem zabezpieczeń tej strony."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Dalej"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Ostrzeżenie zabezpieczeń"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Wyświetl certyfikat"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Ten certyfikat nie pochodzi od zaufanego urzędu."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"Nazwa witryny nie odpowiada nazwie podanej w certyfikacie."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Ten certyfikat wygasł."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Ten certyfikat nie jest jeszcze prawidłowy."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Certyfikat zabezpieczeń"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Ten certyfikat jest prawidłowy."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Otrzymujący:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Nazwa pospolita:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Organizacja:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Jednostka organizacyjna:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Wystawca:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Poprawność:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Data wystawienia:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Wygasa:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Pobieranie szczegółów logowania…"</string>
-    <string name="stopping" msgid="4839698519340302982">"Trwa zatrzymywanie…"</string>
-    <string name="stop" msgid="5687251076030630074">"Zatrzymaj"</string>
-    <string name="reload" msgid="8585220783228408062">"Odśwież"</string>
-    <string name="forward" msgid="4288210890526641577">"Dalej"</string>
-    <string name="save" msgid="5922311934992468496">"OK"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Anuluj"</string>
-    <string name="location" msgid="969988560160364559">"Adres"</string>
-    <string name="name" msgid="5990326151488445481">"Nazwa"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Utwórz zakładkę"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Edytuj zakładkę"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Dodaj skrót do strony głównej"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Otwórz"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Usuń zakładkę"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Usuń z historii"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Zapisano na liście zakładek."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"Zakładka musi mieć nazwę."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"Zakładka musi zawierać adres."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Nie można utworzyć pustej zakładki."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"Adres URL jest nieprawidłowy."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Usuń"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Dodaj do zakładek ostatnio wyświetlaną stronę"</string>
-    <string name="current_page" msgid="7510129573681663135">"z "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"Zakładka „<xliff:g id="BOOKMARK">%s</xliff:g>” zostanie usunięta."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Otwórz w nowym oknie"</string>
-    <string name="new_window" msgid="8117889615360211551">"Nowe okno"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Przejdź"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Znajdź na stronie"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Zaznacz tekst"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Przegląd okien"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Okna"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Bieżące okna"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Wyświetl"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Nowe okno"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Zamknij"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Utwórz zakładkę"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Prześlij link"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Zakładki"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Utwórz zakładkę"</string>
-    <string name="history" msgid="2451240511251410032">"Historia"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Pobrane pliki"</string>
-    <string name="share_page" msgid="593756995297268343">"Udostępnij stronę"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Otwórz"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Otwórz w nowym oknie"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Dodaj link do zakładek"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Zapisz link"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Udostępnij link"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Kopiuj"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Kopiuj adres URL linku"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Zapisz obraz"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Wyświetl obraz"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Wybierz numer…"</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Dodaj kontakt"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"Wyślij e-mail"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Mapa"</string>
-    <string name="clear" msgid="7070043081700011461">"Wyczyść"</string>
-    <string name="replace" msgid="4843033491070384047">"Zastąp adres"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Zakładki"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Ustawienia"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Ustawienia zawartości stron"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Wczytuj obrazy"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Wyświetlaj obrazy na stronach WWW"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Blokuj wyskakujące okna"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"Włącz skrypty JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Otwórz w tle"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Nowe okna są otwierane w tle"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Ustaw stronę główną"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Autodopasowanie stron"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Formatuj strony WWW, aby mieściły się na ekranie"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Ustawienia prywatności"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Wyczyść pamięć podręczną"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Usuń całą zawartość stron z pamięci podręcznej"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"Pamięć podręczna zostanie wyczyszczona."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Wyczyść wszystkie pliki cookie"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Wyczyść pliki cookie przeglądarki"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Wszystkie pliki cookie zostaną usunięte."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Wyczyść historię"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Wyczyść historię przeglądania"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"Historia przeglądania zostanie wyczyszczona."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Wyczyść dane formularzy"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Usuń wszystkie zapisane dane formularzy"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Wszystkie zapamiętane dane formularzy zostaną wyczyszczone."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Wyczyść hasła"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Wyczyść wszystkie zapamiętane hasła"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Wszystkie zapamiętane hasła zostaną wyczyszczone."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Ustawienia zabezpieczeń"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Pamiętaj hasła"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Zapamiętuj nazwy użytkownika i hasła do stron WWW"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Pamiętaj wpisane dane"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Zapamiętuj do późniejszego użycia dane, które wpisuję w formularzach"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Wyświetlaj ostrzeżenia"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Wyświetl ostrzeżenie w razie problemów z zabezpieczeniami strony"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Akceptuj pliki cookie"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Zezwalaj witrynom na zapis i odczyt danych w plikach cookie"</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"Rozmiar tekstu"</string>
+    <string name="page_info">"Informacje o stronie"</string>
+    <string name="page_info_view">"Informacje o stronie"</string>
+    <string name="page_info_address">"Adres:"</string>
+    <string name="ssl_warnings_header">"Są problemy z certyfikatem zabezpieczeń tej strony."</string>
+    <string name="ssl_continue">"Dalej"</string>
+    <string name="security_warning">"Ostrzeżenie zabezpieczeń"</string>
+    <string name="view_certificate">"Wyświetl certyfikat"</string>
+    <string name="ssl_untrusted">"Ten certyfikat nie pochodzi od zaufanego urzędu."</string>
+    <string name="ssl_mismatch">"Nazwa witryny nie odpowiada nazwie podanej w certyfikacie."</string>
+    <string name="ssl_expired">"Ten certyfikat wygasł."</string>
+    <string name="ssl_not_yet_valid">"Ten certyfikat nie jest jeszcze prawidłowy."</string>
+    <string name="ssl_certificate">"Certyfikat zabezpieczeń"</string>
+    <string name="ssl_certificate_is_valid">"Ten certyfikat jest prawidłowy."</string>
+    <string name="issued_to">"Otrzymujący:"</string>
+    <string name="common_name">"Nazwa pospolita:"</string>
+    <string name="org_name">"Organizacja:"</string>
+    <string name="org_unit">"Jednostka organizacyjna:"</string>
+    <string name="issued_by">"Wystawca:"</string>
+    <string name="validity_period">"Poprawność:"</string>
+    <string name="issued_on">"Data wystawienia:"</string>
+    <string name="expires_on">"Wygasa:"</string>
+    <string name="retrieving_creds_dlg_msg">"Pobieranie szczegółów logowania…"</string>
+    <string name="stopping">"Trwa zatrzymywanie…"</string>
+    <string name="stop">"Zatrzymaj"</string>
+    <string name="reload">"Odśwież"</string>
+    <string name="forward">"Dalej"</string>
+    <string name="save">"OK"</string>
+    <string name="do_not_save">"Anuluj"</string>
+    <string name="location">"Adres"</string>
+    <string name="name">"Nazwa"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Utwórz zakładkę"</string>
+    <string name="edit_bookmark">"Edytuj zakładkę"</string>
+    <string name="create_shortcut_bookmark">"Dodaj skrót do strony głównej"</string>
+    <string name="open_bookmark">"Otwórz"</string>
+    <string name="remove_bookmark">"Usuń zakładkę"</string>
+    <string name="remove_history_item">"Usuń z historii"</string>
+    <string name="bookmark_saved">"Zapisano na liście zakładek."</string>
+    <string name="bookmark_needs_title">"Zakładka musi mieć nazwę."</string>
+    <string name="bookmark_needs_url">"Zakładka musi zawierać adres."</string>
+    <string name="empty_bookmark">"Nie można utworzyć pustej zakładki."</string>
+    <string name="bookmark_url_not_valid">"Adres URL jest nieprawidłowy."</string>
+    <string name="delete_bookmark">"Usuń"</string>
+    <string name="bookmark_page">"Dodaj do zakładek ostatnio wyświetlaną stronę"</string>
+    <string name="current_page">"z "</string>
+    <string name="delete_bookmark_warning">"Zakładka „<xliff:g id="BOOKMARK">%s</xliff:g>” zostanie usunięta."</string>
+    <string name="open_in_new_window">"Otwórz w nowym oknie"</string>
+    <string name="new_window">"Nowe okno"</string>
+    <string name="goto_dot">"Przejdź"</string>
+    <string name="find_dot">"Znajdź na stronie"</string>
+    <string name="select_dot">"Zaznacz tekst"</string>
+    <string name="view_tabs">"Przegląd okien"</string>
+    <string name="view_tabs_condensed">"Okna"</string>
+    <string name="tab_picker_title">"Bieżące okna"</string>
+    <string name="tab_picker_view_tab">"Wyświetl"</string>
+    <string name="tab_picker_new_tab">"Nowe okno"</string>
+    <string name="tab_picker_remove_tab">"Zamknij"</string>
+    <string name="tab_picker_bookmark">"Utwórz zakładkę"</string>
+    <string name="tab_picker_send_url">"Prześlij link"</string>
+    <string name="bookmarks">"Zakładki"</string>
+    <string name="shortcut_bookmark">"Utwórz zakładkę"</string>
+    <string name="history">"Historia"</string>
+    <string name="menu_view_download">"Pobrane pliki"</string>
+    <string name="share_page">"Udostępnij stronę"</string>
+    <string name="contextmenu_openlink">"Otwórz"</string>
+    <string name="contextmenu_openlink_newwindow">"Otwórz w nowym oknie"</string>
+    <string name="contextmenu_bookmark_thislink">"Dodaj link do zakładek"</string>
+    <string name="contextmenu_savelink">"Zapisz link"</string>
+    <string name="contextmenu_sharelink">"Udostępnij link"</string>
+    <string name="contextmenu_copy">"Kopiuj"</string>
+    <string name="contextmenu_copylink">"Kopiuj adres URL linku"</string>
+    <string name="contextmenu_download_image">"Zapisz obraz"</string>
+    <string name="contextmenu_view_image">"Wyświetl obraz"</string>
+    <string name="contextmenu_dial_dot">"Wybierz numer…"</string>
+    <string name="contextmenu_add_contact">"Dodaj kontakt"</string>
+    <string name="contextmenu_send_mail">"Wyślij e-mail"</string>
+    <string name="contextmenu_map">"Mapa"</string>
+    <string name="clear">"Wyczyść"</string>
+    <string name="replace">"Zastąp adres"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Zakładki"</string>
+    <string name="menu_preferences">"Ustawienia"</string>
+    <string name="pref_content_title">"Ustawienia zawartości stron"</string>
+    <string name="pref_content_load_images">"Wczytuj obrazy"</string>
+    <string name="pref_content_load_images_summary">"Wyświetlaj obrazy na stronach WWW"</string>
+    <string name="pref_content_block_popups">"Blokuj wyskakujące okna"</string>
+    <string name="pref_content_javascript">"Włącz skrypty JavaScript"</string>
+    <string name="pref_content_open_in_background">"Otwórz w tle"</string>
+    <string name="pref_content_open_in_background_summary">"Nowe okna są otwierane w tle"</string>
+    <string name="pref_content_homepage">"Ustaw stronę główną"</string>
+    <string name="pref_content_autofit">"Autodopasowanie stron"</string>
+    <string name="pref_content_autofit_summary">"Formatuj strony WWW, aby mieściły się na ekranie"</string>
+    <string name="pref_privacy_title">"Ustawienia prywatności"</string>
+    <string name="pref_privacy_clear_cache">"Wyczyść pamięć podręczną"</string>
+    <string name="pref_privacy_clear_cache_summary">"Usuń całą zawartość stron z pamięci podręcznej"</string>
+    <string name="pref_privacy_clear_cache_dlg">"Pamięć podręczna zostanie wyczyszczona."</string>
+    <string name="pref_privacy_clear_cookies">"Wyczyść wszystkie pliki cookie"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Wyczyść pliki cookie przeglądarki"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Wszystkie pliki cookie zostaną usunięte."</string>
+    <string name="pref_privacy_clear_history">"Wyczyść historię"</string>
+    <string name="pref_privacy_clear_history_summary">"Wyczyść historię przeglądania"</string>
+    <string name="pref_privacy_clear_history_dlg">"Historia przeglądania zostanie wyczyszczona."</string>
+    <string name="pref_privacy_clear_form_data">"Wyczyść dane formularzy"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Usuń wszystkie zapisane dane formularzy"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Wszystkie zapamiętane dane formularzy zostaną wyczyszczone."</string>
+    <string name="pref_privacy_clear_passwords">"Wyczyść hasła"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Wyczyść wszystkie zapamiętane hasła"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Wszystkie zapamiętane hasła zostaną wyczyszczone."</string>
+    <string name="pref_security_title">"Ustawienia zabezpieczeń"</string>
+    <string name="pref_security_remember_passwords">"Pamiętaj hasła"</string>
+    <string name="pref_security_remember_passwords_summary">"Zapamiętuj nazwy użytkownika i hasła do stron WWW"</string>
+    <string name="pref_security_save_form_data">"Pamiętaj wpisane dane"</string>
+    <string name="pref_security_save_form_data_summary">"Zapamiętuj do późniejszego użycia dane, które wpisuję w formularzach"</string>
+    <string name="pref_security_show_security_warning">"Wyświetlaj ostrzeżenia"</string>
+    <string name="pref_security_show_security_warning_summary">"Wyświetl ostrzeżenie w razie problemów z zabezpieczeniami strony"</string>
+    <string name="pref_security_accept_cookies">"Akceptuj pliki cookie"</string>
+    <string name="pref_security_accept_cookies_summary">"Zezwalaj witrynom na zapis i odczyt danych w plikach cookie"</string>
+    <string name="pref_text_size">"Rozmiar tekstu"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Bardzo mały"</item>
-    <item msgid="1950030433642671460">"Mały"</item>
-    <item msgid="4338347520133294584">"Normalny"</item>
-    <item msgid="5043128215356351184">"Duży"</item>
-    <item msgid="7201512237890458902">"Bardzo duży"</item>
+    <item>"Bardzo mały"</item>
+    <item>"Mały"</item>
+    <item>"Normalny"</item>
+    <item>"Duży"</item>
+    <item>"Bardzo duży"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Rozmiar tekstu"</string>
-    <string name="pref_default_zoom" msgid="8076142259097187395">"Powiększenie domyślne"</string>
+    <string name="pref_text_size_dialogtitle">"Rozmiar tekstu"</string>
+    <string name="pref_default_zoom">"Powiększenie domyślne"</string>
   <string-array name="pref_default_zoom_choices">
-    <item msgid="549583171195154919">"Małe"</item>
-    <item msgid="5619034257768161024">"Średnie"</item>
-    <item msgid="3840999588443167001">"Duże"</item>
+    <item>"Małe"</item>
+    <item>"Średnie"</item>
+    <item>"Duże"</item>
   </string-array>
-    <string name="pref_default_zoom_dialogtitle" msgid="6095974367125109021">"Powiększenie domyślne"</string>
-    <string name="pref_extras_title" msgid="3091250467679722382">"Ustawienia zaawansowane"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Włącz dodatek Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Aplikacje rozszerzające zakres funkcji przeglądarki"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Ustawienia dodatku Gears"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Lista dodatków plug-in"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Brak zainstalowanych dodatków plug-in."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Aplikacje rozszerzające zakres funkcji przeglądarki"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Przywróć wartości domyślne"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Wyczyść wszystkie dane przeglądarki i przywróć wszystkie ustawienia domyślne"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Wszystkie dane przeglądarki zostaną wyczyszczone, a ustawienia powrócą do wartości domyślnych."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Przywróć wartości domyślne"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Debugowanie"</string>
-    <string name="pref_default_text_encoding" msgid="5742965543955558478">"Kodowanie tekstu"</string>
+    <string name="pref_default_zoom_dialogtitle">"Powiększenie domyślne"</string>
+    <string name="pref_extras_title">"Ustawienia zaawansowane"</string>
+    <string name="pref_extras_reset_default">"Przywróć wartości domyślne"</string>
+    <string name="pref_extras_reset_default_summary">"Wyczyść wszystkie dane przeglądarki i przywróć wszystkie ustawienia domyślne"</string>
+    <string name="pref_extras_reset_default_dlg">"Wszystkie dane przeglądarki zostaną wyczyszczone, a ustawienia powrócą do wartości domyślnych."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Przywróć wartości domyślne"</string>
+    <string name="pref_development_title">"Debugowanie"</string>
+    <string name="pref_default_text_encoding">"Kodowanie tekstu"</string>
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japoński (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japoński (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japoński (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japoński (ISO-2022-JP)"</item>
+    <item>"Japoński (SHIFT_JIS)"</item>
+    <item>"Japoński (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Kodowanie tekstu"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latin-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Przekieruj"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Ta strona WWW jest przekierowywana. Czy wysłać wpisane dane formularza do nowej lokalizacji?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Problem z łącznością danych"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Problem z plikiem"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Potwierdzenie"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"Strona, którą próbujesz wyświetlić, zawiera dane, które już przesłano („POSTDATA”). Jeśli wyślesz te dane ponownie, wszelkie operacje wykonane przez formularz na tej stronie (np. wyszukiwanie lub zakup online) zostaną powtórzone."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Brak połączenia z siecią"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"Ładowanie strony będzie kontynuowane po przywróceniu połączenia."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Wyczyść historię"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Ostatnio odwiedzane strony"</string>
-    <string name="empty_history" msgid="8738772352308207274">"Historia przeglądarki jest pusta."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Dodaj do zakładek..."</string>
-    <string name="no_database" msgid="2256698896757181084">"Brak bazy danych!"</string>
-    <string name="search_hint" msgid="3385577802557697397">"Wpisz adres WWW"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Otwórz"</string>
-    <string name="search_settings_description" msgid="1422401062529014107">"Zakładki i historia przeglądanych zasobów sieciowych"</string>
-    <string name="attention" msgid="3473639060042811244">"Uwaga"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Ta strona próbuje otworzyć okienko wyskakujące."</string>
-    <string name="allow" msgid="1157313689171991335">"Zezwól"</string>
-    <string name="block" msgid="9172175889884707800">"Zablokuj"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Osiągnięto limit liczby okien"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Nie można otworzyć nowego okna, ponieważ jest już otwarta maksymalna liczba okien."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Okienko wyskakujące jest już otwarte"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Nie można otworzyć nowego okienka wyskakującego, ponieważ otwarte może być tylko jedno w danej chwili."</string>
-    <string name="download_title" msgid="2122874021047565594">"Historia pobierania"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Nieznane&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Otwórz"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Usuń z listy"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Anuluj pobieranie"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Anuluj pobieranie wszystkich plików"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Wyczyść listę"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Wyczyść"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Wszystkie pozycje zostaną usunięte z listy i z pamięci podręcznej przeglądarki."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Anuluj wszystkie pobierania"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Wszystkie pobierane pliki (<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g>) zostaną anulowane i usunięte z historii pobierania."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Brak miejsca"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"Nie można pobrać pliku <xliff:g id="FILENAME">%s</xliff:g>."\n" Zwolnij trochę miejsca w telefonie i spróbuj ponownie."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Pobieranie nie powiodło się"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"Brak karty SD"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Do pobrania pliku <xliff:g id="FILENAME">%s</xliff:g> potrzebna jest karta SD."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"Karta SD jest niedostępna"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"Karta SD jest zajęta. Aby umożliwić pobieranie, wybierz w powiadomieniu opcję „Wyłącz nośnik USB”."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Nie można znaleźć pliku do otwarcia tego programu."</string>
-    <string name="retry" msgid="1835923075542266721">"Spróbuj ponownie"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"Historia pobierania jest pusta."</string>
-    <string name="download_error" msgid="413496839831257187">"Pobieranie nie powiodło się."</string>
-    <string name="download_success" msgid="2279041638155595203">"Pobieranie pliku <xliff:g id="FILE">%s</xliff:g> zakończone."</string>
-    <string name="download_running" msgid="2622942231322015059">"Trwa pobieranie…"</string>
-    <string name="download_pending" msgid="2599683668575349559">"Rozpoczynanie pobierania"</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"Oczekiwanie na połączenie danych…"</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"Oczekiwanie na połączenie danych..."</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Pobieranie anulowane."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"Pobranie niemożliwe. Ta zawartość nie jest obsługiwana przez ten telefon."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"Nie można ukończyć pobierania. Za mało miejsca."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"Pobieranie niemożliwe. Nie można ustalić rozmiaru elementu."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"Pobieranie zostało przerwane. Nie można go wznowić."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Uruchamianie testów przeglądarki"</string>
-    <string name="homepage_base" msgid="7888126987935305566">"http://www.google.com/m?client=ms-{CID}"</string>
-    <string name="search_the_web" msgid="6046130189241962337">"Szukaj w internecie"</string>
-    <string name="query_data_prompt" msgid="5474381240981604223">"Zezwól na zapis"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Ta witryna internetowa chce zapisać informacje w telefonie."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Dostęp do informacji o Twojej lokalizacji"</string>
-    <string name="location_message" msgid="1729456751935683242">"Ta witryna internetowa chce uzyskać dostęp do informacji o Twojej lokalizacji."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Utwórz skrót"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Ta witryna internetowa chce utworzyć skrót do tej strony na Twoim ekranie głównym."</string>
-    <string name="settings_message" msgid="6171686603006325199">"W poniższej tabeli przedstawiono uprawnienia udzielone każdej z witryn próbujących użyć dodatku Gears."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Wybór plików"</string>
-    <string name="image_message" msgid="5450245866521896891">"Wybrany obraz"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Ustawienia dodatku Gears"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Przeczytaj zasady zachowania poufności informacji witryny, aby dowiedzieć się, jak będą użyte informacje o twojej lokalizacji."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Zezwól na zapis lokalnie"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Ta witryna może zapisać informacje w telefonie"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Ta witryna nie może zapisać informacji w telefonie"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Zezwól na wykrycie lokalizacji"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Ta witryna może odczytać informacje o Twojej bieżącej lokalizacji"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Ta witryna nie może odczytać informacji o Twojej bieżącej lokalizacji"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Usuń tę witrynę z dodatku Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Brak ustawionych pozwoleń"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Usuń tę witrynę"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Wszystkie pozwolenia zostaną wyczyszczone, a wszelkie dane zapisane w telefonie przez tę witrynę zostaną usunięte."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Ta witryna zapisze informacje w tym telefonie."\n" Zmień to ustawienie w menu:"\n" Ustawienia -&gt; Ustawienia dodatku Gears"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Ta witryna nigdy nie zapisze informacji w tym telefonie."\n" Zmień to ustawienie w menu:"\n" Ustawienia -&gt; Ustawienia dodatku Gears"</string>
-    <string name="location_notification" msgid="3495804750470905804">"Ta witryna może uzyskać dostęp do informacji o Twojej bieżącej lokalizacji."\n" Zmień to ustawienie w menu:"\n" Ustawienia -&gt; Ustawienia dodatku Gears"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Ta witryna nie uzyska dostępu do informacji o Twojej bieżącej lokalizacji."\n" Zmień to ustawienie w menu:"\n" Ustawienia -&gt; Ustawienia dodatku Gears"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Skrót został utworzony"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Nigdy nie zezwalaj"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"OK"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Anuluj"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Nigdy nie zezwalaj"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"OK"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Anuluj"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Zastosuj"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Anuluj"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"OK"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Anuluj"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"ścieżka:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Nie wybrano żadnych plików"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Wybrano jeden plik"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"plików wybrano"</string>
-    <string name="remove" msgid="7820112494467011374">"Usuń"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Pamięć lokalna"</string>
-    <string name="allowed" msgid="1599514934221911624">"Zezwolono"</string>
-    <string name="denied" msgid="7470209521858372968">"Odmówiono"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Nierozpoznany typ okna dialogowego"</string>
-    <string name="default_button" msgid="3901922329454578908">"OK"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Widok ogólny"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Kodowanie tekstu"</string>
+    <string name="pref_default_text_encoding_default">"Latin-1"</string>
+    <string name="browserFrameRedirect">"Przekieruj"</string>
+    <string name="browserFrame307Post">"Ta strona WWW jest przekierowywana. Czy wysłać wpisane dane formularza do nowej lokalizacji?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Problem z łącznością danych"</string>
+    <string name="browserFrameFileErrorLabel">"Problem z plikiem"</string>
+    <string name="browserFrameFormResubmitLabel">"Potwierdzenie"</string>
+    <string name="browserFrameFormResubmitMessage">"Strona, którą próbujesz wyświetlić, zawiera dane, które już przesłano („POSTDATA”). Jeśli wyślesz te dane ponownie, wszelkie operacje wykonane przez formularz na tej stronie (np. wyszukiwanie lub zakup online) zostaną powtórzone."</string>
+    <string name="loadSuspendedTitle">"Brak połączenia z siecią"</string>
+    <string name="loadSuspended">"Ładowanie strony będzie kontynuowane po przywróceniu połączenia."</string>
+    <string name="clear_history">"Wyczyść historię"</string>
+    <string name="browser_history">"Ostatnio odwiedzane strony"</string>
+    <string name="empty_history">"Historia przeglądarki jest pusta."</string>
+    <string name="add_new_bookmark">"Dodaj do zakładek..."</string>
+    <string name="no_database">"Brak bazy danych!"</string>
+    <string name="search_hint">"Wpisz adres WWW"</string>
+    <string name="search_button_text">"Otwórz"</string>
+    <!-- no translation found for search_settings_description (1422401062529014107) -->
+    <skip />
+    <string name="attention">"Uwaga"</string>
+    <string name="popup_window_attempt">"Ta strona próbuje otworzyć okienko wyskakujące."</string>
+    <string name="allow">"Zezwól"</string>
+    <string name="block">"Zablokuj"</string>
+    <string name="too_many_windows_dialog_title">"Osiągnięto limit liczby okien"</string>
+    <string name="too_many_windows_dialog_message">"Nie można otworzyć nowego okna, ponieważ jest już otwarta maksymalna liczba okien."</string>
+    <string name="too_many_subwindows_dialog_title">"Okienko wyskakujące jest już otwarte"</string>
+    <string name="too_many_subwindows_dialog_message">"Nie można otworzyć nowego okienka wyskakującego, ponieważ otwarte może być tylko jedno w danej chwili."</string>
+    <string name="download_title">"Historia pobierania"</string>
+    <string name="download_unknown_filename">"&lt;Nieznane&gt;"</string>
+    <string name="download_menu_open">"Otwórz"</string>
+    <string name="download_menu_clear">"Usuń z listy"</string>
+    <string name="download_menu_cancel">"Anuluj pobieranie"</string>
+    <string name="download_menu_cancel_all">"Anuluj pobieranie wszystkich plików"</string>
+    <string name="download_menu_clear_all">"Wyczyść listę"</string>
+    <string name="download_clear_dlg_title">"Wyczyść"</string>
+    <string name="download_clear_dlg_msg">"Wszystkie pozycje zostaną usunięte z listy i z pamięci podręcznej przeglądarki."</string>
+    <string name="download_cancel_dlg_title">"Anuluj wszystkie pobierania"</string>
+    <string name="download_cancel_dlg_msg">"Wszystkie pobierane pliki (<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g>) zostaną anulowane i usunięte z historii pobierania."</string>
+    <string name="download_file_error_dlg_title">"Brak miejsca"</string>
+    <string name="download_file_error_dlg_msg">"Nie można pobrać pliku <xliff:g id="FILENAME">%s</xliff:g>."\n" Zwolnij trochę miejsca w telefonie i spróbuj ponownie."</string>
+    <string name="download_failed_generic_dlg_title">"Pobieranie nie powiodło się"</string>
+    <string name="download_no_sdcard_dlg_title">"Brak karty SD"</string>
+    <string name="download_no_sdcard_dlg_msg">"Do pobrania pliku <xliff:g id="FILENAME">%s</xliff:g> potrzebna jest karta SD."</string>
+    <string name="download_sdcard_busy_dlg_title">"Karta SD jest niedostępna"</string>
+    <string name="download_sdcard_busy_dlg_msg">"Karta SD jest zajęta. Aby umożliwić pobieranie, wybierz w powiadomieniu opcję „Wyłącz nośnik USB”."</string>
+    <string name="download_no_application">"Nie można znaleźć pliku do otwarcia tego programu."</string>
+    <string name="retry">"Spróbuj ponownie"</string>
+    <string name="no_downloads">"Historia pobierania jest pusta."</string>
+    <string name="download_error">"Pobieranie nie powiodło się."</string>
+    <string name="download_success">"Pobieranie pliku <xliff:g id="FILE">%s</xliff:g> zakończone."</string>
+    <string name="download_running">"Trwa pobieranie…"</string>
+    <string name="download_pending">"Rozpoczynanie pobierania"</string>
+    <string name="download_pending_network">"Oczekiwanie na połączenie danych…"</string>
+    <string name="download_running_paused">"Oczekiwanie na połączenie danych..."</string>
+    <string name="download_canceled">"Pobieranie anulowane."</string>
+    <string name="download_not_acceptable">"Pobranie niemożliwe. Ta zawartość nie jest obsługiwana przez ten telefon."</string>
+    <string name="download_file_error">"Nie można ukończyć pobierania. Za mało miejsca."</string>
+    <string name="download_length_required">"Pobieranie niemożliwe. Nie można ustalić rozmiaru elementu."</string>
+    <string name="download_precondition_failed">"Pobieranie zostało przerwane. Nie można go wznowić."</string>
+    <string name="activity_instrumentation_test_runner">"Uruchamianie testów przeglądarki"</string>
+    <string name="homepage_base">"http://www.google.com/m?client=ms-{CID}"</string>
+    <string name="search_the_web">"Szukaj w internecie"</string>
+    <string name="zoom_overview_button_text">"Widok ogólny"</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 930483c..5b65d02 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -15,152 +15,152 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Browser"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Marcadores"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Os mais visitados"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Histórico"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Adicionado aos marcadores"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Removido dos marcadores"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Iniciar sessão em <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
-    <string name="username" msgid="5057566336518215922">"Nome"</string>
-    <string name="password" msgid="1177138552305184404">"Palavra-passe"</string>
-    <string name="action" msgid="183105774472071343">"Iniciar sessão"</string>
+    <string name="application_name">"Browser"</string>
+    <string name="tab_bookmarks">"Marcadores"</string>
+    <string name="tab_most_visited">"Os mais visitados"</string>
+    <string name="tab_history">"Histórico"</string>
+    <string name="added_to_bookmarks">"Adicionado aos marcadores"</string>
+    <string name="removed_from_bookmarks">"Removido dos marcadores"</string>
+    <string name="sign_in_to">"Iniciar sessão em <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
+    <string name="username">"Nome"</string>
+    <string name="password">"Palavra-passe"</string>
+    <string name="action">"Iniciar sessão"</string>
     <!-- no translation found for bookmarks_search (5229596268214362873) -->
     <skip />
-    <string name="cancel" msgid="3017274947407233702">"Cancelar"</string>
-    <string name="ok" msgid="1509280796718850364">"OK"</string>
+    <string name="cancel">"Cancelar"</string>
+    <string name="ok">"OK"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Sem correspondência"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 correspondência"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> correspondências"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> correspondências"</item>
+    <item quantity="zero">"Sem correspondência"</item>
+    <item quantity="one">"1 correspondência"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> correspondências"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> correspondências"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Informações da página"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Ver informações da página"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Endereço:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Existem problemas com o certificado de segurança deste site."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Continuar"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Aviso de segurança"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Ver certificado"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Este certificado não pertence a uma autoridade fidedigna."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"O nome do site não corresponde ao nome constante no certificado."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Este certificado expirou."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Este certificado ainda não é válido."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Certificado de segurança"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Este certificado é válido."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Emitido para:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Nome comum:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Organização:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Unidade organizacional:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Emitido por:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Validade:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Emitido em:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Expira em:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"A obter detalhes de início de sessão..."</string>
-    <string name="stopping" msgid="4839698519340302982">"A interromper..."</string>
-    <string name="stop" msgid="5687251076030630074">"Parar"</string>
-    <string name="reload" msgid="8585220783228408062">"Actualizar"</string>
-    <string name="forward" msgid="4288210890526641577">"Avançar"</string>
-    <string name="save" msgid="5922311934992468496">"OK"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Cancelar"</string>
-    <string name="location" msgid="969988560160364559">"Local"</string>
-    <string name="name" msgid="5990326151488445481">"Nome"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Adicionar aos marcadores"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Editar marcador"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Adicionar atalho à página inicial"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Abrir"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Eliminar marcador"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Remover do histórico"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Guardado nos marcadores"</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"Os marcadores têm de ter um nome."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"O marcador tem de ter uma localização."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Não é possível criar um marcador vazio."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"O URL não é válido."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Eliminar"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Adicionar aos marcadores a última página visualizada"</string>
-    <string name="current_page" msgid="7510129573681663135">"de "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"O marcador \"<xliff:g id="BOOKMARK">%s</xliff:g>\" será eliminado."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Abrir numa janela nova"</string>
-    <string name="new_window" msgid="8117889615360211551">"Nova janela"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Ir"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Encontrar na página"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Seleccionar texto"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Visão geral das janelas"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Janelas"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Janelas actuais"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Ver"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Nova janela"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Fechar"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Adicionar aos marcadores"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Partilhar link"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Marcadores"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Marcador"</string>
-    <string name="history" msgid="2451240511251410032">"Histórico"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Transferências"</string>
-    <string name="share_page" msgid="593756995297268343">"Partilhar página"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Abrir"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Abrir numa janela nova"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Adicionar link aos marcadores"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Guardar link"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Partilhar link"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Copiar"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Copiar URL do link"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Guardar imagem"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Ver imagem"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Marcar..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Adicionar contacto"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"Enviar e-mail"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Mapa"</string>
-    <string name="clear" msgid="7070043081700011461">"Limpar"</string>
-    <string name="replace" msgid="4843033491070384047">"Substituir"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Marcadores"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Definições"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Definições de conteúdo da página"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Carregar imagens"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Apresentar imagens em páginas Web"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Bloquear janelas de pop-up"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"Activar JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Abrir em segundo plano"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"As novas janelas serão abertas atrás da janela actual"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Definir página inicial"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Ajustar páginas automaticamente"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Formatar páginas Web para se ajustarem ao ecrã"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Definições de privacidade"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Limpar cache"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Eliminar todo o conteúdo de páginas em cache"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"A cache será limpa."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Limpar todos os dados de cookies"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Limpar todos os cookies do browser"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Todos os cookies serão limpos."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Limpar histórico"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Limpar o histórico de navegação do browser"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"O histórico de navegação do browser será limpo."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Limpar dados de formulário"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Limpar todos os dados de formulário guardados"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Todos os dados de formulário guardados serão limpos."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Limpar palavras-passe"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Limpar todas as palavras-passe guardadas"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Todas as palavras-passe guardadas serão limpas."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Definições de segurança"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Lembrar palavras-passe"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Guardar nomes de utilizador e palavras-passe de Web sites"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Lembrar dados de formulário"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Lembrar dados introduzidos em formulários para utilização posterior"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Mostrar avisos de segurança"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Mostrar aviso se ocorrer um problema com a segurança de um site"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Aceitar cookies"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Permitir que os sites guardem e leiam dados de \"cookies\""</string>
+    <string name="page_info">"Informações da página"</string>
+    <string name="page_info_view">"Ver informações da página"</string>
+    <string name="page_info_address">"Endereço:"</string>
+    <string name="ssl_warnings_header">"Existem problemas com o certificado de segurança deste site."</string>
+    <string name="ssl_continue">"Continuar"</string>
+    <string name="security_warning">"Aviso de segurança"</string>
+    <string name="view_certificate">"Ver certificado"</string>
+    <string name="ssl_untrusted">"Este certificado não pertence a uma autoridade fidedigna."</string>
+    <string name="ssl_mismatch">"O nome do site não corresponde ao nome constante no certificado."</string>
+    <string name="ssl_expired">"Este certificado expirou."</string>
+    <string name="ssl_not_yet_valid">"Este certificado ainda não é válido."</string>
+    <string name="ssl_certificate">"Certificado de segurança"</string>
+    <string name="ssl_certificate_is_valid">"Este certificado é válido."</string>
+    <string name="issued_to">"Emitido para:"</string>
+    <string name="common_name">"Nome comum:"</string>
+    <string name="org_name">"Organização:"</string>
+    <string name="org_unit">"Unidade organizacional:"</string>
+    <string name="issued_by">"Emitido por:"</string>
+    <string name="validity_period">"Validade:"</string>
+    <string name="issued_on">"Emitido em:"</string>
+    <string name="expires_on">"Expira em:"</string>
+    <string name="retrieving_creds_dlg_msg">"A obter detalhes de início de sessão..."</string>
+    <string name="stopping">"A interromper..."</string>
+    <string name="stop">"Parar"</string>
+    <string name="reload">"Actualizar"</string>
+    <string name="forward">"Avançar"</string>
+    <string name="save">"OK"</string>
+    <string name="do_not_save">"Cancelar"</string>
+    <string name="location">"Local"</string>
+    <string name="name">"Nome"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Adicionar aos marcadores"</string>
+    <string name="edit_bookmark">"Editar marcador"</string>
+    <string name="create_shortcut_bookmark">"Adicionar atalho à página inicial"</string>
+    <string name="open_bookmark">"Abrir"</string>
+    <string name="remove_bookmark">"Eliminar marcador"</string>
+    <string name="remove_history_item">"Remover do histórico"</string>
+    <string name="bookmark_saved">"Guardado nos marcadores"</string>
+    <string name="bookmark_needs_title">"Os marcadores têm de ter um nome."</string>
+    <string name="bookmark_needs_url">"O marcador tem de ter uma localização."</string>
+    <string name="empty_bookmark">"Não é possível criar um marcador vazio."</string>
+    <string name="bookmark_url_not_valid">"O URL não é válido."</string>
+    <string name="delete_bookmark">"Eliminar"</string>
+    <string name="bookmark_page">"Adicionar aos marcadores a última página visualizada"</string>
+    <string name="current_page">"de "</string>
+    <string name="delete_bookmark_warning">"O marcador \"<xliff:g id="BOOKMARK">%s</xliff:g>\" será eliminado."</string>
+    <string name="open_in_new_window">"Abrir numa janela nova"</string>
+    <string name="new_window">"Nova janela"</string>
+    <string name="goto_dot">"Ir"</string>
+    <string name="find_dot">"Encontrar na página"</string>
+    <string name="select_dot">"Seleccionar texto"</string>
+    <string name="view_tabs">"Visão geral das janelas"</string>
+    <string name="view_tabs_condensed">"Janelas"</string>
+    <string name="tab_picker_title">"Janelas actuais"</string>
+    <string name="tab_picker_view_tab">"Ver"</string>
+    <string name="tab_picker_new_tab">"Nova janela"</string>
+    <string name="tab_picker_remove_tab">"Fechar"</string>
+    <string name="tab_picker_bookmark">"Adicionar aos marcadores"</string>
+    <string name="tab_picker_send_url">"Partilhar link"</string>
+    <string name="bookmarks">"Marcadores"</string>
+    <string name="shortcut_bookmark">"Marcador"</string>
+    <string name="history">"Histórico"</string>
+    <string name="menu_view_download">"Transferências"</string>
+    <string name="share_page">"Partilhar página"</string>
+    <string name="contextmenu_openlink">"Abrir"</string>
+    <string name="contextmenu_openlink_newwindow">"Abrir numa janela nova"</string>
+    <string name="contextmenu_bookmark_thislink">"Adicionar link aos marcadores"</string>
+    <string name="contextmenu_savelink">"Guardar link"</string>
+    <string name="contextmenu_sharelink">"Partilhar link"</string>
+    <string name="contextmenu_copy">"Copiar"</string>
+    <string name="contextmenu_copylink">"Copiar URL do link"</string>
+    <string name="contextmenu_download_image">"Guardar imagem"</string>
+    <string name="contextmenu_view_image">"Ver imagem"</string>
+    <string name="contextmenu_dial_dot">"Marcar..."</string>
+    <string name="contextmenu_add_contact">"Adicionar contacto"</string>
+    <string name="contextmenu_send_mail">"Enviar e-mail"</string>
+    <string name="contextmenu_map">"Mapa"</string>
+    <string name="clear">"Limpar"</string>
+    <string name="replace">"Substituir"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Marcadores"</string>
+    <string name="menu_preferences">"Definições"</string>
+    <string name="pref_content_title">"Definições de conteúdo da página"</string>
+    <string name="pref_content_load_images">"Carregar imagens"</string>
+    <string name="pref_content_load_images_summary">"Apresentar imagens em páginas Web"</string>
+    <string name="pref_content_block_popups">"Bloquear janelas de pop-up"</string>
+    <string name="pref_content_javascript">"Activar JavaScript"</string>
+    <string name="pref_content_open_in_background">"Abrir em segundo plano"</string>
+    <string name="pref_content_open_in_background_summary">"As novas janelas serão abertas atrás da janela actual"</string>
+    <string name="pref_content_homepage">"Definir página inicial"</string>
+    <string name="pref_content_autofit">"Ajustar páginas automaticamente"</string>
+    <string name="pref_content_autofit_summary">"Formatar páginas Web para se ajustarem ao ecrã"</string>
+    <string name="pref_privacy_title">"Definições de privacidade"</string>
+    <string name="pref_privacy_clear_cache">"Limpar cache"</string>
+    <string name="pref_privacy_clear_cache_summary">"Eliminar todo o conteúdo de páginas em cache"</string>
+    <string name="pref_privacy_clear_cache_dlg">"A cache será limpa."</string>
+    <string name="pref_privacy_clear_cookies">"Limpar todos os dados de cookies"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Limpar todos os cookies do browser"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Todos os cookies serão limpos."</string>
+    <string name="pref_privacy_clear_history">"Limpar histórico"</string>
+    <string name="pref_privacy_clear_history_summary">"Limpar o histórico de navegação do browser"</string>
+    <string name="pref_privacy_clear_history_dlg">"O histórico de navegação do browser será limpo."</string>
+    <string name="pref_privacy_clear_form_data">"Limpar dados de formulário"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Limpar todos os dados de formulário guardados"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Todos os dados de formulário guardados serão limpos."</string>
+    <string name="pref_privacy_clear_passwords">"Limpar palavras-passe"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Limpar todas as palavras-passe guardadas"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Todas as palavras-passe guardadas serão limpas."</string>
+    <string name="pref_security_title">"Definições de segurança"</string>
+    <string name="pref_security_remember_passwords">"Lembrar palavras-passe"</string>
+    <string name="pref_security_remember_passwords_summary">"Guardar nomes de utilizador e palavras-passe de Web sites"</string>
+    <string name="pref_security_save_form_data">"Lembrar dados de formulário"</string>
+    <string name="pref_security_save_form_data_summary">"Lembrar dados introduzidos em formulários para utilização posterior"</string>
+    <string name="pref_security_show_security_warning">"Mostrar avisos de segurança"</string>
+    <string name="pref_security_show_security_warning_summary">"Mostrar aviso se ocorrer um problema com a segurança de um site"</string>
+    <string name="pref_security_accept_cookies">"Aceitar cookies"</string>
+    <string name="pref_security_accept_cookies_summary">"Permitir que os sites guardem e leiam dados de \"cookies\""</string>
     <!-- no translation found for pref_text_size (3827031324346612208) -->
     <skip />
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Muito pequeno"</item>
-    <item msgid="1950030433642671460">"Pequeno"</item>
-    <item msgid="4338347520133294584">"Normal"</item>
-    <item msgid="5043128215356351184">"Grande"</item>
-    <item msgid="7201512237890458902">"Muito grande"</item>
+    <item>"Muito pequeno"</item>
+    <item>"Pequeno"</item>
+    <item>"Normal"</item>
+    <item>"Grande"</item>
+    <item>"Muito grande"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Tamanho do texto"</string>
+    <string name="pref_text_size_dialogtitle">"Tamanho do texto"</string>
     <!-- no translation found for pref_default_zoom (8076142259097187395) -->
     <skip />
     <!-- no translation found for pref_default_zoom_choices:0 (549583171195154919) -->
@@ -168,136 +168,84 @@
     <!-- no translation found for pref_default_zoom_choices:2 (3840999588443167001) -->
     <!-- no translation found for pref_default_zoom_dialogtitle (6095974367125109021) -->
     <skip />
-    <string name="pref_extras_title" msgid="3091250467679722382">"Definições avançadas"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Activar o Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Aplicações que aumentam a funcionalidade do browser"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Definições do Gears"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Lista de plug-ins"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Nenhum plug-in instalado."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Aplicações que aumentam a funcionalidade do browser"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Repor as predefinições"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Limpar todos os dados do browser e repor todas as predefinições"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Todos os dados do browser serão limpos e as definições serão repostas para os valores predefinidos."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Repor as predefinições"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Depuração"</string>
+    <string name="pref_extras_title">"Definições avançadas"</string>
+    <string name="pref_extras_reset_default">"Repor as predefinições"</string>
+    <string name="pref_extras_reset_default_summary">"Limpar todos os dados do browser e repor todas as predefinições"</string>
+    <string name="pref_extras_reset_default_dlg">"Todos os dados do browser serão limpos e as definições serão repostas para os valores predefinidos."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Repor as predefinições"</string>
+    <string name="pref_development_title">"Depuração"</string>
     <!-- no translation found for pref_default_text_encoding (5742965543955558478) -->
     <skip />
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latim-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japonês (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japonês (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japonês (EUC-JP)"</item>
+    <item>"Latim-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japonês (ISO-2022-JP)"</item>
+    <item>"Japonês (SHIFT_JIS)"</item>
+    <item>"Japonês (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Codificação do texto"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latim-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Redireccionar"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Esta página Web está a ser redireccionada. Pretende reenviar os dados de formulário introduzidos para a nova localização?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Problema de conectividade de dados"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Problemas com o ficheiro"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Confirmar"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"A página que está a tentar visualizar contém dados enviados anteriormente (\"REGISTDADOS\"). Se reenviar os dados, qualquer acção já tomada pelo formulário da página (como uma pesquisa ou compra on-line) será repetida."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Sem ligação de rede"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"O carregamento desta página será retomado depois do restabelecimento da ligação."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Limpar histórico"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Páginas visitadas recentemente"</string>
-    <string name="empty_history" msgid="8738772352308207274">"O histórico do browser está vazio."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Adicionar marcador..."</string>
-    <string name="no_database" msgid="2256698896757181084">"Não existe base de dados!"</string>
-    <string name="search_hint" msgid="3385577802557697397">"Escreva o endereço Web"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Ir"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Codificação do texto"</string>
+    <string name="pref_default_text_encoding_default">"Latim-1"</string>
+    <string name="browserFrameRedirect">"Redireccionar"</string>
+    <string name="browserFrame307Post">"Esta página Web está a ser redireccionada. Pretende reenviar os dados de formulário introduzidos para a nova localização?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Problema de conectividade de dados"</string>
+    <string name="browserFrameFileErrorLabel">"Problemas com o ficheiro"</string>
+    <string name="browserFrameFormResubmitLabel">"Confirmar"</string>
+    <string name="browserFrameFormResubmitMessage">"A página que está a tentar visualizar contém dados enviados anteriormente (\"REGISTDADOS\"). Se reenviar os dados, qualquer acção já tomada pelo formulário da página (como uma pesquisa ou compra on-line) será repetida."</string>
+    <string name="loadSuspendedTitle">"Sem ligação de rede"</string>
+    <string name="loadSuspended">"O carregamento desta página será retomado depois do restabelecimento da ligação."</string>
+    <string name="clear_history">"Limpar histórico"</string>
+    <string name="browser_history">"Páginas visitadas recentemente"</string>
+    <string name="empty_history">"O histórico do browser está vazio."</string>
+    <string name="add_new_bookmark">"Adicionar marcador..."</string>
+    <string name="no_database">"Não existe base de dados!"</string>
+    <string name="search_hint">"Escreva o endereço Web"</string>
+    <string name="search_button_text">"Ir"</string>
     <!-- no translation found for search_settings_description (1422401062529014107) -->
     <skip />
-    <string name="attention" msgid="3473639060042811244">"Atenção"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Este site está a tentar abrir uma janela de pop-up."</string>
-    <string name="allow" msgid="1157313689171991335">"Permitir"</string>
-    <string name="block" msgid="9172175889884707800">"Bloquear"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Limite de janelas alcançado"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Não foi possível abrir uma nova janela porque o número máximo de janelas abertas foi atingido."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Janela de pop-up já aberta"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Não foi possível abrir uma nova janela de pop-up, pois só é permitido abrir uma de cada vez."</string>
-    <string name="download_title" msgid="2122874021047565594">"Histórico de transferências"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Desconhecido&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Abrir"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Limpar da lista"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Cancelar transferência"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Cancelar todas as transferências"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Limpar lista"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Limpar"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Todos os itens serão limpos da lista e removidos da cache do browser."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Cancelar transferências"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"As <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> transferências serão canceladas e limpas do histórico de transferências."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Sem espaço"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"Não foi possível transferir <xliff:g id="FILENAME">%s</xliff:g>. "\n"Liberte algum espaço no telefone e tente novamente."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Falha na transferência"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"Sem cartão SD"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"É necessário um cartão SD para transferir <xliff:g id="FILENAME">%s</xliff:g>."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"Cartão SD não disponível"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"O cartão SD está ocupado. Para permitir as transferências, seleccione \"Desactivar armazenamento USB\" na notificação."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Nenhuma aplicação encontrada para abrir este ficheiro."</string>
-    <string name="retry" msgid="1835923075542266721">"Tentar novamente"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"O histórico de transferências está vazio."</string>
-    <string name="download_error" msgid="413496839831257187">"Falha na transferência."</string>
-    <string name="download_success" msgid="2279041638155595203">"Transferência de <xliff:g id="FILE">%s</xliff:g> concluída."</string>
-    <string name="download_running" msgid="2622942231322015059">"A transferir..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"A iniciar a transferência..."</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"A aguardar ligação de dados…"</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"A aguardar ligação de dados…"</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Transferência cancelada."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"Não é possível transferir. Este conteúdo não é suportado pelo telefone."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"Não é possível concluir a transferência. Não existe espaço suficiente."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"Não é possível transferir porque o tamanho do item é indeterminado."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"A transferência foi interrompida e não pode ser retomada."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Teste de browser"</string>
+    <string name="attention">"Atenção"</string>
+    <string name="popup_window_attempt">"Este site está a tentar abrir uma janela de pop-up."</string>
+    <string name="allow">"Permitir"</string>
+    <string name="block">"Bloquear"</string>
+    <string name="too_many_windows_dialog_title">"Limite de janelas alcançado"</string>
+    <string name="too_many_windows_dialog_message">"Não foi possível abrir uma nova janela porque o número máximo de janelas abertas foi atingido."</string>
+    <string name="too_many_subwindows_dialog_title">"Janela de pop-up já aberta"</string>
+    <string name="too_many_subwindows_dialog_message">"Não foi possível abrir uma nova janela de pop-up, pois só é permitido abrir uma de cada vez."</string>
+    <string name="download_title">"Histórico de transferências"</string>
+    <string name="download_unknown_filename">"&lt;Desconhecido&gt;"</string>
+    <string name="download_menu_open">"Abrir"</string>
+    <string name="download_menu_clear">"Limpar da lista"</string>
+    <string name="download_menu_cancel">"Cancelar transferência"</string>
+    <string name="download_menu_cancel_all">"Cancelar todas as transferências"</string>
+    <string name="download_menu_clear_all">"Limpar lista"</string>
+    <string name="download_clear_dlg_title">"Limpar"</string>
+    <string name="download_clear_dlg_msg">"Todos os itens serão limpos da lista e removidos da cache do browser."</string>
+    <string name="download_cancel_dlg_title">"Cancelar transferências"</string>
+    <string name="download_cancel_dlg_msg">"As <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> transferências serão canceladas e limpas do histórico de transferências."</string>
+    <string name="download_file_error_dlg_title">"Sem espaço"</string>
+    <string name="download_file_error_dlg_msg">"Não foi possível transferir <xliff:g id="FILENAME">%s</xliff:g>. "\n"Liberte algum espaço no telefone e tente novamente."</string>
+    <string name="download_failed_generic_dlg_title">"Falha na transferência"</string>
+    <string name="download_no_sdcard_dlg_title">"Sem cartão SD"</string>
+    <string name="download_no_sdcard_dlg_msg">"É necessário um cartão SD para transferir <xliff:g id="FILENAME">%s</xliff:g>."</string>
+    <string name="download_sdcard_busy_dlg_title">"Cartão SD não disponível"</string>
+    <string name="download_sdcard_busy_dlg_msg">"O cartão SD está ocupado. Para permitir as transferências, seleccione \"Desactivar armazenamento USB\" na notificação."</string>
+    <string name="download_no_application">"Nenhuma aplicação encontrada para abrir este ficheiro."</string>
+    <string name="retry">"Tentar novamente"</string>
+    <string name="no_downloads">"O histórico de transferências está vazio."</string>
+    <string name="download_error">"Falha na transferência."</string>
+    <string name="download_success">"Transferência de <xliff:g id="FILE">%s</xliff:g> concluída."</string>
+    <string name="download_running">"A transferir..."</string>
+    <string name="download_pending">"A iniciar a transferência..."</string>
+    <string name="download_pending_network">"A aguardar ligação de dados…"</string>
+    <string name="download_running_paused">"A aguardar ligação de dados…"</string>
+    <string name="download_canceled">"Transferência cancelada."</string>
+    <string name="download_not_acceptable">"Não é possível transferir. Este conteúdo não é suportado pelo telefone."</string>
+    <string name="download_file_error">"Não é possível concluir a transferência. Não existe espaço suficiente."</string>
+    <string name="download_length_required">"Não é possível transferir porque o tamanho do item é indeterminado."</string>
+    <string name="download_precondition_failed">"A transferência foi interrompida e não pode ser retomada."</string>
+    <string name="activity_instrumentation_test_runner">"Teste·de·browser"</string>
     <!-- no translation found for homepage_base (7888126987935305566) -->
     <skip />
     <!-- no translation found for search_the_web (6046130189241962337) -->
     <skip />
-    <string name="query_data_prompt" msgid="5474381240981604223">"Permitir armazenamento"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Este Web site pretende armazenar informações no seu telefone."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Aceder à sua localização"</string>
-    <string name="location_message" msgid="1729456751935683242">"Este Web site pretende ter acesso à sua localização."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Criar um atalho"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Este Web site pretende criar um atalho para esta página no seu ecrã inicial."</string>
-    <string name="settings_message" msgid="6171686603006325199">"A tabela seguinte mostra as permissões concedidas a cada site que tenha tentado utilizar o Gears."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Seleccionador de ficheiros"</string>
-    <string name="image_message" msgid="5450245866521896891">"Imagem escolhida"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Definições do Gears"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Leia a política de privacidade do site para saber que uso será dado à sua localização."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Permitir armazenamento local"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Este site pode guardar informações no seu telefone"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Este site não consegue guardar informações no seu telefone"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Permitir detecção de localização"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Este site não consegue ler a sua localização actual"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Este site não consegue ler a sua localização actual"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Remover este site do Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Sem permissões definidas"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Remover este site"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Todas as permissões serão limpas e quaisquer dados armazenados no telefone pelo site serão eliminados."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Este site irá armazenar informações neste telefone. "\n" Altere esta definição em:"\n" Definições -&gt; Definições do Gears"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Este site nunca irá armazenar informações neste telefone. "\n" Altere esta definição em:"\n" Definições -&gt; Definições do Gears"</string>
-    <string name="location_notification" msgid="3495804750470905804">"Este site tem acesso à sua localização actual. "\n" Altere esta definição em: "\n" Definições -&gt; Definições do Gears"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Este site não irá aceder à sua localização actual."\n" Altere esta definição em: "\n" Definições -&gt; Definições do Gears"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Atalho criado"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Nunca permitir"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"OK"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Cancelar"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Nunca permitir"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"OK"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Cancelar"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Aplicar"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Cancelar"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"OK"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Cancelar"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"caminho:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Nenhum ficheiro seleccionado"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Um ficheiro seleccionado"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"ficheiros seleccionados"</string>
-    <string name="remove" msgid="7820112494467011374">"Remover"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Armazenamento local"</string>
-    <string name="allowed" msgid="1599514934221911624">"Permitido"</string>
-    <string name="denied" msgid="7470209521858372968">"Negado"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Tipo de diálogo desconhecido"</string>
-    <string name="default_button" msgid="3901922329454578908">"OK"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Visão geral"</string>
+    <string name="zoom_overview_button_text">"Visão geral"</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 180d2d2..a88f3d3 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -15,151 +15,151 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Navegador"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Favoritos"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Mais visitados"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Histórico"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Adicionado aos favoritos"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Removido dos favoritos"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Fazer login no <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
-    <string name="username" msgid="5057566336518215922">"Nome"</string>
-    <string name="password" msgid="1177138552305184404">"Senha"</string>
-    <string name="action" msgid="183105774472071343">"Fazer login"</string>
+    <string name="application_name">"Navegador"</string>
+    <string name="tab_bookmarks">"Favoritos"</string>
+    <string name="tab_most_visited">"Mais visitados"</string>
+    <string name="tab_history">"Histórico"</string>
+    <string name="added_to_bookmarks">"Adicionado aos favoritos"</string>
+    <string name="removed_from_bookmarks">"Removido dos favoritos"</string>
+    <string name="sign_in_to">"Fazer login no <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
+    <string name="username">"Nome"</string>
+    <string name="password">"Senha"</string>
+    <string name="action">"Fazer login"</string>
     <!-- no translation found for bookmarks_search (5229596268214362873) -->
     <skip />
-    <string name="cancel" msgid="3017274947407233702">"Cancelar"</string>
-    <string name="ok" msgid="1509280796718850364">"OK"</string>
+    <string name="cancel">"Cancelar"</string>
+    <string name="ok">"OK"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Sem correspondências"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 correspondência"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> correspondências"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> correspondências"</item>
+    <item quantity="zero">"Sem correspondências"</item>
+    <item quantity="one">"1 correspondência"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> correspondências"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> correspondências"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Informações da página"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Visualizar informações da página"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Endereço:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Há problemas com o certificado de segurança deste site."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Continuar"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Aviso de segurança"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Visualizar certificado"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Este certificado não é de uma autoridade confiável."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"O nome do site não corresponde ao nome no certificado."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Este certificado expirou."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Este certificado ainda não é válido."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Certificado de segurança"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Este certificado é válido."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Emitido para:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Nome comum:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Organização:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Unidade organizacional:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Emitido por:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Validade:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Emitido em:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Expira em:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Recuperando detalhes do login…"</string>
-    <string name="stopping" msgid="4839698519340302982">"Parando…"</string>
-    <string name="stop" msgid="5687251076030630074">"Parar"</string>
-    <string name="reload" msgid="8585220783228408062">"Atualizar"</string>
-    <string name="forward" msgid="4288210890526641577">"Encaminhar"</string>
-    <string name="save" msgid="5922311934992468496">"OK"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Cancelar"</string>
-    <string name="location" msgid="969988560160364559">"Local"</string>
-    <string name="name" msgid="5990326151488445481">"Nome"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Favorito"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Editar favorito"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Adicionar atalho à Página inicial"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Abrir"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Excluir favorito"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Remover do histórico"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Salvo nos favoritos."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"O favorito precisa ter um nome."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"O favorito precisa ter um local."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Não é possível criar um favorito vazio."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"O URL não é válido."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Excluir"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Adicionar última página visualizada aos favoritos"</string>
-    <string name="current_page" msgid="7510129573681663135">"de "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"O favorito \"<xliff:g id="BOOKMARK">%s</xliff:g>\" será excluído."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Abrir em uma nova janela"</string>
-    <string name="new_window" msgid="8117889615360211551">"Nova janela"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Ir"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Localizar na página"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Selecione o texto"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Visão geral da janela"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Janelas"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Janelas atuais"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Exibir"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Nova janela"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Fechar"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Favorito"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Compartilhar link"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Favoritos"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Favorito"</string>
-    <string name="history" msgid="2451240511251410032">"Histórico"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Downloads"</string>
-    <string name="share_page" msgid="593756995297268343">"Compartilhar página"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Abrir"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Abrir em uma nova janela"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Link do favorito"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Salvar link"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Compartilhar link"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Copiar"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Copiar URL do link"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Salvar imagem"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Visualizar imagem"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Discar..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Adicionar contato"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"Enviar e-mail"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Mapa"</string>
-    <string name="clear" msgid="7070043081700011461">"Limpar"</string>
-    <string name="replace" msgid="4843033491070384047">"Substituir"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Favoritos"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Configurações"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Configurações do conteúdo da página"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Carregar imagens"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Exibir imagens nas páginas da web"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Bloquear janelas pop-up"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"Ativar JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Abrir em segundo plano"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"As novas janelas abrem atrás da janela atual."</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Definir a página inicial"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Ajustar páginas automaticamente"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Formatar páginas da web para se ajustarem à tela"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Configurações de privacidade"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Limpar cache"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Excluir todo conteúdo da página armazenado em cache"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"O cache será limpo."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Limpar todos os dados de cookie"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Limpar todos os cookies do navegador"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Todos os cookies serão limpos."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Limpar histórico"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Limpar o histórico de navegação do navegador"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"O histórico de navegação do navegador será limpo."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Limpar dados do formulário"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Limpar todos os dados de formulário salvos"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Todos os dados de formulário salvos serão limpos."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Limpar senhas"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Limpar todas as senhas salvas"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Todas as senhas salvas serão excluídas."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Configurações de segurança"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Lembrar senhas"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Salvar nomes de usuário e senhas de sites"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Lembrar dados do formulário"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Lembrar os dados que digitei nos formulários para uso posterior."</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Mostrar avisos de segurança"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Mostrar aviso se houver um problema com a segurança de um site."</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Aceitar cookies"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Permitir que os sites salvem e leiam dados de \"cookie\""</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"Tamanho do texto"</string>
+    <string name="page_info">"Informações da página"</string>
+    <string name="page_info_view">"Visualizar informações da página"</string>
+    <string name="page_info_address">"Endereço:"</string>
+    <string name="ssl_warnings_header">"Há problemas com o certificado de segurança deste site."</string>
+    <string name="ssl_continue">"Continuar"</string>
+    <string name="security_warning">"Aviso de segurança"</string>
+    <string name="view_certificate">"Visualizar certificado"</string>
+    <string name="ssl_untrusted">"Este certificado não é de uma autoridade confiável."</string>
+    <string name="ssl_mismatch">"O nome do site não corresponde ao nome no certificado."</string>
+    <string name="ssl_expired">"Este certificado expirou."</string>
+    <string name="ssl_not_yet_valid">"Este certificado ainda não é válido."</string>
+    <string name="ssl_certificate">"Certificado de segurança"</string>
+    <string name="ssl_certificate_is_valid">"Este certificado é válido."</string>
+    <string name="issued_to">"Emitido para:"</string>
+    <string name="common_name">"Nome comum:"</string>
+    <string name="org_name">"Organização:"</string>
+    <string name="org_unit">"Unidade organizacional:"</string>
+    <string name="issued_by">"Emitido por:"</string>
+    <string name="validity_period">"Validade:"</string>
+    <string name="issued_on">"Emitido em:"</string>
+    <string name="expires_on">"Expira em:"</string>
+    <string name="retrieving_creds_dlg_msg">"Recuperando detalhes do login…"</string>
+    <string name="stopping">"Parando…"</string>
+    <string name="stop">"Parar"</string>
+    <string name="reload">"Atualizar"</string>
+    <string name="forward">"Encaminhar"</string>
+    <string name="save">"OK"</string>
+    <string name="do_not_save">"Cancelar"</string>
+    <string name="location">"Local"</string>
+    <string name="name">"Nome"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Favorito"</string>
+    <string name="edit_bookmark">"Editar favorito"</string>
+    <string name="create_shortcut_bookmark">"Adicionar atalho à Página inicial"</string>
+    <string name="open_bookmark">"Abrir"</string>
+    <string name="remove_bookmark">"Excluir favorito"</string>
+    <string name="remove_history_item">"Remover do histórico"</string>
+    <string name="bookmark_saved">"Salvo nos favoritos."</string>
+    <string name="bookmark_needs_title">"O favorito precisa ter um nome."</string>
+    <string name="bookmark_needs_url">"O favorito precisa ter um local."</string>
+    <string name="empty_bookmark">"Não é possível criar um favorito vazio."</string>
+    <string name="bookmark_url_not_valid">"O URL não é válido."</string>
+    <string name="delete_bookmark">"Excluir"</string>
+    <string name="bookmark_page">"Adicionar última página visualizada aos favoritos"</string>
+    <string name="current_page">"de "</string>
+    <string name="delete_bookmark_warning">"O favorito \"<xliff:g id="BOOKMARK">%s</xliff:g>\" será excluído."</string>
+    <string name="open_in_new_window">"Abrir em uma nova janela"</string>
+    <string name="new_window">"Nova janela"</string>
+    <string name="goto_dot">"Ir"</string>
+    <string name="find_dot">"Localizar na página"</string>
+    <string name="select_dot">"Selecione o texto"</string>
+    <string name="view_tabs">"Visão geral da janela"</string>
+    <string name="view_tabs_condensed">"Janelas"</string>
+    <string name="tab_picker_title">"Janelas atuais"</string>
+    <string name="tab_picker_view_tab">"Exibir"</string>
+    <string name="tab_picker_new_tab">"Nova janela"</string>
+    <string name="tab_picker_remove_tab">"Fechar"</string>
+    <string name="tab_picker_bookmark">"Favorito"</string>
+    <string name="tab_picker_send_url">"Compartilhar link"</string>
+    <string name="bookmarks">"Favoritos"</string>
+    <string name="shortcut_bookmark">"Favorito"</string>
+    <string name="history">"Histórico"</string>
+    <string name="menu_view_download">"Downloads"</string>
+    <string name="share_page">"Compartilhar página"</string>
+    <string name="contextmenu_openlink">"Abrir"</string>
+    <string name="contextmenu_openlink_newwindow">"Abrir em uma nova janela"</string>
+    <string name="contextmenu_bookmark_thislink">"Link do favorito"</string>
+    <string name="contextmenu_savelink">"Salvar link"</string>
+    <string name="contextmenu_sharelink">"Compartilhar link"</string>
+    <string name="contextmenu_copy">"Copiar"</string>
+    <string name="contextmenu_copylink">"Copiar URL do link"</string>
+    <string name="contextmenu_download_image">"Salvar imagem"</string>
+    <string name="contextmenu_view_image">"Visualizar imagem"</string>
+    <string name="contextmenu_dial_dot">"Discar..."</string>
+    <string name="contextmenu_add_contact">"Adicionar contato"</string>
+    <string name="contextmenu_send_mail">"Enviar e-mail"</string>
+    <string name="contextmenu_map">"Mapa"</string>
+    <string name="clear">"Limpar"</string>
+    <string name="replace">"Substituir"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Favoritos"</string>
+    <string name="menu_preferences">"Configurações"</string>
+    <string name="pref_content_title">"Configurações do conteúdo da página"</string>
+    <string name="pref_content_load_images">"Carregar imagens"</string>
+    <string name="pref_content_load_images_summary">"Exibir imagens nas páginas da web"</string>
+    <string name="pref_content_block_popups">"Bloquear janelas pop-up"</string>
+    <string name="pref_content_javascript">"Ativar JavaScript"</string>
+    <string name="pref_content_open_in_background">"Abrir em segundo plano"</string>
+    <string name="pref_content_open_in_background_summary">"As novas janelas abrem atrás da janela atual."</string>
+    <string name="pref_content_homepage">"Definir a página inicial"</string>
+    <string name="pref_content_autofit">"Ajustar páginas automaticamente"</string>
+    <string name="pref_content_autofit_summary">"Formatar páginas da web para se ajustarem à tela"</string>
+    <string name="pref_privacy_title">"Configurações de privacidade"</string>
+    <string name="pref_privacy_clear_cache">"Limpar cache"</string>
+    <string name="pref_privacy_clear_cache_summary">"Excluir todo conteúdo da página armazenado em cache"</string>
+    <string name="pref_privacy_clear_cache_dlg">"O cache será limpo."</string>
+    <string name="pref_privacy_clear_cookies">"Limpar todos os dados de cookie"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Limpar todos os cookies do navegador"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Todos os cookies serão limpos."</string>
+    <string name="pref_privacy_clear_history">"Limpar histórico"</string>
+    <string name="pref_privacy_clear_history_summary">"Limpar o histórico de navegação do navegador"</string>
+    <string name="pref_privacy_clear_history_dlg">"O histórico de navegação do navegador será limpo."</string>
+    <string name="pref_privacy_clear_form_data">"Limpar dados do formulário"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Limpar todos os dados de formulário salvos"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Todos os dados de formulário salvos serão limpos."</string>
+    <string name="pref_privacy_clear_passwords">"Limpar senhas"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Limpar todas as senhas salvas"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Todas as senhas salvas serão excluídas."</string>
+    <string name="pref_security_title">"Configurações de segurança"</string>
+    <string name="pref_security_remember_passwords">"Lembrar senhas"</string>
+    <string name="pref_security_remember_passwords_summary">"Salvar nomes de usuário e senhas de sites"</string>
+    <string name="pref_security_save_form_data">"Lembrar dados do formulário"</string>
+    <string name="pref_security_save_form_data_summary">"Lembrar os dados que digitei nos formulários para uso posterior."</string>
+    <string name="pref_security_show_security_warning">"Mostrar avisos de segurança"</string>
+    <string name="pref_security_show_security_warning_summary">"Mostrar aviso se houver um problema com a segurança de um site."</string>
+    <string name="pref_security_accept_cookies">"Aceitar cookies"</string>
+    <string name="pref_security_accept_cookies_summary">"Permitir que os sites salvem e leiam dados de \"cookie\""</string>
+    <string name="pref_text_size">"Tamanho do texto"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Muito pequeno"</item>
-    <item msgid="1950030433642671460">"Pequeno"</item>
-    <item msgid="4338347520133294584">"Normal"</item>
-    <item msgid="5043128215356351184">"Grande"</item>
-    <item msgid="7201512237890458902">"Enorme"</item>
+    <item>"Muito pequeno"</item>
+    <item>"Pequeno"</item>
+    <item>"Normal"</item>
+    <item>"Grande"</item>
+    <item>"Enorme"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Tamanho do texto"</string>
+    <string name="pref_text_size_dialogtitle">"Tamanho do texto"</string>
     <!-- no translation found for pref_default_zoom (8076142259097187395) -->
     <skip />
     <!-- no translation found for pref_default_zoom_choices:0 (549583171195154919) -->
@@ -167,136 +167,84 @@
     <!-- no translation found for pref_default_zoom_choices:2 (3840999588443167001) -->
     <!-- no translation found for pref_default_zoom_dialogtitle (6095974367125109021) -->
     <skip />
-    <string name="pref_extras_title" msgid="3091250467679722382">"Configurações avançadas"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Ativar o Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Aplicativos que estendem a funcionalidade do navegador"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Configurações do Gears"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Lista de plug-ins"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Nenhum plug-in instalado."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Aplicativos que estendem a funcionalidade do navegador"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Redefinir para o padrão"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Limpar dados do navegador e redefinir as configurações para o padrão"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Todos os dados do navegador serão limpos e as configurações voltarão para os valores padrão."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Redefinir para o padrão"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Depurar"</string>
+    <string name="pref_extras_title">"Configurações avançadas"</string>
+    <string name="pref_extras_reset_default">"Redefinir para o padrão"</string>
+    <string name="pref_extras_reset_default_summary">"Limpar todos os dados do navegador e redefinir todas as configurações para o padrão"</string>
+    <string name="pref_extras_reset_default_dlg">"Todos os dados do navegador serão limpos e as configurações voltarão para os valores padrão."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Redefinir para o padrão"</string>
+    <string name="pref_development_title">"Depurar"</string>
     <!-- no translation found for pref_default_text_encoding (5742965543955558478) -->
     <skip />
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japonês (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japonês (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japonês (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japonês (ISO-2022-JP)"</item>
+    <item>"Japonês (SHIFT_JIS)"</item>
+    <item>"Japonês (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Codificação de texto"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latin-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Redirecionar"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Esta página da web está sendo redirecionada. Reenviar os seus dados de formulário digitados para o novo local?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Problema de conectividade de dados"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Problema com o arquivo"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Confirmar"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"A página que você está tentando visualizar contém dados já enviados (\"POSTDATA\"). Se você reenviar os dados, qualquer ação executada pelo formulário na página (como uma pesquisa ou uma compra on-line) será repetida."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Nenhuma conexão de rede"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"A página continuará a carregar após a restauração da conexão."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Limpar histórico"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Páginas visitadas recentemente"</string>
-    <string name="empty_history" msgid="8738772352308207274">"O histórico do navegador está vazio."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Adicionar favorito…"</string>
-    <string name="no_database" msgid="2256698896757181084">"Nenhum banco de dados!"</string>
-    <string name="search_hint" msgid="3385577802557697397">"Digitar endereço da web"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Ir"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Codificação de texto"</string>
+    <string name="pref_default_text_encoding_default">"Latin-1"</string>
+    <string name="browserFrameRedirect">"Redirecionar"</string>
+    <string name="browserFrame307Post">"Esta página da web está sendo redirecionada. Reenviar os seus dados de formulário digitados para o novo local?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Problema de conectividade de dados"</string>
+    <string name="browserFrameFileErrorLabel">"Problema com o arquivo"</string>
+    <string name="browserFrameFormResubmitLabel">"Confirmar"</string>
+    <string name="browserFrameFormResubmitMessage">"A página que você está tentando visualizar contém dados já enviados (\"POSTDATA\"). Se você reenviar os dados, qualquer ação executada pelo formulário na página (como uma pesquisa ou uma compra on-line) será repetida."</string>
+    <string name="loadSuspendedTitle">"Nenhuma conexão de rede"</string>
+    <string name="loadSuspended">"A página continuará a carregar após a restauração da conexão."</string>
+    <string name="clear_history">"Limpar histórico"</string>
+    <string name="browser_history">"Páginas visitadas recentemente"</string>
+    <string name="empty_history">"O histórico do navegador está vazio."</string>
+    <string name="add_new_bookmark">"Adicionar favorito…"</string>
+    <string name="no_database">"Nenhum banco de dados!"</string>
+    <string name="search_hint">"Digitar endereço da web"</string>
+    <string name="search_button_text">"Ir"</string>
     <!-- no translation found for search_settings_description (1422401062529014107) -->
     <skip />
-    <string name="attention" msgid="3473639060042811244">"Atenção"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Este site está tentando abrir uma janela pop-up."</string>
-    <string name="allow" msgid="1157313689171991335">"Permitir"</string>
-    <string name="block" msgid="9172175889884707800">"Bloquear"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Limite de janelas atingido"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Não foi possível abrir uma nova janela porque você já abriu o número máximo."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Pop-up já aberta"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Não foi possível abrir uma nova janela pop-up porque apenas uma pode ser aberta por vez."</string>
-    <string name="download_title" msgid="2122874021047565594">"Fazer download do histórico"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Desconhecido&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Abrir"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Limpar da lista"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Cancelar download"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Cancelar todos os downloads"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Limpar lista"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Limpar"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Todos os itens serão limpos da lista e removidos do cache do navegador."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Cancelar downloads"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Todos os <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> downloads serão cancelados e limpos do histórico de downloads."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Sem espaço"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"Não foi possível fazer o download do <xliff:g id="FILENAME">%s</xliff:g>."\n"Libere espaço no seu telefone e tente novamente."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Falha no download"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"Nenhum cartão SD disponível"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Um cartão SD é solicitado para fazer download do <xliff:g id="FILENAME">%s</xliff:g>."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"Cartão SD não disponível"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"O cartão SD está ocupado. Para permitir downloads, selecione \"Desativar armazenamento USB\" na notificação."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Não é possível encontrar um aplicativo para abrir este arquivo."</string>
-    <string name="retry" msgid="1835923075542266721">"Tentar novamente"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"O histórico de downloads está vazio."</string>
-    <string name="download_error" msgid="413496839831257187">"Falha no download."</string>
-    <string name="download_success" msgid="2279041638155595203">"Download do <xliff:g id="FILE">%s</xliff:g> concluído."</string>
-    <string name="download_running" msgid="2622942231322015059">"Download em andamento..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"Iniciando download…"</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"Aguardando conexão dos dados…"</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"Aguardando conexão dos dados…"</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Download cancelado."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"Não foi possível fazer o download. O conteúdo não é suportado no telefone."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"Não é possível concluir o download. Não há espaço suficiente."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"Não é possível fazer o download. O tamanho do item não pode ser determinado."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"Download interrompido. Não é possível retomar."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Executador de teste do navegador"</string>
+    <string name="attention">"Atenção"</string>
+    <string name="popup_window_attempt">"Este site está tentando abrir uma janela pop-up."</string>
+    <string name="allow">"Permitir"</string>
+    <string name="block">"Bloquear"</string>
+    <string name="too_many_windows_dialog_title">"Limite de janelas atingido"</string>
+    <string name="too_many_windows_dialog_message">"Não foi possível abrir uma nova janela porque você já abriu o número máximo."</string>
+    <string name="too_many_subwindows_dialog_title">"Pop-up já aberta"</string>
+    <string name="too_many_subwindows_dialog_message">"Não foi possível abrir uma nova janela pop-up porque apenas uma pode ser aberta por vez."</string>
+    <string name="download_title">"Fazer download do histórico"</string>
+    <string name="download_unknown_filename">"&lt;Desconhecido&gt;"</string>
+    <string name="download_menu_open">"Abrir"</string>
+    <string name="download_menu_clear">"Limpar da lista"</string>
+    <string name="download_menu_cancel">"Cancelar download"</string>
+    <string name="download_menu_cancel_all">"Cancelar todos os downloads"</string>
+    <string name="download_menu_clear_all">"Limpar lista"</string>
+    <string name="download_clear_dlg_title">"Limpar"</string>
+    <string name="download_clear_dlg_msg">"Todos os itens serão limpos da lista e removidos do cache do navegador."</string>
+    <string name="download_cancel_dlg_title">"Cancelar downloads"</string>
+    <string name="download_cancel_dlg_msg">"Todos os <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> downloads serão cancelados e limpos do histórico de downloads."</string>
+    <string name="download_file_error_dlg_title">"Sem espaço"</string>
+    <string name="download_file_error_dlg_msg">"Não foi possível fazer o download do <xliff:g id="FILENAME">%s</xliff:g>."\n"Libere espaço no seu telefone e tente novamente."</string>
+    <string name="download_failed_generic_dlg_title">"Falha no download"</string>
+    <string name="download_no_sdcard_dlg_title">"Nenhum cartão SD disponível"</string>
+    <string name="download_no_sdcard_dlg_msg">"Um cartão SD é solicitado para fazer download do <xliff:g id="FILENAME">%s</xliff:g>."</string>
+    <string name="download_sdcard_busy_dlg_title">"Cartão SD não disponível"</string>
+    <string name="download_sdcard_busy_dlg_msg">"O cartão SD está ocupado. Para permitir downloads, selecione \"Desativar armazenamento USB\" na notificação."</string>
+    <string name="download_no_application">"Não é possível encontrar um aplicativo para abrir este arquivo."</string>
+    <string name="retry">"Tentar novamente"</string>
+    <string name="no_downloads">"O histórico de downloads está vazio."</string>
+    <string name="download_error">"Falha no download."</string>
+    <string name="download_success">"Download do <xliff:g id="FILE">%s</xliff:g> concluído."</string>
+    <string name="download_running">"Download em andamento..."</string>
+    <string name="download_pending">"Iniciando download…"</string>
+    <string name="download_pending_network">"Aguardando conexão dos dados…"</string>
+    <string name="download_running_paused">"Aguardando conexão dos dados…"</string>
+    <string name="download_canceled">"Download cancelado."</string>
+    <string name="download_not_acceptable">"Não foi possível fazer o download. O conteúdo não é suportado no telefone."</string>
+    <string name="download_file_error">"Não é possível concluir o download. Não há espaço suficiente."</string>
+    <string name="download_length_required">"Não é possível fazer o download. O tamanho do item não pode ser determinado."</string>
+    <string name="download_precondition_failed">"Download interrompido. Não é possível retomar."</string>
+    <string name="activity_instrumentation_test_runner">"Executador de teste do navegador"</string>
     <!-- no translation found for homepage_base (7888126987935305566) -->
     <skip />
     <!-- no translation found for search_the_web (6046130189241962337) -->
     <skip />
-    <string name="query_data_prompt" msgid="5474381240981604223">"Permitir o armazenamento"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Este site deseja armazenar informações no seu telefone."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Acesse o seu local"</string>
-    <string name="location_message" msgid="1729456751935683242">"Este site deseja ter acesso ao seu local."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Criar um atalho"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Este site deseja criar um atalho para esta página na sua tela inicial."</string>
-    <string name="settings_message" msgid="6171686603006325199">"A tabela abaixo mostra as permissões concedidas por você a cada site que tentou usar o Gears."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Selecionador de arquivos"</string>
-    <string name="image_message" msgid="5450245866521896891">"Imagem escolhida"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Configurações do Gears"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Leia a política de privacidade do site para ver como o seu local será usado."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Permitir armazenamento local"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Este site pode salvar informações no seu telefone."</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Este site não pode salvar informações no seu telefone."</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Permitir detecção de local"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Este site pode ler o seu local atual."</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Este site não pode ler o seu local atual"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Remover este site do Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Nenhuma permissão definida"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Remover este site"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Todas as permissões serão limpas e quaisquer dados armazenados no seu telefone pelo site serão excluídos."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Este site armazenará informações neste telefone."\n" Altere esta configuração em:"\n" Configurações -&gt; Configurações do Gears"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Este site nunca armazenará informações neste telefone."\n" Altere esta configuração em:"\n" Configurações -&gt; Configurações do Gears"</string>
-    <string name="location_notification" msgid="3495804750470905804">"Este site pode acessar o seu local atual."\n" Altere esta configuração em:"\n" Configurações -&gt; Configurações do Gears"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Este site não acessará o seu local atual."\n" Altere esta configuração em:"\n" Configurações -&gt; Configurações do Gears"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Atalho criado"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Nunca permitir"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"OK"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Cancelar"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Nunca permitir"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"OK"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Cancelar"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Aplicar"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Cancelar"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"OK"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Cancelar"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"caminho:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Nenhum arquivo selecionado"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Um arquivo selecionado"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"arquivos selecionados"</string>
-    <string name="remove" msgid="7820112494467011374">"Remover"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Armazenamento local"</string>
-    <string name="allowed" msgid="1599514934221911624">"Permitido"</string>
-    <string name="denied" msgid="7470209521858372968">"Negado"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Tipo de caixa de diálogo não reconhecido"</string>
-    <string name="default_button" msgid="3901922329454578908">"OK"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Visão geral"</string>
+    <string name="zoom_overview_button_text">"Visão geral"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 1c13a7f..143d1f3 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -15,151 +15,151 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Браузер"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Закладки"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Часто посещаемые"</string>
-    <string name="tab_history" msgid="1979267558744613746">"История"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Добавлено в закладки"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Удалено из закладок"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Войти в <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
-    <string name="username" msgid="5057566336518215922">"Имя"</string>
-    <string name="password" msgid="1177138552305184404">"Пароль"</string>
-    <string name="action" msgid="183105774472071343">"Вход"</string>
+    <string name="application_name">"Браузер"</string>
+    <string name="tab_bookmarks">"Закладки"</string>
+    <string name="tab_most_visited">"Часто посещаемые"</string>
+    <string name="tab_history">"История"</string>
+    <string name="added_to_bookmarks">"Добавлено в закладки"</string>
+    <string name="removed_from_bookmarks">"Удалено из закладок"</string>
+    <string name="sign_in_to">"Войти в <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
+    <string name="username">"Имя"</string>
+    <string name="password">"Пароль"</string>
+    <string name="action">"Вход"</string>
     <!-- no translation found for bookmarks_search (5229596268214362873) -->
     <skip />
-    <string name="cancel" msgid="3017274947407233702">"Отмена"</string>
-    <string name="ok" msgid="1509280796718850364">"ОК"</string>
+    <string name="cancel">"Отмена"</string>
+    <string name="ok">"ОК"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Соответствий нет"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 соответствие"</item>
-    <item quantity="few" msgid="5544267486978946555">"Соответствий: <xliff:g id="NUMBER">%d</xliff:g>"</item>
-    <item quantity="other" msgid="6616125067364315405">"Соответствий: <xliff:g id="NUMBER">%d</xliff:g>"</item>
+    <item quantity="zero">"Соответствий нет"</item>
+    <item quantity="one">"1 соответствие"</item>
+    <item quantity="few">"Соответствий: <xliff:g id="NUMBER">%d</xliff:g>"</item>
+    <item quantity="other">"Соответствий: <xliff:g id="NUMBER">%d</xliff:g>"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Информация о странице"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Просмотр информации о странице"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Адрес:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"У этого сайта проблемы с сертификатом безопасности."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Продолжить"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Угроза безопасности"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Просмотреть сертификат"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Этот сертификат получен из ненадежных источников."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"Название сайта не соответствует названию в сертификате."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Срок действия сертификата истек."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Данный сертификат еще недействителен."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Сертификат безопасности"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Этот сертификат действителен."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Владелец сертификата:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Стандартное имя:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Организация:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Подразделение организации:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Выпущен:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Срок действия:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Дата издания:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Дата окончания действия:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Получение регистрационной информации..."</string>
-    <string name="stopping" msgid="4839698519340302982">"Остановка..."</string>
-    <string name="stop" msgid="5687251076030630074">"Стоп"</string>
-    <string name="reload" msgid="8585220783228408062">"Обновить"</string>
-    <string name="forward" msgid="4288210890526641577">"Переслать"</string>
-    <string name="save" msgid="5922311934992468496">"ОК"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Отмена"</string>
-    <string name="location" msgid="969988560160364559">"Место"</string>
-    <string name="name" msgid="5990326151488445481">"Имя"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Добавить в закладки"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Изменить закладку"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Добавить ярлык на главную страницу"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Открыть"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Удалить закладку"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Удалить из истории"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Сохранено в закладках."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"Необходимо указать имя закладки."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"Необходимо указать место закладки."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Невозможно создать пустую закладку."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"URL недействителен."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Удалить"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Добавить в закладки последнюю просмотренную страницу"</string>
-    <string name="current_page" msgid="7510129573681663135">"из "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"Закладка \"<xliff:g id="BOOKMARK">%s</xliff:g>\" будет удалена."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Открыть в новом окне"</string>
-    <string name="new_window" msgid="8117889615360211551">"Новое окно"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Поиск"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Найти на странице"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Выбрать текст"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Обзор окон"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Окна"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Открытые окна"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Просмотр"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Новое окно"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Закрыть"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Добавить в закладки"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Отправить ссылку"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Закладки"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Добавить в закладки"</string>
-    <string name="history" msgid="2451240511251410032">"История"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Загрузки"</string>
-    <string name="share_page" msgid="593756995297268343">"Отправить страницу"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Открыть"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Открыть в новом окне"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Добавить ссылку в закладки"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Сохранить ссылку"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Отправить ссылку"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Копировать"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Копировать URL ссылки"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Сохранить изображение"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Просмотр изображения"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Набор номера..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Добавить контакт"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"Отправить сообщение по электронной почте"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Карта"</string>
-    <string name="clear" msgid="7070043081700011461">"Очистить"</string>
-    <string name="replace" msgid="4843033491070384047">"Заменить"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Закладки"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Настройки"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Настройки содержания страницы"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Загружать картинки"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Показывать картинки на веб-страницах"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Блокировать всплывающие окна"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"Включить JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Открывать в фоновом режиме"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Новые окна открываются позади текущего окна"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Выбрать главную страницу"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Подгонять страницы"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Подгонять веб-страницы под размер экрана"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Настройки конфиденциальности"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Очистить кэш"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Удалить все кэшированное содержание страницы"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"Кэш будет очищен."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Очистить все данные cookie"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Удалить все cookie браузера"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Все cookie будут удалены."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Очистить историю"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Очистить историю браузера"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"История браузера будет очищена."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Очистить данные формы"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Очистить все данные сохраненных форм"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Все данные сохраненных форм будут удалены."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Очистить пароли"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Удалить все сохраненные пароли"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Все сохраненные пароли будут удалены."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Настройки безопасности"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Сохранять пароли"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Сохранять имена пользователей и пароли для веб-сайтов"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Сохранять данные форм"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Запоминать введенные данные для дальнейшего использования"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Показывать предупреждения безопасности"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Сообщать о найденных проблемах с безопасностью сайта"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Разрешить cookie"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Разрешить сайтам сохранять и читать файлы cookie"</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"Размер текста"</string>
+    <string name="page_info">"Информация о странице"</string>
+    <string name="page_info_view">"Просмотр информации о странице"</string>
+    <string name="page_info_address">"Адрес:"</string>
+    <string name="ssl_warnings_header">"У этого сайта проблемы с сертификатом безопасности."</string>
+    <string name="ssl_continue">"Продолжить"</string>
+    <string name="security_warning">"Угроза безопасности"</string>
+    <string name="view_certificate">"Просмотреть сертификат"</string>
+    <string name="ssl_untrusted">"Этот сертификат получен из ненадежных источников."</string>
+    <string name="ssl_mismatch">"Название сайта не соответствует названию в сертификате."</string>
+    <string name="ssl_expired">"Срок действия сертификата истек."</string>
+    <string name="ssl_not_yet_valid">"Данный сертификат еще недействителен."</string>
+    <string name="ssl_certificate">"Сертификат безопасности"</string>
+    <string name="ssl_certificate_is_valid">"Этот сертификат действителен."</string>
+    <string name="issued_to">"Владелец сертификата:"</string>
+    <string name="common_name">"Стандартное имя:"</string>
+    <string name="org_name">"Организация:"</string>
+    <string name="org_unit">"Подразделение организации:"</string>
+    <string name="issued_by">"Выпущен:"</string>
+    <string name="validity_period">"Срок действия:"</string>
+    <string name="issued_on">"Дата издания:"</string>
+    <string name="expires_on">"Дата окончания действия:"</string>
+    <string name="retrieving_creds_dlg_msg">"Получение регистрационной информации..."</string>
+    <string name="stopping">"Остановка..."</string>
+    <string name="stop">"Стоп"</string>
+    <string name="reload">"Обновить"</string>
+    <string name="forward">"Переслать"</string>
+    <string name="save">"ОК"</string>
+    <string name="do_not_save">"Отмена"</string>
+    <string name="location">"Место"</string>
+    <string name="name">"Имя"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Добавить в закладки"</string>
+    <string name="edit_bookmark">"Изменить закладку"</string>
+    <string name="create_shortcut_bookmark">"Добавить ярлык на главную страницу"</string>
+    <string name="open_bookmark">"Открыть"</string>
+    <string name="remove_bookmark">"Удалить закладку"</string>
+    <string name="remove_history_item">"Удалить из истории"</string>
+    <string name="bookmark_saved">"Сохранено в закладках."</string>
+    <string name="bookmark_needs_title">"Необходимо указать имя закладки."</string>
+    <string name="bookmark_needs_url">"Необходимо указать место закладки."</string>
+    <string name="empty_bookmark">"Невозможно создать пустую закладку."</string>
+    <string name="bookmark_url_not_valid">"URL недействителен."</string>
+    <string name="delete_bookmark">"Удалить"</string>
+    <string name="bookmark_page">"Добавить в закладки последнюю просмотренную страницу"</string>
+    <string name="current_page">"из "</string>
+    <string name="delete_bookmark_warning">"Закладка \"<xliff:g id="BOOKMARK">%s</xliff:g>\" будет удалена."</string>
+    <string name="open_in_new_window">"Открыть в новом окне"</string>
+    <string name="new_window">"Новое окно"</string>
+    <string name="goto_dot">"Поиск"</string>
+    <string name="find_dot">"Найти на странице"</string>
+    <string name="select_dot">"Выбрать текст"</string>
+    <string name="view_tabs">"Обзор окон"</string>
+    <string name="view_tabs_condensed">"Окна"</string>
+    <string name="tab_picker_title">"Открытые окна"</string>
+    <string name="tab_picker_view_tab">"Просмотр"</string>
+    <string name="tab_picker_new_tab">"Новое окно"</string>
+    <string name="tab_picker_remove_tab">"Закрыть"</string>
+    <string name="tab_picker_bookmark">"Добавить в закладки"</string>
+    <string name="tab_picker_send_url">"Отправить ссылку"</string>
+    <string name="bookmarks">"Закладки"</string>
+    <string name="shortcut_bookmark">"Добавить в закладки"</string>
+    <string name="history">"История"</string>
+    <string name="menu_view_download">"Загрузки"</string>
+    <string name="share_page">"Отправить страницу"</string>
+    <string name="contextmenu_openlink">"Открыть"</string>
+    <string name="contextmenu_openlink_newwindow">"Открыть в новом окне"</string>
+    <string name="contextmenu_bookmark_thislink">"Добавить ссылку в закладки"</string>
+    <string name="contextmenu_savelink">"Сохранить ссылку"</string>
+    <string name="contextmenu_sharelink">"Отправить ссылку"</string>
+    <string name="contextmenu_copy">"Копировать"</string>
+    <string name="contextmenu_copylink">"Копировать URL ссылки"</string>
+    <string name="contextmenu_download_image">"Сохранить изображение"</string>
+    <string name="contextmenu_view_image">"Просмотр изображения"</string>
+    <string name="contextmenu_dial_dot">"Набор номера..."</string>
+    <string name="contextmenu_add_contact">"Добавить контакт"</string>
+    <string name="contextmenu_send_mail">"Отправить сообщение по электронной почте"</string>
+    <string name="contextmenu_map">"Карта"</string>
+    <string name="clear">"Очистить"</string>
+    <string name="replace">"Заменить"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Закладки"</string>
+    <string name="menu_preferences">"Настройки"</string>
+    <string name="pref_content_title">"Настройки содержания страницы"</string>
+    <string name="pref_content_load_images">"Загружать картинки"</string>
+    <string name="pref_content_load_images_summary">"Показывать картинки на веб-страницах"</string>
+    <string name="pref_content_block_popups">"Блокировать всплывающие окна"</string>
+    <string name="pref_content_javascript">"Включить JavaScript"</string>
+    <string name="pref_content_open_in_background">"Открывать в фоновом режиме"</string>
+    <string name="pref_content_open_in_background_summary">"Новые окна открываются позади текущего окна"</string>
+    <string name="pref_content_homepage">"Выбрать главную страницу"</string>
+    <string name="pref_content_autofit">"Подгонять страницы"</string>
+    <string name="pref_content_autofit_summary">"Подгонять веб-страницы под размер экрана"</string>
+    <string name="pref_privacy_title">"Настройки конфиденциальности"</string>
+    <string name="pref_privacy_clear_cache">"Очистить кэш"</string>
+    <string name="pref_privacy_clear_cache_summary">"Удалить все кэшированное содержание страницы"</string>
+    <string name="pref_privacy_clear_cache_dlg">"Кэш будет очищен."</string>
+    <string name="pref_privacy_clear_cookies">"Очистить все данные cookie"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Очистить все cookie браузера"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Все cookie будут удалены."</string>
+    <string name="pref_privacy_clear_history">"Очистить историю"</string>
+    <string name="pref_privacy_clear_history_summary">"Очистить историю браузера"</string>
+    <string name="pref_privacy_clear_history_dlg">"История браузера будет очищена."</string>
+    <string name="pref_privacy_clear_form_data">"Очистить данные формы"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Очистить все данные сохраненных форм"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Все данные сохраненных форм будут удалены."</string>
+    <string name="pref_privacy_clear_passwords">"Очистить пароли"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Удалить все сохраненные пароли"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Все сохраненные пароли будут удалены."</string>
+    <string name="pref_security_title">"Настройки безопасности"</string>
+    <string name="pref_security_remember_passwords">"Сохранять пароли"</string>
+    <string name="pref_security_remember_passwords_summary">"Сохранять имена пользователей и пароли для веб-сайтов"</string>
+    <string name="pref_security_save_form_data">"Сохранять данные форм"</string>
+    <string name="pref_security_save_form_data_summary">"Запоминать введенные данные для дальнейшего использования"</string>
+    <string name="pref_security_show_security_warning">"Показывать предупреждения безопасности"</string>
+    <string name="pref_security_show_security_warning_summary">"Сообщать о найденных проблемах с безопасностью сайта"</string>
+    <string name="pref_security_accept_cookies">"Разрешить cookie"</string>
+    <string name="pref_security_accept_cookies_summary">"Разрешить сайтам сохранять и читать файлы cookie"</string>
+    <string name="pref_text_size">"Размер текста"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Мелкий"</item>
-    <item msgid="1950030433642671460">"Маленький"</item>
-    <item msgid="4338347520133294584">"Средний"</item>
-    <item msgid="5043128215356351184">"Большой"</item>
-    <item msgid="7201512237890458902">"Огромный"</item>
+    <item>"Мелкий"</item>
+    <item>"Маленький"</item>
+    <item>"Средний"</item>
+    <item>"Большой"</item>
+    <item>"Огромный"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Размер текста"</string>
+    <string name="pref_text_size_dialogtitle">"Размер текста"</string>
     <!-- no translation found for pref_default_zoom (8076142259097187395) -->
     <skip />
     <!-- no translation found for pref_default_zoom_choices:0 (549583171195154919) -->
@@ -167,136 +167,84 @@
     <!-- no translation found for pref_default_zoom_choices:2 (3840999588443167001) -->
     <!-- no translation found for pref_default_zoom_dialogtitle (6095974367125109021) -->
     <skip />
-    <string name="pref_extras_title" msgid="3091250467679722382">"Расширенные настройки"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Включить Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Приложения, расширяющие возможности браузера"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Настройки Gears"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Список плагинов"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Нет установленных плагинов."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Приложения, расширяющие возможности браузера"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Восстановить настройки по умолчанию"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Очистить все данные браузера и восстановить все настройки по умолчанию"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Все данные браузера будут удалены, настройки по умолчанию будут восстановлены."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Восстановить настройки по умолчанию"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Отладка"</string>
+    <string name="pref_extras_title">"Расширенные настройки"</string>
+    <string name="pref_extras_reset_default">"Восстановить настройки по умолчанию"</string>
+    <string name="pref_extras_reset_default_summary">"Очистить все данные браузера и восстановить все настройки по умолчанию"</string>
+    <string name="pref_extras_reset_default_dlg">"Все данные браузера будут удалены, настройки по умолчанию будут восстановлены."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Восстановить настройки по умолчанию"</string>
+    <string name="pref_development_title">"Отладка"</string>
     <!-- no translation found for pref_default_text_encoding (5742965543955558478) -->
     <skip />
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Японская (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Японская (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Японская (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Японская (ISO-2022-JP)"</item>
+    <item>"Японская (SHIFT_JIS)"</item>
+    <item>"Японская (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Кодировка текста"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latin-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Перенаправление"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Вы перенаправлены с этой страницы. Отправить ваши данные формы в новое место?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Проблема с подключением"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Проблема с файлом"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Подтверждение"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"Страница, которую вы пытаетесь просмотреть, содержит уже отправленные данные (\"POSTDATA\"). Если отправить их еще раз, произойдет повтор всех действий, которые форма выполнила на странице (например, поиск или покупка через Интернет)."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Сетевое подключение отсутствует"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"Загрузка страницы продолжится после восстановления соединения."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Очистить историю"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Недавно посещенные страницы"</string>
-    <string name="empty_history" msgid="8738772352308207274">"История браузера пуста."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Добавить закладку…"</string>
-    <string name="no_database" msgid="2256698896757181084">"База данных отсутствует!"</string>
-    <string name="search_hint" msgid="3385577802557697397">"Укажите адрес в Интернете"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Поиск"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Кодировка текста"</string>
+    <string name="pref_default_text_encoding_default">"Latin-1"</string>
+    <string name="browserFrameRedirect">"Перенаправление"</string>
+    <string name="browserFrame307Post">"Вы перенаправлены с этой страницы. Отправить ваши данные формы в новое место?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Проблема с подключением"</string>
+    <string name="browserFrameFileErrorLabel">"Проблема с файлом"</string>
+    <string name="browserFrameFormResubmitLabel">"Подтверждение"</string>
+    <string name="browserFrameFormResubmitMessage">"Страница, которую вы пытаетесь просмотреть, содержит уже отправленные данные (\"POSTDATA\"). Если отправить их еще раз, произойдет повтор всех действий, которые форма выполнила на странице (например, поиск или покупка через Интернет)."</string>
+    <string name="loadSuspendedTitle">"Сетевое подключение отсутствует"</string>
+    <string name="loadSuspended">"Загрузка страницы продолжится после восстановления соединения."</string>
+    <string name="clear_history">"Очистить историю"</string>
+    <string name="browser_history">"Недавно посещенные страницы"</string>
+    <string name="empty_history">"История браузера пуста."</string>
+    <string name="add_new_bookmark">"Добавить закладку…"</string>
+    <string name="no_database">"База данных отсутствует!"</string>
+    <string name="search_hint">"Укажите адрес в Интернете"</string>
+    <string name="search_button_text">"Поиск"</string>
     <!-- no translation found for search_settings_description (1422401062529014107) -->
     <skip />
-    <string name="attention" msgid="3473639060042811244">"Внимание"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Этот сайт пытается открыть всплывающее окно."</string>
-    <string name="allow" msgid="1157313689171991335">"Разрешить"</string>
-    <string name="block" msgid="9172175889884707800">"Заблокировать"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Открыто максимальное число окон"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Открыто максимальное число окон, поэтому открыть новое окно невозможно."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Всплывающее окно уже открыто"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Невозможно открыть более одного всплывающего окна одновременно."</string>
-    <string name="download_title" msgid="2122874021047565594">"История загрузок"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;неизвестно&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Открыть"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Удалить из списка"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Отменить загрузку"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Отменить все загрузки"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Очистить список"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Очистить"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Будут удалены все данные из списка и кэша браузера."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Отменить загрузки"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Все загрузки (<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g>) будут отменены и удалены из истории загрузок."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Недостаточно места"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"Невозможно загрузить <xliff:g id="FILENAME">%s</xliff:g>."\n"Освободите место в памяти телефона и повторите попытку."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Ошибка загрузки"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"SD-карта отсутствует"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Для загрузки <xliff:g id="FILENAME">%s</xliff:g> необходима SD-карта."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"SD-карта недоступна"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"Карта SD занята. Чтобы разрешить загрузки, выберите \"Выключить USB-накопитель\" в уведомлении."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Приложение для открытия этого файла не найдено."</string>
-    <string name="retry" msgid="1835923075542266721">"Повторить попытку"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"История загрузок пуста."</string>
-    <string name="download_error" msgid="413496839831257187">"Ошибка загрузки."</string>
-    <string name="download_success" msgid="2279041638155595203">"Загрузка <xliff:g id="FILE">%s</xliff:g> завершена."</string>
-    <string name="download_running" msgid="2622942231322015059">"Загрузка..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"Начинается загрузка…"</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"Ожидание подключения для передачи данных…"</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"Ожидание подключения для передачи данных…"</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Загрузка отменена."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"Загрузка невозможна. Содержание не поддерживается телефоном."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"Невозможно завершить загрузку. Недостаточно места."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"Загрузка невозможна. Размер файла не определен."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"Загрузка прервана и не может быть возобновлена."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Тестирование браузера"</string>
+    <string name="attention">"Внимание"</string>
+    <string name="popup_window_attempt">"Этот сайт пытается открыть всплывающее окно."</string>
+    <string name="allow">"Разрешить"</string>
+    <string name="block">"Заблокировать"</string>
+    <string name="too_many_windows_dialog_title">"Открыто максимальное число окон"</string>
+    <string name="too_many_windows_dialog_message">"Открыто максимальное число окон, поэтому открыть новое окно невозможно."</string>
+    <string name="too_many_subwindows_dialog_title">"Всплывающее окно уже открыто"</string>
+    <string name="too_many_subwindows_dialog_message">"Невозможно открыть более одного всплывающего окна одновременно."</string>
+    <string name="download_title">"История загрузок"</string>
+    <string name="download_unknown_filename">"&lt;неизвестно&gt;"</string>
+    <string name="download_menu_open">"Открыть"</string>
+    <string name="download_menu_clear">"Удалить из списка"</string>
+    <string name="download_menu_cancel">"Отменить загрузку"</string>
+    <string name="download_menu_cancel_all">"Отменить все загрузки"</string>
+    <string name="download_menu_clear_all">"Очистить список"</string>
+    <string name="download_clear_dlg_title">"Очистить"</string>
+    <string name="download_clear_dlg_msg">"Будут удалены все данные из списка и кэша браузера."</string>
+    <string name="download_cancel_dlg_title">"Отменить загрузки"</string>
+    <string name="download_cancel_dlg_msg">"Все загрузки (<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g>) будут отменены и удалены из истории загрузок."</string>
+    <string name="download_file_error_dlg_title">"Недостаточно места"</string>
+    <string name="download_file_error_dlg_msg">"Невозможно загрузить <xliff:g id="FILENAME">%s</xliff:g>."\n"Освободите место в памяти телефона и повторите попытку."</string>
+    <string name="download_failed_generic_dlg_title">"Ошибка загрузки"</string>
+    <string name="download_no_sdcard_dlg_title">"SD-карта отсутствует"</string>
+    <string name="download_no_sdcard_dlg_msg">"Для загрузки <xliff:g id="FILENAME">%s</xliff:g> необходима SD-карта."</string>
+    <string name="download_sdcard_busy_dlg_title">"SD-карта недоступна"</string>
+    <string name="download_sdcard_busy_dlg_msg">"Карта SD занята. Чтобы разрешить загрузки, выберите \"Выключить USB-накопитель\" в уведомлении."</string>
+    <string name="download_no_application">"Приложение для открытия этого файла не найдено."</string>
+    <string name="retry">"Повторить попытку"</string>
+    <string name="no_downloads">"История загрузок пуста."</string>
+    <string name="download_error">"Ошибка загрузки."</string>
+    <string name="download_success">"Загрузка <xliff:g id="FILE">%s</xliff:g> завершена."</string>
+    <string name="download_running">"Загрузка..."</string>
+    <string name="download_pending">"Начинается загрузка…"</string>
+    <string name="download_pending_network">"Ожидание подключения для передачи данных…"</string>
+    <string name="download_running_paused">"Ожидание подключения для передачи данных…"</string>
+    <string name="download_canceled">"Загрузка отменена."</string>
+    <string name="download_not_acceptable">"Загрузка невозможна. Содержание не поддерживается телефоном."</string>
+    <string name="download_file_error">"Невозможно завершить загрузку. Недостаточно места."</string>
+    <string name="download_length_required">"Загрузка невозможна. Размер файла не определен."</string>
+    <string name="download_precondition_failed">"Загрузка прервана и не может быть возобновлена."</string>
+    <string name="activity_instrumentation_test_runner">"Тестирование браузера"</string>
     <!-- no translation found for homepage_base (7888126987935305566) -->
     <skip />
     <!-- no translation found for search_the_web (6046130189241962337) -->
     <skip />
-    <string name="query_data_prompt" msgid="5474381240981604223">"Разрешить сохранение"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Этот веб-сайт пытается сохранить данные на вашем телефоне."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Доступ к вашему местоположению"</string>
-    <string name="location_message" msgid="1729456751935683242">"Этот веб-сайт пытается получить доступ к данным о вашем местоположении."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Создать ярлык"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Этот веб-сайт пытается создать ярлык данной страницы на главном экране телефона."</string>
-    <string name="settings_message" msgid="6171686603006325199">"В таблице ниже показаны разрешения, установленные вами для всех сайтов, пытавшихся использовать Gears."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Выбор файлов"</string>
-    <string name="image_message" msgid="5450245866521896891">"Выбранное изображение"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Настройки Gears"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Ознакомьтесь с политикой конфиденциальности сайта, чтобы узнать, как будет использоваться информация о вашем местоположении."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Разрешить сохранение в памяти"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Этот сайт может сохранять данные на вашем телефоне"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Этот сайт не может сохранять данные на вашем телефоне"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Разрешить определение местоположения"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"У этого сайта есть доступ к данным о вашем местоположении"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"У этого сайта нет доступа к данным о вашем местоположении"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Удалить этот сайт из Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Разрешения не заданы"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Удалить этот сайт"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Все разрешения будут сняты, а все данные, сохраненные этим сайтом на вашем телефоне, будут удалены."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Этот сайт будет сохранять данные на вашем телефоне."\n" Чтобы изменить эту настройку, выберите"\n" Настройки -&gt; Настройки Gears"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Этот сайт не будет сохранять данные на вашем телефоне."\n" Чтобы изменить эту настройку, выберите"\n" Настройки -&gt; Настройки Gears"</string>
-    <string name="location_notification" msgid="3495804750470905804">"У этого сайта есть доступ к данным о вашем местоположении."\n" Чтобы изменить эту настройку, выберите"\n" Настройки -&gt; Настройки Gears"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Этот веб-сайт не будет пытаться получить доступ к данным о вашем местоположении."\n" Чтобы изменить эту настройку, выберите"\n" Настройки -&gt; Настройки Gears"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Ярлык создан"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Не разрешать"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"ОК"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Отмена"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Не разрешать"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"ОК"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Отмена"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Применить"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Отмена"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"ОК"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Отмена"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"путь:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Файлы не выбраны"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Выбран один файл"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"файл(ов) выбрано"</string>
-    <string name="remove" msgid="7820112494467011374">"Удалить"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Сохранение в памяти"</string>
-    <string name="allowed" msgid="1599514934221911624">"Разрешенные"</string>
-    <string name="denied" msgid="7470209521858372968">"Запрещено"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Неизвестный тип диалога"</string>
-    <string name="default_button" msgid="3901922329454578908">"ОК"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Обзор"</string>
+    <string name="zoom_overview_button_text">"Обзор"</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 4f9b19d..fcc0dff 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -15,152 +15,152 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Webbläs."</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Bokmärken"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"Mest besökta"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Historik"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Har lagts till i Bokmärken"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Har tagits bort från Bokmärken"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"Logga in på <xliff:g id="HOSTNAME">%s1</xliff:g> <xliff:g id="REALM">%s2</xliff:g>"</string>
-    <string name="username" msgid="5057566336518215922">"Namn"</string>
-    <string name="password" msgid="1177138552305184404">"Lösenord"</string>
-    <string name="action" msgid="183105774472071343">"Logga in"</string>
+    <string name="application_name">"Webbläsare"</string>
+    <string name="tab_bookmarks">"Bokmärken"</string>
+    <string name="tab_most_visited">"Mest besökta"</string>
+    <string name="tab_history">"Historik"</string>
+    <string name="added_to_bookmarks">"Har lagts till i Bokmärken"</string>
+    <string name="removed_from_bookmarks">"Har tagits bort från Bokmärken"</string>
+    <string name="sign_in_to">"Logga in på <xliff:g id="HOSTNAME">%s1</xliff:g> <xliff:g id="REALM">%s2</xliff:g>"</string>
+    <string name="username">"Namn"</string>
+    <string name="password">"Lösenord"</string>
+    <string name="action">"Logga in"</string>
     <!-- no translation found for bookmarks_search (5229596268214362873) -->
     <skip />
-    <string name="cancel" msgid="3017274947407233702">"Avbryt"</string>
-    <string name="ok" msgid="1509280796718850364">"OK"</string>
+    <string name="cancel">"Avbryt"</string>
+    <string name="ok">"OK"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Inga träffar"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 träff"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> träffar"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> träffar"</item>
+    <item quantity="zero">"Inga träffar"</item>
+    <item quantity="one">"1 träff"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> träffar"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> träffar"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Sidinformation"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Visa sidinformation"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Adress:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Det har uppstått problem med säkerhetscertifikatet för den här webbplatsen."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Fortsätt"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Säkerhetsvarning"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Visa certifikat"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Detta certifikat kommer inte från en betrodd utfärdare."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"Webbplatsens namn stämmer inte med namnet på certifikatet."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Certifikatet har upphört att gälla."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Certifikatet är inte giltigt än."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Säkerhetscertifikat"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Detta certifikat är giltigt."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Utfärdat till:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Nätverksnamn:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Organisation:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Organisationsenhet:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Utfärdat av:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Giltighet:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Utfärdat den:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Upphör att gälla:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Hämtar inloggningsuppgifter…"</string>
-    <string name="stopping" msgid="4839698519340302982">"Avbryter…"</string>
-    <string name="stop" msgid="5687251076030630074">"Stoppa"</string>
-    <string name="reload" msgid="8585220783228408062">"Uppdatera"</string>
-    <string name="forward" msgid="4288210890526641577">"Vidarebefordra"</string>
-    <string name="save" msgid="5922311934992468496">"OK"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"Avbryt"</string>
-    <string name="location" msgid="969988560160364559">"Plats"</string>
-    <string name="name" msgid="5990326151488445481">"Namn"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Bokmärke"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Redigera bokmärke"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Lägg till genväg till startsidan"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Öppna"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Ta bort bokmärke"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Ta bort från historiken"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Bokmärke sparat."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"Du måste ange ett namn på bokmärket."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"Du måste ange en plats för bokmärket."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Det går inte att skapa tomma bokmärken."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"Webbadressen är ogiltig."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Ta bort"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Skapa bokmärke för den senast visade sidan"</string>
-    <string name="current_page" msgid="7510129573681663135">"från "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"Bokmärket <xliff:g id="BOOKMARK">%s</xliff:g> tas bort."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Öppna i nytt fönster"</string>
-    <string name="new_window" msgid="8117889615360211551">"Nytt fönster"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Kör"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Sök på sidan"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Markera text"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Översikt över fönster"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Fönster"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Aktuellt fönster"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Visa"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Nytt fönster"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Stäng"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Bokmärke"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Dela länk"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Bokmärken"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Bokmärke"</string>
-    <string name="history" msgid="2451240511251410032">"Historik"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"Hämtningar"</string>
-    <string name="share_page" msgid="593756995297268343">"Dela sida"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Öppna"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Öppna i nytt fönster"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Skapa ett bokmärke av länken"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Spara länk"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Dela länk"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Kopiera"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Kopiera länkens webbadress"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Spara bild"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Visa bild"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Ring..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Lägg till kontakt"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"Skicka e-post"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Karta"</string>
-    <string name="clear" msgid="7070043081700011461">"Rensa"</string>
-    <string name="replace" msgid="4843033491070384047">"Ersätt"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Bokmärken"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Inställningar"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Inställningar för sidinnehåll"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Överför bilder"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Visa bilder på webbsidor"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Blockera popup-fönster"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"Aktivera JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Öppen i bakgrunden"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Ett nytt fönster öppnas bakom det aktuella"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Ange startsida"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Autoanpassa sidor"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Anpassa webbsidor efter skärmen"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Sekretessinställningar"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Rensa cacheminne"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Ta bort allt cachelagrat sidinnehåll"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"Cacheminnet kommer att rensas."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Ta bort alla cookie-data"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Ta bort alla webbläsarens cookies"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Alla cookies tas bort."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Rensa historik"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Rensa webbläsarhistoriken"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"Webbläsarhistoriken kommer att tas bort."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Rensa data i formulär"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Rensa data från alla sparade formulär"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Alla sparade formulär kommer att rensas."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Ta bort lösenord"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Ta bort alla sparade lösenord"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Alla sparade lösenord tas bort."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Säkerhetsinställningar"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Kom ihåg lösenord"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Spara användarnamn och lösenord på webbplatser"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Spara formulärdata"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Kom ihåg data som jag anger i formulär för senare bruk"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Visa säkerhetsvarningar"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Visa varningar om det uppstår problem med en webbplats säkerhet"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Acceptera cookies"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Tillåt att webbplatser sparar och läser cookie-data"</string>
+    <string name="page_info">"Sidinformation"</string>
+    <string name="page_info_view">"Visa sidinformation"</string>
+    <string name="page_info_address">"Adress:"</string>
+    <string name="ssl_warnings_header">"Det har uppstått problem med säkerhetscertifikatet för den här webbplatsen."</string>
+    <string name="ssl_continue">"Fortsätt"</string>
+    <string name="security_warning">"Säkerhetsvarning"</string>
+    <string name="view_certificate">"Visa certifikat"</string>
+    <string name="ssl_untrusted">"Detta certifikat kommer inte från en betrodd utfärdare."</string>
+    <string name="ssl_mismatch">"Webbplatsens namn stämmer inte med namnet på certifikatet."</string>
+    <string name="ssl_expired">"Certifikatet har upphört att gälla."</string>
+    <string name="ssl_not_yet_valid">"Certifikatet är inte giltigt än."</string>
+    <string name="ssl_certificate">"Säkerhetscertifikat"</string>
+    <string name="ssl_certificate_is_valid">"Detta certifikat är giltigt."</string>
+    <string name="issued_to">"Utfärdat till:"</string>
+    <string name="common_name">"Nätverksnamn:"</string>
+    <string name="org_name">"Organisation:"</string>
+    <string name="org_unit">"Organisationsenhet:"</string>
+    <string name="issued_by">"Utfärdat av:"</string>
+    <string name="validity_period">"Giltighet:"</string>
+    <string name="issued_on">"Utfärdat den:"</string>
+    <string name="expires_on">"Upphör att gälla:"</string>
+    <string name="retrieving_creds_dlg_msg">"Hämtar inloggningsuppgifter…"</string>
+    <string name="stopping">"Avbryter…"</string>
+    <string name="stop">"Stoppa"</string>
+    <string name="reload">"Uppdatera"</string>
+    <string name="forward">"Vidarebefordra"</string>
+    <string name="save">"OK"</string>
+    <string name="do_not_save">"Avbryt"</string>
+    <string name="location">"Plats"</string>
+    <string name="name">"Namn"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Bokmärke"</string>
+    <string name="edit_bookmark">"Redigera bokmärke"</string>
+    <string name="create_shortcut_bookmark">"Lägg till genväg till startsidan"</string>
+    <string name="open_bookmark">"Öppna"</string>
+    <string name="remove_bookmark">"Ta bort bokmärke"</string>
+    <string name="remove_history_item">"Ta bort från historiken"</string>
+    <string name="bookmark_saved">"Bokmärke sparat."</string>
+    <string name="bookmark_needs_title">"Du måste ange ett namn på bokmärket."</string>
+    <string name="bookmark_needs_url">"Du måste ange en plats för bokmärket."</string>
+    <string name="empty_bookmark">"Det går inte att skapa tomma bokmärken."</string>
+    <string name="bookmark_url_not_valid">"Webbadressen är ogiltig."</string>
+    <string name="delete_bookmark">"Ta bort"</string>
+    <string name="bookmark_page">"Skapa bokmärke för den senast visade sidan"</string>
+    <string name="current_page">"från "</string>
+    <string name="delete_bookmark_warning">"Bokmärket <xliff:g id="BOOKMARK">%s</xliff:g> tas bort."</string>
+    <string name="open_in_new_window">"Öppna i nytt fönster"</string>
+    <string name="new_window">"Nytt fönster"</string>
+    <string name="goto_dot">"Kör"</string>
+    <string name="find_dot">"Sök på sidan"</string>
+    <string name="select_dot">"Markera text"</string>
+    <string name="view_tabs">"Översikt över fönster"</string>
+    <string name="view_tabs_condensed">"Fönster"</string>
+    <string name="tab_picker_title">"Aktuellt fönster"</string>
+    <string name="tab_picker_view_tab">"Visa"</string>
+    <string name="tab_picker_new_tab">"Nytt fönster"</string>
+    <string name="tab_picker_remove_tab">"Stäng"</string>
+    <string name="tab_picker_bookmark">"Bokmärke"</string>
+    <string name="tab_picker_send_url">"Dela länk"</string>
+    <string name="bookmarks">"Bokmärken"</string>
+    <string name="shortcut_bookmark">"Bokmärke"</string>
+    <string name="history">"Historik"</string>
+    <string name="menu_view_download">"Hämtningar"</string>
+    <string name="share_page">"Dela sida"</string>
+    <string name="contextmenu_openlink">"Öppna"</string>
+    <string name="contextmenu_openlink_newwindow">"Öppna i nytt fönster"</string>
+    <string name="contextmenu_bookmark_thislink">"Skapa ett bokmärke av länken"</string>
+    <string name="contextmenu_savelink">"Spara länk"</string>
+    <string name="contextmenu_sharelink">"Dela länk"</string>
+    <string name="contextmenu_copy">"Kopiera"</string>
+    <string name="contextmenu_copylink">"Kopiera länkens webbadress"</string>
+    <string name="contextmenu_download_image">"Spara bild"</string>
+    <string name="contextmenu_view_image">"Visa bild"</string>
+    <string name="contextmenu_dial_dot">"Ring..."</string>
+    <string name="contextmenu_add_contact">"Lägg till kontakt"</string>
+    <string name="contextmenu_send_mail">"Skicka e-post"</string>
+    <string name="contextmenu_map">"Karta"</string>
+    <string name="clear">"Rensa"</string>
+    <string name="replace">"Ersätt"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Bokmärken"</string>
+    <string name="menu_preferences">"Inställningar"</string>
+    <string name="pref_content_title">"Inställningar för sidinnehåll"</string>
+    <string name="pref_content_load_images">"Överför bilder"</string>
+    <string name="pref_content_load_images_summary">"Visa bilder på webbsidor"</string>
+    <string name="pref_content_block_popups">"Blockera popup-fönster"</string>
+    <string name="pref_content_javascript">"Aktivera JavaScript"</string>
+    <string name="pref_content_open_in_background">"Öppen i bakgrunden"</string>
+    <string name="pref_content_open_in_background_summary">"Ett nytt fönster öppnas bakom det aktuella"</string>
+    <string name="pref_content_homepage">"Ange startsida"</string>
+    <string name="pref_content_autofit">"Autoanpassa sidor"</string>
+    <string name="pref_content_autofit_summary">"Anpassa webbsidor efter skärmen"</string>
+    <string name="pref_privacy_title">"Sekretessinställningar"</string>
+    <string name="pref_privacy_clear_cache">"Rensa cacheminne"</string>
+    <string name="pref_privacy_clear_cache_summary">"Ta bort allt cachelagrat sidinnehåll"</string>
+    <string name="pref_privacy_clear_cache_dlg">"Cacheminnet kommer att rensas."</string>
+    <string name="pref_privacy_clear_cookies">"Ta bort alla cookie-data"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Ta bort alla webbläsarens cookies"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Alla cookies tas bort."</string>
+    <string name="pref_privacy_clear_history">"Rensa historik"</string>
+    <string name="pref_privacy_clear_history_summary">"Rensa webbläsarhistoriken"</string>
+    <string name="pref_privacy_clear_history_dlg">"Webbläsarhistoriken kommer att tas bort."</string>
+    <string name="pref_privacy_clear_form_data">"Rensa data i formulär"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Rensa data från alla sparade formulär"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Alla sparade formulär kommer att rensas."</string>
+    <string name="pref_privacy_clear_passwords">"Ta bort lösenord"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Ta bort alla sparade lösenord"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Alla sparade lösenord tas bort."</string>
+    <string name="pref_security_title">"Säkerhetsinställningar"</string>
+    <string name="pref_security_remember_passwords">"Kom ihåg lösenord"</string>
+    <string name="pref_security_remember_passwords_summary">"Spara användarnamn och lösenord på webbplatser"</string>
+    <string name="pref_security_save_form_data">"Spara data i formulär"</string>
+    <string name="pref_security_save_form_data_summary">"Kom ihåg data som jag anger i formulär för senare bruk"</string>
+    <string name="pref_security_show_security_warning">"Visa säkerhetsvarningar"</string>
+    <string name="pref_security_show_security_warning_summary">"Visa varningar om det uppstår problem med en webbplats säkerhet"</string>
+    <string name="pref_security_accept_cookies">"Acceptera cookies"</string>
+    <string name="pref_security_accept_cookies_summary">"Tillåt att webbplatser sparar och läser cookie-data"</string>
     <!-- no translation found for pref_text_size (3827031324346612208) -->
     <skip />
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Pytteliten"</item>
-    <item msgid="1950030433642671460">"Liten"</item>
-    <item msgid="4338347520133294584">"Normal"</item>
-    <item msgid="5043128215356351184">"Stor"</item>
-    <item msgid="7201512237890458902">"Mycket stor"</item>
+    <item>"Pytteliten"</item>
+    <item>"Liten"</item>
+    <item>"Normal"</item>
+    <item>"Stor"</item>
+    <item>"Mycket stor"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Textstorlek"</string>
+    <string name="pref_text_size_dialogtitle">"Textstorlek"</string>
     <!-- no translation found for pref_default_zoom (8076142259097187395) -->
     <skip />
     <!-- no translation found for pref_default_zoom_choices:0 (549583171195154919) -->
@@ -168,136 +168,84 @@
     <!-- no translation found for pref_default_zoom_choices:2 (3840999588443167001) -->
     <!-- no translation found for pref_default_zoom_dialogtitle (6095974367125109021) -->
     <skip />
-    <string name="pref_extras_title" msgid="3091250467679722382">"Avancerade inställningar"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Aktivera Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Program som ger utökade webbläsarfunktioner"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Inställningar för Gears"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Lista över insticksprogram"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Inga insticksprogram har installerats."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Program som ger utökade webbläsarfunktioner"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Återställ standardinställn."</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Ta bort alla data i webbläsaren och återställ standardinställningarna"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Alla data i webbläsaren tas bort och standardinställningarna återställs."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Återställ standardinställn."</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Felsökning"</string>
+    <string name="pref_extras_title">"Avancerade inställningar"</string>
+    <string name="pref_extras_reset_default">"Återställ standardinställningarna"</string>
+    <string name="pref_extras_reset_default_summary">"Ta bort alla data i webbläsaren och återställ standardinställningarna"</string>
+    <string name="pref_extras_reset_default_dlg">"Alla data i webbläsaren tas bort och standardinställningarna återställs."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Återställ standardinställningarna"</string>
+    <string name="pref_development_title">"Felsökning"</string>
     <!-- no translation found for pref_default_text_encoding (5742965543955558478) -->
     <skip />
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japansk (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japansk (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japansk (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japansk (ISO-2022-JP)"</item>
+    <item>"Japansk (SHIFT_JIS)"</item>
+    <item>"Japansk (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Textkodning"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latin-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Omdirigera"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Den här webbsidan omdirigeras. Vill du skicka uppgifterna i formuläret till den nya platsen?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Problem med dataanslutning"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Problem med filen"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Bekräfta"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"Sidan du försöker öppna innehåller data som redan har skickats (POSTDATA). Om du skickar uppgifterna igen kommer alla åtgärder i formuläret på sidan (till exempel sökningar eller onlineköp) att utföras en gång till."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Ingen nätverksanslutning"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"Sidan fortsätter att läsas in när anslutningen har återställts."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Rensa historik"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Nyligen besökta sidor"</string>
-    <string name="empty_history" msgid="8738772352308207274">"Det finns ingen webbläsarhistorik."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Lägg till bokmärke…"</string>
-    <string name="no_database" msgid="2256698896757181084">"Ingen databas!"</string>
-    <string name="search_hint" msgid="3385577802557697397">"Ange webbadress"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Kör"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Textkodning"</string>
+    <string name="pref_default_text_encoding_default">"Latin-1"</string>
+    <string name="browserFrameRedirect">"Omdirigera"</string>
+    <string name="browserFrame307Post">"Den här webbsidan omdirigeras. Vill du skicka uppgifterna i formuläret till den nya platsen?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Problem med dataanslutning"</string>
+    <string name="browserFrameFileErrorLabel">"Problem med filen"</string>
+    <string name="browserFrameFormResubmitLabel">"Bekräfta"</string>
+    <string name="browserFrameFormResubmitMessage">"Sidan du försöker öppna innehåller data som redan har skickats (POSTDATA). Om du skickar uppgifterna igen kommer alla åtgärder i formuläret på sidan (till exempel sökningar eller onlineköp) att utföras en gång till."</string>
+    <string name="loadSuspendedTitle">"Ingen nätverksanslutning"</string>
+    <string name="loadSuspended">"Sidan fortsätter att läsas in när anslutningen har återställts."</string>
+    <string name="clear_history">"Rensa historik"</string>
+    <string name="browser_history">"Nyligen besökta sidor"</string>
+    <string name="empty_history">"Det finns ingen webbläsarhistorik."</string>
+    <string name="add_new_bookmark">"Lägg till bokmärke…"</string>
+    <string name="no_database">"Ingen databas!"</string>
+    <string name="search_hint">"Ange webbadress"</string>
+    <string name="search_button_text">"Kör"</string>
     <!-- no translation found for search_settings_description (1422401062529014107) -->
     <skip />
-    <string name="attention" msgid="3473639060042811244">"Obs!"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Webbplatsen försöker öppna ett popup-fönster."</string>
-    <string name="allow" msgid="1157313689171991335">"Tillåt"</string>
-    <string name="block" msgid="9172175889884707800">"Blockera"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Det går inte att öppna fler fönster"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Det gick inte att öppna ett nytt fönster. Högsta antalet fönster är redan öppna."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Ett popup-fönster är redan öppet"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Det gick inte att öppna ett nytt popup-fönster. Endast ett fönster i taget kan vara öppet."</string>
-    <string name="download_title" msgid="2122874021047565594">"Hämtningshistorik"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Okänd&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Öppna"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Ta bort från listan"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"Avbryt hämtning"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Avbryt alla hämtningar"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Rensa listan"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Rensa"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Alla objekt tas bort från listan och från webbläsarens cacheminne."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"Avbryt hämtningar"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"Alla <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> hämtningar avbryts och tas bort från hämtningshistoriken."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Slut på ledigt diskutrymme"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"<xliff:g id="FILENAME">%s</xliff:g> gick inte att hämta."\n"Frigör lite utrymme i telefonen och försök igen."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"Det gick inte att hämta"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"Inget SD-kort"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"Du behöver ett SD-kort för att hämta <xliff:g id="FILENAME">%s</xliff:g>."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"SD-kortet är inte tillgängligt"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"SD-kortet är upptaget. Om du vill tillåta hämtning väljer du Inaktivera USB-lagring i meddelandet."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Vi hittade inget program som kunde öppna filen."</string>
-    <string name="retry" msgid="1835923075542266721">"Försök igen"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"Det finns ingen hämtningshistorik."</string>
-    <string name="download_error" msgid="413496839831257187">"Det gick inte att hämta."</string>
-    <string name="download_success" msgid="2279041638155595203">"<xliff:g id="FILE">%s</xliff:g> har hämtats."</string>
-    <string name="download_running" msgid="2622942231322015059">"Hämtar..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"Startar hämtning…"</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"Väntar på dataanslutning…"</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"Väntar på dataanslutning…"</string>
-    <string name="download_canceled" msgid="6057083743144492515">"Hämtningen avbröts."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"Det gick inte att hämta. Innehållet stöds inte på telefonen."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"Det går inte att hämta. Det finns inte tillräckligt med utrymme."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"Det går inte att hämta eftersom objektets storlek inte kan avläsas."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"Hämtningen avbröts. Den kan inte återupptas."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Testprogram för webbläsaren"</string>
+    <string name="attention">"Obs!"</string>
+    <string name="popup_window_attempt">"Webbplatsen försöker öppna ett popup-fönster."</string>
+    <string name="allow">"Tillåt"</string>
+    <string name="block">"Blockera"</string>
+    <string name="too_many_windows_dialog_title">"Det går inte att öppna fler fönster"</string>
+    <string name="too_many_windows_dialog_message">"Det gick inte att öppna ett nytt fönster. Högsta antalet fönster är redan öppna."</string>
+    <string name="too_many_subwindows_dialog_title">"Ett popup-fönster är redan öppet"</string>
+    <string name="too_many_subwindows_dialog_message">"Det gick inte att öppna ett nytt popup-fönster. Endast ett fönster i taget kan vara öppet."</string>
+    <string name="download_title">"Hämtningshistorik"</string>
+    <string name="download_unknown_filename">"&lt;Okänd&gt;"</string>
+    <string name="download_menu_open">"Öppna"</string>
+    <string name="download_menu_clear">"Ta bort från listan"</string>
+    <string name="download_menu_cancel">"Avbryt hämtning"</string>
+    <string name="download_menu_cancel_all">"Avbryt alla hämtningar"</string>
+    <string name="download_menu_clear_all">"Rensa listan"</string>
+    <string name="download_clear_dlg_title">"Rensa"</string>
+    <string name="download_clear_dlg_msg">"Alla objekt tas bort från listan och från webbläsarens cacheminne."</string>
+    <string name="download_cancel_dlg_title">"Avbryt hämtningar"</string>
+    <string name="download_cancel_dlg_msg">"Alla <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> hämtningar avbryts och tas bort från hämtningshistoriken."</string>
+    <string name="download_file_error_dlg_title">"Slut på ledigt diskutrymme"</string>
+    <string name="download_file_error_dlg_msg">"<xliff:g id="FILENAME">%s</xliff:g> gick inte att hämta."\n"Frigör lite utrymme i telefonen och försök igen."</string>
+    <string name="download_failed_generic_dlg_title">"Det gick inte att hämta"</string>
+    <string name="download_no_sdcard_dlg_title">"Inget SD-kort"</string>
+    <string name="download_no_sdcard_dlg_msg">"Du behöver ett SD-kort för att hämta <xliff:g id="FILENAME">%s</xliff:g>."</string>
+    <string name="download_sdcard_busy_dlg_title">"SD-kortet är inte tillgängligt"</string>
+    <string name="download_sdcard_busy_dlg_msg">"SD-kortet är upptaget. Om du vill tillåta hämtning väljer du Inaktivera USB-lagring i meddelandet."</string>
+    <string name="download_no_application">"Vi hittade inget program som kunde öppna filen."</string>
+    <string name="retry">"Försök igen"</string>
+    <string name="no_downloads">"Det finns ingen hämtningshistorik."</string>
+    <string name="download_error">"Det gick inte att hämta."</string>
+    <string name="download_success">"<xliff:g id="FILE">%s</xliff:g> har hämtats."</string>
+    <string name="download_running">"Hämtar..."</string>
+    <string name="download_pending">"Startar hämtning…"</string>
+    <string name="download_pending_network">"Väntar på dataanslutning…"</string>
+    <string name="download_running_paused">"Väntar på dataanslutning…"</string>
+    <string name="download_canceled">"Hämtningen avbröts."</string>
+    <string name="download_not_acceptable">"Det gick inte att hämta. Innehållet stöds inte på telefonen."</string>
+    <string name="download_file_error">"Det går inte att hämta. Det finns inte tillräckligt med utrymme."</string>
+    <string name="download_length_required">"Det går inte att hämta eftersom objektets storlek inte kan avläsas."</string>
+    <string name="download_precondition_failed">"Hämtningen avbröts. Den kan inte återupptas."</string>
+    <string name="activity_instrumentation_test_runner">"Testprogram för webbläsaren"</string>
     <!-- no translation found for homepage_base (7888126987935305566) -->
     <skip />
     <!-- no translation found for search_the_web (6046130189241962337) -->
     <skip />
-    <string name="query_data_prompt" msgid="5474381240981604223">"Tillåt lagring"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Den här webbplatsen vill spara information i din telefon."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Få åtkomst till din plats"</string>
-    <string name="location_message" msgid="1729456751935683242">"Webbplatsen vill ha åtkomst till din plats."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Skapa en genväg"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Webbplatsen vill skapa en genväg till den här sidan på din startsida."</string>
-    <string name="settings_message" msgid="6171686603006325199">"Tabellen nedan visar vilka behörigheter du har beviljat webbplatserna som har försökt använda Gears."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Filväljaren"</string>
-    <string name="image_message" msgid="5450245866521896891">"Vald bild"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Inställningar för Gears"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Läs webbplatsens sekretesspolicy om du vill veta hur din plats kommer att användas."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Tillåt lokal lagring"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Webbplatsen kan spara information i din telefon"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Webbplatsen kan inte spara information i din telefon"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Tillåt identifiering av plats"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Webbplatsen kan läsa din aktuella plats"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Webbplatsen kan inte läsa din aktuella plats"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Ta bort webbplatsen från Gears"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Ingen behörighet har angetts"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Ta bort webbplatsen"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Alla behörigheter och alla data som webbplatsen sparat i telefonen tas bort."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Webbplatsen sparar information på den här telefonen."\n" Ändra inställningen i:"\n" Inställningar -&gt; Inställningar för Gears"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Webbplatsen sparar aldrig information på den här telefonen."\n" Ändra inställningen i:"\n" Inställningar -&gt; Inställningar för Gears"</string>
-    <string name="location_notification" msgid="3495804750470905804">"Webbplatsen har åtkomst till din aktuella plats."\n" Ändra inställningen i:"\n" Inställningar -&gt; Inställningar för Gears"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Webbplatsen har inte åtkomst till din aktuella plats."\n" Ändra inställningen i:"\n" Inställningar -&gt; Inställningar för Gears"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Genväg har skapats"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Tillåt aldrig"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"OK"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"Avbryt"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Tillåt aldrig"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"OK"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"Avbryt"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Tillämpa"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"Avbryt"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"OK"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"Avbryt"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"sökväg:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Inga filer har valts"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"En fil har valts"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"valda filer"</string>
-    <string name="remove" msgid="7820112494467011374">"Ta bort"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Lokal lagring"</string>
-    <string name="allowed" msgid="1599514934221911624">"Tillåts"</string>
-    <string name="denied" msgid="7470209521858372968">"Nekad"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Okänd dialogtyp"</string>
-    <string name="default_button" msgid="3901922329454578908">"OK"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Översikt"</string>
+    <string name="zoom_overview_button_text">"Översikt"</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 02c7bd6..cb821f8 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -15,151 +15,151 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"Tarayıcı"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"Favoriler"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"En çok ziyaret edilenler"</string>
-    <string name="tab_history" msgid="1979267558744613746">"Geçmiş"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"Favorilere eklendi"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"Favorilerden kaldırıldı"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"<xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\" oturumu aç"</string>
-    <string name="username" msgid="5057566336518215922">"Ad"</string>
-    <string name="password" msgid="1177138552305184404">"Şifre"</string>
-    <string name="action" msgid="183105774472071343">"Oturum aç"</string>
+    <string name="application_name">"Tarayıcı"</string>
+    <string name="tab_bookmarks">"Favoriler"</string>
+    <string name="tab_most_visited">"En çok ziyaret edilenler"</string>
+    <string name="tab_history">"Geçmiş"</string>
+    <string name="added_to_bookmarks">"Favorilere eklendi"</string>
+    <string name="removed_from_bookmarks">"Favorilerden kaldırıldı"</string>
+    <string name="sign_in_to">"<xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\" oturumu aç"</string>
+    <string name="username">"Ad"</string>
+    <string name="password">"Şifre"</string>
+    <string name="action">"Oturum aç"</string>
     <!-- no translation found for bookmarks_search (5229596268214362873) -->
     <skip />
-    <string name="cancel" msgid="3017274947407233702">"İptal"</string>
-    <string name="ok" msgid="1509280796718850364">"Tamam"</string>
+    <string name="cancel">"İptal"</string>
+    <string name="ok">"Tamam"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"Eşleşme yok"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 eşleşme"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> eşleşme"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> eşleşme"</item>
+    <item quantity="zero">"Eşleşme yok"</item>
+    <item quantity="one">"1 eşleşme"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> eşleşme"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> eşleşme"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"Sayfa bilgileri"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"Sayfa bilgilerini görüntüle"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"Adres:"</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"Bu sitenin güvenlik sertifikasında sorunlar var."</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"Devam Et"</string>
-    <string name="security_warning" msgid="6607795404322797541">"Güvenlik uyarısı"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"Sertifikayı görüntüle"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"Bu sertifika güvenilir bir yetkiliden değil."</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"Sitenin adı sertifika üzerindeki adla eşleşmiyor."</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"Bu sertifikanın süresi dolmuş."</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"Bu sertifika henüz geçerli değil."</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"Güvenlik sertifikası"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"Bu sertifika geçerli."</string>
-    <string name="issued_to" msgid="9032338008819841339">"Alıcı:"</string>
-    <string name="common_name" msgid="5745530093500062357">"Ortak ad:"</string>
-    <string name="org_name" msgid="8868889052889991293">"Kuruluş:"</string>
-    <string name="org_unit" msgid="4489056376307768196">"Kuruluş birimi:"</string>
-    <string name="issued_by" msgid="6959484326943152487">"Yayınlayan:"</string>
-    <string name="validity_period" msgid="57988851973181309">"Geçerlilik:"</string>
-    <string name="issued_on" msgid="2082890654801808368">"Yayınlanma tarihi:"</string>
-    <string name="expires_on" msgid="8061200430557020704">"Sona erme tarihi:"</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"Oturum açma bilgileri alınıyor..."</string>
-    <string name="stopping" msgid="4839698519340302982">"Durduruluyor..."</string>
-    <string name="stop" msgid="5687251076030630074">"Durdur"</string>
-    <string name="reload" msgid="8585220783228408062">"Yenile"</string>
-    <string name="forward" msgid="4288210890526641577">"İleri"</string>
-    <string name="save" msgid="5922311934992468496">"Tamam"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"İptal"</string>
-    <string name="location" msgid="969988560160364559">"Konum"</string>
-    <string name="name" msgid="5990326151488445481">"Ad"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"Favori"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"Favorileri düzenle"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"Ana ekrana kısayol ekle"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"Aç"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"Favoriyi sil"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"Geçmişten kaldır"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"Favorilere kaydedildi."</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"Favorinin bir adı olmalıdır."</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"Favorinin bir konumu olmalıdır."</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"Boş favori oluşturulamaz."</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"URL geçerli değil."</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"Sil"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"Son görüntülenen sayfayı favori olarak işaretle"</string>
-    <string name="current_page" msgid="7510129573681663135">"kaynak: "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"Favori \"<xliff:g id="BOOKMARK">%s</xliff:g>\" silinecek."</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"Yeni pencerede aç"</string>
-    <string name="new_window" msgid="8117889615360211551">"Yeni pencere"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"Git"</string>
-    <string name="find_dot" msgid="6259312434696611957">"Sayfada bul"</string>
-    <string name="select_dot" msgid="6299170761900561967">"Metni seç"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"Pencereye genel bakış"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"Pencereler"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"Geçerli pencereler"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"Görüntüle"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"Yeni pencere"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"Kapat"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"Favori"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"Bağlantıyı paylaş"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"Favoriler"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"Favori"</string>
-    <string name="history" msgid="2451240511251410032">"Geçmiş"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"İndirme işlemleri"</string>
-    <string name="share_page" msgid="593756995297268343">"Sayfayı paylaş"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"Aç"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"Yeni pencerede aç"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"Favori bağlantısı"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"Bağlantıyı kaydet"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Bağlantıyı paylaş"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"Kopyala"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"Bağlantı URL\'sini kopyala"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"Görseli kaydet"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"Görseli görüntüle"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"Ara..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"Kişi ekle"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"E-posta gönder"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"Harita"</string>
-    <string name="clear" msgid="7070043081700011461">"Temizle"</string>
-    <string name="replace" msgid="4843033491070384047">"Değiştir"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"Favoriler"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"Ayarlar"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"Sayfa içeriği ayarları"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"Görselleri yükle"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"Web sayfalarındaki görselleri görüntüle"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"Pop-up\'ları engelle"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"JavaScript\'i etkinleştir"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"Arka planda aç"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"Yeni pencereler geçerli olanın arkasında açılır"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"Ana sayfayı ayarla"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"Sayfaları otomatik sığdır"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"Web sayfalarını ekrana sığacak şekilde biçimlendir"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"Gizlilik ayarları"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"Önbelleği temizle"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"Önbelleğe alınmış tüm sayfa içeriğini sil"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"Önbellek temizlenecek."</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"Tüm çerez verilerini temizle"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"Tüm tarayıcı çerezlerini temizle"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"Tüm çerezler temizlenecek."</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"Geçmişi temizle"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"Tarayıcı gezinme geçmişini temizle"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"Tarayıcının gezinme geçmişi temizlenecek."</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"Form verilerini temizle"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"Tüm kayıtlı form verilerini temizle"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"Kayıtlı tüm form verileri temizlenecek."</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"Şifreleri temizle"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"Kayıtlı tüm şifreleri temizle"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"Kayıtlı tüm şifreler temizlenecek."</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"Güvenlik ayarları"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"Şifreleri hatırla"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"Web siteleri için kullanıcı adlarını ve şifreleri kaydet"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"Form verilerini hatırla"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"Daha sonra kullanmak üzere formlara yazdığım verileri hatırla"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"Güvenlik uyarıl. göster"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"Site güvenliği ile ilgili bir sorun varsa uyarı göster"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"Çerezleri kabul et"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"Sitelere \"çerez\" verilerini kaydetme ve okuma izni ver"</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"Metin boyutu"</string>
+    <string name="page_info">"Sayfa bilgileri"</string>
+    <string name="page_info_view">"Sayfa bilgilerini görüntüle"</string>
+    <string name="page_info_address">"Adres:"</string>
+    <string name="ssl_warnings_header">"Bu sitenin güvenlik sertifikasında sorunlar var."</string>
+    <string name="ssl_continue">"Devam Et"</string>
+    <string name="security_warning">"Güvenlik uyarısı"</string>
+    <string name="view_certificate">"Sertifikayı görüntüle"</string>
+    <string name="ssl_untrusted">"Bu sertifika güvenilir bir yetkiliden değil."</string>
+    <string name="ssl_mismatch">"Sitenin adı sertifika üzerindeki adla eşleşmiyor."</string>
+    <string name="ssl_expired">"Bu sertifikanın süresi dolmuş."</string>
+    <string name="ssl_not_yet_valid">"Bu sertifika henüz geçerli değil."</string>
+    <string name="ssl_certificate">"Güvenlik sertifikası"</string>
+    <string name="ssl_certificate_is_valid">"Bu sertifika geçerli."</string>
+    <string name="issued_to">"Alıcı:"</string>
+    <string name="common_name">"Ortak ad:"</string>
+    <string name="org_name">"Kuruluş:"</string>
+    <string name="org_unit">"Kuruluş birimi:"</string>
+    <string name="issued_by">"Yayınlayan:"</string>
+    <string name="validity_period">"Geçerlilik:"</string>
+    <string name="issued_on">"Yayınlanma tarihi:"</string>
+    <string name="expires_on">"Sona erme tarihi:"</string>
+    <string name="retrieving_creds_dlg_msg">"Oturum açma bilgileri alınıyor..."</string>
+    <string name="stopping">"Durduruluyor..."</string>
+    <string name="stop">"Durdur"</string>
+    <string name="reload">"Yenile"</string>
+    <string name="forward">"Yönlendir"</string>
+    <string name="save">"Tamam"</string>
+    <string name="do_not_save">"İptal"</string>
+    <string name="location">"Konum"</string>
+    <string name="name">"Ad"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"Favori"</string>
+    <string name="edit_bookmark">"Favorileri düzenle"</string>
+    <string name="create_shortcut_bookmark">"Ana ekrana kısayol ekle"</string>
+    <string name="open_bookmark">"Aç"</string>
+    <string name="remove_bookmark">"Favoriyi sil"</string>
+    <string name="remove_history_item">"Geçmişten kaldır"</string>
+    <string name="bookmark_saved">"Favorilere kaydedildi."</string>
+    <string name="bookmark_needs_title">"Favorinin bir adı olmalıdır."</string>
+    <string name="bookmark_needs_url">"Favorinin bir konumu olmalıdır."</string>
+    <string name="empty_bookmark">"Boş favori oluşturulamaz."</string>
+    <string name="bookmark_url_not_valid">"URL geçerli değil."</string>
+    <string name="delete_bookmark">"Sil"</string>
+    <string name="bookmark_page">"Son görüntülenen sayfayı favori olarak işaretle"</string>
+    <string name="current_page">"kaynak: "</string>
+    <string name="delete_bookmark_warning">"Favori \"<xliff:g id="BOOKMARK">%s</xliff:g>\" silinecek."</string>
+    <string name="open_in_new_window">"Yeni pencerede aç"</string>
+    <string name="new_window">"Yeni pencere"</string>
+    <string name="goto_dot">"Git"</string>
+    <string name="find_dot">"Sayfada bul"</string>
+    <string name="select_dot">"Metni seç"</string>
+    <string name="view_tabs">"Pencereye genel bakış"</string>
+    <string name="view_tabs_condensed">"Pencereler"</string>
+    <string name="tab_picker_title">"Geçerli pencereler"</string>
+    <string name="tab_picker_view_tab">"Görüntüle"</string>
+    <string name="tab_picker_new_tab">"Yeni pencere"</string>
+    <string name="tab_picker_remove_tab">"Kapat"</string>
+    <string name="tab_picker_bookmark">"Favori"</string>
+    <string name="tab_picker_send_url">"Bağlantıyı paylaş"</string>
+    <string name="bookmarks">"Favoriler"</string>
+    <string name="shortcut_bookmark">"Favori"</string>
+    <string name="history">"Geçmiş"</string>
+    <string name="menu_view_download">"İndirme işlemleri"</string>
+    <string name="share_page">"Sayfayı paylaş"</string>
+    <string name="contextmenu_openlink">"Aç"</string>
+    <string name="contextmenu_openlink_newwindow">"Yeni pencerede aç"</string>
+    <string name="contextmenu_bookmark_thislink">"Favori bağlantısı"</string>
+    <string name="contextmenu_savelink">"Bağlantıyı kaydet"</string>
+    <string name="contextmenu_sharelink">"Bağlantıyı paylaş"</string>
+    <string name="contextmenu_copy">"Kopyala"</string>
+    <string name="contextmenu_copylink">"Bağlantı URL\'sini kopyala"</string>
+    <string name="contextmenu_download_image">"Görseli kaydet"</string>
+    <string name="contextmenu_view_image">"Görseli görüntüle"</string>
+    <string name="contextmenu_dial_dot">"Ara..."</string>
+    <string name="contextmenu_add_contact">"Kişi ekle"</string>
+    <string name="contextmenu_send_mail">"E-posta gönder"</string>
+    <string name="contextmenu_map">"Harita"</string>
+    <string name="clear">"Temizle"</string>
+    <string name="replace">"Değiştir"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"Favoriler"</string>
+    <string name="menu_preferences">"Ayarlar"</string>
+    <string name="pref_content_title">"Sayfa içeriği ayarları"</string>
+    <string name="pref_content_load_images">"Görselleri yükle"</string>
+    <string name="pref_content_load_images_summary">"Web sayfalarındaki görselleri görüntüle"</string>
+    <string name="pref_content_block_popups">"Pop-up\'ları engelle"</string>
+    <string name="pref_content_javascript">"JavaScript\'i etkinleştir"</string>
+    <string name="pref_content_open_in_background">"Arka planda aç"</string>
+    <string name="pref_content_open_in_background_summary">"Yeni pencereler geçerli olanın arkasında açılır"</string>
+    <string name="pref_content_homepage">"Ana sayfayı ayarla"</string>
+    <string name="pref_content_autofit">"Sayfaları otomatik sığdır"</string>
+    <string name="pref_content_autofit_summary">"Web sayfalarını ekrana sığacak şekilde biçimlendir"</string>
+    <string name="pref_privacy_title">"Gizlilik ayarları"</string>
+    <string name="pref_privacy_clear_cache">"Önbelleği temizle"</string>
+    <string name="pref_privacy_clear_cache_summary">"Önbelleğe alınmış tüm sayfa içeriğini sil"</string>
+    <string name="pref_privacy_clear_cache_dlg">"Önbellek temizlenecek."</string>
+    <string name="pref_privacy_clear_cookies">"Tüm çerez verilerini temizle"</string>
+    <string name="pref_privacy_clear_cookies_summary">"Tüm tarayıcı çerezlerini temizle"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"Tüm çerezler temizlenecek."</string>
+    <string name="pref_privacy_clear_history">"Geçmişi temizle"</string>
+    <string name="pref_privacy_clear_history_summary">"Tarayıcı gezinme geçmişini temizle"</string>
+    <string name="pref_privacy_clear_history_dlg">"Tarayıcının gezinme geçmişi temizlenecek."</string>
+    <string name="pref_privacy_clear_form_data">"Form verilerini temizle"</string>
+    <string name="pref_privacy_clear_form_data_summary">"Tüm kayıtlı form verilerini temizle"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"Kayıtlı tüm form verileri temizlenecek."</string>
+    <string name="pref_privacy_clear_passwords">"Şifreleri temizle"</string>
+    <string name="pref_privacy_clear_passwords_summary">"Kayıtlı tüm şifreleri temizle"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"Kayıtlı tüm şifreler temizlenecek."</string>
+    <string name="pref_security_title">"Güvenlik ayarları"</string>
+    <string name="pref_security_remember_passwords">"Şifreleri hatırla"</string>
+    <string name="pref_security_remember_passwords_summary">"Web siteleri için kullanıcı adlarını ve şifreleri kaydet"</string>
+    <string name="pref_security_save_form_data">"Form verilerini hatırla"</string>
+    <string name="pref_security_save_form_data_summary">"Daha sonra kullanmak üzere formlara yazdığım verileri hatırla"</string>
+    <string name="pref_security_show_security_warning">"Güvenlik uyarıl. göster"</string>
+    <string name="pref_security_show_security_warning_summary">"Site güvenliği ile ilgili bir sorun varsa uyarı göster"</string>
+    <string name="pref_security_accept_cookies">"Çerezleri kabul et"</string>
+    <string name="pref_security_accept_cookies_summary">"Sitelere \"çerez\" verilerini kaydetme ve okuma izni ver"</string>
+    <string name="pref_text_size">"Metin boyutu"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"Çok Küçük"</item>
-    <item msgid="1950030433642671460">"Küçük"</item>
-    <item msgid="4338347520133294584">"Normal"</item>
-    <item msgid="5043128215356351184">"Büyük"</item>
-    <item msgid="7201512237890458902">"Çok büyük"</item>
+    <item>"Çok Küçük"</item>
+    <item>"Küçük"</item>
+    <item>"Normal"</item>
+    <item>"Büyük"</item>
+    <item>"Çok büyük"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"Metin boyutu"</string>
+    <string name="pref_text_size_dialogtitle">"Metin boyutu"</string>
     <!-- no translation found for pref_default_zoom (8076142259097187395) -->
     <skip />
     <!-- no translation found for pref_default_zoom_choices:0 (549583171195154919) -->
@@ -167,136 +167,84 @@
     <!-- no translation found for pref_default_zoom_choices:2 (3840999588443167001) -->
     <!-- no translation found for pref_default_zoom_dialogtitle (6095974367125109021) -->
     <skip />
-    <string name="pref_extras_title" msgid="3091250467679722382">"Gelişmiş ayarlar"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"Gears\'ı etkinleştir"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"Tarayıcınızın işlevini artıran uygulamalar"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Gears ayarları"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"Eklenti listesi"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"Yüklenmiş eklenti yok."</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"Tarayıcınızın işlevini artıran uygulamalar"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"Varsayılana sıfırla"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"Tüm tarayıcı verilerini temizle ve tüm ayarları varsayılana sıfırla"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"Tüm tarayıcı verileri temizlenecek ve ayarlar varsayılan değerlere geri döndürülecek."</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"Varsayılana sıfırla"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"Hata Ayıklama"</string>
+    <string name="pref_extras_title">"Gelişmiş ayarlar"</string>
+    <string name="pref_extras_reset_default">"Varsayılana sıfırla"</string>
+    <string name="pref_extras_reset_default_summary">"Tüm tarayıcı verilerini temizle ve tüm ayarları varsayılana sıfırla"</string>
+    <string name="pref_extras_reset_default_dlg">"Tüm tarayıcı verileri temizlenecek ve ayarlar varsayılan değerlere geri döndürülecek."</string>
+    <string name="pref_extras_reset_default_dlg_title">"Varsayılana sıfırla"</string>
+    <string name="pref_development_title">"Hata Ayıklama"</string>
     <!-- no translation found for pref_default_text_encoding (5742965543955558478) -->
     <skip />
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japonca (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japonca (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japonca (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japonca (ISO-2022-JP)"</item>
+    <item>"Japonca (SHIFT_JIS)"</item>
+    <item>"Japonca (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"Metin kodlama"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latin-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"Yeniden yönlendir"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"Bu Web sayfası yeniden yönlendiriliyor. Yazılı form verileriniz yeni konuma tekrar gönderilsin mi?"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"Veri bağlantısı sorunu"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"Sorunlu dosya"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"Doğrula"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"Görüntülemeye çalıştığınız sayfa zaten gönderilmiş veriler (\"POSTDATA\") içeriyor. Verileri tekrar gönderirseniz sayfa üzerinde yapılmış tüm işlemler (arama veya çevrimiçi satın alma gibi) tekrarlanacaktır."</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"Ağ bağlantısı yok"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"Bağlantı tekrar kurulduktan sonra sayfa yüklenmeye devam edecek."</string>
-    <string name="clear_history" msgid="5998307092715979619">"Geçmişi temizle"</string>
-    <string name="browser_history" msgid="2979476257919939232">"Son ziyaret edilen sayfalar"</string>
-    <string name="empty_history" msgid="8738772352308207274">"Tarayıcı geçmişi boş."</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"Favori ekle..."</string>
-    <string name="no_database" msgid="2256698896757181084">"Veritabanı yok!"</string>
-    <string name="search_hint" msgid="3385577802557697397">"Web adresini yazın"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"Git"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"Metin kodlama"</string>
+    <string name="pref_default_text_encoding_default">"Latin-1"</string>
+    <string name="browserFrameRedirect">"Yeniden yönlendir"</string>
+    <string name="browserFrame307Post">"Bu Web sayfası yeniden yönlendiriliyor. Yazılı form verileriniz yeni konuma tekrar gönderilsin mi?"</string>
+    <string name="browserFrameNetworkErrorLabel">"Veri bağlantısı sorunu"</string>
+    <string name="browserFrameFileErrorLabel">"Sorunlu dosya"</string>
+    <string name="browserFrameFormResubmitLabel">"Doğrula"</string>
+    <string name="browserFrameFormResubmitMessage">"Görüntülemeye çalıştığınız sayfa zaten gönderilmiş veriler (\"POSTDATA\") içeriyor. Verileri tekrar gönderirseniz sayfa üzerinde yapılmış tüm işlemler (arama veya çevrimiçi satın alma gibi) tekrarlanacaktır."</string>
+    <string name="loadSuspendedTitle">"Ağ bağlantısı yok"</string>
+    <string name="loadSuspended">"Bağlantı tekrar kurulduktan sonra sayfa yüklenmeye devam edecek."</string>
+    <string name="clear_history">"Geçmişi temizle"</string>
+    <string name="browser_history">"Son ziyaret edilen sayfalar"</string>
+    <string name="empty_history">"Tarayıcı geçmişi boş."</string>
+    <string name="add_new_bookmark">"Favori ekle..."</string>
+    <string name="no_database">"Veritabanı yok!"</string>
+    <string name="search_hint">"Web adresini yazın"</string>
+    <string name="search_button_text">"Git"</string>
     <!-- no translation found for search_settings_description (1422401062529014107) -->
     <skip />
-    <string name="attention" msgid="3473639060042811244">"Dikkat"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"Bu site pop-up pencere açmaya çalışıyor."</string>
-    <string name="allow" msgid="1157313689171991335">"İzin Ver"</string>
-    <string name="block" msgid="9172175889884707800">"Engelle"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"Pencere sınırına ulaşıldı"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"Zaten maksimum sayıda pencere açmış olduğunuz için yeni bir pencere açılamadı."</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"Pop-up pencere zaten açık"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"Bir seferde yalnızca bir tane açılabileceğinden yeni pop-up pencere açılamadı."</string>
-    <string name="download_title" msgid="2122874021047565594">"İndirme geçmişi"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;Bilinmiyor&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"Aç"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"Listeden temizle"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"İndirme işlemini iptal et"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"Tüm indirme işlemlerini iptal et"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"Listeyi temizle"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"Temizle"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"Tüm öğeler listeden silinecek ve tarayıcı önbelleğinden kaldırılacak."</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"İndirme işlemlerini iptal et"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> indirme işleminin tümü iptal edilecek ve indirme geçmişinden temizlenecek."</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"Alan yetersiz"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"<xliff:g id="FILENAME">%s</xliff:g> indirilemedi."\n"Telefonunuzda biraz yer açın ve tekrar deneyin."</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"İndirme işlemi başarısız"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"SD kart yok"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"<xliff:g id="FILENAME">%s</xliff:g> dosyasını indirmek için bir SD kart gerekli."</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"SD kart kullanılamıyor"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"SD kart meşgul. İndirme işlemlerine izin vermek için bildirim alanında \"USB\'de depolamayı kapat\"ı seçin."</string>
-    <string name="download_no_application" msgid="5054596425887523234">"Bu dosyayı açmak için hiçbir uygulama bulunamadı."</string>
-    <string name="retry" msgid="1835923075542266721">"Tekrar Dene"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"İndirme geçmişi boş."</string>
-    <string name="download_error" msgid="413496839831257187">"İndirme işlemi başarısız."</string>
-    <string name="download_success" msgid="2279041638155595203">"<xliff:g id="FILE">%s</xliff:g> İndirme işlemi tamamlandı."</string>
-    <string name="download_running" msgid="2622942231322015059">"İndiriliyor..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"İndirme işlemi başlatılıyor..."</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"Veri bağlantısı bekleniyor..."</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"Veri bağlantısı bekleniyor..."</string>
-    <string name="download_canceled" msgid="6057083743144492515">"İndirme işlemi iptal edildi."</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"İndirilemiyor. İçerik bu telefonda desteklenmiyor."</string>
-    <string name="download_file_error" msgid="1206648050615176113">"İndirme işlemi tamamlanamıyor. Yeterli alan yok."</string>
-    <string name="download_length_required" msgid="9038605488460437406">"İndirilemiyor. Öğenin boyutu belirlenemiyor."</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"İndirme işlemi kesintiye uğradı. Sürdürülemez."</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Tarayıcı Test Aracı"</string>
+    <string name="attention">"Dikkat"</string>
+    <string name="popup_window_attempt">"Bu site pop-up pencere açmaya çalışıyor."</string>
+    <string name="allow">"İzin Ver"</string>
+    <string name="block">"Engelle"</string>
+    <string name="too_many_windows_dialog_title">"Pencere sınırına ulaşıldı"</string>
+    <string name="too_many_windows_dialog_message">"Zaten maksimum sayıda pencere açmış olduğunuz için yeni bir pencere açılamadı."</string>
+    <string name="too_many_subwindows_dialog_title">"Pop-up pencere zaten açık"</string>
+    <string name="too_many_subwindows_dialog_message">"Bir seferde yalnızca bir tane açılabileceğinden yeni pop-up pencere açılamadı."</string>
+    <string name="download_title">"İndirme geçmişi"</string>
+    <string name="download_unknown_filename">"&lt;Bilinmiyor&gt;"</string>
+    <string name="download_menu_open">"Aç"</string>
+    <string name="download_menu_clear">"Listeden temizle"</string>
+    <string name="download_menu_cancel">"İndirme işlemini iptal et"</string>
+    <string name="download_menu_cancel_all">"Tüm indirme işlemlerini iptal et"</string>
+    <string name="download_menu_clear_all">"Listeyi temizle"</string>
+    <string name="download_clear_dlg_title">"Temizle"</string>
+    <string name="download_clear_dlg_msg">"Tüm öğeler listeden silinecek ve tarayıcı önbelleğinden kaldırılacak."</string>
+    <string name="download_cancel_dlg_title">"İndirme işlemlerini iptal et"</string>
+    <string name="download_cancel_dlg_msg">"<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> indirme işleminin tümü iptal edilecek ve indirme geçmişinden temizlenecek."</string>
+    <string name="download_file_error_dlg_title">"Alan yetersiz"</string>
+    <string name="download_file_error_dlg_msg">"<xliff:g id="FILENAME">%s</xliff:g> indirilemedi."\n"Telefonunuzda biraz yer açın ve tekrar deneyin."</string>
+    <string name="download_failed_generic_dlg_title">"İndirme işlemi başarısız"</string>
+    <string name="download_no_sdcard_dlg_title">"SD kart yok"</string>
+    <string name="download_no_sdcard_dlg_msg">"<xliff:g id="FILENAME">%s</xliff:g> dosyasını indirmek için bir SD kart gerekli."</string>
+    <string name="download_sdcard_busy_dlg_title">"SD kart kullanılamıyor"</string>
+    <string name="download_sdcard_busy_dlg_msg">"SD kart meşgul. İndirme işlemlerine izin vermek için bildirim alanında \"USB\'de depolamayı kapat\"ı seçin."</string>
+    <string name="download_no_application">"Bu dosyayı açmak için hiçbir uygulama bulunamadı."</string>
+    <string name="retry">"Tekrar Dene"</string>
+    <string name="no_downloads">"İndirme geçmişi boş."</string>
+    <string name="download_error">"İndirme işlemi başarısız."</string>
+    <string name="download_success">"<xliff:g id="FILE">%s</xliff:g> İndirme işlemi tamamlandı."</string>
+    <string name="download_running">"İndiriliyor..."</string>
+    <string name="download_pending">"İndirme işlemi başlatılıyor..."</string>
+    <string name="download_pending_network">"Veri bağlantısı bekleniyor..."</string>
+    <string name="download_running_paused">"Veri bağlantısı bekleniyor..."</string>
+    <string name="download_canceled">"İndirme işlemi iptal edildi."</string>
+    <string name="download_not_acceptable">"İndirilemiyor. İçerik bu telefonda desteklenmiyor."</string>
+    <string name="download_file_error">"İndirme işlemi tamamlanamıyor. Yeterli alan yok."</string>
+    <string name="download_length_required">"İndirilemiyor. Öğenin boyutu belirlenemiyor."</string>
+    <string name="download_precondition_failed">"İndirme işlemi kesintiye uğradı. Sürdürülemez."</string>
+    <string name="activity_instrumentation_test_runner">"Tarayıcı Test Aracı"</string>
     <!-- no translation found for homepage_base (7888126987935305566) -->
     <skip />
     <!-- no translation found for search_the_web (6046130189241962337) -->
     <skip />
-    <string name="query_data_prompt" msgid="5474381240981604223">"Depolamaya izin ver"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"Bu web sitesi telefonunuzda bilgi depolamak istiyor."</string>
-    <string name="location_prompt" msgid="226262202057302423">"Konumunuza erişin"</string>
-    <string name="location_message" msgid="1729456751935683242">"Bu web sitesi konumunuza erişmek istiyor."</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"Kısayol oluştur"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"Bu web sitesi ana ekranınızda bu sayfaya kısayol oluşturmak istiyor."</string>
-    <string name="settings_message" msgid="6171686603006325199">"Aşağıdaki tabloda Gears\'ı kullanmaya çalışan her siteye vermiş olduğunuz izinler gösterilmektedir."</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"Dosya Toplayıcı"</string>
-    <string name="image_message" msgid="5450245866521896891">"Seçilen Görsel"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Gears ayarları"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"Konumunuzun nasıl kullanılacağını görmek için sitenin gizlilik politikasını okuyun."</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"Yerel Depolamaya İzin Ver"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"Bu site telefonunuza bilgi kaydedebilir"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"Bu site telefonunuza bilgi kaydedemez"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"Konum Tespitine İzin Ver"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"Bu site geçerli konumunuzu okuyabilir"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"Bu site geçerli konumunuzu okuyamaz"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"Bu siteyi Gears\'tan kaldır"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"Hiçbir izin ayarlanmadı"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"Bu siteyi kaldır"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"Tüm izinler kaldırılacak ve site tarafından telefonunuzda depolanmış tüm veriler silinecek."</string>
-    <string name="storage_notification" msgid="6534213782873968255">"Bu site bu telefona bilgi depolayacak."\n" Bu ayarları şuradan değiştirin:"\n" Ayarlar -&gt; Gears Ayarları"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"Bu site bu telefona asla bilgi depolamayacak."\n" Bu ayarları şuradan değiştirin:"\n" Ayarlar -&gt; Gears Ayarları"</string>
-    <string name="location_notification" msgid="3495804750470905804">"Bu site geçerli konumunuza erişebilir."\n" Bu ayarı şuradan değiştirin: "\n" Ayarlar -&gt; Gears Ayarları"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"Bu site geçerli konumunuza erişmeyecek. "\n" Bu ayarı şuradan değiştirin:"\n" Ayarlar -&gt; Gears Ayarları"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"Kısayol oluşturuldu"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"Asla İzin Verme"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"Tamam"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"İptal"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"Asla İzin Verme"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"Tamam"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"İptal"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"Uygula"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"İptal"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"Tamam"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"İptal"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"yol:"</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"Seçili dosya yok"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"Bir dosya seçildi"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"dosyalar seçildi"</string>
-    <string name="remove" msgid="7820112494467011374">"Kaldır"</string>
-    <string name="local_storage" msgid="6703332885937279085">"Yerel depolama"</string>
-    <string name="allowed" msgid="1599514934221911624">"İzin Verildi"</string>
-    <string name="denied" msgid="7470209521858372968">"Reddedildi"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"Tanınmayan iletişim türü"</string>
-    <string name="default_button" msgid="3901922329454578908">"Tamam"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"Genel Bakış"</string>
+    <string name="zoom_overview_button_text">"Genel Bakış"</string>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index d245c4c..a47d6b9 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -15,151 +15,151 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"浏览器"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"书签"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"访问最多"</string>
-    <string name="tab_history" msgid="1979267558744613746">"历史记录"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"已添加到书签"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"从书签中删除"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"登录 <xliff:g id="HOSTNAME">%s1</xliff:g>“<xliff:g id="REALM">%s2</xliff:g>”"</string>
-    <string name="username" msgid="5057566336518215922">"名称"</string>
-    <string name="password" msgid="1177138552305184404">"密码"</string>
-    <string name="action" msgid="183105774472071343">"登录"</string>
+    <string name="application_name">"浏览器"</string>
+    <string name="tab_bookmarks">"书签"</string>
+    <string name="tab_most_visited">"访问最多"</string>
+    <string name="tab_history">"历史记录"</string>
+    <string name="added_to_bookmarks">"已添加到书签"</string>
+    <string name="removed_from_bookmarks">"从书签中删除"</string>
+    <string name="sign_in_to">"登录 <xliff:g id="HOSTNAME">%s1</xliff:g>“<xliff:g id="REALM">%s2</xliff:g>”"</string>
+    <string name="username">"名称"</string>
+    <string name="password">"密码"</string>
+    <string name="action">"登录"</string>
     <!-- no translation found for bookmarks_search (5229596268214362873) -->
     <skip />
-    <string name="cancel" msgid="3017274947407233702">"取消"</string>
-    <string name="ok" msgid="1509280796718850364">"确定"</string>
+    <string name="cancel">"取消"</string>
+    <string name="ok">"确定"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"没有匹配项"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 个匹配项"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> 个匹配项"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> 个匹配项"</item>
+    <item quantity="zero">"没有匹配项"</item>
+    <item quantity="one">"1 个匹配项"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> 个匹配项"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> 个匹配项"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"网页信息"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"查看网页信息"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"地址："</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"该网站的安全证书有问题。"</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"继续"</string>
-    <string name="security_warning" msgid="6607795404322797541">"安全警告"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"查看证书"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"该证书并非来自可信的授权中心。"</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"网站的名称与证书上的名称不一致。"</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"该证书已过期。"</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"该证书尚未生效。"</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"安全证书"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"该证书有效。"</string>
-    <string name="issued_to" msgid="9032338008819841339">"颁发给："</string>
-    <string name="common_name" msgid="5745530093500062357">"常用名称："</string>
-    <string name="org_name" msgid="8868889052889991293">"组织："</string>
-    <string name="org_unit" msgid="4489056376307768196">"组织单位："</string>
-    <string name="issued_by" msgid="6959484326943152487">"颁发者："</string>
-    <string name="validity_period" msgid="57988851973181309">"有效期："</string>
-    <string name="issued_on" msgid="2082890654801808368">"颁发时间："</string>
-    <string name="expires_on" msgid="8061200430557020704">"有效期至："</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"正在检索登录详细信息..."</string>
-    <string name="stopping" msgid="4839698519340302982">"正在停止..."</string>
-    <string name="stop" msgid="5687251076030630074">"停止"</string>
-    <string name="reload" msgid="8585220783228408062">"刷新"</string>
-    <string name="forward" msgid="4288210890526641577">"前进"</string>
-    <string name="save" msgid="5922311934992468496">"确定"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"取消"</string>
-    <string name="location" msgid="969988560160364559">"位置"</string>
-    <string name="name" msgid="5990326151488445481">"名称"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"书签"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"编辑书签"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"向主屏幕添加快捷方式"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"打开"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"删除书签"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"从历史记录中删除"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"已保存至书签。"</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"书签必须具有名称。"</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"书签必须具有位置。"</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"无法创建空书签。"</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"网址无效。"</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"删除"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"将上次查看过的网页加为书签"</string>
-    <string name="current_page" msgid="7510129573681663135">"来源 "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"将会删除书签“<xliff:g id="BOOKMARK">%s</xliff:g>”。"</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"在新窗口中打开"</string>
-    <string name="new_window" msgid="8117889615360211551">"新窗口"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"输入网址"</string>
-    <string name="find_dot" msgid="6259312434696611957">"在网页上查找"</string>
-    <string name="select_dot" msgid="6299170761900561967">"选择文字"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"窗口概述"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"窗口"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"当前窗口"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"查看"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"新窗口"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"关闭"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"书签"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"分享链接"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"书签"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"书签"</string>
-    <string name="history" msgid="2451240511251410032">"历史记录"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"下载"</string>
-    <string name="share_page" msgid="593756995297268343">"分享网页"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"打开"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"在新窗口中打开"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"书签链接"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"保存链接"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"分享链接"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"复制"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"复制链接网址"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"保存图片"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"查看图片"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"拔号..."</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"添加联系人"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"发送电子邮件"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"地图"</string>
-    <string name="clear" msgid="7070043081700011461">"清除"</string>
-    <string name="replace" msgid="4843033491070384047">"替换"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"书签"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"设置"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"网页内容设置"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"载入图片"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"在网页上显示图片"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"阻止弹出式窗口"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"启用 JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"在后台打开"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"新窗口会在当前窗口后方打开"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"设置主页"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"自动调整为网页大小"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"调整网页格式以适合屏幕大小"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"隐私权设置"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"清除缓存"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"删除所有缓存的网页内容"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"将会清除缓存。"</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"清除所有 Cookie 数据"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"清除所有浏览器 Cookie"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"将会清除所有 Cookie。"</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"清除历史记录"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"清除浏览器导航历史记录"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"将会清除浏览器导航历史记录。"</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"清除表单数据"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"清除所有已保存的表单数据"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"将会清除所有保存的表单数据。"</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"清除密码"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"清除所有保存的密码"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"将会清除所有保存的密码。"</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"安全设置"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"记住密码"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"保存访问网站所用的用户名和密码"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"记住表单数据"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"记住我在表单中输入的数据以便于以后使用"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"显示安全警告"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"当网站安全性出现问题时显示警告"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"接受 Cookie"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"允许网站保存并读取 Cookie 数据"</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"文字大小"</string>
+    <string name="page_info">"网页信息"</string>
+    <string name="page_info_view">"查看网页信息"</string>
+    <string name="page_info_address">"地址："</string>
+    <string name="ssl_warnings_header">"该网站的安全证书有问题。"</string>
+    <string name="ssl_continue">"继续"</string>
+    <string name="security_warning">"安全警告"</string>
+    <string name="view_certificate">"查看证书"</string>
+    <string name="ssl_untrusted">"该证书并非来自可信的授权中心。"</string>
+    <string name="ssl_mismatch">"网站的名称与证书上的名称不一致。"</string>
+    <string name="ssl_expired">"该证书已过期。"</string>
+    <string name="ssl_not_yet_valid">"该证书尚未生效。"</string>
+    <string name="ssl_certificate">"安全证书"</string>
+    <string name="ssl_certificate_is_valid">"该证书有效。"</string>
+    <string name="issued_to">"颁发给："</string>
+    <string name="common_name">"常用名称："</string>
+    <string name="org_name">"组织："</string>
+    <string name="org_unit">"组织单位："</string>
+    <string name="issued_by">"颁发者："</string>
+    <string name="validity_period">"有效期："</string>
+    <string name="issued_on">"颁发时间："</string>
+    <string name="expires_on">"有效期至："</string>
+    <string name="retrieving_creds_dlg_msg">"正在检索登录详细信息..."</string>
+    <string name="stopping">"正在停止..."</string>
+    <string name="stop">"停止"</string>
+    <string name="reload">"刷新"</string>
+    <string name="forward">"前进"</string>
+    <string name="save">"确定"</string>
+    <string name="do_not_save">"取消"</string>
+    <string name="location">"位置"</string>
+    <string name="name">"名称"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"书签"</string>
+    <string name="edit_bookmark">"编辑书签"</string>
+    <string name="create_shortcut_bookmark">"向主屏幕添加快捷方式"</string>
+    <string name="open_bookmark">"打开"</string>
+    <string name="remove_bookmark">"删除书签"</string>
+    <string name="remove_history_item">"从历史记录中删除"</string>
+    <string name="bookmark_saved">"已保存至书签。"</string>
+    <string name="bookmark_needs_title">"书签必须具有名称。"</string>
+    <string name="bookmark_needs_url">"书签必须具有位置。"</string>
+    <string name="empty_bookmark">"无法创建空书签。"</string>
+    <string name="bookmark_url_not_valid">"网址无效。"</string>
+    <string name="delete_bookmark">"删除"</string>
+    <string name="bookmark_page">"将上次查看过的网页加为书签"</string>
+    <string name="current_page">"来源 "</string>
+    <string name="delete_bookmark_warning">"将会删除书签“<xliff:g id="BOOKMARK">%s</xliff:g>”。"</string>
+    <string name="open_in_new_window">"在新窗口中打开"</string>
+    <string name="new_window">"新窗口"</string>
+    <string name="goto_dot">"开始"</string>
+    <string name="find_dot">"在网页上查找"</string>
+    <string name="select_dot">"选择文字"</string>
+    <string name="view_tabs">"窗口概述"</string>
+    <string name="view_tabs_condensed">"窗口"</string>
+    <string name="tab_picker_title">"当前窗口"</string>
+    <string name="tab_picker_view_tab">"查看"</string>
+    <string name="tab_picker_new_tab">"新窗口"</string>
+    <string name="tab_picker_remove_tab">"关闭"</string>
+    <string name="tab_picker_bookmark">"书签"</string>
+    <string name="tab_picker_send_url">"分享链接"</string>
+    <string name="bookmarks">"书签"</string>
+    <string name="shortcut_bookmark">"书签"</string>
+    <string name="history">"历史记录"</string>
+    <string name="menu_view_download">"下载"</string>
+    <string name="share_page">"分享网页"</string>
+    <string name="contextmenu_openlink">"打开"</string>
+    <string name="contextmenu_openlink_newwindow">"在新窗口中打开"</string>
+    <string name="contextmenu_bookmark_thislink">"书签链接"</string>
+    <string name="contextmenu_savelink">"保存链接"</string>
+    <string name="contextmenu_sharelink">"分享链接"</string>
+    <string name="contextmenu_copy">"复制"</string>
+    <string name="contextmenu_copylink">"复制链接网址"</string>
+    <string name="contextmenu_download_image">"保存图片"</string>
+    <string name="contextmenu_view_image">"查看图片"</string>
+    <string name="contextmenu_dial_dot">"拔号..."</string>
+    <string name="contextmenu_add_contact">"添加联系人"</string>
+    <string name="contextmenu_send_mail">"发送电子邮件"</string>
+    <string name="contextmenu_map">"地图"</string>
+    <string name="clear">"清除"</string>
+    <string name="replace">"替换"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"书签"</string>
+    <string name="menu_preferences">"设置"</string>
+    <string name="pref_content_title">"网页内容设置"</string>
+    <string name="pref_content_load_images">"载入图片"</string>
+    <string name="pref_content_load_images_summary">"在网页上显示图片"</string>
+    <string name="pref_content_block_popups">"阻止弹出式窗口"</string>
+    <string name="pref_content_javascript">"启用 JavaScript"</string>
+    <string name="pref_content_open_in_background">"在后台打开"</string>
+    <string name="pref_content_open_in_background_summary">"新窗口会在当前窗口后方打开"</string>
+    <string name="pref_content_homepage">"设置主页"</string>
+    <string name="pref_content_autofit">"自动调整为网页大小"</string>
+    <string name="pref_content_autofit_summary">"调整网页格式以适合屏幕大小"</string>
+    <string name="pref_privacy_title">"隐私权设置"</string>
+    <string name="pref_privacy_clear_cache">"清除缓存"</string>
+    <string name="pref_privacy_clear_cache_summary">"删除所有缓存的网页内容"</string>
+    <string name="pref_privacy_clear_cache_dlg">"将会清除缓存。"</string>
+    <string name="pref_privacy_clear_cookies">"清除所有 Cookie 数据"</string>
+    <string name="pref_privacy_clear_cookies_summary">"清除所有浏览器 Cookie"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"将会清除所有 Cookie。"</string>
+    <string name="pref_privacy_clear_history">"清除历史记录"</string>
+    <string name="pref_privacy_clear_history_summary">"清除浏览器导航历史记录"</string>
+    <string name="pref_privacy_clear_history_dlg">"将会清除浏览器导航历史记录。"</string>
+    <string name="pref_privacy_clear_form_data">"清除表单数据"</string>
+    <string name="pref_privacy_clear_form_data_summary">"清除所有已保存的表单数据"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"将会清除所有保存的表单数据。"</string>
+    <string name="pref_privacy_clear_passwords">"清除密码"</string>
+    <string name="pref_privacy_clear_passwords_summary">"清除所有保存的密码"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"将会清除所有保存的密码。"</string>
+    <string name="pref_security_title">"安全设置"</string>
+    <string name="pref_security_remember_passwords">"记住密码"</string>
+    <string name="pref_security_remember_passwords_summary">"保存访问网站所用的用户名和密码"</string>
+    <string name="pref_security_save_form_data">"记住表单数据"</string>
+    <string name="pref_security_save_form_data_summary">"记住我在表单中输入的数据以便于以后使用"</string>
+    <string name="pref_security_show_security_warning">"显示安全警告"</string>
+    <string name="pref_security_show_security_warning_summary">"当网站的安全有问题时显示警告"</string>
+    <string name="pref_security_accept_cookies">"接受 Cookie"</string>
+    <string name="pref_security_accept_cookies_summary">"允许网站保存并读取 Cookie 数据"</string>
+    <string name="pref_text_size">"文字大小"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"超小"</item>
-    <item msgid="1950030433642671460">"小"</item>
-    <item msgid="4338347520133294584">"正常"</item>
-    <item msgid="5043128215356351184">"大"</item>
-    <item msgid="7201512237890458902">"超大"</item>
+    <item>"超小"</item>
+    <item>"小"</item>
+    <item>"正常"</item>
+    <item>"大"</item>
+    <item>"超大"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"文字大小"</string>
+    <string name="pref_text_size_dialogtitle">"文字大小"</string>
     <!-- no translation found for pref_default_zoom (8076142259097187395) -->
     <skip />
     <!-- no translation found for pref_default_zoom_choices:0 (549583171195154919) -->
@@ -167,136 +167,84 @@
     <!-- no translation found for pref_default_zoom_choices:2 (3840999588443167001) -->
     <!-- no translation found for pref_default_zoom_dialogtitle (6095974367125109021) -->
     <skip />
-    <string name="pref_extras_title" msgid="3091250467679722382">"高级设置"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"启用 Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"扩展浏览器功能的应用程序"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Gears 设置"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"插件列表"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"没有已安装的插件。"</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"扩展浏览器功能的应用程序"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"重置为默认值"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"清除所有浏览器数据并将所有设置重置为默认值"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"将会清除所有浏览器数据并将设置恢复为默认值。"</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"重置为默认值"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"调试"</string>
+    <string name="pref_extras_title">"高级设置"</string>
+    <string name="pref_extras_reset_default">"重置为默认值"</string>
+    <string name="pref_extras_reset_default_summary">"清除所有浏览器数据并将所有设置重置为默认值"</string>
+    <string name="pref_extras_reset_default_dlg">"将会清除所有浏览器数据并将设置恢复为默认值。"</string>
+    <string name="pref_extras_reset_default_dlg_title">"重置为默认值"</string>
+    <string name="pref_development_title">"调试"</string>
     <!-- no translation found for pref_default_text_encoding (5742965543955558478) -->
     <skip />
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"拉丁语-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"日文 (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"日文 (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"日文 (EUC-JP)"</item>
+    <item>"拉丁语-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"日文 (ISO-2022-JP)"</item>
+    <item>"日文 (SHIFT_JIS)"</item>
+    <item>"日文 (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"文字编码"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"拉丁语-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"重定向"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"该网页正在进行重定向。是否要将您输入的表单数据重新发送到新位置？"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"数据连接性问题"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"文件有问题"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"确认"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"您尝试查看的网页中包含已经提交的数据（“POSTDATA”）。如果您重新发送这些数据，系统会重复该网页上的表单所执行过的一切操作（如搜索或在线购买）。"</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"没有网络连接"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"连接恢复后网页会继续载入。"</string>
-    <string name="clear_history" msgid="5998307092715979619">"清除历史记录"</string>
-    <string name="browser_history" msgid="2979476257919939232">"最近访问过的网页"</string>
-    <string name="empty_history" msgid="8738772352308207274">"浏览器历史记录为空。"</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"添加书签..."</string>
-    <string name="no_database" msgid="2256698896757181084">"没有数据库！"</string>
-    <string name="search_hint" msgid="3385577802557697397">"输入网址"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"转至"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"文字编码"</string>
+    <string name="pref_default_text_encoding_default">"拉丁语-1"</string>
+    <string name="browserFrameRedirect">"重定向"</string>
+    <string name="browserFrame307Post">"该网页正在进行重定向。是否要将您输入的表单数据重新发送到新位置？"</string>
+    <string name="browserFrameNetworkErrorLabel">"数据连接性问题"</string>
+    <string name="browserFrameFileErrorLabel">"文件有问题"</string>
+    <string name="browserFrameFormResubmitLabel">"确认"</string>
+    <string name="browserFrameFormResubmitMessage">"您尝试查看的网页中包含已经提交的数据（“POSTDATA”）。如果您重新发送这些数据，系统会重复该网页上的表单所执行过的一切操作（如搜索或在线购买）。"</string>
+    <string name="loadSuspendedTitle">"没有网络连接"</string>
+    <string name="loadSuspended">"连接恢复后网页会继续载入。"</string>
+    <string name="clear_history">"清除历史记录"</string>
+    <string name="browser_history">"最近访问过的网页"</string>
+    <string name="empty_history">"浏览器历史记录为空。"</string>
+    <string name="add_new_bookmark">"添加书签..."</string>
+    <string name="no_database">"没有数据库！"</string>
+    <string name="search_hint">"输入网址"</string>
+    <string name="search_button_text">"转至"</string>
     <!-- no translation found for search_settings_description (1422401062529014107) -->
     <skip />
-    <string name="attention" msgid="3473639060042811244">"注意"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"该网站试图打开一个弹出式窗口。"</string>
-    <string name="allow" msgid="1157313689171991335">"允许"</string>
-    <string name="block" msgid="9172175889884707800">"阻止"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"打开的窗口数已达上限"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"无法打开新窗口，因为打开的窗口数已达到上限。"</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"弹出式窗口已经打开"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"无法打开新的弹出式窗口，因为任何时候都是一次只能打开一个窗口。"</string>
-    <string name="download_title" msgid="2122874021047565594">"下载历史记录"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;未知&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"打开"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"从列表中清除"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"取消下载"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"取消所有下载"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"清除列表"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"清除"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"所有项都会从列表中清除并会从浏览器缓存中删除。"</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"取消下载"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"所有 <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> 项下载都会取消并从下载历史记录中清除。"</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"空间不足"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"无法下载<xliff:g id="FILENAME">%s</xliff:g>。"\n"请释放部分手机空间，然后重试。"</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"下载不成功"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"无 SD 卡"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"需要有 SD 卡才能下载<xliff:g id="FILENAME">%s</xliff:g>。"</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"SD 卡不可用"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"SD 卡正忙。要允许下载，请在通知中选择“关闭 USB 存储”。"</string>
-    <string name="download_no_application" msgid="5054596425887523234">"无法找到可打开此文件的应用程序。"</string>
-    <string name="retry" msgid="1835923075542266721">"重试"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"下载历史记录为空。"</string>
-    <string name="download_error" msgid="413496839831257187">"下载不成功。"</string>
-    <string name="download_success" msgid="2279041638155595203">"<xliff:g id="FILE">%s</xliff:g>下载完成。"</string>
-    <string name="download_running" msgid="2622942231322015059">"正在下载..."</string>
-    <string name="download_pending" msgid="2599683668575349559">"正在开始下载..."</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"正在等待数据连接..."</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"正在等待数据连接..."</string>
-    <string name="download_canceled" msgid="6057083743144492515">"下载已取消。"</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"无法下载，手机不支持此内容。"</string>
-    <string name="download_file_error" msgid="1206648050615176113">"无法完成下载，存储空间不足。"</string>
-    <string name="download_length_required" msgid="9038605488460437406">"无法下载，无法确定该项的大小。"</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"下载中断，无法重新开始。"</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"浏览器测试运行程序"</string>
+    <string name="attention">"注意"</string>
+    <string name="popup_window_attempt">"该网站试图打开一个弹出式窗口。"</string>
+    <string name="allow">"允许"</string>
+    <string name="block">"阻止"</string>
+    <string name="too_many_windows_dialog_title">"打开的窗口数已达上限"</string>
+    <string name="too_many_windows_dialog_message">"无法打开新窗口，因为打开的窗口数已达到上限。"</string>
+    <string name="too_many_subwindows_dialog_title">"弹出式窗口已经打开"</string>
+    <string name="too_many_subwindows_dialog_message">"无法打开新的弹出式窗口，因为任何时候都是一次只能打开一个窗口。"</string>
+    <string name="download_title">"下载历史记录"</string>
+    <string name="download_unknown_filename">"&lt;未知&gt;"</string>
+    <string name="download_menu_open">"打开"</string>
+    <string name="download_menu_clear">"从列表中清除"</string>
+    <string name="download_menu_cancel">"取消下载"</string>
+    <string name="download_menu_cancel_all">"取消所有下载"</string>
+    <string name="download_menu_clear_all">"清除列表"</string>
+    <string name="download_clear_dlg_title">"清除"</string>
+    <string name="download_clear_dlg_msg">"所有项都会从列表中清除并会从浏览器缓存中删除。"</string>
+    <string name="download_cancel_dlg_title">"取消下载"</string>
+    <string name="download_cancel_dlg_msg">"所有 <xliff:g id="DOWNLOAD_COUNT">%d</xliff:g> 项下载都会取消并从下载历史记录中清除。"</string>
+    <string name="download_file_error_dlg_title">"空间不足"</string>
+    <string name="download_file_error_dlg_msg">"无法下载<xliff:g id="FILENAME">%s</xliff:g>。"\n"请释放部分手机空间，然后重试。"</string>
+    <string name="download_failed_generic_dlg_title">"下载不成功"</string>
+    <string name="download_no_sdcard_dlg_title">"无 SD 卡"</string>
+    <string name="download_no_sdcard_dlg_msg">"需要有 SD 卡才能下载<xliff:g id="FILENAME">%s</xliff:g>。"</string>
+    <string name="download_sdcard_busy_dlg_title">"SD 卡不可用"</string>
+    <string name="download_sdcard_busy_dlg_msg">"SD 卡正忙。要允许下载，请在通知中选择“关闭 USB 存储”。"</string>
+    <string name="download_no_application">"无法找到可打开此文件的应用程序。"</string>
+    <string name="retry">"重试"</string>
+    <string name="no_downloads">"下载历史记录为空。"</string>
+    <string name="download_error">"下载不成功。"</string>
+    <string name="download_success">"<xliff:g id="FILE">%s</xliff:g>下载完成。"</string>
+    <string name="download_running">"正在下载..."</string>
+    <string name="download_pending">"正在开始下载..."</string>
+    <string name="download_pending_network">"正在等待数据连接..."</string>
+    <string name="download_running_paused">"正在等待数据连接..."</string>
+    <string name="download_canceled">"下载已取消。"</string>
+    <string name="download_not_acceptable">"无法下载，手机不支持此内容。"</string>
+    <string name="download_file_error">"无法完成下载，存储空间不足。"</string>
+    <string name="download_length_required">"无法下载，无法确定该项的大小。"</string>
+    <string name="download_precondition_failed">"下载中断，无法重新开始。"</string>
+    <string name="activity_instrumentation_test_runner">"浏览器测试运行程序"</string>
     <!-- no translation found for homepage_base (7888126987935305566) -->
     <skip />
     <!-- no translation found for search_the_web (6046130189241962337) -->
     <skip />
-    <string name="query_data_prompt" msgid="5474381240981604223">"允许存储"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"此网站要将信息存储在您的手机上。"</string>
-    <string name="location_prompt" msgid="226262202057302423">"访问您所在的位置"</string>
-    <string name="location_message" msgid="1729456751935683242">"此网站要访问您所在的位置。"</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"创建快捷方式"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"此网站要在您的主屏幕上创建此网页的快捷方式。"</string>
-    <string name="settings_message" msgid="6171686603006325199">"下表显示了您已授予试图使用 Gears 的各个网站的权限。"</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"文件选择器"</string>
-    <string name="image_message" msgid="5450245866521896891">"选择的图片"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Gears 设置"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"阅读网站的隐私权政策，了解将会如何使用您的位置。"</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"允许本地存储"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"此网站可以将信息保存到您的手机上"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"此网站无法将信息保存到您的手机上"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"允许位置检测"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"此网站可以读取您当前所在的位置"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"此网站无法读取您当前所在的位置"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"从 Gears 删除此网站"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"未设置权限"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"删除此网站"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"所有权限将会清除，而且此网站存储在您手机上的所有数据也会删除。"</string>
-    <string name="storage_notification" msgid="6534213782873968255">"此网站要将信息存储在此手机上。"\n"在以下位置更改此设置："\n"“设置”-&gt;“Gears 设置”"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"此网站决不会将信息存储在此手机上。"\n"在以下位置更改此设置："\n"“设置”-&gt;“Gears 设置”"</string>
-    <string name="location_notification" msgid="3495804750470905804">"此网站可以访问您当前所在的位置。"\n"在以下位置更改此设置："\n"“设置”-&gt;“Gears 设置”"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"此网站不会访问您当前所在的位置。"\n"在以下位置更改此设置："\n"“设置”-&gt;“Gears 设置”"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"快捷方式已创建"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"不允许"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"确定"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"取消"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"不允许"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"确定"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"取消"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"应用"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"取消"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"确定"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"取消"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"路径："</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"未选定任何文件"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"一个文件已选定"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"个文件已选定"</string>
-    <string name="remove" msgid="7820112494467011374">"删除"</string>
-    <string name="local_storage" msgid="6703332885937279085">"本地存储"</string>
-    <string name="allowed" msgid="1599514934221911624">"允许"</string>
-    <string name="denied" msgid="7470209521858372968">"已拒绝"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"无法识别的对话类型"</string>
-    <string name="default_button" msgid="3901922329454578908">"确定"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"概览"</string>
+    <string name="zoom_overview_button_text">"概览"</string>
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 8ab4c4e..886e2a1 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -15,283 +15,232 @@
 -->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="application_name" msgid="1935869255545976415">"瀏覽器"</string>
-    <string name="tab_bookmarks" msgid="2305793036003473653">"書籤"</string>
-    <string name="tab_most_visited" msgid="1077402532455000703">"常用網頁"</string>
-    <string name="tab_history" msgid="1979267558744613746">"記錄"</string>
-    <string name="added_to_bookmarks" msgid="1020224130695956728">"已加入書籤"</string>
-    <string name="removed_from_bookmarks" msgid="6063705902028438800">"已自書籤中移除"</string>
-    <string name="sign_in_to" msgid="5939425800148759165">"登入到 <xliff:g id="HOSTNAME">%s1</xliff:g>「<xliff:g id="REALM">%s2</xliff:g>」"</string>
-    <string name="username" msgid="5057566336518215922">"名字"</string>
-    <string name="password" msgid="1177138552305184404">"密碼"</string>
-    <string name="action" msgid="183105774472071343">"登入"</string>
-    <string name="bookmarks_search" msgid="5229596268214362873">"瀏覽器"</string>
-    <string name="cancel" msgid="3017274947407233702">"取消"</string>
-    <string name="ok" msgid="1509280796718850364">"確定"</string>
+    <string name="application_name">"瀏覽器"</string>
+    <string name="tab_bookmarks">"書籤"</string>
+    <string name="tab_most_visited">"常用網頁"</string>
+    <string name="tab_history">"記錄"</string>
+    <string name="added_to_bookmarks">"已加入書籤"</string>
+    <string name="removed_from_bookmarks">"已自書籤中移除"</string>
+    <string name="sign_in_to">"登入到 <xliff:g id="HOSTNAME">%s1</xliff:g>「<xliff:g id="REALM">%s2</xliff:g>」"</string>
+    <string name="username">"名字"</string>
+    <string name="password">"密碼"</string>
+    <string name="action">"登入"</string>
+    <string name="bookmarks_search">"瀏覽器"</string>
+    <string name="cancel">"取消"</string>
+    <string name="ok">"確定"</string>
   <plurals name="matches_found">
-    <item quantity="zero" msgid="6242659159545399963">"沒有相配項"</item>
-    <item quantity="one" msgid="4352019729062956802">"1 個相配項"</item>
-    <item quantity="few" msgid="5544267486978946555">"<xliff:g id="NUMBER">%d</xliff:g> 個相配項"</item>
-    <item quantity="other" msgid="6616125067364315405">"<xliff:g id="NUMBER">%d</xliff:g> 個相配項"</item>
+    <item quantity="zero">"沒有相配項"</item>
+    <item quantity="one">"1 個相配項"</item>
+    <item quantity="few">"<xliff:g id="NUMBER">%d</xliff:g> 個相配項"</item>
+    <item quantity="other">"<xliff:g id="NUMBER">%d</xliff:g> 個相配項"</item>
   </plurals>
-    <string name="page_info" msgid="4048529256302257195">"頁面資訊"</string>
-    <string name="page_info_view" msgid="5303490449842635158">"檢視頁面資訊"</string>
-    <string name="page_info_address" msgid="2222306609532903254">"位址："</string>
-    <string name="ssl_warnings_header" msgid="79744901983636370">"此網站的安全性憑證有問題。"</string>
-    <string name="ssl_continue" msgid="8031515015829358457">"繼續"</string>
-    <string name="security_warning" msgid="6607795404322797541">"安全性警告"</string>
-    <string name="view_certificate" msgid="1472768887529093862">"檢視憑證"</string>
-    <string name="ssl_untrusted" msgid="5369967226521102194">"此憑證來自未信任的機構。"</string>
-    <string name="ssl_mismatch" msgid="558688832420069896">"網站名稱與憑證不符。"</string>
-    <string name="ssl_expired" msgid="5739349389499575559">"此憑證已過期"</string>
-    <string name="ssl_not_yet_valid" msgid="2893167846212645846">"此憑證無效。"</string>
-    <string name="ssl_certificate" msgid="5226747157992111668">"安全憑證"</string>
-    <string name="ssl_certificate_is_valid" msgid="7096160815933145579">"這個憑證沒有問題。"</string>
-    <string name="issued_to" msgid="9032338008819841339">"發給："</string>
-    <string name="common_name" msgid="5745530093500062357">"好記的名稱："</string>
-    <string name="org_name" msgid="8868889052889991293">"組織："</string>
-    <string name="org_unit" msgid="4489056376307768196">"組織單位："</string>
-    <string name="issued_by" msgid="6959484326943152487">"發行者："</string>
-    <string name="validity_period" msgid="57988851973181309">"合法性："</string>
-    <string name="issued_on" msgid="2082890654801808368">"發給："</string>
-    <string name="expires_on" msgid="8061200430557020704">"有效日期："</string>
-    <string name="retrieving_creds_dlg_msg" msgid="9207671133094039879">"取回登入資訊…"</string>
-    <string name="stopping" msgid="4839698519340302982">"停止中…"</string>
-    <string name="stop" msgid="5687251076030630074">"停止"</string>
-    <string name="reload" msgid="8585220783228408062">"重新整理"</string>
-    <string name="forward" msgid="4288210890526641577">"下一頁"</string>
-    <string name="save" msgid="5922311934992468496">"確定"</string>
-    <string name="do_not_save" msgid="6777633870113477714">"取消"</string>
-    <string name="location" msgid="969988560160364559">"位置"</string>
-    <string name="name" msgid="5990326151488445481">"名字"</string>
-    <string name="http" msgid="2163722670597250102">"http://"</string>
-    <string name="save_to_bookmarks" msgid="4680844117598293907">"書籤"</string>
-    <string name="edit_bookmark" msgid="5024089053490231905">"編輯書籤"</string>
-    <string name="create_shortcut_bookmark" msgid="9202323987633899835">"新增捷徑至首頁"</string>
-    <string name="open_bookmark" msgid="8473581305759935790">"開啟"</string>
-    <string name="remove_bookmark" msgid="8407495852801410891">"刪除書籤"</string>
-    <string name="remove_history_item" msgid="5021424935726728618">"從記錄中移除"</string>
-    <string name="bookmark_saved" msgid="2766434679871317557">"已儲存至書籤。"</string>
-    <string name="bookmark_needs_title" msgid="6245900436119218187">"請輸入書籤名稱。"</string>
-    <string name="bookmark_needs_url" msgid="7809876865972755158">"請選取書籤位置。"</string>
-    <string name="empty_bookmark" msgid="7008697085928540511">"無法建立空白書籤。"</string>
-    <string name="bookmark_url_not_valid" msgid="6719785633980202419">"網址無效。"</string>
-    <string name="delete_bookmark" msgid="2422989994934201992">"刪除"</string>
-    <string name="bookmark_page" msgid="6845189305130307274">"將最後瀏覽的網頁加入書籤"</string>
-    <string name="current_page" msgid="7510129573681663135">"來源 "</string>
-    <string name="delete_bookmark_warning" msgid="758043186202032205">"刪除「<xliff:g id="BOOKMARK">%s</xliff:g>」書籤？"</string>
-    <string name="open_in_new_window" msgid="6596775546468054510">"在新視窗開啟"</string>
-    <string name="new_window" msgid="8117889615360211551">"新視窗"</string>
-    <string name="goto_dot" msgid="3895839050522602723">"前往"</string>
-    <string name="find_dot" msgid="6259312434696611957">"在頁面中尋找"</string>
-    <string name="select_dot" msgid="6299170761900561967">"選取文字"</string>
-    <string name="view_tabs" msgid="1119097492003550564">"視窗總覽"</string>
-    <string name="view_tabs_condensed" msgid="5803955493821945369">"視窗"</string>
-    <string name="tab_picker_title" msgid="864478399057782913">"目前視窗"</string>
-    <string name="tab_picker_view_tab" msgid="2984342364915347656">"檢視"</string>
-    <string name="tab_picker_new_tab" msgid="3080280018986866528">"新視窗"</string>
-    <string name="tab_picker_remove_tab" msgid="630087809802479397">"關閉"</string>
-    <string name="tab_picker_bookmark" msgid="1084409404198995477">"加入書籤"</string>
-    <string name="tab_picker_send_url" msgid="9102803487525950021">"分享連結"</string>
-    <string name="bookmarks" msgid="1961279134885867815">"書籤"</string>
-    <string name="shortcut_bookmark" msgid="3974876480401135895">"書籤"</string>
-    <string name="history" msgid="2451240511251410032">"記錄"</string>
-    <string name="menu_view_download" msgid="2124570321712995120">"下載"</string>
-    <string name="share_page" msgid="593756995297268343">"分享網頁"</string>
-    <string name="contextmenu_openlink" msgid="7237961252214188935">"開啟"</string>
-    <string name="contextmenu_openlink_newwindow" msgid="992765050093960353">"在新視窗開啟"</string>
-    <string name="contextmenu_bookmark_thislink" msgid="8095373680616870021">"將連結加入書籤"</string>
-    <string name="contextmenu_savelink" msgid="5508554930832538184">"儲存連結"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"分享連結"</string>
-    <string name="contextmenu_copy" msgid="398860586635404030">"複製"</string>
-    <string name="contextmenu_copylink" msgid="5153657160294534270">"複製連結網址"</string>
-    <string name="contextmenu_download_image" msgid="4243829645180686912">"儲存圖片"</string>
-    <string name="contextmenu_view_image" msgid="3870625602053600905">"檢視圖片"</string>
-    <string name="contextmenu_dial_dot" msgid="5856550683415933806">"撥打…"</string>
-    <string name="contextmenu_add_contact" msgid="3183511922223645716">"新增聯絡人"</string>
-    <string name="contextmenu_send_mail" msgid="1014513374828775660">"傳送電子郵件"</string>
-    <string name="contextmenu_map" msgid="7471390435434034912">"地圖"</string>
-    <string name="clear" msgid="7070043081700011461">"清除"</string>
-    <string name="replace" msgid="4843033491070384047">"取代"</string>
-    <string name="browser_bookmarks_page_bookmarks_text" msgid="6787605028726162673">"書籤"</string>
-    <string name="menu_preferences" msgid="6709237687234102240">"設定"</string>
-    <string name="pref_content_title" msgid="722227111894838633">"頁面內容設定"</string>
-    <string name="pref_content_load_images" msgid="2125616852957377561">"載入圖片"</string>
-    <string name="pref_content_load_images_summary" msgid="5149716777459747214">"顯示網頁上的圖片"</string>
-    <string name="pref_content_block_popups" msgid="7808433807197256726">"封鎖快顯視窗"</string>
-    <string name="pref_content_javascript" msgid="4570972030299516843">"啟用 JavaScript"</string>
-    <string name="pref_content_open_in_background" msgid="824123779725118663">"在背景中開啟"</string>
-    <string name="pref_content_open_in_background_summary" msgid="1543556325431215041">"在目前頁面後面開啟新分頁"</string>
-    <string name="pref_content_homepage" msgid="6082437160778559806">"設定首頁"</string>
-    <string name="pref_content_autofit" msgid="8260474534053660809">"自動調整頁面"</string>
-    <string name="pref_content_autofit_summary" msgid="2358178043889761026">"將網頁調整至適合螢幕的大小"</string>
-    <string name="pref_privacy_title" msgid="1052470980370846151">"隱私設定"</string>
-    <string name="pref_privacy_clear_cache" msgid="3380316479925886998">"清除快取"</string>
-    <string name="pref_privacy_clear_cache_summary" msgid="2969532045347184968">"刪除所有快取頁面內容"</string>
-    <string name="pref_privacy_clear_cache_dlg" msgid="4791302446488696772">"快取會被清除"</string>
-    <string name="pref_privacy_clear_cookies" msgid="3095583579133780331">"清除所有 cookie"</string>
-    <string name="pref_privacy_clear_cookies_summary" msgid="8602064521480657942">"清除所有 cookie"</string>
-    <string name="pref_privacy_clear_cookies_dlg" msgid="5399971428430900904">"所有 cookie 會被清除。"</string>
-    <string name="pref_privacy_clear_history" msgid="8723795508825198477">"清除記錄"</string>
-    <string name="pref_privacy_clear_history_summary" msgid="6868501330708940734">"清除瀏覽記錄"</string>
-    <string name="pref_privacy_clear_history_dlg" msgid="1433519059550861064">"瀏覽記錄將被清除。"</string>
-    <string name="pref_privacy_clear_form_data" msgid="4232668196344383987">"清除表單資料"</string>
-    <string name="pref_privacy_clear_form_data_summary" msgid="1790390894719517167">"清除所有表單"</string>
-    <string name="pref_privacy_clear_form_data_dlg" msgid="567352105409238549">"所有儲存的資料會被清除。"</string>
-    <string name="pref_privacy_clear_passwords" msgid="4750234112289277480">"清除密碼"</string>
-    <string name="pref_privacy_clear_passwords_summary" msgid="1267552159370789981">"清除所有儲存的密碼"</string>
-    <string name="pref_privacy_clear_passwords_dlg" msgid="8425666119003961466">"所有儲存密碼會被清除"</string>
-    <string name="pref_security_title" msgid="5763978646932160021">"安全性設定"</string>
-    <string name="pref_security_remember_passwords" msgid="6492957683454529549">"記住密碼"</string>
-    <string name="pref_security_remember_passwords_summary" msgid="6789880514358003065">"儲存網站使用者名稱與密碼"</string>
-    <string name="pref_security_save_form_data" msgid="1213669802810198893">"儲存表單資料"</string>
-    <string name="pref_security_save_form_data_summary" msgid="4994074685153708026">"儲存輸入的表單資料"</string>
-    <string name="pref_security_show_security_warning" msgid="8901135676266754559">"顯示安全性警告"</string>
-    <string name="pref_security_show_security_warning_summary" msgid="8968906112720511704">"當網站安全性有問題時，顯示警告訊息"</string>
-    <string name="pref_security_accept_cookies" msgid="3201367661925047989">"接受 cookie"</string>
-    <string name="pref_security_accept_cookies_summary" msgid="1465118934875026920">"允許網站存取 cookie"</string>
-    <string name="pref_text_size" msgid="3827031324346612208">"文字大小"</string>
+    <string name="page_info">"頁面資訊"</string>
+    <string name="page_info_view">"檢視頁面資訊"</string>
+    <string name="page_info_address">"位址："</string>
+    <string name="ssl_warnings_header">"此網站的安全性憑證有問題。"</string>
+    <string name="ssl_continue">"繼續"</string>
+    <string name="security_warning">"安全性警告"</string>
+    <string name="view_certificate">"檢視憑證"</string>
+    <string name="ssl_untrusted">"此憑證來自未信任的機構。"</string>
+    <string name="ssl_mismatch">"網站名稱與憑證不符。"</string>
+    <string name="ssl_expired">"此憑證已過期"</string>
+    <string name="ssl_not_yet_valid">"此憑證無效。"</string>
+    <string name="ssl_certificate">"安全憑證"</string>
+    <string name="ssl_certificate_is_valid">"這個憑證沒有問題。"</string>
+    <string name="issued_to">"發給："</string>
+    <string name="common_name">"好記的名稱："</string>
+    <string name="org_name">"組織："</string>
+    <string name="org_unit">"組織單位："</string>
+    <string name="issued_by">"發行者："</string>
+    <string name="validity_period">"合法性："</string>
+    <string name="issued_on">"發給："</string>
+    <string name="expires_on">"有效日期："</string>
+    <string name="retrieving_creds_dlg_msg">"取回登入資訊…"</string>
+    <string name="stopping">"停止中…"</string>
+    <string name="stop">"停止"</string>
+    <string name="reload">"重新整理"</string>
+    <string name="forward">"下一頁"</string>
+    <string name="save">"確定"</string>
+    <string name="do_not_save">"取消"</string>
+    <string name="location">"位置"</string>
+    <string name="name">"名字"</string>
+    <string name="http">"http://"</string>
+    <string name="save_to_bookmarks">"書籤"</string>
+    <string name="edit_bookmark">"編輯書籤"</string>
+    <string name="create_shortcut_bookmark">"新增捷徑至首頁"</string>
+    <string name="open_bookmark">"開啟"</string>
+    <string name="remove_bookmark">"刪除書籤"</string>
+    <string name="remove_history_item">"從記錄中移除"</string>
+    <string name="bookmark_saved">"已儲存至書籤。"</string>
+    <string name="bookmark_needs_title">"請輸入書籤名稱。"</string>
+    <string name="bookmark_needs_url">"請選取書籤位置。"</string>
+    <string name="empty_bookmark">"無法建立空白書籤。"</string>
+    <string name="bookmark_url_not_valid">"網址無效。"</string>
+    <string name="delete_bookmark">"刪除"</string>
+    <string name="bookmark_page">"將最後瀏覽的網頁加入書籤"</string>
+    <string name="current_page">"來源 "</string>
+    <string name="delete_bookmark_warning">"刪除「<xliff:g id="BOOKMARK">%s</xliff:g>」書籤？"</string>
+    <string name="open_in_new_window">"在新視窗開啟"</string>
+    <string name="new_window">"新視窗"</string>
+    <string name="goto_dot">"前往"</string>
+    <string name="find_dot">"在頁面中尋找"</string>
+    <string name="select_dot">"選取文字"</string>
+    <string name="view_tabs">"視窗總覽"</string>
+    <string name="view_tabs_condensed">"視窗"</string>
+    <string name="tab_picker_title">"目前視窗"</string>
+    <string name="tab_picker_view_tab">"檢視"</string>
+    <string name="tab_picker_new_tab">"新視窗"</string>
+    <string name="tab_picker_remove_tab">"關閉"</string>
+    <string name="tab_picker_bookmark">"加入書籤"</string>
+    <string name="tab_picker_send_url">"分享連結"</string>
+    <string name="bookmarks">"書籤"</string>
+    <string name="shortcut_bookmark">"書籤"</string>
+    <string name="history">"記錄"</string>
+    <string name="menu_view_download">"下載"</string>
+    <string name="share_page">"分享網頁"</string>
+    <string name="contextmenu_openlink">"開啟"</string>
+    <string name="contextmenu_openlink_newwindow">"在新視窗開啟"</string>
+    <string name="contextmenu_bookmark_thislink">"將連結加入書籤"</string>
+    <string name="contextmenu_savelink">"儲存連結"</string>
+    <string name="contextmenu_sharelink">"分享連結"</string>
+    <string name="contextmenu_copy">"複製"</string>
+    <string name="contextmenu_copylink">"複製連結網址"</string>
+    <string name="contextmenu_download_image">"儲存圖片"</string>
+    <string name="contextmenu_view_image">"檢視圖片"</string>
+    <string name="contextmenu_dial_dot">"撥打…"</string>
+    <string name="contextmenu_add_contact">"新增聯絡人"</string>
+    <string name="contextmenu_send_mail">"傳送電子郵件"</string>
+    <string name="contextmenu_map">"地圖"</string>
+    <string name="clear">"清除"</string>
+    <string name="replace">"取代"</string>
+    <string name="browser_bookmarks_page_bookmarks_text">"書籤"</string>
+    <string name="menu_preferences">"設定"</string>
+    <string name="pref_content_title">"頁面內容設定"</string>
+    <string name="pref_content_load_images">"載入圖片"</string>
+    <string name="pref_content_load_images_summary">"顯示網頁上的圖片"</string>
+    <string name="pref_content_block_popups">"封鎖快顯視窗"</string>
+    <string name="pref_content_javascript">"啟用 JavaScript"</string>
+    <string name="pref_content_open_in_background">"在背景中開啟"</string>
+    <string name="pref_content_open_in_background_summary">"在目前頁面後面開啟新分頁"</string>
+    <string name="pref_content_homepage">"設定首頁"</string>
+    <string name="pref_content_autofit">"自動調整頁面"</string>
+    <string name="pref_content_autofit_summary">"將網頁調整至適合螢幕的大小"</string>
+    <string name="pref_privacy_title">"隱私設定"</string>
+    <string name="pref_privacy_clear_cache">"清除快取"</string>
+    <string name="pref_privacy_clear_cache_summary">"刪除所有快取頁面內容"</string>
+    <string name="pref_privacy_clear_cache_dlg">"快取會被清除"</string>
+    <string name="pref_privacy_clear_cookies">"清除所有 cookie"</string>
+    <string name="pref_privacy_clear_cookies_summary">"清除所有 cookie"</string>
+    <string name="pref_privacy_clear_cookies_dlg">"所有 cookie 會被清除。"</string>
+    <string name="pref_privacy_clear_history">"清除記錄"</string>
+    <string name="pref_privacy_clear_history_summary">"清除瀏覽記錄"</string>
+    <string name="pref_privacy_clear_history_dlg">"瀏覽記錄將被清除。"</string>
+    <string name="pref_privacy_clear_form_data">"清除表單資料"</string>
+    <string name="pref_privacy_clear_form_data_summary">"清除所有表單"</string>
+    <string name="pref_privacy_clear_form_data_dlg">"所有儲存的資料會被清除。"</string>
+    <string name="pref_privacy_clear_passwords">"清除密碼"</string>
+    <string name="pref_privacy_clear_passwords_summary">"清除所有儲存的密碼"</string>
+    <string name="pref_privacy_clear_passwords_dlg">"所有儲存密碼會被清除"</string>
+    <string name="pref_security_title">"安全性設定"</string>
+    <string name="pref_security_remember_passwords">"記住密碼"</string>
+    <string name="pref_security_remember_passwords_summary">"儲存網站使用者名稱與密碼"</string>
+    <string name="pref_security_save_form_data">"儲存表單資料"</string>
+    <string name="pref_security_save_form_data_summary">"儲存輸入的表單資料"</string>
+    <string name="pref_security_show_security_warning">"顯示安全性警告"</string>
+    <string name="pref_security_show_security_warning_summary">"當網站安全性有問題時，顯示警告訊息"</string>
+    <string name="pref_security_accept_cookies">"接受 cookie"</string>
+    <string name="pref_security_accept_cookies_summary">"允許網站存取 cookie"</string>
+    <string name="pref_text_size">"文字大小"</string>
   <string-array name="pref_text_size_choices">
-    <item msgid="4952686548944739548">"最小"</item>
-    <item msgid="1950030433642671460">"小"</item>
-    <item msgid="4338347520133294584">"適中"</item>
-    <item msgid="5043128215356351184">"大"</item>
-    <item msgid="7201512237890458902">"最大"</item>
+    <item>"最小"</item>
+    <item>"小"</item>
+    <item>"適中"</item>
+    <item>"大"</item>
+    <item>"最大"</item>
   </string-array>
-    <string name="pref_text_size_dialogtitle" msgid="3625388833512647865">"文字大小"</string>
-    <string name="pref_default_zoom" msgid="8076142259097187395">"預設縮放"</string>
+    <string name="pref_text_size_dialogtitle">"文字大小"</string>
+    <string name="pref_default_zoom">"預設縮放"</string>
   <string-array name="pref_default_zoom_choices">
-    <item msgid="549583171195154919">"遠"</item>
-    <item msgid="5619034257768161024">"中"</item>
-    <item msgid="3840999588443167001">"近"</item>
+    <item>"遠"</item>
+    <item>"中"</item>
+    <item>"近"</item>
   </string-array>
-    <string name="pref_default_zoom_dialogtitle" msgid="6095974367125109021">"預設縮放"</string>
-    <string name="pref_extras_title" msgid="3091250467679722382">"進階設定"</string>
-    <string name="pref_extras_gears_enable" msgid="7573987212735599444">"啟用 Gears"</string>
-    <string name="pref_extras_gears_enable_summary" msgid="4008973536142399194">"可擴充瀏覽器功能的應用程式"</string>
-    <string name="pref_extras_gears_settings" msgid="1020697825071619889">"Gears 設定"</string>
-    <string name="pref_plugin_installed" msgid="6387683936112106178">"外掛程式清單"</string>
-    <string name="pref_plugin_installed_empty_list" msgid="6656686482480679665">"未安裝外掛程式。"</string>
-    <string name="pref_extras_gears_settings_summary" msgid="6230027090022456383">"可擴充瀏覽器功能的應用程式"</string>
-    <string name="pref_extras_reset_default" msgid="8904000515846202110">"還原至初始設定"</string>
-    <string name="pref_extras_reset_default_summary" msgid="7984680562706914966">"清除瀏覽器所有資料，並還原至初始設定"</string>
-    <string name="pref_extras_reset_default_dlg" msgid="5332227004054477008">"瀏覽器所有資料會被清除， 並還原至初始設定。"</string>
-    <string name="pref_extras_reset_default_dlg_title" msgid="2250334970728938936">"還原至初始設定"</string>
-    <string name="pref_development_title" msgid="3263854204533056480">"偵錯"</string>
-    <string name="pref_default_text_encoding" msgid="5742965543955558478">"文字編碼"</string>
+    <string name="pref_default_zoom_dialogtitle">"預設縮放"</string>
+    <string name="pref_extras_title">"進階設定"</string>
+    <string name="pref_extras_reset_default">"還原至初始設定"</string>
+    <string name="pref_extras_reset_default_summary">"清除瀏覽器所有資料，並還原至初始設定"</string>
+    <string name="pref_extras_reset_default_dlg">"瀏覽器所有資料會被清除， 並還原至初始設定。"</string>
+    <string name="pref_extras_reset_default_dlg_title">"還原至初始設定"</string>
+    <string name="pref_development_title">"偵錯"</string>
+    <string name="pref_default_text_encoding">"文字編碼"</string>
   <string-array name="pref_default_text_encoding_choices">
-    <item msgid="7275223955790513818">"Latin-1 (ISO-8859-1)"</item>
-    <item msgid="2456597866837587140">"Unicode (UTF-8)"</item>
-    <item msgid="7143715548814380950">"Japanese (ISO-2022-JP)"</item>
-    <item msgid="5111312120564516587">"Japanese (SHIFT_JIS)"</item>
-    <item msgid="6545734186479713946">"Japanese (EUC-JP)"</item>
+    <item>"Latin-1 (ISO-8859-1)"</item>
+    <item>"Unicode (UTF-8)"</item>
+    <item>"Japanese (ISO-2022-JP)"</item>
+    <item>"Japanese (SHIFT_JIS)"</item>
+    <item>"Japanese (EUC-JP)"</item>
   </string-array>
-    <string name="pref_default_text_encoding_dialogtitle" msgid="5508255018084978547">"文字編碼"</string>
-    <string name="pref_default_text_encoding_default" msgid="5272126711231936722">"Latin-1"</string>
-    <string name="browserFrameRedirect" msgid="7049675479777828343">"轉址"</string>
-    <string name="browserFrame307Post" msgid="739650008647852203">"此網頁即將轉向其他頁面。您是否要將輸入的表單資料傳送到新頁面？"</string>
-    <string name="browserFrameNetworkErrorLabel" msgid="126892350904924893">"資料連線問題"</string>
-    <string name="browserFrameFileErrorLabel" msgid="8063691502792670367">"檔案有問題"</string>
-    <string name="browserFrameFormResubmitLabel" msgid="2685923472682180360">"確認"</string>
-    <string name="browserFrameFormResubmitMessage" msgid="2752182215695632138">"您想瀏覽的頁面包含已傳送的 (「POSTDATA」)，如重新送出資料，此頁表單上執行的操作將會重複 (包括搜尋或線上購物等)。"</string>
-    <string name="loadSuspendedTitle" msgid="675991625288706944">"沒有網路連線"</string>
-    <string name="loadSuspended" msgid="1800165494398204523">"連線恢復後，此頁面會繼續載入。"</string>
-    <string name="clear_history" msgid="5998307092715979619">"清除記錄"</string>
-    <string name="browser_history" msgid="2979476257919939232">"最近瀏覽的頁面"</string>
-    <string name="empty_history" msgid="8738772352308207274">"瀏覽記錄是空的。"</string>
-    <string name="add_new_bookmark" msgid="8086367791400349049">"加入書籤…"</string>
-    <string name="no_database" msgid="2256698896757181084">"沒有資料！"</string>
-    <string name="search_hint" msgid="3385577802557697397">"輸入網頁位址"</string>
-    <string name="search_button_text" msgid="5235226933877634410">"前往"</string>
-    <string name="search_settings_description" msgid="1422401062529014107">"書籤與網頁記錄"</string>
-    <string name="attention" msgid="3473639060042811244">"注意"</string>
-    <string name="popup_window_attempt" msgid="2673111696288657989">"此網站試圖開啟快顯視窗。"</string>
-    <string name="allow" msgid="1157313689171991335">"允許"</string>
-    <string name="block" msgid="9172175889884707800">"封鎖"</string>
-    <string name="too_many_windows_dialog_title" msgid="5175503564948906442">"已達視窗數量限制"</string>
-    <string name="too_many_windows_dialog_message" msgid="1398571800233959583">"已達最大視窗數量限制，無法開啟新視窗。"</string>
-    <string name="too_many_subwindows_dialog_title" msgid="3805453941587725944">"已開啟快顯視窗"</string>
-    <string name="too_many_subwindows_dialog_message" msgid="5827289829907966657">"無法開啟新的快顯視窗，同時只能有一個快顯視窗存在。"</string>
-    <string name="download_title" msgid="2122874021047565594">"下載記錄"</string>
-    <string name="download_unknown_filename" msgid="4013465542563652175">"&lt;未知&gt;"</string>
-    <string name="download_menu_open" msgid="4888327480367757513">"開啟"</string>
-    <string name="download_menu_clear" msgid="6264454531553418124">"清除表單列表"</string>
-    <string name="download_menu_cancel" msgid="2545333007601851574">"取消下載"</string>
-    <string name="download_menu_cancel_all" msgid="2136550823151999166">"取消所有下載"</string>
-    <string name="download_menu_clear_all" msgid="7423737413377703862">"清除清單"</string>
-    <string name="download_clear_dlg_title" msgid="7961996329529777390">"清除"</string>
-    <string name="download_clear_dlg_msg" msgid="8056013815679757669">"所有清單中的項目會被清除，並從快取中移除。"</string>
-    <string name="download_cancel_dlg_title" msgid="8909108500262799748">"取消下載"</string>
-    <string name="download_cancel_dlg_msg" msgid="6285389170052357797">"所有 (<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g>) 下載會取消並從下載記錄中清除。"</string>
-    <string name="download_file_error_dlg_title" msgid="2693630283595384874">"空間不足"</string>
-    <string name="download_file_error_dlg_msg" msgid="5156405410324072471">"無法下載 <xliff:g id="FILENAME">%s</xliff:g>。"\n" 請清除手機上的空間或再試一次。"</string>
-    <string name="download_failed_generic_dlg_title" msgid="6106781095337833391">"下載失敗"</string>
-    <string name="download_no_sdcard_dlg_title" msgid="605904452159416792">"沒有 SD 卡"</string>
-    <string name="download_no_sdcard_dlg_msg" msgid="2616399456116301518">"需要 SD 卡下載 <xliff:g id="FILENAME">%s</xliff:g>。"</string>
-    <string name="download_sdcard_busy_dlg_title" msgid="6877712666046917741">"無法使用 SD 卡"</string>
-    <string name="download_sdcard_busy_dlg_msg" msgid="3473883538192835204">"SD 記憶卡忙碌。如要允許下載，請選取通知中的 [停用 USB 儲存裝置]。"</string>
-    <string name="download_no_application" msgid="5054596425887523234">"找不到可以開啟這個檔案的應用程式。"</string>
-    <string name="retry" msgid="1835923075542266721">"重試"</string>
-    <string name="no_downloads" msgid="3947445710685021498">"下載記錄是空的。"</string>
-    <string name="download_error" msgid="413496839831257187">"下載失敗"</string>
-    <string name="download_success" msgid="2279041638155595203">"<xliff:g id="FILE">%s</xliff:g> 已下載完成。"</string>
-    <string name="download_running" msgid="2622942231322015059">"下載中…"</string>
-    <string name="download_pending" msgid="2599683668575349559">"開始下載…"</string>
-    <string name="download_pending_network" msgid="6548714525679461053">"等待資料連線中…"</string>
-    <string name="download_running_paused" msgid="6418029352085656495">"等待資料連線中…"</string>
-    <string name="download_canceled" msgid="6057083743144492515">"下載已取消。"</string>
-    <string name="download_not_acceptable" msgid="282108828207321357">"無法下載。電話不支援該內容。"</string>
-    <string name="download_file_error" msgid="1206648050615176113">"無法完成下載。儲存空間不足。"</string>
-    <string name="download_length_required" msgid="9038605488460437406">"無法下載。物件大小無法估計。"</string>
-    <string name="download_precondition_failed" msgid="8327584102874295580">"下載中斷。無法續傳。"</string>
-    <string name="activity_instrumentation_test_runner" msgid="8215091309334005029">"Browser Test Runner"</string>
-    <string name="homepage_base" msgid="7888126987935305566">"http://www.google.com/m?client=ms-{CID}"</string>
-    <string name="search_the_web" msgid="6046130189241962337">"搜尋網頁"</string>
-    <string name="query_data_prompt" msgid="5474381240981604223">"允許儲存"</string>
-    <string name="query_data_message" msgid="8789381063185445197">"此網站要在您的手機上儲存資訊。"</string>
-    <string name="location_prompt" msgid="226262202057302423">"存取您的位置資訊"</string>
-    <string name="location_message" msgid="1729456751935683242">"此網站要存取您的位置資訊。"</string>
-    <string name="shortcut_prompt" msgid="437193299088893596">"建立捷徑"</string>
-    <string name="shortcut_message" msgid="4793042709293755892">"此網站要在您的主畫面上建立網頁捷徑。"</string>
-    <string name="settings_message" msgid="6171686603006325199">"下表列出您為每個想要使用 Gears 之網站所授予的權限。"</string>
-    <string name="filepicker_message" msgid="4929726371602896039">"檔案挑選程式"</string>
-    <string name="image_message" msgid="5450245866521896891">"選擇的影像"</string>
-    <string name="settings_title" msgid="3579144910187265022">"Gears 設定"</string>
-    <string name="privacy_policy" msgid="864201179110197308">"讀取網站的隱私權政策，以瞭解網站將如何使用您的位置資訊。"</string>
-    <string name="settings_storage_title" msgid="7089119630457156408">"允許本機儲存"</string>
-    <string name="settings_storage_subtitle_on" msgid="2733295483569432111">"此網站可以在您的手機上儲存資訊"</string>
-    <string name="settings_storage_subtitle_off" msgid="1338039396087898813">"此網站無法在您的手機上儲存資訊"</string>
-    <string name="settings_location_title" msgid="4953062923509886651">"允許偵測位置"</string>
-    <string name="settings_location_subtitle_on" msgid="1496219621849158879">"此網站可以讀取您目前的位置資訊"</string>
-    <string name="settings_location_subtitle_off" msgid="5216466051810596189">"此網站無法讀取您目前的位置資訊"</string>
-    <string name="settings_remove_site" msgid="1822247070226589958">"從 Gears 移除此網站"</string>
-    <string name="settings_empty" msgid="2008952224378583146">"未設定任何權限"</string>
-    <string name="settings_confirmation_remove_title" msgid="5360857296753219635">"移除此網站"</string>
-    <string name="settings_confirmation_remove" msgid="585560170733446898">"系統將清除所有權限，並且將刪除此網站儲存在手機上的所有資料。"</string>
-    <string name="storage_notification" msgid="6534213782873968255">"此網站將會在您的手機上儲存資訊。"\n"您可以透過以下操作變更此設定："\n"[設定] -&gt; [Gears 設定]"</string>
-    <string name="storage_notification_alwaysdeny" msgid="5473208033665783513">"此網站永遠不會在您的手機上儲存資訊。"\n"您可以透過以下操作變更此設定："\n"[設定] -&gt; [Gears 設定]"</string>
-    <string name="location_notification" msgid="3495804750470905804">"此網站可以存取您目前的位置資訊。"\n"您可以透過以下操作變更此設定："\n"[設定] -&gt; [Gears 設定]"</string>
-    <string name="location_notification_alwaysdeny" msgid="6184925953783312629">"此網站不會存取您目前的位置資訊。"\n"您可以透過以下操作變更此設定："\n"[設定] -&gt; [Gears 設定]"</string>
-    <string name="shortcut_notification" msgid="1659700220868444568">"捷徑已建立"</string>
-    <string name="permission_button_alwaysdeny" msgid="3837055994905214848">"永不允許"</string>
-    <string name="permission_button_allow" msgid="7301874925704148242">"確定"</string>
-    <string name="permission_button_deny" msgid="104712269725153018">"取消"</string>
-    <string name="shortcut_button_alwaysdeny" msgid="4172277731325126605">"永不允許"</string>
-    <string name="shortcut_button_allow" msgid="3106634184087569293">"確定"</string>
-    <string name="shortcut_button_deny" msgid="6054910540900054553">"取消"</string>
-    <string name="settings_button_allow" msgid="447817497759509841">"套用"</string>
-    <string name="settings_button_deny" msgid="602496920123085858">"取消"</string>
-    <string name="filepicker_button_allow" msgid="2849120125810490391">"確定"</string>
-    <string name="filepicker_button_deny" msgid="1302975999145835953">"取消"</string>
-    <string name="filepicker_path" msgid="4680729728498981925">"路徑："</string>
-    <string name="filepicker_no_files_selected" msgid="7859426670184432998">"未選取任何檔案"</string>
-    <string name="filepicker_one_file_selected" msgid="1451259953191434851">"已選取一個檔案"</string>
-    <string name="filepicker_some_files_selected" msgid="3859384664191734493">"選取的檔案"</string>
-    <string name="remove" msgid="7820112494467011374">"移除"</string>
-    <string name="local_storage" msgid="6703332885937279085">"本機儲存空間"</string>
-    <string name="allowed" msgid="1599514934221911624">"允許"</string>
-    <string name="denied" msgid="7470209521858372968">"遭拒"</string>
-    <string name="unrecognized_dialog_message" msgid="687399590684283989">"無法辨識的對話類型"</string>
-    <string name="default_button" msgid="3901922329454578908">"確定"</string>
-    <string name="zoom_overview_button_text" msgid="4146579940085488881">"總覽"</string>
+    <string name="pref_default_text_encoding_dialogtitle">"文字編碼"</string>
+    <string name="pref_default_text_encoding_default">"Latin-1"</string>
+    <string name="browserFrameRedirect">"轉址"</string>
+    <string name="browserFrame307Post">"此網頁即將轉向其他頁面。您是否要將輸入的表單資料傳送到新頁面？"</string>
+    <string name="browserFrameNetworkErrorLabel">"資料連線問題"</string>
+    <string name="browserFrameFileErrorLabel">"檔案有問題"</string>
+    <string name="browserFrameFormResubmitLabel">"確認"</string>
+    <string name="browserFrameFormResubmitMessage">"您想瀏覽的頁面包含已傳送的 (「POSTDATA」)，如重新送出資料，此頁表單上執行的操作將會重複 (包括搜尋或線上購物等)。"</string>
+    <string name="loadSuspendedTitle">"沒有網路連線"</string>
+    <string name="loadSuspended">"連線恢復後，此頁面會繼續載入。"</string>
+    <string name="clear_history">"清除記錄"</string>
+    <string name="browser_history">"最近瀏覽的頁面"</string>
+    <string name="empty_history">"瀏覽記錄是空的。"</string>
+    <string name="add_new_bookmark">"加入書籤…"</string>
+    <string name="no_database">"沒有資料！"</string>
+    <string name="search_hint">"輸入網頁位址"</string>
+    <string name="search_button_text">"前往"</string>
+    <!-- no translation found for search_settings_description (1422401062529014107) -->
+    <skip />
+    <string name="attention">"注意"</string>
+    <string name="popup_window_attempt">"此網站試圖開啟快顯視窗。"</string>
+    <string name="allow">"允許"</string>
+    <string name="block">"封鎖"</string>
+    <string name="too_many_windows_dialog_title">"已達視窗數量限制"</string>
+    <string name="too_many_windows_dialog_message">"已達最大視窗數量限制，無法開啟新視窗。"</string>
+    <string name="too_many_subwindows_dialog_title">"已開啟快顯視窗"</string>
+    <string name="too_many_subwindows_dialog_message">"無法開啟新的快顯視窗，同時只能有一個快顯視窗存在。"</string>
+    <string name="download_title">"下載記錄"</string>
+    <string name="download_unknown_filename">"&lt;未知&gt;"</string>
+    <string name="download_menu_open">"開啟"</string>
+    <string name="download_menu_clear">"清除表單列表"</string>
+    <string name="download_menu_cancel">"取消下載"</string>
+    <string name="download_menu_cancel_all">"取消所有下載"</string>
+    <string name="download_menu_clear_all">"清除清單"</string>
+    <string name="download_clear_dlg_title">"清除"</string>
+    <string name="download_clear_dlg_msg">"所有清單中的項目會被清除，並從快取中移除。"</string>
+    <string name="download_cancel_dlg_title">"取消下載"</string>
+    <string name="download_cancel_dlg_msg">"所有 (<xliff:g id="DOWNLOAD_COUNT">%d</xliff:g>) 下載會取消並從下載記錄中清除。"</string>
+    <string name="download_file_error_dlg_title">"空間不足"</string>
+    <string name="download_file_error_dlg_msg">"無法下載 <xliff:g id="FILENAME">%s</xliff:g>。"\n" 請清除手機上的空間或再試一次。"</string>
+    <string name="download_failed_generic_dlg_title">"下載失敗"</string>
+    <string name="download_no_sdcard_dlg_title">"沒有 SD 卡"</string>
+    <string name="download_no_sdcard_dlg_msg">"需要 SD 卡下載 <xliff:g id="FILENAME">%s</xliff:g>。"</string>
+    <string name="download_sdcard_busy_dlg_title">"無法使用 SD 卡"</string>
+    <string name="download_sdcard_busy_dlg_msg">"SD 記憶卡忙碌。如要允許下載，請選取通知中的 [停用 USB 儲存裝置]。"</string>
+    <string name="download_no_application">"找不到可以開啟這個檔案的應用程式。"</string>
+    <string name="retry">"重試"</string>
+    <string name="no_downloads">"下載記錄是空的。"</string>
+    <string name="download_error">"下載失敗"</string>
+    <string name="download_success">"<xliff:g id="FILE">%s</xliff:g> 已下載完成。"</string>
+    <string name="download_running">"下載中…"</string>
+    <string name="download_pending">"開始下載…"</string>
+    <string name="download_pending_network">"等待資料連線中…"</string>
+    <string name="download_running_paused">"等待資料連線中…"</string>
+    <string name="download_canceled">"下載已取消。"</string>
+    <string name="download_not_acceptable">"無法下載。電話不支援該內容。"</string>
+    <string name="download_file_error">"無法完成下載。儲存空間不足。"</string>
+    <string name="download_length_required">"無法下載。物件大小無法估計。"</string>
+    <string name="download_precondition_failed">"下載中斷。無法續傳。"</string>
+    <string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
+    <string name="homepage_base">"http://www.google.com/m?client=ms-{CID}"</string>
+    <string name="search_the_web">"搜尋網頁"</string>
+    <string name="zoom_overview_button_text">"總覽"</string>
 </resources>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
new file mode 100644
index 0000000..219cc6b
--- /dev/null
+++ b/res/values/arrays.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+  -->
+<resources>
+   <string-array name="webstorage_quota_entries">
+      <item>No quota allowed</item>
+      <item>5 MB</item>
+      <item>10 MB</item>
+      <item>30 MB</item>
+      <item>100 MB</item>
+   </string-array>
+   <string-array name="webstorage_quota_entries_values">
+      <item>0</item>
+      <item>5</item>
+      <item>10</item>
+      <item>30</item>
+      <item>100</item>
+   </string-array>
+</resources>
+
diff --git a/res/values/colors.xml b/res/values/colors.xml
index f34b640..e8e134c 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -33,10 +33,7 @@
     <color name="black">#ff000000</color>
     <color name="gray">#ffbbbbbb</color>
     <color name="dark_gray">#ff777777</color>
-    
-    <!-- Gears Dialogs -->
-    <color name="permission_border">#f1cc1d</color>
-    <color name="permission_background">#faefb8</color>
-    <color name="dialog_link">#ff0000ff</color>
+
+    <color name="geolocation_permissions_prompt_background">#CC888888</color>
 </resources>
 
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 69c17cb..a91b3e1 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -58,7 +58,10 @@
         <!-- Case of several matches -->
         <item quantity="other"><xliff:g id="number" example="137">%d</xliff:g> matches</item>
     </plurals>
-    
+
+    <!-- Displayed on the title bar while the page is loading -->
+    <string name="title_bar_loading">Loading\u2026</string>
+
     <!-- Menu item -->
     <string name="page_info">Page info</string>
     <!-- Label for a button on an SSL error dialog that allows the user to see
@@ -119,6 +122,8 @@
     <string name="stop">Stop</string>
     <!-- Menu item to reload or refresh the current page. -->
     <string name="reload">Refresh</string>
+    <!-- Menu item to go back to the previous page -->
+    <string name="back">Back</string>
     <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
     <string name="forward">Forward</string>
     <!-- Button label to confirm saving a bookmark. -->
@@ -132,7 +137,7 @@
     <!-- Initial value in Location field in Bookmark dialog box -->
     <string name="http">http://</string>
     <!-- Menu item that opens a dialog to save a bookmark, initialized with the current page -->
-    <string name="save_to_bookmarks">Bookmark</string>
+    <string name="save_to_bookmarks">Add bookmark</string>
     <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
     <string name="edit_bookmark">Edit bookmark</string>
     <!-- Context menu item to create a shortcut to the bookmark on the desktop -->
@@ -141,10 +146,16 @@
     <string name="open_bookmark">Open</string>
     <!-- Menu item to remove the currently highlighted bookmark-->
     <string name="remove_bookmark">Delete bookmark</string>
+    <!-- Context menu item to remove a history item from bookmarks -->
+    <string name="remove_from_bookmarks">Remove from bookmarks</string>
     <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
     <string name="remove_history_item">Remove from history</string>
+    <!-- Context menu item for setting the bookmark/history item as the homepage -->
+    <string name="set_as_homepage">Set as homepage</string>
     <!-- Toast informing the user that their action to save a bookmark has succeeded -->
     <string name="bookmark_saved">Saved to bookmarks.</string>
+    <!-- Toast confirming that the homepage has been set -->
+    <string name="homepage_set">Homepage set</string>
     <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
     <string name="bookmark_needs_title">"Bookmark must have a name."</string>
         <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
@@ -160,6 +171,12 @@
             currently on, but is not visible because the bookmarks page is 
             showing. -->
     <string name="bookmark_page">Bookmark last-viewed page</string>
+    <!-- Menu item in the page that displays all bookmarks.  Switches to
+            a grid view which shows thumbnails -->
+    <string name="switch_to_thumbnails">Thumbnail view</string>
+    <!-- Menu item in the page that displays all bookmarks.  Switches to a
+            list view which shows titles -->
+    <string name="switch_to_list">List view</string>
     <!-- Summary text under the New Bookmark item on the Bookmarks screen.
             Tells the user that if they select this item, it will bring up a
             dialog to bookmark the page that the browser is currently viewing,
@@ -284,14 +301,18 @@
     <string name="pref_content_autofit">Auto-fit pages</string>
     <!-- Settings summary -->
     <string name="pref_content_autofit_summary">Format Web pages to fit the screen</string>
+    <!-- Settings label for enabling a mode where the browser is always set to landscape mode -->
+    <string name="pref_content_landscape_only">Landscape only display</string>
+    <!-- Settings summary -->
+    <string name="pref_content_landscape_only_summary">Always read pages in the wider, landscape screen orientation</string>
     <!-- Settings screen, section title -->
     <string name="pref_privacy_title">Privacy settings</string>
     <!-- Settings label -->
     <string name="pref_privacy_clear_cache">Clear cache</string>
     <!-- Settings summary -->
-    <string name="pref_privacy_clear_cache_summary">Delete all cached page content</string>
+    <string name="pref_privacy_clear_cache_summary">Clear locally cached content and databases</string>
     <!-- Confirmation dialog message -->
-    <string name="pref_privacy_clear_cache_dlg">The cache will be cleared.</string>
+    <string name="pref_privacy_clear_cache_dlg">Locally cached content and databases will be cleared.</string>
     <!-- Settings label -->
     <string name="pref_privacy_clear_cookies">Clear all cookie data</string>
     <!-- Settings summary -->
@@ -316,6 +337,16 @@
     <string name="pref_privacy_clear_passwords_summary">Clear all the saved passwords</string>
     <!-- Confirmation dialog message -->
     <string name="pref_privacy_clear_passwords_dlg">All saved passwords will be cleared.</string>
+    <!-- Settings label -->
+    <string name="pref_privacy_enable_geolocation">Enable location</string>
+    <!-- Settings summary -->
+    <string name="pref_privacy_enable_geolocation_summary">Allow sites to request access to your location</string>
+    <!-- Settings label -->
+    <string name="pref_privacy_clear_geolocation_access">Clear location access</string>
+    <!-- Settings summary -->
+    <string name="pref_privacy_clear_geolocation_access_summary">Clear location access for all websites</string>
+    <!-- Confirmation dialog message -->
+    <string name="pref_privacy_clear_geolocation_access_dlg">Clear location access for all websites</string>
     <!-- Settings screen, section title -->
     <string name="pref_security_title">Security settings</string>
     <!-- Settings label -->
@@ -370,19 +401,16 @@
         <item><xliff:g>MEDIUM</xliff:g></item>
         <item><xliff:g>CLOSE</xliff:g></item>
     </string-array>
+    <!-- Settings label -->
+    <string name="pref_content_load_page">When a page loads:</string>
+    <!-- Settings summary -->
+    <string name="pref_content_load_page_summary">Show overview of the page</string>
     <!-- Settings screen, section title -->
     <string name="pref_extras_title">Advanced settings</string>
     <!-- Settings label -->
-    <string name="pref_extras_gears_enable">Enable Gears</string>
+    <string name="pref_extras_website_settings">Website settings</string>
     <!-- Settings summary -->
-    <string name="pref_extras_gears_enable_summary">Applications that extend browser functionality</string>
-    <!-- Settings label -->
-    <string name="pref_extras_gears_settings">Gears settings</string>
-    <!-- Settings summary -->
-    <string name="pref_plugin_installed">Plugins list</string>
-    <!-- Settings summary -->
-    <string name="pref_plugin_installed_empty_list">No installed plugins.</string>
-    <string name="pref_extras_gears_settings_summary">Applications that extend browser functionality</string>
+    <string name="pref_extras_website_settings_summary">View advanced settings for individual websites</string>
     <!-- Settings label -->
     <string name="pref_extras_reset_default">Reset to default</string>
     <!-- Settings summary -->
@@ -404,6 +432,8 @@
     <!-- Do not tranlsate.  Development option -->
     <string name="pref_development_nav_dump" translatable="false">Enable nav cache dump</string>
     <!-- Do not tranlsate.  Development option -->
+    <string name="js_engine_flags" translatable="false">Set JS flags</string>
+    <!-- Do not tranlsate.  Development option -->
     <string name="pref_development_uastring" translatable="false">UAString</string>
     <!-- Do not tranlsate.  Development option -->
     <string-array name="pref_development_ua_choices" translatable="false">
@@ -417,6 +447,7 @@
         <item>1</item>
         <item>2</item>
     </string-array>
+    <string name="pref_development_error_console" translatable="false">Show JavaScript Console</string>
     <!-- Settings screen, setting option name -->
     <string name="pref_default_text_encoding">Text encoding</string>
     <!-- Options in the Default encoding dialog box -->
@@ -465,6 +496,9 @@
     <string name="empty_history">Browser history is empty.</string>
     <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
     <string name="add_new_bookmark">Add bookmark\u2026</string>
+    <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+    <string name="add_bookmark_short">Add</string>
     <!-- Add bookmark dialog sets its title to this if we have no database.
             This is an error case -->
     <string name="no_database">No database!</string>
@@ -474,7 +508,7 @@
     <string name="search_label" translatable="false">Browser</string>
     <!-- This string is for the browser "Go To" UI. -->
     <!-- This is the hint text shown in the Go To widget, before text is entered. -->
-    <string name="search_hint">Type Web address</string>
+    <string name="search_hint">Search or type URL</string>
     <!-- This string is for the browser "Go To" UI. -->
     <!-- This is the button label in the "Go To" UI. -->
     <string name="search_button_text">Go</string>
@@ -668,66 +702,44 @@
         Browser\'s history or bookmarks stored on your phone. Malicious applications 
         can use this to erase or modify your Browser\'s data.</string>
 
-    <!-- Gears Dialogs -->
-    <string name="query_data_prompt">Allow storage</string>
-    <string name="query_data_message">This web site would like to store information on your phone.</string>
-    <string name="location_prompt">Access your location</string>
-    <string name="location_message">This web site would like to have access to your location.</string>
-    <string name="shortcut_prompt">Create a shortcut</string>
-    <string name="shortcut_message">This web site would like to create a shortcut to this page on your home screen.</string>
-    <string name="settings_message">The table below shows the permissions you have granted to each site that has attempted to use Gears.</string>
-    <string name="filepicker_message">File Picker</string>
-    <string name="image_message">Choosen Image</string>
+    <!-- HTML5 dialogs -->
+    <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+    <string name="webstorage_outofspace_notification_title">Browser storage full</string>
+    <string name="webstorage_outofspace_notification_text">Click to free up space.</string>
+    <!-- Used in the Browser Settings -->
+    <string name="webstorage_clear_data_title">Clear stored data</string>
+    <string name="webstorage_clear_data_summary">Remove all databases associated with this website</string>
+    <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+    <string name="webstorage_clear_data_dialog_title">Clear stored data</string>
+    <string name="webstorage_clear_data_dialog_message">All data stored by this website will be deleted</string>
+    <string name="webstorage_clear_data_dialog_ok_button">Clear All</string>
+    <string name="webstorage_clear_data_dialog_cancel_button">Cancel</string>
+    <!-- Strings used in the summary of origins -->
+    <string name="webstorage_origin_summary_mb_stored">MB stored on your phone</string>
 
-    <string name="settings_title">Gears settings</string>
-    <string name="privacy_policy">Read the site\'s privacy policy to see how your location will be used.</string>
-    <string name="settings_storage_title">Allow Local Storage</string>
-    <string name="settings_storage_subtitle_on">This site can save information to your phone</string>
-    <string name="settings_storage_subtitle_off">This site cannot save information to your phone</string>
-
-    <string name="settings_location_title">Allow Location Detection</string>
-    <string name="settings_location_subtitle_on">This site can read your current location</string>
-    <string name="settings_location_subtitle_off">This site cannot read your current location</string>
-
-    <string name="settings_remove_site">Remove this site from Gears</string>
-    <string name="settings_empty">No permissions set</string>
-
-    <string name="settings_confirmation_remove_title">Remove this site</string>
-    <string name="settings_confirmation_remove">All permissions will be cleared, and any data stored on your phone by the site will be deleted.</string>
-
-    <string name="storage_notification">This site will store information on this phone.\n Change this setting in:\n Settings -> Gears Settings</string>
-    <string name="storage_notification_alwaysdeny">This site will never store information on this phone.\n Change this setting in:\n Settings -> Gears Settings</string>
-    <string name="location_notification">This site can access your current location.\n Change this setting in:\n Settings -> Gears Settings</string>
-    <string name="location_notification_alwaysdeny">This site will not access your current location.\n Change this setting in:\n Settings -> Gears Settings</string>
-    <string name="shortcut_notification">Shortcut created</string>
-
-    <string name="permission_button_alwaysdeny">Never Allow</string>
-    <string name="permission_button_allow">OK</string>
-    <string name="permission_button_deny">Cancel</string>
-
-    <string name="shortcut_button_alwaysdeny">Never Allow</string>
-    <string name="shortcut_button_allow">OK</string>
-    <string name="shortcut_button_deny">Cancel</string>
-
-    <string name="settings_button_allow">Apply</string>
-    <string name="settings_button_deny">Cancel</string>
-
-    <string name="filepicker_button_allow">OK</string>
-    <string name="filepicker_button_deny">Cancel</string>
-    <string name="filepicker_path">path:</string>
-    <string name="filepicker_no_files_selected">No files selected</string>
-    <string name="filepicker_one_file_selected">One file selected</string>
-    <string name="filepicker_some_files_selected">files selected</string>
-
-    <string name="remove">Remove</string>
-    <string name="local_storage">Local storage</string>
-    <string name="allowed">Allowed</string>
-    <string name="denied">Denied</string>
-
-    <string name="unrecognized_dialog_message">Unrecognized dialog type</string>
-    <string name="default_button">OK</string>
+    <!-- Geolocation -->
+    <!-- Permissions prompt -->
+    <string name="geolocation_permissions_prompt_message">%s wants to know your location</string>
+    <string name="geolocation_permissions_prompt_share">Share</string>
+    <string name="geolocation_permissions_prompt_dont_share">Don\'t share</string>
+    <string name="geolocation_permissions_prompt_remember">Remember</string>
+    <!-- Settings page, Advanced Settings -> Website settings -> <origin> -->
+    <string name="geolocation_settings_page_title">Clear location access</string>
+    <string name="geolocation_settings_page_summary_allowed">This site can currently access your location</string>
+    <string name="geolocation_settings_page_summary_not_allowed">This site cannot currently access your location</string>
+    <!-- Settings page dialog -->
+    <string name="geolocation_settings_page_dialog_title">Clear location access</string>
+    <string name="geolocation_settings_page_dialog_message">Location access for this website will be cleared</string>
+    <string name="geolocation_settings_page_dialog_ok_button">Clear access</string>
+    <string name="geolocation_settings_page_dialog_cancel_button">Cancel</string>
 
     <!-- Zoom-related strings --><skip />
     <!-- Caption for a button that is shown when the zoom widget is showing.  The button's action will switch to the zoom overview mode. -->
     <string name="zoom_overview_button_text">Overview</string>
+
+    <string name="error_console_header_text_minimized" translatable="false">Show JavaScript Console</string>
+    <string name="error_console_header_text_maximized" translatable="false">JavaScript Console</string>
+    <string name="error_console_eval_text_hint" translatable="false">Evaluate JavaScript</string>
+    <string name="error_console_eval_button_text" translatable="false">Evaluate</string>
+
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index f20220f..40fdd14 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -35,10 +35,6 @@
         <item name="android:popupBackground">@android:drawable/spinner_dropdown_background</item>
     </style>
 
-    <style name="gears_button">
-      <item name="android:background">@drawable/gears_button</item>
-    </style>
-
     <style name="FindDialog">
         <item name="android:windowEnterAnimation">@anim/find_dialog_enter</item>
         <item name="android:windowExitAnimation">@anim/find_dialog_exit</item>
diff --git a/res/xml/browser_preferences.xml b/res/xml/browser_preferences.xml
index 23618c5..0df35c2 100644
--- a/res/xml/browser_preferences.xml
+++ b/res/xml/browser_preferences.xml
@@ -36,6 +36,12 @@
                 android:entryValues="@array/pref_default_zoom_values"
                 android:dialogTitle="@string/pref_default_zoom_dialogtitle" />
 
+        <CheckBoxPreference
+                android:key="load_page"
+                android:defaultValue="true"
+                android:title="@string/pref_content_load_page"
+                android:summary="@string/pref_content_load_page_summary" />
+
         <ListPreference
                 android:key="default_text_encoding"
                 android:title="@string/pref_default_text_encoding"
@@ -62,6 +68,12 @@
                 android:summary="@string/pref_content_autofit_summary" />  
 
         <CheckBoxPreference
+                android:key="landscape_only"
+                android:defaultValue="false"
+                android:title="@string/pref_content_landscape_only"
+                android:summary="@string/pref_content_landscape_only_summary" />
+
+        <CheckBoxPreference
                 android:key="enable_javascript"
                 android:defaultValue="true"
                 android:title="@string/pref_content_javascript" />     
@@ -128,6 +140,21 @@
                 android:dialogTitle="@string/clear" 
                 android:dialogIcon="@android:drawable/ic_dialog_alert"/>
 
+        <CheckBoxPreference
+                android:key="enable_geolocation"
+                android:defaultValue="true"
+                android:title="@string/pref_privacy_enable_geolocation"
+                android:summary="@string/pref_privacy_enable_geolocation_summary" />
+
+        <com.android.browser.BrowserYesNoPreference
+                android:key="privacy_clear_geolocation_access"
+                android:dependency="enable_geolocation"
+                android:title="@string/pref_privacy_clear_geolocation_access"
+                android:summary="@string/pref_privacy_clear_geolocation_access_summary"
+                android:dialogMessage="@string/pref_privacy_clear_geolocation_access_dlg"
+                android:dialogTitle="@string/clear"
+                android:dialogIcon="@android:drawable/ic_dialog_alert"/>
+
     </PreferenceCategory>
     
         <PreferenceCategory
@@ -157,21 +184,11 @@
     </PreferenceCategory>
     <PreferenceCategory
             android:title="@string/pref_extras_title">
-                     
-            <!-- This setting is named "Enable Gears" but is actually
-                 tied to enabling all plugins. -->
-            <CheckBoxPreference
-                    android:key="enable_plugins"
-                    android:defaultValue="true"
-                    android:title="@string/pref_extras_gears_enable"
-                    android:summary="@string/pref_extras_gears_enable_summary" />
 
-            <Preference
-                    android:key="gears_settings"
-                    android:persistent="false"
-                    android:dependency="enable_plugins"
-                    android:title="@string/pref_extras_gears_settings"
-                    android:summary="@string/pref_extras_gears_settings_summary" />
+            <PreferenceScreen
+                  android:key="website_settings"
+                  android:title="@string/pref_extras_website_settings"
+                  android:summary="@string/pref_extras_website_settings_summary" />
 
             <com.android.browser.BrowserYesNoPreference
                     android:key="reset_default_preferences"
diff --git a/res/xml/debug_preferences.xml b/res/xml/debug_preferences.xml
index 22b5997..c1ed1e6 100644
--- a/res/xml/debug_preferences.xml
+++ b/res/xml/debug_preferences.xml
@@ -19,6 +19,13 @@
     <PreferenceCategory
         android:title="@string/pref_development_title" 
         android:key="debug_menu" >
+
+        <!-- The javascript console is enabled by default when the user has
+             also enabled debug mode by navigating to about:debug. -->
+        <CheckBoxPreference
+            android:key="javascript_console"
+            android:defaultValue="true"
+            android:title="@string/pref_development_error_console" />
                         
         <CheckBoxPreference
             android:key="small_screen"
@@ -50,6 +57,11 @@
             android:defaultValue="false"
             android:title="@string/pref_development_nav_dump" />
 
+        <EditTextPreference
+            android:key="js_engine_flags"
+            android:title="@string/js_engine_flags"
+            android:singleLine="true" />
+
         <ListPreference
             android:key="user_agent"
             android:title="@string/pref_development_uastring"
diff --git a/src/com/android/browser/AddBookmarkPage.java b/src/com/android/browser/AddBookmarkPage.java
index cf3fe70..87638d8 100644
--- a/src/com/android/browser/AddBookmarkPage.java
+++ b/src/com/android/browser/AddBookmarkPage.java
@@ -18,8 +18,6 @@
 
 import android.app.Activity;
 import android.content.ContentResolver;
-import android.content.ContentUris;
-import android.content.ContentValues;
 import android.content.Intent;
 import android.content.res.Resources;
 import android.database.Cursor;
@@ -29,7 +27,6 @@
 import android.provider.Browser;
 import android.view.View;
 import android.view.Window;
-import android.webkit.WebIconDatabase;
 import android.widget.EditText;
 import android.widget.TextView;
 import android.widget.Toast;
@@ -46,11 +43,7 @@
     private View        mCancelButton;
     private boolean     mEditingExisting;
     private Bundle      mMap;
-    
-    private static final String[]   mProjection = 
-        { "_id", "url", "bookmark", "created", "title", "visits" };
-    private static final String     WHERE_CLAUSE = "url = ?";
-    private final String[]          SELECTION_ARGS = new String[1];
+    private String      mTouchIconUrl;
 
     private View.OnClickListener mSaveBookmark = new View.OnClickListener() {
         public void onClick(View v) {
@@ -87,6 +80,7 @@
             }
             title = mMap.getString("title");
             url = mMap.getString("url");
+            mTouchIconUrl = mMap.getString("touch_icon_url");
         }
 
         mTitle = (EditText) findViewById(R.id.title);
@@ -151,70 +145,15 @@
                 setResult(RESULT_OK, (new Intent()).setAction(
                         getIntent().toString()).putExtras(mMap));
             } else {
-                // Want to append to the beginning of the list
-                long creationTime = new Date().getTime();
-                SELECTION_ARGS[0] = url;
-                ContentResolver cr = getContentResolver();
-                Cursor c = cr.query(Browser.BOOKMARKS_URI,
-                        mProjection,
-                        WHERE_CLAUSE,
-                        SELECTION_ARGS,
-                        null);
-                ContentValues map = new ContentValues();
-                if (c.moveToFirst() && c.getInt(c.getColumnIndexOrThrow(
-                        Browser.BookmarkColumns.BOOKMARK)) == 0) {
-                    // This means we have been to this site but not bookmarked
-                    // it, so convert the history item to a bookmark                    
-                    map.put(Browser.BookmarkColumns.CREATED, creationTime);
-                    map.put(Browser.BookmarkColumns.TITLE, title);
-                    map.put(Browser.BookmarkColumns.BOOKMARK, 1);
-                    cr.update(Browser.BOOKMARKS_URI, map, 
-                            "_id = " + c.getInt(0), null);
-                } else {
-                    int count = c.getCount();
-                    boolean matchedTitle = false;
-                    for (int i = 0; i < count; i++) {
-                        // One or more bookmarks already exist for this site.
-                        // Check the names of each
-                        c.moveToPosition(i);
-                        if (c.getString(c.getColumnIndexOrThrow(
-                                Browser.BookmarkColumns.TITLE)).equals(title)) {
-                            // The old bookmark has the same name.
-                            // Update its creation time.
-                            map.put(Browser.BookmarkColumns.CREATED,
-                                    creationTime);
-                            cr.update(Browser.BOOKMARKS_URI, map, 
-                                    "_id = " + c.getInt(0), null);
-                            matchedTitle = true;
-                        }
-                    }
-                    if (!matchedTitle) {
-                        // Adding a bookmark for a site the user has visited,
-                        // or a new bookmark (with a different name) for a site
-                        // the user has visited
-                        map.put(Browser.BookmarkColumns.TITLE, title);
-                        map.put(Browser.BookmarkColumns.URL, url);
-                        map.put(Browser.BookmarkColumns.CREATED, creationTime);
-                        map.put(Browser.BookmarkColumns.BOOKMARK, 1);
-                        map.put(Browser.BookmarkColumns.DATE, 0);
-                        int visits = 0;
-                        if (count > 0) {
-                            // The user has already bookmarked, and possibly
-                            // visited this site.  However, they are creating
-                            // a new bookmark with the same url but a different
-                            // name.  The new bookmark should have the same
-                            // number of visits as the already created bookmark.
-                            visits = c.getInt(c.getColumnIndexOrThrow(
-                                    Browser.BookmarkColumns.VISITS));
-                        }
-                        // Bookmark starts with 3 extra visits so that it will
-                        // bubble up in the most visited and goto search box
-                        map.put(Browser.BookmarkColumns.VISITS, visits + 3);
-                        cr.insert(Browser.BOOKMARKS_URI, map);
-                    }
+                final ContentResolver cr = getContentResolver();
+                Bookmarks.addBookmark(null, cr, url, title, true);
+                if (mTouchIconUrl != null) {
+                    final Cursor c =
+                            BrowserBookmarksAdapter.queryBookmarksForUrl(
+                                    cr, null, url, true);
+                    new DownloadTouchIcon(cr, c, url)
+                            .execute(mTouchIconUrl);
                 }
-                WebIconDatabase.getInstance().retainIconForPageUrl(url);
-                c.deactivate();
                 setResult(RESULT_OK);
             }
         } catch (IllegalStateException e) {
diff --git a/src/com/android/browser/AddNewBookmark.java b/src/com/android/browser/AddNewBookmark.java
index a75d002..5308f6b 100644
--- a/src/com/android/browser/AddNewBookmark.java
+++ b/src/com/android/browser/AddNewBookmark.java
@@ -47,17 +47,7 @@
         mUrlText = (TextView) findViewById(R.id.url);
         mImageView = (ImageView) findViewById(R.id.favicon);
     }
-    
-    /**
-     *  Copy this BookmarkItem to item.
-     *  @param item BookmarkItem to receive the info from this BookmarkItem.
-     */
-    /* package */ void copyTo(AddNewBookmark item) {
-        item.mTextView.setText(mTextView.getText());
-        item.mUrlText.setText(mUrlText.getText());
-        item.mImageView.setImageDrawable(mImageView.getDrawable());
-    }
-    
+
     /**
      *  Set the new url for the bookmark item.
      *  @param url  The new url for the bookmark item.
diff --git a/src/com/android/browser/Bookmarks.java b/src/com/android/browser/Bookmarks.java
new file mode 100644
index 0000000..a3dc919
--- /dev/null
+++ b/src/com/android/browser/Bookmarks.java
@@ -0,0 +1,202 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.browser;
+
+import android.content.ContentResolver;
+import android.content.ContentUris;
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.Browser;
+import android.util.Log;
+import android.webkit.WebIconDatabase;
+import android.widget.Toast;
+
+import java.util.Date;
+
+/**
+ *  This class is purely to have a common place for adding/deleting bookmarks.
+ */
+/* package */ class Bookmarks {
+    private static final String     WHERE_CLAUSE
+            = "url = ? OR url = ? OR url = ? OR url = ?";
+    private static final String     WHERE_CLAUSE_SECURE = "url = ? OR url = ?";
+
+    private static String[]         SELECTION_ARGS;
+
+    /**
+     *  Add a bookmark to the database.
+     *  @param context Context of the calling Activity.  This is used to make
+     *          Toast confirming that the bookmark has been added.  If the
+     *          caller provides null, the Toast will not be shown.
+     *  @param cr The ContentResolver being used to add the bookmark to the db.
+     *  @param url URL of the website to be bookmarked.
+     *  @param name Provided name for the bookmark.
+     *  @param retainIcon Whether to retain the page's icon in the icon database.
+     *          This will usually be <code>true</code> except when bookmarks are
+     *          added by a settings restore agent.
+     */
+    /* package */ static void addBookmark(Context context,
+            ContentResolver cr, String url, String name,
+            boolean retainIcon) {
+        // Want to append to the beginning of the list
+        long creationTime = new Date().getTime();
+        // First we check to see if the user has already visited this
+        // site.  They may have bookmarked it in a different way from
+        // how it's stored in the database, so allow different combos
+        // to map to the same url.
+        boolean secure = false;
+        String compareString = url;
+        if (compareString.startsWith("http://")) {
+            compareString = compareString.substring(7);
+        } else if (compareString.startsWith("https://")) {
+            compareString = compareString.substring(8);
+            secure = true;
+        }
+        if (compareString.startsWith("www.")) {
+            compareString = compareString.substring(4);
+        }
+        if (secure) {
+            SELECTION_ARGS = new String[2];
+            SELECTION_ARGS[0] = "https://" + compareString;
+            SELECTION_ARGS[1] = "https://www." + compareString;
+        } else {
+            SELECTION_ARGS = new String[4];
+            SELECTION_ARGS[0] = compareString;
+            SELECTION_ARGS[1] = "www." + compareString;
+            SELECTION_ARGS[2] = "http://" + compareString;
+            SELECTION_ARGS[3] = "http://" + SELECTION_ARGS[1];
+        }
+        Cursor cursor = cr.query(Browser.BOOKMARKS_URI,
+                Browser.HISTORY_PROJECTION,
+                secure ? WHERE_CLAUSE_SECURE : WHERE_CLAUSE,
+                SELECTION_ARGS,
+                null);
+        ContentValues map = new ContentValues();
+        if (cursor.moveToFirst() && cursor.getInt(
+                Browser.HISTORY_PROJECTION_BOOKMARK_INDEX) == 0) {
+            // This means we have been to this site but not bookmarked
+            // it, so convert the history item to a bookmark
+            map.put(Browser.BookmarkColumns.CREATED, creationTime);
+            map.put(Browser.BookmarkColumns.TITLE, name);
+            map.put(Browser.BookmarkColumns.BOOKMARK, 1);
+            cr.update(Browser.BOOKMARKS_URI, map,
+                    "_id = " + cursor.getInt(0), null);
+        } else {
+            int count = cursor.getCount();
+            boolean matchedTitle = false;
+            for (int i = 0; i < count; i++) {
+                // One or more bookmarks already exist for this site.
+                // Check the names of each
+                cursor.moveToPosition(i);
+                if (cursor.getString(Browser.HISTORY_PROJECTION_TITLE_INDEX)
+                        .equals(name)) {
+                    // The old bookmark has the same name.
+                    // Update its creation time.
+                    map.put(Browser.BookmarkColumns.CREATED,
+                            creationTime);
+                    cr.update(Browser.BOOKMARKS_URI, map,
+                            "_id = " + cursor.getInt(0), null);
+                    matchedTitle = true;
+                    break;
+                }
+            }
+            if (!matchedTitle) {
+                // Adding a bookmark for a site the user has visited,
+                // or a new bookmark (with a different name) for a site
+                // the user has visited
+                map.put(Browser.BookmarkColumns.TITLE, name);
+                map.put(Browser.BookmarkColumns.URL, url);
+                map.put(Browser.BookmarkColumns.CREATED, creationTime);
+                map.put(Browser.BookmarkColumns.BOOKMARK, 1);
+                map.put(Browser.BookmarkColumns.DATE, 0);
+                int visits = 0;
+                if (count > 0) {
+                    // The user has already bookmarked, and possibly
+                    // visited this site.  However, they are creating
+                    // a new bookmark with the same url but a different
+                    // name.  The new bookmark should have the same
+                    // number of visits as the already created bookmark.
+                    visits = cursor.getInt(
+                            Browser.HISTORY_PROJECTION_VISITS_INDEX);
+                }
+                // Bookmark starts with 3 extra visits so that it will
+                // bubble up in the most visited and goto search box
+                map.put(Browser.BookmarkColumns.VISITS, visits + 3);
+                cr.insert(Browser.BOOKMARKS_URI, map);
+            }
+        }
+        if (retainIcon) {
+            WebIconDatabase.getInstance().retainIconForPageUrl(url);
+        }
+        cursor.deactivate();
+        if (context != null) {
+            Toast.makeText(context, R.string.added_to_bookmarks,
+                    Toast.LENGTH_LONG).show();
+        }
+    }
+
+    /**
+     *  Remove a bookmark from the database.  If the url is a visited site, it
+     *  will remain in the database, but only as a history item, and not as a
+     *  bookmarked site.
+     *  @param context Context of the calling Activity.  This is used to make
+     *          Toast confirming that the bookmark has been removed.  If the
+     *          caller provides null, the Toast will not be shown.
+     *  @param cr The ContentResolver being used to remove the bookmark.
+     *  @param url URL of the website to be removed.
+     */
+    /* package */ static void removeFromBookmarks(Context context,
+            ContentResolver cr, String url) {
+        Cursor cursor = cr.query(
+                Browser.BOOKMARKS_URI,
+                Browser.HISTORY_PROJECTION,
+                "url = ?",
+                new String[] { url },
+                null);
+        boolean first = cursor.moveToFirst();
+        // Should be in the database no matter what
+        if (!first) {
+            throw new AssertionError("URL is not in the database!");
+        }
+        // Remove from bookmarks
+        WebIconDatabase.getInstance().releaseIconForPageUrl(url);
+        Uri uri = ContentUris.withAppendedId(Browser.BOOKMARKS_URI,
+                cursor.getInt(Browser.HISTORY_PROJECTION_ID_INDEX));
+        int numVisits = cursor.getInt(
+                Browser.HISTORY_PROJECTION_VISITS_INDEX);
+        if (0 == numVisits) {
+            cr.delete(uri, null, null);
+        } else {
+            // It is no longer a bookmark, but it is still a visited
+            // site.
+            ContentValues values = new ContentValues();
+            values.put(Browser.BookmarkColumns.BOOKMARK, 0);
+            try {
+                cr.update(uri, values, null, null);
+            } catch (IllegalStateException e) {
+                Log.e("removeFromBookmarks", "no database!");
+            }
+        }
+        if (context != null) {
+            Toast.makeText(context, R.string.removed_from_bookmarks,
+                    Toast.LENGTH_LONG).show();
+        }
+        cursor.deactivate();
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index b58af66..f5d71d6 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -20,7 +20,6 @@
 import com.google.android.googlelogin.GoogleLoginServiceConstants;
 
 import android.app.Activity;
-import android.app.ActivityManager;
 import android.app.AlertDialog;
 import android.app.ProgressDialog;
 import android.app.SearchManager;
@@ -28,6 +27,7 @@
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.ContentResolver;
+import android.content.ContentUris;
 import android.content.ContentValues;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -35,6 +35,7 @@
 import android.content.IntentFilter;
 import android.content.ServiceConnection;
 import android.content.DialogInterface.OnCancelListener;
+import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.res.AssetManager;
@@ -106,12 +107,16 @@
 import android.webkit.CookieManager;
 import android.webkit.CookieSyncManager;
 import android.webkit.DownloadListener;
+import android.webkit.GeolocationPermissions;
 import android.webkit.HttpAuthHandler;
+import android.webkit.PluginManager;
 import android.webkit.SslErrorHandler;
 import android.webkit.URLUtil;
 import android.webkit.WebChromeClient;
+import android.webkit.WebChromeClient.CustomViewCallback;
 import android.webkit.WebHistoryItem;
 import android.webkit.WebIconDatabase;
+import android.webkit.WebStorage;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
 import android.widget.EditText;
@@ -121,6 +126,7 @@
 import android.widget.Toast;
 
 import java.io.BufferedOutputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -268,382 +274,36 @@
                     mGlsConnection, Context.BIND_AUTO_CREATE);
     }
 
-    /**
-     * This class is in charge of installing pre-packaged plugins
-     * from the Browser assets directory to the user's data partition.
-     * Plugins are loaded from the "plugins" directory in the assets;
-     * Anything that is in this directory will be copied over to the
-     * user data partition in app_plugins.
-     */
-    private class CopyPlugins implements Runnable {
-        final static String TAG = "PluginsInstaller";
-        final static String ZIP_FILTER = "assets/plugins/";
-        final static String APK_PATH = "/system/app/Browser.apk";
-        final static String PLUGIN_EXTENSION = ".so";
-        final static String TEMPORARY_EXTENSION = "_temp";
-        final static String BUILD_INFOS_FILE = "build.prop";
-        final static String SYSTEM_BUILD_INFOS_FILE = "/system/"
-                              + BUILD_INFOS_FILE;
-        final int BUFSIZE = 4096;
-        boolean mDoOverwrite = false;
-        String pluginsPath;
-        Context mContext;
-        File pluginsDir;
-        AssetManager manager;
-
-        public CopyPlugins (boolean overwrite, Context context) {
-            mDoOverwrite = overwrite;
-            mContext = context;
-        }
-
-        /**
-         * Returned a filtered list of ZipEntry.
-         * We list all the files contained in the zip and
-         * only returns the ones starting with the ZIP_FILTER
-         * path.
-         *
-         * @param zip the zip file used.
-         */
-        public Vector<ZipEntry> pluginsFilesFromZip(ZipFile zip) {
-            Vector<ZipEntry> list = new Vector<ZipEntry>();
-            Enumeration entries = zip.entries();
-            while (entries.hasMoreElements()) {
-                ZipEntry entry = (ZipEntry) entries.nextElement();
-                if (entry.getName().startsWith(ZIP_FILTER)) {
-                  list.add(entry);
-                }
-            }
-            return list;
-        }
-
-        /**
-         * Utility method to copy the content from an inputstream
-         * to a file output stream.
-         */
-        public void copyStreams(InputStream is, FileOutputStream fos) {
-            BufferedOutputStream os = null;
-            try {
-                byte data[] = new byte[BUFSIZE];
-                int count;
-                os = new BufferedOutputStream(fos, BUFSIZE);
-                while ((count = is.read(data, 0, BUFSIZE)) != -1) {
-                    os.write(data, 0, count);
-                }
-                os.flush();
-            } catch (IOException e) {
-                Log.e(TAG, "Exception while copying: " + e);
-            } finally {
-              try {
-                if (os != null) {
-                    os.close();
-                }
-              } catch (IOException e2) {
-                Log.e(TAG, "Exception while closing the stream: " + e2);
-              }
-            }
-        }
-
-        /**
-         * Returns a string containing the contents of a file
-         *
-         * @param file the target file
-         */
-        private String contentsOfFile(File file) {
-          String ret = null;
-          FileInputStream is = null;
-          try {
-            byte[] buffer = new byte[BUFSIZE];
-            int count;
-            is = new FileInputStream(file);
-            StringBuffer out = new StringBuffer();
-
-            while ((count = is.read(buffer, 0, BUFSIZE)) != -1) {
-              out.append(new String(buffer, 0, count));
-            }
-            ret = out.toString();
-          } catch (IOException e) {
-            Log.e(TAG, "Exception getting contents of file " + e);
-          } finally {
-            if (is != null) {
-              try {
-                is.close();
-              } catch (IOException e2) {
-                Log.e(TAG, "Exception while closing the file: " + e2);
-              }
-            }
-          }
-          return ret;
-        }
-
-        /**
-         * Utility method to initialize the user data plugins path.
-         */
-        public void initPluginsPath() {
-            BrowserSettings s = BrowserSettings.getInstance();
-            pluginsPath = s.getPluginsPath();
-            if (pluginsPath == null) {
-                s.loadFromDb(mContext);
-                pluginsPath = s.getPluginsPath();
-            }
-            if (LOGV_ENABLED) {
-                Log.v(TAG, "Plugin path: " + pluginsPath);
-            }
-        }
-
-        /**
-         * Utility method to delete a file or a directory
-         *
-         * @param file the File to delete
-         */
-        public void deleteFile(File file) {
-            File[] files = file.listFiles();
-            if ((files != null) && files.length > 0) {
-              for (int i=0; i< files.length; i++) {
-                deleteFile(files[i]);
-              }
-            }
-            if (!file.delete()) {
-              Log.e(TAG, file.getPath() + " could not get deleted");
-            }
-        }
-
-        /**
-         * Clean the content of the plugins directory.
-         * We delete the directory, then recreate it.
-         */
-        public void cleanPluginsDirectory() {
-          if (LOGV_ENABLED) {
-            Log.v(TAG, "delete plugins directory: " + pluginsPath);
-          }
-          File pluginsDirectory = new File(pluginsPath);
-          deleteFile(pluginsDirectory);
-          pluginsDirectory.mkdir();
-        }
-
-
-        /**
-         * Copy the SYSTEM_BUILD_INFOS_FILE file containing the
-         * informations about the system build to the
-         * BUILD_INFOS_FILE in the plugins directory.
-         */
-        public void copyBuildInfos() {
-          try {
-            if (LOGV_ENABLED) {
-              Log.v(TAG, "Copy build infos to the plugins directory");
-            }
-            File buildInfoFile = new File(SYSTEM_BUILD_INFOS_FILE);
-            File buildInfoPlugins = new File(pluginsPath, BUILD_INFOS_FILE);
-            copyStreams(new FileInputStream(buildInfoFile),
-                        new FileOutputStream(buildInfoPlugins));
-          } catch (IOException e) {
-            Log.e(TAG, "Exception while copying the build infos: " + e);
-          }
-        }
-
-        /**
-         * Returns true if the current system is newer than the
-         * system that installed the plugins.
-         * We determinate this by checking the build number of the system.
-         *
-         * At the end of the plugins copy operation, we copy the
-         * SYSTEM_BUILD_INFOS_FILE to the BUILD_INFOS_FILE.
-         * We then just have to load both and compare them -- if they
-         * are different the current system is newer.
-         *
-         * Loading and comparing the strings should be faster than
-         * creating a hash, the files being rather small. Extracting the
-         * version number would require some parsing which may be more
-         * brittle.
-         */
-        public boolean newSystemImage() {
-          try {
-            File buildInfoFile = new File(SYSTEM_BUILD_INFOS_FILE);
-            File buildInfoPlugins = new File(pluginsPath, BUILD_INFOS_FILE);
-            if (!buildInfoPlugins.exists()) {
-              if (LOGV_ENABLED) {
-                Log.v(TAG, "build.prop in plugins directory " + pluginsPath
-                  + " does not exist, therefore it's a new system image");
-              }
-              return true;
-            } else {
-              String buildInfo = contentsOfFile(buildInfoFile);
-              String buildInfoPlugin = contentsOfFile(buildInfoPlugins);
-              if (buildInfo == null || buildInfoPlugin == null
-                  || buildInfo.compareTo(buildInfoPlugin) != 0) {
-                if (LOGV_ENABLED) {
-                  Log.v(TAG, "build.prop are different, "
-                    + " therefore it's a new system image");
-                }
-                return true;
-              }
-            }
-          } catch (Exception e) {
-            Log.e(TAG, "Exc in newSystemImage(): " + e);
-          }
-          return false;
-        }
-
-        /**
-         * Check if the version of the plugins contained in the
-         * Browser assets is the same as the version of the plugins
-         * in the plugins directory.
-         * We simply iterate on every file in the assets/plugins
-         * and return false if a file listed in the assets does
-         * not exist in the plugins directory.
-         */
-        private boolean checkIsDifferentVersions() {
-          try {
-            ZipFile zip = new ZipFile(APK_PATH);
-            Vector<ZipEntry> files = pluginsFilesFromZip(zip);
-            int zipFilterLength = ZIP_FILTER.length();
-
-            Enumeration entries = files.elements();
-            while (entries.hasMoreElements()) {
-              ZipEntry entry = (ZipEntry) entries.nextElement();
-              String path = entry.getName().substring(zipFilterLength);
-              File outputFile = new File(pluginsPath, path);
-              if (!outputFile.exists()) {
-                if (LOGV_ENABLED) {
-                  Log.v(TAG, "checkIsDifferentVersions(): extracted file "
-                    + path + " does not exist, we have a different version");
-                }
-                return true;
-              }
-            }
-          } catch (IOException e) {
-            Log.e(TAG, "Exception in checkDifferentVersions(): " + e);
-          }
-          return false;
-        }
-
-        /**
-         * Copy every files from the assets/plugins directory
-         * to the app_plugins directory in the data partition.
-         * Once copied, we copy over the SYSTEM_BUILD_INFOS file
-         * in the plugins directory.
-         *
-         * NOTE: we directly access the content from the Browser
-         * package (it's a zip file) and do not use AssetManager
-         * as there is a limit of 1Mb (see Asset.h)
-         */
-        public void run() {
-            // Lower the priority
-            Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
-            try {
-                if (pluginsPath == null) {
-                    Log.e(TAG, "No plugins path found!");
-                    return;
-                }
-
-                ZipFile zip = new ZipFile(APK_PATH);
-                Vector<ZipEntry> files = pluginsFilesFromZip(zip);
-                Vector<File> plugins = new Vector<File>();
-                int zipFilterLength = ZIP_FILTER.length();
-
-                Enumeration entries = files.elements();
-                while (entries.hasMoreElements()) {
-                    ZipEntry entry = (ZipEntry) entries.nextElement();
-                    String path = entry.getName().substring(zipFilterLength);
-                    File outputFile = new File(pluginsPath, path);
-                    outputFile.getParentFile().mkdirs();
-
-                    if (outputFile.exists() && !mDoOverwrite) {
-                        if (LOGV_ENABLED) {
-                            Log.v(TAG, path + " already extracted.");
-                        }
-                    } else {
-                        if (path.endsWith(PLUGIN_EXTENSION)) {
-                            // We rename plugins to be sure a half-copied
-                            // plugin is not loaded by the browser.
-                            plugins.add(outputFile);
-                            outputFile = new File(pluginsPath,
-                                path + TEMPORARY_EXTENSION);
-                        }
-                        FileOutputStream fos = new FileOutputStream(outputFile);
-                        if (LOGV_ENABLED) {
-                            Log.v(TAG, "copy " + entry + " to "
-                                + pluginsPath + "/" + path);
-                        }
-                        copyStreams(zip.getInputStream(entry), fos);
-                    }
-                }
-
-                // We now rename the .so we copied, once all their resources
-                // are safely copied over to the user data partition.
-                Enumeration elems = plugins.elements();
-                while (elems.hasMoreElements()) {
-                    File renamedFile = (File) elems.nextElement();
-                    File sourceFile = new File(renamedFile.getPath()
-                        + TEMPORARY_EXTENSION);
-                    if (LOGV_ENABLED) {
-                        Log.v(TAG, "rename " + sourceFile.getPath()
-                            + " to " + renamedFile.getPath());
-                    }
-                    sourceFile.renameTo(renamedFile);
-                }
-
-                copyBuildInfos();
-
-                // Refresh the plugin list.
-                if (mTabControl.getCurrentWebView() != null) {
-                    mTabControl.getCurrentWebView().refreshPlugins(false);
-                }
-            } catch (IOException e) {
-                Log.e(TAG, "IO Exception: " + e);
-            }
-        }
-    };
-
-    /**
-     * Copy the content of assets/plugins/ to the app_plugins directory
-     * in the data partition.
-     *
-     * This function is called every time the browser is started.
-     * We first check if the system image is newer than the one that
-     * copied the plugins (if there's plugins in the data partition).
-     * If this is the case, we then check if the versions are different.
-     * If they are different, we clean the plugins directory in the
-     * data partition, then start a thread to copy the plugins while
-     * the browser continue to load.
-     *
-     * @param overwrite if true overwrite the files even if they are
-     * already present (to let the user "reset" the plugins if needed).
-     */
-    private void copyPlugins(boolean overwrite) {
-        CopyPlugins copyPluginsFromAssets = new CopyPlugins(overwrite, this);
-        copyPluginsFromAssets.initPluginsPath();
-        if (copyPluginsFromAssets.newSystemImage())  {
-          if (copyPluginsFromAssets.checkIsDifferentVersions()) {
-            copyPluginsFromAssets.cleanPluginsDirectory();
-            Thread copyplugins = new Thread(copyPluginsFromAssets);
-            copyplugins.setName("CopyPlugins");
-            copyplugins.start();
-          }
-        }
-    }
-
-    private class ClearThumbnails extends AsyncTask<File, Void, Void> {
+    private static class ClearThumbnails extends AsyncTask<File, Void, Void> {
         @Override
         public Void doInBackground(File... files) {
             if (files != null) {
                 for (File f : files) {
-                    f.delete();
+                    if (!f.delete()) {
+                      Log.e(LOGTAG, f.getPath() + " was not deleted");
+                    }
                 }
             }
             return null;
         }
     }
 
+    // Flag to enable the touchable browser bar with buttons
+    private final boolean CUSTOM_BROWSER_BAR = true;
+
     @Override public void onCreate(Bundle icicle) {
         if (LOGV_ENABLED) {
             Log.v(LOGTAG, this + " onStart");
         }
         super.onCreate(icicle);
-        this.requestWindowFeature(Window.FEATURE_LEFT_ICON);
-        this.requestWindowFeature(Window.FEATURE_RIGHT_ICON);
-        this.requestWindowFeature(Window.FEATURE_PROGRESS);
-        this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
-
+        if (CUSTOM_BROWSER_BAR) {
+            this.requestWindowFeature(Window.FEATURE_NO_TITLE);
+        } else {
+            this.requestWindowFeature(Window.FEATURE_LEFT_ICON);
+            this.requestWindowFeature(Window.FEATURE_RIGHT_ICON);
+            this.requestWindowFeature(Window.FEATURE_PROGRESS);
+            this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
+        }
         // test the browser in OpenGL
         // requestWindowFeature(Window.FEATURE_OPENGL);
 
@@ -668,8 +328,36 @@
         mGenericFavicon = getResources().getDrawable(
                 R.drawable.app_web_browser_sm);
 
-        mContentView = (FrameLayout) getWindow().getDecorView().findViewById(
-                com.android.internal.R.id.content);
+        FrameLayout frameLayout = (FrameLayout) getWindow().getDecorView()
+                .findViewById(com.android.internal.R.id.content);
+        if (CUSTOM_BROWSER_BAR) {
+            // This FrameLayout will hold the custom FrameLayout and a LinearLayout
+            // that contains the title bar and a FrameLayout, which
+            // holds everything else.
+            FrameLayout browserFrameLayout = (FrameLayout) LayoutInflater.from(this)
+                    .inflate(R.layout.custom_screen, null);
+            mTitleBar = (TitleBarSet) browserFrameLayout.findViewById(R.id.title_bar);
+            mContentView = (FrameLayout) browserFrameLayout.findViewById(
+                    R.id.main_content);
+            mErrorConsoleContainer = (LinearLayout) browserFrameLayout.findViewById(
+                    R.id.error_console);
+            mCustomViewContainer = (FrameLayout) browserFrameLayout
+                    .findViewById(R.id.fullscreen_custom_content);
+            frameLayout.addView(browserFrameLayout, COVER_SCREEN_PARAMS);
+        } else {
+            mCustomViewContainer = new FrameLayout(this);
+            mCustomViewContainer.setBackgroundColor(Color.BLACK);
+            mContentView = new FrameLayout(this);
+
+            LinearLayout linearLayout = new LinearLayout(this);
+            linearLayout.setOrientation(LinearLayout.VERTICAL);
+            mErrorConsoleContainer = new LinearLayout(this);
+            linearLayout.addView(mErrorConsoleContainer, new LinearLayout.LayoutParams(
+                    ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
+            linearLayout.addView(mContentView, COVER_SCREEN_PARAMS);
+            frameLayout.addView(mCustomViewContainer, COVER_SCREEN_PARAMS);
+            frameLayout.addView(linearLayout, COVER_SCREEN_PARAMS);
+        }
 
         // Create the tab control and our initial tab
         mTabControl = new TabControl(this);
@@ -702,6 +390,52 @@
                 }
             };
 
+        IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
+        filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
+        filter.addDataScheme("package");
+        mPackageInstallationReceiver = new BroadcastReceiver() {
+            @Override
+            public void onReceive(Context context, Intent intent) {
+                final String action = intent.getAction();
+                final String packageName = intent.getData()
+                        .getSchemeSpecificPart();
+                final boolean replacing = intent.getBooleanExtra(
+                        Intent.EXTRA_REPLACING, false);
+                if (Intent.ACTION_PACKAGE_REMOVED.equals(action) && replacing) {
+                    // if it is replacing, refreshPlugins() when adding
+                    return;
+                }
+                PackageManager pm = BrowserActivity.this.getPackageManager();
+                PackageInfo pkgInfo = null;
+                try {
+                    pkgInfo = pm.getPackageInfo(packageName,
+                            PackageManager.GET_PERMISSIONS);
+                } catch (PackageManager.NameNotFoundException e) {
+                    return;
+                }
+                if (pkgInfo != null) {
+                    String permissions[] = pkgInfo.requestedPermissions;
+                    if (permissions == null) {
+                        return;
+                    }
+                    boolean permissionOk = false;
+                    for (String permit : permissions) {
+                        if (PluginManager.PLUGIN_PERMISSION.equals(permit)) {
+                            permissionOk = true;
+                            break;
+                        }
+                    }
+                    if (permissionOk) {
+                        PluginManager.getInstance(BrowserActivity.this)
+                                .refreshPlugins(
+                                        Intent.ACTION_PACKAGE_ADDED
+                                                .equals(action));
+                    }
+                }
+            }
+        };
+        registerReceiver(mPackageInstallationReceiver, filter);
+
         // If this was a web search request, pass it on to the default web search provider.
         if (handleWebSearchIntent(getIntent())) {
             moveTaskToBack(true);
@@ -713,6 +447,9 @@
             // none of the files in the directory are referenced any more.
             new ClearThumbnails().execute(
                     mTabControl.getThumbnailDir().listFiles());
+            // there is no quit on Android. But if we can't restore the state,
+            // we can treat it as a new Browser, remove the old session cookies.
+            CookieManager.getInstance().removeSessionCookie();
             final Intent intent = getIntent();
             final Bundle extra = intent.getExtras();
             // Create an initial tab.
@@ -726,8 +463,6 @@
                     intent.getData() != null,
                     intent.getStringExtra(Browser.EXTRA_APPLICATION_ID), urlData.mUrl);
             mTabControl.setCurrentTab(t);
-            // This is one of the only places we call attachTabToContentView
-            // without animating from the tab picker.
             attachTabToContentView(t);
             WebView webView = t.getWebView();
             if (extra != null) {
@@ -744,14 +479,9 @@
                     && !mSettings.isLoginInitialized()) {
                 setupHomePage();
             }
-            copyPlugins(true);
 
             if (urlData.isEmpty()) {
-                if (mSettings.isLoginInitialized()) {
-                    webView.loadUrl(mSettings.getHomePage());
-                } else {
-                    waitForCredentials();
-                }
+                bookmarksOrHistoryPicker(false, true);
             } else {
                 if (extra != null) {
                     urlData.setPostData(extra
@@ -761,10 +491,26 @@
             }
         } else {
             // TabControl.restoreState() will create a new tab even if
-            // restoring the state fails. Attach it to the view here since we
-            // are not animating from the tab picker.
+            // restoring the state fails.
             attachTabToContentView(mTabControl.getCurrentTab());
         }
+
+        if (CUSTOM_BROWSER_BAR) {
+            // Create title bars for all of the tabs that have been created
+            for (int i = 0; i < mTabControl.getTabCount(); i ++) {
+                WebView view = mTabControl.getTab(i).getWebView();
+                mTitleBar.addTab(view, false);
+            }
+
+            mTitleBar.setBrowserActivity(this);
+            mTitleBar.setCurrentTab(mTabControl.getCurrentIndex());
+        }
+
+        // Read JavaScript flags if it exists.
+        String jsFlags = mSettings.getJsFlags();
+        if (jsFlags.trim().length() != 0) {
+            mTabControl.getCurrentWebView().setJsFlags(jsFlags);
+        }
     }
 
     @Override
@@ -780,6 +526,9 @@
                 return;
             }
             mTabControl.setCurrentTab(current);
+            if (CUSTOM_BROWSER_BAR) {
+                mTitleBar.setCurrentTab(mTabControl.getTabIndex(current));
+            }
             attachTabToContentView(current);
             resetTitleAndIcon(current.getWebView());
         }
@@ -812,7 +561,7 @@
             if (Intent.ACTION_VIEW.equals(action)
                     && !getPackageName().equals(appId)
                     && (flags & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
-                final TabControl.Tab appTab = mTabControl.getTabFromId(appId);
+                TabControl.Tab appTab = mTabControl.getTabFromId(appId);
                 if (appTab != null) {
                     Log.i(LOGTAG, "Reusing tab for " + appId);
                     // Dismiss the subwindow if applicable.
@@ -825,45 +574,44 @@
                     // page, it can be reused.
                     boolean needsLoad =
                             mTabControl.recreateWebView(appTab, urlData.mUrl);
-                    
+
                     if (current != appTab) {
-                        showTab(appTab, needsLoad ? urlData : EMPTY_URL_DATA);
+                        switchToTab(mTabControl.getTabIndex(appTab));
+                        if (needsLoad) {
+                            urlData.loadIn(appTab.getWebView());
+                        }
                     } else {
-                        if (mTabOverview != null && mAnimationCount == 0) {
-                            sendAnimateFromOverview(appTab, false,
-                                    needsLoad ? urlData : EMPTY_URL_DATA, TAB_OVERVIEW_DELAY,
-                                    null);
-                        } else {
-                            // If the tab was the current tab, we have to attach
-                            // it to the view system again.
-                            attachTabToContentView(appTab);
-                            if (needsLoad) {
-                                urlData.loadIn(appTab.getWebView());
-                            }
+                        // If the tab was the current tab, we have to attach
+                        // it to the view system again.
+                        attachTabToContentView(appTab);
+                        if (needsLoad) {
+                            urlData.loadIn(appTab.getWebView());
                         }
                     }
                     return;
+                } else {
+                    // No matching application tab, try to find a regular tab
+                    // with a matching url.
+                    appTab = mTabControl.findUnusedTabWithUrl(urlData.mUrl);
+                    if (appTab != null && current != appTab) {
+                        switchToTab(mTabControl.getTabIndex(appTab));
+                    } else {
+                        // 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 url will be opened in the current
+                        // tab. If a new tab is created, it will have "true" for
+                        // exit on close.
+                        openTabAndShow(urlData, true, appId);
+                    }
                 }
-                // 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
-                // url will be opened in the current tab. If a new tab is
-                // created, it will have "true" for exit on close.
-                openTabAndShow(urlData, null, true, appId);
             } else {
                 if ("about:debug".equals(urlData.mUrl)) {
                     mSettings.toggleDebugSettings();
                     return;
                 }
-                // If the Window overview is up and we are not in the midst of
-                // an animation, animate away from the Window overview.
-                if (mTabOverview != null && mAnimationCount == 0) {
-                    sendAnimateFromOverview(current, false, urlData,
-                            TAB_OVERVIEW_DELAY, null);
-                } else {
-                    // Get rid of the subwindow if it exists
-                    dismissSubWindow(current);
-                    urlData.loadIn(current.getWebView());
-                }
+                // Get rid of the subwindow if it exists
+                dismissSubWindow(current);
+                urlData.loadIn(current.getWebView());
             }
         }
     }
@@ -1107,8 +855,9 @@
             return;
         }
 
+        mTabControl.resumeCurrentTab();
         mActivityInPause = false;
-        resumeWebView();
+        resumeWebViewTimers();
 
         if (mWakeLock.isHeld()) {
             mHandler.removeMessages(RELEASE_WAKELOCK);
@@ -1166,8 +915,9 @@
             return;
         }
 
+        mTabControl.pauseCurrentTab();
         mActivityInPause = true;
-        if (mTabControl.getCurrentIndex() >= 0 && !pauseWebView()) {
+        if (mTabControl.getCurrentIndex() >= 0 && !pauseWebViewTimers()) {
             mWakeLock.acquire();
             mHandler.sendMessageDelayed(mHandler
                     .obtainMessage(RELEASE_WAKELOCK), WAKELOCK_TIMEOUT);
@@ -1218,6 +968,8 @@
         //        "com.android.masfproxyservice",
         //        "com.android.masfproxyservice.MasfProxyService"));
         //stopService(proxyServiceIntent);
+
+        unregisterReceiver(mPackageInstallationReceiver);
     }
 
     @Override
@@ -1266,7 +1018,7 @@
         mTabControl.freeMemory();
     }
 
-    private boolean resumeWebView() {
+    private boolean resumeWebViewTimers() {
         if ((!mActivityInPause && !mPageStarted) ||
                 (mActivityInPause && mPageStarted)) {
             CookieSyncManager.getInstance().startSync();
@@ -1280,7 +1032,7 @@
         }
     }
 
-    private boolean pauseWebView() {
+    private boolean pauseWebViewTimers() {
         if (mActivityInPause && !mPageStarted) {
             CookieSyncManager.getInstance().stopSync();
             WebView w = mTabControl.getCurrentWebView();
@@ -1293,6 +1045,7 @@
         }
     }
 
+    // FIXME: Do we want to call this when loading google for the first time?
     /*
      * This function is called when we are launching for the first time. We
      * are waiting for the login credentials before loading Google home
@@ -1441,7 +1194,7 @@
      */
     @Override
     public boolean onSearchRequested() {
-        String url = getTopWindow().getUrl();
+        String url = (getTopWindow() == null) ? null : getTopWindow().getUrl();
         startSearch(mSettings.getHomePage().equals(url) ? null : url, true,
                 createGoogleSearchSourceBundle(GOOGLE_SEARCH_SOURCE_SEARCHKEY), false);
         return true;
@@ -1456,6 +1209,66 @@
         super.startSearch(initialQuery, selectInitialQuery, appSearchData, globalSearch);
     }
 
+    /**
+     * Switch tabs.  Called by the TitleBarSet when sliding the title bar
+     * results in changing tabs.
+     * @param index Index of the tab to change to, as defined by
+     *              mTabControl.getTabIndex(Tab t).
+     * @return boolean True if we successfully switched to a different tab.  If
+     *                 the indexth tab is null, or if that tab is the same as
+     *                 the current one, return false.
+     */
+    /* package */ boolean switchToTab(int index) {
+        TabControl.Tab tab = mTabControl.getTab(index);
+        TabControl.Tab currentTab = mTabControl.getCurrentTab();
+        if (tab == null || tab == currentTab) {
+            return false;
+        }
+        if (currentTab != null) {
+            // currentTab may be null if it was just removed.  In that case,
+            // we do not need to remove it
+            removeTabFromContentView(currentTab);
+        }
+        removeTabFromContentView(tab);
+        mTabControl.setCurrentTab(tab);
+        attachTabToContentView(tab);
+        if (CUSTOM_BROWSER_BAR) {
+            mTitleBar.setCurrentTab(index);
+        }
+        return true;
+    }
+
+    /* package */ void closeCurrentWindow() {
+        final TabControl.Tab current = mTabControl.getCurrentTab();
+        if (mTabControl.getTabCount() == 1) {
+            // This is the last tab.  Open a new one, as well as the history
+            // picker, and close the current one.
+            TabControl.Tab newTab = openTabAndShow(
+                    BrowserActivity.EMPTY_URL_DATA, false, null);
+            bookmarksOrHistoryPicker(false, true);
+            closeTab(current);
+            mTabControl.setCurrentTab(newTab);
+            return;
+        }
+        final TabControl.Tab parent = current.getParentTab();
+        int indexToShow = -1;
+        if (parent != null) {
+            indexToShow = mTabControl.getTabIndex(parent);
+        } else {
+            final int currentIndex = mTabControl.getCurrentIndex();
+            // Try to move to the tab to the right
+            indexToShow = currentIndex + 1;
+            if (indexToShow > mTabControl.getTabCount() - 1) {
+                // Try to move to the tab to the left
+                indexToShow = currentIndex - 1;
+            }
+        }
+        if (switchToTab(indexToShow)) {
+            // Close window
+            closeTab(current);
+        }
+    }
+
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         if (!mCanChord) {
@@ -1463,7 +1276,7 @@
             // menu key.
             return false;
         }
-        if (null == mTabOverview && null == getTopWindow()) {
+        if (null == getTopWindow()) {
             return false;
         }
         if (mMenuIsDown) {
@@ -1475,23 +1288,17 @@
         }
         switch (item.getItemId()) {
             // -- Main menu
-            case R.id.goto_menu_id: {
-                String url = getTopWindow().getUrl();
-                startSearch(mSettings.getHomePage().equals(url) ? null : url, true,
-                        createGoogleSearchSourceBundle(GOOGLE_SEARCH_SOURCE_GOTO), false);
-                }
+            case R.id.goto_menu_id:
+                bookmarksOrHistoryPicker(false, false);
                 break;
 
-            case R.id.bookmarks_menu_id:
-                bookmarksOrHistoryPicker(false);
-                break;
-
-            case R.id.windows_menu_id:
-                if (mTabControl.getTabCount() == 1) {
-                    openTabAndShow(mSettings.getHomePage(), null, false, null);
-                } else {
-                    tabPicker(true, mTabControl.getCurrentIndex(), false);
-                }
+            case R.id.add_bookmark_menu_id:
+                Intent i = new Intent(BrowserActivity.this,
+                        AddBookmarkPage.class);
+                WebView w = getTopWindow();
+                i.putExtra("url", w.getUrl());
+                i.putExtra("title", w.getTitle());
+                startActivity(i);
                 break;
 
             case R.id.stop_reload_menu_id:
@@ -1516,21 +1323,7 @@
                     dismissSubWindow(mTabControl.getCurrentTab());
                     break;
                 }
-                final int currentIndex = mTabControl.getCurrentIndex();
-                final TabControl.Tab parent =
-                        mTabControl.getCurrentTab().getParentTab();
-                int indexToShow = -1;
-                if (parent != null) {
-                    indexToShow = mTabControl.getTabIndex(parent);
-                } else {
-                    // Get the last tab in the list. If it is the current tab,
-                    // subtract 1 more.
-                    indexToShow = mTabControl.getTabCount() - 1;
-                    if (currentIndex == indexToShow) {
-                        indexToShow--;
-                    }
-                }
-                switchTabs(currentIndex, indexToShow, true);
+                closeCurrentWindow();
                 break;
 
             case R.id.homepage_menu_id:
@@ -1564,7 +1357,7 @@
                 break;
 
             case R.id.classic_history_menu_id:
-                bookmarksOrHistoryPicker(true);
+                bookmarksOrHistoryPicker(true, false);
                 break;
 
             case R.id.share_page_menu_id:
@@ -1587,62 +1380,6 @@
                 viewDownloads(null);
                 break;
 
-            // -- Tab menu
-            case R.id.view_tab_menu_id:
-                if (mTabListener != null && mTabOverview != null) {
-                    int pos = mTabOverview.getContextMenuPosition(item);
-                    mTabOverview.setCurrentIndex(pos);
-                    mTabListener.onClick(pos);
-                }
-                break;
-
-            case R.id.remove_tab_menu_id:
-                if (mTabListener != null && mTabOverview != null) {
-                    int pos = mTabOverview.getContextMenuPosition(item);
-                    mTabListener.remove(pos);
-                }
-                break;
-
-            case R.id.new_tab_menu_id:
-                // No need to check for mTabOverview here since we are not
-                // dependent on it for a position.
-                if (mTabListener != null) {
-                    // If the overview happens to be non-null, make the "New
-                    // Tab" cell visible.
-                    if (mTabOverview != null) {
-                        mTabOverview.setCurrentIndex(ImageGrid.NEW_TAB);
-                    }
-                    mTabListener.onClick(ImageGrid.NEW_TAB);
-                }
-                break;
-
-            case R.id.bookmark_tab_menu_id:
-                if (mTabListener != null && mTabOverview != null) {
-                    int pos = mTabOverview.getContextMenuPosition(item);
-                    TabControl.Tab t = mTabControl.getTab(pos);
-                    // Since we called populatePickerData for all of the
-                    // tabs, getTitle and getUrl will return appropriate
-                    // values.
-                    Browser.saveBookmark(BrowserActivity.this, t.getTitle(),
-                            t.getUrl());
-                }
-                break;
-
-            case R.id.history_tab_menu_id:
-                bookmarksOrHistoryPicker(true);
-                break;
-
-            case R.id.bookmarks_tab_menu_id:
-                bookmarksOrHistoryPicker(false);
-                break;
-
-            case R.id.properties_tab_menu_id:
-                if (mTabListener != null && mTabOverview != null) {
-                    int pos = mTabOverview.getContextMenuPosition(item);
-                    showPageInfo(mTabControl.getTab(pos), false);
-                }
-                break;
-
             case R.id.window_one_menu_id:
             case R.id.window_two_menu_id:
             case R.id.window_three_menu_id:
@@ -1658,7 +1395,7 @@
                             TabControl.Tab desiredTab = mTabControl.getTab(id);
                             if (desiredTab != null &&
                                     desiredTab != mTabControl.getCurrentTab()) {
-                                switchTabs(mTabControl.getCurrentIndex(), id, false);
+                                switchToTab(id);
                             }
                             break;
                         }
@@ -1690,26 +1427,11 @@
         // whether the matching shortcut key will function.
         super.onPrepareOptionsMenu(menu);
         switch (mMenuState) {
-            case R.id.TAB_MENU:
-                if (mCurrentMenuState != mMenuState) {
-                    menu.setGroupVisible(R.id.MAIN_MENU, false);
-                    menu.setGroupEnabled(R.id.MAIN_MENU, false);
-                    menu.setGroupEnabled(R.id.MAIN_SHORTCUT_MENU, false);
-                    menu.setGroupVisible(R.id.TAB_MENU, true);
-                    menu.setGroupEnabled(R.id.TAB_MENU, true);
-                }
-                boolean newT = mTabControl.getTabCount() < TabControl.MAX_TABS;
-                final MenuItem tab = menu.findItem(R.id.new_tab_menu_id);
-                tab.setVisible(newT);
-                tab.setEnabled(newT);
-                break;
             case EMPTY_MENU:
                 if (mCurrentMenuState != mMenuState) {
                     menu.setGroupVisible(R.id.MAIN_MENU, false);
                     menu.setGroupEnabled(R.id.MAIN_MENU, false);
                     menu.setGroupEnabled(R.id.MAIN_SHORTCUT_MENU, false);
-                    menu.setGroupVisible(R.id.TAB_MENU, false);
-                    menu.setGroupEnabled(R.id.TAB_MENU, false);
                 }
                 break;
             default:
@@ -1717,8 +1439,6 @@
                     menu.setGroupVisible(R.id.MAIN_MENU, true);
                     menu.setGroupEnabled(R.id.MAIN_MENU, true);
                     menu.setGroupEnabled(R.id.MAIN_SHORTCUT_MENU, true);
-                    menu.setGroupVisible(R.id.TAB_MENU, false);
-                    menu.setGroupEnabled(R.id.TAB_MENU, false);
                 }
                 final WebView w = getTopWindow();
                 boolean canGoBack = false;
@@ -1745,12 +1465,6 @@
                 ResolveInfo ri = pm.resolveActivity(send, PackageManager.MATCH_DEFAULT_ONLY);
                 menu.findItem(R.id.share_page_menu_id).setVisible(ri != null);
 
-                // If there is only 1 window, the text will be "New window"
-                final MenuItem windows = menu.findItem(R.id.windows_menu_id);
-                windows.setTitleCondensed(mTabControl.getTabCount() > 1 ?
-                        getString(R.string.view_tabs_condensed) :
-                        getString(R.string.tab_picker_new_tab));
-
                 boolean isNavDump = mSettings.isNavDump();
                 final MenuItem nav = menu.findItem(R.id.dump_nav_menu_id);
                 nav.setVisible(isNavDump);
@@ -1874,9 +1588,23 @@
 
     // Attach the given tab to the content view.
     private void attachTabToContentView(TabControl.Tab t) {
-        final WebView main = t.getWebView();
-        // Attach the main WebView.
-        mContentView.addView(main, COVER_SCREEN_PARAMS);
+        // Attach the container that contains the main WebView and any other UI
+        // associated with the tab.
+        mContentView.addView(t.getContainer(), COVER_SCREEN_PARAMS);
+
+        if (mShouldShowErrorConsole) {
+            ErrorConsoleView errorConsole = mTabControl.getCurrentErrorConsole(true);
+            if (errorConsole.numberOfErrors() == 0) {
+                errorConsole.showConsole(ErrorConsoleView.SHOW_NONE);
+            } else {
+                errorConsole.showConsole(ErrorConsoleView.SHOW_MINIMIZED);
+            }
+
+            mErrorConsoleContainer.addView(errorConsole,
+                    new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
+                                                  ViewGroup.LayoutParams.WRAP_CONTENT));
+        }
+
         // Attach the sub window if necessary
         attachSubWindow(t);
         // Request focus on the top window.
@@ -1896,8 +1624,13 @@
 
     // Remove the given tab from the content view.
     private void removeTabFromContentView(TabControl.Tab t) {
-        // Remove the main WebView.
-        mContentView.removeView(t.getWebView());
+        // Remove the container that contains the main WebView.
+        mContentView.removeView(t.getContainer());
+
+        if (mTabControl.getCurrentErrorConsole(false) != null) {
+            mErrorConsoleContainer.removeView(mTabControl.getCurrentErrorConsole(false));
+        }
+
         // Remove the sub window if it exists.
         if (t.getSubWebView() != null) {
             mContentView.removeView(t.getSubWebViewContainer());
@@ -1918,131 +1651,40 @@
         }
     }
 
-    // Send the ANIMTE_FROM_OVERVIEW message after changing the current tab.
-    private void sendAnimateFromOverview(final TabControl.Tab tab,
-            final boolean newTab, final UrlData urlData, final int delay,
-            final Message msg) {
-        // Set the current tab.
-        mTabControl.setCurrentTab(tab);
-        // Attach the WebView so it will layout.
-        attachTabToContentView(tab);
-        // Set the view to invisibile for now.
-        tab.getWebView().setVisibility(View.INVISIBLE);
-        // If there is a sub window, make it invisible too.
-        if (tab.getSubWebView() != null) {
-            tab.getSubWebViewContainer().setVisibility(View.INVISIBLE);
-        }
-        // Create our fake animating view.
-        final AnimatingView view = new AnimatingView(this, tab);
-        // Attach it to the view system and make in invisible so it will
-        // layout but not flash white on the screen.
-        mContentView.addView(view, COVER_SCREEN_PARAMS);
-        view.setVisibility(View.INVISIBLE);
-        // Send the animate message.
-        final HashMap map = new HashMap();
-        map.put("view", view);
-        // Load the url after the AnimatingView has captured the picture. This
-        // prevents any bad layout or bad scale from being used during
-        // animation.
-        if (!urlData.isEmpty()) {
-            dismissSubWindow(tab);
-            urlData.loadIn(tab.getWebView());
-        }
-        map.put("msg", msg);
-        mHandler.sendMessageDelayed(mHandler.obtainMessage(
-                ANIMATE_FROM_OVERVIEW, newTab ? 1 : 0, 0, map), delay);
-        // Increment the count to indicate that we are in an animation.
-        mAnimationCount++;
-        // Remove the listener so we don't get any more tab changes.
-        mTabOverview.setListener(null);
-        mTabListener = null;
-        // Make the menu empty until the animation completes.
-        mMenuState = EMPTY_MENU;
-
-    }
-
-    // 500ms animation with 800ms delay
-    private static final int TAB_ANIMATION_DURATION = 200;
-    private static final int TAB_OVERVIEW_DELAY     = 500;
-
-    // Called by TabControl when a tab is requesting focus
-    /* package */ void showTab(TabControl.Tab t) {
-        showTab(t, EMPTY_URL_DATA);
-    }
-
-    private void showTab(TabControl.Tab t, UrlData urlData) {
-        // Disallow focus change during a tab animation.
-        if (mAnimationCount > 0) {
-            return;
-        }
-        int delay = 0;
-        if (mTabOverview == null) {
-            // Add a delay so the tab overview can be shown before the second
-            // animation begins.
-            delay = TAB_ANIMATION_DURATION + TAB_OVERVIEW_DELAY;
-            tabPicker(false, mTabControl.getTabIndex(t), false);
-        }
-        sendAnimateFromOverview(t, false, urlData, delay, null);
-    }
-
-    // A wrapper function of {@link #openTabAndShow(UrlData, Message, boolean, String)}
+    // A wrapper function of {@link #openTabAndShow(UrlData, boolean, String)}
     // that accepts url as string.
-    private TabControl.Tab openTabAndShow(String url, final Message msg,
-            boolean closeOnExit, String appId) {
-        return openTabAndShow(new UrlData(url), msg, closeOnExit, appId);
+    private TabControl.Tab openTabAndShow(String url, boolean closeOnExit,
+            String appId) {
+        return openTabAndShow(new UrlData(url), closeOnExit, appId);
     }
 
     // This method does a ton of stuff. It will attempt to create a new tab
     // if we haven't reached MAX_TABS. Otherwise it uses the current tab. If
-    // url isn't null, it will load the given url. If the tab overview is not
-    // showing, it will animate to the tab overview, create a new tab and
-    // animate away from it. After the animation completes, it will dispatch
-    // the given Message. If the tab overview is already showing (i.e. this
-    // method is called from TabListener.onClick(), the method will animate
-    // away from the tab overview.
-    private TabControl.Tab openTabAndShow(UrlData urlData, final Message msg,
+    // url isn't null, it will load the given url.
+    /* package */ TabControl.Tab openTabAndShow(UrlData urlData,
             boolean closeOnExit, String appId) {
         final boolean newTab = mTabControl.getTabCount() != TabControl.MAX_TABS;
         final TabControl.Tab currentTab = mTabControl.getCurrentTab();
         if (newTab) {
-            int delay = 0;
-            // If the tab overview is up and there are animations, just load
-            // the url.
-            if (mTabOverview != null && mAnimationCount > 0) {
-                if (!urlData.isEmpty()) {
-                    // We should not have a msg here since onCreateWindow
-                    // checks the animation count and every other caller passes
-                    // null.
-                    assert msg == null;
-                    // just dismiss the subwindow and load the given url.
-                    dismissSubWindow(currentTab);
-                    urlData.loadIn(currentTab.getWebView());
-                }
-            } else {
-                // show mTabOverview if it is not there.
-                if (mTabOverview == null) {
-                    // We have to delay the animation from the tab picker by the
-                    // length of the tab animation. Add a delay so the tab
-                    // overview can be shown before the second animation begins.
-                    delay = TAB_ANIMATION_DURATION + TAB_OVERVIEW_DELAY;
-                    tabPicker(false, ImageGrid.NEW_TAB, false);
-                }
-                // Animate from the Tab overview after any animations have
-                // finished.
-                final TabControl.Tab tab = mTabControl.createNewTab(
-                        closeOnExit, appId, urlData.mUrl);
-                sendAnimateFromOverview(tab, true, urlData, delay, msg);
-                return tab;
+            final TabControl.Tab tab = mTabControl.createNewTab(
+                    closeOnExit, appId, urlData.mUrl);
+            WebView webview = tab.getWebView();
+            if (CUSTOM_BROWSER_BAR) {
+                mTitleBar.addTab(webview, true);
             }
-        } else if (!urlData.isEmpty()) {
-            // We should not have a msg here.
-            assert msg == null;
-            if (mTabOverview != null && mAnimationCount == 0) {
-                sendAnimateFromOverview(currentTab, false, urlData,
-                        TAB_OVERVIEW_DELAY, null);
-            } else {
-                // Get rid of the subwindow if it exists
-                dismissSubWindow(currentTab);
+            removeTabFromContentView(currentTab);
+            attachTabToContentView(tab);
+            // We must set the new tab as the current tab to reflect the old
+            // animation behavior.
+            mTabControl.setCurrentTab(tab);
+            if (!urlData.isEmpty()) {
+                urlData.loadIn(webview);
+            }
+            return tab;
+        } else {
+            // Get rid of the subwindow if it exists
+            dismissSubWindow(currentTab);
+            if (!urlData.isEmpty()) {
                 // Load the given url.
                 urlData.loadIn(currentTab.getWebView());
             }
@@ -2050,234 +1692,19 @@
         return currentTab;
     }
 
-    private Animation createTabAnimation(final AnimatingView view,
-            final View cell, boolean scaleDown) {
-        final AnimationSet set = new AnimationSet(true);
-        final float scaleX = (float) cell.getWidth() / view.getWidth();
-        final float scaleY = (float) cell.getHeight() / view.getHeight();
-        if (scaleDown) {
-            set.addAnimation(new ScaleAnimation(1.0f, scaleX, 1.0f, scaleY));
-            set.addAnimation(new TranslateAnimation(0, cell.getLeft(), 0,
-                    cell.getTop()));
-        } else {
-            set.addAnimation(new ScaleAnimation(scaleX, 1.0f, scaleY, 1.0f));
-            set.addAnimation(new TranslateAnimation(cell.getLeft(), 0,
-                    cell.getTop(), 0));
-        }
-        set.setDuration(TAB_ANIMATION_DURATION);
-        set.setInterpolator(new DecelerateInterpolator());
-        return set;
-    }
-
-    // Animate to the tab overview. currentIndex tells us which position to
-    // animate to and newIndex is the position that should be selected after
-    // the animation completes.
-    // If remove is true, after the animation stops, a confirmation dialog will
-    // be displayed to the user.
-    private void animateToTabOverview(final int newIndex, final boolean remove,
-            final AnimatingView view) {
-        // Find the view in the ImageGrid allowing for the "New Tab" cell.
-        int position = mTabControl.getTabIndex(view.mTab);
-        if (!((ImageAdapter) mTabOverview.getAdapter()).maxedOut()) {
-            position++;
-        }
-
-        // Offset the tab position with the first visible position to get a
-        // number between 0 and 3.
-        position -= mTabOverview.getFirstVisiblePosition();
-
-        // Grab the view that we are going to animate to.
-        final View v = mTabOverview.getChildAt(position);
-
-        final Animation.AnimationListener l =
-                new Animation.AnimationListener() {
-                    public void onAnimationStart(Animation a) {
-                        if (mTabOverview != null) {
-                            mTabOverview.requestFocus();
-                            // Clear the listener so we don't trigger a tab
-                            // selection.
-                            mTabOverview.setListener(null);
-                        }
-                    }
-                    public void onAnimationRepeat(Animation a) {}
-                    public void onAnimationEnd(Animation a) {
-                        // We are no longer animating so decrement the count.
-                        mAnimationCount--;
-                        // Make the view GONE so that it will not draw between
-                        // now and when the Runnable is handled.
-                        view.setVisibility(View.GONE);
-                        // Post a runnable since we can't modify the view
-                        // hierarchy during this callback.
-                        mHandler.post(new Runnable() {
-                            public void run() {
-                                // Remove the AnimatingView.
-                                mContentView.removeView(view);
-                                if (mTabOverview != null) {
-                                    // Make newIndex visible.
-                                    mTabOverview.setCurrentIndex(newIndex);
-                                    // Restore the listener.
-                                    mTabOverview.setListener(mTabListener);
-                                    // Change the menu to TAB_MENU if the
-                                    // ImageGrid is interactive.
-                                    if (mTabOverview.isLive()) {
-                                        mMenuState = R.id.TAB_MENU;
-                                        mTabOverview.requestFocus();
-                                    }
-                                }
-                                // If a remove was requested, remove the tab.
-                                if (remove) {
-                                    // During a remove, the current tab has
-                                    // already changed. Remember the current one
-                                    // here.
-                                    final TabControl.Tab currentTab =
-                                            mTabControl.getCurrentTab();
-                                    // Remove the tab at newIndex from
-                                    // TabControl and the tab overview.
-                                    final TabControl.Tab tab =
-                                            mTabControl.getTab(newIndex);
-                                    mTabControl.removeTab(tab);
-                                    // Restore the current tab.
-                                    if (currentTab != tab) {
-                                        mTabControl.setCurrentTab(currentTab);
-                                    }
-                                    if (mTabOverview != null) {
-                                        mTabOverview.remove(newIndex);
-                                        // Make the current tab visible.
-                                        mTabOverview.setCurrentIndex(
-                                                mTabControl.getCurrentIndex());
-                                    }
-                                }
-                            }
-                        });
-                    }
-                };
-
-        // Do an animation if there is a view to animate to.
-        if (v != null) {
-            // Create our animation
-            final Animation anim = createTabAnimation(view, v, true);
-            anim.setAnimationListener(l);
-            // Start animating
-            view.startAnimation(anim);
-        } else {
-            // If something goes wrong and we didn't find a view to animate to,
-            // just do everything here.
-            l.onAnimationStart(null);
-            l.onAnimationEnd(null);
-        }
-    }
-
-    // Animate from the tab picker. The index supplied is the index to animate
-    // from.
-    private void animateFromTabOverview(final AnimatingView view,
-            final boolean newTab, final Message msg) {
-        // firstVisible is the first visible tab on the screen.  This helps
-        // to know which corner of the screen the selected tab is.
-        int firstVisible = mTabOverview.getFirstVisiblePosition();
-        // tabPosition is the 0-based index of of the tab being opened
-        int tabPosition = mTabControl.getTabIndex(view.mTab);
-        if (!((ImageAdapter) mTabOverview.getAdapter()).maxedOut()) {
-            // Add one to make room for the "New Tab" cell.
-            tabPosition++;
-        }
-        // If this is a new tab, animate from the "New Tab" cell.
-        if (newTab) {
-            tabPosition = 0;
-        }
-        // Location corresponds to the four corners of the screen.
-        // A new tab or 0 is upper left, 0 for an old tab is upper
-        // right, 1 is lower left, and 2 is lower right
-        int location = tabPosition - firstVisible;
-
-        // Find the view at this location.
-        final View v = mTabOverview.getChildAt(location);
-
-        // Wait until the animation completes to replace the AnimatingView.
-        final Animation.AnimationListener l =
-                new Animation.AnimationListener() {
-                    public void onAnimationStart(Animation a) {}
-                    public void onAnimationRepeat(Animation a) {}
-                    public void onAnimationEnd(Animation a) {
-                        mHandler.post(new Runnable() {
-                            public void run() {
-                                mContentView.removeView(view);
-                                // Dismiss the tab overview. If the cell at the
-                                // given location is null, set the fade
-                                // parameter to true.
-                                dismissTabOverview(v == null);
-                                TabControl.Tab t =
-                                        mTabControl.getCurrentTab();
-                                mMenuState = R.id.MAIN_MENU;
-                                // Resume regular updates.
-                                t.getWebView().resumeTimers();
-                                // Dispatch the message after the animation
-                                // completes.
-                                if (msg != null) {
-                                    msg.sendToTarget();
-                                }
-                                // The animation is done and the tab overview is
-                                // gone so allow key events and other animations
-                                // to begin.
-                                mAnimationCount--;
-                                // Reset all the title bar info.
-                                resetTitle();
-                            }
-                        });
-                    }
-                };
-
-        if (v != null) {
-            final Animation anim = createTabAnimation(view, v, false);
-            // Set the listener and start animating
-            anim.setAnimationListener(l);
-            view.startAnimation(anim);
-            // Make the view VISIBLE during the animation.
-            view.setVisibility(View.VISIBLE);
-        } else {
-            // Go ahead and do all the cleanup.
-            l.onAnimationEnd(null);
-        }
-    }
-
-    // Dismiss the tab overview applying a fade if needed.
-    private void dismissTabOverview(final boolean fade) {
-        if (fade) {
-            AlphaAnimation anim = new AlphaAnimation(1.0f, 0.0f);
-            anim.setDuration(500);
-            anim.startNow();
-            mTabOverview.startAnimation(anim);
-        }
-        // Just in case there was a problem with animating away from the tab
-        // overview
-        WebView current = mTabControl.getCurrentWebView();
-        if (current != null) {
-            current.setVisibility(View.VISIBLE);
-        } else {
-            Log.e(LOGTAG, "No current WebView in dismissTabOverview");
-        }
-        // Make the sub window container visible.
-        if (mTabControl.getCurrentSubWindow() != null) {
-            mTabControl.getCurrentTab().getSubWebViewContainer()
-                    .setVisibility(View.VISIBLE);
-        }
-        mContentView.removeView(mTabOverview);
-        // Clear all the data for tab picker so next time it will be
-        // recreated.
-        mTabControl.wipeAllPickerData();
-        mTabOverview.clear();
-        mTabOverview = null;
-        mTabListener = null;
-    }
-
     private TabControl.Tab openTab(String url) {
         if (mSettings.openInBackground()) {
             TabControl.Tab t = mTabControl.createNewTab();
             if (t != null) {
-                t.getWebView().loadUrl(url);
+                WebView view = t.getWebView();
+                if (CUSTOM_BROWSER_BAR) {
+                    mTitleBar.addTab(view, false);
+                }
+                view.loadUrl(url);
             }
             return t;
         } else {
-            return openTabAndShow(url, null, false, null);
+            return openTabAndShow(url, false, null);
         }
     }
 
@@ -2357,10 +1784,10 @@
     private void resetTitleAndIcon(WebView view) {
         WebHistoryItem item = view.copyBackForwardList().getCurrentItem();
         if (item != null) {
-            setUrlTitle(item.getUrl(), item.getTitle());
+            setUrlTitle(item.getUrl(), item.getTitle(), view);
             setFavicon(item.getFavicon());
         } else {
-            setUrlTitle(null, null);
+            setUrlTitle(null, null, view);
             setFavicon(null);
         }
     }
@@ -2370,13 +1797,13 @@
      * @param url The URL of the site being loaded.
      * @param title The title of the site being loaded.
      */
-    private void setUrlTitle(String url, String title) {
+    private void setUrlTitle(String url, String title, WebView view) {
         mUrl = url;
         mTitle = title;
 
-        // While the tab overview is animating or being shown, block changes
-        // to the title.
-        if (mAnimationCount == 0 && mTabOverview == null) {
+        if (CUSTOM_BROWSER_BAR) {
+            mTitleBar.setTitleAndUrl(title, url, view);
+        } else {
             setTitle(buildUrlTitle(url, title));
         }
     }
@@ -2418,7 +1845,7 @@
      * or an empty string if, for example, the URL in question is a
      * file:// URL with no hostname.
      */
-    private static String buildTitleUrl(String url) {
+    /* package */ static String buildTitleUrl(String url) {
         String titleUrl = null;
 
         if (url != null) {
@@ -2449,23 +1876,34 @@
 
     // Set the favicon in the title bar.
     private void setFavicon(Bitmap icon) {
-        // While the tab overview is animating or being shown, block changes to
-        // the favicon.
-        if (mAnimationCount > 0 || mTabOverview != null) {
-            return;
-        }
-        Drawable[] array = new Drawable[2];
-        PaintDrawable p = new PaintDrawable(Color.WHITE);
-        p.setCornerRadius(3f);
-        array[0] = p;
-        if (icon == null) {
-            array[1] = mGenericFavicon;
+        if (CUSTOM_BROWSER_BAR) {
+            Drawable[] array = new Drawable[3];
+            array[0] = new PaintDrawable(Color.BLACK);
+            PaintDrawable p = new PaintDrawable(Color.WHITE);
+            array[1] = p;
+            if (icon == null) {
+                array[2] = mGenericFavicon;
+            } else {
+                array[2] = new BitmapDrawable(icon);
+            }
+            LayerDrawable d = new LayerDrawable(array);
+            d.setLayerInset(1, 1, 1, 1, 1);
+            d.setLayerInset(2, 2, 2, 2, 2);
+            mTitleBar.setFavicon(d, getTopWindow());
         } else {
-            array[1] = new BitmapDrawable(icon);
+            Drawable[] array = new Drawable[2];
+            PaintDrawable p = new PaintDrawable(Color.WHITE);
+            p.setCornerRadius(3f);
+            array[0] = p;
+            if (icon == null) {
+                array[1] = mGenericFavicon;
+            } else {
+                array[1] = new BitmapDrawable(icon);
+            }
+            LayerDrawable d = new LayerDrawable(array);
+            d.setLayerInset(1, 2, 2, 2, 2);
+            getWindow().setFeatureDrawable(Window.FEATURE_LEFT_ICON, d);
         }
-        LayerDrawable d = new LayerDrawable(array);
-        d.setLayerInset(1, 2, 2, 2, 2);
-        getWindow().setFeatureDrawable(Window.FEATURE_LEFT_ICON, d);
     }
 
     /**
@@ -2493,26 +1931,14 @@
         updateLockIconImage(mLockIconType);
     }
 
-    private void switchTabs(int indexFrom, int indexToShow, boolean remove) {
-        int delay = TAB_ANIMATION_DURATION + TAB_OVERVIEW_DELAY;
-        // Animate to the tab picker, remove the current tab, then
-        // animate away from the tab picker to the parent WebView.
-        tabPicker(false, indexFrom, remove);
-        // Change to the parent tab
-        final TabControl.Tab tab = mTabControl.getTab(indexToShow);
-        if (tab != null) {
-            sendAnimateFromOverview(tab, false, EMPTY_URL_DATA, delay, null);
-        } else {
-            // Increment this here so that no other animations can happen in
-            // between the end of the tab picker transition and the beginning
-            // of openTabAndShow. This has a matching decrement in the handler
-            // of OPEN_TAB_AND_SHOW.
-            mAnimationCount++;
-            // Send a message to open a new tab.
-            mHandler.sendMessageDelayed(
-                    mHandler.obtainMessage(OPEN_TAB_AND_SHOW,
-                        mSettings.getHomePage()), delay);
+    /**
+     * Close the tab after removing its associated title bar.
+     */
+    private void closeTab(TabControl.Tab t) {
+        if (CUSTOM_BROWSER_BAR) {
+            mTitleBar.removeTab(mTabControl.getTabIndex(t));
         }
+        mTabControl.removeTab(t);
     }
 
     private void goBackOnePageOrQuit() {
@@ -2535,25 +1961,27 @@
             // another window. If so, we switch back to that window.
             TabControl.Tab parent = current.getParentTab();
             if (parent != null) {
-                switchTabs(mTabControl.getCurrentIndex(),
-                        mTabControl.getTabIndex(parent), true);
+                switchToTab(mTabControl.getTabIndex(parent));
+                // Now we close the other tab
+                closeTab(current);
             } else {
                 if (current.closeOnExit()) {
                     if (mTabControl.getTabCount() == 1) {
                         finish();
                         return;
                     }
-                    // call pauseWebView() now, we won't be able to call it in
-                    // onPause() as the WebView won't be valid. Temporarily
-                    // change mActivityInPause to be true as pauseWebView() will
-                    // do nothing if mActivityInPause is false.
+                    // call pauseWebViewTimers() now, we won't be able to call
+                    // it in onPause() as the WebView won't be valid.
+                    // Temporarily change mActivityInPause to be true as
+                    // pauseWebViewTimers() will do nothing if mActivityInPause
+                    // is false.
                     boolean savedState = mActivityInPause;
                     if (savedState) {
-                        Log.e(LOGTAG, "BrowserActivity is already paused " +
-                                "while handing goBackOnePageOrQuit.");
+                        Log.e(LOGTAG, "BrowserActivity is already paused "
+                                + "while handing goBackOnePageOrQuit.");
                     }
                     mActivityInPause = true;
-                    pauseWebView();
+                    pauseWebViewTimers();
                     mActivityInPause = savedState;
                     removeTabFromContentView(current);
                     mTabControl.removeTab(current);
@@ -2578,18 +2006,17 @@
         // because of accumulated key events,
         // we should ignore it as browser is not active any more.
         WebView topWindow = getTopWindow();
-        if (topWindow == null)
+        if (topWindow == null && mCustomView == null)
             return KeyTracker.State.NOT_TRACKING;
 
         if (keyCode == KeyEvent.KEYCODE_BACK) {
-            // During animations, block the back key so that other animations
-            // are not triggered and so that we don't end up destroying all the
-            // WebViews before finishing the animation.
-            if (mAnimationCount > 0) {
+            // Check if a custom view is currently showing and, if it is, hide it.
+            if (mCustomView != null) {
+                mWebChromeClient.onHideCustomView();
                 return KeyTracker.State.DONE_TRACKING;
             }
             if (stage == KeyTracker.Stage.LONG_REPEAT) {
-                bookmarksOrHistoryPicker(true);
+                bookmarksOrHistoryPicker(true, false);
                 return KeyTracker.State.DONE_TRACKING;
             } else if (stage == KeyTracker.Stage.UP) {
                 // FIXME: Currently, we do not have a notion of the
@@ -2678,36 +2105,13 @@
     // Message Ids
     private static final int FOCUS_NODE_HREF         = 102;
     private static final int CANCEL_CREDS_REQUEST    = 103;
-    private static final int ANIMATE_FROM_OVERVIEW   = 104;
-    private static final int ANIMATE_TO_OVERVIEW     = 105;
-    private static final int OPEN_TAB_AND_SHOW       = 106;
-    private static final int CHECK_MEMORY            = 107;
-    private static final int RELEASE_WAKELOCK        = 108;
+    private static final int RELEASE_WAKELOCK        = 107;
 
     // Private handler for handling javascript and saving passwords
     private Handler mHandler = new Handler() {
 
         public void handleMessage(Message msg) {
             switch (msg.what) {
-                case ANIMATE_FROM_OVERVIEW:
-                    final HashMap map = (HashMap) msg.obj;
-                    animateFromTabOverview((AnimatingView) map.get("view"),
-                            msg.arg1 == 1, (Message) map.get("msg"));
-                    break;
-
-                case ANIMATE_TO_OVERVIEW:
-                    animateToTabOverview(msg.arg1, msg.arg2 == 1,
-                            (AnimatingView) msg.obj);
-                    break;
-
-                case OPEN_TAB_AND_SHOW:
-                    // Decrement mAnimationCount before openTabAndShow because
-                    // the method relies on the value being 0 to start the next
-                    // animation.
-                    mAnimationCount--;
-                    openTabAndShow((String) msg.obj, null, false, null);
-                    break;
-
                 case FOCUS_NODE_HREF:
                     String url = (String) msg.getData().get("url");
                     if (url == null || url.length() == 0) {
@@ -2763,14 +2167,6 @@
                     resumeAfterCredentials();
                     break;
 
-                case CHECK_MEMORY:
-                    // reschedule to check memory condition
-                    mHandler.removeMessages(CHECK_MEMORY);
-                    mHandler.sendMessageDelayed(mHandler.obtainMessage
-                            (CHECK_MEMORY), CHECK_MEMORY_INTERVAL);
-                    checkMemory();
-                    break;
-
                 case RELEASE_WAKELOCK:
                     if (mWakeLock.isHeld()) {
                         mWakeLock.release();
@@ -2780,6 +2176,45 @@
         }
     };
 
+    private void updateScreenshot(WebView view) {
+        // If this is a bookmarked site, add a screenshot to the database.
+        // FIXME: When should we update?  Every time?
+        // FIXME: Would like to make sure there is actually something to
+        // draw, but the API for that (WebViewCore.pictureReady()) is not
+        // currently accessible here.
+        ContentResolver cr = getContentResolver();
+        final Cursor c = BrowserBookmarksAdapter.queryBookmarksForUrl(
+                cr, view.getOriginalUrl(), view.getUrl(), false);
+        if (c != null) {
+            boolean succeed = c.moveToFirst();
+            ContentValues values = null;
+            while (succeed) {
+                if (values == null) {
+                    final ByteArrayOutputStream os
+                            = new ByteArrayOutputStream();
+                    Picture thumbnail = view.capturePicture();
+                    // Keep width and height in sync with BrowserBookmarksPage
+                    // and bookmark_thumb
+                    Bitmap bm = Bitmap.createBitmap(100, 80,
+                            Bitmap.Config.ARGB_4444);
+                    Canvas canvas = new Canvas(bm);
+                    // May need to tweak these values to determine what is the
+                    // best scale factor
+                    canvas.scale(.5f, .5f);
+                    thumbnail.draw(canvas);
+                    bm.compress(Bitmap.CompressFormat.PNG, 100, os);
+                    values = new ContentValues();
+                    values.put(Browser.BookmarkColumns.THUMBNAIL,
+                            os.toByteArray());
+                }
+                cr.update(ContentUris.withAppendedId(Browser.BOOKMARKS_URI,
+                        c.getInt(0)), values, null, null);
+                succeed = c.moveToNext();
+            }
+            c.close();
+        }
+    }
+
     // -------------------------------------------------------------------------
     // WebViewClient implementation.
     //-------------------------------------------------------------------------
@@ -2794,10 +2229,10 @@
         return mWebViewClient;
     }
 
-    private void updateIcon(String url, Bitmap icon) {
+    private void updateIcon(WebView view, Bitmap icon) {
         if (icon != null) {
             BrowserBookmarksAdapter.updateBookmarkFavicon(mResolver,
-                    url, icon);
+                    view, icon);
         }
         setFavicon(icon);
     }
@@ -2806,36 +2241,32 @@
         @Override
         public void onPageStarted(WebView view, String url, Bitmap favicon) {
             resetLockIcon(url);
-            setUrlTitle(url, null);
+            setUrlTitle(url, null, view);
+
+            ErrorConsoleView errorConsole = mTabControl.getCurrentErrorConsole(false);
+            if (errorConsole != null) {
+                errorConsole.clearErrorMessages();
+                if (mShouldShowErrorConsole) {
+                    errorConsole.showConsole(ErrorConsoleView.SHOW_NONE);
+                }
+            }
+
             // Call updateIcon instead of setFavicon so the bookmark
             // database can be updated.
-            updateIcon(url, favicon);
+            updateIcon(view, favicon);
 
-            if (mSettings.isTracing() == true) {
-                // FIXME: we should save the trace file somewhere other than data.
-                // I can't use "/tmp" as it competes for system memory.
-                File file = getDir("browserTrace", 0);
-                String baseDir = file.getPath();
-                if (!baseDir.endsWith(File.separator)) baseDir += File.separator;
+            if (mSettings.isTracing()) {
                 String host;
                 try {
                     WebAddress uri = new WebAddress(url);
                     host = uri.mHost;
                 } catch (android.net.ParseException ex) {
-                    host = "unknown_host";
+                    host = "browser";
                 }
                 host = host.replace('.', '_');
-                baseDir = baseDir + host;
-                file = new File(baseDir+".data");
-                if (file.exists() == true) {
-                    file.delete();
-                }
-                file = new File(baseDir+".key");
-                if (file.exists() == true) {
-                    file.delete();
-                }
+                host += ".trace";
                 mInTrace = true;
-                Debug.startMethodTracing(baseDir, 8 * 1024 * 1024);
+                Debug.startMethodTracing(host, 20 * 1024 * 1024);
             }
 
             // Performance probe
@@ -2855,8 +2286,9 @@
 
             if (!mPageStarted) {
                 mPageStarted = true;
-                // if onResume() has been called, resumeWebView() does nothing.
-                resumeWebView();
+                // if onResume() has been called, resumeWebViewTimers() does
+                // nothing.
+                resumeWebViewTimers();
             }
 
             // reset sync timer to avoid sync starts during loading a page
@@ -2876,10 +2308,6 @@
                     view.setNetworkAvailable(false);
                 }
             }
-
-            // schedule to check memory condition
-            mHandler.sendMessageDelayed(mHandler.obtainMessage(CHECK_MEMORY),
-                    CHECK_MEMORY_INTERVAL);
         }
 
         @Override
@@ -2890,6 +2318,7 @@
 
             // Update the lock icon image only once we are done loading
             updateLockIconImage(mLockIconType);
+            updateScreenshot(view);
 
             // Performance probe
             if (false) {
@@ -2977,18 +2406,15 @@
 
             if (mPageStarted) {
                 mPageStarted = false;
-                // pauseWebView() will do nothing and return false if onPause()
-                // is not called yet.
-                if (pauseWebView()) {
+                // pauseWebViewTimers() will do nothing and return false if
+                // onPause() is not called yet.
+                if (pauseWebViewTimers()) {
                     if (mWakeLock.isHeld()) {
                         mHandler.removeMessages(RELEASE_WAKELOCK);
                         mWakeLock.release();
                     }
                 }
             }
-
-            mHandler.removeMessages(CHECK_MEMORY);
-            checkMemory();
         }
 
         // return true if want to hijack the url to let another app to handle it
@@ -3025,9 +2451,9 @@
             if (url.startsWith("about:")) {
                 return false;
             }
-            
+
             Intent intent;
-            
+
             // perform generic parsing of the URI to turn it into an Intent.
             try {
                 intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
@@ -3412,28 +2838,35 @@
                 msg.sendToTarget();
             } else {
                 final TabControl.Tab parent = mTabControl.getCurrentTab();
-                // openTabAndShow will dispatch the message after creating the
-                // new WebView. This will prevent another request from coming
-                // in during the animation.
-                final TabControl.Tab newTab =
-                        openTabAndShow(EMPTY_URL_DATA, msg, false, null);
+                final TabControl.Tab newTab
+                        = openTabAndShow(EMPTY_URL_DATA, false, null);
                 if (newTab != parent) {
                     parent.addChildTab(newTab);
                 }
                 WebView.WebViewTransport transport =
                         (WebView.WebViewTransport) msg.obj;
                 transport.setWebView(mTabControl.getCurrentWebView());
+                msg.sendToTarget();
+            }
+        }
+
+        @Override
+        public void onChangeViewingMode(boolean toZoomedOut) {
+            if (!CUSTOM_BROWSER_BAR) {
+                return;
+            }
+            if (toZoomedOut) {
+                // FIXME: animate the title bar into view
+                mTitleBar.setVisibility(View.VISIBLE);
+            } else {
+                // FXIME: animate the title bar out of view
+                mTitleBar.setVisibility(View.GONE);
             }
         }
 
         @Override
         public boolean onCreateWindow(WebView view, final boolean dialog,
                 final boolean userGesture, final Message resultMsg) {
-            // Ignore these requests during tab animations or if the tab
-            // overview is showing.
-            if (mAnimationCount > 0 || mTabOverview != null) {
-                return false;
-            }
             // Short-circuit if we can't create any more tabs or sub windows.
             if (dialog && mTabControl.getCurrentSubWindow() != null) {
                 new AlertDialog.Builder(BrowserActivity.this)
@@ -3455,9 +2888,6 @@
 
             // Short-circuit if this was a user gesture.
             if (userGesture) {
-                // createWindow will call openTabAndShow for new Windows and
-                // that will call tabPicker which will increment
-                // mAnimationCount.
                 createWindow(dialog, resultMsg);
                 return true;
             }
@@ -3467,12 +2897,7 @@
                     new AlertDialog.OnClickListener() {
                         public void onClick(DialogInterface d,
                                 int which) {
-                            // Same comment as above for setting
-                            // mAnimationCount.
                             createWindow(dialog, resultMsg);
-                            // Since we incremented mAnimationCount while the
-                            // dialog was up, we have to decrement it here.
-                            mAnimationCount--;
                         }
                     };
 
@@ -3481,9 +2906,6 @@
                     new AlertDialog.OnClickListener() {
                         public void onClick(DialogInterface d, int which) {
                             resultMsg.sendToTarget();
-                            // We are not going to trigger an animation so
-                            // unblock keys and animation requests.
-                            mAnimationCount--;
                         }
                     };
 
@@ -3500,31 +2922,26 @@
 
             // Show the confirmation dialog.
             d.show();
-            // We want to increment mAnimationCount here to prevent a
-            // potential race condition. If the user allows a pop-up from a
-            // site and that pop-up then triggers another pop-up, it is
-            // possible to get the BACK key between here and when the dialog
-            // appears.
-            mAnimationCount++;
             return true;
         }
 
         @Override
         public void onCloseWindow(WebView window) {
-            final int currentIndex = mTabControl.getCurrentIndex();
-            final TabControl.Tab parent =
-                    mTabControl.getCurrentTab().getParentTab();
+            final TabControl.Tab current = mTabControl.getCurrentTab();
+            final TabControl.Tab parent = current.getParentTab();
             if (parent != null) {
                 // JavaScript can only close popup window.
-                switchTabs(currentIndex, mTabControl.getTabIndex(parent), true);
+                switchToTab(mTabControl.getTabIndex(parent));
+                // Now we need to close the window
+                closeTab(current);
             }
         }
 
         @Override
         public void onProgressChanged(WebView view, int newProgress) {
-            // Block progress updates to the title bar while the tab overview
-            // is animating or being displayed.
-            if (mAnimationCount == 0 && mTabOverview == null) {
+            if (CUSTOM_BROWSER_BAR) {
+                mTitleBar.setProgress(newProgress, view);
+            } else {
                 getWindow().setFeatureInt(Window.FEATURE_PROGRESS,
                         newProgress * 100);
             }
@@ -3554,12 +2971,14 @@
             String url = view.getUrl();
 
             // here, if url is null, we want to reset the title
-            setUrlTitle(url, title);
+            setUrlTitle(url, title, view);
 
             if (url == null ||
                 url.length() >= SQLiteDatabase.SQLITE_MAX_LIKE_PATTERN_LENGTH) {
                 return;
             }
+            // See if we can find the current url in our history database and
+            // add the new title to it.
             if (url.startsWith("http://www.")) {
                 url = url.substring(11);
             } else if (url.startsWith("http://")) {
@@ -3574,9 +2993,6 @@
                 Cursor c = mResolver.query(Browser.BOOKMARKS_URI,
                     Browser.HISTORY_PROJECTION, where, selArgs, null);
                 if (c.moveToFirst()) {
-                    if (LOGV_ENABLED) {
-                        Log.v(LOGTAG, "updating cursor");
-                    }
                     // Current implementation of database only has one entry per
                     // url.
                     ContentValues map = new ContentValues();
@@ -3594,7 +3010,135 @@
 
         @Override
         public void onReceivedIcon(WebView view, Bitmap icon) {
-            updateIcon(view.getUrl(), icon);
+            updateIcon(view, icon);
+        }
+
+        @Override
+        public void onReceivedTouchIconUrl(WebView view, String url) {
+            final ContentResolver cr = getContentResolver();
+            final Cursor c =
+                    BrowserBookmarksAdapter.queryBookmarksForUrl(cr,
+                            view.getOriginalUrl(), view.getUrl(), true);
+            if (c != null) {
+                if (c.getCount() > 0) {
+                    new DownloadTouchIcon(cr, c, view).execute(url);
+                } else {
+                    c.close();
+                }
+            }
+        }
+
+        @Override
+        public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) {
+            if (mCustomView != null)
+                return;
+
+            // Add the custom view to its container.
+            mCustomViewContainer.addView(view, COVER_SCREEN_GRAVITY_CENTER);
+            mCustomView = view;
+            mCustomViewCallback = callback;
+            // Save the menu state and set it to empty while the custom
+            // view is showing.
+            mOldMenuState = mMenuState;
+            mMenuState = EMPTY_MENU;
+            // Hide the content view.
+            mContentView.setVisibility(View.GONE);
+            // Finally show the custom view container.
+            mCustomViewContainer.setVisibility(View.VISIBLE);
+            mCustomViewContainer.bringToFront();
+        }
+
+        @Override
+        public void onHideCustomView() {
+            if (mCustomView == null)
+                return;
+
+            // Hide the custom view.
+            mCustomView.setVisibility(View.GONE);
+            // Remove the custom view from its container.
+            mCustomViewContainer.removeView(mCustomView);
+            mCustomView = null;
+            // Reset the old menu state.
+            mMenuState = mOldMenuState;
+            mOldMenuState = EMPTY_MENU;
+            mCustomViewContainer.setVisibility(View.GONE);
+            mCustomViewCallback.onCustomViewHidden();
+            // Show the content view.
+            mContentView.setVisibility(View.VISIBLE);
+        }
+
+        /**
+         * The origin has exceeded its database quota.
+         * @param url the URL that exceeded the quota
+         * @param databaseIdentifier the identifier of the database on
+         *     which the transaction that caused the quota overflow was run
+         * @param currentQuota the current quota for the origin.
+         * @param totalUsedQuota is the sum of all origins' quota.
+         * @param quotaUpdater The callback to run when a decision to allow or
+         *     deny quota has been made. Don't forget to call this!
+         */
+        @Override
+        public void onExceededDatabaseQuota(String url,
+            String databaseIdentifier, long currentQuota, long totalUsedQuota,
+            WebStorage.QuotaUpdater quotaUpdater) {
+            mSettings.getWebStorageSizeManager().onExceededDatabaseQuota(
+                    url, databaseIdentifier, currentQuota, totalUsedQuota,
+                    quotaUpdater);
+        }
+
+        /**
+         * The Application Cache has exceeded its max size.
+         * @param spaceNeeded is the amount of disk space that would be needed
+         * in order for the last appcache operation to succeed.
+         * @param totalUsedQuota is the sum of all origins' quota.
+         * @param quotaUpdater A callback to inform the WebCore thread that a new
+         * app cache size is available. This callback must always be executed at
+         * some point to ensure that the sleeping WebCore thread is woken up.
+         */
+        @Override
+        public void onReachedMaxAppCacheSize(long spaceNeeded,
+                long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {
+            mSettings.getWebStorageSizeManager().onReachedMaxAppCacheSize(
+                    spaceNeeded, totalUsedQuota, quotaUpdater);
+        }
+
+        /**
+         * Instructs the browser to show a prompt to ask the user to set the
+         * Geolocation permission state for the specified origin.
+         * @param origin The origin for which Geolocation permissions are
+         *     requested.
+         * @param callback The callback to call once the user has set the
+         *     Geolocation permission state.
+         */
+        @Override
+        public void onGeolocationPermissionsShowPrompt(String origin,
+                GeolocationPermissions.Callback callback) {
+            mTabControl.getCurrentTab().getGeolocationPermissionsPrompt().show(
+                    origin, callback);
+        }
+
+        /**
+         * Instructs the browser to hide the Geolocation permissions prompt.
+         */
+        @Override
+        public void onGeolocationPermissionsHidePrompt() {
+            mTabControl.getCurrentTab().getGeolocationPermissionsPrompt().hide();
+        }
+
+        /* Adds a JavaScript error message to the system log.
+         * @param message The error message to report.
+         * @param lineNumber The line number of the error.
+         * @param sourceID The name of the source file that caused the error.
+         */
+        @Override
+        public void addMessageToConsole(String message, int lineNumber, String sourceID) {
+            ErrorConsoleView errorConsole = mTabControl.getCurrentErrorConsole(true);
+            errorConsole.addErrorMessage(message, sourceID, lineNumber);
+                if (mShouldShowErrorConsole &&
+                        errorConsole.getShowState() != ErrorConsoleView.SHOW_MAXIMIZED) {
+                    errorConsole.showConsole(ErrorConsoleView.SHOW_MINIMIZED);
+                }
+            Log.w(LOGTAG, "Console: " + message + " " + sourceID + ":" + lineNumber);
         }
     };
 
@@ -3711,19 +3255,19 @@
         String cookies = CookieManager.getInstance().getCookie(url);
 
         ContentValues values = new ContentValues();
-        values.put(Downloads.URI, uri.toString());
-        values.put(Downloads.COOKIE_DATA, cookies);
-        values.put(Downloads.USER_AGENT, userAgent);
-        values.put(Downloads.NOTIFICATION_PACKAGE,
+        values.put(Downloads.COLUMN_URI, uri.toString());
+        values.put(Downloads.COLUMN_COOKIE_DATA, cookies);
+        values.put(Downloads.COLUMN_USER_AGENT, userAgent);
+        values.put(Downloads.COLUMN_NOTIFICATION_PACKAGE,
                 getPackageName());
-        values.put(Downloads.NOTIFICATION_CLASS,
+        values.put(Downloads.COLUMN_NOTIFICATION_CLASS,
                 BrowserDownloadPage.class.getCanonicalName());
-        values.put(Downloads.VISIBILITY, Downloads.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
-        values.put(Downloads.MIMETYPE, mimetype);
-        values.put(Downloads.FILENAME_HINT, filename);
-        values.put(Downloads.DESCRIPTION, uri.getHost());
+        values.put(Downloads.COLUMN_VISIBILITY, Downloads.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
+        values.put(Downloads.COLUMN_MIME_TYPE, mimetype);
+        values.put(Downloads.COLUMN_FILE_NAME_HINT, filename);
+        values.put(Downloads.COLUMN_DESCRIPTION, uri.getHost());
         if (contentLength > 0) {
-            values.put(Downloads.TOTAL_BYTES, contentLength);
+            values.put(Downloads.COLUMN_TOTAL_BYTES, contentLength);
         }
         if (mimetype == null) {
             // We must have long pressed on a link or image to download it. We
@@ -3786,9 +3330,9 @@
         } else if (lockIconType == LOCK_ICON_MIXED) {
             d = mMixLockIcon;
         }
-        // If the tab overview is animating or being shown, do not update the
-        // lock icon.
-        if (mAnimationCount == 0 && mTabOverview == null) {
+        if (CUSTOM_BROWSER_BAR) {
+            mTitleBar.setLock(d, getTopWindow());
+        } else {
             getWindow().setFeatureDrawable(Window.FEATURE_RIGHT_ICON, d);
         }
     }
@@ -4282,29 +3826,43 @@
                     String data = intent.getAction();
                     Bundle extras = intent.getExtras();
                     if (extras != null && extras.getBoolean("new_window", false)) {
-                        openTab(data);
+                        final TabControl.Tab newTab = openTab(data);
+                        if (mSettings.openInBackground() &&
+                                newTab != null) {
+                            mTabControl.populatePickerData(newTab);
+                            mTabControl.setCurrentTab(newTab);
+                            int newIndex = mTabControl.getCurrentIndex();
+                            if (CUSTOM_BROWSER_BAR) {
+                                mTitleBar.setCurrentTab(newIndex);
+                            }
+                        }
                     } else {
                         final TabControl.Tab currentTab =
                                 mTabControl.getCurrentTab();
-                        // If the Window overview is up and we are not in the
-                        // middle of an animation, animate away from it to the
-                        // current tab.
-                        if (mTabOverview != null && mAnimationCount == 0) {
-                            sendAnimateFromOverview(currentTab, false, new UrlData(data),
-                                    TAB_OVERVIEW_DELAY, null);
-                        } else {
-                            dismissSubWindow(currentTab);
-                            if (data != null && data.length() != 0) {
-                                getTopWindow().loadUrl(data);
-                            }
+                        dismissSubWindow(currentTab);
+                        if (data != null && data.length() != 0) {
+                            getTopWindow().loadUrl(data);
                         }
                     }
+                } else if (resultCode == RESULT_CANCELED
+                        && mCancelGoPageMeansClose) {
+                    if (mTabControl.getTabCount() == 1) {
+                        // finish the Browser.  When the Browser opens up again,
+                        // we will go through onCreate and once again open up
+                        // the Go page.
+                        finish();
+                        return;
+                    }
+                    closeCurrentWindow();
                 }
                 break;
             default:
                 break;
         }
-        getTopWindow().requestFocus();
+        mCancelGoPageMeansClose = false;
+        if (getTopWindow() != null) {
+            getTopWindow().requestFocus();
+        }
     }
 
     /*
@@ -4320,177 +3878,20 @@
 
     }
 
-    /**
-     * Handle results from Tab Switcher mTabOverview tool
-     */
-    private class TabListener implements ImageGrid.Listener {
-        public void remove(int position) {
-            // Note: Remove is not enabled if we have only one tab.
-            if (DEBUG && mTabControl.getTabCount() == 1) {
-                throw new AssertionError();
-            }
-
-            // Remember the current tab.
-            TabControl.Tab current = mTabControl.getCurrentTab();
-            final TabControl.Tab remove = mTabControl.getTab(position);
-            mTabControl.removeTab(remove);
-            // If we removed the current tab, use the tab at position - 1 if
-            // possible.
-            if (current == remove) {
-                // If the user removes the last tab, act like the New Tab item
-                // was clicked on.
-                if (mTabControl.getTabCount() == 0) {
-                    current = mTabControl.createNewTab();
-                    sendAnimateFromOverview(current, true,
-                            new UrlData(mSettings.getHomePage()), TAB_OVERVIEW_DELAY, null);
-                } else {
-                    final int index = position > 0 ? (position - 1) : 0;
-                    current = mTabControl.getTab(index);
-                }
-            }
-
-            // The tab overview could have been dismissed before this method is
-            // called.
-            if (mTabOverview != null) {
-                // Remove the tab and change the index.
-                mTabOverview.remove(position);
-                mTabOverview.setCurrentIndex(mTabControl.getTabIndex(current));
-            }
-
-            // Only the current tab ensures its WebView is non-null. This
-            // implies that we are reloading the freed tab.
-            mTabControl.setCurrentTab(current);
-        }
-        public void onClick(int index) {
-            // Change the tab if necessary.
-            // Index equals ImageGrid.CANCEL when pressing back from the tab
-            // overview.
-            if (index == ImageGrid.CANCEL) {
-                index = mTabControl.getCurrentIndex();
-                // The current index is -1 if the current tab was removed.
-                if (index == -1) {
-                    // Take the last tab as a fallback.
-                    index = mTabControl.getTabCount() - 1;
-                }
-            }
-
-            // NEW_TAB means that the "New Tab" cell was clicked on.
-            if (index == ImageGrid.NEW_TAB) {
-                openTabAndShow(mSettings.getHomePage(), null, false, null);
-            } else {
-                sendAnimateFromOverview(mTabControl.getTab(index),
-                        false, EMPTY_URL_DATA, 0, null);
-            }
-        }
-    }
-
-    // A fake View that draws the WebView's picture with a fast zoom filter.
-    // The View is used in case the tab is freed during the animation because
-    // of low memory.
-    private static class AnimatingView extends View {
-        private static final int ZOOM_BITS = Paint.FILTER_BITMAP_FLAG |
-                Paint.DITHER_FLAG | Paint.SUBPIXEL_TEXT_FLAG;
-        private static final DrawFilter sZoomFilter =
-                new PaintFlagsDrawFilter(ZOOM_BITS, Paint.LINEAR_TEXT_FLAG);
-        private final Picture mPicture;
-        private final float   mScale;
-        private final int     mScrollX;
-        private final int     mScrollY;
-        final TabControl.Tab  mTab;
-
-        AnimatingView(Context ctxt, TabControl.Tab t) {
-            super(ctxt);
-            mTab = t;
-            // Use the top window in the animation since the tab overview will
-            // display the top window in each cell.
-            final WebView w = t.getTopWindow();
-            mPicture = w.capturePicture();
-            mScale = w.getScale() / w.getWidth();
-            mScrollX = w.getScrollX();
-            mScrollY = w.getScrollY();
-        }
-
-        @Override
-        protected void onDraw(Canvas canvas) {
-            canvas.save();
-            canvas.drawColor(Color.WHITE);
-            if (mPicture != null) {
-                canvas.setDrawFilter(sZoomFilter);
-                float scale = getWidth() * mScale;
-                canvas.scale(scale, scale);
-                canvas.translate(-mScrollX, -mScrollY);
-                canvas.drawPicture(mPicture);
-            }
-            canvas.restore();
-        }
-    }
+    // True if canceling the "Go" screen should result in closing the current
+    // window/browser.
+    private boolean mCancelGoPageMeansClose;
 
     /**
-     *  Open the tab picker. This function will always use the current tab in
-     *  its animation.
-     *  @param stay boolean stating whether the tab picker is to remain open
-     *          (in which case it needs a listener and its menu) or not.
-     *  @param index The index of the tab to show as the selection in the tab
-     *               overview.
-     *  @param remove If true, the tab at index will be removed after the
-     *                animation completes.
+     * Open the Go page.
+     * @param startWithHistory If true, open starting on the history tab.
+     *                         Otherwise, start with the bookmarks tab.
+     * @param cancelGoPageMeansClose Set to true if this came from a new tab, or
+     *                               from the only tab, and canceling means to
+     *                               close the tab (and possibly the browser)
      */
-    private void tabPicker(final boolean stay, final int index,
-            final boolean remove) {
-        if (mTabOverview != null) {
-            return;
-        }
-
-        int size = mTabControl.getTabCount();
-
-        TabListener l = null;
-        if (stay) {
-            l = mTabListener = new TabListener();
-        }
-        mTabOverview = new ImageGrid(this, stay, l);
-
-        for (int i = 0; i < size; i++) {
-            final TabControl.Tab t = mTabControl.getTab(i);
-            mTabControl.populatePickerData(t);
-            mTabOverview.add(t);
-        }
-
-        // Tell the tab overview to show the current tab, the tab overview will
-        // handle the "New Tab" case.
-        int currentIndex = mTabControl.getCurrentIndex();
-        mTabOverview.setCurrentIndex(currentIndex);
-
-        // Attach the tab overview.
-        mContentView.addView(mTabOverview, COVER_SCREEN_PARAMS);
-
-        // Create a fake AnimatingView to animate the WebView's picture.
-        final TabControl.Tab current = mTabControl.getCurrentTab();
-        final AnimatingView v = new AnimatingView(this, current);
-        mContentView.addView(v, COVER_SCREEN_PARAMS);
-        removeTabFromContentView(current);
-        // Pause timers to get the animation smoother.
-        current.getWebView().pauseTimers();
-
-        // Send a message so the tab picker has a chance to layout and get
-        // positions for all the cells.
-        mHandler.sendMessage(mHandler.obtainMessage(ANIMATE_TO_OVERVIEW,
-                index, remove ? 1 : 0, v));
-        // Setting this will indicate that we are animating to the overview. We
-        // set it here to prevent another request to animate from coming in
-        // between now and when ANIMATE_TO_OVERVIEW is handled.
-        mAnimationCount++;
-        // Always change the title bar to the window overview title while
-        // animating.
-        getWindow().setFeatureDrawable(Window.FEATURE_LEFT_ICON, null);
-        getWindow().setFeatureDrawable(Window.FEATURE_RIGHT_ICON, null);
-        getWindow().setFeatureInt(Window.FEATURE_PROGRESS,
-                Window.PROGRESS_VISIBILITY_OFF);
-        setTitle(R.string.tab_picker_title);
-        // Make the menu empty until the animation completes.
-        mMenuState = EMPTY_MENU;
-    }
-
-    private void bookmarksOrHistoryPicker(boolean startWithHistory) {
+    /* package */ void bookmarksOrHistoryPicker(boolean startWithHistory,
+            boolean cancelGoPageMeansClose) {
         WebView current = mTabControl.getCurrentWebView();
         if (current == null) {
             return;
@@ -4514,12 +3915,17 @@
         }
         intent.putExtra("title", title);
         intent.putExtra("url", url);
-        intent.putExtra("maxTabsOpen",
-                mTabControl.getTabCount() >= TabControl.MAX_TABS);
+        // If this is opening in a new window, then disable opening in a
+        // (different) new window.  Also disable it if we have maxed out the
+        // windows.
+        intent.putExtra("disable_new_window", cancelGoPageMeansClose
+                || mTabControl.getTabCount() >= TabControl.MAX_TABS);
+        intent.putExtra("touch_icon_url", current.getTouchIconUrl());
         if (startWithHistory) {
             intent.putExtra(CombinedBookmarkHistoryActivity.STARTING_TAB,
                     CombinedBookmarkHistoryActivity.HISTORY_TAB);
         }
+        mCancelGoPageMeansClose = cancelGoPageMeansClose;
         startActivityForResult(intent, COMBO_PAGE);
     }
 
@@ -4534,21 +3940,6 @@
         }
     }
 
-    private void checkMemory() {
-        ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
-        ((ActivityManager) getSystemService(ACTIVITY_SERVICE))
-                .getMemoryInfo(mi);
-        // FIXME: mi.lowMemory is too aggressive, use (mi.availMem <
-        // mi.threshold) for now
-        //        if (mi.lowMemory) {
-        if (mi.availMem < mi.threshold) {
-            Log.w(LOGTAG, "Browser is freeing memory now because: available="
-                            + (mi.availMem / 1024) + "K threshold="
-                            + (mi.threshold / 1024) + "K");
-            mTabControl.freeMemory();
-        }
-    }
-
     private String smartUrlFilter(Uri inUri) {
         if (inUri != null) {
             return smartUrlFilter(inUri.toString());
@@ -4566,7 +3957,7 @@
       return 0;
     }
 
-    static final Pattern ACCEPTED_URI_SCHEMA = Pattern.compile(
+    protected static final Pattern ACCEPTED_URI_SCHEMA = Pattern.compile(
             "(?i)" + // switch on case insensitive matching
             "(" +    // begin group for schema
             "(?:http|https|file):\\/\\/" +
@@ -4631,6 +4022,34 @@
         return URLUtil.composeSearchUrl(inUrl, QuickSearch_G, QUERY_PLACE_HOLDER);
     }
 
+    /* package */ void setShouldShowErrorConsole(boolean flag) {
+        if (flag == mShouldShowErrorConsole) {
+            // Nothing to do.
+            return;
+        }
+
+        mShouldShowErrorConsole = flag;
+
+        ErrorConsoleView errorConsole = mTabControl.getCurrentErrorConsole(true);
+
+        if (flag) {
+            // Setting the show state of the console will cause it's the layout to be inflated.
+            if (errorConsole.numberOfErrors() > 0) {
+                errorConsole.showConsole(ErrorConsoleView.SHOW_MINIMIZED);
+            } else {
+                errorConsole.showConsole(ErrorConsoleView.SHOW_NONE);
+            }
+
+            // Now we can add it to the main view.
+            mErrorConsoleContainer.addView(errorConsole,
+                    new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
+                                                  ViewGroup.LayoutParams.WRAP_CONTENT));
+        } else {
+            mErrorConsoleContainer.removeView(errorConsole);
+        }
+
+    }
+
     private final static int LOCK_ICON_UNSECURE = 0;
     private final static int LOCK_ICON_SECURE   = 1;
     private final static int LOCK_ICON_MIXED    = 2;
@@ -4642,12 +4061,15 @@
     private TabControl      mTabControl;
     private ContentResolver mResolver;
     private FrameLayout     mContentView;
-    private ImageGrid       mTabOverview;
+    private View            mCustomView;
+    private FrameLayout     mCustomViewContainer;
+    private WebChromeClient.CustomViewCallback mCustomViewCallback;
 
     // FIXME, temp address onPrepareMenu performance problem. When we move everything out of
     // view, we should rewrite this.
     private int mCurrentMenuState = 0;
     private int mMenuState = R.id.MAIN_MENU;
+    private int mOldMenuState = EMPTY_MENU;
     private static final int EMPTY_MENU = -1;
     private Menu mMenu;
 
@@ -4738,6 +4160,11 @@
                                             new FrameLayout.LayoutParams(
                                             ViewGroup.LayoutParams.FILL_PARENT,
                                             ViewGroup.LayoutParams.FILL_PARENT);
+    /*package*/ static final FrameLayout.LayoutParams COVER_SCREEN_GRAVITY_CENTER =
+                                            new FrameLayout.LayoutParams(
+                                            ViewGroup.LayoutParams.FILL_PARENT,
+                                            ViewGroup.LayoutParams.FILL_PARENT,
+                                            Gravity.CENTER);
     // Google search
     final static String QuickSearch_G = "http://www.google.com/m?q=%s";
     // Wikipedia search
@@ -4762,8 +4189,6 @@
 
     private final static String LOGTAG = "browser";
 
-    private TabListener mTabListener;
-
     private String mLastEnteredUrl;
 
     private PowerManager.WakeLock mWakeLock;
@@ -4771,11 +4196,10 @@
 
     private Toast mStopToast;
 
-    // Used during animations to prevent other animations from being triggered.
-    // A count is used since the animation to and from the Window overview can
-    // overlap. A count of 0 means no animation where a count of > 0 means
-    // there are animations in progress.
-    private int mAnimationCount;
+    private TitleBarSet mTitleBar;
+
+    private LinearLayout mErrorConsoleContainer = null;
+    private boolean mShouldShowErrorConsole = false;
 
     // 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.
@@ -4788,13 +4212,12 @@
     private IntentFilter mNetworkStateChangedFilter;
     private BroadcastReceiver mNetworkStateIntentReceiver;
 
-    // activity requestCode
-    final static int COMBO_PAGE             = 1;
-    final static int DOWNLOAD_PAGE          = 2;
-    final static int PREFERENCES_PAGE       = 3;
+    private BroadcastReceiver mPackageInstallationReceiver;
 
-    // the frenquency of checking whether system memory is low
-    final static int CHECK_MEMORY_INTERVAL = 30000;     // 30 seconds
+    // activity requestCode
+    final static int COMBO_PAGE                 = 1;
+    final static int DOWNLOAD_PAGE              = 2;
+    final static int PREFERENCES_PAGE           = 3;
 
     /**
      * A UrlData class to abstract how the content will be set to WebView.
@@ -4841,7 +4264,7 @@
         String mEncoding;
         @Override
         boolean isEmpty() {
-            return mInlined == null || mInlined.length() == 0 || super.isEmpty(); 
+            return mInlined == null || mInlined.length() == 0 || super.isEmpty();
         }
 
         @Override
@@ -4850,5 +4273,5 @@
         }
     }
 
-    private static final UrlData EMPTY_URL_DATA = new UrlData(null);
+    /* package */ static final UrlData EMPTY_URL_DATA = new UrlData(null);
 }
diff --git a/src/com/android/browser/BrowserBackupAgent.java b/src/com/android/browser/BrowserBackupAgent.java
new file mode 100644
index 0000000..c239b12
--- /dev/null
+++ b/src/com/android/browser/BrowserBackupAgent.java
@@ -0,0 +1,295 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.browser;
+
+import java.io.IOException;
+
+import android.app.BackupAgent;
+import android.backup.BackupDataInput;
+import android.backup.BackupDataOutput;
+import android.database.Cursor;
+import android.os.ParcelFileDescriptor;
+import android.provider.Browser;
+import android.provider.Browser.BookmarkColumns;
+import android.util.Log;
+
+import java.io.ByteArrayOutputStream;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.util.ArrayList;
+import java.util.zip.CRC32;
+
+/**
+ * Settings backup agent for the Android browser.  Currently the only thing
+ * stored is the set of bookmarks.  It's okay if I/O exceptions are thrown
+ * out of the agent; the calling code handles it and the backup operation
+ * simply fails.
+ *
+ * @hide
+ */
+public class BrowserBackupAgent extends BackupAgent {
+    static final String TAG = "BrowserBookmarkAgent";
+    static final boolean DEBUG = true;
+
+    static final String BOOKMARK_KEY = "_bookmarks_";
+    /** this version num MUST be incremented if the flattened-file schema ever changes */
+    static final int BACKUP_AGENT_VERSION = 0;
+
+    /**
+     * In order to determine whether the bookmark set has changed since the
+     * last time we did a backup, we store the following bits of info in the
+     * state file after a backup:
+     *
+     * 1. the size of the flattened bookmark file
+     * 2. the CRC32 of that file
+     * 3. the agent version number [relevant following an OTA]
+     *
+     * After we flatten the bookmarks file here in onBackup, we compare its
+     * metrics with the values from the saved state.  If they match, it means
+     * the bookmarks didn't really change and we don't need to send the data.
+     * (If they don't match, of course, then they've changed and we do indeed
+     * send the new flattened file to be backed up.)
+     */
+    @Override
+    public void onBackup(ParcelFileDescriptor oldState, BackupDataOutput data,
+            ParcelFileDescriptor newState) throws IOException {
+        long savedFileSize = -1;
+        long savedCrc = -1;
+        int savedVersion = -1;
+
+        // Extract the previous bookmark file size & CRC from the saved state
+        DataInputStream in = new DataInputStream(
+                new FileInputStream(oldState.getFileDescriptor()));
+        try {
+            savedFileSize = in.readLong();
+            savedCrc = in.readLong();
+            savedVersion = in.readInt();
+        } catch (EOFException e) {
+            // It means we had no previous state; that's fine
+        }
+
+        // Build a flattened representation of the bookmarks table
+        File tmpfile = File.createTempFile("bkp", null, getCacheDir());
+        try {
+            FileOutputStream outfstream = new FileOutputStream(tmpfile);
+            long newCrc = buildBookmarkFile(outfstream);
+            outfstream.close();
+
+            // Any changes since the last backup?
+            if ((savedVersion != BACKUP_AGENT_VERSION)
+                    || (newCrc != savedCrc)
+                    || (tmpfile.length() != savedFileSize)) {
+                // Different checksum or different size, so we need to back it up
+                copyFileToBackup(BOOKMARK_KEY, tmpfile, data);
+            }
+
+            // Record our backup state and we're done
+            writeBackupState(tmpfile.length(), newCrc, newState);
+        } finally {
+            // Make sure to tidy up when we're done
+            tmpfile.delete();
+        }
+    }
+
+    /**
+     * Restore from backup -- reads in the flattened bookmark file as supplied from
+     * the backup service, parses that out, and rebuilds the bookmarks table in the
+     * browser database from it.
+     */
+    @Override
+    public void onRestore(BackupDataInput data, int appVersionCode,
+            ParcelFileDescriptor newState) throws IOException {
+        long crc = -1;
+        File tmpfile = File.createTempFile("rst", null, getFilesDir());
+        try {
+            while (data.readNextHeader()) {
+                if (BOOKMARK_KEY.equals(data.getKey())) {
+                    // Read the flattened bookmark data into a temp file
+                    crc = copyBackupToFile(data, tmpfile, data.getDataSize());
+
+                    FileInputStream infstream = new FileInputStream(tmpfile);
+                    DataInputStream in = new DataInputStream(infstream);
+
+                    try {
+                        int count = in.readInt();
+                        ArrayList<Bookmark> bookmarks = new ArrayList<Bookmark>(count);
+
+                        // Read all the bookmarks, then process later -- if we can't read
+                        // all the data successfully, we don't touch the bookmarks table
+                        for (int i = 0; i < count; i++) {
+                            Bookmark mark = new Bookmark();
+                            mark.url = in.readUTF();
+                            mark.visits = in.readInt();
+                            mark.date = in.readLong();
+                            mark.created = in.readLong();
+                            mark.title = in.readUTF();
+                            bookmarks.add(mark);
+                        }
+
+                        // Okay, we have all the bookmarks -- now see if we need to add
+                        // them to the browser's database
+                        int N = bookmarks.size();
+                        if (DEBUG) Log.v(TAG, "Restoring " + N + " bookmarks");
+                        String[] urlCol = new String[] { BookmarkColumns.URL };
+                        for (int i = 0; i < N; i++) {
+                            Bookmark mark = bookmarks.get(i);
+
+                            // Does this URL exist in the bookmark table?
+                            Cursor cursor = getContentResolver().query(Browser.BOOKMARKS_URI,
+                                    urlCol,  BookmarkColumns.URL + " == '" + mark.url + "' AND " +
+                                    BookmarkColumns.BOOKMARK + " == 1 ", null, null);
+                            // if not, insert it
+                            if (cursor.getCount() <= 0) {
+                                Log.v(TAG, "Did not see url: " + mark.url);
+                                // Right now we do not reconstruct the db entry in its
+                                // entirety; we just add a new bookmark with the same data
+                                Bookmarks.addBookmark(null, getContentResolver(),
+                                        mark.url, mark.title, false);
+                            } else {
+                                Log.v(TAG, "Skipping extant url: " + mark.url);
+                            }
+                            cursor.close();
+                        }
+                    } catch (IOException ioe) {
+                        Log.w(TAG, "Bad backup data; not restoring");
+                        crc = -1;
+                    }
+                }
+
+                // Last, write the state we just restored from so we can discern
+                // changes whenever we get invoked for backup in the future
+                writeBackupState(tmpfile.length(), crc, newState);
+            }
+        } finally {
+            // Whatever happens, delete the temp file
+            tmpfile.delete();
+        }
+    }
+
+    class Bookmark {
+        public String url;
+        public int visits;
+        public long date;
+        public long created;
+        public String title;
+    }
+    /*
+     * Utility functions
+     */
+
+    // Flatten the bookmarks table into the given file, calculating its CRC in the process
+    private long buildBookmarkFile(FileOutputStream outfstream) throws IOException {
+        CRC32 crc = new CRC32();
+        ByteArrayOutputStream bufstream = new ByteArrayOutputStream(512);
+        DataOutputStream bout = new DataOutputStream(bufstream);
+
+        Cursor cursor = getContentResolver().query(Browser.BOOKMARKS_URI,
+                new String[] { BookmarkColumns.URL, BookmarkColumns.VISITS,
+                BookmarkColumns.DATE, BookmarkColumns.CREATED,
+                BookmarkColumns.TITLE },
+                BookmarkColumns.BOOKMARK + " == 1 ", null, null);
+
+        // The first thing in the file is the row count...
+        int count = cursor.getCount();
+        if (DEBUG) Log.v(TAG, "Backing up " + count + " bookmarks");
+        bout.writeInt(count);
+        byte[] record = bufstream.toByteArray();
+        crc.update(record);
+        outfstream.write(record);
+
+        // ... followed by the data for each row
+        for (int i = 0; i < count; i++) {
+            cursor.moveToNext();
+
+            String url = cursor.getString(0);
+            int visits = cursor.getInt(1);
+            long date = cursor.getLong(2);
+            long created = cursor.getLong(3);
+            String title = cursor.getString(4);
+
+            // construct the flattened record in a byte array
+            bufstream.reset();
+            bout.writeUTF(url);
+            bout.writeInt(visits);
+            bout.writeLong(date);
+            bout.writeLong(created);
+            bout.writeUTF(title);
+
+            // Update the CRC and write the record to the temp file
+            record = bufstream.toByteArray();
+            crc.update(record);
+            outfstream.write(record);
+
+            if (DEBUG) Log.v(TAG, "   wrote url " + url);
+        }
+
+        cursor.close();
+        return crc.getValue();
+    }
+
+    // Write the file to backup as a single record under the given key
+    private void copyFileToBackup(String key, File file, BackupDataOutput data)
+            throws IOException {
+        final int CHUNK = 8192;
+        byte[] buf = new byte[CHUNK];
+
+        int toCopy = (int) file.length();
+        data.writeEntityHeader(key, toCopy);
+
+        FileInputStream in = new FileInputStream(file);
+        int nRead;
+        while (toCopy > 0) {
+            nRead = in.read(buf, 0, CHUNK);
+            data.writeEntityData(buf, nRead);
+            toCopy -= nRead;
+        }
+        in.close();
+    }
+
+    // Read the given file from backup to a file, calculating a CRC32 along the way
+    private long copyBackupToFile(BackupDataInput data, File file, int toRead)
+            throws IOException {
+        final int CHUNK = 8192;
+        byte[] buf = new byte[CHUNK];
+        CRC32 crc = new CRC32();
+        FileOutputStream out = new FileOutputStream(file);
+
+        while (toRead > 0) {
+            int numRead = data.readEntityData(buf, 0, CHUNK);
+            crc.update(buf, 0, numRead);
+            out.write(buf, 0, numRead);
+            toRead -= numRead;
+        }
+
+        out.close();
+        return crc.getValue();
+    }
+
+    // Write the given metrics to the new state file
+    private void writeBackupState(long fileSize, long crc, ParcelFileDescriptor stateFile)
+            throws IOException {
+        DataOutputStream out = new DataOutputStream(
+                new FileOutputStream(stateFile.getFileDescriptor()));
+        out.writeLong(fileSize);
+        out.writeLong(crc);
+        out.writeInt(BACKUP_AGENT_VERSION);
+    }
+}
diff --git a/src/com/android/browser/BrowserBookmarksAdapter.java b/src/com/android/browser/BrowserBookmarksAdapter.java
index 27782e0..bf74ba2 100644
--- a/src/com/android/browser/BrowserBookmarksAdapter.java
+++ b/src/com/android/browser/BrowserBookmarksAdapter.java
@@ -30,38 +30,36 @@
 import android.provider.Browser;
 import android.provider.Browser.BookmarkColumns;
 import android.view.KeyEvent;
+import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.webkit.WebIconDatabase;
 import android.webkit.WebIconDatabase.IconListener;
+import android.webkit.WebView;
 import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
 
 import java.io.ByteArrayOutputStream;
 
 class BrowserBookmarksAdapter extends BaseAdapter {
 
-    private final String            LOGTAG = "Bookmarks";
-
     private String                  mCurrentPage;
+    private String                  mCurrentTitle;
     private Cursor                  mCursor;
     private int                     mCount;
-    private String                  mLastWhereClause;
-    private String[]                mLastSelectionArgs;
-    private String                  mLastOrderBy;
     private BrowserBookmarksPage    mBookmarksPage;
     private ContentResolver         mContentResolver;
-    private ChangeObserver          mChangeObserver;
-    private DataSetObserver         mDataSetObserver;
     private boolean                 mDataValid;
-
-    // When true, this adapter is used to pick a bookmark to create a shortcut
-    private boolean mCreateShortcut;
-    private int mExtraOffset;
+    private boolean                 mGridMode;
+    private boolean                 mMostVisited;
+    private boolean                 mNeedsOffset;
+    private int                     mExtraOffset;
 
     // Implementation of WebIconDatabase.IconListener
     private class IconReceiver implements IconListener {
         public void onReceivedIcon(String url, Bitmap icon) {
-            updateBookmarkFavicon(mContentResolver, url, icon);
+            updateBookmarkFavicon(mContentResolver, null, url, icon);
         }
     }
 
@@ -70,36 +68,42 @@
 
     /**
      *  Create a new BrowserBookmarksAdapter.
-     *  @param b        BrowserBookmarksPage that instantiated this.  
-     *                  Necessary so it will adjust its focus
-     *                  appropriately after a search.
-     */
-    public BrowserBookmarksAdapter(BrowserBookmarksPage b, String curPage) {
-        this(b, curPage, false);
-    }
-
-    /**
-     *  Create a new BrowserBookmarksAdapter.
      *  @param b        BrowserBookmarksPage that instantiated this.
      *                  Necessary so it will adjust its focus
      *                  appropriately after a search.
      */
     public BrowserBookmarksAdapter(BrowserBookmarksPage b, String curPage,
-            boolean createShortcut) {
-        mDataValid = false;
-        mCreateShortcut = createShortcut;
-        mExtraOffset = createShortcut ? 0 : 1;
+            String curTitle, boolean createShortcut, boolean mostVisited) {
+        mNeedsOffset = !(createShortcut || mostVisited);
+        mMostVisited = mostVisited;
+        mExtraOffset = mNeedsOffset ? 1 : 0;
         mBookmarksPage = b;
-        mCurrentPage = b.getResources().getString(R.string.current_page) + 
-                curPage;
+        mCurrentPage = b.getResources().getString(R.string.current_page)
+                + curPage;
+        mCurrentTitle = curTitle;
         mContentResolver = b.getContentResolver();
-        mLastOrderBy = Browser.BookmarkColumns.CREATED + " DESC";
-        mChangeObserver = new ChangeObserver();
-        mDataSetObserver = new MyDataSetObserver();
+        mGridMode = false;
+
+        String whereClause;
         // FIXME: Should have a default sort order that the user selects.
-        search(null);
+        String orderBy = Browser.BookmarkColumns.VISITS + " DESC";
+        if (mostVisited) {
+            whereClause = Browser.BookmarkColumns.VISITS + " != 0";
+        } else {
+            whereClause = Browser.BookmarkColumns.BOOKMARK + " != 0";
+        }
+        mCursor = b.managedQuery(Browser.BOOKMARKS_URI,
+                Browser.HISTORY_PROJECTION, whereClause, null, orderBy);
+        mCursor.registerContentObserver(new ChangeObserver());
+        mCursor.registerDataSetObserver(new MyDataSetObserver());
+
+        mDataValid = true;
+        notifyDataSetChanged();
+
+        mCount = mCursor.getCount() + mExtraOffset;
+
         // FIXME: This requires another query of the database after the
-        // initial search(null). Can we optimize this?
+        // managedQuery. Can we optimize this?
         Browser.requestAllIcons(mContentResolver,
                 Browser.BookmarkColumns.FAVICON + " is NULL AND " +
                 Browser.BookmarkColumns.BOOKMARK + " == 1", mIconReceiver);
@@ -181,18 +185,7 @@
         }
         mCursor.moveToPosition(position- mExtraOffset);
         String url = mCursor.getString(Browser.HISTORY_PROJECTION_URL_INDEX);
-        WebIconDatabase.getInstance().releaseIconForPageUrl(url);
-        Uri uri = ContentUris.withAppendedId(Browser.BOOKMARKS_URI, mCursor
-                .getInt(Browser.HISTORY_PROJECTION_ID_INDEX));
-        int numVisits = mCursor.getInt(Browser.HISTORY_PROJECTION_VISITS_INDEX);
-        if (0 == numVisits) {
-            mContentResolver.delete(uri, null, null);
-        } else {
-            // It is no longer a bookmark, but it is still a visited site.
-            ContentValues values = new ContentValues();
-            values.put(Browser.BookmarkColumns.BOOKMARK, 0);
-            mContentResolver.update(uri, values, null, null);
-        }
+        Bookmarks.removeFromBookmarks(null, mContentResolver, url);
         refreshList();
     }
     
@@ -253,84 +246,32 @@
      *  Refresh list to recognize a change in the database.
      */
     public void refreshList() {
-        // FIXME: consider using requery().
-        // Need to do more work to get it to function though.
-        searchInternal(mLastWhereClause, mLastSelectionArgs, mLastOrderBy);
+        mCursor.requery();
+        mCount = mCursor.getCount() + mExtraOffset;
+        notifyDataSetChanged();
     }
 
     /**
-     *  Search the database for bookmarks that match the input string.
-     *  @param like String to use to search the database.  Strings with spaces 
-     *              are treated as having multiple search terms using the
-     *              OR operator.  Search both the title and url.
-     */
-    public void search(String like) {
-        String whereClause = Browser.BookmarkColumns.BOOKMARK + " == 1";
-        String[] selectionArgs = null;
-        if (like != null) {
-            String[] likes = like.split(" ");
-            int count = 0;
-            boolean firstTerm = true;
-            StringBuilder andClause = new StringBuilder(256);
-            for (int j = 0; j < likes.length; j++) {
-                if (likes[j].length() > 0) {
-                    if (firstTerm) {
-                        firstTerm = false;
-                    } else {
-                        andClause.append(" OR ");
-                    }
-                    andClause.append(Browser.BookmarkColumns.TITLE
-                            + " LIKE ? OR " + Browser.BookmarkColumns.URL
-                            + " LIKE ? ");
-                    count += 2;
-                }
-            }
-            if (count > 0) {
-                selectionArgs = new String[count];
-                count = 0;
-                for (int j = 0; j < likes.length; j++) {
-                    if (likes[j].length() > 0) {
-                        like = "%" + likes[j] + "%";
-                        selectionArgs[count++] = like;
-                        selectionArgs[count++] = like;
-                    }
-                }
-                whereClause += " AND (" + andClause + ")";
-            }
-        }
-        searchInternal(whereClause, selectionArgs, mLastOrderBy);
-    }
-
-    /**
-     * Update the bookmark's favicon.
+     * Update the bookmark's favicon. This is a convenience method for updating
+     * a bookmark favicon for the originalUrl and url of the passed in WebView.
      * @param cr The ContentResolver to use.
-     * @param url The url of the bookmark to update.
+     * @param WebView The WebView containing the url to update.
      * @param favicon The favicon bitmap to write to the db.
      */
     /* package */ static void updateBookmarkFavicon(ContentResolver cr,
-            String url, Bitmap favicon) {
-        if (url == null || favicon == null) {
+            WebView view, Bitmap favicon) {
+        if (view != null) {
+            updateBookmarkFavicon(cr, view.getOriginalUrl(), view.getUrl(),
+                    favicon);
+        }
+    }
+
+    private static void updateBookmarkFavicon(ContentResolver cr,
+            String originalUrl, String url, Bitmap favicon) {
+        final Cursor c = queryBookmarksForUrl(cr, originalUrl, url, true);
+        if (c == null) {
             return;
         }
-        // Strip the query.
-        int query = url.indexOf('?');
-        String noQuery = url;
-        if (query != -1) {
-            noQuery = url.substring(0, query);
-        }
-        url = noQuery + '?';
-        // Use noQuery to search for the base url (i.e. if the url is
-        // http://www.yahoo.com/?rs=1, search for http://www.yahoo.com)
-        // Use url to match the base url with other queries (i.e. if the url is
-        // http://www.google.com/m, search for
-        // http://www.google.com/m?some_query)
-        final String[] selArgs = new String[] { noQuery, url };
-        final String where = "(" + Browser.BookmarkColumns.URL + " == ? OR "
-                + Browser.BookmarkColumns.URL + " GLOB ? || '*') AND "
-                + Browser.BookmarkColumns.BOOKMARK + " == 1";
-        final String[] projection = new String[] { Browser.BookmarkColumns._ID };
-        final Cursor c = cr.query(Browser.BOOKMARKS_URI, projection, where,
-                selArgs, null);
         boolean succeed = c.moveToFirst();
         ContentValues values = null;
         while (succeed) {
@@ -347,44 +288,55 @@
         c.close();
     }
 
-    /**
-     *  This sorts alphabetically, with non-capitalized titles before 
-     *  capitalized.
-     */
-    public void sortAlphabetical() {
-        searchInternal(mLastWhereClause, mLastSelectionArgs,
-                Browser.BookmarkColumns.TITLE + " COLLATE UNICODE ASC");
-    }
-
-    /**
-     *  Internal function used in search, sort, and refreshList.
-     */
-    private void searchInternal(String whereClause, String[] selectionArgs,
-            String orderBy) {
-        if (mCursor != null) {
-            mCursor.unregisterContentObserver(mChangeObserver);
-            mCursor.unregisterDataSetObserver(mDataSetObserver);
-            mBookmarksPage.stopManagingCursor(mCursor);
-            mCursor.deactivate();
+    /* package */ static Cursor queryBookmarksForUrl(ContentResolver cr,
+            String originalUrl, String url, boolean onlyBookmarks) {
+        if (cr == null || url == null) {
+            return null;
         }
 
-        mLastWhereClause = whereClause;
-        mLastSelectionArgs = selectionArgs;
-        mLastOrderBy = orderBy;
-        mCursor = mContentResolver.query(
-            Browser.BOOKMARKS_URI,
-            Browser.HISTORY_PROJECTION,
-            whereClause,
-            selectionArgs, 
-            orderBy);
-        mCursor.registerContentObserver(mChangeObserver);
-        mCursor.registerDataSetObserver(mDataSetObserver);
-        mBookmarksPage.startManagingCursor(mCursor);
+        // If originalUrl is null, just set it to url.
+        if (originalUrl == null) {
+            originalUrl = url;
+        }
 
-        mDataValid = true;
-        notifyDataSetChanged();
+        // Look for both the original url and the actual url. This takes in to
+        // account redirects.
+        String originalUrlNoQuery = removeQuery(originalUrl);
+        String urlNoQuery = removeQuery(url);
+        originalUrl = originalUrlNoQuery + '?';
+        url = urlNoQuery + '?';
 
-        mCount = mCursor.getCount() + mExtraOffset;
+        // Use NoQuery to search for the base url (i.e. if the url is
+        // http://www.yahoo.com/?rs=1, search for http://www.yahoo.com)
+        // Use url to match the base url with other queries (i.e. if the url is
+        // http://www.google.com/m, search for
+        // http://www.google.com/m?some_query)
+        final String[] selArgs = new String[] {
+            originalUrlNoQuery, urlNoQuery, originalUrl, url };
+        String where = BookmarkColumns.URL + " == ? OR "
+                + BookmarkColumns.URL + " == ? OR "
+                + BookmarkColumns.URL + " GLOB ? || '*' OR "
+                + BookmarkColumns.URL + " GLOB ? || '*'";
+        if (onlyBookmarks) {
+            where = "(" + where + ") AND " + BookmarkColumns.BOOKMARK + " == 1";
+        }
+        final String[] projection =
+                new String[] { Browser.BookmarkColumns._ID };
+        return cr.query(Browser.BOOKMARKS_URI, projection, where, selArgs,
+                null);
+    }
+
+    // Strip the query from the given url.
+    private static String removeQuery(String url) {
+        if (url == null) {
+            return null;
+        }
+        int query = url.indexOf('?');
+        String noQuery = url;
+        if (query != -1) {
+            noQuery = url.substring(0, query);
+        }
+        return noQuery;
     }
 
     /**
@@ -425,6 +377,20 @@
         return position;
     }
 
+    /* package */ void switchViewMode(boolean toGrid) {
+        mGridMode = toGrid;
+    }
+
+    /* package */ void populateBookmarkItem(BookmarkItem b, int position) {
+        mCursor.moveToPosition(position - mExtraOffset);
+        b.setUrl(mCursor.getString(Browser.HISTORY_PROJECTION_URL_INDEX));
+        b.setName(mCursor.getString(Browser.HISTORY_PROJECTION_TITLE_INDEX));
+        byte[] data = mCursor.getBlob(Browser.HISTORY_PROJECTION_FAVICON_INDEX);
+        Bitmap bitmap = (null == data) ? null :
+                BitmapFactory.decodeByteArray(data, 0, data.length);
+        b.setFavicon(bitmap);
+    }
+
     /**
      * Get a View that displays the data at the specified position
      * in the list.
@@ -440,7 +406,43 @@
             throw new AssertionError(
                     "BrowserBookmarksAdapter tried to get a view out of range");
         }
-        if (position == 0 && !mCreateShortcut) {
+        if (mGridMode) {
+            if (convertView == null || convertView instanceof AddNewBookmark
+                    || convertView instanceof BookmarkItem) {
+                LayoutInflater factory = LayoutInflater.from(mBookmarksPage);
+                convertView
+                        = factory.inflate(R.layout.bookmark_thumbnail, null);
+            }
+            View holder = convertView.findViewById(R.id.holder);
+            ImageView thumb = (ImageView) convertView.findViewById(R.id.thumb);
+            TextView tv = (TextView) convertView.findViewById(R.id.label);
+
+            if (0 == position && mNeedsOffset) {
+                // This is to create a bookmark for the current page.
+                holder.setVisibility(View.VISIBLE);
+                tv.setText(mCurrentTitle);
+                // FIXME: Want to show the screenshot of the current page
+                thumb.setImageResource(R.drawable.blank);
+                return convertView;
+            }
+            holder.setVisibility(View.GONE);
+            mCursor.moveToPosition(position - mExtraOffset);
+            tv.setText(mCursor.getString(
+                    Browser.HISTORY_PROJECTION_TITLE_INDEX));
+            byte[] data = mCursor.getBlob(
+                    Browser.HISTORY_PROJECTION_THUMBNAIL_INDEX);
+            if (data == null) {
+                // Backup is to just show white
+                thumb.setImageResource(R.drawable.blank);
+            } else {
+                thumb.setImageBitmap(
+                        BitmapFactory.decodeByteArray(data, 0, data.length));
+            }
+
+            return convertView;
+
+        }
+        if (position == 0 && mNeedsOffset) {
             AddNewBookmark b;
             if (convertView instanceof AddNewBookmark) {
                 b = (AddNewBookmark) convertView;
@@ -450,10 +452,20 @@
             b.setUrl(mCurrentPage);
             return b;
         }
-        if (convertView == null || convertView instanceof AddNewBookmark) {
-            convertView = new BookmarkItem(mBookmarksPage);
+        if (mMostVisited) {
+            if (convertView == null || !(convertView instanceof HistoryItem)) {
+                convertView = new HistoryItem(mBookmarksPage);
+            }
+        } else {
+            if (convertView == null || !(convertView instanceof BookmarkItem)) {
+                convertView = new BookmarkItem(mBookmarksPage);
+            }
         }
-        bind((BookmarkItem)convertView, position);
+        bind((BookmarkItem) convertView, position);
+        if (mMostVisited) {
+            ((HistoryItem) convertView).setIsBookmark(
+                    getIsBookmark(position));
+        }
         return convertView;
     }
 
@@ -475,11 +487,19 @@
      * Return the favicon for this item in the list.
      */
     public Bitmap getFavicon(int position) {
+        return getBitmap(Browser.HISTORY_PROJECTION_FAVICON_INDEX, position);
+    }
+
+    public Bitmap getTouchIcon(int position) {
+        return getBitmap(Browser.HISTORY_PROJECTION_TOUCH_ICON_INDEX, position);
+    }
+
+    private Bitmap getBitmap(int cursorIndex, int position) {
         if (position < mExtraOffset || position > mCount) {
             return null;
         }
         mCursor.moveToPosition(position - mExtraOffset);
-        byte[] data = mCursor.getBlob(Browser.HISTORY_PROJECTION_FAVICON_INDEX);
+        byte[] data = mCursor.getBlob(cursorIndex);
         if (data == null) {
             return null;
         }
@@ -487,6 +507,17 @@
     }
 
     /**
+     * Return whether or not this item represents a bookmarked site.
+     */
+    public boolean getIsBookmark(int position) {
+        if (position < mExtraOffset || position > mCount) {
+            return false;
+        }
+        mCursor.moveToPosition(position - mExtraOffset);
+        return (1 == mCursor.getInt(Browser.HISTORY_PROJECTION_BOOKMARK_INDEX));
+    }
+
+    /**
      * Private helper function to return the title or url.
      */
     private String getString(int cursorIndex, int position) {
diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java
index dd34c14..c97cc00 100644
--- a/src/com/android/browser/BrowserBookmarksPage.java
+++ b/src/com/android/browser/BrowserBookmarksPage.java
@@ -25,6 +25,9 @@
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.Paint;
+import android.graphics.Path;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffXfermode;
 import android.graphics.RectF;
 import android.net.Uri;
 import android.os.Bundle;
@@ -36,14 +39,19 @@
 import android.util.Log;
 import android.view.ContextMenu;
 import android.view.KeyEvent;
+import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.ViewGroup.LayoutParams;
+import android.view.ViewStub;
 import android.view.ContextMenu.ContextMenuInfo;
 import android.widget.AdapterView;
+import android.widget.GridView;
 import android.widget.ListView;
+import android.widget.Toast;
 
 /**
  *  View showing the user's bookmarks in the browser.
@@ -51,13 +59,18 @@
 public class BrowserBookmarksPage extends Activity implements 
         View.OnCreateContextMenuListener {
 
+    private boolean                 mGridMode;
+    private GridView                mGridPage;
+    private View                    mVerticalList;
     private BrowserBookmarksAdapter mBookmarksAdapter;
     private static final int        BOOKMARKS_SAVE = 1;
-    private boolean                 mMaxTabsOpen;
+    private boolean                 mDisableNewWindow;
     private BookmarkItem            mContextHeader;
     private AddNewBookmark          mAddHeader;
     private boolean                 mCanceled = false;
     private boolean                 mCreateShortcut;
+    private boolean                 mMostVisited;
+    private View                    mEmptyView;
     // XXX: There is no public string defining this intent so if Home changes
     // the value, we have to update this string.
     private static final String     INSTALL_SHORTCUT =
@@ -91,23 +104,57 @@
             editBookmark(i.position);
             break;
         case R.id.shortcut_context_menu_id:
-            final Intent send = createShortcutIntent(getUrl(i.position),
-                    getBookmarkTitle(i.position), getFavicon(i.position));
+            final Intent send = createShortcutIntent(i.position);
             send.setAction(INSTALL_SHORTCUT);
             sendBroadcast(send);
             break;
         case R.id.delete_context_menu_id:
-            displayRemoveBookmarkDialog(i.position);
+            if (mMostVisited) {
+                Browser.deleteFromHistory(getContentResolver(),
+                        getUrl(i.position));
+                refreshList();
+            } else {
+                displayRemoveBookmarkDialog(i.position);
+            }
             break;
         case R.id.new_window_context_menu_id:
             openInNewWindow(i.position);
             break;
-        case R.id.send_context_menu_id:
+        case R.id.share_link_context_menu_id:
             Browser.sendString(BrowserBookmarksPage.this, getUrl(i.position));
             break;
         case R.id.copy_url_context_menu_id:
             copy(getUrl(i.position));
-            
+            break;
+        case R.id.homepage_context_menu_id:
+            BrowserSettings.getInstance().setHomePage(this,
+                    getUrl(i.position));
+            Toast.makeText(this, R.string.homepage_set,
+                    Toast.LENGTH_LONG).show();
+            break;
+        // Only for the Most visited page
+        case R.id.save_to_bookmarks_menu_id:
+            boolean isBookmark;
+            String name;
+            String url;
+            if (mGridMode) {
+                isBookmark = mBookmarksAdapter.getIsBookmark(i.position);
+                name = mBookmarksAdapter.getTitle(i.position);
+                url = mBookmarksAdapter.getUrl(i.position);
+            } else {
+                HistoryItem historyItem = ((HistoryItem) i.targetView);
+                isBookmark = historyItem.isBookmark();
+                name = historyItem.getName();
+                url = historyItem.getUrl();
+            }
+            // If the site is bookmarked, the item becomes remove from
+            // bookmarks.
+            if (isBookmark) {
+                Bookmarks.removeFromBookmarks(this, getContentResolver(), url);
+            } else {
+                Browser.saveBookmark(this, name, url);
+            }
+            break;
         default:
             return super.onContextItemSelected(item);
         }
@@ -121,9 +168,13 @@
                     (AdapterView.AdapterContextMenuInfo) menuInfo;
 
             MenuInflater inflater = getMenuInflater();
-            inflater.inflate(R.menu.bookmarkscontext, menu);
+            if (mMostVisited) {
+                inflater.inflate(R.menu.historycontext, menu);
+            } else {
+                inflater.inflate(R.menu.bookmarkscontext, menu);
+            }
 
-            if (0 == i.position) {
+            if (0 == i.position && !mMostVisited) {
                 menu.setGroupVisible(R.id.CONTEXT_MENU, false);
                 if (mAddHeader == null) {
                     mAddHeader = new AddNewBookmark(BrowserBookmarksPage.this);
@@ -131,25 +182,39 @@
                     ((ViewGroup) mAddHeader.getParent()).
                             removeView(mAddHeader);
                 }
-                ((AddNewBookmark) i.targetView).copyTo(mAddHeader);
+                mAddHeader.setUrl(getIntent().getStringExtra("url"));
                 menu.setHeaderView(mAddHeader);
                 return;
             }
-            menu.setGroupVisible(R.id.ADD_MENU, false);
-            BookmarkItem b = (BookmarkItem) i.targetView;
+            if (mMostVisited) {
+                if ((!mGridMode && ((HistoryItem) i.targetView).isBookmark())
+                        || mBookmarksAdapter.getIsBookmark(i.position)) {
+                    MenuItem item = menu.findItem(
+                            R.id.save_to_bookmarks_menu_id);
+                    item.setTitle(R.string.remove_from_bookmarks);
+                }
+            } else {
+                // The historycontext menu has no ADD_MENU group.
+                menu.setGroupVisible(R.id.ADD_MENU, false);
+            }
+            if (mDisableNewWindow) {
+                menu.findItem(R.id.new_window_context_menu_id).setVisible(
+                        false);
+            }
             if (mContextHeader == null) {
                 mContextHeader = new BookmarkItem(BrowserBookmarksPage.this);
             } else if (mContextHeader.getParent() != null) {
                 ((ViewGroup) mContextHeader.getParent()).
                         removeView(mContextHeader);
             }
-            b.copyTo(mContextHeader);
-            menu.setHeaderView(mContextHeader);
-
-            if (mMaxTabsOpen) {
-                menu.findItem(R.id.new_window_context_menu_id).setVisible(
-                        false);
+            if (mGridMode) {
+                mBookmarksAdapter.populateBookmarkItem(mContextHeader,
+                        i.position);
+            } else {
+                BookmarkItem b = (BookmarkItem) i.targetView;
+                b.copyTo(mContextHeader);
             }
+            menu.setHeaderView(mContextHeader);
         }
 
     /**
@@ -159,25 +224,79 @@
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
-        setContentView(R.layout.browser_bookmarks_page);
-        setTitle(R.string.browser_bookmarks_page_bookmarks_text);
-
         if (Intent.ACTION_CREATE_SHORTCUT.equals(getIntent().getAction())) {
             mCreateShortcut = true;
         }
+        mDisableNewWindow = getIntent().getBooleanExtra("disable_new_window",
+                false);
+        mMostVisited = getIntent().getBooleanExtra("mostVisited", false);
 
-        mBookmarksAdapter = new BrowserBookmarksAdapter(this, 
-                getIntent().getStringExtra("url"), mCreateShortcut);
-        mMaxTabsOpen = getIntent().getBooleanExtra("maxTabsOpen", false);
+        if (mCreateShortcut) {
+            setTitle(R.string.browser_bookmarks_page_bookmarks_text);
+        }
+        mBookmarksAdapter = new BrowserBookmarksAdapter(this,
+                        getIntent().getStringExtra("url"),
+                        getIntent().getStringExtra("title"), mCreateShortcut,
+                        mMostVisited);
+        if (mMostVisited) {
+            mEmptyView = new ViewStub(this, R.layout.empty_history);
+        }
+        switchViewMode(true);
+    }
 
-        ListView listView = (ListView) findViewById(R.id.list);
-        listView.setAdapter(mBookmarksAdapter);
-        listView.setDrawSelectorOnTop(false);
-        listView.setVerticalScrollBarEnabled(true);
-        listView.setOnItemClickListener(mListener);
+    /**
+     *  Set the ContentView to be either the grid of thumbnails or the vertical
+     *  list.  Pass true to set it to the grid.
+     */
+    private void switchViewMode(boolean gridMode) {
+        mGridMode = gridMode;
+        mBookmarksAdapter.switchViewMode(gridMode);
+        if (mGridMode) {
+            if (mGridPage == null) {
+                mGridPage = new GridView(this);
+                mGridPage.setAdapter(mBookmarksAdapter);
+                mGridPage.setOnItemClickListener(mListener);
+                mGridPage.setNumColumns(GridView.AUTO_FIT);
+                // Keep this in sync with bookmark_thumb and
+                // BrowserActivity.updateScreenshot
+                mGridPage.setColumnWidth(100);
+                mGridPage.setFocusable(true);
+                mGridPage.setFocusableInTouchMode(true);
+                mGridPage.setSelector(android.R.drawable.gallery_thumb);
+                mGridPage.setVerticalSpacing(10);
+                if (mMostVisited) {
+                    mGridPage.setEmptyView(mEmptyView);
+                }
+                if (!mCreateShortcut) {
+                    mGridPage.setOnCreateContextMenuListener(this);
+                }
+            }
+            setContentView(mGridPage);
+        } else {
+            if (null == mVerticalList) {
+                LayoutInflater factory = LayoutInflater.from(this);
+                mVerticalList = factory.inflate(R.layout.browser_bookmarks_page,
+                        null);
 
-        if (!mCreateShortcut) {
-            listView.setOnCreateContextMenuListener(this);
+                ListView listView
+                        = (ListView) mVerticalList.findViewById(R.id.list);
+                listView.setAdapter(mBookmarksAdapter);
+                listView.setDrawSelectorOnTop(false);
+                listView.setVerticalScrollBarEnabled(true);
+                listView.setOnItemClickListener(mListener);
+                if (mMostVisited) {
+                    listView.setEmptyView(mEmptyView);
+                }
+
+                if (!mCreateShortcut) {
+                    listView.setOnCreateContextMenuListener(this);
+                }
+            }
+            setContentView(mVerticalList);
+        }
+        if (mMostVisited) {
+            addContentView(mEmptyView, new LayoutParams(
+                    LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
         }
     }
 
@@ -196,27 +315,29 @@
             // It is possible that the view has been canceled when we get to
             // this point as back has a higher priority 
             if (mCanceled) {
-                android.util.Log.e("browser", "item clicked when dismising");
+                android.util.Log.e(LOGTAG, "item clicked when dismissing");
                 return;
             }
             if (!mCreateShortcut) {
-                if (0 == position) {
+                if (0 == position && !mMostVisited) {
                     // XXX: Work-around for a framework issue.
                     mHandler.sendEmptyMessage(SAVE_CURRENT_PAGE);
                 } else {
                     loadUrl(position);
                 }
             } else {
-                final Intent intent = createShortcutIntent(getUrl(position),
-                        getBookmarkTitle(position), getFavicon(position));
+                final Intent intent = createShortcutIntent(position);
                 setResultToParent(RESULT_OK, intent);
                 finish();
             }
         }
     };
 
-    private Intent createShortcutIntent(String url, String title,
-            Bitmap favicon) {
+    private Intent createShortcutIntent(int position) {
+        String url = getUrl(position);
+        String title = getBookmarkTitle(position);
+        Bitmap touchIcon = getTouchIcon(position);
+
         final Intent i = new Intent();
         final Intent shortcutIntent = new Intent(Intent.ACTION_VIEW,
                 Uri.parse(url));
@@ -226,41 +347,65 @@
                 Long.toString(uniqueId));
         i.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
         i.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);
-        if (favicon == null) {
-            i.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
-                    Intent.ShortcutIconResource.fromContext(
-                            BrowserBookmarksPage.this,
-                            R.drawable.ic_launcher_shortcut_browser_bookmark));
-        } else {
-            Bitmap icon = BitmapFactory.decodeResource(getResources(),
-                    R.drawable.ic_launcher_shortcut_browser_bookmark);
-
-            // Make a copy of the regular icon so we can modify the pixels.
-            Bitmap copy = icon.copy(Bitmap.Config.ARGB_8888, true);
+        // Use the apple-touch-icon if available
+        if (touchIcon != null) {
+            // Make a copy so we can modify the pixels.
+            Bitmap copy = touchIcon.copy(Bitmap.Config.ARGB_8888, true);
             Canvas canvas = new Canvas(copy);
 
-            // Make a Paint for the white background rectangle and for
-            // filtering the favicon.
-            Paint p = new Paint(Paint.ANTI_ALIAS_FLAG
-                    | Paint.FILTER_BITMAP_FLAG);
-            p.setStyle(Paint.Style.FILL_AND_STROKE);
-            p.setColor(Color.WHITE);
+            // Construct a path from a round rect. This will allow drawing with
+            // an inverse fill so we can punch a hole using the round rect.
+            Path path = new Path();
+            path.setFillType(Path.FillType.INVERSE_WINDING);
+            path.addRoundRect(new RectF(0, 0, touchIcon.getWidth(),
+                    touchIcon.getHeight()), 8f, 8f, Path.Direction.CW);
 
-            // Create a rectangle that is slightly wider than the favicon
-            final float iconSize = 16; // 16x16 favicon
-            final float padding = 2;   // white padding around icon
-            final float rectSize = iconSize + 2 * padding;
-            final float y = icon.getHeight() - rectSize;
-            RectF r = new RectF(0, y, rectSize, y + rectSize);
+            // Construct a paint that clears the outside of the rectangle and
+            // draw.
+            Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
+            paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
+            canvas.drawPath(path, paint);
 
-            // Draw a white rounded rectangle behind the favicon
-            canvas.drawRoundRect(r, 2, 2, p);
-
-            // Draw the favicon in the same rectangle as the rounded rectangle
-            // but inset by the padding (results in a 16x16 favicon).
-            r.inset(padding, padding);
-            canvas.drawBitmap(favicon, null, r, p);
             i.putExtra(Intent.EXTRA_SHORTCUT_ICON, copy);
+        } else {
+            Bitmap favicon = getFavicon(position);
+            if (favicon == null) {
+                i.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
+                        Intent.ShortcutIconResource.fromContext(
+                                BrowserBookmarksPage.this,
+                                R.drawable.ic_launcher_shortcut_browser_bookmark));
+            } else {
+                Bitmap icon = BitmapFactory.decodeResource(getResources(),
+                        R.drawable.ic_launcher_shortcut_browser_bookmark);
+
+                // Make a copy of the regular icon so we can modify the pixels.
+                Bitmap copy = icon.copy(Bitmap.Config.ARGB_8888, true);
+                Canvas canvas = new Canvas(copy);
+
+                // Make a Paint for the white background rectangle and for
+                // filtering the favicon.
+                Paint p = new Paint(Paint.ANTI_ALIAS_FLAG
+                        | Paint.FILTER_BITMAP_FLAG);
+                p.setStyle(Paint.Style.FILL_AND_STROKE);
+                p.setColor(Color.WHITE);
+
+                // Create a rectangle that is slightly wider than the favicon
+                final float iconSize = 16; // 16x16 favicon
+                final float padding = 2;   // white padding around icon
+                final float rectSize = iconSize + 2 * padding;
+                final float y = icon.getHeight() - rectSize;
+                RectF r = new RectF(0, y, rectSize, y + rectSize);
+
+                // Draw a white rounded rectangle behind the favicon
+                canvas.drawRoundRect(r, 2, 2, p);
+
+                // Draw the favicon in the same rectangle as the rounded
+                // rectangle but inset by the padding
+                // (results in a 16x16 favicon).
+                r.inset(padding, padding);
+                canvas.drawBitmap(favicon, null, r, p);
+                i.putExtra(Intent.EXTRA_SHORTCUT_ICON, copy);
+            }
         }
         // Do not allow duplicate items
         i.putExtra("duplicate", false);
@@ -286,20 +431,39 @@
         if (!mCreateShortcut) {
             MenuInflater inflater = getMenuInflater();
             inflater.inflate(R.menu.bookmarks, menu);
+            // Most visited page does not have an option to bookmark the last
+            // viewed page.
+            menu.findItem(R.id.new_context_menu_id).setVisible(!mMostVisited);
             return true;
         }
         return result;
     }
 
     @Override
+    public boolean onPrepareOptionsMenu(Menu menu) {
+        if (mBookmarksAdapter.getCount() == 0) {
+            // No need to show the menu if there are no items.
+            return false;
+        }
+        menu.findItem(R.id.switch_mode_menu_id).setTitle(
+                mGridMode ? R.string.switch_to_list
+                : R.string.switch_to_thumbnails);
+        return true;
+    }
+
+    @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()) {
-            case R.id.new_context_menu_id:
-                saveCurrentPage();
-                break;
-                
-            default:
-                return super.onOptionsItemSelected(item);
+        case R.id.new_context_menu_id:
+            saveCurrentPage();
+            break;
+
+        case R.id.switch_mode_menu_id:
+            switchViewMode(!mGridMode);
+            break;
+
+        default:
+            return super.onOptionsItemSelected(item);
         }
         return true;
     }
@@ -370,7 +534,7 @@
     /**
      *  Refresh the shown list after the database has changed.
      */
-    public void refreshList() {
+    private void refreshList() {
         mBookmarksAdapter.refreshList();
     }
     
@@ -395,6 +559,10 @@
         return mBookmarksAdapter.getFavicon(position);
     }
 
+    private Bitmap getTouchIcon(int position) {
+        return mBookmarksAdapter.getTouchIcon(position);
+    }
+
     private void copy(CharSequence text) {
         try {
             IClipboard clip = IClipboard.Stub.asInterface(ServiceManager.getService("clipboard"));
diff --git a/src/com/android/browser/BrowserDownloadAdapter.java b/src/com/android/browser/BrowserDownloadAdapter.java
index 38b83fe..16cb982 100644
--- a/src/com/android/browser/BrowserDownloadAdapter.java
+++ b/src/com/android/browser/BrowserDownloadAdapter.java
@@ -60,14 +60,14 @@
     public BrowserDownloadAdapter(Context context, int layout, Cursor c) {
         super(context, layout, c);
         mFilenameColumnId = c.getColumnIndexOrThrow(Downloads._DATA);
-        mTitleColumnId = c.getColumnIndexOrThrow(Downloads.TITLE);
-        mDescColumnId = c.getColumnIndexOrThrow(Downloads.DESCRIPTION);
-        mStatusColumnId = c.getColumnIndexOrThrow(Downloads.STATUS);
-        mTotalBytesColumnId = c.getColumnIndexOrThrow(Downloads.TOTAL_BYTES);
+        mTitleColumnId = c.getColumnIndexOrThrow(Downloads.COLUMN_TITLE);
+        mDescColumnId = c.getColumnIndexOrThrow(Downloads.COLUMN_DESCRIPTION);
+        mStatusColumnId = c.getColumnIndexOrThrow(Downloads.COLUMN_STATUS);
+        mTotalBytesColumnId = c.getColumnIndexOrThrow(Downloads.COLUMN_TOTAL_BYTES);
         mCurrentBytesColumnId = 
-            c.getColumnIndexOrThrow(Downloads.CURRENT_BYTES);
-        mMimetypeColumnId = c.getColumnIndexOrThrow(Downloads.MIMETYPE);
-        mDateColumnId = c.getColumnIndexOrThrow(Downloads.LAST_MODIFICATION);
+            c.getColumnIndexOrThrow(Downloads.COLUMN_CURRENT_BYTES);
+        mMimetypeColumnId = c.getColumnIndexOrThrow(Downloads.COLUMN_MIME_TYPE);
+        mDateColumnId = c.getColumnIndexOrThrow(Downloads.COLUMN_LAST_MODIFICATION);
     }
 
     @Override
@@ -106,7 +106,7 @@
                 // We have a filename, so we can build a title from that
                 title = new File(fullFilename).getName();
                 ContentValues values = new ContentValues();
-                values.put(Downloads.TITLE, title);
+                values.put(Downloads.COLUMN_TITLE, title);
                 // assume "_id" is the first column for the cursor 
                 context.getContentResolver().update(
                         ContentUris.withAppendedId(Downloads.CONTENT_URI,
diff --git a/src/com/android/browser/BrowserDownloadPage.java b/src/com/android/browser/BrowserDownloadPage.java
index 4397337..22e0e65 100644
--- a/src/com/android/browser/BrowserDownloadPage.java
+++ b/src/com/android/browser/BrowserDownloadPage.java
@@ -66,34 +66,30 @@
         setTitle(getText(R.string.download_title));
 
         mListView = (ListView) findViewById(R.id.list);
-        LayoutInflater factory = LayoutInflater.from(this);
-        View v = factory.inflate(R.layout.no_downloads, null);
-        addContentView(v, new LayoutParams(LayoutParams.FILL_PARENT,
-                LayoutParams.FILL_PARENT));
-        mListView.setEmptyView(v);
+        mListView.setEmptyView(findViewById(R.id.empty));
         
         mDownloadCursor = managedQuery(Downloads.CONTENT_URI, 
-                new String [] {"_id", Downloads.TITLE, Downloads.STATUS,
-                Downloads.TOTAL_BYTES, Downloads.CURRENT_BYTES, 
-                Downloads._DATA, Downloads.DESCRIPTION, 
-                Downloads.MIMETYPE, Downloads.LAST_MODIFICATION,
-                Downloads.VISIBILITY}, 
+                new String [] {"_id", Downloads.COLUMN_TITLE, Downloads.COLUMN_STATUS,
+                Downloads.COLUMN_TOTAL_BYTES, Downloads.COLUMN_CURRENT_BYTES, 
+                Downloads._DATA, Downloads.COLUMN_DESCRIPTION, 
+                Downloads.COLUMN_MIME_TYPE, Downloads.COLUMN_LAST_MODIFICATION,
+                Downloads.COLUMN_VISIBILITY}, 
                 null, null);
         
         // only attach everything to the listbox if we can access
         // the download database. Otherwise, just show it empty
         if (mDownloadCursor != null) {
             mStatusColumnId = 
-                    mDownloadCursor.getColumnIndexOrThrow(Downloads.STATUS);
+                    mDownloadCursor.getColumnIndexOrThrow(Downloads.COLUMN_STATUS);
             mIdColumnId =
                     mDownloadCursor.getColumnIndexOrThrow(Downloads._ID);
             mTitleColumnId = 
-                    mDownloadCursor.getColumnIndexOrThrow(Downloads.TITLE);
+                    mDownloadCursor.getColumnIndexOrThrow(Downloads.COLUMN_TITLE);
             
             // Create a list "controller" for the data
             mDownloadAdapter = new BrowserDownloadAdapter(this, 
                     R.layout.browser_download_item, mDownloadCursor);
-            
+
             mListView.setAdapter(mDownloadAdapter);
             mListView.setScrollBarStyle(View.SCROLLBARS_INSIDE_INSET);
             mListView.setOnCreateContextMenuListener(this);
@@ -403,7 +399,7 @@
                 mDownloadCursor.getColumnIndexOrThrow(Downloads._DATA);
         String filename = mDownloadCursor.getString(filenameColumnId);
         int mimetypeColumnId =
-                mDownloadCursor.getColumnIndexOrThrow(Downloads.MIMETYPE);
+                mDownloadCursor.getColumnIndexOrThrow(Downloads.COLUMN_MIME_TYPE);
         String mimetype = mDownloadCursor.getString(mimetypeColumnId);
         Uri path = Uri.parse(filename);
         // If there is no scheme, then it must be a file
@@ -453,13 +449,13 @@
     private void hideCompletedDownload() {
         int status = mDownloadCursor.getInt(mStatusColumnId);
 
-        int visibilityColumn = mDownloadCursor.getColumnIndexOrThrow(Downloads.VISIBILITY);
+        int visibilityColumn = mDownloadCursor.getColumnIndexOrThrow(Downloads.COLUMN_VISIBILITY);
         int visibility = mDownloadCursor.getInt(visibilityColumn);
 
         if (Downloads.isStatusCompleted(status) &&
                 visibility == Downloads.VISIBILITY_VISIBLE_NOTIFY_COMPLETED) {
             ContentValues values = new ContentValues();
-            values.put(Downloads.VISIBILITY, Downloads.VISIBILITY_VISIBLE);
+            values.put(Downloads.COLUMN_VISIBILITY, Downloads.VISIBILITY_VISIBLE);
             getContentResolver().update(
                     ContentUris.withAppendedId(Downloads.CONTENT_URI,
                     mDownloadCursor.getLong(mIdColumnId)), values, null, null);
diff --git a/src/com/android/browser/BrowserHistoryPage.java b/src/com/android/browser/BrowserHistoryPage.java
index 42ca848..6402422 100644
--- a/src/com/android/browser/BrowserHistoryPage.java
+++ b/src/com/android/browser/BrowserHistoryPage.java
@@ -41,6 +41,7 @@
 import android.view.ViewGroup;
 import android.view.ViewGroup.LayoutParams;
 import android.view.ContextMenu.ContextMenuInfo;
+import android.view.ViewStub;
 import android.webkit.DateSorter;
 import android.webkit.WebIconDatabase.IconListener;
 import android.widget.AdapterView;
@@ -48,6 +49,7 @@
 import android.widget.ExpandableListView;
 import android.widget.ExpandableListView.ExpandableListContextMenuInfo;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import java.util.List;
 import java.util.Vector;
@@ -59,7 +61,8 @@
 public class BrowserHistoryPage extends ExpandableListActivity {
     private HistoryAdapter          mAdapter;
     private DateSorter              mDateSorter;
-    private boolean                 mMaxTabsOpen;
+    private boolean                 mDisableNewWindow;
+    private HistoryItem             mContextHeader;
 
     private final static String LOGTAG = "browser";
 
@@ -110,8 +113,7 @@
         setListAdapter(mAdapter);
         final ExpandableListView list = getExpandableListView();
         list.setOnCreateContextMenuListener(this);
-        LayoutInflater factory = LayoutInflater.from(this);
-        View v = factory.inflate(R.layout.empty_history, null);
+        View v = new ViewStub(this, R.layout.empty_history);
         addContentView(v, new LayoutParams(LayoutParams.FILL_PARENT,
                 LayoutParams.FILL_PARENT));
         list.setEmptyView(v);
@@ -127,7 +129,8 @@
                 }
             });
         }
-        mMaxTabsOpen = getIntent().getBooleanExtra("maxTabsOpen", false);
+        mDisableNewWindow = getIntent().getBooleanExtra("disable_new_window",
+                false);
         CombinedBookmarkHistoryActivity.getIconListenerSet(getContentResolver())
                 .addListener(mIconReceiver);
         
@@ -165,7 +168,7 @@
         }  
         return super.onOptionsItemSelected(item);
     }
-    
+
     @Override
     public void onCreateContextMenu(ContextMenu menu, View v,
             ContextMenuInfo menuInfo) {
@@ -180,12 +183,26 @@
         MenuInflater inflater = getMenuInflater();
         inflater.inflate(R.menu.historycontext, menu);
 
-        // Setup the header
-        menu.setHeaderTitle(((HistoryItem)i.targetView).getUrl());
+        HistoryItem historyItem = (HistoryItem) i.targetView;
 
-        // Only show open in new tab if we have not maxed out available tabs
-        menu.findItem(R.id.new_window_context_menu_id).setVisible(!mMaxTabsOpen);
-        
+        // Setup the header
+        if (mContextHeader == null) {
+            mContextHeader = new HistoryItem(this);
+        } else if (mContextHeader.getParent() != null) {
+            ((ViewGroup) mContextHeader.getParent()).removeView(mContextHeader);
+        }
+        historyItem.copyTo(mContextHeader);
+        menu.setHeaderView(mContextHeader);
+
+        // Only show open in new tab if it was not explicitly disabled
+        if (mDisableNewWindow) {
+            menu.findItem(R.id.new_window_context_menu_id).setVisible(false);
+        }
+        // For a bookmark, provide the option to remove it from bookmarks
+        if (historyItem.isBookmark()) {
+            MenuItem item = menu.findItem(R.id.save_to_bookmarks_menu_id);
+            item.setTitle(R.string.remove_from_bookmarks);
+        }
         // decide whether to show the share link option
         PackageManager pm = getPackageManager();
         Intent send = new Intent(Intent.ACTION_SEND);
@@ -200,8 +217,9 @@
     public boolean onContextItemSelected(MenuItem item) {
         ExpandableListContextMenuInfo i = 
             (ExpandableListContextMenuInfo) item.getMenuInfo();
-        String url = ((HistoryItem)i.targetView).getUrl();
-        String title = ((HistoryItem)i.targetView).getName();
+        HistoryItem historyItem = (HistoryItem) i.targetView;
+        String url = historyItem.getUrl();
+        String title = historyItem.getName();
         switch (item.getItemId()) {
             case R.id.open_context_menu_id:
                 loadUrl(url, false);
@@ -210,18 +228,28 @@
                 loadUrl(url, true);
                 return true;
             case R.id.save_to_bookmarks_menu_id:
-                Browser.saveBookmark(this, title, url);
+                if (historyItem.isBookmark()) {
+                    Bookmarks.removeFromBookmarks(this, getContentResolver(),
+                            url);
+                } else {
+                    Browser.saveBookmark(this, title, url);
+                }
                 return true;
             case R.id.share_link_context_menu_id:
                 Browser.sendString(this, url);
                 return true;
-            case R.id.copy_context_menu_id:
+            case R.id.copy_url_context_menu_id:
                 copy(url);
                 return true;
             case R.id.delete_context_menu_id:
                 Browser.deleteFromHistory(getContentResolver(), url);
                 mAdapter.refreshData();
                 return true;
+            case R.id.homepage_context_menu_id:
+                BrowserSettings.getInstance().setHomePage(this, url);
+                Toast.makeText(this, R.string.homepage_set,
+                    Toast.LENGTH_LONG).show();
+                return true;
             default:
                 break;
         }
@@ -267,18 +295,25 @@
         
         // Array for each of our bins.  Each entry represents how many items are
         // in that bin.
-        int mItemMap[];
+        private int mItemMap[];
         // This is our GroupCount.  We will have at most DateSorter.DAY_COUNT
         // bins, less if the user has no items in one or more bins.
-        int mNumberOfBins;
-        Vector<DataSetObserver> mObservers;
-        Cursor mCursor;
+        private int mNumberOfBins;
+        private Vector<DataSetObserver> mObservers;
+        private Cursor mCursor;
         
         HistoryAdapter() {
             mObservers = new Vector<DataSetObserver>();
             
-            String whereClause = Browser.BookmarkColumns.VISITS + " > 0 ";
-            String orderBy = Browser.BookmarkColumns.DATE + " DESC";
+            final String whereClause = Browser.BookmarkColumns.VISITS + " > 0"
+                    // In AddBookmarkPage, where we save new bookmarks, we add
+                    // three visits to newly created bookmarks, so that
+                    // bookmarks that have not been visited will show up in the
+                    // most visited, and higher in the goto search box.
+                    // However, this puts the site in the history, unless we
+                    // ignore sites with a DATE of 0, which the next line does.
+                    + " AND " + Browser.BookmarkColumns.DATE + " > 0";
+            final String orderBy = Browser.BookmarkColumns.DATE + " DESC";
            
             mCursor = managedQuery(
                     Browser.BOOKMARKS_URI,
@@ -290,6 +325,9 @@
         }
         
         void refreshData() {
+            if (mCursor.isClosed()) {
+                return;
+            }
             mCursor.requery();
             buildMap();
             for (DataSetObserver o : mObservers) {
diff --git a/src/com/android/browser/BrowserHomepagePreference.java b/src/com/android/browser/BrowserHomepagePreference.java
index d4708c3..7324f24 100644
--- a/src/com/android/browser/BrowserHomepagePreference.java
+++ b/src/com/android/browser/BrowserHomepagePreference.java
@@ -50,8 +50,8 @@
         if (dialog != null) {
             String url = s.toString();
             dialog.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(
-                    url.length() == 0 || url.equals("about:blank") ||
-                    Regex.WEB_URL_PATTERN.matcher(url).matches());
+                url.length() == 0 || 
+                BrowserActivity.ACCEPTED_URI_SCHEMA.matcher(url).matches());
         }
     }
 
diff --git a/src/com/android/browser/BrowserPluginList.java b/src/com/android/browser/BrowserPluginList.java
deleted file mode 100644
index 6689b0e..0000000
--- a/src/com/android/browser/BrowserPluginList.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.browser;
-
-import android.app.ListActivity;
-import android.os.Bundle;
-import android.view.View;
-import android.view.ViewGroup;
-import android.webkit.Plugin;
-import android.webkit.PluginList;
-import android.webkit.WebView;
-import android.widget.ArrayAdapter;
-import android.widget.LinearLayout;
-import android.widget.LinearLayout.LayoutParams;
-import android.widget.ListView;
-import android.widget.TextView;
-import java.util.ArrayList;
-import java.util.List;
-
-// Manages the list of installed (and loaded) plugins.
-public class BrowserPluginList extends ListActivity {
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        // The list of plugins can change under us, as the plugins are
-        // loaded and unloaded in a different thread. We make a copy
-        // of the list here.
-        List loadedPlugins = WebView.getPluginList().getList();
-        ArrayList localLoadedPluginList = new ArrayList();
-        synchronized (loadedPlugins) {
-            localLoadedPluginList.addAll(loadedPlugins);
-        }
-        setListAdapter(new ArrayAdapter(this,
-                                        android.R.layout.simple_list_item_1,
-                                        localLoadedPluginList));
-        setTitle(R.string.pref_plugin_installed);
-        // Add a text view to this ListActivity. This text view
-        // will be displayed when the list of plugins is empty.
-        TextView textView = new TextView(this);
-        textView.setId(android.R.id.empty);
-        textView.setText(R.string.pref_plugin_installed_empty_list);
-        addContentView(textView, new LinearLayout.LayoutParams(
-                               ViewGroup.LayoutParams.FILL_PARENT,
-                               ViewGroup.LayoutParams.WRAP_CONTENT));
-
-    }
-
-    @Override
-    public void onListItemClick(ListView l, View v, int position, long id) {
-        WebView.getPluginList().pluginClicked(this, position);
-    }
-}
diff --git a/src/com/android/browser/BrowserPreferencesPage.java b/src/com/android/browser/BrowserPreferencesPage.java
index 3b747d1..ec3561f 100644
--- a/src/com/android/browser/BrowserPreferencesPage.java
+++ b/src/com/android/browser/BrowserPreferencesPage.java
@@ -17,18 +17,26 @@
 package com.android.browser;
 
 import java.util.List;
+import java.util.Vector;
+import java.util.Set;
 
+import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
 import android.preference.EditTextPreference;
+import android.preference.ListPreference;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
+import android.preference.PreferenceScreen;
+import android.util.Log;
+import android.webkit.GeolocationPermissions;
+import android.webkit.WebStorage;
 import android.webkit.WebView;
-import android.webkit.Plugin;
 
 public class BrowserPreferencesPage extends PreferenceActivity
-        implements Preference.OnPreferenceChangeListener, 
-        Preference.OnPreferenceClickListener {
+        implements Preference.OnPreferenceChangeListener {
+
+    String TAG = "BrowserPreferencesPage";
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -59,13 +67,33 @@
 
         e = findPreference(BrowserSettings.PREF_DEFAULT_TEXT_ENCODING);
         e.setOnPreferenceChangeListener(this);
-        
+
         if (BrowserSettings.getInstance().showDebugSettings()) {
             addPreferencesFromResource(R.xml.debug_preferences);
         }
-        
-        e = findPreference(BrowserSettings.PREF_GEARS_SETTINGS);
-        e.setOnPreferenceClickListener(this);
+
+        PreferenceScreen websiteSettings = (PreferenceScreen)
+            findPreference(BrowserSettings.PREF_WEBSITE_SETTINGS);
+        Intent intent = new Intent(this, WebsiteSettingsActivity.class);
+        websiteSettings.setIntent(intent);
+    }
+
+    /*
+     * We need to set the PreferenceScreen state in onResume(), as the number of
+     * origins with active features (WebStorage, Geolocation etc) could have
+     * changed after calling the WebsiteSettingsActivity.
+     */
+    @Override
+    protected void onResume() {
+        super.onResume();
+        PreferenceScreen websiteSettings = (PreferenceScreen)
+            findPreference(BrowserSettings.PREF_WEBSITE_SETTINGS);
+        Set webStorageOrigins = WebStorage.getInstance().getOrigins();
+        Set geolocationOrigins =
+            GeolocationPermissions.getInstance().getOrigins();
+        websiteSettings.setEnabled(
+            ((webStorageOrigins != null) && !webStorageOrigins.isEmpty()) ||
+            ((geolocationOrigins != null) && !geolocationOrigins.isEmpty()));
     }
 
     @Override
@@ -121,20 +149,6 @@
         
         return false;
     }
-    
-    public boolean onPreferenceClick(Preference pref) {
-        if (pref.getKey().equals(BrowserSettings.PREF_GEARS_SETTINGS)) {
-            List<Plugin> loadedPlugins = WebView.getPluginList().getList();
-            for(Plugin p : loadedPlugins) {
-                if (p.getName().equals("gears")) {
-                    p.dispatchClickEvent(this);
-                    return true;
-                }
-            }
-            
-        }
-        return true;
-    }
 
     private CharSequence getVisualTextSizeName(String enumName) {
         CharSequence[] visualNames = getResources().getTextArray(
diff --git a/src/com/android/browser/BrowserProvider.java b/src/com/android/browser/BrowserProvider.java
index a3ccf04..75a98b6 100644
--- a/src/com/android/browser/BrowserProvider.java
+++ b/src/com/android/browser/BrowserProvider.java
@@ -19,8 +19,10 @@
 import com.google.android.providers.GoogleSettings.Partner;
 
 import android.app.SearchManager;
+import android.backup.BackupManager;
 import android.content.ComponentName;
 import android.content.ContentProvider;
+import android.content.ContentResolver;
 import android.content.ContentUris;
 import android.content.ContentValues;
 import android.content.Context;
@@ -40,6 +42,7 @@
 import android.preference.PreferenceManager;
 import android.provider.Browser;
 import android.provider.Settings;
+import android.provider.Browser.BookmarkColumns;
 import android.server.search.SearchableInfo;
 import android.text.TextUtils;
 import android.text.util.Regex;
@@ -54,6 +57,7 @@
 public class BrowserProvider extends ContentProvider {
 
     private SQLiteOpenHelper mOpenHelper;
+    private BackupManager mBackupManager;
     private static final String sDatabaseName = "browser.db";
     private static final String TAG = "BrowserProvider";
     private static final String ORDER_BY = "visits DESC, date DESC";
@@ -96,6 +100,8 @@
 
     private static final int MAX_SUGGESTION_SHORT_ENTRIES = 3;
     private static final int MAX_SUGGESTION_LONG_ENTRIES = 6;
+    private static final String MAX_SUGGESTION_LONG_ENTRIES_STRING =
+            Integer.valueOf(MAX_SUGGESTION_LONG_ENTRIES).toString();
 
     // make sure that these match the index of TABLE_NAMES
     private static final int URI_MATCH_BOOKMARKS = 0;
@@ -143,7 +149,9 @@
     // 15 -> 17 Set it up for the SearchManager
     // 17 -> 18 Added favicon in bookmarks table for Home shortcuts
     // 18 -> 19 Remove labels table
-    private static final int DATABASE_VERSION = 19;
+    // 19 -> 20 Added thumbnail
+    // 20 -> 21 Added touch_icon
+    private static final int DATABASE_VERSION = 21;
 
     // Regular expression which matches http://, followed by some stuff, followed by
     // optionally a trailing slash, all matched as separate groups.
@@ -215,7 +223,9 @@
                     "created LONG," +
                     "description TEXT," +
                     "bookmark INTEGER," +
-                    "favicon BLOB DEFAULT NULL" +
+                    "favicon BLOB DEFAULT NULL," +
+                    "thumbnail BLOB DEFAULT NULL," +
+                    "touch_icon BLOB DEFAULT NULL" +
                     ");");
 
             final CharSequence[] bookmarks = mContext.getResources()
@@ -242,9 +252,15 @@
         @Override
         public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
             Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
-                    + newVersion + ", which will destroy all old data");
+                    + newVersion);
             if (oldVersion == 18) {
                 db.execSQL("DROP TABLE IF EXISTS labels");
+            }
+            if (oldVersion <= 19) {
+                db.execSQL("ALTER TABLE bookmarks ADD COLUMN thumbnail BLOB DEFAULT NULL;");
+            }
+            if (oldVersion < 21) {
+                db.execSQL("ALTER TABLE bookmarks ADD COLUMN touch_icon BLOB DEFAULT NULL;");
             } else {
                 db.execSQL("DROP TABLE IF EXISTS bookmarks");
                 db.execSQL("DROP TABLE IF EXISTS searches");
@@ -257,6 +273,7 @@
     public boolean onCreate() {
         final Context context = getContext();
         mOpenHelper = new DatabaseHelper(context);
+        mBackupManager = new BackupManager(context);
         // we added "picasa web album" into default bookmarks for version 19.
         // To avoid erasing the bookmark table, we added it explicitly for
         // version 18 and 19 as in the other cases, we will erase the table.
@@ -471,22 +488,22 @@
                     case SUGGEST_COLUMN_ICON_1_ID:
                         if (mHistoryCount > mPos) {
                             if (mHistoryCursor.getInt(3) == 1) {
-                                return new Integer(
+                                return Integer.valueOf(
                                         R.drawable.ic_search_category_bookmark)
                                         .toString();
                             } else {
-                                return new Integer(
+                                return Integer.valueOf(
                                         R.drawable.ic_search_category_history)
                                         .toString();
                             }
                         } else {
-                            return new Integer(
+                            return Integer.valueOf(
                                     R.drawable.ic_search_category_suggest)
                                     .toString();
                         }
 
                     case SUGGEST_COLUMN_ICON_2_ID:
-                        return new String("0");
+                        return "0";
 
                     case SUGGEST_COLUMN_QUERY_ID:
                         if (mHistoryCount > mPos) {
@@ -637,7 +654,8 @@
                 myArgs = null;
             } else {
                 String like = selectionArgs[0] + "%";
-                if (selectionArgs[0].startsWith("http")) {
+                if (selectionArgs[0].startsWith("http")
+                        || selectionArgs[0].startsWith("file")) {
                     myArgs = new String[1];
                     myArgs[0] = like;
                     suggestSelection = selection;
@@ -655,8 +673,7 @@
 
             Cursor c = db.query(TABLE_NAMES[URI_MATCH_BOOKMARKS],
                     SUGGEST_PROJECTION, suggestSelection, myArgs, null, null,
-                    ORDER_BY,
-                    (new Integer(MAX_SUGGESTION_LONG_ENTRIES)).toString());
+                    ORDER_BY, MAX_SUGGESTION_LONG_ENTRIES_STRING);
 
             if (match == URI_MATCH_BOOKMARKS_SUGGEST
                     || Regex.WEB_URL_PATTERN.matcher(selectionArgs[0]).matches()) {
@@ -729,6 +746,7 @@
 
     @Override
     public Uri insert(Uri url, ContentValues initialValues) {
+        boolean isBookmarkTable = false;
         SQLiteDatabase db = mOpenHelper.getWritableDatabase();
 
         int match = URI_MATCHER.match(url);
@@ -742,6 +760,7 @@
                     uri = ContentUris.withAppendedId(Browser.BOOKMARKS_URI,
                             rowID);
                 }
+                isBookmarkTable = true;
                 break;
             }
 
@@ -764,6 +783,15 @@
             throw new IllegalArgumentException("Unknown URL");
         }
         getContext().getContentResolver().notifyChange(uri, null);
+
+        // Back up the new bookmark set if we just inserted one.
+        // A row created when bookmarks are added from scratch will have
+        // bookmark=1 in the initial value set.
+        if (isBookmarkTable
+                && initialValues.containsKey(BookmarkColumns.BOOKMARK)
+                && initialValues.getAsInteger(BookmarkColumns.BOOKMARK) != 0) {
+            mBackupManager.dataChanged();
+        }
         return uri;
     }
 
@@ -776,20 +804,41 @@
             throw new IllegalArgumentException("Unknown URL");
         }
 
-        if (match == URI_MATCH_BOOKMARKS_ID || match == URI_MATCH_SEARCHES_ID) {
+        // need to know whether it's the bookmarks table for a couple of reasons
+        boolean isBookmarkTable = (match == URI_MATCH_BOOKMARKS_ID);
+        String id = null;
+
+        if (isBookmarkTable || match == URI_MATCH_SEARCHES_ID) {
             StringBuilder sb = new StringBuilder();
             if (where != null && where.length() > 0) {
                 sb.append("( ");
                 sb.append(where);
                 sb.append(" ) AND ");
             }
+            id = url.getPathSegments().get(1);
             sb.append("_id = ");
-            sb.append(url.getPathSegments().get(1));
+            sb.append(id);
             where = sb.toString();
         }
 
+        ContentResolver cr = getContext().getContentResolver();
+
+        // we'lll need to back up the bookmark set if we are about to delete one
+        if (isBookmarkTable) {
+            Cursor cursor = cr.query(Browser.BOOKMARKS_URI,
+                    new String[] { BookmarkColumns.BOOKMARK },
+                    "_id = " + id, null, null);
+            if (cursor.moveToNext()) {
+                if (cursor.getInt(0) != 0) {
+                    // yep, this record is a bookmark
+                    mBackupManager.dataChanged();
+                }
+            }
+            cursor.close();
+        }
+
         int count = db.delete(TABLE_NAMES[match % 10], where, whereArgs);
-        getContext().getContentResolver().notifyChange(url, null);
+        cr.notifyChange(url, null);
         return count;
     }
 
@@ -803,20 +852,59 @@
             throw new IllegalArgumentException("Unknown URL");
         }
 
-        if (match == URI_MATCH_BOOKMARKS_ID || match == URI_MATCH_SEARCHES_ID) {
+        String id = null;
+        boolean isBookmarkTable = (match == URI_MATCH_BOOKMARKS_ID);
+        boolean changingBookmarks = false;
+
+        if (isBookmarkTable || match == URI_MATCH_SEARCHES_ID) {
             StringBuilder sb = new StringBuilder();
             if (where != null && where.length() > 0) {
                 sb.append("( ");
                 sb.append(where);
                 sb.append(" ) AND ");
             }
+            id = url.getPathSegments().get(1);
             sb.append("_id = ");
-            sb.append(url.getPathSegments().get(1));
+            sb.append(id);
             where = sb.toString();
         }
 
+        ContentResolver cr = getContext().getContentResolver();
+
+        // Not all bookmark-table updates should be backed up.  Look to see
+        // whether we changed the title, url, or "is a bookmark" state, and
+        // request a backup if so.
+        if (isBookmarkTable) {
+            // Alterations to the bookmark field inherently change the bookmark
+            // set, so we don't need to query the record; we know a priori that
+            // we will need to back up this change.
+            if (values.containsKey(BookmarkColumns.BOOKMARK)) {
+                changingBookmarks = true;
+            }
+            // changing the title or URL of a bookmark record requires a backup,
+            // but we don't know wether such an update is on a bookmark without
+            // querying the record
+            if (!changingBookmarks &&
+                    (values.containsKey(BookmarkColumns.TITLE)
+                     || values.containsKey(BookmarkColumns.URL))) {
+                // when isBookmarkTable is true, the 'id' var was assigned above
+                Cursor cursor = cr.query(Browser.BOOKMARKS_URI,
+                        new String[] { BookmarkColumns.BOOKMARK },
+                        "_id = " + id, null, null);
+                if (cursor.moveToNext()) {
+                    changingBookmarks = (cursor.getInt(0) != 0);
+                }
+                cursor.close();
+            }
+
+            // if this *is* a bookmark row we're altering, we need to back it up.
+            if (changingBookmarks) {
+                mBackupManager.dataChanged();
+            }
+        }
+
         int ret = db.update(TABLE_NAMES[match % 10], values, where, whereArgs);
-        getContext().getContentResolver().notifyChange(url, null);
+        cr.notifyChange(url, null);
         return ret;
     }
 
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index a5e23c9..aa54ccd 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -20,16 +20,22 @@
 
 import android.content.ContentResolver;
 import android.content.Context;
+import android.content.pm.ActivityInfo;
 import android.content.SharedPreferences;
 import android.content.SharedPreferences.Editor;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceScreen;
 import android.webkit.CookieManager;
+import android.webkit.GeolocationPermissions;
 import android.webkit.WebView;
 import android.webkit.WebViewDatabase;
 import android.webkit.WebIconDatabase;
 import android.webkit.WebSettings;
+import android.webkit.WebStorage;
 import android.preference.PreferenceManager;
 import android.provider.Browser;
 
+import java.util.Set;
 import java.util.HashMap;
 import java.util.Observable;
 
@@ -48,7 +54,7 @@
  */
 class BrowserSettings extends Observable {
 
-    // Public variables for settings
+    // Private variables for settings
     // NOTE: these defaults need to be kept in sync with the XML
     // until the performance of PreferenceManager.setDefaultValues()
     // is improved.
@@ -65,7 +71,24 @@
     private String homeUrl = "";
     private boolean loginInitialized = false;
     private boolean autoFitPage = true;
+    private boolean landscapeOnly = false;
+    private boolean loadsPageInOverviewMode = true;
     private boolean showDebugSettings = false;
+    // HTML5 API flags
+    private boolean appCacheEnabled = true;
+    private boolean databaseEnabled = true;
+    private boolean domStorageEnabled = true;
+    private boolean geolocationEnabled = true;
+    private boolean workersEnabled = true;  // only affects V8. JSC does not have a similar setting
+    // HTML5 API configuration params
+    private long appCacheMaxSize = Long.MAX_VALUE;
+    private String appCachePath;  // default value set in loadFromDb().
+    private String databasePath; // default value set in loadFromDb()
+    private WebStorageSizeManager webStorageSizeManager;
+
+    private String jsFlags = "";
+
+    private final static String TAG = "BrowserSettings";
 
     // Development settings
     public WebSettings.LayoutAlgorithm layoutAlgorithm =
@@ -75,6 +98,11 @@
     private boolean tracing = false;
     private boolean lightTouch = false;
     private boolean navDump = false;
+
+    // By default the error console is shown once the user navigates to about:debug.
+    // The setting can be then toggled from the settings menu.
+    private boolean showConsole = true;
+
     // Browser only settings
     private boolean doFlick = false;
 
@@ -100,19 +128,21 @@
     public final static String PREF_EXTRAS_RESET_DEFAULTS =
             "reset_default_preferences";
     public final static String PREF_DEBUG_SETTINGS = "debug_menu";
-    public final static String PREF_GEARS_SETTINGS = "gears_settings";
+    public final static String PREF_WEBSITE_SETTINGS = "website_settings";
     public final static String PREF_TEXT_SIZE = "text_size";
     public final static String PREF_DEFAULT_ZOOM = "default_zoom";
     public final static String PREF_DEFAULT_TEXT_ENCODING =
             "default_text_encoding";
+    public final static String PREF_CLEAR_LOCATION_ACCESS =
+            "privacy_clear_location_access";
 
     private static final String DESKTOP_USERAGENT = "Mozilla/5.0 (Macintosh; " +
-            "U; Intel Mac OS X 10_5_5; en-us) AppleWebKit/525.18 (KHTML, " +
-            "like Gecko) Version/3.1.2 Safari/525.20.1";
+            "U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.17 (KHTML, " +
+            "like Gecko) Version/4.0 Safari/530.17";
 
     private static final String IPHONE_USERAGENT = "Mozilla/5.0 (iPhone; U; " +
-            "CPU iPhone OS 2_2 like Mac OS X; en-us) AppleWebKit/525.18.1 " +
-            "(KHTML, like Gecko) Version/3.1.1 Mobile/5G77 Safari/525.20";
+            "CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 " +
+            "(KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16";
 
     // Value to truncate strings when adding them to a TextView within
     // a ListView
@@ -157,7 +187,6 @@
             s.setLoadsImagesAutomatically(b.loadsImagesAutomatically);
             s.setJavaScriptEnabled(b.javaScriptEnabled);
             s.setPluginsEnabled(b.pluginsEnabled);
-            s.setPluginsPath(b.pluginsPath);
             s.setJavaScriptCanOpenWindowsAutomatically(
                     b.javaScriptCanOpenWindowsAutomatically);
             s.setDefaultTextEncodingName(b.defaultTextEncodingName);
@@ -171,6 +200,7 @@
             s.setLightTouchEnabled(b.lightTouch);
             s.setSaveFormData(b.saveFormData);
             s.setSavePassword(b.rememberPasswords);
+            s.setLoadWithOverviewMode(b.loadsPageInOverviewMode);
 
             // WebView inside Browser doesn't want initial focus to be set.
             s.setNeedInitialFocus(false);
@@ -178,6 +208,25 @@
             s.setSupportMultipleWindows(true);
             // Turn off file access
             s.setAllowFileAccess(false);
+
+            // HTML5 API flags
+            s.setAppCacheEnabled(b.appCacheEnabled);
+            s.setDatabaseEnabled(b.databaseEnabled);
+            s.setDomStorageEnabled(b.domStorageEnabled);
+            s.setWorkersEnabled(b.workersEnabled);  // This only affects V8.
+
+            // HTML5 configuration parameters.
+            s.setAppCacheMaxSize(b.appCacheMaxSize);
+            s.setAppCachePath(b.appCachePath);
+            s.setDatabasePath(b.databasePath);
+
+            // Enable/Disable the error console.
+            b.mTabControl.getBrowserActivity().setShouldShowErrorConsole(
+                    b.showDebugSettings && b.showConsole);
+
+            // Configure the Geolocation permissions manager to deny all
+            // permission requests if Geolocation is disabled in the browser.
+            // TODO(steveblock): Implement
         }
     }
 
@@ -197,6 +246,16 @@
         // Set the default value for the plugins path to the application's
         // local directory.
         pluginsPath = ctx.getDir("plugins", 0).getPath();
+        // Set the default value for the Application Caches path.
+        appCachePath = ctx.getDir("appcache", 0).getPath();
+        // Determine the maximum size of the application cache.
+        webStorageSizeManager = new WebStorageSizeManager(
+                ctx,
+                new WebStorageSizeManager.StatFsDiskInfo(appCachePath),
+                new WebStorageSizeManager.WebKitAppCacheInfo(appCachePath));
+        appCacheMaxSize = webStorageSizeManager.getAppCacheMaxSize();
+        // Set the default value for the Database path.
+        databasePath = ctx.getDir("databases", 0).getPath();
 
         homeUrl = getFactoryResetHomeUrl(ctx);
 
@@ -238,6 +297,16 @@
         zoomDensity = WebSettings.ZoomDensity.valueOf(
                 p.getString(PREF_DEFAULT_ZOOM, zoomDensity.name()));
         autoFitPage = p.getBoolean("autofit_pages", autoFitPage);
+        loadsPageInOverviewMode = p.getBoolean("load_page",
+                loadsPageInOverviewMode);
+        boolean landscapeOnlyTemp =
+                p.getBoolean("landscape_only", landscapeOnly);
+        if (landscapeOnlyTemp != landscapeOnly) {
+            landscapeOnly = landscapeOnlyTemp;
+            mTabControl.getBrowserActivity().setRequestedOrientation(
+                    landscapeOnly ? ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
+                    : ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
+        }
         useWideViewPort = true; // use wide view port for either setting
         if (autoFitPage) {
             layoutAlgorithm = WebSettings.LayoutAlgorithm.NARROW_COLUMNS;
@@ -274,6 +343,29 @@
             doFlick = p.getBoolean("enable_flick", doFlick);
             userAgent = Integer.parseInt(p.getString("user_agent", "0"));
         }
+        // JS flags is loaded from DB even if showDebugSettings is false,
+        // so that it can be set once and be effective all the time.
+        jsFlags = p.getString("js_engine_flags", "");
+
+        // Read the setting for showing/hiding the JS Console always so that should the
+        // user enable debug settings, we already know if we should show the console.
+        // The user will never see the console unless they navigate to about:debug,
+        // regardless of the setting we read here. This setting is only used after debug
+        // is enabled.
+        showConsole = p.getBoolean("javascript_console", showConsole);
+        mTabControl.getBrowserActivity().setShouldShowErrorConsole(
+                showDebugSettings && showConsole);
+
+        // HTML5 API flags
+        appCacheEnabled = p.getBoolean("enable_appcache", appCacheEnabled);
+        databaseEnabled = p.getBoolean("enable_database", databaseEnabled);
+        domStorageEnabled = p.getBoolean("enable_domstorage", domStorageEnabled);
+        geolocationEnabled = p.getBoolean("enable_geolocation", geolocationEnabled);
+        workersEnabled = p.getBoolean("enable_workers", workersEnabled);
+        // HTML 5 configuration params
+        appCachePath = p.getString("appcache_path", appCachePath);
+        databasePath = p.getString("database_path", databasePath);
+
         update();
     }
 
@@ -285,6 +377,14 @@
         return homeUrl;
     }
 
+    public String getJsFlags() {
+        return jsFlags;
+    }
+
+    public WebStorageSizeManager getWebStorageSizeManager() {
+        return webStorageSizeManager;
+    }
+
     public void setHomePage(Context context, String url) {
         Editor ed = PreferenceManager.
                 getDefaultSharedPreferences(context).edit();
@@ -436,14 +536,39 @@
         db.clearHttpAuthUsernamePassword();
     }
 
-    /*package*/ void resetDefaultPreferences(Context context) {
+    private void maybeDisableWebsiteSettings(Context context) {
+        Set webStorageOrigins = WebStorage.getInstance().getOrigins();
+        Set geolocationOrigins =
+                 GeolocationPermissions.getInstance().getOrigins();
+        if (((webStorageOrigins == null) || webStorageOrigins.isEmpty()) &&
+            ((geolocationOrigins == null) || geolocationOrigins.isEmpty())) {
+            PreferenceActivity activity = (PreferenceActivity) context;
+            PreferenceScreen screen = (PreferenceScreen)
+                activity.findPreference(BrowserSettings.PREF_WEBSITE_SETTINGS);
+            screen.setEnabled(false);
+        }
+    }
+
+    /*package*/ void clearDatabases(Context context) {
+        WebStorage.getInstance().deleteAllData();
+        maybeDisableWebsiteSettings(context);
+    }
+
+    /*package*/ void clearLocationAccess(Context context) {
+        GeolocationPermissions.getInstance().clearAll();
+        maybeDisableWebsiteSettings(context);
+    }
+
+    /*package*/ void resetDefaultPreferences(Context ctx) {
         SharedPreferences p =
-            PreferenceManager.getDefaultSharedPreferences(context);
+            PreferenceManager.getDefaultSharedPreferences(ctx);
         p.edit().clear().commit();
-        PreferenceManager.setDefaultValues(context, R.xml.browser_preferences,
+        PreferenceManager.setDefaultValues(ctx, R.xml.browser_preferences,
                 true);
         // reset homeUrl
-        setHomePage(context, getFactoryResetHomeUrl(context));
+        setHomePage(ctx, getFactoryResetHomeUrl(ctx));
+        // reset appcache max size
+        appCacheMaxSize = webStorageSizeManager.getAppCacheMaxSize();
     }
 
     private String getFactoryResetHomeUrl(Context context) {
diff --git a/src/com/android/browser/BrowserYesNoPreference.java b/src/com/android/browser/BrowserYesNoPreference.java
index 65cde71..e380e57 100644
--- a/src/com/android/browser/BrowserYesNoPreference.java
+++ b/src/com/android/browser/BrowserYesNoPreference.java
@@ -38,6 +38,7 @@
             Context context = getContext();
             if (BrowserSettings.PREF_CLEAR_CACHE.equals(getKey())) {
                 BrowserSettings.getInstance().clearCache(context);
+                BrowserSettings.getInstance().clearDatabases(context);
             } else if (BrowserSettings.PREF_CLEAR_COOKIES.equals(getKey())) {
                 BrowserSettings.getInstance().clearCookies(context);
             } else if (BrowserSettings.PREF_CLEAR_HISTORY.equals(getKey())) {
@@ -50,6 +51,9 @@
                     getKey())) {
                 BrowserSettings.getInstance().resetDefaultPreferences(context);
                 setEnabled(true);
+            } else if (BrowserSettings.PREF_CLEAR_LOCATION_ACCESS.equals(
+                    getKey())) {
+                BrowserSettings.getInstance().clearLocationAccess(context);
             }
         }
     }
diff --git a/src/com/android/browser/CombinedBookmarkHistoryActivity.java b/src/com/android/browser/CombinedBookmarkHistoryActivity.java
index 963f179..1fc05f0 100644
--- a/src/com/android/browser/CombinedBookmarkHistoryActivity.java
+++ b/src/com/android/browser/CombinedBookmarkHistoryActivity.java
@@ -17,6 +17,7 @@
 package com.android.browser;
 
 import android.app.Activity;
+import android.app.SearchManager;
 import android.app.TabActivity;
 import android.content.ContentResolver;
 import android.content.Intent;
@@ -27,6 +28,9 @@
 import android.webkit.WebIconDatabase.IconListener;
 import android.widget.TabHost;
 import android.widget.TabHost.TabSpec;
+import android.widget.TextView;
+import android.view.LayoutInflater;
+import android.view.View;
 import android.view.Window;
 
 import java.util.HashMap;
@@ -77,40 +81,63 @@
         super.onCreate(savedInstanceState);
         requestWindowFeature(Window.FEATURE_NO_TITLE);
         setContentView(R.layout.tabs);
-        TabHost tabHost = getTabHost();
-        tabHost.setOnTabChangedListener(this);
+
+        TextView searchBar = (TextView) findViewById(R.id.search);
+        String url = getIntent().getStringExtra("url");
+        // Check to see if the current page is the homepage.
+        // This works without calling loadFromDb because BrowserActivity has
+        // already done it for us.
+        if (BrowserSettings.getInstance().getHomePage().equals(url)) {
+            url = null;
+        }
+        searchBar.setText(url);
+        final String pageUrl = url;
+        searchBar.setOnClickListener(new View.OnClickListener() {
+            public void onClick(View v) {
+                Bundle bundle = new Bundle();
+                bundle.putString(SearchManager.SOURCE,
+                        BrowserActivity.GOOGLE_SEARCH_SOURCE_SEARCHKEY);
+                startSearch(pageUrl, true, bundle, false);
+            }
+        });
+
+        getTabHost().setOnTabChangedListener(this);
 
         Bundle extras = getIntent().getExtras();
         Resources resources = getResources();
 
         getIconListenerSet(getContentResolver());
+
         Intent bookmarksIntent = new Intent(this, BrowserBookmarksPage.class);
         bookmarksIntent.putExtras(extras);
-        tabHost.addTab(tabHost.newTabSpec(BOOKMARKS_TAB)
-                .setIndicator(resources.getString(R.string.tab_bookmarks),
-                resources.getDrawable(R.drawable.browser_bookmark_tab))
-                .setContent(bookmarksIntent));
+        createTab(bookmarksIntent, R.string.tab_bookmarks, BOOKMARKS_TAB);
 
-        Intent visitedIntent = new Intent(this, MostVisitedActivity.class);
-        visitedIntent.putExtras(extras);
-        tabHost.addTab(tabHost.newTabSpec(VISITED_TAB)
-                .setIndicator(resources.getString(R.string.tab_most_visited),
-                resources.getDrawable(R.drawable.browser_visited_tab))
-                .setContent(visitedIntent));
+        Intent visitedIntent = new Intent(this, BrowserBookmarksPage.class);
+        // Need to copy extras so the bookmarks activity and this one will be
+        // different
+        Bundle visitedExtras = new Bundle(extras);
+        visitedExtras.putBoolean("mostVisited", true);
+        visitedIntent.putExtras(visitedExtras);
+        createTab(visitedIntent, R.string.tab_most_visited, VISITED_TAB);
 
         Intent historyIntent = new Intent(this, BrowserHistoryPage.class);
         historyIntent.putExtras(extras);
-        tabHost.addTab(tabHost.newTabSpec(HISTORY_TAB)
-                .setIndicator(resources.getString(R.string.tab_history),
-                resources.getDrawable(R.drawable.
-                browser_history_tab)).setContent(historyIntent));
+        createTab(historyIntent, R.string.tab_history, HISTORY_TAB);
 
         String defaultTab = extras.getString(STARTING_TAB);
         if (defaultTab != null) {
-            tabHost.setCurrentTab(2);
+            getTabHost().setCurrentTab(2);
         }
     }
 
+    private void createTab(Intent intent, int labelResId, String tab) {
+        LayoutInflater factory = LayoutInflater.from(this);
+        View tabHeader = factory.inflate(R.layout.tab_header, null);
+        TextView textView = (TextView) tabHeader.findViewById(R.id.tab_label);
+        textView.setText(labelResId);
+        TabHost tabHost = getTabHost();
+        tabHost.addTab(tabHost.newTabSpec(tab).setIndicator(tabHeader).setContent(intent));
+    }
     // Copied from DialTacts Activity
     /** {@inheritDoc} */
     public void onTabChanged(String tabId) {
diff --git a/src/com/android/browser/DownloadTouchIcon.java b/src/com/android/browser/DownloadTouchIcon.java
new file mode 100644
index 0000000..6662e09
--- /dev/null
+++ b/src/com/android/browser/DownloadTouchIcon.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.browser;
+
+import android.content.ContentResolver;
+import android.content.ContentUris;
+import android.content.ContentValues;
+import android.database.Cursor;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.net.http.AndroidHttpClient;
+import android.os.AsyncTask;
+import android.provider.Browser;
+import android.webkit.WebView;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.params.HttpClientParams;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+class DownloadTouchIcon extends AsyncTask<String, Void, Bitmap> {
+    private final ContentResolver mContentResolver;
+    private final Cursor mCursor;
+    private final String mOriginalUrl;
+    private final String mUrl;
+    private final String mUserAgent;
+
+    public DownloadTouchIcon(ContentResolver cr, Cursor c, WebView view) {
+        mContentResolver = cr;
+        mCursor = c;
+        // Store these in case they change.
+        mOriginalUrl = view.getOriginalUrl();
+        mUrl = view.getUrl();
+        mUserAgent = view.getSettings().getUserAgentString();
+    }
+
+    public DownloadTouchIcon(ContentResolver cr, Cursor c, String url) {
+        mContentResolver = cr;
+        mCursor = c;
+        mOriginalUrl = null;
+        mUrl = url;
+        mUserAgent = null;
+    }
+
+    @Override
+    public Bitmap doInBackground(String... values) {
+        String url = values[0];
+
+        AndroidHttpClient client = AndroidHttpClient.newInstance(
+                mUserAgent);
+        HttpGet request = new HttpGet(url);
+
+        // Follow redirects
+        HttpClientParams.setRedirecting(client.getParams(), true);
+
+        try {
+            HttpResponse response = client.execute(request);
+
+            if (response.getStatusLine().getStatusCode() == 200) {
+                HttpEntity entity = response.getEntity();
+                if (entity != null) {
+                    InputStream content = entity.getContent();
+                    if (content != null) {
+                        Bitmap icon = BitmapFactory.decodeStream(
+                                content, null, null);
+                        return icon;
+                    }
+                }
+            }
+        } catch (IllegalArgumentException ex) {
+            request.abort();
+        } catch (IOException ex) {
+            request.abort();
+        } finally {
+            client.close();
+        }
+        return null;
+    }
+
+    @Override
+    public void onPostExecute(Bitmap icon) {
+        if (icon == null || mCursor == null) {
+            return;
+        }
+        final ByteArrayOutputStream os = new ByteArrayOutputStream();
+        icon.compress(Bitmap.CompressFormat.PNG, 100, os);
+        ContentValues values = new ContentValues();
+        values.put(Browser.BookmarkColumns.TOUCH_ICON,
+                os.toByteArray());
+
+        if (mCursor.moveToFirst()) {
+            do {
+                mContentResolver.update(ContentUris.withAppendedId(
+                        Browser.BOOKMARKS_URI, mCursor.getInt(0)),
+                        values, null, null);
+            } while (mCursor.moveToNext());
+        }
+        mCursor.close();
+    }
+}
diff --git a/src/com/android/browser/ErrorConsoleView.java b/src/com/android/browser/ErrorConsoleView.java
new file mode 100644
index 0000000..56f663b
--- /dev/null
+++ b/src/com/android/browser/ErrorConsoleView.java
@@ -0,0 +1,339 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.browser;
+
+import android.content.Context;
+import android.database.DataSetObserver;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.View.OnClickListener;
+import android.webkit.WebView;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+import android.widget.ListView;
+import android.widget.TextView;
+import android.widget.TwoLineListItem;
+
+import java.util.Vector;
+
+/* package */ class ErrorConsoleView extends LinearLayout {
+
+    /**
+     * Define some constants to describe the visibility of the error console.
+     */
+    public static final int SHOW_MINIMIZED = 0;
+    public static final int SHOW_MAXIMIZED = 1;
+    public static final int SHOW_NONE      = 2;
+
+    private TextView mConsoleHeader;
+    private ErrorConsoleListView mErrorList;
+    private LinearLayout mEvalJsViewGroup;
+    private EditText mEvalEditText;
+    private Button mEvalButton;
+    private WebView mWebView;
+    private int mCurrentShowState = SHOW_NONE;
+
+    private boolean mSetupComplete = false;
+
+    // Before we've been asked to display the console, cache any messages that should
+    // be added to the console. Then when we do display the console, add them to the view
+    // then.
+    private Vector<ErrorConsoleMessage> mErrorMessageCache;
+
+    public ErrorConsoleView(Context context) {
+        super(context);
+    }
+
+    public ErrorConsoleView(Context context, AttributeSet attributes) {
+        super(context, attributes);
+    }
+
+    private void commonSetupIfNeeded() {
+        if (mSetupComplete) {
+            return;
+        }
+
+        LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(
+                Context.LAYOUT_INFLATER_SERVICE);
+        inflater.inflate(R.layout.error_console, this);
+
+        // Get references to each ui element.
+        mConsoleHeader = (TextView) findViewById(R.id.error_console_header_id);
+        mErrorList = (ErrorConsoleListView) findViewById(R.id.error_console_list_id);
+        mEvalJsViewGroup = (LinearLayout) findViewById(R.id.error_console_eval_view_group_id);
+        mEvalEditText = (EditText) findViewById(R.id.error_console_eval_text_id);
+        mEvalButton = (Button) findViewById(R.id.error_console_eval_button_id);
+
+        mEvalButton.setOnClickListener(new OnClickListener() {
+            public void onClick(View v) {
+                // Send the javascript to be evaluated to webkit as a javascript: url
+                // TODO: Can we expose access to webkit's JS interpreter here and evaluate it that
+                // way? Note that this is called on the UI thread so we will need to post a message
+                // to the WebCore thread to implement this.
+                if (mWebView != null) {
+                    mWebView.loadUrl("javascript:" + mEvalEditText.getText());
+                }
+
+                mEvalEditText.setText("");
+            }
+        });
+
+        // Make clicking on the console title bar min/maximse it.
+        mConsoleHeader.setOnClickListener(new OnClickListener() {
+            public void onClick(View v) {
+                if (mCurrentShowState == SHOW_MINIMIZED) {
+                    showConsole(SHOW_MAXIMIZED);
+                } else {
+                    showConsole(SHOW_MINIMIZED);
+                }
+            }
+        });
+
+        // Add any cached messages to the list now that we've assembled the view.
+        if (mErrorMessageCache != null) {
+            for (ErrorConsoleMessage msg : mErrorMessageCache) {
+                mErrorList.addErrorMessage(msg.getMessage(), msg.getSourceID(), msg.getLineNumber());
+            }
+            mErrorMessageCache.clear();
+        }
+
+        mSetupComplete = true;
+    }
+
+    /**
+     * Adds a message to the set of messages the console uses.
+     */
+    public void addErrorMessage(String msg, String sourceId, int lineNumber) {
+        if (mSetupComplete) {
+            mErrorList.addErrorMessage(msg, sourceId, lineNumber);
+        } else {
+            if (mErrorMessageCache == null) {
+                mErrorMessageCache = new Vector<ErrorConsoleMessage>();
+            }
+            mErrorMessageCache.add(new ErrorConsoleMessage(msg, sourceId, lineNumber));
+        }
+    }
+
+    /**
+     * Removes all error messages from the console.
+     */
+    public void clearErrorMessages() {
+        if (mSetupComplete) {
+            mErrorList.clearErrorMessages();
+        } else if (mErrorMessageCache != null) {
+            mErrorMessageCache.clear();
+        }
+    }
+
+    /**
+     * Returns the current number of errors displayed in the console.
+     */
+    public int numberOfErrors() {
+        if (mSetupComplete) {
+            return mErrorList.getCount();
+        } else {
+            return (mErrorMessageCache == null) ? 0 : mErrorMessageCache.size();
+        }
+    }
+
+    /**
+     * Sets the webview that this console is associated with. Currently this is used so
+     * we can call into webkit to evaluate JS expressions in the console.
+     */
+    public void setWebView(WebView webview) {
+        mWebView = webview;
+    }
+
+    /**
+     * Sets the visibility state of the console.
+     */
+    public void showConsole(int show_state) {
+        commonSetupIfNeeded();
+        switch (show_state) {
+            case SHOW_MINIMIZED:
+                mConsoleHeader.setVisibility(View.VISIBLE);
+                mConsoleHeader.setText(R.string.error_console_header_text_minimized);
+                mErrorList.setVisibility(View.GONE);
+                mEvalJsViewGroup.setVisibility(View.GONE);
+                break;
+
+            case SHOW_MAXIMIZED:
+                mConsoleHeader.setVisibility(View.VISIBLE);
+                mConsoleHeader.setText(R.string.error_console_header_text_maximized);
+                mErrorList.setVisibility(View.VISIBLE);
+                mEvalJsViewGroup.setVisibility(View.VISIBLE);
+                break;
+
+            case SHOW_NONE:
+                mConsoleHeader.setVisibility(View.GONE);
+                mErrorList.setVisibility(View.GONE);
+                mEvalJsViewGroup.setVisibility(View.GONE);
+                break;
+        }
+        mCurrentShowState = show_state;
+    }
+
+    /**
+     * Returns the current visibility state of the console.
+     */
+    public int getShowState() {
+        if (mSetupComplete) {
+            return mCurrentShowState;
+        } else {
+            return SHOW_NONE;
+        }
+    }
+
+    /**
+     * This class extends ListView to implement the View that will actually display the set of
+     * errors encountered on the current page.
+     */
+    private static class ErrorConsoleListView extends ListView {
+        // An adapter for this View that contains a list of error messages.
+        private ErrorConsoleMessageList mConsoleMessages;
+
+        public ErrorConsoleListView(Context context, AttributeSet attributes) {
+            super(context, attributes);
+            mConsoleMessages = new ErrorConsoleMessageList(context);
+            setAdapter(mConsoleMessages);
+        }
+
+        public void addErrorMessage(String msg, String sourceId, int lineNumber) {
+            mConsoleMessages.add(msg, sourceId, lineNumber);
+            setSelection(mConsoleMessages.getCount());
+        }
+
+        public void clearErrorMessages() {
+            mConsoleMessages.clear();
+        }
+
+        /**
+         * This class is an adapter for ErrorConsoleListView that contains the error console
+         * message data.
+         */
+        private class ErrorConsoleMessageList extends android.widget.BaseAdapter
+                implements android.widget.ListAdapter {
+
+            private Vector<ErrorConsoleMessage> mMessages;
+            private LayoutInflater mInflater;
+
+            public ErrorConsoleMessageList(Context context) {
+                mMessages = new Vector<ErrorConsoleMessage>();
+                mInflater = (LayoutInflater)context.getSystemService(
+                        Context.LAYOUT_INFLATER_SERVICE);
+            }
+
+            /**
+             * Add a new message to the list and update the View.
+             */
+            public void add(String msg, String sourceID, int lineNumber) {
+                mMessages.add(new ErrorConsoleMessage(msg, sourceID, lineNumber));
+                notifyDataSetChanged();
+            }
+
+            /**
+             * Remove all messages from the list and update the view.
+             */
+            public void clear() {
+                mMessages.clear();
+                notifyDataSetChanged();
+            }
+
+            @Override
+            public boolean areAllItemsEnabled() {
+                return false;
+            }
+
+            @Override
+            public boolean isEnabled(int position) {
+                return false;
+            }
+
+            public long getItemId(int position) {
+                return position;
+            }
+
+            public Object getItem(int position) {
+                return mMessages.get(position);
+            }
+
+            public int getCount() {
+                return mMessages.size();
+            }
+
+            @Override
+            public boolean hasStableIds() {
+                return true;
+            }
+
+            /**
+             * Constructs a TwoLineListItem for the error at position.
+             */
+            public View getView(int position, View convertView, ViewGroup parent) {
+                View view;
+                ErrorConsoleMessage error = mMessages.get(position);
+
+                if (error == null) {
+                    return null;
+                }
+
+                if (convertView == null) {
+                    view = mInflater.inflate(android.R.layout.two_line_list_item, parent, false);
+                } else {
+                    view = convertView;
+                }
+
+                TextView headline = (TextView) view.findViewById(android.R.id.text1);
+                TextView subText = (TextView) view.findViewById(android.R.id.text2);
+                headline.setText(error.getSourceID() + ":" + error.getLineNumber());
+                subText.setText(error.getMessage());
+                return view;
+            }
+
+        }
+    }
+
+    /**
+     * This class holds the data for a single error message in the console.
+     */
+    private static class ErrorConsoleMessage {
+        private String mMessage;
+        private String mSourceID;
+        private int mLineNumber;
+
+        public ErrorConsoleMessage(String msg, String sourceID, int lineNumber) {
+            mMessage = msg;
+            mSourceID = sourceID;
+            mLineNumber = lineNumber;
+        }
+
+        public String getMessage() {
+            return mMessage;
+        }
+
+        public String getSourceID() {
+            return mSourceID;
+        }
+
+        public int getLineNumber() {
+            return mLineNumber;
+        }
+    }
+}
diff --git a/src/com/android/browser/FetchUrlMimeType.java b/src/com/android/browser/FetchUrlMimeType.java
index 8578643..0081d32 100644
--- a/src/com/android/browser/FetchUrlMimeType.java
+++ b/src/com/android/browser/FetchUrlMimeType.java
@@ -58,7 +58,7 @@
         mValues = values[0];
 
         // Check to make sure we have a URI to download
-        String uri = mValues.getAsString(Downloads.URI);
+        String uri = mValues.getAsString(Downloads.COLUMN_URI);
         if (uri == null || uri.length() == 0) {
             return null;
         }
@@ -66,21 +66,20 @@
         // User agent is likely to be null, though the AndroidHttpClient
         // seems ok with that.
         AndroidHttpClient client = AndroidHttpClient.newInstance(
-                mValues.getAsString(Downloads.USER_AGENT));
+                mValues.getAsString(Downloads.COLUMN_USER_AGENT));
         HttpHead request = new HttpHead(uri);
 
-        String cookie = mValues.getAsString(Downloads.COOKIE_DATA);
+        String cookie = mValues.getAsString(Downloads.COLUMN_COOKIE_DATA);
         if (cookie != null && cookie.length() > 0) {
             request.addHeader("Cookie", cookie);
         }
 
-        String referer = mValues.getAsString(Downloads.REFERER);
+        String referer = mValues.getAsString(Downloads.COLUMN_REFERER);
         if (referer != null && referer.length() > 0) {
             request.addHeader("Referer", referer);
         }
 
         HttpResponse response;
-        Boolean succeeded = true;
         String mimeType = null;
         try {
             response = client.execute(request);
@@ -111,19 +110,19 @@
    @Override
     public void onPostExecute(String mimeType) {
        if (mimeType != null) {
-           String url = mValues.getAsString(Downloads.URI);
+           String url = mValues.getAsString(Downloads.COLUMN_URI);
            if (mimeType.equalsIgnoreCase("text/plain") ||
                    mimeType.equalsIgnoreCase("application/octet-stream")) {
                String newMimeType =
                        MimeTypeMap.getSingleton().getMimeTypeFromExtension(
                            MimeTypeMap.getFileExtensionFromUrl(url));
                if (newMimeType != null) {
-                   mValues.put(Downloads.MIMETYPE, newMimeType);
+                   mValues.put(Downloads.COLUMN_MIME_TYPE, newMimeType);
                }
            }
            String filename = URLUtil.guessFileName(url,
                    null, mimeType);
-           mValues.put(Downloads.FILENAME_HINT, filename);
+           mValues.put(Downloads.COLUMN_FILE_NAME_HINT, filename);
        }
 
        // Start the download
diff --git a/src/com/android/browser/FindDialog.java b/src/com/android/browser/FindDialog.java
index 6e9574c..2049bd0 100644
--- a/src/com/android/browser/FindDialog.java
+++ b/src/com/android/browser/FindDialog.java
@@ -42,7 +42,6 @@
     private BrowserActivity mBrowserActivity;
     
     // Views with which the user can interact.
-    private View            mOk;
     private EditText        mEditText;
     private View            mNextButton;
     private View            mPrevButton;
@@ -129,7 +128,6 @@
         
         button = findViewById(R.id.done);
         button.setOnClickListener(mFindCancelListener);
-        mOk = button;
         
         mMatches = (TextView) findViewById(R.id.matches);
         mMatchesView = findViewById(R.id.matches_view);
@@ -143,23 +141,14 @@
         mBrowserActivity.closeFind();
         mWebView.clearMatches();
     }
-    
+
     @Override
     public boolean dispatchKeyEvent(KeyEvent event) {
-        int code = event.getKeyCode();
-        boolean up = event.getAction() == KeyEvent.ACTION_UP;
-        switch (code) {
-            case KeyEvent.KEYCODE_DPAD_CENTER:
-            case KeyEvent.KEYCODE_ENTER:
-                if (!mEditText.hasFocus()) {
-                    break;
-                }
-                if (up) {
-                    findNext();
-                }
-                return true;
-            default:
-                break;
+        if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER
+                && event.getAction() == KeyEvent.ACTION_UP
+                && mEditText.hasFocus()) {
+            findNext();
+            return true;
         }
         return super.dispatchKeyEvent(event);
     }
diff --git a/src/com/android/browser/GearsBaseDialog.java b/src/com/android/browser/GearsBaseDialog.java
deleted file mode 100644
index 638ba27..0000000
--- a/src/com/android/browser/GearsBaseDialog.java
+++ /dev/null
@@ -1,474 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.browser;
-
-import android.app.Activity;
-import android.app.Dialog;
-import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.os.Handler;
-import android.text.Spannable;
-import android.text.SpannableString;
-import android.text.style.UnderlineSpan;
-import android.util.Log;
-import android.view.InflateException;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import java.io.InputStream;
-import java.io.IOException;
-import java.lang.ClassCastException;
-import java.net.HttpURLConnection;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-/**
- * Base dialog class for gears
- */
-class GearsBaseDialog {
-
-  private static final String TAG = "GearsNativeDialog";
-  protected Handler mHandler;
-  protected Activity mActivity;
-  protected String mDialogArguments;
-
-  private Bitmap mIcon;
-  private final int MAX_ICON_SIZE = 64;
-  protected int mChoosenIconSize;
-
-  // Dialog closing types
-  public static final int CANCEL = 0;
-  public static final int ALWAYS_DENY = 1;
-  public static final int ALLOW = 2;
-  public static final int DENY = 3;
-  public static final int NEW_ICON = 4;
-  public static final int UPDATE_ICON = 5;
-  public static final int REQUEST_ICON = 6;
-  public static final int PAUSE_REQUEST_ICON = 7;
-  public static final int CLEAR_REQUEST_ICON = 8;
-
-  protected final String LOCAL_DATA_STRING = "localData";
-  protected final String LOCAL_STORAGE_STRING = "localStorage";
-  protected final String LOCATION_DATA_STRING = "locationData";
-
-  protected String mGearsVersion = "UNDEFINED";
-  protected boolean mDebug = false;
-
-  public GearsBaseDialog(Activity activity, Handler handler, String arguments) {
-    mActivity = activity;
-    mHandler = handler;
-    mDialogArguments = arguments;
-  }
-
-  Resources getResources() {
-    return mActivity.getResources();
-  }
-
-  Object getSystemService(String name) {
-    return mActivity.getSystemService(name);
-  }
-
-  View findViewById(int id) {
-    return mActivity.findViewById(id);
-  }
-
-  private String getString(int id) {
-    return mActivity.getString(id);
-  }
-
-  public void setDebug(boolean debug) {
-    mDebug = debug;
-  }
-
-  public void setGearsVersion(String version) {
-    mGearsVersion = version;
-  }
-
-  public String closeDialog(int closingType) {
-    return null;
-  }
-
-  /*
-   * Utility methods for setting up the dialogs elements
-   */
-
-  /**
-   * Inflate a given layout in a view (which has to be
-   * a ViewGroup, e.g. LinearLayout).
-   * This is used to share the basic dialog outline among
-   * the different dialog types.
-   */
-  void inflate(int layout, int viewID) {
-    LayoutInflater inflater = (LayoutInflater) getSystemService(
-        Context.LAYOUT_INFLATER_SERVICE);
-    View view = findViewById(viewID);
-    if (view != null) {
-      try {
-        ViewGroup viewGroup = (ViewGroup) view;
-        inflater.inflate(layout, viewGroup);
-      } catch (ClassCastException e) {
-        String msg = "exception, the view (" + view + ")";
-        msg += " is not a ViewGroup";
-        Log.e(TAG, msg, e);
-      } catch (InflateException e) {
-        Log.e(TAG, "exception while inflating the layout", e);
-      }
-    } else {
-      String msg = "problem, trying to inflate a non-existent view";
-      msg += " (" + viewID + ")";
-      Log.e(TAG, msg);
-    }
-  }
-
-  /**
-   * Button setup.
-   * Set the button's text and its listener. If the text resource's id
-   * is 0, makes the button invisible.
-   */
-  void setupButton(int buttonRscID,
-                   int rscString,
-                   View.OnClickListener listener,
-                   boolean isLink,
-                   boolean requestFocus) {
-    View view = findViewById(buttonRscID);
-    if (view == null) {
-      return;
-    }
-
-    Button button = (Button) view;
-
-    if (rscString == 0) {
-      button.setVisibility(View.GONE);
-    } else {
-      CharSequence text = getString(rscString);
-      button.setText(text);
-      button.setOnClickListener(listener);
-      if (isLink) {
-        displayAsLink(button);
-      }
-      if (requestFocus) {
-        button.requestFocus();
-      }
-    }
-  }
-
-  /**
-   * Button setup: as the above method, except that 'isLink' and
-   * 'requestFocus' default to false.
-   */
-  void setupButton(int buttonRsc, int rsc,
-                   View.OnClickListener listener) {
-    setupButton(buttonRsc, rsc, listener, false, false);
-  }
-
-  /**
-   * Utility method to setup the three dialog buttons.
-   */
-  void setupButtons(int alwaysDenyRsc, int allowRsc, int denyRsc) {
-    setupButton(R.id.button_alwaysdeny, alwaysDenyRsc,
-                new Button.OnClickListener() {
-                  public void onClick(View v) {
-                    mHandler.sendEmptyMessage(ALWAYS_DENY);
-                  }
-                });
-
-    setupButton(R.id.button_allow, allowRsc,
-                new Button.OnClickListener() {
-                  public void onClick(View v) {
-                    mHandler.sendEmptyMessage(ALLOW);
-                  }
-                });
-
-    setupButton(R.id.button_deny, denyRsc,
-                new Button.OnClickListener() {
-                  public void onClick(View v) {
-                    mHandler.sendEmptyMessage(DENY);
-                  }
-                });
-  }
-
-  /**
-   * Display a button as an HTML link. Remove the background, set the
-   * text color to R.color.dialog_link and draw an underline
-   */
-  void displayAsLink(Button button) {
-    if (button == null) {
-      return;
-    }
-
-    CharSequence text = button.getText();
-    button.setBackgroundDrawable(null);
-    int color = getResources().getColor(R.color.dialog_link);
-    button.setTextColor(color);
-    SpannableString str = new SpannableString(text);
-    str.setSpan(new UnderlineSpan(), 0, str.length(),
-                Spannable.SPAN_INCLUSIVE_INCLUSIVE);
-    button.setText(str);
-    button.setFocusable(false);
-  }
-
-  /**
-   * Utility method to set elements' text indicated in
-   * the dialogs' arguments.
-   */
-  void setLabel(JSONObject json, String name, int rsc) {
-    try {
-      if (json.has(name)) {
-        String text = json.getString(name);
-        View view = findViewById(rsc);
-        if (view != null && text != null) {
-          TextView textView = (TextView) view;
-          textView.setText(text);
-          textView.setVisibility(View.VISIBLE);
-        }
-      }
-    } catch (JSONException e) {
-      Log.e(TAG, "json exception", e);
-    }
-  }
-
-  /**
-   * Utility method to hide a view.
-   */
-  void hideView(View v, int rsc) {
-    if (rsc == 0) {
-      return;
-    }
-    View view;
-    if (v == null) {
-      view = findViewById(rsc);
-    } else {
-      view = v.findViewById(rsc);
-    }
-    if (view != null) {
-      view.setVisibility(View.GONE);
-    }
-  }
-
-  /**
-   * Utility method to show a view.
-   */
-  void showView(View v, int rsc) {
-    if (rsc == 0) {
-      return;
-    }
-    View view;
-    if (v == null) {
-      view = findViewById(rsc);
-    } else {
-      view = v.findViewById(rsc);
-    }
-    if (view != null) {
-      view.setVisibility(View.VISIBLE);
-    }
-  }
-
-  /**
-   * Utility method to set a text.
-   */
-  void setText(View v, int rsc, CharSequence text) {
-    if (rsc == 0) {
-      return;
-    }
-    View view = v.findViewById(rsc);
-    if (view != null) {
-      TextView textView = (TextView) view;
-      textView.setText(text);
-      textView.setVisibility(View.VISIBLE);
-    }
-  }
-
-  /**
-   * Utility method to set a text.
-   */
-  void setText(View v, int rsc, int txtRsc) {
-    if (rsc == 0) {
-      return;
-    }
-    View view = v.findViewById(rsc);
-    if (view != null) {
-      TextView textView = (TextView) view;
-      if (txtRsc == 0) {
-        textView.setVisibility(View.GONE);
-      } else {
-        CharSequence text = getString(txtRsc);
-        textView.setText(text);
-        textView.setVisibility(View.VISIBLE);
-      }
-    }
-  }
-
-  /**
-   * Utility class to download an icon in the background.
-   * Once done ask the UI thread to update the icon.
-   */
-  class IconDownload implements Runnable {
-    private String mUrlString;
-
-    IconDownload(String url) {
-      mUrlString = url;
-    }
-
-    public void run() {
-      if (mUrlString == null) {
-        return;
-      }
-      try {
-        URL url = new URL(mUrlString);
-        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
-        connection.setDoInput(true);
-        connection.connect();
-        int length = connection.getContentLength();
-        InputStream is = connection.getInputStream();
-        Bitmap customIcon = BitmapFactory.decodeStream(is);
-        if (customIcon != null) {
-          mIcon = customIcon;
-          mHandler.sendEmptyMessage(UPDATE_ICON);
-        }
-      } catch (ClassCastException e) {
-        Log.e(TAG, "Class cast exception (" + mUrlString + ")", e);
-      } catch (MalformedURLException e) {
-        Log.e(TAG, "Malformed url (" + mUrlString + ") ", e);
-      } catch (IOException e) {
-        Log.e(TAG, "Exception downloading icon (" + mUrlString + ") ", e);
-      }
-    }
-  }
-
-  /**
-   * Utility method to update the icon.
-   * Called on the UI thread.
-   */
-  public void updateIcon() {
-    if (mIcon == null) {
-      return;
-    }
-    View view = findViewById(R.id.origin_icon);
-    if (view != null) {
-      ImageView imageView = (ImageView) view;
-      imageView.setMaxHeight(MAX_ICON_SIZE);
-      imageView.setMaxWidth(MAX_ICON_SIZE);
-      imageView.setScaleType(ImageView.ScaleType.FIT_XY);
-      imageView.setImageBitmap(mIcon);
-      imageView.setVisibility(View.VISIBLE);
-    }
-  }
-
-  /**
-   * Utility method to download an icon from a url and set
-   * it to the GUI element R.id.origin_icon.
-   * It is used both in the shortcut dialog and the
-   * permission dialog.
-   * The actual download is done in the background via
-   * IconDownload; once the icon is downlowded the UI is updated
-   * via updateIcon().
-   * The icon size is included in the layout with the choosen
-   * size, although not displayed, to limit text reflow once
-   * the icon is received.
-   */
-  void downloadIcon(String url) {
-    if (url == null) {
-      return;
-    }
-    View view = findViewById(R.id.origin_icon);
-    if (view != null) {
-      view.setMinimumWidth(mChoosenIconSize);
-      view.setMinimumHeight(mChoosenIconSize);
-      view.setVisibility(View.INVISIBLE);
-    }
-    Thread thread = new Thread(new IconDownload(url));
-    thread.start();
-  }
-
-  /**
-   * Utility method that get the dialogMessage
-   * and icon and ask the setupDialog(message,icon)
-   * method to set the values.
-   */
-  public void setupDialog() {
-    TextView dialogMessage = null;
-    ImageView icon = null;
-
-    View view = findViewById(R.id.dialog_message);
-    if (view != null) {
-      dialogMessage = (TextView) view;
-    }
-
-    View iconView = findViewById(R.id.icon);
-    if (iconView != null) {
-      icon = (ImageView) iconView;
-    }
-
-    if ((dialogMessage != null) && (icon != null)) {
-      setupDialog(dialogMessage, icon);
-      dialogMessage.setVisibility(View.VISIBLE);
-    }
-  }
-
-  /*
-   * Set the message and icon of the dialog
-   */
-  public void setupDialog(TextView message, ImageView icon) {
-    message.setText(R.string.unrecognized_dialog_message);
-    icon.setImageResource(R.drawable.ic_dialog_menu_generic);
-    message.setVisibility(View.VISIBLE);
-  }
-
-  /**
-   * Setup the dialog
-   * By default, just display a simple message.
-   */
-  public void setup() {
-    setupButtons(0, 0, R.string.default_button);
-    setupDialog();
-  }
-
-  /**
-   * Method called when the back button is pressed,
-   * allowing the dialog to intercept the default behaviour.
-   */
-  public boolean handleBackButton() {
-    return false;
-  }
-
-  /**
-   * Returns the resource string of the notification displayed
-   * after the dialog. By default, does not return one.
-   */
-  public int notification() {
-    return 0;
-  }
-
-  /**
-   * If a secondary dialog (e.g. a confirmation dialog) is created,
-   * GearsNativeDialog will call this method.
-   */
-  public Dialog onCreateDialog(int id) {
-    // This should be redefined by subclasses as needed.
-    return null;
-  }
-
-}
diff --git a/src/com/android/browser/GearsNativeDialog.java b/src/com/android/browser/GearsNativeDialog.java
deleted file mode 100644
index b44ec2a..0000000
--- a/src/com/android/browser/GearsNativeDialog.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.browser;
-
-import android.app.Activity;
-import android.app.Dialog;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-import android.view.Gravity;
-import android.view.KeyEvent;
-import android.view.Window;
-import android.widget.BaseAdapter;
-import android.widget.Toast;
-
-import android.webkit.gears.NativeDialog;
-
-import com.android.browser.GearsBaseDialog;
-import com.android.browser.GearsPermissionsDialog;
-import com.android.browser.GearsSettingsDialog;
-
-/**
- * Native dialog Activity used by gears
- * TODO: rename in GearsNativeDialogActivity
- * @hide
- */
-public class GearsNativeDialog extends Activity {
-
-  private static final String TAG = "GearsNativeDialog";
-
-  private String mDialogArguments;
-
-  private String mGearsVersion = null;
-
-  private boolean mDebug = false;
-
-  private int mDialogType;
-  private final int SETTINGS_DIALOG = 1;
-  private final int PERMISSION_DIALOG = 2;
-  private final int LOCATION_DIALOG = 3;
-
-  private final String VERSION_STRING = "version";
-  private final String SETTINGS_DIALOG_STRING = "settings_dialog";
-  private final String PERMISSION_DIALOG_STRING = "permissions_dialog";
-  private final String LOCATION_DIALOG_STRING = "locations_dialog";
-
-  private boolean mDialogDismissed = false;
-
-  GearsBaseDialog dialog;
-
-  // Handler for callbacks to the UI thread
-  final Handler mHandler = new Handler() {
-    public void handleMessage(Message msg) {
-      if (msg.what == GearsBaseDialog.NEW_ICON) {
-        BaseAdapter adapter = (BaseAdapter) msg.obj;
-        adapter.notifyDataSetChanged();
-      } else if (msg.what == GearsBaseDialog.UPDATE_ICON) {
-        dialog.updateIcon();
-      } else if (msg.what == GearsBaseDialog.ALWAYS_DENY) {
-        closeDialog(GearsBaseDialog.ALWAYS_DENY);
-      } else if (msg.what == GearsBaseDialog.ALLOW) {
-        closeDialog(GearsBaseDialog.ALLOW);
-      } else if (msg.what == GearsBaseDialog.DENY) {
-        closeDialog(GearsBaseDialog.DENY);
-      }
-      super.handleMessage(msg);
-    }
-  };
-
-  @Override
-  public void onCreate(Bundle icicle) {
-    getArguments();
-    if (mDialogType == SETTINGS_DIALOG) {
-      setTheme(android.R.style.Theme);
-    }
-    super.onCreate(icicle);
-    if (mDialogType != SETTINGS_DIALOG) {
-      requestWindowFeature(Window.FEATURE_NO_TITLE);
-      setContentView(R.layout.gears_dialog);
-    }
-
-    switch (mDialogType) {
-      case SETTINGS_DIALOG:
-        dialog = new GearsSettingsDialog(this, mHandler, mDialogArguments);
-        dialog.setGearsVersion(mGearsVersion);
-        break;
-      case PERMISSION_DIALOG:
-        dialog = new GearsPermissionsDialog(this, mHandler, mDialogArguments);
-        break;
-      case LOCATION_DIALOG:
-        dialog = new GearsPermissionsDialog(this, mHandler, mDialogArguments);
-        break;
-      default:
-        dialog = new GearsBaseDialog(this, mHandler, mDialogArguments);
-    }
-    dialog.setDebug(mDebug);
-    dialog.setup();
-  }
-
-  /**
-   * Get the arguments for the dialog
-   *
-   * The dialog needs a json string as an argument, as
-   * well as a dialogType. In debug mode the arguments
-   * are mocked.
-   */
-  private void getArguments() {
-    if (mDebug) {
-      mDialogType = LOCATION_DIALOG +1;
-      mockArguments();
-
-      return;
-    }
-
-    Intent intent = getIntent();
-    mDialogArguments = intent.getStringExtra("dialogArguments");
-    String dialogTypeString = intent.getStringExtra("dialogType");
-    if (dialogTypeString == null) {
-      return;
-    }
-
-    if (Browser.LOGV_ENABLED) {
-      Log.v(TAG, "dialogtype: " + dialogTypeString);
-    }
-
-    if (dialogTypeString.equalsIgnoreCase(SETTINGS_DIALOG_STRING)) {
-      mDialogType = SETTINGS_DIALOG;
-      mGearsVersion = intent.getStringExtra(VERSION_STRING);
-    } else if (dialogTypeString.equalsIgnoreCase(PERMISSION_DIALOG_STRING)) {
-      mDialogType = PERMISSION_DIALOG;
-    } else if (dialogTypeString.equalsIgnoreCase(LOCATION_DIALOG_STRING)) {
-      mDialogType = LOCATION_DIALOG;
-    }
-  }
-
-  /**
-   * Utility method for debugging the dialog.
-   *
-   * Set mock arguments.
-   */
-  private void mockArguments() {
-
-    String argumentsPermissions = "{ locale: \"en-US\", "
-        + "origin: \"http://www.google.com\", dialogType: \"localData\","
-        + "customIcon: \"http://google-gears.googlecode.com/"
-        + "svn/trunk/gears/test/manual/shortcuts/32.png\","
-        + "customName: \"My Application\","
-        + "customMessage: \"Press the button to enable my "
-        + "application to run offline!\" };";
-
-    String argumentsPermissions2 = "{ locale: \"en-US\", "
-        + "origin: \"http://www.google.com\", dialogType: \"localData\" };";
-
-    String argumentsLocation = "{ locale: \"en-US\", "
-        + "origin: \"http://www.google.com\", dialogType: \"locationData\","
-        + "customIcon: \"http://google-gears.googlecode.com/"
-        + "svn/trunk/gears/test/manual/shortcuts/32.png\","
-        + "customName: \"My Application\","
-        + "customMessage: \"Press the button to enable my "
-        + "application to run offline!\" };";
-
-    String argumentsSettings = "{ locale: \"en-US\", permissions: [ { "
-        + "name: \"http://www.google.com\", "
-        + "localStorage: { permissionState: 0 }, "
-        + "locationData: { permissionState: 1 } }, "
-        + "{ name: \"http://www.aaronboodman.com\", "
-        + "localStorage: { permissionState: 1 }, "
-        + "locationData: { permissionState: 2 } }, "
-        + "{ name: \"http://www.evil.org\", "
-        + "localStorage: { permissionState: 2 }, "
-        + "locationData: { permissionState: 2 } } ] }";
-
-    switch (mDialogType) {
-      case PERMISSION_DIALOG:
-        mDialogArguments = argumentsPermissions;
-        break;
-      case LOCATION_DIALOG:
-        mDialogArguments = argumentsLocation;
-        break;
-      case SETTINGS_DIALOG:
-        mDialogArguments = argumentsSettings;
-        break;
-    }
-  }
-
-  /**
-   * Close the dialog and set the return string value.
-   */
-  private void closeDialog(int closingType) {
-    String ret = dialog.closeDialog(closingType);
-
-    if (mDebug) {
-      Log.v(TAG, "closeDialog ret value: " + ret);
-    }
-
-    NativeDialog.closeDialog(ret);
-    notifyEndOfDialog();
-    finish();
-
-    // If the dialog sets a notification, we display it.
-    int notification = dialog.notification();
-    if (notification != 0) {
-      Toast toast = Toast.makeText(this, notification, Toast.LENGTH_LONG);
-      toast.setGravity(Gravity.BOTTOM, 0, 0);
-      toast.show();
-    }
-  }
-
-  @Override
-  public void onDestroy() {
-    super.onDestroy();
-    // In case we reach this point without
-    // notifying NativeDialog, we do it now.
-    if (!mDialogDismissed) {
-      notifyEndOfDialog();
-    }
-  }
-
-  @Override
-  public void onPause(){
-    super.onPause();
-    if (!mDialogDismissed) {
-      closeDialog(GearsBaseDialog.CANCEL);
-    }
-  }
-
-  /**
-   * Signal to NativeDialog that we are done.
-   */
-  private void notifyEndOfDialog() {
-    NativeDialog.signalFinishedDialog();
-    mDialogDismissed = true;
-  }
-
-  /**
-   * Intercepts the back key to immediately notify
-   * NativeDialog that we are done.
-   */
-  public boolean dispatchKeyEvent(KeyEvent event) {
-    if ((event.getKeyCode() == KeyEvent.KEYCODE_BACK)
-      && (event.getAction() == KeyEvent.ACTION_DOWN)) {
-      if (!dialog.handleBackButton()) {
-        // if the dialog doesn't do anything with the back button
-        closeDialog(GearsBaseDialog.CANCEL);
-      }
-      return true; // event consumed
-    }
-    return super.dispatchKeyEvent(event);
-  }
-
-  /**
-   * If the dialog call showDialog() on ourself, we let
-   * it handle the creation of this secondary dialog.
-   * It is used in GearsSettingsDialog, to create the confirmation
-   * dialog when the user click on "Remove this site from Gears"
-   */
-  @Override
-  protected Dialog onCreateDialog(int id) {
-    return dialog.onCreateDialog(id);
-  }
-
-}
diff --git a/src/com/android/browser/GearsPermissions.java b/src/com/android/browser/GearsPermissions.java
deleted file mode 100644
index e48e045..0000000
--- a/src/com/android/browser/GearsPermissions.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.browser;
-
-import android.util.Log;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-/**
- * The permission mechanism works the following way:
- *
- * PermissionType allows to define a type of permission
- *   (e.g. localStorage/locationData), storing a name and a set of
- *   resource ids corresponding to the GUI resources.
- *
- * Permission defines an actual permission instance, with a type and a value.
- *
- * OriginPermissions holds an origin with a set of Permission objects
- */
-class GearsPermissions {
-
-  private static final String TAG = "GearsPermissions";
-
-  /**
-   * Defines a type of permission
-   *
-   * Store the permission's name (used in the json result)
-   * Graphically, each permission is a label followed by two radio buttons.
-   * We store the resources ids here.
-   */
-  public static class PermissionType {
-    public static final int PERMISSION_NOT_SET = 0;
-    public static final int PERMISSION_ALLOWED = 1;
-    public static final int PERMISSION_DENIED = 2;
-
-    String mName;
-    int mTitleRsc;
-    int mSubtitleOnRsc;
-    int mSubtitleOffRsc;
-
-    PermissionType(String name) {
-      mName = name;
-    }
-
-    public void setResources(int titleRsc,
-        int subtitleOnRsc, int subtitleOffRsc) {
-      mTitleRsc = titleRsc;
-      mSubtitleOnRsc = subtitleOnRsc;
-      mSubtitleOffRsc = subtitleOffRsc;
-    }
-
-    public String getName() {
-      return mName;
-    }
-
-    public int getTitleRsc() {
-      return mTitleRsc;
-    }
-
-    public int getSubtitleOnRsc() {
-      return mSubtitleOnRsc;
-    }
-
-    public int getSubtitleOffRsc() {
-      return mSubtitleOffRsc;
-    }
-
-  }
-
-  /**
-   * Simple class to store an instance of a permission
-   *
-   * i.e. a permission type and a value
-   * Value can be either PERMISSION_NOT_SET,
-   * PERMISSION_ALLOWED or PERMISSION_DENIED
-   * (defined in PermissionType).
-   */
-  public static class Permission {
-    PermissionType mType;
-    int mValue;
-
-    Permission(PermissionType type, int value) {
-      mType = type;
-      mValue = value;
-    }
-
-    Permission(PermissionType type) {
-      mType = type;
-      mValue = 0;
-    }
-
-    public PermissionType getType() {
-      return mType;
-    }
-
-    public void setValue(int value) {
-      mValue = value;
-    }
-
-    public int getValue() {
-      return mValue;
-    }
-  }
-
-  /**
-   * Interface used by the GearsNativeDialog implementation
-   * to listen to changes in the permissions.
-   */
-  public interface PermissionsChangesListener {
-    public boolean setPermission(PermissionType type, int perm);
-  }
-
-  /**
-   * Holds the model for an origin -- each origin has a set of
-   * permissions.
-   */
-  public static class OriginPermissions {
-    HashMap<PermissionType, Permission> mPermissions;
-    String mOrigin;
-    public static PermissionsChangesListener mListener;
-
-    public static void setListener(PermissionsChangesListener listener) {
-      mListener = listener;
-    }
-
-    OriginPermissions(String anOrigin) {
-      mOrigin = anOrigin;
-      mPermissions = new HashMap<PermissionType, Permission>();
-    }
-
-    OriginPermissions(OriginPermissions perms) {
-      mOrigin = perms.getOrigin();
-      mPermissions = new HashMap<PermissionType, Permission>();
-      HashMap<PermissionType, Permission> permissions = perms.getPermissions();
-      Iterator<PermissionType> iterator = permissions.keySet().iterator();
-      while (iterator.hasNext()) {
-        Permission permission = permissions.get(iterator.next());
-        int value = permission.getValue();
-        setPermission(permission.getType(), value);
-      }
-    }
-
-    public String getOrigin() {
-      return mOrigin;
-    }
-
-    public HashMap<PermissionType, Permission> getPermissions() {
-      return mPermissions;
-    }
-
-    public int getPermission(PermissionType type) {
-      return mPermissions.get(type).getValue();
-    }
-
-    public void setPermission(PermissionType type, int perm) {
-      if (mPermissions.get(type) == null) {
-        Permission permission = new Permission(type, perm);
-        mPermissions.put(type, permission);
-        return;
-      }
-
-      if (mListener != null) {
-        mListener.setPermission(type, perm);
-      }
-
-      mPermissions.get(type).setValue(perm);
-    }
-
-    public void print() {
-      Log.v(TAG, "Permissions for " + mOrigin);
-      Iterator<PermissionType> iterator = mPermissions.keySet().iterator();
-      while (iterator.hasNext()) {
-        Permission permission = mPermissions.get(iterator.next());
-        String name = permission.getType().getName();
-        int value = permission.getValue();
-        Log.v(TAG, "  " + name + ": " + value);
-      }
-    }
-  }
-
-}
diff --git a/src/com/android/browser/GearsPermissionsDialog.java b/src/com/android/browser/GearsPermissionsDialog.java
deleted file mode 100644
index dbec363..0000000
--- a/src/com/android/browser/GearsPermissionsDialog.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.browser;
-
-import android.app.Activity;
-import android.os.Handler;
-import android.util.Log;
-import android.view.Gravity;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-/**
- * Gears permission dialog
- */
-class GearsPermissionsDialog extends GearsBaseDialog {
-
-  private static final String TAG = "GearsPermissionsDialog";
-
-  private String mDialogType;
-  private int mNotification = 0;
-
-  public GearsPermissionsDialog(Activity activity,
-                                Handler handler,
-                                String arguments) {
-    super (activity, handler, arguments);
-  }
-
-  public void setup() {
-    inflate(R.layout.gears_dialog_permission, R.id.panel_content);
-    setupButtons(R.string.permission_button_alwaysdeny,
-                 R.string.permission_button_allow,
-                 R.string.permission_button_deny);
-
-    try {
-      JSONObject json = new JSONObject(mDialogArguments);
-
-      if (json.has("dialogType")) {
-        mDialogType = json.getString("dialogType");
-        setupDialog();
-      }
-
-      if (!json.has("customName")) {
-        setLabel(json, "origin", R.id.origin_title);
-        View titleView = findViewById(R.id.origin_title);
-        if (titleView != null) {
-          TextView title = (TextView) titleView;
-          title.setGravity(Gravity.CENTER);
-        }
-      } else {
-        setLabel(json, "customName", R.id.origin_title);
-        setLabel(json, "origin", R.id.origin_subtitle);
-        setLabel(json, "customMessage", R.id.origin_message);
-      }
-
-      if (json.has("customIcon")) {
-        String iconUrl = json.getString("customIcon");
-        mChoosenIconSize = 32;
-        downloadIcon(iconUrl);
-      }
-
-      View msg = findViewById(R.id.permission_dialog_message);
-      if (msg != null) {
-        TextView dialogMessage = (TextView) msg;
-        if (mDialogType.equalsIgnoreCase(LOCAL_DATA_STRING)) {
-          dialogMessage.setText(R.string.query_data_message);
-        } else if (mDialogType.equalsIgnoreCase(LOCATION_DATA_STRING)) {
-          dialogMessage.setText(R.string.location_message);
-        }
-      }
-
-    } catch (JSONException e) {
-      Log.e(TAG, "JSON exception ", e);
-    }
-  }
-
-  public void setupDialog(TextView message, ImageView icon) {
-    if (mDialogType.equalsIgnoreCase(LOCAL_DATA_STRING)) {
-      message.setText(R.string.query_data_prompt);
-      icon.setImageResource(android.R.drawable.ic_popup_disk_full);
-    } else if (mDialogType.equalsIgnoreCase(LOCATION_DATA_STRING)) {
-      message.setText(R.string.location_prompt);
-      icon.setImageResource(R.drawable.ic_dialog_menu_generic);
-    }
-  }
-
-  public String closeDialog(int closingType) {
-    String ret = null;
-    switch (closingType) {
-      case ALWAYS_DENY:
-        ret = "{\"allow\": false, \"permanently\": true }";
-        if (mDialogType.equalsIgnoreCase(LOCAL_DATA_STRING)) {
-          mNotification = R.string.storage_notification_alwaysdeny;
-        } else if (mDialogType.equalsIgnoreCase(LOCATION_DATA_STRING)) {
-          mNotification = R.string.location_notification_alwaysdeny;
-        }
-        break;
-      case ALLOW:
-        ret = "{\"allow\": true, \"permanently\": true }";
-        if (mDialogType.equalsIgnoreCase(LOCAL_DATA_STRING)) {
-          mNotification = R.string.storage_notification;
-        } else if (mDialogType.equalsIgnoreCase(LOCATION_DATA_STRING)) {
-          mNotification = R.string.location_notification;
-        }
-        break;
-      case DENY:
-        ret = "{\"allow\": false, \"permanently\": false }";
-        break;
-    }
-    return ret;
-  }
-
-  public int notification() {
-    return mNotification;
-  }
-}
diff --git a/src/com/android/browser/GearsSettingsDialog.java b/src/com/android/browser/GearsSettingsDialog.java
deleted file mode 100644
index 5ea2342..0000000
--- a/src/com/android/browser/GearsSettingsDialog.java
+++ /dev/null
@@ -1,460 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.browser;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.os.Handler;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
-import android.widget.BaseAdapter;
-import android.widget.Button;
-import android.widget.CheckBox;
-import android.widget.CompoundButton;
-import android.widget.ImageView;
-import android.widget.ListAdapter;
-import android.widget.ListView;
-import android.widget.RadioButton;
-import android.widget.TextView;
-
-import com.android.browser.GearsPermissions.OriginPermissions;
-import com.android.browser.GearsPermissions.Permission;
-import com.android.browser.GearsPermissions.PermissionsChangesListener;
-import com.android.browser.GearsPermissions.PermissionType;
-
-import java.util.Vector;
-import java.util.List;
-
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-/**
- * Gears Settings dialog
- */
-class GearsSettingsDialog extends GearsBaseDialog
-    implements PermissionsChangesListener {
-
-  private static final String TAG = "GearsPermissionsDialog";
-  private Vector<OriginPermissions> mSitesPermissions = null;
-  private Vector<OriginPermissions> mOriginalPermissions = null;
-  private Vector<OriginPermissions> mCurrentPermissions = null;
-
-  private Vector<PermissionType> mPermissions;
-  private static final int CONFIRMATION_REMOVE_DIALOG = 1;
-
-  // We declare the permissions globally to simplify the code
-  private final PermissionType LOCAL_STORAGE =
-      new PermissionType(LOCAL_STORAGE_STRING);
-  private final PermissionType LOCATION_DATA =
-      new PermissionType(LOCATION_DATA_STRING);
-
-  private boolean mChanges = false;
-
-  SettingsAdapter mListAdapter;
-
-  public GearsSettingsDialog(Activity activity,
-                             Handler handler,
-                             String arguments) {
-    super (activity, handler, arguments);
-    activity.setContentView(R.layout.gears_settings);
-  }
-
-  public void setup() {
-    // First let's add the permissions' resources
-    LOCAL_STORAGE.setResources(R.string.settings_storage_title,
-                               R.string.settings_storage_subtitle_on,
-                               R.string.settings_storage_subtitle_off);
-    LOCATION_DATA.setResources(R.string.settings_location_title,
-                               R.string.settings_location_subtitle_on,
-                               R.string.settings_location_subtitle_off);
-    // add the permissions to the list of permissions.
-    mPermissions = new Vector<PermissionType>();
-    mPermissions.add(LOCAL_STORAGE);
-    mPermissions.add(LOCATION_DATA);
-    OriginPermissions.setListener(this);
-
-
-    setupDialog();
-
-    // We manage the permissions using three vectors, mSitesPermissions,
-    // mOriginalPermissions and mCurrentPermissions.
-    // The dialog's arguments are parsed and a list of permissions is
-    // generated and stored in those three vectors.
-    // mOriginalPermissions is a separate copy and will not be modified;
-    // mSitesPermissions contains the current permissions _only_ --
-    // if an origin is removed, it is also removed from mSitesPermissions.
-    // Finally, mCurrentPermissions contains the current permissions and
-    // is a clone of mSitesPermissions, but removed sites aren't removed,
-    // their permissions are simply set to PERMISSION_NOT_SET. This
-    // allows us to easily generate the final difference between the
-    // original permissions and the final permissions, while directly
-    // using mSitesPermissions for the listView adapter (SettingsAdapter).
-
-    mSitesPermissions = new Vector<OriginPermissions>();
-    mOriginalPermissions = new Vector<OriginPermissions>();
-
-    try {
-      JSONObject json = new JSONObject(mDialogArguments);
-      if (json.has("permissions")) {
-        JSONArray jsonArray = json.getJSONArray("permissions");
-        for (int i = 0; i < jsonArray.length(); i++) {
-          JSONObject infos = jsonArray.getJSONObject(i);
-          String name = null;
-          int localStorage = PermissionType.PERMISSION_NOT_SET;
-          int locationData = PermissionType.PERMISSION_NOT_SET;
-          if (infos.has("name")) {
-            name = infos.getString("name");
-          }
-          if (infos.has(LOCAL_STORAGE_STRING)) {
-            JSONObject perm = infos.getJSONObject(LOCAL_STORAGE_STRING);
-            if (perm.has("permissionState")) {
-              localStorage = perm.getInt("permissionState");
-            }
-          }
-          if (infos.has(LOCATION_DATA_STRING)) {
-            JSONObject perm = infos.getJSONObject(LOCATION_DATA_STRING);
-            if (perm.has("permissionState")) {
-              locationData = perm.getInt("permissionState");
-            }
-          }
-          OriginPermissions perms = new OriginPermissions(name);
-          perms.setPermission(LOCAL_STORAGE, localStorage);
-          perms.setPermission(LOCATION_DATA, locationData);
-
-          mSitesPermissions.add(perms);
-          mOriginalPermissions.add(new OriginPermissions(perms));
-        }
-      }
-    } catch (JSONException e) {
-      Log.e(TAG, "JSON exception ", e);
-    }
-    mCurrentPermissions = (Vector<OriginPermissions>)mSitesPermissions.clone();
-
-    View listView = findViewById(R.id.sites_list);
-    if (listView != null) {
-      ListView list = (ListView) listView;
-      mListAdapter = new SettingsAdapter(mActivity, mSitesPermissions);
-      list.setAdapter(mListAdapter);
-      list.setScrollBarStyle(android.view.View.SCROLLBARS_OUTSIDE_INSET);
-      list.setOnItemClickListener(mListAdapter);
-    }
-    if (mDebug) {
-      printPermissions();
-    }
-  }
-
-  private void setMainTitle() {
-    String windowTitle = mActivity.getString(R.string.pref_extras_gears_settings);
-    mActivity.setTitle(windowTitle);
-  }
-
-  public void setupDialog() {
-    setMainTitle();
-  }
-
-  /**
-   * GearsPermissions.PermissionsChangesListener delegate
-   */
-  public boolean setPermission(PermissionType type, int perm) {
-    if (mChanges == false) {
-      mChanges = true;
-    }
-    return mChanges;
-  }
-
-  public boolean handleBackButton() {
-    return mListAdapter.backButtonPressed();
-  }
-
-  /**
-   * We use this to create a confirmation dialog when the user
-   * clicks on "remove this site from gears"
-   */
-  public Dialog onCreateDialog(int id) {
-    return new AlertDialog.Builder(mActivity)
-        .setTitle(R.string.settings_confirmation_remove_title)
-        .setMessage(R.string.settings_confirmation_remove)
-        .setPositiveButton(android.R.string.ok,
-                           new AlertDialog.OnClickListener() {
-          public void onClick(DialogInterface dlg, int which) {
-            mListAdapter.removeCurrentSite();
-          }
-        })
-        .setNegativeButton(android.R.string.cancel, null)
-        .setIcon(android.R.drawable.ic_dialog_alert)
-        .create();
-  }
-
-  /**
-   * Adapter class for the list view in the settings dialog
-   *
-   * We first display a list of all the origins (sites), or
-   * a message saying that no permission is set if the list is empty.
-   * When the user click on one of the origin, we then display
-   * the list of the permissions existing for that origin.
-   * Each permission can be either allowed or denied by clicking
-   * on the checkbox.
-   * The last row is a special case, allowing to remove the entire origin.
-   */
-  class SettingsAdapter extends BaseAdapter
-      implements AdapterView.OnItemClickListener {
-    private Activity mContext;
-    private List mItems;
-    private OriginPermissions mCurrentSite;
-    private Vector mCurrentPermissions;
-    private int MAX_ROW_HEIGHT = 64;
-
-    SettingsAdapter(Activity context, List items) {
-      mContext = context;
-      mItems = items;
-      mCurrentSite = null;
-    }
-
-    public int getCount() {
-      if (mCurrentSite == null) {
-        int size = mItems.size();
-        if (size == 0) {
-          return 1;
-        } else {
-          return size;
-        }
-      }
-      return mCurrentPermissions.size() + 1;
-    }
-
-    public long getItemId(int position) {
-      return position;
-    }
-
-    private String shortName(String url) {
-        // We remove the http and https prefix
-        if (url.startsWith("http://")) {
-          return url.substring(7);
-        }
-        if (url.startsWith("https://")) {
-          return url.substring(8);
-        }
-        return url;
-    }
-
-    public Object getItem(int position) {
-      if (mCurrentSite == null) {
-        if (mItems.size() == 0) {
-          return null;
-        } else {
-          return mItems.get(position);
-        }
-      }
-      return mCurrentPermissions.get(position);
-    }
-
-    public View getView(int position, View convertView, ViewGroup parent) {
-      View row = convertView;
-      if (row == null) { // no cached view, we create one
-        LayoutInflater inflater = (LayoutInflater) getSystemService(
-            Context.LAYOUT_INFLATER_SERVICE);
-        row = inflater.inflate(R.layout.gears_settings_row, null);
-      }
-      row.setMinimumHeight(MAX_ROW_HEIGHT);
-
-      if (mCurrentSite == null) {
-        if (mItems.size() == 0) {
-          hideView(row, R.id.title);
-          hideView(row, R.id.subtitle);
-          hideView(row, R.id.checkbox);
-          hideView(row, R.id.icon);
-          setText(row, R.id.info, R.string.settings_empty);
-        } else {
-          hideView(row, R.id.subtitle);
-          hideView(row, R.id.info);
-          hideView(row, R.id.checkbox);
-          OriginPermissions perms = (OriginPermissions) mItems.get(position);
-          setText(row, R.id.title, shortName(perms.getOrigin()));
-          showView(row, R.id.icon);
-        }
-      } else {
-        if (position == getCount() - 1) {
-          // last position: "remove this site from gears"
-          hideView(row, R.id.subtitle);
-          hideView(row, R.id.info);
-          hideView(row, R.id.checkbox);
-          hideView(row, R.id.icon);
-          setText(row, R.id.title, R.string.settings_remove_site);
-        } else {
-          hideView(row, R.id.info);
-          hideView(row, R.id.icon);
-          showView(row, R.id.checkbox);
-
-          PermissionType type =
-              (PermissionType) mCurrentPermissions.get(position);
-          setText(row, R.id.title, type.getTitleRsc());
-
-          View checkboxView = row.findViewById(R.id.checkbox);
-          if (checkboxView != null) {
-            CheckBox checkbox = (CheckBox) checkboxView;
-            int perm = mCurrentSite.getPermission(type);
-            if (perm == PermissionType.PERMISSION_DENIED) {
-              setText(row, R.id.subtitle, type.getSubtitleOffRsc());
-              checkbox.setChecked(false);
-            } else {
-              setText(row, R.id.subtitle, type.getSubtitleOnRsc());
-              checkbox.setChecked(true);
-            }
-          }
-        }
-      }
-      return row;
-    }
-
-    public void removeCurrentSite() {
-      mCurrentSite.setPermission(LOCAL_STORAGE,
-                                 PermissionType.PERMISSION_NOT_SET);
-      mCurrentSite.setPermission(LOCATION_DATA,
-                                 PermissionType.PERMISSION_NOT_SET);
-      mSitesPermissions.remove(mCurrentSite);
-      mCurrentSite = null;
-      setMainTitle();
-      notifyDataSetChanged();
-    }
-
-    public void onItemClick(AdapterView<?> parent,
-                            View view,
-                            int position,
-                            long id) {
-      if (mItems.size() == 0) {
-        return;
-      }
-      if (mCurrentSite == null) {
-         mCurrentSite = (OriginPermissions) mItems.get(position);
-         mCurrentPermissions = new Vector();
-         for (int i = 0; i < mPermissions.size(); i++) {
-           PermissionType type = mPermissions.get(i);
-           int perm = mCurrentSite.getPermission(type);
-           if (perm != PermissionType.PERMISSION_NOT_SET) {
-             mCurrentPermissions.add(type);
-           }
-         }
-         mContext.setTitle(shortName(mCurrentSite.getOrigin()));
-      } else {
-        if (position == getCount() - 1) { // last item (remove site)
-          // Ask the user to confirm
-          // If yes, removeCurrentSite() will be called via the dialog callback.
-          mActivity.showDialog(CONFIRMATION_REMOVE_DIALOG);
-        } else {
-          PermissionType type =
-              (PermissionType) mCurrentPermissions.get(position);
-          if (mCurrentSite.getPermission(type) ==
-              PermissionType.PERMISSION_ALLOWED) {
-            mCurrentSite.setPermission(type, PermissionType.PERMISSION_DENIED);
-          } else {
-            mCurrentSite.setPermission(type, PermissionType.PERMISSION_ALLOWED);
-          }
-        }
-      }
-      notifyDataSetChanged();
-    }
-
-    public boolean backButtonPressed() {
-      if (mCurrentSite != null) { // we intercept the back button
-        mCurrentSite = null;
-        setMainTitle();
-        notifyDataSetChanged();
-        return true;
-      }
-      return false;
-    }
-
-  }
-
-  /**
-   * Utility method used in debug mode to print the list of
-   * permissions (original values and current values).
-   */
-  public void printPermissions() {
-    Log.v(TAG, "Original Permissions: ");
-    for (int i = 0; i < mOriginalPermissions.size(); i++) {
-      OriginPermissions p = mOriginalPermissions.get(i);
-      p.print();
-    }
-    Log.v(TAG, "Current Permissions: ");
-    for (int i = 0; i < mSitesPermissions.size(); i++) {
-      OriginPermissions p = mSitesPermissions.get(i);
-      p.print();
-    }
-  }
-
-  /**
-   * Computes the difference between the original permissions and the
-   * current ones. Returns a json-formatted string.
-   * It is used by the Settings dialog.
-   */
-  public String computeDiff(boolean modif) {
-    String ret = null;
-    try {
-      JSONObject results = new JSONObject();
-      JSONArray permissions = new JSONArray();
-
-      for (int i = 0; modif && i < mOriginalPermissions.size(); i++) {
-        OriginPermissions original = mOriginalPermissions.get(i);
-        OriginPermissions current = mCurrentPermissions.get(i);
-        JSONObject permission = new JSONObject();
-        boolean modifications = false;
-
-        for (int j = 0; j < mPermissions.size(); j++) {
-          PermissionType type = mPermissions.get(j);
-
-          if (current.getPermission(type) != original.getPermission(type)) {
-            JSONObject state = new JSONObject();
-            state.put("permissionState", current.getPermission(type));
-            permission.put(type.getName(), state);
-            modifications = true;
-          }
-        }
-
-        if (modifications) {
-          permission.put("name", current.getOrigin());
-          permissions.put(permission);
-        }
-      }
-      results.put("modifiedOrigins", permissions);
-      ret = results.toString();
-    } catch (JSONException e) {
-      Log.e(TAG, "JSON exception ", e);
-    }
-    return ret;
-  }
-
-  public String closeDialog(int closingType) {
-    String ret = computeDiff(mChanges);
-
-    if (mDebug) {
-      printPermissions();
-    }
-
-    return ret;
-  }
-
-}
diff --git a/src/com/android/browser/GeolocationPermissionsPrompt.java b/src/com/android/browser/GeolocationPermissionsPrompt.java
new file mode 100755
index 0000000..16737fe
--- /dev/null
+++ b/src/com/android/browser/GeolocationPermissionsPrompt.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.browser;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.webkit.WebView;
+import android.webkit.GeolocationPermissions;
+import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+public class GeolocationPermissionsPrompt extends LinearLayout {
+    private LinearLayout mInner;
+    private TextView mMessage;
+    private Button mShareButton;
+    private Button mDontShareButton;
+    private CheckBox mRemember;
+    private GeolocationPermissions.Callback mCallback;
+    private String mOrigin;
+
+    public GeolocationPermissionsPrompt(Context context) {
+        this(context, null);
+    }
+
+    public GeolocationPermissionsPrompt(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        LayoutInflater factory = LayoutInflater.from(context);
+        factory.inflate(R.layout.geolocation_permissions_prompt, this);
+
+        mInner = (LinearLayout) findViewById(R.id.inner);
+        mMessage = (TextView) findViewById(R.id.message);
+        mShareButton = (Button) findViewById(R.id.share_button);
+        mDontShareButton = (Button) findViewById(R.id.dont_share_button);
+        mRemember = (CheckBox) findViewById(R.id.remember);
+        setButtonClickListeners();
+    }
+
+    /**
+     * Shows the prompt for the given origin. When the user clicks on one of
+     * the buttons, the supplied callback is be called.
+     */
+    public void show(String origin, GeolocationPermissions.Callback callback) {
+        mOrigin = origin;
+        mCallback = callback;
+        setMessage(mOrigin);
+        showDialog(true);
+    }
+
+    /**
+     * Hides the prompt.
+     */
+    public void hide() {
+        showDialog(false);
+    }
+
+    /**
+     * Sets the on click listeners for the buttons.
+     */
+    private void setButtonClickListeners() {
+        final GeolocationPermissionsPrompt me = this;
+        mShareButton.setOnClickListener(new View.OnClickListener() {
+            public void onClick(View v) {
+                me.handleButtonClick(true);
+            }
+        });
+        mDontShareButton.setOnClickListener(new View.OnClickListener() {
+            public void onClick(View v) {
+                me.handleButtonClick(false);
+            }
+        });
+    }
+
+    /**
+     * Handles a click on one the buttons by invoking the callback.
+     */
+    private void handleButtonClick(boolean allow) {
+        boolean remember = mRemember.isChecked();
+        showDialog(false);
+        mCallback.invoke(mOrigin, allow, remember);
+    }
+
+    /**
+     * Sets the prompt's message.
+     */
+    private void setMessage(CharSequence origin) {
+        mMessage.setText(String.format(
+            getResources().getString(R.string.geolocation_permissions_prompt_message),
+            origin));
+    }
+
+    /**
+     * Shows or hides the prompt.
+     */
+    private void showDialog(boolean shown) {
+        mInner.setVisibility(shown ? View.VISIBLE : View.GONE);
+    }
+}
diff --git a/src/com/android/browser/HistoryItem.java b/src/com/android/browser/HistoryItem.java
index 55e43f0..e8f15b1 100644
--- a/src/com/android/browser/HistoryItem.java
+++ b/src/com/android/browser/HistoryItem.java
@@ -17,23 +17,13 @@
  
 package com.android.browser;
 
-import android.content.ContentResolver;
-import android.content.ContentUris;
-import android.content.ContentValues;
 import android.content.Context;
-import android.database.Cursor;
 import android.graphics.Bitmap;
-import android.net.Uri;
 import android.provider.Browser;
-import android.util.Log;
 import android.view.View;
-import android.webkit.WebIconDatabase;
 import android.widget.CompoundButton;
 import android.widget.ImageView;
 import android.widget.TextView;
-import android.widget.Toast;
-
-import java.util.Date;
 
 /**
  *  Layout representing a history item in the classic history viewer.
@@ -54,61 +44,18 @@
         mListener = new CompoundButton.OnCheckedChangeListener() {
             public void onCheckedChanged(CompoundButton buttonView,
                     boolean isChecked) {
-                ContentResolver cr = mContext.getContentResolver();
-                Cursor cursor = cr.query(
-                        Browser.BOOKMARKS_URI,
-                        Browser.HISTORY_PROJECTION,
-                        "url = ?",
-                        new String[] { mUrl },
-                        null);
-                boolean first = cursor.moveToFirst();
-                // Should be in the database no matter what
-                if (!first) {
-                    throw new AssertionError("URL is not in the database!");
-                }
                 if (isChecked) {
-                    // Add to bookmarks
-                    // FIXME: Share code with AddBookmarkPage.java
-                    ContentValues map = new ContentValues();
-                    map.put(Browser.BookmarkColumns.CREATED,
-                            new Date().getTime());
-                    map.put(Browser.BookmarkColumns.TITLE, getName());
-                    map.put(Browser.BookmarkColumns.BOOKMARK, 1);
-                    try {
-                        cr.update(Browser.BOOKMARKS_URI, map, 
-                                "_id = " + cursor.getInt(0), null);
-                    } catch (IllegalStateException e) {
-                        Log.e("HistoryItem", "no database!");
-                    }
-                    WebIconDatabase.getInstance().retainIconForPageUrl(mUrl);
-                    // catch IllegalStateException?
-                    Toast.makeText(mContext, R.string.added_to_bookmarks,
-                            Toast.LENGTH_LONG).show();
+                    Bookmarks.addBookmark(mContext,
+                            mContext.getContentResolver(), mUrl, getName(), true);
                 } else {
-                    // Remove from bookmarks
-                    // FIXME: This code should be shared with
-                    // BrowserBookmarksAdapter.java
-                    WebIconDatabase.getInstance().releaseIconForPageUrl(mUrl);
-                    Uri uri = ContentUris.withAppendedId(Browser.BOOKMARKS_URI,
-                            cursor.getInt(Browser.HISTORY_PROJECTION_ID_INDEX));
-                    // It is no longer a bookmark, but it is still a visited
-                    // site.
-                    ContentValues values = new ContentValues();
-                    values.put(Browser.BookmarkColumns.BOOKMARK, 0);
-                    try {
-                        cr.update(uri, values, null, null);
-                    } catch (IllegalStateException e) {
-                        Log.e("HistoryItem", "no database!");
-                    }
-                    Toast.makeText(mContext, R.string.removed_from_bookmarks,
-                            Toast.LENGTH_LONG).show();
+                    Bookmarks.removeFromBookmarks(mContext,
+                            mContext.getContentResolver(), mUrl);
                 }
-                cursor.deactivate();
             }
         };
     }
     
-    void copyTo(HistoryItem item) {
+    /* package */ void copyTo(HistoryItem item) {
         item.mTextView.setText(mTextView.getText());
         item.mUrlText.setText(mUrlText.getText());
         item.setIsBookmark(mStar.isChecked());
@@ -116,10 +63,17 @@
     }
 
     /**
+     * Whether or not this item represents a bookmarked site
+     */
+    /* package */ boolean isBookmark() {
+        return mStar.isChecked();
+    }
+
+    /**
      *  Set whether or not this represents a bookmark, and make sure the star
      *  behaves appropriately.
      */
-    void setIsBookmark(boolean isBookmark) {
+    /* package */ void setIsBookmark(boolean isBookmark) {
         mStar.setOnCheckedChangeListener(null);
         mStar.setChecked(isBookmark);
         mStar.setOnCheckedChangeListener(mListener);
diff --git a/src/com/android/browser/MostVisitedActivity.java b/src/com/android/browser/MostVisitedActivity.java
index 704ee27..90052d3 100644
--- a/src/com/android/browser/MostVisitedActivity.java
+++ b/src/com/android/browser/MostVisitedActivity.java
@@ -35,6 +35,7 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewGroup.LayoutParams;
+import android.view.ViewStub;
 
 import java.util.Vector;
 
@@ -50,8 +51,7 @@
                 .addListener(new IconReceiver());
         setListAdapter(mAdapter);
         ListView list = getListView();
-        LayoutInflater factory = LayoutInflater.from(this);
-        View v = factory.inflate(R.layout.empty_history, null);
+        View v = new ViewStub(this, R.layout.empty_history);
         addContentView(v, new LayoutParams(LayoutParams.FILL_PARENT,
                 LayoutParams.FILL_PARENT));
         list.setEmptyView(v);
@@ -84,9 +84,9 @@
         private Vector<DataSetObserver> mObservers;
         private Cursor mCursor;
         // These correspond with projection below.
-        private final int mUrlIndex = 0;
-        private final int mTitleIndex = 1;
-        private final int mBookmarkIndex = 2;
+        private static final int mUrlIndex = 0;
+        private static final int mTitleIndex = 1;
+        private static final int mBookmarkIndex = 2;
 
         MyAdapter() {
             mObservers = new Vector<DataSetObserver>();
diff --git a/src/com/android/browser/TabControl.java b/src/com/android/browser/TabControl.java
index 575be8d..efef303 100644
--- a/src/com/android/browser/TabControl.java
+++ b/src/com/android/browser/TabControl.java
@@ -38,6 +38,7 @@
 import android.webkit.WebViewClient;
 import android.widget.FrameLayout;
 import android.widget.ImageButton;
+import android.widget.LinearLayout;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -68,7 +69,7 @@
     private final LayoutInflater mInflateService;
     // Subclass of WebViewClient used in subwindows to notify the main
     // WebViewClient of certain WebView activities.
-    private class SubWindowClient extends WebViewClient {
+    private static class SubWindowClient extends WebViewClient {
         // The main WebViewClient.
         private final WebViewClient mClient;
 
@@ -104,6 +105,16 @@
                 String description, String failingUrl) {
             mClient.onReceivedError(view, errorCode, description, failingUrl);
         }
+        @Override
+        public boolean shouldOverrideKeyEvent(WebView view,
+                android.view.KeyEvent event) {
+            return mClient.shouldOverrideKeyEvent(view, event);
+        }
+        @Override
+        public void onUnhandledKeyEvent(WebView view,
+                android.view.KeyEvent event) {
+            mClient.onUnhandledKeyEvent(view, event);
+        }
     }
     // Subclass of WebChromeClient to display javascript dialogs.
     private class SubWindowChromeClient extends WebChromeClient {
@@ -139,7 +150,7 @@
         public void onRequestFocus(WebView view) {
             Tab t = getTabFromView(view);
             if (t != getCurrentTab()) {
-                mActivity.showTab(t);
+                mActivity.switchToTab(getTabIndex(t));
             }
         }
     }
@@ -162,6 +173,9 @@
      * Private class for maintaining Tabs with a main WebView and a subwindow.
      */
     public class Tab implements WebView.PictureListener {
+        // The Geolocation permissions prompt
+        private GeolocationPermissionsPrompt mGeolocationPermissionsPrompt;
+        private View mContainer;
         // Main WebView
         private WebView mMainView;
         // Subwindow WebView
@@ -195,12 +209,50 @@
         // url has not changed.
         private String mOriginalUrl;
 
+        private ErrorConsoleView mErrorConsole;
+
         // Construct a new tab
-        private Tab(WebView w, boolean closeOnExit, String appId, String url) {
-            mMainView = w;
+        private Tab(WebView w, boolean closeOnExit, String appId, String url, Context context) {
             mCloseOnExit = closeOnExit;
             mAppId = appId;
             mOriginalUrl = url;
+
+            // The tab consists of a container view, which contains the main
+            // WebView, as well as any other UI elements associated with the tab.
+            //
+            // FIXME: Fix the interaction between this layout and the animation
+            // used when switching to and from the tab picker. This may not be
+            // required if the tab selection UI is redesigned.
+            LayoutInflater factory = LayoutInflater.from(context);
+            mContainer = factory.inflate(R.layout.tab, null);
+
+            mGeolocationPermissionsPrompt =
+                (GeolocationPermissionsPrompt) mContainer.findViewById(
+                    R.id.geolocation_permissions_prompt);
+
+            setWebView(w);
+        }
+
+        /**
+         * Sets the WebView for this tab, correctly removing the old WebView
+         * from, and inserting the new WebView into, the container view.
+         */
+        public void setWebView(WebView w) {
+            if (mMainView == w) {
+                return;
+            }
+            // If the WebView is changing, the page will be reloaded, so any ongoing Geolocation
+            // permission requests are void.
+            mGeolocationPermissionsPrompt.hide();
+
+            FrameLayout wrapper = (FrameLayout) mContainer.findViewById(R.id.webview_wrapper);
+            if (mMainView != null) {
+                wrapper.removeView(mMainView);
+            }
+            mMainView = w;
+            if (mMainView != null) {
+                wrapper.addView(mMainView);
+            }
         }
 
         /**
@@ -226,6 +278,20 @@
         }
 
         /**
+         * @return The container for this tab.
+         */
+        public View getContainer() {
+            return mContainer;
+        }
+
+        /**
+         * @return The geolocation permissions prompt for this tab.
+         */
+        public GeolocationPermissionsPrompt getGeolocationPermissionsPrompt() {
+            return mGeolocationPermissionsPrompt;
+        }
+
+        /**
          * Return the subwindow of this tab or null if there is no subwindow.
          * @return The subwindow of this tab or null.
          */
@@ -388,6 +454,28 @@
     }
 
     /**
+     * Return the current tab's error console. Creates the console if createIfNEcessary
+     * is true and we haven't already created the console.
+     * @param createIfNecessary Flag to indicate if the console should be created if it has
+     *                          not been already.
+     * @return The current tab's error console, or null if one has not been created and
+     *         createIfNecessary is false.
+     */
+    ErrorConsoleView getCurrentErrorConsole(boolean createIfNecessary) {
+        Tab t = getTab(mCurrentTab);
+        if (t == null) {
+            return null;
+        }
+
+        if (createIfNecessary && t.mErrorConsole == null) {
+            t.mErrorConsole = new ErrorConsoleView(mActivity);
+            t.mErrorConsole.setWebView(t.mMainView);
+        }
+
+        return t.mErrorConsole;
+    }
+
+    /**
      * Return the current tab's top-level WebView. This can return a subwindow
      * if one exists.
      * @return The top-level WebView of the current tab.
@@ -446,6 +534,9 @@
      * @return index of Tab or -1 if not found
      */
     int getTabIndex(Tab tab) {
+        if (tab == null) {
+            return -1;
+        }
         return mTabs.indexOf(tab);
     }
 
@@ -461,8 +552,9 @@
             return null;
         }
         final WebView w = createNewWebView();
+
         // Create a new tab and add it to the tab list
-        Tab t = new Tab(w, closeOnExit, appId, url);
+        Tab t = new Tab(w, closeOnExit, appId, url, mActivity);
         mTabs.add(t);
         // Initially put the tab in the background.
         putTabInBackground(t);
@@ -501,7 +593,7 @@
                     t.mMainView.getSettings());
             // Destroy the main view and subview
             t.mMainView.destroy();
-            t.mMainView = null;
+            t.setWebView(null);
         }
         // clear it's references to parent and children
         t.removeFromTree();
@@ -562,7 +654,7 @@
                 dismissSubWindow(t);
                 s.deleteObserver(t.mMainView.getSettings());
                 t.mMainView.destroy();
-                t.mMainView = null;
+                t.setWebView(null);
             }
         }
         mTabs.clear();
@@ -634,7 +726,7 @@
                 } else {
                     // Create a new tab and don't restore the state yet, add it
                     // to the tab list
-                    Tab t = new Tab(null, false, null, null);
+                    Tab t = new Tab(null, false, null, null, mActivity);
                     t.mSavedState = inState.getBundle(WEBVIEW + i);
                     if (t.mSavedState != null) {
                         populatePickerDataFromSavedState(t);
@@ -671,8 +763,10 @@
      * WebView cache;
      */
     void freeMemory() {
+        if (getTabCount() == 0) return;
+
         // free the least frequently used background tab
-        Tab t = getLeastUsedTab();
+        Tab t = getLeastUsedTab(getCurrentTab().getParentTab());
         if (t != null) {
             Log.w(LOGTAG, "Free a tab in the browser");
             freeTab(t);
@@ -681,17 +775,17 @@
             return;
         }
 
-        // free the WebView cache
-        Log.w(LOGTAG, "Free WebView cache");
+        // free the WebView's unused memory (this includes the cache)
+        Log.w(LOGTAG, "Free WebView's unused memory and cache");
         WebView view = getCurrentWebView();
         if (view != null) {
-            view.clearCache(false);
+            view.freeMemory();
         }
         // force a gc
         System.gc();
     }
 
-    private Tab getLeastUsedTab() {
+    private Tab getLeastUsedTab(Tab currentParent) {
         // Don't do anything if we only have 1 tab.
         if (getTabCount() == 1) {
             return null;
@@ -707,7 +801,8 @@
         }
         do {
             t = mTabQueue.get(i++);
-        } while (i < queueSize && t != null && t.mMainView == null);
+        } while (i < queueSize
+                && ((t != null && t.mMainView == null) || t == currentParent));
 
         // Don't do anything if the last remaining tab is the current one or if
         // the last tab has been freed already.
@@ -728,7 +823,7 @@
         // observers.
         BrowserSettings.getInstance().deleteObserver(t.mMainView.getSettings());
         t.mMainView.destroy();
-        t.mMainView = null;
+        t.setWebView(null);
     }
 
     /**
@@ -801,6 +896,45 @@
         return null;
     }
 
+    // This method checks if a non-app tab (one created within the browser)
+    // matches the given url.
+    private boolean tabMatchesUrl(Tab t, String url) {
+        if (t.mAppId != null) {
+            return false;
+        } else if (t.mMainView == null) {
+            return false;
+        } else if (url.equals(t.mMainView.getUrl()) ||
+                url.equals(t.mMainView.getOriginalUrl())) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * Return the tab that has no app id associated with it and the url of the
+     * tab matches the given url.
+     * @param url The url to search for.
+     */
+    Tab findUnusedTabWithUrl(String url) {
+        if (url == null) {
+            return null;
+        }
+        // Check the current tab first.
+        Tab t = getCurrentTab();
+        if (t != null && tabMatchesUrl(t, url)) {
+            return t;
+        }
+        // Now check all the rest.
+        final int size = getTabCount();
+        for (int i = 0; i < size; i++) {
+            t = getTab(i);
+            if (tabMatchesUrl(t, url)) {
+                return t;
+            }
+        }
+        return null;
+    }
+
     /**
      * Recreate the main WebView of the given tab. Returns true if the WebView
      * was deleted.
@@ -827,7 +961,7 @@
         }
         // Create a new WebView. If this tab is the current tab, we need to put
         // back all the clients so force it to be the current tab.
-        t.mMainView = createNewWebView();
+        t.setWebView(createNewWebView());
         if (getCurrentTab() == t) {
             setCurrentTab(t, true);
         }
@@ -865,6 +999,48 @@
         return setCurrentTab(newTab, false);
     }
 
+    /*package*/ void pauseCurrentTab() {
+        Tab t = getCurrentTab();
+        if (t != null) {
+            t.mMainView.onPause();
+            if (t.mSubView != null) {
+                t.mSubView.onPause();
+            }
+        }
+    }
+
+    /*package*/ void resumeCurrentTab() {
+        Tab t = getCurrentTab();
+        if (t != null) {
+            t.mMainView.onResume();
+            if (t.mSubView != null) {
+                t.mSubView.onResume();
+            }
+        }
+    }
+
+    private void putViewInForeground(WebView v, WebViewClient vc,
+                                     WebChromeClient cc) {
+        v.setWebViewClient(vc);
+        v.setWebChromeClient(cc);
+        v.setOnCreateContextMenuListener(mActivity);
+        v.setDownloadListener(mActivity);
+        v.onResume();
+    }
+
+    private void putViewInBackground(WebView v) {
+        // Set an empty callback so that default actions are not triggered.
+        v.setWebViewClient(mEmptyClient);
+        v.setWebChromeClient(mBackgroundChromeClient);
+        v.setOnCreateContextMenuListener(null);
+        // Leave the DownloadManager attached so that downloads can start in
+        // a non-active window. This can happen when going to a site that does
+        // a redirect after a period of time. The user could have switched to
+        // another tab while waiting for the download to start.
+        v.setDownloadListener(mActivity);
+        v.onPause();
+    }
+
     /**
      * If force is true, this method skips the check for newTab == current.
      */
@@ -890,7 +1066,6 @@
         mTabQueue.add(newTab);
 
         WebView mainView;
-        WebView subView;
 
         // Display the new current tab
         mCurrentTab = mTabs.indexOf(newTab);
@@ -898,19 +1073,15 @@
         boolean needRestore = (mainView == null);
         if (needRestore) {
             // Same work as in createNewTab() except don't do new Tab()
-            newTab.mMainView = mainView = createNewWebView();
+            mainView = createNewWebView();
+            newTab.setWebView(mainView);
         }
-        mainView.setWebViewClient(mActivity.getWebViewClient());
-        mainView.setWebChromeClient(mActivity.getWebChromeClient());
-        mainView.setOnCreateContextMenuListener(mActivity);
-        mainView.setDownloadListener(mActivity);
+        putViewInForeground(mainView, mActivity.getWebViewClient(),
+                            mActivity.getWebChromeClient());
         // Add the subwindow if it exists
         if (newTab.mSubViewContainer != null) {
-            subView = newTab.mSubView;
-            subView.setWebViewClient(newTab.mSubViewClient);
-            subView.setWebChromeClient(newTab.mSubViewChromeClient);
-            subView.setOnCreateContextMenuListener(mActivity);
-            subView.setDownloadListener(mActivity);
+            putViewInForeground(newTab.mSubView, newTab.mSubViewClient,
+                                newTab.mSubViewChromeClient);
         }
         if (needRestore) {
             // Have to finish setCurrentTab work before calling restoreState
@@ -925,23 +1096,9 @@
      * Put the tab in the background using all the empty/background clients.
      */
     private void putTabInBackground(Tab t) {
-        WebView mainView = t.mMainView;
-        // Set an empty callback so that default actions are not triggered.
-        mainView.setWebViewClient(mEmptyClient);
-        mainView.setWebChromeClient(mBackgroundChromeClient);
-        mainView.setOnCreateContextMenuListener(null);
-        // Leave the DownloadManager attached so that downloads can start in
-        // a non-active window. This can happen when going to a site that does
-        // a redirect after a period of time. The user could have switched to
-        // another tab while waiting for the download to start.
-        mainView.setDownloadListener(mActivity);
-        WebView subView = t.mSubView;
-        if (subView != null) {
-            // Set an empty callback so that default actions are not triggered.
-            subView.setWebViewClient(mEmptyClient);
-            subView.setWebChromeClient(mBackgroundChromeClient);
-            subView.setOnCreateContextMenuListener(null);
-            subView.setDownloadListener(mActivity);
+        putViewInBackground(t.mMainView);
+        if (t.mSubView != null) {
+            putViewInBackground(t.mSubView);
         }
     }
 
@@ -1041,6 +1198,11 @@
         data.mScale = w.getScale();
         data.mScrollX = w.getScrollX();
         data.mScrollY = w.getScrollY();
+
+        // Remember the old picture if possible.
+        if (t.mPickerData != null) {
+            data.mPicture = t.mPickerData.mPicture;
+        }
         t.mPickerData = data;
     }
     
diff --git a/src/com/android/browser/TitleBar.java b/src/com/android/browser/TitleBar.java
new file mode 100644
index 0000000..1d53e8d
--- /dev/null
+++ b/src/com/android/browser/TitleBar.java
@@ -0,0 +1,179 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.browser;
+
+import android.content.Context;
+import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.webkit.WebView;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.ProgressBar;
+import android.widget.TextView;
+
+/**
+ * This class represents a title bar for a particular "tab" or "window" in the
+ * browser.
+ */
+public class TitleBar extends LinearLayout {
+    private TextView        mTitle;
+    private TextView        mUrl;
+    private Drawable        mCloseDrawable;
+    private ImageView       mRtButton;
+    private ProgressBar     mCircularProgress;
+    private ProgressBar     mHorizontalProgress;
+    private ImageView       mFavicon;
+    private ImageView       mLockIcon;  // FIXME: Needs to be below the favicon
+    private boolean         mInLoad;
+    private boolean         mTitleSet;
+    private WebView         mWebView;
+
+    public TitleBar(Context context, WebView webview) {
+        super(context, null);
+        LayoutInflater factory = LayoutInflater.from(context);
+        factory.inflate(R.layout.title_bar, this);
+
+        mTitle = (TextView) findViewById(R.id.title);
+        mUrl = (TextView) findViewById(R.id.url);
+
+        mRtButton = (ImageView) findViewById(R.id.rt_button);
+
+        mCircularProgress = (ProgressBar) findViewById(R.id.progress_circular);
+        mHorizontalProgress = (ProgressBar) findViewById(
+                R.id.progress_horizontal);
+        mFavicon = (ImageView) findViewById(R.id.favicon);
+        mLockIcon = (ImageView) findViewById(R.id.lock_icon);
+        mWebView = webview;
+    }
+
+    /**
+     * Return the WebView associated with this TitleBar.
+     */
+    /* package */ WebView getWebView() {
+        return mWebView;
+    }
+
+    /**
+     * Determine whether a point (from a touch) hits the right button.
+     */
+    /* package */ boolean hitRightButton(int x, int y) {
+        Rect hitRect = new Rect();
+        mRtButton.getHitRect(hitRect);
+        return hitRect.contains(x - getLeft(), y - getTop());
+    }
+
+    /**
+     * Return whether the associated WebView is currently loading.  Needed to
+     * determine whether a click should stop the load or close the tab.
+     */
+    /* package */ boolean isInLoad() {
+        return mInLoad;
+    }
+
+    /**
+     * Set a new Drawable for the Favicon.
+     */
+    /* package */ void setFavicon(Drawable d) {
+        mFavicon.setImageDrawable(d);
+    }
+
+    /**
+     * Set the Drawable for the lock icon, or null to hide it.
+     */
+    /* package */ void setLock(Drawable d) {
+        if (d == null) {
+            mLockIcon.setVisibility(View.GONE);
+        } else {
+            mLockIcon.setImageDrawable(d);
+            mLockIcon.setVisibility(View.VISIBLE);
+        }
+    }
+
+    /**
+     * Update the progress, from 0 to 100.
+     */
+    /* package */ void setProgress(int newProgress) {
+        if (newProgress == mCircularProgress.getMax()) {
+            mCircularProgress.setVisibility(View.GONE);
+            mHorizontalProgress.setVisibility(View.GONE);
+            mRtButton.setVisibility(View.VISIBLE);
+            mUrl.setVisibility(View.VISIBLE);
+            if (mCloseDrawable != null) {
+                mRtButton.setImageDrawable(mCloseDrawable);
+            }
+            mInLoad = false;
+            if (!mTitleSet) {
+                mTitle.setText(mUrl.getText());
+                mUrl.setText(null);
+                mTitleSet = true;
+            }
+        } else {
+            mCircularProgress.setProgress(newProgress);
+            mHorizontalProgress.setProgress(newProgress);
+            mCircularProgress.setVisibility(View.VISIBLE);
+            mHorizontalProgress.setVisibility(View.VISIBLE);
+            mUrl.setVisibility(View.VISIBLE);
+            if (mCloseDrawable == null) {
+                // The drawable was assigned in the xml file, so it already
+                // exists.  Keep a pointer to it when we switch to the resource
+                // so we can easily switch back.
+                mCloseDrawable = mRtButton.getDrawable();
+            }
+            mRtButton.setImageResource(
+                    com.android.internal.R.drawable.ic_menu_stop);
+            mInLoad = true;
+        }
+    }
+
+    /**
+     * Update the title and url.
+     */
+    /* package */ void setTitleAndUrl(CharSequence title, CharSequence url) {
+        if (url != null) {
+            url = BrowserActivity.buildTitleUrl(url.toString());
+        }
+        if (null == title) {
+            if (mInLoad) {
+                mTitleSet = false;
+                mTitle.setText(R.string.title_bar_loading);
+            } else {
+                // If the page has no title, put the url in the title space
+                // and leave the url blank.
+                mTitle.setText(url);
+                mUrl.setText(null);
+                mTitleSet = true;
+                return;
+            }
+        } else {
+            mTitle.setText(title);
+            mTitleSet = true;
+        }
+        mUrl.setText(url);
+    }
+
+    /* package */ void setToTabPicker() {
+        mTitle.setText(R.string.tab_picker_title);
+        setFavicon(null);
+        setLock(null);
+        mCircularProgress.setVisibility(View.GONE);
+        mHorizontalProgress.setVisibility(View.GONE);
+        mUrl.setVisibility(View.INVISIBLE);
+    }
+}
diff --git a/src/com/android/browser/TitleBarSet.java b/src/com/android/browser/TitleBarSet.java
new file mode 100644
index 0000000..d26f0af
--- /dev/null
+++ b/src/com/android/browser/TitleBarSet.java
@@ -0,0 +1,370 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.browser;
+
+import android.content.Context;
+import android.database.DataSetObserver;
+import android.graphics.drawable.Drawable;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.webkit.WebView;
+import android.widget.AdapterView;
+import android.widget.Gallery;
+import android.widget.SpinnerAdapter;
+
+import java.util.Vector;
+
+/**
+ * The TitleBarSet holds a TitleBar for each open "tab" in the browser.
+ */
+public class TitleBarSet extends Gallery
+        implements AdapterView.OnItemSelectedListener {
+    private Vector<TitleBar>    mTitleBars;
+    private BrowserActivity     mBrowserActivity;
+    private View                mNewButton;
+    private int                 mCount;
+    private TitleAdapter        mTitleAdapter;
+    private boolean             mIgnoreSelectedListener;
+    private MotionEvent         mLastTouchUp;
+
+    public TitleBarSet(Context context) {
+        this(context, null);
+    }
+
+    public TitleBarSet(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        mTitleBars = new Vector<TitleBar>(TabControl.MAX_TABS);
+        mCount = 0;
+        // Now create the Plus button that goes on the right.
+        LayoutInflater factory = LayoutInflater.from(context);
+        mNewButton = factory.inflate(R.layout.new_window_button, null);
+        mTitleAdapter = new TitleAdapter();
+        setAdapter(mTitleAdapter);
+        setCallbackDuringFling(false);
+        setCallbackOnUnselectedItemClick(true);
+        setSpacing(0);
+        setOnItemSelectedListener(this);
+    }
+
+    /**
+     * Add a tab/titlebar to our set.  Called when BrowserActivity adds a new
+     * Tab to its TabControl.
+     * @param view WebView associated with this tab.  Used to determine whether
+     *             updates are going to the correct place.
+     * @param selected Whether to set the new tab to be selected.
+     */
+    /* package */ void addTab(WebView view, boolean selected) {
+        if (TabControl.MAX_TABS == mCount) {
+            return;
+        }
+        int newSelection = mCount;
+        TitleBar titleBar = new TitleBar(getContext(), view);
+        mTitleBars.add(titleBar);
+        mCount++;
+        if (TabControl.MAX_TABS == mCount) {
+            mNewButton.setEnabled(false);
+        }
+        // Need to refresh our list
+        setAdapter(mTitleAdapter);
+        mIgnoreSelectedListener = true;
+        // No need to call onItemSelected, since the Tab in BrowserActivity has
+        // already been changed.
+        if (selected) {
+            setSelection(newSelection);
+        }
+        mIgnoreSelectedListener = false;
+    }
+
+    /**
+     * Convenience method to get a particular title bar.
+     */
+    private TitleBar getTitleBarAt(int position) {
+        if (position < 0 || position >= mCount) {
+            return null;
+        }
+        return (TitleBar) mTitleBars.elementAt(position);
+    }
+
+    /**
+     * Implementation for OnItemSelectedListener
+     */
+    public void onItemSelected(AdapterView<?> parent, View view, int position,
+            long id) {
+        if (mIgnoreSelectedListener || !(view instanceof TitleBar)) {
+            return;
+        }
+        mBrowserActivity.switchToTab(position);
+        // In case the WebView finished loading while this TitleBar was out of
+        // focus, make sure all its data is up to date
+        TitleBar titleBar = getTitleBarAt(position);
+        WebView webview = titleBar.getWebView();
+        if (webview == null) {
+            // FIXME: Possible that the tab needs to be restored.
+            return;
+        }
+        if (webview.getProgress() == 100) {
+            titleBar.setProgress(100);
+            titleBar.setTitleAndUrl(webview.getTitle(), webview.getUrl());
+            // FIXME: Pass in a bitmap, so we can always update the bitmap
+            // properly
+            //titleBar.setFavicon(webview.getFavicon());
+        }
+    }
+
+    /**
+     * Implementation for OnItemSelectedListener
+     */
+    public void onNothingSelected(AdapterView<?> parent) {
+        // do nothing
+    }
+
+    /**
+     * Override from GestureDetector.OnGestureListener.  Store the MotionEvent
+     * so performItemClick can know how to handle the click.
+     */
+    public boolean onSingleTapUp(MotionEvent e) {
+        mLastTouchUp = e;
+        // super.onSingleTapUp will call performItemClick
+        boolean result = super.onSingleTapUp(e);
+        mLastTouchUp = null;
+        return result;
+    }
+
+    /**
+     * Override from View to ensure that the TitleBars get resized to match
+     * the new screen width
+     */
+    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+        super.onSizeChanged(w, h, oldw, oldh);
+        int selection = getSelectedItemPosition();
+        // Need to make sure getView gets called again
+        setAdapter(mTitleAdapter);
+        // Stay on the same tab
+        setCurrentTab(selection);
+    }
+
+    /**
+     * Override from AdapterView.  Using simple OnClickListeners overrides
+     * the GestureDetector.OnGestureListener, so we handle it here.
+     */
+    public boolean performItemClick(View view, int position, long id) {
+        if (!(view instanceof TitleBar)) {
+            // For new window button
+            return super.performItemClick(view, position, id);
+        }
+        // If we have no mLastTouchUp, this was not called from onSingleTapUp,
+        // so ignore it.
+        if (null == mLastTouchUp) {
+            return false;
+        }
+        TitleBar titleBar = (TitleBar) view;
+        // If the user clicks on a view which is not selected, the Gallery will
+        // take care of making it selected.
+        if (titleBar != getTitleBarAt(position)) {
+            return false;
+        }
+        if (titleBar.hitRightButton((int) mLastTouchUp.getX() - mScrollX,
+                (int) mLastTouchUp.getY() - mScrollY)) {
+            if (titleBar.isInLoad()) {
+                WebView webView = titleBar.getWebView();
+                if (null == webView) {
+                    // FIXME: How did we get into this situation?
+                    return false;
+                }
+                webView.stopLoading();
+            } else {
+                mBrowserActivity.closeCurrentWindow();
+            }
+        } else {
+            mBrowserActivity.bookmarksOrHistoryPicker(false, false);
+        }
+        return true;
+    }
+
+    /**
+     * Remove the tab at the given position.
+     */
+    /* package */ void removeTab(int position) {
+        if (TabControl.MAX_TABS == mCount) {
+            mNewButton.setEnabled(true);
+        }
+        mTitleBars.remove(position);
+        mCount--;
+        // Need to refresh our list
+        setAdapter(mTitleAdapter);
+    }
+
+    /**
+     * Convenience method to get the currently selected title bar.
+     */
+    private TitleBar selectedTitleBar() {
+        return getTitleBarAt(getSelectedItemPosition());
+    }
+
+    /**
+     * Set the owning BrowserActivity.  Necessary so that we can call methods
+     * on it.
+     */
+    /* package */ void setBrowserActivity(final BrowserActivity ba) {
+        mBrowserActivity = ba;
+        View.OnClickListener listener = new View.OnClickListener() {
+            public void onClick(View v) {
+                ba.openTabAndShow(BrowserActivity.EMPTY_URL_DATA, false, null);
+                ba.bookmarksOrHistoryPicker(false, true);
+            }
+        };
+        mNewButton.findViewById(R.id.button).setOnClickListener(listener);
+    }
+
+    /**
+     * Change to the tab at the new position.
+     */
+    /* package */ void setCurrentTab(int position) {
+        mIgnoreSelectedListener = true;
+        setSelection(position);
+        mIgnoreSelectedListener = false;
+    }
+
+    /**
+     * Update the Favicon of the currently selected tab.
+     * @param d The new Drawable for the Favicon
+     * @param topWindow The WebView which posted the update.  If it does not
+     *                  match the WebView of the currently selected tab, do
+     *                  nothing, since that tab is not being displayed.
+     */
+    /* package */ void setFavicon(Drawable d, WebView topWindow) {
+        TitleBar current = selectedTitleBar();
+        if (current != null && current.getWebView() == topWindow) {
+            current.setFavicon(d);
+        }
+    }
+
+    /**
+     * Update the lock icon of the currently selected tab.
+     * @param d The new Drawable for the lock icon
+     * @param topWindow The WebView which posted the update.  If it does not
+     *                  match the WebView of the currently selected tab, do
+     *                  nothing, since that tab is not being displayed.
+     */
+    /* package */ void setLock(Drawable d, WebView topWindow) {
+        TitleBar current = selectedTitleBar();
+        if (current != null && current.getWebView() == topWindow) {
+            current.setLock(d);
+        }
+    }
+    /**
+     * Update the progress of the currently selected tab.
+     * @param newProgress The progress, between 0 and 100, of the current tab.
+     * @param topWindow The WebView which posted the update.  If it does not
+     *                  match the WebView of the currently selected tab, do
+     *                  nothing, since that tab is not being displayed.
+     */
+    /* package */ void setProgress(int newProgress, WebView topWindow) {
+        TitleBar current = selectedTitleBar();
+        if (current != null && current.getWebView() == topWindow) {
+            current.setProgress(newProgress);
+        }
+    }
+    /**
+     * Update the title and URL of the currently selected tab.
+     * @param title The title of the webpage
+     * @param url   The URL of the webpage
+     * @param topWindow The WebView which posted the update.  If it does not
+     *                  match the WebView of the currently selected tab, do
+     *                  nothing, since that tab is not being displayed.
+     */
+    /* package */ void setTitleAndUrl(CharSequence title, CharSequence url,
+            WebView topWindow) {
+        TitleBar current = selectedTitleBar();
+        if (current != null && current.getWebView() == topWindow) {
+            current.setTitleAndUrl(title, url);
+        }
+    }
+
+    // FIXME: Remove
+    /* package */ void setToTabPicker() {
+        TitleBar current = selectedTitleBar();
+        if (current != null) {
+            current.setToTabPicker();
+        }
+    }
+
+    /**
+     * Custom adapter which provides the TitleBars and the NewButton to the
+     * Gallery.
+     */
+    private class TitleAdapter implements SpinnerAdapter {
+        public View getDropDownView(int position, View convertView,
+                ViewGroup parent) {
+            return null;
+        }
+        public void registerDataSetObserver(DataSetObserver observer) {}
+        public void unregisterDataSetObserver(DataSetObserver observer) {}
+        public int getCount() {
+            // To account for new window
+            return mCount + 1;
+        }
+        public Object getItem(int position) {
+            return null;
+        }
+        public long getItemId(int position) {
+            return position;
+        }
+        public boolean hasStableIds() {
+            return true;
+        }
+        public View getView(int position, View convertView, ViewGroup parent) {
+            if (mCount == position) {
+                return mNewButton;
+            }
+            TitleBar titleBar = getTitleBarAt(position);
+            Gallery.LayoutParams lp;
+            int desiredWidth = TitleBarSet.this.getWidth()
+                    - (2 * mNewButton.getWidth());
+            ViewGroup.LayoutParams old = titleBar.getLayoutParams();
+            if (old == null || !(old instanceof Gallery.LayoutParams)) {
+                lp = new Gallery.LayoutParams(desiredWidth,
+                        ViewGroup.LayoutParams.WRAP_CONTENT);
+                titleBar.setLayoutParams(lp);
+            } else {
+                lp = (Gallery.LayoutParams) old;
+                if (lp.width != desiredWidth) {
+                    lp.width = desiredWidth;
+                    titleBar.setLayoutParams(lp);
+                    requestLayout();
+                }
+            }
+            return titleBar;
+        }
+        public int getItemViewType(int position) {
+            // We are managing our own views.
+            return AdapterView.ITEM_VIEW_TYPE_IGNORE;
+        }
+        public int getViewTypeCount() {
+            return 1;
+        }
+        public boolean isEmpty() {
+            // Will never be empty, because the NewButton is always there
+            // (though sometimes disabled).
+            return false;
+        }
+    }
+}
diff --git a/src/com/android/browser/WebStorageSizeManager.java b/src/com/android/browser/WebStorageSizeManager.java
new file mode 100644
index 0000000..40d30a2
--- /dev/null
+++ b/src/com/android/browser/WebStorageSizeManager.java
@@ -0,0 +1,382 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.browser;
+
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.os.StatFs;
+import android.util.Log;
+import android.webkit.WebStorage;
+
+import java.io.File;
+import java.util.Set;
+
+
+/**
+ * Package level class for managing the disk size consumed by the WebDatabase
+ * and ApplicationCaches APIs (henceforth called Web storage).
+ *
+ * Currently, the situation on the WebKit side is as follows:
+ *  - WebDatabase enforces a quota for each origin.
+ *  - Session/LocalStorage do not enforce any disk limits.
+ *  - ApplicationCaches enforces a maximum size for all origins.
+ *
+ * The WebStorageSizeManager maintains a global limit for the disk space
+ * consumed by the WebDatabase and ApplicationCaches. As soon as WebKit will
+ * have a limit for Session/LocalStorage, this class will manage the space used
+ * by those APIs as well.
+ *
+ * The global limit is computed as a function of the size of the partition where
+ * these APIs store their data (they must store it on the same partition for
+ * this to work) and the size of the available space on that partition.
+ * The global limit is not subject to user configuration but we do provide
+ * a debug-only setting.
+ * TODO(andreip): implement the debug setting.
+ *
+ * The size of the disk space used for Web storage is initially divided between
+ * WebDatabase and ApplicationCaches as follows:
+ *
+ * 75% for WebDatabase
+ * 25% for ApplicationCaches
+ *
+ * When an origin's database usage reaches its current quota, WebKit invokes
+ * the following callback function:
+ * - exceededDatabaseQuota(Frame* frame, const String& database_name);
+ * Note that the default quota for a new origin is 0, so we will receive the
+ * 'exceededDatabaseQuota' callback before a new origin gets the chance to
+ * create its first database.
+ *
+ * When the total ApplicationCaches usage reaches its current quota, WebKit
+ * invokes the following callback function:
+ * - void reachedMaxAppCacheSize(int64_t spaceNeeded);
+ *
+ * The WebStorageSizeManager's main job is to respond to the above two callbacks
+ * by inspecting the amount of unused Web storage quota (i.e. global limit -
+ * sum of all other origins' quota) and deciding if a quota increase for the
+ * out-of-space origin is allowed or not.
+ *
+ * The default quota for an origin is min(ORIGIN_DEFAULT_QUOTA, unused_quota).
+ * Quota increases are done in steps, where the increase step is
+ * min(QUOTA_INCREASE_STEP, unused_quota).
+ *
+ * This approach has the drawback that space may remain unused if there
+ * are many websites that store a lot less content than ORIGIN_DEFAULT_QUOTA.
+ * We deal with this by picking a value for ORIGIN_DEFAULT_QUOTA that is smaller
+ * than what the HTML 5 spec recommends. At the same time, picking a very small
+ * value for ORIGIN_DEFAULT_QUOTA may create performance problems since it's
+ * more likely for origins to have to rollback and restart transactions as a
+ * result of reaching the quota more often.
+ *
+ * When all the Web storage space is used, the WebStorageSizeManager creates
+ * a system notification that will guide the user to the WebSettings UI. There,
+ * the user can free some of the Web storage space by deleting all the data used
+ * by an origin.
+ */
+class WebStorageSizeManager {
+    // Logging flags.
+    private final static boolean LOGV_ENABLED = com.android.browser.Browser.LOGV_ENABLED;
+    private final static boolean LOGD_ENABLED = com.android.browser.Browser.LOGD_ENABLED;
+    private final static String LOGTAG = "browser";
+    // The default quota value for an origin.
+    public final static long ORIGIN_DEFAULT_QUOTA = 3 * 1024 * 1024;  // 3MB
+    // The default value for quota increases.
+    public final static long QUOTA_INCREASE_STEP = 1 * 1024 * 1024;  // 1MB
+    // Extra padding space for appcache maximum size increases. This is needed
+    // because WebKit sends us an estimate of the amount of space needed
+    // but this estimate may, currently, be slightly less than what is actually
+    // needed. We therefore add some 'padding'.
+    // TODO(andreip): fix this in WebKit.
+    public final static long APPCACHE_MAXSIZE_PADDING = 512 * 1024; // 512KB
+    // The system status bar notification id.
+    private final static int OUT_OF_SPACE_ID = 1;
+    // The application context.
+    private final Context mContext;
+    // The global Web storage limit.
+    private final long mGlobalLimit;
+    // The maximum size of the application cache file.
+    private long mAppCacheMaxSize;
+
+    /**
+     * Interface used by the WebStorageSizeManager to obtain information
+     * about the underlying file system. This functionality is separated
+     * into its own interface mainly for testing purposes.
+     */
+    public interface DiskInfo {
+        /**
+         * @return the size of the free space in the file system.
+         */
+        public long getFreeSpaceSizeBytes();
+
+        /**
+         * @return the total size of the file system.
+         */
+        public long getTotalSizeBytes();
+    };
+
+    private DiskInfo mDiskInfo;
+    // For convenience, we provide a DiskInfo implementation that uses StatFs.
+    public static class StatFsDiskInfo implements DiskInfo {
+        private StatFs mFs;
+
+        public StatFsDiskInfo(String path) {
+            mFs = new StatFs(path);
+        }
+
+        public long getFreeSpaceSizeBytes() {
+            return mFs.getAvailableBlocks() * mFs.getBlockSize();
+        }
+
+        public long getTotalSizeBytes() {
+            return mFs.getBlockCount() * mFs.getBlockSize();
+        }
+    };
+
+    /**
+     * Interface used by the WebStorageSizeManager to obtain information
+     * about the appcache file. This functionality is separated into its own
+     * interface mainly for testing purposes.
+     */
+    public interface AppCacheInfo {
+        /**
+         * @return the current size of the appcache file.
+         */
+        public long getAppCacheSizeBytes();
+    };
+
+    // For convenience, we provide an AppCacheInfo implementation.
+    public static class WebKitAppCacheInfo implements AppCacheInfo {
+        // The name of the application cache file. Keep in sync with
+        // WebCore/loader/appcache/ApplicationCacheStorage.cpp
+        private final static String APPCACHE_FILE = "ApplicationCache.db";
+        private String mAppCachePath;
+
+        public WebKitAppCacheInfo(String path) {
+            mAppCachePath = path;
+        }
+
+        public long getAppCacheSizeBytes() {
+            File file = new File(mAppCachePath
+                    + File.separator
+                    + APPCACHE_FILE);
+            return file.length();
+        }
+    };
+
+    /**
+     * Public ctor
+     * @param ctx is the application context
+     * @param diskInfo is the DiskInfo instance used to query the file system.
+     * @param appCacheInfo is the AppCacheInfo used to query info about the
+     * appcache file.
+     */
+    public WebStorageSizeManager(Context ctx, DiskInfo diskInfo,
+            AppCacheInfo appCacheInfo) {
+        mContext = ctx;
+        mDiskInfo = diskInfo;
+        mGlobalLimit = getGlobalLimit();
+        // The initial max size of the app cache is either 25% of the global
+        // limit or the current size of the app cache file, whichever is bigger.
+        mAppCacheMaxSize = Math.max(mGlobalLimit / 4,
+                appCacheInfo.getAppCacheSizeBytes());
+    }
+
+    /**
+     * Returns the maximum size of the application cache.
+     */
+    public long getAppCacheMaxSize() {
+        return mAppCacheMaxSize;
+    }
+
+    /**
+     * The origin has exceeded its database quota.
+     * @param url the URL that exceeded the quota
+     * @param databaseIdentifier the identifier of the database on
+     *     which the transaction that caused the quota overflow was run
+     * @param currentQuota the current quota for the origin.
+     * @param totalUsedQuota is the sum of all origins' quota.
+     * @param quotaUpdater The callback to run when a decision to allow or
+     *     deny quota has been made. Don't forget to call this!
+     */
+    public void onExceededDatabaseQuota(String url,
+        String databaseIdentifier, long currentQuota, long totalUsedQuota,
+        WebStorage.QuotaUpdater quotaUpdater) {
+        if(LOGV_ENABLED) {
+            Log.v(LOGTAG,
+                  "Received onExceededDatabaseQuota for "
+                  + url
+                  + ":"
+                  + databaseIdentifier
+                  + "(current quota: "
+                  + currentQuota
+                  + ", total used quota: "
+                  + totalUsedQuota
+                  + ")");
+        }
+        long totalUnusedQuota = mGlobalLimit - totalUsedQuota - mAppCacheMaxSize;
+
+        if (totalUnusedQuota <= 0) {
+            // There definitely isn't any more space. Fire notifications
+            // if needed and exit.
+            if (totalUsedQuota > 0) {
+                // We only fire the notification if there are some other websites
+                // using some of the quota. This avoids the degenerate case where
+                // the first ever website to use Web storage tries to use more
+                // data than it is actually available. In such a case, showing
+                // the notification would not help at all since there is nothing
+                // the user can do.
+                scheduleOutOfSpaceNotification();
+            }
+            quotaUpdater.updateQuota(currentQuota);
+            if(LOGV_ENABLED) {
+                Log.v(LOGTAG, "onExceededDatabaseQuota: out of space.");
+            }
+            return;
+        }
+        // We have enough space inside mGlobalLimit.
+        long newOriginQuota = currentQuota;
+        if (newOriginQuota == 0) {
+            // This is a new origin. It wants an initial quota.
+            newOriginQuota =
+                Math.min(ORIGIN_DEFAULT_QUOTA, totalUnusedQuota);
+        } else {
+            // This is an origin we have seen before. It wants a quota
+            // increase.
+            newOriginQuota +=
+                Math.min(QUOTA_INCREASE_STEP, totalUnusedQuota);
+        }
+        quotaUpdater.updateQuota(newOriginQuota);
+
+        if(LOGV_ENABLED) {
+            Log.v(LOGTAG, "onExceededDatabaseQuota set new quota to "
+                    + newOriginQuota);
+        }
+    }
+
+    /**
+     * The Application Cache has exceeded its max size.
+     * @param spaceNeeded is the amount of disk space that would be needed
+     * in order for the last appcache operation to succeed.
+     * @param totalUsedQuota is the sum of all origins' quota.
+     * @param quotaUpdater A callback to inform the WebCore thread that a new
+     * app cache size is available. This callback must always be executed at
+     * some point to ensure that the sleeping WebCore thread is woken up.
+     */
+    public void onReachedMaxAppCacheSize(long spaceNeeded, long totalUsedQuota,
+            WebStorage.QuotaUpdater quotaUpdater) {
+        if(LOGV_ENABLED) {
+            Log.v(LOGTAG, "Received onReachedMaxAppCacheSize with spaceNeeded "
+                  + spaceNeeded + " bytes.");
+        }
+
+        long totalUnusedQuota = mGlobalLimit - totalUsedQuota - mAppCacheMaxSize;
+
+        if (totalUnusedQuota < spaceNeeded + APPCACHE_MAXSIZE_PADDING) {
+            // There definitely isn't any more space. Fire notifications
+            // if needed and exit.
+            if (totalUsedQuota > 0) {
+                // We only fire the notification if there are some other websites
+                // using some of the quota. This avoids the degenerate case where
+                // the first ever website to use Web storage tries to use more
+                // data than it is actually available. In such a case, showing
+                // the notification would not help at all since there is nothing
+                // the user can do.
+                scheduleOutOfSpaceNotification();
+            }
+            quotaUpdater.updateQuota(0);
+            if(LOGV_ENABLED) {
+                Log.v(LOGTAG, "onReachedMaxAppCacheSize: out of space.");
+            }
+            return;
+        }
+        // There is enough space to accommodate spaceNeeded bytes.
+        mAppCacheMaxSize += spaceNeeded + APPCACHE_MAXSIZE_PADDING;
+        quotaUpdater.updateQuota(mAppCacheMaxSize);
+
+        if(LOGV_ENABLED) {
+            Log.v(LOGTAG, "onReachedMaxAppCacheSize set new max size to "
+                    + mAppCacheMaxSize);
+        }
+    }
+
+    // Computes the global limit as a function of the size of the data
+    // partition and the amount of free space on that partition.
+    private long getGlobalLimit() {
+        long freeSpace = mDiskInfo.getFreeSpaceSizeBytes();
+        long fileSystemSize = mDiskInfo.getTotalSizeBytes();
+        return calculateGlobalLimit(fileSystemSize, freeSpace);
+    }
+
+    /*package*/ static long calculateGlobalLimit(long fileSystemSizeBytes,
+            long freeSpaceBytes) {
+        if (fileSystemSizeBytes <= 0
+                || freeSpaceBytes <= 0
+                || freeSpaceBytes > fileSystemSizeBytes) {
+            return 0;
+        }
+
+        long fileSystemSizeRatio =
+            2 << ((int) Math.floor(Math.log10(
+                    fileSystemSizeBytes / (1024 * 1024))));
+        long maxSizeBytes = (long) Math.min(Math.floor(
+                fileSystemSizeBytes / fileSystemSizeRatio),
+                Math.floor(freeSpaceBytes / 2));
+        // Round maxSizeBytes up to a multiple of 1024KB (but only if
+        // maxSizeBytes > 1MB).
+        long maxSizeStepBytes = 1024 * 1024;
+        if (maxSizeBytes < maxSizeStepBytes) {
+            return 0;
+        }
+        long roundingExtra = maxSizeBytes % maxSizeStepBytes == 0 ? 0 : 1;
+        return (maxSizeStepBytes
+                * ((maxSizeBytes / maxSizeStepBytes) + roundingExtra));
+    }
+
+    // Schedules a system notification that takes the user to the WebSettings
+    // activity when clicked.
+    private void scheduleOutOfSpaceNotification() {
+        if(LOGV_ENABLED) {
+            Log.v(LOGTAG, "scheduleOutOfSpaceNotification called.");
+        }
+        if (mContext == null) {
+            // mContext can be null if we're running unit tests.
+            return;
+        }
+        // setup the notification boilerplate.
+        int icon = R.drawable.ic_launcher_browser;
+        CharSequence title = mContext.getString(
+                R.string.webstorage_outofspace_notification_title);
+        CharSequence text = mContext.getString(
+                R.string.webstorage_outofspace_notification_text);
+        long when = System.currentTimeMillis();
+        Intent intent = new Intent(mContext, WebsiteSettingsActivity.class);
+        PendingIntent contentIntent =
+            PendingIntent.getActivity(mContext, 0, intent, 0);
+        Notification notification = new Notification(icon, title, when);
+        notification.setLatestEventInfo(mContext, title, text, contentIntent);
+        notification.flags |= Notification.FLAG_AUTO_CANCEL;
+        // Fire away.
+        String ns = Context.NOTIFICATION_SERVICE;
+        NotificationManager mgr =
+            (NotificationManager) mContext.getSystemService(ns);
+        if (mgr != null) {
+            mgr.notify(OUT_OF_SPACE_ID, notification);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/browser/WebsiteSettingsActivity.java b/src/com/android/browser/WebsiteSettingsActivity.java
new file mode 100644
index 0000000..6e1ea0a
--- /dev/null
+++ b/src/com/android/browser/WebsiteSettingsActivity.java
@@ -0,0 +1,433 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.browser;
+
+import android.app.AlertDialog;
+import android.app.ListActivity;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.database.Cursor;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.net.Uri;
+import android.os.Bundle;
+import android.provider.Browser;
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.webkit.GeolocationPermissions;
+import android.webkit.WebIconDatabase;
+import android.webkit.WebStorage;
+import android.widget.ArrayAdapter;
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemClickListener;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.Vector;
+
+/**
+ * Manage the settings for an origin.
+ * We use it to keep track of the 'HTML5' settings, i.e. database (webstorage)
+ * and Geolocation.
+ */
+public class WebsiteSettingsActivity extends ListActivity {
+
+    private String LOGTAG = "WebsiteSettingsActivity";
+    private static String sMBStored = null;
+    private SiteAdapter mAdapter = null;
+
+    class Site {
+        private String mOrigin;
+        private String mTitle;
+        private Bitmap mIcon;
+        private int mFeatures;
+
+        // These constants provide the set of features that a site may support
+        // They must be consecutive. To add a new feature, add a new FEATURE_XXX
+        // variable with value equal to the current value of FEATURE_COUNT, then
+        // increment FEATURE_COUNT.
+        private final static int FEATURE_WEB_STORAGE = 0;
+        private final static int FEATURE_GEOLOCATION = 1;
+        // The number of features available.
+        private final static int FEATURE_COUNT = 2;
+
+        public Site(String origin) {
+            mOrigin = origin;
+            mTitle = null;
+            mIcon = null;
+            mFeatures = 0;
+        }
+
+        public void addFeature(int feature) {
+            mFeatures |= (1 << feature);
+        }
+
+        public boolean hasFeature(int feature) {
+            return (mFeatures & (1 << feature)) != 0;
+        }
+
+        /**
+         * Gets the number of features supported by this site.
+         */
+        public int getFeatureCount() {
+            int count = 0;
+            for (int i = 0; i < FEATURE_COUNT; ++i) {
+                count += hasFeature(i) ? 1 : 0;
+            }
+            return count;
+        }
+
+        /**
+         * Gets the ID of the nth (zero-based) feature supported by this site.
+         * The return value is a feature ID - one of the FEATURE_XXX values.
+         * This is required to determine which feature is displayed at a given
+         * position in the list of features for this site. This is used both
+         * when populating the view and when responding to clicks on the list.
+         */
+        public int getFeatureByIndex(int n) {
+            int j = -1;
+            for (int i = 0; i < FEATURE_COUNT; ++i) {
+                j += hasFeature(i) ? 1 : 0;
+                if (j == n) {
+                    return i;
+                }
+            }
+            return -1;
+        }
+
+        public String getOrigin() {
+            return mOrigin;
+        }
+
+        public void setTitle(String title) {
+            mTitle = title;
+        }
+
+        public void setIcon(Bitmap icon) {
+            mIcon = icon;
+        }
+
+        public Bitmap getIcon() {
+            return mIcon;
+        }
+
+        public String getPrettyOrigin() {
+            return mTitle == null ? null : hideHttp(mOrigin);
+        }
+
+        public String getPrettyTitle() {
+            return mTitle == null ? hideHttp(mOrigin) : mTitle;
+        }
+
+        private String hideHttp(String str) {
+            Uri uri = Uri.parse(str);
+            return "http".equals(uri.getScheme()) ?  str.substring(7) : str;
+        }
+    }
+
+    class SiteAdapter extends ArrayAdapter<Site>
+            implements AdapterView.OnItemClickListener {
+        private int mResource;
+        private LayoutInflater mInflater;
+        private Bitmap mDefaultIcon;
+        private Site mCurrentSite;
+
+        public SiteAdapter(Context context, int rsc) {
+            super(context, rsc);
+            mResource = rsc;
+            mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+            mDefaultIcon = BitmapFactory.decodeResource(getResources(),
+                    R.drawable.ic_launcher_shortcut_browser_bookmark);
+            populateOrigins();
+        }
+
+        /**
+         * Adds the specified feature to the site corresponding to supplied
+         * origin in the map. Creates the site if it does not already exist.
+         */
+        private void addFeatureToSite(Map sites, String origin, int feature) {
+            Site site = null;
+            if (sites.containsKey(origin)) {
+                site = (Site) sites.get(origin);
+            } else {
+                site = new Site(origin);
+                sites.put(origin, site);
+            }
+            site.addFeature(feature);
+        }
+
+        public void populateOrigins() {
+            clear();
+
+            // Get the list of origins we want to display.
+            // All 'HTML 5 modules' (Database, Geolocation etc) form these
+            // origin strings using WebCore::SecurityOrigin::toString(), so it's
+            // safe to group origins here. Note that WebCore::SecurityOrigin
+            // uses 0 (which is not printed) for the port if the port is the
+            // default for the protocol. Eg http://www.google.com and
+            // http://www.google.com:80 both record a port of 0 and hence
+            // toString() == 'http://www.google.com' for both.
+            Set origins = WebStorage.getInstance().getOrigins();
+            Map sites = new HashMap<String, Site>();
+            if (origins != null) {
+                Iterator<String> iter = origins.iterator();
+                while (iter.hasNext()) {
+                    addFeatureToSite(sites, iter.next(), Site.FEATURE_WEB_STORAGE);
+                }
+            }
+            origins = GeolocationPermissions.getInstance().getOrigins();
+            if (origins != null) {
+                Iterator<String> iter = origins.iterator();
+                while (iter.hasNext()) {
+                    addFeatureToSite(sites, iter.next(), Site.FEATURE_GEOLOCATION);
+                }
+            }
+
+            // Create a map from host to origin. This is used to add metadata
+            // (title, icon) for this origin from the bookmarks DB.
+            HashMap hosts = new HashMap<String, Set<Site> >();
+            Set keys = sites.keySet();
+            Iterator<String> originIter = keys.iterator();
+            while (originIter.hasNext()) {
+                String origin = originIter.next();
+                Site site = (Site) sites.get(origin);
+                String host = Uri.parse(origin).getHost();
+                Set hostSites = null;
+                if (hosts.containsKey(host)) {
+                    hostSites = (Set) hosts.get(host);
+                } else {
+                    hostSites = new HashSet<Site>();
+                    hosts.put(host, hostSites);
+                }
+                hostSites.add(site);
+            }
+
+            // Check the bookmark DB. If we have data for a host used by any of
+            // our origins, use it to set their title and favicon
+            Cursor c = getContext().getContentResolver().query(Browser.BOOKMARKS_URI,
+                    new String[] { Browser.BookmarkColumns.URL, Browser.BookmarkColumns.TITLE,
+                    Browser.BookmarkColumns.FAVICON }, "bookmark = 1", null, null);
+
+            if ((c != null) && c.moveToFirst()) {
+                int urlIndex = c.getColumnIndex(Browser.BookmarkColumns.URL);
+                int titleIndex = c.getColumnIndex(Browser.BookmarkColumns.TITLE);
+                int faviconIndex = c.getColumnIndex(Browser.BookmarkColumns.FAVICON);
+                do {
+                    String url = c.getString(urlIndex);
+                    String host = Uri.parse(url).getHost();
+                    if (hosts.containsKey(host)) {
+                        String title = c.getString(titleIndex);
+                        Bitmap bmp = null;
+                        byte[] data = c.getBlob(faviconIndex);
+                        if (data != null) {
+                            bmp = BitmapFactory.decodeByteArray(data, 0, data.length);
+                        }
+                        Set matchingSites = (Set) hosts.get(host);
+                        Iterator<Site> sitesIter = matchingSites.iterator();
+                        while (sitesIter.hasNext()) {
+                            Site site = sitesIter.next();
+                            site.setTitle(title);
+                            if (bmp != null) {
+                                site.setIcon(bmp);
+                            }
+                        }
+                    }
+                } while (c.moveToNext());
+            }
+
+            // We can now simply populate our array with Site instances
+            keys = sites.keySet();
+            originIter = keys.iterator();
+            while (originIter.hasNext()) {
+                String origin = originIter.next();
+                Site site = (Site) sites.get(origin);
+                add(site);
+            }
+
+            if (getCount() == 0) {
+                finish(); // we close the screen
+            }
+        }
+
+        public int getCount() {
+            if (mCurrentSite == null) {
+                return super.getCount();
+            }
+            return mCurrentSite.getFeatureCount();
+        }
+
+        public String sizeValueToString(long value) {
+            float mb = (float) value / (1024.0F * 1024.0F);
+            int val = (int) (mb * 10);
+            float ret = (float) (val / 10.0F);
+            if (ret <= 0) {
+                return "0";
+            }
+            return String.valueOf(ret);
+        }
+
+        /*
+         * If we receive the back event and are displaying
+         * site's settings, we want to go back to the main
+         * list view. If not, we just do nothing (see
+         * dispatchKeyEvent() below).
+         */
+        public boolean backKeyPressed() {
+            if (mCurrentSite != null) {
+                mCurrentSite = null;
+                populateOrigins();
+                notifyDataSetChanged();
+                return true;
+            }
+            return false;
+        }
+
+        public View getView(int position, View convertView, ViewGroup parent) {
+            View view;
+            TextView title;
+            TextView subtitle;
+            ImageView icon;
+
+            if (convertView == null) {
+                view = mInflater.inflate(mResource, parent, false);
+            } else {
+                view = convertView;
+            }
+
+            title = (TextView) view.findViewById(R.id.title);
+            subtitle = (TextView) view.findViewById(R.id.subtitle);
+            icon = (ImageView) view.findViewById(R.id.icon);
+
+            if (mCurrentSite == null) {
+                setTitle(getString(R.string.pref_extras_website_settings));
+
+                Site site = getItem(position);
+                title.setText(site.getPrettyTitle());
+                subtitle.setText(site.getPrettyOrigin());
+                icon.setVisibility(View.VISIBLE);
+                Bitmap bmp = site.getIcon();
+                if (bmp == null) {
+                    bmp = mDefaultIcon;
+                }
+                icon.setImageBitmap(bmp);
+                // We set the site as the view's tag,
+                // so that we can get it in onItemClick()
+                view.setTag(site);
+            } else {
+                setTitle(mCurrentSite.getPrettyTitle());
+                icon.setVisibility(View.GONE);
+                String origin = mCurrentSite.getOrigin();
+                switch (mCurrentSite.getFeatureByIndex(position)) {
+                    case Site.FEATURE_WEB_STORAGE:
+                        long usageValue = WebStorage.getInstance().getUsageForOrigin(origin);
+                        String usage = sizeValueToString(usageValue) + " " + sMBStored;
+
+                        title.setText(R.string.webstorage_clear_data_title);
+                        subtitle.setText(usage);
+                        break;
+                    case Site.FEATURE_GEOLOCATION:
+                        title.setText(R.string.geolocation_settings_page_title);
+                        boolean allowed = GeolocationPermissions.getInstance().getAllowed(origin);
+                        subtitle.setText(allowed ?
+                                         R.string.geolocation_settings_page_summary_allowed :
+                                         R.string.geolocation_settings_page_summary_not_allowed);
+                        break;
+                }
+            }
+
+            return view;
+        }
+
+        public void onItemClick(AdapterView<?> parent,
+                                View view,
+                                int position,
+                                long id) {
+            if (mCurrentSite != null) {
+                switch (mCurrentSite.getFeatureByIndex(position)) {
+                    case Site.FEATURE_WEB_STORAGE:
+                        new AlertDialog.Builder(getContext())
+                            .setTitle(R.string.webstorage_clear_data_dialog_title)
+                            .setMessage(R.string.webstorage_clear_data_dialog_message)
+                            .setPositiveButton(R.string.webstorage_clear_data_dialog_ok_button,
+                                               new AlertDialog.OnClickListener() {
+                                public void onClick(DialogInterface dlg, int which) {
+                                    WebStorage.getInstance().deleteOrigin(mCurrentSite.getOrigin());
+                                    mCurrentSite = null;
+                                    populateOrigins();
+                                    notifyDataSetChanged();
+                                }})
+                            .setNegativeButton(R.string.webstorage_clear_data_dialog_cancel_button, null)
+                            .setIcon(android.R.drawable.ic_dialog_alert)
+                            .show();
+                        break;
+                    case Site.FEATURE_GEOLOCATION:
+                        new AlertDialog.Builder(getContext())
+                            .setTitle(R.string.geolocation_settings_page_dialog_title)
+                            .setMessage(R.string.geolocation_settings_page_dialog_message)
+                            .setPositiveButton(R.string.geolocation_settings_page_dialog_ok_button,
+                                               new AlertDialog.OnClickListener() {
+                                public void onClick(DialogInterface dlg, int which) {
+                                    GeolocationPermissions.getInstance().clear(mCurrentSite.getOrigin());
+                                    mCurrentSite = null;
+                                    populateOrigins();
+                                    notifyDataSetChanged();
+                                }})
+                            .setNegativeButton(R.string.geolocation_settings_page_dialog_cancel_button, null)
+                            .setIcon(android.R.drawable.ic_dialog_alert)
+                            .show();
+                        break;
+                }
+            } else {
+                mCurrentSite = (Site) view.getTag();
+                notifyDataSetChanged();
+            }
+        }
+    }
+
+    /**
+     * Intercepts the back key to immediately notify
+     * NativeDialog that we are done.
+     */
+    public boolean dispatchKeyEvent(KeyEvent event) {
+        if ((event.getKeyCode() == KeyEvent.KEYCODE_BACK)
+            && (event.getAction() == KeyEvent.ACTION_DOWN)) {
+            if ((mAdapter != null) && (mAdapter.backKeyPressed())){
+                return true; // event consumed
+            }
+        }
+        return super.dispatchKeyEvent(event);
+    }
+
+    @Override
+    protected void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        if (sMBStored == null) {
+            sMBStored = getString(R.string.webstorage_origin_summary_mb_stored);
+        }
+        mAdapter = new SiteAdapter(this, R.layout.application);
+        setListAdapter(mAdapter);
+        getListView().setOnItemClickListener(mAdapter);
+    }
+}
diff --git a/tests/Android.mk b/tests/Android.mk
new file mode 100644
index 0000000..f86942d
--- /dev/null
+++ b/tests/Android.mk
@@ -0,0 +1,37 @@
+# Copyright 2008, The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+# We only want this apk build for tests.
+LOCAL_MODULE_TAGS := tests
+
+LOCAL_JAVA_LIBRARIES := android.test.runner
+
+# Include all test java files.
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+# Notice that we don't have to include the src files of Browser because, by
+# running the tests using an instrumentation targeting Browser, we
+# automatically get all of its classes loaded into our environment.
+
+LOCAL_PACKAGE_NAME := BrowserTests
+
+LOCAL_INSTRUMENTATION_FOR := Browser
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_PACKAGE)
+
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
new file mode 100644
index 0000000..51715a9
--- /dev/null
+++ b/tests/AndroidManifest.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.browser.tests">
+
+    <!-- We add an application tag here just so that we can indicate that
+         this package needs to link against the android.test library,
+         which is needed when building test cases. -->
+    <application>
+        <uses-library android:name="android.test.runner" />
+    </application>
+
+    <!--
+    This declares that this app uses the instrumentation test runner targeting
+    the package of com.android.email.  To run the tests use the command:
+    "adb shell am instrument -w com.android.browser.tests/android.test.InstrumentationTestRunner"
+    -->
+    <instrumentation android:name="android.test.InstrumentationTestRunner"
+                     android:targetPackage="com.android.browser"
+                     android:label="Tests for Browser."/>
+
+</manifest>
diff --git a/tests/src/com/android/browser/WebStorageSizeManagerUnitTests.java b/tests/src/com/android/browser/WebStorageSizeManagerUnitTests.java
new file mode 100644
index 0000000..a2604e0
--- /dev/null
+++ b/tests/src/com/android/browser/WebStorageSizeManagerUnitTests.java
@@ -0,0 +1,220 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.browser;
+
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.MediumTest;
+import android.webkit.WebStorage;
+
+/**
+ * This is a series of unit tests for the WebStorageSizeManager class.
+ *
+ */
+@MediumTest
+public class WebStorageSizeManagerUnitTests extends AndroidTestCase {
+    // Used for testing the out-of-space callbacks.
+    private long mNewQuota;
+    // Callback functor that sets a new quota in case of out-of-space scenarios.
+    private class MockQuotaUpdater implements WebStorage.QuotaUpdater {
+        public void updateQuota(long newQuota) {
+            mNewQuota = newQuota;
+        }
+    }
+
+    // Mock the DiskInfo.
+    private class MockDiskInfo implements WebStorageSizeManager.DiskInfo {
+        private long mFreeSize;
+        private long mTotalSize;
+
+        public long getFreeSpaceSizeBytes() {
+            return mFreeSize;
+        }
+
+        public long getTotalSizeBytes() {
+            return mTotalSize;
+        }
+
+        public void setFreeSpaceSizeBytes(long freeSize) {
+            mFreeSize = freeSize;
+        }
+
+        public void setTotalSizeBytes(long totalSize) {
+            mTotalSize = totalSize;
+        }
+    }
+
+    // Mock the AppCacheInfo
+    public class MockAppCacheInfo implements WebStorageSizeManager.AppCacheInfo {
+        private long mAppCacheSize;
+
+        public long getAppCacheSizeBytes() {
+            return mAppCacheSize;
+        }
+
+        public void setAppCacheSizeBytes(long appCacheSize) {
+            mAppCacheSize = appCacheSize;
+        }
+    }
+
+    private MockQuotaUpdater mQuotaUpdater = new MockQuotaUpdater();
+    private final MockDiskInfo mDiskInfo = new MockDiskInfo();
+    private final MockAppCacheInfo mAppCacheInfo = new MockAppCacheInfo();
+    // Utility for making size computations easier to read.
+    private long bytes(double megabytes) {
+        return (new Double(megabytes * 1024 * 1024)).longValue();
+    }
+    /**
+     * Test the onExceededDatabaseQuota and onReachedMaxAppCacheSize callbacks
+     */
+    public void testCallbacks() {
+        long totalUsedQuota = 0;
+        final long defaultQuota = WebStorageSizeManager.ORIGIN_DEFAULT_QUOTA;  // 3MB
+        final long quotaIncrease = WebStorageSizeManager.QUOTA_INCREASE_STEP;  // 1MB
+        // We have 75 MB total, 24MB free so the global limit will be 12 MB.
+        mDiskInfo.setTotalSizeBytes(bytes(75));
+        mDiskInfo.setFreeSpaceSizeBytes(bytes(24));
+        // We have an appcache file size of 0 MB.
+        mAppCacheInfo.setAppCacheSizeBytes(0);
+        // Create the manager.
+        WebStorageSizeManager manager = new WebStorageSizeManager(null, mDiskInfo, mAppCacheInfo);
+        // We add origin 1.
+        long origin1Quota = 0;
+        manager.onExceededDatabaseQuota("1", "1", origin1Quota, totalUsedQuota, mQuotaUpdater);
+        assertEquals(defaultQuota, mNewQuota);
+        origin1Quota = mNewQuota;
+        totalUsedQuota += origin1Quota;
+
+        // We add origin 2.
+        long origin2Quota = 0;
+        manager.onExceededDatabaseQuota("2", "2", origin2Quota, totalUsedQuota, mQuotaUpdater);
+        assertEquals(defaultQuota, mNewQuota);
+        origin2Quota = mNewQuota;
+        totalUsedQuota += origin2Quota;
+
+        // Origin 1 runs out of space.
+        manager.onExceededDatabaseQuota("1", "1", origin1Quota, totalUsedQuota, mQuotaUpdater);
+        assertEquals(defaultQuota + quotaIncrease, mNewQuota);
+        totalUsedQuota -= origin1Quota;
+        origin1Quota = mNewQuota;
+        totalUsedQuota += origin1Quota;
+
+        // Origin 2 runs out of space.
+        manager.onExceededDatabaseQuota("2", "2", origin2Quota, totalUsedQuota, mQuotaUpdater);
+        assertEquals(defaultQuota + quotaIncrease, mNewQuota);
+        totalUsedQuota -= origin2Quota;
+        origin2Quota = mNewQuota;
+        totalUsedQuota += origin2Quota;
+
+        // We add origin 3. TotalUsedQuota is 8 (3 + 3 + 1 + 1). AppCacheMaxSize is 3 (12 / 4).
+        // So we have 1 MB free.
+        long origin3Quota = 0;
+        manager.onExceededDatabaseQuota("3", "3", origin3Quota, totalUsedQuota, mQuotaUpdater);
+        assertEquals(bytes(1), mNewQuota);  // 1MB
+        origin3Quota = mNewQuota;
+        totalUsedQuota += origin3Quota;
+
+        // Origin 1 runs out of space again. We're also out of space so we can't give it more.
+        manager.onExceededDatabaseQuota("1", "1", origin1Quota, totalUsedQuota, mQuotaUpdater);
+        assertEquals(origin1Quota, mNewQuota);
+
+        // We try adding a new origin. Which will fail.
+        manager.onExceededDatabaseQuota("4", "4", 0, totalUsedQuota, mQuotaUpdater);
+        assertEquals(0, mNewQuota);
+
+        // AppCache size increases to 2MB...
+        mAppCacheInfo.setAppCacheSizeBytes(bytes(2));
+        // ... and wants 2MB more. Fail.
+        manager.onReachedMaxAppCacheSize(bytes(2), totalUsedQuota, mQuotaUpdater);
+        assertEquals(0, mNewQuota);
+
+        // The user nukes origin 2
+        totalUsedQuota -= origin2Quota;
+        origin2Quota = 0;
+        // TotalUsedQuota is 5 (9 - 4). AppCacheMaxSize is 3. AppCacheSize is 2.
+        // AppCache wants 1.5MB more
+        manager.onReachedMaxAppCacheSize(bytes(1.5), totalUsedQuota, mQuotaUpdater);
+        mAppCacheInfo.setAppCacheSizeBytes(mAppCacheInfo.getAppCacheSizeBytes() + bytes(2.5));
+        assertEquals(mAppCacheInfo.getAppCacheSizeBytes(), mNewQuota);
+
+        // We try adding a new origin. This time we succeed.
+        // TotalUsedQuota is 5. AppCacheMaxSize is 4.5. So we have 12 - 9.5 = 2.5 available.
+        long origin4Quota = 0;
+        manager.onExceededDatabaseQuota("4", "4", origin4Quota, totalUsedQuota, mQuotaUpdater);
+        assertEquals(bytes(2.5), mNewQuota);
+        origin4Quota = mNewQuota;
+        totalUsedQuota += origin4Quota;
+    }
+    /**
+     * Test the application caches max size calculator.
+     */
+    public void testCalculateGlobalLimit() {
+        long fileSystemSize = 78643200;  // 75 MB
+        long freeSpaceSize = 25165824;  // 24 MB
+        long maxSize = WebStorageSizeManager.calculateGlobalLimit(fileSystemSize, freeSpaceSize);
+        assertEquals(12582912, maxSize);  // 12MB
+
+        fileSystemSize = 78643200;  // 75 MB
+        freeSpaceSize = 60 * 1024 * 1024;  // 60MB
+        maxSize = WebStorageSizeManager.calculateGlobalLimit(fileSystemSize, freeSpaceSize);
+        assertEquals(19922944, maxSize);  // 19MB
+
+        fileSystemSize = 8589934592L;  // 8 GB
+        freeSpaceSize = 4294967296L;  // 4 GB
+        maxSize = WebStorageSizeManager.calculateGlobalLimit(fileSystemSize, freeSpaceSize);
+        assertEquals(536870912L, maxSize);  // 512 MB
+
+        fileSystemSize = -14;
+        freeSpaceSize = 21;
+        maxSize = WebStorageSizeManager.calculateGlobalLimit(fileSystemSize, freeSpaceSize);
+        assertEquals(0, maxSize);
+
+        fileSystemSize = 100;
+        freeSpaceSize = 101;
+        maxSize = WebStorageSizeManager.calculateGlobalLimit(fileSystemSize, freeSpaceSize);
+        assertEquals(0, maxSize);
+
+        fileSystemSize = 3774873; // ~4.2 MB
+        freeSpaceSize = 2560000;  // ~2.4 MB
+        maxSize = WebStorageSizeManager.calculateGlobalLimit(fileSystemSize, freeSpaceSize);
+        assertEquals(2097152, maxSize);  // 2 MB
+
+        fileSystemSize = 4404019; // ~4.2 MB
+        freeSpaceSize = 3774873;  // ~3.6 MB
+        maxSize = WebStorageSizeManager.calculateGlobalLimit(fileSystemSize, freeSpaceSize);
+        assertEquals(2097152, maxSize);  // 2 MB
+
+        fileSystemSize = 4404019; // ~4.2 MB
+        freeSpaceSize = 4404019;  // ~4.2 MB
+        maxSize = WebStorageSizeManager.calculateGlobalLimit(fileSystemSize, freeSpaceSize);
+        assertEquals(3145728, maxSize);  // 3 MB
+
+        fileSystemSize = 1048576; // 1 MB
+        freeSpaceSize = 1048575;  // 1 MB - 1 byte
+        maxSize = WebStorageSizeManager.calculateGlobalLimit(fileSystemSize, freeSpaceSize);
+        assertEquals(0, maxSize);
+
+        fileSystemSize = 3774873; // ~3.6 MB
+        freeSpaceSize = 2097151;  // 2 MB - 1 byte
+        maxSize = WebStorageSizeManager.calculateGlobalLimit(fileSystemSize, freeSpaceSize);
+        assertEquals(0, maxSize);
+
+        fileSystemSize = 3774873; // ~3.6 MB
+        freeSpaceSize = 2097151;  // 2 MB
+        maxSize = WebStorageSizeManager.calculateGlobalLimit(fileSystemSize, freeSpaceSize);
+        assertEquals(0, maxSize);
+    }
+}
