Chromium Code Reviews| Index: content/shell/renderer/test_runner/mock_presentation_service.cc |
| diff --git a/content/shell/renderer/test_runner/mock_presentation_service.cc b/content/shell/renderer/test_runner/mock_presentation_service.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..fdd7da6b6ebe922560caedbfc9cea915242c4a4c |
| --- /dev/null |
| +++ b/content/shell/renderer/test_runner/mock_presentation_service.cc |
| @@ -0,0 +1,49 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "content/shell/renderer/test_runner/mock_presentation_service.h" |
| + |
| +#include "base/logging.h" |
| + |
| +namespace content { |
| + |
| +MockPresentationService::MockPresentationService() |
| + : screen_availability_(false) { |
| +} |
| + |
| +MockPresentationService::~MockPresentationService() { |
| + DCHECK(!screen_availability_ && !presentation_clients_.might_have_observers()) |
|
Peter Beverloo
2015/02/12 17:39:20
Was this DCHECK hitting because of screen_availabi
whywhat
2015/02/12 18:40:13
Having clients. Some added logging showed that at
|
| + << "Reset() is not called before destroying the mock service."; |
| +} |
| + |
| +void MockPresentationService::SetScreenAvailability(bool available) { |
| + if (screen_availability_ == available) |
| + return; |
| + screen_availability_ = available; |
| + |
| + FOR_EACH_OBSERVER( |
| + MockPresentationClient, |
| + presentation_clients_, |
| + SetScreenAvailability(available)); |
| +} |
| + |
| +void MockPresentationService::Reset() { |
| + FOR_EACH_OBSERVER(MockPresentationClient, presentation_clients_, Reset()); |
| + presentation_clients_.Clear(); |
| + screen_availability_ = false; |
| +} |
| + |
| +void MockPresentationService::RegisterPresentationClientMock( |
| + MockPresentationClient* client) { |
| + DCHECK(client); |
| + presentation_clients_.AddObserver(client); |
| +} |
| + |
| +void MockPresentationService::UnregisterPresentationClientMock( |
| + MockPresentationClient* client) { |
| + DCHECK(client); |
| + presentation_clients_.RemoveObserver(client); |
| +} |
| + |
| +} // namespace content |