Commit Graph

1122 Commits

Author SHA1 Message Date
Zack Weinberg
145a79dd39 Bug 651017, part 1: minimize inclusion of ns*DeviceContext.h; move the printing error codes to nsIDeviceContextSpec.h; os2 small widget cleanup. 2011-04-16 18:22:41 -07:00
Robert O'Callahan
bb51b2359c Bug 641426. Part 6: Rename Empty to SetEmpty. r=cjones 2011-04-19 15:07:23 +12:00
Robert O'Callahan
3bb8bad7c2 Bug 641426. Part 5: Avoid operator== where possible to distinguish between 'equal edges' and 'equal areas' for rectangles. r=dbaron,sr=cjones 2011-04-19 15:07:23 +12:00
Robert O'Callahan
414edefebf Bug 641426. Part 4.2: Rename BaseMargin::side to BaseMargin::Side. r=cjones 2011-04-19 15:07:22 +12:00
Robert O'Callahan
6844dfc18d 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
8774547613 Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>. 2011-04-07 18:04:40 -07:00
Robert O'Callahan
8ea3739c3b 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
fc16ed833a Merge cedar into mozilla-central 2011-03-30 13:53:35 -04:00
Ehsan Akhgari
ad82b9c9f0 Bug 645914 - Do not eat the white-space when doing word selection if the eaten whitespace is a newline character and we have been instructed not to jump between lines; r=roc
This fixes a bug in selecting words at the end of lines in textarea's for Windows.
2011-03-30 11:56:48 -04:00
Jonathan Kew
d02d3f9d40 bug 418975 - support &shy; 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
dbd7be64b9 Merge cedar into mozilla-central 2011-03-29 10:39:07 -04:00
David Bolter
62d615e36b Bug 616594 - overflow:auto causes DIV to get tab focus, r=bz 2011-03-29 13:43:59 +09:00
Chen Liu
6de836db4f Use PL_strncpyz in DR_FrameTypeInfo. (Bug 639220) r=dbaron 2011-03-28 16:07:27 -07:00
Robert O'Callahan
9e0875a296 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
4a06d8c562 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
Chris Jones
8e01df9a37 Bug 637278: INVALIDATE_NO_UPDATE_LAYER_TREE should subsume INVALIDATE_NO_THEBES_LAYERS. r=tn sr=roc 2011-03-01 12:27:35 -06:00
Matt Woodrow
3c6c60ed0c Bug 629857 - When invalidating transformed items, round the original area out to the nearest pixel. r=roc a=roc 2011-02-25 11:55:23 +13:00
Ehsan Akhgari
6fd3ec8e30 Merge backout of bug 622072 2011-03-29 14:32:11 -04:00
Ehsan Akhgari
19025a6612 Back out bug 622072 because it caused bug 645987 2011-03-29 14:31:53 -04:00
Neil Deakin
6254905d05 Bug 624127, clear mousedown selection state in frame where mouse was pressed down,r=smaug,a=jst 2011-02-03 12:08:30 -05:00
Robert O'Callahan
f69b525984 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
Boris Zbarsky
dea8d0623a Bug 626395. Make sure that when we're clipping our kids we don't create overflow containers for their overflow. Force the kids to lay out within our size instead. Also don't include overflowing kids in our overflow area if we're clipping them. r=roc, a=blocker 2011-01-19 17:39:31 -05:00
L. David Baron
27119f2e56 Report incomplete reflow status as appropriate when frame tree is too deep. (Bug 619021) r=roc a2.0=blocking 2011-01-11 17:09:22 -08:00
L. David Baron
4b2511a14f Issue console warning when we abort reflow because the frame tree is too deep. (Bug 619021) r=roc a2.0=blocking 2011-01-11 17:09:22 -08:00
Robert O'Callahan
8be3b68bec 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
a61771a0d9 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
Jonathan Kew
cc85587114 Backed out changeset 1958ebae93cc for causing mochitest orange. a=backout 2010-12-16 15:15:35 -08:00
Jonathan Kew
f1e3149240 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
cddd307270 Backed out changeset 34bd12eb4a9c for causing bug 618916, a=stuart 2010-12-13 16:14:07 -08:00
Oleg Romashin
eb53950db4 Bug 615870 - Remote HTML5 video rendering pipeline should be shorter r=roc a=b-f 2010-12-10 21:32:52 +02:00
Boris Zbarsky
77d8583289 Bug 614397. Always descend through all placeholders while doing any sort of selection display list. r=roc, a=roc 2010-12-07 08:54:50 -05:00
Boris Zbarsky
f8be723d68 Bug 609272. Make sure to not apply clipping of overflow when printing to the root element, because it doesn't really make use of its overflow style itself. r=dbaron 2010-11-30 13:19:57 -05:00
Dave Townsend
aea25dc578 Backing out bug 614058, bug 609272, bug 478445, bug 499628, bug 605296, bug 608914 and bug 614724 due to potentially causing bug 615736 CLOSED TREE. a=backout 2010-12-01 11:01:56 -08:00
Boris Zbarsky
9b50b1366a Bug 609272. Make sure to not apply clipping of overflow when printing to the root element, because it doesn't really make use of its overflow style itself. r=dbaron 2010-11-30 13:19:57 -05:00
Ehsan Akhgari
ab00110cc8 Bug 424627 - Ctrl+clicking on a text control border followed by an editing operattion (e.g. paste) removes the table cell from a non-editable document; r=roc a=blocking-final+ 2010-11-01 19:04:12 -04:00
Alexander Surkov
a1c156514e Bug 570275 - rework accessible tree update code, r=marcoz, davidb, bz, a=blocking 2010-10-21 13:16:10 +09:00
Timothy Nikkel
fbab606de2 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
84d7b3562d 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
77b20c65b1 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
913a31cc5c Fix miscellaneous reflow methods to use new overflow area APIs. (Bug 542595, patch 19) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:46 -07:00
L. David Baron
de0b6ebe1f 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
4c3c4b0bc7 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
130b5803f8 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
Boris Zbarsky
6740fe9eaf Bug 129941 followup. Continue creating scrollframes for native anonymous content. a=crashing tests 2010-10-06 22:21:58 -04:00
Boris Zbarsky
2545e55aaf Bug 129941. Don't create scrollframes for blockframes (except inline blocks) while printing, and make such blockframes clip their contents instead. r=dbaron 2010-10-06 21:01:24 -04:00
Robert O'Callahan
7188004456 Bug 584494. Avoid creating opacity/transform wrappers for empty lists. r=tnikkel a2.0=blocking2.0:betaN 2010-09-17 12:29:52 -07:00
Ehsan Akhgari
29478c59f8 Bug 596506 - Going to end of line using Ctrl-e on Mac positions caret after newline in textareas; r=bzbarsky a=blocking-final+ 2010-09-16 14:40:26 -04:00
Ehsan Akhgari
6b782089be Bug 240933 - Part 3: Correct the caret movement throughout textareas (and pre elements with caret browsing turned on as well); r=roc a=dbaron 2010-07-13 21:49:16 -04:00
L. David Baron
004afb8259 Simplify storage of computed calc() as a result of removing min() and max(). (Bug 363249) r=bzbarsky a2.0=blocking2.0:beta6 2010-09-11 09:27:13 -07:00
L. David Baron
e135530c65 Remove support for min() and max() in calc(): remove support for parsing and storage. (Bug 363249) r=bzbarsky a2.0=blocking2.0:beta6 2010-09-11 09:27:12 -07:00