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

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: review/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
« no previous file with comments | « no previous file | chrome/browser/android/offline_pages/offline_page_bridge.cc » ('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 30 matching lines...) Expand all
41 import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallbac k; 41 import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallbac k;
42 import org.chromium.chrome.browser.favicon.LargeIconBridge; 42 import org.chromium.chrome.browser.favicon.LargeIconBridge;
43 import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; 43 import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback;
44 import org.chromium.chrome.browser.metrics.StartupMetrics; 44 import org.chromium.chrome.browser.metrics.StartupMetrics;
45 import org.chromium.chrome.browser.ntp.LogoBridge.Logo; 45 import org.chromium.chrome.browser.ntp.LogoBridge.Logo;
46 import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver; 46 import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver;
47 import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; 47 import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
48 import org.chromium.chrome.browser.ntp.interests.InterestsPage; 48 import org.chromium.chrome.browser.ntp.interests.InterestsPage;
49 import org.chromium.chrome.browser.ntp.interests.InterestsPage.InterestsClickLis tener; 49 import org.chromium.chrome.browser.ntp.interests.InterestsPage.InterestsClickLis tener;
50 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; 50 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
51 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
51 import org.chromium.chrome.browser.preferences.DocumentModeManager; 52 import org.chromium.chrome.browser.preferences.DocumentModeManager;
52 import org.chromium.chrome.browser.preferences.DocumentModePreference; 53 import org.chromium.chrome.browser.preferences.DocumentModePreference;
53 import org.chromium.chrome.browser.preferences.PrefServiceBridge; 54 import org.chromium.chrome.browser.preferences.PrefServiceBridge;
54 import org.chromium.chrome.browser.preferences.PreferencesLauncher; 55 import org.chromium.chrome.browser.preferences.PreferencesLauncher;
55 import org.chromium.chrome.browser.profiles.MostVisitedSites; 56 import org.chromium.chrome.browser.profiles.MostVisitedSites;
56 import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObse rver; 57 import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObse rver;
57 import org.chromium.chrome.browser.profiles.MostVisitedSites.ThumbnailCallback; 58 import org.chromium.chrome.browser.profiles.MostVisitedSites.ThumbnailCallback;
58 import org.chromium.chrome.browser.profiles.Profile; 59 import org.chromium.chrome.browser.profiles.Profile;
59 import org.chromium.chrome.browser.search_engines.TemplateUrlService; 60 import org.chromium.chrome.browser.search_engines.TemplateUrlService;
60 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl ServiceObserver; 61 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl ServiceObserver;
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 return false; 330 return false;
330 } 331 }
331 332
332 private boolean matchURLs(String url1, String url2, boolean matchByHost) { 333 private boolean matchURLs(String url1, String url2, boolean matchByHost) {
333 if (url1 == null || url2 == null) return false; 334 if (url1 == null || url2 == null) return false;
334 return matchByHost ? UrlUtilities.sameHost(url1, url2) : url1.equals (url2); 335 return matchByHost ? UrlUtilities.sameHost(url1, url2) : url1.equals (url2);
335 } 336 }
336 337
337 @Override 338 @Override
338 public void open(String url) { 339 public void open(String url) {
340 if (mIsDestroyed) return;
341 if (isNtpOfflinePagesEnabled()) {
342 if (mOfflinePageBridge == null) {
343 mOfflinePageBridge = new OfflinePageBridge(mProfile);
344 }
345 url = OfflinePageUtils.getLaunchUrlFromOnlineUrl(
346 mNewTabPageView.getContext(), mOfflinePageBridge, url);
347 }
339 mTab.loadUrl(new LoadUrlParams(url, PageTransition.AUTO_BOOKMARK)); 348 mTab.loadUrl(new LoadUrlParams(url, PageTransition.AUTO_BOOKMARK));
340 } 349 }
341 350
342 @Override 351 @Override
343 public void onCreateContextMenu(ContextMenu menu, OnMenuItemClickListene r listener) { 352 public void onCreateContextMenu(ContextMenu menu, OnMenuItemClickListene r listener) {
344 if (mIsDestroyed) return; 353 if (mIsDestroyed) return;
345 menu.add(Menu.NONE, ID_OPEN_IN_NEW_TAB, Menu.NONE, R.string.contextm enu_open_in_new_tab) 354 menu.add(Menu.NONE, ID_OPEN_IN_NEW_TAB, Menu.NONE, R.string.contextm enu_open_in_new_tab)
346 .setOnMenuItemClickListener(listener); 355 .setOnMenuItemClickListener(listener);
347 if (PrefServiceBridge.getInstance().isIncognitoModeEnabled()) { 356 if (PrefServiceBridge.getInstance().isIncognitoModeEnabled()) {
348 menu.add(Menu.NONE, ID_OPEN_IN_INCOGNITO_TAB, Menu.NONE, 357 menu.add(Menu.NONE, ID_OPEN_IN_INCOGNITO_TAB, Menu.NONE,
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 462
454 private boolean isLocalUrl(String url) { 463 private boolean isLocalUrl(String url) {
455 return "file".equals(Uri.parse(url).getScheme()); 464 return "file".equals(Uri.parse(url).getScheme());
456 } 465 }
457 466
458 @Override 467 @Override
459 public boolean isOfflineAvailable(String pageUrl) { 468 public boolean isOfflineAvailable(String pageUrl) {
460 if (mIsDestroyed || !isNtpOfflinePagesEnabled()) return false; 469 if (mIsDestroyed || !isNtpOfflinePagesEnabled()) return false;
461 if (isLocalUrl(pageUrl)) return true; 470 if (isLocalUrl(pageUrl)) return true;
462 if (mOfflinePageBridge == null) mOfflinePageBridge = new OfflinePage Bridge(mProfile); 471 if (mOfflinePageBridge == null) mOfflinePageBridge = new OfflinePage Bridge(mProfile);
463 return mOfflinePageBridge.getPageByOnlineURL(pageUrl) != null; 472 return mOfflinePageBridge.getOfflineUrlForOnlineUrl(pageUrl) != null ;
464 } 473 }
465 474
466 @Override 475 @Override
467 public void onLogoClicked(boolean isAnimatedLogoShowing) { 476 public void onLogoClicked(boolean isAnimatedLogoShowing) {
468 if (mIsDestroyed) return; 477 if (mIsDestroyed) return;
469 478
470 if (!isAnimatedLogoShowing && mAnimatedLogoUrl != null) { 479 if (!isAnimatedLogoShowing && mAnimatedLogoUrl != null) {
471 mNewTabPageView.showLogoLoadingView(); 480 mNewTabPageView.showLogoLoadingView();
472 mLogoBridge.getAnimatedLogo(new LogoBridge.AnimatedLogoCallback( ) { 481 mLogoBridge.getAnimatedLogo(new LogoBridge.AnimatedLogoCallback( ) {
473 @Override 482 @Override
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
767 @Override 776 @Override
768 public boolean shouldCaptureThumbnail() { 777 public boolean shouldCaptureThumbnail() {
769 return mNewTabPageView.shouldCaptureThumbnail(); 778 return mNewTabPageView.shouldCaptureThumbnail();
770 } 779 }
771 780
772 @Override 781 @Override
773 public void captureThumbnail(Canvas canvas) { 782 public void captureThumbnail(Canvas canvas) {
774 mNewTabPageView.captureThumbnail(canvas); 783 mNewTabPageView.captureThumbnail(canvas);
775 } 784 }
776 } 785 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/android/offline_pages/offline_page_bridge.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698