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

766063 Коммитов

Автор SHA1 Сообщение Дата
stransky e9207013f4 Bug 1722450 [Wayland] Pause compositor when screen scale changes and content is not updated yet, r=sotaro
We need to track window compositor state in various cases, when compositor is paused after window creation,
when compositor is paused for hidden window (EGLSurface is missing) and paused compositor when layout is not updated yet
and drawing will lead to incorrect / obsoleted window content.

In this patch we track compositor state by WindowCompositorState atomic enum (because it can be accessed from Compositor thread)
and two private methods (PauseCompositorHiddenWindow and ResumeCompositorHiddenWindow) and two public ones (PauseCompositor() and ResumeCompositor).

Private interface is used by nsWindow when EGLSurface is missing so we can't render to window - it's initial compositor pause and
pause when window is hidden.

Public interface is used by nsWindow and WebRender compositor to disable/enable rendering when window content is updated.
When compositor is disabled by public interface it will be enabled automatically after a timeout (1s) or when content layout is updated.

Changes in the patch:

- Implement GtkCompositorWidget::RemoteLayoutSizeUpdated() to notify GtkCompositorWidget widget about layout size update in content process.
- Track nsWindow compositor state by WindowCompositorState
- Implement nsWindow::PauseCompositorHiddenWindow() and ResumeCompositorHiddenWindow() to handle internal nsWindow states.
- Implement nsWindow::PauseCompositor() and nsWindow::ResumeCompositor() to allow compositor pause/resume during content layout updates.
- Use timeout to resume compositor paused by public interface as a fallback when content is not updated or it takes too long.

Differential Revision: https://phabricator.services.mozilla.com/D121650
2021-08-11 07:48:53 +00:00
stransky 39d89466c3 Bug 1722450 [Wayland] Reduce window changes during scale changes, r=rmader
- Set mozcontainer scale only when we're going to paint into it.
- Set scale to EGL window with window size update at nsWindow::SetEGLNativeWindowSize().
- Don't fire configure events for scale changes as we handle scale change by OnScaleChanged().
- Remove redundant layout updates from nsWindow::OnScaleChanged().
- Dont pass allocation size to OnScaleChanged() as it's not provided by the Gtk signal.
- Log updates

Differential Revision: https://phabricator.services.mozilla.com/D121649
2021-08-11 07:48:52 +00:00
Mike Hommey a673ae0901 Bug 1724374 - Handle the macos SDK through the same code paths as sysroots. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D121944
2021-08-11 07:47:14 +00:00
Mike Hommey d784654760 Bug 1724374 - Use --sysroot on mac builds. r=firefox-build-system-reviewers,andi
We're currently using -isysroot as a preprocessor flag and
-Wl,--syslibroot/-Wl,--sysroot as a linker flag, but --sysroot is
generalization of both, so we can use that instead.

Differential Revision: https://phabricator.services.mozilla.com/D121943
2021-08-11 07:47:13 +00:00
Jeff Gilbert d8f6319203 Bug 1717078 - Enable av1 pref for color_quads tests. r=gfx-reviewers,jrmuizel
Otherwise, outside of Nightly, av1 will be disabled on Android, and
these tests will be both orange and not useful.

Differential Revision: https://phabricator.services.mozilla.com/D122302
2021-08-11 07:46:53 +00:00
Mike Hommey d873082139 Bug 1724606 - Replace uses of MACOSX_DEPLOYMENT_TARGET env variable with -mmacosx-version-min flag. r=firefox-build-system-reviewers,andi
They are equivalent, except for the fact that MACOSX_DEPLOYMENT_TARGET
may apply to more processes in a normal build. In practice, all the
processes that matter are covered through compiler flags.

On the opposite end, MACOSX_DEPLOYMENT_TARGET isn't necessary passed in
all cases (like clangd, mach static-analysis, etc.), while compiler
flags are.

Differential Revision: https://phabricator.services.mozilla.com/D122145
2021-08-11 07:40:57 +00:00
stransky 49f523cc07 Bug 1724679 [Linux] Check env variables for '1' to enable them, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D122076
2021-08-11 07:28:57 +00:00
Timothy Nikkel 423dd4a3bd Bug 1724808. Take into account ancestor documents in other processes' resolution when pre-decoding images. r=hiro
Depends on D122212

Differential Revision: https://phabricator.services.mozilla.com/D122213
2021-08-11 07:18:09 +00:00
stransky 50cee5c326 Bug 1718727 [Wayland] Don't constrain popup size by screen size on Wayland, r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D122102
2021-08-11 06:37:07 +00:00
stransky b6f99ae08b Bug 1718727 [Wayland] Don't constrain mouse events by screen size on Wayland, r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D122101
2021-08-11 06:37:06 +00:00
Mike Hommey 170547001c Bug 1725092 - Change how --enable/disable-gtest-in-build is handled. r=firefox-build-system-reviewers,andi
So that --enable-gtest-in-build works in local builds.

Differential Revision: https://phabricator.services.mozilla.com/D122312
2021-08-11 05:45:06 +00:00
Gerald Squelart 056d185383 Bug 1721569 - Use std::this_thread::get_id() on other platforms - r=florian
Now `profiler_current_thread_id()` is available on all platforms, at all tier levels.

Differential Revision: https://phabricator.services.mozilla.com/D121053
2021-08-11 03:27:52 +00:00
Gerald Squelart 032f23b189 Bug 1721569 - Change id native types to reflect what each platform really provides - r=florian
Differential Revision: https://phabricator.services.mozilla.com/D121052
2021-08-11 03:27:51 +00:00
Gerald Squelart 1f76b47543 Bug 1721569 - Move main-thread id functions to cpp files - r=florian
This hides the scProfilerMainThreadId detail, and makes for a safer API.
Also, ::profiler_init_main_thread_id() calls ::mozilla::baseprofiler::profiler_init_main_thread_id().
And in non-MOZ_GECKO_PROFILER builds, AUTO_PROFILER_INIT calls profiler_init_main_thread_id(), which makes other main-thread functions usable there (assuming profiler_current_thread_id works).

Differential Revision: https://phabricator.services.mozilla.com/D121695
2021-08-11 03:27:51 +00:00
Gerald Squelart 84d1ba4229 Bug 1721569 - Moved implementations of {,Base}ProfilerUtils.h declarations to ProfilerUtils.cpp - r=florian
This patch only shuffles source code around, so that all declarations in {,Base}ProfilerUtils.h are now implemented only in ProfilerUtils.cpp (instead of the different platform-*.cpp), the final generated code should be the same in MOZ_GECKO_PROFILER builds (the default on all our supported platforms).
This simplifies the headers and makes further changes easier.

In non-MOZ_GECKO_PROFILER builds: On supported platforms these functions are now fully defined; Unsupported platforms should all had `getpid()`, but thread ids are null.
So now `profiler_current_process_id()` is available on all platforms, at all tier levels.

Differential Revision: https://phabricator.services.mozilla.com/D121051
2021-08-11 03:27:50 +00:00
Gerald Squelart 9127fdc730 Bug 1721569 - Make TracePayload easier to modify, and use maximum space for name - r=padenot
An upcoming patch will change the size of ProfilerThreadId, which causes troubles with TracePayload.
Trying to move members around didn't help, I'm guessing some padding remains, which cannot be accounted for by just enumerating member sizes.

