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

Side by Side Diff: ios/clean/chrome/browser/ui/overlay_service/internal/overlay_service_impl.mm

Issue 2948463002: [iOS Clean] Removed old overlay implementation.
Patch Set: rebase & Mark's comments Created 3 years, 5 months 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
« no previous file with comments | « no previous file | ios/clean/chrome/browser/ui/root/root_coordinator.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "ios/clean/chrome/browser/ui/overlay_service/internal/overlay_service_im pl.h" 5 #import "ios/clean/chrome/browser/ui/overlay_service/internal/overlay_service_im pl.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #import "ios/chrome/browser/web_state_list/web_state_list.h" 8 #import "ios/chrome/browser/web_state_list/web_state_list.h"
9 #import "ios/clean/chrome/browser/ui/overlay_service/browser_coordinator+overlay _support.h" 9 #import "ios/clean/chrome/browser/ui/overlay_service/browser_coordinator+overlay _support.h"
10 #import "ios/clean/chrome/browser/ui/overlay_service/internal/browser_overlay_qu eue.h" 10 #import "ios/clean/chrome/browser/ui/overlay_service/internal/browser_overlay_qu eue.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 DCHECK(overlay_coordinator); 55 DCHECK(overlay_coordinator);
56 DCHECK(IsBrowserShowingOverlay(browser)); 56 DCHECK(IsBrowserShowingOverlay(browser));
57 OverlayScheduler::FromBrowser(browser)->ReplaceVisibleOverlay( 57 OverlayScheduler::FromBrowser(browser)->ReplaceVisibleOverlay(
58 overlay_coordinator); 58 overlay_coordinator);
59 } 59 }
60 60
61 void OverlayServiceImpl::ShowOverlayForWebState( 61 void OverlayServiceImpl::ShowOverlayForWebState(
62 BrowserCoordinator* overlay_coordinator, 62 BrowserCoordinator* overlay_coordinator,
63 web::WebState* web_state) { 63 web::WebState* web_state) {
64 DCHECK(overlay_coordinator.supportsOverlaying); 64 DCHECK(overlay_coordinator.supportsOverlaying);
65 WebStateOverlayQueue::FromWebState(web_state)->AddWebStateOverlay( 65 WebStateOverlayQueue* queue = WebStateOverlayQueue::FromWebState(web_state);
66 overlay_coordinator); 66 if (queue)
67 queue->AddWebStateOverlay(overlay_coordinator);
67 } 68 }
68 69
69 void OverlayServiceImpl::SetWebStateParentCoordinator( 70 void OverlayServiceImpl::SetWebStateParentCoordinator(
70 BrowserCoordinator* parent_coordinator, 71 BrowserCoordinator* parent_coordinator,
71 web::WebState* web_state) { 72 web::WebState* web_state) {
72 WebStateOverlayQueue::FromWebState(web_state)->SetWebStateParentCoordinator( 73 WebStateOverlayQueue* queue = WebStateOverlayQueue::FromWebState(web_state);
73 parent_coordinator); 74 if (queue)
75 queue->SetWebStateParentCoordinator(parent_coordinator);
74 } 76 }
75 77
76 void OverlayServiceImpl::ShowOverlayForBrowser( 78 void OverlayServiceImpl::ShowOverlayForBrowser(
77 BrowserCoordinator* overlay_coordinator, 79 BrowserCoordinator* overlay_coordinator,
78 BrowserCoordinator* parent_coordiantor, 80 BrowserCoordinator* parent_coordiantor,
79 Browser* browser) { 81 Browser* browser) {
80 DCHECK(overlay_coordinator.supportsOverlaying); 82 DCHECK(overlay_coordinator.supportsOverlaying);
81 BrowserOverlayQueue::FromBrowser(browser)->AddBrowserOverlay( 83 BrowserOverlayQueue* queue = BrowserOverlayQueue::FromBrowser(browser);
82 overlay_coordinator, parent_coordiantor); 84 if (queue)
85 queue->AddBrowserOverlay(overlay_coordinator, parent_coordiantor);
83 } 86 }
84 87
85 void OverlayServiceImpl::CancelOverlays() { 88 void OverlayServiceImpl::CancelOverlays() {
86 for (int i = 0; i < browser_list_->count(); ++i) { 89 for (int i = 0; i < browser_list_->count(); ++i) {
87 OverlayScheduler::FromBrowser(browser_list_->GetBrowserAtIndex(i)) 90 OverlayScheduler::FromBrowser(browser_list_->GetBrowserAtIndex(i))
88 ->CancelOverlays(); 91 ->CancelOverlays();
89 } 92 }
90 } 93 }
91 94
92 void OverlayServiceImpl::CancelOverlayForWebState(web::WebState* web_state) { 95 void OverlayServiceImpl::CancelOverlayForWebState(web::WebState* web_state) {
93 WebStateOverlayQueue::FromWebState(web_state)->CancelOverlays(); 96 OverlayQueue* queue = WebStateOverlayQueue::FromWebState(web_state);
97 if (queue)
98 queue->CancelOverlays();
94 } 99 }
95 100
96 void OverlayServiceImpl::StartSchedulerForBrowser(Browser* browser) { 101 void OverlayServiceImpl::StartSchedulerForBrowser(Browser* browser) {
97 OverlayScheduler::CreateForBrowser(browser); 102 OverlayScheduler* scheduler = OverlayScheduler::FromBrowser(browser);
103 if (scheduler) {
104 scheduler->StartObservingBrowser();
105 } else {
106 OverlayScheduler::CreateForBrowser(browser);
107 }
98 } 108 }
99 109
100 void OverlayServiceImpl::StopSchedulerForBrowser(Browser* browser) { 110 void OverlayServiceImpl::StopSchedulerForBrowser(Browser* browser) {
101 OverlayScheduler::FromBrowser(browser)->StopObservingBrowser(); 111 OverlayScheduler::FromBrowser(browser)->StopObservingBrowser();
102 } 112 }
OLDNEW
« no previous file with comments | « no previous file | ios/clean/chrome/browser/ui/root/root_coordinator.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698