Commit Graph

2491 Commits

Author SHA1 Message Date
Kartikaya Gupta
a3d08644f7 Bug 1617427 - Add a DOMWindowUtils API to disable APZ on a particular element. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D66424
2020-03-13 19:56:33 +00:00
shindli
acf53819f5 Backed out changeset a08637fb30c8 (bug 1143478) for causing bustages in /builds/worker/checkouts/gecko/ipc/mscom/Registration.cpp CLOSED TREE 2020-03-11 14:30:54 +02:00
Chris Fronk
3949093799 Bug 1143478 - Rename mozilla::Pair to CompactPair. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D64511
2020-03-11 12:18:13 +00:00
Andrew Osmond
490ae875e7 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
2020-03-09 14:16:17 +00:00
Emilio Cobos Álvarez
7724dfa5be Bug 1619664 - Rename and don't null-check nsPresContext::GetTheme as it can't return null. r=dholbert
There were some callers in nsRangeFrame that were already not-null-checking.

All platforms have a native theme and should we add new ones they could use
nsBasicNativeTheme.

Differential Revision: https://phabricator.services.mozilla.com/D65169
2020-03-04 01:58:30 +00:00
Sylvestre Ledru
230ce836cb Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan,kvark
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D63787
2020-02-24 15:33:38 +00:00
Jeff Gilbert
52fc47d548 Bug 1616715 - SurfaceFromElement gets alpha Premult unless opt-in to NonPremult. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D63421
2020-02-21 02:27:08 +00:00
Csoregi Natalia
df466483b7 Backed out changeset 5005fe56b7b0 (bug 1616715) for failures on test_2_conformance2__canvas__to-data-url-with-pack-params.html. CLOSED TREE 2020-02-21 01:33:48 +02:00
Jeff Gilbert
1e1b54eeec Bug 1616715 - SurfaceFromElement gets alpha Premult unless opt-in to NonPremult. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D63421
2020-02-20 20:52:10 +00:00
Simon Giesecke
9bcfd47601 Bug 1611415 - Prefer using std::move over forget. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980
2020-02-13 14:38:48 +00:00
shindli
6bb3487209 Backed out changeset 0c982bc69cb3 (bug 1611415) for causing build bustages in /builds/worker/workspace/build/src/obj-firefox/dist/include/nsCOMPtr CLOSED TREE 2020-02-12 20:13:29 +02:00
Simon Giesecke
d45525793f Bug 1611415 - Applied FixItHints from mozilla-non-std-move. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980
2020-02-12 17:24:41 +00:00
Emilio Cobos Álvarez
08cc931df3 Bug 1614510 - Use cbindgen for shape-outside and clip-path. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D62372
2020-02-11 22:03:53 +00:00
Hiroyuki Ikezoe
999ddf21ce Bug 1599795 - Rename BrowserChild::GetRemoteDocumentRect to GetTopLevelViewportVisibleRectInBrowserCoords. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D62183
2020-02-11 03:35:56 +00:00
Emilio Cobos Álvarez
1c221fea7d Bug 1614208 - Stop including AccessibleCaretEventHub and PresShell.h from Selection.h. r=TYLin
And fix a bunch of fallout as we now don't include nsDocShell.h everywhere.

Differential Revision: https://phabricator.services.mozilla.com/D62169
2020-02-11 01:22:29 +00:00
Botond Ballo
80ca2d1754 Bug 1612750 - Have the main thread always populate FrameMetrics::mVisualViewportOffset. r=tnikkel
APZ may want to know what the main thread's view of the visual viewport offset
was at the time of the last paint even if the main thread does not want APZ
to scroll to that visual viewport offset.

