Commit Graph

12046 Commits

Author SHA1 Message Date
Kartikaya Gupta
34bce5bee6 Bug 990916 - Track if a scrollframe is a scroll parent for something else. r=tnikkel
--HG--
extra : commitid : KW9mVVtZikZ
2016-02-03 19:13:35 -05:00
L. David Baron
c91a009cc5 Bug 823483 patch 2 - Add frame state bit to indicate frame classes that do replaced-element-like sizing. r=dholbert
This is needed for patch 3.

--HG--
extra : commitid : 6131XNAfYoQ
2016-02-04 09:43:02 +11:00
L. David Baron
82aa75776d Bug 1236745 - Fix infinite loop resulting from block formatting context entering resize oscillation due to considering floats over its whole height when sizing it. r=dholbert
What's happening here is that we enter an infinite loop by oscillating
between two states.  The code assumes that (a) the available space will
never grow, only stay the same or shrink, and (b) that we should break
out of the loop if it stays the same.  This also means we hit the
assertion about the available space growing every other time through the
loop.

This is in the inner loop in nsBlockFrame::ReflowBlockFrame that was
introduced in https://hg.mozilla.org/mozilla-central/rev/80ef9bb2c2e9 .

The problem is fundamentally a logic error in that code.  The makes the
assumption that if you reduce the width available to a block formatting
context or replaced block-level element, its height does not shrink.
(The "replaced block" (really block formatting context) in this case, as
in the original testcase, is a scroll frame.  I didn't debug the
original testcase enough to figure out what caused its sizing
characteristics, although a percentage-width image does seem like the
most likely candidate.)

Without the patch, the reftest test (but not reference) hangs, as does
the semi-simplified test in the bug (given a narrow window).

With the patch, neither the semi-simplified test in the bug nor the
reference hangs, and the reftest passes.

--HG--
extra : commitid : APy8PfXlvvz
2016-02-04 09:41:44 +11:00
Daniel Holbert
09939ec3c9 Bug 1245406: In ReflowBlockFrame, use Maybe<> to destroy & reconstruct a stack-allocated object, instead of an explicit call to destructor & placement 'new'. r=dbaron 2016-02-03 12:37:23 -08:00
Jonathan Kew
a2574a52b6 Bug 1243125 - patch 2 - Don't ever set NS_FRAME_TRUNCATED for orthogonal flows. r=dholbert 2016-02-03 09:24:28 +00:00
Oriol
4fcfda5536 Bug 1243125 - patch 1 - Check block size instead of height when detecting truncated frames. r=jfkthame 2016-02-03 09:24:26 +00:00
Jonathan Kew
cb9de60a4d Bug 1243125 - patch 0 - Relax overly-harsh writing mode assertions in nsReflowMetrics size accessors. r=dholbert 2016-02-03 09:24:24 +00:00
Timothy Nikkel
a1bd256618 Bug 1238337. If the intrinsic size of the image hasn't changed then we don't need to do a new predictive image decode. r=mats
nsImageFrame::OnSizeAvailable will update the intrinsic ratio and ask for a reflow. Then nsImageFrame::NotifyNewCurrentRequest will be called when the image is finished loading. It previously would do a predictive decode if the intrinsic size hadn't changed.

This was a mistake in http://hg.mozilla.org/mozilla-central/rev/146f1bea4147 (bug 1151359).

OnSizeAvailable has this structure:

  if (intrinsicSizeChanged && gotInitialReflow) {
    if (!sizeConstrained) {
      requestReflow();
    }
  }

NotifyNewCurrentRequest has this structure:

  if (gotInitialReflow) {
    if (!sizeConstrained && intrinsicSizeChanged) {
      requestReflow();
    }
  }

Bug 1151359 added a predictive decode in a new else branch to both inner if statements. The meaning of this is obviously quite different.
2016-02-02 16:51:52 -06:00
Tobias Schneider
f19e21de56 Bug 1207914: Add some debug logging to mochitest test_bug632379.xul, to help diagnose its timeouts. 2016-01-20 10:09:05 -08:00
Birunthan Mohanathas
e00f212825 Bug 1235261 - Part 6: Rename AutoInfallibleTArray to AutoTArray. r=froydnj 2016-02-02 17:36:31 +02:00
Birunthan Mohanathas
690e6fe38b Bug 1235261 - Part 3: Switch remaining uses of AutoFallibleTArray to AutoTArray. r=froydnj
This is effectively a no-op because the affected array operations already use
`mozilla::fallible`.
2016-02-02 17:36:30 +02:00
Birunthan Mohanathas
d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Jim Mathies
7adc2da448 Bug 1243413 - Avoid hiding windowed plugins that aren't contained within the active scroll frame. r=roc 2016-02-01 16:50:57 -06:00
Alexander Surkov
08db3d66c1 Bug 1220502 - ignore not visible text nodes for tree update, r=tbsaunde, roc 2016-02-01 17:05:45 -05:00
Phil Ringnalda
d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
b00cdd6088 Bug 1235261 - Part 6: Rename AutoInfallibleTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Birunthan Mohanathas
720fce4f80 Bug 1235261 - Part 3: Switch remaining uses of AutoFallibleTArray to AutoTArray. r=froydnj
This is effectively a no-op because the affected array operations already use
`mozilla::fallible`.
2016-01-31 17:12:12 +02:00
Birunthan Mohanathas
373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Kyle Huey
91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Ting-Yu Lin
2f7ddb73d6 Bug 1227927 Part 4 - Add comment to nsFrameList::GetLength() to warn it's O(n). r=mats
--HG--
extra : commitid : H0nct5arwsJ
extra : rebase_source : c6810483931d49f730618815642e8a582c26e35f
2016-01-29 22:42:15 +08:00
Ting-Yu Lin
2d02ad0652 Bug 1227927 Part 3 - Use ranged-based for-loop to rewrite some simple loops in part 2. r=mats
--HG--
extra : commitid : CcdpGdlMNIk
extra : rebase_source : 9c184cb8107bf6276c237d03d240f8755fd61553
2016-01-29 22:42:15 +08:00
Ting-Yu Lin
1889f6bc41 Bug 1227927 Part 2 - Remove nsIFrame::GetFirstPrincipalChild(). r=mats
--HG--
extra : commitid : 5qtaK1nS8RC
extra : rebase_source : dcc98f423b2446269beb6fa6a9d092ae8213f38e
2016-01-29 22:42:14 +08:00
Ting-Yu Lin
0721bc459e Bug 1227927 Part 1 - Make nsIFrame::PrincipalChildList a const function. r=bz
Since nsIFrame::GetChildList() is a const function, PrincipalChildList()
should be a const function as well.

--HG--
extra : commitid : Hjvhy6cUWTF
extra : rebase_source : 0a998e5420b81827e478b403744cd9e5a11eb584
2016-01-29 22:42:13 +08:00
CJKu
7b577b9c98 Bug 686281 - Rename nsStyleSVGReset::mLayers to nsStyleSVGReset::mMask; Rename nsStyleBackground::mLayers to nsStyleBackground::mImage. r=dbaron 2016-01-28 06:39:00 +01:00
CJKu
577578571f Bug 686281 - Implement CSS mask style; r=dbaron. 2016-01-28 06:28:00 +01:00
CJKu
538b854ad1 Bug 686281 - Rename *background* to *imagelayer*; r=dbaron. 2016-01-28 06:27:00 +01:00
CJKu
2d363d1b79 Bug 686281 - Implement nsStyleImageLayers; r=dbaron 2016-01-28 06:24:00 +01:00
Xidorn Quan
00b4af1798 Bug 1230034 part 10 - Convert remaining frame properties to by typed and remove the unsafe declaring macro. r=dbaron
--HG--
extra : source : 19140dd4f1640c4600a0f9e0ff790b44f0cd83ca
2016-01-28 14:23:59 +11:00
Xidorn Quan
d0bf371cc8 Bug 1230034 part 9 - Convert FrameLayerBuilder::LayerManagerDataProperty to be typed. r=dbaron
--HG--
extra : source : 3f863ed01beb63fa8bd5d09e9d3e4afa98ad4924
2016-01-28 14:23:59 +11:00
Xidorn Quan
55a9f1daba Bug 1230034 part 8 - Convert frame properties which assert on destructor to be typed. r=dbaron
--HG--
extra : source : a650ac35ed4ef4c247369b4dc54b741d92e3c779
2016-01-28 14:23:59 +11:00
Xidorn Quan
a6ceca05bd Bug 1230034 part 7 - Convert nsIFrame::GenConProperty to be typed. r=dbaron
--HG--
extra : source : 5c803eae9303a390034dea7878beb48e6ffafbe2
2016-01-28 14:23:59 +11:00
Xidorn Quan
072dccd81f Bug 1230034 part 6 - Convert all frame properties which do not hold pointer to be typed. r=dbaron
--HG--
extra : source : f95f143e0e521ad2f8726097a484de402c834620
2016-01-28 14:23:59 +11:00
Xidorn Quan
e397870be2 Bug 1230034 part 5 - Convert all frame properties which use DeleteValue and ReleaseValue as destructor to be typesafe. r=dbaron
By changing signature of those two functions, we make compiler complain about
all their existing uses, so we can find all of them and convert them.

Some of the callsites of Get() with those properties are also converted, but not
all of them. It is fine because if there is any incorrect conversion, compilers
is able to find out now. So they are completely typesafe.

--HG--
extra : source : 808415985d3d446f18941eb007a9be9d69d180ce
2016-01-28 14:23:59 +11:00
Xidorn Quan
6ad1442a53 Bug 1230034 part 4 - Make FramePropertyDescriptor to be a template. r=froydnj,dbaron
This patch makes methods of FramePropertyTable and FrameProperties to be
simple template wrapper functions. Then it converts all references to
FramePropertyDescriptor to use "void" parameter to simulate the current
unsafe behavior.

