summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/browser/Controller.java38
-rw-r--r--src/com/android/browser/Tab.java6
-rw-r--r--src/com/android/browser/WebViewController.java3
3 files changed, 24 insertions, 23 deletions
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index e20a876..5b259a9 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -480,15 +480,8 @@ public class Controller
break;
case R.id.open_newtab_context_menu_id:
final Tab parent = mTabControl.getCurrentTab();
- final Tab newTab =
- openTab(url,
- (parent != null)
- && parent.isPrivateBrowsingEnabled(),
- !mSettings.openInBackground(),
- true);
- if (newTab != null && newTab != parent) {
- parent.addChildTab(newTab);
- }
+ openTab(url, parent,
+ !mSettings.openInBackground(), true);
break;
case R.id.copy_link_context_menu_id:
copy(url);
@@ -1392,15 +1385,9 @@ public class Controller
@Override
public boolean onMenuItemClick(MenuItem item) {
final Tab parent = mTabControl.getCurrentTab();
- final Tab newTab =
- openTab(extra,
- (parent != null)
- && parent.isPrivateBrowsingEnabled(),
- !mSettings.openInBackground(),
- true);
- if (newTab != parent) {
- parent.addChildTab(newTab);
- }
+ openTab(extra, parent,
+ !mSettings.openInBackground(),
+ true);
return true;
}
});
@@ -2225,8 +2212,23 @@ public class Controller
@Override
public Tab openTab(String url, boolean incognito, boolean setActive,
boolean useCurrent) {
+ return openTab(url, incognito, setActive, useCurrent, null);
+ }
+
+ @Override
+ public Tab openTab(String url, Tab parent, boolean setActive,
+ boolean useCurrent) {
+ return openTab(url, (parent != null) && parent.isPrivateBrowsingEnabled(),
+ setActive, useCurrent, parent);
+ }
+
+ public Tab openTab(String url, boolean incognito, boolean setActive,
+ boolean useCurrent, Tab parent) {
Tab tab = createNewTab(incognito, setActive, useCurrent);
if (tab != null) {
+ if (parent != null && parent != tab) {
+ parent.addChildTab(tab);
+ }
WebView w = tab.getWebView();
if (url != null) {
loadUrl(w, url);
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index 8962475..4097334 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -855,11 +855,7 @@ class Tab {
transport.setWebView(mSubView);
} else {
final Tab newTab = mWebViewController.openTab(null,
- Tab.this.isPrivateBrowsingEnabled(),
- true, true);
- if (newTab != Tab.this) {
- Tab.this.addChildTab(newTab);
- }
+ Tab.this, true, true);
transport.setWebView(newTab.getWebView());
}
msg.sendToTarget();
diff --git a/src/com/android/browser/WebViewController.java b/src/com/android/browser/WebViewController.java
index bf3bdba..87703bd 100644
--- a/src/com/android/browser/WebViewController.java
+++ b/src/com/android/browser/WebViewController.java
@@ -104,6 +104,9 @@ public interface WebViewController {
Tab openTab(String url, boolean incognito, boolean setActive,
boolean useCurrent);
+ Tab openTab(String url, Tab parent, boolean setActive,
+ boolean useCurrent);
+
boolean switchToTab(Tab tab);
void closeTab(Tab tab);