Differential Revision: https://phabricator.services.mozilla.com/D62093
2020-02-10 15:19:46 +00:00
Miko Mynttinen
7edd6dcbd1 Bug 1612895 - Rename nsDisplayHitTestInfoItem to nsDisplayHitTestInfoBase r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D61472
2020-02-04 22:01:48 +00:00
Thomas Dolezal
1d175a57fd Bug 1611733 - Bug 1611633 - convert ns style position defines to enum class. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D61958
2020-02-07 12:35:30 +00:00
Emilio Cobos Álvarez
fea80addd7 Bug 1613349 - Rename nsINode::DeleteProperty to RemoveProperty. r=smaug
And the related methods as well.

Differential Revision: https://phabricator.services.mozilla.com/D61768
2020-02-06 16:06:49 +00:00
Ting-Yu Lin
bc3ed57b49 Bug 1610670 - Add AllPhysicalHalfCorners() 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.
3. Add brackets for the for loop in nsCSSRendering.cpp.

```

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

rename "NS_FOR_CSS_HALF_CORNERS\(i\)" "for (const auto i : mozilla::AllPhysicalHalfCorners())"
rename "NS_FOR_CSS_HALF_CORNERS\(corner\)" "for (const auto corner : mozilla::AllPhysicalHalfCorners())"
```

Differential Revision: https://phabricator.services.mozilla.com/D61252
2020-02-04 03:28:47 +00:00
Miko Mynttinen
f77093bb29 Bug 1570363 - Do not discard width and height for empty SVG reference rects r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D61175
2020-01-30 15:06:29 +00:00
Thomas Dolezal
abe9d217e7 Bug 1611041 - Convert image-rendering #defines to an enum class. r=emilio
MANUAL PUSH: Contributor didn't use Phabricator and I don't want patch to rot
2020-01-30 04:50:24 +01:00
Emilio Cobos Álvarez
79768ff848 Bug 1611181 - Make direction use an enum class. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D60857
2020-01-24 11:46:14 +00:00
Nazım Can Altınova
6c84e9b60a Bug 1609708 - Rename PROFILER_TRACING to PROFILER_TRACING_MARKER. r=gerald
Depends on D60229

Differential Revision: https://phabricator.services.mozilla.com/D60231
2020-01-17 21:29:15 +00:00
Sylvestre Ledru
36a1079e0f Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D58175
2020-01-09 21:50:11 +00:00
Botond Ballo
18d58605dc Bug 1601568 - Only send a SetTargetAPZC notification right away if the target has a displayport and it has been painted. r=tnikkel
Merely checking for having a displayport isn't enough, because the paint to
tell APZ about the new scroll frame could still be pending.

Differential Revision: https://phabricator.services.mozilla.com/D56662
2019-12-16 19:45:02 +00:00
Emilio Cobos Álvarez
bdf1376152 Bug 1603313 - Remove some silly patterns. r=bzbarsky
foo ? true : false

or:

  foo ? false : true

Have always a nicer way to be written.

Differential Revision: https://phabricator.services.mozilla.com/D56842
2019-12-14 05:05:01 +00:00
Emilio Cobos Álvarez
1fccbabe09 Bug 1602317 - Switch style system to associated constants-in-body. r=heycam
This is closer to the equivalent Rust code.

Differential Revision: https://phabricator.services.mozilla.com/D56306
2019-12-09 03:32:28 +00:00
Markus Stange
eefe6a25fe Bug 1601306 - When partial update fails, make sure that mIsOpaque and mForceTransparentSurface on the root display list are false. r=tnikkel
These values start out false in the other two ways display lists can be build:
 - Without retained display lists, a new nsDisplayList object is created which starts out with these values being false.
 - When partial update succeeds (or at least gets far enough to run PreProcessDisplayList), RestoreState() is called on the root display list which sets these values to false.

But when partial update fails, we have an old nsDisplayList object and we were not clearing those values.

