diff options
author | lucinka.brozkova <lucinka.brozkova@gmail.com> | 2014-09-23 14:47:38 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-23 21:48:48 +0000 |
commit | 7a631f8c65ffe60521296709da2922376ac25e4e (patch) | |
tree | 58371c575a14cc5b32d38be81c9e9f83643c5823 /components/content_settings | |
parent | 046a627acf6d3f091c70694b78e98c3874d06258 (diff) | |
download | chromium_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')
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_ |