Changeset 170243 in webkit
- Timestamp:
- Jun 21, 2014 8:06:00 AM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r170237 r170243 1 2014-06-21 Gyuyoung Kim <gyuyoung.kim@samsung.com> 2 3 [CoordinatedGraphics][WK2][EFL] Page is moved to (0,0) position before rendering content 4 https://bugs.webkit.org/show_bug.cgi?id=133300 5 6 Reviewed by Csaba Osztrogonác. 7 8 When new page is loaded, PageViewportController::didCommitLoad() calls PageViewportController::syncVisibleContents() 9 with initial position via applyPositionAfterRenderingContents() before starting to render 10 new page by PageViewportController::didRenderFrame(). This call flow causes that webview shows 11 incomplete tiles to the user during a few milliseconds. To fix showing incomplete tiles during 12 the page loading, this patch adds a flag so that we don't show the incomplete tiles until showing 13 new page. 14 15 * UIProcess/API/efl/EwkView.cpp: 16 (EwkView::EwkView): 17 * UIProcess/API/efl/EwkView.h: 18 (EwkView::setWaitingForNewPage): 19 (EwkView::waitingForNewPage): 20 * UIProcess/efl/PageLoadClientEfl.cpp: 21 (WebKit::PageLoadClientEfl::didCommitLoadForFrame): 22 * UIProcess/efl/PageViewportControllerClientEfl.cpp: 23 (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents): 24 * UIProcess/efl/ViewClientEfl.cpp: 25 (WebKit::ViewClientEfl::didRenderFrame): 26 (WebKit::ViewClientEfl::didCompletePageTransition): 27 1 28 2014-06-21 Ryosuke Niwa <rniwa@webkit.org> 2 29 -
trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
r168961 r170243 294 294 , m_pageViewportController(page(), &m_pageViewportControllerClient) 295 295 , m_isAccelerated(true) 296 , m_isWaitingForNewPage(false) 296 297 { 297 298 ASSERT(m_evasObject); -
trunk/Source/WebKit2/UIProcess/API/efl/EwkView.h
r168961 r170243 185 185 void didFindZoomableArea(const WKPoint&, const WKRect&); 186 186 187 // FIXME: PageViewportController needs to fix a problem that current page is shown in (0,0) position when starting to load new page. 188 // Below functions are to fix this problem for now. 189 void setWaitingForNewPage() { m_isWaitingForNewPage = true; } 190 bool didCommitNewPage() { return m_isWaitingForNewPage = false; } 191 187 192 static const char smartClassName[]; 188 193 … … 286 291 287 292 bool m_isAccelerated; 293 bool m_isWaitingForNewPage; 288 294 289 295 static Evas_Smart_Class parentSmartClass; -
trunk/Source/WebKit2/UIProcess/efl/PageLoadClientEfl.cpp
r166155 r170243 118 118 119 119 EwkView* view = toPageLoadClientEfl(clientInfo)->view(); 120 if (WKPageUseFixedLayout(view->wkPage())) {120 if (WKPageUseFixedLayout(view->wkPage())) 121 121 view->pageViewportController().didCommitLoad(); 122 return;123 }122 else 123 view->scheduleUpdateDisplay(); 124 124 125 view->s cheduleUpdateDisplay();125 view->setWaitingForNewPage(); 126 126 } 127 127 -
trunk/Source/WebKit2/UIProcess/efl/PageViewportControllerClientEfl.cpp
r169003 r170243 61 61 void PageViewportControllerClientEfl::didChangeVisibleContents() 62 62 { 63 if (m_view->didCommitNewPage()) 64 return; 65 63 66 m_view->scheduleUpdateDisplay(); 64 67 } -
trunk/Source/WebKit2/UIProcess/efl/ViewClientEfl.cpp
r168961 r170243 111 111 { 112 112 EwkView* ewkView = toEwkView(clientInfo); 113 if (WKPageUseFixedLayout(ewkView->wkPage())) {113 if (WKPageUseFixedLayout(ewkView->wkPage())) 114 114 ewkView->pageViewportController().didRenderFrame(toIntSize(contentsSize), toIntRect(coveredRect)); 115 return;116 }117 118 ewkView-> scheduleUpdateDisplay();115 else 116 ewkView->scheduleUpdateDisplay(); 117 118 ewkView->didCommitNewPage(); 119 119 } 120 120 … … 122 122 { 123 123 EwkView* ewkView = toEwkView(clientInfo); 124 if (WKPageUseFixedLayout(ewkView->wkPage())) {124 if (WKPageUseFixedLayout(ewkView->wkPage())) 125 125 ewkView->pageViewportController().pageTransitionViewportReady(); 126 return;127 }128 129 ewkView->scheduleUpdateDisplay();130 126 } 131 127
Note: See TracChangeset
for help on using the changeset viewer.