Part I of bug 1496242 was not implemented correctly as it accesses the
nsIDateTimeInputArea methods directly on the <datetimebox> element object.
This won't work because the XBL binding is run in a non-chrome scope.
The methods it implemented are exposed thus had to be accessed via
wrappedJSObject.
Object pass to setValueFromPicker() therefore has to clone into the content scope.
We can be sure that the methods called are implemented by the XBL binding,
because the web content should not have access to <datetimebox>, which is a NAC.
A small clean-up is included in the patch also, removing the useless 3rd argument
to the CustomEvent constructor.
Tests related to the datetime input is duplicated and run with UA Widget disabled
to ensure the XBL binding continue to work.
Differential Revision: https://phabricator.services.mozilla.com/D10947
--HG--
rename : dom/html/test/forms/chrome.ini => dom/html/test/forms/xbl/chrome.ini
rename : dom/html/test/forms/mochitest.ini => dom/html/test/forms/xbl/mochitest.ini
rename : dom/html/test/forms/test_autocompleteinfo.html => dom/html/test/forms/xbl/test_autocompleteinfo.html
rename : dom/html/test/forms/test_input_attributes_reflection.html => dom/html/test/forms/xbl/test_input_attributes_reflection.html
rename : dom/html/test/forms/test_input_date_bad_input.html => dom/html/test/forms/xbl/test_input_date_bad_input.html
rename : dom/html/test/forms/test_input_date_key_events.html => dom/html/test/forms/xbl/test_input_date_key_events.html
rename : dom/html/test/forms/test_input_datetime_focus_blur.html => dom/html/test/forms/xbl/test_input_datetime_focus_blur.html
rename : dom/html/test/forms/test_input_datetime_focus_blur_events.html => dom/html/test/forms/xbl/test_input_datetime_focus_blur_events.html
rename : dom/html/test/forms/test_input_datetime_focus_state.html => dom/html/test/forms/xbl/test_input_datetime_focus_state.html
rename : dom/html/test/forms/test_input_datetime_input_change_events.html => dom/html/test/forms/xbl/test_input_datetime_input_change_events.html
rename : dom/html/test/forms/test_input_datetime_tabindex.html => dom/html/test/forms/xbl/test_input_datetime_tabindex.html
rename : dom/html/test/forms/test_input_defaultValue.html => dom/html/test/forms/xbl/test_input_defaultValue.html
rename : dom/html/test/forms/test_input_sanitization.html => dom/html/test/forms/xbl/test_input_sanitization.html
rename : dom/html/test/forms/test_input_textarea_set_value_no_scroll.html => dom/html/test/forms/xbl/test_input_textarea_set_value_no_scroll.html
rename : dom/html/test/forms/test_input_time_key_events.html => dom/html/test/forms/xbl/test_input_time_key_events.html
rename : dom/html/test/forms/test_input_time_sec_millisec_field.html => dom/html/test/forms/xbl/test_input_time_sec_millisec_field.html
rename : dom/html/test/forms/test_input_types_pref.html => dom/html/test/forms/xbl/test_input_types_pref.html
rename : dom/html/test/forms/test_input_typing_sanitization.html => dom/html/test/forms/xbl/test_input_typing_sanitization.html
rename : dom/html/test/forms/test_label_input_controls.html => dom/html/test/forms/xbl/test_label_input_controls.html
rename : dom/html/test/forms/test_max_attribute.html => dom/html/test/forms/xbl/test_max_attribute.html
rename : dom/html/test/forms/test_min_attribute.html => dom/html/test/forms/xbl/test_min_attribute.html
rename : dom/html/test/forms/test_mozistextfield.html => dom/html/test/forms/xbl/test_mozistextfield.html
rename : dom/html/test/forms/test_novalidate_attribute.html => dom/html/test/forms/xbl/test_novalidate_attribute.html
rename : dom/html/test/forms/test_pattern_attribute.html => dom/html/test/forms/xbl/test_pattern_attribute.html
rename : dom/html/test/forms/test_required_attribute.html => dom/html/test/forms/xbl/test_required_attribute.html
rename : dom/html/test/forms/test_step_attribute.html => dom/html/test/forms/xbl/test_step_attribute.html
rename : dom/html/test/forms/test_stepup_stepdown.html => dom/html/test/forms/xbl/test_stepup_stepdown.html
rename : dom/html/test/forms/test_textarea_attributes_reflection.html => dom/html/test/forms/xbl/test_textarea_attributes_reflection.html
rename : dom/html/test/forms/test_validation.html => dom/html/test/forms/xbl/test_validation.html
rename : dom/html/test/forms/test_validation_not_in_doc.html => dom/html/test/forms/xbl/test_validation_not_in_doc.html
rename : dom/html/test/forms/test_valueAsDate_pref.html => dom/html/test/forms/xbl/test_valueAsDate_pref.html
rename : dom/html/test/forms/test_valueasdate_attribute.html => dom/html/test/forms/xbl/test_valueasdate_attribute.html
rename : dom/html/test/forms/test_valueasnumber_attribute.html => dom/html/test/forms/xbl/test_valueasnumber_attribute.html
rename : toolkit/content/tests/browser/browser_datetime_datepicker.js => toolkit/content/tests/browser/xbl/browser_datetime_datepicker.js
extra : moz-landing-system : lando
TSan doesn't support std::atomic_thread_fence, so in order to avoid noisy
output, we can replace the fence with an atomic load when building with
-fsanitize=thread. This is a better alternative than error message
suppression since it's closer to the relevant code and thus much likelier
to survive changes to it.
Differential Revision: https://phabricator.services.mozilla.com/D11803
--HG--
extra : moz-landing-system : lando
Front.actor custom implementation is only used from Front class and doesn't match Pool's one behavior.
Front users would expect to see the one from Pool as it inherits from it.
MozReview-Commit-ID: 8plo2K5kEWq
Differential Revision: https://phabricator.services.mozilla.com/D11614
--HG--
extra : moz-landing-system : lando
Added a test to TestCrossProcessInterceptor that forcibly uses a 10-byte patch
on NtMapViewOfSection (which is a realistic case) and then ensures that
disabling the hook also works.
Differential Revision: https://phabricator.services.mozilla.com/D10286
--HG--
extra : moz-landing-system : lando
This patch adds support on x64 for 10-byte detour patches in certain cases.
In particular, the reserved region of trampoline memory must be allocated
within the bottommost 2GB of the address space.
This feature is currently only activated when detouring functions exported by
ntdll.dll.
Differential Revision: https://phabricator.services.mozilla.com/D10285
--HG--
extra : moz-landing-system : lando
And thus massively speed up ascii-case-insensitive atom comparisons when both
atoms are lowercase (which is the common case by far).
This removes almost all the slow selector-matching in this page, and it seems
an easier fix than storing the lowercased version of all class-names in quirks
mode in elements and selectors...
Differential Revision: https://phabricator.services.mozilla.com/D10945
--HG--
extra : moz-landing-system : lando
We already keep a cached version of the up-to-date value in nsPresContext,
there's no need to go through nsDeviceContext at all.
I don't expect this to fix bug 1424968 entirely, but it should make it a bit
better.
Differential Revision: https://phabricator.services.mozilla.com/D11639
--HG--
extra : moz-landing-system : lando
Bug 1506479 started unifying discarding of TypeScript and JIT code. This patch
removes the JIT_SCRIPT_RELEASE_TYPES_PERIOD heuristic so we now use the same
preserve-code heuristics for both.
Differential Revision: https://phabricator.services.mozilla.com/D11737
--HG--
extra : moz-landing-system : lando
Previously disabled via bug 1433905 to allow a refactoring of Marionette, this test can be re-enabled now given that bug 1433873 also got landed.
Differential Revision: https://phabricator.services.mozilla.com/D11744
--HG--
extra : moz-landing-system : lando
This is enough to fix the devtools regression and matches what other browsers
do in the no-attribute case.
Also, I think this change over all makes sense: it doesn't make any sense to
display the broken image icon if there's no request, and we already assume in
EnsureIntrinsicSizeAndRatio() that we don't paint the icon for those (and make
the intrinsic size 0x0).
We still show the border, which matches other UAs (note that devtools
effectively masks the border away with mask-image).
This technically also can change behavior of <object> and <input>, but I think
it's better to be consistent, since EnsureIntrinsicSizeAndRatio also doesn't
special-case <img> either.
Differential Revision: https://phabricator.services.mozilla.com/D11659
--HG--
extra : moz-landing-system : lando
Badly-behaved consumers of DrawTargetRecording can trigger recording of
draw calls that will fail to allocate required draw targets when the
recording is replayed. This patch tries to guard against this by
detecting these situations at record-time rather than crashing at
replay-time. When such a situation is detected, it will crash (for
content processes, to catch such scenarios) or gracefully fail (for
other processes).
Differential Revision: https://phabricator.services.mozilla.com/D11527
--HG--
extra : moz-landing-system : lando
I.e., continue the loop if the CSS property is not what we want and set the
result value only if the CSS property is effective.
This change makes the function match
what KeyframeEffect::GetEffectiveAnimationProperties does in the similar loop
so that we can unify the iteration into a single function in the next commit.
Depends on D11597
Differential Revision: https://phabricator.services.mozilla.com/D11598
--HG--
extra : moz-landing-system : lando
This change eliminates
- nsLayoutUtils::LastContinuationOrIBSplitSibling calls for each CSS
properties on WebRender
- iterating over each display item for each compositor runnable CSS properties
- a bunch of stuff in the case where the layer manager has not yet created,
i.e. the compositor thread is not ready to receive animations
Depends on D11425
Differential Revision: https://phabricator.services.mozilla.com/D11426
--HG--
extra : moz-landing-system : lando
This change gets all effective CSS properties on an nsIFrame just once.
Note that LayerAnimationInfo::GetCSSPropertiesFor intentionally returns
nsCSSPropertyIDSet instead of nsCSSPropertyID since when we support individual
transform properties for the compositor the mapping between display item types
and nsCSSProperty has to be 1:N. E.g. all scale/translate/rotate properties are
mapped to transform display item.
Depends on D11424
Differential Revision: https://phabricator.services.mozilla.com/D11425
--HG--
extra : moz-landing-system : lando