зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1034906 - Don't manually delete NodeIterator. r=ehsan
This commit is contained in:
Родитель
c1d7ee1d1a
Коммит
3b71ecc458
|
@ -33,7 +33,6 @@ public:
|
|||
NodeIterator(nsINode *aRoot,
|
||||
uint32_t aWhatToShow,
|
||||
const NodeFilterHolder &aFilter);
|
||||
virtual ~NodeIterator();
|
||||
|
||||
NS_DECL_NSIMUTATIONOBSERVER_CONTENTREMOVED
|
||||
|
||||
|
@ -73,6 +72,8 @@ public:
|
|||
JSObject* WrapObject(JSContext *cx);
|
||||
|
||||
private:
|
||||
virtual ~NodeIterator();
|
||||
|
||||
struct NodePointer {
|
||||
NodePointer() : mNode(nullptr) {}
|
||||
NodePointer(nsINode *aNode, bool aBeforeNode);
|
||||
|
@ -116,12 +117,6 @@ private:
|
|||
|
||||
} // namespace dom
|
||||
|
||||
template<>
|
||||
struct HasDangerousPublicDestructor<dom::NodeIterator>
|
||||
{
|
||||
static const bool value = true;
|
||||
};
|
||||
|
||||
} // namespace mozilla
|
||||
|
||||
#endif // mozilla_dom_NodeIterator_h
|
||||
|
|
|
@ -481,10 +481,10 @@ GetTextNode(nsISelection *selection, nsEditor *editor) {
|
|||
// if node is null, return it to indicate there's no text
|
||||
NS_ENSURE_TRUE(node, nullptr);
|
||||
// This should be the root node, walk the tree looking for text nodes
|
||||
mozilla::dom::NodeFilterHolder filter;
|
||||
mozilla::dom::NodeIterator iter(node, nsIDOMNodeFilter::SHOW_TEXT, filter);
|
||||
NodeFilterHolder filter;
|
||||
nsRefPtr<NodeIterator> iter = new NodeIterator(node, nsIDOMNodeFilter::SHOW_TEXT, filter);
|
||||
while (!editor->IsTextNode(selNode)) {
|
||||
if (NS_FAILED(res = iter.NextNode(getter_AddRefs(selNode))) || !selNode) {
|
||||
if (NS_FAILED(res = iter->NextNode(getter_AddRefs(selNode))) || !selNode) {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче