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

Side by Side Diff: chrome/browser/net/browser_url_util.cc

Issue 9232075: Have ScopedClipboardWriter and Clipboard::WriteObjects take a buffer parameter. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Fix build error. Created 8 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/net/browser_url_util.h" 5 #include "chrome/browser/net/browser_url_util.h"
6 6
7 #include "base/string_util.h" 7 #include "base/string_util.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/common/url_constants.h" 9 #include "chrome/common/url_constants.h"
10 #include "googleurl/src/gurl.h" 10 #include "googleurl/src/gurl.h"
11 #include "net/base/escape.h" 11 #include "net/base/escape.h"
12 #include "net/base/net_util.h" 12 #include "net/base/net_util.h"
13 #include "ui/base/clipboard/scoped_clipboard_writer.h" 13 #include "ui/base/clipboard/scoped_clipboard_writer.h"
14 14
15 namespace chrome_browser_net { 15 namespace chrome_browser_net {
16 16
17 void WriteURLToClipboard(const GURL& url, 17 void WriteURLToClipboard(const GURL& url,
18 const std::string& languages, 18 const std::string& languages,
19 ui::Clipboard *clipboard) { 19 ui::Clipboard *clipboard) {
20 if (url.is_empty() || !url.is_valid() || !clipboard) 20 if (url.is_empty() || !url.is_valid() || !clipboard)
21 return; 21 return;
22 22
23 // Unescaping path and query is not a good idea because other applications 23 // Unescaping path and query is not a good idea because other applications
24 // may not encode non-ASCII characters in UTF-8. See crbug.com/2820. 24 // may not encode non-ASCII characters in UTF-8. See crbug.com/2820.
25 string16 text = url.SchemeIs(chrome::kMailToScheme) ? 25 string16 text = url.SchemeIs(chrome::kMailToScheme) ?
26 ASCIIToUTF16(url.path()) : 26 ASCIIToUTF16(url.path()) :
27 net::FormatUrl(url, languages, net::kFormatUrlOmitNothing, 27 net::FormatUrl(url, languages, net::kFormatUrlOmitNothing,
28 net::UnescapeRule::NONE, NULL, NULL, NULL); 28 net::UnescapeRule::NONE, NULL, NULL, NULL);
29 29
30 ui::ScopedClipboardWriter scw(clipboard); 30 ui::ScopedClipboardWriter scw(clipboard, ui::Clipboard::BUFFER_STANDARD);
31 scw.WriteURL(text); 31 scw.WriteURL(text);
32 } 32 }
33 33
34 GURL AppendQueryParameter(const GURL& url, 34 GURL AppendQueryParameter(const GURL& url,
35 const std::string& name, 35 const std::string& name,
36 const std::string& value) { 36 const std::string& value) {
37 std::string query(url.query()); 37 std::string query(url.query());
38 if (!query.empty()) 38 if (!query.empty())
39 query += "&"; 39 query += "&";
40 query += (net::EscapeQueryParamValue(name, true) + "=" + 40 query += (net::EscapeQueryParamValue(name, true) + "=" +
41 net::EscapeQueryParamValue(value, true)); 41 net::EscapeQueryParamValue(value, true));
42 GURL::Replacements replacements; 42 GURL::Replacements replacements;
43 replacements.SetQueryStr(query); 43 replacements.SetQueryStr(query);
44 return url.ReplaceComponents(replacements); 44 return url.ReplaceComponents(replacements);
45 } 45 }
46 46
47 } // namespace chrome_browser_net 47 } // namespace chrome_browser_net
OLDNEW
« no previous file with comments | « chrome/browser/bookmarks/bookmark_utils_unittest.cc ('k') | chrome/browser/ui/cocoa/omnibox/omnibox_view_mac_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698