1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 01:07:35 +00:00

LibWebView+Ladybird: Move DOM inspection helpers to ViewImplementation

This commit is contained in:
Linus Groh 2023-01-12 20:22:14 +00:00 committed by Andreas Kling
parent f313708237
commit 2428e3e675
9 changed files with 56 additions and 96 deletions

View file

@ -1,19 +0,0 @@
/*
* Copyright (c) 2022, MacDue <macdue@dueutil.tech>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/String.h>
namespace Ladybird {
struct DOMNodeProperties {
String computed_style_json;
String resolved_style_json;
String custom_properties_json;
};
}

View file

@ -6,8 +6,8 @@
#pragma once
#include "DOMNodeProperties.h"
#include "ModelTranslator.h"
#include "WebContentView.h"
#include <AK/Optional.h>
#include <AK/StringView.h>
#include <LibWeb/CSS/Selector.h>
@ -36,7 +36,7 @@ public:
void load_style_json(StringView computed_style_json, StringView resolved_style_json, StringView custom_properties_json);
void clear_style_json();
Function<ErrorOr<DOMNodeProperties>(i32, Optional<Web::CSS::Selector::PseudoElement>)> on_dom_node_inspected;
Function<ErrorOr<WebContentView::DOMNodeProperties>(i32, Optional<Web::CSS::Selector::PseudoElement>)> on_dom_node_inspected;
Function<void()> on_close;
private:

View file

@ -532,28 +532,6 @@ bool WebContentView::is_inspector_open() const
return m_inspector_widget && m_inspector_widget->isVisible();
}
void WebContentView::inspect_dom_tree()
{
client().async_inspect_dom_tree();
}
ErrorOr<Ladybird::DOMNodeProperties> WebContentView::inspect_dom_node(i32 node_id, Optional<Web::CSS::Selector::PseudoElement> pseudo_element)
{
auto response = client().inspect_dom_node(node_id, pseudo_element);
if (!response.has_style())
return Error::from_string_view("Inspected node returned no style"sv);
return Ladybird::DOMNodeProperties {
.computed_style_json = TRY(String::from_deprecated_string(response.take_computed_style())),
.resolved_style_json = TRY(String::from_deprecated_string(response.take_resolved_style())),
.custom_properties_json = TRY(String::from_deprecated_string(response.take_custom_properties())),
};
}
void WebContentView::clear_inspected_dom_node()
{
(void)inspect_dom_node(0, {});
}
void WebContentView::show_inspector()
{
ensure_inspector_widget();

View file

@ -25,8 +25,6 @@
#include <QAbstractScrollArea>
#include <QPointer>
#include "DOMNodeProperties.h"
class QTextEdit;
class QLineEdit;
@ -192,10 +190,7 @@ private:
void ensure_inspector_widget();
bool is_inspector_open() const;
void inspect_dom_tree();
void clear_inspected_dom_node();
void close_sub_widgets();
ErrorOr<Ladybird::DOMNodeProperties> inspect_dom_node(i32 node_id, Optional<Web::CSS::Selector::PseudoElement> pseudo_element);
qreal m_inverse_pixel_scaling_ratio { 1.0 };
bool m_should_show_line_box_borders { false };