Commit Graph

1853 Commits

Author SHA1 Message Date
Robert O'Callahan
950676b15b Bug 261037. Support scrolled fieldsets. r=mats 2013-10-23 00:46:40 +02:00
Matt Woodrow
e684656d82 Bug 930419 - Make position:sticky frames an active scrolled root. r=roc 2013-10-24 16:35:30 +02:00
Ed Morley
2c0100cb21 Backed out changeset ce20f4b16d56 (bug 261037) for reftest failures in 478811-1.html on a CLOSED TREE 2013-10-24 10:28:44 +01:00
Robert O'Callahan
d0bbb07e6f Bug 261037. Support scrolled fieldsets. r=mats
The main change here is to have nsCSSFrameConstructor able to construct
a scrollframe for nsFieldSetFrame's inner frame.
To make this work properly (as much like normal scrolled elements, and
to be consistent with Chrome), we need another major change, which is to move
the padding from the nsFieldSetFrame to its inner frame. We do this by copying
the padding to the inner frame and ignoring the padding on the outer frame.
To get this right for percentage padding and intrinsic widths is a little
tricky. For that, we need nsLayoutUtils::IntrinsicForContainer to be able to
ignore the padding on a frame so we don't add it twice.
Overriding nsFieldSetFrame::GetScrollTargetFrame makes setting scrollTop/
scrollLeft on a <fieldset> work as expected.
* * *
Bug 261037 - A fieldset overflow:auto reftest.
2013-10-23 00:46:40 +02:00
Ed Morley
999109bcd6 Backed out changeset ffd9c7bbd2fe (bug 261037) for compilation failures in nsCSSFrameConstructor on a CLOSED TREE 2013-10-23 15:44:19 +01:00
Robert O'Callahan
d5734f7960 Bug 261037. Support scrolled fieldsets. r=mats
The main change here is to have nsCSSFrameConstructor able to construct
a scrollframe for nsFieldSetFrame's inner frame.
To make this work properly (as much like normal scrolled elements, and
to be consistent with Chrome), we need another major change, which is to move
the padding from the nsFieldSetFrame to its inner frame. We do this by copying
the padding to the inner frame and ignoring the padding on the outer frame.
To get this right for percentage padding and intrinsic widths is a little
tricky. For that, we need nsLayoutUtils::IntrinsicForContainer to be able to
ignore the padding on a frame so we don't add it twice.
Overriding nsFieldSetFrame::GetScrollTargetFrame makes setting scrollTop/
scrollLeft on a <fieldset> work as expected.
* * *
Bug 261037 - A fieldset overflow:auto reftest.
2013-10-23 00:46:40 +02:00
Olli Pettay
f01407bfec Bug 928403 - optimize nsFrameConstructorState::ProcessFrameInsertions, r=roc 2013-10-22 15:06:01 +03:00
Masayuki Nakano
86dec0184b Bug 920425 part.29 Use mozilla::WidgetEvent::AsGUIEvent() r=smaug 2013-10-22 17:55:20 +09:00
Kartikaya Gupta
7fd7f39a67 Bug 925902 - Ensure that the old ROOT_SCROLL_ID property is cleared when a new one is being set. r=tn, botond 2013-10-15 17:08:04 -04:00
Birunthan Mohanathas
e30d39fc7a Bug 784739 - Switch from NULL to nullptr in layout/; r=ehsan 2013-10-08 14:47:21 -04:00
Cameron McCormack
d230da93cd Bug 921731 - Part 0: Add "layout.css.unset-value.enabled" pref. r=bzbarsky 2013-10-04 04:48:41 +10:00
Cameron McCormack
f60cff84ed Bug 919594 - Part 2: Encapsulate the computed style map and make it take disabled properties into account. r=bzbarsky 2013-10-03 20:58:01 +10:00
Masayuki Nakano
5fb6570056 Bug 920377 part.31 Get rid of nsEvent r=roc 2013-10-02 12:46:04 +09:00
Masayuki Nakano
8c4ece5434 Bug 920377 part.30 Get rid of nsGUIEvent r=roc 2013-10-02 12:46:03 +09:00
Robert O'Callahan
893dc0fcc3 Bug 916520. Rename nsClientRect(List) to mozilla::dom::DOMRect(List). r=khuey 2013-09-20 22:21:03 +12:00
Nicolas Silva
830e381fb6 Bug 922202 - Make PlanarYCbCrImage::Data forward-declarable and remove some header includes. r=bjacob 2013-10-01 17:57:50 -07:00
Ehsan Akhgari
0a2355b4e0 Bug 921753 - Part 4: Move DrawMode outside of gfxFont.h so that we won't need to #include that header everywhere DrawMode is needed; r=roc
This patch reduces the number of files that transitively #include
gfx/2d.h from 1268 to 1208.
2013-10-01 17:02:16 -04:00
Ehsan Akhgari
a15756e3c9 Bug 921753 - Part 2: Move GraphicsFilters outside of gfxPattern.h so that we won't need to #include that header everywhere GraphicsFilter is needed; r=roc
This patch reduces the number of files that transitively #include
gfx/2d.h from 1582 to 1362.
2013-10-01 17:01:19 -04:00
Ehsan Akhgari
7c63dd132d Bug 921753 - Part 1: Avoid #including nsStyleStructInlines.h in nsIFrame.h; r=roc
This patch reduces the number of files that transitively #include
gfx/2d.h from 1782 to 1582.
2013-10-01 17:00:38 -04:00
Ehsan Akhgari
6cf84bf2d9 Bug 921876 - Stop #including nsIFrame.h in nsLayoutUtils.h; r=roc
This patch does the following:
* Move nsIFrame::IntrinsicSize to mozilla::IntrinsicSize so that it can
  be forward-declared.
