#ifndef CHROME_BROWSER_EXTENSIONS_API_WEB_NAVIGATION_WEB_NAVIGATION_API_H_
#define CHROME_BROWSER_EXTENSIONS_API_WEB_NAVIGATION_WEB_NAVIGATION_API_H_
#include <map>
#include <set>
#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "chrome/browser/extensions/api/web_navigation/frame_navigation_state.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser_tab_strip_tracker.h"
#include "chrome/browser/ui/browser_tab_strip_tracker_delegate.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/browser/web_contents_user_data.h"
#include "extensions/browser/browser_context_keyed_api_factory.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_function.h"
#include "url/gurl.h"
namespace extensions {
class WebNavigationTabObserver
: public content::WebContentsObserver,
public content::WebContentsUserData<WebNavigationTabObserver> { … };
class WebNavigationEventRouter : public TabStripModelObserver,
public BrowserTabStripTrackerDelegate { … };
class WebNavigationGetFrameFunction : public ExtensionFunction { … };
class WebNavigationGetAllFramesFunction : public ExtensionFunction { … };
class WebNavigationAPI : public BrowserContextKeyedAPI,
public extensions::EventRouter::Observer { … };
}
#endif