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

135 Коммитов

Автор SHA1 Сообщение Дата
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
Simon Giesecke 661e25bf09 Bug 1692880 - Make Put accept DataType instead of wrapping UserDataType. r=xpcom-reviewers,necko-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D104850
2021-02-16 15:53:33 +00:00
smolnar 1afbbe67e1 Backed out 5 changesets (bug 1691894) for causing hazard failures in nsXULPrototypeCache. CLOSED TREE
Backed out changeset 22dc870ee609 (bug 1691894)
Backed out changeset 58c31e9d6ae3 (bug 1691894)
Backed out changeset 7483e84149d8 (bug 1691894)
Backed out changeset f977d6cfa973 (bug 1691894)
Backed out changeset db4503476f34 (bug 1691894)
2021-02-15 16:43:23 +02:00
Simon Giesecke 3c29a68440 Bug 1691894 - Make Put accept DataType instead of wrapping UserDataType. r=xpcom-reviewers,necko-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D104850
2021-02-15 10:04:46 +00:00
Andreas Farre f2fa2e633c Bug 1620594 - Part 5: Use GetMainThreadSerialEventTarget instead of SystemGroup::EventTargetFor. r=nika
This patch also tries to remove the event target entirely if it would
default to the main thread on a null event target.

Depends on D67634

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

--HG--
extra : moz-landing-system : lando
2020-04-07 15:17:07 +00:00
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
Simon Giesecke dce1e48caf Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D65288

--HG--
extra : moz-landing-system : lando
2020-03-04 15:39:20 +00:00
Ting-Yu Lin b19983c13e Bug 1610670 - Add AllPhysicalCorners() to support range-based for loops. r=mats
This patch is generated via:
1. Manually modify gfx/2d/Types.h
2. Run the following script and clang-format.

```

function rename() {
    echo "Renaming $1 to $2"
    rg -l "$1" | xargs sed -i -E -e s/"$1"/"$2"/g
}

rename "NS_FOR_CSS_FULL_CORNERS\(i\)" "for (const auto i : mozilla::AllPhysicalCorners())"
rename "NS_FOR_CSS_FULL_CORNERS\(corner\)" "for (const auto corner : mozilla::AllPhysicalCorners())"
```

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

--HG--
extra : moz-landing-system : lando
2020-02-04 03:28:35 +00:00
Lee Salzman 08eecf9eae Bug 1568858 - always stretch box shadows except for Cairo. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D39412

--HG--
extra : moz-landing-system : lando
2019-07-26 16:31:21 +00:00
Jean-Yves Avenard 11ac9e9cf8 Bug 1540581 - P6. Tidy some C++ declarations in gfx/. r=gerald,jrmuizel
* Remove redundant virtual keywords
* Mark all destructors of inheriting classes as virtual for clarity
* Mark all classes without virtual destructor as final (exposed errors)
* Make destructor virtual where it needed to be (some were missing)
* Replace empty ({}) code declaration in header with = default
* Remove virtual unused methods

I probably missed some, it quickly became a rabbit hole.

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

--HG--
extra : moz-landing-system : lando
2019-04-11 12:36:51 +00:00
Bas Schouten 027d1994fb Bug 1526045 - Part 3: Ensure DrawTarget validity inside gfxBlur::InitDrawTarget. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D21900

--HG--
extra : rebase_source : 3bba335a9582d706a8c537358ad37b6d1be0e7fc
2019-03-04 10:49:02 +01:00
Ryan Hunt 85ff4bdc33 Bug 1523969 part 8 - Move method definition inline comments to new line in 'gfx/'. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D21108

--HG--
extra : rebase_source : 48a4586f507891f3a2f0f970e9b9a0b15f0f3d61
2019-02-25 16:07:19 -06:00
Chris Peterson 8c5a13370c Bug 1528881 - Part 1: gfx/thebes: Make some global functions static. r=jrmuizel
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

gfx/thebes/gfxBlur.cpp:444:6 [-Wmissing-prototypes] no previous prototype for function 'CacheBlur'
gfx/thebes/gfxPlatform.cpp:1087:6 [-Wmissing-prototypes] no previous prototype for function 'IsFeatureSupported'
gfx/thebes/gfxPlatform.cpp:1355:6 [-Wmissing-prototypes] no previous prototype for function 'SourceBufferDestroy'
gfx/thebes/gfxPlatform.cpp:1365:6 [-Wmissing-prototypes] no previous prototype for function 'SourceSurfaceDestroyed'
gfx/thebes/gfxPlatform.cpp:2422:6 [-Wmissing-prototypes] no previous prototype for function 'VideoDecodingFailedChangedCallback'
gfx/thebes/gfxPlatform.cpp:559:6 [-Wmissing-prototypes] no previous prototype for function 'WebRenderDebugPrefChangeCallback'

