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

Unified Diff: ios/web/web_state/ui/crw_web_controller.mm

Issue 2617243002: Remove ScopedVector from ios/. (Closed)
Patch Set: rebase Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ios/web/public/webui/web_ui_ios.h ('k') | ios/web/webui/crw_web_ui_manager.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/web/web_state/ui/crw_web_controller.mm
diff --git a/ios/web/web_state/ui/crw_web_controller.mm b/ios/web/web_state/ui/crw_web_controller.mm
index df53e2a9677b94ee763f7b222ce98933a99e5790..30cf832c4257781ea74ddd96ce82bb6dee923b2c 100644
--- a/ios/web/web_state/ui/crw_web_controller.mm
+++ b/ios/web/web_state/ui/crw_web_controller.mm
@@ -12,6 +12,7 @@
#include <cmath>
#include <memory>
#include <utility>
+#include <vector>
#include "base/callback.h"
#include "base/containers/mru_cache.h"
@@ -27,6 +28,7 @@
#import "base/mac/objc_property_releaser.h"
#include "base/mac/scoped_cftyperef.h"
#import "base/mac/scoped_nsobject.h"
+#include "base/memory/ptr_util.h"
#include "base/metrics/histogram.h"
#include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h"
@@ -319,7 +321,8 @@ NSError* WKWebViewErrorWithSource(NSError* error, WKWebViewErrorSource source) {
// WebControllerObserverBridge in order to listen from WebState callbacks.
// TODO(droger): Remove |_observerBridges| when all CRWWebControllerObservers
// are converted to WebStateObservers.
- ScopedVector<web::WebControllerObserverBridge> _observerBridges;
+ std::vector<std::unique_ptr<web::WebControllerObserverBridge>>
+ _observerBridges;
// YES if a user interaction has been registered at any time once the page has
// loaded.
BOOL _userInteractionRegistered;
@@ -5723,8 +5726,8 @@ const NSTimeInterval kSnapshotOverlayTransition = 0.5;
}
DCHECK(![_observers containsObject:observer]);
[_observers addObject:observer];
- _observerBridges.push_back(
- new web::WebControllerObserverBridge(observer, self.webStateImpl, self));
+ _observerBridges.push_back(base::MakeUnique<web::WebControllerObserverBridge>(
+ observer, self.webStateImpl, self));
if ([observer respondsToSelector:@selector(setWebViewProxy:controller:)])
[observer setWebViewProxy:_webViewProxy controller:self];
@@ -5734,10 +5737,12 @@ const NSTimeInterval kSnapshotOverlayTransition = 0.5;
DCHECK([_observers containsObject:observer]);
[_observers removeObject:observer];
// Remove the associated WebControllerObserverBridge.
- auto it = std::find_if(_observerBridges.begin(), _observerBridges.end(),
- [observer](web::WebControllerObserverBridge* bridge) {
- return bridge->web_controller_observer() == observer;
- });
+ auto it = std::find_if(
+ _observerBridges.begin(), _observerBridges.end(),
+ [observer](
+ const std::unique_ptr<web::WebControllerObserverBridge>& bridge) {
+ return bridge->web_controller_observer() == observer;
+ });
DCHECK(it != _observerBridges.end());
_observerBridges.erase(it);
}
« no previous file with comments | « ios/web/public/webui/web_ui_ios.h ('k') | ios/web/webui/crw_web_ui_manager.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698