Robert O'Callahan
4ca813ae6e
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
11ad8ed434
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
90c20af040
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
715a68eba1
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
319639d128
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
a9323f7452
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
db6bb54ae9
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
6531a7f776
Backed out changeset 1958ebae93cc for causing mochitest orange. a=backout
2010-12-16 15:15:35 -08:00
Jonathan Kew
7a31c3e079
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
a3ec8a5ae1
Backed out changeset 34bd12eb4a9c for causing bug 618916, a=stuart
2010-12-13 16:14:07 -08:00
Oleg Romashin
0da1b085e9
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
3228336658
Bug 615536 - nsIFrame::GetMouseThrough need to be optimized r=roc a=approval2.0
2010-11-30 16:59:46 +02:00
Benjamin Smedberg
e69da252f3
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
7b428214f3
Bug 586216 - Don't use one timer per animated widget. r=roc a=b
2010-11-13 09:19:38 +01:00
Ehsan Akhgari
90e76bbb1f
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
9fa3e05ad4
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
cd40905288
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
a56a24a514
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
bf7624301d
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
d86ede8347
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
9cc9011dcd
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
90ab413a2e
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
d99ac32acf
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
d44b4ee882
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
d2bf82c2fc
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
4f34aba74d
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
fb568df1f4
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
59ce09e952
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
228dbed13a
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
452d0afadd
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
7b654288bf
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
15e706b2f1
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
7db127ab8d
Bug 584494 - Regression: Transform rotation testcase performs significantly worse - r=dbaron
2010-09-02 14:07:37 -04:00
Robert O'Callahan
ded033638a
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
c7acef03ff
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
f566520efb
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
75dd64b1bf
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
794cc06f63
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
c107bb11a9
Bug 506826 - Fix overlapping frame state bit.
2010-08-13 18:09:58 +02:00
Markus Stange
12b1bcc7b0
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
2ea78354c5
Bug 572689 - Make nsSVGRenderingObservers observe elements instead of frames. r=roc
2010-08-13 15:31:31 +02:00
Ehsan Akhgari
c07d2babfd
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
a31d02e412
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
d298284e05
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
6d279b0435
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
99f4849c65
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
08a16e6b29
Replace force-fit with setting mIsTopOfPage correctly. (Bug 563584, patch 5) r=roc
2010-08-05 21:59:19 -07:00
Timothy Nikkel
460def762d
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
2b0f4a408a
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
1cbc86420d
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
1917c1d836
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
fa45207070
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
a7c0fe60ac
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
270cfe600a
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
976046bf62
Bug 563878. Part 5. Rename nsIFrame::GetWindow(Offset) to GetNearestWidget. r=mats
2010-07-02 14:11:04 -05:00
Markus Stange
5a166a073b
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
1b2bbba526
Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc
2010-06-28 21:02:03 +09:00
Ginn Chen
271f0b4b44
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)
95f0307543
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
d9f67b344a
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)
b3c3976708
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
ed06caaf51
Use 64 bits for frame state. (Bug 570837) r=roc
2010-06-08 22:28:14 -07:00
L. David Baron
d574dd00ce
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
813eaf92c8
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
9610e7e8f7
Backout wrong fix for bug 547338.
2010-04-28 19:47:23 +02:00
Mats Palmgren
5197eefd38
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
9fb6b84bbc
Bug 555727: Stop MSVC from over-optimizing NS_DECLARE_FRAME_PROPERTY. r=dbaron
2010-04-03 16:21:53 -04:00
Ehren Metcalfe
e0ac5d5547
Bug 556446: Remove dead code in layout. r=roc,bz
2010-04-03 07:36:19 -04:00
L. David Baron
961c31082c
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
553922eee1
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
d4cc6d9831
Backout bug 555133 to fix bug 555950.
2010-03-31 12:55:41 -05:00
Rob Arnold
9ffd5134c3
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
51aea0b3ed
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
9a2ed61b34
Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron
2010-03-29 14:46:55 +13:00
Masayuki Nakano
9de2f77373
Bug 553975 Caret is painted under textframe in input/textarea element r=roc
2010-03-27 13:33:17 +09:00
Neil Deakin
b5207640b3
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
549893b6d7
Bug 544852, part 1: Remove nsCaret::GetCaretCoordinates. r=roc
2010-03-14 23:52:07 +01:00
Michael Ventnor
25bc9c7d85
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
5bf54b4622
Backed out changeset 8c2e7ae5cceb because of test_bug398289.html failure
2010-02-04 17:16:39 +01:00
Michael Ventnor
2b0c157e9a
Bug 542361 - Fix and remove the GetUsedX assertions. r=roc,dbaron
2010-02-04 14:58:02 +01:00
Robert O'Callahan
dd085808e4
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
13ac1c2c83
Bug 526394. Part 4: Obsolete nsIScrollableViewProvider by adding nsIFrame::GetScrollTargetFrame. r=mats,sr=dbaron
2009-09-01 23:22:31 +12:00
fantasai
1ffb0c06ef
Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc
2009-12-24 00:21:15 -05:00
fantasai
1e880721fb
Bug 508473 Part II: Remove DeletingFrameSubtree r=bz sr=roc
2009-12-24 00:20:41 -05:00
fantasai
714c1668f7
Bug 508473 Part I: Remove nsIFrame::RemovedAsPrimary r=bz sr=roc
2009-12-24 00:20:20 -05:00
L. David Baron
b329d30aef
Fix bustage from bug 530686.
2009-12-12 12:06:12 -08:00
Robert O'Callahan
19da2f1872
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
ae4129ee61
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
0e977736ec
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
4fc405cefa
Bug 512336. Make frame lists doubly-linked. r=roc,fantasai
2009-10-02 12:27:37 -04:00
Robert O'Callahan
794f4fa11d
Bug 508495. Remove CreateWidgetForView from nsIFrame and nsObjectFrame since it's no longer used there. r=dbaron
...
--HG--
extra : rebase_source : c400af6f507ea046e952b9c612dc2d7fca00ff91
2009-09-30 07:32:43 +10:00
Boris Zbarsky
5c641e6c2b
Bug 512471. Make nsBlockFrame's mFrames track its principal child list. r=roc,fantasai
2009-09-29 15:47:05 -04:00
Robert O'Callahan
6de615de1b
Bug 510110. Extend MozAfterPaint event to contain list of PaintRequest objects with information about individual invalidations. r=dbaron,sr=jst
...
--HG--
extra : rebase_source : 0e8b9f424d50c2d9e346f7ff15834202a6c101d1
2009-09-04 16:49:18 +12:00
Mats Palmgren
90fe0851f3
Bug 233463, patch 4 - Make nsIFrame::mNextSibling private. r=bzbarsky
2009-09-18 13:09:36 +02:00
Mats Palmgren
377056c269
Bug 233463, patch 2 - Introduce nsFrameList::mLastChild member for fast access to the last sibling frame. r=bzbarsky
2009-09-18 13:09:36 +02:00
Mats Palmgren
948203eb7d
Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc
2009-09-16 17:01:36 +02:00
Neil Deakin
02a7469b05
Bug 503943, add mouse capturing api to elements, remove capturing from views, r=roc,sr=smaug
2009-09-13 09:13:16 -04:00
Zack Weinberg
17eb5a6efc
Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc
2009-09-12 17:49:24 +01:00
Neil Deakin
a5bfe49767
Bug 503943, back out mouse capture patch, CLOSED TREE
2009-09-10 12:11:41 -04:00
Neil Deakin
2ca788ce33
Bug 503943, add mouse capturing api to elements, remove capturing from views, r=roc,sr=smaug
2009-09-10 08:51:36 -04:00
fantasai
973c4e83aa
Bug 492627 - Remove Placeholder Continuations [Part IV: Switch float layout APIs to pass float directly, without placeholder] r=roc
2009-08-31 11:25:35 -07:00
Robert O'Callahan
75dc1beb9c
Backed out changeset e2927bb26412
2009-08-26 14:49:18 -07:00
Zack Weinberg
18c763f2c5
Bug 497495 part 3a: rationalize the queryframe-implementation macro naming scheme, restructure the implementation to detect duplicate entries, and a couple fixes to the frame ID enumeration. r=dbaron sr=roc
...
Bug 497495 part 3b: update users of queryframe macros (strictly mechanical change). r=dbaron
--HG--
extra : rebase_source : ee672a17934227b408b83dc6b5cc4e4909652f72
2009-08-26 09:27:42 -07:00
Zack Weinberg
2cd31f70f9
Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap
2009-08-20 14:52:48 -07:00
Robert O'Callahan
cba39f15c7
Bug 504524. Change signature of nsIFrame: of nsIFrame::CharacterDataChanged to support passing of the full CharacterDataChangeInfo struct. r=bz
...
--HG--
extra : rebase_source : cdab9444f579d6b93e142ad8681152ecd180f818
2009-08-05 13:38:10 +12:00
Boris Zbarsky
a1e015696b
Bug 502942. Make fieldsets use their content's last-line baseline. r=dbaron
2009-08-03 10:42:59 -04:00
Robert O'Callahan
a4fec52cd4
Bug 506615. XUL decks should not have wididgets. r=dbaron
2009-07-30 14:54:42 +12:00
Boris Zbarsky
f2936464e5
Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron
2009-07-30 13:23:32 -04:00
Boris Zbarsky
209e31bf48
Relanding bug 496823 in the hopes that it's not causing the XP Txul issue.
...
--HG--
extra : rebase_source : 593d43b5c229e077e4454d848dba59265dee6b58
2009-07-29 08:53:27 -04:00
Boris Zbarsky
b4eb9b7084
Backed out changeset 622a29736f33 to see whether bug 496823 causes the WinXP Txul regression.
...
--HG--
extra : rebase_source : 450a2a83442a2326e303f97ad82d8213fbe11490
2009-07-28 14:35:28 -04:00
Boris Zbarsky
a2aaeadc49
Bug 504972. Remove some redundant code. r=roc
2009-07-28 08:53:20 -04:00
Boris Zbarsky
5fefb45a48
Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc
2009-07-28 08:53:20 -04:00
Boris Zbarsky
db6ff446ab
Bug 504221 part 5. Switch from GetFirstChild to GetChildList (returning an nsFrameList). For now, keep a GetFirstChild shim so callers don't have to be updated. r=fantasai, r+sr=roc
2009-07-28 08:51:09 -04:00
Boris Zbarsky
58ab0561e4
Bug 504221 part 1. Introduce framelist slice and enumerator classes and make the framelist versions of nsFrameList::AppendFrames/InsertFrames return a slice for the new frames. r=fantasai, r+sr=roc
2009-07-28 08:51:08 -04:00
Boris Zbarsky
34df7918a4
Bug 496823. Blocks can implement GetLastChild() much faster than by just getting first child and iterating its siblings. r=roc
2009-07-26 21:27:32 -04:00
Robert O'Callahan
14dbcb0874
Bug 371839. Simplify SetSelected signature and semantics, and reimplement it in nsTextFrame much more efficiently. r=bzbarsky
...
--HG--
extra : rebase_source : 18c390e3ebd09de82b1a23699c56b741f928ca37
2009-07-27 10:05:41 +12:00
Boris Zbarsky
fa8b53c57c
Bug 505482. Make sure to not leave frames on overflow lists when we interrupt reflow. Also fixes bug 478527 and bug 496742. r=roc
2009-07-24 09:32:32 -04:00
Robert O'Callahan
41b0dc9d84
Bug 339548. Part 9: Create nsRootPresContext::UpdatePluginGeometry, and use it. Make nsObjectFrame manage its widget directly.
2009-07-22 12:45:00 +12:00
Robert O'Callahan
b47de0a11e
Bug 500632. Suppress invalidation caused by parts inside collapsed scrollbars. r=dbaron
2009-07-22 12:44:49 +12:00
Jonathan Kew
bdab93a7ca
Bug 475968. Eliminate NS_FRAME_OUTSIDE_CHILDREN flag, store small overflow areas cheaply within the frame. r+sr=roc
2009-04-06 12:31:50 +12:00
Robert O'Callahan
2739cdda29
Bug 476062. Don't suppress box-shadows on elements with -moz-appearance in chrome documents. r+sr=dbaron
2009-04-06 11:35:53 +12:00
Mats Palmgren
f0978053f2
Keep track of the line container and forget the current line if it's for a different container. b=444027 r+sr=roc
2009-02-10 10:23:05 +01:00
Arpad Borsos
829f9f024a
Bug 474369 - get rid of nsVoidArray; layout part; r+sr=roc
2009-02-03 15:42:18 +01:00
Benjamin Smedberg
24e7cb1f78
Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
...
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted
Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.
r+sr=roc
nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.
--HG--
extra : rebase_source : 4894a2ca0278e2ab92f27459db77165f8348cf41
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
50621e4f9f
Backed out changeset 4c4df6ed1b41 - Bug 396185 - Make nsIFrame not inherit from nsISupports due to mochitest failures... these appear to be crashes in nsGenericHTMLElement::GetEditorInternal.
2009-01-09 11:35:24 -05:00
Benjamin Smedberg
d0b948876f
Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
...
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted
Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.
r+sr=roc
This patch locally causes two REFTEST-UNEXPECTED-PASS for Bidi stuff. It's possible that I accidentally fixed a bug, but I'm not sure, so I'm going to wait for the tinderboxes to confirm my local results.
2008-11-05 14:25:30 -05:00
Markus Stange
c15f2b9d7f
Forgot to add the braces in changeset 58f409bbc149 (bug 391984)
2008-12-15 14:43:31 +01:00
Markus Stange
975559338c
Bug 391984 - [10.5] Add roundness to context menus, r=josh sr=roc
2008-12-11 15:37:38 +01:00
Jeff Walden
4180ce8eae
imported patch nsIFrame.patch
2008-11-19 20:42:55 -08:00
Benjamin Smedberg
9696613a50
Relanding bug 461410 - nsILineIterator is never used outside of layout - set nsresults to replicate the existing code more correctly, which fixes the mochitest failures, r+sr=roc with nits noted by Mats Palmgren
2008-10-30 12:17:59 -07:00
Benjamin Smedberg
4214b72dd5
Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212
2008-10-28 02:49:14 -04:00
Benjamin Smedberg
dd4c950cff
Bug 461410 - nsILineIterator is never used outside of layout, and doesn't need to be refcounted: the callers can just destroy it when they're done with it. We can't do this with a virtual destructor, however, because nsTableRowGroupFrame implements the interface directly, while nsLineIterator is a separately-allocated class. So clients are expected to call DisposeLineIterator when they're done with it.
...
Instead of accessing nsILineIterator using QueryInterface, we add a nsIFrame::GetLineIterator API, which is cleaner and more efficient all at the same time!
r+sr=roc
2008-10-28 00:47:19 -04:00
Bernd
082b4cffdb
2 try
2008-10-26 12:21:47 +01:00
Bernd
6777c42861
bug 258377, make border collapsed tables to listen for dynamic border style changes r/sr=bzbarsky
2008-10-26 11:11:34 +01:00
Robert O'Callahan
85ea5a3965
Bug 460240. Need to repaint the overflow area if the overflow area changes, the frame has effects/outline/box-shadow, and the frame size has not changed. r+sr=bzbarsky
2008-10-21 20:42:28 +13:00
L. David Baron
9d7714304c
Make sure DidSetStyleContext methods call the base class DidSetStyleContext, and change the signature to return void. (Bug 459649) r+sr=bzbarsky
2008-10-13 18:03:28 -04:00
Robert O'Callahan
09cfc5fa8c
Bug 455984. Rework gradient and pattern code to use nsReferencedElement and nsSVGRenderingObservers, so they observe changes to the ID-element-map properly and propagate invalidations correctly (and with simpler code too). r=longsonr,sr=mats
2008-10-01 13:51:05 +13:00
Robert O'Callahan
337c852320
Backing out bug 455984 to see if it fixed Tp crashes
2008-10-01 00:28:20 +13:00
Robert O'Callahan
0a5a34cbab
Bug 455984. Rework gradient and pattern code to use nsReferencedElement and nsSVGRenderingObservers, so they observe changes to the ID-element-map properly and propagate invalidations correctly (and with simpler code too). r=longsonr,sr=mats
2008-09-30 21:47:20 +13:00
Robert O'Callahan
f79290bb0e
Bug 450930. Fire a DOM event when painting so that content and chrome can track what's being repainted. r=smaug,sr=dbaron
2008-09-18 21:47:21 +12:00
Robert O'Callahan
be33d80a1a
Bug 455280. Distinguish pre-transform overflow area from post-transform overflow area and have nsDisplaySVGEffects use the pre-transform area. r=kschwarz,sr=dbaron
2008-09-16 13:51:52 +12:00
Arpad Borsos
eef0edf9d5
Bug 454766 - Add suggested parentheses to layout/; r+sr=roc; (with nits by sgautherie)
2008-09-15 17:40:25 +02:00
Keith Schwarz
dc907e1ec7
Bug 435293. Implement CSS transforms. r=dbaron,r+sr=roc
2008-09-13 21:42:11 +12:00
Graeme McCutcheon
b6ce570b3c
Bug 451252 - "Highlight All" find selection not visible in elements that have -moz-user-select: none set; r+sr=roc
2008-09-07 16:12:50 +02:00
Robert O'Callahan
be904c4d3d
Bug 376662. Convert nsIFrame::GetOffsetTo to not use views. We need to ensure that for popups and scrollframes, views and frames are kept in sync at *all* times. Also fixes bugs in tests for NS_FRAME_NO_MOVE_FRAME. r+sr=bzbarsky
2008-09-06 20:52:56 +12:00
Robert O'Callahan
ca15953a6e
Backing out changeset 1bdd5da49865 (for bug 376662) due to regression bug 453661
2008-09-05 15:40:06 +12:00
Robert O'Callahan
1eeada5faa
Bug 376662. Make nsIFrame::GetOffsetTo not explicitly use views. r+sr=bzbarsky
2008-09-04 09:35:52 +12:00
Boris Zbarsky
d9344bb542
Bug 449362 - "Table border is rendered incorrectly when the table cell size changes due to javascript." [r+sr=roc]
2008-08-20 01:45:29 -05:00
Robert O'Callahan
4042320c9c
Bug 441418. Instead of guessing when frame broke at a first-letter boundary, explicitly record that in a reflow status bit. r+sr=dbaron
2008-08-06 12:31:25 +12:00
Boris Zbarsky
36ff184856
Bug 430356. Don't return negative pref and min intrinsic widths for XUL boxes/ r+sr=dbaron
2008-07-28 23:07:28 -07:00