We want to introduce a new pref to block trackers that try to workaround our
heuristic. The pref is called:
privacy.restrict3rdpartystorage.userInteractionRequiredForHosts
This patch moves the marquee bindings from xbl-marquee.xml to marquee.js and converts them to a UA Widget.
The contenteditable bindings are dropped, replaced with a styling rule that will fix the position of the scrolling text.
Inline styles have been moved to the stylesheet so usage of display: -moz-box can continue to be parsed.
test_bug840098.html is deleted because it is only valid under the context of in-content XBL bindings.
Differential Revision: https://phabricator.services.mozilla.com/D10385
--HG--
rename : layout/style/xbl-marquee/xbl-marquee.css => toolkit/content/widgets/marquee.css
rename : layout/style/xbl-marquee/xbl-marquee.xml => toolkit/content/widgets/marquee.js
extra : moz-landing-system : lando
This patch moves the marquee bindings from xbl-marquee.xml to marquee.js and converts them to a UA Widget.
The contenteditable bindings are dropped, replaced with a styling rule that will fix the position of the scrolling text.
Inline styles have been moved to the stylesheet so usage of display: -moz-box can continue to be parsed.
test_bug840098.html is deleted because it is only valid under the context of in-content XBL bindings.
Differential Revision: https://phabricator.services.mozilla.com/D10385
--HG--
rename : layout/style/xbl-marquee/xbl-marquee.css => toolkit/content/widgets/marquee.css
rename : layout/style/xbl-marquee/xbl-marquee.xml => toolkit/content/widgets/marquee.js
extra : moz-landing-system : lando
Previously, the tabindex attribute wasn't supported on non-control XUL elements at all.
The only way to make those focusable was to use -moz-user-focus: normal.
However, that caused the element to be included in the tab order; there was no way to make it focusable but not tabbable.
This can now be achieved using tabindex="-1".
This will primarily be useful for buttons on toolbars, which will be grouped under a single tab stop for efficiency.
For consistency, this also changes the behaviour of tabindex="-1" with -moz-user-focus: ignore on XUL controls.
Previously, -moz-user-focus: ignore would override tabindex="-1", making the element unfocusable.
Now, the tabindex attribute always overrides if explicitly specified.
Differential Revision: https://phabricator.services.mozilla.com/D12000
--HG--
extra : moz-landing-system : lando
These two interfaces are effectively never used, so to avoid needing to support
ClassID2JSValue with the new implementation, I remove them entirely.
Differential Revision: https://phabricator.services.mozilla.com/D2285
This is the first part of hiding the implementation of nsIJSID behind the
interface added in Part 1, such that we can substitute that implementation out.
I had to make a couple of changes to fix the errors caused by the new behaviour
in GenerateQI.
Differential Revision: https://phabricator.services.mozilla.com/D2279
This makes a few small but significant changes to the logic breakpad uses to
merge module memory mappings:
- First of all we merge areas of reserved space if their offset is either 0 or
the end of the previous non-reserved mapping.
- Whenever we encounter an executable mapping we flag all the merged modules
as executable. This shouldn't happen but apparently some older Android
linkers suffered from a bug that caused the first mapping not to be
executable.
- Last but not least we record the raw end address of a module on Android.
This shouldn't affect us but it's done in upstream breakpad so it probably
doesn't hurt.
Differential Revision: https://phabricator.services.mozilla.com/D12113
--HG--
extra : moz-landing-system : lando
Removing the inner field while focused nulls out the active element, without a
blur event of course, so this means that we left the :focus state in the input
set incorrectly, plus that we actually lost focus.
Differential Revision: https://phabricator.services.mozilla.com/D12106
--HG--
extra : moz-landing-system : lando
Ideally, artifact builds would figure out the relevant buildconfig items
that are set in the artifacts they download, such as MOZ_WAYLAND,
MOZ_UPDATER, etc.
In the meanwhile, since artifacts that are being downloaded have wayland
support, we always set MOZ_WAYLAND when doing artifact builds.
Depends on D12074
Differential Revision: https://phabricator.services.mozilla.com/D12075
--HG--
extra : moz-landing-system : lando
Change the `<engine>.<alias>.urlbar` `SEARCH_COUNTS` keys to `<engine>.alias` as described in bug 1499193 comment 23 and later.
Differential Revision: https://phabricator.services.mozilla.com/D12038
--HG--
extra : moz-landing-system : lando
This commit:
* Changes the merger to flag locally moved children for reupload, along
with their parents, if the local move is newer.
* Replaces `valueState` and `structureState` in the merge states table
with simpler flags. Rows with `useRemote` need to be updated in
Places; rows with `shouldUpload` need change counter bumps.
* `itemsToMerge` now accounts for local-only items with a `LEFT JOIN`.
* Uses `shouldUpload` from the merged tree to set the change counters
for all items, instead of relying on existing values and the
`flagNewStructure` trigger to handle items with new structure.
* Fixes keyword reuploading to handle the above, and match the
non-mirror behavior.
* Removes `structureCounts.new` from telemetry. Any merge with items
added to the same folder on both sides will count as new structure,
so it's not especially interesting.
MozReview-Commit-ID: EktIBQN9FSY
Depends on D11119
Differential Revision: https://phabricator.services.mozilla.com/D11120
--HG--
extra : moz-landing-system : lando
This adds a way to detect if an instance is holding a weak reference or a
strong one, makes non-critical failures less chatty and adds separate methods
for adding unique and non-unique instances to an array.
Differential Revision: https://phabricator.services.mozilla.com/D11645
--HG--
rename : toolkit/components/places/nsMaybeWeakPtr.h => xpcom/base/nsMaybeWeakPtr.h
extra : moz-landing-system : lando
This patch removes the dom.webcomponents.shadowdom.enabled pref and all its
references, including the following functions:
* nsContentUtils::IsShadowDOMEnabled()
* nsIDocument::IsShadowDOMEnabled()
* nsDocument::IsShadowDOMEnabled(JSContext* aCx, JSObject* aGlobal)
* nsDocument::IsShadowDOMEnabled(const nsINode* aNode)
* nsTextNode::IsShadowDOMEnabled(JSContext* aCx, JSObject* aObject)
This function is renamed and updated to nsDocument::IsCallerChromeOrAddon():
* nsDocument::IsShadowDOMEnabledAndCallerIsChromeOrAddon(JSContext* aCx, JSObject* aObject)
I didn't change the tests that load Shadow DOM tests in an iframe, in the interest of keeping hg annotation history.
Differential Revision: https://phabricator.services.mozilla.com/D11183
--HG--
extra : moz-landing-system : lando
This patch modifies UAWidgetsChild so that when the call into the UA Widget
script throws, it could correctly clean up the Shadow DOM, to avoid leaving
the DOM in a half-broken state.
This is needed because of bug 1506300 will cause the constructor of the videocontrols
UA Widget to throw, in our specific test case.
This exception also happens when the videocontrols XBL binding initializes,
but the way the XBL service calls into the XBL binding allow it to reach a usable
but a half-broken state, while our current approach will cause the UA Widget DOM
to be inserted twice, and layout to assert.
The new clean-up approach here will make UA Widget completely absent when the
constructor throws until the cause of the exception is fixed.
Differential Revision: https://phabricator.services.mozilla.com/D11542
--HG--
extra : moz-landing-system : lando
In order to know whether we have temporary autoplay permission without creating a request, we need to
cache its state in the outer window so that we can get the correct returned value for AutoplayPolicy::IsAllowedToPlay().
Differential Revision: https://phabricator.services.mozilla.com/D7013
--HG--
extra : moz-landing-system : lando
Since temporary permissions are only stored in the front-end side, we can't know whether we have
allowed page to autoplay or not without sending a request. Therefore, we want to notify the back-end
side when the temporary permissions changed.
Differential Revision: https://phabricator.services.mozilla.com/D7011
--HG--
extra : moz-landing-system : lando
It was almost identical to the toolkit version, only missing a [customizing=true]
check to prevent drag. Since Customization only happens in browser/ we are able
to replace the toolkit version with the CUI version, and then remove the CUI version.
The `#toolbar-menubar:not([autohide="true"])` selector will fall back to the
`toolbar[type="menubar"]` selector in global.css to apply the toolkit one, so
that is removed from browser.css.
Differential Revision: https://phabricator.services.mozilla.com/D12146
--HG--
extra : moz-landing-system : lando