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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java

Issue 2014433002: Fix theme colors not updating when navigating back/from the NTP. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix tests Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java
index f5463a0403b887f6fe10c7a059442765aba5f6c8..cff1092c103f04015da4470639f3123722fe0b96 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java
@@ -4,8 +4,6 @@
package org.chromium.chrome.browser.tab;
-import android.content.Context;
-import android.graphics.Color;
import android.os.SystemClock;
import android.support.annotation.IntDef;
import android.view.View;
@@ -23,10 +21,8 @@ import org.chromium.chrome.browser.metrics.UmaSessionStats;
import org.chromium.chrome.browser.metrics.UmaUtils;
import org.chromium.chrome.browser.policy.PolicyAuditor;
import org.chromium.chrome.browser.policy.PolicyAuditor.AuditEvent;
-import org.chromium.components.security_state.ConnectionSecurityLevel;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.browser.WebContentsObserver;
-import org.chromium.ui.base.DeviceFormFactor;
import java.util.concurrent.TimeUnit;
@@ -65,12 +61,10 @@ public class TabWebContentsObserver extends WebContentsObserver {
private static final int TAB_RENDERER_EXIT_STATUS_MAX = 6;
private final Tab mTab;
- private int mThemeColor;
public TabWebContentsObserver(WebContents webContents, Tab tab) {
super(webContents);
mTab = tab;
- mThemeColor = mTab.getDefaultThemeColor();
}
@Override
@@ -267,32 +261,14 @@ public class TabWebContentsObserver extends WebContentsObserver {
@Override
public void didChangeThemeColor(int color) {
- int securityLevel = mTab.getSecurityLevel();
- if (securityLevel == ConnectionSecurityLevel.SECURITY_ERROR
- || securityLevel == ConnectionSecurityLevel.SECURITY_WARNING
- || securityLevel == ConnectionSecurityLevel.SECURITY_POLICY_WARNING) {
- color = mTab.getDefaultThemeColor();
- }
- if (mTab.isShowingInterstitialPage()) color = mTab.getDefaultThemeColor();
- if (!isThemeColorEnabled(mTab.getApplicationContext())) {
- color = mTab.getDefaultThemeColor();
- }
- if (color == Color.TRANSPARENT) color = mTab.getDefaultThemeColor();
- if (mTab.isIncognito()) color = mTab.getDefaultThemeColor();
- color |= 0xFF000000;
- if (mTab.getThemeColor() == color) return;
- mThemeColor = color;
- RewindableIterator<TabObserver> observers = mTab.getTabObservers();
- while (observers.hasNext()) {
- observers.next().onDidChangeThemeColor(mTab, mTab.getThemeColor());
- }
+ mTab.updateThemeColorIfNeeded();
}
@Override
public void didAttachInterstitialPage() {
mTab.getInfoBarContainer().setVisibility(View.INVISIBLE);
mTab.showRenderedPage();
- didChangeThemeColor(mTab.getDefaultThemeColor());
+ mTab.updateThemeColorIfNeeded();
RewindableIterator<TabObserver> observers = mTab.getTabObservers();
while (observers.hasNext()) {
@@ -312,7 +288,7 @@ public class TabWebContentsObserver extends WebContentsObserver {
@Override
public void didDetachInterstitialPage() {
mTab.getInfoBarContainer().setVisibility(View.VISIBLE);
- didChangeThemeColor(mTab.getWebContents().getThemeColor(mTab.getDefaultThemeColor()));
+ mTab.updateThemeColorIfNeeded();
RewindableIterator<TabObserver> observers = mTab.getTabObservers();
while (observers.hasNext()) {
@@ -341,15 +317,4 @@ public class TabWebContentsObserver extends WebContentsObserver {
mTab.getApplicationContext(), mTab.getId(), false, false, mTab.getUrl());
super.destroy();
}
-
- /**
- * @return The theme-color for this web contents.
- */
- int getThemeColor() {
- return mThemeColor;
- }
-
- private static boolean isThemeColorEnabled(Context context) {
- return !DeviceFormFactor.isTablet(context);
- }
}

Powered by Google App Engine
This is Rietveld 408576698