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) 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 2101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2112 m_layoutView->setIsInWindow(true); | 2112 m_layoutView->setIsInWindow(true); |
2113 m_layoutView->setStyle(StyleResolver::styleForDocument(*this)); | 2113 m_layoutView->setStyle(StyleResolver::styleForDocument(*this)); |
2114 m_layoutView->compositor()->setNeedsCompositingUpdate(CompositingUpdateAfter
CompositingInputChange); | 2114 m_layoutView->compositor()->setNeedsCompositingUpdate(CompositingUpdateAfter
CompositingInputChange); |
2115 | 2115 |
2116 ContainerNode::attach(context); | 2116 ContainerNode::attach(context); |
2117 | 2117 |
2118 // The TextAutosizer can't update layout view info while the Document is det
ached, so update now in case anything changed. | 2118 // The TextAutosizer can't update layout view info while the Document is det
ached, so update now in case anything changed. |
2119 if (TextAutosizer* autosizer = textAutosizer()) | 2119 if (TextAutosizer* autosizer = textAutosizer()) |
2120 autosizer->updatePageInfo(); | 2120 autosizer->updatePageInfo(); |
2121 | 2121 |
| 2122 m_frame->selection().documentAttached(this); |
2122 m_lifecycle.advanceTo(DocumentLifecycle::StyleClean); | 2123 m_lifecycle.advanceTo(DocumentLifecycle::StyleClean); |
2123 } | 2124 } |
2124 | 2125 |
2125 void Document::detach(const AttachContext& context) | 2126 void Document::detach(const AttachContext& context) |
2126 { | 2127 { |
2127 TRACE_EVENT0("blink", "Document::detach"); | 2128 TRACE_EVENT0("blink", "Document::detach"); |
2128 RELEASE_ASSERT(!m_frame || m_frame->tree().childCount() == 0); | 2129 RELEASE_ASSERT(!m_frame || m_frame->tree().childCount() == 0); |
2129 if (!isActive()) | 2130 if (!isActive()) |
2130 return; | 2131 return; |
2131 | 2132 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2204 for (Node& node : NodeTraversal::descendantsOf(*this)) { | 2205 for (Node& node : NodeTraversal::descendantsOf(*this)) { |
2205 cache->remove(&node); | 2206 cache->remove(&node); |
2206 } | 2207 } |
2207 } | 2208 } |
2208 } | 2209 } |
2209 | 2210 |
2210 styleEngine().didDetach(); | 2211 styleEngine().didDetach(); |
2211 | 2212 |
2212 frameHost()->eventHandlerRegistry().documentDetached(*this); | 2213 frameHost()->eventHandlerRegistry().documentDetached(*this); |
2213 | 2214 |
| 2215 m_frame->selection().documentDetached(*this); |
2214 m_frame->inputMethodController().documentDetached(); | 2216 m_frame->inputMethodController().documentDetached(); |
2215 | 2217 |
2216 // If this Document is associated with a live DocumentLoader, the | 2218 // If this Document is associated with a live DocumentLoader, the |
2217 // DocumentLoader will take care of clearing the FetchContext. Deferring | 2219 // DocumentLoader will take care of clearing the FetchContext. Deferring |
2218 // to the DocumentLoader when possible also prevents prematurely clearing | 2220 // to the DocumentLoader when possible also prevents prematurely clearing |
2219 // the context in the case where multiple Documents end up associated with | 2221 // the context in the case where multiple Documents end up associated with |
2220 // a single DocumentLoader (e.g., navigating to a javascript: url). | 2222 // a single DocumentLoader (e.g., navigating to a javascript: url). |
2221 if (!loader()) | 2223 if (!loader()) |
2222 m_fetcher->clearContext(); | 2224 m_fetcher->clearContext(); |
2223 // If this document is the master for an HTMLImportsController, sever that | 2225 // If this document is the master for an HTMLImportsController, sever that |
(...skipping 3775 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5999 #ifndef NDEBUG | 6001 #ifndef NDEBUG |
6000 using namespace blink; | 6002 using namespace blink; |
6001 void showLiveDocumentInstances() | 6003 void showLiveDocumentInstances() |
6002 { | 6004 { |
6003 WeakDocumentSet& set = liveDocumentSet(); | 6005 WeakDocumentSet& set = liveDocumentSet(); |
6004 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); | 6006 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); |
6005 for (Document* document : set) | 6007 for (Document* document : set) |
6006 fprintf(stderr, "- Document %p URL: %s\n", document, document->url().get
String().utf8().data()); | 6008 fprintf(stderr, "- Document %p URL: %s\n", document, document->url().get
String().utf8().data()); |
6007 } | 6009 } |
6008 #endif | 6010 #endif |
OLD | NEW |