blob: 5e7f504f3603eebb52abdb6e67728358fb985616 [file] [log] [blame]
// 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 "components/zoom/test/zoom_test_utils.h"
#include "content/public/test/test_utils.h"
namespace zoom {
bool operator==(const ZoomController::ZoomChangedEventData& lhs,
const ZoomController::ZoomChangedEventData& rhs) {
return lhs.web_contents == rhs.web_contents &&
lhs.old_zoom_level == rhs.old_zoom_level &&
lhs.new_zoom_level == rhs.new_zoom_level &&
lhs.zoom_mode == rhs.zoom_mode &&
lhs.can_show_bubble == rhs.can_show_bubble;
}
ZoomChangedWatcher::ZoomChangedWatcher(
ZoomController* zoom_controller,
const ZoomController::ZoomChangedEventData& expected_event_data)
: zoom_controller_(zoom_controller),
expected_event_data_(expected_event_data),
message_loop_runner_(new content::MessageLoopRunner) {
zoom_controller_->AddObserver(this);
}
ZoomChangedWatcher::~ZoomChangedWatcher() {
zoom_controller_->RemoveObserver(this);
}
void ZoomChangedWatcher::Wait() {
message_loop_runner_->Run();
}
void ZoomChangedWatcher::OnZoomChanged(
const ZoomController::ZoomChangedEventData& event_data) {
if (event_data == expected_event_data_)
message_loop_runner_->Quit();
}
} // namespace zoom