| Index: ios/chrome/browser/ui/tab_switcher/tab_switcher_utils.h
|
| diff --git a/ios/chrome/browser/ui/tab_switcher/tab_switcher_utils.h b/ios/chrome/browser/ui/tab_switcher/tab_switcher_utils.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cdae3c994fbe929c7700676ef597ccf587be3e5c
|
| --- /dev/null
|
| +++ b/ios/chrome/browser/ui/tab_switcher/tab_switcher_utils.h
|
| @@ -0,0 +1,45 @@
|
| +// 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_BROWSER_UI_TAB_SWITCHER_TAB_SWITCHER_UTILS_H_
|
| +#define IOS_CHROME_BROWSER_UI_TAB_SWITCHER_TAB_SWITCHER_UTILS_H_
|
| +
|
| +#include <vector>
|
| +
|
| +class GURL;
|
| +@class UIImage;
|
| +namespace ios {
|
| +class ChromeBrowserState;
|
| +} // namespace ios
|
| +
|
| +namespace ios_internal {
|
| +
|
| +typedef void (^FaviconGetterCompletionBlock)(UIImage*);
|
| +
|
| +// Favicon for |url|, calls |block| when loaded.
|
| +void GetFavicon(GURL const& url,
|
| + ios::ChromeBrowserState* browserState,
|
| + FaviconGetterCompletionBlock block);
|
| +
|
| +// Returns the substitutions/deletions/insertions needed to go from |initial| to
|
| +// |final|.
|
| +// To be in accordance with the UICollectionView's |performBatchUpdates| method:
|
| +// -the indexes in |substitutions| are relative to |initial|.
|
| +// -the indexes in |deletions| are relative to |initial|.
|
| +// -the indexes in |insertions| are relative to |final|.
|
| +//
|
| +// The returned sequence is chosen with a preference of insertions and deletions
|
| +// over substitutions.
|
| +// For example, AB => BC could be done with 2 substitutions, but doing
|
| +// 1 insertion and 1 deletion is preferable because it better communicates the
|
| +// changes to the user in the UICollectionViews.
|
| +void MinimalReplacementOperations(std::vector<size_t> const& initial,
|
| + std::vector<size_t> const& final,
|
| + std::vector<size_t>* substitutions,
|
| + std::vector<size_t>* deletions,
|
| + std::vector<size_t>* insertions);
|
| +
|
| +} // namespace ios_internal
|
| +
|
| +#endif // IOS_CHROME_BROWSER_UI_TAB_SWITCHER_TAB_SWITCHER_UTILS_H_
|
|
|