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

13638 Коммитов

Автор SHA1 Сообщение Дата
Sebastian Hengst 37409bb05b merge mozilla-central to autoland. r=merge a=merge 2017-04-09 20:50:44 +02:00
Bob Owen 377f3f30b2 Bug 1347646 Part 2: Use CreateRenderingContext in nsSimplePageSequenceFrame::PrePrintNextPage to ensure recorder is used for canvases. r=jwatt
Calling CreateReferenceRenderingContext currently returns a non-recording DrawTarget even
when the nsIDeviceContextSpec within the nsDeviceContext has a DrawEventRecorder, due to
bug 1354624. Since we've already called BeginPage we can call CreateRenderingContext instead
though and that will give us a recording DrawTarget as we require to record the canvas drawing.
2017-04-08 22:47:51 +01:00
Bob Owen 3f14ad38c2 Bug 1347646 Part 1: Backout 4849ef8c9a34 for causing OOM issues when printing PDFs. r=jwatt, r=lsalzman, r=tobytailor 2017-04-08 22:47:51 +01:00
Jeremy Chen d66ae544cc Bug 1347815 - part1.2: label ScrollFrameActivityTracker. r=heycam
ScrollFrameActivityTracker::NotifyExpired() will be invoked by
nsExpirationTracker::TimerCallback() from an unlabeled runnable.
We provide a SystemGroup EventTarget for the invocation of this
callback since there's nothing within a page that would rely on
the timer firing at a particular time (i.e., it doesn't matter
when this timer's callback is scheduled, relative to other
runnables dispatched for the page).

MozReview-Commit-ID: 9QEjxCtFhve

--HG--
extra : rebase_source : 06b979835363b9c4288dd218d2a4ca2dc111169b
2017-04-09 16:53:56 +08:00
Jeremy Chen bcda6f5517 Bug 1347815 - part1.1: fix some obvious nits for the implementations of ScrollFrameHelper. r=heycam
MozReview-Commit-ID: BOoqj7wzo8o

--HG--
extra : rebase_source : 0aae9871950dc7934df1025e25a7bfa7fbb369a6
2017-04-09 16:53:56 +08:00
Daniel Holbert 40c4434077 Bug 1353888 part 2: Assert that CSSOrderAwareFrameIterator is only used on flex/grid children. r=mats
MozReview-Commit-ID: 1uUj9XESHjB

--HG--
extra : rebase_source : 1f40adbd5bbd70235218ebb763b4bdc2b3de5b10
2017-04-07 11:46:35 -07:00
Daniel Holbert 6d1c181798 Bug 1353888 part 1: Add documentation for CSSOrderAwareFrameIterator. r=mats
MozReview-Commit-ID: EnuIK2ouo7x

--HG--
extra : rebase_source : 67187f83077ee7d20a995a6b3b7ec167a3f8a1b4
2017-04-07 11:42:04 -07:00
Masayuki Nakano 09c6c60b8a Bug 1343642 - Ensure to grab nsFrameSelection before calling its methods unless calling only const methods. r=smaug
MozReview-Commit-ID: 9GKujCcrhly
2017-04-06 13:11:52 +09:00
Lee Salzman 22fb7629b8 Bug 1348980 - use UnscaledFont to track WebRender font keys. r=jrmuizel 2017-04-06 17:41:24 -04:00
Lee Salzman a168dcdbf3 Bug 1348980 - implement UnscaledFont API for Moz2D and thebes. r=jfkthame 2017-04-06 17:41:02 -04:00
Boris Zbarsky 148f51a721 Bug 1351926. Set the resize flags to false at the beginning of InitResizeFlags, so stale values from an old (incorrect) computed bsize won't keep being propagated in cases when we SetComputedWidth or SetComputedHeight on the ReflowInput. r=dbaron
MozReview-Commit-ID: 56YFAw3KOmi
2017-04-05 23:07:40 -04:00
Daniel Holbert c05bf39d8c Bug 812687 part 6: Rename & invert polarity of a flexbox frame-state-bit, for consistency with grid. r=mats
This patch is just flipping some logic in a way that should produce the same
outcome, so it shouldn't affect behavior.

