src/3rdparty/webkit/WebCore/platform/ScrollView.cpp
changeset 19 fcece45ef507
parent 18 2f34d5167611
child 30 5dc02b23752f
equal deleted inserted replaced
18:2f34d5167611 19:fcece45ef507
   507         hostWindow()->repaint(panScrollIconDirtyRect, true);
   507         hostWindow()->repaint(panScrollIconDirtyRect, true);
   508     }
   508     }
   509 
   509 
   510     if (canBlitOnScroll()) { // The main frame can just blit the WebView window
   510     if (canBlitOnScroll()) { // The main frame can just blit the WebView window
   511        // FIXME: Find a way to blit subframes without blitting overlapping content
   511        // FIXME: Find a way to blit subframes without blitting overlapping content
   512        hostWindow()->scroll(-scrollDelta, scrollViewRect, clipRect);
   512        scrollContentsFastPath(-scrollDelta, scrollViewRect, clipRect);
   513     } else { 
   513     } else { 
   514        // We need to go ahead and repaint the entire backing store.  Do it now before moving the
   514        // We need to go ahead and repaint the entire backing store.  Do it now before moving the
   515        // windowed plugins.
   515        // windowed plugins.
   516        hostWindow()->repaint(updateRect, true, false, true); // Invalidate the backing store and repaint it synchronously
   516        hostWindow()->repaint(updateRect, true, false, true); // Invalidate the backing store and repaint it synchronously
   517     }
   517     }
   520     frameRectsChanged();
   520     frameRectsChanged();
   521 
   521 
   522     // Now update the window (which should do nothing but a blit of the backing store's updateRect and so should
   522     // Now update the window (which should do nothing but a blit of the backing store's updateRect and so should
   523     // be very fast).
   523     // be very fast).
   524     hostWindow()->paint();
   524     hostWindow()->paint();
       
   525 }
       
   526 
       
   527 void ScrollView::scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect)
       
   528 {
       
   529     hostWindow()->scroll(scrollDelta, rectToScroll, clipRect);
   525 }
   530 }
   526 
   531 
   527 IntPoint ScrollView::windowToContents(const IntPoint& windowPoint) const
   532 IntPoint ScrollView::windowToContents(const IntPoint& windowPoint) const
   528 {
   533 {
   529     IntPoint viewPoint = convertFromContainingWindow(windowPoint);
   534     IntPoint viewPoint = convertFromContainingWindow(windowPoint);