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; | |
46 import org.chromium.chrome.browser.ntp.IncognitoNewTabPage; | 45 import org.chromium.chrome.browser.ntp.IncognitoNewTabPage; |
47 import org.chromium.chrome.browser.ntp.NativePageFactory; | 46 import org.chromium.chrome.browser.ntp.NativePageFactory; |
48 import org.chromium.chrome.browser.ntp.NewTabPage; | 47 import org.chromium.chrome.browser.ntp.NewTabPage; |
49 import org.chromium.chrome.browser.omnibox.LocationBar; | 48 import org.chromium.chrome.browser.omnibox.LocationBar; |
50 import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; | 49 import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; |
51 import org.chromium.chrome.browser.partnercustomizations.HomepageManager; | 50 import org.chromium.chrome.browser.partnercustomizations.HomepageManager; |
52 import org.chromium.chrome.browser.partnercustomizations.HomepageManager.Homepag
eStateListener; | 51 import org.chromium.chrome.browser.partnercustomizations.HomepageManager.Homepag
eStateListener; |
53 import org.chromium.chrome.browser.profiles.Profile; | 52 import org.chromium.chrome.browser.profiles.Profile; |
54 import org.chromium.chrome.browser.search_engines.TemplateUrlService; | 53 import org.chromium.chrome.browser.search_engines.TemplateUrlService; |
55 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl
; | 54 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl
; |
56 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl
ServiceObserver; | 55 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl
ServiceObserver; |
57 import org.chromium.chrome.browser.tab.EmptyTabObserver; | 56 import org.chromium.chrome.browser.tab.EmptyTabObserver; |
58 import org.chromium.chrome.browser.tab.Tab; | 57 import org.chromium.chrome.browser.tab.Tab; |
59 import org.chromium.chrome.browser.tab.TabObserver; | 58 import org.chromium.chrome.browser.tab.TabObserver; |
60 import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver; | 59 import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver; |
61 import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver; | 60 import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver; |
62 import org.chromium.chrome.browser.tabmodel.TabModel; | 61 import org.chromium.chrome.browser.tabmodel.TabModel; |
63 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; | 62 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; |
64 import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType; | 63 import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType; |
65 import org.chromium.chrome.browser.tabmodel.TabModelObserver; | 64 import org.chromium.chrome.browser.tabmodel.TabModelObserver; |
66 import org.chromium.chrome.browser.tabmodel.TabModelSelector; | 65 import org.chromium.chrome.browser.tabmodel.TabModelSelector; |
67 import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver; | 66 import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver; |
68 import org.chromium.chrome.browser.toolbar.ActionModeController.ActionBarDelegat
e; | 67 import org.chromium.chrome.browser.toolbar.ActionModeController.ActionBarDelegat
e; |
69 import org.chromium.chrome.browser.widget.findinpage.FindToolbarManager; | 68 import org.chromium.chrome.browser.widget.findinpage.FindToolbarManager; |
70 import org.chromium.chrome.browser.widget.findinpage.FindToolbarObserver; | 69 import org.chromium.chrome.browser.widget.findinpage.FindToolbarObserver; |
71 import org.chromium.content_public.browser.LoadUrlParams; | 70 import org.chromium.content_public.browser.LoadUrlParams; |
| 71 import org.chromium.content_public.browser.NavigationController; |
| 72 import org.chromium.content_public.browser.WebContents; |
72 import org.chromium.ui.base.DeviceFormFactor; | 73 import org.chromium.ui.base.DeviceFormFactor; |
73 import org.chromium.ui.base.PageTransition; | 74 import org.chromium.ui.base.PageTransition; |
74 | 75 |
75 import java.util.ArrayList; | 76 import java.util.ArrayList; |
76 import java.util.List; | 77 import java.util.List; |
77 import java.util.concurrent.TimeUnit; | 78 import java.util.concurrent.TimeUnit; |
78 | 79 |
79 /** | 80 /** |
80 * 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 |
81 * 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... |
386 mLoadProgressSimulator.start(); | 387 mLoadProgressSimulator.start(); |
387 } | 388 } |
388 } | 389 } |
389 | 390 |
390 @Override | 391 @Override |
391 public void onDidStartNavigationToPendingEntry(Tab tab, String url)
{ | 392 public void onDidStartNavigationToPendingEntry(Tab tab, String url)
{ |
392 // 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. |
393 // 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 |
394 // 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 |
395 // initial URL of the tab. | 396 // initial URL of the tab. |
396 NavigationHandler navigationHandler = tab.getNavigationHandler()
; | 397 WebContents webContents = tab.getWebContents(); |
397 if (navigationHandler == null) return; | 398 if (webContents == null) return; |
398 if (navigationHandler.isInitialNavigation()) { | 399 NavigationController navigationController = webContents.getNavig
ationController(); |
| 400 if (navigationController == null) return; |
| 401 if (navigationController.isInitialNavigation()) { |
399 mLocationBar.setUrlToPageUrl(); | 402 mLocationBar.setUrlToPageUrl(); |
400 } | 403 } |
401 } | 404 } |
402 | 405 |
403 @Override | 406 @Override |
404 public void onLoadUrl(Tab tab, LoadUrlParams params, int loadType) { | 407 public void onLoadUrl(Tab tab, LoadUrlParams params, int loadType) { |
405 NewTabPage ntp = mToolbarModel.getNewTabPageForCurrentTab(); | 408 NewTabPage ntp = mToolbarModel.getNewTabPageForCurrentTab(); |
406 if (ntp == null) return; | 409 if (ntp == null) return; |
407 if (!NewTabPage.isNTPUrl(params.getUrl()) | 410 if (!NewTabPage.isNTPUrl(params.getUrl()) |
408 && loadType != TabLoadStatus.PAGE_LOAD_FAILED) { | 411 && loadType != TabLoadStatus.PAGE_LOAD_FAILED) { |
(...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1226 } | 1229 } |
1227 | 1230 |
1228 /** | 1231 /** |
1229 * Cancels simulating load progress. | 1232 * Cancels simulating load progress. |
1230 */ | 1233 */ |
1231 public void cancel() { | 1234 public void cancel() { |
1232 mHandler.removeMessages(MSG_ID_UPDATE_PROGRESS); | 1235 mHandler.removeMessages(MSG_ID_UPDATE_PROGRESS); |
1233 } | 1236 } |
1234 } | 1237 } |
1235 } | 1238 } |
OLD | NEW |