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() {
base::Optional<base::string16>
ClipboardRecentContentGeneric::GetRecentTextFromClipboard() {
return base::nullopt;
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 text_from_clipboard;
}
base::Optional<gfx::Image>
......
......@@ -9,6 +9,7 @@
#include "base/stl_util.h"
#include "base/strings/string16.h"
#include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/clipboard/test/test_clipboard.h"
......@@ -118,3 +119,17 @@ TEST_F(ClipboardRecentContentGenericTest, SuppressClipboardContent) {
test_clipboard_->SetLastModifiedTime(now);
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