| Index: components/handoff/handoff_manager.mm
|
| diff --git a/components/handoff/handoff_manager.mm b/components/handoff/handoff_manager.mm
|
| deleted file mode 100644
|
| index cf0b22d232373d1dc57bc67b1469d657b24f3f4c..0000000000000000000000000000000000000000
|
| --- a/components/handoff/handoff_manager.mm
|
| +++ /dev/null
|
| @@ -1,97 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "components/handoff/handoff_manager.h"
|
| -
|
| -#include "base/logging.h"
|
| -#include "base/mac/objc_property_releaser.h"
|
| -#include "base/mac/scoped_nsobject.h"
|
| -#include "components/handoff/handoff_utility.h"
|
| -#include "net/base/mac/url_conversions.h"
|
| -#include "url/gurl.h"
|
| -
|
| -#if defined(OS_IOS)
|
| -#include "base/ios/ios_util.h"
|
| -#endif
|
| -
|
| -#if defined(OS_MACOSX) && !defined(OS_IOS)
|
| -#include "base/mac/mac_util.h"
|
| -#include "base/mac/sdk_forward_declarations.h"
|
| -#endif
|
| -
|
| -@interface HandoffManager () {
|
| - base::mac::ObjCPropertyReleaser _propertyReleaser_HandoffManager;
|
| -
|
| - GURL _activeURL;
|
| -}
|
| -
|
| -// The active user activity.
|
| -@property(nonatomic, retain) NSUserActivity* userActivity;
|
| -
|
| -// Whether the URL of the current tab should be exposed for Handoff.
|
| -- (BOOL)shouldUseActiveURL;
|
| -
|
| -// Updates the active NSUserActivity.
|
| -- (void)updateUserActivity;
|
| -
|
| -@end
|
| -
|
| -@implementation HandoffManager
|
| -
|
| -@synthesize userActivity = _userActivity;
|
| -
|
| -- (instancetype)init {
|
| - self = [super init];
|
| - if (self) {
|
| - _propertyReleaser_HandoffManager.Init(self, [HandoffManager class]);
|
| - }
|
| - return self;
|
| -}
|
| -
|
| -- (void)updateActiveURL:(const GURL&)url {
|
| -#if defined(OS_IOS)
|
| - // Handoff is only available on iOS 8+.
|
| - DCHECK(base::ios::IsRunningOnIOS8OrLater());
|
| -#endif
|
| -
|
| -#if defined(OS_MACOSX) && !defined(OS_IOS)
|
| - // Handoff is only available on OSX 10.10+.
|
| - DCHECK(base::mac::IsOSYosemiteOrLater());
|
| -#endif
|
| -
|
| - _activeURL = url;
|
| - [self updateUserActivity];
|
| -}
|
| -
|
| -- (BOOL)shouldUseActiveURL {
|
| - return _activeURL.SchemeIsHTTPOrHTTPS();
|
| -}
|
| -
|
| -- (void)updateUserActivity {
|
| - // Clear the user activity.
|
| - if (![self shouldUseActiveURL]) {
|
| - [self.userActivity invalidate];
|
| - self.userActivity = nil;
|
| - return;
|
| - }
|
| -
|
| - // No change to the user activity.
|
| - const GURL userActivityURL(net::GURLWithNSURL(self.userActivity.webpageURL));
|
| - if (userActivityURL == _activeURL)
|
| - return;
|
| -
|
| - // Invalidate the old user activity and make a new one.
|
| - [self.userActivity invalidate];
|
| -
|
| - Class aClass = NSClassFromString(@"NSUserActivity");
|
| - NSUserActivity* userActivity = [[aClass performSelector:@selector(alloc)]
|
| - performSelector:@selector(initWithActivityType:)
|
| - withObject:handoff::kChromeHandoffActivityType];
|
| - self.userActivity = base::scoped_nsobject<NSUserActivity>(userActivity);
|
| - self.userActivity.webpageURL = net::NSURLWithGURL(_activeURL);
|
| - self.userActivity.userInfo = @{ handoff::kOriginKey : handoff::kOriginiOS };
|
| - [self.userActivity becomeCurrent];
|
| -}
|
| -
|
| -@end
|
|
|