summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/config/desktop_linux.pri1
-rw-r--r--src/core/config/embedded_linux.pri6
-rw-r--r--src/core/config/linux.pri21
-rw-r--r--src/core/core_module.pro2
-rw-r--r--src/core/gn_run.pro6
-rw-r--r--src/core/qtwebengine_sources.gni41
-rw-r--r--src/core/render_widget_host_view_qt.cpp8
-rw-r--r--src/core/web_engine_visited_links_manager.cpp18
8 files changed, 52 insertions, 51 deletions
diff --git a/src/core/config/desktop_linux.pri b/src/core/config/desktop_linux.pri
index 10938a9f2..e6b11d290 100644
--- a/src/core/config/desktop_linux.pri
+++ b/src/core/config/desktop_linux.pri
@@ -2,7 +2,6 @@ include(linux.pri)
use?(gn) {
gn_args += \
- is_clang=false \
use_sysroot=false \
enable_session_service=false \
enable_notifications=false \
diff --git a/src/core/config/embedded_linux.pri b/src/core/config/embedded_linux.pri
index 89c9672e9..51d7e2671 100644
--- a/src/core/config/embedded_linux.pri
+++ b/src/core/config/embedded_linux.pri
@@ -7,7 +7,6 @@ use?(gn) {
is_desktop_linux=false \
use_gold=false \
use_ozone=true \
- is_clang=false \
use_sysroot=false \
enable_session_service=false \
enable_notifications=false \
@@ -18,11 +17,6 @@ use?(gn) {
use?(icecc) {
gn_args += use_debug_fission=false
}
-
- cross_compile:!host_build {
- TOOLCHAIN_SYSROOT = $$[QT_SYSROOT]
- !isEmpty(TOOLCHAIN_SYSROOT): gn_args += target_sysroot=\"$${TOOLCHAIN_SYSROOT}\"
- }
}
GYP_CONFIG += \
diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
index 7b8af34b0..9d43113d1 100644
--- a/src/core/config/linux.pri
+++ b/src/core/config/linux.pri
@@ -22,6 +22,24 @@ use?(gn) {
}
gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): gn_args += no_delete_null_pointer_checks=true
+ clang {
+ clang_full_path = $$which($${QMAKE_CXX})
+ # Remove the "/bin/clang++" part.
+ clang_prefix = $$section(clang_full_path, /, 0, -3)
+ gn_args += \
+ is_clang=true \
+ clang_use_chrome_plugins=false \
+ clang_base_path=\"$${clang_prefix}\"
+ } else {
+ gn_args += \
+ is_clang=false
+ }
+
+ cross_compile:!host_build {
+ TOOLCHAIN_SYSROOT = $$[QT_SYSROOT]
+ !isEmpty(TOOLCHAIN_SYSROOT): gn_args += target_sysroot=\"$${TOOLCHAIN_SYSROOT}\"
+ }
+
host_build {
gn_args += custom_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:host\"
# Don't bother trying to use system libraries in this case
@@ -30,8 +48,6 @@ use?(gn) {
} else {
gn_args += custom_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:target\"
cross_compile {
- # FIXME: Try enabling snapshot again
- gn_args += v8_use_snapshot=false
gn_args += host_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:host\"
gn_args += v8_snapshot_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:v8_snapshot\"
GN_HOST_CPU = $$gnArch($$QMAKE_HOST.arch)
@@ -62,6 +78,7 @@ use?(gn) {
packagesExist(libffi): gn_args += use_system_libffi=true
else: gn_args += use_system_libffi=false
!packagesExist(libpci): gn_args += use_libpci=false
+ !packagesExist(xscrnsaver): gn_args += use_xscrnsaver=false
use?(system_libevent): gn_args += use_system_libevent=true
use?(system_libwebp): gn_args += use_system_libwebp=true
diff --git a/src/core/core_module.pro b/src/core/core_module.pro
index b02fb51f8..d2506e343 100644
--- a/src/core/core_module.pro
+++ b/src/core/core_module.pro
@@ -128,7 +128,7 @@ icu.files = $$OUT_PWD/$$getConfigDir()/icudtl.dat
}
}
-!win32:!build_pass:debug_and_release {
+!build_pass:debug_and_release {
# Special GNU make target that ensures linking isn't done for both debug and release builds
# at the same time.
notParallel.target = .NOTPARALLEL
diff --git a/src/core/gn_run.pro b/src/core/gn_run.pro
index e1af9e320..28d42aa13 100644
--- a/src/core/gn_run.pro
+++ b/src/core/gn_run.pro
@@ -44,7 +44,7 @@ build_pass|!debug_and_release {
rungn.commands = $$runGn($$gn_binary gen $$gn_build_root --args=$$gn_args --root=$$gn_src_root)
QMAKE_EXTRA_TARGETS += rungn
- runninja.commands = $$ninja_binary \$\(NINJAFLAGS\) -v -C $$shell_quote($$OUT_PWD/$$getConfigDir()) QtWebEngineCore
+ runninja.commands = $$ninja_binary \$\(NINJAFLAGS\) -C $$shell_quote($$OUT_PWD/$$getConfigDir()) QtWebEngineCore
runninja.depends += rungn
QMAKE_EXTRA_TARGETS += runninja
@@ -52,7 +52,9 @@ build_pass|!debug_and_release {
else: default_target.target = first
default_target.depends = runninja
QMAKE_EXTRA_TARGETS += default_target
-} else {
+}
+
+!build_pass:debug_and_release {
# Special GNU make target for the meta Makefile that ensures that our debug and release Makefiles won't both run ninja in parallel.
notParallel.target = .NOTPARALLEL
QMAKE_EXTRA_TARGETS += notParallel
diff --git a/src/core/qtwebengine_sources.gni b/src/core/qtwebengine_sources.gni
index d58e92a55..93a0feb72 100644
--- a/src/core/qtwebengine_sources.gni
+++ b/src/core/qtwebengine_sources.gni
@@ -12,47 +12,10 @@ source_set("qtwebengine_spellcheck_sources") {
"//chrome/browser/spellchecker/spellcheck_message_filter.h",
"//chrome/browser/spellchecker/spellcheck_service.cc",
"//chrome/browser/spellchecker/spellcheck_service.h",
- "//chrome/common/common_message_generator.cc",
- "//components/spellcheck/browser/feedback.cc",
- "//components/spellcheck/browser/feedback.h",
- "//components/spellcheck/browser/feedback_sender.cc",
- "//components/spellcheck/browser/feedback_sender.h",
- "//components/spellcheck/browser/misspelling.cc",
- "//components/spellcheck/browser/misspelling.h",
- "//components/spellcheck/browser/spellcheck_action.cc",
- "//components/spellcheck/browser/spellcheck_action.h",
- "//components/spellcheck/browser/spellcheck_host_metrics.cc",
- "//components/spellcheck/browser/spellcheck_host_metrics.h",
- "//components/spellcheck/browser/spellcheck_platform_mac.mm",
- "//components/spellcheck/browser/spelling_service_client.cc",
- "//components/spellcheck/browser/spelling_service_client.h",
- "//components/spellcheck/browser/word_trimmer.cc",
- "//components/spellcheck/browser/word_trimmer.h",
- "//components/spellcheck/browser/pref_names.cc",
- "//components/spellcheck/browser/pref_names.h",
- "//components/spellcheck/common/spellcheck_bdict_language.h",
- "//components/spellcheck/common/spellcheck_common.cc",
- "//components/spellcheck/common/spellcheck_common.h",
- "//components/spellcheck/common/spellcheck_marker.h",
- "//components/spellcheck/common/spellcheck_messages.h",
- "//components/spellcheck/common/spellcheck_result.h",
- "//components/spellcheck/common/spellcheck_switches.cc",
- "//components/spellcheck/common/spellcheck_switches.h",
- "//components/spellcheck/renderer/custom_dictionary_engine.cc",
- "//components/spellcheck/renderer/custom_dictionary_engine.h",
- "//components/spellcheck/renderer/hunspell_engine.cc",
- "//components/spellcheck/renderer/hunspell_engine.h",
- "//components/spellcheck/renderer/spellcheck.cc",
- "//components/spellcheck/renderer/spellcheck.h",
- "//components/spellcheck/renderer/spellcheck_language.cc",
- "//components/spellcheck/renderer/spellcheck_language.h",
- "//components/spellcheck/renderer/spellcheck_provider.cc",
- "//components/spellcheck/renderer/spellcheck_provider.h",
- "//components/spellcheck/renderer/spellcheck_worditerator.cc",
- "//components/spellcheck/renderer/spellcheck_worditerator.h",
- "//components/spellcheck/renderer/spelling_engine.h",
]
deps = [
+ "//components/spellcheck/browser",
+ "//components/spellcheck/renderer",
"//third_party/WebKit/public:blink",
"//third_party/hunspell",
]
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index aa6494eb5..f1c69fca3 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -824,14 +824,22 @@ QVariant RenderWidgetHostViewQt::inputMethodQuery(Qt::InputMethodQuery query)
case Qt::ImFont:
return QVariant();
case Qt::ImCursorRectangle:
+ // QIBusPlatformInputContext might query ImCursorRectangle before the
+ // RenderWidgetHostView is created. Without an available view GetSelectionRange()
+ // returns nullptr.
+ if (!GetTextInputManager()->GetSelectionRegion())
+ return QVariant();
return toQt(GetTextInputManager()->GetSelectionRegion()->caret_rect);
case Qt::ImCursorPosition:
+ Q_ASSERT(GetTextInputManager()->GetSelectionRegion());
return toQt(GetTextInputManager()->GetSelectionRegion()->focus.edge_top_rounded().x());
case Qt::ImAnchorPosition:
+ Q_ASSERT(GetTextInputManager()->GetSelectionRegion());
return toQt(GetTextInputManager()->GetSelectionRegion()->anchor.edge_top_rounded().x());
case Qt::ImSurroundingText:
return m_surroundingText;
case Qt::ImCurrentSelection: {
+ Q_ASSERT(GetTextInputManager()->GetTextSelection());
base::string16 text;
GetTextInputManager()->GetTextSelection()->GetSelectedText(&text);
return toQt(text);
diff --git a/src/core/web_engine_visited_links_manager.cpp b/src/core/web_engine_visited_links_manager.cpp
index 0cf76d456..689c130e6 100644
--- a/src/core/web_engine_visited_links_manager.cpp
+++ b/src/core/web_engine_visited_links_manager.cpp
@@ -44,6 +44,7 @@
#include "content_browser_client_qt.h"
#include "type_conversion.h"
+#include <base/files/file_util.h>
#include "components/visitedlink/browser/visitedlink_delegate.h"
#include "components/visitedlink/browser/visitedlink_master.h"
@@ -90,11 +91,28 @@ bool WebEngineVisitedLinksManager::containsUrl(const QUrl &url) const
return m_visitedLinkMaster->IsVisited(toGurl(url));
}
+static void ensureDirectoryExists(const base::FilePath &path)
+{
+ if (base::PathExists(path))
+ return;
+
+ base::File::Error error;
+ if (base::CreateDirectoryAndGetError(path, &error))
+ return;
+
+ std::string errorstr = base::File::ErrorToString(error);
+ qWarning("Cannot create directory %s. Error: %s.",
+ path.AsUTF8Unsafe().c_str(),
+ errorstr.c_str());
+}
+
WebEngineVisitedLinksManager::WebEngineVisitedLinksManager(BrowserContextAdapter *adapter)
: m_delegate(new VisitedLinkDelegateQt)
{
Q_ASSERT(adapter && adapter->browserContext());
BrowserContextQt *browserContext = adapter->browserContext();
+ if (adapter->persistVisitedLinks())
+ ensureDirectoryExists(browserContext->GetPath());
m_visitedLinkMaster.reset(new visitedlink::VisitedLinkMaster(browserContext, m_delegate.data(), adapter->persistVisitedLinks()));
m_visitedLinkMaster->Init();
}