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

Side by Side Diff: WebCore/dom/Element.cpp

Issue 2881019: Merge 60984 - 2010-06-10 Tony Chang <tony@chromium.org>... (Closed) Base URL: svn://chrome-svn/chrome/branches/WebKit/375/
Patch Set: Created 10 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « LayoutTests/fast/events/focus-change-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) 2001 Peter Kelly (pmk@post.com) 4 * (C) 2001 Peter Kelly (pmk@post.com)
5 * (C) 2001 Dirk Mueller (mueller@kde.org) 5 * (C) 2001 Dirk Mueller (mueller@kde.org)
6 * (C) 2007 David Smith (catfish.man@gmail.com) 6 * (C) 2007 David Smith (catfish.man@gmail.com)
7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed.
8 * (C) 2007 Eric Seidel (eric@webkit.org) 8 * (C) 2007 Eric Seidel (eric@webkit.org)
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 1290 matching lines...) Expand 10 before | Expand all | Expand 10 after
1301 1301
1302 // If the stylesheets have already been loaded we can reliably check isFocus able. 1302 // If the stylesheets have already been loaded we can reliably check isFocus able.
1303 // If not, we continue and set the focused node on the focus controller belo w so 1303 // If not, we continue and set the focused node on the focus controller belo w so
1304 // that it can be updated soon after attach. 1304 // that it can be updated soon after attach.
1305 if (doc->haveStylesheetsLoaded()) { 1305 if (doc->haveStylesheetsLoaded()) {
1306 doc->updateLayoutIgnorePendingStylesheets(); 1306 doc->updateLayoutIgnorePendingStylesheets();
1307 if (!isFocusable()) 1307 if (!isFocusable())
1308 return; 1308 return;
1309 } 1309 }
1310 1310
1311 if (Page* page = doc->page()) 1311 RefPtr<Node> protect;
1312 if (Page* page = doc->page()) {
1313 // Focus and change event handlers can cause us to lose our last ref.
1314 protect = this;
1312 page->focusController()->setFocusedNode(this, doc->frame()); 1315 page->focusController()->setFocusedNode(this, doc->frame());
1316 }
1313 1317
1314 // Setting the focused node above might have invalidated the layout due to s cripts. 1318 // Setting the focused node above might have invalidated the layout due to s cripts.
1315 doc->updateLayoutIgnorePendingStylesheets(); 1319 doc->updateLayoutIgnorePendingStylesheets();
1316 1320
1317 if (!isFocusable()) { 1321 if (!isFocusable()) {
1318 ensureRareData()->setNeedsFocusAppearanceUpdateSoonAfterAttach(true); 1322 ensureRareData()->setNeedsFocusAppearanceUpdateSoonAfterAttach(true);
1319 return; 1323 return;
1320 } 1324 }
1321 1325
1322 cancelFocusAppearanceUpdate(); 1326 cancelFocusAppearanceUpdate();
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
1532 { 1536 {
1533 // Only create renderers for SVG elements whose parents are SVG elements, or for proper <svg xmlns="svgNS"> subdocuments. 1537 // Only create renderers for SVG elements whose parents are SVG elements, or for proper <svg xmlns="svgNS"> subdocuments.
1534 if (child->isSVGElement()) 1538 if (child->isSVGElement())
1535 return child->hasTagName(SVGNames::svgTag) || isSVGElement(); 1539 return child->hasTagName(SVGNames::svgTag) || isSVGElement();
1536 1540
1537 return Node::childShouldCreateRenderer(child); 1541 return Node::childShouldCreateRenderer(child);
1538 } 1542 }
1539 #endif 1543 #endif
1540 1544
1541 } // namespace WebCore 1545 } // namespace WebCore
OLDNEW
« no previous file with comments | « LayoutTests/fast/events/focus-change-crash-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698