| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> | 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> |
| 3 * 1999 Lars Knoll <knoll@kde.org> | 3 * 1999 Lars Knoll <knoll@kde.org> |
| 4 * 1999 Antti Koivisto <koivisto@kde.org> | 4 * 1999 Antti Koivisto <koivisto@kde.org> |
| 5 * 2000 Dirk Mueller <mueller@kde.org> | 5 * 2000 Dirk Mueller <mueller@kde.org> |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
| 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
| 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 9 * Copyright (C) 2009 Google Inc. All rights reserved. | 9 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 10 * | 10 * |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 #include "core/page/FrameActionScheduler.h" | 56 #include "core/page/FrameActionScheduler.h" |
| 57 #include "core/page/FrameTree.h" | 57 #include "core/page/FrameTree.h" |
| 58 #include "core/page/Settings.h" | 58 #include "core/page/Settings.h" |
| 59 #include "core/page/animation/AnimationController.h" | 59 #include "core/page/animation/AnimationController.h" |
| 60 #include "core/page/scrolling/ScrollingCoordinator.h" | 60 #include "core/page/scrolling/ScrollingCoordinator.h" |
| 61 #include "core/platform/ScrollAnimator.h" | 61 #include "core/platform/ScrollAnimator.h" |
| 62 #include "core/platform/graphics/FloatRect.h" | 62 #include "core/platform/graphics/FloatRect.h" |
| 63 #include "core/platform/graphics/FontCache.h" | 63 #include "core/platform/graphics/FontCache.h" |
| 64 #include "core/platform/graphics/GraphicsContext.h" | 64 #include "core/platform/graphics/GraphicsContext.h" |
| 65 #include "core/platform/text/TextStream.h" | 65 #include "core/platform/text/TextStream.h" |
| 66 #include "core/rendering/RenderArena.h" | |
| 67 #include "core/rendering/RenderEmbeddedObject.h" | 66 #include "core/rendering/RenderEmbeddedObject.h" |
| 68 #include "core/rendering/RenderFullScreen.h" | 67 #include "core/rendering/RenderFullScreen.h" |
| 69 #include "core/rendering/RenderIFrame.h" | 68 #include "core/rendering/RenderIFrame.h" |
| 70 #include "core/rendering/RenderLayer.h" | 69 #include "core/rendering/RenderLayer.h" |
| 71 #include "core/rendering/RenderLayerBacking.h" | 70 #include "core/rendering/RenderLayerBacking.h" |
| 72 #include "core/rendering/RenderLayerCompositor.h" | 71 #include "core/rendering/RenderLayerCompositor.h" |
| 73 #include "core/rendering/RenderLazyBlock.h" | 72 #include "core/rendering/RenderLazyBlock.h" |
| 74 #include "core/rendering/RenderPart.h" | 73 #include "core/rendering/RenderPart.h" |
| 75 #include "core/rendering/RenderScrollbar.h" | 74 #include "core/rendering/RenderScrollbar.h" |
| 76 #include "core/rendering/RenderScrollbarPart.h" | 75 #include "core/rendering/RenderScrollbarPart.h" |
| (...skipping 2110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2187 | 2186 |
| 2188 bool FrameView::updateWidgets() | 2187 bool FrameView::updateWidgets() |
| 2189 { | 2188 { |
| 2190 if (m_nestedLayoutCount > 1 || !m_widgetUpdateSet || m_widgetUpdateSet->isEm
pty()) | 2189 if (m_nestedLayoutCount > 1 || !m_widgetUpdateSet || m_widgetUpdateSet->isEm
pty()) |
| 2191 return true; | 2190 return true; |
| 2192 | 2191 |
| 2193 size_t size = m_widgetUpdateSet->size(); | 2192 size_t size = m_widgetUpdateSet->size(); |
| 2194 | 2193 |
| 2195 Vector<RenderObject*> objects; | 2194 Vector<RenderObject*> objects; |
| 2196 objects.reserveInitialCapacity(size); | 2195 objects.reserveInitialCapacity(size); |
| 2197 // Protect RendereArena from getting wiped out, when Document is detached du
ring updateWidget(). | |
| 2198 RefPtr<RenderArena> protectedArena = m_frame->document()->renderArena(); | |
| 2199 | 2196 |
| 2200 RenderObjectSet::const_iterator end = m_widgetUpdateSet->end(); | 2197 RenderObjectSet::const_iterator end = m_widgetUpdateSet->end(); |
| 2201 for (RenderObjectSet::const_iterator it = m_widgetUpdateSet->begin(); it !=
end; ++it) { | 2198 for (RenderObjectSet::const_iterator it = m_widgetUpdateSet->begin(); it !=
end; ++it) { |
| 2202 RenderObject* object = *it; | 2199 RenderObject* object = *it; |
| 2203 objects.uncheckedAppend(object); | 2200 objects.uncheckedAppend(object); |
| 2204 if (object->isEmbeddedObject()) { | 2201 if (object->isEmbeddedObject()) { |
| 2205 RenderEmbeddedObject* embeddedObject = static_cast<RenderEmbeddedObj
ect*>(object); | 2202 RenderEmbeddedObject* embeddedObject = static_cast<RenderEmbeddedObj
ect*>(object); |
| 2206 embeddedObject->ref(); | 2203 embeddedObject->ref(); |
| 2207 } | 2204 } |
| 2208 } | 2205 } |
| 2209 | 2206 |
| 2210 for (size_t i = 0; i < size; ++i) { | 2207 for (size_t i = 0; i < size; ++i) { |
| 2211 RenderObject* object = objects[i]; | 2208 RenderObject* object = objects[i]; |
| 2212 updateWidget(object); | 2209 updateWidget(object); |
| 2213 m_widgetUpdateSet->remove(object); | 2210 m_widgetUpdateSet->remove(object); |
| 2214 } | 2211 } |
| 2215 | 2212 |
| 2216 for (size_t i = 0; i < size; ++i) { | 2213 for (size_t i = 0; i < size; ++i) { |
| 2217 RenderObject* object = objects[i]; | 2214 RenderObject* object = objects[i]; |
| 2218 if (object->isEmbeddedObject()) { | 2215 if (object->isEmbeddedObject()) { |
| 2219 RenderEmbeddedObject* embeddedObject = static_cast<RenderEmbeddedObj
ect*>(object); | 2216 RenderEmbeddedObject* embeddedObject = static_cast<RenderEmbeddedObj
ect*>(object); |
| 2220 embeddedObject->deref(protectedArena.get()); | 2217 embeddedObject->deref(); |
| 2221 } | 2218 } |
| 2222 } | 2219 } |
| 2223 | 2220 |
| 2224 return m_widgetUpdateSet->isEmpty(); | 2221 return m_widgetUpdateSet->isEmpty(); |
| 2225 } | 2222 } |
| 2226 | 2223 |
| 2227 void FrameView::flushAnyPendingPostLayoutTasks() | 2224 void FrameView::flushAnyPendingPostLayoutTasks() |
| 2228 { | 2225 { |
| 2229 if (!m_postLayoutTasksTimer.isActive()) | 2226 if (!m_postLayoutTasksTimer.isActive()) |
| 2230 return; | 2227 return; |
| (...skipping 1186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3417 } | 3414 } |
| 3418 | 3415 |
| 3419 AXObjectCache* FrameView::axObjectCache() const | 3416 AXObjectCache* FrameView::axObjectCache() const |
| 3420 { | 3417 { |
| 3421 if (frame() && frame()->document()) | 3418 if (frame() && frame()->document()) |
| 3422 return frame()->document()->existingAXObjectCache(); | 3419 return frame()->document()->existingAXObjectCache(); |
| 3423 return 0; | 3420 return 0; |
| 3424 } | 3421 } |
| 3425 | 3422 |
| 3426 } // namespace WebCore | 3423 } // namespace WebCore |
| OLD | NEW |