Differential Revision: https://phabricator.services.mozilla.com/D55866
2019-12-04 21:51:57 +00:00
jeffin143
f0fe02928c Bug 1600484 : convert NS_STYLE_TEXT_SIZE_ADJUST_* to an enum class in nsStyleConsts.h r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D55382
2019-12-02 05:09:33 +00:00
Timothy Nikkel
2084406340 Bug 1583380. Refactor a helper out of nsLayoutUtils::SetFixedPositionLayerData to get the SideBits. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D54401
2019-11-29 23:06:26 +00:00
jeffin143
f27c98bf48 Bug 1598528 : convert NS_STYLE_TEXT_ORIENTATION_* to an enum class in nsStyleConsts.h r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D54252
2019-11-26 04:50:04 +00:00
jeffin143
96580d1c30 Bug 1598348 : convert NS_STYLE_OBJECT_FIT_* to an enum class in nsStyleConsts.h r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D54153
2019-11-25 15:40:50 +00:00
Hiroyuki Ikezoe
f0987efb21 Bug 1586986 - Fire visual viewport resize events and flush position:fixed elements' layout in the same way what Chrome does. r=botond
On Chrome, visual viewport resize event is fired repeatedly during dynamic
toolbar transitions and visual viewport height obtained by the VisualViewport
API is also changed, but in terms of layout the height value is never used
until the dynamic toolbar height reaches to zero or is changed from zero.
The height used at the time is the height for vh units when the toolbar height
reaches to zero and the ICB height when the toolbar height is changed from zero.
To do so, we need to have another visual viewport size in parallel to the
original one and use them depending on situations.

Differential Revision: https://phabricator.services.mozilla.com/D52338
2019-11-21 21:36:59 +00:00
Ting-Yu Lin
dfe559f45c Bug 1598132 - Add GetPrevContinuationOrIBSplitSibling() and improve GetNextContinuationOrIBSplitSibling() in nsLayoutUtils. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D54037
2019-11-20 22:31:31 +00:00
Botond Ballo
a5613062e6 Bug 1589022 - Ignore displayport properties in GetDisplayPortImpl() if APZ is disabled. r=tnikkel
This facilitates disabling APZ "live", such as when moving a tab from an APZ
window into a non-APZ window.

Depends on D51468

Differential Revision: https://phabricator.services.mozilla.com/D51469
2019-11-11 09:23:45 +00:00
Micah Tigley
e8a16eb704 Bug 1593708 - Part 2: Get inRDMPane value from BrowsingContext instead of Document. r=smaug
Depends on D52214

Differential Revision: https://phabricator.services.mozilla.com/D52216
2019-11-14 20:32:02 +00:00
James Hooks
ba8488e17f Bug 1585806 - Make SideBits an enum class, add casting where necessary. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D51291
2019-11-16 20:59:34 +00:00
Hiroyuki Ikezoe
cdfee3dfa8 Bug 1596494 - Call UpdateCompositionBoundsForRCDRSF only if we are in the top level content document. r=tnikkel
Though there is another call site of UpdateCompositionBoundsForRCDRSF in
nsLayoutUtils::CalculateRootCompositionSize, it's not clear to me whether it is
necessary or not since we early return from the function in the case where
|aIsRootContentDocRootScrollFrame| argument is true. We will audit it later
in bug 1562505.

Differential Revision: https://phabricator.services.mozilla.com/D53117
2019-11-15 01:54:05 +00:00
Hiroyuki Ikezoe
c02830b3ac Bug 1586144 - Expand the FrameMetrics.mLayoutViewport to the size for viewport units. r=botond
Note that this FrameMetrics.mLayoutViewport doesn't represent exact size of
the layout viewport on the main thread, it means the maximum layout viewport
in future on the compositor thread once after the dynamic toolbar is completely
hidden.  During the dynamic toolbar transition we don't update any information
on the main thread, which means it's possible that the visual viewport on the
compositor gets bigger than the layout viewport at the time when we send it
to the compositor thread, we have to avoid the situation.

Depends on D50419

