Skip to content

Commit

Permalink
Move clipboard from app/ to ui/base
Browse files Browse the repository at this point in the history
BUG=none
TEST=none
TBR=brettw

Review URL: http://codereview.chromium.org/6135006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70938 0039d316-1c4b-4281-b951-d872f2087c98
  • Loading branch information
ben@chromium.org committed Jan 10, 2011
1 parent 6f1d18e commit 2dfeaf9
Show file tree
Hide file tree
Showing 60 changed files with 374 additions and 299 deletions.
1 change: 1 addition & 0 deletions app/DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ include_rules = [
"+net",
"+skia",
"+third_party/mozilla",
"+ui",

"-chrome",
"-third_party/WebKit",
Expand Down
2 changes: 1 addition & 1 deletion app/app.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@
'../third_party/icu/icu.gyp:icuuc',
'../third_party/libpng/libpng.gyp:libpng',
'../third_party/zlib/zlib.gyp:zlib',
'../ui/ui.gyp:ui_base',
'<(libjpeg_gyp_path):libjpeg',
],
'sources': [
'clipboard/clipboard_unittest.cc',
'data_pack_unittest.cc',
'l10n_util_mac_unittest.mm',
'l10n_util_unittest.cc',
Expand Down
9 changes: 0 additions & 9 deletions app/app_base.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -92,15 +92,6 @@
'active_window_watcher_x.cc',
'active_window_watcher_x.h',
'bidi_line_iterator.cc',
'clipboard/clipboard.cc',
'clipboard/clipboard.h',
'clipboard/clipboard_linux.cc',
'clipboard/clipboard_mac.mm',
'clipboard/clipboard_util_win.cc',
'clipboard/clipboard_util_win.h',
'clipboard/clipboard_win.cc',
'clipboard/scoped_clipboard_writer.cc',
'clipboard/scoped_clipboard_writer.h',
'combobox_model.h',
'data_pack.cc',
'data_pack.h',
Expand Down
4 changes: 3 additions & 1 deletion app/os_exchange_data_provider_win.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

#include "app/os_exchange_data_provider_win.h"

#include "app/clipboard/clipboard_util_win.h"
#include "app/l10n_util.h"
#include "base/file_path.h"
#include "base/i18n/file_util_icu.h"
Expand All @@ -17,6 +16,9 @@
#include "googleurl/src/gurl.h"
#include "grit/app_strings.h"
#include "net/base/net_util.h"
#include "ui/base/clipboard/clipboard_util_win.h"

using ui::ClipboardUtil;

// Creates a new STGMEDIUM object to hold the specified text. The caller
// owns the resulting object. The "Bytes" version does not NULL terminate, the
Expand Down
4 changes: 2 additions & 2 deletions app/os_exchange_data_win_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "app/clipboard/clipboard_util_win.h"
#include "app/os_exchange_data.h"
#include "app/os_exchange_data_provider_win.h"
#include "base/pickle.h"
Expand All @@ -13,6 +12,7 @@
#include "base/win/scoped_hglobal.h"
#include "googleurl/src/gurl.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/clipboard/clipboard_util_win.h"

typedef testing::Test OSExchangeDataTest;

Expand Down Expand Up @@ -347,7 +347,7 @@ TEST(OSExchangeDataTest, Html) {
STGMEDIUM medium;
IDataObject* data_object = OSExchangeDataProviderWin::GetIDataObject(data);
EXPECT_EQ(S_OK,
data_object->GetData(ClipboardUtil::GetHtmlFormat(), &medium));
data_object->GetData(ui::ClipboardUtil::GetHtmlFormat(), &medium));
base::win::ScopedHGlobal<char> glob(medium.hGlobal);
std::string output(glob.get(), glob.Size());
EXPECT_EQ(expected_cf_html, output);
Expand Down
7 changes: 5 additions & 2 deletions chrome/browser/autocomplete/autocomplete_edit_view_mac.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,13 @@

class AutocompleteEditController;
class AutocompletePopupViewMac;
class Clipboard;
class Profile;
class ToolbarModel;

namespace ui {
class Clipboard;
}

// Implements AutocompleteEditView on an AutocompleteTextField.

class AutocompleteEditViewMac : public AutocompleteEditView,
Expand Down Expand Up @@ -107,7 +110,7 @@ class AutocompleteEditViewMac : public AutocompleteEditView,

// Helper to get appropriate contents from |clipboard|. Returns
// empty string if no appropriate data is found on |clipboard|.
static std::wstring GetClipboardText(Clipboard* clipboard);
static std::wstring GetClipboardText(ui::Clipboard* clipboard);

// Helper to get the font to use in the field, exposed for the
// popup.
Expand Down
16 changes: 8 additions & 8 deletions chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@

#include <Carbon/Carbon.h> // kVK_Return

#include "app/clipboard/clipboard.h"
#include "app/clipboard/scoped_clipboard_writer.h"
#include "app/mac/nsimage_cache.h"
#include "app/resource_bundle.h"
#include "base/string_util.h"
Expand All @@ -25,6 +23,7 @@
#include "grit/theme_resources.h"
#include "net/base/escape.h"
#import "third_party/mozilla/NSPasteboard+Utils.h"
#include "ui/base/clipboard/clipboard.h"

// Focus-handling between |field_| and |model_| is a bit subtle.
// Other platforms detect change of focus, which is inconvenient
Expand Down Expand Up @@ -1042,15 +1041,16 @@ AutocompleteEditViewMacState state(model_->GetStateForTabSwitch(),

// TODO(shess): Copied from autocomplete_edit_view_win.cc. Could this
// be pushed into the model?
std::wstring AutocompleteEditViewMac::GetClipboardText(Clipboard* clipboard) {
std::wstring AutocompleteEditViewMac::GetClipboardText(
ui::Clipboard* clipboard) {
// autocomplete_edit_view_win.cc assumes this can never happen, we
// will too.
DCHECK(clipboard);

if (clipboard->IsFormatAvailable(Clipboard::GetPlainTextWFormatType(),
Clipboard::BUFFER_STANDARD)) {
if (clipboard->IsFormatAvailable(ui::Clipboard::GetPlainTextWFormatType(),
ui::Clipboard::BUFFER_STANDARD)) {
string16 text16;
clipboard->ReadText(Clipboard::BUFFER_STANDARD, &text16);
clipboard->ReadText(ui::Clipboard::BUFFER_STANDARD, &text16);

// Note: Unlike in the find popup and textfield view, here we completely
// remove whitespace strings containing newlines. We assume users are
Expand All @@ -1068,8 +1068,8 @@ AutocompleteEditViewMacState state(model_->GetStateForTabSwitch(),
// and pastes from the URL bar to itself, the text will get fixed up and
// cannonicalized, which is not what the user expects. By pasting in this
// order, we are sure to paste what the user copied.
if (clipboard->IsFormatAvailable(Clipboard::GetUrlWFormatType(),
Clipboard::BUFFER_STANDARD)) {
if (clipboard->IsFormatAvailable(ui::Clipboard::GetUrlWFormatType(),
ui::Clipboard::BUFFER_STANDARD)) {
std::string url_str;
clipboard->ReadBookmark(NULL, &url_str);
// pass resulting url string through GURL to normalize
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,23 @@

#import "chrome/browser/autocomplete/autocomplete_edit_view_mac.h"

#include "app/clipboard/clipboard.h"
#include "app/clipboard/scoped_clipboard_writer.h"
#include "base/string_util.h"
#include "base/sys_string_conversions.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/autocomplete/autocomplete.h"
#include "gfx/size.h"
#include "testing/platform_test.h"
#include "ui/base/clipboard/clipboard.h"
#include "ui/base/clipboard/scoped_clipboard_writer.h"

namespace {

TEST(AutocompleteEditViewMacTest, GetClipboardText) {
Clipboard clipboard;
ui::Clipboard clipboard;
std::wstring text;

// Does an empty clipboard get empty text?
clipboard.WriteObjects(Clipboard::ObjectMap());
clipboard.WriteObjects(ui::Clipboard::ObjectMap());
text = AutocompleteEditViewMac::GetClipboardText(&clipboard);
EXPECT_EQ(std::wstring(), text);

Expand All @@ -30,7 +30,7 @@

// Can we pull straight text off the clipboard?
{
ScopedClipboardWriter clipboard_writer(&clipboard);
ui::ScopedClipboardWriter clipboard_writer(&clipboard);
clipboard_writer.WriteText(plainText);
}

Expand All @@ -39,7 +39,7 @@

// Can we pull a bookmark off the clipboard?
{
ScopedClipboardWriter clipboard_writer(&clipboard);
ui::ScopedClipboardWriter clipboard_writer(&clipboard);
clipboard_writer.WriteBookmark(title, url);
}

Expand All @@ -48,7 +48,7 @@

// Do we pull text in preference to a bookmark?
{
ScopedClipboardWriter clipboard_writer(&clipboard);
ui::ScopedClipboardWriter clipboard_writer(&clipboard);
clipboard_writer.WriteText(plainText);
clipboard_writer.WriteBookmark(title, url);
}
Expand All @@ -59,7 +59,7 @@
// Do we get nothing if there is neither text nor a bookmark?
{
const string16 markup(ASCIIToUTF16("<strong>Hi!</string>"));
ScopedClipboardWriter clipboard_writer(&clipboard);
ui::ScopedClipboardWriter clipboard_writer(&clipboard);
clipboard_writer.WriteHTML(markup, url);
}

Expand Down
18 changes: 9 additions & 9 deletions chrome/browser/autocomplete/autocomplete_edit_view_win.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
#include <richedit.h>
#include <textserv.h>

#include "app/clipboard/clipboard.h"
#include "app/clipboard/scoped_clipboard_writer.h"
#include "app/keyboard_codes.h"
#include "app/l10n_util.h"
#include "app/l10n_util_win.h"
Expand Down Expand Up @@ -50,6 +48,8 @@
#include "grit/generated_resources.h"
#include "net/base/escape.h"
#include "skia/ext/skia_utils_win.h"
#include "ui/base/clipboard/clipboard.h"
#include "ui/base/clipboard/scoped_clipboard_writer.h"
#include "views/drag_utils.h"
#include "views/focus/focus_util_win.h"
#include "views/widget/widget.h"
Expand Down Expand Up @@ -1252,7 +1252,7 @@ void AutocompleteEditViewWin::OnCopy() {
// GetSel() doesn't preserve selection direction, so sel.cpMin will always be
// the smaller value.
model_->AdjustTextForCopy(sel.cpMin, IsSelectAll(), &text, &url, &write_url);
ScopedClipboardWriter scw(g_browser_process->clipboard());
ui::ScopedClipboardWriter scw(g_browser_process->clipboard());
scw.WriteText(text);
if (write_url) {
scw.WriteBookmark(text, url.spec());
Expand Down Expand Up @@ -2360,11 +2360,11 @@ void AutocompleteEditViewWin::TextChanged() {

std::wstring AutocompleteEditViewWin::GetClipboardText() const {
// Try text format.
Clipboard* clipboard = g_browser_process->clipboard();
if (clipboard->IsFormatAvailable(Clipboard::GetPlainTextWFormatType(),
Clipboard::BUFFER_STANDARD)) {
ui::Clipboard* clipboard = g_browser_process->clipboard();
if (clipboard->IsFormatAvailable(ui::Clipboard::GetPlainTextWFormatType(),
ui::Clipboard::BUFFER_STANDARD)) {
std::wstring text;
clipboard->ReadText(Clipboard::BUFFER_STANDARD, &text);
clipboard->ReadText(ui::Clipboard::BUFFER_STANDARD, &text);

// Note: Unlike in the find popup and textfield view, here we completely
// remove whitespace strings containing newlines. We assume users are
Expand All @@ -2382,8 +2382,8 @@ std::wstring AutocompleteEditViewWin::GetClipboardText() const {
// and pastes from the URL bar to itself, the text will get fixed up and
// cannonicalized, which is not what the user expects. By pasting in this
// order, we are sure to paste what the user copied.
if (clipboard->IsFormatAvailable(Clipboard::GetUrlWFormatType(),
Clipboard::BUFFER_STANDARD)) {
if (clipboard->IsFormatAvailable(ui::Clipboard::GetUrlWFormatType(),
ui::Clipboard::BUFFER_STANDARD)) {
std::string url_str;
clipboard->ReadBookmark(NULL, &url_str);
// pass resulting url string through GURL to normalize
Expand Down
8 changes: 4 additions & 4 deletions chrome/browser/bookmarks/bookmark_node_data.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

#include <string>

#include "app/clipboard/scoped_clipboard_writer.h"
#include "base/basictypes.h"
#include "base/pickle.h"
#include "base/string_util.h"
Expand All @@ -15,6 +14,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/url_constants.h"
#include "net/base/escape.h"
#include "ui/base/clipboard/scoped_clipboard_writer.h"

#if defined(OS_MACOSX)
#include "chrome/browser/bookmarks/bookmark_pasteboard_helper_mac.h"
Expand Down Expand Up @@ -140,7 +140,7 @@ bool BookmarkNodeData::ReadFromTuple(const GURL& url, const string16& title) {

#if !defined(OS_MACOSX)
void BookmarkNodeData::WriteToClipboard(Profile* profile) const {
ScopedClipboardWriter scw(g_browser_process->clipboard());
ui::ScopedClipboardWriter scw(g_browser_process->clipboard());

// If there is only one element and it is a URL, write the URL to the
// clipboard.
Expand All @@ -166,7 +166,7 @@ void BookmarkNodeData::WriteToClipboard(Profile* profile) const {

bool BookmarkNodeData::ReadFromClipboard() {
std::string data;
Clipboard* clipboard = g_browser_process->clipboard();
ui::Clipboard* clipboard = g_browser_process->clipboard();
clipboard->ReadData(kClipboardFormatString, &data);

if (!data.empty()) {
Expand Down Expand Up @@ -194,7 +194,7 @@ bool BookmarkNodeData::ReadFromClipboard() {

bool BookmarkNodeData::ClipboardContainsBookmarks() {
return g_browser_process->clipboard()->IsFormatAvailableByString(
BookmarkNodeData::kClipboardFormatString, Clipboard::BUFFER_STANDARD);
BookmarkNodeData::kClipboardFormatString, ui::Clipboard::BUFFER_STANDARD);
}
#else
void BookmarkNodeData::WriteToClipboard(Profile* profile) const {
Expand Down
4 changes: 2 additions & 2 deletions chrome/browser/bookmarks/bookmark_utils_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@

#include "testing/gtest/include/gtest/gtest.h"

#include "app/clipboard/scoped_clipboard_writer.h"
#include "base/message_loop.h"
#include "base/string_util.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
#include "chrome/browser/bookmarks/bookmark_utils.h"
#include "ui/base/clipboard/scoped_clipboard_writer.h"

#if !defined(OS_MACOSX)
#include "chrome/browser/browser_process.h"
Expand Down Expand Up @@ -121,7 +121,7 @@ TEST_F(BookmarkUtilsTest, CopyPaste) {

// Write some text to the clipboard.
{
ScopedClipboardWriter clipboard_writer(g_browser_process->clipboard());
ui::ScopedClipboardWriter clipboard_writer(g_browser_process->clipboard());
clipboard_writer.WriteText(ASCIIToUTF16("foo"));
}

Expand Down
7 changes: 5 additions & 2 deletions chrome/browser/browser_process.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ namespace safe_browsing {
class ClientSideDetectionService;
}

class Clipboard;
class DevToolsManager;
class DownloadRequestLimiter;
class DownloadStatusUpdater;
Expand Down Expand Up @@ -54,6 +53,10 @@ namespace policy {
class ConfigurationPolicyProviderKeeper;
}

namespace ui {
class Clipboard;
}

// NOT THREAD SAFE, call only from the main thread.
// These functions shouldn't return NULL unless otherwise noted.
class BrowserProcess {
Expand All @@ -75,7 +78,7 @@ class BrowserProcess {
virtual PrefService* local_state() = 0;
virtual DevToolsManager* devtools_manager() = 0;
virtual SidebarManager* sidebar_manager() = 0;
virtual Clipboard* clipboard() = 0;
virtual ui::Clipboard* clipboard() = 0;

// Returns the manager for desktop notifications.
virtual NotificationUIManager* notification_ui_manager() = 0;
Expand Down
6 changes: 3 additions & 3 deletions chrome/browser/browser_process_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

#include <map>

#include "app/clipboard/clipboard.h"
#include "app/l10n_util.h"
#include "base/command_line.h"
#include "base/file_util.h"
Expand Down Expand Up @@ -62,6 +61,7 @@
#include "chrome/common/switch_utils.h"
#include "chrome/installer/util/google_update_constants.h"
#include "ipc/ipc_logging.h"
#include "ui/base/clipboard/clipboard.h"
#include "webkit/database/database_tracker.h"

#if defined(OS_WIN)
Expand Down Expand Up @@ -109,7 +109,7 @@ BrowserProcessImpl::BrowserProcessImpl(const CommandLine& command_line)
using_new_frames_(false),
have_inspector_files_(true) {
g_browser_process = this;
clipboard_.reset(new Clipboard);
clipboard_.reset(new ui::Clipboard);
main_notification_service_.reset(new NotificationService);

notification_registrar_.Add(this,
Expand Down Expand Up @@ -407,7 +407,7 @@ SidebarManager* BrowserProcessImpl::sidebar_manager() {
return sidebar_manager_.get();
}

Clipboard* BrowserProcessImpl::clipboard() {
ui::Clipboard* BrowserProcessImpl::clipboard() {
DCHECK(CalledOnValidThread());
return clipboard_.get();
}
Expand Down
Loading

0 comments on commit 2dfeaf9

Please sign in to comment.