widget/GfxInfoBase.cpp:82:6 [-Wmissing-prototypes] no previous prototype for function 'InitGfxDriverInfoShutdownObserver'

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

--HG--
extra : source : b8333099bca51db166839862e4a3918c5e8874f2
extra : intermediate-source : acb4bb2466df7fb22ca1a76e13c79186ea938bc1
extra : histedit_source : 16cf3a96596046e8111774a147b23ade0676c8e1
2019-02-17 01:18:01 -08:00
Tooru Fujisawa 7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Lee Salzman 907071413e Bug 1486810 - round sizes in blur assertion. r=rhunt 2018-09-11 14:33:45 -04:00
Nicolas Silva 514e74387d Bug 1474722 - Prevent large rect integer overflows without forbidding large nine-patches. r=Bas 2018-08-01 17:13:12 +02:00
Nicolas Silva dae63b2e5b Bug 1464243 - Early return when running into blur rects that are way too large. r=Bas 2018-06-20 11:23:09 +02:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Chris Peterson 37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Milan Sreckovic 099cfc4242 Bug 1423570: Use BaseRect access methods instead of member variables in gfx/ r=bas.schouten
MozReview-Commit-ID: ZGySgc9oP3

--HG--
extra : rebase_source : 23aadc10e9885002290155684b2c495780d979ce
2017-12-19 15:48:39 -05:00
Andreea Pavel 7fb4cc447c Merge inbound to mozilla-central r=merge a=merge 2017-11-11 11:59:20 +02:00
Nathan Froyd 68ce6c6d2a Bug 1415961 - construct {Blur,Gradient}CacheData more efficiently; r=jrmuizel
We pass in `const {Blur,Gradient}CacheKey&` to these functions.  There's
no need to copy the cache keys here; we can just Move() the existing
objects in instead.  Doing this saves unnecessary allocations and/or
refcounting.
2017-11-10 16:43:54 -05:00
Kartikaya Gupta 00ef028ed3 Bug 1416267 - Update gfxContext matrix functions to avoid flip-flopping between float and double matrices. r=jrmuizel
The core of this change is in gfxContext.*:
- change gfxContext::CurrentMatrix() and gfxContext::SetMatrix() to
  return and take a Matrix respectively, instead of converting to
  and from a gfxMatrix (which uses doubles). These functions therefore
  will now match the native representation of the transform in gfxContext.
- add two new functions CurrentMatrixDouble() and SetMatrixDouble() that
  do what the old CurrentMatrix() and SetMatrix() used to do, i.e.
  convert between the float matrix and the double matrix.

The rest of the change is just updating the call sites to avoid round-
tripping between floats and doubles where possible. Call sites that are
hard to fix are migrated to the new XXXDouble functions which preserves
the existing behaviour.

MozReview-Commit-ID: 5sbBpLUus3U
2017-11-10 21:14:09 -05:00
Sebastian Hengst 8c31f6f143 Backed out changeset d0ddd9a98e74 (bug 1415961) for bustage in thebes. r=backout on a CLOSED TREE 2017-11-10 00:11:59 +02:00
Nathan Froyd d553d84aeb Bug 1415961 - construct {Blur,Gradient}CacheData more efficiently; r=jrmuizel
We pass in `const {Blur,Gradient}CacheKey&` to these functions.  There's
no need to copy the cache keys here; we can just Move() the existing
objects in instead.  Doing this saves unnecessary allocations and/or
refcounting.
2017-11-09 17:03:11 -05:00
David Anderson 94d1c71ca2 Create DrawTargetCaptures for blur operations when OMTP is enabled. (bug 1395478 part 3, r=mattwoodrow)
--HG--
extra : rebase_source : 902e1d5238b831c3ce4a0f1da98741b3aa040b6d
2017-10-31 12:02:30 -07:00
Mason Chang b4e1afb9e9 Bug 1365876. Blur text shadows on the CPU. r=lsalzman 2017-07-24 13:48:14 -07:00
Mason Chang 7e5e3ec643 Bug 1379029 AddUserData to hold onto the calloc blur memory. r=lsalzman 2017-07-11 08:05:53 -07:00
Bill McCloskey 548982bb83 Bug 1350676 - Label nsExiprationTracker subclasses BlurCache & GradientCache (r=dvander)
MozReview-Commit-ID: 6O1gGQAIYJQ
2017-07-03 16:19:58 -07:00
Lee Salzman e4cbb5aad8 Bug 1365794 - optimize box blur surfaces for destination draw target. r=mchang
MozReview-Commit-ID: CfAwZZy6v5M
2017-06-16 16:50:39 -04:00
Mason Chang 844f99874d Bug 1361787. Don't use the minimum box shadow when printing box shadows. r=lsalzman 2017-05-11 09:56:15 -07:00
Lee Salzman 8b90fc84ee Bug 1357692 - only accelerate gfxAlphaBoxBlur when blur area is large enough to balance resource creation costs. r=mchang
MozReview-Commit-ID: HcRahaq8ORa
2017-05-09 12:59:08 -04:00
Lee Salzman f72fa46b41 bug 1333749 - verify that inset box shadows are symmetric before attempting to mirror them. r=mchang
MozReview-Commit-ID: 2q3WH25PWSs
2017-01-25 14:53:38 -05:00
Ting-Yu Lin e857e2115f Bug 1320014 Part 15 - Replace RectCorner with Corner. r=mats
Rewrite RectCornerRadii::operator==() and RectCornerRadii::AreRadiiSame() by
explicitly expand all the comparisons, and rewrite other explicit for-loops
with NS_FOR_CSS_FULL_CORNERS.

