| 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 30 matching lines...) Expand all Loading... |
| 41 #include "core/html/HTMLElement.h" | 41 #include "core/html/HTMLElement.h" |
| 42 #include "core/html/HTMLHtmlElement.h" | 42 #include "core/html/HTMLHtmlElement.h" |
| 43 #include "core/html/HTMLTableElement.h" | 43 #include "core/html/HTMLTableElement.h" |
| 44 #include "core/page/AutoscrollController.h" | 44 #include "core/page/AutoscrollController.h" |
| 45 #include "core/page/EventHandler.h" | 45 #include "core/page/EventHandler.h" |
| 46 #include "core/frame/Frame.h" | 46 #include "core/frame/Frame.h" |
| 47 #include "core/frame/FrameView.h" | 47 #include "core/frame/FrameView.h" |
| 48 #include "core/page/Page.h" | 48 #include "core/page/Page.h" |
| 49 #include "core/frame/Settings.h" | 49 #include "core/frame/Settings.h" |
| 50 #include "core/frame/UseCounter.h" | 50 #include "core/frame/UseCounter.h" |
| 51 #include "core/frame/animation/AnimationController.h" | |
| 52 #include "core/rendering/CompositedLayerMapping.h" | 51 #include "core/rendering/CompositedLayerMapping.h" |
| 53 #include "core/rendering/FlowThreadController.h" | 52 #include "core/rendering/FlowThreadController.h" |
| 54 #include "core/rendering/HitTestResult.h" | 53 #include "core/rendering/HitTestResult.h" |
| 55 #include "core/rendering/LayoutRectRecorder.h" | 54 #include "core/rendering/LayoutRectRecorder.h" |
| 56 #include "core/rendering/RenderCounter.h" | 55 #include "core/rendering/RenderCounter.h" |
| 57 #include "core/rendering/RenderDeprecatedFlexibleBox.h" | 56 #include "core/rendering/RenderDeprecatedFlexibleBox.h" |
| 58 #include "core/rendering/RenderFlexibleBox.h" | 57 #include "core/rendering/RenderFlexibleBox.h" |
| 59 #include "core/rendering/RenderGeometryMap.h" | 58 #include "core/rendering/RenderGeometryMap.h" |
| 60 #include "core/rendering/RenderGrid.h" | 59 #include "core/rendering/RenderGrid.h" |
| 61 #include "core/rendering/RenderImage.h" | 60 #include "core/rendering/RenderImage.h" |
| (...skipping 1730 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1792 else { | 1791 else { |
| 1793 // An anonymous block must be made to wrap this inline. | 1792 // An anonymous block must be made to wrap this inline. |
| 1794 RenderBlock* block = toRenderBlock(parent())->createAnonymousBlock()
; | 1793 RenderBlock* block = toRenderBlock(parent())->createAnonymousBlock()
; |
| 1795 RenderObjectChildList* childlist = parent()->virtualChildren(); | 1794 RenderObjectChildList* childlist = parent()->virtualChildren(); |
| 1796 childlist->insertChildNode(parent(), block, this); | 1795 childlist->insertChildNode(parent(), block, this); |
| 1797 block->children()->appendChildNode(block, childlist->removeChildNode
(parent(), this)); | 1796 block->children()->appendChildNode(block, childlist->removeChildNode
(parent(), this)); |
| 1798 } | 1797 } |
| 1799 } | 1798 } |
| 1800 } | 1799 } |
| 1801 | 1800 |
| 1802 void RenderObject::setAnimatableStyle(PassRefPtr<RenderStyle> style) | |
| 1803 { | |
| 1804 if (!isText() && style && !RuntimeEnabledFeatures::webAnimationsCSSEnabled()
) { | |
| 1805 setStyle(animation().updateAnimations(*this, *style)); | |
| 1806 return; | |
| 1807 } | |
| 1808 setStyle(style); | |
| 1809 } | |
| 1810 | |
| 1811 StyleDifference RenderObject::adjustStyleDifference(StyleDifference diff, unsign
ed contextSensitiveProperties) const | 1801 StyleDifference RenderObject::adjustStyleDifference(StyleDifference diff, unsign
ed contextSensitiveProperties) const |
| 1812 { | 1802 { |
| 1813 // If transform changed, and the layer does not paint into its own separate
backing, then we need to do a layout. | 1803 // If transform changed, and the layer does not paint into its own separate
backing, then we need to do a layout. |
| 1814 // FIXME: The comment above is what the code does, but it is technically not
following spec. This means we will | 1804 // FIXME: The comment above is what the code does, but it is technically not
following spec. This means we will |
| 1815 // not to layout for 3d transforms, but we should be invoking a simplified r
elayout. Is it possible we are avoiding | 1805 // not to layout for 3d transforms, but we should be invoking a simplified r
elayout. Is it possible we are avoiding |
| 1816 // doing this for some performance reason at this time? | 1806 // doing this for some performance reason at this time? |
| 1817 if (contextSensitiveProperties & ContextSensitivePropertyTransform) { | 1807 if (contextSensitiveProperties & ContextSensitivePropertyTransform) { |
| 1818 // Text nodes share style with their parents but transforms don't apply
to them, | 1808 // Text nodes share style with their parents but transforms don't apply
to them, |
| 1819 // hence the !isText() check. | 1809 // hence the !isText() check. |
| 1820 // FIXME: when transforms are taken into account for overflow, we will n
eed to do a layout. | 1810 // FIXME: when transforms are taken into account for overflow, we will n
eed to do a layout. |
| (...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2559 { | 2549 { |
| 2560 // Destroy any leftover anonymous children. | 2550 // Destroy any leftover anonymous children. |
| 2561 RenderObjectChildList* children = virtualChildren(); | 2551 RenderObjectChildList* children = virtualChildren(); |
| 2562 if (children) | 2552 if (children) |
| 2563 children->destroyLeftoverChildren(); | 2553 children->destroyLeftoverChildren(); |
| 2564 | 2554 |
| 2565 // If this renderer is being autoscrolled, stop the autoscrolling. | 2555 // If this renderer is being autoscrolled, stop the autoscrolling. |
| 2566 if (Frame* frame = this->frame()) { | 2556 if (Frame* frame = this->frame()) { |
| 2567 if (frame->page()) | 2557 if (frame->page()) |
| 2568 frame->page()->autoscrollController().stopAutoscrollIfNeeded(this); | 2558 frame->page()->autoscrollController().stopAutoscrollIfNeeded(this); |
| 2569 frame->animation().cancelAnimations(this); | |
| 2570 } | 2559 } |
| 2571 | 2560 |
| 2572 // For accessibility management, notify the parent of the imminent change to
its child set. | 2561 // For accessibility management, notify the parent of the imminent change to
its child set. |
| 2573 // We do it now, before remove(), while the parent pointer is still availabl
e. | 2562 // We do it now, before remove(), while the parent pointer is still availabl
e. |
| 2574 if (AXObjectCache* cache = document().existingAXObjectCache()) | 2563 if (AXObjectCache* cache = document().existingAXObjectCache()) |
| 2575 cache->childrenChanged(this->parent()); | 2564 cache->childrenChanged(this->parent()); |
| 2576 | 2565 |
| 2577 remove(); | 2566 remove(); |
| 2578 | 2567 |
| 2579 // The remove() call above may invoke axObjectCache()->childrenChanged() on
the parent, which may require the AX render | 2568 // The remove() call above may invoke axObjectCache()->childrenChanged() on
the parent, which may require the AX render |
| (...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3130 { | 3119 { |
| 3131 int outlineSize = outlineStyleForRepaint()->outlineSize(); | 3120 int outlineSize = outlineStyleForRepaint()->outlineSize(); |
| 3132 if (const ShadowList* boxShadow = style()->boxShadow()) { | 3121 if (const ShadowList* boxShadow = style()->boxShadow()) { |
| 3133 boxShadow->adjustRectForShadow(rect, outlineSize); | 3122 boxShadow->adjustRectForShadow(rect, outlineSize); |
| 3134 return; | 3123 return; |
| 3135 } | 3124 } |
| 3136 | 3125 |
| 3137 rect.inflate(outlineSize); | 3126 rect.inflate(outlineSize); |
| 3138 } | 3127 } |
| 3139 | 3128 |
| 3140 AnimationController& RenderObject::animation() const | |
| 3141 { | |
| 3142 return frame()->animation(); | |
| 3143 } | |
| 3144 | |
| 3145 bool RenderObject::isInert() const | 3129 bool RenderObject::isInert() const |
| 3146 { | 3130 { |
| 3147 const RenderObject* renderer = this; | 3131 const RenderObject* renderer = this; |
| 3148 while (!renderer->node()) | 3132 while (!renderer->node()) |
| 3149 renderer = renderer->parent(); | 3133 renderer = renderer->parent(); |
| 3150 return renderer->node()->isInert(); | 3134 return renderer->node()->isInert(); |
| 3151 } | 3135 } |
| 3152 | 3136 |
| 3153 void RenderObject::imageChanged(ImageResource* image, const IntRect* rect) | 3137 void RenderObject::imageChanged(ImageResource* image, const IntRect* rect) |
| 3154 { | 3138 { |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3390 { | 3374 { |
| 3391 if (object1) { | 3375 if (object1) { |
| 3392 const WebCore::RenderObject* root = object1; | 3376 const WebCore::RenderObject* root = object1; |
| 3393 while (root->parent()) | 3377 while (root->parent()) |
| 3394 root = root->parent(); | 3378 root = root->parent(); |
| 3395 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); | 3379 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); |
| 3396 } | 3380 } |
| 3397 } | 3381 } |
| 3398 | 3382 |
| 3399 #endif | 3383 #endif |
| OLD | NEW |