diff options
author | Liang Qi <liang.qi@qt.io> | 2016-05-20 06:08:18 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-05-20 06:08:18 +0200 |
commit | 6c344184df2dd6573681a0d2022daa55b6a36f38 (patch) | |
tree | 91493089f958b95138bdbd3f838188450e4349bb /src/core | |
parent | bfc5eb719d30decaf5c65e2747d49a6eec28794d (diff) | |
parent | bc317d32a65eb08da7df10bec6417829533cfc3a (diff) |
Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
src/3rdparty
src/core/browser_context_adapter.cpp
src/core/web_contents_adapter.cpp
tests/auto/widgets/qwebenginepage/BLACKLIST
Change-Id: I45ee0a33f6316f585555d58fede8072fe514aecf
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/api/qwebenginecookiestore.h | 2 | ||||
-rw-r--r-- | src/core/api/qwebengineurlrequestinterceptor.h | 2 | ||||
-rw-r--r-- | src/core/api/qwebengineurlschemehandler.h | 2 | ||||
-rw-r--r-- | src/core/browser_context_adapter.cpp | 19 | ||||
-rw-r--r-- | src/core/browser_context_adapter.h | 1 | ||||
-rw-r--r-- | src/core/clipboard_qt.cpp | 4 | ||||
-rw-r--r-- | src/core/renderer/content_renderer_client_qt.cpp | 2 | ||||
-rw-r--r-- | src/core/web_contents_adapter.cpp | 6 |
8 files changed, 26 insertions, 12 deletions
diff --git a/src/core/api/qwebenginecookiestore.h b/src/core/api/qwebenginecookiestore.h index 3b7b5e89b..5001ba3a1 100644 --- a/src/core/api/qwebenginecookiestore.h +++ b/src/core/api/qwebenginecookiestore.h @@ -73,7 +73,7 @@ Q_SIGNALS: void cookieRemoved(const QNetworkCookie &cookie); private: - explicit QWebEngineCookieStore(QObject *parent = 0); + explicit QWebEngineCookieStore(QObject *parent = Q_NULLPTR); friend class QtWebEngineCore::BrowserContextAdapter; friend class QtWebEngineCore::CookieMonsterDelegateQt; Q_DISABLE_COPY(QWebEngineCookieStore) diff --git a/src/core/api/qwebengineurlrequestinterceptor.h b/src/core/api/qwebengineurlrequestinterceptor.h index fb5861c7d..6e0f93e49 100644 --- a/src/core/api/qwebengineurlrequestinterceptor.h +++ b/src/core/api/qwebengineurlrequestinterceptor.h @@ -55,7 +55,7 @@ class QWEBENGINE_EXPORT QWebEngineUrlRequestInterceptor : public QObject Q_OBJECT Q_DISABLE_COPY(QWebEngineUrlRequestInterceptor) public: - explicit QWebEngineUrlRequestInterceptor(QObject *p = 0) + explicit QWebEngineUrlRequestInterceptor(QObject *p = Q_NULLPTR) : QObject (p) { } diff --git a/src/core/api/qwebengineurlschemehandler.h b/src/core/api/qwebengineurlschemehandler.h index 5075af6d5..757c461f4 100644 --- a/src/core/api/qwebengineurlschemehandler.h +++ b/src/core/api/qwebengineurlschemehandler.h @@ -55,7 +55,7 @@ class QWebEngineUrlRequestJob; class QWEBENGINE_EXPORT QWebEngineUrlSchemeHandler : public QObject { Q_OBJECT public: - QWebEngineUrlSchemeHandler(QObject *parent = 0); + QWebEngineUrlSchemeHandler(QObject *parent = Q_NULLPTR); ~QWebEngineUrlSchemeHandler(); virtual void requestStarted(QWebEngineUrlRequestJob*) = 0; diff --git a/src/core/browser_context_adapter.cpp b/src/core/browser_context_adapter.cpp index ba9d671ae..e3b757587 100644 --- a/src/core/browser_context_adapter.cpp +++ b/src/core/browser_context_adapter.cpp @@ -104,7 +104,8 @@ void BrowserContextAdapter::setStorageName(const QString &storageName) m_name = storageName; if (m_browserContext->url_request_getter_.get()) m_browserContext->url_request_getter_->updateStorageSettings(); - m_visitedLinksManager.reset(); + if (m_visitedLinksManager) + resetVisitedLinksManager(); } void BrowserContextAdapter::setOffTheRecord(bool offTheRecord) @@ -114,7 +115,8 @@ void BrowserContextAdapter::setOffTheRecord(bool offTheRecord) m_offTheRecord = offTheRecord; if (m_browserContext->url_request_getter_.get()) m_browserContext->url_request_getter_->updateStorageSettings(); - m_visitedLinksManager.reset(); + if (m_visitedLinksManager) + resetVisitedLinksManager(); } BrowserContextQt *BrowserContextAdapter::browserContext() @@ -125,7 +127,7 @@ BrowserContextQt *BrowserContextAdapter::browserContext() WebEngineVisitedLinksManager *BrowserContextAdapter::visitedLinksManager() { if (!m_visitedLinksManager) - m_visitedLinksManager.reset(new WebEngineVisitedLinksManager(this)); + resetVisitedLinksManager(); return m_visitedLinksManager.data(); } @@ -198,7 +200,8 @@ void BrowserContextAdapter::setDataPath(const QString &path) m_dataPath = path; if (m_browserContext->url_request_getter_.get()) m_browserContext->url_request_getter_->updateStorageSettings(); - m_visitedLinksManager.reset(); + if (m_visitedLinksManager) + resetVisitedLinksManager(); } QString BrowserContextAdapter::cachePath() const @@ -339,7 +342,8 @@ void BrowserContextAdapter::setVisitedLinksPolicy(BrowserContextAdapter::Visited if (m_visitedLinksPolicy == visitedLinksPolicy) return; m_visitedLinksPolicy = visitedLinksPolicy; - m_visitedLinksManager.reset(); + if (m_visitedLinksManager) + resetVisitedLinksManager(); } int BrowserContextAdapter::httpCacheMaxSize() const @@ -500,4 +504,9 @@ bool BrowserContextAdapter::isSpellCheckEnabled() const #endif } +void BrowserContextAdapter::resetVisitedLinksManager() +{ + m_visitedLinksManager.reset(new WebEngineVisitedLinksManager(this)); +} + } // namespace QtWebEngineCore diff --git a/src/core/browser_context_adapter.h b/src/core/browser_context_adapter.h index c3c3f153d..94bc5fcde 100644 --- a/src/core/browser_context_adapter.h +++ b/src/core/browser_context_adapter.h @@ -175,6 +175,7 @@ public: private: void updateCustomUrlSchemeHandlers(); + void resetVisitedLinksManager(); QString m_name; bool m_offTheRecord; diff --git a/src/core/clipboard_qt.cpp b/src/core/clipboard_qt.cpp index cd57995ea..bd62f4872 100644 --- a/src/core/clipboard_qt.cpp +++ b/src/core/clipboard_qt.cpp @@ -285,6 +285,8 @@ void ClipboardQt::ReadAvailableTypes(ui::ClipboardType type, std::vector<base::s types->clear(); const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); + if (mimeData->hasImage()) + types->push_back(toString16(QStringLiteral("image/png"))); Q_FOREACH (const QString &mimeType, mimeData->formats()) types->push_back(toString16(mimeType)); *contains_filenames = false; @@ -328,8 +330,6 @@ void ClipboardQt::ReadRTF(ui::ClipboardType type, std::string* result) const SkBitmap ClipboardQt::ReadImage(ui::ClipboardType type) const { - // FIXME: Untested, pasting image data seems to only be supported through - // FileReader.readAsDataURL in JavaScript and this isn't working down the pipe for some reason. const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); QImage image = qvariant_cast<QImage>(mimeData->imageData()); diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp index 6094be847..5d1780cbe 100644 --- a/src/core/renderer/content_renderer_client_qt.cpp +++ b/src/core/renderer/content_renderer_client_qt.cpp @@ -93,8 +93,6 @@ public: blink::WebString qrcScheme(base::ASCIIToUTF16(kQrcSchemeQt)); // mark qrc as a secure scheme (avoids deprecation warnings) blink::WebSecurityPolicy::registerURLSchemeAsSecure(qrcScheme); - // mark qrc as a local scheme (allows local access to qrc) - blink::WebSecurityPolicy::registerURLSchemeAsLocal(qrcScheme); } }; diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index 82d21696c..0ed0b91f9 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -426,6 +426,12 @@ void WebContentsAdapter::initialize(WebContentsAdapterClient *adapterClient) PrintViewManagerQt::CreateForWebContents(webContents()); #endif // defined(ENABLE_BASIC_PRINTING) + // Create an instance of WebEngineVisitedLinksManager to catch the first + // content::NOTIFICATION_RENDERER_PROCESS_CREATED event. This event will + // force to initialize visited links in VisitedLinkSlave. + // It must be done before creating a RenderView. + d->browserContextAdapter->visitedLinksManager(); + // Create a RenderView with the initial empty document content::RenderViewHost *rvh = d->webContents->GetRenderViewHost(); Q_ASSERT(rvh); |