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

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

Issue 1558553002: Lo-Fi snackbar should only be shown for the first q=low response of a page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 11 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; 5 package org.chromium.chrome.browser;
6 6
7 import android.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.annotation.TargetApi; 8 import android.annotation.TargetApi;
9 import android.app.Activity; 9 import android.app.Activity;
10 import android.app.SearchManager; 10 import android.app.SearchManager;
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager; 80 import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager;
81 import org.chromium.chrome.browser.gsa.ContextReporter; 81 import org.chromium.chrome.browser.gsa.ContextReporter;
82 import org.chromium.chrome.browser.gsa.GSAServiceClient; 82 import org.chromium.chrome.browser.gsa.GSAServiceClient;
83 import org.chromium.chrome.browser.gsa.GSAState; 83 import org.chromium.chrome.browser.gsa.GSAState;
84 import org.chromium.chrome.browser.help.HelpAndFeedback; 84 import org.chromium.chrome.browser.help.HelpAndFeedback;
85 import org.chromium.chrome.browser.infobar.InfoBarContainer; 85 import org.chromium.chrome.browser.infobar.InfoBarContainer;
86 import org.chromium.chrome.browser.init.AsyncInitializationActivity; 86 import org.chromium.chrome.browser.init.AsyncInitializationActivity;
87 import org.chromium.chrome.browser.metrics.LaunchMetrics; 87 import org.chromium.chrome.browser.metrics.LaunchMetrics;
88 import org.chromium.chrome.browser.metrics.StartupMetrics; 88 import org.chromium.chrome.browser.metrics.StartupMetrics;
89 import org.chromium.chrome.browser.metrics.UmaSessionStats; 89 import org.chromium.chrome.browser.metrics.UmaSessionStats;
90 import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
91 import org.chromium.chrome.browser.nfc.BeamController; 90 import org.chromium.chrome.browser.nfc.BeamController;
92 import org.chromium.chrome.browser.nfc.BeamProvider; 91 import org.chromium.chrome.browser.nfc.BeamProvider;
93 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; 92 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
94 import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; 93 import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper;
95 import org.chromium.chrome.browser.pageinfo.WebsiteSettingsPopup; 94 import org.chromium.chrome.browser.pageinfo.WebsiteSettingsPopup;
96 import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomiza tions; 95 import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomiza tions;
97 import org.chromium.chrome.browser.preferences.ChromePreferenceManager; 96 import org.chromium.chrome.browser.preferences.ChromePreferenceManager;
98 import org.chromium.chrome.browser.preferences.PrefServiceBridge; 97 import org.chromium.chrome.browser.preferences.PrefServiceBridge;
99 import org.chromium.chrome.browser.preferences.PreferencesLauncher; 98 import org.chromium.chrome.browser.preferences.PreferencesLauncher;
100 import org.chromium.chrome.browser.printing.TabPrinter; 99 import org.chromium.chrome.browser.printing.TabPrinter;
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 mReaderModeManager = new ReaderModeManager(getTabModelSelector(), th is); 453 mReaderModeManager = new ReaderModeManager(getTabModelSelector(), th is);
455 if (mToolbarManager != null) { 454 if (mToolbarManager != null) {
456 mToolbarManager.addFindToolbarObserver( 455 mToolbarManager.addFindToolbarObserver(
457 mReaderModeManager.getFindToolbarObserver()); 456 mReaderModeManager.getFindToolbarObserver());
458 } 457 }
459 } 458 }
460 459
461 TraceEvent.end("ChromeActivity:CompositorInitialization"); 460 TraceEvent.end("ChromeActivity:CompositorInitialization");
462 } 461 }
463 462
463 public void showLoFiPopup(Tab tab) {
464 if (tab.isHidden()) {
465 TabObserver tabObserver = new EmptyTabObserver() {
466 @Override
467 public void onShown(Tab tab) {
468 mLoFiBarPopupController.showLoFiBar(tab);
469 tab.removeObserver(this);
470 }
471 };
472 tab.addObserver(tabObserver);
473 return;
474 }
475 mLoFiBarPopupController.showLoFiBar(tab);
476 }
477
464 /** 478 /**
465 * Sets the {@link TabModelSelector} owned by this {@link ChromeActivity}. 479 * Sets the {@link TabModelSelector} owned by this {@link ChromeActivity}.
466 * @param tabModelSelector A {@link TabModelSelector} instance. 480 * @param tabModelSelector A {@link TabModelSelector} instance.
467 */ 481 */
468 protected void setTabModelSelector(TabModelSelector tabModelSelector) { 482 protected void setTabModelSelector(TabModelSelector tabModelSelector) {
469 mTabModelSelector = tabModelSelector; 483 mTabModelSelector = tabModelSelector;
470 484
471 if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.d estroy(); 485 if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.d estroy();
472 mTabModelSelectorTabObserver = new TabModelSelectorTabObserver(tabModelS elector) { 486 mTabModelSelectorTabObserver = new TabModelSelectorTabObserver(tabModelS elector) {
473 @Override 487 @Override
474 public void didFirstVisuallyNonEmptyPaint(Tab tab) { 488 public void didFirstVisuallyNonEmptyPaint(Tab tab) {
475 if (DataUseTabUIManager.checkAndResetDataUseTrackingStarted(tab) ) { 489 if (DataUseTabUIManager.checkAndResetDataUseTrackingStarted(tab) ) {
476 mDataUseSnackbarController.showDataUseTrackingStartedBar(); 490 mDataUseSnackbarController.showDataUseTrackingStartedBar();
477 } else if (DataUseTabUIManager.getOptedOutOfDataUseDialog(getApp licationContext()) 491 } else if (DataUseTabUIManager.getOptedOutOfDataUseDialog(getApp licationContext())
478 && DataUseTabUIManager.checkAndResetDataUseTrackingEnded (tab)) { 492 && DataUseTabUIManager.checkAndResetDataUseTrackingEnded (tab)) {
479 mDataUseSnackbarController.showDataUseTrackingEndedBar(); 493 mDataUseSnackbarController.showDataUseTrackingEndedBar();
480 } 494 }
481
482 if (!tab.isNativePage() && !tab.isIncognito()
483 && DataReductionProxySettings.getInstance().wasLoFiModeA ctiveOnMainFrame()
484 && DataReductionProxySettings.getInstance().canUseDataRe ductionProxy(
485 tab.getUrl())) {
486 if (tab.isHidden()) {
487 TabObserver tabObserver = new EmptyTabObserver() {
488 @Override
489 public void onShown(Tab tab) {
490 mLoFiBarPopupController.showLoFiBar(tab);
491 tab.removeObserver(this);
492 }
493 };
494 tab.addObserver(tabObserver);
495 return;
496 }
497 mLoFiBarPopupController.showLoFiBar(tab);
498 }
499 } 495 }
500 496
501 @Override 497 @Override
502 public void onShown(Tab tab) { 498 public void onShown(Tab tab) {
503 setStatusBarColor(tab, tab.getThemeColor()); 499 setStatusBarColor(tab, tab.getThemeColor());
504 } 500 }
505 501
506 @Override 502 @Override
507 public void onHidden(Tab tab) { 503 public void onHidden(Tab tab) {
508 mLoFiBarPopupController.dismissLoFiBar(); 504 mLoFiBarPopupController.dismissLoFiBar();
(...skipping 1097 matching lines...) Expand 10 before | Expand all | Expand 10 after
1606 public static int getThemeId() { 1602 public static int getThemeId() {
1607 boolean useLowEndTheme = 1603 boolean useLowEndTheme =
1608 SysUtils.isLowEndDevice() && Build.VERSION.SDK_INT >= Build.VERS ION_CODES.LOLLIPOP; 1604 SysUtils.isLowEndDevice() && Build.VERSION.SDK_INT >= Build.VERS ION_CODES.LOLLIPOP;
1609 return (useLowEndTheme ? R.style.MainTheme_LowEnd : R.style.MainTheme); 1605 return (useLowEndTheme ? R.style.MainTheme_LowEnd : R.style.MainTheme);
1610 } 1606 }
1611 1607
1612 private void setLowEndTheme() { 1608 private void setLowEndTheme() {
1613 if (getThemeId() == R.style.MainTheme_LowEnd) setTheme(R.style.MainTheme _LowEnd); 1609 if (getThemeId() == R.style.MainTheme_LowEnd) setTheme(R.style.MainTheme _LowEnd);
1614 } 1610 }
1615 } 1611 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698