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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: ios/chrome/browser/downstream_chromium_browser_provider.mm
diff --git a/ios/chrome/browser/downstream_chromium_browser_provider.mm b/ios/chrome/browser/downstream_chromium_browser_provider.mm
new file mode 100644
index 0000000000000000000000000000000000000000..de3c9f4cb93f10cce26287b03b5ca9a6c52133c0
--- /dev/null
+++ b/ios/chrome/browser/downstream_chromium_browser_provider.mm
@@ -0,0 +1,93 @@
+// Copyright 2016 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.
+
+#import "ios/chrome/browser/downstream_chromium_browser_provider.h"
+
+#import <UIKit/UIKit.h>
+
+#include <memory>
+#include <string>
+
+#include "base/memory/ptr_util.h"
+#import "components/handoff/handoff_manager.h"
+#include "ios/chrome/browser/sessions/tab_restore_service_delegate_provider_impl.h"
+#include "ios/chrome/browser/tabs/tab_model_synced_window_delegate_getter.h"
+#include "ios/chrome/browser/ui/autofill/card_unmask_prompt_view_bridge.h"
+#import "ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.h"
+#import "ios/chrome/browser/ui/bookmarks/bookmark_promo_controller.h"
+#import "ios/chrome/browser/ui/browser_list_ios.h"
+#import "ios/chrome/browser/ui/infobars/infobar_view.h"
+#include "ios/chrome/browser/ui/webui/chrome_web_ui_ios_controller_factory.h"
+#import "ios/chrome/common/material_timing.h"
+
+DownstreamChromiumBrowserProvider::DownstreamChromiumBrowserProvider()
+ : tab_restore_service_delegate_provider_(
+ base::MakeUnique<
+ ios_internal::TabRestoreServiceDelegateProviderImpl>()) {}
+
+DownstreamChromiumBrowserProvider::~DownstreamChromiumBrowserProvider() {}
+
+void DownstreamChromiumBrowserProvider::RegisterProfilePrefs(
+ user_prefs::PrefRegistrySyncable* registry) {
+ [BookmarkInteractionController registerBrowserStatePrefs:registry];
+ [BookmarkPromoController registerBrowserStatePrefs:registry];
+ [HandoffManager registerBrowserStatePrefs:registry];
+}
+
+InfoBarViewPlaceholder DownstreamChromiumBrowserProvider::CreateInfoBarView(
+ CGRect frame,
+ InfoBarViewDelegate* delegate) NS_RETURNS_RETAINED {
+ return [[InfoBarView alloc] initWithFrame:frame delegate:delegate];
+}
+
+ios::LiveTabContextProvider*
+DownstreamChromiumBrowserProvider::GetLiveTabContextProvider() {
+ return tab_restore_service_delegate_provider_.get();
+}
+
+void DownstreamChromiumBrowserProvider::SetUIViewAlphaWithAnimation(
+ UIView* view,
+ float alpha) {
+ CGFloat oldAlpha = [view alpha];
+ if (oldAlpha > 0 && alpha == 0) {
+ [view setUserInteractionEnabled:NO];
+ }
+ [UIView cr_transitionWithView:view
+ duration:ios::material::kDuration3
+ curve:ios::material::CurveEaseInOut
+ options:0
+ animations:^{
+ [view setAlpha:alpha];
+ }
+ completion:^(BOOL) {
+ if (oldAlpha == 0 && alpha > 0) {
+ [view setUserInteractionEnabled:YES];
+ };
+ }];
+}
+
+autofill::CardUnmaskPromptView*
+DownstreamChromiumBrowserProvider::CreateCardUnmaskPromptView(
+ autofill::CardUnmaskPromptController* controller) {
+ return new autofill::CardUnmaskPromptViewBridge(controller);
+}
+
+bool DownstreamChromiumBrowserProvider::IsOffTheRecordSessionActive() {
+ return BrowserListIOS::IsOffTheRecordSessionActive();
+}
+
+void DownstreamChromiumBrowserProvider::GetFaviconForURL(
+ ios::ChromeBrowserState* browser_state,
+ const GURL& page_url,
+ const std::vector<int>& desired_sizes_in_pixel,
+ const favicon_base::FaviconResultsCallback& callback) const {
+ ChromeWebUIIOSControllerFactory::GetInstance()->GetFaviconForURL(
+ browser_state, page_url, desired_sizes_in_pixel, callback);
+}
+
+std::unique_ptr<sync_sessions::SyncedWindowDelegatesGetter>
+DownstreamChromiumBrowserProvider::CreateSyncedWindowDelegatesGetter(
+ ios::ChromeBrowserState* browser_state) {
+ return base::MakeUnique<TabModelSyncedWindowDelegatesGetter>(browser_state);
+}

Powered by Google App Engine
This is Rietveld 408576698