OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 public: | 52 public: |
53 static void patchDocument(Document&, const String& markup); | 53 static void patchDocument(Document&, const String& markup); |
54 | 54 |
55 DOMPatchSupport(DOMEditor*, Document&); | 55 DOMPatchSupport(DOMEditor*, Document&); |
56 | 56 |
57 void patchDocument(const String& markup); | 57 void patchDocument(const String& markup); |
58 Node* patchNode(Node*, const String& markup, ExceptionState&); | 58 Node* patchNode(Node*, const String& markup, ExceptionState&); |
59 | 59 |
60 private: | 60 private: |
61 struct Digest; | 61 struct Digest; |
62 typedef Vector<pair<Digest*, size_t> > ResultMap; | 62 typedef Vector<pair<Digest*, size_t>> ResultMap; |
63 typedef HashMap<String, Digest*> UnusedNodesMap; | 63 typedef HashMap<String, Digest*> UnusedNodesMap; |
64 | 64 |
65 bool innerPatchNode(Digest* oldNode, Digest* newNode, ExceptionState&); | 65 bool innerPatchNode(Digest* oldNode, Digest* newNode, ExceptionState&); |
66 std::pair<ResultMap, ResultMap> diff(const Vector<OwnPtr<Digest> >& oldChild
ren, const Vector<OwnPtr<Digest> >& newChildren); | 66 std::pair<ResultMap, ResultMap> diff(const Vector<OwnPtr<Digest>>& oldChildr
en, const Vector<OwnPtr<Digest>>& newChildren); |
67 bool innerPatchChildren(ContainerNode*, const Vector<OwnPtr<Digest> >& oldCh
ildren, const Vector<OwnPtr<Digest> >& newChildren, ExceptionState&); | 67 bool innerPatchChildren(ContainerNode*, const Vector<OwnPtr<Digest>>& oldChi
ldren, const Vector<OwnPtr<Digest>>& newChildren, ExceptionState&); |
68 PassOwnPtr<Digest> createDigest(Node*, UnusedNodesMap*); | 68 PassOwnPtr<Digest> createDigest(Node*, UnusedNodesMap*); |
69 bool insertBeforeAndMarkAsUsed(ContainerNode*, Digest*, Node* anchor, Except
ionState&); | 69 bool insertBeforeAndMarkAsUsed(ContainerNode*, Digest*, Node* anchor, Except
ionState&); |
70 bool removeChildAndMoveToNew(Digest*, ExceptionState&); | 70 bool removeChildAndMoveToNew(Digest*, ExceptionState&); |
71 void markNodeAsUsed(Digest*); | 71 void markNodeAsUsed(Digest*); |
72 #ifdef DEBUG_DOM_PATCH_SUPPORT | 72 #ifdef DEBUG_DOM_PATCH_SUPPORT |
73 void dumpMap(const ResultMap&, const String& name); | 73 void dumpMap(const ResultMap&, const String& name); |
74 #endif | 74 #endif |
75 Document& document() const { return *m_document; } | 75 Document& document() const { return *m_document; } |
76 | 76 |
77 RawPtrWillBeMember<DOMEditor> m_domEditor; | 77 RawPtrWillBeMember<DOMEditor> m_domEditor; |
78 RawPtrWillBeMember<Document> m_document; | 78 RawPtrWillBeMember<Document> m_document; |
79 | 79 |
80 UnusedNodesMap m_unusedNodesMap; | 80 UnusedNodesMap m_unusedNodesMap; |
81 }; | 81 }; |
82 | 82 |
83 | 83 |
84 } // namespace blink | 84 } // namespace blink |
85 | 85 |
86 #endif // !defined(DOMPatchSupport_h) | 86 #endif // !defined(DOMPatchSupport_h) |
OLD | NEW |