Commit 44bb079b authored by Tibor Goldschwendt's avatar Tibor Goldschwendt Committed by Commit Bot

Make incognito NTP a BasicNativePage

A result of this change is the removal of offset on incognito NTP
if browser controls are hidden.

Bug: 821992
Change-Id: I1aa499bf01ec2b259d4d9bcd5b8fee1edd42a5b2
Reviewed-on: https://chromium-review.googlesource.com/1001499Reviewed-by: default avatarMatthew Jones <mdjones@chromium.org>
Reviewed-by: default avatarTheresa <twellington@chromium.org>
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550386}
parent 8956ccef
...@@ -8,15 +8,13 @@ ...@@ -8,15 +8,13 @@
xmlns:chrome="http://schemas.android.com/apk/res-auto" xmlns:chrome="http://schemas.android.com/apk/res-auto"
android:id="@+id/ntp_content" android:id="@+id/ntp_content"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent" >
android:paddingTop="@dimen/tab_strip_height" >
<org.chromium.chrome.browser.ntp.NewTabPageScrollView <org.chromium.chrome.browser.ntp.NewTabPageScrollView
android:id="@+id/ntp_scrollview" android:id="@+id/ntp_scrollview"
android:background="@color/ntp_bg_incognito" android:background="@color/ntp_bg_incognito"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingTop="@dimen/toolbar_height_no_shadow"
android:fadingEdgeLength="9dp" android:fadingEdgeLength="9dp"
android:fillViewport="false" android:fillViewport="false"
android:focusable="true" android:focusable="true"
......
...@@ -8,15 +8,13 @@ ...@@ -8,15 +8,13 @@
xmlns:chrome="http://schemas.android.com/apk/res-auto" xmlns:chrome="http://schemas.android.com/apk/res-auto"
android:id="@+id/ntp_content" android:id="@+id/ntp_content"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent" >
android:paddingTop="@dimen/tab_strip_height" >
<org.chromium.chrome.browser.ntp.NewTabPageScrollView <org.chromium.chrome.browser.ntp.NewTabPageScrollView
android:id="@+id/ntp_scrollview" android:id="@+id/ntp_scrollview"
android:background="@color/ntp_bg_incognito" android:background="@color/ntp_bg_incognito"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingTop="@dimen/toolbar_height_no_shadow"
android:fadingEdgeLength="9dp" android:fadingEdgeLength="9dp"
android:fillViewport="false" android:fillViewport="false"
android:focusable="true" android:focusable="true"
......
...@@ -14,8 +14,9 @@ import android.widget.TextView; ...@@ -14,8 +14,9 @@ import android.widget.TextView;
import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.VisibleForTesting; import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.BasicNativePage;
import org.chromium.chrome.browser.ChromeFeatureList; import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.NativePage; import org.chromium.chrome.browser.NativePageHost;
import org.chromium.chrome.browser.UrlConstants; import org.chromium.chrome.browser.UrlConstants;
import org.chromium.chrome.browser.compositor.layouts.content.InvalidationAwareThumbnailProvider; import org.chromium.chrome.browser.compositor.layouts.content.InvalidationAwareThumbnailProvider;
import org.chromium.chrome.browser.help.HelpAndFeedback; import org.chromium.chrome.browser.help.HelpAndFeedback;
...@@ -23,50 +24,23 @@ import org.chromium.chrome.browser.ntp.IncognitoNewTabPageView.IncognitoNewTabPa ...@@ -23,50 +24,23 @@ import org.chromium.chrome.browser.ntp.IncognitoNewTabPageView.IncognitoNewTabPa
import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.util.ColorUtils; import org.chromium.chrome.browser.util.ColorUtils;
import org.chromium.chrome.browser.util.FeatureUtilities; import org.chromium.chrome.browser.util.FeatureUtilities;
import org.chromium.chrome.browser.vr_shell.OnExitVrRequestListener;
import org.chromium.chrome.browser.vr_shell.VrShellDelegate; import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
/** /**
* Provides functionality when the user interacts with the Incognito NTP. * Provides functionality when the user interacts with the Incognito NTP.
*/ */
public class IncognitoNewTabPage implements NativePage, InvalidationAwareThumbnailProvider { public class IncognitoNewTabPage
private final Activity mActivity; extends BasicNativePage implements InvalidationAwareThumbnailProvider {
private Activity mActivity;
private final String mTitle; private String mTitle;
private final int mBackgroundColor; private int mBackgroundColor;
private final int mThemeColor; private int mThemeColor;
protected final IncognitoNewTabPageView mIncognitoNewTabPageView; protected IncognitoNewTabPageView mIncognitoNewTabPageView;
private boolean mIsLoaded; private boolean mIsLoaded;
private final IncognitoNewTabPageManager mIncognitoNewTabPageManager = private IncognitoNewTabPageManager mIncognitoNewTabPageManager;
new IncognitoNewTabPageManager() {
@Override
public void loadIncognitoLearnMore() {
// Incognito 'Learn More' either opens a new activity or a new non-incognito tab.
// Both is not supported in VR. Request to exit VR and if we succeed show the 'Learn
// More' page in 2D.
if (VrShellDelegate.isInVr()) {
VrShellDelegate.requestToExitVr(new OnExitVrRequestListener() {
@Override
public void onSucceeded() {
showIncognitoLearnMore();
}
@Override
public void onDenied() {}
});
return;
}
showIncognitoLearnMore();
}
@Override
public void onLoadingComplete() {
mIsLoaded = true;
}
};
private void showIncognitoLearnMore() { private void showIncognitoLearnMore() {
HelpAndFeedback.getInstance(mActivity).show(mActivity, HelpAndFeedback.getInstance(mActivity).show(mActivity,
...@@ -78,9 +52,34 @@ public class IncognitoNewTabPage implements NativePage, InvalidationAwareThumbna ...@@ -78,9 +52,34 @@ public class IncognitoNewTabPage implements NativePage, InvalidationAwareThumbna
* Constructs an Incognito NewTabPage. * Constructs an Incognito NewTabPage.
* @param activity The activity used to create the new tab page's View. * @param activity The activity used to create the new tab page's View.
*/ */
public IncognitoNewTabPage(Activity activity) { public IncognitoNewTabPage(Activity activity, NativePageHost host) {
super(activity, host);
}
@Override
protected void initialize(Activity activity, final NativePageHost host) {
mActivity = activity; mActivity = activity;
mIncognitoNewTabPageManager = new IncognitoNewTabPageManager() {
@Override
public void loadIncognitoLearnMore() {
// Incognito 'Learn More' either opens a new activity or a new non-incognito tab.
// Both is not supported in VR. Request to exit VR and if we succeed show the 'Learn
// More' page in 2D.
if (VrShellDelegate.isInVr()) {
VrShellDelegate.requestToExitVrAndRunOnSuccess(
IncognitoNewTabPage.this ::showIncognitoLearnMore);
return;
}
showIncognitoLearnMore();
}
@Override
public void onLoadingComplete() {
mIsLoaded = true;
}
};
mTitle = activity.getResources().getString(R.string.button_new_tab); mTitle = activity.getResources().getString(R.string.button_new_tab);
mBackgroundColor = mBackgroundColor =
ApiCompatibilityUtils.getColor(activity.getResources(), R.color.ntp_bg_incognito); ApiCompatibilityUtils.getColor(activity.getResources(), R.color.ntp_bg_incognito);
......
...@@ -34,7 +34,7 @@ public class NativePageFactory { ...@@ -34,7 +34,7 @@ public class NativePageFactory {
protected NativePage buildNewTabPage(ChromeActivity activity, Tab tab, protected NativePage buildNewTabPage(ChromeActivity activity, Tab tab,
TabModelSelector tabModelSelector) { TabModelSelector tabModelSelector) {
if (tab.isIncognito()) { if (tab.isIncognito()) {
return new IncognitoNewTabPage(activity); return new IncognitoNewTabPage(activity, new TabShim(tab));
} }
if (ChromeFeatureList.isEnabled(ChromeFeatureList.INTEREST_FEED_CONTENT_SUGGESTIONS)) { if (ChromeFeatureList.isEnabled(ChromeFeatureList.INTEREST_FEED_CONTENT_SUGGESTIONS)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment