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 | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
369 if (has_layout_object) { | 369 if (has_layout_object) { |
370 const LayoutBoxModelObject& paint_invalidation_container = | 370 const LayoutBoxModelObject& paint_invalidation_container = |
371 node_->GetLayoutObject()->ContainerForPaintInvalidation(); | 371 node_->GetLayoutObject()->ContainerForPaintInvalidation(); |
372 AttachLinkHighlightToCompositingLayer(paint_invalidation_container); | 372 AttachLinkHighlightToCompositingLayer(paint_invalidation_container); |
373 if (ComputeHighlightLayerPathAndPosition(paint_invalidation_container)) { | 373 if (ComputeHighlightLayerPathAndPosition(paint_invalidation_container)) { |
374 // We only need to invalidate the layer if the highlight size has changed, | 374 // We only need to invalidate the layer if the highlight size has changed, |
375 // otherwise we can just re-position the layer without needing to | 375 // otherwise we can just re-position the layer without needing to |
376 // repaint. | 376 // repaint. |
377 content_layer_->Layer()->Invalidate(); | 377 content_layer_->Layer()->Invalidate(); |
378 | 378 |
379 if (current_graphics_layer_) | 379 if (current_graphics_layer_) { |
380 current_graphics_layer_->TrackRasterInvalidation( | 380 current_graphics_layer_->TrackRasterInvalidation( |
381 LinkHighlightDisplayItemClientForTracking(), | 381 LinkHighlightDisplayItemClientForTracking(), |
382 EnclosingIntRect( | 382 EnclosingIntRect( |
383 FloatRect(Layer()->GetPosition().x, Layer()->GetPosition().y, | 383 FloatRect(Layer()->GetPosition().x, Layer()->GetPosition().y, |
384 Layer()->Bounds().width, Layer()->Bounds().height)), | 384 Layer()->Bounds().width, Layer()->Bounds().height)), |
385 kPaintInvalidationFull); | 385 PaintInvalidationReason::kFull); |
| 386 } |
386 } | 387 } |
387 } else { | 388 } else { |
388 ClearGraphicsLayerLinkHighlightPointer(); | 389 ClearGraphicsLayerLinkHighlightPointer(); |
389 ReleaseResources(); | 390 ReleaseResources(); |
390 } | 391 } |
391 } | 392 } |
392 | 393 |
393 void LinkHighlightImpl::ClearCurrentGraphicsLayer() { | 394 void LinkHighlightImpl::ClearCurrentGraphicsLayer() { |
394 current_graphics_layer_ = 0; | 395 current_graphics_layer_ = 0; |
395 geometry_needs_update_ = true; | 396 geometry_needs_update_ = true; |
396 } | 397 } |
397 | 398 |
398 void LinkHighlightImpl::Invalidate() { | 399 void LinkHighlightImpl::Invalidate() { |
399 // Make sure we update geometry on the next callback from | 400 // Make sure we update geometry on the next callback from |
400 // WebViewImpl::layout(). | 401 // WebViewImpl::layout(). |
401 geometry_needs_update_ = true; | 402 geometry_needs_update_ = true; |
402 } | 403 } |
403 | 404 |
404 WebLayer* LinkHighlightImpl::Layer() { | 405 WebLayer* LinkHighlightImpl::Layer() { |
405 return ClipLayer(); | 406 return ClipLayer(); |
406 } | 407 } |
407 | 408 |
408 CompositorAnimationPlayer* LinkHighlightImpl::CompositorPlayer() const { | 409 CompositorAnimationPlayer* LinkHighlightImpl::CompositorPlayer() const { |
409 return compositor_player_.get(); | 410 return compositor_player_.get(); |
410 } | 411 } |
411 | 412 |
412 } // namespace blink | 413 } // namespace blink |
OLD | NEW |