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

345 Коммитов

Автор SHA1 Сообщение Дата
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Markus Stange ffbedcffe2 Bug 1444373 - Update mBounds on mPopupContentView every time mBounds on the containing window changes. r=spohl
MozReview-Commit-ID: GpwXVOQNgIj

--HG--
extra : rebase_source : 867ecfc5422d8b5d98cd7d3797a46360f1dca260
2018-04-09 17:31:49 -04:00
Markus Stange 99a7e50644 Bug 1445787 - Correctly set the initial size of the ChildView we create for the popup contents. r=spohl
Remote WebExtension panels can cause us to recreate the widget for a view that
already has a size. In the past, popup widgets were always created with an
initial size of 0x0, so setting the initial size of the ChildView to 0x0
resulted in correct behavior because the window would be resized to the correct
size shortly afterwards, and resize the ChildView along with it via its auto
resizing mask.

When we recreate a widget which already has a known size, setting the initial
size to 0x0 is wrong. We need to set the ChildView's size so that it fills the
contentView of the popup window completely.

MozReview-Commit-ID: 53d3AX3z5h2

--HG--
extra : rebase_source : 7720a6dd12ad7f8efc102cd1430a9e1ed2f5ee0f
2018-04-09 16:25:14 -04:00
Tooru Fujisawa b7888d2d94 Bug 1448132 - Do not call CGSSetWindowTransform if the window is not visible. r=mstange 2018-04-06 13:10:16 +09:00
Markus Stange 992987e846 Bug 1335191 - Override -[NSThemeFrame _unifiedToolbarFrame] in order to get a correctly-sized unified toolbar gradient drawn in the titlebar. r=spohl
This implements the only useful piece of functionality that the
TitlebarAndBackgroundColor class was providing.

MozReview-Commit-ID: FXC6ICgDaoZ

--HG--
extra : rebase_source : fcd5b02ef057199df34459a4361ef7b4184d3a57
2018-03-24 01:53:30 -04:00
Markus Stange a2a883ac84 Bug 1335191 - Stop using a textured window. r=spohl
We no longer need the ability to specify a background color which gets drawn in
the titlebar. This was the only reason why we were using a textured window.

MozReview-Commit-ID: E8zizuvjjnA

--HG--
extra : rebase_source : ecd4d23e9bb068efbcd192b90e039809bdb451b0
2018-03-23 18:09:18 -04:00
Markus Stange 016eb6c26a Bug 1335191 - Position sheets using the NSWindowDelegate method window:willPositionSheet:usingRect:. r=spohl
MozReview-Commit-ID: 1Dwwdvl6Fok

--HG--
extra : rebase_source : 916b639fe3a18af819cb3f680501abbbe0d9bf87
2018-03-23 17:50:02 -04:00
Markus Stange 51da09f53f Bug 1335191 - Remove nsIWidget::SetWindowTitlebarColor and the nsCocoaWindow implementation. r=spohl
It's unused and no longer has any effect.

MozReview-Commit-ID: DroUFYOovMx

--HG--
extra : rebase_source : fe85188b00dab9fde50409153f464297aff774fa
2018-03-24 01:16:20 -04:00
Markus Stange 3989197ef0 Bug 1335191 - Remove TitlebarAndBackgroundColor. r=spohl
It's no longer needed and is causing trouble.

MozReview-Commit-ID: GsnjMjC5cki

--HG--
extra : rebase_source : 57bdc96d26a07c12a6232dd9f1366c11a5846ca3
2018-03-23 17:47:52 -04:00
Markus Stange b3301b82ed Bug 1335191 - Remove AutoBackgroundSetter. r=spohl
Another patch in this patch series is going to remove our custom window
background color entirely, so we no longer need this override.

MozReview-Commit-ID: 5Hk8jiudzir

--HG--
extra : rebase_source : 24f067726b6c9ce9991dd11df19b726c327eaf05
2018-03-23 16:15:23 -04:00
Markus Stange b16957ac94 Bug 1335191 - Remove unused mTitlebarView field. r=spohl
This field has been unused since https://hg.mozilla.org/mozilla-central/rev/18fc103cb90e .

MozReview-Commit-ID: F5KJ0GE7h8H

--HG--
extra : rebase_source : 05ce147a9e40f79f73a4a6987b35e036d5a6a1e1
2018-03-23 17:35:56 -04:00
Xidorn Quan 5d9c70d584 Bug 1445519 - Use frameRectForContentRect:styleMask: for nsCocoaWindow::ClientToWindowSize. r=mstange
This aligns the behavior with windows, though that may not be the right thing
to do, see bug 1445738.

