blob: aa0b415f8de86a5d0e8fa0717e01301116e556eb [file] [log] [blame]
// 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/android/webapps/twa_launch_queue_tab_helper.h"
#include "chrome/browser/android/webapps/twa_launch_queue_delegate.h"
#include "components/webapps/browser/launch_queue/launch_queue.h"
namespace webapps {
TwaLaunchQueueTabHelper::~TwaLaunchQueueTabHelper() = default;
LaunchQueue& TwaLaunchQueueTabHelper::EnsureLaunchQueue() {
if (!launch_queue_) {
std::unique_ptr<LaunchQueueDelegate> delegate =
std::make_unique<TwaLaunchQueueDelegate>();
launch_queue_ =
std::make_unique<LaunchQueue>(&GetWebContents(), std::move(delegate));
}
return *launch_queue_;
}
void TwaLaunchQueueTabHelper::FlushLaunchQueueForTesting() const {
if (!launch_queue_) {
return;
}
launch_queue_->FlushForTesting(); // IN-TEST
}
TwaLaunchQueueTabHelper::TwaLaunchQueueTabHelper(content::WebContents* contents)
: content::WebContentsUserData<TwaLaunchQueueTabHelper>(*contents) {}
WEB_CONTENTS_USER_DATA_KEY_IMPL(TwaLaunchQueueTabHelper);
} // namespace webapps