#include "extensions/test/test_content_script_load_waiter.h"
#include "content/public/browser/browser_context.h"
namespace extensions {
ContentScriptLoadWaiter::ContentScriptLoadWaiter(UserScriptLoader* loader)
: host_id_(loader->host_id()) {
loader_observation_.Observe(loader);
}
ContentScriptLoadWaiter::~ContentScriptLoadWaiter() = default;
void ContentScriptLoadWaiter::Wait() {
run_loop_.Run();
}
void ContentScriptLoadWaiter::OnScriptsLoaded(
UserScriptLoader* loader,
content::BrowserContext* browser_context) {
if (loader->HasLoadedScripts())
run_loop_.QuitWhenIdle();
}
void ContentScriptLoadWaiter::OnUserScriptLoaderDestroyed(
UserScriptLoader* loader) {
loader_observation_.Reset();
}
}