diff options
author | mkwst@chromium.org <mkwst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-04 08:48:30 +0000 |
---|---|---|
committer | mkwst@chromium.org <mkwst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-04 08:48:30 +0000 |
commit | 0bd29aa7b7eb40dab764dbdafc0a0596f3765a05 (patch) | |
tree | 7f67bd43b1afef4006e05243fa441631a349a75b /chrome/browser/browsing_data_helper.cc | |
parent | d154026cca5ac89e3b9b93acf41296efff5dc5c7 (diff) | |
download | chromium_src-0bd29aa7b7eb40dab764dbdafc0a0596f3765a05.zip chromium_src-0bd29aa7b7eb40dab764dbdafc0a0596f3765a05.tar.gz chromium_src-0bd29aa7b7eb40dab764dbdafc0a0596f3765a05.tar.bz2 |
Adding a BrowsingDataHelper class to hold some useful methods.
There's simply no good reason to hardcode checks against
chrome::kExtensionScheme in various bits of BrowsingData*. BrowsingDataHelper
provides a static method that we can start using whenever we need to know about
browsing-data-relevant schemes.
BUG=121636
TEST=unit_tests:BrowsingDataRemover*
Review URL: https://chromiumcodereview.appspot.com/9958111
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130574 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browsing_data_helper.cc')
-rw-r--r-- | chrome/browser/browsing_data_helper.cc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/chrome/browser/browsing_data_helper.cc b/chrome/browser/browsing_data_helper.cc new file mode 100644 index 0000000..88d0b37 --- /dev/null +++ b/chrome/browser/browsing_data_helper.cc @@ -0,0 +1,30 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/browsing_data_helper.h" + +#include "base/utf_string_conversions.h" +#include "chrome/common/url_constants.h" +#include "content/public/browser/child_process_security_policy.h" +#include "googleurl/src/gurl.h" +#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" + +// Static +bool BrowsingDataHelper::IsValidScheme(const std::string& scheme) { + content::ChildProcessSecurityPolicy* policy = + content::ChildProcessSecurityPolicy::GetInstance(); + return (policy->IsWebSafeScheme(scheme) && + scheme != chrome::kChromeDevToolsScheme && + scheme != chrome::kExtensionScheme); +} + +// Static +bool BrowsingDataHelper::IsValidScheme(const WebKit::WebString& scheme) { + return BrowsingDataHelper::IsValidScheme(UTF16ToUTF8(scheme)); +} + +// Static +bool BrowsingDataHelper::HasValidScheme(const GURL& origin) { + return BrowsingDataHelper::IsValidScheme(origin.scheme()); +} |