#include "extensions/browser/guest_view/app_view/app_view_guest.h"
#include <utility>
#include "base/command_line.h"
#include "base/functional/bind.h"
#include "base/lazy_instance.h"
#include "components/guest_view/browser/guest_view_manager.h"
#include "content/public/browser/render_process_host.h"
#include "extensions/browser/api/app_runtime/app_runtime_api.h"
#include "extensions/browser/api/extensions_api_client.h"
#include "extensions/browser/app_window/app_delegate.h"
#include "extensions/browser/bad_message.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_host.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/guest_view/app_view/app_view_constants.h"
#include "extensions/browser/lazy_context_id.h"
#include "extensions/browser/lazy_context_task_queue.h"
#include "extensions/browser/process_manager.h"
#include "extensions/browser/view_type_utils.h"
#include "extensions/common/api/app_runtime.h"
#include "extensions/strings/grit/extensions_strings.h"
#include "ipc/ipc_message_macros.h"
app_runtime;
RenderFrameHost;
WebContents;
ExtensionHost;
GuestViewBase;
namespace extensions {
namespace {
struct ResponseInfo { … };
PendingResponseMap;
base::LazyInstance<PendingResponseMap>::DestructorAtExit
g_pending_response_map = …;
}
const char AppViewGuest::Type[] = …;
const guest_view::GuestViewHistogramValue AppViewGuest::HistogramValue = …;
bool AppViewGuest::CompletePendingRequest(
content::BrowserContext* browser_context,
const GURL& url,
int guest_instance_id,
const std::string& guest_extension_id,
content::RenderProcessHost* guest_render_process_host) { … }
std::unique_ptr<GuestViewBase> AppViewGuest::Create(
content::RenderFrameHost* owner_rfh) { … }
AppViewGuest::AppViewGuest(content::RenderFrameHost* owner_rfh)
: … { … }
AppViewGuest::~AppViewGuest() = default;
bool AppViewGuest::HandleContextMenu(
content::RenderFrameHost& render_frame_host,
const content::ContextMenuParams& params) { … }
void AppViewGuest::RequestMediaAccessPermission(
WebContents* web_contents,
const content::MediaStreamRequest& request,
content::MediaResponseCallback callback) { … }
bool AppViewGuest::CheckMediaAccessPermission(
content::RenderFrameHost* render_frame_host,
const url::Origin& security_origin,
blink::mojom::MediaStreamType type) { … }
void AppViewGuest::CreateWebContents(std::unique_ptr<GuestViewBase> owned_this,
const base::Value::Dict& create_params,
WebContentsCreatedCallback callback) { … }
void AppViewGuest::DidInitialize(const base::Value::Dict& create_params) { … }
void AppViewGuest::MaybeRecreateGuestContents(
content::RenderFrameHost* outer_contents_frame) { … }
const char* AppViewGuest::GetAPINamespace() const { … }
int AppViewGuest::GetTaskPrefix() const { … }
void AppViewGuest::CompleteCreateWebContents(
const GURL& url,
const Extension* guest_extension,
std::unique_ptr<GuestViewBase> owned_this,
WebContentsCreatedCallback callback) { … }
void AppViewGuest::LaunchAppAndFireEvent(
std::unique_ptr<GuestViewBase> owned_this,
base::Value::Dict data,
WebContentsCreatedCallback callback,
std::unique_ptr<LazyContextTaskQueue::ContextInfo> context_info) { … }
void AppViewGuest::SetAppDelegateForTest(AppDelegate* delegate) { … }
std::vector<int> AppViewGuest::GetAllRegisteredInstanceIdsForTesting() { … }
}