Changeset 187274 in webkit
- Timestamp:
- Jul 23, 2015, 5:19:58 PM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
-
ChangeLog (modified) (1 diff)
-
page/FrameSnapshotting.cpp (modified) (2 diffs)
-
page/TextIndicator.cpp (modified) (1 diff)
-
platform/graphics/ImageBuffer.h (modified) (1 diff)
-
rendering/RenderLayerCompositor.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r187273 r187274 1 2015-07-23 Timothy Horton <timothy_horton@apple.com> 2 3 [iOS] Frame snapshots don't factor in page scale 4 https://bugs.webkit.org/show_bug.cgi?id=147239 5 <rdar://problem/21905756> 6 7 Reviewed by Simon Fraser. 8 9 * page/FrameSnapshotting.cpp: 10 (WebCore::snapshotFrameRect): 11 Apply page scale when determining the backing store size and setting up the context. 12 13 * page/TextIndicator.cpp: 14 (WebCore::TextIndicator::createWithSelectionInFrame): 15 Don't assume snapshotFrameRect gave us an image with scale=deviceScale, because it 16 will factor in the pageScale too. 17 18 * platform/graphics/ImageBuffer.h: 19 (WebCore::ImageBuffer::resolutionScale): 20 Expose resolutionScale. 21 22 * rendering/RenderLayerCompositor.cpp: 23 (WebCore::RenderLayerCompositor::addToOverlapMap): 24 This has been true for a long time. 25 1 26 2015-07-23 Jon Davis <jond@apple.com> 2 27 -
trunk/Source/WebCore/page/FrameSnapshotting.cpp
r186956 r187274 40 40 #include "Page.h" 41 41 #include "RenderObject.h" 42 #include "Settings.h" 42 43 43 44 namespace WebCore { … … 94 95 frame.view()->setPaintBehavior(paintBehavior); 95 96 96 std::unique_ptr<ImageBuffer> buffer = ImageBuffer::create(imageRect.size(), frame.page()->deviceScaleFactor(), ColorSpaceDeviceRGB); 97 float scaleFactor = frame.page()->deviceScaleFactor(); 98 99 if (frame.settings().delegatesPageScaling()) 100 scaleFactor *= frame.page()->pageScaleFactor(); 101 102 std::unique_ptr<ImageBuffer> buffer = ImageBuffer::create(imageRect.size(), scaleFactor, ColorSpaceDeviceRGB); 97 103 if (!buffer) 98 104 return nullptr; -
trunk/Source/WebCore/page/TextIndicator.cpp
r186978 r187274 164 164 data.textBoundingRectInRootViewCoordinates = textBoundingRectInRootViewCoordinates; 165 165 data.textRectsInBoundingRectCoordinates = textRectsInBoundingRectCoordinates; 166 data.contentImageScaleFactor = frame.page()->deviceScaleFactor();166 data.contentImageScaleFactor = indicatorBuffer->resolutionScale(); 167 167 data.contentImage = indicatorBitmap; 168 168 data.contentImageWithHighlight = indicatorBitmapWithHighlight; -
trunk/Source/WebCore/platform/graphics/ImageBuffer.h
r185731 r187274 93 93 const IntSize& logicalSize() const { return m_logicalSize; } 94 94 95 float resolutionScale() const { return m_resolutionScale; } 96 95 97 WEBCORE_EXPORT GraphicsContext* context() const; 96 98 -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r187271 r187274 1234 1234 1235 1235 // On iOS, pageScaleFactor() is not applied by RenderView, so we should not scale here. 1236 // FIXME: Set Settings::delegatesPageScaling to true for iOS.1237 #if !PLATFORM(IOS)1238 1236 const Settings& settings = m_renderView.frameView().frame().settings(); 1239 1237 if (!settings.delegatesPageScaling()) 1240 1238 clipRect.scale(pageScaleFactor()); 1241 #endif1242 1239 clipRect.intersect(extent.bounds); 1243 1240 overlapMap.add(clipRect);
Note:
See TracChangeset
for help on using the changeset viewer.