move subwindow handling to UI
added sub view creation to WebViewFactory
removed WebView from subview layout
use WebVIewFactory for creating the SubWebView
moved layout/view related code to UI
Change-Id: Id5b1905e4c36814fe7cc047cbd97128235d7e65e
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index ec42584..b12b317 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -36,7 +36,6 @@
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
-import android.view.View.OnClickListener;
import android.view.ViewStub;
import android.webkit.ConsoleMessage;
import android.webkit.DownloadListener;
@@ -53,7 +52,6 @@
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.FrameLayout;
-import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -1278,15 +1276,7 @@
*/
boolean createSubWindow() {
if (mSubView == null) {
- mWebViewController.endActionMode();
- mSubViewContainer = mInflateService.inflate(
- R.layout.browser_subwindow, null);
- mSubView = (WebView) mSubViewContainer.findViewById(R.id.webview);
- mSubView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
- // use trackball directly
- mSubView.setMapTrackballToArrowKeys(false);
- // Enable the built-in zoom
- mSubView.getSettings().setBuiltInZoomControls(true);
+ mWebViewController.createSubWindow(this);
mSubView.setWebViewClient(new SubWindowClient(mWebViewClient,
mWebViewController));
mSubView.setWebChromeClient(new SubWindowChromeClient(
@@ -1307,15 +1297,6 @@
}
});
mSubView.setOnCreateContextMenuListener(mActivity);
- final BrowserSettings s = BrowserSettings.getInstance();
- s.addObserver(mSubView.getSettings()).update(s, null);
- final ImageButton cancel = (ImageButton) mSubViewContainer
- .findViewById(R.id.subwindow_close);
- cancel.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- mSubView.getWebChromeClient().onCloseWindow(mSubView);
- }
- });
return true;
}
return false;
@@ -1463,10 +1444,18 @@
return mSubView;
}
+ void setSubWebView(WebView subView) {
+ mSubView = subView;
+ }
+
View getSubViewContainer() {
return mSubViewContainer;
}
+ void setSubViewContainer(View subViewContainer) {
+ mSubViewContainer = subViewContainer;
+ }
+
/**
* @return The geolocation permissions prompt for this tab.
*/