mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-18 15:32:22 +00:00
LibWebView: Enable EXPLICIT_SYMBOL_EXPORT
This commit is contained in:
parent
ed93551d59
commit
9c67c4a270
Notes:
github-actions[bot]
2025-08-23 22:06:32 +00:00
Author: https://github.com/ayeteadoe
Commit: 9c67c4a270
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5229
Reviewed-by: https://github.com/ADKaster ✅
36 changed files with 104 additions and 94 deletions
|
@ -18,6 +18,7 @@
|
|||
#include <LibMain/Main.h>
|
||||
#include <LibRequests/RequestClient.h>
|
||||
#include <LibURL/URL.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
#include <LibWebView/Options.h>
|
||||
#include <LibWebView/Process.h>
|
||||
#include <LibWebView/ProcessManager.h>
|
||||
|
@ -28,7 +29,7 @@ namespace WebView {
|
|||
|
||||
struct ApplicationSettingsObserver;
|
||||
|
||||
class Application : public DevTools::DevToolsDelegate {
|
||||
class WEBVIEW_API Application : public DevTools::DevToolsDelegate {
|
||||
AK_MAKE_NONCOPYABLE(Application);
|
||||
|
||||
public:
|
||||
|
|
|
@ -8,10 +8,11 @@
|
|||
|
||||
#include <AK/String.h>
|
||||
#include <LibIPC/Forward.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
struct Attribute {
|
||||
struct WEBVIEW_API Attribute {
|
||||
String name;
|
||||
String value;
|
||||
};
|
||||
|
@ -21,9 +22,9 @@ struct Attribute {
|
|||
namespace IPC {
|
||||
|
||||
template<>
|
||||
ErrorOr<void> encode(Encoder&, WebView::Attribute const&);
|
||||
WEBVIEW_API ErrorOr<void> encode(Encoder&, WebView::Attribute const&);
|
||||
|
||||
template<>
|
||||
ErrorOr<WebView::Attribute> decode(Decoder&);
|
||||
WEBVIEW_API ErrorOr<WebView::Attribute> decode(Decoder&);
|
||||
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include <AK/String.h>
|
||||
#include <AK/Vector.h>
|
||||
#include <LibRequests/Forward.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
|
@ -21,10 +22,10 @@ struct AutocompleteEngine {
|
|||
StringView query_url;
|
||||
};
|
||||
|
||||
ReadonlySpan<AutocompleteEngine> autocomplete_engines();
|
||||
Optional<AutocompleteEngine const&> find_autocomplete_engine_by_name(StringView name);
|
||||
WEBVIEW_API ReadonlySpan<AutocompleteEngine> autocomplete_engines();
|
||||
WEBVIEW_API Optional<AutocompleteEngine const&> find_autocomplete_engine_by_name(StringView name);
|
||||
|
||||
class Autocomplete {
|
||||
class WEBVIEW_API Autocomplete {
|
||||
public:
|
||||
Autocomplete();
|
||||
~Autocomplete();
|
||||
|
|
|
@ -13,13 +13,14 @@
|
|||
#include <LibIPC/ConnectionFromClient.h>
|
||||
#include <LibIPC/Forward.h>
|
||||
#include <LibIPC/MultiServer.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
#include <LibWebView/Options.h>
|
||||
#include <LibWebView/UIProcessClientEndpoint.h>
|
||||
#include <LibWebView/UIProcessServerEndpoint.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
class UIProcessConnectionFromClient final
|
||||
class WEBVIEW_API UIProcessConnectionFromClient final
|
||||
: public IPC::ConnectionFromClient<UIProcessClientEndpoint, UIProcessServerEndpoint> {
|
||||
C_OBJECT(UIProcessConnectionFromClient);
|
||||
|
||||
|
@ -38,7 +39,7 @@ private:
|
|||
virtual void create_new_window(Vector<ByteString> urls) override;
|
||||
};
|
||||
|
||||
class BrowserProcess {
|
||||
class WEBVIEW_API BrowserProcess {
|
||||
AK_MAKE_NONCOPYABLE(BrowserProcess);
|
||||
AK_MAKE_DEFAULT_MOVABLE(BrowserProcess);
|
||||
|
||||
|
|
|
@ -68,7 +68,7 @@ set(GENERATED_SOURCES
|
|||
UIProcessServerEndpoint.h
|
||||
)
|
||||
|
||||
ladybird_lib(LibWebView webview)
|
||||
ladybird_lib(LibWebView webview EXPLICIT_SYMBOL_EXPORT)
|
||||
target_link_libraries(LibWebView PRIVATE LibCore LibDevTools LibFileSystem LibGfx LibImageDecoderClient LibIPC LibRequests LibJS LibWeb LibUnicode LibURL LibSyntax LibTextCodec)
|
||||
|
||||
if (APPLE)
|
||||
|
|
|
@ -13,29 +13,30 @@
|
|||
#include <AK/Vector.h>
|
||||
#include <LibIPC/Forward.h>
|
||||
#include <LibJS/Console.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
struct ConsoleLog {
|
||||
struct WEBVIEW_API ConsoleLog {
|
||||
JS::Console::LogLevel level;
|
||||
Vector<JsonValue> arguments;
|
||||
};
|
||||
|
||||
struct StackFrame {
|
||||
struct WEBVIEW_API StackFrame {
|
||||
Optional<String> function;
|
||||
Optional<String> file;
|
||||
Optional<size_t> line;
|
||||
Optional<size_t> column;
|
||||
};
|
||||
|
||||
struct ConsoleError {
|
||||
struct WEBVIEW_API ConsoleError {
|
||||
String name;
|
||||
String message;
|
||||
Vector<StackFrame> trace;
|
||||
bool inside_promise { false };
|
||||
};
|
||||
|
||||
struct ConsoleOutput {
|
||||
struct WEBVIEW_API ConsoleOutput {
|
||||
UnixDateTime timestamp;
|
||||
Variant<ConsoleLog, ConsoleError> output;
|
||||
};
|
||||
|
@ -63,9 +64,9 @@ template<>
|
|||
ErrorOr<WebView::ConsoleError> decode(Decoder&);
|
||||
|
||||
template<>
|
||||
ErrorOr<void> encode(Encoder&, WebView::ConsoleOutput const&);
|
||||
WEBVIEW_API ErrorOr<void> encode(Encoder&, WebView::ConsoleOutput const&);
|
||||
|
||||
template<>
|
||||
ErrorOr<WebView::ConsoleOutput> decode(Decoder&);
|
||||
WEBVIEW_API ErrorOr<WebView::ConsoleOutput> decode(Decoder&);
|
||||
|
||||
}
|
||||
|
|
|
@ -29,14 +29,14 @@ struct CookieStorageKey {
|
|||
String path;
|
||||
};
|
||||
|
||||
class CookieJar {
|
||||
class WEBVIEW_API CookieJar {
|
||||
struct Statements {
|
||||
Database::StatementID insert_cookie { 0 };
|
||||
Database::StatementID expire_cookie { 0 };
|
||||
Database::StatementID select_all_cookies { 0 };
|
||||
};
|
||||
|
||||
class TransientStorage {
|
||||
class WEBVIEW_API TransientStorage {
|
||||
public:
|
||||
using Cookies = HashMap<CookieStorageKey, Web::Cookie::Cookie>;
|
||||
|
||||
|
@ -72,7 +72,7 @@ class CookieJar {
|
|||
Cookies m_dirty_cookies;
|
||||
};
|
||||
|
||||
struct PersistedStorage {
|
||||
struct WEBVIEW_API PersistedStorage {
|
||||
void insert_cookie(Web::Cookie::Cookie const& cookie);
|
||||
TransientStorage::Cookies select_all_cookies();
|
||||
|
||||
|
|
|
@ -8,10 +8,11 @@
|
|||
|
||||
#include <AK/JsonValue.h>
|
||||
#include <LibIPC/Forward.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
struct DOMNodeProperties {
|
||||
struct WEBVIEW_API DOMNodeProperties {
|
||||
enum class Type {
|
||||
ComputedStyle,
|
||||
Layout,
|
||||
|
@ -27,9 +28,9 @@ struct DOMNodeProperties {
|
|||
namespace IPC {
|
||||
|
||||
template<>
|
||||
ErrorOr<void> encode(Encoder&, WebView::DOMNodeProperties const&);
|
||||
WEBVIEW_API ErrorOr<void> encode(Encoder&, WebView::DOMNodeProperties const&);
|
||||
|
||||
template<>
|
||||
ErrorOr<WebView::DOMNodeProperties> decode(Decoder&);
|
||||
WEBVIEW_API ErrorOr<WebView::DOMNodeProperties> decode(Decoder&);
|
||||
|
||||
}
|
||||
|
|
|
@ -13,13 +13,14 @@
|
|||
#include <AK/RefCounted.h>
|
||||
#include <AK/StringView.h>
|
||||
#include <AK/Vector.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
struct sqlite3;
|
||||
struct sqlite3_stmt;
|
||||
|
||||
namespace WebView {
|
||||
|
||||
class Database : public RefCounted<Database> {
|
||||
class WEBVIEW_API Database : public RefCounted<Database> {
|
||||
public:
|
||||
static ErrorOr<NonnullRefPtr<Database>> create();
|
||||
~Database();
|
||||
|
|
|
@ -9,10 +9,11 @@
|
|||
#include <AK/Function.h>
|
||||
#include <AK/NonnullOwnPtr.h>
|
||||
#include <LibCore/EventLoopImplementation.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
class EventLoopManagerMacOS final : public Core::EventLoopManager {
|
||||
class WEBVIEW_API EventLoopManagerMacOS final : public Core::EventLoopManager {
|
||||
public:
|
||||
virtual NonnullOwnPtr<Core::EventLoopImplementation> make_implementation() override;
|
||||
|
||||
|
@ -28,7 +29,7 @@ public:
|
|||
virtual void unregister_signal(int) override;
|
||||
};
|
||||
|
||||
class EventLoopImplementationMacOS final : public Core::EventLoopImplementation {
|
||||
class WEBVIEW_API EventLoopImplementationMacOS final : public Core::EventLoopImplementation {
|
||||
public:
|
||||
// FIXME: This currently only manages the main NSApp event loop, as that is all we currently
|
||||
// interact with. When we need multiple event loops, or an event loop that isn't the
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include <AK/Platform.h>
|
||||
#include <AK/Traits.h>
|
||||
#include <LibWebView/Export.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
|
|
|
@ -10,11 +10,12 @@
|
|||
#include <LibGfx/Forward.h>
|
||||
#include <LibWeb/Page/Page.h>
|
||||
#include <LibWeb/PixelUnits.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
#include <LibWebView/ViewImplementation.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
class HeadlessWebView : public WebView::ViewImplementation {
|
||||
class WEBVIEW_API HeadlessWebView : public WebView::ViewImplementation {
|
||||
public:
|
||||
static NonnullOwnPtr<HeadlessWebView> create(Core::AnonymousBuffer theme, Web::DevicePixelSize window_size);
|
||||
static NonnullOwnPtr<HeadlessWebView> create_child(HeadlessWebView&, u64 page_index);
|
||||
|
|
|
@ -12,25 +12,26 @@
|
|||
#include <LibRequests/RequestClient.h>
|
||||
#include <LibWeb/Bindings/MainThreadVM.h>
|
||||
#include <LibWeb/Worker/WebWorkerClient.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
#include <LibWebView/ViewImplementation.h>
|
||||
#include <LibWebView/WebContentClient.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
ErrorOr<NonnullRefPtr<WebView::WebContentClient>> launch_web_content_process(
|
||||
WEBVIEW_API ErrorOr<NonnullRefPtr<WebView::WebContentClient>> launch_web_content_process(
|
||||
WebView::ViewImplementation& view,
|
||||
IPC::File image_decoder_socket,
|
||||
Optional<IPC::File> request_server_socket = {});
|
||||
|
||||
ErrorOr<NonnullRefPtr<WebView::WebContentClient>> launch_spare_web_content_process(
|
||||
WEBVIEW_API ErrorOr<NonnullRefPtr<WebView::WebContentClient>> launch_spare_web_content_process(
|
||||
IPC::File image_decoder_socket,
|
||||
Optional<IPC::File> request_server_socket = {});
|
||||
|
||||
ErrorOr<NonnullRefPtr<ImageDecoderClient::Client>> launch_image_decoder_process();
|
||||
ErrorOr<NonnullRefPtr<Web::HTML::WebWorkerClient>> launch_web_worker_process(Web::Bindings::AgentType);
|
||||
ErrorOr<NonnullRefPtr<Requests::RequestClient>> launch_request_server_process();
|
||||
WEBVIEW_API ErrorOr<NonnullRefPtr<ImageDecoderClient::Client>> launch_image_decoder_process();
|
||||
WEBVIEW_API ErrorOr<NonnullRefPtr<Web::HTML::WebWorkerClient>> launch_web_worker_process(Web::Bindings::AgentType);
|
||||
WEBVIEW_API ErrorOr<NonnullRefPtr<Requests::RequestClient>> launch_request_server_process();
|
||||
|
||||
ErrorOr<IPC::File> connect_new_request_server_client();
|
||||
ErrorOr<IPC::File> connect_new_image_decoder_client();
|
||||
WEBVIEW_API ErrorOr<IPC::File> connect_new_request_server_client();
|
||||
WEBVIEW_API ErrorOr<IPC::File> connect_new_image_decoder_client();
|
||||
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include <AK/String.h>
|
||||
#include <LibCore/MachPort.h>
|
||||
#include <LibThreading/Thread.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
#if !defined(AK_OS_MACH)
|
||||
# error "This file is only for Mach kernel-based OS's"
|
||||
|
@ -18,7 +19,7 @@
|
|||
|
||||
namespace WebView {
|
||||
|
||||
class MachPortServer {
|
||||
class WEBVIEW_API MachPortServer {
|
||||
|
||||
public:
|
||||
MachPortServer();
|
||||
|
|
|
@ -11,25 +11,26 @@
|
|||
#include <AK/Vector.h>
|
||||
#include <LibIPC/Forward.h>
|
||||
#include <LibWeb/Forward.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
struct AttributeMutation {
|
||||
struct WEBVIEW_API AttributeMutation {
|
||||
String attribute_name;
|
||||
Optional<String> new_value;
|
||||
};
|
||||
|
||||
struct CharacterDataMutation {
|
||||
struct WEBVIEW_API CharacterDataMutation {
|
||||
String new_value;
|
||||
};
|
||||
|
||||
struct ChildListMutation {
|
||||
struct WEBVIEW_API ChildListMutation {
|
||||
Vector<Web::UniqueNodeID> added;
|
||||
Vector<Web::UniqueNodeID> removed;
|
||||
size_t target_child_count { 0 };
|
||||
};
|
||||
|
||||
struct Mutation {
|
||||
struct WEBVIEW_API Mutation {
|
||||
using Type = Variant<AttributeMutation, CharacterDataMutation, ChildListMutation>;
|
||||
|
||||
String type;
|
||||
|
@ -61,9 +62,9 @@ template<>
|
|||
ErrorOr<WebView::ChildListMutation> decode(Decoder&);
|
||||
|
||||
template<>
|
||||
ErrorOr<void> encode(Encoder&, WebView::Mutation const&);
|
||||
WEBVIEW_API ErrorOr<void> encode(Encoder&, WebView::Mutation const&);
|
||||
|
||||
template<>
|
||||
ErrorOr<WebView::Mutation> decode(Decoder&);
|
||||
WEBVIEW_API ErrorOr<WebView::Mutation> decode(Decoder&);
|
||||
|
||||
}
|
||||
|
|
|
@ -10,10 +10,11 @@
|
|||
#include <AK/Vector.h>
|
||||
#include <LibGfx/Font/FontDatabase.h>
|
||||
#include <LibWeb/Platform/FontPlugin.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
class FontPlugin final : public Web::Platform::FontPlugin {
|
||||
class WEBVIEW_API FontPlugin final : public Web::Platform::FontPlugin {
|
||||
public:
|
||||
FontPlugin(bool is_layout_test_mode, Gfx::SystemFontProvider* = nullptr);
|
||||
virtual ~FontPlugin();
|
||||
|
|
|
@ -9,10 +9,11 @@
|
|||
|
||||
#include <LibImageDecoderClient/Client.h>
|
||||
#include <LibWeb/Platform/ImageCodecPlugin.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
class ImageCodecPlugin final : public Web::Platform::ImageCodecPlugin {
|
||||
class WEBVIEW_API ImageCodecPlugin final : public Web::Platform::ImageCodecPlugin {
|
||||
public:
|
||||
explicit ImageCodecPlugin(NonnullRefPtr<ImageDecoderClient::Client>);
|
||||
virtual ~ImageCodecPlugin() override;
|
||||
|
|
|
@ -11,11 +11,12 @@
|
|||
#include <LibCore/Process.h>
|
||||
#include <LibIPC/Connection.h>
|
||||
#include <LibIPC/Transport.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
#include <LibWebView/ProcessType.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
class Process {
|
||||
class WEBVIEW_API Process {
|
||||
AK_MAKE_NONCOPYABLE(Process);
|
||||
AK_MAKE_DEFAULT_MOVABLE(Process);
|
||||
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
|
||||
namespace WebView {
|
||||
|
||||
ProcessType process_type_from_name(StringView);
|
||||
StringView process_name_from_type(ProcessType type);
|
||||
WEBVIEW_API ProcessType process_type_from_name(StringView);
|
||||
WEBVIEW_API StringView process_name_from_type(ProcessType type);
|
||||
|
||||
class ProcessManager {
|
||||
class WEBVIEW_API ProcessManager {
|
||||
AK_MAKE_NONCOPYABLE(ProcessManager);
|
||||
|
||||
public:
|
||||
|
|
|
@ -9,17 +9,18 @@
|
|||
#include <AK/Span.h>
|
||||
#include <AK/String.h>
|
||||
#include <AK/StringView.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
struct SearchEngine {
|
||||
String format_search_query_for_display(StringView query) const;
|
||||
String format_search_query_for_navigation(StringView query) const;
|
||||
WEBVIEW_API String format_search_query_for_display(StringView query) const;
|
||||
WEBVIEW_API String format_search_query_for_navigation(StringView query) const;
|
||||
|
||||
String name;
|
||||
String query_url;
|
||||
};
|
||||
|
||||
ReadonlySpan<SearchEngine> builtin_search_engines();
|
||||
WEBVIEW_API ReadonlySpan<SearchEngine> builtin_search_engines();
|
||||
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
namespace WebView {
|
||||
|
||||
struct SiteSetting {
|
||||
struct WEBVIEW_API SiteSetting {
|
||||
SiteSetting();
|
||||
|
||||
bool enabled_globally { false };
|
||||
|
@ -30,7 +30,7 @@ enum class DoNotTrack {
|
|||
Yes,
|
||||
};
|
||||
|
||||
class SettingsObserver {
|
||||
class WEBVIEW_API SettingsObserver {
|
||||
public:
|
||||
explicit SettingsObserver();
|
||||
virtual ~SettingsObserver();
|
||||
|
@ -44,7 +44,7 @@ public:
|
|||
virtual void dns_settings_changed() { }
|
||||
};
|
||||
|
||||
class Settings {
|
||||
class WEBVIEW_API Settings {
|
||||
public:
|
||||
static Settings create(Badge<Application>);
|
||||
|
||||
|
|
|
@ -7,10 +7,11 @@
|
|||
#pragma once
|
||||
|
||||
#include <LibURL/Forward.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
void disable_site_isolation();
|
||||
[[nodiscard]] bool is_url_suitable_for_same_process_navigation(URL::URL const& current_url, URL::URL const& target_url);
|
||||
WEBVIEW_API void disable_site_isolation();
|
||||
[[nodiscard]] WEBVIEW_API bool is_url_suitable_for_same_process_navigation(URL::URL const& current_url, URL::URL const& target_url);
|
||||
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include <LibSyntax/HighlighterClient.h>
|
||||
#include <LibSyntax/Language.h>
|
||||
#include <LibURL/Forward.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
|
@ -22,7 +23,7 @@ enum class HighlightOutputMode {
|
|||
SourceOnly, // Just the highlighted source
|
||||
};
|
||||
|
||||
class SourceDocument final : public Syntax::Document {
|
||||
class WEBVIEW_API SourceDocument final : public Syntax::Document {
|
||||
public:
|
||||
static NonnullRefPtr<SourceDocument> create(String const& source)
|
||||
{
|
||||
|
@ -47,7 +48,7 @@ private:
|
|||
Vector<Syntax::TextDocumentLine> m_lines;
|
||||
};
|
||||
|
||||
class SourceHighlighterClient final : public Syntax::HighlighterClient {
|
||||
class WEBVIEW_API SourceHighlighterClient final : public Syntax::HighlighterClient {
|
||||
public:
|
||||
SourceHighlighterClient(String const& source, Syntax::Language);
|
||||
virtual ~SourceHighlighterClient() = default;
|
||||
|
@ -75,7 +76,7 @@ private:
|
|||
OwnPtr<Syntax::Highlighter> m_highlighter;
|
||||
};
|
||||
|
||||
String highlight_source(Optional<URL::URL> const&, URL::URL const& base_url, String const& source, Syntax::Language, HighlightOutputMode);
|
||||
WEBVIEW_API String highlight_source(Optional<URL::URL> const&, URL::URL const& base_url, String const& source, Syntax::Language, HighlightOutputMode);
|
||||
|
||||
constexpr inline StringView HTML_HIGHLIGHTER_STYLE = R"~~~(
|
||||
@media (prefers-color-scheme: dark) {
|
||||
|
|
|
@ -26,7 +26,7 @@ struct StorageLocation {
|
|||
String bottle_key;
|
||||
};
|
||||
|
||||
class StorageJar {
|
||||
class WEBVIEW_API StorageJar {
|
||||
AK_MAKE_NONCOPYABLE(StorageJar);
|
||||
AK_MAKE_NONMOVABLE(StorageJar);
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include <AK/Optional.h>
|
||||
#include <AK/StringView.h>
|
||||
#include <LibURL/URL.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
#include <LibWebView/SearchEngine.h>
|
||||
|
||||
namespace WebView {
|
||||
|
@ -17,15 +18,15 @@ enum class AppendTLD {
|
|||
No,
|
||||
Yes,
|
||||
};
|
||||
Optional<URL::URL> sanitize_url(StringView, Optional<SearchEngine> const& search_engine = {}, AppendTLD = AppendTLD::No);
|
||||
Vector<URL::URL> sanitize_urls(ReadonlySpan<ByteString> raw_urls, URL::URL const& new_tab_page_url);
|
||||
WEBVIEW_API Optional<URL::URL> sanitize_url(StringView, Optional<SearchEngine> const& search_engine = {}, AppendTLD = AppendTLD::No);
|
||||
WEBVIEW_API Vector<URL::URL> sanitize_urls(ReadonlySpan<ByteString> raw_urls, URL::URL const& new_tab_page_url);
|
||||
|
||||
struct URLParts {
|
||||
StringView scheme_and_subdomain;
|
||||
StringView effective_tld_plus_one;
|
||||
StringView remainder;
|
||||
};
|
||||
Optional<URLParts> break_url_into_parts(StringView url);
|
||||
WEBVIEW_API Optional<URLParts> break_url_into_parts(StringView url);
|
||||
|
||||
// These are both used for the "right-click -> copy FOO" interaction for links.
|
||||
enum class URLType {
|
||||
|
@ -33,7 +34,7 @@ enum class URLType {
|
|||
Telephone,
|
||||
Other,
|
||||
};
|
||||
URLType url_type(URL::URL const&);
|
||||
String url_text_to_copy(URL::URL const&);
|
||||
WEBVIEW_API URLType url_type(URL::URL const&);
|
||||
WEBVIEW_API String url_text_to_copy(URL::URL const&);
|
||||
|
||||
}
|
||||
|
|
|
@ -9,11 +9,12 @@
|
|||
#include <AK/HashMap.h>
|
||||
#include <AK/Optional.h>
|
||||
#include <AK/StringView.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
extern OrderedHashMap<StringView, StringView> const user_agents;
|
||||
WEBVIEW_API extern OrderedHashMap<StringView, StringView> const user_agents;
|
||||
|
||||
Optional<StringView> normalize_user_agent_name(StringView);
|
||||
WEBVIEW_API Optional<StringView> normalize_user_agent_name(StringView);
|
||||
|
||||
}
|
||||
|
|
|
@ -11,17 +11,18 @@
|
|||
#include <AK/Error.h>
|
||||
#include <AK/String.h>
|
||||
#include <AK/Vector.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
void platform_init(Optional<ByteString> ladybird_binary_path = {});
|
||||
void copy_default_config_files(StringView config_path);
|
||||
ErrorOr<Vector<ByteString>> get_paths_for_helper_process(StringView process_name);
|
||||
WEBVIEW_API void platform_init(Optional<ByteString> ladybird_binary_path = {});
|
||||
WEBVIEW_API void copy_default_config_files(StringView config_path);
|
||||
WEBVIEW_API ErrorOr<Vector<ByteString>> get_paths_for_helper_process(StringView process_name);
|
||||
|
||||
extern ByteString s_ladybird_resource_root;
|
||||
Optional<ByteString const&> mach_server_name();
|
||||
void set_mach_server_name(ByteString name);
|
||||
WEBVIEW_API extern ByteString s_ladybird_resource_root;
|
||||
WEBVIEW_API Optional<ByteString const&> mach_server_name();
|
||||
WEBVIEW_API void set_mach_server_name(ByteString name);
|
||||
|
||||
ErrorOr<void> handle_attached_debugger();
|
||||
WEBVIEW_API ErrorOr<void> handle_attached_debugger();
|
||||
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
namespace WebView {
|
||||
|
||||
class ViewImplementation : public SettingsObserver {
|
||||
class WEBVIEW_API ViewImplementation : public SettingsObserver {
|
||||
public:
|
||||
virtual ~ViewImplementation();
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace WebView {
|
|||
|
||||
class ViewImplementation;
|
||||
|
||||
class WebContentClient final
|
||||
class WEBVIEW_API WebContentClient final
|
||||
: public IPC::ConnectionToServer<WebContentClientEndpoint, WebContentServerEndpoint>
|
||||
, public WebContentClientEndpoint {
|
||||
C_OBJECT_ABSTRACT(WebContentClient);
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
namespace WebView {
|
||||
|
||||
class WebUI
|
||||
class WEBVIEW_API WebUI
|
||||
: public IPC::ConnectionToServer<WebUIClientEndpoint, WebUIServerEndpoint>
|
||||
, public WebUIClientEndpoint {
|
||||
public:
|
||||
|
|
|
@ -6,11 +6,12 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <LibWebView/Forward.h>
|
||||
#include <LibWebView/WebUI.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
class ProcessesUI : public WebUI {
|
||||
class WEBVIEW_API ProcessesUI : public WebUI {
|
||||
WEB_UI(ProcessesUI);
|
||||
|
||||
private:
|
||||
|
|
|
@ -6,11 +6,12 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <LibWebView/Forward.h>
|
||||
#include <LibWebView/WebUI.h>
|
||||
|
||||
namespace WebView {
|
||||
|
||||
class SettingsUI : public WebUI {
|
||||
class WEBVIEW_API SettingsUI : public WebUI {
|
||||
WEB_UI(SettingsUI);
|
||||
|
||||
private:
|
||||
|
|
|
@ -52,7 +52,7 @@ endif()
|
|||
target_link_libraries(WebContent PRIVATE webcontentservice LibURL)
|
||||
|
||||
if(WIN32)
|
||||
# FIXME: This is a hack to get around lld-link error undefined symbols in various libraries
|
||||
# FIXME: This is a hack to get around lld-link error undefined symbols in LibWeb
|
||||
target_link_libraries(WebContent PRIVATE
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWeb>,INCLUDE,AbortSignal>
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWeb>,INCLUDE,AttributeNames>
|
||||
|
@ -78,7 +78,6 @@ if(WIN32)
|
|||
$<FILTER:$<TARGET_OBJECTS:LibWeb>,INCLUDE,TransformStream>
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWeb>,INCLUDE,WebUI>
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWeb>,INCLUDE,WritableStream>
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWebView>,INCLUDE,Utilities>
|
||||
)
|
||||
find_package(unofficial-angle REQUIRED CONFIG)
|
||||
target_link_libraries(WebContent PRIVATE LibTextCodec unofficial::angle::libGLESv2)
|
||||
|
|
|
@ -22,7 +22,7 @@ target_include_directories(WebWorker PRIVATE ${LADYBIRD_SOURCE_DIR})
|
|||
target_link_libraries(WebWorker PRIVATE webworkerservice)
|
||||
|
||||
if(WIN32)
|
||||
# FIXME: This is a hack to get around lld-link error undefined symbols in various libraries
|
||||
# FIXME: This is a hack to get around lld-link error undefined symbols in LibWeb
|
||||
target_link_libraries(webworkerservice PRIVATE
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWeb>,INCLUDE,CallbackType>
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWeb>,INCLUDE,DedicatedWorkerGlobalScope>
|
||||
|
|
|
@ -13,12 +13,6 @@ target_link_libraries(test-web PRIVATE AK LibCore LibDiff LibFileSystem LibGfx L
|
|||
if (APPLE)
|
||||
target_compile_definitions(test-web PRIVATE LADYBIRD_BINARY_PATH="$<TARGET_FILE_DIR:ladybird>")
|
||||
elseif (WIN32)
|
||||
# FIXME: This is a hack to get around lld-link error undefined symbols in various libraries
|
||||
target_link_libraries(test-web PRIVATE
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWebView>,INCLUDE,Application>
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWebView>,INCLUDE,Utilities>
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWebView>,INCLUDE,WebContentClient>
|
||||
)
|
||||
target_link_libraries(test-web PRIVATE LibDevTools)
|
||||
find_package(pthread REQUIRED)
|
||||
target_include_directories(test-web PRIVATE $<BUILD_INTERFACE:${PTHREAD_INCLUDE_DIR}>)
|
||||
|
|
|
@ -77,14 +77,7 @@ target_include_directories(${LADYBIRD_TARGET} ${LADYBIRD_SOURCE_DIR})
|
|||
target_include_directories(${LADYBIRD_TARGET} ${LADYBIRD_SOURCE_DIR}/Services/)
|
||||
|
||||
if(WIN32)
|
||||
# FIXME: This is a hack to get around lld-link error undefined symbols in various libraries
|
||||
target_link_libraries(${LADYBIRD_TARGET}
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWebView>,INCLUDE,Application>
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWebView>,INCLUDE,UserAgent>
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWebView>,INCLUDE,Utilities>
|
||||
$<FILTER:$<TARGET_OBJECTS:LibWebView>,INCLUDE,WebContentClient>
|
||||
LibDevTools
|
||||
)
|
||||
target_link_libraries(${LADYBIRD_TARGET} LibDevTools)
|
||||
endif()
|
||||
|
||||
function(set_helper_process_properties)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue