Commit 868192a7 authored by bttk's avatar bttk Committed by Commit Bot

[ToolbarMVC] Move OmniboxFocusReason out of LocationBar

Out of 15 files referring to OmniboxFocusReason only 3 need the
LocationBar itself:
 - CustomTabToolbar
 - ToolbarManager
 - ToolbarLayout

Bug: 1139481
Change-Id: I3e6cc1da9d79a8e75fb4b2b456181ab18a251b3a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2481926Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Reviewed-by: default avatarBrandon Wylie <wylieb@chromium.org>
Reviewed-by: default avatarFilip Gorski <fgorski@chromium.org>
Reviewed-by: default avatarPatrick Noland <pnoland@chromium.org>
Commit-Queue: who/bttk <bttk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#818728}
parent 48792632
...@@ -1100,6 +1100,7 @@ chrome_java_sources = [ ...@@ -1100,6 +1100,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java", "java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java",
"java/src/org/chromium/chrome/browser/omnibox/LocationBarPhone.java", "java/src/org/chromium/chrome/browser/omnibox/LocationBarPhone.java",
"java/src/org/chromium/chrome/browser/omnibox/LocationBarTablet.java", "java/src/org/chromium/chrome/browser/omnibox/LocationBarTablet.java",
"java/src/org/chromium/chrome/browser/omnibox/OmniboxFocusReason.java",
"java/src/org/chromium/chrome/browser/omnibox/OmniboxPrerender.java", "java/src/org/chromium/chrome/browser/omnibox/OmniboxPrerender.java",
"java/src/org/chromium/chrome/browser/omnibox/OmniboxViewUtil.java", "java/src/org/chromium/chrome/browser/omnibox/OmniboxViewUtil.java",
"java/src/org/chromium/chrome/browser/omnibox/SearchEngineLogoUtils.java", "java/src/org/chromium/chrome/browser/omnibox/SearchEngineLogoUtils.java",
......
...@@ -28,7 +28,7 @@ import androidx.annotation.Nullable; ...@@ -28,7 +28,7 @@ import androidx.annotation.Nullable;
import org.chromium.base.metrics.RecordUserAction; import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.browser.ntp.FakeboxDelegate; import org.chromium.chrome.browser.ntp.FakeboxDelegate;
import org.chromium.chrome.browser.ntp.IncognitoCookieControlsManager; import org.chromium.chrome.browser.ntp.IncognitoCookieControlsManager;
import org.chromium.chrome.browser.omnibox.LocationBar; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
import org.chromium.chrome.browser.tasks.tab_management.TabSwitcher.OverviewModeObserver; import org.chromium.chrome.browser.tasks.tab_management.TabSwitcher.OverviewModeObserver;
import org.chromium.components.content_settings.CookieControlsEnforcement; import org.chromium.components.content_settings.CookieControlsEnforcement;
...@@ -70,7 +70,7 @@ class TasksSurfaceMediator implements OverviewModeObserver { ...@@ -70,7 +70,7 @@ class TasksSurfaceMediator implements OverviewModeObserver {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
mFakeboxDelegate.setUrlBarFocus( mFakeboxDelegate.setUrlBarFocus(
true, null, LocationBar.OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_TAP); true, null, OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_TAP);
RecordUserAction.record("TasksSurface.FakeBox.Tapped"); RecordUserAction.record("TasksSurface.FakeBox.Tapped");
} }
}); });
...@@ -84,8 +84,8 @@ class TasksSurfaceMediator implements OverviewModeObserver { ...@@ -84,8 +84,8 @@ class TasksSurfaceMediator implements OverviewModeObserver {
@Override @Override
public void afterTextChanged(Editable s) { public void afterTextChanged(Editable s) {
if (s.length() == 0) return; if (s.length() == 0) return;
mFakeboxDelegate.setUrlBarFocus(true, s.toString(), mFakeboxDelegate.setUrlBarFocus(
LocationBar.OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_LONG_PRESS); true, s.toString(), OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_LONG_PRESS);
RecordUserAction.record("TasksSurface.FakeBox.LongPressed"); RecordUserAction.record("TasksSurface.FakeBox.LongPressed");
// This won't cause infinite loop since we checked s.length() == 0 above. // This won't cause infinite loop since we checked s.length() == 0 above.
......
...@@ -43,7 +43,7 @@ import org.robolectric.annotation.Config; ...@@ -43,7 +43,7 @@ import org.robolectric.annotation.Config;
import org.chromium.base.test.BaseRobolectricTestRunner; import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.chrome.browser.ntp.FakeboxDelegate; import org.chromium.chrome.browser.ntp.FakeboxDelegate;
import org.chromium.chrome.browser.ntp.IncognitoCookieControlsManager; import org.chromium.chrome.browser.ntp.IncognitoCookieControlsManager;
import org.chromium.chrome.browser.omnibox.LocationBar; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
import org.chromium.ui.modelutil.PropertyModel; import org.chromium.ui.modelutil.PropertyModel;
...@@ -118,8 +118,8 @@ public class TasksSurfaceMediatorUnitTest { ...@@ -118,8 +118,8 @@ public class TasksSurfaceMediatorUnitTest {
mFakeboxClickListenerCaptor.getValue().onClick(null); mFakeboxClickListenerCaptor.getValue().onClick(null);
verify(mFakeboxDelegate, times(1)) verify(mFakeboxDelegate, times(1))
.setUrlBarFocus(eq(true), eq(null), .setUrlBarFocus(
eq(LocationBar.OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_TAP)); eq(true), eq(null), eq(OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_TAP));
} }
@Test @Test
...@@ -132,7 +132,7 @@ public class TasksSurfaceMediatorUnitTest { ...@@ -132,7 +132,7 @@ public class TasksSurfaceMediatorUnitTest {
mFakeboxTextWatcherCaptor.getValue().afterTextChanged(editable); mFakeboxTextWatcherCaptor.getValue().afterTextChanged(editable);
verify(mFakeboxDelegate, times(1)) verify(mFakeboxDelegate, times(1))
.setUrlBarFocus(eq(true), eq(inputText), .setUrlBarFocus(eq(true), eq(inputText),
eq(LocationBar.OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_LONG_PRESS)); eq(OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_LONG_PRESS));
assertThat(editable.length(), equalTo(0)); assertThat(editable.length(), equalTo(0));
} }
...@@ -145,8 +145,8 @@ public class TasksSurfaceMediatorUnitTest { ...@@ -145,8 +145,8 @@ public class TasksSurfaceMediatorUnitTest {
Editable editable = Editable.Factory.getInstance().newEditable(""); Editable editable = Editable.Factory.getInstance().newEditable("");
mFakeboxTextWatcherCaptor.getValue().afterTextChanged(editable); mFakeboxTextWatcherCaptor.getValue().afterTextChanged(editable);
verify(mFakeboxDelegate, never()) verify(mFakeboxDelegate, never())
.setUrlBarFocus(eq(true), eq(""), .setUrlBarFocus(
eq(LocationBar.OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_LONG_PRESS)); eq(true), eq(""), eq(OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_LONG_PRESS));
} }
@Test @Test
......
...@@ -105,7 +105,7 @@ import org.chromium.chrome.browser.navigation_predictor.NavigationPredictorBridg ...@@ -105,7 +105,7 @@ import org.chromium.chrome.browser.navigation_predictor.NavigationPredictorBridg
import org.chromium.chrome.browser.night_mode.WebContentsDarkModeController; import org.chromium.chrome.browser.night_mode.WebContentsDarkModeController;
import org.chromium.chrome.browser.ntp.NewTabPageUma; import org.chromium.chrome.browser.ntp.NewTabPageUma;
import org.chromium.chrome.browser.ntp.cards.promo.HomepagePromoVariationManager; import org.chromium.chrome.browser.ntp.cards.promo.HomepagePromoVariationManager;
import org.chromium.chrome.browser.omnibox.LocationBar; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.paint_preview.PaintPreviewHelper; import org.chromium.chrome.browser.paint_preview.PaintPreviewHelper;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
...@@ -1366,8 +1366,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent ...@@ -1366,8 +1366,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
} }
getToolbarManager().setUrlBarFocusOnceNativeInitialized(focus, getToolbarManager().setUrlBarFocusOnceNativeInitialized(focus,
focus ? LocationBar.OmniboxFocusReason.LAUNCH_NEW_INCOGNITO_TAB focus ? OmniboxFocusReason.LAUNCH_NEW_INCOGNITO_TAB
: LocationBar.OmniboxFocusReason.UNFOCUS); : OmniboxFocusReason.UNFOCUS);
if (tabModel.getCount() > 0 && isInOverviewMode() && !isTablet() if (tabModel.getCount() > 0 && isInOverviewMode() && !isTablet()
&& !shouldShowTabSwitcherOnStart()) { && !shouldShowTabSwitcherOnStart()) {
...@@ -1754,7 +1754,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent ...@@ -1754,7 +1754,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
&& (!isTablet() || getCurrentTabModel().getCount() != 0); && (!isTablet() || getCurrentTabModel().getCount() != 0);
if (isUrlBarVisible) { if (isUrlBarVisible) {
getToolbarManager().setUrlBarFocus( getToolbarManager().setUrlBarFocus(
true, LocationBar.OmniboxFocusReason.MENU_OR_KEYBOARD_ACTION); true, OmniboxFocusReason.MENU_OR_KEYBOARD_ACTION);
} }
} else if (id == R.id.downloads_menu_id) { } else if (id == R.id.downloads_menu_id) {
DownloadUtils.showDownloadManager(this, currentTab, DownloadOpenSource.MENU); DownloadUtils.showDownloadManager(this, currentTab, DownloadOpenSource.MENU);
......
...@@ -52,6 +52,7 @@ import org.chromium.chrome.browser.app.ChromeActivity; ...@@ -52,6 +52,7 @@ import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.native_page.NativePageFactory; import org.chromium.chrome.browser.native_page.NativePageFactory;
import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.omnibox.LocationBar; import org.chromium.chrome.browser.omnibox.LocationBar;
import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.omnibox.UrlBar; import org.chromium.chrome.browser.omnibox.UrlBar;
import org.chromium.chrome.browser.omnibox.UrlBarCoordinator; import org.chromium.chrome.browser.omnibox.UrlBarCoordinator;
import org.chromium.chrome.browser.omnibox.UrlBarCoordinator.SelectionState; import org.chromium.chrome.browser.omnibox.UrlBarCoordinator.SelectionState;
...@@ -881,7 +882,7 @@ public class CustomTabToolbar extends ToolbarLayout implements View.OnLongClickL ...@@ -881,7 +882,7 @@ public class CustomTabToolbar extends ToolbarLayout implements View.OnLongClickL
@Override @Override
public void setUrlBarFocus(boolean shouldBeFocused, @Nullable String pastedText, public void setUrlBarFocus(boolean shouldBeFocused, @Nullable String pastedText,
@LocationBar.OmniboxFocusReason int reason) {} @OmniboxFocusReason int reason) {}
@Override @Override
public boolean isCurrentPage(NativePage nativePage) { public boolean isCurrentPage(NativePage nativePage) {
......
...@@ -21,7 +21,7 @@ import org.chromium.chrome.browser.browser_controls.BrowserControlsVisibilityMan ...@@ -21,7 +21,7 @@ import org.chromium.chrome.browser.browser_controls.BrowserControlsVisibilityMan
import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel; import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager; import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
import org.chromium.chrome.browser.fullscreen.FullscreenManager; import org.chromium.chrome.browser.fullscreen.FullscreenManager;
import org.chromium.chrome.browser.omnibox.LocationBar; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabAttributeKeys; import org.chromium.chrome.browser.tab.TabAttributeKeys;
import org.chromium.chrome.browser.tab.TabAttributes; import org.chromium.chrome.browser.tab.TabAttributes;
...@@ -195,8 +195,7 @@ public class ChromeTabModalPresenter ...@@ -195,8 +195,7 @@ public class ChromeTabModalPresenter
// Force toolbar to show and disable overflow menu. // Force toolbar to show and disable overflow menu.
onTabModalDialogStateChanged(true); onTabModalDialogStateChanged(true);
mChromeActivity.getToolbarManager().setUrlBarFocus( mChromeActivity.getToolbarManager().setUrlBarFocus(false, OmniboxFocusReason.UNFOCUS);
false, LocationBar.OmniboxFocusReason.UNFOCUS);
menuButton.setEnabled(false); menuButton.setEnabled(false);
} else { } else {
......
...@@ -6,7 +6,7 @@ package org.chromium.chrome.browser.ntp; ...@@ -6,7 +6,7 @@ package org.chromium.chrome.browser.ntp;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import org.chromium.chrome.browser.omnibox.LocationBar.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener;
import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
import org.chromium.chrome.browser.ui.native_page.NativePage; import org.chromium.chrome.browser.ui.native_page.NativePage;
......
...@@ -44,7 +44,7 @@ import org.chromium.chrome.browser.lifecycle.LifecycleObserver; ...@@ -44,7 +44,7 @@ import org.chromium.chrome.browser.lifecycle.LifecycleObserver;
import org.chromium.chrome.browser.lifecycle.PauseResumeWithNativeObserver; import org.chromium.chrome.browser.lifecycle.PauseResumeWithNativeObserver;
import org.chromium.chrome.browser.native_page.ContextMenuManager; import org.chromium.chrome.browser.native_page.ContextMenuManager;
import org.chromium.chrome.browser.ntp.snippets.SectionHeaderView; import org.chromium.chrome.browser.ntp.snippets.SectionHeaderView;
import org.chromium.chrome.browser.omnibox.LocationBar.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.query_tiles.QueryTileSection.QueryInfo; import org.chromium.chrome.browser.query_tiles.QueryTileSection.QueryInfo;
......
...@@ -9,8 +9,6 @@ import android.view.View; ...@@ -9,8 +9,6 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.Window; import android.view.Window;
import androidx.annotation.IntDef;
import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.base.supplier.Supplier; import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.browser.ActivityTabProvider; import org.chromium.chrome.browser.ActivityTabProvider;
...@@ -29,41 +27,10 @@ import org.chromium.chrome.browser.toolbar.top.ToolbarActionModeCallback; ...@@ -29,41 +27,10 @@ import org.chromium.chrome.browser.toolbar.top.ToolbarActionModeCallback;
import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/** /**
* Container that holds the {@link UrlBar} and SSL state related with the current {@link Tab}. * Container that holds the {@link UrlBar} and SSL state related with the current {@link Tab}.
*/ */
public interface LocationBar extends UrlBarDelegate, FakeboxDelegate, Destroyable { public interface LocationBar extends UrlBarDelegate, FakeboxDelegate, Destroyable {
/** A means of tracking which mechanism is being used to focus the omnibox. */
@IntDef({OmniboxFocusReason.OMNIBOX_TAP, OmniboxFocusReason.OMNIBOX_LONG_PRESS,
OmniboxFocusReason.FAKE_BOX_TAP, OmniboxFocusReason.FAKE_BOX_LONG_PRESS,
OmniboxFocusReason.ACCELERATOR_TAP, OmniboxFocusReason.TAB_SWITCHER_OMNIBOX_TAP,
OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_TAP,
OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_LONG_PRESS,
OmniboxFocusReason.DEFAULT_WITH_HARDWARE_KEYBOARD, OmniboxFocusReason.SEARCH_QUERY,
OmniboxFocusReason.LAUNCH_NEW_INCOGNITO_TAB, OmniboxFocusReason.MENU_OR_KEYBOARD_ACTION,
OmniboxFocusReason.UNFOCUS, OmniboxFocusReason.QUERY_TILES_NTP_TAP})
@Retention(RetentionPolicy.SOURCE)
public @interface OmniboxFocusReason {
int OMNIBOX_TAP = 0;
int OMNIBOX_LONG_PRESS = 1;
int FAKE_BOX_TAP = 2;
int FAKE_BOX_LONG_PRESS = 3;
int ACCELERATOR_TAP = 4;
// TAB_SWITCHER_OMNIBOX_TAP has not been used anymore, keep it for record for now.
int TAB_SWITCHER_OMNIBOX_TAP = 5;
int TASKS_SURFACE_FAKE_BOX_TAP = 6;
int TASKS_SURFACE_FAKE_BOX_LONG_PRESS = 7;
int DEFAULT_WITH_HARDWARE_KEYBOARD = 8;
int SEARCH_QUERY = 9;
int LAUNCH_NEW_INCOGNITO_TAB = 10;
int MENU_OR_KEYBOARD_ACTION = 11;
int UNFOCUS = 12;
int QUERY_TILES_NTP_TAP = 13;
int NUM_ENTRIES = 14;
}
/** Handle all necessary tasks that can be delayed until initialization completes. */ /** Handle all necessary tasks that can be delayed until initialization completes. */
default void onDeferredStartup() {} default void onDeferredStartup() {}
......
...@@ -329,7 +329,7 @@ public class LocationBarLayout extends FrameLayout ...@@ -329,7 +329,7 @@ public class LocationBarLayout extends FrameLayout
&& newConfig.keyboard != Configuration.KEYBOARD_QWERTY) { && newConfig.keyboard != Configuration.KEYBOARD_QWERTY) {
// If we lose the hardware keyboard and the focus animations were not run, then the // If we lose the hardware keyboard and the focus animations were not run, then the
// user has not typed any text, so we will just clear the focus instead. // user has not typed any text, so we will just clear the focus instead.
setUrlBarFocus(false, null, LocationBar.OmniboxFocusReason.UNFOCUS); setUrlBarFocus(false, null, OmniboxFocusReason.UNFOCUS);
} }
} }
...@@ -400,7 +400,7 @@ public class LocationBarLayout extends FrameLayout ...@@ -400,7 +400,7 @@ public class LocationBarLayout extends FrameLayout
@Override @Override
public void clearOmniboxFocus() { public void clearOmniboxFocus() {
setUrlBarFocus(false, null, LocationBar.OmniboxFocusReason.UNFOCUS); setUrlBarFocus(false, null, OmniboxFocusReason.UNFOCUS);
} }
public void selectAll() { public void selectAll() {
...@@ -448,7 +448,7 @@ public class LocationBarLayout extends FrameLayout ...@@ -448,7 +448,7 @@ public class LocationBarLayout extends FrameLayout
// This interface should only be called to devices with a hardware keyboard attached as // This interface should only be called to devices with a hardware keyboard attached as
// described in the LocationBar. // described in the LocationBar.
setUrlBarFocus(true, null, LocationBar.OmniboxFocusReason.DEFAULT_WITH_HARDWARE_KEYBOARD); setUrlBarFocus(true, null, OmniboxFocusReason.DEFAULT_WITH_HARDWARE_KEYBOARD);
} }
/** /**
...@@ -559,7 +559,7 @@ public class LocationBarLayout extends FrameLayout ...@@ -559,7 +559,7 @@ public class LocationBarLayout extends FrameLayout
setUrlBarText(UrlBarData.forNonUrlText(query), UrlBar.ScrollType.NO_SCROLL, setUrlBarText(UrlBarData.forNonUrlText(query), UrlBar.ScrollType.NO_SCROLL,
SelectionState.SELECT_ALL); SelectionState.SELECT_ALL);
setUrlBarFocus(true, null, LocationBar.OmniboxFocusReason.SEARCH_QUERY); setUrlBarFocus(true, null, OmniboxFocusReason.SEARCH_QUERY);
mAutocompleteCoordinator.startAutocompleteForQuery(query); mAutocompleteCoordinator.startAutocompleteForQuery(query);
post(new Runnable() { post(new Runnable() {
@Override @Override
...@@ -586,7 +586,7 @@ public class LocationBarLayout extends FrameLayout ...@@ -586,7 +586,7 @@ public class LocationBarLayout extends FrameLayout
@Override @Override
public void backKeyPressed() { public void backKeyPressed() {
setUrlBarFocus(false, null, LocationBar.OmniboxFocusReason.UNFOCUS); setUrlBarFocus(false, null, OmniboxFocusReason.UNFOCUS);
// Revert the URL to match the current page. // Revert the URL to match the current page.
setUrlToPageUrl(); setUrlToPageUrl();
focusCurrentTab(); focusCurrentTab();
...@@ -607,8 +607,8 @@ public class LocationBarLayout extends FrameLayout ...@@ -607,8 +607,8 @@ public class LocationBarLayout extends FrameLayout
@Override @Override
public void gestureDetected(boolean isLongPress) { public void gestureDetected(boolean isLongPress) {
recordOmniboxFocusReason(isLongPress ? LocationBar.OmniboxFocusReason.OMNIBOX_LONG_PRESS recordOmniboxFocusReason(isLongPress ? OmniboxFocusReason.OMNIBOX_LONG_PRESS
: LocationBar.OmniboxFocusReason.OMNIBOX_TAP); : OmniboxFocusReason.OMNIBOX_TAP);
} }
/** /**
...@@ -634,18 +634,18 @@ public class LocationBarLayout extends FrameLayout ...@@ -634,18 +634,18 @@ public class LocationBarLayout extends FrameLayout
} }
@Override @Override
public void setUrlBarFocus(boolean shouldBeFocused, @Nullable String pastedText, public void setUrlBarFocus(
@LocationBar.OmniboxFocusReason int reason) { boolean shouldBeFocused, @Nullable String pastedText, @OmniboxFocusReason int reason) {
if (shouldBeFocused) { if (shouldBeFocused) {
if (!mUrlHasFocus) recordOmniboxFocusReason(reason); if (!mUrlHasFocus) recordOmniboxFocusReason(reason);
if (reason == LocationBar.OmniboxFocusReason.FAKE_BOX_TAP if (reason == OmniboxFocusReason.FAKE_BOX_TAP
|| reason == LocationBar.OmniboxFocusReason.FAKE_BOX_LONG_PRESS || reason == OmniboxFocusReason.FAKE_BOX_LONG_PRESS
|| reason == LocationBar.OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_LONG_PRESS || reason == OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_LONG_PRESS
|| reason == LocationBar.OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_TAP) { || reason == OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_TAP) {
mUrlFocusedFromFakebox = true; mUrlFocusedFromFakebox = true;
} }
if (reason == LocationBar.OmniboxFocusReason.QUERY_TILES_NTP_TAP) { if (reason == OmniboxFocusReason.QUERY_TILES_NTP_TAP) {
mUrlFocusedFromFakebox = true; mUrlFocusedFromFakebox = true;
mUrlFocusedFromQueryTiles = true; mUrlFocusedFromQueryTiles = true;
} }
...@@ -805,7 +805,7 @@ public class LocationBarLayout extends FrameLayout ...@@ -805,7 +805,7 @@ public class LocationBarLayout extends FrameLayout
// If we did not run the focus animations, then the user has not typed any text. // If we did not run the focus animations, then the user has not typed any text.
// So, clear the focus and accept whatever URL the page is currently attempting to // So, clear the focus and accept whatever URL the page is currently attempting to
// display. If the NTP is showing, the current page's URL should not be displayed. // display. If the NTP is showing, the current page's URL should not be displayed.
setUrlBarFocus(false, null, LocationBar.OmniboxFocusReason.UNFOCUS); setUrlBarFocus(false, null, OmniboxFocusReason.UNFOCUS);
} else { } else {
return; return;
} }
...@@ -1320,9 +1320,9 @@ public class LocationBarLayout extends FrameLayout ...@@ -1320,9 +1320,9 @@ public class LocationBarLayout extends FrameLayout
mAutocompleteCoordinator.onTextChanged(textWithoutAutocomplete, textWithAutocomplete); mAutocompleteCoordinator.onTextChanged(textWithoutAutocomplete, textWithAutocomplete);
} }
private void recordOmniboxFocusReason(@LocationBar.OmniboxFocusReason int reason) { private void recordOmniboxFocusReason(@OmniboxFocusReason int reason) {
RecordHistogram.recordEnumeratedHistogram( RecordHistogram.recordEnumeratedHistogram(
"Android.OmniboxFocusReason", reason, LocationBar.OmniboxFocusReason.NUM_ENTRIES); "Android.OmniboxFocusReason", reason, OmniboxFocusReason.NUM_ENTRIES);
} }
/** /**
......
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.omnibox;
import androidx.annotation.IntDef;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/** A means of tracking which mechanism is being used to focus the omnibox. */
@IntDef({OmniboxFocusReason.OMNIBOX_TAP, OmniboxFocusReason.OMNIBOX_LONG_PRESS,
OmniboxFocusReason.FAKE_BOX_TAP, OmniboxFocusReason.FAKE_BOX_LONG_PRESS,
OmniboxFocusReason.ACCELERATOR_TAP, OmniboxFocusReason.TAB_SWITCHER_OMNIBOX_TAP,
OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_TAP,
OmniboxFocusReason.TASKS_SURFACE_FAKE_BOX_LONG_PRESS,
OmniboxFocusReason.DEFAULT_WITH_HARDWARE_KEYBOARD, OmniboxFocusReason.SEARCH_QUERY,
OmniboxFocusReason.LAUNCH_NEW_INCOGNITO_TAB, OmniboxFocusReason.MENU_OR_KEYBOARD_ACTION,
OmniboxFocusReason.UNFOCUS, OmniboxFocusReason.QUERY_TILES_NTP_TAP})
@Retention(RetentionPolicy.SOURCE)
public @interface OmniboxFocusReason {
int OMNIBOX_TAP = 0;
int OMNIBOX_LONG_PRESS = 1;
int FAKE_BOX_TAP = 2;
int FAKE_BOX_LONG_PRESS = 3;
int ACCELERATOR_TAP = 4;
// TAB_SWITCHER_OMNIBOX_TAP has not been used anymore, keep it for record for now.
int TAB_SWITCHER_OMNIBOX_TAP = 5;
int TASKS_SURFACE_FAKE_BOX_TAP = 6;
int TASKS_SURFACE_FAKE_BOX_LONG_PRESS = 7;
int DEFAULT_WITH_HARDWARE_KEYBOARD = 8;
int SEARCH_QUERY = 9;
int LAUNCH_NEW_INCOGNITO_TAB = 10;
int MENU_OR_KEYBOARD_ACTION = 11;
int UNFOCUS = 12;
int QUERY_TILES_NTP_TAP = 13;
int NUM_ENTRIES = 14;
}
...@@ -54,6 +54,7 @@ import org.chromium.chrome.browser.ntp.FakeboxDelegate; ...@@ -54,6 +54,7 @@ import org.chromium.chrome.browser.ntp.FakeboxDelegate;
import org.chromium.chrome.browser.ntp.IncognitoNewTabPage; import org.chromium.chrome.browser.ntp.IncognitoNewTabPage;
import org.chromium.chrome.browser.ntp.NewTabPage; import org.chromium.chrome.browser.ntp.NewTabPage;
import org.chromium.chrome.browser.omnibox.LocationBar; import org.chromium.chrome.browser.omnibox.LocationBar;
import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener;
import org.chromium.chrome.browser.previews.Previews; import org.chromium.chrome.browser.previews.Previews;
import org.chromium.chrome.browser.previews.PreviewsAndroidBridge; import org.chromium.chrome.browser.previews.PreviewsAndroidBridge;
...@@ -343,8 +344,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve ...@@ -343,8 +344,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
mActivity.getWindowAndroid(), mActivityTabProvider, mActivity.getWindowAndroid(), mActivityTabProvider,
mActivity::getModalDialogManager, mActivity.getShareDelegateSupplier(), mActivity::getModalDialogManager, mActivity.getShareDelegateSupplier(),
mIncognitoStateProvider); mIncognitoStateProvider);
Runnable clickDelegate = Runnable clickDelegate = () -> setUrlBarFocus(false, OmniboxFocusReason.UNFOCUS);
() -> setUrlBarFocus(false, LocationBar.OmniboxFocusReason.UNFOCUS);
View scrimTarget = mActivity.getCompositorViewHolder(); View scrimTarget = mActivity.getCompositorViewHolder();
mLocationBarFocusHandler = new LocationBarFocusScrimHandler(scrimCoordinator, mLocationBarFocusHandler = new LocationBarFocusScrimHandler(scrimCoordinator,
tabObscuringHandler, activity, activity.getNightModeStateProvider(), tabObscuringHandler, activity, activity.getNightModeStateProvider(),
...@@ -1132,7 +1132,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve ...@@ -1132,7 +1132,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
* @param focused Whether URL bar should be focused. * @param focused Whether URL bar should be focused.
* @param reason The given reason. * @param reason The given reason.
*/ */
public void setUrlBarFocus(boolean focused, @LocationBar.OmniboxFocusReason int reason) { public void setUrlBarFocus(boolean focused, @OmniboxFocusReason int reason) {
if (!mInitializedWithNative) return; if (!mInitializedWithNative) return;
boolean wasFocused = mLocationBar.isUrlBarFocused(); boolean wasFocused = mLocationBar.isUrlBarFocused();
mLocationBar.setUrlBarFocus(focused, null, reason); mLocationBar.setUrlBarFocus(focused, null, reason);
...@@ -1146,7 +1146,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve ...@@ -1146,7 +1146,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
* of dropping it. * of dropping it.
*/ */
public void setUrlBarFocusOnceNativeInitialized( public void setUrlBarFocusOnceNativeInitialized(
boolean focused, @LocationBar.OmniboxFocusReason int reason) { boolean focused, @OmniboxFocusReason int reason) {
if (mInitializedWithNative) { if (mInitializedWithNative) {
setUrlBarFocus(focused, reason); setUrlBarFocus(focused, reason);
return; return;
...@@ -1266,7 +1266,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve ...@@ -1266,7 +1266,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
// Ensure the URL bar loses focus if the tab it was interacting with is changed from // Ensure the URL bar loses focus if the tab it was interacting with is changed from
// underneath it. // underneath it.
setUrlBarFocus(false, LocationBar.OmniboxFocusReason.UNFOCUS); setUrlBarFocus(false, OmniboxFocusReason.UNFOCUS);
// Place the cursor in the Omnibox if applicable. We always clear the focus above to // Place the cursor in the Omnibox if applicable. We always clear the focus above to
// ensure the shield placed over the content is dismissed when switching tabs. But if // ensure the shield placed over the content is dismissed when switching tabs. But if
......
...@@ -22,7 +22,7 @@ import org.chromium.chrome.R; ...@@ -22,7 +22,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.browser_controls.BrowserStateBrowserControlsVisibilityDelegate; import org.chromium.chrome.browser.browser_controls.BrowserStateBrowserControlsVisibilityDelegate;
import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper;
import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper.MenuButtonState; import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper.MenuButtonState;
import org.chromium.chrome.browser.omnibox.LocationBar; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.toolbar.ThemeColorProvider; import org.chromium.chrome.browser.toolbar.ThemeColorProvider;
import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonCoordinator.SetFocusFunction; import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonCoordinator.SetFocusFunction;
import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonProperties.ShowBadgeProperty; import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonProperties.ShowBadgeProperty;
...@@ -110,7 +110,7 @@ class MenuButtonMediator implements AppMenuObserver { ...@@ -110,7 +110,7 @@ class MenuButtonMediator implements AppMenuObserver {
if (isVisible) { if (isVisible) {
// Defocus here to avoid handling focus in multiple places, e.g., when the // Defocus here to avoid handling focus in multiple places, e.g., when the
// forward button is pressed. (see crbug.com/414219) // forward button is pressed. (see crbug.com/414219)
mSetUrlBarFocusFunction.setFocus(false, LocationBar.OmniboxFocusReason.UNFOCUS); mSetUrlBarFocusFunction.setFocus(false, OmniboxFocusReason.UNFOCUS);
if (!mIsInOverviewModeSupplier.get() && isShowingAppMenuUpdateBadge()) { if (!mIsInOverviewModeSupplier.get() && isShowingAppMenuUpdateBadge()) {
// The app menu badge should be removed the first time the menu is opened. // The app menu badge should be removed the first time the menu is opened.
......
...@@ -32,6 +32,7 @@ import org.chromium.chrome.browser.compositor.overlays.toolbar.TopToolbarOverlay ...@@ -32,6 +32,7 @@ import org.chromium.chrome.browser.compositor.overlays.toolbar.TopToolbarOverlay
import org.chromium.chrome.browser.findinpage.FindToolbar; import org.chromium.chrome.browser.findinpage.FindToolbar;
import org.chromium.chrome.browser.ntp.NewTabPage; import org.chromium.chrome.browser.ntp.NewTabPage;
import org.chromium.chrome.browser.omnibox.LocationBar; import org.chromium.chrome.browser.omnibox.LocationBar;
import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.omnibox.UrlBarData; import org.chromium.chrome.browser.omnibox.UrlBarData;
import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
...@@ -787,7 +788,7 @@ public abstract class ToolbarLayout ...@@ -787,7 +788,7 @@ public abstract class ToolbarLayout
*/ */
boolean back() { boolean back() {
if (getLocationBar() != null) { if (getLocationBar() != null) {
getLocationBar().setUrlBarFocus(false, null, LocationBar.OmniboxFocusReason.UNFOCUS); getLocationBar().setUrlBarFocus(false, null, OmniboxFocusReason.UNFOCUS);
} }
return mToolbarTabController != null && mToolbarTabController.back(); return mToolbarTabController != null && mToolbarTabController.back();
} }
...@@ -798,7 +799,7 @@ public abstract class ToolbarLayout ...@@ -798,7 +799,7 @@ public abstract class ToolbarLayout
*/ */
boolean forward() { boolean forward() {
if (getLocationBar() != null) { if (getLocationBar() != null) {
getLocationBar().setUrlBarFocus(false, null, LocationBar.OmniboxFocusReason.UNFOCUS); getLocationBar().setUrlBarFocus(false, null, OmniboxFocusReason.UNFOCUS);
} }
return mToolbarTabController != null ? mToolbarTabController.forward() : false; return mToolbarTabController != null ? mToolbarTabController.forward() : false;
} }
...@@ -811,7 +812,7 @@ public abstract class ToolbarLayout ...@@ -811,7 +812,7 @@ public abstract class ToolbarLayout
*/ */
void stopOrReloadCurrentTab() { void stopOrReloadCurrentTab() {
if (getLocationBar() != null) { if (getLocationBar() != null) {
getLocationBar().setUrlBarFocus(false, null, LocationBar.OmniboxFocusReason.UNFOCUS); getLocationBar().setUrlBarFocus(false, null, OmniboxFocusReason.UNFOCUS);
} }
if (mToolbarTabController != null) mToolbarTabController.stopOrReloadCurrentTab(); if (mToolbarTabController != null) mToolbarTabController.stopOrReloadCurrentTab();
} }
...@@ -821,7 +822,7 @@ public abstract class ToolbarLayout ...@@ -821,7 +822,7 @@ public abstract class ToolbarLayout
*/ */
void openHomepage() { void openHomepage() {
if (getLocationBar() != null) { if (getLocationBar() != null) {
getLocationBar().setUrlBarFocus(false, null, LocationBar.OmniboxFocusReason.UNFOCUS); getLocationBar().setUrlBarFocus(false, null, OmniboxFocusReason.UNFOCUS);
} }
if (mToolbarTabController != null) mToolbarTabController.openHomepage(); if (mToolbarTabController != null) mToolbarTabController.openHomepage();
} }
......
...@@ -54,7 +54,7 @@ import org.chromium.chrome.browser.image_descriptions.ImageDescriptionsControlle ...@@ -54,7 +54,7 @@ import org.chromium.chrome.browser.image_descriptions.ImageDescriptionsControlle
import org.chromium.chrome.browser.lifecycle.Destroyable; import org.chromium.chrome.browser.lifecycle.Destroyable;
import org.chromium.chrome.browser.lifecycle.InflationObserver; import org.chromium.chrome.browser.lifecycle.InflationObserver;
import org.chromium.chrome.browser.metrics.UkmRecorder; import org.chromium.chrome.browser.metrics.UkmRecorder;
import org.chromium.chrome.browser.omnibox.LocationBar.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader;
import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.Profile;
......
...@@ -554,7 +554,7 @@ public class LocationBarLayoutTest { ...@@ -554,7 +554,7 @@ public class LocationBarLayoutTest {
0, RecordHistogram.getHistogramTotalCountForTesting("Android.OmniboxFocusReason")); 0, RecordHistogram.getHistogramTotalCountForTesting("Android.OmniboxFocusReason"));
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
locationBar.setUrlBarFocus( locationBar.setUrlBarFocus(
true, SEARCH_TERMS_URL, LocationBar.OmniboxFocusReason.FAKE_BOX_LONG_PRESS); true, SEARCH_TERMS_URL, OmniboxFocusReason.FAKE_BOX_LONG_PRESS);
}); });
Assert.assertTrue(locationBar.isUrlBarFocused()); Assert.assertTrue(locationBar.isUrlBarFocused());
Assert.assertTrue(locationBar.didFocusUrlFromFakebox()); Assert.assertTrue(locationBar.didFocusUrlFromFakebox());
...@@ -563,8 +563,7 @@ public class LocationBarLayoutTest { ...@@ -563,8 +563,7 @@ public class LocationBarLayoutTest {
1, RecordHistogram.getHistogramTotalCountForTesting("Android.OmniboxFocusReason")); 1, RecordHistogram.getHistogramTotalCountForTesting("Android.OmniboxFocusReason"));
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
locationBar.setUrlBarFocus( locationBar.setUrlBarFocus(true, SEARCH_TERMS, OmniboxFocusReason.SEARCH_QUERY);
true, SEARCH_TERMS, LocationBar.OmniboxFocusReason.SEARCH_QUERY);
}); });
Assert.assertTrue(locationBar.isUrlBarFocused()); Assert.assertTrue(locationBar.isUrlBarFocused());
Assert.assertTrue(locationBar.didFocusUrlFromFakebox()); Assert.assertTrue(locationBar.didFocusUrlFromFakebox());
...@@ -572,17 +571,15 @@ public class LocationBarLayoutTest { ...@@ -572,17 +571,15 @@ public class LocationBarLayoutTest {
Assert.assertEquals( Assert.assertEquals(
1, RecordHistogram.getHistogramTotalCountForTesting("Android.OmniboxFocusReason")); 1, RecordHistogram.getHistogramTotalCountForTesting("Android.OmniboxFocusReason"));
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(
locationBar.setUrlBarFocus(false, null, LocationBar.OmniboxFocusReason.UNFOCUS); () -> { locationBar.setUrlBarFocus(false, null, OmniboxFocusReason.UNFOCUS); });
});
Assert.assertFalse(locationBar.isUrlBarFocused()); Assert.assertFalse(locationBar.isUrlBarFocused());
Assert.assertFalse(locationBar.didFocusUrlFromFakebox()); Assert.assertFalse(locationBar.didFocusUrlFromFakebox());
Assert.assertEquals( Assert.assertEquals(
1, RecordHistogram.getHistogramTotalCountForTesting("Android.OmniboxFocusReason")); 1, RecordHistogram.getHistogramTotalCountForTesting("Android.OmniboxFocusReason"));
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(
locationBar.setUrlBarFocus(true, null, LocationBar.OmniboxFocusReason.OMNIBOX_TAP); () -> { locationBar.setUrlBarFocus(true, null, OmniboxFocusReason.OMNIBOX_TAP); });
});
Assert.assertTrue(locationBar.isUrlBarFocused()); Assert.assertTrue(locationBar.isUrlBarFocused());
Assert.assertFalse(locationBar.didFocusUrlFromFakebox()); Assert.assertFalse(locationBar.didFocusUrlFromFakebox());
Assert.assertEquals( Assert.assertEquals(
......
...@@ -24,7 +24,7 @@ import org.chromium.base.supplier.OneshotSupplierImpl; ...@@ -24,7 +24,7 @@ import org.chromium.base.supplier.OneshotSupplierImpl;
import org.chromium.base.test.BaseRobolectricTestRunner; import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.chrome.browser.browser_controls.BrowserStateBrowserControlsVisibilityDelegate; import org.chromium.chrome.browser.browser_controls.BrowserStateBrowserControlsVisibilityDelegate;
import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper;
import org.chromium.chrome.browser.omnibox.LocationBar; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.toolbar.ThemeColorProvider; import org.chromium.chrome.browser.toolbar.ThemeColorProvider;
import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonProperties.ShowBadgeProperty; import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonProperties.ShowBadgeProperty;
import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonProperties.ThemeProperty; import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonProperties.ThemeProperty;
...@@ -115,7 +115,7 @@ public class MenuButtonMediatorTest { ...@@ -115,7 +115,7 @@ public class MenuButtonMediatorTest {
MenuButtonProperties.SHOW_UPDATE_BADGE, new ShowBadgeProperty(true, false)); MenuButtonProperties.SHOW_UPDATE_BADGE, new ShowBadgeProperty(true, false));
mMenuButtonMediator.onMenuVisibilityChanged(true); mMenuButtonMediator.onMenuVisibilityChanged(true);
verify(mFocusFunction).setFocus(false, LocationBar.OmniboxFocusReason.UNFOCUS); verify(mFocusFunction).setFocus(false, OmniboxFocusReason.UNFOCUS);
assertFalse(mPropertyModel.get(MenuButtonProperties.SHOW_UPDATE_BADGE).mShowUpdateBadge); assertFalse(mPropertyModel.get(MenuButtonProperties.SHOW_UPDATE_BADGE).mShowUpdateBadge);
verify(mUpdateMenuItemHelper).onMenuButtonClicked(); verify(mUpdateMenuItemHelper).onMenuButtonClicked();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment