⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 102197 in webkit


Ignore:
Timestamp:
Dec 6, 2011, 5:22:20 PM (15 years ago)
Author:
Lucas Forschler
Message:

Merged r92491.

Location:
branches/safari-534.53-branch/Source/WebKit2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-534.53-branch/Source/WebKit2/ChangeLog

    r101877 r102197  
     12011-12-06  Lucas Forschler  <lforschler@apple.com>
     2
     3    Merge 92491
     4
     5    2011-08-05  Darin Adler  <darin@apple.com>
     6
     7            Reviewed by Anders Carlsson.
     8
     9            [WebKit2] Fix code paths that can leave frame view paint behavior in the wrong state
     10            https://bugs.webkit.org/show_bug.cgi?id=63779
     11
     12            * WebProcess/Plugins/PluginView.cpp:
     13            (WebKit::PluginView::handleEvent): Unrelated cleanup. Removed unneeded local variable.
     14
     15            * WebProcess/WebPage/WebPage.cpp:
     16            (WebKit::WebPage::snapshotInViewCoordinates): Rearranged code so that the call to
     17            setPaintBehavior is after the early exit. Also got rid of unneeded save/restore since
     18            the function uses a graphics context that it then throws away.
     19            (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Ditto.
     20
    1212011-12-02  Lucas Forschler  <lforschler@apple.com>
    222
  • branches/safari-534.53-branch/Source/WebKit2/WebProcess/Plugins/PluginView.cpp

    r98605 r102197  
    636636       
    637637        // Adjust mouse coordinates to account for pageScaleFactor
    638         float scaleFactor = frame()->pageScaleFactor();
    639         WebMouseEvent eventWithScaledCoordinates(*(static_cast<const WebMouseEvent*>(currentEvent)), scaleFactor);
     638        WebMouseEvent eventWithScaledCoordinates(*static_cast<const WebMouseEvent*>(currentEvent), frame()->pageScaleFactor());
    640639        didHandleEvent = m_plugin->handleMouseEvent(eventWithScaledCoordinates);
    641640    } else if (event->type() == eventNames().mousewheelEvent && currentEvent->type() == WebEvent::Wheel) {
  • branches/safari-534.53-branch/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r100524 r102197  
    871871        return 0;
    872872
    873     frameView->updateLayoutAndStyleIfNeededRecursive();
    874 
    875     PaintBehavior oldBehavior = frameView->paintBehavior();
    876     frameView->setPaintBehavior(oldBehavior | PaintBehaviorFlattenCompositingLayers);
    877 
    878873    RefPtr<WebImage> snapshot = WebImage::create(rect.size(), options);
    879874    if (!snapshot->bitmap())
     
    881876   
    882877    OwnPtr<WebCore::GraphicsContext> graphicsContext = snapshot->bitmap()->createGraphicsContext();
    883 
    884     graphicsContext->save();
    885878    graphicsContext->translate(-rect.x(), -rect.y());
     879
     880    frameView->updateLayoutAndStyleIfNeededRecursive();
     881
     882    PaintBehavior oldBehavior = frameView->paintBehavior();
     883    frameView->setPaintBehavior(oldBehavior | PaintBehaviorFlattenCompositingLayers);
    886884    frameView->paint(graphicsContext.get(), rect);
    887     graphicsContext->restore();
    888 
    889885    frameView->setPaintBehavior(oldBehavior);
    890886
     
    898894        return 0;
    899895
    900     frameView->updateLayoutAndStyleIfNeededRecursive();
    901 
    902     PaintBehavior oldBehavior = frameView->paintBehavior();
    903     frameView->setPaintBehavior(oldBehavior | PaintBehaviorFlattenCompositingLayers);
    904 
    905     bool scale = scaleFactor != 1;
    906     IntSize size = rect.size();
    907     if (scale)
    908         size = IntSize(ceil(rect.width() * scaleFactor), ceil(rect.height() * scaleFactor));
    909 
     896    IntSize size(ceil(rect.width() * scaleFactor), ceil(rect.height() * scaleFactor));
    910897    RefPtr<WebImage> snapshot = WebImage::create(size, options);
    911898    if (!snapshot->bitmap())
    912899        return 0;
    913    
     900
    914901    OwnPtr<WebCore::GraphicsContext> graphicsContext = snapshot->bitmap()->createGraphicsContext();
    915     graphicsContext->save();
    916    
    917     if (scale)
    918         graphicsContext->scale(FloatSize(scaleFactor, scaleFactor));
    919    
     902    graphicsContext->scale(FloatSize(scaleFactor, scaleFactor));
    920903    graphicsContext->translate(-rect.x(), -rect.y());
     904
     905    frameView->updateLayoutAndStyleIfNeededRecursive();
     906
     907    PaintBehavior oldBehavior = frameView->paintBehavior();
     908    frameView->setPaintBehavior(oldBehavior | PaintBehaviorFlattenCompositingLayers);
    921909    frameView->paintContents(graphicsContext.get(), rect);
    922     graphicsContext->restore();
    923 
    924910    frameView->setPaintBehavior(oldBehavior);
    925911
Note: See TracChangeset for help on using the changeset viewer.