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

2013 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez b651bfe99a Bug 1744009 - Simplify combobox <select> code. r=mconley,dholbert
With this patch on its own we get some a11y tests failures, but those
are fixed on a later patch.

Combobox select no longer creates frames for its <options>, nor an
nsListControlFrame. Instead, it computes its right intrinsic size using
the largest size of the options. This is better, because we render the
option text using the select style so if the select and option styles
are mismatched it'd cause changes in the size of the select when text
changes. See the following in a build without the patch, for example:

  <select>
    <option>ABC</option>
    <option style="font-size: 1px">Something long</option>
  </select>

This seems like a rather obscure case, but it's important to get it
right, see bug 1741888.

With this patch we use the same setup in content and parent processes
(this needs bug 1596852 and bug 1744152). This means we can remove a
bunch of the native view and popup code in nsListControlFrame. A couple
browser_* tests are affected by this change and have been tweaked
appropriately (the changes there are trivial).

Not creating an nsListControlFrame for dropdown select means that we
need to move a bunch of the event handling code from nsListControlFrame
to a common place that nsComboboxControlFrame can also use. That place
is HTMLSelectEventListener, and I think the setup is much nicer than
having the code intertwined with nsListControlFrame. It should be
relatively straight-forward to review, mostly moving code from one part
to another.

Another thing that we need to do in HTMLSelectEventListener that we
didn't use to do is listening for DOM mutations on the dropdown. Before,
we were relying on changes like text mutations triggering a reflow of
the listcontrolframe, which also triggered a reflow of the
comboboxcontrolframe, which in turn updated the text of the anonymous
content. Now we need to trigger that reflow manually.

There are some further simplifications that can be done after this
lands (cleanup naming of openInParentProcess and so on, among others),
but I'd rather land this first (after the merge of course) and work on
them separately.

Differential Revision: https://phabricator.services.mozilla.com/D132719
2022-01-17 11:10:05 +00:00
Marian-Vasile Laza 35a88d897e Backed out 2 changesets (bug 1744009) for causing reftest failures on select-3.html.
Backed out changeset 3e44e31d3d12 (bug 1744009)
Backed out changeset 619389788775 (bug 1744009)
2022-01-17 11:14:27 +02:00
Emilio Cobos Álvarez a8d469a8d0 Bug 1744009 - Simplify combobox <select> code. r=mconley,dholbert
With this patch on its own we get some a11y tests failures, but those
are fixed on a later patch.

Combobox select no longer creates frames for its <options>, nor an
nsListControlFrame. Instead, it computes its right intrinsic size using
the largest size of the options. This is better, because we render the
option text using the select style so if the select and option styles
are mismatched it'd cause changes in the size of the select when text
changes. See the following in a build without the patch, for example:

  <select>
    <option>ABC</option>
    <option style="font-size: 1px">Something long</option>
  </select>

This seems like a rather obscure case, but it's important to get it
right, see bug 1741888.

With this patch we use the same setup in content and parent processes
(this needs bug 1596852 and bug 1744152). This means we can remove a
bunch of the native view and popup code in nsListControlFrame. A couple
browser_* tests are affected by this change and have been tweaked
appropriately (the changes there are trivial).

Not creating an nsListControlFrame for dropdown select means that we
need to move a bunch of the event handling code from nsListControlFrame
to a common place that nsComboboxControlFrame can also use. That place
is HTMLSelectEventListener, and I think the setup is much nicer than
having the code intertwined with nsListControlFrame. It should be
relatively straight-forward to review, mostly moving code from one part
to another.

Another thing that we need to do in HTMLSelectEventListener that we
didn't use to do is listening for DOM mutations on the dropdown. Before,
we were relying on changes like text mutations triggering a reflow of
the listcontrolframe, which also triggered a reflow of the
comboboxcontrolframe, which in turn updated the text of the anonymous
content. Now we need to trigger that reflow manually.

There are some further simplifications that can be done after this
lands (cleanup naming of openInParentProcess and so on, among others),
but I'd rather land this first (after the merge of course) and work on
them separately.

