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

Side by Side Diff: ios/chrome/browser/downstream_chromium_browser_provider.mm

Issue 2585233003: Upstream Chrome on iOS source code [2/11]. (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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #import "ios/chrome/browser/downstream_chromium_browser_provider.h"
6
7 #import <UIKit/UIKit.h>
8
9 #include <memory>
10 #include <string>
11
12 #include "base/memory/ptr_util.h"
13 #import "components/handoff/handoff_manager.h"
14 #include "ios/chrome/browser/sessions/tab_restore_service_delegate_provider_impl .h"
15 #include "ios/chrome/browser/tabs/tab_model_synced_window_delegate_getter.h"
16 #include "ios/chrome/browser/ui/autofill/card_unmask_prompt_view_bridge.h"
17 #import "ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.h"
18 #import "ios/chrome/browser/ui/bookmarks/bookmark_promo_controller.h"
19 #import "ios/chrome/browser/ui/browser_list_ios.h"
20 #import "ios/chrome/browser/ui/infobars/infobar_view.h"
21 #include "ios/chrome/browser/ui/webui/chrome_web_ui_ios_controller_factory.h"
22 #import "ios/chrome/common/material_timing.h"
23
24 DownstreamChromiumBrowserProvider::DownstreamChromiumBrowserProvider()
25 : tab_restore_service_delegate_provider_(
26 base::MakeUnique<
27 ios_internal::TabRestoreServiceDelegateProviderImpl>()) {}
28
29 DownstreamChromiumBrowserProvider::~DownstreamChromiumBrowserProvider() {}
30
31 void DownstreamChromiumBrowserProvider::RegisterProfilePrefs(
32 user_prefs::PrefRegistrySyncable* registry) {
33 [BookmarkInteractionController registerBrowserStatePrefs:registry];
34 [BookmarkPromoController registerBrowserStatePrefs:registry];
35 [HandoffManager registerBrowserStatePrefs:registry];
36 }
37
38 InfoBarViewPlaceholder DownstreamChromiumBrowserProvider::CreateInfoBarView(
39 CGRect frame,
40 InfoBarViewDelegate* delegate) NS_RETURNS_RETAINED {
41 return [[InfoBarView alloc] initWithFrame:frame delegate:delegate];
42 }
43
44 ios::LiveTabContextProvider*
45 DownstreamChromiumBrowserProvider::GetLiveTabContextProvider() {
46 return tab_restore_service_delegate_provider_.get();
47 }
48
49 void DownstreamChromiumBrowserProvider::SetUIViewAlphaWithAnimation(
50 UIView* view,
51 float alpha) {
52 CGFloat oldAlpha = [view alpha];
53 if (oldAlpha > 0 && alpha == 0) {
54 [view setUserInteractionEnabled:NO];
55 }
56 [UIView cr_transitionWithView:view
57 duration:ios::material::kDuration3
58 curve:ios::material::CurveEaseInOut
59 options:0
60 animations:^{
61 [view setAlpha:alpha];
62 }
63 completion:^(BOOL) {
64 if (oldAlpha == 0 && alpha > 0) {
65 [view setUserInteractionEnabled:YES];
66 };
67 }];
68 }
69
70 autofill::CardUnmaskPromptView*
71 DownstreamChromiumBrowserProvider::CreateCardUnmaskPromptView(
72 autofill::CardUnmaskPromptController* controller) {
73 return new autofill::CardUnmaskPromptViewBridge(controller);
74 }
75
76 bool DownstreamChromiumBrowserProvider::IsOffTheRecordSessionActive() {
77 return BrowserListIOS::IsOffTheRecordSessionActive();
78 }
79
80 void DownstreamChromiumBrowserProvider::GetFaviconForURL(
81 ios::ChromeBrowserState* browser_state,
82 const GURL& page_url,
83 const std::vector<int>& desired_sizes_in_pixel,
84 const favicon_base::FaviconResultsCallback& callback) const {
85 ChromeWebUIIOSControllerFactory::GetInstance()->GetFaviconForURL(
86 browser_state, page_url, desired_sizes_in_pixel, callback);
87 }
88
89 std::unique_ptr<sync_sessions::SyncedWindowDelegatesGetter>
90 DownstreamChromiumBrowserProvider::CreateSyncedWindowDelegatesGetter(
91 ios::ChromeBrowserState* browser_state) {
92 return base::MakeUnique<TabModelSyncedWindowDelegatesGetter>(browser_state);
93 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698