Changeset 154724 in webkit
- Timestamp:
- Aug 28, 2013 12:24:46 AM (11 years ago)
- Location:
- trunk/Source
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/qt/declarative/plugin.cpp
r129609 r154724 58 58 qmlRegisterUncreatableType<QQuickWebPage>(uri, 3, 0, "WebPage", QObject::tr("Cannot create separate instance of WebPage, use WebView")); 59 59 qmlRegisterUncreatableType<QNetworkReply>(uri, 3, 0, "NetworkReply", QObject::tr("Cannot create separate instance of NetworkReply")); 60 qmlRegisterUncreatableType<QWebNavigationRequest >(uri, 3, 0, "NavigationRequest", QObject::tr("Cannot create separate instance of NavigationRequest"));60 qmlRegisterUncreatableType<QWebNavigationRequest, 1>(uri, 3, 1, "NavigationRequest", QObject::tr("Cannot create separate instance of NavigationRequest")); 61 61 qmlRegisterUncreatableType<QWebLoadRequest>(uri, 3, 0, "WebLoadRequest", QObject::tr("Cannot create separate instance of WebLoadRequest")); 62 62 #endif -
trunk/Source/WebKit2/ChangeLog
r154711 r154724 1 2013-08-28 Alexandre Abreu <alexandre.abreu@canonical.com> 2 3 Add a 'isMainFrame' parameter to QWebNavigationRequest. 4 https://bugs.webkit.org/show_bug.cgi?id=118860 5 6 Reviewed by Simon Hausmann. 7 8 * UIProcess/API/qt/qwebnavigationrequest.cpp: 9 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate): 10 (QWebNavigationRequest::QWebNavigationRequest): 11 (QWebNavigationRequest::navigationType): 12 (QWebNavigationRequest::isMainFrame): 13 * UIProcess/API/qt/qwebnavigationrequest_p.h: 14 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 15 * UIProcess/qt/QtWebPagePolicyClient.cpp: 16 (WebKit::QtWebPagePolicyClient::decidePolicyForNavigationAction): 17 * UIProcess/qt/QtWebPagePolicyClient.h: 18 1 19 2013-08-27 Luciano Wolf <luciano.wolf@openbossa.org> 2 20 -
trunk/Source/WebKit2/UIProcess/API/qt/qwebnavigationrequest.cpp
r110047 r154724 26 26 class QWebNavigationRequestPrivate { 27 27 public: 28 QWebNavigationRequestPrivate(const QUrl& url, Qt::MouseButton mouseButton, Qt::KeyboardModifiers keyboardModifiers, QQuickWebView::NavigationType navigationType )28 QWebNavigationRequestPrivate(const QUrl& url, Qt::MouseButton mouseButton, Qt::KeyboardModifiers keyboardModifiers, QQuickWebView::NavigationType navigationType, bool isMainFrame) 29 29 : url(url) 30 30 , mouseButton(mouseButton) … … 32 32 , action(QQuickWebView::AcceptRequest) 33 33 , navigationType(navigationType) 34 , isMainFrame(isMainFrame) 34 35 { 35 36 } … … 44 45 QQuickWebView::NavigationRequestAction action; 45 46 QQuickWebView::NavigationType navigationType; 47 bool isMainFrame; 46 48 }; 47 49 48 QWebNavigationRequest::QWebNavigationRequest(const QUrl& url, Qt::MouseButton mouseButton, Qt::KeyboardModifiers keyboardModifiers, QQuickWebView::NavigationType navigationType, QObject* parent)50 QWebNavigationRequest::QWebNavigationRequest(const QUrl& url, Qt::MouseButton mouseButton, Qt::KeyboardModifiers keyboardModifiers, QQuickWebView::NavigationType navigationType, bool isMainFrame, QObject* parent) 49 51 : QObject(parent) 50 , d(new QWebNavigationRequestPrivate(url, mouseButton, keyboardModifiers, navigationType ))52 , d(new QWebNavigationRequestPrivate(url, mouseButton, keyboardModifiers, navigationType, isMainFrame)) 51 53 { 52 54 } … … 90 92 return d->navigationType; 91 93 } 94 95 bool QWebNavigationRequest::isMainFrame() const 96 { 97 return d->isMainFrame; 98 } -
trunk/Source/WebKit2/UIProcess/API/qt/qwebnavigationrequest_p.h
r110047 r154724 36 36 Q_PROPERTY(QQuickWebView::NavigationRequestAction action READ action WRITE setAction NOTIFY actionChanged FINAL) 37 37 Q_PROPERTY(QQuickWebView::NavigationType navigationType READ navigationType CONSTANT FINAL) 38 Q_PROPERTY(bool isMainFrame READ isMainFrame CONSTANT FINAL REVISION 1) 38 39 39 40 public: 40 QWebNavigationRequest(const QUrl& url, Qt::MouseButton mouseButton, Qt::KeyboardModifiers keyboardModifiers, QQuickWebView::NavigationType navigationType, QObject* parent = 0);41 QWebNavigationRequest(const QUrl& url, Qt::MouseButton mouseButton, Qt::KeyboardModifiers keyboardModifiers, QQuickWebView::NavigationType navigationType, bool isMainFrame, QObject* parent = 0); 41 42 ~QWebNavigationRequest(); 42 43 … … 49 50 QQuickWebView::NavigationType navigationType() const; 50 51 52 bool isMainFrame() const; 53 51 54 Q_SIGNALS: 52 55 void actionChanged(); -
trunk/Source/WebKit2/UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp
r128177 r154724 91 91 << "QWebNavigationRequest.action --> QQuickWebView::NavigationRequestAction" 92 92 << "QWebNavigationRequest.navigationType --> QQuickWebView::NavigationType" 93 << "QWebNavigationRequest.isMainFrame --> bool" 93 94 << "QWebNavigationRequest.actionChanged() --> void" 94 95 ; -
trunk/Source/WebKit2/UIProcess/qt/QtWebPagePolicyClient.cpp
r114897 r154724 45 45 } 46 46 47 void QtWebPagePolicyClient::decidePolicyForNavigationAction(const QUrl& url, Qt::MouseButton mouseButton, Qt::KeyboardModifiers keyboardModifiers, QQuickWebView::NavigationType navigationType, WKFramePolicyListenerRef listener)47 void QtWebPagePolicyClient::decidePolicyForNavigationAction(const QUrl& url, Qt::MouseButton mouseButton, Qt::KeyboardModifiers keyboardModifiers, QQuickWebView::NavigationType navigationType, bool isMainFrame, WKFramePolicyListenerRef listener) 48 48 { 49 49 // NOTE: even though the C API (and the WebKit2 IPC) supports an asynchronous answer, this is not currently working. 50 50 // We are expected to call the listener immediately. See the patch for https://bugs.webkit.org/show_bug.cgi?id=53785. 51 QWebNavigationRequest navigationRequest(url, mouseButton, keyboardModifiers, navigationType );51 QWebNavigationRequest navigationRequest(url, mouseButton, keyboardModifiers, navigationType, isMainFrame); 52 52 emit m_webView->navigationRequested(&navigationRequest); 53 53 … … 122 122 } 123 123 124 void QtWebPagePolicyClient::decidePolicyForNavigationAction(WKPageRef , WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef, const void* clientInfo)124 void QtWebPagePolicyClient::decidePolicyForNavigationAction(WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef, const void* clientInfo) 125 125 { 126 126 WKRetainPtr<WKURLRef> frameURL(AdoptWK, WKFrameCopyURL(frame)); 127 127 WKRetainPtr<WKURLRef> requestURL(AdoptWK, WKURLRequestCopyURL(request)); 128 128 QUrl qUrl = WKURLCopyQUrl(requestURL.get()); 129 toQtWebPagePolicyClient(clientInfo)->decidePolicyForNavigationAction(qUrl, toQtMouseButton(mouseButton), toQtKeyboardModifiers(modifiers), toQuickWebViewNavigationType(navigationType), listener); 129 bool isMainFrame = (WKPageGetMainFrame(page) == frame); 130 toQtWebPagePolicyClient(clientInfo)->decidePolicyForNavigationAction(qUrl, toQtMouseButton(mouseButton), toQtKeyboardModifiers(modifiers), toQuickWebViewNavigationType(navigationType), isMainFrame, listener); 130 131 } 131 132 -
trunk/Source/WebKit2/UIProcess/qt/QtWebPagePolicyClient.h
r114897 r154724 37 37 38 38 private: 39 void decidePolicyForNavigationAction(const QUrl&, Qt::MouseButton, Qt::KeyboardModifiers, QQuickWebView::NavigationType, WKFramePolicyListenerRef);39 void decidePolicyForNavigationAction(const QUrl&, Qt::MouseButton, Qt::KeyboardModifiers, QQuickWebView::NavigationType, bool isMainFrame, WKFramePolicyListenerRef); 40 40 41 41 // WKPagePolicyClient callbacks.
Note: See TracChangeset
for help on using the changeset viewer.