Changeset 100744 in webkit
- Timestamp:
- Nov 18, 2011, 3:34:51 AM (15 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 2 deleted
- 12 edited
-
ChangeLog (modified) (1 diff)
-
Target.pri (modified) (2 diffs)
-
UIProcess/API/qt/qquickwebpage_p.h (modified) (2 diffs)
-
UIProcess/API/qt/qquickwebpage_p_p.h (modified) (1 diff)
-
UIProcess/API/qt/qquickwebview.cpp (modified) (3 diffs)
-
UIProcess/API/qt/qquickwebview_p.h (modified) (2 diffs)
-
UIProcess/API/qt/qquickwebview_p_p.h (modified) (3 diffs)
-
UIProcess/qt/ClientImpl.cpp (modified) (9 diffs)
-
UIProcess/qt/QtViewInterface.cpp (deleted)
-
UIProcess/qt/QtViewInterface.h (deleted)
-
UIProcess/qt/QtWebPageProxy.cpp (modified) (5 diffs)
-
UIProcess/qt/QtWebPageProxy.h (modified) (6 diffs)
-
UIProcess/qt/WebContextMenuProxyQt.cpp (modified) (2 diffs)
-
UIProcess/qt/WebContextMenuProxyQt.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r100741 r100744 1 2011-11-18 Simon Hausmann <simon.hausmann@nokia.com> 2 3 [Qt] Removal of QtViewInterface part 3 4 5 Reviewed by Kenneth Rohde Christiansen. 6 7 Move the remaining forwarded calls from ClientImpl that went through 8 ViewInterface and then PageProxy or WebView to go straight to 9 QtWebPageProxy. QtViewInterface is empty now and therefore removed. 10 11 * Target.pri: 12 * UIProcess/API/qt/qquickwebpage_p.h: 13 * UIProcess/API/qt/qquickwebpage_p_p.h: 14 * UIProcess/API/qt/qquickwebview.cpp: 15 (QQuickWebViewPrivate::initialize): 16 (QQuickWebViewPrivate::chooseFiles): 17 * UIProcess/API/qt/qquickwebview_p.h: 18 * UIProcess/API/qt/qquickwebview_p_p.h: 19 * UIProcess/qt/ClientImpl.cpp: 20 (qt_wk_runJavaScriptAlert): 21 (qt_wk_runJavaScriptConfirm): 22 (qt_wk_runJavaScriptPrompt): 23 (qt_wk_setStatusText): 24 (qt_wk_runOpenPanel): 25 (qt_wk_mouseDidMoveOverElement): 26 (setupPageUiClient): 27 * UIProcess/qt/QtViewInterface.cpp: Removed. 28 * UIProcess/qt/QtViewInterface.h: Removed. 29 * UIProcess/qt/QtWebPageProxy.cpp: 30 (QtWebPageProxy::QtWebPageProxy): 31 (QtWebPageProxy::didChangeStatusText): 32 (QtWebPageProxy::didMouseMoveOverElement): 33 (QtWebPageProxy::showContextMenu): 34 (QtWebPageProxy::hideContextMenu): 35 (QtWebPageProxy::runJavaScriptAlert): 36 (QtWebPageProxy::runJavaScriptConfirm): 37 (QtWebPageProxy::runJavaScriptPrompt): 38 (QtWebPageProxy::chooseFiles): 39 (QtWebPageProxy::createContextMenuProxy): 40 (QtWebPageProxy::didChangeLoadProgress): 41 * UIProcess/qt/QtWebPageProxy.h: 42 (QtWebPageProxy::contextMenuItemSelected): 43 * UIProcess/qt/WebContextMenuProxyQt.cpp: 44 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt): 45 (WebKit::WebContextMenuProxyQt::create): 46 (WebKit::WebContextMenuProxyQt::hideContextMenu): 47 * UIProcess/qt/WebContextMenuProxyQt.h: 48 1 49 2011-11-18 Zalan Bujtas <zbujtas@gmail.com> 2 50 -
trunk/Source/WebKit2/Target.pri
r100602 r100744 325 325 UIProcess/qt/QtSGUpdateQueue.h \ 326 326 UIProcess/qt/QtSGTileNode.h \ 327 UIProcess/qt/QtViewInterface.h \328 327 UIProcess/qt/QtViewportInteractionEngine.h \ 329 328 UIProcess/qt/QtWebUndoCommand.h \ … … 619 618 UIProcess/qt/ClientImpl.cpp \ 620 619 UIProcess/qt/LayerTreeHostProxyQt.cpp \ 621 UIProcess/qt/QtViewInterface.cpp \622 620 UIProcess/qt/QtGestureRecognizer.cpp \ 623 621 UIProcess/qt/QtPanGestureRecognizer.cpp \ -
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p.h
r100739 r100744 32 32 33 33 namespace WebKit { 34 class QtViewInterface;35 34 class QtSGUpdateQueue; 36 35 } … … 75 74 QQuickWebPagePrivate* d; 76 75 friend class QQuickWebViewPrivate; 77 friend class WebKit::QtViewInterface;78 76 friend class QtWebPageProxy; 79 77 }; -
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h
r100602 r100744 23 23 24 24 #include "QtSGUpdateQueue.h" 25 #include "QtViewInterface.h"26 25 #include "QtWebPageProxy.h" 27 26 #include "qquickwebpage_p.h" -
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
r100739 r100744 22 22 #include "qquickwebview_p.h" 23 23 24 #include "QtViewInterface.h"25 24 #include "QtWebPageProxy.h" 26 25 #include "UtilsQt.h" … … 71 70 QObject::connect(viewport, SIGNAL(visibleChanged()), viewport, SLOT(_q_onVisibleChanged())); 72 71 pageView.reset(new QQuickWebPage(viewport)); 73 viewInterface.reset(new WebKit::QtViewInterface(viewport));74 72 75 73 QQuickWebPagePrivate* const pageViewPrivate = pageView.data()->d; 76 setPageProxy(new QtWebPageProxy(pageView.data(), q_ptr, viewInterface.data(),0, this, contextRef, pageGroupRef));74 setPageProxy(new QtWebPageProxy(pageView.data(), q_ptr, 0, this, contextRef, pageGroupRef)); 77 75 pageViewPrivate->setPageProxy(pageProxy.data()); 78 76 … … 265 263 } 266 264 267 void QQuickWebViewPrivate::chooseFiles(WKOpenPanelResultListenerRef listenerRef, const QStringList& selectedFileNames, Qt ViewInterface::FileChooserType type)265 void QQuickWebViewPrivate::chooseFiles(WKOpenPanelResultListenerRef listenerRef, const QStringList& selectedFileNames, QtWebPageProxy::FileChooserType type) 268 266 { 269 267 #ifndef QT_NO_FILEDIALOG -
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h
r100623 r100744 30 30 class QWebDownloadItem; 31 31 class QWebPreferences; 32 33 namespace WebKit {34 class QtViewInterface;35 }36 32 37 33 namespace WTR { … … 134 130 135 131 friend class QtWebPageProxy; 136 friend class WebKit::QtViewInterface;137 132 friend class WTR::PlatformWebView; 138 133 friend class QQuickWebViewExperimental; -
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h
r100739 r100744 23 23 24 24 #include "QtPolicyInterface.h" 25 #include "QtViewInterface.h"26 25 #include "QtViewportInteractionEngine.h" 27 26 #include "QtWebPageProxy.h" … … 72 71 virtual QtPolicyInterface::PolicyAction navigationPolicyForURL(const QUrl&, Qt::MouseButton, Qt::KeyboardModifiers); 73 72 74 void chooseFiles(WKOpenPanelResultListenerRef, const QStringList& selectedFileNames, WebKit::QtViewInterface::FileChooserType);73 void chooseFiles(WKOpenPanelResultListenerRef, const QStringList& selectedFileNames, QtWebPageProxy::FileChooserType); 75 74 void runJavaScriptAlert(const QString&); 76 75 bool runJavaScriptConfirm(const QString&); … … 109 108 110 109 QScopedPointer<QQuickWebPage> pageView; 111 QScopedPointer<WebKit::QtViewInterface> viewInterface;112 110 QScopedPointer<QtViewportInteractionEngine> interactionEngine; 113 111 -
trunk/Source/WebKit2/UIProcess/qt/ClientImpl.cpp
r100590 r100744 27 27 #include "WKURLQt.h" 28 28 #include <QtPolicyInterface.h> 29 #include <QtViewInterface.h>30 29 #include <QtWebPageProxy.h> 31 30 #include <WKArray.h> … … 49 48 } 50 49 51 static inline QtViewInterface* toQtViewInterface(const void* clientInfo)52 {53 ASSERT(clientInfo);54 return reinterpret_cast<QtViewInterface*>(const_cast<void*>(clientInfo));55 }56 57 50 static inline QtPolicyInterface* toQtPolicyInterface(const void* clientInfo) 58 51 { … … 163 156 { 164 157 QString qAlertText = WKStringCopyQString(alertText); 165 toQt ViewInterface(clientInfo)->runJavaScriptAlert(qAlertText);158 toQtWebPageProxy(clientInfo)->runJavaScriptAlert(qAlertText); 166 159 } 167 160 … … 169 162 { 170 163 QString qMessage = WKStringCopyQString(message); 171 return toQt ViewInterface(clientInfo)->runJavaScriptConfirm(qMessage);164 return toQtWebPageProxy(clientInfo)->runJavaScriptConfirm(qMessage); 172 165 } 173 166 … … 183 176 QString qDefaultValue = WKStringCopyQString(defaultValue); 184 177 bool ok = false; 185 QString result = toQt ViewInterface(clientInfo)->runJavaScriptPrompt(qMessage, qDefaultValue, ok);178 QString result = toQtWebPageProxy(clientInfo)->runJavaScriptPrompt(qMessage, qDefaultValue, ok); 186 179 if (!ok) 187 180 return createNullWKString(); … … 192 185 { 193 186 QString qText = WKStringCopyQString(text); 194 toQt ViewInterface(clientInfo)->didChangeStatusText(qText);187 toQtWebPageProxy(clientInfo)->didChangeStatusText(qText); 195 188 } 196 189 … … 204 197 selectedFileNames += wkSelectedFileNames.at(i); 205 198 206 Qt ViewInterface::FileChooserType allowMultipleFiles = WKOpenPanelParametersGetAllowsMultipleFiles(parameters) ? QtViewInterface::MultipleFilesSelection : QtViewInterface::SingleFileSelection;207 toQt ViewInterface(clientInfo)->chooseFiles(listener, selectedFileNames, allowMultipleFiles);199 QtWebPageProxy::FileChooserType allowMultipleFiles = WKOpenPanelParametersGetAllowsMultipleFiles(parameters) ? QtWebPageProxy::MultipleFilesSelection : QtWebPageProxy::SingleFileSelection; 200 toQtWebPageProxy(clientInfo)->chooseFiles(listener, selectedFileNames, allowMultipleFiles); 208 201 } 209 202 … … 212 205 const QUrl absoluteLinkUrl = WKURLCopyQUrl(WKHitTestResultCopyAbsoluteLinkURL(hitTestResult)); 213 206 const QString linkTitle = WKStringCopyQString(WKHitTestResultCopyLinkTitle(hitTestResult)); 214 toQt ViewInterface(clientInfo)->didMouseMoveOverElement(absoluteLinkUrl, linkTitle);207 toQtWebPageProxy(clientInfo)->didMouseMoveOverElement(absoluteLinkUrl, linkTitle); 215 208 } 216 209 … … 334 327 memset(&uiClient, 0, sizeof(WKPageUIClient)); 335 328 uiClient.version = kWKPageUIClientCurrentVersion; 336 uiClient.clientInfo = qtWebPageProxy ->viewInterface();329 uiClient.clientInfo = qtWebPageProxy; 337 330 uiClient.runJavaScriptAlert = qt_wk_runJavaScriptAlert; 338 331 uiClient.runJavaScriptConfirm = qt_wk_runJavaScriptConfirm; -
trunk/Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp
r100741 r100744 46 46 #include "NotImplemented.h" 47 47 #include "QtPolicyInterface.h" 48 #include "QtViewInterface.h"49 48 #include "QtViewportInteractionEngine.h" 50 49 #include "QtWebUndoCommand.h" … … 135 134 } 136 135 137 QtWebPageProxy::QtWebPageProxy(QQuickWebPage* qmlWebPage, QQuickWebView* qmlWebView, QtView Interface* viewInterface, QtViewportInteractionEngine* viewportInteractionEngine, QtPolicyInterface* policyInterface, WKContextRef contextRef, WKPageGroupRef pageGroupRef)136 QtWebPageProxy::QtWebPageProxy(QQuickWebPage* qmlWebPage, QQuickWebView* qmlWebView, QtViewportInteractionEngine* viewportInteractionEngine, QtPolicyInterface* policyInterface, WKContextRef contextRef, WKPageGroupRef pageGroupRef) 138 137 : m_qmlWebPage(qmlWebPage) 139 138 , m_qmlWebView(qmlWebView) 140 , m_viewInterface(viewInterface)141 139 , m_interactionEngine(viewportInteractionEngine) 142 140 , m_panGestureRecognizer(viewportInteractionEngine) … … 356 354 } 357 355 356 void QtWebPageProxy::didChangeStatusText(const QString& newMessage) 357 { 358 emit m_qmlWebView->statusBarMessageChanged(newMessage); 359 } 360 361 void QtWebPageProxy::didMouseMoveOverElement(const QUrl& linkURL, const QString& linkTitle) 362 { 363 if (linkURL == lastHoveredURL && linkTitle == lastHoveredTitle) 364 return; 365 lastHoveredURL = linkURL; 366 lastHoveredTitle = linkTitle; 367 emit m_qmlWebView->linkHovered(lastHoveredURL, lastHoveredTitle); 368 } 369 370 void QtWebPageProxy::showContextMenu(QSharedPointer<QMenu> menu) 371 { 372 // Remove the active menu in case this function is called twice. 373 if (activeMenu) 374 activeMenu->hide(); 375 376 if (menu->isEmpty()) 377 return; 378 379 QWindow* window = m_qmlWebView->canvas(); 380 if (!window) 381 return; 382 383 activeMenu = menu; 384 385 activeMenu->window()->winId(); // Ensure that the menu has a window 386 Q_ASSERT(activeMenu->window()->windowHandle()); 387 activeMenu->window()->windowHandle()->setTransientParent(window); 388 389 QPoint menuPositionInScene = m_qmlWebView->mapToScene(menu->pos()).toPoint(); 390 menu->exec(window->mapToGlobal(menuPositionInScene)); 391 // The last function to get out of exec() clear the local copy. 392 if (activeMenu == menu) 393 activeMenu.clear(); 394 } 395 396 void QtWebPageProxy::hideContextMenu() 397 { 398 if (activeMenu) 399 activeMenu->hide(); 400 } 401 402 void QtWebPageProxy::runJavaScriptAlert(const QString& alertText) 403 { 404 m_qmlWebView->d_func()->runJavaScriptAlert(alertText); 405 } 406 407 bool QtWebPageProxy::runJavaScriptConfirm(const QString& message) 408 { 409 return m_qmlWebView->d_func()->runJavaScriptConfirm(message); 410 } 411 412 QString QtWebPageProxy::runJavaScriptPrompt(const QString& message, const QString& defaultValue, bool& ok) 413 { 414 return m_qmlWebView->d_func()->runJavaScriptPrompt(message, defaultValue, ok); 415 } 416 417 void QtWebPageProxy::chooseFiles(WKOpenPanelResultListenerRef listenerRef, const QStringList& selectedFileNames, FileChooserType type) 418 { 419 m_qmlWebView->d_func()->chooseFiles(listenerRef, selectedFileNames, type); 420 } 421 358 422 void QtWebPageProxy::timerEvent(QTimerEvent* ev) 359 423 { … … 542 606 PassRefPtr<WebContextMenuProxy> QtWebPageProxy::createContextMenuProxy(WebPageProxy*) 543 607 { 544 return WebContextMenuProxyQt::create( m_webPageProxy.get(), m_viewInterface);608 return WebContextMenuProxyQt::create(this); 545 609 } 546 610 … … 612 676 } 613 677 614 void QtWebPageProxy::didChangeLoadProgress(int newLoadProgress)615 { 616 m_loadProgress = newLoadProgress;617 m_viewInterface->didChangeLoadProgress(newLoadProgress);678 void QtWebPageProxy::didChangeLoadProgress(int percentageLoaded) 679 { 680 m_loadProgress = percentageLoaded; 681 emit m_qmlWebView->loadProgressChanged(percentageLoaded); 618 682 } 619 683 -
trunk/Source/WebKit2/UIProcess/qt/QtWebPageProxy.h
r100739 r100744 30 30 #include "QtPolicyInterface.h" 31 31 #include "QtTapGestureRecognizer.h" 32 #include "QtViewInterface.h"33 32 #include "ShareableBitmap.h" 34 33 #include "ViewportArguments.h" … … 76 75 }; 77 76 78 QtWebPageProxy(QQuickWebPage*, QQuickWebView*, WebKit::QtViewInterface*, WebKit::QtViewportInteractionEngine* = 0, WebKit::QtPolicyInterface* = 0, WKContextRef = 0, WKPageGroupRef = 0); 77 enum FileChooserType { 78 SingleFileSelection, 79 MultipleFilesSelection 80 }; 81 82 QtWebPageProxy(QQuickWebPage*, QQuickWebView*, WebKit::QtViewportInteractionEngine* = 0, WebKit::QtPolicyInterface* = 0, WKContextRef = 0, WKPageGroupRef = 0); 79 83 ~QtWebPageProxy(); 80 84 … … 194 198 195 199 QWKHistory* history() const; 196 QtViewInterface* viewInterface() const { return m_viewInterface; } 197 QQuickWebPage* qmlWebPage() const { return m_qmlWebPage; } 200 201 void contextMenuItemSelected(const WebContextMenuItemData& data) 202 { 203 m_webPageProxy->contextMenuItemSelected(data); 204 } 198 205 199 206 void handleDownloadRequest(DownloadProxy*); … … 202 209 void handleSingleTapEvent(const QTouchEvent::TouchPoint&); 203 210 void handleDoubleTapEvent(const QTouchEvent::TouchPoint&); 211 212 void didChangeStatusText(const QString&); 213 214 void showContextMenu(QSharedPointer<QMenu>); 215 void hideContextMenu(); 216 217 void runJavaScriptAlert(const QString&); 218 bool runJavaScriptConfirm(const QString&); 219 QString runJavaScriptPrompt(const QString&, const QString& defaultValue, bool& ok); 220 221 void chooseFiles(WKOpenPanelResultListenerRef, const QStringList& selectedFileNames, FileChooserType); 222 223 void didMouseMoveOverElement(const QUrl&, const QString&); 204 224 205 225 public Q_SLOTS: … … 216 236 QQuickWebView* m_qmlWebView; 217 237 RefPtr<WebKit::WebPageProxy> m_webPageProxy; 218 WebKit::QtViewInterface* const m_viewInterface;219 238 QtViewportInteractionEngine* m_interactionEngine; 220 239 QtPanGestureRecognizer m_panGestureRecognizer; … … 264 283 QPoint m_tripleClick; 265 284 QBasicTimer m_tripleClickTimer; 285 286 QSharedPointer<QMenu> activeMenu; 287 QUrl lastHoveredURL; 288 QString lastHoveredTitle; 266 289 }; 267 290 -
trunk/Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.cpp
r98449 r100744 40 40 namespace WebKit { 41 41 42 WebContextMenuProxyQt::WebContextMenuProxyQt( WebPageProxy* pageProxy, QtViewInterface* viewInterface)42 WebContextMenuProxyQt::WebContextMenuProxyQt(QtWebPageProxy* pageProxy) 43 43 : m_webPageProxy(pageProxy) 44 , m_viewInterface(viewInterface)45 44 { 46 45 } 47 46 48 PassRefPtr<WebContextMenuProxyQt> WebContextMenuProxyQt::create( WebPageProxy* pageProxy, QtViewInterface* viewInterface)47 PassRefPtr<WebContextMenuProxyQt> WebContextMenuProxyQt::create(QtWebPageProxy *pageProxy) 49 48 { 50 return adoptRef(new WebContextMenuProxyQt(pageProxy , viewInterface));49 return adoptRef(new WebContextMenuProxyQt(pageProxy)); 51 50 } 52 51 … … 75 74 void WebContextMenuProxyQt::hideContextMenu() 76 75 { 77 m_ viewInterface->hideContextMenu();76 m_webPageProxy->hideContextMenu(); 78 77 } 79 78 -
trunk/Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.h
r97852 r100744 36 36 37 37 namespace WebKit { 38 class QtViewInterface;39 38 class WebContextMenuItemData; 40 class WebPageProxy;41 39 } 40 class QtWebPageProxy; 42 41 43 42 namespace WebKit { … … 46 45 Q_OBJECT 47 46 public: 48 static PassRefPtr<WebContextMenuProxyQt> create( WebPageProxy*, QtViewInterface*);47 static PassRefPtr<WebContextMenuProxyQt> create(QtWebPageProxy*); 49 48 50 49 private Q_SLOTS: … … 52 51 53 52 private: 54 WebContextMenuProxyQt( WebPageProxy*, QtViewInterface*);53 WebContextMenuProxyQt(QtWebPageProxy*); 55 54 56 55 virtual void showContextMenu(const WebCore::IntPoint&, const Vector<WebContextMenuItemData>&); … … 59 58 PassOwnPtr<QMenu> createContextMenu(const Vector<WebContextMenuItemData>& items) const; 60 59 61 WebPageProxy* const m_webPageProxy; 62 QtViewInterface* const m_viewInterface; 60 QtWebPageProxy* const m_webPageProxy; 63 61 }; 64 62
Note:
See TracChangeset
for help on using the changeset viewer.