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

6096 Коммитов

Автор SHA1 Сообщение Дата
Matt Woodrow a77dc2167d Bug 1707513 - Add 'drawSnapshot' mode to reftest harness, and annotate all current failures. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D114188
2021-05-08 05:52:19 +00:00
Markus Stange d9b559d1d8 Bug 1705120 - When a menu item in a native menu is activated, hide and close any non-native menus at the right times. r=harry
Differential Revision: https://phabricator.services.mozilla.com/D114441
2021-05-07 17:00:22 +00:00
Markus Stange e40e07a3c6 Bug 1705120 - Factor out another part of this function into a new function called HideOpenMenusBeforeExecutingMenu(). r=harry
Differential Revision: https://phabricator.services.mozilla.com/D114440
2021-05-07 17:00:21 +00:00
Markus Stange 23e2f8ca62 Bug 1705120 - Factor out part of this function into a new function called GetCloseMenuMode(). r=harry
Differential Revision: https://phabricator.services.mozilla.com/D114439
2021-05-07 17:00:21 +00:00
Markus Stange 0350405261 Bug 1705120 - Add OnNativeMenuWillActivateItem observer method for NativeMenu::Observer and call it at the right times. r=harry
Differential Revision: https://phabricator.services.mozilla.com/D114435
2021-05-07 17:00:21 +00:00
Masayuki Nakano 902f46ca95 Bug 1491797 - Make browser_bug1163304.js wait for focus event before checking IME state r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D113618
2021-05-06 05:38:34 +00:00
Emilio Cobos Álvarez 8fb52356f4 Bug 1708303 - Fix scroll-margin implementation. r=hiro
So that margin is not included in the rect for visibility calculations,
and padding and margin are accounted properly on them.

Differential Revision: https://phabricator.services.mozilla.com/D113853
2021-05-06 00:54:14 +00:00
Emilio Cobos Álvarez 1cdf344860 Bug 1680387 - Apply intrinsic image resolution as appropriate in layout/style/dom, and update test expectations. r=tnikkel
This should be mostly straight-forward, since we have code for this
anyways for image-set() and srcset.

The only thing is that we were using floats for resolution, but since
EXIF allows you to scale each axis separately, we now need to pass an
image::Resolution instead.

The main outstanding issue is the spec comment mentioned in the previous
patch, about what happens if you have srcset/image-set and the image
density specified together. For now I've implemented what the
image-set() spec says, but this is subject to change before shipping of
course.

Differential Revision: https://phabricator.services.mozilla.com/D113265
2021-05-05 09:41:24 +00:00
Iulian Moraru b21df91635 Backed out 3 changesets (bug 1680387) for causing browser chrome failures on browser_bug592641.js. CLOSED TREE
Backed out changeset 65616921e520 (bug 1680387)
Backed out changeset 51531850a9a2 (bug 1680387)
Backed out changeset 0c1c5e1f901b (bug 1680387)
2021-05-04 16:28:17 +03:00
Emilio Cobos Álvarez 11ad9c7bcd Bug 1680387 - Apply intrinsic image resolution as appropriate in layout/style/dom, and update test expectations. r=tnikkel
This should be mostly straight-forward, since we have code for this
anyways for image-set() and srcset.

The only thing is that we were using floats for resolution, but since
EXIF allows you to scale each axis separately, we now need to pass an
image::Resolution instead.

The main outstanding issue is the spec comment mentioned in the previous
patch, about what happens if you have srcset/image-set and the image
density specified together. For now I've implemented what the
image-set() spec says, but this is subject to change before shipping of
course.

Differential Revision: https://phabricator.services.mozilla.com/D113265
2021-05-04 10:24:07 +00:00
Butkovits Atila 4c5729b8ae Bug 1491797 - disable browser_bug1163304.js on Linux_64 for frequent failures. r=intermittent-reviewers,ahal DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D113947
2021-04-30 16:27:03 +00:00
Stephen A Pohl fbd8c01170 Bug 1707869: Introduce helper to detect when native context menus are enabled via prefs on macOS. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D113579
2021-04-27 20:44:37 +00:00
Markus Stange d92a3be6fd Bug 1706816 - If we're asked to open a native menu when another menu is already open, close the other menu first. r=harry
Differential Revision: https://phabricator.services.mozilla.com/D113048
2021-04-22 01:27:25 +00:00
Markus Stange 42b56e15e1 Bug 1704883 - Report which mouse button was used to click items in native menus. r=harry
Differential Revision: https://phabricator.services.mozilla.com/D111981
2021-04-21 03:45:27 +00:00
Markus Stange 2fed450597 Bug 1706433 - Convert native context menu coordinates correctly; aXPos/aYPos are in CSS pixels. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D112803
2021-04-20 22:16:06 +00:00
Markus Stange a70e89dbac Bug 1704879 - Allow specifying the command event's button field in XULPopupElement.activateItem. r=emilio
Depends on D111956

Differential Revision: https://phabricator.services.mozilla.com/D111979
2021-04-20 22:13:24 +00:00
Markus Stange 1ec4d9e9cb Bug 1704948 - Forward mouse button to menuitem command event. r=smaug,robwu
Differential Revision: https://phabricator.services.mozilla.com/D111956
2021-04-20 17:44:16 +00:00
Markus Stange a32093f087 Bug 1704948 - Allow clicking menuitems with the middle mouse button. r=tnikkel
At the moment, WebExtension menu items are special cased to allow this, by using
a click event listener which manually fires command and closes the menu.
I would like to remove the click listener, because native menus won't fire click.

Differential Revision: https://phabricator.services.mozilla.com/D111954
2021-04-20 17:44:15 +00:00
Emilio Cobos Álvarez 8e47e5abc2 Bug 1705877 - image-set() should influence intrinsic size of the image. r=dholbert,layout-reviewers
https://drafts.csswg.org/css-images-4/#image-set-notation has:

> [...] it also specifies the image’s natural resolution, overriding any other
> source of data that might supply a natural resolution.

Astounding that there was literally no WPT for this at all. I added three: one
for backgrounds, one for list-style-image, and one for `content`. Cursor is not
handled on this patch because that one requires a fair amount of extra work.

Differential Revision: https://phabricator.services.mozilla.com/D112474
2021-04-19 19:55:27 +00:00
Markus Stange 1dce4bced0 Bug 1704554 - Store native submenu opening state on the popup manager and return it from XULPopupElement::GetState. r=tnikkel
This fix makes the following tests pass with native context menus:
 - browser/base/content/test/contextMenu/browser_contextmenu_iframe.js
 - browser/base/content/test/contextMenu/browser_contextmenu_linkopen.js

Depends on D112274

Differential Revision: https://phabricator.services.mozilla.com/D112275
2021-04-16 16:18:29 +00:00
Markus Stange 1807ef4020 Bug 1704554 - Make XULPopupElement::GetState go through the popup manager. r=tnikkel
Depends on D112273

Differential Revision: https://phabricator.services.mozilla.com/D112274
2021-04-16 16:18:29 +00:00
Markus Stange 45feb2e517 Bug 1704554 - Allow NativeMenu::Observer to listen for submenu state changes. r=harry
Differential Revision: https://phabricator.services.mozilla.com/D112273
2021-04-16 16:18:29 +00:00
Henri Sivonen b7b414389d Bug 1619240 - Remove dom/xul/test/test_bug486990.xhtml test. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D112032
2021-04-15 16:07:13 +00:00
Narcis Beleuzu daa77699e2 Backed out 7 changesets (bug 1704948, bug 1704879) for bc failures on browser_ext_menus_capture_secondary_click.js
Backed out changeset 02705918c4bf (bug 1704879)
Backed out changeset 79945b876a1d (bug 1704879)
Backed out changeset eb725de20b11 (bug 1704948)
Backed out changeset 454597ac2ba3 (bug 1704948)
Backed out changeset a43a8ef206ea (bug 1704948)
Backed out changeset 2369e321069e (bug 1704948)
Backed out changeset bdf396edd692 (bug 1704948)
2021-04-15 03:30:52 +03:00
Markus Stange 9e9970605b Bug 1704879 - Allow specifying the command event's button field in XULPopupElement.activateItem. r=emilio
Depends on D111956

Differential Revision: https://phabricator.services.mozilla.com/D111979
2021-04-14 22:24:31 +00:00
Markus Stange ac179ed1ba Bug 1704948 - Forward mouse button to menuitem command event. r=smaug,robwu
Differential Revision: https://phabricator.services.mozilla.com/D111956
2021-04-14 21:23:28 +00:00
Markus Stange a1df50db93 Bug 1704948 - Allow clicking menuitems with the middle mouse button (or any other non-primary button). r=tnikkel
At the moment, WebExtension menu items are special cased to allow this, by using
a click event listener which manually fires command and closes the menu.
I would like to remove the click listener, because native menus won't fire click.

Differential Revision: https://phabricator.services.mozilla.com/D111954
2021-04-14 21:23:27 +00:00
Emilio Cobos Álvarez de258a4e58 Bug 1699844 - Make promiseDocumentFlushed handle presshell destruction correctly. r=smaug,botond
By resolving the relevant promises, instead of crashing (and if we
didn't crash we'd leave the window registered as a refresh driver
observer, which would be bad).

I wanted to reject them, since that's what we do when the page has no
pres shell, but that'd make this test fail:

   https://searchfox.org/mozilla-central/rev/d8194cbbeaec11962ed67f83aea9984bf38f7c63/dom/base/test/browser_promiseDocumentFlushed.js#165-186

For this, we modify the OneShotPostRefreshObserver API to be more
generic (and rename it OneShotManagedRefreshObserver).

We fix APZ's usage of this API, which was doing something extremely
weird (returning a refcounted object in a UniquePtr). This seems like an
artifact from recent OneShotPostRefreshObserver cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D111851
2021-04-14 19:34:23 +00:00
Markus Stange 38c95685b1 Bug 1703482 - Workaround: Set aria-hidden="true" while a popup is open as a native context menu. r=morgan
This is a lower risk alternative to the approach in bug 1703899 and can be
removed once bug 1703899 is fixed.

Differential Revision: https://phabricator.services.mozilla.com/D111914
2021-04-14 00:18:25 +00:00
Markus Stange c213cdf11b Bug 1704212 - Make nsXULPopupManager::HideMenu handle native menus, so that menu.openMenu(false) can be used in tests to support native menus. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D111666
2021-04-13 02:52:44 +00:00
Markus Stange 69bffb5f68 Bug 1704212 - Make nsXULPopupManager::ShowMenu handle native menus, so that menu.openMenu(true) can be used in tests to support native menus. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D111664
2021-04-13 02:52:43 +00:00
Markus Stange d60b8c5380 Bug 1704212 - Move part of nsXULElement::OpenMenu into a new method called nsXULPopupManager::HideMenu. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D111660
2021-04-13 02:52:41 +00:00
Markus Stange b4750b7fb3 Bug 1704209 - Make XULPopupElement.activateItem work for native menus. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D111521
2021-04-13 02:52:41 +00:00
Markus Stange 38856ea957 Bug 1704206 - Add nsMenuFrame::ActivateItem(). r=tnikkel
Depends on D111517

Differential Revision: https://phabricator.services.mozilla.com/D111518
2021-04-12 00:32:19 +00:00
Markus Stange 383d9ad57a Bug 1704206 - Make it possible to call CreateMenuCommandEvent without an event. r=tnikkel
Depends on D111516

Differential Revision: https://phabricator.services.mozilla.com/D111517
2021-04-12 00:32:19 +00:00
Markus Stange 911942152b Bug 1704206 - Use mozilla::Modifiers in nsXULMenuCommandEvent. r=tnikkel
Depends on D111515

Differential Revision: https://phabricator.services.mozilla.com/D111516
2021-04-12 00:32:18 +00:00
Markus Stange 6ab67c7365 Bug 1704206 - Simplify nsMenuFrame::Execute. r=tnikkel
Depends on D111502

Differential Revision: https://phabricator.services.mozilla.com/D111515
2021-04-12 00:32:18 +00:00
Markus Stange e775faf0f7 Bug 1704127 - Fire the initial popupshowing event for native context menus from nsXULPopupManager, not from nsMenuX. r=tnikkel
This makes sure that all the correct properties are set, such as the event
position and input mode.

Differential Revision: https://phabricator.services.mozilla.com/D111502
2021-04-10 01:26:24 +00:00
Markus Stange 4907497098 Bug 1704127 - Factor out part of BeginShowingPopup into a new FirePopupShowingEvent method. r=tnikkel
Depends on D111500

Differential Revision: https://phabricator.services.mozilla.com/D111501
2021-04-10 01:26:24 +00:00
Markus Stange 43398e2c77 Bug 1704127 - Rename FirePopupShowingEvent to BeginShowingPopup. r=tnikkel
Depends on D111499

Differential Revision: https://phabricator.services.mozilla.com/D111500
2021-04-10 01:26:24 +00:00
Markus Stange c5ebc0cf2d Bug 1704127 - Use NS_NewRunnableFunction instead of a custom nsXULPopupShowingEvent class. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D111499
2021-04-10 01:26:23 +00:00
Markus Stange d7174dbb18 Bug 1703927 - Never update nsView visibility for menupopups that are shown as non-native menus. r=tnikkel
Now that nsMenuPopupFrame considers itself open while the native menu is shown,
it may try to open its non-native widget if layout happens to run while the
native menu is shown.
This check prevents that.

Differential Revision: https://phabricator.services.mozilla.com/D111326
2021-04-08 20:59:43 +00:00
Markus Stange fa0e157963 Bug 1703702 - Add nsMenuPopupFrame::IsNativeMenu(). r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D111188
2021-04-08 02:50:48 +00:00
Edgar Chen 142488d3c4 Bug 1677334 - Part 2: Remove Mac-specific check for click event on xul frame; r=NeilDeakin
Now we won't dispatch click event at all when ctrl key is pressed on Mac, so we
don't need those Mac-specific checks.

This patch reverts part of https://hg.mozilla.org/mozilla-central/rev/d8726d18021e
and revise the tests accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D110608
2021-04-07 11:23:45 +00:00
Markus Stange 49f67a1715 Bug 1703333 - Make popupElement.hidePopup() work for native menus. A lot of tests rely on this. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D110975
2021-04-06 22:34:53 +00:00
Markus Stange 2b151aeae0 Bug 1703333 - Make the popup state reflect reality for native context menus. r=tnikkel
This fixes tests which query popupElement.state.
Only the "root" menupopup is updated; the state for submenus is still always "closed".

Depends on D110973

Differential Revision: https://phabricator.services.mozilla.com/D110974
2021-04-06 22:34:52 +00:00
Markus Stange bc4403894a Bug 1703333 - Remove misguided assertion; -[NSMenu cancelTracking] is asynchronous. r=tnikkel
I introduced this assertion in bug 1702041, thinking that cancelTracking would
synchronously call menuDidClose, but that's not the case. The only reason why
this assertion isn't failing today is because we currently only call Close() on
NativeMenu in the "rollup from mousedown" scenario, where the menu has already
been closed by the OS, and we're just waiting to dispatch the MenuClosedAsync()
runnable.

Differential Revision: https://phabricator.services.mozilla.com/D110973
2021-04-06 22:34:52 +00:00
Emilio Cobos Álvarez 390c6943fe Bug 1702676 - Change public LookAndFeel API to accept a color scheme. r=mstange
This shouldn't change behavior, but is the biggest cross-platform part
of the change so I'd like to get it landed sooner rather than later.

The two calls like:

  GetColor(ColorID::TextSelectBackground, color);
  if (color == 0x000000) {
    mColorTextSelectForeground = NS_RGB(0xff, 0xff, 0xff);
  } else {
    mColorTextSelectForeground = NS_DONT_CHANGE_COLOR;
  }

that I'm removing are just broken. They were calling the version of
GetColor the function that took a default value when the color wasn't
available, not the version of the color with the outparam.

To prevent such mistakes, add two signatures, GetColor(), returning a
Maybe<nscolor> and Color(), returning a color with a fallback.

Differential Revision: https://phabricator.services.mozilla.com/D110651
2021-04-02 12:22:14 +00:00
Emilio Cobos Álvarez e7d8e6bfae Bug 1702216 - Paint auto-style outline with webrender if possible. r=mstange
I noticed we weren't doing this when looking at bug 1701910.

We remove support for auto style outlines in trees, which is unused
(checked that thunderbird and FF trees don't use outline: auto) and for
some mathml debugging code, which seems ok.

Differential Revision: https://phabricator.services.mozilla.com/D110399
2021-04-02 12:21:25 +00:00
Narcis Beleuzu e9fb777466 Backed out changeset 597b9606c3ca (bug 1702676) for reftest failures on mq_prefers_reduced_motion_reduce.html CLOSED TREE 2021-04-02 09:34:53 +03:00
Bogdan Tara be061ee475 Backed out changeset 96866f6d4543 (bug 1702216) for css-ui/outline-*, 375508-1.html, z-index-1.html failures CLOSED TREE 2021-04-02 04:43:22 +03:00
Emilio Cobos Álvarez f7f84a3c53 Bug 1702676 - Change public LookAndFeel API to accept a color scheme. r=mstange
This shouldn't change behavior, but is the biggest cross-platform part
of the change so I'd like to get it landed sooner rather than later.

The two calls like:

  GetColor(ColorID::TextSelectBackground, color);
  if (color == 0x000000) {
    mColorTextSelectForeground = NS_RGB(0xff, 0xff, 0xff);
  } else {
    mColorTextSelectForeground = NS_DONT_CHANGE_COLOR;
  }

that I'm removing are just broken. They were calling the version of
GetColor the function that took a default value when the color wasn't
available, not the version of the color with the outparam.

To prevent such mistakes, add two signatures, GetColor(), returning a
Maybe<nscolor> and Color(), returning a color with a fallback.

Differential Revision: https://phabricator.services.mozilla.com/D110651
2021-04-02 00:21:37 +00:00
Emilio Cobos Álvarez 70c869cd11 Bug 1702216 - Paint auto-style outline with webrender if possible. r=mstange
I noticed we weren't doing this when looking at bug 1701910.

We remove support for auto style outlines in trees, which is unused
(checked that thunderbird and FF trees don't use outline: auto) and for
some mathml debugging code, which seems ok.

Differential Revision: https://phabricator.services.mozilla.com/D110399
2021-04-02 00:18:29 +00:00
Emilio Cobos Álvarez 366eef3de4 Bug 1684921 - Factor the "find prev/next sibling accounting for box ordinal", and fix a missing use of it. r=TYLin
I only noticed this via code inspection.

Differential Revision: https://phabricator.services.mozilla.com/D110529
2021-04-01 23:48:39 +00:00
Markus Stange 0759049daf Bug 1702387 - Move native context menus behind browser.proton.enabled (no more browser.proton.contextmenus.enabled). r=Gijs,harry
Differential Revision: https://phabricator.services.mozilla.com/D110502
2021-04-01 17:18:44 +00:00
Cosmin Sabou 4ed0046f14 Backed out changeset b8e2adcbf67c (bug 1702216) for android reftest failures on outline-027/028.html. CLOSED TREE 2021-04-01 23:11:14 +03:00
Cosmin Sabou b6e2f00dc1 Backed out changeset ff0cf540f292 (bug 1702387) for causing win shippable opt build bustages. 2021-04-01 23:07:09 +03:00
Emilio Cobos Álvarez 9fa51f30db Bug 1702216 - Paint auto-style outline with webrender if possible. r=mstange
I noticed we weren't doing this when looking at bug 1701910.

We remove support for auto style outlines in trees, which is unused
(checked that thunderbird and FF trees don't use outline: auto) and for
some mathml debugging code, which seems ok.

Differential Revision: https://phabricator.services.mozilla.com/D110399
2021-04-01 19:01:47 +00:00
Markus Stange 9e236c5b86 Bug 1702387 - Move native context menus behind browser.proton.enabled (no more browser.proton.contextmenus.enabled). r=Gijs,harry
Differential Revision: https://phabricator.services.mozilla.com/D110502
2021-04-01 17:18:44 +00:00
Emilio Cobos Álvarez 8c89318c0c Bug 1684921 - Fix some missing sorts in xul tree / splitter code. r=TYLin
I missed those in bug 1411372. Custom hit-testing code, yay.

Differential Revision: https://phabricator.services.mozilla.com/D110429
2021-04-01 09:45:42 +00:00
Neil Deakin f625b71d78 Bug 1700148, add an appearance type that forces a dropshadow on menus on Windows, and uses SetWindowRgn to clip the popup to the border radius, r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D109833
2021-04-01 00:13:09 +00:00
Markus Stange 8880f6598d Bug 1701085 - Return the native menu's trigger node from nsXULPopupManager::GetLastTriggerNode while the native menu is open. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D110304
2021-03-31 17:41:56 +00:00
Markus Stange c4d150d967 Bug 1702041 - Clear document.popupNode when a native menu closes. r=tnikkel
This is what non-native menus do. document.popupNode is a very awkward API; it's
global state that gets updated from multiple places and which is hard to reason
about.
For that reason, I think it's safest to stick closely to what non-native menus
are doing. I'm not aware of any user-facing breakage that this patch fixes.

Differential Revision: https://phabricator.services.mozilla.com/D110303
2021-03-31 17:41:56 +00:00
Markus Stange 0f7b1e78d8 Bug 1702041 - Call NativeMenu::Close() before firing the contextmenu event. r=harry
This is more in line with how non-native menus operate.
In these profiles, you can see the popuphiding / popuphidden events being
dispatched before we enter the contextmenu event.
Before patch: https://share.firefox.dev/39pbqbb
After patch: https://share.firefox.dev/2PCXx1Z

Differential Revision: https://phabricator.services.mozilla.com/D110302
2021-03-31 17:41:56 +00:00
Markus Stange f1c0cd2be5 Bug 1702041 - Move NativeMenu management out of nsMenuPopupFrame and into nsXULPopupManager. r=tnikkel
This is more in line with how non-native popups are managed. The popup manager
knows about everything and is the source of any state changes, and it updates
the nsMenuPopupFrame when necessary.
Concretely, this change makes these two upcoming changes easier:
 - "Rolling up" native context menus. The popup manager is the nsIRollupListener.
 - Returning something sensible from nsXULPopupManager::GetLastTriggerNode while
   a native context menu is open.

Differential Revision: https://phabricator.services.mozilla.com/D110300
2021-03-31 17:41:55 +00:00
Markus Stange feaac939f0 Bug 1700715 - Make document.popupNode work during the popupshowing event for native menus. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D110141
2021-03-30 16:30:40 +00:00
Dorel Luca 69b3902a12 Backed out 2 changesets (bug 1700715) as per dev's request
Backed out changeset 35ad58e648ac (bug 1700715)
Backed out changeset e238ae1076b5 (bug 1700715)
2021-03-31 05:54:34 +03:00
Markus Stange aaf1e1d99f Bug 1700715 - Make document.popupNode work during the popupshowing event for native menus. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D110141
2021-03-30 16:30:40 +00:00
Markus Stange b7f729bf73 Bug 1700706 - Clear active and capturing content before opening native menus. r=tnikkel
This is copied from the nsMenuPopupFrame::ShowPopup just a few lines below.
The native menu consumes mouseup events so we need to clear :active and capturing content just before opening the menu.

Differential Revision: https://phabricator.services.mozilla.com/D109672
2021-03-24 23:51:05 +00:00
Simon Giesecke 613e20d136 Bug 1184468 - Use nsBaseHashtable::Values. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D108587
2021-03-24 17:56:49 +00:00
Simon Giesecke 628cc55f22 Bug 708901 - Migrate to nsTHashSet in layout. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D108597
2021-03-24 17:56:46 +00:00
Csoregi Natalia f54ee076ae Backed out 13 changesets (bug 708901, bug 1184468) for causing build bustage on GeckoViewHistory.cpp. CLOSED TREE
Backed out changeset b1e4c01e63b8 (bug 708901)
Backed out changeset 37b52cce83c0 (bug 708901)
Backed out changeset eee75f33f060 (bug 708901)
Backed out changeset 479bf64c7986 (bug 708901)
Backed out changeset 15a8fb94d15d (bug 708901)
Backed out changeset be31ccd9a61d (bug 708901)
Backed out changeset fc54f4eaedd5 (bug 708901)
Backed out changeset 03c3a56c3d13 (bug 708901)
Backed out changeset 73f11d3c1298 (bug 708901)
Backed out changeset aed22fd80893 (bug 708901)
Backed out changeset 74d8249fbe7e (bug 708901)
Backed out changeset acb725eb3c1d (bug 1184468)
Backed out changeset 70f3ea6efec4 (bug 1184468)
2021-03-24 19:26:20 +02:00
Simon Giesecke c73f87b72b Bug 708901 - Migrate to nsTHashSet in layout. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D108597
2021-03-24 16:58:58 +00:00
Markus Stange f92e83a7db Bug 1698997 - Make nsXULPopupManager::ShowPopupAtScreen open a native context menu, if preffed on. r=tnikkel
This is macOS only and behind the prefs widget.macos.native-context-menus and
browser.proton.contextmenus.enabled .

The big design question here is: Where do we put the fork in the road? How much
should the existing non-native popup management machinery know about the state
of the native menu? Which parts of the non-native state should a) reflect the
true native state, b) enter a special "handled natively" state, or c) lie?