SmallValueHolder is used for storing small values like int32_t, float,
which can fit in the size of a pointer directly, and thus no lifetime
management is needed.

--HG--
extra : source : 88b2723cddf119d73d8a442d8238b50406e9d604
2016-01-28 14:23:59 +11:00
Xidorn Quan
0b71314608 Bug 1230034 part 3 - Move some frame property declaration around. r=dbaron
--HG--
extra : source : d67dd26db9f0349d2e8ef71f8def9fad7856fe1e
2016-01-28 14:23:59 +11:00
Xidorn Quan
5832852fe0 Bug 1230034 part 1 - Remove NS_PROPERTY_DESCRIPTOR_CONST macro. r=dbaron
--HG--
extra : source : c5315005ec8f37968befb72cade91c1fe9f9a1da
2016-01-28 14:23:59 +11:00
Xidorn Quan
3006d3929b Bug 1064843 part 10 - Create and render backdrop frame for top layer frames. r=dbaron
--HG--
extra : source : 744e89b823a925df685d4d5e94b5e2bec4bedd6f
2016-01-28 10:11:00 +11:00
Xidorn Quan
3d1329f21c Bug 1064843 part 8 - Add frame class for backdrop frame. r=dbaron
--HG--
extra : source : 2418fec124dddb2268e7118e36d002904a1ede34
2016-01-28 10:11:00 +11:00
Xidorn Quan
3b95c44999 Bug 1064843 part 6 - Add backdrop frame list. r=dholbert
--HG--
extra : source : 695a16ba1cbb4e0e4f0a7e6b8ebf5c55ec62dab5
2016-01-28 10:11:00 +11:00
Xidorn Quan
ab931a1326 Bug 1064843 part 5 - Ensure frames behave properly for unknown child list id passed into SetInitialChildList. r=dholbert
Note that nsMathMLContainerFrame and its subclasses are unchanged since
they are not target of fullscreen (and thus no backdrop frame), and they
have an assertion to ensure we really don't pass any unexpected list in.

--HG--
extra : source : a1f7ff18a69cc116120de33f14ae62f576a4b55a
2016-01-28 10:11:00 +11:00
Xidorn Quan
0dfd29d523 Bug 1064843 part 4 - Add a placeholder type for top layer. r=roc
--HG--
extra : source : 6a8aceee1829e243331cdf375163ae2696824a94
2016-01-28 10:11:00 +11:00
Xidorn Quan
51ff9057c4 Bug 1064843 part 3 - Make nsFormControlFrame inherit nsContainerFrame. r=dholbert
--HG--
extra : source : 21dc6240648819dedd5f78e22fd4b637e539eb62
2016-01-28 10:11:00 +11:00
Xidorn Quan
3d7937e499 Bug 1064843 part 2 - Make nsSubDocumentFrame inherit nsContainerFrame. r=dholbert
--HG--
extra : source : a1a7b2971d7099fa8dc3589f5b690399a624f0ff
2016-01-28 10:11:00 +11:00
Xidorn Quan
2a1e3dccc8 Bug 1064843 part 1 - Make nsImageFrame inherit nsContainerFrame. r=dholbert
--HG--
extra : source : 59f102831fceb2857c2209207abbf750ed90fdd2
2016-01-28 10:11:00 +11:00
Nicholas Nethercote
26360d6c45 Bug 1239864 (part 9) - Use the new rect iterators in layout/ and ipc/. r=dholbert.
--HG--
extra : rebase_source : d5558c39bd3cfe85ee6f247eea8bab33f2f5027f
2016-01-18 17:20:59 -08:00
Mats Palmgren
4256cf9ea7 Bug 1240795 - [css-grid] Refactor GetComputedTemplateColumns/Rows to return a self-contained value. r=dholbert 2016-01-27 17:02:13 +01:00
Mats Palmgren
54139b9f0f Bug 1237754 part 1 - [css-grid][css-align] Make 'align/justify-content:normal' behave as 'stretch' for Grid containers. r=dholbert
Change due to CSSWG decision:
https://lists.w3.org/Archives/Public/www-style/2016Jan/0031.html

Later clarified that the decision also applies to justify-content here:
https://lists.w3.org/Archives/Public/www-style/2016Jan/0130.html
2016-01-17 19:44:05 +01:00
Xidorn Quan
c732ee5f50 Bug 1229437 followup 3 - Fix a mistake in RubyColumn::Iterator::SkipUntilExistingFrame(). a=me
--HG--
extra : amend_source : 759bee0572fdc77bb6f78fe91d14c68e6c7eb2eb
2016-01-27 19:04:57 +11:00
Xidorn Quan
0d376bab67 Bug 1229437 followup 2 - Fix another sign-compare error in RubyColumn::Iterator on CLOSED TREE. 2016-01-27 17:30:04 +11:00
Xidorn Quan
0934e79450 Bug 1229437 followup - Fix sign-compare error in RubyColumn::Iterator on CLOSED TREE. 2016-01-27 17:15:49 +11:00