Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1116)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappActivity.java

Issue 2018113002: Upstream: Do not show the add-to-homescreen/install-native-app infobar for WebAPKs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.webapps; 5 package org.chromium.chrome.browser.webapps;
6 6
7 import android.content.Intent; 7 import android.content.Intent;
8 import android.graphics.Bitmap; 8 import android.graphics.Bitmap;
9 import android.graphics.Color; 9 import android.graphics.Color;
10 import android.graphics.drawable.Drawable; 10 import android.graphics.drawable.Drawable;
(...skipping 19 matching lines...) Expand all
30 import org.chromium.blink_public.platform.WebDisplayMode; 30 import org.chromium.blink_public.platform.WebDisplayMode;
31 import org.chromium.chrome.R; 31 import org.chromium.chrome.R;
32 import org.chromium.chrome.browser.TabState; 32 import org.chromium.chrome.browser.TabState;
33 import org.chromium.chrome.browser.document.DocumentUtils; 33 import org.chromium.chrome.browser.document.DocumentUtils;
34 import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager; 34 import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager;
35 import org.chromium.chrome.browser.metrics.WebappUma; 35 import org.chromium.chrome.browser.metrics.WebappUma;
36 import org.chromium.chrome.browser.tab.EmptyTabObserver; 36 import org.chromium.chrome.browser.tab.EmptyTabObserver;
37 import org.chromium.chrome.browser.tab.Tab; 37 import org.chromium.chrome.browser.tab.Tab;
38 import org.chromium.chrome.browser.tab.TabDelegateFactory; 38 import org.chromium.chrome.browser.tab.TabDelegateFactory;
39 import org.chromium.chrome.browser.tab.TabObserver; 39 import org.chromium.chrome.browser.tab.TabObserver;
40 import org.chromium.chrome.browser.tab.TopControlsVisibilityDelegate;
41 import org.chromium.chrome.browser.util.ColorUtils; 40 import org.chromium.chrome.browser.util.ColorUtils;
42 import org.chromium.chrome.browser.util.UrlUtilities; 41 import org.chromium.chrome.browser.util.UrlUtilities;
43 import org.chromium.chrome.browser.widget.ControlContainer; 42 import org.chromium.chrome.browser.widget.ControlContainer;
44 import org.chromium.components.security_state.ConnectionSecurityLevel;
45 import org.chromium.content.browser.ScreenOrientationProvider; 43 import org.chromium.content.browser.ScreenOrientationProvider;
46 import org.chromium.content_public.browser.LoadUrlParams; 44 import org.chromium.content_public.browser.LoadUrlParams;
47 import org.chromium.net.NetworkChangeNotifier; 45 import org.chromium.net.NetworkChangeNotifier;
48 import org.chromium.ui.base.PageTransition; 46 import org.chromium.ui.base.PageTransition;
49 47
50 import java.io.File; 48 import java.io.File;
51 import java.io.FileNotFoundException; 49 import java.io.FileNotFoundException;
52 import java.io.FileOutputStream; 50 import java.io.FileOutputStream;
53 import java.io.IOException; 51 import java.io.IOException;
54 import java.util.concurrent.TimeUnit; 52 import java.util.concurrent.TimeUnit;
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 return R.dimen.webapp_control_container_height; 569 return R.dimen.webapp_control_container_height;
572 } 570 }
573 571
574 @Override 572 @Override
575 protected Drawable getBackgroundDrawable() { 573 protected Drawable getBackgroundDrawable() {
576 return null; 574 return null;
577 } 575 }
578 576
579 @Override 577 @Override
580 protected TabDelegateFactory createTabDelegateFactory() { 578 protected TabDelegateFactory createTabDelegateFactory() {
581 return new FullScreenDelegateFactory() { 579 return new WebappDelegateFactory(this);
582 @Override
583 public TopControlsVisibilityDelegate createTopControlsVisibilityDele gate(Tab tab) {
584 return new TopControlsVisibilityDelegate(tab) {
585 @Override
586 public boolean isShowingTopControlsEnabled() {
587 if (!super.isShowingTopControlsEnabled()) return false;
588 return shouldShowTopControls(mTab.getUrl(), mTab.getSecu rityLevel());
589 }
590
591 @Override
592 public boolean isHidingTopControlsEnabled() {
593 return !isShowingTopControlsEnabled();
594 }
595 };
596 }
597 };
598 }
599
600 public boolean shouldShowTopControls(String url, int securityLevel) {
601 // Do not show top controls when URL is not ready yet.
602 boolean visible = false;
603 if (TextUtils.isEmpty(url)) return false;
604
605 boolean isSameWebsite = UrlUtilities.sameDomainOrHost(
606 mWebappInfo.uri().toString(), url, true);
607 visible = !isSameWebsite
608 || securityLevel == ConnectionSecurityLevel.SECURITY_ERROR
609 || securityLevel == ConnectionSecurityLevel.SECURITY_WARNING;
610 return visible;
611 } 580 }
612 581
613 // We're temporarily disable CS on webapp since there are some issues. (http ://crbug.com/471950) 582 // We're temporarily disable CS on webapp since there are some issues. (http ://crbug.com/471950)
614 // TODO(changwan): re-enable it once the issues are resolved. 583 // TODO(changwan): re-enable it once the issues are resolved.
615 @Override 584 @Override
616 protected boolean isContextualSearchAllowed() { 585 protected boolean isContextualSearchAllowed() {
617 return false; 586 return false;
618 } 587 }
619 } 588 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698