#include <utility>
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/memory/weak_ptr.h"
#include "base/task/sequenced_task_runner.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/web_apps/view_visible_in_active_widget_notifier.h"
#include "chrome/browser/ui/web_applications/web_app_dialogs.h"
#include "ui/base/interaction/element_identifier.h"
#include "ui/base/interaction/element_tracker.h"
#include "ui/views/interaction/element_tracker_views.h"
#include "ui/views/widget/widget.h"
namespace web_app {
base::WeakPtr<ViewVisibleInActiveWidgetNotifier>
ViewVisibleInActiveWidgetNotifier::Create(
views::Widget* widget,
ui::ElementIdentifier element_identifier,
Callback callback) { … }
ViewVisibleInActiveWidgetNotifier::~ViewVisibleInActiveWidgetNotifier() =
default;
ViewVisibleInActiveWidgetNotifier::ViewVisibleInActiveWidgetNotifier(
views::Widget* widget,
ui::ElementIdentifier element_identifier,
Callback callback)
: … { … }
void ViewVisibleInActiveWidgetNotifier::OnWidgetDestroying(
views::Widget* widget) { … }
void ViewVisibleInActiveWidgetNotifier::OnWidgetPaintedAsActive() { … }
void ViewVisibleInActiveWidgetNotifier::OnElementShown(
ui::TrackedElement* element_shown) { … }
bool ViewVisibleInActiveWidgetNotifier::MaybePostCallback() { … }
void ViewVisibleInActiveWidgetNotifier::RunCallback(bool conditions_met) { … }
void PostCallbackOnBrowserActivation(
const Browser* browser,
ui::ElementIdentifier id,
base::OnceCallback<void(bool)> view_and_element_activated_callback) { … }
}