OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 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 #include "ios/web/public/test/test_redirect_observer.h" | 5 #include "ios/web/public/test/test_redirect_observer.h" |
6 | 6 |
| 7 #include "base/memory/ptr_util.h" |
7 #include "base/supports_user_data.h" | 8 #include "base/supports_user_data.h" |
8 #import "ios/web/public/navigation_item.h" | 9 #import "ios/web/public/navigation_item.h" |
9 #import "ios/web/public/navigation_manager.h" | 10 #import "ios/web/public/navigation_manager.h" |
10 #import "ios/web/public/web_state/web_state.h" | 11 #import "ios/web/public/web_state/web_state.h" |
11 | 12 |
12 namespace { | 13 namespace { |
13 // The key under which TestRedirectObservers are stored in a WebState's user | 14 // The key under which TestRedirectObservers are stored in a WebState's user |
14 // data. | 15 // data. |
15 const void* const kTestRedirectObserverKey = &kTestRedirectObserverKey; | 16 const void* const kTestRedirectObserverKey = &kTestRedirectObserverKey; |
16 } // namespace | 17 } // namespace |
(...skipping 13 matching lines...) Expand all Loading... |
30 static_cast<TestRedirectObserverUserDataWrapper*>( | 31 static_cast<TestRedirectObserverUserDataWrapper*>( |
31 web_state->GetUserData(kTestRedirectObserverKey)); | 32 web_state->GetUserData(kTestRedirectObserverKey)); |
32 if (!wrapper) | 33 if (!wrapper) |
33 wrapper = new TestRedirectObserverUserDataWrapper(web_state); | 34 wrapper = new TestRedirectObserverUserDataWrapper(web_state); |
34 return wrapper; | 35 return wrapper; |
35 } | 36 } |
36 | 37 |
37 explicit TestRedirectObserverUserDataWrapper(web::WebState* web_state) | 38 explicit TestRedirectObserverUserDataWrapper(web::WebState* web_state) |
38 : redirect_observer_(web_state) { | 39 : redirect_observer_(web_state) { |
39 DCHECK(web_state); | 40 DCHECK(web_state); |
40 web_state->SetUserData(kTestRedirectObserverKey, this); | 41 web_state->SetUserData(kTestRedirectObserverKey, base::WrapUnique(this)); |
41 } | 42 } |
42 | 43 |
43 web::TestRedirectObserver* redirect_observer() { return &redirect_observer_; } | 44 web::TestRedirectObserver* redirect_observer() { return &redirect_observer_; } |
44 | 45 |
45 private: | 46 private: |
46 web::TestRedirectObserver redirect_observer_; | 47 web::TestRedirectObserver redirect_observer_; |
47 }; | 48 }; |
48 | 49 |
49 #pragma mark - TestRedirectObserver | 50 #pragma mark - TestRedirectObserver |
50 | 51 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 // chain for that NavigationItem. | 88 // chain for that NavigationItem. |
88 expected_urls_.erase(url); | 89 expected_urls_.erase(url); |
89 RedirectChain redirect_chain; | 90 RedirectChain redirect_chain; |
90 redirect_chain.original_url = url; | 91 redirect_chain.original_url = url; |
91 redirect_chain.final_url = url; | 92 redirect_chain.final_url = url; |
92 redirect_chains_[item] = redirect_chain; | 93 redirect_chains_[item] = redirect_chain; |
93 } | 94 } |
94 } | 95 } |
95 | 96 |
96 } // namespace web | 97 } // namespace web |
OLD | NEW |