author | Nathan Froyd <froydnj@mozilla.com> |
Tue, 02 Jun 2015 16:01:37 -0400 | |
changeset 247178 | b03bb71b757f0ed9c93fa380f49c7879a9e04a84 |
parent 247177 | 282f50513dd461089a5ba9320e14ed4c51902eed |
child 247179 | 455f5316157a3935305d69cbc875fa04f87f3185 |
push id | 28855 |
push user | kwierso@gmail.com |
push date | Fri, 05 Jun 2015 01:19:30 +0000 |
treeherder | mozilla-central@227d356ac030 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | smaug |
bugs | 1171061 |
milestone | 41.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
dom/base/nsDocument.cpp | file | annotate | diff | comparison | revisions | |
dom/base/nsIDocument.h | file | annotate | diff | comparison | revisions |
--- a/dom/base/nsDocument.cpp +++ b/dom/base/nsDocument.cpp @@ -10418,57 +10418,53 @@ static const char* kDocumentWarnings[] = #include "nsDocumentWarningList.h" nullptr }; #undef DOCUMENT_WARNING bool nsIDocument::HasWarnedAbout(DeprecatedOperations aOperation) const { - static_assert(eDeprecatedOperationCount <= 64, - "Too many deprecated operations"); - return mDeprecationWarnedAbout & (1ull << aOperation); + return mDeprecationWarnedAbout[aOperation]; } void nsIDocument::WarnOnceAbout(DeprecatedOperations aOperation, bool asError /* = false */) const { MOZ_ASSERT(NS_IsMainThread()); if (HasWarnedAbout(aOperation)) { return; } - mDeprecationWarnedAbout |= (1ull << aOperation); + mDeprecationWarnedAbout[aOperation] = true; uint32_t flags = asError ? nsIScriptError::errorFlag : nsIScriptError::warningFlag; nsContentUtils::ReportToConsole(flags, NS_LITERAL_CSTRING("DOM Core"), this, nsContentUtils::eDOM_PROPERTIES, kDeprecationWarnings[aOperation]); } bool nsIDocument::HasWarnedAbout(DocumentWarnings aWarning) const { - static_assert(eDocumentWarningCount <= 64, - "Too many document warnings"); - return mDocWarningWarnedAbout & (1ull << aWarning); + return mDocWarningWarnedAbout[aWarning]; } void nsIDocument::WarnOnceAbout(DocumentWarnings aWarning, bool asError /* = false */, const char16_t **aParams /* = nullptr */, uint32_t aParamsLength /* = 0 */) const { MOZ_ASSERT(NS_IsMainThread()); if (HasWarnedAbout(aWarning)) { return; } - mDocWarningWarnedAbout |= (1ull << aWarning); + mDocWarningWarnedAbout[aWarning] = true; uint32_t flags = asError ? nsIScriptError::errorFlag : nsIScriptError::warningFlag; nsContentUtils::ReportToConsole(flags, NS_LITERAL_CSTRING("DOM Core"), this, nsContentUtils::eDOM_PROPERTIES, kDocumentWarnings[aWarning], aParams, aParamsLength);
--- a/dom/base/nsIDocument.h +++ b/dom/base/nsIDocument.h @@ -25,16 +25,17 @@ #include "mozilla/net/ReferrerPolicy.h" // for member #include "nsWeakReference.h" #include "mozilla/dom/DocumentBinding.h" #include "mozilla/WeakPtr.h" #include "Units.h" #include "nsExpirationTracker.h" #include "nsClassHashtable.h" #include "prclist.h" +#include <bitset> // for member class imgIRequest; class nsAString; class nsBindingManager; class nsIDocShell; class nsDocShell; class nsDOMNavigationTiming; class nsFrameLoader; @@ -2542,18 +2543,18 @@ public: } // FontFaceSource mozilla::dom::FontFaceSet* GetFonts(mozilla::ErrorResult& aRv); bool DidFireDOMContentLoaded() const { return mDidFireDOMContentLoaded; } private: - mutable uint64_t mDeprecationWarnedAbout; - mutable uint64_t mDocWarningWarnedAbout; + mutable std::bitset<eDeprecatedOperationCount> mDeprecationWarnedAbout; + mutable std::bitset<eDocumentWarningCount> mDocWarningWarnedAbout; SelectorCache mSelectorCache; protected: ~nsIDocument(); nsPropertyTable* GetExtraPropertyTable(uint16_t aCategory); // Never ever call this. Only call GetWindow! virtual nsPIDOMWindow *GetWindowInternal() const = 0;