Commit d5442b46 authored by Christopher Grant's avatar Christopher Grant Committed by Commit Bot

VR: Wire up overflow menu tab control

This change enables incognito tab spawning and closing of all incognito
tabs from the new overflow menu.

BUG=817614

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_vr;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I0d5348ad2cbf740259d8cbd77be4437d59c480c4
Reviewed-on: https://chromium-review.googlesource.com/972156
Commit-Queue: Christopher Grant <cjgrant@chromium.org>
Reviewed-by: default avatarMichael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544847}
parent 71fe557f
...@@ -81,6 +81,21 @@ public interface VrShell extends VrDialogManager { ...@@ -81,6 +81,21 @@ public interface VrShell extends VrDialogManager {
*/ */
void navigateBack(); void navigateBack();
/**
* Asks VrShell to reload the current page.
*/
void reloadTab();
/**
* Asks VrShell to open a new tab.
*/
void openNewTab(boolean incognito);
/**
* Asks VrShell to close all incognito tabs.
*/
void closeAllIncognitoTabs();
/** /**
* Simulates a user accepting the currently visible DOFF prompt. * Simulates a user accepting the currently visible DOFF prompt.
*/ */
......
...@@ -897,6 +897,7 @@ public class VrShellImpl ...@@ -897,6 +897,7 @@ public class VrShellImpl
@VisibleForTesting @VisibleForTesting
@Override @Override
@CalledByNative
public void navigateForward() { public void navigateForward() {
if (!mCanGoForward) return; if (!mCanGoForward) return;
mActivity.getToolbarManager().forward(); mActivity.getToolbarManager().forward();
...@@ -918,6 +919,24 @@ public class VrShellImpl ...@@ -918,6 +919,24 @@ public class VrShellImpl
updateHistoryButtonsVisibility(); updateHistoryButtonsVisibility();
} }
@Override
@CalledByNative
public void reloadTab() {
mTab.reload();
}
@Override
@CalledByNative
public void openNewTab(boolean incognito) {
mActivity.getTabCreator(incognito).launchNTP();
}
@Override
@CalledByNative
public void closeAllIncognitoTabs() {
mTabModelSelector.getModel(true).closeAllTabs();
}
private void updateHistoryButtonsVisibility() { private void updateHistoryButtonsVisibility() {
if (mNativeVrShell == 0) return; if (mNativeVrShell == 0) return;
if (mTab == null) { if (mTab == null) {
......
...@@ -222,6 +222,32 @@ void VrGLThread::NavigateBack() { ...@@ -222,6 +222,32 @@ void VrGLThread::NavigateBack() {
FROM_HERE, base::BindOnce(&VrShell::NavigateBack, weak_vr_shell_)); FROM_HERE, base::BindOnce(&VrShell::NavigateBack, weak_vr_shell_));
} }
void VrGLThread::NavigateForward() {
DCHECK(OnGlThread());
main_thread_task_runner_->PostTask(
FROM_HERE, base::BindOnce(&VrShell::NavigateForward, weak_vr_shell_));
}
void VrGLThread::ReloadTab() {
DCHECK(OnGlThread());
main_thread_task_runner_->PostTask(
FROM_HERE, base::BindOnce(&VrShell::ReloadTab, weak_vr_shell_));
}
void VrGLThread::OpenNewTab(bool incognito) {
DCHECK(OnGlThread());
main_thread_task_runner_->PostTask(
FROM_HERE,
base::BindOnce(&VrShell::OpenNewTab, weak_vr_shell_, incognito));
}
void VrGLThread::CloseAllIncognitoTabs() {
DCHECK(OnGlThread());
main_thread_task_runner_->PostTask(
FROM_HERE,
base::BindOnce(&VrShell::CloseAllIncognitoTabs, weak_vr_shell_));
}
void VrGLThread::ExitCct() { void VrGLThread::ExitCct() {
DCHECK(OnGlThread()); DCHECK(OnGlThread());
main_thread_task_runner_->PostTask( main_thread_task_runner_->PostTask(
...@@ -431,6 +457,13 @@ void VrGLThread::OnAssetsUnavailable() { ...@@ -431,6 +457,13 @@ void VrGLThread::OnAssetsUnavailable() {
weak_browser_ui_)); weak_browser_ui_));
} }
void VrGLThread::SetIncognitoTabsOpen(bool open) {
DCHECK(OnMainThread());
task_runner()->PostTask(
FROM_HERE, base::BindOnce(&BrowserUiInterface::SetIncognitoTabsOpen,
weak_browser_ui_, open));
}
void VrGLThread::ShowSoftInput(bool show) { void VrGLThread::ShowSoftInput(bool show) {
DCHECK(OnMainThread()); DCHECK(OnMainThread());
task_runner()->PostTask(FROM_HERE, task_runner()->PostTask(FROM_HERE,
......
...@@ -81,6 +81,10 @@ class VrGLThread : public base::android::JavaHandlerThread, ...@@ -81,6 +81,10 @@ class VrGLThread : public base::android::JavaHandlerThread,
void ExitFullscreen() override; void ExitFullscreen() override;
void Navigate(GURL gurl, NavigationMethod method) override; void Navigate(GURL gurl, NavigationMethod method) override;
void NavigateBack() override; void NavigateBack() override;
void NavigateForward() override;
void ReloadTab() override;
void OpenNewTab(bool incognito) override;
void CloseAllIncognitoTabs() override;
void ExitCct() override; void ExitCct() override;
void CloseHostedDialog() override; void CloseHostedDialog() override;
void OnUnsupportedMode(UiUnsupportedMode mode) override; void OnUnsupportedMode(UiUnsupportedMode mode) override;
...@@ -115,6 +119,7 @@ class VrGLThread : public base::android::JavaHandlerThread, ...@@ -115,6 +119,7 @@ class VrGLThread : public base::android::JavaHandlerThread,
std::unique_ptr<Assets> assets, std::unique_ptr<Assets> assets,
const base::Version& component_version) override; const base::Version& component_version) override;
void OnAssetsUnavailable() override; void OnAssetsUnavailable() override;
void SetIncognitoTabsOpen(bool open) override;
void ShowSoftInput(bool show) override; void ShowSoftInput(bool show) override;
void UpdateWebInputIndices(int selection_start, void UpdateWebInputIndices(int selection_start,
int selection_end, int selection_end,
......
...@@ -353,6 +353,26 @@ void VrShell::NavigateBack() { ...@@ -353,6 +353,26 @@ void VrShell::NavigateBack() {
Java_VrShellImpl_navigateBack(env, j_vr_shell_); Java_VrShellImpl_navigateBack(env, j_vr_shell_);
} }
void VrShell::NavigateForward() {
JNIEnv* env = base::android::AttachCurrentThread();
Java_VrShellImpl_navigateForward(env, j_vr_shell_);
}
void VrShell::ReloadTab() {
JNIEnv* env = base::android::AttachCurrentThread();
Java_VrShellImpl_reloadTab(env, j_vr_shell_);
}
void VrShell::OpenNewTab(bool incognito) {
JNIEnv* env = base::android::AttachCurrentThread();
Java_VrShellImpl_openNewTab(env, j_vr_shell_, incognito);
}
void VrShell::CloseAllIncognitoTabs() {
JNIEnv* env = base::android::AttachCurrentThread();
Java_VrShellImpl_closeAllIncognitoTabs(env, j_vr_shell_);
}
void VrShell::ExitCct() { void VrShell::ExitCct() {
JNIEnv* env = base::android::AttachCurrentThread(); JNIEnv* env = base::android::AttachCurrentThread();
Java_VrShellImpl_exitCct(env, j_vr_shell_); Java_VrShellImpl_exitCct(env, j_vr_shell_);
...@@ -514,18 +534,15 @@ void VrShell::OnTabListCreated(JNIEnv* env, ...@@ -514,18 +534,15 @@ void VrShell::OnTabListCreated(JNIEnv* env,
const JavaParamRef<jobject>& obj, const JavaParamRef<jobject>& obj,
jobjectArray tabs, jobjectArray tabs,
jobjectArray incognito_tabs) { jobjectArray incognito_tabs) {
ProcessTabArray(env, tabs, false); incognito_tab_ids_.clear();
ProcessTabArray(env, incognito_tabs, true); size_t len = env->GetArrayLength(incognito_tabs);
ui_->FlushTabList();
}
void VrShell::ProcessTabArray(JNIEnv* env, jobjectArray tabs, bool incognito) {
size_t len = env->GetArrayLength(tabs);
for (size_t i = 0; i < len; ++i) { for (size_t i = 0; i < len; ++i) {
ScopedJavaLocalRef<jobject> j_tab(env, env->GetObjectArrayElement(tabs, i)); ScopedJavaLocalRef<jobject> j_tab(
env, env->GetObjectArrayElement(incognito_tabs, i));
TabAndroid* tab = TabAndroid::GetNativeTab(env, j_tab); TabAndroid* tab = TabAndroid::GetNativeTab(env, j_tab);
ui_->AppendToTabList(incognito, tab->GetAndroidId(), tab->GetTitle()); incognito_tab_ids_.insert(tab->GetAndroidId());
} }
ui_->SetIncognitoTabsOpen(!incognito_tab_ids_.empty());
} }
void VrShell::OnTabUpdated(JNIEnv* env, void VrShell::OnTabUpdated(JNIEnv* env,
...@@ -533,16 +550,16 @@ void VrShell::OnTabUpdated(JNIEnv* env, ...@@ -533,16 +550,16 @@ void VrShell::OnTabUpdated(JNIEnv* env,
jboolean incognito, jboolean incognito,
jint id, jint id,
jstring jtitle) { jstring jtitle) {
std::string title; incognito_tab_ids_.insert(id);
base::android::ConvertJavaStringToUTF8(env, jtitle, &title); ui_->SetIncognitoTabsOpen(!incognito_tab_ids_.empty());
ui_->UpdateTab(incognito, id, title);
} }
void VrShell::OnTabRemoved(JNIEnv* env, void VrShell::OnTabRemoved(JNIEnv* env,
const JavaParamRef<jobject>& obj, const JavaParamRef<jobject>& obj,
jboolean incognito, jboolean incognito,
jint id) { jint id) {
ui_->RemoveTab(incognito, id); incognito_tab_ids_.erase(id);
ui_->SetIncognitoTabsOpen(!incognito_tab_ids_.empty());
} }
void VrShell::SetAlertDialog(JNIEnv* env, void VrShell::SetAlertDialog(JNIEnv* env,
......
...@@ -125,6 +125,10 @@ class VrShell : device::GvrGamepadDataProvider, ...@@ -125,6 +125,10 @@ class VrShell : device::GvrGamepadDataProvider,
void OnContentPaused(bool paused); void OnContentPaused(bool paused);
void Navigate(GURL url, NavigationMethod method); void Navigate(GURL url, NavigationMethod method);
void NavigateBack(); void NavigateBack();
void NavigateForward();
void ReloadTab();
void OpenNewTab(bool incognito);
void CloseAllIncognitoTabs();
void ExitCct(); void ExitCct();
void CloseHostedDialog(); void CloseHostedDialog();
void ToggleCardboardGamepad(bool enabled); void ToggleCardboardGamepad(bool enabled);
...@@ -237,8 +241,6 @@ class VrShell : device::GvrGamepadDataProvider, ...@@ -237,8 +241,6 @@ class VrShell : device::GvrGamepadDataProvider,
void PostToGlThread(const base::Location& from_here, base::OnceClosure task); void PostToGlThread(const base::Location& from_here, base::OnceClosure task);
void SetUiState(); void SetUiState();
void ProcessTabArray(JNIEnv* env, jobjectArray tabs, bool incognito);
void PollMediaAccessFlag(); void PollMediaAccessFlag();
bool HasDaydreamSupport(JNIEnv* env); bool HasDaydreamSupport(JNIEnv* env);
...@@ -317,6 +319,8 @@ class VrShell : device::GvrGamepadDataProvider, ...@@ -317,6 +319,8 @@ class VrShell : device::GvrGamepadDataProvider,
base::Timer waiting_for_assets_component_timer_; base::Timer waiting_for_assets_component_timer_;
std::set<int> incognito_tab_ids_;
base::WeakPtrFactory<VrShell> weak_ptr_factory_; base::WeakPtrFactory<VrShell> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(VrShell); DISALLOW_COPY_AND_ASSIGN(VrShell);
......
...@@ -48,6 +48,7 @@ class BrowserUiInterface { ...@@ -48,6 +48,7 @@ class BrowserUiInterface {
std::unique_ptr<Assets> assets, std::unique_ptr<Assets> assets,
const base::Version& component_version) = 0; const base::Version& component_version) = 0;
virtual void OnAssetsUnavailable() = 0; virtual void OnAssetsUnavailable() = 0;
virtual void SetIncognitoTabsOpen(bool open) = 0;
// Web contents text input related. // Web contents text input related.
virtual void ShowSoftInput(bool show) = 0; virtual void ShowSoftInput(bool show) = 0;
...@@ -55,14 +56,6 @@ class BrowserUiInterface { ...@@ -55,14 +56,6 @@ class BrowserUiInterface {
int selection_end, int selection_end,
int composition_start, int composition_start,
int composition_end) = 0; int composition_end) = 0;
// Tab handling.
virtual void AppendToTabList(bool incognito,
int id,
const base::string16& title) {}
virtual void FlushTabList() {}
virtual void UpdateTab(bool incognito, int id, const std::string& title) {}
virtual void RemoveTab(bool incognito, int id) {}
}; };
} // namespace vr } // namespace vr
......
...@@ -65,6 +65,11 @@ void Button::SetButtonColors(const ButtonColors& colors) { ...@@ -65,6 +65,11 @@ void Button::SetButtonColors(const ButtonColors& colors) {
OnStateUpdated(); OnStateUpdated();
} }
void Button::SetEnabled(bool enabled) {
enabled_ = enabled;
OnStateUpdated();
}
void Button::HandleHoverEnter() { void Button::HandleHoverEnter() {
hovered_ = enabled_; hovered_ = enabled_;
OnStateUpdated(); OnStateUpdated();
......
...@@ -35,8 +35,11 @@ class Button : public UiElement { ...@@ -35,8 +35,11 @@ class Button : public UiElement {
Rect* background() const { return background_; } Rect* background() const { return background_; }
UiElement* hit_plane() const { return hit_plane_; } UiElement* hit_plane() const { return hit_plane_; }
void SetButtonColors(const ButtonColors& colors); void SetButtonColors(const ButtonColors& colors);
void SetEnabled(bool enabled);
void set_enabled(bool enabled) { enabled_ = enabled; } void set_click_handler(base::RepeatingCallback<void()> click_handler) {
click_handler_ = click_handler;
}
// TODO(vollick): once all elements are scaled by a ScaledDepthAdjuster, we // TODO(vollick): once all elements are scaled by a ScaledDepthAdjuster, we
// will never have to change the button hover offset from the default and this // will never have to change the button hover offset from the default and this
......
...@@ -25,7 +25,7 @@ TEST(Button, Hover) { ...@@ -25,7 +25,7 @@ TEST(Button, Hover) {
EXPECT_NE(xform.ToString(), button.hit_plane()->LocalTransform().ToString()); EXPECT_NE(xform.ToString(), button.hit_plane()->LocalTransform().ToString());
button.OnHoverLeave(); button.OnHoverLeave();
button.set_enabled(false); button.SetEnabled(false);
button.OnHoverEnter(gfx::PointF(0.5f, 0.5f)); button.OnHoverEnter(gfx::PointF(0.5f, 0.5f));
EXPECT_EQ(xform.ToString(), button.hit_plane()->LocalTransform().ToString()); EXPECT_EQ(xform.ToString(), button.hit_plane()->LocalTransform().ToString());
button.OnHoverLeave(); button.OnHoverLeave();
......
...@@ -60,6 +60,10 @@ static const char* g_ui_element_name_strings[] = { ...@@ -60,6 +60,10 @@ static const char* g_ui_element_name_strings[] = {
"kOverflowMenuBackplane", "kOverflowMenuBackplane",
"kOverflowMenu", "kOverflowMenu",
"kOverflowMenuLayout", "kOverflowMenuLayout",
"kOverflowMenuFordwardButton",
"kOverflowMenuReloadButton",
"kOverflowMenuCloseAllIncognitoTabsItem",
"kOverflowMenuNewIncognitoTabItem",
"kOmniboxVisibiltyControlForVoice", "kOmniboxVisibiltyControlForVoice",
"kOmniboxVisibilityControlForAudioPermissionPrompt", "kOmniboxVisibilityControlForAudioPermissionPrompt",
"kOmniboxDmmRoot", "kOmniboxDmmRoot",
......
...@@ -59,6 +59,10 @@ enum UiElementName { ...@@ -59,6 +59,10 @@ enum UiElementName {
kOverflowMenuBackplane, kOverflowMenuBackplane,
kOverflowMenu, kOverflowMenu,
kOverflowMenuLayout, kOverflowMenuLayout,
kOverflowMenuFordwardButton,
kOverflowMenuReloadButton,
kOverflowMenuCloseAllIncognitoTabsItem,
kOverflowMenuNewIncognitoTabItem,
kOmniboxVisibiltyControlForVoice, kOmniboxVisibiltyControlForVoice,
kOmniboxVisibilityControlForAudioPermissionPrompt, kOmniboxVisibilityControlForAudioPermissionPrompt,
kOmniboxDmmRoot, kOmniboxDmmRoot,
......
...@@ -33,6 +33,7 @@ struct Model { ...@@ -33,6 +33,7 @@ struct Model {
bool incognito = false; bool incognito = false;
bool in_cct = false; bool in_cct = false;
bool can_navigate_back = false; bool can_navigate_back = false;
bool can_navigate_forward = false;
ToolbarState toolbar_state; ToolbarState toolbar_state;
std::vector<OmniboxSuggestion> omnibox_suggestions; std::vector<OmniboxSuggestion> omnibox_suggestions;
SpeechRecognitionModel speech; SpeechRecognitionModel speech;
...@@ -50,6 +51,7 @@ struct Model { ...@@ -50,6 +51,7 @@ struct Model {
bool supports_selection = true; bool supports_selection = true;
bool needs_keyboard_update = false; bool needs_keyboard_update = false;
bool overflow_menu_enabled = false; bool overflow_menu_enabled = false;
bool incognito_tabs_open = false;
// WebVR state. // WebVR state.
WebVrModel web_vr; WebVrModel web_vr;
......
...@@ -42,6 +42,7 @@ class MockBrowserUiInterface : public BrowserUiInterface { ...@@ -42,6 +42,7 @@ class MockBrowserUiInterface : public BrowserUiInterface {
std::unique_ptr<Assets> assets, std::unique_ptr<Assets> assets,
const base::Version& component_version) {} const base::Version& component_version) {}
MOCK_METHOD0(OnAssetsUnavailable, void()); MOCK_METHOD0(OnAssetsUnavailable, void());
MOCK_METHOD1(SetIncognitoTabsOpen, void(bool));
MOCK_METHOD1(ShowSoftInput, void(bool)); MOCK_METHOD1(ShowSoftInput, void(bool));
MOCK_METHOD4(UpdateWebInputIndices, void(int, int, int, int)); MOCK_METHOD4(UpdateWebInputIndices, void(int, int, int, int));
......
...@@ -20,6 +20,10 @@ class MockUiBrowserInterface : public UiBrowserInterface { ...@@ -20,6 +20,10 @@ class MockUiBrowserInterface : public UiBrowserInterface {
MOCK_METHOD0(ExitFullscreen, void()); MOCK_METHOD0(ExitFullscreen, void());
MOCK_METHOD2(Navigate, void(GURL gurl, NavigationMethod method)); MOCK_METHOD2(Navigate, void(GURL gurl, NavigationMethod method));
MOCK_METHOD0(NavigateBack, void()); MOCK_METHOD0(NavigateBack, void());
MOCK_METHOD0(NavigateForward, void());
MOCK_METHOD0(ReloadTab, void());
MOCK_METHOD1(OpenNewTab, void(bool));
MOCK_METHOD0(CloseAllIncognitoTabs, void());
MOCK_METHOD0(ExitCct, void()); MOCK_METHOD0(ExitCct, void());
MOCK_METHOD0(CloseHostedDialog, void()); MOCK_METHOD0(CloseHostedDialog, void());
MOCK_METHOD1(OnUnsupportedMode, void(UiUnsupportedMode mode)); MOCK_METHOD1(OnUnsupportedMode, void(UiUnsupportedMode mode));
......
...@@ -52,7 +52,7 @@ constexpr float kDefaultViewScaleFactor = 1.2f; ...@@ -52,7 +52,7 @@ constexpr float kDefaultViewScaleFactor = 1.2f;
constexpr float kMinViewScaleFactor = 0.5f; constexpr float kMinViewScaleFactor = 0.5f;
constexpr float kMaxViewScaleFactor = 5.0f; constexpr float kMaxViewScaleFactor = 5.0f;
constexpr float kViewScaleAdjustmentFactor = 0.2f; constexpr float kViewScaleAdjustmentFactor = 0.2f;
constexpr float kPageLoadTimeMilliseconds = 500; constexpr float kPageLoadTimeMilliseconds = 1000;
constexpr gfx::Point3F kDefaultLaserOrigin = {0.5f, -0.5f, 0.f}; constexpr gfx::Point3F kDefaultLaserOrigin = {0.5f, -0.5f, 0.f};
constexpr gfx::Vector3dF kLaserLocalOffset = {0.f, -0.0075f, -0.05f}; constexpr gfx::Vector3dF kLaserLocalOffset = {0.f, -0.0075f, -0.05f};
...@@ -468,6 +468,31 @@ void VrTestContext::Navigate(GURL gurl, NavigationMethod method) { ...@@ -468,6 +468,31 @@ void VrTestContext::Navigate(GURL gurl, NavigationMethod method) {
void VrTestContext::NavigateBack() { void VrTestContext::NavigateBack() {
page_load_start_ = base::TimeTicks::Now(); page_load_start_ = base::TimeTicks::Now();
model_->can_navigate_back = false;
model_->can_navigate_forward = true;
}
void VrTestContext::NavigateForward() {
page_load_start_ = base::TimeTicks::Now();
model_->can_navigate_back = true;
model_->can_navigate_forward = false;
}
void VrTestContext::ReloadTab() {
page_load_start_ = base::TimeTicks::Now();
}
void VrTestContext::OpenNewTab(bool incognito) {
DCHECK(incognito);
incognito_ = true;
ui_->SetIncognito(true);
model_->incognito_tabs_open = true;
}
void VrTestContext::CloseAllIncognitoTabs() {
incognito_ = true;
ui_->SetIncognito(false);
model_->incognito_tabs_open = false;
} }
void VrTestContext::ExitCct() {} void VrTestContext::ExitCct() {}
......
...@@ -44,6 +44,10 @@ class VrTestContext : public vr::UiBrowserInterface { ...@@ -44,6 +44,10 @@ class VrTestContext : public vr::UiBrowserInterface {
void ExitPresent() override; void ExitPresent() override;
void ExitFullscreen() override; void ExitFullscreen() override;
void NavigateBack() override; void NavigateBack() override;
void NavigateForward() override;
void ReloadTab() override;
void OpenNewTab(bool incognito) override;
void CloseAllIncognitoTabs() override;
void ExitCct() override; void ExitCct() override;
void CloseHostedDialog() override; void CloseHostedDialog() override;
void OnUnsupportedMode(vr::UiUnsupportedMode mode) override; void OnUnsupportedMode(vr::UiUnsupportedMode mode) override;
......
...@@ -123,8 +123,8 @@ void Ui::SetIsExiting() { ...@@ -123,8 +123,8 @@ void Ui::SetIsExiting() {
} }
void Ui::SetHistoryButtonsEnabled(bool can_go_back, bool can_go_forward) { void Ui::SetHistoryButtonsEnabled(bool can_go_back, bool can_go_forward) {
// We don't yet support forward navigation so we ignore this parameter.
model_->can_navigate_back = can_go_back; model_->can_navigate_back = can_go_back;
model_->can_navigate_forward = can_go_forward;
} }
void Ui::SetVideoCaptureEnabled(bool enabled) { void Ui::SetVideoCaptureEnabled(bool enabled) {
...@@ -435,6 +435,10 @@ void Ui::OnAssetsUnavailable() { ...@@ -435,6 +435,10 @@ void Ui::OnAssetsUnavailable() {
model_->waiting_for_background = false; model_->waiting_for_background = false;
} }
void Ui::SetIncognitoTabsOpen(bool open) {
model_->incognito_tabs_open = open;
}
void Ui::ReinitializeForTest(const UiInitialState& ui_initial_state) { void Ui::ReinitializeForTest(const UiInitialState& ui_initial_state) {
InitializeModel(ui_initial_state); InitializeModel(ui_initial_state);
} }
......
...@@ -100,6 +100,7 @@ class Ui : public BrowserUiInterface, public KeyboardUiInterface { ...@@ -100,6 +100,7 @@ class Ui : public BrowserUiInterface, public KeyboardUiInterface {
std::unique_ptr<Assets> assets, std::unique_ptr<Assets> assets,
const base::Version& component_version) override; const base::Version& component_version) override;
void OnAssetsUnavailable() override; void OnAssetsUnavailable() override;
void SetIncognitoTabsOpen(bool open) override;
// TODO(ymalik): We expose this to stop sending VSync to the WebVR page until // TODO(ymalik): We expose this to stop sending VSync to the WebVR page until
// the splash screen has been visible for its minimum duration. The visibility // the splash screen has been visible for its minimum duration. The visibility
......
...@@ -30,6 +30,10 @@ class UiBrowserInterface { ...@@ -30,6 +30,10 @@ class UiBrowserInterface {
virtual void ExitFullscreen() = 0; virtual void ExitFullscreen() = 0;
virtual void Navigate(GURL gurl, NavigationMethod method) = 0; virtual void Navigate(GURL gurl, NavigationMethod method) = 0;
virtual void NavigateBack() = 0; virtual void NavigateBack() = 0;
virtual void NavigateForward() = 0;
virtual void ReloadTab() = 0;
virtual void OpenNewTab(bool incognito) = 0;
virtual void CloseAllIncognitoTabs() = 0;
virtual void ExitCct() = 0; virtual void ExitCct() = 0;
virtual void CloseHostedDialog() = 0; virtual void CloseHostedDialog() = 0;
virtual void OnUnsupportedMode(UiUnsupportedMode mode) = 0; virtual void OnUnsupportedMode(UiUnsupportedMode mode) = 0;
......
This diff is collapsed.
...@@ -44,7 +44,6 @@ class UiSceneCreator { ...@@ -44,7 +44,6 @@ class UiSceneCreator {
void CreateViewportAwareRoot(); void CreateViewportAwareRoot();
void CreateUrlBar(); void CreateUrlBar();
void CreateOverflowMenu(); void CreateOverflowMenu();
void CreateLoadingIndicator();
void CreateSnackbars(); void CreateSnackbars();
void CreateOmnibox(); void CreateOmnibox();
void CreateCloseButton(); void CreateCloseButton();
......
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