diff options
author | Matt A. Tobin <email@mattatobin.com> | 2020-04-16 19:59:10 -0400 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2020-04-16 19:59:10 -0400 |
commit | 2f59167e65132fc652456ae8629c1246a9b4b2cb (patch) | |
tree | d6f5779a031f2c957612dd4f0dd0d6ee166f9a8b /dom/base/nsAttrValueOrString.h | |
parent | 4630e4abb531e416f8153846d422794de20261bd (diff) | |
download | UXP-2f59167e65132fc652456ae8629c1246a9b4b2cb.tar UXP-2f59167e65132fc652456ae8629c1246a9b4b2cb.tar.gz UXP-2f59167e65132fc652456ae8629c1246a9b4b2cb.tar.lz UXP-2f59167e65132fc652456ae8629c1246a9b4b2cb.tar.xz UXP-2f59167e65132fc652456ae8629c1246a9b4b2cb.zip |
Bug 656197 - Push state updates further out across beforesetattr/aftersetattr
* Remove the generic attr preparsing mechanism from BeforeSetAttr and just preparse class attributes directly in the one place that needs to do it
* Move calls to BeforeSetAttr to after AttributeWillChange
* Remove UpdateState calls in BeforeSetAttr
* Move calls to AfterSetAttr to before UpdateState when manipulating attributes
* Remove UpdateState calls from AfterSetAttr, since they are no longer needed there
Tag #1375
Diffstat (limited to 'dom/base/nsAttrValueOrString.h')
-rw-r--r-- | dom/base/nsAttrValueOrString.h | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/dom/base/nsAttrValueOrString.h b/dom/base/nsAttrValueOrString.h index df0dac17d..8e6c06953 100644 --- a/dom/base/nsAttrValueOrString.h +++ b/dom/base/nsAttrValueOrString.h @@ -49,20 +49,13 @@ public: , mCheapString(nullptr) { } - void TakeParsedValue(nsAttrValue& aValue) + void ResetToAttrValue(const nsAttrValue& aValue) { - mStoredAttrValue.SwapValueWith(aValue); - mAttrValue = &mStoredAttrValue; + mAttrValue = &aValue; mStringPtr = nullptr; + // No need to touch mCheapString here. If we need to use it, we will reset + // it to the rigthe value anyway. } - /** - * If TakeParsedValue has been called, returns the value that it set. - */ - nsAttrValue* GetStoredAttrValue() - { - return mAttrValue == &mStoredAttrValue ? &mStoredAttrValue : nullptr; - } - const nsAttrValue* GetAttrValue() { return mAttrValue; } /** * Returns a reference to the string value of the contents of this object. @@ -89,7 +82,6 @@ protected: const nsAttrValue* mAttrValue; mutable const nsAString* mStringPtr; mutable nsCheapString mCheapString; - nsAttrValue mStoredAttrValue; }; #endif // nsAttrValueOrString_h___ |