Commit Graph

767 Commits

Author SHA1 Message Date
Mats Palmgren
cffb2e72e9 Bug 806056 - Add a frame bit that says if a frame is allowed to have abs/fixed pos. children when the style so indicates (position/transform usually). Copy the bit to next-in-flows. Don't call MarkAsAbsoluteContainingBlock for style changes on an existing frame unless that bit is set (style changes that recreates the frame resets it of course). Assert in MarkAs[Not]AbsoluteContainingBlock() that the bit is set. r=bz 2012-11-02 01:52:59 +01:00
Mats Palmgren
6f7901eebf Bug 806056 - Make nsContainerFrame destroy abs/fixed pos. child frames unless a derived class already did so. Assert that there are no abs/fixed pos. child frames in nsFrame::DestroyFrom(). r=roc 2012-11-02 01:52:59 +01:00
Matt Woodrow
c8c84db46a Bug 806256 - Improve WrapPreserve3DList's behaviour by walking through nsDisplayWrapList without flushing the temp list. r=roc 2012-11-01 14:25:45 +13:00
Matt Woodrow
4d1760e067 Bug 806256 - Only recompute preserve-3d/perspective children overflow areas if the frame size changed. r=roc 2012-11-01 14:25:45 +13:00
Matt Woodrow
9061c644c4 Bug 806256 - Don't clobber the cached initial overflow. r=roc 2012-11-01 14:25:45 +13:00
Matt Woodrow
b631e0b634 Bug 806256 - Don't invalidate frames when the overflow area changes, DLBI will handle it. r=roc 2012-11-01 14:25:44 +13:00
Jonathan Watt
8545ec6439 Fix typo; no bug; DONTBUILD 2012-10-26 12:03:07 +01:00
Jonathan Watt
cd8b189e2f Bug 795592 - Stop calling nsIFrame::FinishAndStoreOverflow on NS_STATE_SVG_NONDISPLAY_CHILD frames. r=mattwoodrow. 2012-10-26 11:56:48 +01:00
Robert O'Callahan
c23292286b Bug 804323. Mark newly-transformed frames as abs-pos containers (or not). r=bzbarsky 2012-10-26 22:11:24 +13:00
Ryan VanderMeulen
3150bb83c2 Backout 1ebc3b1b8feb, 205c1c846d70 (bug 801488), and e4367fd2043f (bug 804323) due to b-c crashes. 2012-10-25 07:53:36 -04:00
Robert O'Callahan
ea16f5ba48 Bug 804323. Mark newly-transformed frames as abs-pos containers (or not). r=bzbarsky 2012-10-25 00:35:29 +13:00
Matt Woodrow
efa6b0782d Bug 801784 - Only add invalidate children state flags up to the nearest display root. r=roc 2012-10-17 21:00:00 +13:00
Daniel Holbert
b4614f52ed Bug 798235: For flex items in a vertical flex container, treat enumerated values for flex-basis as "auto". r=dbaron 2012-10-16 19:04:29 -07:00
David Zbarsky
ebd6229e0a Backout bug 779684 for topcrash 2012-10-15 14:35:50 -04:00
Trevor Saunders
b51bb304d8 bug 542039 - accessible object types r=surkov, roc 2012-09-28 17:53:44 -04:00
Robert O'Callahan
e7f231d6c8 Bug 626245. Part 4: Compute plugin widget geometry updates via the refresh driver's painting, and defer actual widget updates until we've just composited the window. r=mats
Updating plugin widget geometry every time we paint means we don't have to
explicitly request plugin geometry updates.
This patch stops us from flushing plugin geometry changes in
FlushPendingNotifications(Flush_Layout). There are too many Flush_Layouts and
flushing plugin geometry changes on them produces frequent
desynchronization of the plugin geometry with the rendered window contents.
There is some Web compatibility risk there --- it means we have to change
our tests, for one thing --- but hopefully it's OK.

