Merge "Add setting for configuring zoom level on double-tap." into ics-mr0
diff --git a/res/drawable-hdpi/app_web_browser_sm.png b/res/drawable-hdpi/app_web_browser_sm.png
index f1de0de..a3f75cc 100644
--- a/res/drawable-hdpi/app_web_browser_sm.png
+++ b/res/drawable-hdpi/app_web_browser_sm.png
Binary files differ
diff --git a/res/drawable-mdpi/app_web_browser_sm.png b/res/drawable-mdpi/app_web_browser_sm.png
index 696fd2f..6ac62eb 100644
--- a/res/drawable-mdpi/app_web_browser_sm.png
+++ b/res/drawable-mdpi/app_web_browser_sm.png
Binary files differ
diff --git a/res/drawable-xhdpi/app_web_browser_sm.png b/res/drawable-xhdpi/app_web_browser_sm.png
index 35d857b..501af7f 100644
--- a/res/drawable-xhdpi/app_web_browser_sm.png
+++ b/res/drawable-xhdpi/app_web_browser_sm.png
Binary files differ
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 686cfcd..0fc9b8a 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2394,7 +2394,11 @@
*/
@Override
public void closeTab(Tab tab) {
- removeTab(tab);
+ if (tab == mTabControl.getCurrentTab()) {
+ closeCurrentTab();
+ } else {
+ removeTab(tab);
+ }
}
// Called when loading from context menu or LOAD_URL message
diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java
index d39909e..b0f3d74 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -196,8 +196,11 @@
public void updateMenuState(Tab tab, Menu menu) {
MenuItem bm = menu.findItem(R.id.bookmarks_menu_id);
if (bm != null) {
- String url = tab.getUrl();
- boolean isDataUrl = DataUri.isDataUri(url);
+ boolean isDataUrl = false;
+ if (tab != null) {
+ String url = tab.getUrl();
+ isDataUrl = DataUri.isDataUri(url);
+ }
bm.setVisible(!showingNavScreen() && !isDataUrl);
}
MenuItem nt = menu.findItem(R.id.new_tab_menu_id);
@@ -322,11 +325,17 @@
mActiveTab.capture();
if (mAnimScreen == null) {
mAnimScreen = new AnimScreen(mActivity);
+ } else {
+ mAnimScreen.mMain.setAlpha(1f);
+ mAnimScreen.mTitle.setAlpha(1f);
+ mAnimScreen.setScaleFactor(1f);
}
mAnimScreen.set(getTitleBar(), getWebView());
mCustomViewContainer.addView(mAnimScreen.mMain, COVER_SCREEN_PARAMS);
mCustomViewContainer.setVisibility(View.VISIBLE);
mCustomViewContainer.bringToFront();
+ mAnimScreen.mMain.layout(0, 0, mContentView.getWidth(),
+ mContentView.getHeight());
int fromLeft = 0;
int fromTop = getTitleBar().getHeight();
int fromRight = mContentView.getWidth();
diff --git a/src/com/android/browser/SnapshotByteArrayOutputStream.java b/src/com/android/browser/SnapshotByteArrayOutputStream.java
index bfd1a76..127eee8 100644
--- a/src/com/android/browser/SnapshotByteArrayOutputStream.java
+++ b/src/com/android/browser/SnapshotByteArrayOutputStream.java
@@ -21,8 +21,9 @@
public class SnapshotByteArrayOutputStream extends OutputStream {
- // Maximum size, just below CursorWindow's 2mb row limit
- private static final int MAX_SIZE = 2000000;
+ // Maximum size, this needs to be small enough such that an entire row
+ // can fit in CursorWindow's 2MB limit
+ private static final int MAX_SIZE = 1700000;
private ByteArrayOutputStream mStream;
public SnapshotByteArrayOutputStream() {
diff --git a/src/com/android/browser/SnapshotTab.java b/src/com/android/browser/SnapshotTab.java
index cc6eeb7..d9c71f0 100644
--- a/src/com/android/browser/SnapshotTab.java
+++ b/src/com/android/browser/SnapshotTab.java
@@ -189,17 +189,16 @@
if (web != null) {
byte[] data = result.getBlob(4);
ByteArrayInputStream bis = new ByteArrayInputStream(data);
- try {
- GZIPInputStream stream = new GZIPInputStream(bis);
- web.loadViewState(stream);
- } catch (Exception e) {
- Log.w(LOGTAG, "Failed to load view state", e);
- }
+ GZIPInputStream stream = new GZIPInputStream(bis);
+ web.loadViewState(stream);
}
mTab.mBackgroundColor = result.getInt(5);
mTab.mDateCreated = result.getLong(6);
mTab.mWebViewController.onPageFinished(mTab);
}
+ } catch (Exception e) {
+ Log.w(LOGTAG, "Failed to load view state, closing tab", e);
+ mTab.mWebViewController.closeTab(mTab);
} finally {
if (result != null) {
result.close();