#include "chrome/browser/apps/platform_apps/platform_app_navigation_redirector.h"
#include "apps/launcher.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "chrome/browser/preloading/prefetch/no_state_prefetch/chrome_no_state_prefetch_contents_delegate.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/common/extensions/api/url_handlers/url_handlers_parser.h"
#include "components/navigation_interception/intercept_navigation_throttle.h"
#include "components/no_state_prefetch/browser/no_state_prefetch_contents.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/navigation_handle.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/common/extension.h"
#include "extensions/common/extension_set.h"
BrowserThread;
WebContents;
Extension;
UrlHandlers;
UrlHandlerInfo;
namespace {
bool LaunchAppWithUrl(const scoped_refptr<const Extension> app,
const std::string& handler_id,
content::NavigationHandle* navigation_handle) { … }
}
std::unique_ptr<content::NavigationThrottle>
PlatformAppNavigationRedirector::MaybeCreateThrottleFor(
content::NavigationHandle* handle) { … }