OLD | NEW |
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.toolbar; | 5 package org.chromium.chrome.browser.toolbar; |
6 | 6 |
7 import android.content.Context; | 7 import android.content.Context; |
8 import android.content.res.Configuration; | 8 import android.content.res.Configuration; |
9 import android.graphics.drawable.Drawable; | 9 import android.graphics.drawable.Drawable; |
10 import android.os.Handler; | 10 import android.os.Handler; |
(...skipping 24 matching lines...) Expand all Loading... |
35 import org.chromium.chrome.browser.bookmarks.BookmarkBridge; | 35 import org.chromium.chrome.browser.bookmarks.BookmarkBridge; |
36 import org.chromium.chrome.browser.compositor.Invalidator; | 36 import org.chromium.chrome.browser.compositor.Invalidator; |
37 import org.chromium.chrome.browser.compositor.layouts.EmptyOverviewModeObserver; | 37 import org.chromium.chrome.browser.compositor.layouts.EmptyOverviewModeObserver; |
38 import org.chromium.chrome.browser.compositor.layouts.Layout; | 38 import org.chromium.chrome.browser.compositor.layouts.Layout; |
39 import org.chromium.chrome.browser.compositor.layouts.LayoutManager; | 39 import org.chromium.chrome.browser.compositor.layouts.LayoutManager; |
40 import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior; | 40 import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior; |
41 import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior.Overv
iewModeObserver; | 41 import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior.Overv
iewModeObserver; |
42 import org.chromium.chrome.browser.compositor.layouts.SceneChangeObserver; | 42 import org.chromium.chrome.browser.compositor.layouts.SceneChangeObserver; |
43 import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager; | 43 import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager; |
44 import org.chromium.chrome.browser.fullscreen.FullscreenManager; | 44 import org.chromium.chrome.browser.fullscreen.FullscreenManager; |
| 45 import org.chromium.chrome.browser.navigation.NavigationHandler; |
45 import org.chromium.chrome.browser.ntp.IncognitoNewTabPage; | 46 import org.chromium.chrome.browser.ntp.IncognitoNewTabPage; |
46 import org.chromium.chrome.browser.ntp.NativePageFactory; | 47 import org.chromium.chrome.browser.ntp.NativePageFactory; |
47 import org.chromium.chrome.browser.ntp.NewTabPage; | 48 import org.chromium.chrome.browser.ntp.NewTabPage; |
48 import org.chromium.chrome.browser.omnibox.LocationBar; | 49 import org.chromium.chrome.browser.omnibox.LocationBar; |
49 import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; | 50 import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; |
50 import org.chromium.chrome.browser.partnercustomizations.HomepageManager; | 51 import org.chromium.chrome.browser.partnercustomizations.HomepageManager; |
51 import org.chromium.chrome.browser.partnercustomizations.HomepageManager.Homepag
eStateListener; | 52 import org.chromium.chrome.browser.partnercustomizations.HomepageManager.Homepag
eStateListener; |
52 import org.chromium.chrome.browser.profiles.Profile; | 53 import org.chromium.chrome.browser.profiles.Profile; |
53 import org.chromium.chrome.browser.search_engines.TemplateUrlService; | 54 import org.chromium.chrome.browser.search_engines.TemplateUrlService; |
54 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl
; | 55 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl
; |
55 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl
ServiceObserver; | 56 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl
ServiceObserver; |
56 import org.chromium.chrome.browser.tab.EmptyTabObserver; | 57 import org.chromium.chrome.browser.tab.EmptyTabObserver; |
57 import org.chromium.chrome.browser.tab.Tab; | 58 import org.chromium.chrome.browser.tab.Tab; |
58 import org.chromium.chrome.browser.tab.TabObserver; | 59 import org.chromium.chrome.browser.tab.TabObserver; |
59 import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver; | 60 import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver; |
60 import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver; | 61 import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver; |
61 import org.chromium.chrome.browser.tabmodel.TabModel; | 62 import org.chromium.chrome.browser.tabmodel.TabModel; |
62 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; | 63 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; |
63 import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType; | 64 import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType; |
64 import org.chromium.chrome.browser.tabmodel.TabModelObserver; | 65 import org.chromium.chrome.browser.tabmodel.TabModelObserver; |
65 import org.chromium.chrome.browser.tabmodel.TabModelSelector; | 66 import org.chromium.chrome.browser.tabmodel.TabModelSelector; |
66 import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver; | 67 import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver; |
67 import org.chromium.chrome.browser.toolbar.ActionModeController.ActionBarDelegat
e; | 68 import org.chromium.chrome.browser.toolbar.ActionModeController.ActionBarDelegat
e; |
68 import org.chromium.chrome.browser.util.FeatureUtilities; | 69 import org.chromium.chrome.browser.util.FeatureUtilities; |
69 import org.chromium.chrome.browser.widget.findinpage.FindToolbarManager; | 70 import org.chromium.chrome.browser.widget.findinpage.FindToolbarManager; |
70 import org.chromium.chrome.browser.widget.findinpage.FindToolbarObserver; | 71 import org.chromium.chrome.browser.widget.findinpage.FindToolbarObserver; |
71 import org.chromium.content_public.browser.LoadUrlParams; | 72 import org.chromium.content_public.browser.LoadUrlParams; |
72 import org.chromium.content_public.browser.NavigationController; | |
73 import org.chromium.content_public.browser.WebContents; | |
74 import org.chromium.ui.base.DeviceFormFactor; | 73 import org.chromium.ui.base.DeviceFormFactor; |
75 import org.chromium.ui.base.PageTransition; | 74 import org.chromium.ui.base.PageTransition; |
76 | 75 |
77 import java.util.ArrayList; | 76 import java.util.ArrayList; |
78 import java.util.List; | 77 import java.util.List; |
79 import java.util.concurrent.TimeUnit; | 78 import java.util.concurrent.TimeUnit; |
80 | 79 |
81 /** | 80 /** |
82 * Contains logic for managing the toolbar visual component. This class manages
the interactions | 81 * Contains logic for managing the toolbar visual component. This class manages
the interactions |
83 * with the rest of the application to ensure the toolbar is always visually up
to date. | 82 * with the rest of the application to ensure the toolbar is always visually up
to date. |
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 mLoadProgressSimulator.start(); | 387 mLoadProgressSimulator.start(); |
389 } | 388 } |
390 } | 389 } |
391 | 390 |
392 @Override | 391 @Override |
393 public void onDidStartNavigationToPendingEntry(Tab tab, String url)
{ | 392 public void onDidStartNavigationToPendingEntry(Tab tab, String url)
{ |
394 // Update URL as soon as it becomes available when it's a new ta
b. | 393 // Update URL as soon as it becomes available when it's a new ta
b. |
395 // But we want to update only when it's a new tab. So we check w
hether the current | 394 // But we want to update only when it's a new tab. So we check w
hether the current |
396 // navigation entry is initial, meaning whether it has the same
target URL as the | 395 // navigation entry is initial, meaning whether it has the same
target URL as the |
397 // initial URL of the tab. | 396 // initial URL of the tab. |
398 WebContents webContents = tab.getWebContents(); | 397 NavigationHandler navigationHandler = tab.getNavigationHandler()
; |
399 if (webContents == null) return; | 398 if (navigationHandler == null) return; |
400 NavigationController navigationController = webContents.getNavig
ationController(); | 399 if (navigationHandler.isInitialNavigation()) { |
401 if (navigationController == null) return; | |
402 if (navigationController.isInitialNavigation()) { | |
403 mLocationBar.setUrlToPageUrl(); | 400 mLocationBar.setUrlToPageUrl(); |
404 } | 401 } |
405 } | 402 } |
406 | 403 |
407 @Override | 404 @Override |
408 public void onLoadUrl(Tab tab, LoadUrlParams params, int loadType) { | 405 public void onLoadUrl(Tab tab, LoadUrlParams params, int loadType) { |
409 NewTabPage ntp = mToolbarModel.getNewTabPageForCurrentTab(); | 406 NewTabPage ntp = mToolbarModel.getNewTabPageForCurrentTab(); |
410 if (ntp == null) return; | 407 if (ntp == null) return; |
411 if (!NewTabPage.isNTPUrl(params.getUrl()) | 408 if (!NewTabPage.isNTPUrl(params.getUrl()) |
412 && loadType != TabLoadStatus.PAGE_LOAD_FAILED) { | 409 && loadType != TabLoadStatus.PAGE_LOAD_FAILED) { |
(...skipping 805 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1218 } | 1215 } |
1219 | 1216 |
1220 /** | 1217 /** |
1221 * Cancels simulating load progress. | 1218 * Cancels simulating load progress. |
1222 */ | 1219 */ |
1223 public void cancel() { | 1220 public void cancel() { |
1224 mHandler.removeMessages(MSG_ID_UPDATE_PROGRESS); | 1221 mHandler.removeMessages(MSG_ID_UPDATE_PROGRESS); |
1225 } | 1222 } |
1226 } | 1223 } |
1227 } | 1224 } |
OLD | NEW |