Chromium Code Reviews| Index: mojo/shell/identity.h |
| diff --git a/mojo/shell/identity.h b/mojo/shell/identity.h |
| index f60b2c5061f1beecea47819c6baa904809856b8b..fe04cb980362e3a1b0fed418c76d6b5b25006302 100644 |
| --- a/mojo/shell/identity.h |
| +++ b/mojo/shell/identity.h |
| @@ -5,6 +5,7 @@ |
| #ifndef MOJO_SHELL_IDENTITY_H_ |
| #define MOJO_SHELL_IDENTITY_H_ |
| +#include "mojo/shell/capability_filter.h" |
| #include "url/gurl.h" |
| namespace mojo { |
| @@ -17,16 +18,36 @@ namespace shell { |
| // grouping for a given application URL. For example, the core services are |
| // grouped into "Core"/"Files"/"Network"/etc. using qualifier; content handler's |
| // qualifier is derived from the origin of the content. |
| -struct Identity { |
| +// If a CapabilityFilter is not specified via the constructor, an instance of |
| +// Identity is constructed with a permissive filter (allowing connection to |
|
yzshen1
2015/09/18 21:44:04
Please update this comment.
yzshen1
2015/09/18 21:51:08
(You probably didn't notice this comment. :))
|
| +// all apps and services). |
| +class Identity { |
| + public: |
| Identity(); |
| - Identity(const GURL& in_url, const std::string& in_qualifier); |
| explicit Identity(const GURL& in_url); |
| + Identity(const GURL& in_url, const std::string& in_qualifier); |
| + Identity(const GURL& in_url, |
| + const std::string& in_qualifier, |
| + CapabilityFilter filter); |
| + ~Identity(); |
| bool operator<(const Identity& other) const; |
| - bool is_null() const { return url.is_empty(); } |
| - |
| - GURL url; |
| - std::string qualifier; |
| + bool is_null() const { return url_.is_empty(); } |
| + |
| + const GURL& url() const { return url_; } |
| + const std::string& qualifier() const { return qualifier_; } |
| + const CapabilityFilter& filter() const { return filter_; } |
| + |
| + private: |
| + GURL url_; |
| + std::string qualifier_; |
| + |
| + // TODO(beng): CapabilityFilter is not currently included in equivalence |
| + // checks for Identity since we're not currently clear on the |
| + // policy for instance disambiguation. Need to figure this out. |
| + // This field is supplied because it is logically part of the |
| + // instance identity of an application. |
| + CapabilityFilter filter_; |
| }; |
| } // namespace shell |