1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/glic/test_support/interactive_test_util.h"
#include "base/scoped_observation_traits.h"
#include "chrome/browser/glic/fre/glic_fre_controller.h"
#include "chrome/browser/glic/widget/glic_widget.h"
#include "chrome/browser/glic/widget/glic_window_controller.h"
#include "ui/base/interaction/element_identifier.h"
#include "ui/base/interaction/polling_state_observer.h"
#include "ui/views/widget/widget_delegate.h"
namespace glic::test {
namespace internal {
GlicFreShowingDialogObserver::GlicFreShowingDialogObserver(
GlicFreController* controller)
: PollingStateObserver(
[controller]() { return controller->IsShowingDialog(); }) {}
GlicFreShowingDialogObserver::~GlicFreShowingDialogObserver() = default;
DEFINE_STATE_IDENTIFIER_VALUE(GlicFreShowingDialogObserver,
kGlicFreShowingDialogState);
GlicWindowControllerStateObserver::GlicWindowControllerStateObserver(
const GlicWindowController& controller)
: PollingStateObserver([&controller]() { return controller.state(); }) {}
GlicWindowControllerStateObserver::~GlicWindowControllerStateObserver() =
default;
DEFINE_STATE_IDENTIFIER_VALUE(GlicWindowControllerStateObserver,
kGlicWindowControllerState);
GlicWindowContorllerResizeObserver::GlicWindowContorllerResizeObserver(
GlicWindowController& controller)
: PollingStateObserver([&controller]() {
return controller.GetGlicWidget()
? controller.GetGlicWidget()->widget_delegate()->CanResize()
: false;
}) {}
GlicWindowContorllerResizeObserver::~GlicWindowContorllerResizeObserver() =
default;
DEFINE_STATE_IDENTIFIER_VALUE(GlicWindowContorllerResizeObserver,
kGlicWindowControllerResizeState);
GlicAppStateObserver::GlicAppStateObserver(Host* host)
: ObservationStateObserver(host) {
WebUiStateChanged(host->GetPrimaryWebUiState());
}
GlicAppStateObserver::~GlicAppStateObserver() = default;
void GlicAppStateObserver::WebUiStateChanged(mojom::WebUiState state) {
OnStateObserverStateChanged(state);
}
DEFINE_STATE_IDENTIFIER_VALUE(GlicAppStateObserver, kGlicAppState);
WebUiStateObserver::WebUiStateObserver(Host* host) : host_(host) {
observation_.Observe(host);
}
WebUiStateObserver::~WebUiStateObserver() {
observation_.Reset();
}
mojom::WebUiState WebUiStateObserver::GetStateObserverInitialState() const {
return host_->GetPrimaryWebUiState();
}
void WebUiStateObserver::WebUiStateChanged(mojom::WebUiState state) {
OnStateObserverStateChanged(state);
}
} // namespace internal
DEFINE_ELEMENT_IDENTIFIER_VALUE(kGlicHostElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kGlicContentsElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kGlicFreHostElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kGlicFreContentsElementId);
} // namespace glic::test
|