diff options
author | erikchen <erikchen@chromium.org> | 2015-03-27 08:29:38 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-03-27 15:30:20 +0000 |
commit | 56915573d8e4be522d4bd8aea1bf8ba76a3c8f77 (patch) | |
tree | 5dff35ddce14cc8c27dee47c644dabb5cdd1db43 /components/handoff | |
parent | 8765e8c490efe374ced20fe590ad75cbf0dc5089 (diff) | |
download | chromium_src-56915573d8e4be522d4bd8aea1bf8ba76a3c8f77.zip chromium_src-56915573d8e4be522d4bd8aea1bf8ba76a3c8f77.tar.gz chromium_src-56915573d8e4be522d4bd8aea1bf8ba76a3c8f77.tar.bz2 |
handoff: Fix the origin so that it correctly reflects the sender.
This broke when I migrated the Handoff Manager from chrome/ into
components/
BUG=
Review URL: https://codereview.chromium.org/1000723003
Cr-Commit-Position: refs/heads/master@{#322581}
Diffstat (limited to 'components/handoff')
-rw-r--r-- | components/handoff/handoff_manager.h | 2 | ||||
-rw-r--r-- | components/handoff/handoff_manager.mm | 12 | ||||
-rw-r--r-- | components/handoff/handoff_utility.h | 3 | ||||
-rw-r--r-- | components/handoff/handoff_utility.mm | 11 |
4 files changed, 26 insertions, 2 deletions
diff --git a/components/handoff/handoff_manager.h b/components/handoff/handoff_manager.h index 8b28a35..b29394d 100644 --- a/components/handoff/handoff_manager.h +++ b/components/handoff/handoff_manager.h @@ -8,6 +8,7 @@ #include <Foundation/Foundation.h> #include "base/mac/objc_property_releaser.h" +#include "components/handoff/handoff_utility.h" #include "url/gurl.h" @class NSUserActivity; @@ -20,6 +21,7 @@ GURL _activeURL; NSUserActivity* _userActivity; + handoff::Origin _origin; } // The active URL is defined as the URL of the most recently accessed tab. This diff --git a/components/handoff/handoff_manager.mm b/components/handoff/handoff_manager.mm index ab1efd6..0f889d1 100644 --- a/components/handoff/handoff_manager.mm +++ b/components/handoff/handoff_manager.mm @@ -6,7 +6,6 @@ #include "base/logging.h" #include "base/mac/scoped_nsobject.h" -#include "components/handoff/handoff_utility.h" #include "net/base/mac/url_conversions.h" #if defined(OS_IOS) @@ -39,6 +38,13 @@ self = [super init]; if (self) { _propertyReleaser_HandoffManager.Init(self, [HandoffManager class]); +#if defined(OS_MACOSX) && !defined(OS_IOS) + _origin = handoff::ORIGIN_MAC; +#elif defined(OS_IOS) + _origin = handoff::ORIGIN_IOS; +#else + NOTREACHED(); +#endif } return self; } @@ -84,7 +90,9 @@ withObject:handoff::kChromeHandoffActivityType]; self.userActivity = base::scoped_nsobject<NSUserActivity>(userActivity); self.userActivity.webpageURL = net::NSURLWithGURL(_activeURL); - self.userActivity.userInfo = @{ handoff::kOriginKey : handoff::kOriginiOS }; + NSString* origin = handoff::StringFromOrigin(_origin); + DCHECK(origin); + self.userActivity.userInfo = @{ handoff::kOriginKey : origin }; [self.userActivity becomeCurrent]; } diff --git a/components/handoff/handoff_utility.h b/components/handoff/handoff_utility.h index 3aa3504..92ccc5d 100644 --- a/components/handoff/handoff_utility.h +++ b/components/handoff/handoff_utility.h @@ -35,6 +35,9 @@ enum Origin { // Returns ORIGIN_UNKNOWN if |string| is nil or unrecognized. Origin OriginFromString(NSString* string); +// Returns nil if |origin| is not ORIGIN_IOS or ORIGIN_MAC. +NSString* StringFromOrigin(Origin origin); + } // namespace handoff #endif // COMPONENTS_HANDOFF_HANDOFF_UTILITY_H_ diff --git a/components/handoff/handoff_utility.mm b/components/handoff/handoff_utility.mm index ba4c6ef..de20e69 100644 --- a/components/handoff/handoff_utility.mm +++ b/components/handoff/handoff_utility.mm @@ -21,4 +21,15 @@ Origin OriginFromString(NSString* string) { return ORIGIN_UNKNOWN; } +NSString* StringFromOrigin(Origin origin) { + switch (origin) { + case ORIGIN_IOS: + return kOriginiOS; + case ORIGIN_MAC: + return kOriginMac; + default: + return nil; + } +} + } // namespace handoff |