Differential Revision: https://phabricator.services.mozilla.com/D132719
2022-01-16 23:31:22 +00:00
Jens Stutte e8d4b2540f Bug 1707963: Let the PermissionManager be initialized lazily but not after shutdown started. r=permissions-reviewers,timhuang,janv
Differential Revision: https://phabricator.services.mozilla.com/D132088
2021-12-14 18:39:41 +00:00
Alexandru Michis 9028b0458c Backed out 2 changesets (bug 1707963) for causing bc failures in browser_xpcom_graph_wait.js
CLOSED TREE

Backed out changeset 4e7eac659186 (bug 1707963)
Backed out changeset 5d86acaf84da (bug 1707963)
2021-12-09 09:05:07 +02:00
Jens Stutte c05fc0f8b4 Bug 1707963: Let the PermissionManager be initialized lazily but not after shutdown started. r=permissions-reviewers,timhuang,janv
Differential Revision: https://phabricator.services.mozilla.com/D132088
2021-12-08 22:10:18 +00:00
Mike Hommey 8e411675ac Bug 1744877 - Remove --disable-xul. r=Gijs
Building with --disable-xul has been busted since _at least_ bug
1082579, for more than 7 years (I didn't try to track that down
further). It's time to recognize that the option serves no purpose.

Differential Revision: https://phabricator.services.mozilla.com/D133161
2021-12-08 21:37:11 +00:00
Greg Tatum d642b72ac3 Bug 1715892 - Unify locale/DateTimeFormat to mozilla::intl::AppDateTimeFormat; r=platform-i18n-reviewers,dminor
I considered removing this class initially, but it's actually a pretty
useful abstraction over the DateTimeFormat interface when used
specifically with Gecko. It applies the OS preferences and provides some
caching behavior.

Differential Revision: https://phabricator.services.mozilla.com/D131671
2021-12-01 17:41:37 +00:00
Chris Peterson f6fdbf028a Bug 1738401 - Remove -Wno-shadow warning suppressions. r=firefox-build-system-reviewers,glandium
-Wshadow warnings are not enabled globally, so these -Wno-shadow suppressions have no effect. I had intended to enable -Wshadow globally along with these suppressions in some directories (in bug 1272513), but that was blocked by other issues.

There are too many -Wshadow warnings (now over 2000) to realistically fix them all. We should remove all these unnecessary -Wno-shadow flags cluttering many moz.build files.

Differential Revision: https://phabricator.services.mozilla.com/D132289
2021-12-01 06:40:04 +00:00
Marian-Vasile Laza 3bfa529b3e Backed out 6 changesets (bug 1715892, bug 1719735) for causing bc test failures. CLOSED TREE
Backed out changeset 196952bd8c9c (bug 1715892)
Backed out changeset 9105fe01c025 (bug 1715892)
Backed out changeset 4c15d1a24ccd (bug 1715892)
Backed out changeset 2c328b84285f (bug 1715892)
Backed out changeset 8fcdcdf44b62 (bug 1719735)
Backed out changeset c48f398e301f (bug 1719735)
2021-11-30 23:30:59 +02:00
Greg Tatum 9b5497020e Bug 1715892 - Unify locale/DateTimeFormat to mozilla::intl::AppDateTimeFormat; r=platform-i18n-reviewers,dminor
I considered removing this class initially, but it's actually a pretty
useful abstraction over the DateTimeFormat interface when used
specifically with Gecko. It applies the OS preferences and provides some
caching behavior.