This patch picks the following approach:

 - The nsMenuPopupFrame of the root menupopup knows about the native menu; it
   keeps it alive in its new mNativeMenu field.
 - If the context menu has submenus, i.e. nested <menupopup> elements, the
   nsMenuPopupFrames for those nested menupopups do not know anything about the
   native menu.
 - The mPopupState of natively-handled nsMenuPopupFrames is ePopupClosed.
 - XULPopupElement::GetState, which queries the frame's mPopupState, also
   returns "closed". This might cause problems in the future.
 - The XUL popup manager's mPopups "menu chain" does not know about any open
   native menus.
 - The rollup widget also does not know about the native popup.

I've chosen to use ePopupClosed for native menus for the following reasons:
 1. While mirroring / updating the state for the root menu would be doable
    without too much trouble, it would be much more annoying to do the same for
    nested menupopups of submenus. So if submenus will be ePopupClosed, it's
    consistent for the root menu to also be ePopupClosed.
 2. nsXULPopupManager has assertions (for example in MayShowPopup) that make
    sure that the menu popup frame's mPopupState is consistent with the XUL
    popup manager's mPopups menu chain. Keeping the two both "closed" is the
    easiest way to achieve consistency.

Unless there are grave concerns with this approach, I suggest we go with it for
now and see what trouble arises.

Differential Revision: https://phabricator.services.mozilla.com/D109183
2021-03-23 14:38:29 +00:00
Hiroyuki Ikezoe 9a4563134c Bug 1696718 - Propagate popup window position update to descendants documents. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D108559
2021-03-18 03:11:23 +00:00
Brindusan Cristian 54442351e5 Backed out changeset 01d98e7b02c8 (bug 1696718) for casusing failures in browser_ext_popup_select_in_oopif.js. CLOSED TREE 2021-03-17 14:32:54 +02:00
Hiroyuki Ikezoe 7f0f25eb52 Bug 1696718 - Propagate popup window position update to descendants documents. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D108559
2021-03-17 08:05:32 +00:00
Daniel Holbert e1ff523623 Bug 1698989: Use GetCrossDocParentFrameInProcess() in nsTreeBodyFrame. r=mstange
This patch doesn't change behavior; GetCrossDocParentFrameInProcess() is just a
wrapper for GetCrossDocParentFrame(), which is what we were calling before.

The "InProcess" version of this API (which we're migrating to in this patch) is
used to annotate GetCrossDocParentFrame() callsites that have been vetted as
being OK with the fact that this API returns null at the boundary of a
cross-origin iframe, if fission is enabled.

In this patch, the one call that I'm migrating is inside of XUL code
(specifically for the rendering of XUL trees); and we only expect to be
rendering XUL in a single process: Firefox's parent process. So this code
should be entirely OK with the fact that this API doesn't cross process
boundaries.

Differential Revision: https://phabricator.services.mozilla.com/D108708
2021-03-16 23:51:36 +00:00
Steven MacLeod f326bc73d1 Bug 1646561 - Stop using DocShell::GetVisibility in nsXULPopupManager. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D108240
2021-03-15 14:32:34 +00:00
Jan Alexander Steffens (heftig) 4920407bb3 Bug 1696845 - Use dlsym for gdk_*_display_get_type. r=stransky
Using `dlsym` for `gdk_wayland_display_get_type` is a cleaner solution
to bug 1696319, allowing running with a GTK that lacks the Wayland
backend.

Also adds a symmetric implementation for `gdk_x11_display_get_type`,
which should help running without X11.

Differential Revision: https://phabricator.services.mozilla.com/D107406
2021-03-11 14:32:53 +00:00
Simon Giesecke ad01a10a3b Bug 1634281 - Use nsTHashMap instead of nsDataHashtable. r=xpcom-reviewers,necko-reviewers,jgilbert,nika,valentin
Note that this patch only transforms the use of the nsDataHashtable type alias
to a directly equivalent use of nsTHashMap. It does not change the specification
of the hash key type to make use of the key class deduction that nsTHashMap
allows for in some cases. That can be done in a separate step, but requires more
attention.

Differential Revision: https://phabricator.services.mozilla.com/D106008
2021-03-10 10:47:47 +00:00
Narcis Beleuzu 198358fc15 Backed out changeset a4f4f640eaa7 (bug 1696845) for bustages on pangofc-fontmap.h 2021-03-10 04:49:51 +02:00
Jan Alexander Steffens (heftig) 1261a74d17 Bug 1696845 - Use dlsym for gdk_*_display_get_type. r=stransky
Using `dlsym` for `gdk_wayland_display_get_type` is a cleaner solution
to bug 1696319, allowing running with a GTK that lacks the Wayland
backend.

Also adds a symmetric implementation for `gdk_x11_display_get_type`,
which should help running without X11.

Differential Revision: https://phabricator.services.mozilla.com/D107406
2021-03-09 22:55:47 +00:00
Petr Sumbera 5e6ba7970d Bug 1695573 - Add missing #include for MakeScopeExit. r=glandium DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D106753
2021-03-02 08:27:31 +00:00
Botond Ballo 8da27843d6 Bug 1688453 - Fix include-what-you-use errors in nsScrollbarFrame.{h,cpp}. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D106692
2021-02-27 02:28:56 +00:00
Emilio Cobos Álvarez ca416daff0 Bug 1695122 - Deal with target being null in nsXULTooltipListener and cleanup a bit. r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D106646
2021-02-26 19:14:25 +00:00
Timothy Nikkel aef2127a31 Bug 1692997. Make scrollbar button click + hold (repeat mode) go through apz. r=botond
(Almost?) all other scrollbar performed scrolling goes through apz already (this effort was called "desktop_zooming_scrollbars").

This one mode was missed. It uses a repeating timer and setting the curpos attribute to trigger scrolling.

Unfortunately xul trees use this path as well, so we have to keep the old path around for them.

This makes one notable change in behaviour. Both before and after this patch single clicks on scrollbar buttons pass ENABLE_SNAP to the scroll from when they request scrolling (in nsScrollbarButtonFrame::HandleButtonPress). However for repeat scrolling when clicking and holding (which is handled by nsScrollbarFrame::MoveToNewPosition), before this patch the scrolling would not use ENABLE_SNAP. This is not super clear because MoveToNewPosition sets the curpos attributes, and then ScrollFrameHelper::CurPosAttributeChanged( would get called in response to that, and it would call ScrollToWithOrigin to the do scrolling, and it does not specify the snap mode, but the default is DISABLE_SNAP. This patch changes that so that we explicitly pass ENABLE_SNAP in MoveToNewPosition. It seems that this was likely overlooked (not hard to do when it's not clear like this) when adding snapping support. It makes sense to handle snapping the same way for single clicks and clicking and holding. If this turns out to be the wrong idea we can easily change it back.

Needs a test.

Differential Revision: https://phabricator.services.mozilla.com/D105288
2021-02-26 11:47:18 +00:00
Simon Giesecke 9af107a839 Bug 1691913 - Rename nsBaseHashtable::Put to InsertOrUpdate. r=xpcom-reviewers,necko-reviewers,jgilbert,dragana,nika
This makes the naming more consistent with other functions called
Insert and/or Update. Also, it removes the ambiguity whether
Put expects that an entry already exists or not, in particular because
it differed from nsTHashtable::PutEntry in that regard.

Differential Revision: https://phabricator.services.mozilla.com/D105473
2021-02-26 09:11:46 +00:00
Jared Wein 5810ee434c Bug 1665390 - Style bookmarks toolbar and tabs toolbar tooltips. r=NeilDeakin,ntim
Differential Revision: https://phabricator.services.mozilla.com/D104257
2021-02-25 20:47:54 +00:00
Tim Nguyen a6c8b320d3 Bug 1590884 - Extra small cleanups. DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D106278
2021-02-24 15:21:38 +00:00
Tim Nguyen 159428759d Bug 1590884 - Move XUL accesskey handling to DOM and remove nsXULLabelFrame. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D106233
2021-02-24 14:46:28 +00:00
Masayuki Nakano 1c60ca0e2c Bug 1691622 - part 12: Change the default unit of `screenX/Y` of `synthesizeNativeMouseEvent` from device pixels to CSS pixels r=smaug
For minimizing the previous patch changes, `scale`'s default value for
`screenX/Y` is treated as 1.0.  It means that `screenX/Y` are device
pixels by default, but `offsetX/Y` are in CSS pixels by default.  This
difference may make developers confused.  Therefore, we should align the
default unit of them to `screenPixelsPerCSSPixel`.  I.e., their default
unit becomes CSS pixels.

Differential Revision: https://phabricator.services.mozilla.com/D105929
2021-02-24 01:27:11 +00:00
Masayuki Nakano 876ef492b9 Bug 1691622 - part 11: Make mochitests stop using `nsIDOMWindowUtils.sendNativeMouseEvent` directly as far as possible r=smaug
For making the test framework/API change easier, such raw API shouldn't be
used directly.  Therefore, this patch makes tests using it directly stop
using it and use `synthesizeNativeMouseEvent` instead.

However, this patch does not fix `browser_touch_event_iframes.js` because
it accesses the API from `ContentTask`.  So, `EventUtils.js` isn't available
without larger change.

Note that this patch disables `test_bug596600.xhtml` because as I commented
in it, it's completely broken.  It depends on the race of next native event
loop and `waitForTick`, and this patch changes the result of the race.

Differential Revision: https://phabricator.services.mozilla.com/D105765
2021-02-24 01:27:11 +00:00
Masayuki Nakano ef2253b4a1 Bug 1691622 - part 9: Make `nsIWidget::SynthesizeNativeMouseEvent` take an XP button ID and abstract message value r=smaug,geckoview-reviewers,agi,m_kato
Currently, it takes a raw native message value, but it makes JS content too
complicated.  And on Linux, it cannot synthesize non-primary button events
because GDK has only button press and release messages which dont' include
mouse button information.

For solving these problems, this patch creates a new abstract native message
as `nsIWidget::NativeMouseMessage` and makes each widget converts it to
a platform native message.

Additionally, this patch adds an argument to make it possible its callers
to specify pressing or releasing mouse button with a DOM mouse button value.

Note that the following patch adds new argument to
`synthesizeNativeEventMouse*` for mochitests and which will be tested by
new tests.

Differential Revision: https://phabricator.services.mozilla.com/D105763
2021-02-24 01:27:10 +00:00
Masayuki Nakano 44ff291cb4 Bug 1691622 - part 6: Merge `synthesizeNativeMouseClick*` with `synthesizeNativeMouseEvent*` r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D105760
2021-02-24 01:27:08 +00:00
Masayuki Nakano 7242445ca1 Bug 1691622 - part 1: Make `synthesizeNativeMouseClick` take an `Object` instead of multiple arguments for synthesizing events r=smaug
In these days, API should take an `Object` instead of multiple arguments
since the callers look like using "named" arguments and this allows to
add new optional arguments with changing not all callers.

This patch also changes similar API for APZ aware tests for keeping
consistent style for their users.

Differential Revision: https://phabricator.services.mozilla.com/D105755
2021-02-24 01:27:06 +00:00
Dorel Luca 7c23ebad3e Backed out changeset 4a3f1073b7b5 (bug 1693176) for Browser-chrome failures in extensions/test/browser/browser_ext_browserAction_contextMenu.js. CLOSED TREE 2021-02-18 20:43:58 +02:00
Emilio Cobos Álvarez 1ab6cf4876 Bug 1693176 - Destroy frames of contents inside panels. r=Gijs
Panels don't rely so much on the popup manager code to deal with
menuitems etc, so this is trivial and fixes the issue as reported.

I think it's pretty unlikely to have animated stuff in menulists /
menupopups, so this should get us most of the way.

Differential Revision: https://phabricator.services.mozilla.com/D105550
2021-02-18 16:44:12 +00:00
Mark Banner 263d555274 Bug 1608272 - Remove 'this' as the second argument to 'ChromeUtils.import', use object destructuring instead (test-only changes). r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D104683
2021-02-11 22:02:15 +00:00
Csoregi Natalia 2ed153afb2 Backed out changeset 950e472e6ba5 (bug 1681941) for failures on browser_preview_navigation.js. CLOSED TREE 2021-02-10 02:38:44 +02:00
Emma Malysz 8c10e74aa7 Bug 1681941, ensure nsXULTooltipListener shows tooltips when entering new target nodes r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D101951
2021-02-09 23:58:33 +00:00
Timothy Nikkel 1be3156679 Bug 1690433. Update code that looks for the presence of a display port for new minimal display ports. r=botond
This patch is the result of auditing all places that look at the presence or absence of a display port to handle minimal display ports (HasDisplayPort, GetDisplayPort, etc).

Broadly speaking the places were in two categories:
1) things related to painting, that want to consider minimal display ports as display ports for purposes of things like sending over metadata and separating out layers.
2) things that care about async scrolling, and so actually want to have a properly sized display port.

Type 1) were not changed by this patch. Type 2) were changed to consider minimal display ports as not display ports.

Again, we are aiming to leave behaviour unchanged.

Differential Revision: https://phabricator.services.mozilla.com/D103856
2021-02-04 11:16:59 +00:00
Neil Deakin 3e59b7139d Bug 259640, add some reftests that verify that scrollbar marks are drawn, r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D101096
2021-02-03 17:58:44 +00:00
Neil Deakin 33cd6eb7e0 Bug 259640, adjust the height of the find marks on scrollbars based on dpi, r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D101380
2021-02-03 17:58:44 +00:00
Neil Deakin a04c89542e Bug 259640, paint tick marks on vertical sliders for the root scroll frame of the document if any have been assigned to the window, r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D100939
2021-02-03 18:01:00 +00:00
Emilio Cobos Álvarez 3ff595616f Bug 1689253 - Add missing devpx to app units conversion in unthemed scrollbar path.
MANUAL PUSH: Fixes devtools orange on a CLOSED TREE.
2021-01-29 01:37:28 +01:00
Emilio Cobos Álvarez 4b4ff83478 Bug 1689253 - Add a more sensible scrollbar size API to nsITheme, and use it to replace ScrollbarNonDisappearing. r=spohl
There's no reason we should need an scrollbar box to query the size of a
scrollbar. I plan to use this in the following patch to make the size of a
resizer not vary depending on whether the container has scrollbars or not,
which is what ultimately causes the reftest failure.

Differential Revision: https://phabricator.services.mozilla.com/D103302
2021-01-28 22:11:54 +00:00
Emilio Cobos Álvarez 69958d50f3 Bug 1687877 - Skip test_bug159346.xhtml if the theme doesn't support scrollbar buttons. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D103315
2021-01-28 14:22:46 +00:00
Edgar Chen b9bee2d7ae Bug 1509710 - Prevent dispatching pointermove events targeted at a slider frame to web content, if the scrollbar is being dragged; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D102935
2021-01-27 09:42:19 +00:00
Emilio Cobos Álvarez fd5fcc2c87 Bug 1687878 - Fix test_bug703150.xhtml with nnt on linux. r=dholbert
The linux non-native-theme doesn't create scrollbar buttons, so we can't
rely on the indices.

Differential Revision: https://phabricator.services.mozilla.com/D103145
2021-01-27 07:45:03 +00:00
smolnar 1a5cfb81b8 Backed out changeset c2d9108fee93 (bug 1509710) for causing mochitest failures in test_pointermove_drag_scrollbar. CLOSED TREE 2021-01-26 15:34:58 +02:00
Edgar Chen 6ef8311735 Bug 1509710 - Prevent dispatching pointermove events targeted at a slider frame to web content, if the scrollbar is being dragged; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D102935
2021-01-26 12:37:12 +00:00
Ting-Yu Lin a43cae175a Bug 1686603 Part 2 - Add StyleSizeOverrides parameter to ReflowInput's constructor & co. to override data from style system data. r=dholbert
This patch adds the struct as a parameter to various functions.

The struct is cached in ReflowInput so that we don't need to pass it
down to the internal method where nsIFrame::ComputeSize() is called.

In the subsequent patches, we'll use it to revise the implementation of
flex container's flex base size resolution, and size overrides.

Differential Revision: https://phabricator.services.mozilla.com/D101793
2021-01-26 02:47:40 +00:00
Csoregi Natalia 0492d8333a Backed out 8 changesets (bug 1686603) for causing crashtest failures. CLOSED TREE
Backed out changeset 94b5d0986d27 (bug 1686603)
Backed out changeset e7edf6fcc41d (bug 1686603)
Backed out changeset 4c9271f07178 (bug 1686603)
Backed out changeset 7013b95266ae (bug 1686603)
Backed out changeset cf7a55638aef (bug 1686603)
Backed out changeset 7717a0f2a37b (bug 1686603)
Backed out changeset c82593b13a61 (bug 1686603)
Backed out changeset fd1d95a1e706 (bug 1686603)
2021-01-26 04:32:13 +02:00
Ting-Yu Lin ffce5ed7d6 Bug 1686603 Part 2 - Add StyleSizeOverrides parameter to ReflowInput's constructor & co. to override data from style system data. r=dholbert
This patch adds the struct as a parameter to various functions.

The struct is cached in ReflowInput so that we don't need to pass it
down to the internal method where nsIFrame::ComputeSize() is called.

In the subsequent patches, we'll use it to revise the implementation of
flex container's flex base size resolution, and size overrides.

Differential Revision: https://phabricator.services.mozilla.com/D101793
2021-01-25 22:29:31 +00:00
Cameron McCormack 16a7d47723 Bug 1687879 - Fix chrome mochitests that use <splitter>s to work when the non-native theme is enabled. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D102656
2021-01-24 23:07:29 +00:00
Mihai Alexandru Michis b6b2f1e5f4 Backed out 7 changesets (bug 1686603) for causing crashtest assertion failures.
CLOSED TREE

Backed out changeset 19cba7d34a7f (bug 1686603)
Backed out changeset 3a0d0155ea5e (bug 1686603)
Backed out changeset f1f672cdd0c6 (bug 1686603)
Backed out changeset 63020922e2fd (bug 1686603)
Backed out changeset 8766ce79ba5e (bug 1686603)
Backed out changeset 965dbe8de1e1 (bug 1686603)
Backed out changeset b1328ee45f43 (bug 1686603)
2021-01-21 09:21:12 +02:00
Ting-Yu Lin d0c462cb81 Bug 1686603 Part 2 - Add StyleSizeOverrides parameter to ReflowInput's constructor & co. to override data from style system data. r=dholbert
This patch adds the struct as a parameter to various functions.

The struct is cached in ReflowInput so that we don't need to pass it
down to the internal method where nsIFrame::ComputeSize() is called.

In the subsequent patches, we'll use it to revise the implementation of
flex container's flex base size resolution, and size overrides.

Differential Revision: https://phabricator.services.mozilla.com/D101793
2021-01-21 04:17:59 +00:00
Sean Feng 708bd702d2 Bug 1682045 - Allow nsPresContext to store and release the last registered OneShotPostRefreshObserver r=smaug
OneShotPostRefreshObserver works as the caller registers it, and
let it deletes itself via the DidRefresh method. The issue is that
DidRefresh is not guaranteed to run, and it'll leak PresShell
if it doesn't run.

This patch allows nsPresContext to store and release the last
registered OneShotPostRefreshObserver, and converted the existing
usage of OneShotPostRefreshObserver to use that. So instead of asking
OneShotPostRefreshObserver to delete itself, we now ask nsPresContext
to release it.

Differential Revision: https://phabricator.services.mozilla.com/D99939
2021-01-18 19:23:10 +00:00
Emilio Cobos Álvarez c2f1413e6b Bug 1685078 - Support full <image> syntax in list-style-image as per spec. r=jrmuizel,TYLin
This allows supporting image-set(), etc, and simplifies the bullet frame
code significantly, too thanks to two changes:

  * Instead of manually managing the image request, use the CSS image
    loader, with the `REQUEST_REQUIRES_REFLOW` flag, to handle image
    loads correctly. This didn't exist when this code was initially
    implemented, but we can nicely use it now.

  * Instead of re-implementing another WebRender command-builder thing,
    we can just reuse the nsImageRenderer code.

Differential Revision: https://phabricator.services.mozilla.com/D100774
2021-01-08 09:44:24 +00:00
Dorel Luca 7d7078d54e Backed out changeset 47c73e5e08a4 (bug 1685078) for multiple failures related to CSS. CLOSED TREE 2021-01-07 10:44:10 +02:00
Emilio Cobos Álvarez 9fbf3695e7 Bug 1685078 - Support full <image> syntax in list-style-image as per spec. r=jrmuizel,TYLin
This allows supporting image-set(), etc, and simplifies the bullet frame
code significantly, too thanks to two changes:

  * Instead of manually managing the image request, use the CSS image
    loader, with the `REQUEST_REQUIRES_REFLOW` flag, to handle image
    loads correctly. This didn't exist when this code was initially
    implemented, but we can nicely use it now.

  * Instead of re-implementing another WebRender command-builder thing,
    we can just reuse the nsImageRenderer code.

Differential Revision: https://phabricator.services.mozilla.com/D100774
2021-01-07 04:15:01 +00:00
Emilio Cobos Álvarez 039592f4d8 Bug 1682003 - Avoid UTF-8 -> UTF-16 conversion during CSSOM serialization. r=heycam
This lifts a bunch of string conversions higher up the stack, but allows
us to make the servo code use utf-8 unconditionally, and seemed faster
in my benchmarking (see comment 0).

It should also make a bunch of attribute setters faster too (like
setting .cssText), now that we use UTF8String for them (we couldn't
because we couldn't specify different string types for the getter and
setters).

Differential Revision: https://phabricator.services.mozilla.com/D99590
2020-12-17 14:04:35 +00:00
Bogdan Tara 4a649093b9 Backed out changeset 3e90a3759639 (bug 1679208) for scrollbars-no-margin.html failures CLOSED TREE 2020-12-03 01:11:32 +02:00
Emilio Cobos Álvarez aa15236426 Bug 1679208 - Don't assume int return values in nsITheme. r=mstange
This doesn't hold with fractional scale values. Right now GTK truncates
the scale factor, Windows rounds, and non-native theme rounds as well.

With this native theme will propagate correctly the floating point
values.

I tried to not change behavior meaningfully in any of the other themes,
mostly to avoid risk. GTK and Windows can be trivially tweaked to
support fractional scale factors properly if we wanted to, but seems
better to not do that as part of this patch.

Depends on D98099

Differential Revision: https://phabricator.services.mozilla.com/D98100
2020-12-02 21:40:05 +00:00
Dorel Luca 41c1018cd0 Backed out changeset e45f13bc08b7 (bug 1678906) for Crashtest failures in layout/xul/test/test_splitter.xhtml. CLOSED TREE 2020-12-01 02:25:32 +02:00
Emilio Cobos Álvarez 9865809085 Bug 1678906 - Make test_splitter cover this bug. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D97872
2020-11-30 23:22:15 +00:00
Emilio Cobos Álvarez 35fe61fa35 Bug 1678906 - Add tests for movement direction and for non-collapsing splitters. r=TYLin
Collapsible splitters with reordered boxes are broken even before
bug 1411372. The patch in this bug progresses them but I have no
intention to fully fix them.

Test that the splitter moves in the right direction too.

Differential Revision: https://phabricator.services.mozilla.com/D97871
2020-11-30 23:19:09 +00:00
Emilio Cobos Álvarez 36d40ea890 Bug 1678906 - Cleanup test_splitter.xhtml. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D97870
2020-11-30 23:13:50 +00:00
Emilio Cobos Álvarez da37f80375 Bug 1678906 - Splitters should account for -moz-ordinal-group. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D97869
2020-11-30 23:17:36 +00:00
Simon Giesecke 971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Jon Bauman f5c1a59332 Bug 1675987 - No derogatory language: Remove references to "crazy" in layout module r=emilio,AlaskanEmily
Differential Revision: https://phabricator.services.mozilla.com/D97657
2020-11-20 21:21:03 +00:00
Masayuki Nakano 2efcda6dc7 Bug 1335347 - Make `nsMenuBarListener::KeyUp` wait replay event if a content process has focus r=smaug
`keyup` event of `Alt` key should be fired in content process even if it'll
activate the menubar, and it should be cancelable as same as before enabling
e10s.

Unfortunately, the new test is complicated even they test simple things.
The reason is, this test requires the window running it is the active window.
However, the window may become inactive on Linux, therefore, this test
needs to manage window state by itself.

And another reason is, after inactivating the menubar, somebody keeps
consuming keyboard events in chrome.  Although, popups shouldn't be
opened by this test, but waiting all popups hidden makes the remaining
intermittent failure gone.  Therefore, this patch waits all popups become
hidden after inactivating the menubar and before new test.

Differential Revision: https://phabricator.services.mozilla.com/D95984
2020-11-20 03:49:55 +00:00
Kartikaya Gupta 1772d78d55 Bug 1678334 - Make GetScrollTargetFrame() const. r=tnikkel
This removes one const_cast but also adds two new ones. I think
the new ones are reasonable - conceptually the function does not
modify the input, so the input should be const. If that input
is returned as the output then we need to strip the const because
the return value shouldn't be const (because the caller should be
free to modify it if desired).

Depends on D97622

Differential Revision: https://phabricator.services.mozilla.com/D97623
2020-11-19 22:46:33 +00:00
ISHIKAWA, Chiaki c892462ee7 Bug 1677194 - Avoid accessing invalidated frame. r=emilio
MANUAL PUSH: Author doesn't use Phabricator.
2020-11-19 18:28:56 +01:00
Csoregi Natalia 1d34bd022d Merge autoland to mozilla-central. a=merge 2020-11-19 11:56:07 +02:00
Csoregi Natalia 511fc14c29 Backed out changeset e176bd45edd8 (bug 1335347) for failures on browser_alt_keyup_in_content.js. a=backout 2020-11-19 11:47:55 +02:00
Tim Nguyen 73e2871fa8 Bug 1525737 - Remove layout/xul/grid directory. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D53296
2020-11-17 01:20:33 +00:00
Tim Nguyen 082c712f75 Bug 1525737 - Remove/replace usages of XUL grid display values. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D53300
2020-11-17 01:20:34 +00:00
Ting-Yu Lin 545a6376cd Bug 1677635 Part 4 - Rename nsOverflowAreas to OverflowAreas, and move it into mozilla namespace. r=layout-reviewers,emilio
This patch is generated via the rename functionality in my editor; add
`mozilla::` prefix to `OverflowAreas` in headers; and remove the
`OverflowType` alias added in Part 1.

Differential Revision: https://phabricator.services.mozilla.com/D97235
2020-11-18 00:08:12 +00:00
Masayuki Nakano 1e8bac4c18 Bug 1335347 - Make `nsMenuBarListener::KeyUp` wait replay event if a content process has focus r=smaug
`keyup` event of `Alt` key should be fired in content process even if it'll
activate the menubar, and it should be cancelable as same as before enabling
e10s.

Unfortunately, the new test is complicated even they test simple things.
The reason is, this test requires the window running it is the active window.
However, the window may become inactive on Linux, therefore, this test
needs to manage window state by itself.

And another reason is, after inactivating the menubar, somebody keeps
consuming keyboard events in chrome.  Although, popups shouldn't be
opened by this test, but waiting all popups hidden makes the remaining
intermittent failure gone.  Therefore, this patch waits all popups become
hidden after inactivating the menubar and before new test.

Differential Revision: https://phabricator.services.mozilla.com/D95984
2020-11-17 23:09:25 +00:00
Cameron McCormack 82fdd2ebea Bug 1676057 - Disable scrollbar buttons when non-native theme is in use on Linux. r=emilio,spohl
Whether scrollbar buttons are shown is currently determined by
LookAndFeel values, and these are exposed through system metric media
features.  LookAndFeel values are process-wide, but which theme is in
use is document-specific.  (It can be the platform's native theme or the
native basic theme, depending on Document::ShouldAvoidNativeTheme.)  So
if nsNativeBasicTheme on Linux needs to not support scrollbar buttons,
we can't do this by forcing the LookAndFeel values to be false.

So instead, we skip creating the native anonymous content for the
scrollbar buttons when the non-native theme is in use on Linux.  There's
no need to support dynamic changes, since whether the non-native theme
is in use for a given document never changes.

Differential Revision: https://phabricator.services.mozilla.com/D96345
2020-11-10 02:41:46 +00:00
Tim Nguyen feb6e92ed8 Bug 1596356 - Remove XUL absolute positioning attribute code. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95516
2020-11-04 18:35:34 +00:00
Ting-Yu Lin 1c052b9ff3 Bug 1674931 Part 2 - Add WritingMode argument to SizeComputationInput::ComputedLogicalBorderPadding(), and adapt callers. r=jfkthame
This patch is similar to Part 1, but for ComputedLogicalBorderPadding().

Differential Revision: https://phabricator.services.mozilla.com/D95662
2020-11-03 19:57:40 +00:00
Bogdan Tara 71272b90c8 Backed out changeset e942a748de2d (bug 1596356) for test_largemenu.html failures CLOSED TREE 2020-11-03 00:43:07 +02:00
Tim Nguyen 5f284ca7bf Bug 1596356 - Remove XUL absolute positioning attribute code. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95516
2020-11-02 20:21:02 +00:00
Narcis Beleuzu e5efde5131 Backed out changeset 88c7b1169eab (bug 1596356) for mochitest failure on test_largemenu.html . CLOSED TREE 2020-11-02 18:36:04 +02:00
Tim Nguyen adcd1d58a5 Bug 1596356 - Remove XUL absolute positioning attribute code. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95516
2020-11-02 15:21:15 +00:00
Emilio Cobos Álvarez da97c00bb1 Bug 1411372 - Remove bogus XUL box sorting. r=TYLin
Instead, sort stuff using CSSOrderAwareFrameIterator. The current
sorting is broken in presence of dynamic insertions, consider the
following <Child(order)> combination in the DOM:

  <A(1000)> <B(0)>

That'd look like:

  <B(0)> <A(1000)>

On the frame tree. However when appending a child before B so that the
DOM looks like:

  <A(1000)> <C(0)> <B(0)>

The frame constructor will properly insert after A, and the reordering,
which is stable, will end up with:

  <B(0)> <C(0)> <A(1000)>

Which is the wrong frame tree order.

We only use -moz-box-ordinal-group in regular sprocket layout, so just
handle it there rather than everywhere. Similarly, we only rely on it
for in-flow stuff, so remove the test for that added in bug 877890 (flex
changed behavior afterwards, interestingly enough).

Differential Revision: https://phabricator.services.mozilla.com/D94790
2020-10-28 19:10:00 +00:00
Emilio Cobos Álvarez 3b77daec55 Bug 1411372 - Remove unused XULrelayoutChildAtOrdinal. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D94788
2020-10-27 17:14:51 +00:00
Ricky Stewart 02a7b4ebdf Bug 1654103: Standardize on Black for Python code in `mozilla-central`.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
pkrznaric 90732d7c75 Bug 1669832 - Removed two else statements after a return in nsMenuPopupFrame.cpp r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D94686
2020-10-24 21:15:06 +00:00
Bogdan Tara da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart c0cea3b0fa Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Botond Ballo 85cb621970 Bug 1669588 - Factor out a OneShotPostRefreshObserver utility class. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D93897
2020-10-22 19:26:51 +00:00
Mihai Alexandru Michis 74d0ddf28a Backed out 3 changesets (Bug 1669588) for causing mochitest failures in test_group_zoomToFocusedInput.html
CLOSED TREE

