Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1564)

Side by Side Diff: mojo/shell/identity.h

Issue 1354003002: Make CapabilityFilter be part of Identity (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « mojo/shell/content_handler_connection.cc ('k') | mojo/shell/identity.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MOJO_SHELL_IDENTITY_H_ 5 #ifndef MOJO_SHELL_IDENTITY_H_
6 #define MOJO_SHELL_IDENTITY_H_ 6 #define MOJO_SHELL_IDENTITY_H_
7 7
8 #include "mojo/shell/capability_filter.h"
8 #include "url/gurl.h" 9 #include "url/gurl.h"
9 10
10 namespace mojo { 11 namespace mojo {
11 namespace shell { 12 namespace shell {
12 13
13 // Represents the identity of an application. 14 // Represents the identity of an application.
14 // |url| is the URL of the application. 15 // |url| is the URL of the application.
15 // |qualifier| is a string that allows to tie a specific instance of an 16 // |qualifier| is a string that allows to tie a specific instance of an
16 // application to another. A typical use case of qualifier is to control process 17 // application to another. A typical use case of qualifier is to control process
17 // grouping for a given application URL. For example, the core services are 18 // grouping for a given application URL. For example, the core services are
18 // grouped into "Core"/"Files"/"Network"/etc. using qualifier; content handler's 19 // grouped into "Core"/"Files"/"Network"/etc. using qualifier; content handler's
19 // qualifier is derived from the origin of the content. 20 // qualifier is derived from the origin of the content.
20 struct Identity { 21 class Identity {
22 public:
21 Identity(); 23 Identity();
24 explicit Identity(const GURL& in_url);
22 Identity(const GURL& in_url, const std::string& in_qualifier); 25 Identity(const GURL& in_url, const std::string& in_qualifier);
23 explicit Identity(const GURL& in_url); 26 Identity(const GURL& in_url,
27 const std::string& in_qualifier,
28 CapabilityFilter filter);
29 ~Identity();
24 30
25 bool operator<(const Identity& other) const; 31 bool operator<(const Identity& other) const;
26 bool is_null() const { return url.is_empty(); } 32 bool is_null() const { return url_.is_empty(); }
27 33
28 GURL url; 34 const GURL& url() const { return url_; }
29 std::string qualifier; 35 const std::string& qualifier() const { return qualifier_; }
36 const CapabilityFilter& filter() const { return filter_; }
37
38 private:
39 GURL url_;
40 std::string qualifier_;
41
42 // TODO(beng): CapabilityFilter is not currently included in equivalence
43 // checks for Identity since we're not currently clear on the
44 // policy for instance disambiguation. Need to figure this out.
45 // This field is supplied because it is logically part of the
46 // instance identity of an application.
47 CapabilityFilter filter_;
30 }; 48 };
31 49
32 } // namespace shell 50 } // namespace shell
33 } // namespace mojo 51 } // namespace mojo
34 52
35 #endif // MOJO_SHELL_IDENTITY_H_ 53 #endif // MOJO_SHELL_IDENTITY_H_
OLDNEW
« no previous file with comments | « mojo/shell/content_handler_connection.cc ('k') | mojo/shell/identity.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698