The idea with this patch is that style code will first call
InlineStyleDeclarationWillChange before style declaration has changed, and SetInlineStyleDeclaration once it has changed.
In order to be able to report old attribute value, InlineStyleDeclarationWillChange reads the value and also calls AttributeWillChange (so that DOMMutationObserser can grab the old value). Later SetInlineStyleDeclaration passes the old value to
SetAttrAndNotify so that mutation events and attributeChanged callbacks are handled correctly.
Because of performance, declaration can't be cloned for reading the old value. And that is why the recently-added callback is used to detect when declaration is about to change (bug 1466963 and followup bug 1468665).
To keep the expected existing behavior, even if declaration isn't changed, but just a new declaration was created (since there wasn't any), we need to still run all these
willchange/set calls. That is when the code has 'if (created)' checks.
Since there are several declaration implementation and only nsDOMCSSAttributeDeclaration needs the about-to-change callback, GetPropertyChangeClosure is the one to initialize the callback closure, and the struct which is then passes as data to the closure.
Apparently we lost mutation event testing on style attribute when the pref was added, so test_style_attr_listener.html is modified to test both pref values.
--HG--
extra : rebase_source : 9e605d43f22e650ac3912fbfb41abb8d5a2a0c8f
pingsOverdue is a telemetry-specific data field that is not used anymore.
Therefore it is being removed from both the docs and TelemetrySession.jsm
The logic that exports and computes the overdue pings count, and all related
code, is also removed.
Associated test failure (due to performing the above) is fixed by removing the
offending test code.
MozReview-Commit-ID: DZUapvZbC9U
--HG--
extra : rebase_source : b5207495f19d23d0a9f57ba62a8c6c6872958b49
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.
MozReview-Commit-ID: 5UQVHElSpCr
--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
This requires we take unsent event records out of about:telemetry since its
"Current Payload" view only looks at the "main" ping.
MozReview-Commit-ID: GLs2EYvFaAF
--HG--
extra : rebase_source : 63ffa636213bdcdc437e3768b4d449b7cb73ead4
insertHTMLWithContext, getIndentState, setBodyAttribute and
getSelectionContainer are unused from script (inc. c-c and bluegriffon).
Differential Revision: https://phabricator.services.mozilla.com/D1822
I'm replacing non-failing calls to NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE, but this NS_NOTREACHED fails when running the browser/base/content/test/general/browser_tab_dragdrop2.js test because mContainer is unexpectedly *not* null. This is bug 1469183.
This patch DOES NOT fix the cause of the assertion failure. It just replaces this failing NS_NOTREACHED with NS_ERROR because I can't replace with a fatal MOZ_ASSERT_UNREACHABLE.
MozReview-Commit-ID: KeVjvKGihxZ
--HG--
extra : rebase_source : dc08a8e15d1e98cda0fa755be43c6d06910bfbe8
extra : intermediate-source : 562cc0bfc636f29b1708acd3284567bb8492e030
extra : source : 4f14f18eccd6bb18ed92f1d39a265a30ccdd21a1
I'm replacing non-failing calls to NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE, but this NS_NOTREACHED fails when running the dom/svg/crashtests/412104-1.svg test. This assertion failure is bug 903785.
This patch DOES NOT fix the cause of the assertion failure (a missing TextNodeCorrespondenceProperty). It just replaces this failing NS_NOTREACHED with NS_ERROR because I can't replace with a fatal MOZ_ASSERT_UNREACHABLE.
MozReview-Commit-ID: 8ffEdO5W1zU
--HG--
extra : rebase_source : 618008591b516e3b4b51871debcd0cf177a3f5b1
extra : intermediate-source : 099e1bbbc5b43b67ad9324464e4eec2e33d7eaa3
extra : source : f95d808c6f81b656c680d1dd005236571dedee20
I'm replacing non-failing calls to NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE, but this SelectionManager assertion fails when running the Linux debug Web platform tests with e10s test-linux32/debug-web-platform-tests-reftests-e10s-6 W-e10s(Wr6). This assertion failure is bug 1221888.
Marionette INFO Testing http://web-platform.test:8000/css/CSS2/ui/outline-applies-to-005.xht == http://web-platform.test:8000/css/CSS2/reference/no-red-on-blank-page-ref.xht
###!!! ASSERTION: we should have saved a frame property: 'Error', file /builds/worker/workspace/build/src/layout/painting/nsCSSRendering.cpp, line 1038
This patch DOES NOT fix the cause of the assertion failure (a missing HyperTextAccessible). It just replaces this failing NS_NOTREACHED with NS_ERROR because I can't replace with a fatal MOZ_ASSERT_UNREACHABLE.
MozReview-Commit-ID: L26bu4agM6y
--HG--
extra : rebase_source : 9a4188719fe5069cfbec47ae5fae0632ae1d5ee8
extra : intermediate-source : 0a3f719dce16fa80d6ae1bb20a41570050847731
extra : source : aadc67658e679893808256f60c480efeed426bc1
I'm replacing non-failing calls to NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE, but this NS_NOTREACHED fails when running the devtools/client/animationinspector/test/browser_animation_refresh_on_removed_animation.js test. This assertion failure is bug 1189015.
This patch DOES NOT fix the cause of the assertion failure (a missing TextNodeCorrespondenceProperty). It just replaces this failing NS_NOTREACHED with NS_ERROR because I can't replace with a fatal MOZ_ASSERT_UNREACHABLE.
MozReview-Commit-ID: H5rfyr71N1M
--HG--
extra : rebase_source : a65053171f41bc6069fc6cb3688c0a9cc36830b2
extra : intermediate-source : 203b3e7b091743faebcf58d576360d1afd85b6bc
extra : source : 12dcc693259a536ac06075698db7e851d682cf3a
This change isn't really required but may tighten some other conditions /
assertions.
--HG--
extra : rebase_source : 84a96811e0f01df80f897137768f10c292442584
I added checks that the new topic was appropriately notified and
that storage doesn't truncate upon hitting the limit, also covering the
case when there is a specified event limit for return.
MozReview-Commit-ID: FoSVvi7XSeM
--HG--
extra : rebase_source : 97ccd213985e0979f832c9f2956bf1e9d6bbfb74
Instead of a hard cap, introduce a topic to notify when we reach the now-
preference-controlled per-process event record limit. Also add the capability
to leave some records behind in storage for the next call.
MozReview-Commit-ID: EY40tqKxxeW
--HG--
extra : rebase_source : 9f5fff246efc4738dc042c8e9c8e0b491ef7a1b5