diff options
author | Stewart Chao <stewartc@codeaurora.org> | 2014-12-01 18:28:22 -0500 |
---|---|---|
committer | WebTech Code Review <code-review@localhost> | 2014-12-17 12:20:20 -0800 |
commit | e0e132e951043cab9386a105f9455940f28948cd (patch) | |
tree | f98ae5e00b99b47b93c6284f5fa8bea09b4c2a8f | |
parent | 1e040c7c1ad54485a8eceabe10d6921106077eb6 (diff) | |
download | android_packages_apps_Gello-e0e132e951043cab9386a105f9455940f28948cd.tar.gz android_packages_apps_Gello-e0e132e951043cab9386a105f9455940f28948cd.tar.bz2 android_packages_apps_Gello-e0e132e951043cab9386a105f9455940f28948cd.zip |
Start background tabs hidden
Background tabs should start using the policy OPEN_BACKGROUND_TAB
so that Blink does not try to render the non-visible view.
Change-Id: I213e733c1a97bc1aae4104691b4c57f6c8bf3f3e
Fixes-issue: SWE-2733
-rw-r--r-- | src/com/android/browser/BrowserWebView.java | 10 | ||||
-rw-r--r-- | src/com/android/browser/BrowserWebViewFactory.java | 11 | ||||
-rw-r--r-- | src/com/android/browser/Controller.java | 2 | ||||
-rw-r--r-- | src/com/android/browser/TabControl.java | 18 | ||||
-rw-r--r-- | src/com/android/browser/WebViewFactory.java | 2 |
5 files changed, 36 insertions, 7 deletions
diff --git a/src/com/android/browser/BrowserWebView.java b/src/com/android/browser/BrowserWebView.java index e2348a53..9215fe51 100644 --- a/src/com/android/browser/BrowserWebView.java +++ b/src/com/android/browser/BrowserWebView.java @@ -60,6 +60,16 @@ public class BrowserWebView extends WebView implements WebView.TitleBarDelegate * @param defStyle */ public BrowserWebView( + Context context, AttributeSet attrs, int defStyle, boolean privateBrowsing, boolean backgroundTab) { + super(context, attrs, defStyle, privateBrowsing, backgroundTab); + } + + /** + * @param context + * @param attrs + * @param defStyle + */ + public BrowserWebView( Context context, AttributeSet attrs, int defStyle, boolean privateBrowsing) { super(context, attrs, defStyle, privateBrowsing); } diff --git a/src/com/android/browser/BrowserWebViewFactory.java b/src/com/android/browser/BrowserWebViewFactory.java index 82dd208a..26b69509 100644 --- a/src/com/android/browser/BrowserWebViewFactory.java +++ b/src/com/android/browser/BrowserWebViewFactory.java @@ -36,8 +36,8 @@ public class BrowserWebViewFactory implements WebViewFactory { } protected WebView instantiateWebView(AttributeSet attrs, int defStyle, - boolean privateBrowsing) { - return new BrowserWebView(mContext, attrs, defStyle, privateBrowsing); + boolean privateBrowsing, boolean backgroundTab) { + return new BrowserWebView(mContext, attrs, defStyle, privateBrowsing, backgroundTab); } @Override @@ -47,7 +47,12 @@ public class BrowserWebViewFactory implements WebViewFactory { @Override public WebView createWebView(boolean privateBrowsing) { - WebView w = instantiateWebView(null, android.R.attr.webViewStyle, privateBrowsing); + return createWebView(privateBrowsing, false); + } + + @Override + public WebView createWebView(boolean privateBrowsing, boolean backgroundTab) { + WebView w = instantiateWebView(null, android.R.attr.webViewStyle, privateBrowsing, backgroundTab); initWebViewSettings(w); return w; } diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java index 733e1221..f0aa5572 100644 --- a/src/com/android/browser/Controller.java +++ b/src/com/android/browser/Controller.java @@ -2953,7 +2953,7 @@ public class Controller boolean useCurrent) { Tab tab = null; if (mTabControl.canCreateNewTab()) { - tab = mTabControl.createNewTab(incognito); + tab = mTabControl.createNewTab(incognito, !setActive); addTab(tab); if (setActive) { setActiveTab(tab); diff --git a/src/com/android/browser/TabControl.java b/src/com/android/browser/TabControl.java index 0d16b594..bdf21da9 100644 --- a/src/com/android/browser/TabControl.java +++ b/src/com/android/browser/TabControl.java @@ -202,17 +202,25 @@ class TabControl { * number of open tabs. */ Tab createNewTab(boolean privateBrowsing) { - return createNewTab(null, privateBrowsing); + return createNewTab(null, privateBrowsing, false); + } + + Tab createNewTab(boolean privateBrowsing, boolean backgroundTab) { + return createNewTab(null, privateBrowsing, backgroundTab); } Tab createNewTab(Bundle state, boolean privateBrowsing) { + return createNewTab(null, privateBrowsing, false); + } + + Tab createNewTab(Bundle state, boolean privateBrowsing, boolean backgroundTab) { int size = mTabs.size(); // Return false if we have maxed out on tabs if (!canCreateNewTab()) { return null; } - final WebView w = createNewWebView(privateBrowsing); + final WebView w = createNewWebView(privateBrowsing, backgroundTab); // Create a new tab and add it to the tab list Tab t = new Tab(mController, w, state); @@ -661,7 +669,11 @@ class TabControl { * WebView. */ private WebView createNewWebView(boolean privateBrowsing) { - return mController.getWebViewFactory().createWebView(privateBrowsing); + return createNewWebView(privateBrowsing, false); + } + + private WebView createNewWebView(boolean privateBrowsing, boolean backgroundTab) { + return mController.getWebViewFactory().createWebView(privateBrowsing, backgroundTab); } /** diff --git a/src/com/android/browser/WebViewFactory.java b/src/com/android/browser/WebViewFactory.java index 3ebd5731..12327daf 100644 --- a/src/com/android/browser/WebViewFactory.java +++ b/src/com/android/browser/WebViewFactory.java @@ -25,6 +25,8 @@ public interface WebViewFactory { public WebView createWebView(boolean privateBrowsing); + public WebView createWebView(boolean privateBrowsing, boolean backgroundTab); + public WebView createSubWebView(boolean privateBrowsing); } |