diff --git a/src/core/chromium_overrides.cpp b/src/core/chromium_overrides.cpp
index f3b7d3897a7ef7a506cc72ca294fc812be1de023..a497ddc463b49dcfd8111f65bb46275c78c34a43 100644
--- a/src/core/chromium_overrides.cpp
+++ b/src/core/chromium_overrides.cpp
@@ -46,6 +46,7 @@
 #include "base/values.h"
 #include "content/browser/renderer_host/pepper/pepper_truetype_font_list.h"
 #include "content/browser/renderer_host/render_widget_host_view_base.h"
+#include "content/browser/web_contents/web_contents_impl.h"
 #include "content/common/font_list.h"
 #include "ui/base/dragdrop/os_exchange_data.h"
 #include "ui/base/dragdrop/os_exchange_data_provider_factory.h"
diff --git a/src/core/javascript_dialog_manager_qt.cpp b/src/core/javascript_dialog_manager_qt.cpp
index 7f43f90208411a740ccb80669448430d7cc3357e..289947237164ca4cc9776b86582c1e1bdc528338 100644
--- a/src/core/javascript_dialog_manager_qt.cpp
+++ b/src/core/javascript_dialog_manager_qt.cpp
@@ -44,7 +44,9 @@
 #include "web_contents_view_qt.h"
 #include "type_conversion.h"
 
+
 #include "base/memory/singleton.h"
