Граф коммитов

784488 Коммитов

Автор SHA1 Сообщение Дата
Masayuki Nakano 139876e527 Bug 1746104 - part 4: Make `IMContextWrapper` and `IMMHandler` use same class to store content selection r=m_kato
Now, `IMContextWrapper::Selection` and `IMMHandler::Selection` have same
structure.  Therefore, we can merge them into one place.  This will help to
fix bug 1259690 in the future.

Differential Revision: https://phabricator.services.mozilla.com/D137421
2022-02-07 22:33:37 +00:00
Masayuki Nakano f27a9abf8b Bug 1746104 - part 3-7: make `IMContextWrapper` handle the cases there is no selection range r=m_kato
Perhaps, we should disable IME when DOM Selection does not have range.  However,
it's out of scope of this bug.  This patch makes `IMContextWrapper` try to
keep working with no selection range except at "compositionstart".

Differential Revision: https://phabricator.services.mozilla.com/D137420
2022-02-07 22:33:36 +00:00
Masayuki Nakano 0d30bd43ae Bug 1746104 - part 3-6: Make `IMContextWrapper::Selection` use `OffsetAndData<uint32_t>` r=m_kato
For consistency with `IMMHandler::Selection`, let's make it use
`OffsetAndData<uint32_t>` for preparing them to use a new common class.

Differential Revision: https://phabricator.services.mozilla.com/D137419
2022-02-07 22:33:36 +00:00
Masayuki Nakano 25c6fd4927 Bug 1746104 - part 3-5: Wrap `IMEContentWrapper::mSelection` with `Maybe` to represent error state and no cache state r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D137418
2022-02-07 22:33:36 +00:00
Masayuki Nakano dbb3306a1b Bug 1746104 - part 3-4: Make `IMEContentWrapper::Selection` override `<<` operator r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D137417
2022-02-07 22:33:35 +00:00
Masayuki Nakano 9994c138d9 Bug 1746104 - part 3-3: Make `IMContextWrapper::Selection` capsule its members r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D137416
2022-02-07 22:33:35 +00:00
Masayuki Nakano 1d1be07ea3 Bug 1746104 - part 3-2: Get rid of `GetWritingModeName` in IMContextWrapper.cpp r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D137415
2022-02-07 22:33:35 +00:00
Masayuki Nakano 69489e5812 Bug 1746104 - part 3-1: Get rid of `WritingMode` argument of `IMContextWrapper::CollapseTo` r=m_kato
It's always overwritten with same value so that it is not necessary at least for
now and on Windows, we just do not update it in same situation.  Therefore,
we should drop it until we become need to use it.

Differential Revision: https://phabricator.services.mozilla.com/D137414
2022-02-07 22:33:34 +00:00
Masayuki Nakano a07994ed54 Bug 1746104 - part 2-5: Make `IMMHandler` handle the no selection case r=m_kato
With wrapping `IMMHandler::mSelection` with `Maybe`, we can represent there is
no unexpected cases, but there is no selection.

Differential Revision: https://phabricator.services.mozilla.com/D137413
2022-02-07 22:33:34 +00:00
Masayuki Nakano f701814c7e Bug 1746104 - part 2-4: Make `IMMHandler::Selection` manage offset and data with `Maybe<OffsetAndData<uint32_t>>` r=m_kato
For making it simpler and have "no selection" state, this patch rewrites it
with `OffsetAndData<uint32_t>` wrapped with `Maybe`.  Although `IMMHandler`
does nothing if there is no selection.

Differential Revision: https://phabricator.services.mozilla.com/D137412
2022-02-07 22:33:34 +00:00
Masayuki Nakano 9297e199b1 Bug 1746104 - part 2-3: Clean up some code in IMEData.h r=m_kato
I'd like to use `OffsetAndData` in `IMMHandler` to store selection range.
Before doing this, this patch adds some useful methods into it.

Differential Revision: https://phabricator.services.mozilla.com/D137411
2022-02-07 22:33:33 +00:00
Masayuki Nakano 8365e27282 Bug 1746104 - part 2-2: Get rid of `GetWritingModeName` in IMMHandler.cpp r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D137410
2022-02-07 22:33:33 +00:00
Masayuki Nakano 5a1ab2ebae Bug 1746104 - part 2-1: Make `IMMHandler::Selection` capsule its members r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D137409
2022-02-07 22:33:32 +00:00
Masayuki Nakano d4e2b32763 Bug 1746104 - part 1-5: Make `TSFTextStore::Selection` return const reference of `WritingMode` rather than a copy r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D137408
2022-02-07 22:33:32 +00:00
Masayuki Nakano b249f25ad9 Bug 1746104 - part 1-4: Make `TSFTextStore` handle the no selection case r=m_kato
Most change has already been done in part 1-2.  This patch does the remaining
work.

Differential Revision: https://phabricator.services.mozilla.com/D137407
2022-02-07 22:33:32 +00:00
Masayuki Nakano ebccee915f Bug 1746104 - part 1-3: Wrap `TSFTextStore::mPendingSelectionChangeData` with `Maybe` r=m_kato
It needs to have a state whether it's set or unset, and whether there is at
least one selection range or no selection range.  Currently, its valid state
represents both of them, but it'll has no selection state in the following
patches.  Therefore, the former state should be manged with `Maybe`.

Differential Revision: https://phabricator.services.mozilla.com/D137406
2022-02-07 22:33:31 +00:00
Masayuki Nakano d1426f0b77 Bug 1746104 - part 1-2: Make `TSFTextStore::Selection` have "no selection" state r=m_kato
`Selection.removeAllRanges` can make there is no selection ranges.  Therefore,
`TSFTextStore::Selection` needs to represent the state.  This patch changes its
`mACP` to `Maybe<TS_SELECTION_ACP>` for making `Nothing` of it mean no
selection ranges.  Then, `GetSelection` will return `TS_E_NOSELECTION` and
`InsertTextAtSelection` will return "no change" if it's called for emulation.

According to Chromium:
https://source.chromium.org/chromium/chromium/src/+/main:ui/base/ime/win/tsf_text_store_unittest.cc
They don't check this case's behavior, and it seems that they ignore selection
change at `removeAllRanges`:
https://source.chromium.org/chromium/chromium/src/+/main:ui/base/ime/win/tsf_text_store.cc;l=1153;drc=d50b5b8a78d3d4878c98b07af006a00ed65fddd0
or fill cached selection with collapsed at invalid position (`UINT32_MAX`).
https://source.chromium.org/chromium/chromium/src/+/main:ui/base/ime/win/tsf_text_store.cc;l=1238;drc=d50b5b8a78d3d4878c98b07af006a00ed65fddd0

So anyway, we don't have better handling in the case.

Differential Revision: https://phabricator.services.mozilla.com/D137405
2022-02-07 22:33:31 +00:00
Masayuki Nakano 4ddbfc0832 Bug 1746104 - part 1-1: Make `TSFTextStore::Selection` work with `IMENotification::SelectionChangeDataBase` directly r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D137404
2022-02-07 22:33:30 +00:00
Sylvestre Ledru f9e1c91a4a no bug - Update dependency sphinx-copybutton to v0.5.0 r=firefox-source-docs-reviewers,ahal DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D137952
2022-02-07 22:27:52 +00:00
Glenn Watson 331e48d4fe Bug 1749380 - Improve how WR handles bounding rects for off-screen surfaces r=gfx-reviewers,kvark
This patch introduces a number of subtle but important changes
to how we deal with off-screen surfaces. The overall goals are:

 - Improve rendering correctness in a number of edge cases.
 - Begin reducing complexity related to surfaces, scaling
   factors, surface size adjustments and clipping.
 - Improve CPU performance by removing some per-primitive work.
 - Simplify implementation of future SVG and CSS filters by
   having explicit support for picture rects + inflation regions.
 - Lay the groundwork for caching child picture surfaces,
   reduction of per-primitive work during visibility pass,
   simplifying picture code.

Unfortunately, the nature of the changes make it impossible to
split up in to small isolated patches. Details below:

* Introduce `LocalRectKind` concept. This allows us to separate
  out the bounding rect of the surface (a group of primitives
  backed by a texture) from the bounding rect of the picture
  compositing that surface (e.g. a drop-shadow which draws the
  surface once at the local origin and once at a specific offset
  + blur-radius). This fixes a number of correctness bugs we have
  related to culling, clipping, invalidation regions of complex
  primitives such as drop-shadows and blur filters. Importantly,
  it makes it simpler to implement (or fix) SVG filter chains,
  backdrop-filter implementations.

* Establish raster roots for all off-screen surfaces. Every off-screen
  surface uses the spatial node of the enclosing stacking context as
  a coordinate system root, ensuring that each off-screen surface is
  drawn in a 2D coordinate system, with appropriate scaling factors
  applied to ensure high quality rendering. The primary goal is to make
  it possible to correctly inflate and clip off-screen surfaces, removing
  some correctness issues we currently have with complex filters interacting
  with transforms. The initial work here doesn't reduce complexity a huge
  amount, but will allow us to simplify large parts of the picture/surface
  handling code in future, as well as simplify a number of shaders that
  currently must handle arbitrarily complex transform matrices. This will
  also allow us to simplify the implementation of features such as
  mix-blend-mode and backdrop-filter, which rely on readback and UV mapping
  from the parent surface.

* Remove concepts of `estimated` and `precise` local rects for pictures. This
  is both a performance optimization and a code simplification. Instead, we
  only determine the estimated local rect during bounding rect propagation,
  and rely on the clipping regions from the tile dirty regions to reduce which
  parts of the picture we allocate if drawing to an off-screen surface. This
  removes some per-primitive work during the visibility pass, and also means
  we can rely on the final picture bounding rect from the start of the visibility
  pass. This also removes much of the complexity in `take_context` where we
  previously determined surface scale factors and device pixel ratio - instead
  these can be determined earlier during `propagate_bounding_rects`.

* Remove some complexity in `update_prim_visibility`. This is still recursive,
  but follow up patches will aim to remove this recursion and integrate this
  pass with the picture graph (similar to how `propagate_bounding_rects` works).

* Remove `PictureOptions` struct. Instead, store `inflate_if_required` with
  the Blur filter enum, which is the only place that uses it.

* Remove `root_scaling_factor` from text runs - this is handled implicitly
  by the surface device-pixel scale.

* Skip calling `update_clip_task` for pass-through pictures (since they have
  no defined local rect).

* Improve scaling factors used for determining the render task cache size for
  complex line decorations.

Differential Revision: https://phabricator.services.mozilla.com/D137569
2022-02-07 22:14:47 +00:00
Joel Maher 4f99e4612d Bug 1754079 - Run mochitest-gpu-c as 1proc. r=releng-reviewers,gbrown
Differential Revision: https://phabricator.services.mozilla.com/D138069
2022-02-07 22:02:35 +00:00
Jeff Muizelaar d10642bdfd Bug 1753719 - Properly convert the result of GetMaskArea to device pixels. r=dholbert
Previously, we would get the wrong bounds on HiDPI displays.
This matches what's done in ComputeClipForMaskItem and makes things a bit
more explicit by using typed units.

Differential Revision: https://phabricator.services.mozilla.com/D137880
2022-02-07 22:01:35 +00:00
Ed Lee a93ae9c0c7 Bug 1753739 - [mozlint] Include mach now that mozversioncontrol uses mach.util r=ahal,mhentges
Treat git output for changedFiles as text (instead of byte string) to pass strs to add_remove_files.

Differential Revision: https://phabricator.services.mozilla.com/D137892
2022-02-07 21:59:12 +00:00
Joel Maher 581bb247a9 Bug 1749977 - adjust taskcluster scopes for interactive tasks. r=releng-reviewers,ahal
Differential Revision: https://phabricator.services.mozilla.com/D137897
2022-02-07 21:55:58 +00:00
Timothy Nikkel 6e793fddd7 Bug 1753885. Enable swipe to navigate on Windows on nightly only. r=hiro
Disabled everywhere in bug 1751124 but it's in good enough shape to still get testing in nightly at least.

Differential Revision: https://phabricator.services.mozilla.com/D137949
2022-02-07 21:51:16 +00:00
Andrew Halberstadt a9e27806b7 Bug 1753515 - [tryselect] Add a basic tests for releaseand scriptworker selectors, r=releng-reviewers,jcristau
These tests aren't very comprehensive, but should catch simple mistakes like
ImportErrors.

Differential Revision: https://phabricator.services.mozilla.com/D137809
2022-02-07 21:46:30 +00:00
Andrew Halberstadt 935a4f1bb1 Bug 1753515 - [tryselect] Don't modify 'files_to_change' when --no-push selected, r=releng-reviewers,jmaher
Some try selectors (like 'release' or 'scriptworker') depend on modifying
source files to work.  Normally, these changes will be committed into the
temporary commit that the 'hg push-to-try' extension makes.

But if the --no-push flag is specified, these changes will be left lying around
in the sourcedir. This ensures we don't modify anything when '--no-push' is
used.

Differential Revision: https://phabricator.services.mozilla.com/D137806
2022-02-07 21:46:30 +00:00
Norisz Fay 49e64d1733 Backed out 2 changesets (bug 1752206) for causing build bustages on ReadableByteStreamController.cpp CLOSED TREE
Backed out changeset 455cd9209987 (bug 1752206)
Backed out changeset a6cc91b823c3 (bug 1752206)
2022-02-08 00:09:17 +02:00
Norisz Fay 1f6e81e2ce Backed out changeset 370f46a043e4 (bug 1752907) for causing mochitest failures on browser_navigator.js 2022-02-08 00:02:49 +02:00
Iulian Moraru 71ef7be830 Merge mozilla-central to autoland on a CLOSED TREE 2022-02-07 23:57:09 +02:00
Iulian Moraru 2a0b0ababd Merge autoland to mozilla-central. a=merge 2022-02-07 23:55:08 +02:00
John Schanck 3fa9218df2 Bug 1747959 - Take module list lock in FindRootsWithSubject. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D138061
2022-02-07 21:39:20 +00:00
Kershaw Chang b111fc0b0a Bug 1747497 - Allow only one PAC execution at a time, r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D134849
2022-02-07 21:24:04 +00:00
Gijs Kruitbosch e7e3faf8d5 Bug 1659193 - fix scroll-to-ref support in reader mode to not be racy, r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D138067
2022-02-07 21:23:10 +00:00
Masatoshi Kimura a4490efa8a Bug 1728800 - Collect window features from chrome flags. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D137948
2022-02-07 21:01:19 +00:00
Jonathan Kew aef8a0d1a8 Bug 1587094 - Create a pref to control whether we use DirectWrite's bold simulation or multi-strike synthetic bold; default to multi-strike for webfonts. r=lsalzman
This is designed to mitigate the problem of third-party fonts that render poorly
under DirectWrite's bold simulation, by using multi-strike synthetic bold (like
we use on macOS) instead.

The behavior is controlled by a pref, so that we can readily switch between
using DWrite's bold simulation for all fonts (pref=2, our current behavior);
using it only for installed fonts and falling back to multi-strike for webfonts
(pref=1, new behavior); or never using the DWrite simulation (pref=0).

