Commit Graph

5096 Commits

Author SHA1 Message Date
Ben Kelly
68002a88f5 Bug 847279 - Fix hardcoded path names in mochitests to match relativesrcdir. r=mbrubeck 2013-04-17 18:00:14 -04:00
L. David Baron
b525977bdc Bug 847279 - Fix incorrect relativesrcdir in other mochitest makefiles. r=mbrubeck 2013-04-17 18:00:14 -04:00
Mats Palmgren
c538e42a6e Bug 485149 - Using box-shadow on a <fieldset> with <legend> does not follow box shape. r=roc 2013-04-17 22:16:14 +02:00
Mats Palmgren
365ab3e273 Bug 701504 - Null out all BidiParagraphData::mPrevFrame when starting a new block. r=smontagu 2013-04-17 22:16:14 +02:00
Robert O'Callahan
6568460205 Bug 860579. Make FindContentInDocument use the frame tree as much as possible. r=mattwoodrow
--HG--
extra : rebase_source : c4d05d33fdc6b2bcc99437808f78ada8770f9263
2013-04-16 18:14:56 +12:00
Scott Johnson
e6eb9703bc Bug 836565, Part 1: Make pinch gestures perform reflow-on-zoom operations only once to improve performance. [r=kats] 2013-04-16 16:29:04 -05:00
Mike Shal
24b4056720 Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Daniel Holbert
62f493f674 Bug 847211: When reparenting style contexts, skip flex-item style fixup if our element is the root of an anonymous subtree. r=bz 2013-04-16 08:33:41 -07:00
Ms2ger
4546c52c30 Backout changesets 3581b3d60886, cff9eab960e3, d390c8c21882 for Android foreignObject-fixedpos-01.html failures on a CLOSED TREE. 2013-04-16 11:40:41 +02:00
Robert O'Callahan
23011589ce Bug 860579. Make FindContentInDocument use the frame tree as much as possible. r=mattwoodrow 2013-04-16 18:14:56 +12:00
Robert O'Callahan
bc7d984a44 Bug 849996. Check the correct frame for transforms in PushAbsoluteContainingBlock --- it might not be the containing block itself. r=bzbarsky 2013-04-08 16:09:35 +12:00
Mats Palmgren
ba1889d131 Bug 856368 - Convert some comments into proper doc-comments. r=roc 2013-04-15 22:00:06 +02:00
Mats Palmgren
0ce1179320 Bug 856368 - Inline the AllocateBy* and FreeBy* methods into the header. r=roc 2013-04-15 22:00:06 +02:00
Mats Palmgren
75bb4ed6a0 Bug 856368 - Adjust memory reporter SizeOf methods accordingly. r=roc 2013-04-15 22:00:06 +02:00
Mats Palmgren
1e9bd59184 Bug 856368 - Merge nsPresArena::mState into nsPresArena itself. r=roc 2013-04-15 22:00:06 +02:00
Mats Palmgren
702d0070af Bug 856368 - Remove DEBUG_TRACEMALLOC_PRESARENA. r=roc 2013-04-15 22:00:06 +02:00
Jonathan Watt
0c743dcdbd Bug 861805 - Stop layers from snapping transforms for SVG content. r=roc 2013-04-15 13:30:28 +01:00
Chris Lord
1f8698bb32 Bug 856932 - Fix async scrolling of auto-positioned fixed position elements. r=nrc
Layers representing auto-positioned fixed position elements should not be
offset by the fixed layer margins.
2013-04-15 09:31:48 +01:00
Matt Woodrow
af4c662a21 Bug 859630 - Use the PresContext's document in FindContentInDocument when the frame doesn't have an associated nsIContent. r=roc 2013-04-15 18:55:36 +12:00
Matt Woodrow
ad7e9c1f00 Bug 859526 - Null check parent frames when wrapping preserve-3d display lists. r=roc 2013-04-15 18:55:34 +12:00
Matt Woodrow
637d715713 Bug 861042 - Manually invalidate frames with both opacity and svg effects, as this isn't caught by DLBI. r=roc 2013-04-15 18:55:32 +12:00
Joshua Cranmer
c763b1352e Bug 856108 - Port static analyses to clang, part 2e: use MOZ_STACK_CLASS in layout. r=mats 2013-04-11 22:20:45 -05:00
Daniel Holbert
2e9d4d47f3 Bug 851379 part 1: Rename ComputeWidthDependentValue to ComputeCBDependentValue. r=mats 2013-04-11 07:49:53 -07:00
Jonathan Watt
466a857ecf Bug 859305 - Stop the browser app from panning the page when the user drags an <input type=range>'s thumb in the out-of-process case. r=smaug 2013-04-11 10:11:54 +01:00
Cameron McCormack
e7b3448f80 Bug 860370 - Undo functionality change from bug 848973. r=roc 2013-04-11 18:40:12 +10:00
Aryeh Gregor
f9e1831a55 Bug 857102 part 2 - Make NS_NewTextNode and nsIDocument::CreateTextNode infallible; r=bz 2013-04-04 15:01:08 +03:00
Chris Lord
6b4df40a4f Bug 859749 - Fix building with --enable-dump-painting and --disable-debug. r=mattwoodrow
DisplayItemClip::ToString should be in a MOZ_DUMP_PAINTING #ifdef, rather than
a generic DEBUG #ifdef.
2013-04-10 10:55:00 +01:00
Robert O'Callahan
ce4c05def0 Bug 851445. When saving a frame scroll position, if we're in the process of trying to scroll to a saved scroll position, save the desired position instead of the actual current position. r=mats
--HG--
extra : rebase_source : 4aa4110d32db5f26192c0e4b6fa3185d1ed2c073
2013-03-21 15:44:37 +13:00
Cameron McCormack
9b2d903aae Bug 848973 - Make nsStyleDisplay::IsBlockInside() and friends work only on style structs for the passed in frame and document them. r=roc
--HG--
extra : rebase_source : a8559b62124bec058f2857d50cf7f65f176c3727
2013-04-07 09:40:07 +10:00
Simon Montagu
d5292afd50 The test for bidi isolated subparagraphs should be > 0, not > 1. Bug 859093, r=roc 2013-04-08 23:25:34 -07:00
Ralph Giles
ad4c3beead Bug 857022 - Remove MOZ_MEDIA from the layout module. r=cpearce
Enable this code unconditionally.
2013-04-04 15:08:00 -07:00
Trevor Saunders
8a324dc194 bug 856779 - remove nsFrameManager::Init() r=dholbert 2013-03-31 18:43:04 -04:00
Trevor Saunders
1e1929f0f1 bug 856779 - make nsStyleSet::Init() return void r=dholbert 2013-03-31 18:08:29 -04:00
Trevor Saunders
bbe54eccfc bug 856779 - kill NS_NewPresShell() r=bz 2013-03-31 16:39:27 -04:00
David Zbarsky
dd55a87c18 Bug 857884 - Use dom::EventTarget more in content/ and dom/ Part 2 r=Ms2ger 2013-04-05 20:44:26 -04:00
Seth Fowler
a635c53879 Bug 826093 (Part 4) - Use ClippedImage instead of ExtractFrame for border-image. r=bz
--HG--
extra : rebase_source : 58e1b9169e5ca0b61066c04ebb587879458bd72f
2013-04-05 14:14:53 -07:00
Seth Fowler
030590cc40 Bug 826093 (Part 3) - Use ClippedImage instead of ExtractFrame for -moz-image-rect. r=bz
--HG--
extra : rebase_source : 7abecbcfcda5666e6b23895dbf6cd42991044914
2013-04-05 14:14:37 -07:00
Chris Lord
4dab434b85 Bug 854099 - Make nsPresShell::ScrollToShowRect take fixed position margins into account. r=roc
When fixed position margins are set, it indicates that chrome obscures the
viewport. Inflate the target rect by these margins when calling
ScrollToShowRect on the root scrollable frame.
2013-04-05 14:34:56 +01:00
Robert O'Callahan
4a4175f287 Bug 841192. Part 16: Take plugin's own clipping into account when computing the region for its window. Make SortByContentOrder handle cases where display items in the same list come from different documents. r=mattwoodrow
--HG--
extra : rebase_source : f39deb6250c7aef71d6cd3a62df43785a3bfc7b1
2013-04-05 21:30:34 +13:00
Robert O'Callahan
865de96db7 Bug 841192. Part 15: Move DisplayListClipState clipping methods to AutoSaveRestore and AutoClipMultiple helper classes for safer usage. r=mattwoodrow
--HG--
extra : rebase_source : aa674d4fa93f1b7c2b4dd84ba8d888cc9f289265
2013-04-05 00:36:45 +13:00
Robert O'Callahan
04e9887192 Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow
This patch does several things. Sorry.

In BuildDisplayList implementations, instead of wrapping display items in nsDisplayClip, we
push clip state onto the nsDisplayListBuilder and give the display items an
explicit clip when they're created.

In FrameLayerBuilder, we use the explicit clips we find on display items instead of
computing our own.

We remove nsDisplayClip and everything that depends on it.

We remove ExplodeAnonymousChildLists. With nsDisplayClip gone, and
nsDisplayOptionEventGrabber removed in a previous patch, there are no
anonymous child lists.

nsDisplayItem::TryMerge implementations need to make sure they have the same
clip before being merged.

I ripped out the part of PruneDisplayListForExtraPage that adjusts clip rects.
As far as I can tell, it isn't actually necessary.

--HG--
extra : rebase_source : 6f3988b385d0ac54ab26fad10b12173884441f48
2013-03-04 22:56:02 +13:00
Robert O'Callahan
29cfc08a5b Bug 841192. Part 13: Rename nsFrame::ApplyOverflowClipping to ShouldApplyOverflowClipping. r=mattwoodrow
We rename nsFrame::ApplyOverflowClipping to nsFrame::ShouldApplyOverflowClipping
to reflect the fact that it doesn't cause any clipping.

--HG--
extra : rebase_source : d3bd1ef902276526b37b27c510a8d3a9db6416dc
2013-03-07 00:08:16 +13:00
Robert O'Callahan
1b7bdb4a2b Bug 841192. Part 12: Move RoundedRectIntersectsRect from nsDisplayList.cpp to nsLayoutUtils. r=mattwoodrow
--HG--
extra : rebase_source : aa0ad96c363b70895b068a6d4805f9164cc03b27
2013-03-07 00:08:15 +13:00
Robert O'Callahan
5566aa4cce Bug 841192. Part 10: Add extra APIs to DisplayListClipState to constrain the current clip, and an Auto class for safe saving and restoring. r=mattwoodrow
--HG--
extra : rebase_source : 4ec25ababe17ac4b828a9b0a00457fe9d00b560a
2013-03-07 00:08:13 +13:00
Robert O'Callahan
4934cd57c4 Bug 841192. Part 9: Add extra APIs to DisplayItemClip to set the current state, intersect with another DisplayItemClip, test intersection with a rect, translate, and provide easy access to a DisplayItemClip object which doesn't clip anything. r=mattwoodrow
--HG--
extra : rebase_source : 94b03b7d828c9044ac6ebbeaf51f9f0b4bde1ce2
2013-03-07 00:08:11 +13:00
Robert O'Callahan
e5cb7ecc6e Bug 841192. Part 8: On encountering out-of-flow frames during display list construction, save their clip rect as well as their dirty rect for later use when we traverse the placeholder. r=mattwoodrow
--HG--
extra : rebase_source : 3a41e2eb4940f1ae7c0748f27211a7d0cf7ad638
2013-03-04 22:56:02 +13:00
Robert O'Callahan
0d562762b5 Bug 841192. Part 6: Save and restore DisplayListClipState when we start building display lists for a frame. r=mattwoodrow
--HG--
extra : rebase_source : 9c9cb95acfb4d802ecf045e6d4c30811af647218
2013-03-04 22:56:01 +13:00
Robert O'Callahan
92f7c062ff Bug 841192. Part 5: Add "current DisplayListClipState" to nsDisplayListBuilder. r=mattwoodrow
--HG--
extra : rebase_source : e8f99c3f0e6f9d516bfbed189ee42ad16cb8a6ee
2013-03-04 22:56:01 +13:00
Robert O'Callahan
2a890de2cb Bug 841192. Part 4: Create DisplayListClipState. r=mattwoodrow
--HG--
extra : rebase_source : 90eb025d01cec4d3e52473ebc27ae411f42c0439
2013-03-04 22:56:00 +13:00
Robert O'Callahan
ddb47c1cef Bug 841192. Part 3: Make DisplayItemClip members private and encapsulate them in a real API. r=mattwoodrow
--HG--
extra : rebase_source : d6076e123603de9a1c48681f527719cd41b09883
2013-03-04 22:56:00 +13:00
Robert O'Callahan
8d47c65ff4 Bug 841192. Part 2: Move FrameLayerBuilder::Clip to DisplayItemClip. r=mattwoodrow
--HG--
extra : rebase_source : 2950e5dd64e217a406ede2dc9f6682b5e0540975
2013-03-04 22:55:59 +13:00
David Zbarsky
76ad7e5429 Bug 856962: Move Touch to its own file r=Ms2ger
--HG--
rename : content/events/src/nsDOMTouchEvent.cpp => content/events/src/Touch.cpp
rename : content/events/src/nsDOMTouchEvent.h => content/events/src/Touch.h
2013-04-05 04:49:00 -04:00
Phil Ringnalda
171a6dc234 Backout 051cf1c1449c:521215a7b32e (bug 826093) for Android reftest failure 2013-04-04 21:06:58 -07:00
Nicholas Cameron
b2e31373d7 Bug 856272; don't round our mask size too early so we get a proper transform for small surfaces. r=roc 2013-04-05 16:16:38 +13:00
Seth Fowler
605c0911f3 Bug 826093 (Part 4) - Use ClippedImage instead of ExtractFrame for border-image. r=bz 2013-04-04 19:06:42 -07:00
Seth Fowler
abbdbad515 Bug 826093 (Part 3) - Use ClippedImage instead of ExtractFrame for -moz-image-rect. r=bz 2013-04-04 19:06:42 -07:00
Matt Brubeck
87b1f4184c Back out 795e9ec338a7 (bug 856272) because of test failures 2013-04-04 17:40:16 -07:00
Nicholas Cameron
1e69a37e3a Bug 856272; don't round our mask size too early so we get a proper transform for small surfaces. r=roc 2013-04-05 12:42:14 +13:00
Ms2ger
a1093b2662 Merge m-c to m-i. 2013-04-04 14:15:56 +02:00
Ms2ger
3ab3b93918 Bug 841488 - Part a: Rename nsHTMLSelectElement; r=khuey
--HG--
rename : content/html/content/src/nsHTMLSelectElement.cpp => content/html/content/src/HTMLSelectElement.cpp
rename : content/html/content/src/nsHTMLSelectElement.h => content/html/content/src/HTMLSelectElement.h
2013-04-04 09:03:33 +02:00
Robert O'Callahan
d9afc6d714 Backout bug 851445 for test failure
--HG--
extra : rebase_source : 3314e6679f15134324d5de09334be14e17aa0790
2013-04-02 18:24:25 +13:00
Robert O'Callahan
37411c9523 Bug 851445. When saving a frame scroll position, if we're in the process of trying to scroll to a saved scroll position, save the desired position instead of the actual current position. r=mats 2013-03-21 15:44:37 +13:00
Matt Woodrow
9ec5ac5231 Bug 855233 - Recreate mask layers if the ContainerParameters offset changes. r=nrc 2013-04-04 15:59:24 +13:00
Kyle Machulis
f5e3aadf0b Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Mats Palmgren
9ce2e2126a Bug 855920 - Remove unused nsDisplayTransform ctor. r=roc 2013-04-01 18:45:18 +02:00
Mats Palmgren
7fa166a5f5 Bug 729519 - Allocate heap nsFrameLists from the shell arena. r=bzbarsky
"new nsFrameList()" becomes "new (shell) nsFrameList()".
"delete list" becomes "if (list) list->Delete(shell)" - note also that
an additional assertion was added that list is empty when deleted.

