summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/content_main_delegate_qt.cpp22
-rw-r--r--src/core/delegated_frame_node.cpp2
-rw-r--r--src/core/renderer/pepper/pepper_renderer_host_factory_qt.cpp10
-rw-r--r--tests/auto/quick/qmltests/BLACKLIST7
4 files changed, 35 insertions, 6 deletions
diff --git a/src/core/content_main_delegate_qt.cpp b/src/core/content_main_delegate_qt.cpp
index 80d4e9827..fa55597d1 100644
--- a/src/core/content_main_delegate_qt.cpp
+++ b/src/core/content_main_delegate_qt.cpp
@@ -154,15 +154,29 @@ content::ContentRendererClient *ContentMainDelegateQt::CreateContentRendererClie
#define ICU_UTIL_DATA_SHARED 1
#define ICU_UTIL_DATA_STATIC 2
+static void SafeOverridePathImpl(const char *keyName, int key, const base::FilePath &path)
+{
+ if (path.empty())
+ return;
+
+ // Do not create directories for overridden paths.
+ if (PathService::OverrideAndCreateIfNeeded(key, path, false, false))
+ return;
+
+ qWarning("Path override failed for key %s and path '%s'", keyName, path.value().c_str());
+}
+
+#define SafeOverridePath(KEY, PATH) SafeOverridePathImpl(#KEY, KEY, PATH)
+
bool ContentMainDelegateQt::BasicStartupComplete(int *exit_code)
{
- PathService::Override(base::FILE_EXE, WebEngineLibraryInfo::getPath(base::FILE_EXE));
+ SafeOverridePath(base::FILE_EXE, WebEngineLibraryInfo::getPath(base::FILE_EXE));
#if ICU_UTIL_DATA_IMPL == ICU_UTIL_DATA_FILE
- PathService::Override(base::DIR_QT_LIBRARY_DATA, WebEngineLibraryInfo::getPath(base::DIR_QT_LIBRARY_DATA));
+ SafeOverridePath(base::DIR_QT_LIBRARY_DATA, WebEngineLibraryInfo::getPath(base::DIR_QT_LIBRARY_DATA));
#endif
- PathService::Override(ui::DIR_LOCALES, WebEngineLibraryInfo::getPath(ui::DIR_LOCALES));
+ SafeOverridePath(ui::DIR_LOCALES, WebEngineLibraryInfo::getPath(ui::DIR_LOCALES));
#if defined(ENABLE_SPELLCHECK)
- PathService::Override(base::DIR_APP_DICTIONARIES, WebEngineLibraryInfo::getPath(base::DIR_APP_DICTIONARIES));
+ SafeOverridePath(base::DIR_APP_DICTIONARIES, WebEngineLibraryInfo::getPath(base::DIR_APP_DICTIONARIES));
#endif
SetContentClient(new ContentClientQt);
return false;
diff --git a/src/core/delegated_frame_node.cpp b/src/core/delegated_frame_node.cpp
index 4bc83163f..192109c6d 100644
--- a/src/core/delegated_frame_node.cpp
+++ b/src/core/delegated_frame_node.cpp
@@ -693,7 +693,7 @@ DelegatedFrameNode::DelegatedFrameNode()
#if defined(USE_X11) && !defined(QT_NO_OPENGL)
QOpenGLContext *currentContext = QOpenGLContext::currentContext() ;
QOpenGLContext *sharedContext = qt_gl_global_share_context();
- if (!QOpenGLContext::areSharing(currentContext, sharedContext)) {
+ if (currentContext && sharedContext && !QOpenGLContext::areSharing(currentContext, sharedContext)) {
static bool allowNotSharedContextWarningShown = true;
if (allowNotSharedContextWarningShown) {
allowNotSharedContextWarningShown = false;
diff --git a/src/core/renderer/pepper/pepper_renderer_host_factory_qt.cpp b/src/core/renderer/pepper/pepper_renderer_host_factory_qt.cpp
index febde84f7..bc36a8057 100644
--- a/src/core/renderer/pepper/pepper_renderer_host_factory_qt.cpp
+++ b/src/core/renderer/pepper/pepper_renderer_host_factory_qt.cpp
@@ -81,8 +81,16 @@ std::unique_ptr<ppapi::host::ResourceHost> PepperRendererHostFactoryQt::CreateRe
switch (message.type()) {
case PpapiHostMsg_Flash_Create::ID:
return base::WrapUnique(new PepperFlashRendererHostQt(host_, instance, resource));
+ case PpapiHostMsg_FlashMenu_Create::ID: {
+ ppapi::host::ReplyMessageContext reply_context(
+ ppapi::proxy::ResourceMessageReplyParams(resource, 0),
+ NULL,
+ MSG_ROUTING_NONE);
+ reply_context.params.set_result(PP_ERROR_USERCANCEL);
+ host_->GetPpapiHost()->SendReply(reply_context, PpapiPluginMsg_FlashMenu_ShowReply(-1));
+ break;
+ }
case PpapiHostMsg_FlashFullscreen_Create::ID:
- case PpapiHostMsg_FlashMenu_Create::ID:
// Not implemented
break;
}
diff --git a/tests/auto/quick/qmltests/BLACKLIST b/tests/auto/quick/qmltests/BLACKLIST
index 2673c7eb2..dd8258ba4 100644
--- a/tests/auto/quick/qmltests/BLACKLIST
+++ b/tests/auto/quick/qmltests/BLACKLIST
@@ -3,3 +3,10 @@ osx
[WebViewGeopermission::test_geoPermissionRequest]
osx
+
+[DesktopWebEngineViewLinkHovered::test_linkHovered]
+linux
+
+[DesktopWebEngineViewLinkHovered::test_linkHoveredDoesntEmitRepeated]
+linux
+