gecko/layout
Ehsan Akhgari d54aaab73b Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron
This patch adds a change hint to signal that one of the offsets on a
frame has been changed.  When processing the hint, we do one of the
following things based on the position property of the frame.

* For static frames, we ignore the offset changes completely, as they
  will not change the layout.
* For relative positioned frames, this patch refactors the
  nsHTMLReflowState::ComputeRelativeOffsets function so that it can be
  used from other callers, and it uses that to compute the new relative
  offsets, and uses the offsets computed previously to compute the new
  position of the frame.
* For absolute positioned frames, we set up a fake parent reflow state
  object, and then we create a new reflow state object for the frame in
  question.  This setup is similar to what nsFrame::BoxReflow does.
  Once we have the new reflow state object, we use it to compute the
  absolute offsets, and then we use the computed offsets to set the new
  position of the frame.  The offset computation is similar to what
  nsAbsoluteContainingBlock::ReflowAbsoluteFrame does.  In some cases
  where it is possible for the dimensions of the frame to change based
  on the offset changes, we fall back to a full reflow.
2012-06-06 00:53:48 -04:00
..
analysis Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
base Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron 2012-06-06 00:53:48 -04:00
build Merge last PGO-green changeset from mozilla-inbound to mozilla-central 2012-06-03 12:04:40 -07:00
doc Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
forms Merge m-c to m-i 2012-06-06 15:13:51 +12:00
generic Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron 2012-06-06 00:53:48 -04:00
inspector Bug 727834 - Add an API to (re)parse a style sheet in place. r=bz 2012-06-03 12:54:38 -04:00
ipc Bug 749953. Revert a hunk of bug 753762 to fix XUL panning. r=cjones 2012-05-29 15:40:50 -04:00
mathml Bug 757125 - Make more MathML operators mirrorable. r=karlt 2012-05-28 21:09:43 -04:00
media Bug 761089 - Missing Opus export in glmedias.dll in mingw builds r=kinetik 2012-06-04 13:01:00 +02:00
printing Bug 743581: Removes nsCRT::strlen(const PRUnichar*). f=sgautherie r=dougt 2012-05-30 18:43:39 +01:00
reftests Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron 2012-06-06 00:53:48 -04:00
style Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron 2012-06-06 00:53:48 -04:00
svg Merge mozilla-central to mozilla-inbound 2012-06-01 16:58:27 +01:00
tables Bug 759249. r=bz 2012-06-01 21:56:33 +02:00
tools Bug 749930 - Replace uses of nsILocalFile with nsIFile (compiled code only); r=bsmedberg 2012-06-06 14:08:30 +12:00
xul Back out bug 575294, bug 726264. (cset 1727de7d26ec, 6bcea3a628d8, 011c1c8e9cc7, 0be261a5042b, d51338c5cd0c) 2012-06-03 18:05:00 +02:00
Makefile.in Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00