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:
parent
f313708237
commit
2428e3e675
9 changed files with 56 additions and 96 deletions
|
@ -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;
|
||||
};
|
||||
|
||||
}
|
|
@ -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:
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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 };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue