Commit 529c3c87 authored by Gang Wu's avatar Gang Wu Committed by Commit Bot

[Omnibox] Implement ClipboardRecentContentGeneric::GetRecentTextFromClipboard

For enabling "Text you copied" on Clank, we need this function to provide
Text in Android's clipboard.

Bug:989143

Change-Id: I35032a6468f3bbae87b0027caa3924aa8af070b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1726276Reviewed-by: default avatarCait Phillips <caitkp@chromium.org>
Reviewed-by: default avatarEnder <ender@google.com>
Commit-Queue: Gang Wu <gangwu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683766}
parent fb6173c7
...@@ -65,7 +65,19 @@ ClipboardRecentContentGeneric::GetRecentURLFromClipboard() { ...@@ -65,7 +65,19 @@ ClipboardRecentContentGeneric::GetRecentURLFromClipboard() {
base::Optional<base::string16> base::Optional<base::string16>
ClipboardRecentContentGeneric::GetRecentTextFromClipboard() { ClipboardRecentContentGeneric::GetRecentTextFromClipboard() {
if (GetClipboardContentAge() > MaximumAgeOfClipboard())
return base::nullopt;
base::string16 text_from_clipboard;
ui::Clipboard::GetForCurrentThread()->ReadText(ui::ClipboardType::kCopyPaste,
&text_from_clipboard);
base::TrimWhitespace(text_from_clipboard, base::TrimPositions::TRIM_ALL,
&text_from_clipboard);
if (text_from_clipboard.empty()) {
return base::nullopt; return base::nullopt;
}
return text_from_clipboard;
} }
base::Optional<gfx::Image> base::Optional<gfx::Image>
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "base/stl_util.h" #include "base/stl_util.h"
#include "base/strings/string16.h" #include "base/strings/string16.h"
#include "base/strings/utf_string_conversions.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/clipboard/test/test_clipboard.h" #include "ui/base/clipboard/test/test_clipboard.h"
...@@ -118,3 +119,17 @@ TEST_F(ClipboardRecentContentGenericTest, SuppressClipboardContent) { ...@@ -118,3 +119,17 @@ TEST_F(ClipboardRecentContentGenericTest, SuppressClipboardContent) {
test_clipboard_->SetLastModifiedTime(now); test_clipboard_->SetLastModifiedTime(now);
EXPECT_TRUE(recent_content.GetRecentURLFromClipboard().has_value()); EXPECT_TRUE(recent_content.GetRecentURLFromClipboard().has_value());
} }
TEST_F(ClipboardRecentContentGenericTest, GetRecentTextFromClipboard) {
// Make sure the Text is suggested.
ClipboardRecentContentGeneric recent_content;
base::Time now = base::Time::Now();
std::string text = " Foo Bar ";
test_clipboard_->WriteText(text.data(), text.length());
test_clipboard_->SetLastModifiedTime(now - base::TimeDelta::FromSeconds(10));
EXPECT_TRUE(recent_content.GetRecentTextFromClipboard().has_value());
EXPECT_STREQ(
"Foo Bar",
base::UTF16ToUTF8(recent_content.GetRecentTextFromClipboard().value())
.c_str());
}
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