Commit Graph

211 Commits

Author SHA1 Message Date
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