Ehsan Akhgari
e66b9024c8
Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc
2011-04-29 19:02:33 -04:00
Ehsan Akhgari
d883e58253
Bug 10209 - Part 1: Add an API for absolute container support for all frame types; r=roc
2011-04-27 19:41:43 -04:00
Benjamin Stover
1b6808fa69
Bug 640048 Fix edge case for z-ordering for async scrollable elements r=roc
2011-05-01 18:53:01 -07:00
Mark Finkle
cabb1dfab7
Backed out changeset c7f62d818af2. Causes content crashes Bug 653889
2011-04-30 00:01:29 -04:00
Benjamin Stover
c95d8badae
Bug 640048 Fix edge case for z-ordering for async scrollable elements r=roc
2011-04-29 10:15:44 -07:00
Robert O'Callahan
ca5e5d48e9
Bug 641426. Part 3.5: Remove usage of nsMargin::TopLeft and nsMargin::IsZero. r=dbaron
2011-04-19 15:07:22 +12:00
Jan Küchler
c510bc3046
Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
...
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
Robert O'Callahan
f55223784a
Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel
...
The basic idea is that whenever a layer transaction updates the window, we clear out the invalidation state for the canvas rendering context,
using a DidTransactionCallback registered on the layer(s) for the canvas, which calls MakeContextClean.
The DidTransactionCallbacks are directed to the user data attached to the Layer, which holds a strong reference to the canvas element. This
ensures that the element lives as long as the layer. Layers are destroyed when the presentation is torn down (including if the frame is destroyed),
so we can't have a leak here. The reference to the canvas element is only strong because the layer might briefly outlive the frame (the layer
won't be destroyed until the next paint of the window).
This patch moves responsibility for calling CanvasLayer::Updated and nsFrame::MarkLayersActive from the canvas context to nsHTMLCanvasElement::InvalidateFrame.
We call Updated on the retained CanvasLayer, if there is one; any other CanvasLayers created for this canvas would only be used once, and have Updated
called on them in BuildLayer when created.
2011-03-28 12:59:47 +13:00
Jonathan Kew
15d01c433c
bug 418975 - support ­ when calculating min width for table and fieldset. r=roc. landing on the CLOSED TREE after dbaron went to bed :)
2011-03-24 15:22:37 +00:00
Ehsan Akhgari
acac18d785
Back out bug 622072 because it caused bug 645987
2011-03-29 14:31:53 -04:00
Robert O'Callahan
46f6cf879d
Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel
...
The basic idea is that whenever a layer transaction updates the window, we clear out the invalidation state for the canvas rendering context,
using a DidTransactionCallback registered on the layer(s) for the canvas, which calls MakeContextClean.
The DidTransactionCallbacks are directed to the user data attached to the Layer, which holds a strong reference to the canvas element. This
ensures that the element lives as long as the layer. Layers are destroyed when the presentation is torn down (including if the frame is destroyed),
so we can't have a leak here. The reference to the canvas element is only strong because the layer might briefly outlive the frame (the layer
won't be destroyed until the next paint of the window).
This patch moves responsibility for calling CanvasLayer::Updated and nsFrame::MarkLayersActive from the canvas context to nsHTMLCanvasElement::InvalidateFrame.
We call Updated on the retained CanvasLayer, if there is one; any other CanvasLayers created for this canvas would only be used once, and have Updated
called on them in BuildLayer when created.
2011-03-28 12:59:47 +13:00
Ehsan Akhgari
93de29b2e6
Bug 642823 - Make the behavior of nsISelection::Modify consistent for word selection across platforms by not eating spaces on any platform; r=roc
2011-03-20 15:49:06 -04:00
Kevin Gadd
d294ee3873
bug 625248 - During each paint, build a list (stored as a FrameProperty of the root nsIFrame) of all the PresShells that are visible during this paint, so that we can increment their paint count correctly during an empty transaction; r=roc a=blocking-final+
...
--HG--
extra : rebase_source : 2524d2e258a6a6cc13a7d8df2c874752e415c1ba
2011-01-27 13:53:10 -08:00
Robert O'Callahan
182d011379
Bug 619117. When invalidating due to a transform change, use the cached post-transform visual overflow rect to avoid depending on the new transform style. r=dbaron,a=blocking
2011-01-25 21:41:56 +13:00
Robert O'Callahan
9fdc40df3d
Bug 615870. Part 2: Track per-display-root-frame 'update layer tree' state bit. r=tnikkel a=b-f
2010-12-10 21:32:52 +02:00
Jonathan Kew
e79e7e7398
bug 332636 - fix editor's handling of surrogate-pair combining marks with backspace. r=ehsan a=roc
2010-12-16 14:17:41 -08:00
Mounir Lamouri
67259dffcd
Bug 596088 - Make <input type='file'> looks disabled when inside a disabled fieldset by adding a ContentStatesChanged method in nsIFrame. r=bz sr=roc a=blocking-final
...
--HG--
rename : layout/reftests/bugs/557087.html => layout/reftests/bugs/557087-1.html
rename : layout/reftests/bugs/557087.html => layout/reftests/bugs/557087-2.html
extra : rebase_source : 350455e646775e42916e90dee7e09f63f84f4db4
2010-12-14 10:00:57 -08:00
Jonathan Kew
63186a7fc6
Backed out changeset 1958ebae93cc for causing mochitest orange. a=backout
2010-12-16 15:15:35 -08:00
Jonathan Kew
ff27ba6ff2
bug 332636 - fix editor's handling of surrogate-pair combining marks with backspace. r=ehsan a=roc
2010-12-16 14:17:41 -08:00
Michael Wu
adc8f28efe
Backed out changeset 34bd12eb4a9c for causing bug 618916, a=stuart
2010-12-13 16:14:07 -08:00
Oleg Romashin
32de6ed302
Bug 615870 - Remote HTML5 video rendering pipeline should be shorter r=roc a=b-f
2010-12-10 21:32:52 +02:00
Oleg Romashin
73fc44f096
Bug 615536 - nsIFrame::GetMouseThrough need to be optimized r=roc a=approval2.0
2010-11-30 16:59:46 +02:00
Benjamin Smedberg
c13f3e04fa
Bug 616127 - Prevent nsIFrame.h from being used from non-internal code. r+a=bz
2010-12-01 14:42:27 -05:00
Ben Turner
f17f1a4d68
Bug 586216 - Don't use one timer per animated widget. r=roc a=b
2010-11-13 09:19:38 +01:00
Ehsan Akhgari
db2d8e7cb6
Bug 389321 - Part 3: Use a centralized algorithm for caret positioning; r=roc a=blocking-betaN+
2010-08-31 14:54:44 -04:00
Timothy Nikkel
c612a70b99
Bug 599113. Part 3. Can't restrict invalidated rects to visible portion of a scroll frame if we retain content that might be outside the visible portion of the scroll frame. r=roc a=blocking-betaN+
2010-10-14 20:03:46 -05:00
L. David Baron
eaf0cc10a3
When a frame is themed, report a border-radius of 0. (Bug 595652) r=roc a2.0=blocking2.0:betaN
2010-10-06 21:25:47 -07:00
L. David Baron
86a617e692
Change callers to use new nsIFrame overflow APIs. (Bug 542595, patch 20) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:47 -07:00
L. David Baron
44ad3bb392
Now that overflow areas are split, change nsIFrame::ComputeTightBounds to use visual overflow. While it really only needs to include frame bounds, glyph bounds, and text decorations, since glyph bounds are not part of scrollable overflow, it must use visual overflow. (Bug 542595, patch 15) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:46 -07:00
L. David Baron
e9aef85b7e
Change FinishAndStoreOverflow API to take two overflow areas. (Bug 542595, patch 4) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
L. David Baron
4c92be5947
Convert nsIFrame APIs from having a single overflow rect to having two distinct overflow rects. (Bug 542595, patch 1) r=roc sr=bzbarsky a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
Ehsan Akhgari
216a0f0f67
Bug 240933 - Part 13: Consider text frame continuations containing only newlines editable; r,a=roc
...
--HG--
extra : rebase_source : e9f3001867e7992513484b92993a5d6a222273f6
2010-08-13 18:58:26 -04:00
L. David Baron
c44e387e04
Clip replaced elements (for now, images, canvases, videos, and windowless plugins) to the border radius. (Bug 485501) r=roc a2.0=blocking:beta6
2010-09-09 08:21:47 -07:00
L. David Baron
58eb6a43d3
Clip contents of elements with overflow != visible to the border radius. (Bug 459144, patch 14) r=roc a2.0=blocking2.0:beta6
2010-09-09 08:21:46 -07:00
Daniel Holbert
aba0326d04
Bug 276431 part 3: Make nsImageFrame store an intrinsic ratio separate from its intrinsic size, and accept percentages in its intrinsic size. r=roc a=blocking
2010-09-08 13:40:38 -07:00
L. David Baron
f350baca0b
Add border-radius-related helper functions to nsIFrame. (Bug 459144, patch 6) r=roc a2.0=blocking:beta6+
2010-09-07 15:20:35 -07:00
L. David Baron
65e139ce28
Move clamping of border-radii that are too big from nsCSSRendering::ComputePixelRadii to nsIFrame::ComputeBorderRadii. This also fixes a bug in nsDisplayBoxShadowOuter::ComputeVisibility. (Bug 459144, patch 5) r=roc a2.0=blocking:beta6+
2010-09-07 15:20:35 -07:00
L. David Baron
afabd727c0
Move skip-sides handling from nsCSSRendering::ComputePixelRadii to nsIFrame::ComputeBorderRadii. This fixes a bug (ignoring skip-sides) in nsDisplayBoxShadowOuter::ComputeVisibility, and improves the no-border-radius optimizations when skip-sides allow us to take them. (Bug 459144, patch 3) r=roc a2.0=blocking:beta6+
2010-09-07 15:20:34 -07:00
L. David Baron
8a42fd5b90
Make nsIFrame::ComputeBorderRadii take an nsSize instead of two nscoords. (Bug 459144, patch 2) r=roc a2.0=blocking:beta6+
2010-09-07 15:20:34 -07:00
L. David Baron
999f84163c
Move nsCSSRendering::GetBorderRadiusTwips to nsIFrame and rename it to ComputeBorderRadii. (Bug 459144, patch 1) r=roc a2.0=blocking:beta6+
2010-09-07 15:20:34 -07:00
Ehsan Akhgari
d84bc18024
Back out bug 240933 and bug 590554 because of reftest failure on Win7 and also bug 593211
2010-09-02 19:54:23 -04:00
Ehsan Akhgari
bb65502039
Bug 240933 - Part 13: Consider text frame continuations containing only newlines editable; r,a=roc
...
--HG--
extra : rebase_source : b66535705ec25cd4dca7378424b78cc3bef94e46
2010-08-13 18:58:26 -04:00
Robert O'Callahan
8c37d3bfef
Bug 584494 - Regression: Transform rotation testcase performs significantly worse - r=dbaron
2010-09-02 14:07:37 -04:00
Robert O'Callahan
13db12c5b9
Bug 579323. Part 2: Actually fix the bug by calling InvalidateThebesLayersInSubtree from nsIFrame::Redraw. r=dbaron,a=blocking
2010-08-31 12:49:13 +12:00
Robert O'Callahan
6ed294185b
Bug 579323. Part 1.8: Rename InvalidateOverflowRect to InvalidateFrameSubtree. r=tnikkel
...
--HG--
rename : layout/generic/nsFrameFrame.cpp => layout/generic/nsSubDocumentFrame.cpp
extra : rebase_source : f7bd38670a03e8a7f3f8c40838af114be79b06f1
2010-08-31 12:49:12 +12:00
Robert O'Callahan
5023daae20
Bug 579323. Part 1: Add FrameLayerBuilder::InvalidateThebesLayersInSubtree, and call it from InvalidateOverflowRect. r=tnikkel,sr=dbaron
...
--HG--
extra : rebase_source : c1dbc5b625e23d55ba030709f5cd429122977685
2010-08-31 12:46:26 +12:00
Timothy Nikkel
76e6768d25
Bug 591657. nsWeakFrame needs a copy constructor because the default one does not hook into the presshell. r=smaug,dbaron a=dbaron,blocking beta5+
2010-08-30 13:37:55 -05:00
Robert O'Callahan
915a02867c
Bug 581222. Back out patch that disabled box-shadows for native-themed content elements.
...
--HG--
extra : rebase_source : 4685dfdddd9e0bf1ed9e5f8401d6bc73b91a5600
2010-08-23 21:30:07 +12:00
Markus Stange
b093349bfe
Bug 506826 - Fix overlapping frame state bit.
2010-08-13 18:09:58 +02:00
Markus Stange
53d7d30d22
Bug 506826 - Use a frame state bit for recursion detection in SVG pattern drawing. r=roc
2010-08-13 15:32:15 +02:00
Markus Stange
eaba422dce
Bug 572689 - Make nsSVGRenderingObservers observe elements instead of frames. r=roc
2010-08-13 15:31:31 +02:00
Ehsan Akhgari
489e5fab3f
Bug 580869 - Cache the frame found in nsTextFrame::GetChildFrameContainingOffset; r=roc approval2.0=dbaron
...
--HG--
extra : rebase_source : 3bdd49e0e039c212b5faa8d12bcbdd785da267a4
2010-08-10 11:16:17 -04:00
Dave Townsend
4590036b45
Backed out changeset 8f8ee0543d0f from bug 580869 in the CLOSED TREE
...
--HG--
extra : rebase_source : 0bfba926d30e0d6fc80bccd4a5614b1532d9234b
2010-08-06 15:01:59 -07:00
Ehsan Akhgari
5105968c9e
Bug 580869 - Cache the frame found in nsTextFrame::GetChildFrameContainingOffset; r=roc approval2.0=dbaron
...
--HG--
extra : rebase_source : c04666fc452be4108ed717686086a5f7baba753d
2010-07-23 17:37:55 -04:00
L. David Baron
7afdbd9a59
Rename float continuations to pushed floats. (Bug 563584, patch 33) r=roc
...
This patch was generated with the following sed commands on layout/generic/*.{h,cpp}: 's/FLOAT_CONTINUATION/PUSHED_FLOAT/g;s/FloatContinuation/PushedFloat/g;s/float continuation/pushed float/g' plus whitespace fixup where the frame state bits are defined.
2010-08-05 21:59:20 -07:00
L. David Baron
e24a4a847e
Track which frames were float continuations that need to be pulled to the next block rather than figuring it out again when it's time to pull them. (This allows first-in-flows to be float continuations.) (Bug 563584, patch 12) r=roc
2010-08-05 21:59:19 -07:00
L. David Baron
5dbb4fc493
Replace force-fit with setting mIsTopOfPage correctly. (Bug 563584, patch 5) r=roc
2010-08-05 21:59:19 -07:00
Timothy Nikkel
70d241a01e
Bug 563878. Part 7. Change frame, point, rect, region APIs. r=mats sr=roc
2010-07-18 21:23:47 -05:00
Robert O'Callahan
7629433417
Bug 564991. Part 38: Make invalidation-during-paint work reliably. r=mats,sr=dbaron
2010-07-16 09:08:11 +12:00
Robert O'Callahan
e5ff8517e3
Bug 564991. Part 25: Introduce a 'has active layers' flag on frames, which times out, and use it for 'opacity'. r=mats,sr=dbaron
2010-07-16 09:08:06 +12:00
Robert O'Callahan
2e3d02e038
Bug 564991. Part 13: Optimize invalidation to avoid repainting ThebesLayer contents sometimes. r=mats,sr=dbaron
2010-07-16 09:07:53 +12:00
Robert O'Callahan
b6eddb8fcc
Bug 564991. Part 7: Create Begin/EndDeferredInvalidates API so we can catch and defer invalidates on frames (and suppress certain areas completely). r=mats,sr=dbaron
2010-07-16 09:07:50 +12:00
Robert O'Callahan
496811aed4
Bug 564991. Part 2: Create retained layer API: methods on FrameLayerBuilder that frames can use to access, reuse and invalidate retained layers. r=mats,sr=vlad
2010-07-16 09:07:46 +12:00
Robert O'Callahan
4a3fae344e
Bug 564991. Part 1: Create a new kind of frame property that can receive a frame pointer when its destructor is called. r=mats
2010-07-16 09:07:45 +12:00
Timothy Nikkel
1259443af7
Bug 563878. Part 5. Rename nsIFrame::GetWindow(Offset) to GetNearestWidget. r=mats
2010-07-02 14:11:04 -05:00
Markus Stange
c7c192f3a7
Bug 572697 - Add frame types eSVGGeometry and eSVGPaintServer. r=roc
...
--HG--
extra : rebase_source : c4f39637b2e251d851cbbd3dadc91a516fd93e4b
2010-07-01 18:40:19 +02:00
Alexander Surkov
65c355c8a7
Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc
2010-06-28 21:02:03 +09:00
Ginn Chen
8b0322b1e8
Bug 571211 Sun Studio doesn't support 64bit enum for 32bit mode r=dbaron
2010-06-27 00:55:05 +08:00
Rob Arnold ext:(%20%26%20Robert%20O%27Callahan%20%3Crobert%40ocallahan.org%3E)
951a8a32a4
b=555133 Attempt to infer whether or not theme parts are transparent r=roc,rob sr=vlad
2010-06-11 10:53:57 +12:00
Karl Tomlinson
cc75c71979
backout ce0bec337cdd due to bad message
2010-06-11 10:53:01 +12:00
Rob Arnold ext:(%20%26%20Robert%20O%27Callahan%20%3Crobert%40ocallahan.org%3E)
0ff5253328
Attempt to infer whether or not theme parts are transparent r=roc,rob sr=vlad
...
--HG--
rename : layout/mathml/mathfontSTIXSize1.properties => layout/mathml/mathfontSTIXSizeOneSym.properties
extra : rebase_source : 0500c9e1f6cabd42bd56e5e69b1af3c30c7045cd
2010-06-11 10:25:15 +12:00
L. David Baron
0d78680576
Use 64 bits for frame state. (Bug 570837) r=roc
2010-06-08 22:28:14 -07:00
L. David Baron
e272b3a13d
Use macros for frame state so that it's easy to change the size and easier to read the constants. (Bug 570837) r=roc
2010-06-08 22:28:14 -07:00
Simon Montagu
85a1e8061a
Don't split frames in bidi resolution that have the same resolved directionality but different character types. Bug 399850, r=ehsan, roc
2010-05-10 23:14:05 -07:00
Mats Palmgren
f4d91f2af0
Backout wrong fix for bug 547338.
2010-04-28 19:47:23 +02:00
Mats Palmgren
ec17ad365a
Remove the VerticalScroll() before layout, nsListBoxBodyFrame does that in its post reflow callback. b=547338 r=roc
2010-04-27 18:15:02 +02:00
Bill Gianopoulos
3387c15d67
Bug 555727: Stop MSVC from over-optimizing NS_DECLARE_FRAME_PROPERTY. r=dbaron
2010-04-03 16:21:53 -04:00
Ehren Metcalfe
a791e19cc4
Bug 556446: Remove dead code in layout. r=roc,bz
2010-04-03 07:36:19 -04:00
L. David Baron
4cf0bf0c58
Add function to nsStyleUtil for choosing the appropriate color from style data based on link visitedness. (Bug 147777) r=bzbarsky
2010-04-02 18:58:25 -07:00
Masayuki Nakano
f88647e545
Bug 554822 Caret should refer the actual text color instead of the value of CSS color property r=roc
2010-04-01 11:35:48 +09:00
Jim Mathies
e8db46f043
Backout bug 555133 to fix bug 555950.
2010-03-31 12:55:41 -05:00
Rob Arnold
0feeddc29f
Bug 555133 - Attempt to infer whether or not theme parts are transparent r=roc sr=vlad
2010-03-29 15:24:40 -04:00
Robert O'Callahan
a27c78da5a
Bug 545049. Capture the pre-transform overflow area of a frame and use it in InvalidateOverflowArea. r=mats
2010-03-29 14:46:58 +13:00
Robert O'Callahan
0fd1837981
Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron
2010-03-29 14:46:55 +13:00
Masayuki Nakano
71ab14e537
Bug 553975 Caret is painted under textframe in input/textarea element r=roc
2010-03-27 13:33:17 +09:00
Neil Deakin
b66e7be3ef
Bug 544472, eliminate duplicate calls to AddCSS*** methods, plus some minor related code cleanup, r=dbaron
2010-03-18 15:58:15 -04:00
Mats Palmgren
e5f8b2f7e8
Bug 544852, part 1: Remove nsCaret::GetCaretCoordinates. r=roc
2010-03-14 23:52:07 +01:00
Michael Ventnor
ace5e1d018
Bug 542361 - Fix and remove the GetUsedX assertions r=roc
...
--HG--
extra : rebase_source : 6bdb0e3251e955ced01476a2255e9ebc511c884b
2010-03-02 11:57:43 +10:00
Dão Gottwald
a6c411fa84
Backed out changeset 8c2e7ae5cceb because of test_bug398289.html failure
2010-02-04 17:16:39 +01:00
Michael Ventnor
50f557ed9e
Bug 542361 - Fix and remove the GetUsedX assertions. r=roc,dbaron
2010-02-04 14:58:02 +01:00
Robert O'Callahan
96a17b8b42
Bug 526394. Part 32: Remove code that only existed so that scrollframes could have views. r=mats
2010-01-12 10:45:19 +13:00
Robert O'Callahan
d5b09287dc
Bug 526394. Part 4: Obsolete nsIScrollableViewProvider by adding nsIFrame::GetScrollTargetFrame. r=mats,sr=dbaron
2009-09-01 23:22:31 +12:00
fantasai
3027a2127b
Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc
2009-12-24 00:21:15 -05:00
fantasai
b27eacbc1d
Bug 508473 Part II: Remove DeletingFrameSubtree r=bz sr=roc
2009-12-24 00:20:41 -05:00
fantasai
b8f6ad289d
Bug 508473 Part I: Remove nsIFrame::RemovedAsPrimary r=bz sr=roc
2009-12-24 00:20:20 -05:00
L. David Baron
21c9bd0852
Fix bustage from bug 530686.
2009-12-12 12:06:12 -08:00
Robert O'Callahan
5c87a2d633
Bug 530686. Only create an nsDisplayTableBorderBackground when it's going to have something to paint, since having one can disable some scrolling optimizations. r=dbaron
2009-12-12 10:50:30 -08:00
David Bolter
f82359dcea
Bug 525579 - topcrash [@ nsAccessibilityService::GetAccessible(nsIDOMNode*, nsIPresShell*, nsIWeakReference*, nsIFrame**, int*, nsIAccessible**)] (thanks dbaron) r=roc,surkov
2009-11-16 09:03:53 -05:00
Boris Zbarsky
2ba57b5fb5
Bug 501847 part 4. Change frame construction to create {ib} splits that have blocks wrapping runs of block kids and inlines wrapping runs of inline kids instead of wrapping all kids from the first block to the last block in a single block. r=tn,dbaron,roc
2009-09-18 14:00:21 -04:00
Boris Zbarsky
ba8c31506f
Bug 512336. Make frame lists doubly-linked. r=roc,fantasai
2009-10-02 12:27:37 -04:00