#include "chrome/browser/extensions/user_script_listener.h"
#include <memory>
#include "base/functional/bind.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/chrome_content_browser_client_extensions_part.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "content/public/browser/navigation_handle.h"
#include "content/public/browser/navigation_throttle.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/scripting_utils.h"
#include "extensions/browser/user_script_manager.h"
#include "extensions/common/extension.h"
#include "extensions/common/manifest_handlers/content_scripts_handler.h"
#include "extensions/common/url_pattern.h"
#include "extensions/common/url_pattern_set.h"
NavigationThrottle;
namespace extensions {
class UserScriptListener::Throttle : public NavigationThrottle { … };
struct UserScriptListener::ProfileData { … };
UserScriptListener::UserScriptListener() { … }
std::unique_ptr<NavigationThrottle>
UserScriptListener::CreateNavigationThrottle(
content::NavigationHandle* navigation_handle) { … }
void UserScriptListener::OnScriptsLoaded(content::BrowserContext* context) { … }
void UserScriptListener::StartTearDown() { … }
void UserScriptListener::SetUserScriptsNotReadyForTesting(
content::BrowserContext* context) { … }
void UserScriptListener::TriggerUserScriptsReadyForTesting(
content::BrowserContext* context) { … }
UserScriptListener::~UserScriptListener() { … }
bool UserScriptListener::ShouldDelayRequest(const GURL& url) { … }
void UserScriptListener::StartDelayedRequests() { … }
void UserScriptListener::CheckIfAllUserScriptsReady() { … }
void UserScriptListener::UserScriptsReady(content::BrowserContext* context) { … }
void UserScriptListener::AppendNewURLPatterns(content::BrowserContext* context,
const URLPatterns& new_patterns) { … }
void UserScriptListener::ReplaceURLPatterns(content::BrowserContext* context,
const URLPatterns& patterns) { … }
void UserScriptListener::CollectURLPatterns(content::BrowserContext* context,
const Extension* extension,
URLPatterns* patterns) { … }
void UserScriptListener::OnProfileAdded(Profile* profile) { … }
void UserScriptListener::OnExtensionLoaded(
content::BrowserContext* browser_context,
const Extension* extension) { … }
void UserScriptListener::OnExtensionUnloaded(
content::BrowserContext* browser_context,
const Extension* extension,
UnloadedExtensionReason reason) { … }
void UserScriptListener::OnShutdown(ExtensionRegistry* registry) { … }
}