The proposed solution is to wrap all members in a macro (so they don't need to be repeated), and create a private struct with these members and a character, in order to find the exact offset at which the name will actually start.
This is uglier, but more flexible, and allows future changes (internal or external) more easily, without having to modify the name-size formula.

Differential Revision: https://phabricator.services.mozilla.com/D121050
2021-08-11 03:27:50 +00:00
Gerald Squelart 5d1937d55a Bug 1721569 - Handle different sizes of Profiler{Process,Thread}Id - r=florian
Since ProfilerProcessId and ProfilerThreadId (and their NumberTypes) will potentially grow to 64 bits on some platforms (in a later patch), all code that uses them must be able to handle bigger types.

Differential Revision: https://phabricator.services.mozilla.com/D121049
2021-08-11 03:27:50 +00:00
Gerald Squelart c469a8f0be Bug 1721569 - Add gtest checks comparing Base and Gecko profiler process/thread APIs - r=florian
Differential Revision: https://phabricator.services.mozilla.com/D121048
2021-08-11 03:27:49 +00:00
Gerald Squelart e5740a518f Bug 1721569 - Also compile Gecko Profiler gtest files in non-MOZ_GECKO_PROFILER builds - r=florian
Differential Revision: https://phabricator.services.mozilla.com/D121046
2021-08-11 03:27:49 +00:00
Gerald Squelart 2e518a7873 Bug 1721569 - Fix gtest assertions and remove redundant Utils test - r=florian
Differential Revision: https://phabricator.services.mozilla.com/D121044
2021-08-11 03:27:48 +00:00
Timothy Nikkel 33ea672136 Bug 1724904. Send resolution to oopifs with webrender. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D122212
2021-08-10 23:42:43 +00:00
Masayuki Nakano 91fed01266 Bug 1723895 - Make `WhiteSpaceVisibilityKeeper::ReplaceText()` call `GetInclusiveNextNBSPPointIfNeedToReplaceWithASCIIWhiteSpace` with end of the replacing range instead of start of it r=m_kato
It tries to replace a following NBSP with an ASCII white-space if there is.
However, it calls the scan method with start of the replacing range.  Therefore,
the assertion in `GetInclusiveNextNBSPPointIfNeedToReplaceWithASCIIWhiteSpace()`
detects this bug.

Note that this occurs only when updating composition string because it's
called with non-collapsed range only for doing it.  Otherwise, selected range
has already been deleted by `HTMLEditor::DeleteSelectionAsSubAction()`.

Unfortunately, I don't have how to make this bug appear.  It seems that the
path does nothing in the wild because it tries to replace a first character
of composition string from an NBSP to a normal white-space, but it'll be
replaced with new composition string anyway.  Therefore, this patch does not
have new tests.

Differential Revision: https://phabricator.services.mozilla.com/D122182
2021-08-10 23:41:19 +00:00
Andreea Pavel baac08facd Bug 1700504 - update disabling condition to skip on qr too r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D122296
2021-08-10 23:37:45 +00:00
Mats Palmgren 05d79d0404 Bug 1724880 - Add a layout-debugger menu item that dumps CounterManager data. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D122210
2021-08-10 23:15:31 +00:00
Gijs Kruitbosch 3355c934ef Bug 1724718 - forget AddTask.js ever existed as bug 1544051 already removed it, r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D122166
2021-08-10 22:33:06 +00:00
Edgar Chen 61b3f2657e Bug 1724905 - Remove native only updateURLAndHistory in nsIDocShell; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D122211
2021-08-10 22:15:09 +00:00
Ting-Yu Lin 2fe6eb093f Bug 1611303 - Always assume a flex item needs a block-axis resize in final reflow. r=dholbert
In an incremental reflow, if a flex item has a valid bsize cache , we
skip its measuring reflow. However, we may still need to set relevant
bsize flags if the flex container is changing its definiteness in the
block-axis. See bug 1611303 comment 2 for an analysis.

This patch is playing safe by always calling SetHasBSizeChange() if we
override bsize for the item. Of course this can be solved in a more
sophisticated way by checking whether the item really has a block-axis
resize, but that means we'll need to duplicate a lot of logic in
FlexItem::NeedsFinalReflow().

Differential Revision: https://phabricator.services.mozilla.com/D122041
2021-08-10 21:43:14 +00:00
Julian Descottes 6cbdd03533 Bug 1713442 - [remote] Rename all messagehandler test modules to follow the correct naming pattern r=webdriver-reviewers,whimboo
Depends on D120640

Differential Revision: https://phabricator.services.mozilla.com/D122224
2021-08-10 21:34:23 +00:00
Julian Descottes aed2bec56c Bug 1713442 - [remote] Support events in windowglobal MessageHandlers r=webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D120640
2021-08-10 21:34:23 +00:00
Butkovits Atila 1e11a69a62 Backed out changeset 634412ce2943 (bug 1724141) for causing failures at Mutex_posix.cpp. CLOSED TREE 2021-08-11 01:04:49 +03:00
Butkovits Atila 1213e1bc84 Bug 1724830 - Lint fix. a=lint-fix 2021-08-11 01:01:12 +03:00
Mike Hommey e54462618c Bug 1724830 - Remove MOZ_LIBSTDCXX_*_VERSION. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D122197
2021-08-10 21:16:18 +00:00
Mike Hommey 139b1d25b2 Bug 1724830 - Don't link stdc++compat for wasm targets. r=firefox-build-system-reviewers,andi
In practice, that didn't do anything anyways because wasm libraries
don't look at linked libraries.

Differential Revision: https://phabricator.services.mozilla.com/D122196
2021-08-10 21:16:18 +00:00
Mike Hommey 0fd10d96b0 Bug 1724830 - Only allow --enable-stdcxx-compat when building on or targetting Linux. r=firefox-build-system-reviewers,andi
As this means stdc++compat also would need to be built when
cross-building for Windows on Linux, we also recurse in the stdc++compat
directory in that case. It was already possible to use
--enable-stdcxx-compat in that configuration, and that wasn't working
(there are other problems that prevent it from working, but we're going
to fix them shortly).

Differential Revision: https://phabricator.services.mozilla.com/D122195
2021-08-10 21:16:18 +00:00
Mike Hommey 61812c65f9 Bug 1724830 - Use _GLIBCXX_RELEASE in stdc++compat.cpp. r=firefox-build-system-reviewers,andi
Since the minimum required version of gcc and libstdc++ is 7.1 as of bug
1536848, the _GLIBCXX_RELEASE macro is available on all supported
versions. Which means instead of grabbing the largest version of the
libstdc++ symbols and tweaking for that, we can just tweak for
_GLIBCXX_RELEASE. We also remove the conditions that are always true due
to the versions involved.

Differential Revision: https://phabricator.services.mozilla.com/D122194
2021-08-10 21:16:17 +00:00
Andreea Pavel 9c8e311c90 Bug 1675902 - update android condition r=aryx DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D122289
2021-08-10 21:14:05 +00:00
Boris Chiou a282364f3e Bug 1587973 - Part 4: Rename GetTargetSize with CalculateBoxSize. r=emilio
Use the same name as the spec title for better readability:
https://www.w3.org/TR/resize-observer-1/#calculate-box-size

Differential Revision: https://phabricator.services.mozilla.com/D121158
2021-08-10 21:03:31 +00:00
Boris Chiou 6b574c5928 Bug 1587973 - Part 3: Support device-pixel-content-box for ResizeObserver. r=emilio
This patch implements device-pixel-content-box for ResizeObserver.
GetTargetSize() returns CSS pixels for {border|content}-box, or device
pixels for device-pixel-content-box. We round the device pixel to
integral based on the spec,
https://drafts.csswg.org/resize-observer/#calculate-box-size.
And then we compare the current calculated box sizes and the last updated one
in IsActive().

Besides, the current wpts only use zoom property to verify this, but zoom
property is non-standard and we doesn't supports it, so now we only test the
getter functions for device-pixel-content-box and the subpixel snapping
algorithm (e.g. devicepixel.html) for Gecko in wpts.

Differential Revision: https://phabricator.services.mozilla.com/D120776
2021-08-10 21:03:31 +00:00
Boris Chiou 64e925cdb0 Bug 1587973 - Part 2: Introduce LogicalPixelSize for ResizeObserver. r=emilio
LogicalPixelSize is a variant of LogicalSize but it stores pixel values
in floating-point. Now we store LogicalPixelSize in ResizeObservation and
ResizeObserverSize. This makes us easier to introduce device-pixel-content-box.

Differential Revision: https://phabricator.services.mozilla.com/D121155
2021-08-10 21:03:31 +00:00
Boris Chiou a2b8e058de Bug 1587973 - Part 1: Use CSS pixels or device pixels in ResizeObserverSize. r=emilio
We will introduce device-pixel-content-box, which is in device-pixel
domain. Therefore, we convert the app units into CSS/device pixel when creating
ResizeObserverSize.

Differential Revision: https://phabricator.services.mozilla.com/D121016
2021-08-10 21:03:30 +00:00
Steve Fink 1321fa97c4 Bug 1724969 - Fix run-task when not running_as_root r=releng-reviewers,jmaher
Differential Revision: https://phabricator.services.mozilla.com/D122265
2021-08-10 20:54:58 +00:00
Matthew Gregan 683c5312b4 Bug 1724141 - Update audioipc to 8bb1a227. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D121826
2021-08-10 20:52:03 +00:00
Mike Hommey 83fb89d35f Bug 1723956 - Make --without-sysroot work again. r=firefox-build-system-reviewers,mhentges
Also make it not bootstrap a host sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D121815
2021-08-10 20:38:51 +00:00
Agi Sferro 9df33a60f4 Bug 1724782 - Allow substituting GeckoView lite and omni builds. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D122142
2021-08-10 20:24:33 +00:00
Nan Jiang 00f5f2fce4 Bug 1721525 - Replace Cu.reportError with log warnings for Contile r=mythmon
Differential Revision: https://phabricator.services.mozilla.com/D122285
2021-08-10 20:07:24 +00:00
Kirk Steuber 5ada5065e3 Bug 1725010 - Add logging for when UpdateService.jsm's `writeStringToFile` fails r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D122284
2021-08-10 20:01:40 +00:00
Butkovits Atila 538569c63f Backed out changeset 97813b0b7f35 (bug 1723665) as requested by dev. CLOSED TREE 2021-08-10 23:04:10 +03:00
Kershaw Chang b38ee4d69d Bug 1724871 - P2: Update ODOH to version 1, r=necko-reviewers,valentin
Depends on D122252

Differential Revision: https://phabricator.services.mozilla.com/D122253
2021-08-10 19:50:05 +00:00
Kershaw Chang d289199bd1 Bug 1724871 - P1: Change 'odohconfig' parameter name to 'odoh', r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D122252
2021-08-10 19:50:04 +00:00
Jan Henning 6a54fe3b58 Bug 1685756 - Part 3: Take default scale into account when disabling font inflation. r=hiro
Font inflation isn't required for pages whose viewport is narrow enough that we
don't have to zoom *out* when doing zoom-to-fit.

As the viewport scale is given as a CSSToScreenScale, this means that what we're
actually doing at the moment, though, is comparing the width of the viewport in
CSS pixels to the width of the screen in physical pixels, *without* taking the
default scale on a high-DPI device into account.

This issue affects neither pages using a "width=device-width" viewport (the
IsAutoSizeEnabled() check handles those), nor pages without an explicitly
specified viewport at all (the viewport info returns the minimum zoom level in
that case, i.e. 25 %, which would therefore require a device scale of > 4 in
order for us to erroneously turn off font inflation - even modern phones don't
seem to quite reach *that* sort of pixel density, e.g. a Pixel 5 only reports a
default scale of ~2.73.

For pages with an explicitly sized viewport this can however mean that we turn
off font inflation too early: Slashdot e.g. uses "width=1000", which means that
on a phone with a 720 px screen font inflation is correctly enabled, but on a
different phone squeezing 1080 px into the same physical screen width (i.e.
higher DPI, but *not* a physically larger screen), font inflation is suddenly
and incorrectly turned off.

Differential Revision: https://phabricator.services.mozilla.com/D122059
2021-08-10 19:36:24 +00:00