#include "third_party/blink/renderer/core/inspector/dev_tools_host.h"
#include <utility>
#include "base/json/json_reader.h"
#include "third_party/blink/public/common/context_menu_data/menu_item_info.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_script_runner.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_show_context_menu_item.h"
#include "third_party/blink/renderer/core/clipboard/system_clipboard.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
#include "third_party/blink/renderer/core/dom/events/event_target.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
#include "third_party/blink/renderer/core/html/parser/text_resource_decoder.h"
#include "third_party/blink/renderer/core/input/context_menu_allowed_scope.h"
#include "third_party/blink/renderer/core/inspector/inspector_frontend_client.h"
#include "third_party/blink/renderer/core/loader/frame_loader.h"
#include "third_party/blink/renderer/core/page/chrome_client.h"
#include "third_party/blink/renderer/core/page/context_menu_controller.h"
#include "third_party/blink/renderer/core/page/context_menu_provider.h"
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/core/script/classic_script.h"
#include "third_party/blink/renderer/platform/bindings/script_forbidden_scope.h"
#include "third_party/blink/renderer/platform/bindings/script_state.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_error.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_request.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_response.h"
#include "third_party/blink/renderer/platform/wtf/shared_buffer.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
class FrontendMenuProvider final : public ContextMenuProvider { … };
DevToolsHost::DevToolsHost(InspectorFrontendClient* client,
LocalFrame* frontend_frame)
: … { … }
DevToolsHost::~DevToolsHost() = default;
void DevToolsHost::Trace(Visitor* visitor) const { … }
void DevToolsHost::EvaluateScript(const String& expression) { … }
void DevToolsHost::DisconnectClient() { … }
float DevToolsHost::zoomFactor() { … }
void DevToolsHost::copyText(const String& text) { … }
String DevToolsHost::platform() const { … }
void DevToolsHost::sendMessageToEmbedder(const String& message) { … }
void DevToolsHost::sendMessageToEmbedder(base::Value::Dict message) { … }
static std::vector<MenuItemInfo> PopulateContextMenuItems(
const HeapVector<Member<ShowContextMenuItem>>& item_array) { … }
void DevToolsHost::showContextMenuAtPoint(
v8::Isolate* isolate,
float x,
float y,
const HeapVector<Member<ShowContextMenuItem>>& items,
Document* document) { … }
bool DevToolsHost::isHostedMode() { … }
}