diff options
author | Michael BrĂ¼ning <michael.bruning@qt.io> | 2018-08-20 16:26:03 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-08-21 15:18:19 +0200 |
commit | be18c1dcfa68328acdf11e0a534749d9a5d75f8b (patch) | |
tree | 53a7b347d2771f4502338ac973a80a37edacdee7 /src/core/devtools_frontend_qt.cpp | |
parent | b74e93a9b07243da4f3d2784cde49916de455364 (diff) | |
parent | e56dd7e37ea96c4ba1354e319bdaa9d01c401747 (diff) |
Merge remote-tracking branch 'origin/5.11' into 5.12
Conflicts:
.qmake.conf
configure.json
examples/webenginewidgets/markdowneditor/resources/3rdparty/marked.js
examples/webenginewidgets/markdowneditor/resources/3rdparty/qt_attribution.json
examples/webenginewidgets/markdowneditor/resources/markdowneditor.qrc
mkspecs/features/platform.prf
src/3rdparty
src/core/media_capture_devices_dispatcher.cpp
src/core/net/url_request_context_getter_qt.cpp
src/core/net/url_request_context_getter_qt.h
src/core/web_contents_adapter.cpp
Change-Id: I467133ba455b1f85f6bb61793794c31cb1094541
Diffstat (limited to 'src/core/devtools_frontend_qt.cpp')
-rw-r--r-- | src/core/devtools_frontend_qt.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/core/devtools_frontend_qt.cpp b/src/core/devtools_frontend_qt.cpp index 154b275b5..bd9e0ebe7 100644 --- a/src/core/devtools_frontend_qt.cpp +++ b/src/core/devtools_frontend_qt.cpp @@ -446,7 +446,16 @@ void DevToolsFrontendQt::HandleMessageFromDevToolsFrontend(const std::string &me WindowOpenDisposition::NEW_FOREGROUND_TAB, ui::PAGE_TRANSITION_LINK, false); - m_frontendDelegate->OpenURLFromTab(nullptr, openParams); + // OpenURL will (via WebContentsDelegateQt::OpenURLFromTab) call + // application code, which may decide to close this devtools view (see + // quicknanobrowser for example). + // + // Chromium always calls SendMessageAck through a callback bound to a + // WeakPtr, we do the same here, except without the callback. + base::WeakPtr<DevToolsFrontendQt> weakThis = m_weakFactory.GetWeakPtr(); + web_contents()->OpenURL(openParams); + if (!weakThis) + return; } else if (method == "bringToFront") { Activate(); } else { |