| Index: components/test_runner/test_runner.cc
|
| diff --git a/components/test_runner/test_runner.cc b/components/test_runner/test_runner.cc
|
| index 42077622b9b0d6a43e1949240056a8ff4666c858..e93033e5502490124e99c98feaaed76d750f3e62 100644
|
| --- a/components/test_runner/test_runner.cc
|
| +++ b/components/test_runner/test_runner.cc
|
| @@ -18,6 +18,7 @@
|
| #include "build/build_config.h"
|
| #include "components/test_runner/layout_and_paint_async_then.h"
|
| #include "components/test_runner/layout_dump.h"
|
| +#include "components/test_runner/mock_color_chooser.h"
|
| #include "components/test_runner/mock_content_settings_client.h"
|
| #include "components/test_runner/mock_credential_manager_client.h"
|
| #include "components/test_runner/mock_screen_orientation_client.h"
|
| @@ -1617,7 +1618,6 @@ TestRunner::TestRunner(TestInterfaces* interfaces)
|
| credential_manager_client_(new MockCredentialManagerClient),
|
| mock_screen_orientation_client_(new MockScreenOrientationClient),
|
| spellcheck_(new SpellCheckClient(this)),
|
| - chooser_count_(0),
|
| previously_focused_view_(nullptr),
|
| is_web_platform_tests_mode_(false),
|
| effective_connection_type_(
|
| @@ -1639,6 +1639,9 @@ void TestRunner::SetDelegate(WebTestDelegate* delegate) {
|
| spellcheck_->SetDelegate(delegate);
|
| if (speech_recognizer_)
|
| speech_recognizer_->SetDelegate(delegate);
|
| + for (auto& chooser : active_color_choosers_) {
|
| + chooser->SetDelegate(delegate);
|
| + }
|
| }
|
|
|
| void TestRunner::SetMainView(WebView* web_view) {
|
| @@ -2324,13 +2327,14 @@ void TestRunner::DisableMockScreenOrientation() {
|
| mock_screen_orientation_client_->SetDisabled(true);
|
| }
|
|
|
| -void TestRunner::DidOpenChooser() {
|
| - chooser_count_++;
|
| +void TestRunner::DidOpenChooser(MockColorChooser* color_chooser) {
|
| + DCHECK(active_color_choosers_.count(color_chooser) == 0);
|
| + active_color_choosers_.insert(color_chooser);
|
| }
|
|
|
| -void TestRunner::DidCloseChooser() {
|
| - chooser_count_--;
|
| - DCHECK_LE(0, chooser_count_);
|
| +void TestRunner::DidCloseChooser(MockColorChooser* color_chooser) {
|
| + active_color_choosers_.erase(color_chooser);
|
| + DCHECK_LE(0U, active_color_choosers_.size());
|
| }
|
|
|
| void TestRunner::SetPopupBlockingEnabled(bool block_popups) {
|
| @@ -2662,7 +2666,7 @@ void TestRunner::CloseWebInspector() {
|
| }
|
|
|
| bool TestRunner::IsChooserShown() {
|
| - return 0 < chooser_count_;
|
| + return 0 < active_color_choosers_.size();
|
| }
|
|
|
| void TestRunner::EvaluateInWebInspector(int call_id,
|
|
|