diff --git a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp
index c5654c3530..2f0d16168d 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp
+++ b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp
@@ -81,6 +81,10 @@ RefPtr HTMLInputElement::create_layout_node()
if (type() == "checkbox")
return adopt(*new Layout::CheckBox(document(), *this, move(style)));
+ // FIXME: Implement in terms of LibWeb primitives.
+ if (page.client().is_multi_process())
+ return nullptr;
+
auto& text_box = page_view.add();
text_box.set_text(value());
text_box.on_change = [this] {
diff --git a/Userland/Libraries/LibWeb/InProcessWebView.h b/Userland/Libraries/LibWeb/InProcessWebView.h
index 084c3a01c4..cad88401cd 100644
--- a/Userland/Libraries/LibWeb/InProcessWebView.h
+++ b/Userland/Libraries/LibWeb/InProcessWebView.h
@@ -85,6 +85,7 @@ private:
// ^Web::PageClient
virtual Gfx::Palette palette() const override { return GUI::ScrollableWidget::palette(); }
+ virtual bool is_multi_process() const override { return false; }
virtual void page_did_change_title(const String&) override;
virtual void page_did_set_document_in_main_frame(DOM::Document*) override;
virtual void page_did_start_loading(const URL&) override;
diff --git a/Userland/Libraries/LibWeb/Page/Page.h b/Userland/Libraries/LibWeb/Page/Page.h
index 5d7325d283..375bc3c75f 100644
--- a/Userland/Libraries/LibWeb/Page/Page.h
+++ b/Userland/Libraries/LibWeb/Page/Page.h
@@ -81,6 +81,7 @@ private:
class PageClient {
public:
+ virtual bool is_multi_process() const = 0;
virtual Gfx::Palette palette() const = 0;
virtual void page_did_set_document_in_main_frame(DOM::Document*) { }
virtual void page_did_change_title(const String&) { }
diff --git a/Userland/Services/WebContent/PageHost.h b/Userland/Services/WebContent/PageHost.h
index 0ee9e393d9..6983421840 100644
--- a/Userland/Services/WebContent/PageHost.h
+++ b/Userland/Services/WebContent/PageHost.h
@@ -50,6 +50,7 @@ public:
private:
// ^PageClient
+ virtual bool is_multi_process() const override { return true; }
virtual Gfx::Palette palette() const override;
virtual void page_did_invalidate(const Gfx::IntRect&) override;
virtual void page_did_change_selection() override;