diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/config/desktop_linux.pri | 1 | ||||
-rw-r--r-- | src/core/config/embedded_linux.pri | 6 | ||||
-rw-r--r-- | src/core/config/linux.pri | 21 | ||||
-rw-r--r-- | src/core/core_module.pro | 2 | ||||
-rw-r--r-- | src/core/gn_run.pro | 6 | ||||
-rw-r--r-- | src/core/qtwebengine_sources.gni | 41 | ||||
-rw-r--r-- | src/core/render_widget_host_view_qt.cpp | 8 | ||||
-rw-r--r-- | src/core/web_engine_visited_links_manager.cpp | 18 |
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(); } |