MozReview-Commit-ID: BLBJHla8kyk

--HG--
extra : rebase_source : 464d8973eae6fa58e6931cc65d61900605926b85
2017-01-05 17:07:07 +08:00
Lee Salzman 2b779e5359 Bug 1250037 - part 2 - use DrawTarget::DrawSurfaceWithShadow to render box shadows on platforms that accelerate it. r=mchang
MozReview-Commit-ID: 5MERz8RmGUd
2016-11-21 13:17:09 -05:00
Lee Salzman 3d2a652e53 Bug 1250037 - part 1 - only blur one quadrant of a box-shadow and mirror it to the other quadrants. r=mchang
MozReview-Commit-ID: B4FSDmAMfXK
2016-11-21 13:16:59 -05:00
Sebastian Hengst fd08842ecf Backed out changeset 25840ab0d453 (bug 1250037) for assertion in Windows 8 x64 debug bc6 in browser_UITour.js. r=backout 2016-11-18 00:30:41 +01:00
Sebastian Hengst bf0af8baea Backed out changeset 5504280ce43c (bug 1250037) 2016-11-18 00:29:02 +01:00
Lee Salzman 8acbd8d04a Bug 1250037 - part 2 - use DrawTarget::DrawSurfaceWithShadow to render box shadows on platforms that accelerate it. r=mchang
MozReview-Commit-ID: 5MERz8RmGUd
2016-11-17 16:04:05 -05:00
Lee Salzman e79ff03dbb Bug 1250037 - part 1 - only blur one quadrant of a box-shadow and mirror it to the other quadrants. r=mchang
MozReview-Commit-ID: B4FSDmAMfXK
2016-11-17 16:03:59 -05:00
Bas Schouten 8f48ecccca Bug 1296665: gfxBlur should attempt to create a box shadow for the correct type of DrawTarget. r=mchang
MozReview-Commit-ID: 5J3GwKya83w
2016-09-15 13:53:12 +02:00
Kartikaya Gupta 029140f6bf Back out bug 1296665 (cset b071166a07bc) for causing bug 1303434. rs=mstange 2016-09-16 17:32:36 -04:00
Bas Schouten b452c90e96 Bug 1296665: gfxBlur should attempt to create a box shadow for the correct type of DrawTarget. r=mchang
MozReview-Commit-ID: 5J3GwKya83w
2016-09-15 13:53:12 +02:00
Ryan Hunt 92206266e3 Bug 1294586 - Remove dependency on gfxPlatform from CreateDrawTargetFromData. r=dvander
MozReview-Commit-ID: A355fBJKWP6

--HG--
extra : rebase_source : 85ffd4b9d5f9708a1666bbc8e229ba576cc97680
2016-08-11 14:54:08 -07:00
Nicholas Nethercote a02611e830 Bug 1276824 (part 1) - Rename gfxContext::ForDrawTarget{,WithTransform}(). r=milan.
The new names Create{,PreservingTransform}OrNull() better communicate that
these functions (a) do object creation, and (b) are fallible.

--HG--
extra : rebase_source : a36bd9a2bcdfae281868959403f811f2bc690ad4
2016-06-07 09:39:56 +10:00
Jonathan Watt 03036022ec Bug 1277862, part 2 - Rename Moz2D's Filter to SamplingFilter in the rest of gfx/. r=Bas 2016-05-25 17:01:18 +01:00
Milan Sreckovic e0b2b9e425 Bug 1259513: Make gfxContext constructor private, use a utility function that can return nullptr. r=bas,lsalzman
MozReview-Commit-ID: rHhLEDZEQt

--HG--
extra : rebase_source : 4988f3f488c19dd35a9979e96f78a5511ee8f3d2
2016-04-12 15:18:11 -04:00
Mason Chang 2b9181914e Bug 1250947. Fill area outside blur with solid color. r=mstange 2016-03-29 08:24:21 -07:00
Nathan Froyd 701d601a46 Bug 1249368 - use UniquePtr instead of nsAutoArrayPtr in gfxAlphaBoxBlur; r=jrmuizel 2016-02-18 14:10:00 -05:00