Freeze tab improvements
Change-Id: I5d5e5a7a18cafdbe845fa1ef949276bdfd1996d3
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 6a951c2..986b617 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -1496,7 +1496,6 @@
final MenuItem counter = menu.findItem(R.id.dump_counters_menu_id);
counter.setVisible(showDebugSettings);
counter.setEnabled(showDebugSettings);
- menu.findItem(R.id.freeze_tab_menu_id).setVisible(showDebugSettings);
final MenuItem newtab = menu.findItem(R.id.new_tab_menu_id);
newtab.setEnabled(getTabControl().canCreateNewTab());
@@ -1605,21 +1604,20 @@
case R.id.freeze_tab_menu_id:
// TODO: Show error messages
- WebView source = getCurrentTopWebView();
+ Tab source = getTabControl().getCurrentTab();
if (source == null) break;
- Tab t = createNewTab(false, true, false);
- if (t == null) break;
- WebView pinned = t.getWebView();
- if (pinned == null) break;
+ Tab snapshot = createNewTab(false, false, false);
+ if (snapshot == null) break;
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
- source.saveViewState(bos);
+ source.saveSnapshot(bos);
ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
- pinned.loadViewState(bis);
+ snapshot.loadSnapshot(bis);
+ mUi.onTabDataChanged(snapshot);
bis.close();
bos.close();
+ setActiveTab(snapshot);
} catch (IOException e) {
- closeTab(t);
}
break;