gecko-dev/layout/xul
Andrew Osmond 91b071ed14 Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel
gfx::Color is currently misused in many places. The DrawTargets expect
the color space to be in device space, e.g. what we are actually going
to draw using. Everything sitting above generally deals with sRGB, as
specified in CSS. Sometimes we missed the conversion from sRGB to device
space when issuing draw calls, and similarly sometimes we converted the
color to device space twice.

This patch splits the type in two. sRGBColor and DeviceColor now
represent sRGB and device color spaces respectively. DrawTarget only
accepts DeviceColor, and one can get a DeviceColor from an sRGBColor via
the ToDeviceColor helper API. The reftests now pass with color
management enabled for everything (e.g. CSS) instead of just tagged
raster images.

There will be a follow up patch to enable color management everywhere by
default on all supported platforms.

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

--HG--
extra : moz-landing-system : lando
2020-03-09 14:16:17 +00:00
..
crashtests Bug 1610404 - Remove nsGroupBoxFrame (display: -moz-groupbox). r=emilio 2020-02-03 09:55:51 +00:00
grid Bug 1619428 - Make the overlay scrollbars check work in all platforms. r=mstange 2020-03-03 20:30:52 +00:00
reftest Bug 1595877, replace some .xul test files (crashtests and reftests) in layout/ with .xhtml r=dholbert 2019-11-16 01:02:44 +00:00
test Bug 1620542 - Automatically fix ESLint errors in .eslintrc.js files. r=mossop 2020-03-07 10:09:44 +00:00
tree Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel 2020-03-09 14:16:17 +00:00
moz.build Bug 1610597 - Re-introduce display: -moz-stack; as <legacy-stack>. r=emilio 2020-02-14 16:32:38 +00:00
nsBox.cpp Bug 1619664 - Rename and don't null-check nsPresContext::GetTheme as it can't return null. r=dholbert 2020-03-04 01:58:30 +00:00
nsBox.h Bug 1619664 - Remove nsBox::gTheme. r=dholbert 2020-03-03 23:39:07 +00:00
nsBoxFrame.cpp Bug 1619428 - Make the overlay scrollbars check work in all platforms. r=mstange 2020-03-03 20:30:52 +00:00
nsBoxFrame.h Bug 1610597 - Re-introduce display: -moz-stack; as <legacy-stack>. r=emilio 2020-02-14 16:32:38 +00:00
nsBoxLayout.cpp Bug 1549267 Part 1 - Remove NS_INTRINSICSIZE and NS_AUTOHEIGHT. r=mats 2019-06-04 23:41:20 +00:00
nsBoxLayout.h
nsBoxLayoutState.cpp Bug 1571250 - Convert flags passed to ReflowChild, FinishReflowChild, SyncFrameViewAfterReflow and from GetXULLayoutFlags / GetLayoutFlags into an enum class. r=TYLin 2019-08-08 19:48:19 +00:00
nsBoxLayoutState.h Bug 1571250 - Convert flags passed to ReflowChild, FinishReflowChild, SyncFrameViewAfterReflow and from GetXULLayoutFlags / GetLayoutFlags into an enum class. r=TYLin 2019-08-08 19:48:19 +00:00
nsButtonBoxFrame.cpp Bug 1597120 - Remove platform support for XUL mousethrough attribute. r=emilio 2019-11-22 13:15:28 +00:00
nsButtonBoxFrame.h Bug 1597120 - Remove platform support for XUL mousethrough attribute. r=emilio 2019-11-22 13:15:28 +00:00
nsDeckFrame.cpp Bug 1613732 Part 2 - Remove unused ReflowChildFlags::NoVisibility. r=dholbert 2020-02-07 04:17:33 +00:00
nsDeckFrame.h
nsDocElementBoxFrame.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan 2019-12-06 09:16:44 +00:00
nsIPopupContainer.h
nsIScrollbarMediator.h
nsImageBoxFrame.cpp Bug 1619664 - Rename and don't null-check nsPresContext::GetTheme as it can't return null. r=dholbert 2020-03-04 01:58:30 +00:00
nsImageBoxFrame.h Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj 2020-02-20 11:40:14 +00:00
nsLeafBoxFrame.cpp Bug 1597120 - Remove platform support for XUL mousethrough attribute. r=emilio 2019-11-22 13:15:28 +00:00
nsLeafBoxFrame.h Bug 1597120 - Remove platform support for XUL mousethrough attribute. r=emilio 2019-11-22 13:15:28 +00:00
nsMenuBarFrame.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan 2019-12-06 09:16:44 +00:00
nsMenuBarFrame.h
nsMenuBarListener.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan 2019-12-06 09:16:44 +00:00
nsMenuBarListener.h
nsMenuFrame.cpp Bug 1613349 - Rename nsIFrame::RemoveProperty to nsIFrame::TakeProperty. r=dholbert 2020-02-06 00:13:38 +00:00
nsMenuFrame.h Bug 1566945 - Add a parameter to nsContainerFrame::InsertFrames for aPrevFrame's line box. r=dholbert 2019-07-17 23:34:45 +00:00
nsMenuParent.h
nsMenuPopupFrame.cpp Bug 1613732 Part 2 - Remove unused ReflowChildFlags::NoVisibility. r=dholbert 2020-02-07 04:17:33 +00:00
nsMenuPopupFrame.h Bug 1611181 - Make direction use an enum class. r=boris 2020-01-24 11:46:14 +00:00
nsPopupSetFrame.cpp Bug 1566945 - Add a parameter to nsContainerFrame::InsertFrames for aPrevFrame's line box. r=dholbert 2019-07-17 23:34:45 +00:00
nsPopupSetFrame.h Bug 1566945 - Add a parameter to nsContainerFrame::InsertFrames for aPrevFrame's line box. r=dholbert 2019-07-17 23:34:45 +00:00
nsRepeatService.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan 2019-12-06 09:16:44 +00:00
nsRepeatService.h
nsResizerFrame.cpp Bug 1613349 - Rename nsINode::DeleteProperty to RemoveProperty. r=smaug 2020-02-06 16:06:49 +00:00
nsResizerFrame.h
nsRootBoxFrame.cpp Bug 1600362 - Cleanup IntersectionObserver. r=smaug 2019-11-29 20:39:36 +00:00
nsScrollbarButtonFrame.cpp Bug 1600362 - Cleanup IntersectionObserver. r=smaug 2019-11-29 20:39:36 +00:00
nsScrollbarButtonFrame.h Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan 2019-12-06 09:16:44 +00:00
nsScrollbarFrame.cpp Bug 1619428 - Make the overlay scrollbars check work in all platforms. r=mstange 2020-03-03 20:30:52 +00:00
nsScrollbarFrame.h Bug 1600362 - Cleanup IntersectionObserver. r=smaug 2019-11-29 20:39:36 +00:00
nsSliderFrame.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan 2019-12-06 09:16:44 +00:00
nsSliderFrame.h Bug 1566945 - Add a parameter to nsContainerFrame::InsertFrames for aPrevFrame's line box. r=dholbert 2019-07-17 23:34:45 +00:00
nsSplitterFrame.cpp Bug 1611181 - Make direction use an enum class. r=boris 2020-01-24 11:46:14 +00:00
nsSplitterFrame.h
nsSprocketLayout.cpp Bug 1611181 - Make direction use an enum class. r=boris 2020-01-24 11:46:14 +00:00
nsSprocketLayout.h Bug 1570982 - remove `CPP_THROW_NEW`; r=glandium 2019-08-14 01:32:41 +00:00
nsStackFrame.cpp Bug 1610597 - Re-introduce display: -moz-stack; as <legacy-stack>. r=emilio 2020-02-14 16:32:38 +00:00
nsStackFrame.h Bug 1610597 - Re-introduce display: -moz-stack; as <legacy-stack>. r=emilio 2020-02-14 16:32:38 +00:00
nsStackLayout.cpp Bug 1611181 - Make direction use an enum class. r=boris 2020-01-24 11:46:14 +00:00
nsStackLayout.h
nsTextBoxFrame.cpp Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel 2020-03-09 14:16:17 +00:00
nsTextBoxFrame.h
nsTitleBarFrame.cpp Bug 1597489 - followup: formatting. r=emilio 2020-01-09 09:58:56 +00:00
nsTitleBarFrame.h Bug 1597120 - Remove platform support for XUL mousethrough attribute. r=emilio 2019-11-22 13:15:28 +00:00
nsXULLabelFrame.cpp
nsXULLabelFrame.h
nsXULPopupManager.cpp Bug 1618163 - Use BrowsingContext for activeness check in nsXULPopupManager::MayShowPopup. r=NeilDeakin 2020-03-02 13:16:10 +00:00
nsXULPopupManager.h Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj 2020-02-20 11:40:14 +00:00
nsXULTooltipListener.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan 2019-12-06 09:16:44 +00:00
nsXULTooltipListener.h