Index: chrome/android/java_staging/src/org/chromium/chrome/browser/ntp/NativePageDialog.java |
diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/ntp/NativePageDialog.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/ntp/NativePageDialog.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5da3125204bbcdb2cceb6049c8c4a212bf5009f3 |
--- /dev/null |
+++ b/chrome/android/java_staging/src/org/chromium/chrome/browser/ntp/NativePageDialog.java |
@@ -0,0 +1,62 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.chrome.browser.ntp; |
+ |
+import android.app.Dialog; |
+import android.content.Context; |
+import android.os.Bundle; |
+import android.view.LayoutInflater; |
+import android.view.View; |
+import android.view.ViewGroup.LayoutParams; |
+import android.view.WindowManager; |
+import android.widget.FrameLayout; |
+import android.widget.ImageButton; |
+import android.widget.TextView; |
+ |
+import com.google.android.apps.chrome.R; |
+ |
+import org.chromium.chrome.browser.NativePage; |
+ |
+/** |
+ * Displays a NativePage in a full screen dialog instead of like a regular Chrome page. |
+ */ |
+public class NativePageDialog extends Dialog { |
+ private final NativePage mPage; |
+ |
+ public NativePageDialog(Context context, NativePage page) { |
+ super(context, R.style.DialogWhenLarge); |
+ mPage = page; |
+ } |
+ |
+ @Override |
+ protected void onCreate(Bundle savedInstanceState) { |
+ super.onCreate(savedInstanceState); |
+ |
+ FrameLayout view = (FrameLayout) LayoutInflater.from(getContext()).inflate( |
+ R.layout.dialog_with_titlebar, null); |
+ view.addView(mPage.getView(), 0); |
+ setContentView(view); |
+ |
+ getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); |
+ getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); |
+ |
+ TextView title = (TextView) view.findViewById(R.id.title); |
+ title.setText(mPage.getTitle()); |
+ |
+ ImageButton closeButton = (ImageButton) view.findViewById(R.id.close_button); |
+ closeButton.setOnClickListener(new View.OnClickListener() { |
+ @Override |
+ public void onClick(View v) { |
+ dismiss(); |
+ } |
+ }); |
+ } |
+ |
+ @Override |
+ public void dismiss() { |
+ super.dismiss(); |
+ if (mPage != null) mPage.destroy(); |
+ } |
+} |