diff --git a/Ladybird/AppKit/Application/ApplicationDelegate.h b/Ladybird/AppKit/Application/ApplicationDelegate.h index a743b2a995..d9befa3e5d 100644 --- a/Ladybird/AppKit/Application/ApplicationDelegate.h +++ b/Ladybird/AppKit/Application/ApplicationDelegate.h @@ -9,9 +9,9 @@ #include #include #include -#include #include #include +#include #import @@ -21,7 +21,7 @@ @interface ApplicationDelegate : NSObject - (nullable instancetype)init:(Optional)initial_url - withCookieJar:(Browser::CookieJar)cookie_jar + withCookieJar:(WebView::CookieJar)cookie_jar webdriverContentIPCPath:(StringView)webdriver_content_ipc_path; - (nonnull TabController*)createNewTab:(Optional const&)url @@ -35,7 +35,7 @@ - (void)removeTab:(nonnull TabController*)controller; -- (Browser::CookieJar&)cookieJar; +- (WebView::CookieJar&)cookieJar; - (Optional const&)webdriverContentIPCPath; - (Web::CSS::PreferredColorScheme)preferredColorScheme; diff --git a/Ladybird/AppKit/Application/ApplicationDelegate.mm b/Ladybird/AppKit/Application/ApplicationDelegate.mm index 8b509b86b8..ae394b8758 100644 --- a/Ladybird/AppKit/Application/ApplicationDelegate.mm +++ b/Ladybird/AppKit/Application/ApplicationDelegate.mm @@ -22,7 +22,7 @@ URL m_new_tab_page_url; // This will always be populated, but we cannot have a non-default constructible instance variable. - Optional m_cookie_jar; + Optional m_cookie_jar; Optional m_webdriver_content_ipc_path; @@ -46,7 +46,7 @@ @implementation ApplicationDelegate - (instancetype)init:(Optional)initial_url - withCookieJar:(Browser::CookieJar)cookie_jar + withCookieJar:(WebView::CookieJar)cookie_jar webdriverContentIPCPath:(StringView)webdriver_content_ipc_path { if (self = [super init]) { @@ -110,7 +110,7 @@ [self.managed_tabs removeObject:controller]; } -- (Browser::CookieJar&)cookieJar +- (WebView::CookieJar&)cookieJar { return *m_cookie_jar; } diff --git a/Ladybird/AppKit/UI/TabController.mm b/Ladybird/AppKit/UI/TabController.mm index b09a443402..7d0a05b4ae 100644 --- a/Ladybird/AppKit/UI/TabController.mm +++ b/Ladybird/AppKit/UI/TabController.mm @@ -4,7 +4,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include +#include #import #import @@ -34,7 +34,7 @@ enum class IsHistoryNavigation { { DeprecatedString m_title; - Browser::History m_history; + WebView::History m_history; IsHistoryNavigation m_is_history_navigation; } diff --git a/Ladybird/AppKit/main.mm b/Ladybird/AppKit/main.mm index c7792a39a6..7055d1b5e5 100644 --- a/Ladybird/AppKit/main.mm +++ b/Ladybird/AppKit/main.mm @@ -4,13 +4,13 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include -#include #include #include #include #include #include +#include +#include #import #import @@ -48,8 +48,8 @@ ErrorOr serenity_main(Main::Arguments arguments) auto sql_server_paths = TRY(get_paths_for_helper_process("SQLServer"sv)); auto sql_client = TRY(SQL::SQLClient::launch_server_and_create_client(move(sql_server_paths))); - auto database = TRY(Browser::Database::create(move(sql_client))); - auto cookie_jar = TRY(Browser::CookieJar::create(*database)); + auto database = TRY(WebView::Database::create(move(sql_client))); + auto cookie_jar = TRY(WebView::CookieJar::create(*database)); Optional initial_url; if (auto parsed_url = Ladybird::sanitize_url(url); parsed_url.is_valid()) { diff --git a/Ladybird/CMakeLists.txt b/Ladybird/CMakeLists.txt index 821eaa18c3..1320b75425 100644 --- a/Ladybird/CMakeLists.txt +++ b/Ladybird/CMakeLists.txt @@ -85,20 +85,10 @@ elseif (APPLE) find_library(COCOA_LIBRARY Cocoa) endif() -set(BROWSER_SOURCE_DIR ${SERENITY_SOURCE_DIR}/Userland/Applications/Browser/) - set(SOURCES - ${BROWSER_SOURCE_DIR}/CookieJar.cpp - ${BROWSER_SOURCE_DIR}/Database.cpp - ${BROWSER_SOURCE_DIR}/History.cpp HelperProcess.cpp Utilities.cpp ) -set(BROWSER_HEADERS - ${BROWSER_SOURCE_DIR}/CookieJar.h - ${BROWSER_SOURCE_DIR}/Database.h - ${BROWSER_SOURCE_DIR}/History.h -) set(LADYBIRD_HEADERS HelperProcess.h Types.h @@ -156,10 +146,6 @@ else() add_library(ladybird STATIC ${SOURCES}) endif() -target_sources(ladybird PUBLIC FILE_SET browser TYPE HEADERS - BASE_DIRS ${SERENITY_SOURCE_DIR}/Userland/Applications - FILES ${BROWSER_HEADERS} -) target_sources(ladybird PUBLIC FILE_SET ladybird TYPE HEADERS BASE_DIRS ${SERENITY_SOURCE_DIR} FILES ${LADYBIRD_HEADERS} diff --git a/Ladybird/Qt/BrowserWindow.cpp b/Ladybird/Qt/BrowserWindow.cpp index 8cbc857b50..31bf45b242 100644 --- a/Ladybird/Qt/BrowserWindow.cpp +++ b/Ladybird/Qt/BrowserWindow.cpp @@ -14,10 +14,10 @@ #include "StringUtils.h" #include "WebContentView.h" #include -#include #include #include #include +#include #include #include #include @@ -39,7 +39,7 @@ static QIcon const& app_icon() return icon; } -BrowserWindow::BrowserWindow(Optional const& initial_url, Browser::CookieJar& cookie_jar, StringView webdriver_content_ipc_path, WebView::EnableCallgrindProfiling enable_callgrind_profiling, UseLagomNetworking use_lagom_networking) +BrowserWindow::BrowserWindow(Optional const& initial_url, WebView::CookieJar& cookie_jar, StringView webdriver_content_ipc_path, WebView::EnableCallgrindProfiling enable_callgrind_profiling, UseLagomNetworking use_lagom_networking) : m_cookie_jar(cookie_jar) , m_webdriver_content_ipc_path(webdriver_content_ipc_path) , m_enable_callgrind_profiling(enable_callgrind_profiling) diff --git a/Ladybird/Qt/BrowserWindow.h b/Ladybird/Qt/BrowserWindow.h index cd0e43bcad..33eca72ca5 100644 --- a/Ladybird/Qt/BrowserWindow.h +++ b/Ladybird/Qt/BrowserWindow.h @@ -10,6 +10,7 @@ #include "Tab.h" #include #include +#include #include #include #include @@ -17,10 +18,6 @@ #include #include -namespace Browser { -class CookieJar; -} - namespace Ladybird { class WebContentView; @@ -28,7 +25,7 @@ class WebContentView; class BrowserWindow : public QMainWindow { Q_OBJECT public: - explicit BrowserWindow(Optional const& initial_url, Browser::CookieJar&, StringView webdriver_content_ipc_path, WebView::EnableCallgrindProfiling, UseLagomNetworking); + explicit BrowserWindow(Optional const& initial_url, WebView::CookieJar&, StringView webdriver_content_ipc_path, WebView::EnableCallgrindProfiling, UseLagomNetworking); WebContentView& view() const { return m_current_tab->view(); } @@ -119,7 +116,7 @@ private: OwnPtr m_view_source_action {}; OwnPtr m_inspect_dom_node_action {}; - Browser::CookieJar& m_cookie_jar; + WebView::CookieJar& m_cookie_jar; StringView m_webdriver_content_ipc_path; WebView::EnableCallgrindProfiling m_enable_callgrind_profiling; diff --git a/Ladybird/Qt/Tab.cpp b/Ladybird/Qt/Tab.cpp index 58f3d6f0b1..de56d13c10 100644 --- a/Ladybird/Qt/Tab.cpp +++ b/Ladybird/Qt/Tab.cpp @@ -11,7 +11,6 @@ #include "Settings.h" #include "StringUtils.h" #include "TVGIconEngine.h" -#include #include #include #include diff --git a/Ladybird/Qt/Tab.h b/Ladybird/Qt/Tab.h index 539791ac91..83d713d1d5 100644 --- a/Ladybird/Qt/Tab.h +++ b/Ladybird/Qt/Tab.h @@ -9,7 +9,7 @@ #include "LocationEdit.h" #include "WebContentView.h" -#include +#include #include #include #include @@ -82,7 +82,7 @@ private: LocationEdit* m_location_edit { nullptr }; WebContentView* m_view { nullptr }; BrowserWindow* m_window { nullptr }; - Browser::History m_history; + WebView::History m_history; QString m_title; QLabel* m_hover_label { nullptr }; diff --git a/Ladybird/Qt/main.cpp b/Ladybird/Qt/main.cpp index ddbc23927c..da28dcc070 100644 --- a/Ladybird/Qt/main.cpp +++ b/Ladybird/Qt/main.cpp @@ -9,8 +9,6 @@ #include "Settings.h" #include "WebContentView.h" #include -#include -#include #include #include #include @@ -21,6 +19,8 @@ #include #include #include +#include +#include #include namespace Ladybird { @@ -95,15 +95,15 @@ ErrorOr serenity_main(Main::Arguments arguments) return url; }; - RefPtr database; + RefPtr database; if (enable_sql_database) { auto sql_server_paths = TRY(get_paths_for_helper_process("SQLServer"sv)); auto sql_client = TRY(SQL::SQLClient::launch_server_and_create_client(move(sql_server_paths))); - database = TRY(Browser::Database::create(move(sql_client))); + database = TRY(WebView::Database::create(move(sql_client))); } - auto cookie_jar = database ? TRY(Browser::CookieJar::create(*database)) : Browser::CookieJar::create(); + auto cookie_jar = database ? TRY(WebView::CookieJar::create(*database)) : WebView::CookieJar::create(); Optional initial_url; if (auto url = TRY(get_formatted_url(raw_url)); url.is_valid()) diff --git a/Userland/Applications/Browser/BrowserWindow.cpp b/Userland/Applications/Browser/BrowserWindow.cpp index 4b5f18f1a7..9f14357b10 100644 --- a/Userland/Applications/Browser/BrowserWindow.cpp +++ b/Userland/Applications/Browser/BrowserWindow.cpp @@ -11,7 +11,6 @@ #include "BookmarksBarWidget.h" #include "Browser.h" #include "ConsoleWidget.h" -#include "CookieJar.h" #include "InspectorWidget.h" #include "Tab.h" #include @@ -35,6 +34,7 @@ #include #include #include +#include #include #include @@ -56,7 +56,7 @@ static DeprecatedString search_engines_file_path() return builder.to_deprecated_string(); } -BrowserWindow::BrowserWindow(CookieJar& cookie_jar, URL url) +BrowserWindow::BrowserWindow(WebView::CookieJar& cookie_jar, URL url) : m_cookie_jar(cookie_jar) , m_window_actions(*this) { diff --git a/Userland/Applications/Browser/BrowserWindow.h b/Userland/Applications/Browser/BrowserWindow.h index 795672cb31..dbf4e856f1 100644 --- a/Userland/Applications/Browser/BrowserWindow.h +++ b/Userland/Applications/Browser/BrowserWindow.h @@ -14,10 +14,10 @@ #include #include #include +#include namespace Browser { -class CookieJar; class Tab; class BrowserWindow final : public GUI::Window @@ -51,7 +51,7 @@ public: void broadcast_window_size(Gfx::IntSize); private: - BrowserWindow(CookieJar&, URL); + BrowserWindow(WebView::CookieJar&, URL); void build_menus(); ErrorOr load_search_engines(GUI::Menu& settings_menu); @@ -76,7 +76,7 @@ private: RefPtr m_zoom_menu; - CookieJar& m_cookie_jar; + WebView::CookieJar& m_cookie_jar; WindowActions m_window_actions; RefPtr m_tab_widget; RefPtr m_bookmarks_bar; diff --git a/Userland/Applications/Browser/CMakeLists.txt b/Userland/Applications/Browser/CMakeLists.txt index b9a7b0def7..1ca154e2d1 100644 --- a/Userland/Applications/Browser/CMakeLists.txt +++ b/Userland/Applications/Browser/CMakeLists.txt @@ -15,12 +15,9 @@ set(SOURCES BookmarksBarWidget.cpp BrowserWindow.cpp ConsoleWidget.cpp - CookieJar.cpp CookiesModel.cpp - Database.cpp DownloadWidget.cpp ElementSizePreviewWidget.cpp - History.cpp History/HistoryModel.cpp History/HistoryWidget.cpp IconBag.cpp @@ -41,5 +38,5 @@ set(GENERATED_SOURCES ) serenity_app(Browser ICON app-browser) -target_link_libraries(Browser PRIVATE LibCore LibFileSystem LibWebView LibWeb LibProtocol LibPublicSuffix LibGUI LibDesktop LibConfig LibGfx LibIPC LibJS LibLocale LibMain LibSyntax LibSQL) +target_link_libraries(Browser PRIVATE LibCore LibFileSystem LibWebView LibWeb LibProtocol LibPublicSuffix LibGUI LibDesktop LibConfig LibGfx LibIPC LibJS LibLocale LibMain LibSyntax) link_with_locale_data(Browser) diff --git a/Userland/Applications/Browser/Forward.h b/Userland/Applications/Browser/Forward.h deleted file mode 100644 index e882af1680..0000000000 --- a/Userland/Applications/Browser/Forward.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2023, Tim Flynn - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#pragma once - -#include - -namespace Browser { - -class CookieJar; -class Database; - -struct CookieStorageKey; - -} - -namespace AK { - -template<> -struct Traits; - -} diff --git a/Userland/Applications/Browser/History/HistoryModel.cpp b/Userland/Applications/Browser/History/HistoryModel.cpp index 94e5972b7f..7ee0216a78 100644 --- a/Userland/Applications/Browser/History/HistoryModel.cpp +++ b/Userland/Applications/Browser/History/HistoryModel.cpp @@ -9,7 +9,7 @@ namespace Browser { -void HistoryModel::set_items(AK::Vector items) +void HistoryModel::set_items(AK::Vector items) { begin_insert_rows({}, m_entries.size(), m_entries.size()); m_entries = items; diff --git a/Userland/Applications/Browser/History/HistoryModel.h b/Userland/Applications/Browser/History/HistoryModel.h index 1fc0ebf5dd..30e64c5250 100644 --- a/Userland/Applications/Browser/History/HistoryModel.h +++ b/Userland/Applications/Browser/History/HistoryModel.h @@ -7,9 +7,9 @@ #pragma once #include -#include #include #include +#include namespace Browser { @@ -21,7 +21,7 @@ public: __Count, }; - void set_items(AK::Vector items); + void set_items(AK::Vector items); void clear_items(); virtual int row_count(GUI::ModelIndex const&) const override; virtual int column_count(GUI::ModelIndex const& = GUI::ModelIndex()) const override { return Column::__Count; } @@ -31,7 +31,7 @@ public: virtual GUI::Model::MatchResult data_matches(GUI::ModelIndex const& index, GUI::Variant const& term) const override; private: - AK::Vector m_entries; + AK::Vector m_entries; }; } diff --git a/Userland/Applications/Browser/History/HistoryWidget.cpp b/Userland/Applications/Browser/History/HistoryWidget.cpp index 31490247b0..f3c594e4e0 100644 --- a/Userland/Applications/Browser/History/HistoryWidget.cpp +++ b/Userland/Applications/Browser/History/HistoryWidget.cpp @@ -31,7 +31,7 @@ HistoryWidget::HistoryWidget() m_table_view->set_alternating_row_colors(true); } -void HistoryWidget::set_history_entries(Vector entries) +void HistoryWidget::set_history_entries(Vector entries) { m_model->set_items(entries); } diff --git a/Userland/Applications/Browser/History/HistoryWidget.h b/Userland/Applications/Browser/History/HistoryWidget.h index c066b96ecc..4f5c71649e 100644 --- a/Userland/Applications/Browser/History/HistoryWidget.h +++ b/Userland/Applications/Browser/History/HistoryWidget.h @@ -6,11 +6,11 @@ #pragma once -#include "../History.h" #include "HistoryModel.h" #include #include #include +#include namespace Browser { @@ -20,7 +20,7 @@ class HistoryWidget final : public GUI::Widget { public: virtual ~HistoryWidget() override = default; - void set_history_entries(Vector entries); + void set_history_entries(Vector entries); void clear_history_entries(); private: diff --git a/Userland/Applications/Browser/Tab.h b/Userland/Applications/Browser/Tab.h index 1478695f8c..31d90706a5 100644 --- a/Userland/Applications/Browser/Tab.h +++ b/Userland/Applications/Browser/Tab.h @@ -7,7 +7,6 @@ #pragma once -#include "History.h" #include #include #include @@ -15,6 +14,7 @@ #include #include #include +#include #include namespace WebView { @@ -122,7 +122,7 @@ private: Optional url_from_location_bar(MayAppendTLD = MayAppendTLD::No); - History m_history; + WebView::History m_history; RefPtr m_web_content_view; diff --git a/Userland/Applications/Browser/main.cpp b/Userland/Applications/Browser/main.cpp index bf65949d15..ad02e7864d 100644 --- a/Userland/Applications/Browser/main.cpp +++ b/Userland/Applications/Browser/main.cpp @@ -8,8 +8,6 @@ #include #include -#include -#include #include #include #include @@ -26,6 +24,8 @@ #include #include #include +#include +#include #include #include #include @@ -140,7 +140,7 @@ ErrorOr serenity_main(Main::Arguments arguments) Browser::g_icon_bag = TRY(Browser::IconBag::try_create()); - auto database = TRY(Browser::Database::create()); + auto database = TRY(WebView::Database::create()); TRY(load_content_filters()); TRY(load_autoplay_allowlist()); @@ -169,7 +169,7 @@ ErrorOr serenity_main(Main::Arguments arguments) if (!specified_urls.is_empty()) first_url = TRY(url_from_argument_string(specified_urls.first())); - auto cookie_jar = TRY(Browser::CookieJar::create(*database)); + auto cookie_jar = TRY(WebView::CookieJar::create(*database)); auto window = Browser::BrowserWindow::construct(cookie_jar, first_url); auto content_filters_watcher = TRY(Core::FileWatcher::create()); diff --git a/Userland/Libraries/LibWebView/CMakeLists.txt b/Userland/Libraries/LibWebView/CMakeLists.txt index 84318b387a..fb244250b4 100644 --- a/Userland/Libraries/LibWebView/CMakeLists.txt +++ b/Userland/Libraries/LibWebView/CMakeLists.txt @@ -2,7 +2,10 @@ set(SOURCES AccessibilityTreeModel.cpp AriaPropertiesStateModel.cpp ConsoleClient.cpp + CookieJar.cpp + Database.cpp DOMTreeModel.cpp + History.cpp RequestServerAdapter.cpp SourceHighlighter.cpp StylePropertiesModel.cpp @@ -36,7 +39,7 @@ set(GENERATED_SOURCES ) serenity_lib(LibWebView webview) -target_link_libraries(LibWebView PRIVATE LibCore LibGfx LibGUI LibIPC LibProtocol LibJS LibWeb) +target_link_libraries(LibWebView PRIVATE LibCore LibGfx LibGUI LibIPC LibProtocol LibJS LibWeb LibSQL) if (SERENITYOS) target_link_libraries(LibWebView PRIVATE LibFileSystemAccessClient) diff --git a/Userland/Applications/Browser/CookieJar.cpp b/Userland/Libraries/LibWebView/CookieJar.cpp similarity index 99% rename from Userland/Applications/Browser/CookieJar.cpp rename to Userland/Libraries/LibWebView/CookieJar.cpp index 3644789f91..bec1e5b8ca 100644 --- a/Userland/Applications/Browser/CookieJar.cpp +++ b/Userland/Libraries/LibWebView/CookieJar.cpp @@ -7,8 +7,6 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include "CookieJar.h" -#include "Database.h" #include #include #include @@ -19,8 +17,10 @@ #include #include #include +#include +#include -namespace Browser { +namespace WebView { ErrorOr CookieJar::create(Database& database) { diff --git a/Userland/Applications/Browser/CookieJar.h b/Userland/Libraries/LibWebView/CookieJar.h similarity index 94% rename from Userland/Applications/Browser/CookieJar.h rename to Userland/Libraries/LibWebView/CookieJar.h index ab5d6b8603..427901d94e 100644 --- a/Userland/Applications/Browser/CookieJar.h +++ b/Userland/Libraries/LibWebView/CookieJar.h @@ -6,7 +6,6 @@ #pragma once -#include "Forward.h" #include #include #include @@ -16,10 +15,9 @@ #include #include #include +#include -namespace Browser { - -class Database; +namespace WebView { struct CookieStorageKey { bool operator==(CookieStorageKey const&) const = default; @@ -93,8 +91,8 @@ private: } template<> -struct AK::Traits : public AK::GenericTraits { - static unsigned hash(Browser::CookieStorageKey const& key) +struct AK::Traits : public AK::GenericTraits { + static unsigned hash(WebView::CookieStorageKey const& key) { unsigned hash = 0; hash = pair_int_hash(hash, string_hash(key.name.characters(), key.name.length())); diff --git a/Userland/Applications/Browser/Database.cpp b/Userland/Libraries/LibWebView/Database.cpp similarity index 96% rename from Userland/Applications/Browser/Database.cpp rename to Userland/Libraries/LibWebView/Database.cpp index 532eafb183..6c5c2c8832 100644 --- a/Userland/Applications/Browser/Database.cpp +++ b/Userland/Libraries/LibWebView/Database.cpp @@ -1,13 +1,13 @@ /* - * Copyright (c) 2022, Tim Flynn + * Copyright (c) 2022-2023, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ -#include "Database.h" #include +#include -namespace Browser { +namespace WebView { static constexpr auto database_name = "Browser"sv; diff --git a/Userland/Applications/Browser/Database.h b/Userland/Libraries/LibWebView/Database.h similarity index 97% rename from Userland/Applications/Browser/Database.h rename to Userland/Libraries/LibWebView/Database.h index ee684e03b8..20166b3f56 100644 --- a/Userland/Applications/Browser/Database.h +++ b/Userland/Libraries/LibWebView/Database.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Tim Flynn + * Copyright (c) 2022-2023, Tim Flynn * Copyright (c) 2023, Jelle Raaijmakers * * SPDX-License-Identifier: BSD-2-Clause @@ -20,7 +20,7 @@ #include #include -namespace Browser { +namespace WebView { class Database : public RefCounted { using OnResult = Function)>; diff --git a/Userland/Libraries/LibWebView/Forward.h b/Userland/Libraries/LibWebView/Forward.h index 3d71fcc1c4..44e88632c8 100644 --- a/Userland/Libraries/LibWebView/Forward.h +++ b/Userland/Libraries/LibWebView/Forward.h @@ -6,11 +6,25 @@ #pragma once +#include + namespace WebView { class ConsoleClient; +class CookieJar; +class Database; +class History; class OutOfProcessWebView; class ViewImplementation; class WebContentClient; +struct CookieStorageKey; + +} + +namespace AK { + +template<> +struct Traits; + } diff --git a/Userland/Applications/Browser/History.cpp b/Userland/Libraries/LibWebView/History.cpp similarity index 97% rename from Userland/Applications/Browser/History.cpp rename to Userland/Libraries/LibWebView/History.cpp index 52d189fd61..04cb4f7598 100644 --- a/Userland/Applications/Browser/History.cpp +++ b/Userland/Libraries/LibWebView/History.cpp @@ -4,9 +4,9 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include "History.h" +#include -namespace Browser { +namespace WebView { void History::dump() const { diff --git a/Userland/Applications/Browser/History.h b/Userland/Libraries/LibWebView/History.h similarity index 98% rename from Userland/Applications/Browser/History.h rename to Userland/Libraries/LibWebView/History.h index 91d3ea26a8..c659906521 100644 --- a/Userland/Applications/Browser/History.h +++ b/Userland/Libraries/LibWebView/History.h @@ -9,7 +9,7 @@ #include #include -namespace Browser { +namespace WebView { class History { public: