diff options
Diffstat (limited to 'content/shell/android')
3 files changed, 12 insertions, 18 deletions
diff --git a/content/shell/android/java/src/org/chromium/content_shell/Shell.java b/content/shell/android/java/src/org/chromium/content_shell/Shell.java index 1eeecbfc..b7b8457 100644 --- a/content/shell/android/java/src/org/chromium/content_shell/Shell.java +++ b/content/shell/android/java/src/org/chromium/content_shell/Shell.java @@ -22,6 +22,7 @@ import android.widget.TextView.OnEditorActionListener; import org.chromium.base.CalledByNative; import org.chromium.base.JNINamespace; import org.chromium.content.browser.ContentView; +import org.chromium.content.browser.ContentViewRenderView; import org.chromium.content.browser.LoadUrlParams; import org.chromium.ui.gfx.NativeWindow; @@ -48,7 +49,7 @@ public class Shell extends LinearLayout { private ClipDrawable mProgressDrawable; - private View mContentViewRenderView; + private ContentViewRenderView mContentViewRenderView; private NativeWindow mWindow; private boolean mLoading = false; @@ -63,7 +64,7 @@ public class Shell extends LinearLayout { /** * Set the SurfaceView being renderered to as soon as it is available. */ - public void setContentViewRenderView(View contentViewRenderView) { + public void setContentViewRenderView(ContentViewRenderView contentViewRenderView) { FrameLayout contentViewHolder = (FrameLayout) findViewById(R.id.contentview_holder); if (contentViewRenderView == null) { if (mContentViewRenderView != null) { @@ -211,6 +212,7 @@ public class Shell extends LinearLayout { FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT)); mContentView.requestFocus(); + mContentViewRenderView.setCurrentContentView(mContentView); } /** diff --git a/content/shell/android/java/src/org/chromium/content_shell/ShellManager.java b/content/shell/android/java/src/org/chromium/content_shell/ShellManager.java index 9cfc2ea..91dc4c2 100644 --- a/content/shell/android/java/src/org/chromium/content_shell/ShellManager.java +++ b/content/shell/android/java/src/org/chromium/content_shell/ShellManager.java @@ -11,6 +11,7 @@ import android.widget.FrameLayout; import org.chromium.base.CalledByNative; import org.chromium.base.JNINamespace; +import org.chromium.content.browser.ContentView; import org.chromium.content.browser.ContentViewRenderView; import org.chromium.ui.gfx.NativeWindow; @@ -80,12 +81,6 @@ public class ShellManager extends FrameLayout { @SuppressWarnings("unused") @CalledByNative - private int getContentViewLayerRenderer() { - return mContentViewRenderView.getNativeContentViewLayerRenderer(); - } - - @SuppressWarnings("unused") - @CalledByNative private Object createShell() { LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); @@ -94,9 +89,8 @@ public class ShellManager extends FrameLayout { removeAllViews(); if (mActiveShell != null) { - if (mActiveShell.getContentView() != null) { - mActiveShell.getContentView().onHide(); - } + ContentView contentView = mActiveShell.getContentView(); + if (contentView != null) contentView.onHide(); mActiveShell.setContentViewRenderView(null); } @@ -104,7 +98,11 @@ public class ShellManager extends FrameLayout { addView(shellView, new FrameLayout.LayoutParams( FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT)); mActiveShell = shellView; - if (mActiveShell.getContentView() != null) mActiveShell.getContentView().onShow(); + ContentView contentView = mActiveShell.getContentView(); + if (contentView != null) { + mContentViewRenderView.setCurrentContentView(contentView); + contentView.onShow(); + } return shellView; } diff --git a/content/shell/android/shell_manager.cc b/content/shell/android/shell_manager.cc index 79f7803d..4b161a6 100644 --- a/content/shell/android/shell_manager.cc +++ b/content/shell/android/shell_manager.cc @@ -35,12 +35,6 @@ namespace content { jobject CreateShellView(Shell* shell) { JNIEnv* env = base::android::AttachCurrentThread(); jobject j_shell_manager = g_global_state.Get().j_shell_manager.obj(); - - ContentViewLayerRenderer* content_view_layer_renderer = - reinterpret_cast<ContentViewLayerRenderer*>( - Java_ShellManager_getContentViewLayerRenderer(env, j_shell_manager)); - shell->SetContentViewLayerRenderer(content_view_layer_renderer); - return Java_ShellManager_createShell(env, j_shell_manager).Release(); } |