MozReview-Commit-ID: 6p97SXWfchA
2018-03-14 20:45:51 +01:00
Markus Stange 1b083a52dd Bug 1370131 - Allow shadows on accelerated popups. r=kmag
It looks like the work in bug 1291457 was all that was necessary to get working
window shadows for accelerated popups. It seems that macOS is able to compute
the correct shadow style consistently for whatever is drawn in the
NSOpenGLContext during the first paint of the window (inside the drawRect call
during the orderFront call that opens the window).

We only ran into problems when we animated the contents of the window in a way
that affects the shadow style; we're no longer doing that after bug 1291457.

MozReview-Commit-ID: 62mfWuAsrg2

--HG--
extra : rebase_source : bf8121451474629f0194ccbb422147d5f05ff5b3
extra : source : 57b4a3dff2a5799c5c994a5b577b76c98ebc8226
2017-06-04 22:47:58 -04:00
Emilio Cobos Álvarez b7cf65fe60 Bug 1442938: Nil-check the title in nsCocoaWindow::importState / exportState. r=mstange
Looking at the docs for [NSWindow title] I don't think it's supposed to return
nil under any circumstances...

But it does in our automation, for some reason, with the patches for bug 1439875
which make our fullscreen code run a bit earlier.

MozReview-Commit-ID: AX4qzjzsqST

--HG--
extra : rebase_source : a01f2ba6b42b4067e7a4886c4814e85f317a4a6f
2018-03-03 18:47:41 +01:00
Markus Stange e4fe809278 Bug 1170312 - Don't let the desktop background influence the vibrancy effect's backdrop for context menus. r=spohl
MozReview-Commit-ID: FKLVouZg8ac

--HG--
extra : rebase_source : 6b338186c4a3c6adf02d4311d8b172d0fb31f646
2018-02-22 23:35:33 -05:00
Stephen A Pohl c4a7977565 Bug 1405577: Restore the ability to open new windows in new spaces when a window is already in fullscreen mode on macOS. r=mstange 2017-12-04 15:06:35 -05:00
Stephen A Pohl b1bd9b5870 Backout 84bcb5742e0c (bug 1405577) to replace with a slimmer patch. r=me 2017-12-04 15:06:26 -05:00
Stephen A Pohl aac02bb998 Bug 1405577: Restore the ability to open new windows in new spaces when a window is already in fullscreen mode on macOS. r=mstange 2017-11-29 23:14:11 -05:00
Markus Stange a0e9560488 Bug 1370040 - Use the public API -[NSVisualEffectView setMaskImage:] instead of the private API -[NSWindow _cornerMask]. r=spohl
The idea is the following:
Behind-window vibrancy is mostly rendered by the window server. For a given
vibrant region of a window, the window server renders a vibrancy "backdrop",
which is a blurred version of everything that's behind that region, modified
with a color tint and blended in some way. Then it puts our actual window
contents on top of that background.
The backdrop's shape is usually a rectangle. If we don't want it to be a
rectangle, we need to tell the window server about the shape that we want it to
be. We can't just "draw" a different shape in our own rendering, because our
own rendering is merely placed on top of the backdrop - but here we want to
modify the shape of the backdrop itself.

NSVisualEffectView lets us set a mask image on the view. If this view is the
content view of a window, then the view will automatically communicate the mask
image to the window server.

Traditionally, our popup windows have had a ChildView as their content view. If
we now want an NSVisualEffectView to be the content view of the window, then we
need to nest the ChildView inside that NSVisualEffectView.
But this NSVisualEffectView is only needed when the window is vibrant and the
vibrancy backdrop needs to have a certain shape. This is the case for our menus
which need to have rounded corners. If the window transitions to being
non-vibrant, or not needing a special shape, then we can go back to the way our
window's NSView hierarchy has worked traditionally. So we need to reparent
NSViews during those transitions.

MozReview-Commit-ID: Bo2VzjhhR0A

--HG--
extra : rebase_source : 9eb463cc68c16c3b9281b57455330969c5e2642c
2017-11-19 18:38:35 -05:00
Andreea Pavel 9474960c52 Backed out 1 changesets (bug 1370040) for build bustage at /cocoa/VibrancyManager.mm:207 r=backout on a CLOSED TREE
Backed out changeset 84c737eb3c6e (bug 1370040)
2017-11-20 01:36:36 +02:00
Markus Stange 75bf1f6ae8 Bug 1370040 - Use the public API -[NSVisualEffectView setMaskImage:] instead of the private API -[NSWindow _cornerMask]. r=spohl
The idea is the following:
Behind-window vibrancy is mostly rendered by the window server. For a given
vibrant region of a window, the window server renders a vibrancy "backdrop",
which is a blurred version of everything that's behind that region, modified
with a color tint and blended in some way. Then it puts our actual window
contents on top of that background.
The backdrop's shape is usually a rectangle. If we don't want it to be a
rectangle, we need to tell the window server about the shape that we want it to
be. We can't just "draw" a different shape in our own rendering, because our
own rendering is merely placed on top of the backdrop - but here we want to
modify the shape of the backdrop itself.

NSVisualEffectView lets us set a mask image on the view. If this view is the
content view of a window, then the view will automatically communicate the mask
image to the window server.

Traditionally, our popup windows have had a ChildView as their content view. If
we now want an NSVisualEffectView to be the content view of the window, then we
need to nest the ChildView inside that NSVisualEffectView.
But this NSVisualEffectView is only needed when the window is vibrant and the
vibrancy backdrop needs to have a certain shape. This is the case for our menus
which need to have rounded corners. If the window transitions to being
non-vibrant, or not needing a special shape, then we can go back to the way our
window's NSView hierarchy has worked traditionally. So we need to reparent
NSViews during those transitions.

MozReview-Commit-ID: Bo2VzjhhR0A

--HG--
extra : rebase_source : 0434a17e2cddc94715db6a5fd17bc27e2cddd05c
2017-11-19 17:01:02 -05:00
Ryan VanderMeulen cf94e55fa8 Backed out changesets 9adb0bc561c3 and 9e50716eaebe (bug 1406032) in favor of a different fix.
--HG--
extra : rebase_source : d68493d891fc9d5560e58a41e581ad7f55ea9f09
2017-11-01 21:52:57 -04:00
Ryan VanderMeulen 76b05e595e Backed out changeset f4df790d1477 (bug 1412130) in favor of a better fix.
--HG--
extra : rebase_source : 79103611ce2a4548b27ebcacda23f95a6bdb46af
2017-11-01 21:51:29 -04:00
Stephen A Pohl 89df96b890 Bug 1412130: Fix window levels on macOS to ensure that popups hide when the application is deactivated. r=mstange 2017-10-30 21:33:59 -04:00
Stephen A Pohl bb7596b0b2 Bug 1406032: Ensure that popup windows (such as the hamburger menu window) are shown on top of the browser window on macOS. r=mstange 2017-10-19 23:42:23 -04:00
Sebastian Hengst 1c37bb9e1d Backed out changeset 4f7b6f90f1dd (bug 1406032) for failing toolkit/content/tests/chrome/test_largemenu.xul in c3 test suite on OS X. r=backout on a CLOSED TREE
--HG--
extra : amend_source : 056e16f4aaf106705f891277c7a9088cc62fc2c4
2017-10-20 00:28:03 +02:00
Stephen A Pohl 56e3d3e4c8 Bug 1406032: Ensure that popup windows (such as the hamburger menu window) are shown on top of the browser window on macOS. r=mstange 2017-10-19 16:45:54 -04:00
Stephen A Pohl 359def9977 Bug 1373581: Make transition into and out of native fullscreen smoother on macOS. r=mstange 2017-10-18 21:50:47 -04:00
Stephen A Pohl eee52e5492 Bug 1403432: Show window titles when the inspector is launched in windowed mode. r=mstange 2017-10-08 20:34:53 -04:00
Markus Stange 63baf3259d Bug 1400057 - Override _wantsFloatingTitlebar to return NO in order to avoid titlebar glitches on 10.13. r=spohl
MozReview-Commit-ID: 4HffFOSqWxl

--HG--
extra : rebase_source : 12fcd4a78b16b2bc7cd8ad371054406ffa597b4e
2017-09-29 16:49:30 -04:00
Stephen A Pohl 152c2d3826 Bug 1404036: Display window titles in non-default themes when titlebars are showing on macOS. r=mstange 2017-09-28 14:01:17 -04:00
Stephen A Pohl 83a1ac4bee Bug 1402577: Display titles in titlebar on macOS when the native titlebar is in use. r=mstange 2017-09-24 21:02:32 -04:00
Stephen A Pohl 5839c2d53d Bug 1401641: Avoid invalidations on macOS when setting window titles when titles aren't being displayed. r=mstange 2017-09-21 15:13:32 -04:00
Stephen A Pohl b74f81bd13 Bug 1401297: Followup to fix the selector checks in changeset f53d94fca971. r=mstange 2017-09-20 09:26:59 -04:00
Stephen A Pohl 5f098941f0 Bug 1398582: Followup to fix the selector checks in changeset e4ac2e4268c7. r=mstange 2017-09-20 09:26:50 -04:00
Stephen A Pohl 99fab0adc9 Bug 1401297: Hide native titlebars on macOS 10.13 when exiting native fullscreen. r=mstange 2017-09-19 14:47:50 -04:00
Stephen A Pohl 9b750573b6 Bug 1398582: Prevent drawing titles in title bars on macOS 10.13 when we don't want them. r=mstange 2017-09-19 12:17:05 -04:00
Stephen A Pohl 7081d0c7e8 Backout f89ae3c450ce (bug 1324892) for busting Thunderbird. r=me 2017-09-16 00:09:31 -04:00
Stephen A Pohl cbdf6d6f74 Bug 1398582: Prevent drawing titles in title bars on macOS 10.13 when we don't want them. r=mstange 2017-09-15 11:05:11 -04:00
Samael Wang 480a9d013c Bug 1350643 - Part 4.2: Use screen.dpi in nsChildView::GetDPI. r=mstange
MozReview-Commit-ID: AiGBxTNzxSp

--HG--
extra : rebase_source : 50dcdca6e6b63ab3cbae7e00ecc8c8e7e4f10b74
2017-06-16 10:55:09 +08:00
Beekill95 d2643cda87 Bug 1331932 - Suppress window animations while we're restoring window dimension. r=mikedeboer,jimm,mstange
--HG--
extra : rebase_source : 4c1cc1b8beb38f1445db8942d38babfa9fbce526
2017-06-22 14:27:05 +07:00
Erica Wright 6a89d8490a Bug 1378499 - add missing include files. r=mstange
MozReview-Commit-ID: LQ6E0wAbhU0

--HG--
extra : rebase_source : 6383e90725f5aa50e15c06cf88153b7fc7d0f665
2017-07-05 16:40:09 -04:00
Markus Stange b551842590 Bug 1375232 - Snap window transforms that are translations. r=spohl
MozReview-Commit-ID: Jelbo3IraxR

--HG--
extra : rebase_source : 456c39867247993022233a95f518c6328223cbff
2017-06-21 15:48:30 -04:00
Edgar Chen 273f4b0c7e Bug 1236512 - Part 1: Send "occlusionstatechange" custom event when occlusion state in Mac is changed; f=spohl; r=mstange
MozReview-Commit-ID: GTBeH4UwZiU
2017-05-26 18:09:34 +08:00
Carsten "Tomcat" Book e5d9b2a520 Backed out changeset 844d46609652 (bug 1236512) for test failures in own test 2017-06-20 14:30:54 +02:00
Edgar Chen 244552c6fd Bug 1236512 - Part 1: Send "occlusionstatechange" custom event when occlusion state in Mac is changed; f=spohl; r=mstange
MozReview-Commit-ID: GTBeH4UwZiU
2017-05-26 18:09:34 +08:00
Markus Stange 2c241960ec Bug 1291457 - Remove shadow invalidation code. r=spohl
Invalidating a window's shadow is really slow and leads to flickering. Now that
arrow panels don't change their contents during the panel opening animation any
more, their shape stays the same after the first paint, so we don't need the
shadow invalidation functionality for them any more. And as far as I know, we
don't use transparent popups with changing shapes anywhere else.
The system still computes the shadow for the first paint of the window (which
happens during the orderFront call), and it updates the shadow whenever the
window resizes. But not when its size stays the same and only what we draw in
the content is updated.

MozReview-Commit-ID: 138PjbrSFrc

--HG--
extra : rebase_source : fed1c653ca3d88ef8b4e8e55a7d42b29e17a1624
2016-08-02 16:39:06 -04:00
Markus Stange f8d4832d5f Bug 1370034 - Allow disabling window transforms using a pref. r=spohl
MozReview-Commit-ID: T5NWKMA4qz

--HG--
extra : rebase_source : 2959234f0c0c1368207efc17ec101cb5fc87e5b6
2017-06-09 11:16:48 -04:00
Markus Stange f4e6f4d70c Bug 1370034 - Add nsIWidget::SetWindowTransform and implement it on Mac. r=spohl
MozReview-Commit-ID: 6tghHjKe6pb

--HG--
extra : rebase_source : 0a2d2043d1d3aa9dfe1bd34ef33d598b8d985f36
2017-06-14 19:15:10 -04:00