| Index: ios/clean/chrome/browser/ui/find_in_page/find_in_page_mediator.mm
|
| diff --git a/ios/clean/chrome/browser/ui/find_in_page/find_in_page_mediator.mm b/ios/clean/chrome/browser/ui/find_in_page/find_in_page_mediator.mm
|
| index c5f7900e326ac1958ddfbd7fda30af0f22da5f22..645e739fc9b2cdfb01a669a30ad2c6ec56efe9ab 100644
|
| --- a/ios/clean/chrome/browser/ui/find_in_page/find_in_page_mediator.mm
|
| +++ b/ios/clean/chrome/browser/ui/find_in_page/find_in_page_mediator.mm
|
| @@ -5,6 +5,7 @@
|
| #import "ios/clean/chrome/browser/ui/find_in_page/find_in_page_mediator.h"
|
|
|
| #include "base/memory/ptr_util.h"
|
| +#include "base/scoped_observer.h"
|
| #import "ios/chrome/browser/find_in_page/find_in_page_model.h"
|
| #import "ios/chrome/browser/find_in_page/find_tab_helper.h"
|
| #include "ios/chrome/browser/web_state_list/web_state_list.h"
|
| @@ -36,6 +37,8 @@
|
| // Observes the WebStateList so that this mediator can update the UI when the
|
| // active WebState changes.
|
| std::unique_ptr<WebStateListObserverBridge> _webStateListObserver;
|
| + std::unique_ptr<ScopedObserver<WebStateList, WebStateListObserverBridge>>
|
| + _scopedWebStateListObserver;
|
| }
|
|
|
| @synthesize dispatcher = _dispatcher;
|
| @@ -55,15 +58,14 @@
|
| _dispatcher = dispatcher;
|
|
|
| _webStateListObserver = base::MakeUnique<WebStateListObserverBridge>(self);
|
| - _webStateList->AddObserver(_webStateListObserver.get());
|
| + _scopedWebStateListObserver = base::MakeUnique<
|
| + ScopedObserver<WebStateList, WebStateListObserverBridge>>(
|
| + _webStateListObserver.get());
|
| + _scopedWebStateListObserver->Add(_webStateList);
|
| }
|
| return self;
|
| }
|
|
|
| -- (void)dealloc {
|
| - _webStateList->RemoveObserver(_webStateListObserver.get());
|
| -}
|
| -
|
| - (void)stopFinding {
|
| web::WebState* webState = self.webStateList->GetActiveWebState();
|
| FindTabHelper* helper = FindTabHelper::FromWebState(webState);
|
|
|