| 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 |