| OLD | NEW |
| 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 #include "chrome/browser/ui/views/webshare/webshare_target_picker_view.h" | 5 #include "chrome/browser/ui/views/webshare/webshare_target_picker_view.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 quit_closure_ = base::Closure(); | 54 quit_closure_ = base::Closure(); |
| 55 constrained_window::SetConstrainedWindowViewsClient(nullptr); | 55 constrained_window::SetConstrainedWindowViewsClient(nullptr); |
| 56 | 56 |
| 57 ViewsTestBase::TearDown(); | 57 ViewsTestBase::TearDown(); |
| 58 } | 58 } |
| 59 | 59 |
| 60 protected: | 60 protected: |
| 61 // Creates the WebShareTargetPickerView (available as view()). | 61 // Creates the WebShareTargetPickerView (available as view()). |
| 62 void CreateView(const std::vector<std::pair<base::string16, GURL>>& targets) { | 62 void CreateView(const std::vector<std::pair<base::string16, GURL>>& targets) { |
| 63 view_ = new WebShareTargetPickerView( | 63 view_ = new WebShareTargetPickerView( |
| 64 targets, base::Bind(&WebShareTargetPickerViewTest::OnCallback, | 64 targets, base::BindOnce(&WebShareTargetPickerViewTest::OnCallback, |
| 65 base::Unretained(this))); | 65 base::Unretained(this))); |
| 66 constrained_window::CreateBrowserModalDialogViews( | 66 constrained_window::CreateBrowserModalDialogViews( |
| 67 view_, parent_widget_->GetNativeWindow()) | 67 view_, parent_widget_->GetNativeWindow()) |
| 68 ->Show(); | 68 ->Show(); |
| 69 } | 69 } |
| 70 | 70 |
| 71 // Sets the closure that will be called when the dialog is closed. This is | 71 // Sets the closure that will be called when the dialog is closed. This is |
| 72 // used in tests to quit the RunLoop. | 72 // used in tests to quit the RunLoop. |
| 73 void SetQuitClosure(base::Closure&& quit_closure) { | 73 void SetQuitClosure(base::Closure&& quit_closure) { |
| 74 quit_closure_ = std::move(quit_closure); | 74 quit_closure_ = std::move(quit_closure); |
| 75 } | 75 } |
| 76 | 76 |
| 77 // The view under test. | 77 // The view under test. |
| 78 WebShareTargetPickerView* view() { return view_; } | 78 WebShareTargetPickerView* view() { return view_; } |
| 79 // The table inside the view (for inspection). | 79 // The table inside the view (for inspection). |
| 80 views::TableView* table() { return view_->table_; } | 80 views::TableView* table() { return view_->table_; } |
| 81 | 81 |
| 82 // The result that was returned to the dialog's callback. | 82 // The result that was returned to the dialog's callback. |
| 83 const base::Optional<std::string>& result() { return result_; } | 83 const base::Optional<std::string>& result() { return result_; } |
| 84 | 84 |
| 85 private: | 85 private: |
| 86 void OnCallback(base::Optional<std::string> result) { | 86 void OnCallback(const base::Optional<std::string>& result) { |
| 87 result_ = result; | 87 result_ = result; |
| 88 if (quit_closure_) | 88 if (quit_closure_) |
| 89 quit_closure_.Run(); | 89 quit_closure_.Run(); |
| 90 } | 90 } |
| 91 | 91 |
| 92 std::unique_ptr<views::Widget> parent_widget_; | 92 std::unique_ptr<views::Widget> parent_widget_; |
| 93 WebShareTargetPickerView* view_ = nullptr; | 93 WebShareTargetPickerView* view_ = nullptr; |
| 94 | 94 |
| 95 base::Optional<std::string> result_; | 95 base::Optional<std::string> result_; |
| 96 | 96 |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 164 base::RunLoop run_loop; | 164 base::RunLoop run_loop; |
| 165 SetQuitClosure(run_loop.QuitClosure()); | 165 SetQuitClosure(run_loop.QuitClosure()); |
| 166 | 166 |
| 167 view()->OnDoubleClick(); | 167 view()->OnDoubleClick(); |
| 168 | 168 |
| 169 run_loop.Run(); | 169 run_loop.Run(); |
| 170 | 170 |
| 171 EXPECT_EQ(base::Optional<std::string>("https://appone.com/path/bits"), | 171 EXPECT_EQ(base::Optional<std::string>("https://appone.com/path/bits"), |
| 172 result()); | 172 result()); |
| 173 } | 173 } |
| OLD | NEW |