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

Unified 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698