"nsAutoPtr<nsFrameList> list(StealSomeFrames())" becomes
"AutoFrameListPtr list(aPresContext, StealSomeFrames())"
2013-04-01 17:26:02 +02:00
Kyle Machulis
d2b6e6e01a Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
5663b98bc5 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Robert O'Callahan
3a4355687e Bug 852489. Part 9: Avoid temporarily setting a layer's visible region to a non-final value. r=mattwoodrow
We currently set the visible region on most container layers twice: once in
BuildContainerLayerFor, where we don't take clipping from ancestors into
account, and then later ProcessDisplayItems calls RestrictVisibleRegionForLayer
which does take ancestor clipping into account. This causes unnecessary
Mutated()s.

In this patch we partially fix this by forcing transform layers to take
account of their ancestor clipping when they set the visible region in
BuildContainerLayerFor. For those layers we don't need to apply
ancestor clipping in ProcessDisplayItems. This is done in a rather
ugly way, by passing the ancestor clip rect as an extra field of
ContainerParameters. To preserve the optimization that prerendered
elements are treated as fully visible regardless of ancestor clipping,
we have to add a flag to turn that clipping off in BuildContainerLayerFor.

In bug 841192 we will be able to fix this in a much nicer way, because we can
get the ancestor clip directly off the nsDisplayItem passed to
BuildContainerLayerFor. But this approach is needed for the B2G18 branch.