Differential Revision: https://phabricator.services.mozilla.com/D131671
2021-11-30 19:05:58 +00:00
Deian Stefan 1ee9a841d8 Bug 1732201 - Sandbox woff2 in OTS using RLBox r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D126435
2021-11-27 23:30:49 +00:00
Cristian Tuns f0ef0360eb Backed out changeset d486edc7499b (bug 1732201) for causing web-platform-tests failures on header-totalsfntsize-001.xht CLOSED TREE 2021-11-27 07:32:22 -05:00
Deian Stefan 0a5e1f2075 Bug 1732201 - Sandbox woff2 in OTS using RLBox r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D126435
2021-11-27 04:41:21 +00:00
Deian Stefan 86e82e1036 Bug 1688452 - Retrofit nsExpatDriver to use RLBoxed libexpat r=tjr,peterv,bholley,glandium
Differential Revision: https://phabricator.services.mozilla.com/D104658
2021-11-22 06:19:17 +00:00
Sandor Molnar 51a05715fe Backed out changeset 4294063f1606 (bug 1688452) for causing mochitest and wpt failures. CLOSED TREE 2021-11-20 13:00:27 +02:00
Deian Stefan fcd2e09518 Bug 1688452 - Retrofit nsExpatDriver to use RLBoxed libexpat r=tjr,peterv,bholley,glandium
Differential Revision: https://phabricator.services.mozilla.com/D104658
2021-11-19 21:28:53 +00:00
Alexandru Michis d4f3d0994e Backed out changeset 7893bbd002e0 (bug 1688452) for causing bustages in nsRLBoxExpatDriver.
CLOSED TREE
2021-11-19 15:54:31 +02:00
Deian Stefan 76c5d8907d Bug 1688452 - Retrofit nsExpatDriver to use RLBoxed libexpat r=tjr,peterv,bholley,glandium
Differential Revision: https://phabricator.services.mozilla.com/D104658
2021-11-19 06:08:36 +00:00
Bob Owen 25f1dc489f Bug 1713973 p1: Add caching for calls to NS_GetComplexLineBreaks. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D129125
2021-10-26 09:58:51 +00:00
Daniel Holbert 5c8ea5d84b Bug 1731371: Remove REQUIRES_UNIFIED_BUILD declaration from layout subdirectories that don't need it. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D126014
2021-09-19 04:03:41 +00:00
Jonathan Kew da9c992100 Bug 1729642 - patch 1 - Make shutdown of nsLanguageAtomService explicit instead of relying on ClearOnShutdown. r=platform-i18n-reviewers,dminor
Differential Revision: https://phabricator.services.mozilla.com/D125587
2021-09-14 18:51:49 +00:00
Andi-Bogdan Postelnicu 2fc4f70e9b Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium
Automatically generated path that adds flag `REQUIRES_UNIFIED_BUILD = True` to `moz.build`
when the module governed by the build config file is not buildable outside on the unified environment.

This needs to be done in order to have a hybrid build system that adds the possibility of combing
unified build components with ones that are built outside of the unified eco system.

Differential Revision: https://phabricator.services.mozilla.com/D122345
2021-08-25 10:46:17 +00:00
Matt Woodrow 0ee96e3fa5 Bug 1726291 - Remove FrameLayerBuilder. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D122930
2021-08-23 03:07:31 +00:00
Cosmin Sabou b53abb88e7 Backed out changeset e111894317cc (bug 1726291) for causing assertion failures on WebRenderCommandBuilder.cpp. CLOSED TREE 2021-08-20 06:22:40 +03:00
Matt Woodrow 94015526e1 Bug 1726291 - Remove FrameLayerBuilder. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D122930
2021-08-20 02:20:39 +00:00
Ted Campbell e47122deae Bug 1722803 - Always initialize TimelineConsumers at startup. r=nika
Instead of initializing on first use - which can race with workers - do the
initialization in nsLayoutStatics::Initialize(). Also make `sInShutdown` an
Atomic since it is accessed without locks.

Differential Revision: https://phabricator.services.mozilla.com/D121143
2021-07-29 01:53:31 +00:00
Tom Ritter 701266cef6 Bug 1666222: Remove added Fuzzyfox Files Patch 1/5 r=smaug,necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D119636
2021-07-14 18:18:15 +00:00
Emilio Cobos Álvarez fb069248c0 Bug 1716045 - Unify font-family storage. r=mats,jfkthame
This changes font-family storage to reuse the rust types, removing a
bunch of code while at it. This allows us to, for example, use a single
static font family for -moz-bullet and clone it, rather than creating a
lot of expensive copies.

Differential Revision: https://phabricator.services.mozilla.com/D118011
2021-06-18 19:35:50 +00:00
Edgar Chen 1ebbd60592 Bug 1685421 - Part 2: Stop using NS_ERROR_DOM_HIERARCHY_REQUEST_ERR in nsINode; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D113344
2021-06-02 13:43:39 +00:00
Nika Layzell a8265c4766 Bug 1711078 - Part 2: Mark immutable fields in principal types as const, r=ckerschb
This is a step towards separating the mutable state on principals from const
state which can be made threadsafe. The remaining mutable fields will either
need to be moved off of nsIPrincipal or made threadsafe to destroy (e.g. using
nsMainThreadPtrHandle) and stored behind a mutex.

Serialization is handled for most types using a separate Deserializer class,
like how it was handled with `nsIURI` mutators. SystemPrincipal wasn't changed
as the `Read` method is a no-op for that class.

Differential Revision: https://phabricator.services.mozilla.com/D115092
2021-05-17 20:50:09 +00:00
Nika Layzell c2a86c631c Bug 1711078 - Part 1: Stop using the component manager to create non-system principals, r=ckerschb
This is necessary to remove the Init methods from principals, allowing
immutable fields to be marked as const and clearly separated from mutable
fields to improve threadsafety.

Differential Revision: https://phabricator.services.mozilla.com/D115091
2021-05-17 20:50:08 +00:00
Valentin Gosu 4129dbe408 Bug 1694662 - Remove header from layoutstatistics r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D106451
2021-04-30 07:20:22 +00:00
Tom Schuster 0b5bbb2cf5 Bug 1695404 - follow-up: More tiny cleanup. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D112491
2021-04-18 19:30:26 +00:00
Emilio Cobos Álvarez dffb321319 Bug 1695404 - follow-up: Avoid redundant string copy in Gecko_IsSupportedImageMimeType. r=tnikkel
There's no reason to require a null-terminated string in imgLoader.

Differential Revision: https://phabricator.services.mozilla.com/D112478
2021-04-17 22:21:19 +00:00
David Parks 4db3910bdb Bug 1682030 - Remove nsIPluginDocument. r=jmathies,emilio
Removes nsIPluginDocument and its implementation as part of removing all NPAPI plugin support.

Differential Revision: https://phabricator.services.mozilla.com/D107145
2021-04-06 19:28:13 +00:00
Emilio Cobos Álvarez 7a2c22ce65 Bug 1703018 - Reduce boilerplate needed to add system-metric media features. r=boris
There's no reason we can't just query LookAndFeel and we need to use
sSystemMetrics. In the past, LookAndFeel queries were not cached, but
this is no longer the case, so perf wise should be pretty equivalent.

Note that we don't need the NS_SUCCEEDED checks because the default
value from GetInt if the platform doesn't support it is 0 anyways.

