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

Unified Diff: components/arc/intent_helper/intent_filter.h

Issue 2557703002: Revert of Use mojo typemaps to simplify arc::IntentFilter::IntentFilter() (Closed)
Patch Set: Created 4 years 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: components/arc/intent_helper/intent_filter.h
diff --git a/components/arc/intent_helper/intent_filter.h b/components/arc/intent_helper/intent_filter.h
index e6c447f5873520e49fd24d18134337ed6f7a4a2c..eb07523432deb312d8cfc597ec493e4ef28a67e7 100644
--- a/components/arc/intent_helper/intent_filter.h
+++ b/components/arc/intent_helper/intent_filter.h
@@ -8,15 +8,11 @@
#include <string>
#include <vector>
-#include "base/macros.h"
+#include "components/arc/common/intent_helper.mojom.h"
class GURL;
namespace arc {
-
-namespace mojom {
-enum class PatternType;
-} // namespace mojom
// A chrome-side implementation of Android's IntentFilter class. This is used
// to approximate the intent filtering and determine whether a given URL is
@@ -24,74 +20,43 @@
// calls.
class IntentFilter {
public:
+ explicit IntentFilter(const mojom::IntentFilterPtr& mojo_intent_filter);
+ IntentFilter(const IntentFilter& other);
+ ~IntentFilter();
+
+ bool Match(const GURL& url) const;
+
+ private:
// A helper class for handling matching of the host part of the URL.
class AuthorityEntry {
public:
- AuthorityEntry();
- AuthorityEntry(AuthorityEntry&& other);
- AuthorityEntry(const std::string& host, int port);
-
- AuthorityEntry& operator=(AuthorityEntry&& other);
-
+ explicit AuthorityEntry(const mojom::AuthorityEntryPtr& entry);
bool Match(const GURL& url) const;
-
- const std::string& host() const { return host_; }
- int port() const { return port_; }
private:
std::string host_;
bool wild_;
int port_;
-
- DISALLOW_COPY_AND_ASSIGN(AuthorityEntry);
};
// A helper class for handling matching of various patterns in the URL.
class PatternMatcher {
public:
- PatternMatcher();
- PatternMatcher(PatternMatcher&& other);
- PatternMatcher(const std::string& pattern, mojom::PatternType match_type);
-
- PatternMatcher& operator=(PatternMatcher&& other);
-
+ explicit PatternMatcher(const mojom::PatternMatcherPtr& pattern);
bool Match(const std::string& match) const;
-
- const std::string& pattern() const { return pattern_; }
- mojom::PatternType match_type() const { return match_type_; }
private:
bool MatchGlob(const std::string& match) const;
std::string pattern_;
mojom::PatternType match_type_;
-
- DISALLOW_COPY_AND_ASSIGN(PatternMatcher);
};
- IntentFilter();
- IntentFilter(IntentFilter&& other);
- IntentFilter(std::vector<AuthorityEntry> authorities,
- std::vector<PatternMatcher> paths);
- ~IntentFilter();
-
- IntentFilter& operator=(IntentFilter&& other);
-
- bool Match(const GURL& url) const;
-
- const std::vector<AuthorityEntry>& authorities() const {
- return authorities_;
- }
- const std::vector<PatternMatcher>& paths() const { return paths_; }
-
- private:
bool MatchDataAuthority(const GURL& url) const;
bool HasDataPath(const GURL& url) const;
std::vector<AuthorityEntry> authorities_;
std::vector<PatternMatcher> paths_;
-
- DISALLOW_COPY_AND_ASSIGN(IntentFilter);
};
} // namespace arc
« no previous file with comments | « components/arc/intent_helper/arc_intent_helper_bridge_unittest.cc ('k') | components/arc/intent_helper/intent_filter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698