summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browsing_data_helper.cc
diff options
context:
space:
mode:
authormkwst@chromium.org <mkwst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-04 08:48:30 +0000
committermkwst@chromium.org <mkwst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-04 08:48:30 +0000
commit0bd29aa7b7eb40dab764dbdafc0a0596f3765a05 (patch)
tree7f67bd43b1afef4006e05243fa441631a349a75b /chrome/browser/browsing_data_helper.cc
parentd154026cca5ac89e3b9b93acf41296efff5dc5c7 (diff)
downloadchromium_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.cc30
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());
+}