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

Side by Side Diff: Source/core/dom/Document.cpp

Issue 16695002: Uptake WebKit Changeset r149185. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Refetch render view and null check AXObjectCache Created 7 years, 6 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 | « Source/core/dom/Document.h ('k') | Source/core/page/FrameView.cpp » ('j') | 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 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved.
9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved.
(...skipping 1855 matching lines...) Expand 10 before | Expand all | Expand 10 after
1866 { 1866 {
1867 m_styleResolver.clear(); 1867 m_styleResolver.clear();
1868 } 1868 }
1869 1869
1870 void Document::attach() 1870 void Document::attach()
1871 { 1871 {
1872 ASSERT(!attached()); 1872 ASSERT(!attached());
1873 ASSERT(!m_axObjectCache || this != topDocument()); 1873 ASSERT(!m_axObjectCache || this != topDocument());
1874 1874
1875 if (!m_renderArena) 1875 if (!m_renderArena)
1876 m_renderArena = adoptPtr(new RenderArena); 1876 m_renderArena = RenderArena::create();
1877 1877
1878 // Create the rendering tree 1878 // Create the rendering tree
1879 setRenderer(new (m_renderArena.get()) RenderView(this)); 1879 setRenderer(new (m_renderArena.get()) RenderView(this));
1880 renderView()->setIsInWindow(true); 1880 renderView()->setIsInWindow(true);
1881 1881
1882 recalcStyle(Force); 1882 recalcStyle(Force);
1883 1883
1884 ContainerNode::attach(); 1884 ContainerNode::attach();
1885 } 1885 }
1886 1886
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
2295 view()->layout(); 2295 view()->layout();
2296 } 2296 }
2297 2297
2298 m_processingLoadEvent = false; 2298 m_processingLoadEvent = false;
2299 2299
2300 if (f && renderObject && AXObjectCache::accessibilityEnabled()) { 2300 if (f && renderObject && AXObjectCache::accessibilityEnabled()) {
2301 // The AX cache may have been cleared at this point, but we need to make sure it contains an 2301 // The AX cache may have been cleared at this point, but we need to make sure it contains an
2302 // AX object to send the notification to. getOrCreate will make sure tha t an valid AX object 2302 // AX object to send the notification to. getOrCreate will make sure tha t an valid AX object
2303 // exists in the cache (we ignore the return value because we don't need it here). This is 2303 // exists in the cache (we ignore the return value because we don't need it here). This is
2304 // only safe to call when a layout is not in progress, so it can not be used in postNotification. 2304 // only safe to call when a layout is not in progress, so it can not be used in postNotification.
2305 axObjectCache()->getOrCreate(renderObject); 2305 if (AXObjectCache* cache = axObjectCache()) {
2306 if (this == topDocument()) 2306 cache->getOrCreate(renderObject);
2307 axObjectCache()->postNotification(renderObject, AXObjectCache::AXLoa dComplete, true); 2307 if (this == topDocument()) {
2308 else { 2308 cache->postNotification(renderObject, AXObjectCache::AXLoadCompl ete, true);
2309 // AXLoadComplete can only be posted on the top document, so if it's a document 2309 } else {
2310 // in an iframe that just finished loading, post AXLayoutComplete in stead. 2310 // AXLoadComplete can only be posted on the top document, so if it's a document
2311 axObjectCache()->postNotification(renderObject, AXObjectCache::AXLay outComplete, true); 2311 // in an iframe that just finished loading, post AXLayoutComplet e instead.
2312 cache->postNotification(renderObject, AXObjectCache::AXLayoutCom plete, true);
2313 }
2312 } 2314 }
2313 } 2315 }
2314 2316
2315 if (svgExtensions()) 2317 if (svgExtensions())
2316 accessSVGExtensions()->startAnimations(); 2318 accessSVGExtensions()->startAnimations();
2317 } 2319 }
2318 2320
2319 void Document::setParsing(bool b) 2321 void Document::setParsing(bool b)
2320 { 2322 {
2321 m_bParsing = b; 2323 m_bParsing = b;
(...skipping 3271 matching lines...) Expand 10 before | Expand all | Expand 10 after
5593 return; 5595 return;
5594 5596
5595 Vector<RefPtr<Element> > associatedFormControls; 5597 Vector<RefPtr<Element> > associatedFormControls;
5596 copyToVector(m_associatedFormControls, associatedFormControls); 5598 copyToVector(m_associatedFormControls, associatedFormControls);
5597 5599
5598 frame()->page()->chrome().client()->didAssociateFormControls(associatedFormC ontrols); 5600 frame()->page()->chrome().client()->didAssociateFormControls(associatedFormC ontrols);
5599 m_associatedFormControls.clear(); 5601 m_associatedFormControls.clear();
5600 } 5602 }
5601 5603
5602 } // namespace WebCore 5604 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/dom/Document.h ('k') | Source/core/page/FrameView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698