Delete method Pathname::url and base/urlencode*
BUG=webrtc:6424
Review-Url: https://codereview.webrtc.org/2572703002
Cr-Commit-Position: refs/heads/master@{#15595}
diff --git a/webrtc/BUILD.gn b/webrtc/BUILD.gn
index ea23e39..2130cfb 100644
--- a/webrtc/BUILD.gn
+++ b/webrtc/BUILD.gn
@@ -445,7 +445,6 @@
"base/thread_unittest.cc",
"base/timestampaligner_unittest.cc",
"base/timeutils_unittest.cc",
- "base/urlencode_unittest.cc",
"base/weak_ptr_unittest.cc",
"p2p/base/asyncstuntcpsocket_unittest.cc",
"p2p/base/dtlstransportchannel_unittest.cc",
diff --git a/webrtc/base/BUILD.gn b/webrtc/base/BUILD.gn
index adb6395..b46e4c2 100644
--- a/webrtc/base/BUILD.gn
+++ b/webrtc/base/BUILD.gn
@@ -183,8 +183,6 @@
"timeutils.h",
"trace_event.h",
"type_traits.h",
- "urlencode.cc",
- "urlencode.h",
]
if (is_android) {
diff --git a/webrtc/base/pathutils.cc b/webrtc/base/pathutils.cc
index c4a2c30..80df0ef 100644
--- a/webrtc/base/pathutils.cc
+++ b/webrtc/base/pathutils.cc
@@ -20,7 +20,6 @@
#include "webrtc/base/logging.h"
#include "webrtc/base/pathutils.h"
#include "webrtc/base/stringutils.h"
-#include "webrtc/base/urlencode.h"
namespace rtc {
@@ -106,19 +105,6 @@
return pathname;
}
-std::string Pathname::url() const {
- std::string s = "file:///";
- for (size_t i=0; i<folder_.length(); ++i) {
- if (IsFolderDelimiter(folder_[i]))
- s += '/';
- else
- s += folder_[i];
- }
- s += basename_;
- s += extension_;
- return UrlEncodeStringForOnlyUnsafeChars(s);
-}
-
void Pathname::SetPathname(const std::string& pathname) {
std::string::size_type pos = pathname.find_last_of(FOLDER_DELIMS);
if (pos != std::string::npos) {
diff --git a/webrtc/base/pathutils.h b/webrtc/base/pathutils.h
index 5a5fd1e..0aebcef 100644
--- a/webrtc/base/pathutils.h
+++ b/webrtc/base/pathutils.h
@@ -66,8 +66,6 @@
// is always false.
bool empty() const;
- std::string url() const;
-
// Returns the folder and filename components. If the pathname is empty,
// returns a string representing the current directory (as a relative path,
// i.e., ".").
diff --git a/webrtc/base/pathutils_unittest.cc b/webrtc/base/pathutils_unittest.cc
index a04effa..b99bc16 100644
--- a/webrtc/base/pathutils_unittest.cc
+++ b/webrtc/base/pathutils_unittest.cc
@@ -42,7 +42,4 @@
EXPECT_TRUE (path.filename().empty());
EXPECT_FALSE(path.pathname().empty());
EXPECT_EQ(kCWD, path.pathname());
-
- rtc::Pathname path2("c:/foo bar.txt");
- EXPECT_EQ(path2.url(), std::string("file:///c:/foo%20bar.txt"));
}
diff --git a/webrtc/base/urlencode.cc b/webrtc/base/urlencode.cc
deleted file mode 100644
index bb508f4..0000000
--- a/webrtc/base/urlencode.cc
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright 2008 The WebRTC Project Authors. All rights reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "webrtc/base/urlencode.h"
-
-#include "webrtc/base/checks.h"
-#include "webrtc/base/stringutils.h"
-
-static int HexPairValue(const char * code) {
- int value = 0;
- for (const char * pch = code; pch < code + 2; ++pch) {
- value <<= 4;
- int digit = *pch;
- if (digit >= '0' && digit <= '9') {
- value += digit - '0';
- }
- else if (digit >= 'A' && digit <= 'F') {
- value += digit - 'A' + 10;
- }
- else if (digit >= 'a' && digit <= 'f') {
- value += digit - 'a' + 10;
- }
- else {
- return -1;
- }
- }
- return value;
-}
-
-static int InternalUrlDecode(const char *source, char *dest,
- bool encode_space_as_plus) {
- char * start = dest;
-
- while (*source) {
- switch (*source) {
- case '+':
- if (encode_space_as_plus) {
- *(dest++) = ' ';
- } else {
- *dest++ = *source;
- }
- break;
- case '%':
- if (source[1] && source[2]) {
- int value = HexPairValue(source + 1);
- if (value >= 0) {
- *(dest++) = static_cast<char>(value);
- source += 2;
- }
- else {
- *dest++ = '?';
- }
- }
- else {
- *dest++ = '?';
- }
- break;
- default:
- *dest++ = *source;
- }
- source++;
- }
-
- *dest = 0;
- return static_cast<int>(dest - start);
-}
-
-static bool IsValidUrlChar(char ch, bool unsafe_only) {
- if (unsafe_only) {
- return !(ch <= ' ' || strchr("\\\"^&`<>[]{}", ch));
- } else {
- return isalnum(ch) || strchr("-_.!~*'()", ch);
- }
-}
-
-namespace rtc {
-
-int UrlDecode(const char *source, char *dest) {
- return InternalUrlDecode(source, dest, true);
-}
-
-int UrlDecodeWithoutEncodingSpaceAsPlus(const char *source, char *dest) {
- return InternalUrlDecode(source, dest, false);
-}
-
-int InternalUrlEncode(const char *source, char *dest, unsigned int max,
- bool encode_space_as_plus, bool unsafe_only) {
- static const char *digits = "0123456789ABCDEF";
- if (max == 0) {
- return 0;
- }
-
- char *start = dest;
- while (static_cast<unsigned>(dest - start) < max && *source) {
- unsigned char ch = static_cast<unsigned char>(*source);
- if (*source == ' ' && encode_space_as_plus && !unsafe_only) {
- *dest++ = '+';
- } else if (IsValidUrlChar(ch, unsafe_only)) {
- *dest++ = *source;
- } else {
- if (static_cast<unsigned>(dest - start) + 4 > max) {
- break;
- }
- *dest++ = '%';
- *dest++ = digits[(ch >> 4) & 0x0F];
- *dest++ = digits[ ch & 0x0F];
- }
- source++;
- }
- RTC_DCHECK_LT(static_cast<unsigned int>(dest - start), max);
- *dest = 0;
-
- return static_cast<int>(dest - start);
-}
-
-int UrlEncode(const char *source, char *dest, unsigned max) {
- return InternalUrlEncode(source, dest, max, true, false);
-}
-
-int UrlEncodeWithoutEncodingSpaceAsPlus(const char *source, char *dest,
- unsigned max) {
- return InternalUrlEncode(source, dest, max, false, false);
-}
-
-int UrlEncodeOnlyUnsafeChars(const char *source, char *dest, unsigned max) {
- return InternalUrlEncode(source, dest, max, false, true);
-}
-
-std::string
-InternalUrlDecodeString(const std::string & encoded,
- bool encode_space_as_plus) {
- size_t needed_length = encoded.length() + 1;
- char* buf = STACK_ARRAY(char, needed_length);
- InternalUrlDecode(encoded.c_str(), buf, encode_space_as_plus);
- return buf;
-}
-
-std::string
-UrlDecodeString(const std::string & encoded) {
- return InternalUrlDecodeString(encoded, true);
-}
-
-std::string
-UrlDecodeStringWithoutEncodingSpaceAsPlus(const std::string & encoded) {
- return InternalUrlDecodeString(encoded, false);
-}
-
-std::string
-InternalUrlEncodeString(const std::string & decoded,
- bool encode_space_as_plus,
- bool unsafe_only) {
- int needed_length = static_cast<int>(decoded.length()) * 3 + 1;
- char* buf = STACK_ARRAY(char, needed_length);
- InternalUrlEncode(decoded.c_str(), buf, needed_length,
- encode_space_as_plus, unsafe_only);
- return buf;
-}
-
-std::string
-UrlEncodeString(const std::string & decoded) {
- return InternalUrlEncodeString(decoded, true, false);
-}
-
-std::string
-UrlEncodeStringWithoutEncodingSpaceAsPlus(const std::string & decoded) {
- return InternalUrlEncodeString(decoded, false, false);
-}
-
-std::string
-UrlEncodeStringForOnlyUnsafeChars(const std::string & decoded) {
- return InternalUrlEncodeString(decoded, false, true);
-}
-
-} // namespace rtc
diff --git a/webrtc/base/urlencode.h b/webrtc/base/urlencode.h
deleted file mode 100644
index fc10f38..0000000
--- a/webrtc/base/urlencode.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2008 The WebRTC Project Authors. All rights reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef _URLENCODE_H_
-#define _URLENCODE_H_
-
-#include <string>
-
-namespace rtc {
-
-// Decode all encoded characters. Also decode + as space.
-int UrlDecode(const char *source, char *dest);
-
-// Decode all encoded characters.
-int UrlDecodeWithoutEncodingSpaceAsPlus(const char *source, char *dest);
-
-// Encode all characters except alphas, numbers, and -_.!~*'()
-// Also encode space as +.
-int UrlEncode(const char *source, char *dest, unsigned max);
-
-// Encode all characters except alphas, numbers, and -_.!~*'()
-int UrlEncodeWithoutEncodingSpaceAsPlus(const char *source, char *dest,
- unsigned max);
-
-// Encode only unsafe chars, including \ "^&`<>[]{}
-// Also encode space as %20, instead of +
-int UrlEncodeOnlyUnsafeChars(const char *source, char *dest, unsigned max);
-
-std::string UrlDecodeString(const std::string & encoded);
-std::string UrlDecodeStringWithoutEncodingSpaceAsPlus(
- const std::string & encoded);
-std::string UrlEncodeString(const std::string & decoded);
-std::string UrlEncodeStringWithoutEncodingSpaceAsPlus(
- const std::string & decoded);
-std::string UrlEncodeStringForOnlyUnsafeChars(const std::string & decoded);
-
-#endif
-
-} // namespace rtc
diff --git a/webrtc/base/urlencode_unittest.cc b/webrtc/base/urlencode_unittest.cc
deleted file mode 100644
index 6a61db3..0000000
--- a/webrtc/base/urlencode_unittest.cc
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright 2004 The WebRTC Project Authors. All rights reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "webrtc/base/arraysize.h"
-#include "webrtc/base/common.h"
-#include "webrtc/base/gunit.h"
-#include "webrtc/base/thread.h"
-#include "webrtc/base/urlencode.h"
-
-using rtc::UrlEncode;
-
-TEST(Urlencode, SourceTooLong) {
- char source[] = "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
- "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
- char dest[1];
- ASSERT_EQ(0, UrlEncode(source, dest, arraysize(dest)));
- ASSERT_EQ('\0', dest[0]);
-
- dest[0] = 'a';
- ASSERT_EQ(0, UrlEncode(source, dest, 0));
- ASSERT_EQ('a', dest[0]);
-}
-
-TEST(Urlencode, OneCharacterConversion) {
- char source[] = "^";
- char dest[4];
- ASSERT_EQ(3, UrlEncode(source, dest, arraysize(dest)));
- ASSERT_STREQ("%5E", dest);
-}
-
-TEST(Urlencode, ShortDestinationNoEncoding) {
- // In this case we have a destination that would not be
- // big enough to hold an encoding but is big enough to
- // hold the text given.
- char source[] = "aa";
- char dest[3];
- ASSERT_EQ(2, UrlEncode(source, dest, arraysize(dest)));
- ASSERT_STREQ("aa", dest);
-}
-
-TEST(Urlencode, ShortDestinationEncoding) {
- // In this case we have a destination that is not
- // big enough to hold the encoding.
- char source[] = "&";
- char dest[3];
- ASSERT_EQ(0, UrlEncode(source, dest, arraysize(dest)));
- ASSERT_EQ('\0', dest[0]);
-}
-
-TEST(Urlencode, Encoding1) {
- char source[] = "A^ ";
- char dest[8];
- ASSERT_EQ(5, UrlEncode(source, dest, arraysize(dest)));
- ASSERT_STREQ("A%5E+", dest);
-}
-
-TEST(Urlencode, Encoding2) {
- char source[] = "A^ ";
- char dest[8];
- ASSERT_EQ(7, rtc::UrlEncodeWithoutEncodingSpaceAsPlus(source, dest,
- arraysize(dest)));
- ASSERT_STREQ("A%5E%20", dest);
-}
-
-TEST(Urldecode, Decoding1) {
- char source[] = "A%5E+";
- char dest[8];
- ASSERT_EQ(3, rtc::UrlDecode(source, dest));
- ASSERT_STREQ("A^ ", dest);
-}
-
-TEST(Urldecode, Decoding2) {
- char source[] = "A%5E+";
- char dest[8];
- ASSERT_EQ(3, rtc::UrlDecodeWithoutEncodingSpaceAsPlus(source, dest));
- ASSERT_STREQ("A^+", dest);
-}