Differential Revision: https://phabricator.services.mozilla.com/D110805
2021-04-06 09:55:01 +00:00
Csoregi Natalia d68661e2cc Backed out 24 changesets (bug 1682030) for bustage on ProcessHangMonitor.cpp and nsCOMPtr.h. CLOSED TREE
Backed out changeset 5b1644096477 (bug 1682030)
Backed out changeset 35ae60eea3c7 (bug 1682030)
Backed out changeset 3eca76a6d639 (bug 1682030)
Backed out changeset 259c45447ad9 (bug 1682030)
Backed out changeset de9222dc8c31 (bug 1682030)
Backed out changeset 2986c7e14349 (bug 1682030)
Backed out changeset 6af3410bdb93 (bug 1682030)
Backed out changeset 42b0621c2927 (bug 1682030)
Backed out changeset 366e3e371858 (bug 1682030)
Backed out changeset 9adb2865adea (bug 1682030)
Backed out changeset 6af6af3bc03a (bug 1682030)
Backed out changeset da94a91b35ae (bug 1682030)
Backed out changeset 9143da258d0e (bug 1682030)
Backed out changeset 5e20d06952ba (bug 1682030)
Backed out changeset 6253d7e1ce7d (bug 1682030)
Backed out changeset 0e06ddeea3e2 (bug 1682030)
Backed out changeset 9c58d57c9e44 (bug 1682030)
Backed out changeset e90edd89430e (bug 1682030)
Backed out changeset 5861b8166b10 (bug 1682030)
Backed out changeset b4b88cdc7993 (bug 1682030)
Backed out changeset b80054e9805c (bug 1682030)
Backed out changeset 580d857674c0 (bug 1682030)
Backed out changeset a9cdf93c2662 (bug 1682030)
Backed out changeset 9c9c8b4998e2 (bug 1682030)
2021-04-06 03:54:12 +03:00
David Parks aca228b08f Bug 1682030 - Remove nsIPluginDocument. r=jmathies,emilio
Removes nsIPluginDocument and its implementation as part of removing all NPAPI plugin support.

Differential Revision: https://phabricator.services.mozilla.com/D107145
2021-04-05 23:48:36 +00:00
Anny Gakhokidze eb737dfce2 Bug 1698104 - Fix session restore for about:reader, r=nika,kashav
Implement an observer to wait for correct window events in order to restore tab
content.  Non-SHIP code restores about:reader scroll position after receiving
"AboutReaderContentReady" event, so to achieve the same thing with session
history in parent enabled, we can wait for "AboutReader:Ready" event.

Differential Revision: https://phabricator.services.mozilla.com/D108712
2021-03-23 18:01:23 +00:00
Jens Stutte 48b1ebeb71 Bug 1696397: Move SpinEventLoopUntilOrShutdown to -Quit and move the current shutdown state logic from nsThreadManager to AppShutdown; r=kmag,xpcom-reviewers
The SpinEventLoopUntilOrShutdown is interrupted in the main process only at stage "xpcom-shutdown", which is too late. In a content process instead we interrupt it early enough, at "content-child-will-shutdown".

This patch removes the current observer logic in nsThreadManager in favor of a current shutdown phase state machinery in AppShutdown and renames SpinEventLoopUntilOrShutdown to SpinEventLoopUntilOrQuit. It also ensures that SpinEventLoopUntilOrQuit breaks early (at "quit-application" in the main process).

For a further possible cleanup around shutdown state in child and parent process please refer to bug 1697745.

We have no automated test for this edge case, but we have diagnostic telemetry that will tell us if it helps.

Differential Revision: https://phabricator.services.mozilla.com/D107619
2021-03-17 08:07:48 +00:00
Kagami Sascha Rosylight 4676ee10ba Bug 1697680 - Remove Presentation API implementation r=smaug,agi
Differential Revision: https://phabricator.services.mozilla.com/D108574
2021-03-16 18:21:12 +00:00
smolnar e95ed5a59b Backed out 3 changesets (bug 1672431) for causing xpc failures in IOUtils. CLOSED TREE
Backed out changeset ef2e347ff4f0 (bug 1672431)
Backed out changeset b1b467fd5aeb (bug 1672431)
Backed out changeset d223c887b0b6 (bug 1672431)
2021-02-22 20:56:05 +02:00
Barret Rennie 731aee8763 Bug 1672431 - Initialize IOUtils during startup r=nika
Previously we were initializing IOUtils lazily when we received our first IO
request, but that could run into problems when

1. shutdown starts before submitting any IO requests, which would then fail to
   add shutdown blockers for phases we have already passed; or
2. the first IO request comes from off-main-thread, which can not tell if the
   shutdown blockers are added successfully.

Now we register an observer to initialize the event queue and add all startup
blockers in the `profile-after-change` phase. We can then be sure that IOUtils
will have its blockers added before `profile-before-change`.