MozReview-Commit-ID: LM4HbJD3D9w
2017-04-05 19:31:47 -07:00
Daniel Holbert 17ef2998db Bug 812687 part 5: Adjust nsFlexContainerFrame to use CSSOrderAwareFrameIterator instead of reordering its child frame list. r=mats
This patch shouldn't change our layout order or paint order for flex items
(though it will change our behavior for the better when an abspos child is
present, as discussed in bug 1345873).

This patch *will* change the tab-index behavior of flex items. Previously, the
default tab order would match the visual order (i.e. it would respect "order"),
because it depends on the frame tree, and we sorted the frame tree by
"order". Now, the tab-index will come from the DOM order (the unmodified frame
tree), as the spec requires.

MozReview-Commit-ID: 9OsqQX1sEn3
2017-04-05 19:31:47 -07:00
Daniel Holbert 047c5e7b26 Bug 812687 part 4: Add an optional parameter which can make CSSOrderAwareFrameIterator use the legacy "box-ordinal-group" property. r=mats
This patch just adds an optional codepath that isn't taken yet, so it shouldn't
affect our behavior. (The next patch in the series will make use of this new
codepath.)

Note: the large code-comment that this patch adds is taken mostly-verbatim from
some nsFlexContainerFrame.cpp code. (The original copy will be removed by the
next patch in this series, when we switch to take advantage of this new
mechanism.)

MozReview-Commit-ID: 9pkJ346rrXg
2017-04-05 19:31:47 -07:00
Daniel Holbert d6f3c58c61 Bug 812687 part 3: Move CSSOrderAwareFrameIterator code to its own .h/.cpp file. r=mats
This patch just moves code, so it should not affect our behavior at all.

MozReview-Commit-ID: 4yxSR5rWUV1
2017-04-05 19:31:47 -07:00
Daniel Holbert 9a4b6b6d74 Bug 812687 part 2: Rename GridItemCSSOrderIterator to CSSOrderAwareFrameIterator (& similar for its Reverse form). r=mats
This patch is purely type-renames, so it should not affect our behavior at all.

MozReview-Commit-ID: 51zRGFyVDtT
2017-04-05 19:31:47 -07:00
Daniel Holbert db6436ab45 Bug 812687 part 1: Rename GridItemCSSOrderIteratorT to CSSOrderAwareFrameIteratorT, and drop "Grid" from its method names. r=mats
This patch is purely type-renames & method-renames, so it should not affect our
behavior at all.

MozReview-Commit-ID: 5N7zru0uPfD
2017-04-05 19:31:47 -07:00
Timothy Nikkel cba42d43ac Bug 1346109. Call NotifyApproximateFrameVisibilityUpdate after we set a display port base rect. r=botond
NotifyApproximateFrameVisibilityUpdate gets the displayport so we want the base rect set before calling it.

We also don't want to record the displayport if we ignored it in the actual visibility pass.
2017-04-05 00:18:11 -05:00
L. David Baron 93048fc66f Bug 1353187 - Guard access to the frame property table with a frame state bit. r=dholbert
This protects all accesses to the frame property table with a bit stored
on the frame.  This means we avoid hashtable operations when asking
about frame properties on frames that have no properties.

The changes to RestyleManager, and the new HasSkippingBitCheck API, are
needed because RestyleManager depended on being able to ask for
properties on a deleted frame (knowing that the property in question
could not have been set on any new frames since the deleted frame was
destroyed), in order to use the destruction of the properties that
happens at frame destruction as a mechanism for learning that the frame
was destroyed.  The changes there preserve the use of that mechanism,
although it becomes a bit uglier.  The ugliness is well-deserved.

MozReview-Commit-ID: BScmDUlWq65

--HG--
extra : transplant_source : %C8%C0%CD%DC%12g%5B%8ER%3A%FF%A7a%F8%91%D4%2C%9BF%2B
2017-04-04 20:59:21 -07:00
L. David Baron f56a065e7d Bug 1353187 - Give frame properties the const-ness semantics of member variables. r=dholbert
This makes it so that, given a |const nsIFrame*|, a caller can retrieve
properties but not set or remove them, but with an |nsIFrame*| all
operations are allowed.  I believe this is sensible since properties act
as extended member variables for things that are needed rarely, and
these are the const-ness semantics of member variables.

This also avoids the need for const_cast<nsIFrame*> to cast away const
in the following patch, which guards property access with a frame state
bit.

MozReview-Commit-ID: IJ9JnGzdH51