Differential Revision: https://phabricator.services.mozilla.com/D50420
2019-11-14 06:00:42 +00:00
Hiroyuki Ikezoe
5c30994474 Bug 1586144 - Factor dynamic toolbar max height into layout metrics. r=emilio,botond
Now
* nsPresContext::mVisibleArea is excluding the toolbar max height so that
  ICB is now static regardless of the dynamic toolbar transition
* nsPresContext::mSizeForViewportUnits is introduced to resolve viewport units
  which is including the toolbar max height

That means that with the dynamic toolbar max height;

  mVisibleArea < mSizeForViewportUnits

See https://github.com/bokand/URLBarSizing for more detail backgrounds of this
change.

Depends on D50417

Differential Revision: https://phabricator.services.mozilla.com/D50418
2019-11-14 06:00:05 +00:00
Boris Chiou
8d68be5653 Bug 1592787 - Don't run compositor animations if offset-path is not animating and is none. r=hiro
So, we don't create a stacking context for this case. Besides, we also
make sure FindAnimationsForCompositor() work properly for motion-path if
offset-path is not effective (i.e. none and no animations).

Differential Revision: https://phabricator.services.mozilla.com/D51895
2019-11-06 20:17:07 +00:00
alaskanemily
5c30d7831a Bug 1588017 - Clean up nsIFrame::IntrinsicISizeOffsetData r=TYLin,dholbert
Update the comments, name, and fields to show it is agnostic of isize/bsize.

Differential Revision: https://phabricator.services.mozilla.com/D51739
2019-11-05 18:52:03 +00:00
Ting-Yu Lin
52de06803a Bug 1526268 Part 3 - Disable APZ if AccessibleCaret is in position:fixed subtree or its position is changed. r=botond,mats
In common cases where the caret is in a position:static frame subtree,
the caret's position (relative to canvas frame's custom content
container) should not be changed during scrolling.

However, when the caret is in a position:fixed or "stuck"
position:sticky frame subtree, the caret's position will change during
scrolling. We need to disable APZ to avoid jumpy carets.

Differential Revision: https://phabricator.services.mozilla.com/D51351
2019-11-02 03:05:28 +00:00
Boris Chiou
5eed5bf1a8 Bug 1429305 - Move motion path utils into a separate file. r=hiro
I'd like to add some new data type for motion path, so it'd be great to
put all of them in an independent file.

Differential Revision: https://phabricator.services.mozilla.com/D50008
2019-10-31 20:07:28 +00:00
Miko Mynttinen
3f5b05efbf Bug 1567889 - Part 3: Cleanup will change budgeting r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D38853
2019-10-28 14:11:45 +00:00
Daniel Holbert
8c838d6ac1 Bug 1590639 part 2: Fix non-unified build issues in layout/base. r=TYLin
Changes here:
- Adding a "dom::" prefix in GeckoMVMContext.cpp (could've also added
  a "using" decl, but I'm just adding a one-off prefix to match "dom::Document"
  usage elsewhere in this file).
- Giving nsLayoutUtils an include for ViewportFrame.h since it uses that type.
- Giving nsPresArena.cpp an include for nsDisplayList.h to provide the
  DisplayListArenaObjectId enum type.

Depends on D50163

Differential Revision: https://phabricator.services.mozilla.com/D50164
2019-10-23 22:10:11 +00:00
Emilio Cobos Álvarez
13b4932da8 Bug 1590281 - Don't propagate overscroll-behavior from body to viewport. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D50024
2019-10-22 12:16:13 +00:00
Hiroyuki Ikezoe
98ba90c02e Bug 1588675 - Use nsPresContext::IsRootContentDocumentCrossProcess instead of IsRootContentDocument for places where we call nsLayoutUtils::ComputeScrollMetadata. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D49272
2019-10-16 21:34:45 +00:00
Oana Pop Rus
c3a8682347 Backed out changeset 77357e0aa88e (bug 1584859) for wpt and mochitest failures. on a CLOSED TREE 2019-10-13 14:06:44 +03:00