summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@digia.com>2014-03-24 18:49:30 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-28 13:33:11 +0100
commit9be81c588afc913f5214d78608fecafeef8bc160 (patch)
tree19b06bff7e5016845ad30babc32ae5cc9f3834e6 /src
parent9a1a09bf82ea98a2b69b351120619c787ce990a8 (diff)
Get rid of GTK dependencies
Build with aura by default and remove GTK related code. This patch introduces a mechanism for setting gyp build configuration variables using a GYP_CONFIG and adds a desktop_linux.pri configuration for this target. Change-Id: I6b044ba52ebb20c187572669af94a6fc280b0412 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'src')
m---------src/3rdparty0
-rw-r--r--src/core/chromium_overrides.cpp84
-rw-r--r--src/core/clipboard_qt.cpp14
-rw-r--r--src/core/config/desktop_linux.pri16
-rw-r--r--src/core/gyp_run.pro14
-rw-r--r--src/core/qtwebengine.gypi8
-rw-r--r--src/core/qtwebengine_extras.gypi12
-rw-r--r--src/core/render_widget_host_view_qt.cpp14
-rw-r--r--src/core/render_widget_host_view_qt.h4
-rw-r--r--src/core/resources/repack_resources.gypi7
10 files changed, 130 insertions, 43 deletions
diff --git a/src/3rdparty b/src/3rdparty
-Subproject 6eb5ee5b462ab3962f16c0b250551d0a9e88d23
+Subproject d12a5818c08a6e4ca207a0bb1688cb4d82c2046
diff --git a/src/core/chromium_overrides.cpp b/src/core/chromium_overrides.cpp
index b0f8702d0..2b1b1632e 100644
--- a/src/core/chromium_overrides.cpp
+++ b/src/core/chromium_overrides.cpp
@@ -41,8 +41,13 @@
#include "chromium_overrides.h"
+#include "qtwebenginecoreglobal.h"
+#include "base/values.h"
#include "content/browser/renderer_host/render_widget_host_view_base.h"
+#include "content/browser/renderer_host/pepper/pepper_truetype_font_list.h"
+#include "content/common/font_list.h"
+
#include <QGuiApplication>
#include <QScreen>
#include <QWindow>
@@ -53,10 +58,17 @@
#endif
#if defined(USE_X11)
-#include "base/message_loop/message_pump_gtk.h"
+#include "base/message_loop/message_pump_x11.h"
#include <X11/Xlib.h>
#endif
+#if defined(USE_AURA) && !defined(USE_OZONE)
+#include "ui/base/dragdrop/os_exchange_data.h"
+#include "ui/base/dragdrop/os_exchange_data_provider_aura.h"
+#include "ui/gfx/render_text.h"
+#include "ui/gfx/platform_font.h"
+#endif
+
void GetScreenInfoFromNativeWindow(QWindow* window, blink::WebScreenInfo* results)
{
QScreen* screen = window->screen();
@@ -77,7 +89,7 @@ void GetScreenInfoFromNativeWindow(QWindow* window, blink::WebScreenInfo* result
namespace base {
#if defined(USE_X11)
-Display* MessagePumpGtk::GetDefaultXDisplay() {
+Display* MessagePumpForUI::GetDefaultXDisplay() {
static void *display = qApp->platformNativeInterface()->nativeResourceForScreen(QByteArrayLiteral("display"), qApp->primaryScreen());
if (!display) {
// XLib isn't available or has not been initialized, which is a decision we wish to
@@ -118,6 +130,74 @@ void RenderWidgetHostViewPort::GetDefaultScreenInfo(blink::WebScreenInfo* result
}
+#if defined(USE_AURA) && !defined(USE_OZONE)
+namespace content {
+
+// content/common/font_list.h
+scoped_ptr<base::ListValue> GetFontList_SlowBlocking()
+{
+ QT_NOT_USED
+ return scoped_ptr<base::ListValue>(new base::ListValue);
+}
+
+#if defined(ENABLE_PLUGINS)
+// content/browser/renderer_host/pepper/pepper_truetype_font_list.h
+void GetFontFamilies_SlowBlocking(std::vector<std::string> *)
+{
+ QT_NOT_USED
+}
+
+void GetFontsInFamily_SlowBlocking(const std::string &, std::vector<ppapi::proxy::SerializedTrueTypeFontDesc> *)
+{
+ QT_NOT_USED
+}
+#endif //defined(ENABLE_PLUGINS)
+
+} // namespace content
+
+namespace ui {
+
+OSExchangeData::Provider* OSExchangeData::CreateProvider()
+{
+ QT_NOT_USED
+ return 0;
+}
+
+}
+
+namespace gfx {
+
+// Stubs for these unused functions that are stripped in case
+// of a release aura build but a debug build needs the symbols.
+
+RenderText* RenderText::CreateInstance()
+{
+ QT_NOT_USED;
+ return 0;
+}
+
+PlatformFont* PlatformFont::CreateDefault()
+{
+ QT_NOT_USED;
+ return 0;
+}
+
+PlatformFont* PlatformFont::CreateFromNativeFont(NativeFont)
+{
+ QT_NOT_USED;
+ return 0;
+}
+
+PlatformFont* PlatformFont::CreateFromNameAndSize(const std::string&, int)
+{
+ QT_NOT_USED;
+ return 0;
+}
+
+} // namespace gfx
+
+#endif // defined(USE_AURA) && !defined(USE_OZONE)
+
#if defined(OS_ANDROID)
namespace ui {
bool GrabViewSnapshot(gfx::NativeView /*view*/, std::vector<unsigned char>* /*png_representation*/, const gfx::Rect& /*snapshot_bounds*/)
diff --git a/src/core/clipboard_qt.cpp b/src/core/clipboard_qt.cpp
index 701ccacb1..ef2e28603 100644
--- a/src/core/clipboard_qt.cpp
+++ b/src/core/clipboard_qt.cpp
@@ -356,18 +356,10 @@ const Clipboard::FormatType& Clipboard::GetPepperCustomDataFormatType()
return type;
}
-#if defined(TOOLKIT_GTK)
-void Clipboard::SetGtkClipboard(ClipboardType type)
+#if defined(OS_WIN) || defined(USE_AURA)
+bool Clipboard::FormatType::operator<(const FormatType& other) const
{
-}
-
-void Clipboard::InsertMapping(const char* key, char* data, size_t data_len)
-{
-}
-
-GtkClipboard* Clipboard::LookupBackingClipboard(ClipboardType type) const
-{
- return NULL;
+ return data_.compare(other.data_) < 0;
}
#endif
diff --git a/src/core/config/desktop_linux.pri b/src/core/config/desktop_linux.pri
new file mode 100644
index 000000000..47fb4de77
--- /dev/null
+++ b/src/core/config/desktop_linux.pri
@@ -0,0 +1,16 @@
+GYP_CONFIG += \
+ desktop_linux=1 \
+ toolkit_uses_gtk=0 \
+ use_alsa=0 \
+ use_aura=1 \
+ use_ash=0 \
+ use_cairo=0 \
+ use_clipboard_aurax11=0 \
+ use_cups=0 \
+ use_gconf=0 \
+ use_gio=0 \
+ use_gnome_keyring=0 \
+ use_kerberos=0 \
+ use_pango=0 \
+ use_pulseaudio=0 \
+
diff --git a/src/core/gyp_run.pro b/src/core/gyp_run.pro
index 82f18331b..0962c7cfe 100644
--- a/src/core/gyp_run.pro
+++ b/src/core/gyp_run.pro
@@ -4,6 +4,18 @@
TEMPLATE = aux
+cross_compile {
+ GYP_ARGS = "-D qt_cross_compile=1"
+ posix: GYP_ARGS += "-D os_posix=1"
+} else {
+ # !cross_compile
+ GYP_ARGS = "-D qt_cross_compile=0"
+ linux: include(config/desktop_linux.pri)
+}
+
+# Append additional platform options defined in GYP_CONFIG
+for (config, GYP_CONFIG): GYP_ARGS += "-D $$config"
+
# Copy this logic from qt_module.prf so that ninja can run according
# to the same rules as the final module linking in core_module.pro.
!host_build:if(win32|mac):!macx-xcode {
@@ -11,9 +23,7 @@ TEMPLATE = aux
contains(QT_CONFIG, build_all):CONFIG += build_all
}
-GYP_ARGS = "-D qt_cross_compile=0"
cross_compile {
- GYP_ARGS = "-D qt_cross_compile=1 -D os_posix=1"
TOOLCHAIN_SYSROOT = $$[QT_SYSROOT]
android {
diff --git a/src/core/qtwebengine.gypi b/src/core/qtwebengine.gypi
index ec8c97c8e..f3c0112c5 100644
--- a/src/core/qtwebengine.gypi
+++ b/src/core/qtwebengine.gypi
@@ -100,13 +100,5 @@
'<(chromium_src_dir)/build/linux/system.gyp:fontconfig',
],
}],
- ['use_aura==1', {
- 'dependencies': [
- '<(chromium_src_dir)/ui/aura/aura.gyp:aura',
- '<(chromium_src_dir)/ui/base/strings/ui_strings.gyp:ui_strings',
- '<(chromium_src_dir)/ui/views/views.gyp:views',
- '<(chromium_src_dir)/ui/ui.gyp:ui',
- ],
- }], # use_aura==1
],
}
diff --git a/src/core/qtwebengine_extras.gypi b/src/core/qtwebengine_extras.gypi
index 5d75f9929..8846814b7 100644
--- a/src/core/qtwebengine_extras.gypi
+++ b/src/core/qtwebengine_extras.gypi
@@ -6,21 +6,33 @@
'target_defaults': {
# patterns used to exclude chromium files from the build when we have a drop-in replacement
'sources/': [
+ ['exclude', 'base/clipboard/clipboard_android.cc$'],
+ ['exclude', 'base/clipboard/clipboard_aura.cc$'],
+ ['exclude', 'base/clipboard/clipboard_aurax11.cc$'],
['exclude', 'base/clipboard/clipboard_gtk.cc$'],
['exclude', 'base/clipboard/clipboard_mac.mm$'],
['exclude', 'base/clipboard/clipboard_win.cc$'],
['exclude', 'base/clipboard/clipboard_util_win\\.(cc|h)$'],
+ ['exclude', 'base/dragdrop/os_exchange_data_provider_aurax11\\.(cc|h)$'],
['exclude', 'base/dragdrop/os_exchange_data_provider_win\\.(cc|h)$'],
+ ['exclude', 'base/resource/resource_bundle_android.cc$'],
+ ['exclude', 'base/resource/resource_bundle_auralinux.cc$'],
['exclude', 'base/resource/resource_bundle_gtk.cc$'],
['exclude', 'base/resource/resource_bundle_mac.mm$'],
['exclude', 'base/resource/resource_bundle_win.cc$'],
+ ['exclude', 'browser/web_contents/web_contents_view_android\\.(cc|h)$'],
+ ['exclude', 'browser/web_contents/web_contents_view_aura\\.(cc|h)$'],
['exclude', 'browser/web_contents/web_contents_view_gtk\\.(cc|h)$'],
['exclude', 'browser/web_contents/web_contents_view_mac\\.(mm|h)$'],
['exclude', 'browser/web_contents/web_contents_view_win\\.(cc|h)$'],
['exclude', 'browser/renderer_host/gtk_im_context_wrapper\\.cc$'],
+ ['exclude', 'browser/renderer_host/pepper/pepper_truetype_font_list_pango\\.cc$'],
+ ['exclude', 'browser/renderer_host/render_widget_host_view_android\\.(cc|h)$'],
+ ['exclude', 'browser/renderer_host/render_widget_host_view_aura\\.(cc|h)$'],
['exclude', 'browser/renderer_host/render_widget_host_view_gtk\\.(cc|h)$'],
['exclude', 'browser/renderer_host/render_widget_host_view_mac\\.(mm|h)$'],
['exclude', 'browser/renderer_host/render_widget_host_view_win\\.(cc|h)$'],
+ ['exclude', 'common/font_list_pango\\.cc$'],
# QNX-specific excludes
['exclude', 'base/resource/resource_bundle_qnx.cc$'],
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index d179fbe70..a2ed37b36 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -342,20 +342,6 @@ void RenderWidgetHostViewQt::UnlockMouse()
QT_NOT_USED
}
-// FIXME: remove TOOLKIT_GTK related things.
-#if defined(TOOLKIT_GTK)
-// Gets the event for the last mouse down.
-GdkEventButton* RenderWidgetHostViewQt::GetLastMouseDown()
-{
- return 0;
-}
-
-gfx::NativeView RenderWidgetHostViewQt::BuildInputMethodsGtkMenu()
-{
- return 0;
-}
-#endif // defined(TOOLKIT_GTK)
-
void RenderWidgetHostViewQt::WasShown()
{
m_host->WasShown();
diff --git a/src/core/render_widget_host_view_qt.h b/src/core/render_widget_host_view_qt.h
index ef8b45755..e55d946e0 100644
--- a/src/core/render_widget_host_view_qt.h
+++ b/src/core/render_widget_host_view_qt.h
@@ -124,10 +124,6 @@ public:
virtual void SetBackground(const SkBitmap& background) Q_DECL_OVERRIDE;
virtual bool LockMouse() Q_DECL_OVERRIDE;
virtual void UnlockMouse() Q_DECL_OVERRIDE;
-#if defined(TOOLKIT_GTK)
- virtual GdkEventButton* GetLastMouseDown() Q_DECL_OVERRIDE;
- virtual gfx::NativeView BuildInputMethodsGtkMenu() Q_DECL_OVERRIDE;
-#endif // defined(TOOLKIT_GTK)
virtual void WasShown() Q_DECL_OVERRIDE;
virtual void WasHidden() Q_DECL_OVERRIDE;
virtual void MovePluginWindows(const gfx::Vector2d&, const std::vector<content::WebPluginGeometry>&) Q_DECL_OVERRIDE;
diff --git a/src/core/resources/repack_resources.gypi b/src/core/resources/repack_resources.gypi
index 49bd52b8e..5a955cccc 100644
--- a/src/core/resources/repack_resources.gypi
+++ b/src/core/resources/repack_resources.gypi
@@ -8,8 +8,11 @@
'pak_inputs': [
'<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
'<(SHARED_INTERMEDIATE_DIR)/webkit/devtools_resources.pak',
-# FIXME: we'll probably want those as well
-# '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/webui_resources.pak',
+ '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak',
+ '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_100_percent.pak',
+ '<(SHARED_INTERMEDIATE_DIR)/webkit/blink_resources.pak',
+ '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources_100_percent.pak',
+ '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/webui_resources.pak',
],
},
'inputs': [