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

Unified Diff: chrome/browser/ui/views/ime/ime_warning_bubble_browsertest.cc

Issue 1724733002: Show a warning bubble when the IME extension is activated. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix patch conflict. Created 4 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/ime/ime_warning_bubble_browsertest.cc
diff --git a/chrome/browser/ui/views/ime/ime_warning_bubble_browsertest.cc b/chrome/browser/ui/views/ime/ime_warning_bubble_browsertest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..1bef904a81c6bbce16b72c6b8352cda73e7eee74
--- /dev/null
+++ b/chrome/browser/ui/views/ime/ime_warning_bubble_browsertest.cc
@@ -0,0 +1,94 @@
+// Copyright 2016 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.
+
+#include "chrome/browser/extensions/api/input_ime/input_ime_api_nonchromeos.h"
+#include "chrome/browser/extensions/extension_browsertest.h"
+#include "chrome/browser/ui/browser_window.h"
+#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h"
+#include "chrome/browser/ui/views/frame/browser_view.h"
+#include "chrome/browser/ui/views/ime/ime_warning_bubble_view.h"
+#include "ui/views/controls/button/checkbox.h"
+
+class ImeWarningBubbleTest : public ExtensionBrowserTest {
+ public:
+ ImeWarningBubbleTest();
+ ~ImeWarningBubbleTest() override {}
+
+ void SetUpOnMainThread() override;
+
+ protected:
+ void OnPermissionBubbleFinished(ImeWarningBubblePermissionStatus status);
+
+ bool IsVisible();
+ void CloseBubble(bool ok, bool checked);
+
+ const extensions::Extension* extension_;
+ ImeWarningBubbleView* ime_warning_bubble_;
+ base::Callback<void(ImeWarningBubblePermissionStatus status)> callback_;
+ bool ok_button_pressed_;
+ bool never_show_checked_;
+
+ DISALLOW_COPY_AND_ASSIGN(ImeWarningBubbleTest);
+};
+
+ImeWarningBubbleTest::ImeWarningBubbleTest()
+ : extension_(nullptr),
+ ime_warning_bubble_(nullptr),
+ ok_button_pressed_(false),
+ never_show_checked_(false) {}
+
+void ImeWarningBubbleTest::SetUpOnMainThread() {
+ ToolbarActionsBar::disable_animations_for_testing_ = true;
+ ExtensionBrowserTest::SetUpOnMainThread();
+ extension_ = ExtensionBrowserTest::LoadExtension(
+ test_data_dir_.AppendASCII("input_ime"));
+ callback_ =
+ base::Bind(&ImeWarningBubbleTest::OnPermissionBubbleFinished, this);
+ browser()->window()->ShowImeWarningBubble(extension_, callback_);
+ ime_warning_bubble_ = ImeWarningBubbleView::ime_warning_bubble_for_test_;
+}
+
+void ImeWarningBubbleTest::OnPermissionBubbleFinished(
+ ImeWarningBubblePermissionStatus status) {
+ if (status == ImeWarningBubblePermissionStatus::GRANTED ||
+ status == ImeWarningBubblePermissionStatus::GRANTED_AND_NEVER_SHOW) {
+ ok_button_pressed_ = true;
+ } else {
+ ok_button_pressed_ = false;
+ }
+ if (status == ImeWarningBubblePermissionStatus::GRANTED_AND_NEVER_SHOW) {
+ never_show_checked_ = true;
+ } else {
+ never_show_checked_ = false;
+ }
+}
+
+bool ImeWarningBubbleTest::IsVisible() {
+ return ime_warning_bubble_->GetWidget() &&
+ ime_warning_bubble_->GetWidget()->IsVisible();
+}
+
+void ImeWarningBubbleTest::CloseBubble(bool ok, bool checked) {
+ ime_warning_bubble_->never_show_checkbox_->SetChecked(checked);
+ if (ok)
+ ime_warning_bubble_->Accept();
+ else
+ ime_warning_bubble_->Cancel();
+}
+
+IN_PROC_BROWSER_TEST_F(ImeWarningBubbleTest, PressOKButton) {
+ ASSERT_TRUE(!!ime_warning_bubble_);
+ EXPECT_TRUE(IsVisible());
+ CloseBubble(true, true);
+ EXPECT_TRUE(ok_button_pressed_);
+ EXPECT_TRUE(never_show_checked_);
+}
+
+IN_PROC_BROWSER_TEST_F(ImeWarningBubbleTest, PressCANCELButton) {
+ ASSERT_TRUE(!!ime_warning_bubble_);
+ EXPECT_TRUE(IsVisible());
+ CloseBubble(false, false);
+ EXPECT_FALSE(ok_button_pressed_);
+ EXPECT_FALSE(never_show_checked_);
+}
« no previous file with comments | « chrome/browser/ui/views/frame/browser_view.cc ('k') | chrome/browser/ui/views/ime/ime_warning_bubble_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698