* Move a number of templated inline nsLayoutUtils methods to nsIFrame.
* Use mozilla::layout::FrameChildListID instead of the
  nsIFrame::ChildListID typedef in nsLayoutUtils.h.
* Move nsReflowFrameRunnable to its only user, nsProgressMeterFrame.cpp.
* Make a number of functions requiring nsIFrame.h out-of-line.
* Remove the nsIFrame.h #include from nsLayoutUtils.h and add it to the
  places which require it implicitly.
2013-09-30 17:26:04 -04:00
L. David Baron
6f4539fad6 Bug 828312 patch 9a: Make sticky positioning handle block-in-inline splits correctly. r=dholbert
This assumes that the specification for how position:sticky behaves for
block-in-inline splits matches the specification for position:relative,
in other words, matches
http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level .

It's also necessary for patch 9b since the new rule for handling of
style change hints is that a style change hint applies to all
continuations and all block-in-inline siblings ("special siblings").

The change in StickyScrollContainer::GetScrollRanges is really the fix
for bug 918994, but adjusted for the change here to use block-in-inline
siblings ("special siblings") in addition to continuations.
2013-09-25 12:28:08 -07:00
Mats Palmgren
636e2bb841 Bug 919318 - Drop the Get prefix on the frame methods GetFirstContinuation, GetLastContinuation, GetFirstInFlow, GetLastInFlow and also on nsLayoutUtils::GetLastContinuationWithChild, because they never return null. r=dholbert 2013-09-25 11:42:34 +00:00
Masayuki Nakano
c23797df63 Bug 912956 part.18 Remove nsGUIEvent.h r=roc 2013-09-25 20:21:22 +09:00
Benoit Jacob
f6f57bbbb4 Bug 913872 - Take nested enums out of gfxASurface - 1/3 : automatic changes - r=jrmuizel
Generated by these regexes:

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(ImageFormat\|SurfaceType\|ContentType\|MemoryLocation\)[0-9A-Za-z_]*\)/gfx\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(CONTENT_\|MEMORY_\)[0-9A-Za-z_]*\)/GFX_\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(CONTENT_COLOR\|CONTENT_ALPHA\|CONTENT_COLOR_ALPHA\|CONTENT_SENTINEL\|MEMORY_IN_PROCESS_HEAP\|MEMORY_IN_PROCESS_NONHEAP\|MEMORY_OUT_OF_PROCESS\)\($\|[^A-Za-z0-9_]\)/\1GFX_\2\3/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(ImageFormatARGB32\|ImageFormatRGB24\|ImageFormatA8\|ImageFormatA1\|ImageFormatRGB16_565\|ImageFormatUnknown\|SurfaceTypeImage\|SurfaceTypePDF\|SurfaceTypePS\|SurfaceTypeXlib\|SurfaceTypeXcb\|SurfaceTypeGlitz\|SurfaceTypeQuartz\|SurfaceTypeWin32\|SurfaceTypeBeOS\|SurfaceTypeDirectFB\|SurfaceTypeSVG\|SurfaceTypeOS2\|SurfaceTypeWin32Printing\|SurfaceTypeQuartzImage\|SurfaceTypeScript\|SurfaceTypeQPainter\|SurfaceTypeRecording\|SurfaceTypeVG\|SurfaceTypeGL\|SurfaceTypeDRM\|SurfaceTypeTee\|SurfaceTypeXML\|SurfaceTypeSkia\|SurfaceTypeSubsurface\|SurfaceTypeD2D\|SurfaceTypeMax\)\($\|[^A-Za-z0-9_]\)/\1gfx\2\3/g'
2013-09-24 16:45:13 -04:00
Timothy Nikkel
40a8390f34 Bug 919129. Fix nsLayoutUtils::UpdateImageVisibilityForFrame so that it doesn't expand the image rect so much by replacing it with the scroll port rect. r=matspal 2013-09-21 16:20:22 -05:00
Daniel Holbert
5039d143e2 Bug 918109: Move some null-initialized static variables in nsLayoutUtils.cpp to function-scope. r=mats 2013-09-18 19:19:23 -07:00
Timothy Nikkel
31a7c49565 Bug 847223. Part 10. Make the new code work when we have the image visibility analysis prefed off. r=mats 2013-09-14 19:05:06 -05:00
Timothy Nikkel
32d525513d Bug 847223. Part 6. Use the first reflow of relevant image frames to add/remove them from the visible list. r=mats 2013-09-14 19:05:05 -05:00
Corey Ford
ca4ca772a4 Bug 886646 - Part 1: Support position:sticky in the CSS parser, enabled by a preference. r=heycam 2013-09-05 15:47:08 -07:00
Robert O'Callahan
51222bdd45 Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg 2013-09-02 20:41:57 +12:00
Robert O'Callahan
77688efc04 Bug 909603. Remove invalid assertion. r=tn 2013-09-04 16:44:48 +12:00
Timothy Nikkel
db7b76e6a1 Bug 910529. Part 2. In nsLayoutUtils::PaintFrame, display port and ignoring viewport scrolling should only happen when we are drawing the root frame. r=matt.woodrow 2013-08-28 22:38:15 -05:00
Timothy Nikkel
d42c74b9da Bug 910529. Part 1: Remove second unneeded declaration of rootScrollFrame in nsLayoutUtils::PaintFrame. r=matt.woodrow 2013-08-28 22:37:42 -05:00
Seth Fowler
c19b2ccd33 Bug 825771 (Part 3) - Add support for image-orientation to nsImageFrame. r=dholbert 2013-08-28 15:39:07 -07:00
Ehsan Akhgari
1f48bf4d93 Bug 908724 - Avoid #including nsPresContext.h in nsIScrollableFrame.h; r=mats
nsPresContext.h pulls in a large number of headers which should not
be needed in nsIScrollableFrame, if we just move ScrollbarStyles to
its own header
2013-08-23 16:20:07 -04:00
Ehsan Akhgari
45b9b9b617 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
Botond Ballo
0d0f3a7594 Bug 895905 - Eliminate some of the special handling of ROOT_SCROLL_ID. r=kats, r=tn 2013-08-08 15:56:08 -04:00
Botond Ballo
151522a70d Bug 895905 - B2G mechanism for content to inform APZC about scroll events. Handles multi-APZC. r=kats 2013-08-08 15:56:08 -04:00
Ms2ger
5a51413d49 Bug 901323 - Don't include nsContentUtils.h unnecessarily; r=jlebar 2013-08-14 08:56:21 +02:00
Corey Ford
6a0ae7831b Bug 898794 - Store normal frame position before applying relative positioning. r=dbaron 2013-08-08 17:20:17 -07:00
Ms2ger
71e84fb181 Bug 896251 - Make nsEvent::{refPoint, lastRefPoint} LayoutDeviceIntPoints; r=smaug+kats 2013-08-02 09:05:16 +02:00
Corey Ford
0289681dcf Bug 894716 - Parameterize nsLayoutUtils::GetNearestScrollableFrame. r=dbaron 2013-07-30 21:01:06 -07:00
Ryan VanderMeulen
002dc21ed5 Merge m-c to inbound. 2013-07-30 18:08:18 -04:00
Kartikaya Gupta
8f7157ccec Bug 866232 - Update TabChild to better handle scrolling subframes. r=BenWa, mattwoodrow 2013-07-30 14:03:42 -04:00
Robert O'Callahan
4b152a7976 Bug 837242. Part 1: Convert bool parameters to flags. r=mats 2013-07-26 14:31:41 +12:00
Carsten "Tomcat" Book
69378e9760 Backed out changeset 44c751cee3b1 (bug 837242) for suspicion of causing OSX Bustage CLOSED TREE 2013-07-26 09:25:03 +02:00
Robert O'Callahan
7d4df08dfc Bug 837242. Part 1: Convert bool parameters to flags. r=mats 2013-07-26 14:31:41 +12:00
Max Vujovic
5a2daf1e45 Bug 895182 - [CSS Filters] Implement parsing for blur, brightness, contrast, grayscale, invert, opacity, saturate, sepia. Co-authored with Dirk Schulze (krit). r=heycam 2013-07-22 15:08:33 -07:00
Timothy Nikkel
c6ac86b5d2 Bug 837242. Part 3. Keep track of what area is exposed to events so that covered frames don't get events. r=roc 2013-07-30 11:22:46 -05:00
Ed Morley
69c6c1cc68 Backed out changeset f24d81b85929 (bug 895182) for Windows build failures on a CLOSED TREE 2013-07-23 16:36:45 +01:00