// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_DOM_SYNCHRONOUS_MUTATION_OBSERVER_H_ #define THIRD_PARTY_BLINK_RENDERER_CORE_DOM_SYNCHRONOUS_MUTATION_OBSERVER_H_ #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/dom/container_node.h" #include "third_party/blink/renderer/core/dom/qualified_name.h" #include "third_party/blink/renderer/platform/heap/garbage_collected.h" #include "third_party/blink/renderer/platform/heap/member.h" #include "third_party/blink/renderer/platform/wtf/text/atomic_string.h" namespace blink { class CharacterData; class ContainerNode; class Document; class Element; class Node; class NodeWithIndex; class Text; // This class is a base class for classes which observe DOM tree mutation // synchronously. If you want to observe DOM tree mutation asynchronously see // MutationObserver Web API. // Note: if you only need to observe Document shutdown, // ExecutionContextLifecycleObserver::ContextDestroyed provides this same // functionality more efficiently (since it doesn't observe the other events). // // TODO(yosin): Following classes should be derived from this class to // simplify Document class. // - DragCaret // - DocumentMarkerController // - EventHandler // - FrameCaret // - InputMethodController // - SelectionController // - Range set // - NodeIterator set class CORE_EXPORT SynchronousMutationObserver : public GarbageCollectedMixin { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_CORE_DOM_SYNCHRONOUS_MUTATION_OBSERVER_H_