Cameron McCormack
26873544a3
Backout bug 508725 (d267bb4b58b5, 50f71edffeb9, 6aec8e22fe60, e62e1f33958a, 0f146c435249, eb959b9f4862, 2b0ee42f3aa0, 02db01cd6796, 2ef0e517d43d, b650588e05c9 and a3c916829d56) for build failure on a CLOSED TREE.
2013-01-08 19:36:21 +11:00
Cameron McCormack
e4e4c560a0
Bug 508725 - Part 5: Record the <style scoped> elements in scope in preparation for selector matching. r=dbaron
2013-01-08 19:09:23 +11:00
Jeff Walden
7146c23e80
Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger
2012-12-14 18:58:45 -05:00
Ms2ger
4f3a54421a
Bug 810668 - Fix some gcc4.6 build warnings; r=bz
2012-12-02 09:54:55 +01:00
Kartikaya Gupta
268082eeb3
Bug 814418 - Fix some warnings about unused variables. r=ehsan
2012-11-30 11:06:37 -05:00
Robert O'Callahan
ef63ff8332
Bug 811301. Part 2: Remove saved state IDs now that the root scroll frame state is captured normally. r=mats
2012-11-14 22:40:17 -08:00
Peter Van der Beken
0fca6b2112
Fix for bug 801083 (Remove old proxy-based list bindings). r=bz.
2012-10-13 14:50:24 +02:00
David Zbarsky
52e0277cdc
Bug 799407: Enable FAIL_ON_WARNINGS in more of layout/ r=roc
2012-10-15 01:42:40 -04:00
David Zbarsky
47da3f3432
Backout 784bb7c5ea9c (Bug 799407) for bustage
2012-10-15 02:14:34 -04:00
David Zbarsky
92d607b47a
Bug 799407: Enable FAIL_ON_WARNINGS in more of layout/ r=roc
2012-10-15 01:42:40 -04:00
David Zbarsky
307c734c43
[Bug 799407] Fix build warnings in layout r=roc
2012-10-10 01:00:05 -04:00
Cameron McCormack
dcbd7a8fb2
Bug 782888 - Do not propagate nsChangeHint_UpdateEffects to text nodes. r=bz
2012-10-05 12:47:52 +10:00
Matt Woodrow
1572061ab5
Bug 539356 - Make the table code use rect invalidation to avoid over invalidation. r=roc
2012-08-29 17:48:45 +12:00
Matt Woodrow
958ce7d98d
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
2012-08-29 17:39:31 +12:00
Ed Morley
c863356300
Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE
2012-09-27 16:34:46 +01:00
Matt Woodrow
e3ab671352
Bug 539356 - Make the table code use rect invalidation to avoid over invalidation. r=roc
2012-08-29 17:48:45 +12:00
Matt Woodrow
c73c0db2f1
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-08-29 17:38:58 +12:00
L. David Baron
3b39567e77
Add more profile labels for the separate parts of restyle processing. (Bug 790379) rs=cjones
2012-09-11 21:05:03 -07:00
L. David Baron
f646baaa52
Rename nsChangeHint_ReflowFrame to nsChangeHint_AllReflowHints to make it clearer that it's the one that contains multiple bits. (Bug 789592, patch 2) r=bzbarsky
2012-09-07 15:57:06 -07:00
L. David Baron
a272065d84
Make nsStyleContext::CalcStyleDifference force comparison based on the parent's hint instead of the style struct ForceCompare methods. (Bug 779968, patch 6, the main patch) r=bzbarsky
...
This propagates the non-inherited (in the nsChangeHint sense, not the
CSS inheritance sense) parts of the parent's change hint through
ReResolveStyleContext so that we can use them in
nsStyleContext::CalcDifference. In the cases where we don't know the
parent's hint, we assume the worst, that all the non-inherited hints
were present in the parent's style change.
This should be a significant performance improvement handling simple
style changes (such as a style attribute change setting a non-inherited
property) on elements with large numbers of descendants that have data
in ForceCompare structs that can't be stored in the rule tree (for
example, margins or widths in em or rem units).
2012-09-07 10:13:36 -07:00
L. David Baron
d73fade352
Abstract nsChangeHint_NonInherited_Hints into a function so that it accurately reports the reflow cases to all callers. (Bug 779968, patch 4) r=bzbarsky
...
This is in preparation for adding an additional caller.
nsChangeHint_NonInherited_Hints will be reintroduced in patch 6, but as
the maximum set of such hints rather than the minimal set, and with the
less confusing name nsChangeHint_Hints_NotHandledForDescendants.
2012-09-07 10:13:36 -07:00
Randell Jesup
eedf93a21d
Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg
2012-09-01 22:35:17 -04:00
Ehsan Akhgari
0fd9123eac
Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
...
This patch was generated by a script. Here's the source of the script for
future reference:
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t
convert PRIntn int
convert PRUintn unsigned
convert PRSize size_t
convert PROffset32 int32_t
convert PROffset64 int64_t
convert PRPtrdiff ptrdiff_t
convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Aryeh Gregor
0923bf00ef
Bug 780618 - Move all error codes to nsError.h; r=ehsan
2012-07-27 17:03:27 +03:00
Ms2ger
3f950b5744
Bug 780387 - Part b: Stop using PRIntn; r=bsmedberg
2012-08-09 09:09:40 +02:00
Aryeh Gregor
e806eeab4f
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
Jeff Muizelaar
5e678dc998
Bug 764188 - Expose a global frame tree generation number. r=dbaron
...
This generation number will be incremented every time that the frame
tree for a presshell changes. Callers need to deal with the case where
this value overflows. We use this to avoid a bunch of Android
screenshotting.
2012-07-04 11:42:29 -04:00
Ehsan Akhgari
5e6974df88
Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions
2012-07-03 20:24:55 -04:00
David Zbarsky
ae718ee1c0
Bug 763350 - Clean up some includes in content/ and dom/ r=smaug
2012-07-01 16:45:59 -07:00
Matt Woodrow
cbd39105d9
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-06-30 15:06:11 +12:00
Jonathan Watt
6380335603
Bug 767388 - Kill NS_DEBUG. r=bz.
...
--HG--
extra : rebase_source : d045208a26345712dbb4628c973c616cd9504f28
2012-06-25 20:59:42 +01:00
Boris Zbarsky
39f6f39d17
Bug 763424. Dynamic changes to generated content don't work correctly on frames which pass a child content insertion frame to ProcessChildren (e.g. <td>). r=dbaron
2012-06-11 18:21:35 -04:00
Ed Morley
a73fc227f9
Backout 61fd66629c4f, 7c8121f8d3af & 2a2e9cf8fd41 (bug 539356), e31a5e6545d3 (bug 761884), 85fa80bd9792, a284ccb25b83, 2865904db9fc, 34e07b09c426, e9b3d41e0360, cef00ebcd6c8, f943b729ac14 & 783f298401b6 (bug 539356), 330a086f1570 (bug 741682), d80219c8842c (bug 739671), e8c96b4fd4da, 313af486e68d, 0adc41ff56dc, 0cd288a38085, f1d43208825c, 4859876972f3, eec8ef3ebe48, f7f29fcd1845, 6079b229d306, f23c3a7e7ce0, 9824458a41e2 & 6748b5496059 (bug 539356) for mochitest-4 orange & talos regressions on multiple platforms
2012-06-11 10:08:32 +01:00
Matt Woodrow
147cab5783
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
...
* * *
Bug 539356 - Part 9a - Add new display list invalidation API to nsDisplayItem and implement it. r=roc
* * *
Bug 539356 - Part 9b - Add new frame invalidation API. r=roc
* * *
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
* * *
Bug 539356 - Part 9d - Make SVG support the new invalidation model. r=jwatt
* * *
Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
* * *
Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc
* * *
Bug 539356 - Part 9g - Modify MozAfterPaint code to work with the new invalidation model. r=roc
2012-06-11 16:45:30 +12:00
Ehsan Akhgari
5682d40581
Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron
...
This patch adds a change hint to signal that one of the offsets on a
frame has been changed. When processing the hint, we do one of the
following things based on the position property of the frame.
* For static frames, we ignore the offset changes completely, as they
will not change the layout.
* For relative positioned frames, this patch refactors the
nsHTMLReflowState::ComputeRelativeOffsets function so that it can be
used from other callers, and it uses that to compute the new relative
offsets, and uses the offsets computed previously to compute the new
position of the frame.
* For absolute positioned frames, we set up a fake parent reflow state
object, and then we create a new reflow state object for the frame in
question. This setup is similar to what nsFrame::BoxReflow does.
Once we have the new reflow state object, we use it to compute the
absolute offsets, and then we use the computed offsets to set the new
position of the frame. The offset computation is similar to what
nsAbsoluteContainingBlock::ReflowAbsoluteFrame does. In some cases
where it is possible for the dimensions of the frame to change based
on the offset changes, we fall back to a full reflow.
2012-06-06 00:53:48 -04:00
Boris Zbarsky
6e136586b6
Bug 464758. Don't try to check for :before/:after pseudos for frames that can't have them. r=dbaron
2012-05-29 23:45:17 -04:00
Gervase Markham
ca171eec44
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Boris Zbarsky
2e3a0eefe3
Bug 751012. When saving frame state, make sure to walk through placeholders so we save the state of out-of-flow descendants properly. Also make sure to walk the continuations and special siblings of the root frame that we're saving state for. r=roc
2012-05-09 21:27:47 -04:00
Matt Woodrow
d6105b78f4
Bug 729955 - Invalidate destroyed out-of-flow frames before unregistering the placeholder frame. r=bz
2012-03-26 11:27:37 -07:00
Boris Zbarsky
a3c1ab17a1
Bug 736389. Get rid of code that reresolved style on overflow containers multiple times and in the process violated some invariants other code depended on. r=mats
2012-03-16 13:13:14 -04:00
Boris Zbarsky
5de63bd68d
Bug 705877 part 5. Make style reresolution actually use ancestor filters. r=dbaron
2012-03-12 22:54:15 -05:00
Phil Ringnalda
b1d1a41987
Back out 83a33626d965:6e9330f5a9bd (bug 732667 and bug 705877) for Windows build bustage
2012-03-12 22:12:41 -07:00
Boris Zbarsky
8469637d0c
Bug 705877 part 5. Make style reresolution actually use ancestor filters. r=dbaron
2012-03-12 22:54:15 -05:00
Matt Woodrow
6905e450dd
Bug 721082 - Constify nsIFrame::GetParentStyleContextFrame. r=roc
2012-02-15 22:28:21 +13:00
Robert O'Callahan
4146c611c0
Bug 724502. Ensure that UpdateTransformLayer and UpdateOpacityLayer change hints generate a new change list entry for every frame whose style asks for them. r=matspal
2012-02-08 11:52:59 +13:00
Mats Palmgren
78c681b88a
Bug 724432 - Skip UpdateOverflow if we did Reflow. Don't propagate UpdateOverflow in ReResolveStyleContext. r=roc
2012-02-07 12:31:47 +01:00
Jonathan Watt
baa7ef5264
Bug 714839 - Make nsCSSFrameConstructor inherit nsFrameManager. r=bz.
...
--HG--
extra : rebase_source : 23c36617c5088884b7e1ecea48e6c09aa8757690
2012-02-02 10:06:46 +00:00
Ehsan Akhgari
9ad3976ebf
Bug 691118 - Frames inserted into the frame manager should only be overflow containers, not true overflow containers; r=roc
2012-01-03 19:44:07 -05:00
David Zbarsky
4a23b35179
Bug 660959 - Update link state less lazily r=bz
2011-11-14 16:24:41 +13:00
Olli Pettay
a86b1a4d43
Bug 682420 - Rename nsINode::GetOwnerDoc to nsINode::OwnerDoc, part 1, r=jst
...
--HG--
extra : rebase_source : baf1a25cdea68d499a7673fdf96e27b5a12dc83c
2011-10-18 13:53:36 +03:00
Ehsan Akhgari
2a602a5685
Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
...
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Ehsan Akhgari
b273fc68d8
Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc
2011-04-29 19:02:33 -04:00
Michael Wu
d8e503c38b
Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
...
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Mats Palmgren
4a82c200c1
Bug 685154 - Cleanup nsIFrame::GetParentStyleContextFrame and related code. r=roc
...
Make nsIFrame::GetParentStyleContextFrame return the frame directly
instead of indirectly through an out parameter. Remove the unused
nsPresContext parameter.
2011-09-12 09:08:07 -07:00
Mats Palmgren
6894179e71
Bug 653649 - New way of getting child lists from frames. (part 4/5) r=roc
...
Remove the nsIAtom* child list names and use child list ID enum instead.
2011-08-24 22:54:30 +02:00
Mats Palmgren
f06792a6ef
Bug 653649 - New way of getting child lists from frames. (part 3/5) r=roc
...
Update GetAdditionalChildListName consumers to use the new
child list iterator instead.
2011-08-24 22:54:29 +02:00
Boris Zbarsky
9c3c3f2062
Bug 670467. Correctly reresolve style on non-first continuations and non-first parts of {ib} splits even when we're restyling both an ancestor of the element and the element itself. r=dbaron
2011-08-11 23:52:21 -04:00
arno renevier
5388ac92cf
Bug 669299 - Remove unneeded nsPrintfCString.h includes. r=bsmedberg
2011-07-21 04:37:31 +02:00
Alexander Surkov
047029f65e
Bug 671504 - get rid nsIPresShell::gAccessibilityIsActive, r=roc
2011-07-19 17:30:19 +09:00
Ehsan Akhgari
c4436101c8
Back out bug 10209 and bug 656875 (its regression fix) from Aurora because the work on this bug has not been finished yet
...
--HG--
extra : transplant_source : t%9F%EB%2Aa%A4%C0%9Ab%A5%DDQ%3EMD%5E%01h%E7%2A
2011-06-01 16:18:15 -04:00
Craig Topper
cfe91e4f31
Bug 654369 - Part 11: Remove OOM checks from layout/base r=bz
...
--HG--
extra : rebase_source : a725d78f3e128d6d4ca1eb48eec1cfc78f7762bf
2011-04-28 22:02:40 -07:00
Boris Zbarsky
b9d0413149
Bug 631529. Pass a TreeMatchContext into ReResolveStyleContext so that we can share the nth-index cache across the entire reresolution. r=dbaron
2011-05-24 20:19:09 -04:00
Ehsan Akhgari
e4c89e2e5d
Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc
2011-04-29 19:02:33 -04:00
L. David Baron
f31f11de17
Should check link-related bits before reusing style context for root element. (Bug 652268) r=bzbarsky
2011-04-22 18:36:24 -07:00
timeless@mozdev.org
c8cc4b3ae6
Bug 587484 - warning: suggest parentheses around assignment used as truth value in while (... = GetNextContinuation())
...
r+a=dbaron
2011-02-16 14:14:14 +01:00
Alexander Surkov
f1d1126c15
Bug 628922 - layout should use cached nsIAccessibilityService, r=davidb, sr=roc, a=roc
2011-01-28 12:38:14 +08:00
Ehsan Akhgari
75e267cec2
Bug 581536 - Part 2: Reconstruct the document element frames when the dir attribute is set on the document; r=bzbarsky a=blocking-betaN+
...
--HG--
rename : layout/reftests/forms/textarea-rtl.html => layout/reftests/forms/textarea-in-dynamic-rtl-doc.html
extra : rebase_source : 444e9dfa75be1e880679c405afd90cfc4031131c
2010-12-15 12:26:54 -08:00
timeless@mozdev.org
ecfb24b349
Bug 615841 ourA11yNotification is only used in nsFrameManager::ReResolveStyleContext ifdef ACCESSIBILITY
...
r+a=bz
--HG--
extra : rebase_source : 9fe91fdff530e26416f2c212977fd2de4292fa2e
2010-12-04 11:07:53 +01:00
Alexander Surkov
c85084833e
Bug 606125 - develop a way to handle visibility style, r=marcoz, davidb, sr=bz, a=blocking
...
--HG--
rename : accessible/tests/mochitest/treeupdate/test_tableinsubtree.html => accessible/tests/mochitest/treeupdate/test_ariadialog.html
2010-11-13 12:49:26 -05:00
Alexander Surkov
b049d3e67a
Bug 570275 - rework accessible tree update code, r=marcoz, davidb, bz, a=blocking
2010-10-21 13:16:10 +09:00
Robert O'Callahan
c7acef03ff
Bug 579323. Part 1.8: Rename InvalidateOverflowRect to InvalidateFrameSubtree. r=tnikkel
...
--HG--
rename : layout/generic/nsFrameFrame.cpp => layout/generic/nsSubDocumentFrame.cpp
extra : rebase_source : f7bd38670a03e8a7f3f8c40838af114be79b06f1
2010-08-31 12:49:12 +12:00
Mats Palmgren
a9ff1e450d
Bug 576649. r=bzbarsky a=blocking2.0
2010-08-10 19:04:43 -03:00
Boris Zbarsky
7f14719c4d
Bug 573241. When reparenting a style context, don't include any transition rules the old context might have had in the new one, since that can confuse transitions. r=dbaron
2010-06-23 00:46:27 -04:00
Boris Zbarsky
2e0c510982
Bug 569006. Skip probing for ::before/::after during reresolve if we're not redoing matching on kids, since those can't appear/disappear without either a reframe or a change in what selectors we match. r=dbaron
2010-06-18 12:23:05 -04:00
Boris Zbarsky
e81230c9bb
Bug 494117 part 2. Don't force selector matching on the whole subtree rooted at an element when the element's style changes. r=dbaron
2010-06-18 12:23:05 -04:00
Boris Zbarsky
7cd4ee91fa
Bug 479655 part 7. Switch to the new setup for tracking and handling restyles. r=dbaron
2010-06-18 12:23:05 -04:00
Boris Zbarsky
f8d9da8e92
Bug 479655 part 5. Pass the relevant restyle tracker through to style reresolution. r=dbaron
2010-06-18 12:23:05 -04:00
Boris Zbarsky
c9c80444ca
Fix the comment to not talk about irrelevant things.
2010-06-09 00:03:10 -04:00
Boris Zbarsky
cf5cde8e24
Bug 570866. De-bogify the assertion.
2010-06-08 23:36:17 -04:00
Boris Zbarsky
43a16212af
Add assertions that would catch bug 558943 earlier. r=dbaron
2010-06-08 15:58:26 -04:00
Boris Zbarsky
f52ee1468f
Bug 565815. Use Element in the transition manager instead of nsIContent. r=dbaron
2010-05-14 13:04:51 -04:00
Boris Zbarsky
7ef058e29f
Bug 565809. Move checking for style attribute changes into the cascade level. r=dbaron
2010-05-14 13:04:51 -04:00
Michael Kohler
9397418412
Bug 506041 Part 2: Correct misspellings in source code
...
r=timeless
2010-05-13 14:19:50 +02:00
Boris Zbarsky
ccb1be60c3
Bug 562688 part 10. Eliminate eELEMENT usage in layout/base. r=dbaron
2010-04-30 09:12:06 -04:00
Boris Zbarsky
04027a9479
Bug 562688 part 4. Change GetRootContent and the like to return Elements. r=jst, sr=sicking
2010-04-30 09:12:05 -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
3eacc25287
Split nsStyleSet::ResolveStyleForRules into two different APIs for the two different types of uses. (Bug 147777) r=bzbarsky
2010-04-02 18:58:25 -07:00
Zack Weinberg
54ad0fb73a
Bug 494117: Mechanically change 'ReParent' to 'Reparent' throughout the tree. r=bzbarsky
2010-04-01 23:07:43 -07:00
Zack Weinberg
7186dd3ecb
Bug 494117: remove PresContext argument to nsStyleSet::GetContext. r=bzbarsky
2010-04-01 23:07:42 -07:00
Zack Weinberg
ee4e0f1e56
Bug 494117 preliminary refactor: Search-and-replace 'ReStyle' with 'Restyle' throughout layout. r=roc
2010-03-31 17:43:32 -07: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
Boris Zbarsky
c3626d1503
Bug 536718. Clean up NotifyDestroyingFrame. r=roc
2009-12-29 15:13:54 -05:00
Boris Zbarsky
8519610b49
Bug 500882 part 7. Remove the old GetPrimaryFrameFor API. r=roc, sr=dbaron
2009-12-24 16:20:06 -05:00
Boris Zbarsky
b2e4054198
Bug 500882 part 2. Switch setting of primary frames to the new API; switch nsFrameManager::GetPrimaryFrameFor to the new API; remove resulting gobs of dead code. r=roc
2009-12-24 16:20:05 -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
Boris Zbarsky
99027aa785
Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron
2009-12-11 02:37:40 -05:00
Boris Zbarsky
e9f228c7d5
Backing out bug 525608 and bug 525952
2009-12-10 18:28:08 -08:00
Boris Zbarsky
0a82b262db
Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron
2009-12-10 14:36:05 -08:00