| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 | 61 |
| 62 static void paintInternal(Page& page, | 62 static void paintInternal(Page& page, |
| 63 WebCanvas* canvas, | 63 WebCanvas* canvas, |
| 64 const WebRect& rect, | 64 const WebRect& rect, |
| 65 LocalFrame& root, | 65 LocalFrame& root, |
| 66 const GlobalPaintFlags globalPaintFlags) { | 66 const GlobalPaintFlags globalPaintFlags) { |
| 67 if (rect.isEmpty()) | 67 if (rect.isEmpty()) |
| 68 return; | 68 return; |
| 69 | 69 |
| 70 IntRect intRect(rect); | 70 IntRect intRect(rect); |
| 71 // TODO(enne): intRect is not correct: http://crbug.com/703231 |
| 71 PaintRecordBuilder builder(intRect); | 72 PaintRecordBuilder builder(intRect); |
| 72 { | 73 { |
| 73 GraphicsContext& paintContext = builder.context(); | 74 GraphicsContext& paintContext = builder.context(); |
| 74 | 75 |
| 75 // FIXME: device scale factor settings are layering violations and should | 76 // FIXME: device scale factor settings are layering violations and should |
| 76 // not be used within Blink paint code. | 77 // not be used within Blink paint code. |
| 77 float scaleFactor = page.deviceScaleFactorDeprecated(); | 78 float scaleFactor = page.deviceScaleFactorDeprecated(); |
| 78 paintContext.setDeviceScaleFactor(scaleFactor); | 79 paintContext.setDeviceScaleFactor(scaleFactor); |
| 79 | 80 |
| 80 AffineTransform scale; | 81 AffineTransform scale; |
| 81 scale.scale(scaleFactor); | 82 scale.scale(scaleFactor); |
| 82 TransformRecorder scaleRecorder(paintContext, builder, scale); | 83 TransformRecorder scaleRecorder(paintContext, builder, scale); |
| 83 | 84 |
| 84 IntRect dirtyRect(rect); | 85 IntRect dirtyRect(rect); |
| 85 FrameView* view = root.view(); | 86 FrameView* view = root.view(); |
| 86 view->updateAllLifecyclePhasesExceptPaint(); | 87 view->updateAllLifecyclePhasesExceptPaint(); |
| 87 if (view) { | 88 if (view) { |
| 88 ClipRecorder clipRecorder(paintContext, builder, | 89 ClipRecorder clipRecorder(paintContext, builder, |
| 89 DisplayItem::kPageWidgetDelegateClip, | 90 DisplayItem::kPageWidgetDelegateClip, |
| 90 dirtyRect); | 91 dirtyRect); |
| 91 view->paint(paintContext, globalPaintFlags, CullRect(dirtyRect)); | 92 view->paint(paintContext, globalPaintFlags, CullRect(dirtyRect)); |
| 92 } else { | 93 } else { |
| 93 DrawingRecorder drawingRecorder( | 94 DrawingRecorder drawingRecorder( |
| 94 paintContext, builder, | 95 paintContext, builder, |
| 95 DisplayItem::kPageWidgetDelegateBackgroundFallback, dirtyRect); | 96 DisplayItem::kPageWidgetDelegateBackgroundFallback, dirtyRect); |
| 96 paintContext.fillRect(dirtyRect, Color::white); | 97 paintContext.fillRect(dirtyRect, Color::white); |
| 97 } | 98 } |
| 98 } | 99 } |
| 99 | 100 |
| 100 canvas->drawPicture(builder.endRecording()); | 101 canvas->PlaybackPaintRecord(builder.endRecording()); |
| 101 } | 102 } |
| 102 | 103 |
| 103 void PageWidgetDelegate::paint(Page& page, | 104 void PageWidgetDelegate::paint(Page& page, |
| 104 WebCanvas* canvas, | 105 WebCanvas* canvas, |
| 105 const WebRect& rect, | 106 const WebRect& rect, |
| 106 LocalFrame& root) { | 107 LocalFrame& root) { |
| 107 paintInternal(page, canvas, rect, root, GlobalPaintNormalPhase); | 108 paintInternal(page, canvas, rect, root, GlobalPaintNormalPhase); |
| 108 } | 109 } |
| 109 | 110 |
| 110 void PageWidgetDelegate::paintIgnoringCompositing(Page& page, | 111 void PageWidgetDelegate::paintIgnoringCompositing(Page& page, |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 const WebTouchEvent& event, | 270 const WebTouchEvent& event, |
| 270 const std::vector<const WebInputEvent*>& coalescedEvents) { | 271 const std::vector<const WebInputEvent*>& coalescedEvents) { |
| 271 WebTouchEvent transformedEvent = | 272 WebTouchEvent transformedEvent = |
| 272 TransformWebTouchEvent(mainFrame.view(), event); | 273 TransformWebTouchEvent(mainFrame.view(), event); |
| 273 return mainFrame.eventHandler().handleTouchEvent( | 274 return mainFrame.eventHandler().handleTouchEvent( |
| 274 transformedEvent, | 275 transformedEvent, |
| 275 TransformWebTouchEventVector(mainFrame.view(), coalescedEvents)); | 276 TransformWebTouchEventVector(mainFrame.view(), coalescedEvents)); |
| 276 } | 277 } |
| 277 | 278 |
| 278 } // namespace blink | 279 } // namespace blink |
| OLD | NEW |