Backed out changeset 38f373bf1d36
Backed out changeset f21fc6d5768f
Backed out changeset c429989882c2
2020-10-22 06:44:43 +03:00
Botond Ballo df4a09892b Bug 1669588 - Factor out a OneShotPostRefreshObserver utility class. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D93897
2020-10-22 01:25:46 +00:00
Dorel Luca 1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Dorel Luca 08166f3a25 Backed out 2 changesets (bug 1669588) for Backout conflicts with Bug 1654103. CLOSED TREE
Backed out changeset d6360093fb5c (bug 1669588)
Backed out changeset b2b9b7986865 (bug 1669588)
2020-10-22 03:49:04 +03:00
Botond Ballo 944a3748f5 Bug 1669588 - Factor out a OneShotPostRefreshObserver utility class. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D93897
2020-10-21 23:09:50 +00:00
Ricky Stewart 50762dacab Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
Ting-Yu Lin 112694d3a0 Bug 1672007 - Remove dead DEBUG_REFLOW code. r=emilio
For future archaeologist: `eReflowReason` used in `nsAdaptorPrintReason`
was originally defined in nsHTMLReflowState.h (today's ReflowInput.h),
and was removed in Bug 300030
31f1898810

Differential Revision: https://phabricator.services.mozilla.com/D94042
2020-10-19 18:59:25 +00:00
Emilio Cobos Álvarez 233df4fdec Bug 1670452 - Make sure to reposition the popups if the preferred size changes, as that can further resize us. r=NeilDeakin
When the pref size changes, we set the bounds of the popup to the pref
size, which is the size of all the contents, usually. It's
SetPopupPosition what takes care of flipping / constraining / etc, so
make sure that happens.

Differential Revision: https://phabricator.services.mozilla.com/D93226
2020-10-12 17:10:55 +00:00
Kartikaya Gupta ccfa0015b9 Bug 1670003 - Move some of the SCROLL_INPUT_METHODS recording. r=botond
In particular, for "continuous" scrolling methods - autoscroll, scrollbar
dragging, trackpad panning, and touch panning, this patch records the *start*
of the gesture rather than on every frame or input event *during* the gesture.
This conceptually changes the metric from being implementation-centric to being
more user-centric, in that each conceptual "user gesture" counts towards one
SCROLL_INPUT_METHOD record. This is more useful for the purposes of recording
user intent with respect to scroll input methods for experiments.

Depends on D92995

Differential Revision: https://phabricator.services.mozilla.com/D92996
2020-10-10 17:41:50 +00:00
Kartikaya Gupta 264e82488a Bug 1670003 - Add back the scroll input methods telemetry. r=botond
This is mostly a revert of the patch in bug 1425686 that removed the old
probe, but rebased to new code locations and clang-formatted. The histogram
entry is also updated with new bug numbers and fields.

The next patch will refine some of these telemetry recording points; the patch
is split into two for easier reviewing as this part is basically what landed
originally.

Differential Revision: https://phabricator.services.mozilla.com/D92995
2020-10-10 17:41:47 +00:00
Jan Horak e516ab4cc5 Bug 1669495 Fix wrong tooltips sizes on wayland and hidpi displays;r=stransky
The tooltip width can be real number in the hidpi display setup
or when the font scaling is used. In this case the nsWindow GTK
implementation will cut out the non integer part which leads to
narrowing the tooltip and later overflowing the text which
is in the tooltip to next line. This workaround patch adds
a one pixel to the tooltip frame when the tooltip has real number
width or height.

Differential Revision: https://phabricator.services.mozilla.com/D92620
2020-10-08 08:04:32 +00:00
Emilio Cobos Álvarez 4ad501e86f Bug 1666497 - Don't flush layout from popuppositioned events. r=mconley,Gijs,smaug
We don't need to flush before dispatching the event because we know that
if the values we cared about changed, then we'd get another event.

Differential Revision: https://phabricator.services.mozilla.com/D92444
2020-10-06 16:28:41 +00:00
Emilio Cobos Álvarez 78ce42a419 Bug 1666497 - Fix various issues with anchored popups. r=NeilDeakin
The patch in bug 1666497 (which makes regular <window>-based XUL
documents with other the XHTML-based ones) uncovers an issue in the
anchored popup tests, which starts timing out.

The underlying issue is that it changes the reflow order from popups in
XUL-only documents with respect to their anchors. Note that Firefox
already uses the "broken" code, because we moved to xhtml and
browser.xhtml doesn't use a XUL <window> anymore.

Since we reflow now the popup _after_ the anchor rather than before, we
don't need to rely on CheckForAnchorChange() to deal with changes. This
means that we need to notify on the positioning changes that happen
during reflow though.

We should be able to simplify a bit the CheckForAnchorChange() stuff
now, but it also takes care of hiding popups and such so I don't plan to
do it on this bug to minimize risk.

Differential Revision: https://phabricator.services.mozilla.com/D91012
2020-10-06 16:28:33 +00:00
Narcis Beleuzu 55d91af3b8 Backed out 2 changesets (bug 1666497, bug 1489259) for bc failure on browser_appmenu.js
Backed out changeset aa49cdc20ff4 (bug 1489259)
Backed out changeset 368f054779b2 (bug 1666497)
2020-10-05 21:38:08 +03:00
Emilio Cobos Álvarez 13f858ff1a Bug 1666497 - Fix various issues with anchored popups. r=NeilDeakin
The patch in bug 1666497 (which makes regular <window>-based XUL
documents with other the XHTML-based ones) uncovers an issue in the
anchored popup tests, which starts timing out.

The underlying issue is that it changes the reflow order from popups in
XUL-only documents with respect to their anchors. Note that Firefox
already uses the "broken" code, because we moved to xhtml and
browser.xhtml doesn't use a XUL <window> anymore.

Since we reflow now the popup _after_ the anchor rather than before, we
don't need to rely on CheckForAnchorChange() to deal with changes. This
means that we need to notify on the positioning changes that happen
during reflow though.

We should be able to simplify a bit the CheckForAnchorChange() stuff
now, but it also takes care of hiding popups and such so I don't plan to
do it on this bug to minimize risk.

Differential Revision: https://phabricator.services.mozilla.com/D91012
2020-10-05 13:34:59 +00:00
Botond Ballo 5d6a075ae9 Bug 1667475 - Moved displayport-related functions from nsLayoutUtils to a new DisplayPortUtils class. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D92006
2020-10-03 21:07:34 +00:00
Csoregi Natalia 231777144e Backed out changeset 1b76f477b19c (bug 1666497) for unexpected reflow failures. CLOSED TREE 2020-10-03 00:50:15 +03:00
Emilio Cobos Álvarez 43e7bad0b6 Bug 1666497 - Fix various issues with anchored popups. r=NeilDeakin
The patch in bug 1666497 (which makes regular <window>-based XUL
documents with other the XHTML-based ones) uncovers an issue in the
anchored popup tests, which starts timing out.

The underlying issue is that it changes the reflow order from popups in
XUL-only documents with respect to their anchors. Note that Firefox
already uses the "broken" code, because we moved to xhtml and
browser.xhtml doesn't use a XUL <window> anymore.

Since we reflow now the popup _after_ the anchor rather than before, we
don't need to rely on CheckForAnchorChange() to deal with changes. This
means that we need to notify on the positioning changes that happen
during reflow though.

We should be able to simplify a bit the CheckForAnchorChange() stuff
now, but it also takes care of hiding popups and such so I don't plan to
do it on this bug to minimize risk.

Differential Revision: https://phabricator.services.mozilla.com/D91012
2020-10-02 14:33:14 +00:00
Jan Horak 3d18ecebba Bug 1640567 Pass expected window position to the NativeMoveResizeWaylandPopup to avoid repositioning; r=stransky
If the position expected position of popup is not changed by the GTK (it popup fit into the screen)
we don't have to update position of nsMenuPopupFrame in Gecko view. We sent the anchor position
instead of expected popup position to the NativeMoveResizeWaylandPopup which triggered the view changes.

Differential Revision: https://phabricator.services.mozilla.com/D92043
2020-10-01 10:18:37 +00:00
Botond Ballo e6c29de3e7 Bug 1667594 - Move nsLayoutUtils::SurfaceFromElementResult to its own file. r=emilio
Along with a dependent struct DirectDrawInfo.

This allows nsImageRenderer.h and CanvasRenderingContext2D.h to
avoid including nsLayoutUtils.h.

For nsImageRenderer.h in particular, a forward declaration is
not sufficient as nsImageRenderer stores SurfaceFromElementResult
by value.

A couple of method definitions elsewhere are moved out of line
to keep things compiling without including nsLayoutUtils.h in
additional headers.

Differential Revision: https://phabricator.services.mozilla.com/D91684
2020-09-30 21:05:34 +00:00
Tooru Fujisawa 7a98582567 Bug 1558642 - Part 2: Use EventUtils.synthesizeNative* where possible. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D39604
2020-09-29 20:01:12 +00:00
Edgar Chen 3af8ce6d7a Bug 1667081 - Part 1: Replace usage of nsIFocusManager with nsFocusManager; r=hsivonen
This patch is bascially done by:
perl -p -i -e "s/nsIFocusManager\* /nsFocusManager* /g;" $( find . -name *.cpp )
perl -p -i -e "s/nsCOMPtr<nsIFocusManager>/RefPtr<nsFocusManager>/g;" $( find . -name *.cpp )

Differential Revision: https://phabricator.services.mozilla.com/D91287
2020-09-29 07:21:09 +00:00
Bogdan Tara 8f6c53bdf5 Backed out 9 changesets (bug 1667081) for assertion failure on nsFocusManager CLOSED TREE
Backed out changeset 156ab3eba505 (bug 1667081)
Backed out changeset 2e37f347082c (bug 1667081)
Backed out changeset 8f59cef879ae (bug 1667081)
Backed out changeset 1298ff140218 (bug 1667081)
Backed out changeset 91342c822425 (bug 1667081)
Backed out changeset aafb1878c590 (bug 1667081)
Backed out changeset 2252e975f0d7 (bug 1667081)
Backed out changeset c3bac5f407d2 (bug 1667081)
Backed out changeset b1e6e81396ae (bug 1667081)
2020-09-28 20:02:52 +03:00
Edgar Chen 6abd74544d Bug 1667081 - Part 1: Replace usage of nsIFocusManager with nsFocusManager; r=hsivonen
This patch is bascially done by:
perl -p -i -e "s/nsIFocusManager\* /nsFocusManager* /g;" $( find . -name *.cpp )
perl -p -i -e "s/nsCOMPtr<nsIFocusManager>/RefPtr<nsFocusManager>/g;" $( find . -name *.cpp )

Differential Revision: https://phabricator.services.mozilla.com/D91287
2020-09-28 14:04:12 +00:00
Botond Ballo 948cec1b06 Bug 1667594 - Avoid including nsLayoutUtils.h in nsContainerFrame.h. r=emilio
nsContainerFrame.h was only using the enum nsLayoutUtils::IntrinsicISizeType,
which this patch moves to LayoutConstants.h instead.

Depends on D91505

Differential Revision: https://phabricator.services.mozilla.com/D91506
2020-09-26 18:19:14 +00:00
Botond Ballo 4e4819d795 Bug 1667594 - Avoid including nsLayoutUtils.h in nsIFrame.h. r=emilio
The only thing in nsIFrame.h that was using it was the implementation
of a templated method, which could be moved to nsIFrameInlines.h.

Depends on D91504

Differential Revision: https://phabricator.services.mozilla.com/D91505
2020-09-26 18:18:11 +00:00
Simon Giesecke de7bab0f06 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Ting-Yu Lin ff5d92f454 Bug 1168478 Part 1 - Combine the border and padding argument for nsIFrame::ComputeAutoSize(). r=dholbert
Also, revise the nsIFrame::ComputeAutoSize()'s documentation.

This change shouldn't change behavior.

Differential Revision: https://phabricator.services.mozilla.com/D90063
2020-09-14 20:39:17 +00:00
Magnus Melin 23789c5a89 Bug 1654620 - fix Crash in [@ nsTreeBodyFrame::GetSelectionRegion]. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D90082
2020-09-14 11:12:18 +00:00
Sylvestre Ledru 6365af6a09 Bug 1664747 - Remove some duplicate if ("bugprone-redundant-branch-condition" warning) r=emilio,andi
Differential Revision: https://phabricator.services.mozilla.com/D90067
2020-09-14 10:52:43 +00:00
Ting-Yu Lin a11075f9e1 Bug 1663822 Part 3 - Move ComputeSizeFlags to LayoutConstants.h, and put it under mozilla namespace. r=dholbert
In the next part, I'm going to use ComputeSizeFlags as the arguments in
some ReflowInput's methods. Because nsIFrame.h includes ReflowInput.h,
to solve the circular dependency, ComputeSizeFlags needs to be moved to
somewhere else.

Also, revise the document for ComputeSizeFlag. The rest of the patch is
just dropping `nsIFrame::` and adding `mozilla::` as needed.

This change shouldn't change behavior.

Differential Revision: https://phabricator.services.mozilla.com/D89542
2020-09-11 18:32:08 +00:00
Kristen Wright 30a9faf35b Bug 1642727 - Remove the VarCache machinery r=njn
This commit removes Varcache entirely, putting an end to our quest to get rid of VarCache.

Differential Revision: https://phabricator.services.mozilla.com/D79538
2020-09-08 17:12:01 +00:00
Emilio Cobos Álvarez 0680c18f72 Bug 1662813 - Factor out the "should print backgrounds" checks to nsIFrame. r=mats
I had written this on one of my attempts to fix the missing text on
reddit when printing, but I think it's worth landing anyways not only
because it's slightly cleaner, but because it avoids the virtual call
and style checks when we're not printing.

This should be an idempotent change.

Differential Revision: https://phabricator.services.mozilla.com/D89171
2020-09-02 21:30:59 +00:00
Masayuki Nakano 5bca4199fb Bug 1660378 - part 9: Avoid QI for getting `nsStyledElement` pointer r=smaug
The editor modules does QI too many times when it sets or removes some style
with `execCommand` or XPCOM API.  Therefore, there should be an API to
retrieve `nsStyledElement` pointer from `nsINode*`.

Differential Revision: https://phabricator.services.mozilla.com/D87990
2020-08-26 05:29:06 +00:00
Narcis Beleuzu 28a919e715 Backed out changeset 6d71d0556c40 (bug 1568130) for mochitest failures on test_focus_menu.xhtml 2020-08-17 05:43:25 +03:00
Jared Wein b119a66052 Bug 1568130 - Stop consuming key events on keyup since webpages may be listening for them. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D86861
2020-08-16 23:45:36 +00:00
Mats Palmgren 910e11aa99 Bug 1531609 part 2 - Implement overflow:clip/visible combinations. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D73717
2020-08-01 01:57:41 +00:00
Jeremy Ir 20235b390f Bug 1531609 part 1 - Rename overflow:-moz-hidden-unscrollable to overflow:clip. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D73716
2020-08-01 01:56:58 +00:00
Butkovits Atila cc95b93cba Backed out 3 changesets (bug 1635473, bug 1531609) for reftest failures. CLOSED TREE
Backed out changeset 1e7b32808be8 (bug 1531609)
Backed out changeset e64a61869cdb (bug 1531609)
Backed out changeset 6da37d7f6dd3 (bug 1635473)
2020-07-31 23:56:54 +03:00
Mats Palmgren c875610606 Bug 1531609 part 2 - Implement overflow:clip/visible combinations. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D73717
2020-07-31 15:31:36 +00:00
Jeremy Ir 92b8f0f77a Bug 1531609 part 1 - Rename overflow:-moz-hidden-unscrollable to overflow:clip. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D73716
2020-07-31 16:40:48 +00:00
Ting-Yu Lin fdc00547f6 Bug 1637130 - Rename visual overflow to ink overflow. r=dbaron
This patch is generated by:

```
# Rename the nsOverflowType enum.
rg -l "eVisualOverflow" layout/ gfx/ | xargs sed -i "s/eVisualOverflow/eInkOverflow/g"

# Rename and drop the "Get" prefix from various functions.
rg -l "GetVisualOverflowRect" layout/ gfx/ | xargs sed -i "s/GetVisualOverflowRect/InkOverflowRect/g"
rg -l "GetPreEffectsVisualOverflowRect" layout/ gfx/ | xargs sed -i "s/GetPreEffectsVisualOverflowRect/PreEffectsInkOverflowRect/g"
rg -l "GetVisualOverflowFromDeltas" layout/ gfx/ | xargs sed -i "s/GetVisualOverflowFromDeltas/InkOverflowFromDeltas/g"
rg -l "GetScrollableOverflowRect" layout/ gfx/ | xargs sed -i "s/GetScrollableOverflowRect/ScrollableOverflowRect/g"

# Rename, drop the "Get" prefix, and change the suffix "Area" to "Rect"
# (because they return nsRect) for the two methods in nsLineBox.
rg -l "GetVisualOverflowArea" layout/ gfx/ | xargs sed -i "s/GetVisualOverflowArea/InkOverflowRect/g"
rg -l "GetScrollableOverflowArea" layout/ gfx/ | xargs sed -i "s/GetScrollableOverflowArea/ScrollableOverflowRect/g"

# Rename rest of the functions and variables.
rg -l "VisualOverflow" layout/ gfx/ | xargs sed -i "s/VisualOverflow/InkOverflow/g"
rg -l "visual overflow" layout/ gfx/ | xargs sed -i "s/visual overflow/ink overflow/g"
rg -l "visualOverflow" layout/ gfx/ | xargs sed -i "s/visualOverflow/inkOverflow/g"
rg -l "visOverflow" layout/ gfx/ | xargs sed -i "s/visOverflow/inkOverflow/g"
rg -l "vis-overflow" layout/ gfx/ python/ | xargs sed -i "s/vis-overflow/ink-overflow/g"

./mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D84231
2020-07-20 20:17:36 +00:00
Cameron McCormack 1fe732d979 Bug 1620467 - Part 3: Defer to -moz-default-appearance when appearance is auto. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D83429
2020-07-16 22:04:12 +00:00
Simon Giesecke 96fb649d21 Bug 1652017 - Remove unnecessary includes for expensive nsIFrame.h. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D83111
2020-07-15 13:44:39 +00:00
longsonr 875f5e88ac Bug 1259861 - Move everything else into the mozilla namespace in layout/svg r=dholbert
Also: adjust include paths to be consistent for usages of various SVG headers,
and remove unused SVG includes (mostly for "utils" classes),
and drop stray "ns" from already-renamed SVG classes in various code comments.

Differential Revision: https://phabricator.services.mozilla.com/D83140
2020-07-11 02:20:20 +00:00
Ting-Yu Lin ffcfb6dcec Bug 1651171 - Convert NS_SUBTREE_DIRTY to an inline method of nsIFrame. r=jfkthame
This is a straightforward conversion except that
`NS_SUBTREE_DIRTY(this)` can be written terser as `IsSubtreeDirty()`.

Differential Revision: https://phabricator.services.mozilla.com/D82811
2020-07-09 18:29:15 +00:00
Kagami Sascha Rosylight f6d17b63b5 Bug 1630704 - Part 28: Remove nsFrame r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81865
2020-07-06 22:38:11 +00:00
Kagami Sascha Rosylight 1afcf4d621 Bug 1630704 - Part 27: Remove nsFrame from inheritance chain r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81864
2020-07-06 22:29:42 +00:00
Haik Aftandilian b6be654b88 Bug 1648881 - Right click submenus opening on the wrong screen r=spohl
Apply the fix for bug 1592416 to submenus.

This adds the NSWindowCollectionBehaviorMoveToActiveSpace behavior to
submenu popups so that they override the "Assign To" space setting and display
on the active space. And, when mutiple displays are in use, recreates the
submenu widget each time it is displayed.

Differential Revision: https://phabricator.services.mozilla.com/D81812
2020-07-01 14:20:40 +00:00
Simon Giesecke 9364b353d4 Bug 1648010 - Remove NS_NAMED_LITERAL_CSTRING and NS_NAMED_LITERAL_STRING macros. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80631
2020-07-01 08:42:31 +00:00
Simon Giesecke cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Edgar Chen ccfe08a5ac Bug 1630828 - Handle mouseup properly on Mac when ctrl key is pressed; r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D71338
2020-06-30 10:47:46 +00:00
Emilio Cobos Álvarez 182bc24936 Bug 1648939 - Ensure that the widget starts with the correct opacity / transform. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D81554
2020-06-29 20:05:09 +00:00
Kagami Sascha Rosylight 21f2b48e01 Bug 1647525 - Use HasAnyStateBits() in remaining layout files r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81230
2020-06-28 01:00:19 +00:00
Kagami Sascha Rosylight 3979f83c6e Bug 1647525 - Use HasAnyStateBits() in nsSplitterFrame r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81229
2020-06-27 14:32:34 +00:00
Kagami Sascha Rosylight afef7b8459 Bug 1647525 - Use HasAnyStateBits() in nsPopupSetFrame r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81228
2020-06-27 14:28:32 +00:00
Kagami Sascha Rosylight f54ce89254 Bug 1647525 - Use HasAnyStateBits() in nsBoxFrame r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81227
2020-06-27 14:30:49 +00:00
Kagami Sascha Rosylight e99550a841 Bug 1647525 - Use HasAnyStateBits() in nsBox r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81226
2020-06-27 14:26:27 +00:00
longsonr ea442838d3 Bug 1648463 - Move SVGForeignObjectFrame SVGImageFrame and SVGUseFrame to mozilla namespace r=dholbert,jgilbert
stop exposing SVGImageListener as only SVGImageFrame uses it.

Differential Revision: https://phabricator.services.mozilla.com/D81087
2020-06-25 20:42:49 +00:00
Andrew Osmond a70c654c29 Bug 1550710 - Make vector images enable high quality scaling for embedded raster images. r=tnikkel
We did not pass FLAG_HIGH_QUALITY_SCALING down to the document used to
rasterize the SVG to a surface, resulting in embedded raster images to
not use high quality downscaling.

Differential Revision: https://phabricator.services.mozilla.com/D56422
2020-06-23 12:43:21 +00:00
Kagami Sascha Rosylight 166f2891a2 Bug 1643464 - Part 1: Rename eLeft/eRight to ePrimary/eSecondary r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D80331
2020-06-19 18:02:41 +00:00
Kris Maglione 3bda67deab Bug 1638153: Part 2 - Fix uses of .rootTreeItem to get top browser window. r=geckoview-reviewers,nika,snorp
Differential Revision: https://phabricator.services.mozilla.com/D75429
2020-06-17 17:17:16 +00:00
Markus Stange de82cec706 Bug 1644461 - When determining whether sidebar selections should use vibrancy, check all ancestor frames. r=miko
When a tree row in the sidebar is selected, the background of that selected row
is styled with `-moz-appearance: -moz-mac-(active-)source-list-selection`.
We have two ways of rendering such selections:

 1. With vibrancy, on 10.10+ if the sidebar itself uses vibrancy, and
 2. With a solid fill, on 10.9 or if the sidebar itself does not use vibrancy.

In the Firefox main browser window, sidebar styling crosses document boundaries.

```
<hbox id="browser">
  <vbox id="sidebar-box">  <-- this one has -moz-appearance: -moz-mac-source-list (or not)
    <browser> (bookmarksSidebar.xhtml or historySidebar.xhtml)
      <window>
        <tree> <-- this contains the tree body frame which renders the tree contents,
                   including the selection backgrounds
```

We detect whether "the sidebar itself uses vibrancy" by walking up the frame tree
and looking for a frame with `-moz-appearance: -moz-mac-source-list`.
In the past, this lookup was inconsistent between nsTreeBodyFrame.cpp and theme rendering,
and it stopped at document boundaries. This patch makes the implementations more
consistent and allows it to cross document boundaries.

The old code only worked with the given DOM structure because `-moz-appearance: -moz-mac-source-list`
was repeated on the <tree> element. I'd like to remove that duplication.
The new code works correctly if `-moz-appearance: -moz-mac-source-list` is only set
on <vbox id="sidebar-box"> and not repeated on the tree.

Depends on D51465

Differential Revision: https://phabricator.services.mozilla.com/D78924
2020-06-13 19:03:08 +00:00
Markus Stange 1afb437c70 Bug 1644468 - Invalidate XUL trees when window focus changes. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D78941
2020-06-11 23:35:18 +00:00
Razvan Maries dcf28ff865 Backed out changeset 6bc479713c3c (bug 1644468) for perma failures on nsDisplayList.h. CLOSED TREE 2020-06-12 00:32:04 +03:00
Markus Stange b8932b1368 Bug 1644468 - Invalidate XUL trees when window focus changes. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D78941
2020-06-11 18:42:13 +00:00
Dorel Luca 3a1ae4298b Backed out changeset 53c16c65827a (bug 1644468) for Mochitest failures in checkouts/gecko/layout/painting/nsDisplayListInvalidation.h. CLOSED TREE 2020-06-11 19:45:38 +03:00
Markus Stange a94dd20a0b Bug 1644468 - Invalidate XUL trees when window focus changes. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D78941
2020-06-11 11:47:59 +00:00
Emilio Cobos Álvarez ef3d21048d Bug 1640623 - Use enum classes for LookAndFeel int and float IDs. r=jmathies,geckoview-reviewers,esawin
Differential Revision: https://phabricator.services.mozilla.com/D76694
2020-06-11 11:27:43 +00:00
Timothy Nikkel ec7f81e276 Bug 1644381. Remove listener in nsSliderFrame. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D78882
2020-06-09 13:40:27 +00:00
Kenrick 08f36c530a Bug 1596160: Re-enable eslint rules within layout and address eslint failures in testcases r=dholbert
This patch was largely automated. It was generated by manually
editing .eslintrc.js and then running mach eslint layout --fix.

Additionally, this includes manual changes to test_bug533845.xhtml
and test_bug467442.xhtml that were necessary to appease eslint.

Differential Revision: https://phabricator.services.mozilla.com/D78615
2020-06-09 15:27:37 +00:00
Ting-Yu Lin 1022daa063 Bug 1643173 Part 1 - Convert enum nsIFrame::DISPLAY_CHILD_* to enum class. r=dholbert
The modifications are all straightforward conversion except the one in
nsMathMLContainerFrame, where it is simplified by calling the equivalent
BuildDisplayListForInline() helper.

Differential Revision: https://phabricator.services.mozilla.com/D78166
2020-06-05 02:52:05 +00:00
Razvan Maries a36bb7751f Backed out 3 changesets (bug 1638153) for perma failures on cross-origin-objects.html. CLOSED TREE
Backed out changeset f7aedc92d396 (bug 1638153)
Backed out changeset 07ec713926c6 (bug 1638153)
Backed out changeset 5a656842e241 (bug 1638153)
2020-06-01 23:51:35 +03:00
Kris Maglione b3fcd970ec Bug 1638153: Part 2 - Fix uses of .rootTreeItem to get top browser window. r=geckoview-reviewers,nika,snorp
Differential Revision: https://phabricator.services.mozilla.com/D75429
2020-06-01 17:59:01 +00:00
Haik Aftandilian 0a19d8eeb2 Bug 1592416 - Right click opens context menu on wrong monitor or virtual desktop (mac OS Catalina) r=spohl
Add the NSWindowCollectionBehaviorMoveToActiveSpace behavior to nsCocoaWindow
popups so that they override the "Assign To" space setting and display on the
active space.

This also addresses bug 1589893 where, when "Assign To" space is used, popup
menus are not visible in full screen mode.

With mutiple displays, recreate the popup widget each time it is displayed
to workaround a problem where the re-shown popup appears on the "Assign To"
display instead of the current display.

Differential Revision: https://phabricator.services.mozilla.com/D75419
2020-05-28 04:00:02 +00:00
Razvan Maries c2dda9f2ae Backed out changeset 854feb05fff6 (bug 1592416) for assertion failures. CLOSED TREE 2020-05-28 03:42:16 +03:00
Haik Aftandilian 76c2f2d30d Bug 1592416 - Right click opens context menu on wrong monitor or virtual desktop (mac OS Catalina) r=spohl
Add the NSWindowCollectionBehaviorMoveToActiveSpace behavior to nsCocoaWindow
popups so that they override the "Assign To" space setting and display on the
active space.

This also addresses bug 1589893 where, when "Assign To" space is used, popup
menus are not visible in full screen mode.

With mutiple displays, recreate the popup widget each time it is displayed
to workaround a problem where the re-shown popup appears on the "Assign To"
display instead of the current display.

Differential Revision: https://phabricator.services.mozilla.com/D75419
2020-05-27 22:41:34 +00:00
Emilio Cobos Álvarez 54fd961a29 Bug 1641245 - Make string comparators not virtual. r=froydnj,necko-reviewers,geckoview-reviewers,jgilbert,agi,valentin
There's no use case for stateful comparators, so they can be just plain
function pointers.

This is used in some hot places like CSS selector matching.

Differential Revision: https://phabricator.services.mozilla.com/D77084
2020-05-27 18:11:12 +00:00
Sylvestre Ledru 615c83d723 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D76451
2020-05-25 07:42:38 +00:00
Butkovits Atila 8a87d1b582 Backed out changeset 09ccf334001b (bug 1592416) for causing bug 1640077 to fail. 2020-05-22 09:37:16 +03:00
Haik Aftandilian 624ed03701 Bug 1592416 - Right click opens context menu on wrong monitor or virtual desktop (mac OS Catalina) r=spohl
Add the NSWindowCollectionBehaviorMoveToActiveSpace behavior to nsCocoaWindow
popups so that they override the "Assign To" space setting and display on the
active space.

This also addresses bug 1589893 where, when "Assign To" space is used, popup
menus are not visible in full screen mode.

With mutiple displays, recreate the popup widget each time it is displayed
to workaround a problem where the re-shown popup appears on the "Assign To"
display instead of the current display.

Differential Revision: https://phabricator.services.mozilla.com/D75419
2020-05-21 00:09:32 +00:00
Kristen Wright 9a760db959 Bug 1626386 - Convert ui.menu.incremental_search.timeout to a static pref r=emilio
Converts `ui.menu.incremental_search.timeout` to a static pref and replaces macros related to the incremental search timeout with the actual pref, so that they are kept in sync without the need to manually update any macros. The two `.xml` files mentioned in the note were nowhere to be found, so this patch makes the assumption that those do not exist anymore and do not need to be kept in sync.

Differential Revision: https://phabricator.services.mozilla.com/D75182
2020-05-19 20:56:06 +00:00
Ting-Yu Lin 9e89df4c56 Bug 1638928 Part 3 - Remove redundant "nsIFrame::" prefix from ChildLists() calls. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D75894
2020-05-19 12:37:41 +00:00
Ting-Yu Lin 162c8d3a67 Bug 1638928 Part 2 - Rename nsIFrame's GetChildLists() to ChildLists(). r=mats
This patch is generated by using my editor's rename functionality.

In the next patch, `nsIFrame::` prefix is going to be removed manually
from all the ChildLists() calls.

Differential Revision: https://phabricator.services.mozilla.com/D75893
2020-05-19 12:37:37 +00:00
Jan Horak 582ea4cda5 Bug 1637948 Don't resize popup on hidpi when not needed r=stransky
We have to compare new width and height multiplied by scale because mBounds is in
real pixels while gdk_window_move_to_rect returns the size without multiplying
by scale factor.

Also to fix overflow popups we need to use NativeMoveResize in nsWindow::ResizeInt
when size of the popup has changed.

Differential Revision: https://phabricator.services.mozilla.com/D75298
2020-05-19 15:34:18 +00:00
Ting-Yu Lin b98820d020 Bug 1635319 Part 3 - Use range-based for loops instead of ChildListIterator in other layout directories. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D75654
2020-05-18 01:12:26 +00:00
Emilio Cobos Álvarez 85f272d163 Bug 1637330 - Flush frames a bit more in nsXULPopupManager. r=tnikkel
Chrome inserts shadow dom lazily during that event, which can make us
reconstruct the menupopup temporarily.

When lazyfc is disabled we reconstruct it immediately so this code gets
a non-null primary frame, but with it enabled we need to flush frames.

Do the same in popuphiding for consistency.

Differential Revision: https://phabricator.services.mozilla.com/D74887
2020-05-12 21:42:16 +00:00
Hiroyuki Ikezoe 49802fc727 Bug 1634616 - Unscale pre-render area for transform animations too. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D74520
2020-05-12 20:58:09 +00:00
Coroiu Cristina f979c1a8d2 Backed out 3 changesets (bug 1634616) for reftest failures at layout/reftests/transform/partial-prerender-expansion-rotate.html on a CLOSED TREE
Backed out changeset 53da1ae188f4 (bug 1634616)
Backed out changeset 60271de42eb8 (bug 1634616)
Backed out changeset 4279b1647e47 (bug 1634616)
2020-05-12 13:47:25 +03:00
Hiroyuki Ikezoe d611690078 Bug 1634616 - Unscale pre-render area for transform animations too. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D74520
2020-05-12 08:32:15 +00:00
Emilio Cobos Álvarez ca996e1ea1 Bug 1637097 - Flush frames in nsXULPopupManager::HandleKeyboardNavigation. r=tnikkel
It uses the frame tree to navigate the popup, so needs to ensure frames
are up-to-date.

Differential Revision: https://phabricator.services.mozilla.com/D74748
2020-05-11 22:43:23 +00:00
Miko Mynttinen 1131025246 Bug 1554499 - Part 12: Remove index from nsDisplayOwnLayer r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D74091
2020-05-11 16:58:26 +00:00
sotaro 230d8f88ed Bug 1635769 - Call WebRenderLayerManager::ClearCachedResources() during re-creating widget r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D74392
2020-05-09 05:44:37 +00:00
Kagami Sascha Rosylight 5ae938ffc0 Bug 1630704 - Merge XUL methods to nsIFrame r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D74335
2020-05-08 17:31:35 +00:00
Emilio Cobos Álvarez 3eb9ef9c18 Bug 1365806 - Make scrollbars not impose a minimum size on the scroller. r=dholbert
Also, don't suppress scrollbars if the scrollport is less than their
length, as that can happen after this patch :)

Differential Revision: https://phabricator.services.mozilla.com/D73395
2020-05-07 20:44:25 +00:00