| Index: ios/chrome/app/spotlight/base_spotlight_manager.h
 | 
| diff --git a/ios/chrome/app/spotlight/base_spotlight_manager.h b/ios/chrome/app/spotlight/base_spotlight_manager.h
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..bdf5ffa94aedd01b5d20aa08b016f2f167faa9fb
 | 
| --- /dev/null
 | 
| +++ b/ios/chrome/app/spotlight/base_spotlight_manager.h
 | 
| @@ -0,0 +1,62 @@
 | 
| +// Copyright 2015 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.
 | 
| +
 | 
| +#ifndef IOS_CHROME_APP_SPOTLIGHT_BASE_SPOTLIGHT_MANAGER_H_
 | 
| +#define IOS_CHROME_APP_SPOTLIGHT_BASE_SPOTLIGHT_MANAGER_H_
 | 
| +
 | 
| +#import <CoreSpotlight/CoreSpotlight.h>
 | 
| +#import <UIKit/UIKit.h>
 | 
| +
 | 
| +#include "base/mac/scoped_nsobject.h"
 | 
| +#include "ios/chrome/app/spotlight/spotlight_util.h"
 | 
| +
 | 
| +class GURL;
 | 
| +
 | 
| +namespace favicon {
 | 
| +class LargeIconService;
 | 
| +}
 | 
| +
 | 
| +@interface BaseSpotlightManager : NSObject
 | 
| +
 | 
| +- (instancetype)initWithLargeIconService:
 | 
| +                    (favicon::LargeIconService*)largeIconService
 | 
| +                                  domain:(spotlight::Domain)domain
 | 
| +    NS_DESIGNATED_INITIALIZER;
 | 
| +
 | 
| +- (instancetype)init NS_UNAVAILABLE;
 | 
| +
 | 
| +// Refreshes all items that point to |URLToRefresh|, using title |title|, by
 | 
| +// calling spotlightItemsWithURL on given URL. The values of |title| and |URL|
 | 
| +// will be passed to spotlightItemsWithURL.
 | 
| +- (void)refreshItemsWithURL:(const GURL&)URLToRefresh title:(NSString*)title;
 | 
| +
 | 
| +// Creates a spotlight item with |itemID|, using the |attributeSet|.
 | 
| +- (CSSearchableItem*)spotlightItemWithItemID:(NSString*)itemID
 | 
| +                                attributeSet:
 | 
| +                                    (CSSearchableItemAttributeSet*)attributeSet;
 | 
| +
 | 
| +// Creates spotlight items in the class's domain for |URL|,
 | 
| +// using |favicon| and |defaultTitle|
 | 
| +// Base implementation creates a single item directly using provided arguments
 | 
| +// and expects a non-nil title.
 | 
| +- (NSArray*)spotlightItemsWithURL:(const GURL&)URL
 | 
| +                          favicon:(UIImage*)favicon
 | 
| +                     defaultTitle:(NSString*)defaultTitle;
 | 
| +
 | 
| +// Removes all items in the current manager's domain from the Spotlight
 | 
| +// index, then calls |callback| on completion
 | 
| +- (void)clearAllSpotlightItems:(BlockWithError)callback;
 | 
| +
 | 
| +// Cancel all large icon pending tasks.
 | 
| +- (void)cancelAllLargeIconPendingTasks;
 | 
| +
 | 
| +// Returns the spotlight ID for an item indexing |URL| and |title|.
 | 
| +- (NSString*)spotlightIDForURL:(const GURL&)URL title:(NSString*)title;
 | 
| +
 | 
| +// Returns the number of pending large icon query tasks
 | 
| +- (NSUInteger)pendingLargeIconTasksCount;
 | 
| +
 | 
| +@end
 | 
| +
 | 
| +#endif  // IOS_CHROME_APP_SPOTLIGHT_BASE_SPOTLIGHT_MANAGER_H_
 | 
| 
 |