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

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

Issue 1514833002: [Offline Pages on the NTP] Bypass the network interstitial (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@offline_badge
Patch Set: newt review 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtils.java » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.ntp; 5 package org.chromium.chrome.browser.ntp;
6 6
7 import android.annotation.TargetApi; 7 import android.annotation.TargetApi;
8 import android.app.Activity; 8 import android.app.Activity;
9 import android.app.ActivityManager; 9 import android.app.ActivityManager;
10 import android.app.Dialog; 10 import android.app.Dialog;
(...skipping 29 matching lines...) Expand all
40 import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallbac k; 40 import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallbac k;
41 import org.chromium.chrome.browser.favicon.LargeIconBridge; 41 import org.chromium.chrome.browser.favicon.LargeIconBridge;
42 import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; 42 import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback;
43 import org.chromium.chrome.browser.metrics.StartupMetrics; 43 import org.chromium.chrome.browser.metrics.StartupMetrics;
44 import org.chromium.chrome.browser.ntp.LogoBridge.Logo; 44 import org.chromium.chrome.browser.ntp.LogoBridge.Logo;
45 import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver; 45 import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver;
46 import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; 46 import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
47 import org.chromium.chrome.browser.ntp.interests.InterestsPage; 47 import org.chromium.chrome.browser.ntp.interests.InterestsPage;
48 import org.chromium.chrome.browser.ntp.interests.InterestsPage.InterestsClickLis tener; 48 import org.chromium.chrome.browser.ntp.interests.InterestsPage.InterestsClickLis tener;
49 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; 49 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
50 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
50 import org.chromium.chrome.browser.preferences.DocumentModeManager; 51 import org.chromium.chrome.browser.preferences.DocumentModeManager;
51 import org.chromium.chrome.browser.preferences.DocumentModePreference; 52 import org.chromium.chrome.browser.preferences.DocumentModePreference;
52 import org.chromium.chrome.browser.preferences.PrefServiceBridge; 53 import org.chromium.chrome.browser.preferences.PrefServiceBridge;
53 import org.chromium.chrome.browser.preferences.PreferencesLauncher; 54 import org.chromium.chrome.browser.preferences.PreferencesLauncher;
54 import org.chromium.chrome.browser.profiles.MostVisitedSites; 55 import org.chromium.chrome.browser.profiles.MostVisitedSites;
55 import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObse rver; 56 import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObse rver;
56 import org.chromium.chrome.browser.profiles.MostVisitedSites.ThumbnailCallback; 57 import org.chromium.chrome.browser.profiles.MostVisitedSites.ThumbnailCallback;
57 import org.chromium.chrome.browser.profiles.Profile; 58 import org.chromium.chrome.browser.profiles.Profile;
58 import org.chromium.chrome.browser.search_engines.TemplateUrlService; 59 import org.chromium.chrome.browser.search_engines.TemplateUrlService;
59 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl ServiceObserver; 60 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl ServiceObserver;
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 return false; 329 return false;
329 } 330 }
330 331
331 private boolean matchURLs(String url1, String url2, boolean matchByHost) { 332 private boolean matchURLs(String url1, String url2, boolean matchByHost) {
332 if (url1 == null || url2 == null) return false; 333 if (url1 == null || url2 == null) return false;
333 return matchByHost ? UrlUtilities.sameHost(url1, url2) : url1.equals (url2); 334 return matchByHost ? UrlUtilities.sameHost(url1, url2) : url1.equals (url2);
334 } 335 }
335 336
336 @Override 337 @Override
337 public void open(String url) { 338 public void open(String url) {
339 if (!mIsDestroyed && isNtpOfflinePagesEnabled()) {
newt (away) 2016/01/14 18:27:11 I'd changed the first line to "if (mIsDestroyed) r
Marc Treib 2016/01/15 13:27:35 Done.
340 if (mOfflinePageBridge == null) {
341 mOfflinePageBridge = new OfflinePageBridge(mProfile);
342 }
343 url = OfflinePageUtils.getOfflineUrlIfNecessary(
fgorski 2016/01/14 18:44:06 rename to getLaunchUrlFromOnlineUrl
Marc Treib 2016/01/15 13:27:34 Done.
344 mNewTabPageView.getContext(), mOfflinePageBridge, url);
345 }
338 mTab.loadUrl(new LoadUrlParams(url, PageTransition.AUTO_BOOKMARK)); 346 mTab.loadUrl(new LoadUrlParams(url, PageTransition.AUTO_BOOKMARK));
339 } 347 }
340 348
341 @Override 349 @Override
342 public void onCreateContextMenu(ContextMenu menu, OnMenuItemClickListene r listener) { 350 public void onCreateContextMenu(ContextMenu menu, OnMenuItemClickListene r listener) {
343 if (mIsDestroyed) return; 351 if (mIsDestroyed) return;
344 menu.add(Menu.NONE, ID_OPEN_IN_NEW_TAB, Menu.NONE, R.string.contextm enu_open_in_new_tab) 352 menu.add(Menu.NONE, ID_OPEN_IN_NEW_TAB, Menu.NONE, R.string.contextm enu_open_in_new_tab)
345 .setOnMenuItemClickListener(listener); 353 .setOnMenuItemClickListener(listener);
346 if (PrefServiceBridge.getInstance().isIncognitoModeEnabled()) { 354 if (PrefServiceBridge.getInstance().isIncognitoModeEnabled()) {
347 menu.add(Menu.NONE, ID_OPEN_IN_INCOGNITO_TAB, Menu.NONE, 355 menu.add(Menu.NONE, ID_OPEN_IN_INCOGNITO_TAB, Menu.NONE,
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 if (mIsDestroyed) return; 455 if (mIsDestroyed) return;
448 if (mFaviconHelper == null) mFaviconHelper = new FaviconHelper(); 456 if (mFaviconHelper == null) mFaviconHelper = new FaviconHelper();
449 mFaviconHelper.ensureIconIsAvailable( 457 mFaviconHelper.ensureIconIsAvailable(
450 mProfile, mTab.getWebContents(), pageUrl, iconUrl, isLargeIc on, callback); 458 mProfile, mTab.getWebContents(), pageUrl, iconUrl, isLargeIc on, callback);
451 } 459 }
452 460
453 @Override 461 @Override
454 public boolean isOfflineAvailable(String pageUrl) { 462 public boolean isOfflineAvailable(String pageUrl) {
455 if (mIsDestroyed || !isNtpOfflinePagesEnabled()) return false; 463 if (mIsDestroyed || !isNtpOfflinePagesEnabled()) return false;
456 if (mOfflinePageBridge == null) mOfflinePageBridge = new OfflinePage Bridge(mProfile); 464 if (mOfflinePageBridge == null) mOfflinePageBridge = new OfflinePage Bridge(mProfile);
457 return mOfflinePageBridge.getPageByOnlineURL(pageUrl) != null; 465 return mOfflinePageBridge.getOfflineUrlForOnlineUrl(pageUrl) != null ;
458 } 466 }
459 467
460 @Override 468 @Override
461 public void onLogoClicked(boolean isAnimatedLogoShowing) { 469 public void onLogoClicked(boolean isAnimatedLogoShowing) {
462 if (mIsDestroyed) return; 470 if (mIsDestroyed) return;
463 471
464 if (!isAnimatedLogoShowing && mAnimatedLogoUrl != null) { 472 if (!isAnimatedLogoShowing && mAnimatedLogoUrl != null) {
465 mNewTabPageView.showLogoLoadingView(); 473 mNewTabPageView.showLogoLoadingView();
466 mLogoBridge.getAnimatedLogo(new LogoBridge.AnimatedLogoCallback( ) { 474 mLogoBridge.getAnimatedLogo(new LogoBridge.AnimatedLogoCallback( ) {
467 @Override 475 @Override
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
761 @Override 769 @Override
762 public boolean shouldCaptureThumbnail() { 770 public boolean shouldCaptureThumbnail() {
763 return mNewTabPageView.shouldCaptureThumbnail(); 771 return mNewTabPageView.shouldCaptureThumbnail();
764 } 772 }
765 773
766 @Override 774 @Override
767 public void captureThumbnail(Canvas canvas) { 775 public void captureThumbnail(Canvas canvas) {
768 mNewTabPageView.captureThumbnail(canvas); 776 mNewTabPageView.captureThumbnail(canvas);
769 } 777 }
770 } 778 }
OLDNEW
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtils.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698