Commit Graph

25113 Commits

Author SHA1 Message Date
Kannan Vijayan
3fb6190ec6 Bug 1559414 - Rename unaudited pre-fission methods with SameProcess for future audit burndown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D39378

--HG--
extra : moz-landing-system : lando
2019-07-26 16:48:31 +00:00
sotaro
d8d05ff21a Bug 1569110 - Add ClientLayerManager::Initialize() r=nical
Some initialization handlings of ClientLayerManager exists in nsBaseWidget::CreateCompositor(). It is not good. Move them to ClientLayerManager::Initialize().

Differential Revision: https://phabricator.services.mozilla.com/D39476

--HG--
extra : moz-landing-system : lando
2019-07-26 09:31:57 +00:00
Nicholas Nethercote
18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

Differential Revision: https://phabricator.services.mozilla.com/D39138

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Neil Bleasdale
7908205544 Bug 1564797 - Initialise mDmabuf in nsWaylandDisplay constructor. r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D38578

--HG--
extra : moz-landing-system : lando
2019-07-25 21:33:41 +00:00
Emily Toop
5c825f981a Bug 1560641: Add a lock around mCapturePixelsResults. @geckoview-reviewers r=geckoview-reviewers,snorp
This is to ensure that multiple completions cannot be attempted on the same `GeckoResult`, resulting in crashes.

Differential Revision: https://phabricator.services.mozilla.com/D36929

--HG--
extra : moz-landing-system : lando
2019-07-24 16:23:30 +00:00
Emily Toop
8a99efca37 Bug 1553135 - Lock LayerViewSupport during detach so that other methods cannot be called during this time. r=geckoview-reviewers,snorp
This is caused by a race condition when the compositor is detached. Because the actual detachment happens in a new thread, `detach` can complete and release the lock on `mLayerViewSupport`, and `RecvScreenPixels` can obtain the lock, before `mLayerViewSupport` is properly cleaned up. We therefore check to ensure that `lvs` is not null before calling a method on it.

Differential Revision: https://phabricator.services.mozilla.com/D36928

--HG--
extra : moz-landing-system : lando
2019-07-24 15:26:31 +00:00
Thomas Nguyen
db9e147a01 Bug 1566411 Use ReferrerInfo class in imgLoader.idl r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D38177

--HG--
extra : moz-landing-system : lando
2019-07-25 08:23:32 +00:00
Bobby Holley
5d23efb2eb Bug 1566583 - Bridge GeckoResult to MozPromise and return a GeckoResult from GeckoProcessManager::start. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D38436

--HG--
extra : moz-landing-system : lando
2019-07-24 21:10:14 +00:00
Bobby Holley
fe3f8ed5bb Bug 1566583 - Factor primitive conversion logic out of EventDispatcher. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D38435

--HG--
extra : moz-landing-system : lando
2019-07-24 21:10:09 +00:00
Coroiu Cristina
f3386dea34 Backed out 4 changesets (bug 1566583) for apilint and checkstyle failure at geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java on a CLOSED TREE
Backed out changeset 3700ef585384 (bug 1566583)
Backed out changeset fbc829be6c4f (bug 1566583)
Backed out changeset 14ea9c84bb0e (bug 1566583)
Backed out changeset 92f3b1bb34a4 (bug 1566583)
2019-07-24 22:59:54 +03:00
Bobby Holley
53719788a1 Bug 1566583 - Bridge GeckoResult to MozPromise and return a GeckoResult from GeckoProcessManager::start. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D38436

--HG--
extra : moz-landing-system : lando
2019-07-24 19:19:40 +00:00
Bobby Holley
b9d662007c Bug 1566583 - Factor primitive conversion logic out of EventDispatcher. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D38435

--HG--
extra : moz-landing-system : lando
2019-07-24 19:19:29 +00:00
harry
aa07dd7b93 Bug 1521893 - Part 2 - Support loading SVG icons on the Touch Bar through a new nsTouchBarInputIcon service class r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D34926

--HG--
extra : moz-landing-system : lando
2019-07-24 13:03:49 +00:00
Boris Zbarsky
a818800ec5 Bug 1568278. Remove various unnecessary QIs to nsIDOMWindow. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D39065

--HG--
extra : moz-landing-system : lando
2019-07-24 01:26:07 +00:00
Aaron Klotz
bdb6129af0 Bug 1567614: Part 2 - Add ShellExecuteByExplorer overload to handle absolute PIDL lists; r=jmathies
For the URI handling case, we still want to parse the URI to look for any
malformation. OTOH, IShellDispatch2::ShellExecute does not accept PIDLs as
arguments, we we need an overload that converts the absolute PIDL back to a
path for the purposes of passing on to that interface.

Differential Revision: https://phabricator.services.mozilla.com/D38944

--HG--
extra : moz-landing-system : lando
2019-07-23 20:18:07 +00:00
Aaron Klotz
a9b427157f Bug 1567614: Part 1 - Refactor launcher process's LaunchUnelevated to delegate to ShellExecuteByExplorer; r=jmathies
This is just so that both the launcher process and other Gecko code can share
this method.

Differential Revision: https://phabricator.services.mozilla.com/D38943

--HG--
extra : moz-landing-system : lando
2019-07-23 20:17:58 +00:00
Ciure Andrei
c2592a1c3b Backed out changeset 6bad91b2f198 (bug 1521893) for causing browser_touchbar_tests.js to permafail CLOSED TREE 2019-07-23 05:11:00 +03:00
Mike Hommey
ef8e3d8dd2 Bug 1564216 - Fix warnings in nsCocoaUtils.mm with 10.14 SDK. r=mstange
While there, transform the MOZ_ASSERTs into static_asserts, so that
discrepancies are caught at build time rather than runtime.

Differential Revision: https://phabricator.services.mozilla.com/D38165

--HG--
extra : moz-landing-system : lando
2019-07-18 22:42:59 +00:00
Nathan Froyd
2257f3e1ae Bug 1545381 - be more defensive in nsAppShellSingleton; r=erahm
We're seeing crashes in bug 1545381 in appshell shutdown, which appear
to point to appshell initialization somehow falling over non-obviously.
Appshell initialization should basically never fail, so let's complain
loudly if that ever happens.

Differential Revision: https://phabricator.services.mozilla.com/D38915

--HG--
extra : moz-landing-system : lando
2019-07-22 20:52:35 +00:00
harry
e5cfc44574 Bug 1521893 - Part 2 - Support loading SVG icons on the Touch Bar through a new nsTouchBarInputIcon service class r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D34926

--HG--
extra : moz-landing-system : lando
2019-07-22 18:23:34 +00:00
Masayuki Nakano
1e6858f9fe Bug 1548389 - part 9: Make ContentEventHandler return masked text r=m_kato
In some cases, other tools may show selected content in their UI.  E.g.,
character palette of macOS.  Therefore, we shouldn't allow them to show
masked password.

Differential Revision: https://phabricator.services.mozilla.com/D38430

--HG--
extra : moz-landing-system : lando
2019-07-22 03:56:15 +00:00
Masayuki Nakano
1c2108934c Bug 1548389 - part 6: Add automated tests for new API and rendering of password fields r=m_kato,Jamie
Differential Revision: https://phabricator.services.mozilla.com/D38010

--HG--
extra : moz-landing-system : lando
2019-07-22 03:55:13 +00:00
Masayuki Nakano
010cde10c1 Bug 1548389 - part 1: Implement API to get/set unmask-range of password editor r=m_kato
This patch creates editor API to get/set unmask-range of password field.
Its design is similar to `setSelectionRange()` and `selectionStart`/
`selectionEnd` attributes.   The unmasked range is automatically
masked if `aTimeout` of `unmask()` is set to non-zero.
Otherwise, unmasked range won't be masked automatically even after user
or web apps modifies the editor, and inserting new character expands
unmasking range.

The following patch makes `TextEditRules` use these API to implement
delayed masking of password.

Note that editor has never supported dynamic `eEditorPasswordMask` change.
E.g., if you have typed some characters into an editor and toggle the flag,
the characters are not unmasked nor masked.  Then, if you type new characters,
only they are correctly masked or unmasked.  This patch puts `MOZ_ASSERT()`
to reject this feature completely on debug build for making the unmasking
implementation simpler.

Differential Revision: https://phabricator.services.mozilla.com/D38004

--HG--
extra : moz-landing-system : lando
2019-07-22 03:53:36 +00:00
Nicholas Nethercote
7974362afd Bug 1567329 - Append _AtStartup to once static pref getters. r=erahm
Currently it's completely unclear at use sites that the getters for `once`
static prefs return the pref value from startup, rather than the current pref
value. (Bugs have been caused by this.) This commit improves things by changing
the getter name to make it clear that the pref value obtained is from startup.

This required changing things within libpref so it distinguishes between the
"base id" (`foo_bar`) and the "full id" (`foo_bar` or
`foo_bar_DoNotUseDirectly` or `foo_bar_AtStartup` or
`foo_bar_AtStartup_DoNotUseDirectly`; the name used depends on the `mirror` and
`do_not_use_directly` values in the YAML definition.) The "full id" is used in
most places, while the "base id" is used for the `GetPrefName_*` and
`GetPrefDefault_*` functions.

(This is a nice demonstration of the benefits of the YAML file, BTW. Making
this change with the old code would have involved adding an entry to every
single pref in StaticPrefList.h.)

The patch also rejigs the comment at the top of StaticPrefList.yaml, to clarify
some things.

Differential Revision: https://phabricator.services.mozilla.com/D38604

--HG--
extra : moz-landing-system : lando
2019-07-22 02:10:14 +00:00
harry
6b990275d7 Bug 1567517 - Restore camera and mic indicators in the macOS menubar. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D38745

--HG--
extra : moz-landing-system : lando
2019-07-19 22:08:41 +00:00
Kartikaya Gupta
917d84a405 Bug 1563622 - Use the right layers id for events prevented by chrome. r=botond
This is latent bug in the code. The layers id used in the parent process'
call to SetTargetAPZC was always the one that the APZ hit-test produced.
But in the case where the parent process had a chrome event listener that
does a preventDefault on the event, that is the wrong layers id to use,
because we want to use the parent process' layers id instead of the content
process' layers id.

The reason the test in this bug hits this is because with WebRender enabled
the code in APZCTreeManagerParent that receives the SetTargetAPZC message
checks the layers id to see if it matches expectations (if it doesn't, it
assumes a malicious content process). In this scenario the layers id doesn't
match and causes an assertion failure. With this fix the layers id matches
expectations.

I don't believe this has any functional effect beyond the malicious content
process check.

Differential Revision: https://phabricator.services.mozilla.com/D38238

--HG--
extra : moz-landing-system : lando
2019-07-19 16:29:36 +00:00
Olli Pettay
7c88ba1685 Bug 1539497, navigator.maxTouchPoints returns 0 in child process, r=ehsan
Differential Revision: https://phabricator.services.mozilla.com/D38583

--HG--
extra : amend_source : 52f1fdbf79f18a6c3ff52eab0a45b397cee76baf
2019-07-19 01:45:16 +03:00
sotaro
41e801baab Bug 1566468 - Fix CompositorInitiallyPaused() r=nical
CompositorInitiallyPaused() uses mNeedsUpdatingEGLSurface. But it is not good. mNeedsUpdatingEGLSurface is set to true in moz_container_set_initial_draw_callback(). If compositor is created before moz_container_set_initial_draw_callback(), compositor is not initially paused. It happens sometimes with popup window.

Differential Revision: https://phabricator.services.mozilla.com/D38200

--HG--
extra : moz-landing-system : lando
2019-07-17 14:08:39 +00:00
Xidorn Quan
6aee66b8fb Bug 1403085 - Add a pref to use native full screen for Fullscreen API on macOS. r=spohl,dao
Differential Revision: https://phabricator.services.mozilla.com/D37151

--HG--
extra : moz-landing-system : lando
2019-07-17 13:31:41 +00:00
Markus Stange
6eda849f2d Bug 1565668 - Make BasicCompositor PreRender/PostRender handling more consistent with CompositorOGL / WebRender. r=mattwoodrow
This was the order of calls for CompositorOGL+WebRender before this patch:
 - PreRender, calls [mView preRender:]
 - [compositing happens]
 - PostRender, calls [mView postRender:]

And this was the order of calls for BasicCompositor before this patch:
 - PreRender, ignored
 - StartRemoteDrawing(InRegion)
 - [software compositing happens]
 - EndRemoteDrawing, calls [mView preRender:], does a GL composition, then calls [mView postRender:]
 - PostRender, ignored

After this patch, all paths call [mView preRender:] and [mView postRender:] from
PreRender and PostRender.
This changeset also makes it so that we can't tear down the ChildView while
BasicCompositor compositing is happening.

Differential Revision: https://phabricator.services.mozilla.com/D37915

--HG--
extra : moz-landing-system : lando
2019-07-17 20:47:16 +00:00
Markus Stange
a49d1d1622 Bug 1565668 - Do not override _wantsFloatingTitlebar when using CoreAnimation. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D26410

--HG--
extra : moz-landing-system : lando
2019-07-17 20:46:51 +00:00
Markus Stange
b34e2b7e1e Bug 1565668 - Add CFTypeRefPtr which is a RefPtr-style smart pointer for CFTypeRef types. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D30402

--HG--
extra : moz-landing-system : lando
2019-07-17 20:46:04 +00:00
Markus Stange
93ba33db74 Bug 1565668 - Persist wantsTitleDrawn window property across HideWindowChrome (full screen mode). r=spohl
This is an existing problem: Whenever you enter DOM fullscreen mode on a
window that has drawsContentsIntoWindowFrame == YES, we drop the information
about whether the title should be shown in the titlebar on top of Gecko's
drawing. Then, when you leave DOM fullscreen again, the freshly-created
ToolbarWindow will have mDrawTitle and titleVisibility set to their default
values: mDrawTitle defaults to NO and titleVisibility defaults to
NSWindowTitleVisible.
The title can be drawn in two different modes:
 - If the ChildView is covering the titlebar and drawing it in its OpenGL
   context, the ChildView handles the drawing of the title text. That drawing
   code respects the window's mDrawTitle field, and ignores titleVisibility.
 - If Cocoa is drawing the titlebar, it respects the titleVisibility property.
At the moment, Cocoa's drawing is never visible, because it is covered up by
the ChildView's OpenGL context. As a consequence, the extraneous title is never
actually visible on the screen and the bug doesn't actually cause a visible
glitch.
Once we use CoreAnimation, Cocoa's drawing will become visible, and the wrong
value of the titleVisibility property would become apparent.

Differential Revision: https://phabricator.services.mozilla.com/D26403

--HG--
extra : moz-landing-system : lando
2019-07-17 20:44:32 +00:00
Jan Horak
15c671a2cb Bug 1562555 Don't scale widget pixmaps on older than GTK 3.22, r=stransky
Pre GTK 3.22 releases does not show hidpi widget pixmaps correctly.

Differential Revision: https://phabricator.services.mozilla.com/D37724

--HG--
extra : moz-landing-system : lando
2019-07-17 16:00:23 +00:00
harry
fe8800dbaa Bug 1566086 - Add error message if touchBarAction crash is encountered. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D38116

--HG--
extra : moz-landing-system : lando
2019-07-16 15:13:22 +00:00
Sylvestre Ledru
2ff79fb0d5 Bug 1519636 - Ride along: remove trailing whitespaces r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D38058

--HG--
extra : moz-landing-system : lando
2019-07-16 07:34:03 +00:00
sotaro
f2c65ceeb7 Bug 1565785 - Skip WR rendering until window becomes ready to draw on Wayland r=nical
Differential Revision: https://phabricator.services.mozilla.com/D37977

--HG--
extra : moz-landing-system : lando
2019-07-16 01:28:32 +00:00
Mihai Alexandru Michis
a2b90fe037 Backed out changeset b1f8f86bbda8 (bug 1565785) for causing bustages in nsWindow.h CLOSED TREE 2019-07-16 03:12:42 +03:00
sotaro
45b727fe13 Bug 1565785 - Skip WR rendering until window becomes ready to draw on Wayland r=nical
Differential Revision: https://phabricator.services.mozilla.com/D37977

--HG--
extra : moz-landing-system : lando
2019-07-15 14:33:04 +00:00
Jan Andre Ikenmeyer
c4f6b66520 Bug 1563859 - Enable WebRender on Linux with Nvidia hardware and Mesa drivers. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D37924

--HG--
extra : moz-landing-system : lando
2019-07-12 20:46:03 +00:00
Jan Andre Ikenmeyer
74caabe3e3 Bug 1563854 - Restrict Nvidia blocklist entry to the proprietary driver. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D37672

--HG--
extra : moz-landing-system : lando
2019-07-11 13:34:09 +00:00
Nicholas Nethercote
059ebab5c9 Bug 1552126 - Convert gfx.blocklist.all to a non-Skip pref. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D37371

--HG--
extra : moz-landing-system : lando
2019-07-10 22:32:19 +00:00
Brendan Dahl
28dcf95b41 Bug 1557371 - Part 2 - Load all XUL crashtests with chrome privilege. r=dbaron
386947-1.xul, now has one assertion since we take a different code
path with chrome URL's and XBL files. The assertion is triggered since the
binding is invalid.

Differential Revision: https://phabricator.services.mozilla.com/D34542

--HG--
extra : moz-landing-system : lando
2019-07-09 19:40:42 +00:00
Barret Rennie
ecfe564e69 Bug 1289211 - Rename InfallibleTArray to nsTArray in widget/ r=jmathies
Differential Revision: https://phabricator.services.mozilla.com/D36969

--HG--
extra : moz-landing-system : lando
2019-07-10 03:33:42 +00:00
Mike Conley
b5ab3772b2 Bug 1563918 - Avoid spamming native message loop with WM_NCMOUSELEAVE messages. r=jmathies
In bug 1551961, a WM_NCMOUSELEAVE message handler was added to the Windows widget
backend so that we can detect when the mouse leaves a draggable region (since
draggable regions are hittest'ed as HTCAPTION, and are therefore "non-client").

Inside that message handler, we used the WindowAtMouse handler to determine whether
or not the WM_NCMOUSELEAVE was firing because the mouse was moving off of the
non-client area to client area, or moving out of the window entirely.

For reasons that are not particularly clear, on Windows Aero Glass, when clicking on
one of the min/max/close caption buttons, a WM_NCMOUSELEAVE message fires, and the
::WindowFromPoint call that WindowAtMouse uses causes another WM_NCMOUSELEAVE message
to be queued immediately after, so we end up in this situation where the message
loop is getting spammed by WM_NCMOUSELEAVE messages. Moving the mouse away from
the caption buttons seems to stop the spamming.

We have a function similar to WindowAtMouse called EventIsInsideWindow which
does not use ::WindowFromPoint, and this seems to sidestep the issue, while
being functionally equivalent.

Depends on D37421

Differential Revision: https://phabricator.services.mozilla.com/D37422

--HG--
extra : moz-landing-system : lando
2019-07-10 15:34:47 +00:00
Mike Conley
1160914b7e Bug 1557710 - Fire eMouseExitFromWidget when transitioning from a draggable to a non-draggable non-client region on Windows. r=jmathies
We need to do this in order to not override the mouse cursor that we set in the
widget layer when hit-testing in the non-client region.

We were accidentally overriding before because the PresShell normally queues up a
synthetic mousemove event when the mouse is moving within the client region. That
mousemove cause the EventStateManager to update the cursor to match Gecko's
reckoning of the cursor CSS style of the underlying frame (which overrides the
cursor we may have set in the Windows non-client region hittest - for example,
one of the window resize cursors).

By clearing the mMouseInDraggableArea boolean when transitioning from a draggable
to non-draggable region in the non-client region, we make sure that we process the
WM_MOUSELEAVE message, which sends the eMouseExitFromWidget event into Gecko, which
effectively cancels handling of the synthetic mousemove.

Differential Revision: https://phabricator.services.mozilla.com/D37421

--HG--
extra : moz-landing-system : lando
2019-07-10 15:34:54 +00:00
harry
3d6d3a153b Bug 1521893 - Part 1 - Split off nsMenuItemIconX image loading into a new utility class, nsIconLoaderService, and be its first consumer. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D34018

--HG--
extra : moz-landing-system : lando
2019-07-10 01:23:45 +00:00
Masayuki Nakano
e1fd60e5e8 Bug 1563508 - part 7: Remove unnecessary code from window_composition_text_querycontent.xul r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D37063

--HG--
extra : moz-landing-system : lando
2019-07-09 06:47:42 +00:00
Masayuki Nakano
6fd31c87e6 Bug 1563508 - part 6: Make runPanelTest() async r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D37062

--HG--
extra : moz-landing-system : lando
2019-07-09 05:40:32 +00:00
Masayuki Nakano
dddc25e1e9 Bug 1563508 - part 5: Make runRemoveContentTest() async and fix an editor's bug which found by the test order change r=m_kato
Previously, `runRemoveContentTest()` was the last test which synthesizes
composition in the `<textarea>`.  However, new test order move it to middle
of the other tests.  Then, it hits an `MOZ_ASSERT()` in
`TextComposition::EditorWillHandleCompositionChangeEvent()` that detects a
bug.  When editable element is removed from the DOM tree during a composition,
editor cannot listen to `eCompositionEnd` event.  Therefore, when the editor
gets back, it still has destroyed `TextComposition` and keeps handling new
composition with the old one.  Therefore this patch makes
`EditorBase::InstallEventListeners()` forget the destroyed composition.

Differential Revision: https://phabricator.services.mozilla.com/D37061

--HG--
extra : moz-landing-system : lando
2019-07-09 05:20:01 +00:00