Closed Bug 1447098 Opened 8 years ago Closed 8 years ago

Rename FromContent to FromNode

Categories

(Core :: DOM: Core & HTML, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla61
Tracking Status
firefox61 --- fixed

People

(Reporter: bzbarsky, Assigned: bzbarsky)

References

Details

Attachments

(3 files, 1 obsolete file)

In bug 1446533 I changed FromContent to take an nsINode*, because that was useful in some places. Turns out that compiles fine. Given that, I'd like to rename it to nsINode.
Depends on: 1446533
MozReview-Commit-ID: 202nkbmkwfR
Attachment #8960770 - Flags: review?(nika)
Some condition functions are faster on subclasses of nsINode than on nsINode itself.
Attachment #8960772 - Flags: review?(nika)
Attachment #8960770 - Flags: review?(nika) → review+
Attachment #8960771 - Flags: review?(nika) → review+
Comment on attachment 8960772 [details] [diff] [review] part 3. Add some FromNode overloads for different arg types Review of attachment 8960772 [details] [diff] [review]: ----------------------------------------------------------------- ::: dom/base/nsIContent.h @@ +1013,3 @@ > #define NS_IMPL_FROMNODE_HELPER(_class, _check) \ > + template<typename ArgType> \ > + static _class* FromNode(ArgType* aNode) \ Hmm, this is a lot more overloads than seems like should be necessary... This I think would let you avoid the need for a special overload for smart pointers #define NS_IMPL_FROMNODE_HELPER(_class, _check) \ template<typename ArgType> \ static _class* FromNode(ArgType&& aNode) { \ return aNode->_check ? static_cast<_class*>(static_cast<nsINode*>(aNode)) : nullptr; \ }
Attachment #8960772 - Flags: review?(nika)
To preserve current semantics, we need something to handle "nsINode* -> Foo*", "const nsINode* -> const Foo*", "const RefPtr<nsINode> -> Foo*" (no const on the return type here). I don't think the rvalue proposal does that (and in particular it fails to compile as-is when "const nsIContent*" is the ArgType; I did try it before ending up with the thing I have now).
Flags: needinfo?(nika)
Attachment #8960952 - Flags: review?(nika)
Attachment #8960772 - Attachment is obsolete: true
Attachment #8960952 - Flags: review?(nika) → review+
Pushed by bzbarsky@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/eb4e6e094d20 part 1. Rename FromContent on various DOM classes to FromNode. r=mystor https://hg.mozilla.org/integration/mozilla-inbound/rev/fd041053a1b5 part 2. Rename the NS_IMPL_FROMCONTENT macros to NS_IMPL_FROMNODE. r=mystor https://hg.mozilla.org/integration/mozilla-inbound/rev/7db110ae9111 part 3. Add some FromNode overloads for different arg types. r=mystor
Depends on: 1447940
Flags: needinfo?(nika)
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: