summaryrefslogtreecommitdiffstats
path: root/net/base
diff options
context:
space:
mode:
authorsnej@chromium.org <snej@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-03 23:06:51 +0000
committersnej@chromium.org <snej@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-03 23:06:51 +0000
commit89d6e6e3456280a12b4b806de8cbe3d049476df6 (patch)
treefe449cc80e3d1780c2db174d61836de639db0501 /net/base
parent758338d7593c0b403ffde83b5490c9a19e47ddaa (diff)
downloadchromium_src-89d6e6e3456280a12b4b806de8cbe3d049476df6.zip
chromium_src-89d6e6e3456280a12b4b806de8cbe3d049476df6.tar.gz
chromium_src-89d6e6e3456280a12b4b806de8cbe3d049476df6.tar.bz2
Implement "Email Link To Page" menu command.
This menu item only exists in the Mac build, but the code is cross-platform so it could be hooked up on other platforms as well, if desired. It works by generating a URL of the form mailto:?subject=Fwd:%20PAGETITLE&body=%0A%0APAGEURL and telling platform_utils to open it. This is my first patch involving command handling; I've tried to follow the way similar menu commands like Print are implemented, but feel free to tell me if there are better ways. I didn't find any place for unit tests for TabContents; if this needs tests, let me know where they should go. BUG=29232 TEST=none Review URL: http://codereview.chromium.org/466019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33746 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base')
-rw-r--r--net/base/escape.cc4
-rw-r--r--net/base/escape.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/net/base/escape.cc b/net/base/escape.cc
index db03fa8..184e93c 100644
--- a/net/base/escape.cc
+++ b/net/base/escape.cc
@@ -186,6 +186,10 @@ static const Charmap kQueryCharmap(
0xffffffffL, 0xfc00987dL, 0x78000001L, 0xb8000001L,
0xffffffffL, 0xffffffffL, 0xffffffffL, 0xffffffffL);
+std::string EscapeQueryParamValue(const std::string& text, bool use_plus) {
+ return Escape(text, kQueryCharmap, use_plus);
+}
+
std::string EscapeQueryParamValue(const std::string& text) {
return Escape(text, kQueryCharmap, true);
}
diff --git a/net/base/escape.h b/net/base/escape.h
index 5476d9c..679e613 100644
--- a/net/base/escape.h
+++ b/net/base/escape.h
@@ -110,6 +110,7 @@ string16 UnescapeAndDecodeUTF8URLComponent(const std::string& text,
// Escapes characters in text suitable for use as a query parameter value.
// We %XX everything except alphanumerics and -_.!~*'()
+// Spaces change to "+" unless you pass usePlus=false.
// This is basically the same as encodeURIComponent in javascript.
// For the string16 version, we do a conversion to charset before encoding the
// string. If the charset doesn't exist, we return false.
@@ -117,6 +118,7 @@ string16 UnescapeAndDecodeUTF8URLComponent(const std::string& text,
// TODO(brettw) bug 1201094: This function should be removed. See the bug for
// why and what callers should do instead.
std::string EscapeQueryParamValue(const std::string& text);
+std::string EscapeQueryParamValue(const std::string& text, bool use_plus);
bool EscapeQueryParamValue(const string16& text, const char* codepage,
string16* escaped);