Differential Revision: https://phabricator.services.mozilla.com/D105700
2021-02-22 18:25:06 +00:00
Alexis Beingessner 92afde7986 Bug 1686616 - register all Services.py services with components.conf. r=kmag,necko-reviewers,valentin
These services had their name added to components.conf:

* GfxInfo
* ThirdPartyUtil
* History
* HttpActivityDistributor
* UUIDGenerator
* ServiceWorkerManager
* PermissionManager

These services were added to componenets.conf under a different name:

* DirectoryService => Directory
* IOService => IO
* StringBundleService => StringBundle
* CacheStorageService => CacheStorage
* StreamTransportService => StreamTransport
* SocketTransportService => SocketTransport

These services weren't migrated to components.conf because only Rust
code uses them:

* RemoteAgent
* XULRuntime
* PrefService

These services weren't migrated to components.conf because they're unused:

* ToolkitChromeRegistry (used as ChromeRegistry)
* XULChromeRegistry (used as ChromeRegistry)
* Bits (completely unused)

These services were already available in components.conf but are still
used by rust code:

* URIFixup

These services weren't migrated because they will be handled in
subsequent patchsets:

* ObserverService

For the record, the following Services are being used by Rust code
and must remain until a Rust version of Components.h is written:

* RemoteAgent
* XULRuntime
* PrefService
* URIFixup
* ObserverService
* DirectoryService
* ThirdPartyUtil

Also the cocoa GfxInfo service was changed to use components.conf instead
of registering it at runtime, as all the other widgets were already doing
it this way.

Differential Revision: https://phabricator.services.mozilla.com/D105521
2021-02-18 13:26:28 +00:00
Miko Mynttinen b6b5546bc8 Bug 1534549 - Part 4: Shrink nsDisplayCompositorHitTestInfo r=mstange
These changes make nsDisplayCompositorHitTestInfo inherit directly from nsDisplayItem, which should shrink it slightly. This also simplifies the logic: hit testing information is now available at nsDisplayItem level as opposed to nsPaintedDisplayItem.

Differential Revision: https://phabricator.services.mozilla.com/D103773
2021-02-06 22:30:57 +00:00
Noemi Erli 1ea87269a8 Backed out 4 changesets (bug 1534549) for causing mochitest failures in test_group_wheelevents.html CLOSED TREE
Backed out changeset a03c745620d6 (bug 1534549)
Backed out changeset 2ac9c5dbe9f5 (bug 1534549)
Backed out changeset dabd0c5d21cf (bug 1534549)
Backed out changeset f1b390459263 (bug 1534549)
2021-02-05 02:41:19 +02:00
Miko Mynttinen 83f9800345 Bug 1534549 - Part 4: Shrink nsDisplayCompositorHitTestInfo r=mstange
These changes make nsDisplayCompositorHitTestInfo inherit directly from nsDisplayItem, which should shrink it slightly. This also simplifies the logic: hit testing information is now available at nsDisplayItem level as opposed to nsPaintedDisplayItem.

Differential Revision: https://phabricator.services.mozilla.com/D103773
2021-02-04 22:20:13 +00:00
Nick Alexander 9862045082 Bug 1667276 - Part 2: Add BackgroundTasksManager to invoke task defined in JS. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D97512
2021-01-27 22:54:17 +00:00
Butkovits Atila 89fe8f250d Backed out 8 changesets (bug 1679440, bug 1682069, bug 1667276) for causing failure on test_crash_backgroundtask_moz_crash.js. CLOSED TREE
Backed out changeset f06504e3219f (bug 1682069)
Backed out changeset 4d325f68ea24 (bug 1679440)
Backed out changeset 9ab334e527a5 (bug 1667276)
Backed out changeset 1c8d51d2c90f (bug 1667276)
Backed out changeset 8d6f10d83c6b (bug 1667276)
Backed out changeset 62488ec634f9 (bug 1667276)
Backed out changeset 1dcb2d1be264 (bug 1667276)
Backed out changeset c673fff5bd85 (bug 1667276)
2021-01-27 22:17:17 +02:00