--HG--
extra : rebase_source : 87adde45795ea2cab362ed9df54e62c5cc97e16c
2012-10-07 02:03:23 +13:00
Matt Woodrow
479663fd71 Bug 797295 - Add support for the layer attribute to nsImageBoxFrame. r=roc 2012-10-11 18:44:59 +13:00
Chris Jones
ca55cb45de Bug 790505, part 4: If we're just updating the transform of a prerendered layer, then schedule an empty transaction to skip unnecessary display-list overhead. r=mattwoodrow,roc 2012-10-02 22:55:52 -07:00
Chris Jones
17867c12a8 Back out bug 790505 for leaking 2012-10-03 00:21:08 -07:00
Chris Jones
4f1e40ca75 Bug 790505, part 4: If we're just updating the transform of a prerendered layer, then schedule an empty transaction to skip unnecessary display-list overhead. r=roc 2012-10-02 22:55:52 -07:00
Mounir Lamouri
ebe616f9e1 Merge m-i inm-c. 2012-09-30 13:19:15 +01:00
Daniel Holbert
3544930bb5 Bug 666041 patch 6.5: Add flag to nsHTMLReflowState & ComputeSize for measuring auto height. r=dbaron 2012-09-29 23:38:46 -07:00
Matt Woodrow
04f480d859 Bug 795611 - Call virtual InvalidateFrame from InvalidateFrameSubtree since nsTable*Frame overloads it. r=cjones 2012-09-30 19:20:25 +13:00
Matt Woodrow
61b00ebf38 Bug 795576 - Correctly add the NS_FRAME_UPDATE_LAYER_TREE when invalidating inside a popup. r=cjones 2012-09-30 19:20:24 +13:00
Matt Woodrow
bc48b0711b Bug 539356 - Avoid some causes of unnecessary painting. r=roc 2012-09-26 11:59:56 +12:00
Matt Woodrow
f0d7341b98 Bug 539356 - Correctly invalidate SVG observers. r=roc 2012-08-29 17:49:16 +12:00
Matt Woodrow
1572061ab5 Bug 539356 - Make the table code use rect invalidation to avoid over invalidation. r=roc 2012-08-29 17:48:45 +12:00
Matt Woodrow
5f32437ca2 Bug 539356 - Add an option for frames to invalid just a rect instead of the frame bounds. r=roc 2012-08-29 17:48:45 +12:00
Robert O'Callahan
0cff39f9ec Bug 770058. InvalidateFrame doesn't need flags, we can just avoid calling ScheduleRepaint if we find any ancestor frame with a descendant that needs invalidation. r=mattwoodrow 2012-08-29 17:48:44 +12:00
Matt Woodrow
5653bfb78b Bug 539356 - Part 26 - Send invalidations for hidden documents. r=roc 2012-08-29 17:48:44 +12:00
Matt Woodrow
e084d5ff7f Bug 539356 - Part 18 - Mark frames with only invalid children as an optimization to use when invalidating further frames. r=roc 2012-08-29 17:48:43 +12:00
Matt Woodrow
dd03a20c68 Bug 539356 - Part 11 - Reimplement empty transactions. r=roc 2012-08-29 17:48:15 +12:00
Matt Woodrow
5a14809d04 Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc 2012-08-29 17:47:18 +12:00
Matt Woodrow
4e75c1edde Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
* * *
imported patch move-by-correctly
2012-08-29 17:47:15 +12:00
Matt Woodrow
958ce7d98d Bug 539356 - Part 9c - Remove old invalidation code. r=bz 2012-08-29 17:39:31 +12:00
Matt Woodrow
f4205ce848 Bug 539356 - Part 9b - Add new frame invalidation API. r=roc 2012-08-29 17:39:01 +12:00
Ed Morley
c863356300 Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE 2012-09-27 16:34:46 +01:00
Matt Woodrow
696b0ccb7c Bug 539356 - Avoid some causes of unnecessary painting. r=roc 2012-09-26 11:59:56 +12:00
Matt Woodrow
936664c503 Bug 539356 - Correctly invalidate SVG observers. r=roc 2012-08-29 17:49:16 +12:00
Matt Woodrow
e3ab671352 Bug 539356 - Make the table code use rect invalidation to avoid over invalidation. r=roc 2012-08-29 17:48:45 +12:00
Matt Woodrow
7d7084a2d1 Bug 539356 - Add an option for frames to invalid just a rect instead of the frame bounds. r=roc 2012-08-29 17:48:45 +12:00
Robert O'Callahan
797525b693 Bug 770058. InvalidateFrame doesn't need flags, we can just avoid calling ScheduleRepaint if we find any ancestor frame with a descendant that needs invalidation. r=mattwoodrow 2012-08-29 17:48:44 +12:00
Matt Woodrow
3a9bc2a0cf Bug 539356 - Part 26 - Send invalidations for hidden documents. r=roc 2012-08-29 17:48:44 +12:00
Matt Woodrow
93948cb5d1 Bug 539356 - Part 18 - Mark frames with only invalid children as an optimization to use when invalidating further frames. r=roc 2012-08-29 17:48:43 +12:00
Matt Woodrow
8acde25c22 Bug 539356 - Part 11 - Reimplement empty transactions. r=roc 2012-08-29 17:48:15 +12:00
Matt Woodrow
c73c0db2f1 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-08-29 17:38:58 +12:00
David Zbarsky
7c095183a8 Bug 790508: bustage fix r=me 2012-09-26 17:55:38 -04:00
David Zbarsky
ec0f2bd59e Bug 790508: Make sure we only create nsDisplayOpacity and nsDisplayTransform for the primary frame when content has async animations r=roc 2012-09-26 17:35:29 -04:00
David Zbarsky
fcefc94882 Fix virtual dtor warning, no bug, blanket r=bz 2012-09-26 14:30:34 -04:00
Phil Ringnalda
dd13abdce5 Back out 85d6cbd01d39, 56fc051c1932, a2ad17b87332 (bug 781053) for OS X debug assertions and crashes
--HG--
extra : rebase_source : ab24a2f8e9eddcf33ea39344abb7afbf400bf6e0
2012-09-24 21:23:05 -07:00
Matt Woodrow
35030f54e2 Bug 781053 - Part 2 - Trigger empty transactions when an animated image in an ImageLayer changes frame. r=roc 2012-09-25 08:31:30 +12:00
Chris Lord
8a10cc33bd Bug 788202 - Add optional subdocument traversal to nsIFrame::List. r=bz
Add subdocument frame traversal to nsIFrame::List, controlled via an optional
flag.
2012-09-19 15:36:35 +01:00
Chris Lord
0e8485ff4d Backout bug 788202 for build failures. 2012-09-19 14:05:26 +01:00
Chris Lord
ca82e0a1a5 Bug 788202 - Add optional subdocument traversal to nsIFrame::List. r=bz
Add subdocument frame traversal to nsIFrame::List, controlled via an optional
flag.
2012-09-19 12:39:53 +01:00
Ryan VanderMeulen
5cfafbf23a Backout c2b7be27e412 (bug 791644) due to mochitest orange. 2012-09-17 20:09:42 -04:00
Matt Woodrow
e5d8da2359 Bug 791644 - Refactor nsDisplayTransform::GetResultingTransformMatrix into two functions with less optional parameters. r=roc 2012-09-18 10:34:21 +12:00
Robert O'Callahan
f49b31e203 Bug 788877. Don't create nsDisplayFixedPosition items when the root scroll frame is inactive. r=Cwiiis 2012-09-14 12:02:01 +12:00
Matt Woodrow
77745de1bf Bug 788044 - Make various functions take const parameters. r=roc 2012-09-13 12:32:53 +12:00
Makoto Kato
d5c93adaee Bug 785321 - Replace PRUptrdiff with uintptr_t, prtdiff_t or etc; r=ehsan,jrmuizel 2012-09-14 16:09:52 -04:00
Chris Lord
6b2dc34a0b Bug 786502 - Separate background layers into separate items. r=roc
Separate out background layers into separate display-list items, so that
backgrounds that are a mix of fixed and non-fixed layers will be treated
individually.
2012-09-13 11:34:23 +01:00
David Zbarsky
c278b7b3f7 Bug 789960 - Fix crash in nsLayoutUtils::HasAnimationsForCompositor r=roc 2012-09-10 23:13:35 -04:00
Jim Mathies
c8cb2fef04 Bug 783531 - Implement a 'select word at point' text selection routine in nsIDOMWindowUtils. r=roc 2012-09-10 16:02:23 -05:00
Boris Zbarsky
b5a77a4846 Bug 786946. Don't propagate text-decoration to <select> by default. r=dbaron
--HG--
rename : layout/reftests/text-decoration/underline-button-1-ref.html => layout/reftests/text-decoration/underline-select-1-ref.html
rename : layout/reftests/text-decoration/underline-button-1.html => layout/reftests/text-decoration/underline-select-1.html
rename : layout/reftests/text-decoration/underline-button-1-ref.html => layout/reftests/text-decoration/underline-select-2-ref.html
rename : layout/reftests/text-decoration/underline-button-1.html => layout/reftests/text-decoration/underline-select-2.html
2012-09-07 10:51:34 -04:00
Daniel Holbert
8b1f96b68e Bug 666041 patch 6: Ignore min/max main-size properties when computing the main size of a flex item (since those properties are honored later in the flexbox algorithm). r=dbaron 2012-09-05 14:13:37 -07:00
Daniel Holbert
5f943d14e5 Bug 666041 patch 5: Use flex-basis in place of main-size property, when computing the main size of a flex item. r=dbaron 2012-09-05 14:13:37 -07:00
Daniel Holbert
cb09d97d7e Bug 763689 patch 2: Support min-width:auto in computed style, and add special cases as necessary wherever it's read. r=dbaron 2012-09-04 16:26:10 -07:00
Daniel Holbert
0c9830c116 Bug 786031: Add parens around "&&" within "||" in nsFrame.cpp to fix GCC -Wparentheses build warnings. r=heycam 2012-08-28 11:14:52 -07:00
Mats Palmgren
de9113835e Bug 785324 - Return a FrameTarget with 'empty' flag set true when clicking on an empty block (also in the non-editable case). r=roc 2012-08-28 03:55:30 +02:00
Ehsan Akhgari
0fd9123eac Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Ehsan Akhgari
21445f3dd7 Bug 768503 follow-up: fix the comment to match what the code does now
DONTBUILD
2012-08-21 17:09:10 -04:00
Charly Molter
db958503bc Bug 776265 - changing the way ComputeHeightValue works to make it work just
like ComputeWidthValue already does. this fixes {min,max}-height + adding
  reftests for {min,max}-{height,width} r=mats
