Commit e43cba67 authored by David Bienvenu's avatar David Bienvenu Committed by Commit Bot

Use a test clipboard to avoid OS clipboard contention.

Bug: 396477
Change-Id: Ie64abe2a732405d44aec185e3f49907a5fc799a7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1618747Reviewed-by: default avatarMichael Wasserman <msw@chromium.org>
Commit-Queue: David Bienvenu <davidbienvenu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#661375}
parent f1b65357
...@@ -1092,6 +1092,7 @@ test("views_unittests") { ...@@ -1092,6 +1092,7 @@ test("views_unittests") {
"//ui/base", "//ui/base",
"//ui/base:test_support", "//ui/base:test_support",
"//ui/base/clipboard", "//ui/base/clipboard",
"//ui/base/clipboard:clipboard_test_support",
"//ui/base/ime/init", "//ui/base/ime/init",
"//ui/compositor:test_support", "//ui/compositor:test_support",
"//ui/events:dom_keycode_converter", "//ui/events:dom_keycode_converter",
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include "ui/aura/window.h" #include "ui/aura/window.h"
#include "ui/base/clipboard/clipboard.h" #include "ui/base/clipboard/clipboard.h"
#include "ui/base/clipboard/scoped_clipboard_writer.h" #include "ui/base/clipboard/scoped_clipboard_writer.h"
#include "ui/base/clipboard/test/test_clipboard.h"
#include "ui/base/dragdrop/drag_drop_types.h" #include "ui/base/dragdrop/drag_drop_types.h"
#include "ui/base/emoji/emoji_panel_helper.h" #include "ui/base/emoji/emoji_panel_helper.h"
#include "ui/base/ime/constants.h" #include "ui/base/ime/constants.h"
...@@ -406,6 +407,14 @@ class TextfieldTest : public ViewsTestBase, public TextfieldController { ...@@ -406,6 +407,14 @@ class TextfieldTest : public ViewsTestBase, public TextfieldController {
ViewsTestBase::TearDown(); ViewsTestBase::TearDown();
} }
void SetUp() override {
// OS clipboard is a global resource, which causes flakiness when unit tests
// run in parallel. So, use a per-instance test clipboard.
ui::Clipboard::SetClipboardForCurrentThread(
std::make_unique<ui::TestClipboard>());
ViewsTestBase::SetUp();
}
ui::ClipboardType GetAndResetCopiedToClipboard() { ui::ClipboardType GetAndResetCopiedToClipboard() {
ui::ClipboardType clipboard_type = copied_to_clipboard_; ui::ClipboardType clipboard_type = copied_to_clipboard_;
copied_to_clipboard_ = ui::CLIPBOARD_TYPE_LAST; copied_to_clipboard_ = ui::CLIPBOARD_TYPE_LAST;
...@@ -2268,7 +2277,6 @@ TEST_F(TextfieldTest, Yank) { ...@@ -2268,7 +2277,6 @@ TEST_F(TextfieldTest, Yank) {
TEST_F(TextfieldTest, CutCopyPaste) { TEST_F(TextfieldTest, CutCopyPaste) {
InitTextfield(); InitTextfield();
// Ensure IDS_APP_CUT cuts. // Ensure IDS_APP_CUT cuts.
textfield_->SetText(ASCIIToUTF16("123")); textfield_->SetText(ASCIIToUTF16("123"));
textfield_->SelectAll(false); textfield_->SelectAll(false);
......
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