1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/content_settings/permission_request_id.h"
6
7 #include "base/strings/stringprintf.h"
8
9
PermissionRequestID(int render_process_id,int render_view_id,int bridge_id,const GURL & origin)10 PermissionRequestID::PermissionRequestID(int render_process_id,
11 int render_view_id,
12 int bridge_id,
13 const GURL& origin)
14 : render_process_id_(render_process_id),
15 render_view_id_(render_view_id),
16 bridge_id_(bridge_id),
17 origin_(origin) {
18 }
19
~PermissionRequestID()20 PermissionRequestID::~PermissionRequestID() {
21 }
22
Equals(const PermissionRequestID & other) const23 bool PermissionRequestID::Equals(const PermissionRequestID& other) const {
24 return IsForSameTabAs(other) && (bridge_id_ == other.bridge_id_) &&
25 (origin_ == other.origin());
26 }
27
IsForSameTabAs(const PermissionRequestID & other) const28 bool PermissionRequestID::IsForSameTabAs(
29 const PermissionRequestID& other) const {
30 return (render_process_id_ == other.render_process_id_) &&
31 (render_view_id_ == other.render_view_id_);
32 }
33
ToString() const34 std::string PermissionRequestID::ToString() const {
35 return base::StringPrintf("%d,%d,%d,%s",
36 render_process_id_,
37 render_view_id_,
38 bridge_id_,
39 origin_.spec().c_str());
40 }
41