+#include "content/browser/web_contents/web_contents_impl.h"
 
 namespace QtWebEngineCore {
 
diff --git a/src/core/login_delegate_qt.cpp b/src/core/login_delegate_qt.cpp
index 6dd2aa5ed785017dfd60579f97c382ffbafa9154..2dbc27cf211bb9344f92a66d1baedb3697fa930c 100644
--- a/src/core/login_delegate_qt.cpp
+++ b/src/core/login_delegate_qt.cpp
@@ -43,6 +43,7 @@
 
 #include "login_delegate_qt.h"
 
+#include "content/browser/web_contents/web_contents_impl.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/render_view_host.h"
 #include "content/public/browser/resource_dispatcher_host.h"
diff --git a/src/core/media_capture_devices_dispatcher.cpp b/src/core/media_capture_devices_dispatcher.cpp
index 59c3544a713e00f6fb3748622a6b36be3521b2a8..2bac620848bb4b1ece882c06d4cf897f85c3a94a 100644
--- a/src/core/media_capture_devices_dispatcher.cpp
+++ b/src/core/media_capture_devices_dispatcher.cpp
@@ -50,13 +50,14 @@
 
 #include "base/strings/utf_string_conversions.h"
 #include "chrome/browser/media/webrtc/desktop_streams_registry.h"
+#include "content/browser/web_contents/web_contents_impl.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/desktop_media_id.h"
 #include "content/public/browser/media_capture_devices.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/notification_source.h"
 #include "content/public/browser/notification_types.h"
-#include "content/public/browser/web_contents.h"
+#include "content/public/browser/render_process_host.h"
 #include "content/public/common/origin_util.h"
 #include "content/public/common/media_stream_request.h"
 #include "media/audio/audio_device_description.h"
diff --git a/src/core/net/network_delegate_qt.cpp b/src/core/net/network_delegate_qt.cpp
index ccc8cc0e5e29f59c44116c1d6d5724b411fb8e7a..551302291f73274f016253c6af1f95d9bae4ca86 100644
--- a/src/core/net/network_delegate_qt.cpp
+++ b/src/core/net/network_delegate_qt.cpp
@@ -40,6 +40,7 @@
 #include "network_delegate_qt.h"
 
 #include "profile_adapter.h"
+#include "content/browser/web_contents/web_contents_impl.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/render_view_host.h"
 #include "content/public/browser/resource_request_info.h"
diff --git a/src/core/permission_manager_qt.cpp b/src/core/permission_manager_qt.cpp
index 996a83d12d197d304ebd831b328dd369a8aaca69..2fa42bf10559247eb8851d0b06d1827b3a5f49db 100644
--- a/src/core/permission_manager_qt.cpp
+++ b/src/core/permission_manager_qt.cpp
@@ -40,11 +40,11 @@
 #include "permission_manager_qt.h"
 
 #include "content/browser/renderer_host/render_view_host_delegate.h"
+#include "content/browser/web_contents/web_contents_impl.h"
 #include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/render_view_host.h"
-#include "content/public/browser/web_contents.h"
 
 #include "type_conversion.h"
 #include "web_contents_delegate_qt.h"
diff --git a/src/core/printing/print_view_manager_qt.cpp b/src/core/printing/print_view_manager_qt.cpp
index 6813d54eeb52a10b5f8176a7e57b31ddfb81d779..ff9fc76bed06d6cd4bac567383fde0c0abe49361 100644
--- a/src/core/printing/print_view_manager_qt.cpp
+++ b/src/core/printing/print_view_manager_qt.cpp
@@ -44,8 +44,9 @@
 #include "print_view_manager_qt.h"
 
 #include "type_conversion.h"
-#include "web_engine_context.h"
+#include "web_contents_adapter_client.h"
 #include "web_contents_view_qt.h"
+#include "web_engine_context.h"
 
 #include <QtGui/qpagelayout.h>
 #include <QtGui/qpagesize.h>
@@ -57,6 +58,7 @@
 #include "chrome/browser/printing/printer_query.h"
 #include "components/printing/common/print_messages.h"
 #include "content/browser/renderer_host/render_view_host_impl.h"
+#include "content/browser/web_contents/web_contents_impl.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/common/web_preferences.h"
diff --git a/src/core/quota_permission_context_qt.cpp b/src/core/quota_permission_context_qt.cpp
index f00b2008a0a30e56c6bfe4767207a7f29ce9e66b..cb14673642e06326239c3d747828709ddfb084b2 100644
--- a/src/core/quota_permission_context_qt.cpp
+++ b/src/core/quota_permission_context_qt.cpp
@@ -39,9 +39,9 @@
 
 #include "quota_permission_context_qt.h"
 
+#include "content/browser/web_contents/web_contents_impl.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/render_frame_host.h"
-#include "content/public/browser/web_contents.h"
 #include "quota_request_controller_impl.h"
 #include "qwebenginequotarequest.h"
 #include "web_contents_delegate_qt.h"
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp
index cac5bd09ed625a53728140274dee9134e1302f8f..762d9f53a4c8dd1dd38ad29da40ab08f7180ae8a 100644
--- a/src/core/web_contents_adapter.cpp
+++ b/src/core/web_contents_adapter.cpp
@@ -55,6 +55,7 @@
 #include "profile_qt.h"
 #include "qwebenginecallback_p.h"
 #include "render_view_observer_host_qt.h"
+#include "render_widget_host_view_qt.h"
 #include "type_conversion.h"
 #include "web_contents_view_qt.h"
 #include "web_engine_context.h"
diff --git a/src/core/web_contents_view_qt.cpp b/src/core/web_contents_view_qt.cpp
index f1d795ed7d69f364834df34561be31e00aad58bb..7910688d3158d8ff4983177dd86804ba24de6cc8 100644
--- a/src/core/web_contents_view_qt.cpp
+++ b/src/core/web_contents_view_qt.cpp
@@ -42,12 +42,15 @@
 #include "profile_adapter.h"
 #include "content_browser_client_qt.h"
 #include "render_widget_host_view_qt_delegate.h"
+#include "render_widget_host_view_qt.h"
 #include "type_conversion.h"
 #include "web_contents_adapter.h"
 #include "web_engine_context.h"
 
 #include "components/spellcheck/spellcheck_buildflags.h"
 #include "content/browser/renderer_host/render_view_host_impl.h"
+#include "content/browser/renderer_host/render_widget_host_impl.h"
+#include "content/browser/web_contents/web_contents_impl.h"
 #include "content/public/common/context_menu_params.h"
 #include <ui/gfx/image/image_skia.h>
 
diff --git a/src/core/web_contents_view_qt.h b/src/core/web_contents_view_qt.h
index 2dd94eabbde8e1194082025901843bea9b807d30..d1a2ff81e6bb3516feb71e68fcc2bdab74907732 100644
--- a/src/core/web_contents_view_qt.h
+++ b/src/core/web_contents_view_qt.h
@@ -41,16 +41,16 @@
 #define WEB_CONTENTS_VIEW_QT_H
 
 #include "content/browser/renderer_host/render_view_host_delegate_view.h"
-#include "content/browser/web_contents/web_contents_impl.h"
 #include "content/browser/web_contents/web_contents_view.h"
-#include "content/public/browser/render_view_host.h"
-#include "content/public/browser/render_widget_host.h"
-#include "render_widget_host_view_qt.h"
-#include "web_contents_adapter_client.h"
-#include "web_contents_delegate_qt.h"
-#include "web_engine_context.h"
+
+#include "api/qtwebenginecoreglobal_p.h"
+
+namespace content {
+class WebContents;
+}
 
 namespace QtWebEngineCore {
+class WebContentsAdapterClient;
 
 class WebContentsViewQt
     : public content::WebContentsView
@@ -61,8 +61,8 @@ public:
 
     WebContentsViewQt(content::WebContents* webContents)
         : m_webContents(webContents)
-        , m_client(0)
-        , m_factoryClient(0)
+        , m_client(nullptr)
+        , m_factoryClient(nullptr)
         , m_allowOtherViews(false)
     { }
 
@@ -103,7 +103,7 @@ public:
 
     void RestoreFocus() override { QT_NOT_USED }
 
-    content::DropData* GetDropData() const override { QT_NOT_YET_IMPLEMENTED return 0; }
+    content::DropData* GetDropData() const override { QT_NOT_YET_IMPLEMENTED return nullptr; }
 
     gfx::Rect GetViewBounds() const override { QT_NOT_YET_IMPLEMENTED return gfx::Rect(); }