Commit Graph

1122 Commits

Author SHA1 Message Date
L. David Baron
68e262fedc Change the blur radius for -moz-box-shadow and text-shadow to match what is specified in css3-background, and the blur radius for canvas to follow what is specified in HTML5. (Bug 590039) r=roc a2.0=blocking2.0:beta6
This fixes the multiplication by 1.5 in
gfxAlphaBoxBlur::CalculateBlurRadius (originally added in changeset
ce9f05b57b95 for bug 467518) to work correctly.  It was previously a
multiplication by 1 due to integer division.  CalculateBlurRadius
previously multiplied by 1.880; it now multiplies by 2.820.

This changes canvas shadow handling to multiply shadowBlur by 2 before
taking its square root, as described in the spec.  This means that
canvas shadow blurs 8px or smaller are 1.5 times larger than they were
previously (due to the CalculateBlurRadius change), and canvas shadow
blurs larger than 8px are 2.121 times larger than they were previously
(due to the CalculateBlurRadius change *and* the additional factor of
sqrt(2)).

This changes text-shadow and -moz-box-shadow handling to use
CalculateBlurRadius on half of the value given instead of passing the
value through directly.  This means that text-shadow and box-shadow
blurs are multiplied by 1.410 relative to their old sizes.  It also
means that we round rather than floor, so that the effect that used to
be drawn by a blur in the range 1px to 1.99px is now drawn by a blur
anywhere in the range 0.36px to 1.05px, the effect that used to be drawn
by a blur in the range 2px to 2.99px is now drawn by a blur anywhere in
the range 1.06px to 1.77px, what used to be a drawn by a blur in the
range 3px to 3.99px is now drawn by a blur anywhere in the range 1.78px
to 2.47px, etc.
2010-09-11 09:27:12 -07:00
L. David Baron
d1aaa3f766 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
a2f14c90f3 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
L. David Baron
7fe64aac36 Make nsIFrame::DisplaySelectionOverlay take an nsDisplayList* instead of nsDisplayListSet&. (Bug 485501) r=roc a2.0=blocking:beta6 2010-09-09 08:21:46 -07:00
L. David Baron
3fdee98f6c Remove unneeded nsAbsPosClipWrapper::mContainer. (Bug 459144, patch 12) r=roc a2.0=blocking2.0:beta6 2010-09-09 08:21:46 -07:00
L. David Baron
9e80caafad Remove unneeded nsDisplayClip::mClippingFrame. (Bug 459144, patch 11) r=roc a2.0=blocking2.0:beta6 2010-09-09 08:21:46 -07:00
L. David Baron
790d600cf8 Fix places where I missed clamping negative calc() to 0. (Bug 585715) r=bzbarsky a2.0=blocking2.0:beta6 2010-09-09 08:21:46 -07:00
L. David Baron
0d06fad127 Add support for calc() on -moz-border-radius and -moz-outline-radius. (Bug 585715) r=bzbarsky a2.0=blocking2.0:beta6 2010-09-09 08:21:45 -07:00
L. David Baron
617212bb46 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
676d639ccf 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
0d7e1284bd 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
f46463af6b 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
cc9b0ccf05 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
0aac46c65b 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
1dfc80802d 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
Robert O'Callahan
cb6cdf18f6 Bug 584494 - Regression: Transform rotation testcase performs significantly worse - r=dbaron 2010-09-02 14:07:37 -04:00
L. David Baron
3a8af703e8 Add support for calc() to the '{margin,padding}-{top,right,bottom,left}' and '-moz-margin-{start,end}' properties. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+ 2010-08-31 12:05:12 -04:00
Robert O'Callahan
3f1563fde4 Bug 579323. Part 1.8: Rename InvalidateOverflowRect to InvalidateFrameSubtree. r=tnikkel 2010-08-31 12:49:12 +12:00
Robert O'Callahan
f06b8f53e5 Bug 579323. Part 1: Add FrameLayerBuilder::InvalidateThebesLayersInSubtree, and call it from InvalidateOverflowRect. r=tnikkel,sr=dbaron 2010-08-31 12:46:26 +12:00
L. David Baron
b52a7e2eb1 Make IsAutoHeight be a member of nsLayoutUtils so we don't have to have two copies of it. (Bug 585715) r=bzbarsky a2.0=blocking+ 2010-08-25 12:17:56 +02:00
L. David Baron
4ff5861e6e Add support for calc() to the 'height', 'min-height', and 'max-height' properties. (Bug 585715) r=bzbarsky a2.0=blocking+ 2010-08-25 12:17:55 +02:00
Robert O'Callahan
ea17bb85bd Bug 581222. Back out patch that disabled box-shadows for native-themed content elements. 2010-08-23 21:30:07 +12:00
Robert O'Callahan
6994544c46 Bug 584282. Add nsDisplayItem::mToReferenceFrame and initialize it in the constructor. r=tnikkel,a=dbaron 2010-08-13 22:01:13 +12:00
Timothy Nikkel
4bfa468e62 Bug 587542. If painting is suppressed in the presshell, drop invalidations that come through the view subsystem as well as through the usual frame invalidation path. r=roc 2010-08-18 20:16:58 -05:00
Bobby Holley
5479d587de bug 512260 - part 5 - make nsCursorImage::mImage private, add getter/setter, and lock images in the setter.r=dbaron,a=blocker 2010-08-16 12:19:26 -04:00
Robert O'Callahan
58a657801b Backing out bug 584282 and bug 537890 2010-08-14 02:35:06 +12:00
Markus Stange
0b3f3e8fc4 Bug 506826 - Invalidate -moz-element rendering observers when necessary. r=roc 2010-08-13 15:36:13 +02:00
Markus Stange
b802bb5021 Bug 572689 - Make nsSVGRenderingObservers observe elements instead of frames. r=roc 2010-08-13 15:31:31 +02:00
Robert O'Callahan
cace06b530 Bug 579258. Remove the 'before move' region parameter to ComputeVisibility. r=tnikkel,a=joe 2010-08-13 21:55:54 +12:00
Timothy Nikkel
54627d9c70 Bug 582754. Remove cross doc check in nsIFrame::GetOffsetTo. r=mats a=dbaron 2010-08-08 13:49:06 -05:00
Robert O'Callahan
0c16d772f1 Bug 584282. Add nsDisplayItem::mToReferenceFrame and initialize it in the constructor. r=tnikkel,a=dbaron 2010-08-13 22:01:13 +12:00
Timothy Nikkel
80321610da Bug 563878. Part 15. Fix GetOffsetTo callsites. r=mats 2010-07-18 21:23:48 -05:00
Timothy Nikkel
314f050083 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
9cfadb6a5b Bug 564991. Part 42: When the root frame changes size, invalidate the changed area. r=tnikkel 2010-07-16 09:08:12 +12:00
Robert O'Callahan
cbfb19b33e 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
1fdbd30da5 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
93ca51abca 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
8501238b21 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
Michael Ventnor
c40f8edbb0 Bug 564991. Part 3: Create unique nsDisplayItem types for every single display item. r=tnikkel 2010-07-16 09:07:49 +12:00
Robert O'Callahan
2b99a4f71b 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
Mats Palmgren
fc6158bba3 Bug 556432 - Dragging a content selection shows non-selectable text in the drag feedback. r=roc 2010-07-12 22:24:33 +02:00
Timothy Nikkel
69e644de71 Bug 563878. Part 5. Rename nsIFrame::GetWindow(Offset) to GetNearestWidget. r=mats 2010-07-02 14:11:04 -05:00
Alexander Surkov
0a6b10381a Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc 2010-06-28 21:02:03 +09:00
Robert O'Callahan
88ceb36bc8 Bug 572914. Overflow areas for theme backgrounds should not be clipped by -moz-hidden-unscrollable. r=dbaron 2010-06-28 12:28:21 +12:00
Timothy Nikkel
d722d5e2ec Bug 574756. Make sure nsIFrame::List outputs the stylecontext of the frame. r=dbaron 2010-06-25 16:51:17 -05:00
Jim Mathies
611f140d43 Bug 513162 - Cleanup unused widget code and CID statics. r=vlad. 2010-06-24 21:01:06 -05:00
Jesse Ruderman
6a2161d1b5 Remove stray line breaks from NS_ERROR messages, since they interfere with log processing. rs=jst 2010-06-17 13:28:38 -07:00
Masayuki Nakano
60ee347538 Bug 550434 Clicking in an empty contenteditable element that has focus causes the caret to disappear (alternative approach) r=roc 2010-06-14 12:11:30 +09:00
Daniel Holbert
4ed9eaadf9 Bug 571059: Update debugging printfs to treat nsFrameState objects as 64-bit & fix build warnings. r=dbaron 2010-06-10 11:26:57 -07:00
L. David Baron
dd7ed68b11 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