Differential Revision: https://phabricator.services.mozilla.com/D137584
2022-02-07 20:54:52 +00:00
asharma 9fd77ce12f Bug 1752907: Cut over Hardware Concurrency to finer-grained RFP Check r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D137481
2022-02-07 20:26:28 +00:00
Kash Shampur f97318414e Bug 1748838 - Add chromedriver for Chrome 98 r=aglavic,aryx
Differential Revision: https://phabricator.services.mozilla.com/D138016
2022-02-07 20:18:59 +00:00
Iulian Moraru 504e0f5405 Bug 1753847 - Mark add-background-attachment-fixed-during-smooth-scroll.html as intermittent on linux. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D137940
2022-02-07 20:16:07 +00:00
Nils Ohlmeier 9463c0c845 Bug 1749802: remove media.peerconnection.rtpsourcesapi.enable. r=ng,emilio
Differential Revision: https://phabricator.services.mozilla.com/D135761
2022-02-07 20:14:12 +00:00
Steve Fink ec36711a82 Bug 1747273 - Ignore the GC interrupt if the GC is running long r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D134534
2022-02-07 19:14:17 +00:00
Norisz Fay 83995f33e6 Backed out changeset 7fff10da0dcc (bug 1748520) for causing xpcshell failures on test_TelemetryEnvironment.js CLOSED TREE 2022-02-07 21:13:10 +02:00
Mozilla Releng Treescript 35ff9ec482 no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD
et -> cd11e1d52aeb09fb25c4f1bb49df356703bfbf03
hu -> 36a782e89bebf970dd7fe67497bf34680c6953e8
hye -> 85db6eae910dc09cd55fab830ac8c6432c4759bd
is -> a5dd94cde18055dbe178134e17e487ee49dad0a1
sl -> cc62152795b996eaaf90132c8b05a28d3b0b5111
tg -> 5bb45f2405a5a94b4bb432d098fb0325c8fdab52
th -> 0e90ff7bb6277799be92363a3bf35d27ec9b99a1
2022-02-07 19:12:17 +00:00
Matthew Gaudet c7dcf9335d Bug 1752206 - Enable DOM Streams by default r=smaug,firefox-build-system-reviewers,nalexander
Depends on D137770

Differential Revision: https://phabricator.services.mozilla.com/D137771
2022-02-07 18:46:58 +00:00
Matthew Gaudet 9f505b3000 Bug 1752206 - Flip the sense of the DOM Streams CI (test JS streams there instead now) r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D137770
2022-02-07 18:46:58 +00:00
andrej 19c6bfb2a4 Bug 1735196 Update twitch to mitm7 and add secondary url r=perftest-reviewers,AlexandruIonescu
Differential Revision: https://phabricator.services.mozilla.com/D137561
2022-02-07 18:29:09 +00:00
Ryan VanderMeulen 11fcfca595 Bug 1754028 - Update HarfBuzz to 3.3.2. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D138055
2022-02-07 18:29:05 +00:00
Emilio Cobos Álvarez b699e8cdc8 Bug 1753995 - Remove nsDOMWindowUtils.screenPixelsPerCSSPixel. r=smaug,dholbert
For all purposes, this is the same as devicePixelRatio. It was meant to
skip the resistFingerprinting check the devicePixelRatio getter does,
but we do that now using CallerType in WebIDL, so if we cared about that
for these tests (which we don't) we could just do
SpecialPowers.wrap(window).devicePixelRatio.

As a follow-up we could move the NoOverride to window for symmetry. But
it's only used by devtools touch simulation so not sure if worth it.

Differential Revision: https://phabricator.services.mozilla.com/D138021
2022-02-07 18:23:36 +00:00
Emilio Cobos Álvarez 00cc720134 Bug 1753995 - Remove non-test usage of WindowUtils.screenPixelsPerCSSPixel. r=mconley
It does the same as window.devicePixelRatio. However a bunch of this
code is copy-pasted code trying to scale a canvas, but not messing with
full zoom is the right thing to do.

The full zoom value in the top level browser.xhtml page is always 1
anyways, and WindowsPreviewPerTab looking at the current browser tab's
full zoom is just bizarre...

Differential Revision: https://phabricator.services.mozilla.com/D138020
2022-02-07 18:23:35 +00:00
Emilio Cobos Álvarez 03ade0a619 Bug 1753995 - Move devicePixelRatio getter from outer to inner window. r=smaug
It only pokes at the document's pres context, there's no need to
roundtrip through the outer window. No behavior change.

Differential Revision: https://phabricator.services.mozilla.com/D138019
2022-02-07 18:23:35 +00:00