Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Side by Side Diff: Source/WebCore/rendering/RenderObject.cpp

Issue 11886026: Merge 139444 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1364/
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « LayoutTests/accessibility/corresponding-control-deleted-crash-expected.txt ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 2354 matching lines...) Expand 10 before | Expand all | Expand 10 after
2365 2365
2366 // If this renderer is being autoscrolled, stop the autoscroll timer 2366 // If this renderer is being autoscrolled, stop the autoscroll timer
2367 2367
2368 // FIXME: RenderObject::destroy should not get called with a renderer whose document 2368 // FIXME: RenderObject::destroy should not get called with a renderer whose document
2369 // has a null frame, so we assert this. However, we don't want release build s to crash which is why we 2369 // has a null frame, so we assert this. However, we don't want release build s to crash which is why we
2370 // check that the frame is not null. 2370 // check that the frame is not null.
2371 ASSERT(frame()); 2371 ASSERT(frame());
2372 if (frame() && frame()->eventHandler()->autoscrollRenderer() == this) 2372 if (frame() && frame()->eventHandler()->autoscrollRenderer() == this)
2373 frame()->eventHandler()->stopAutoscrollTimer(true); 2373 frame()->eventHandler()->stopAutoscrollTimer(true);
2374 2374
2375 if (AXObjectCache::accessibilityEnabled()) {
2376 document()->axObjectCache()->childrenChanged(this->parent());
2377 document()->axObjectCache()->remove(this);
2378 }
2379 animation()->cancelAnimations(this); 2375 animation()->cancelAnimations(this);
2380 2376
2377 // For accessibility management, notify the parent of the imminent change to its child set.
2378 // We do it now, before remove(), while the parent pointer is still availabl e.
2379 if (AXObjectCache::accessibilityEnabled())
2380 document()->axObjectCache()->childrenChanged(this->parent());
2381
2381 remove(); 2382 remove();
2382 2383
2384 // The remove() call above may invoke axObjectCache()->childrenChanged() on the parent, which may require the AX render
2385 // object for this renderer. So we remove the AX render object now, after th e renderer is removed.
2386 if (AXObjectCache::accessibilityEnabled())
2387 document()->axObjectCache()->remove(this);
2388
2383 // Continuation and first-letter can generate several renderers associated w ith a single node. 2389 // Continuation and first-letter can generate several renderers associated w ith a single node.
2384 // We only want to clear the node's renderer if we are the associated render er. 2390 // We only want to clear the node's renderer if we are the associated render er.
2385 if (node() && node()->renderer() == this) 2391 if (node() && node()->renderer() == this)
2386 node()->setRenderer(0); 2392 node()->setRenderer(0);
2387 2393
2388 #ifndef NDEBUG 2394 #ifndef NDEBUG
2389 if (!documentBeingDestroyed() && view() && view()->hasRenderNamedFlowThreads ()) { 2395 if (!documentBeingDestroyed() && view() && view()->hasRenderNamedFlowThreads ()) {
2390 // After remove, the object and the associated information should not be in any flow thread. 2396 // After remove, the object and the associated information should not be in any flow thread.
2391 const RenderNamedFlowThreadList* flowThreadList = view()->flowThreadCont roller()->renderNamedFlowThreadList(); 2397 const RenderNamedFlowThreadList* flowThreadList = view()->flowThreadCont roller()->renderNamedFlowThreadList();
2392 for (RenderNamedFlowThreadList::const_iterator iter = flowThreadList->be gin(); iter != flowThreadList->end(); ++iter) { 2398 for (RenderNamedFlowThreadList::const_iterator iter = flowThreadList->be gin(); iter != flowThreadList->end(); ++iter) {
(...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after
3170 { 3176 {
3171 if (object1) { 3177 if (object1) {
3172 const WebCore::RenderObject* root = object1; 3178 const WebCore::RenderObject* root = object1;
3173 while (root->parent()) 3179 while (root->parent())
3174 root = root->parent(); 3180 root = root->parent();
3175 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); 3181 root->showRenderTreeAndMark(object1, "*", object2, "-", 0);
3176 } 3182 }
3177 } 3183 }
3178 3184
3179 #endif 3185 #endif
OLDNEW
« no previous file with comments | « LayoutTests/accessibility/corresponding-control-deleted-crash-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698