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

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

Issue 1325563002: Avoid style clobbering in setCompositionFromExistingText. (2nd land) (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Release Range on document detach and remove selectionStart/End Created 5 years, 3 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 | « Source/core/core.gypi ('k') | Source/core/editing/CompositionUnderlineRangeFilter.h » ('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 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 #include "core/dom/VisitedLinkState.h" 101 #include "core/dom/VisitedLinkState.h"
102 #include "core/dom/XMLDocument.h" 102 #include "core/dom/XMLDocument.h"
103 #include "core/dom/custom/CustomElementMicrotaskRunQueue.h" 103 #include "core/dom/custom/CustomElementMicrotaskRunQueue.h"
104 #include "core/dom/custom/CustomElementRegistrationContext.h" 104 #include "core/dom/custom/CustomElementRegistrationContext.h"
105 #include "core/dom/shadow/ComposedTreeTraversal.h" 105 #include "core/dom/shadow/ComposedTreeTraversal.h"
106 #include "core/dom/shadow/ElementShadow.h" 106 #include "core/dom/shadow/ElementShadow.h"
107 #include "core/dom/shadow/ShadowRoot.h" 107 #include "core/dom/shadow/ShadowRoot.h"
108 #include "core/editing/DragCaretController.h" 108 #include "core/editing/DragCaretController.h"
109 #include "core/editing/Editor.h" 109 #include "core/editing/Editor.h"
110 #include "core/editing/FrameSelection.h" 110 #include "core/editing/FrameSelection.h"
111 #include "core/editing/InputMethodController.h"
111 #include "core/editing/markers/DocumentMarkerController.h" 112 #include "core/editing/markers/DocumentMarkerController.h"
112 #include "core/editing/serializers/Serialization.h" 113 #include "core/editing/serializers/Serialization.h"
113 #include "core/editing/spellcheck/SpellChecker.h" 114 #include "core/editing/spellcheck/SpellChecker.h"
114 #include "core/events/BeforeUnloadEvent.h" 115 #include "core/events/BeforeUnloadEvent.h"
115 #include "core/events/Event.h" 116 #include "core/events/Event.h"
116 #include "core/events/EventFactory.h" 117 #include "core/events/EventFactory.h"
117 #include "core/events/EventListener.h" 118 #include "core/events/EventListener.h"
118 #include "core/events/HashChangeEvent.h" 119 #include "core/events/HashChangeEvent.h"
119 #include "core/events/PageTransitionEvent.h" 120 #include "core/events/PageTransitionEvent.h"
120 #include "core/events/ScopedEventQueue.h" 121 #include "core/events/ScopedEventQueue.h"
(...skipping 2051 matching lines...) Expand 10 before | Expand all | Expand 10 after
2172 if (this == &axObjectCacheOwner()) 2173 if (this == &axObjectCacheOwner())
2173 clearAXObjectCache(); 2174 clearAXObjectCache();
2174 2175
2175 m_layoutView = nullptr; 2176 m_layoutView = nullptr;
2176 ContainerNode::detach(context); 2177 ContainerNode::detach(context);
2177 2178
2178 styleEngine().didDetach(); 2179 styleEngine().didDetach();
2179 2180
2180 frameHost()->eventHandlerRegistry().documentDetached(*this); 2181 frameHost()->eventHandlerRegistry().documentDetached(*this);
2181 2182
2183 m_frame->inputMethodController().documentDetached();
2184
2182 // If this Document is associated with a live DocumentLoader, the 2185 // If this Document is associated with a live DocumentLoader, the
2183 // DocumentLoader will take care of clearing the FetchContext. Deferring 2186 // DocumentLoader will take care of clearing the FetchContext. Deferring
2184 // to the DocumentLoader when possible also prevents prematurely clearing 2187 // to the DocumentLoader when possible also prevents prematurely clearing
2185 // the context in the case where multiple Documents end up associated with 2188 // the context in the case where multiple Documents end up associated with
2186 // a single DocumentLoader (e.g., navigating to a javascript: url). 2189 // a single DocumentLoader (e.g., navigating to a javascript: url).
2187 if (!loader()) 2190 if (!loader())
2188 m_fetcher->clearContext(); 2191 m_fetcher->clearContext();
2189 // If this document is the master for an HTMLImportsController, sever that 2192 // If this document is the master for an HTMLImportsController, sever that
2190 // relationship. This ensures that we don't leave import loads in flight, 2193 // relationship. This ensures that we don't leave import loads in flight,
2191 // thinking they should have access to a valid frame when they don't. 2194 // thinking they should have access to a valid frame when they don't.
(...skipping 3532 matching lines...) Expand 10 before | Expand all | Expand 10 after
5724 #ifndef NDEBUG 5727 #ifndef NDEBUG
5725 using namespace blink; 5728 using namespace blink;
5726 void showLiveDocumentInstances() 5729 void showLiveDocumentInstances()
5727 { 5730 {
5728 Document::WeakDocumentSet& set = Document::liveDocumentSet(); 5731 Document::WeakDocumentSet& set = Document::liveDocumentSet();
5729 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); 5732 fprintf(stderr, "There are %u documents currently alive:\n", set.size());
5730 for (Document* document : set) 5733 for (Document* document : set)
5731 fprintf(stderr, "- Document %p URL: %s\n", document, document->url().str ing().utf8().data()); 5734 fprintf(stderr, "- Document %p URL: %s\n", document, document->url().str ing().utf8().data());
5732 } 5735 }
5733 #endif 5736 #endif
OLDNEW
« no previous file with comments | « Source/core/core.gypi ('k') | Source/core/editing/CompositionUnderlineRangeFilter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698