--HG--
extra : rebase_source : 26fbe55db84ab96e1e358b8803b0563f42590836
2013-03-22 15:17:29 +13:00
Robert O'Callahan
5d035502b3 Bug 852489. Part 6: Don't temporarily reset clip when recycling Thebes/Image/ColorLayers. r=mattwoodrow
--HG--
extra : rebase_source : 28ac0c65edef8d2f0de2e79003370520066508e7
2013-03-22 15:17:29 +13:00
Robert O'Callahan
88994b7bd5 Bug 852489. Part 5: Don't temporarily reset clip rect when reusing an existing layer. r=mattwodrow
--HG--
extra : rebase_source : 65ace15a404e25e14c02e514077997554d36f092
2013-03-22 15:17:29 +13:00
Robert O'Callahan
361f43cd8a Bug 852489. Part 4: Don't call RepositionChild if the layer is already in the right position. r=mattwoodrow
--HG--
extra : rebase_source : 1a3be842c65ab00dc7a72361e522e5343e5de967
2013-03-22 15:17:29 +13:00
Ryan VanderMeulen
f466fc86fd Bug 807442 - Make assertion non-fatal. r=hsivonen 2013-03-28 12:13:11 -04:00
Daniel Holbert
ad0dde7ba7 Bug 848539 part 5: Back out 6bb37077d615, bug 763689 part 2 (style-system handling for min-width:auto). r=dbaron 2013-03-27 23:33:19 -07:00
Daniel Holbert
69a1c9d235 Bug 848539 part 4: Back out 82f73bdb2237, bug 763689 part 3 (style-system handling for min-height:auto). r=dbaron 2013-03-27 23:33:19 -07:00
David Zbarsky
03993307bd Bug 847120: Remove nsIDOMSVGFilterPrimitiveStandardAttributes r=Ms2ger f=jwatt 2013-03-27 21:23:09 -04:00
Phil Ringnalda
84688e6fa9 Back out c04824522d46 (bug 848973) for (at least) 10.8 and Android reftest failures
CLOSED TREE
2013-03-26 23:31:57 -07:00
Cameron McCormack
f8dac34a11 Bug 848973 - Document what aFrame means in nsStyleDisplay::IsBlockInside() and friends. r=roc 2013-03-27 15:49:56 +11:00
Ryan VanderMeulen
268da07311 Backed out changesets 957f2b35ce83:1799cffbba63 (bug 826093) for Android reftest-2 failures (again) on a CLOSED TREE. 2013-03-26 21:56:03 -04:00
Seth Fowler
fdb409e5fa Bug 826093 (Part 4) - Use ClippedImage instead of ExtractFrame for border-image. r=bz 2013-03-26 16:29:13 -07:00
Seth Fowler
93ae9dc359 Bug 826093 (Part 3) - Use ClippedImage instead of ExtractFrame for -moz-image-rect. r=bz 2013-03-26 16:29:13 -07:00
Ryan VanderMeulen
70b9859a7a Backed out changesets 4b97cab51e59:5e573640e390 (bug 826093) for Android reftest-2 failures on a CLOSED TREE. 2013-03-26 16:52:17 -04:00
Seth Fowler
5b90185483 Bug 826093 (Part 4) - Use ClippedImage instead of ExtractFrame for border-image. r=bz 2013-03-26 11:56:46 -07:00
Seth Fowler
fdc10b87fb Bug 826093 (Part 3) - Use ClippedImage instead of ExtractFrame for -moz-image-rect. r=bz 2013-03-26 11:56:46 -07:00
Daniel Holbert
cdb46fbf89 Bug 473236, 2013 edition: Remove executable bit from files that clearly don't need it (html, xhtml, xul, svg, png, jpg, ttf files in test dirs within /layout). DONTBUILD 2013-03-25 17:01:35 -07:00
Matt Woodrow
b73fa1db2b Bug 852850 - Remove the faily test_image_layers.html mochitest. r=joe
--HG--
extra : rebase_source : c394b7f89327dd9e8f0f08f174d48cd18de93c85
2013-03-20 14:52:43 +13:00
Benoit Girard
6ed333dbb5 Bug 851611 - Part 3: Rename headers. r=jrmuizel
--HG--
rename : tools/profiler/sampler.h => tools/profiler/GeckoProfiler.h
rename : tools/profiler/sps_sampler.h => tools/profiler/GeckoProfilerImpl.h
extra : rebase_source : 6ea7c660764a4390cdd8dd91561fff1d7bad6035
2013-03-18 15:25:50 +01:00
Benoit Girard
bbe4c3065e Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : f76accc3d3dd86c75cb3e9750734f23ec9c29941
2013-03-16 00:47:02 -04:00
Christian Holler
2ff6bc13f4 Bug 852476 - Fix Valgrind annotations in nsPresArena.cpp. r=mats
--HG--
extra : rebase_source : 0f7ffca296ad5a68ebef0e44b3b5be4b5370c04d
2013-03-25 15:27:43 +01:00
Cameron McCormack
1d87113442 Bug 842142 - Prevent odd text wrapping in SVG text. r=roc 2013-03-25 14:50:59 +11:00
Olli Pettay
1588d9520d Bug 737100 - Extend Pointer Lock (Mouse Lock) for non-fullscreen elements, p=smaug,dolske, r=cpearce,dolske,smaug 2013-03-24 12:32:44 +02:00
Daniel Holbert
ddec4ceb1b Bug 782441 part 1: Add FCDATA_MAY_NEED_SCROLLFRAME bit to flex container display data. r=bz 2013-03-22 08:13:49 -07:00
Daniel Holbert
8313ee19fd Bug 851396: Keep skipping flex-item style fixup for anonymous content through the call to AddFrameConstructionItemsInternal, to handle style re-resolution after XBL bindings load. r=bz 2013-03-21 18:50:54 -07:00
Mike Shal
f290401a73 Bug 852534 - Remove GRE_MODULE from Makefile.in; r=gps 2013-03-21 08:41:00 -07:00
Matt Woodrow
66180dc4c1 Bug 822086 - Handle a nullptr ContainerLayer in nsDisplayTransform::BuildLayer. r=bustage CLOSED TREE 2013-03-21 16:27:02 +13:00
Matt Woodrow
122ed9c4e6 Bug 822086 - Don't build ContainerLayers that would have a singular matrix. r=roc 2013-03-21 15:33:00 +13:00
Matt Woodrow
5daadff213 Bug 850672 r=roc 2013-03-21 15:33:00 +13:00
Boris Zbarsky
04fb8c2cb8 Bug 852636. Remove unused argument of InitAndRestoreFrame. r=dholbert 2013-03-20 12:22:25 -04:00
Joe Drew
b4f0cd5d8d Bug 852997 - Disable failure in test_image_layers.html, which intermittently fails. 2013-03-20 11:59:33 -04:00
Robert O'Callahan
c35d68c457 Bug 846901 - Support prerendering elements with animated transforms that are offscreen but only by a small amount. r=mattwoodrow 2013-03-19 09:08:29 -04:00