--HG--
extra : transplant_source : %D4%DF%04%91_q%E6%CF%B3N%82%2C%A5%CB0%3A%B6%810%ED
2017-04-04 20:59:21 -07:00
Eric Rahm 89708e6a2a Bug 1353143 - Part 5: Replace direct usage of PR_LogPrint. r=froydnj
This replaces the usage of |PR_LogPrint| with either |printf_stderr| or
|MOZ_LOG| where appropriate. |printf_stderr| is used where a logger is not
actually available or if log levels are not being used as expected.
2017-04-04 14:36:21 -07:00
Eric Rahm e373c06a30 Bug 1353143 - Part 2: Remove usage of PR_LOGGING. r=froydnj
Remove ifdefs that handle if logging is disabled, we always force enable it.
2017-04-04 14:36:16 -07:00
Carsten "Tomcat" Book 358125cbde Backed out changeset a86c4218ca5f (bug 1353187) 2017-04-04 09:54:51 +02:00
L. David Baron 6f4077b7ee Backed out changeset 74eb0b08e42b (bug 1353187 patch 2) for test failures (assertions firing). 2017-04-03 22:47:57 -07:00
L. David Baron 24c39a87ef Bug 1353187 - Guard access to the frame property table with a frame state bit. r=dholbert
This protects all accesses to the frame property table with a bit stored
on the frame.  This means we avoid hashtable operations when asking
about frame properties on frames that have no properties.

The changes to RestyleManager, and the new HasSkippingBitCheck API, are
needed because RestyleManager depended on being able to ask for
properties on a deleted frame (knowing that the property in question
could not have been set on any new frames since the deleted frame was
destroyed), in order to use the destruction of the properties that
happens at frame destruction as a mechanism for learning that the frame
was destroyed.  The changes there preserve the use of that mechanism,
although it becomes a bit uglier.  The ugliness is well-deserved.

MozReview-Commit-ID: BScmDUlWq65

--HG--
extra : transplant_source : %95%A2%9B%A1M%1F%86%A8%E0%FF%7B%E4%83%24%83%16%BE%FA%08T
2017-04-03 20:43:31 -07:00
L. David Baron c2af2e1613 Bug 1353187 - Give frame properties the const-ness semantics of member variables. r=dholbert
This makes it so that, given a |const nsIFrame*|, a caller can retrieve
properties but not set or remove them, but with an |nsIFrame*| all
operations are allowed.  I believe this is sensible since properties act
as extended member variables for things that are needed rarely, and
these are the const-ness semantics of member variables.

This also avoids the need for const_cast<nsIFrame*> to cast away const
in the following patch, which guards property access with a frame state
bit.

MozReview-Commit-ID: IJ9JnGzdH51

--HG--
extra : transplant_source : %91%D6%C7%01hC%B3z%90%B6%93%93qcAK%CB%09%D6z
2017-04-03 20:43:30 -07:00
Timothy Nikkel b211ea35d7 Bug 1350463. Consider visibility: hidden frames to be not visible in nsIFrame::UpdateVisibilitySynchronously to match PresShell::MarkFramesInSubtreeApproximatelyVisible. r=mats 2017-04-03 00:52:17 -05:00
Eric Rahm 861a58d5a4 Bug 1351904 - Switch layout over to ArenaAllocator. r=xidorn
This switches over layout's usage of PLArena to ArenaAllocator. This allows
us to build more files in unified sources and gets rid of various CONST masks.

MozReview-Commit-ID: Aaf3Dl2kaoz
2017-03-31 14:06:33 -07:00
Carsten "Tomcat" Book 095969b8ee merge mozilla-inbound to mozilla-central a=merge 2017-03-31 14:45:33 +02:00
L. David Baron 28b9e9b1d4 Bug 1351359 - Make nsGridContainerFrame call ReflowInput::SetBResize(true) because of auto-block-size swapping between measuring reflows and regular reflows. r=mats
This fixes the failure of
layout/reftests/css-grid/grid-min-max-content-sizing-002.html with the
primary patch in bug 1308876 (which causes a child whose parent is dirty
to pick up the dirty bit from the parent only the first reflow of the
child if the parent reflows the child multiple times).  A simplified
testcase for that failure is
https://bugzilla.mozilla.org/attachment.cgi?id=8849771 .

