Changeset 130629 in webkit
- Timestamp:
- Oct 8, 2012, 3:41:27 AM (14 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 5 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/API/qt/qquickwebview.cpp (modified) (2 diffs)
-
UIProcess/API/qt/qquickwebview_p_p.h (modified) (4 diffs)
-
UIProcess/qt/QtPageClient.cpp (modified) (3 diffs)
-
UIProcess/qt/QtWebPageLoadClient.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r130627 r130629 1 2012-10-04 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 2 3 [Qt] Prevent the PageViewportController from affecting the viewport in desktop mode 4 https://bugs.webkit.org/show_bug.cgi?id=98427 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 QQuickFlickable isn't tightly bound to it anymore, we can avoid creating it 9 completely in this case. 10 11 * UIProcess/API/qt/qquickwebview.cpp: 12 (QQuickWebViewFlickablePrivate::onComponentComplete): 13 * UIProcess/API/qt/qquickwebview_p_p.h: 14 (QQuickWebViewPrivate::onComponentComplete): 15 (QQuickWebViewPrivate::viewportController): 16 (QQuickWebViewPrivate): 17 (QQuickWebViewFlickablePrivate::viewportController): 18 (QQuickWebViewFlickablePrivate): 19 * UIProcess/qt/QtPageClient.cpp: 20 (WebKit::QtPageClient::didRenderFrame): 21 (WebKit::QtPageClient::didChangeContentsSize): 22 (WebKit::QtPageClient::pageTransitionViewportReady): 23 * UIProcess/qt/QtWebPageLoadClient.cpp: 24 (WebKit::QtWebPageLoadClient::didCommitLoad): 25 1 26 2012-10-04 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 2 27 -
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
r130382 r130629 332 332 } 333 333 334 void QQuickWebViewPrivate::onComponentComplete()335 {336 Q_Q(QQuickWebView);337 m_pageViewportControllerClient.reset(new PageViewportControllerClientQt(q, pageView.data()));338 m_pageViewportController.reset(new PageViewportController(webPageProxy.get(), m_pageViewportControllerClient.data()));339 pageView->eventHandler()->setViewportController(m_pageViewportControllerClient.data());340 }341 342 334 void QQuickWebViewPrivate::setTransparentBackground(bool enable) 343 335 { … … 861 853 { 862 854 QQuickWebViewPrivate::onComponentComplete(); 855 856 Q_Q(QQuickWebView); 857 m_pageViewportControllerClient.reset(new PageViewportControllerClientQt(q, pageView.data())); 858 m_pageViewportController.reset(new PageViewportController(webPageProxy.get(), m_pageViewportControllerClient.data())); 859 pageView->eventHandler()->setViewportController(m_pageViewportControllerClient.data()); 863 860 864 861 // Trigger setting of correct visibility flags after everything was allocated and initialized. -
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h
r130382 r130629 71 71 virtual void initialize(WKContextRef contextRef = 0, WKPageGroupRef pageGroupRef = 0); 72 72 73 virtual void onComponentComplete() ;73 virtual void onComponentComplete() { } 74 74 75 75 virtual void provisionalLoadDidStart(const WTF::String& url); … … 91 91 void didRenderFrame(); 92 92 93 WebKit::PageViewportController* viewportController() const { return m_pageViewportController.data(); }93 virtual WebKit::PageViewportController* viewportController() const { return 0; } 94 94 virtual void updateViewportSize() { } 95 95 void updateTouchViewportSize(); … … 172 172 QScopedPointer<QQuickWebPage> pageView; 173 173 QQuickWebView* q_ptr; 174 175 QScopedPointer<WebKit::PageViewportController> m_pageViewportController;176 QScopedPointer<WebKit::PageViewportControllerClientQt> m_pageViewportControllerClient;177 174 178 175 FlickableAxisLocker axisLocker; … … 222 219 223 220 virtual void didChangeViewportProperties(const WebCore::ViewportAttributes&); 221 virtual WebKit::PageViewportController* viewportController() const { return m_pageViewportController.data(); } 224 222 virtual void updateViewportSize(); 225 223 226 224 virtual void pageDidRequestScroll(const QPoint& pos); 227 225 virtual void handleMouseEvent(QMouseEvent*); 226 227 private: 228 QScopedPointer<WebKit::PageViewportController> m_pageViewportController; 229 QScopedPointer<WebKit::PageViewportControllerClientQt> m_pageViewportControllerClient; 228 230 }; 229 231 -
trunk/Source/WebKit2/UIProcess/qt/QtPageClient.cpp
r130382 r130629 78 78 // The viewport has to be notified first so that the viewport position 79 79 // is adjusted before the loadVisuallyCommitted() signal. 80 QQuickWebViewPrivate::get(m_webView)->viewportController()->didRenderFrame(contentsSize, coveredRect); 80 PageViewportController* pvc = QQuickWebViewPrivate::get(m_webView)->viewportController(); 81 if (pvc) 82 pvc->didRenderFrame(contentsSize, coveredRect); 81 83 QQuickWebViewPrivate::get(m_webView)->didRenderFrame(); 82 84 } … … 99 101 void QtPageClient::didChangeContentsSize(const IntSize& newSize) 100 102 { 101 QQuickWebViewPrivate::get(m_webView)->viewportController()->didChangeContentsSize(newSize); 103 PageViewportController* pvc = QQuickWebViewPrivate::get(m_webView)->viewportController(); 104 if (pvc) 105 pvc->didChangeContentsSize(newSize); 102 106 } 103 107 … … 231 235 void QtPageClient::pageTransitionViewportReady() 232 236 { 233 QQuickWebViewPrivate::get(m_webView)->viewportController()->pageTransitionViewportReady(); 237 PageViewportController* pvc = QQuickWebViewPrivate::get(m_webView)->viewportController(); 238 if (pvc) 239 pvc->pageTransitionViewportReady(); 234 240 } 235 241 -
trunk/Source/WebKit2/UIProcess/qt/QtWebPageLoadClient.cpp
r130030 r130629 63 63 void QtWebPageLoadClient::didCommitLoad() 64 64 { 65 m_webView->d_func()->viewportController()->didCommitLoad(); 65 PageViewportController* pvc = m_webView->d_func()->viewportController(); 66 if (pvc) 67 pvc->didCommitLoad(); 66 68 m_webView->d_func()->loadDidCommit(); 67 69 }
Note:
See TracChangeset
for help on using the changeset viewer.