2012-08-08 17:58:26 +02:00
Ehsan Akhgari
08037d10e1 Bug 768503: Only disable selection on non-editable content. r=roc 2012-08-16 11:51:46 -04:00
Kyle Huey
fa127e8648 Merge m-c to b-s. 2012-08-15 06:25:20 -07:00
Kyle Huey
30cef0f1d5 Merge m-c to b-s. 2012-08-14 11:14:40 -07:00
Kyle Huey
0cc1c18795 Bug 697230: Part 1 - Centralize style image observers. r=bz 2012-08-13 15:04:19 -07:00
Chris Pearce
fc75b382a6 Bug 782517 - Make nsFrame:MakeFrameName() annotate an iframe's src. r=roc 2012-08-14 17:39:11 +12:00
Chris Lord
6bdbf9e99e Bug 777260 - Fix invalidations on transform items in container layers. r=roc
Since Bug 758620, it's possible for an nsDisplayTransform to appear as the
child of a container layer. This caused problems when it was inactive, as the
invalidation would not be transformed in this case.

Fix this in FrameLayerBuilder by mandating that InvalidateThebesLayerContents
takes the untransformed invalidation and apply the transform in
BuildContainerLayer.
2012-08-13 22:54:38 -04:00
Jonathan Kew
0f3953fc35 bug 769303 - precompute intrinsic width of floats. r=roc 2012-08-10 12:16:52 +01:00
Aryeh Gregor
0923bf00ef Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Jonathan Watt
522fc0f166 Bug 780963 - Make UpdateOverflow() on filter primitive frames a no-op. r=roc. 2012-08-14 10:04:24 +01:00
Ms2ger
3f950b5744 Bug 780387 - Part b: Stop using PRIntn; r=bsmedberg 2012-08-09 09:09:40 +02:00
Cameron McCormack
e9aaa26845 Bug 655877 - Part 40: Factor out 'distance from point to rect' calculation from text frame selection routine. r=roc 2012-08-08 21:37:14 +10:00
Jan Varga
8fb6c69c76 Bug 779684 - Move FrameIteratorFlags to nsFrameIterator class. r=roc 2012-08-06 20:27:04 -04:00
David Zbarsky
72cd4190b0 [Bug 780439] Kill off the remains of nsIBox r=roc 2012-08-05 23:00:57 -04:00
David Zbarsky
0039e134c7 Bug 779684: Create a stack-based nsFrameIterator class out of nsIFrameTraversal and nsIFrameEnumerator r=roc
--HG--
rename : layout/base/nsFrameTraversal.cpp => layout/base/nsFrameIterator.cpp
rename : layout/base/nsFrameTraversal.h => layout/base/nsFrameIterator.h
2012-08-05 23:00:55 -04:00
Cameron McCormack
c819a0d0ac Bug 655877 - Part 16: Treat all values of display other than 'none' as 'inline' in SVG text frames. r=roc 2012-08-02 21:38:51 +10:00
Cameron McCormack
ba7efb66ff Bug 655877 - Part 15: Don't treat SVG text frames as being positioned. r=roc 2012-08-02 21:38:50 +10:00
Cameron McCormack
f41c8a5fe8 Bug 655877 - Part 14: Ignore float in SVG text frames. r=roc 2012-08-02 21:38:49 +10:00
Cameron McCormack
883a81ddba Bug 655877 - Part 12: Ignore margins, borders and padding on SVG text frames. r=roc 2012-08-02 21:38:48 +10:00
Cameron McCormack
e8c382e651 Bug 655877 - Part 11: Ignore vertical-align and map dominant-baseline to vertical-align in SVG text frames. r=roc 2012-08-02 21:38:48 +10:00
Cameron McCormack
1070e55b13 Bug 655877 - Part 3: Add a frame state bit and anonymous box pseudo for SVG text frames. r=roc 2012-08-02 21:38:46 +10:00
Wes Johnston
f666da7452 Bug 779078 - handleRelease should just return if not handling a mouseEvent. r=smaug 2012-07-31 10:36:02 -07:00
David Zbarsky
c0fdd4656f Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron 2012-07-31 10:28:22 -07:00
David Zbarsky
f386a1e940 Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron 2012-07-31 10:28:21 -07:00
Mark Finkle
70a01196ec Backout 169ff207ed19, a34baed70c1b, f9ccdd490bd7, 39550ed860e6, 2194a2dd66b2, 908eb2e26843, a76e0a267f26 due to mobile viewport bustage (bug 778580) 2012-07-30 14:36:12 -04:00
Aryeh Gregor
e806eeab4f Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
David Zbarsky
e83accbdd6 Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron 2012-07-27 13:23:45 -07:00
David Zbarsky
5a900008c4 Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron 2012-07-27 13:23:44 -07:00
Jonathan Watt
b1c944c22c Bug 777585 - Make nsIFrame::BuildDisplayListForChild check for clipped SVG on the correct frame. r=roc. 2012-07-26 13:21:04 +01:00
Matt Woodrow
fc7e44e27a Bug 772296 - Forward transform the overflow rect when computing dirty rects for 3d transforms. r=roc 2012-07-26 16:33:31 +12:00