The failure was caused by an error in height calculation of the first
<x> in the test.  The div that is the parent of that x has a definite
height (presumably due to rules in grid), and the x has a specified
height.  The div gets three reflows:  two measuring reflows (from
MinContentContribution and then from MaxContentContribution) and then a
final reflow from nsGridContainerFrame::ReflowInFlowChild.  Prior to the
primary patch in this bug, the div was marked dirty on all three
reflows, but with it it is marked dirty only on the first.  This means
that, without the block-resize flag, the div optimizes away the reflow
of its children, since ShouldReflowAllKids returns false because
IsBResize() is false, even though NS_FRAME_CONTAINS_RELATIVE_BSIZE is
correctly set.

In order to fix this, we need to make sure the BResize flag on the
reflow state in at least some cases (see the comments in the patch for
when, and for how the cases could be optimized in the future).

Note that:

 * when the dirty bit is set on the grid container, the new behavior
   (with the combination of the patches) is strictly more efficient than
   the old, since we will sometimes do non-dirty reflows on the grid
   items (with the b-resize flag)

 * when the dirty bit is *not* set on the grid container, the new
   behavior is less efficient than the old, since we will set the
   b-resize flag when we did not do so before.  However, this slowdown
   fixes existing bugs such as the one in the reftest.

Given that I was able to construct a reftest that triggers the failure
without the changes from bug 1308876, I've moved this to a separate bug.
Without the patch, grid-measuring-reflow-resize-dynamic-001.html fails,
but grid-measuring-reflow-resize-static-001.html passes.  With the patch
both tests pass.  (And without the patch, doing a text zoom on the
dynamic test fixes the layout error.)

MozReview-Commit-ID: JQOdVTQIkU0

--HG--
extra : transplant_source : %8B%2ARO%3B%D0%7B%EC%C9_%B3%60Sp%F9T%14X%85%DC
2017-03-30 22:56:14 -04:00
L. David Baron 14dccbfd0b Bug 1352056 - Call nsIFrame::StyleDisplay less from nsFrame::FinishAndStoreOverflow. r=dholbert
MozReview-Commit-ID: 5zuNLfyPv8o

--HG--
extra : transplant_source : %17%5Bm6%BE%DF%D0%12%19%8BZ%FE%E4%EE%E2%7F%9FR%DF%BA
2017-03-30 22:56:14 -04:00
L. David Baron eb43b5f7d9 Bug 1352056 - Add nsIFrame::Style*WithOptionalParam helpers. r=dholbert
MozReview-Commit-ID: DFGBeKtg7hI

--HG--
extra : transplant_source : %F1%A7%FF%1Bo7%BD%FBkB%3D%F7%06C0%0B%18Z%B4%8F
2017-03-30 22:56:14 -04:00
bechen d75825c747 Bug 1350821 - Notify the mediaElement to render subtitle when the mCaption was created or re-created. r=rillian
MozReview-Commit-ID: 3RM7u8jumT9

--HG--
extra : rebase_source : 2a3ed8f304ac8fdf9c0cc897e2f70bd2d23e8101
2017-03-28 16:48:40 +08:00
Thinker K.F. Li 53cb8600b7 Bug 1343057 - Part 2: Disable AA for layers with animation in effect. r=mattwoodrow
--HG--
extra : rebase_source : 1de5a9f4a4e18ba8624433a43a22b8ac47a9cc91
2017-03-29 09:38:00 -04:00
Sebastian Hengst 95d52e6546 Backed out changeset e4ecf720b3a1 (bug 713680) for crashing in dom/tests/mochitest/chrome/test_xray_event_constructor.xul on Windows 7 debug. r=backout 2017-03-29 21:51:05 +02:00
Ryan VanderMeulen f4a0d77ffc Merge inbound to m-c. a=merge 2017-03-29 09:41:54 -04:00
Chris Peterson 9a7117b6ae Bug 713680 - Change default Windows monospace font from Courier New to Consolas. r=jfkthame r=masayuki
MozReview-Commit-ID: 6WPOOCcF43M

