diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-25 23:56:21 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-25 23:56:21 +0000 |
commit | f6ebf0766ca2e0a39d0831dfda8e8fd755c8b722 (patch) | |
tree | 127c9821f7fa38c0d2af9e426cc50bfcd15abbf4 /chrome/common/extensions/url_pattern.cc | |
parent | 9bd6dea63d941d24cec3197f44361e49a396d759 (diff) | |
download | chromium_src-f6ebf0766ca2e0a39d0831dfda8e8fd755c8b722.zip chromium_src-f6ebf0766ca2e0a39d0831dfda8e8fd755c8b722.tar.gz chromium_src-f6ebf0766ca2e0a39d0831dfda8e8fd755c8b722.tar.bz2 |
Fix a memory leak in ExtensionExtentUnittest by fixing a bad
API design choice.
BUG=47539,47545
Review URL: http://codereview.chromium.org/2870027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50912 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/extensions/url_pattern.cc')
-rw-r--r-- | chrome/common/extensions/url_pattern.cc | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/chrome/common/extensions/url_pattern.cc b/chrome/common/extensions/url_pattern.cc index 1aae528..41a5f6e 100644 --- a/chrome/common/extensions/url_pattern.cc +++ b/chrome/common/extensions/url_pattern.cc @@ -4,7 +4,6 @@ #include "chrome/common/extensions/url_pattern.h" -#include "base/scoped_ptr.h" #include "base/string_piece.h" #include "base/string_util.h" #include "chrome/common/url_constants.h" @@ -22,15 +21,6 @@ static const char* kValidSchemes[] = { static const char kPathSeparator[] = "/"; // static -URLPattern* URLPattern::CreateFromString(const std::string& pattern_string) { - scoped_ptr<URLPattern> pattern(new URLPattern); - if (pattern->Parse(pattern_string)) - return pattern.release(); - else - return NULL; -} - -// static bool URLPattern::IsValidScheme(const std::string& scheme) { for (size_t i = 0; i < arraysize(kValidSchemes); ++i) { if (scheme == kValidSchemes[i]) @@ -40,6 +30,15 @@ bool URLPattern::IsValidScheme(const std::string& scheme) { return false; } +URLPattern::URLPattern() + : match_subdomains_(false) {} + +URLPattern::URLPattern(const std::string& pattern) + : match_subdomains_(false) { + if (!Parse(pattern)) + NOTREACHED() << "URLPattern is invalid: " << pattern; +} + bool URLPattern::Parse(const std::string& pattern) { size_t scheme_end_pos = pattern.find(chrome::kStandardSchemeSeparator); if (scheme_end_pos == std::string::npos) |