OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) | 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv
ed. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv
ed. |
7 * Copyright (C) 2009 Google Inc. All rights reserved. | 7 * Copyright (C) 2009 Google Inc. All rights reserved. |
8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
9 * | 9 * |
10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
(...skipping 3231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3242 bool isUpgradingDelayedFullToFull = m_bitfields.fullPaintInvalidationReason(
) == PaintInvalidationDelayedFull && reason != PaintInvalidationDelayedFull; | 3242 bool isUpgradingDelayedFullToFull = m_bitfields.fullPaintInvalidationReason(
) == PaintInvalidationDelayedFull && reason != PaintInvalidationDelayedFull; |
3243 | 3243 |
3244 if (m_bitfields.fullPaintInvalidationReason() == PaintInvalidationNone || is
UpgradingDelayedFullToFull) { | 3244 if (m_bitfields.fullPaintInvalidationReason() == PaintInvalidationNone || is
UpgradingDelayedFullToFull) { |
3245 if (reason == PaintInvalidationFull) | 3245 if (reason == PaintInvalidationFull) |
3246 reason = documentLifecycleBasedPaintInvalidationReason(document().li
fecycle()); | 3246 reason = documentLifecycleBasedPaintInvalidationReason(document().li
fecycle()); |
3247 m_bitfields.setFullPaintInvalidationReason(reason); | 3247 m_bitfields.setFullPaintInvalidationReason(reason); |
3248 } | 3248 } |
3249 | 3249 |
3250 if (!isUpgradingDelayedFullToFull) { | 3250 if (!isUpgradingDelayedFullToFull) { |
3251 ASSERT(document().lifecycle().state() != DocumentLifecycle::InPaintInval
idation); | 3251 ASSERT(document().lifecycle().state() != DocumentLifecycle::InPaintInval
idation); |
3252 frame()->page()->animator().scheduleVisualUpdate(); // In case that this
is called outside of FrameView::updateLayoutAndStyleForPainting(). | 3252 if (!frameView() || !frameView()->shouldThrottleRenderingPipeline()) |
| 3253 frame()->page()->animator().scheduleVisualUpdate(); // In case that
this is called outside of FrameView::updateLayoutAndStyleForPainting(). |
3253 markContainerChainForPaintInvalidation(); | 3254 markContainerChainForPaintInvalidation(); |
3254 } | 3255 } |
3255 } | 3256 } |
3256 | 3257 |
3257 void LayoutObject::setMayNeedPaintInvalidation() | 3258 void LayoutObject::setMayNeedPaintInvalidation() |
3258 { | 3259 { |
3259 if (mayNeedPaintInvalidation()) | 3260 if (mayNeedPaintInvalidation()) |
3260 return; | 3261 return; |
3261 m_bitfields.setMayNeedPaintInvalidation(true); | 3262 m_bitfields.setMayNeedPaintInvalidation(true); |
3262 markContainerChainForPaintInvalidation(); | 3263 markContainerChainForPaintInvalidation(); |
3263 frame()->page()->animator().scheduleVisualUpdate(); // In case that this is
called outside of FrameView::updateLayoutAndStyleForPainting(). | 3264 if (!frameView() || !frameView()->shouldThrottleRenderingPipeline()) |
| 3265 frame()->page()->animator().scheduleVisualUpdate(); // In case that this
is called outside of FrameView::updateLayoutAndStyleForPainting(). |
3264 } | 3266 } |
3265 | 3267 |
3266 void LayoutObject::clearPaintInvalidationState(const PaintInvalidationState& pai
ntInvalidationState) | 3268 void LayoutObject::clearPaintInvalidationState(const PaintInvalidationState& pai
ntInvalidationState) |
3267 { | 3269 { |
3268 // paintInvalidationStateIsDirty should be kept in sync with the | 3270 // paintInvalidationStateIsDirty should be kept in sync with the |
3269 // booleans that are cleared below. | 3271 // booleans that are cleared below. |
3270 ASSERT(paintInvalidationState.forcedSubtreeInvalidationWithinContainer() ||
paintInvalidationState.forcedSubtreeInvalidationRectUpdateWithinContainer() || p
aintInvalidationStateIsDirty()); | 3272 ASSERT(paintInvalidationState.forcedSubtreeInvalidationWithinContainer() ||
paintInvalidationState.forcedSubtreeInvalidationRectUpdateWithinContainer() || p
aintInvalidationStateIsDirty()); |
3271 clearShouldDoFullPaintInvalidation(); | 3273 clearShouldDoFullPaintInvalidation(); |
3272 m_bitfields.setChildShouldCheckForPaintInvalidation(false); | 3274 m_bitfields.setChildShouldCheckForPaintInvalidation(false); |
3273 m_bitfields.setNeededLayoutBecauseOfChildren(false); | 3275 m_bitfields.setNeededLayoutBecauseOfChildren(false); |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3471 const blink::LayoutObject* root = object1; | 3473 const blink::LayoutObject* root = object1; |
3472 while (root->parent()) | 3474 while (root->parent()) |
3473 root = root->parent(); | 3475 root = root->parent(); |
3474 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); | 3476 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); |
3475 } else { | 3477 } else { |
3476 fprintf(stderr, "Cannot showLayoutTree. Root is (nil)\n"); | 3478 fprintf(stderr, "Cannot showLayoutTree. Root is (nil)\n"); |
3477 } | 3479 } |
3478 } | 3480 } |
3479 | 3481 |
3480 #endif | 3482 #endif |
OLD | NEW |