--HG--
extra : rebase_source : 83a416e89a479c25281128630935b0ec19dd915f
extra : histedit_source : cea4b90eb46eeac04fd2de120d1044576405aa2f%2C0dc86ac28399a3af673ebd40d11a75c57ef04f4b
2017-03-08 00:20:41 -08:00
Carsten "Tomcat" Book bc21c019f3 Merge mozilla-central to mozilla-inbound 2017-03-28 13:05:57 +02:00
Jonathan Watt da33662df5 Bug 1058040, part 18 - Minimize the cost of context paint when it is not available. r=dholbert
MozReview-Commit-ID: 5MVW37Vd1aK
2017-03-06 13:49:21 +00:00
Jonathan Watt 210ffa7d48 Bug 1058040, part 15 - Have nsImageFrame pass context paint to VectorImage. r=dholbert
MozReview-Commit-ID: 5FtsZhkbh2e
2017-03-02 14:52:25 +00:00
Boris Zbarsky 06a153ffc1 Bug 1351139. Use only one kind of anonymous box for the block wrappers we create for a block-inside-inline split. r=dbaron
Note that this removes the useless (because this anon box is never absolutely
positioned) "clip: inherit" style.

MozReview-Commit-ID: iJJdv5VL06

--HG--
extra : rebase_source : d7a8697a89391eb6a80683dcbe8e3fa6f76c6a41
2017-03-28 21:26:31 -04:00
Emilio Cobos Álvarez ca95409d9c Bug 1350401: Cleanup outline-painting-related logic. r=mats
MozReview-Commit-ID: ggDzDRrPIm

--HG--
extra : rebase_source : cf8a0e13778f7ce86a8c9fef447385cf32bb963e
2017-03-24 19:38:15 +01:00
Olli Pettay a3c7a46e9c Bug 1349946, ensure expected focus handling when redirecting focus, r=enndeakin
--HG--
extra : rebase_source : a68db23cab07124ebdff46d19f7bbb9233167e85
2017-03-25 03:01:19 +02:00
Daniel Holbert eaf41a48a2 Bug 1349816: Initialize a ScrollFrameHelper member-var in constructor. r=kats
Landing on a CLOSED TREE (bugzilla's down, but I'll update the bug manually)

MozReview-Commit-ID: 8SHQcIWQUR0
2017-03-24 13:34:42 -07:00
Daniel Holbert bd04b6eecb Bug 1324624 followup: Remove bogus/redundant crashtest comment for invalid bug 1324654. (no review, comment-only, DONTBUILD)
MozReview-Commit-ID: 8knfyz48aTp
2017-03-24 08:29:35 -07:00
Carsten "Tomcat" Book 7419b36815 merge mozilla-inbound to mozilla-central a=merge 2017-03-24 14:24:21 +01:00
L. David Baron 7e875bb62c Bug 1350149 - Make display-reflow print reflow status in more cases. r=dholbert
This makes the display-reflow information for
layout/reftests/w3c-css/submitted/css21/pagination/moz-css21-float-page-break-inside-avoid-4.html
more clear, since it means we include previously-omitted
inline-break-before statuses (not really inline in this case!), such as:
  status=[Complete=Y,NIF=N,Truncated=N,Break=B,FirstLetter=N]

It was useful when debugging various tests for bug 1308876.

MozReview-Commit-ID: AL38FH6wuOa

--HG--
extra : transplant_source : 15%21%86%3C%1B%5C%C5s%7C9%26%FEo%B5%20%F7%E6%E4x
2017-03-23 23:36:53 -07:00
Ting-Yu Lin 2e6fb1ff59 Bug 1322570 Part 9 - Print StyleContext parents in frame tree dump only if they're gecko rule nodes. r=bholley
MozReview-Commit-ID: 7BrvmTPJqhe

--HG--
extra : rebase_source : 386897e5d82543f94f5de3696c7d613a242a5f1d
2017-03-22 17:43:40 +08:00
Ting-Yu Lin b8a643b87e Bug 1322570 Part 5 - Use GetParentAllowServo() related to first letter frame. r=bz
::first-letter is not support by stylo yet. (bug 1324618)

MozReview-Commit-ID: KwQk2jhn53c

--HG--
extra : rebase_source : 9bafad53a38fd11aae7be09780ee7680d9a40e1c
2017-03-20 14:13:32 +08:00
Ting-Yu Lin 954acaddd0 Bug 1322570 Part 3 - Get StyleContext from parent frame in nsFlexContainerFrame::Init(). r=dholbert
In stylo, nsStyleContext::GetParent() is not valid.

MozReview-Commit-ID: 5FbgUwobG3U

--HG--
extra : rebase_source : 47910f056eaf59af4e68276dd8e48b2a86634874
2017-03-20 14:12:28 +08:00