summaryrefslogtreecommitdiffstats
path: root/components/content_settings
diff options
context:
space:
mode:
authorlucinka.brozkova <lucinka.brozkova@gmail.com>2014-09-23 14:47:38 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-23 21:48:48 +0000
commit7a631f8c65ffe60521296709da2922376ac25e4e (patch)
tree58371c575a14cc5b32d38be81c9e9f83643c5823 /components/content_settings
parent046a627acf6d3f091c70694b78e98c3874d06258 (diff)
downloadchromium_src-7a631f8c65ffe60521296709da2922376ac25e4e.zip
chromium_src-7a631f8c65ffe60521296709da2922376ac25e4e.tar.gz
chromium_src-7a631f8c65ffe60521296709da2922376ac25e4e.tar.bz2
Componentize permission_request_id.*
Files moved and includes adjusted. BUG=387072 Review URL: https://codereview.chromium.org/591443002 Cr-Commit-Position: refs/heads/master@{#296263}
Diffstat (limited to 'components/content_settings')
-rw-r--r--components/content_settings/core/common/BUILD.gn2
-rw-r--r--components/content_settings/core/common/permission_request_id.cc39
-rw-r--r--components/content_settings/core/common/permission_request_id.h42
3 files changed, 83 insertions, 0 deletions
diff --git a/components/content_settings/core/common/BUILD.gn b/components/content_settings/core/common/BUILD.gn
index 6d3d02c..629c396 100644
--- a/components/content_settings/core/common/BUILD.gn
+++ b/components/content_settings/core/common/BUILD.gn
@@ -11,6 +11,8 @@ static_library("common") {
"content_settings_pattern_parser.cc",
"content_settings_pattern_parser.h",
"content_settings_types.h",
+ "permission_request_id.h",
+ "permission_request_id.cc",
]
deps = [
diff --git a/components/content_settings/core/common/permission_request_id.cc b/components/content_settings/core/common/permission_request_id.cc
new file mode 100644
index 0000000..0d963a4
--- /dev/null
+++ b/components/content_settings/core/common/permission_request_id.cc
@@ -0,0 +1,39 @@
+// Copyright 2013 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 "components/content_settings/core/common/permission_request_id.h"
+
+#include "base/strings/stringprintf.h"
+
+PermissionRequestID::PermissionRequestID(int render_process_id,
+ int render_view_id,
+ int bridge_id,
+ const GURL& origin)
+ : render_process_id_(render_process_id),
+ render_view_id_(render_view_id),
+ bridge_id_(bridge_id),
+ origin_(origin) {
+}
+
+PermissionRequestID::~PermissionRequestID() {
+}
+
+bool PermissionRequestID::Equals(const PermissionRequestID& other) const {
+ return IsForSameTabAs(other) && (bridge_id_ == other.bridge_id_) &&
+ (origin_ == other.origin());
+}
+
+bool PermissionRequestID::IsForSameTabAs(
+ const PermissionRequestID& other) const {
+ return (render_process_id_ == other.render_process_id_) &&
+ (render_view_id_ == other.render_view_id_);
+}
+
+std::string PermissionRequestID::ToString() const {
+ return base::StringPrintf("%d,%d,%d,%s",
+ render_process_id_,
+ render_view_id_,
+ bridge_id_,
+ origin_.spec().c_str());
+}
diff --git a/components/content_settings/core/common/permission_request_id.h b/components/content_settings/core/common/permission_request_id.h
new file mode 100644
index 0000000..a9252a1
--- /dev/null
+++ b/components/content_settings/core/common/permission_request_id.h
@@ -0,0 +1,42 @@
+// Copyright 2013 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.
+
+#ifndef COMPONENTS_CONTENT_SETTINGS_CORE_COMMON_PERMISSION_REQUEST_ID_H_
+#define COMPONENTS_CONTENT_SETTINGS_CORE_COMMON_PERMISSION_REQUEST_ID_H_
+
+#include <string>
+
+#include "url/gurl.h"
+
+// Uniquely identifies a particular permission request.
+class PermissionRequestID {
+ public:
+ PermissionRequestID(int render_process_id,
+ int render_view_id,
+ int bridge_id,
+ const GURL& origin);
+ ~PermissionRequestID();
+
+ int render_process_id() const { return render_process_id_; }
+ int render_view_id() const { return render_view_id_; }
+ int bridge_id() const { return bridge_id_; }
+ GURL origin() const { return origin_; }
+
+ bool Equals(const PermissionRequestID& other) const;
+ bool IsForSameTabAs(const PermissionRequestID& other) const;
+ std::string ToString() const;
+
+ private:
+ int render_process_id_;
+ int render_view_id_;
+ // Id unique to this instance.
+ int bridge_id_;
+ // Needed for permission checks that are based on origin.
+ // If you don't use origin to check permission request, pass an empty GURL.
+ GURL origin_;
+
+ // Purposefully do not disable copying, as this is stored in STL containers.
+};
+
+#endif // COMPONENTS_CONTENT_SETTINGS_CORE_COMMON_PERMISSION_REQUEST_ID_H_