Commit Graph

4843 Commits

Author SHA1 Message Date
Cameron McCormack
26ad150ad9 Bug 655877 - Part 42: Construct new SVG text frames if the pref is set. r=bz 2013-02-11 17:22:18 +11:00
Cameron McCormack
644d6627b1 Bug 655877 - Part 41b: Make SVG text selectable with the mouse. r=roc,jwatt 2013-02-11 17:22:18 +11:00
Cameron McCormack
233ef5726d Bug 655877 - Part 36: Make referenced text path updates cause SVG text relayout. r=longsonr,jwatt 2013-02-11 17:22:17 +11:00
Cameron McCormack
9d29be6fdc Bug 655877 - Part 31d: Hook SVG text scaling into CSS text frames. r=roc 2013-02-11 17:22:17 +11:00
Cameron McCormack
af038561fc Bug 655877 - Part 31b: New frame class nsSVGTextFrame2 for SVG text using CSS block/inline/text frames for layout. r=jwatt 2013-02-11 17:22:16 +11:00
Jonathan Kew
1d28c90cd6 bug 817454 - ensure PresContext's cached mAppUnitsPerDevPixel value is updated when backing resolution changes. r=roc 2013-02-07 00:19:01 +00:00
Christian Holler
6fd655dead Bug 838150 - Add ASan and Valgrind annotations to JS LifoAlloc. r=bhackett 2013-02-06 14:30:01 +01:00
Masayuki Nakano
e7626c4be8 Bug 838001 IME management code should use root widget instead of the nearest widget of the PresContext r=smaug 2013-02-06 11:50:02 +09:00
Chris Jones
6046a91976 Bug 836198: Create a "zombie" state for PresShell and use it for the preloaded TabChild PresShell. r=bz 2013-02-04 22:38:54 -08:00
Vivien Nicolas ext:(%20and%20Chris%20Jones%20%3Cjones.chris.g%40gmail.com%3E)
bd73782b55 Rollup of bug 819000: Preload about:blank. r=cjones, r=jlebar
Includes the following patches

Bug 819000: Bail out of PresShell::Paint if not active. r=roc
Bug 819000: Make sure preloaded docshells are reset to active. r=jlebar
Bug 819000: Preload about:blank. r=cjones a=cjones
2013-01-24 10:39:18 -08:00
Matt Woodrow
5bcac828f4 Bug 836844 - Pass the right clip area for canvas frames. r=roc 2013-02-04 07:11:49 -05:00
Alex Vincent
46b6a18189 Bug 833879 - Move layout/xul/base/src/tree/ to layout/xul/tree, layout/xul/base/src/grid to layout/xul/grid. r=roc
--HG--
rename : layout/xul/base/src/grid/Makefile.in => layout/xul/grid/Makefile.in
rename : layout/xul/base/src/grid/crashtests/306911-crash.xul => layout/xul/grid/crashtests/306911-crash.xul
rename : layout/xul/base/src/grid/crashtests/306911-grid-testcases.xul => layout/xul/grid/crashtests/306911-grid-testcases.xul
rename : layout/xul/base/src/grid/crashtests/306911-grid-testcases2.xul => layout/xul/grid/crashtests/306911-grid-testcases2.xul
rename : layout/xul/base/src/grid/crashtests/311710-1.xul => layout/xul/grid/crashtests/311710-1.xul
rename : layout/xul/base/src/grid/crashtests/312784-1.xul => layout/xul/grid/crashtests/312784-1.xul
rename : layout/xul/base/src/grid/crashtests/313173-1-inner.xul => layout/xul/grid/crashtests/313173-1-inner.xul
rename : layout/xul/base/src/grid/crashtests/313173-1.html => layout/xul/grid/crashtests/313173-1.html
rename : layout/xul/base/src/grid/crashtests/321066-1.xul => layout/xul/grid/crashtests/321066-1.xul
rename : layout/xul/base/src/grid/crashtests/321073-1.xul => layout/xul/grid/crashtests/321073-1.xul
rename : layout/xul/base/src/grid/crashtests/382750-1.xul => layout/xul/grid/crashtests/382750-1.xul
rename : layout/xul/base/src/grid/crashtests/400790-1.xul => layout/xul/grid/crashtests/400790-1.xul
rename : layout/xul/base/src/grid/crashtests/423802-crash.xul => layout/xul/grid/crashtests/423802-crash.xul
rename : layout/xul/base/src/grid/crashtests/crashtests.list => layout/xul/grid/crashtests/crashtests.list
rename : layout/xul/base/src/grid/examples/borderedcolumns.xul => layout/xul/grid/examples/borderedcolumns.xul
rename : layout/xul/base/src/grid/examples/borderedrowscolumns.xul => layout/xul/grid/examples/borderedrowscolumns.xul
rename : layout/xul/base/src/grid/examples/borderedrowscolumns2.xul => layout/xul/grid/examples/borderedrowscolumns2.xul
rename : layout/xul/base/src/grid/examples/borderedrowscolumns3.xul => layout/xul/grid/examples/borderedrowscolumns3.xul
rename : layout/xul/base/src/grid/examples/bordermargincolumns1.xul => layout/xul/grid/examples/bordermargincolumns1.xul
rename : layout/xul/base/src/grid/examples/collapsetest.xul => layout/xul/grid/examples/collapsetest.xul
rename : layout/xul/base/src/grid/examples/divcolumngrid.xul => layout/xul/grid/examples/divcolumngrid.xul
rename : layout/xul/base/src/grid/examples/divrowgrid.xul => layout/xul/grid/examples/divrowgrid.xul
rename : layout/xul/base/src/grid/examples/dynamicgrid.xul => layout/xul/grid/examples/dynamicgrid.xul
rename : layout/xul/base/src/grid/examples/flexgroupgrid.xul => layout/xul/grid/examples/flexgroupgrid.xul
rename : layout/xul/base/src/grid/examples/javascriptappend.xul => layout/xul/grid/examples/javascriptappend.xul
rename : layout/xul/base/src/grid/examples/jumpygrid.xul => layout/xul/grid/examples/jumpygrid.xul
rename : layout/xul/base/src/grid/examples/nestedrows.xul => layout/xul/grid/examples/nestedrows.xul
rename : layout/xul/base/src/grid/examples/rowspan.xul => layout/xul/grid/examples/rowspan.xul
rename : layout/xul/base/src/grid/examples/scrollingcolumns.xul => layout/xul/grid/examples/scrollingcolumns.xul
rename : layout/xul/base/src/grid/examples/scrollingrows.xul => layout/xul/grid/examples/scrollingrows.xul
rename : layout/xul/base/src/grid/examples/splitter.xul => layout/xul/grid/examples/splitter.xul
rename : layout/xul/base/src/grid/nsGrid.cpp => layout/xul/grid/nsGrid.cpp
rename : layout/xul/base/src/grid/nsGrid.h => layout/xul/grid/nsGrid.h
rename : layout/xul/base/src/grid/nsGridCell.cpp => layout/xul/grid/nsGridCell.cpp
rename : layout/xul/base/src/grid/nsGridCell.h => layout/xul/grid/nsGridCell.h
rename : layout/xul/base/src/grid/nsGridLayout2.cpp => layout/xul/grid/nsGridLayout2.cpp
rename : layout/xul/base/src/grid/nsGridLayout2.h => layout/xul/grid/nsGridLayout2.h
rename : layout/xul/base/src/grid/nsGridRow.cpp => layout/xul/grid/nsGridRow.cpp
rename : layout/xul/base/src/grid/nsGridRow.h => layout/xul/grid/nsGridRow.h
rename : layout/xul/base/src/grid/nsGridRowGroupFrame.cpp => layout/xul/grid/nsGridRowGroupFrame.cpp
rename : layout/xul/base/src/grid/nsGridRowGroupFrame.h => layout/xul/grid/nsGridRowGroupFrame.h
rename : layout/xul/base/src/grid/nsGridRowGroupLayout.cpp => layout/xul/grid/nsGridRowGroupLayout.cpp
rename : layout/xul/base/src/grid/nsGridRowGroupLayout.h => layout/xul/grid/nsGridRowGroupLayout.h
rename : layout/xul/base/src/grid/nsGridRowLayout.cpp => layout/xul/grid/nsGridRowLayout.cpp
rename : layout/xul/base/src/grid/nsGridRowLayout.h => layout/xul/grid/nsGridRowLayout.h
rename : layout/xul/base/src/grid/nsGridRowLeafFrame.cpp => layout/xul/grid/nsGridRowLeafFrame.cpp
rename : layout/xul/base/src/grid/nsGridRowLeafFrame.h => layout/xul/grid/nsGridRowLeafFrame.h
rename : layout/xul/base/src/grid/nsGridRowLeafLayout.cpp => layout/xul/grid/nsGridRowLeafLayout.cpp
rename : layout/xul/base/src/grid/nsGridRowLeafLayout.h => layout/xul/grid/nsGridRowLeafLayout.h
rename : layout/xul/base/src/grid/nsIGridPart.h => layout/xul/grid/nsIGridPart.h
rename : layout/xul/base/src/grid/reftests/column-sizing-1-ref.xul => layout/xul/grid/reftests/column-sizing-1-ref.xul
rename : layout/xul/base/src/grid/reftests/column-sizing-1.xul => layout/xul/grid/reftests/column-sizing-1.xul
rename : layout/xul/base/src/grid/reftests/not-full-basic-ref.xhtml => layout/xul/grid/reftests/not-full-basic-ref.xhtml
rename : layout/xul/base/src/grid/reftests/not-full-basic.xul => layout/xul/grid/reftests/not-full-basic.xul
rename : layout/xul/base/src/grid/reftests/not-full-grid-pack-align.xul => layout/xul/grid/reftests/not-full-grid-pack-align.xul
rename : layout/xul/base/src/grid/reftests/not-full-row-group-align-ref.xhtml => layout/xul/grid/reftests/not-full-row-group-align-ref.xhtml
rename : layout/xul/base/src/grid/reftests/not-full-row-group-align.xul => layout/xul/grid/reftests/not-full-row-group-align.xul
rename : layout/xul/base/src/grid/reftests/not-full-row-group-direction-ref.xhtml => layout/xul/grid/reftests/not-full-row-group-direction-ref.xhtml
rename : layout/xul/base/src/grid/reftests/not-full-row-group-direction.xul => layout/xul/grid/reftests/not-full-row-group-direction.xul
rename : layout/xul/base/src/grid/reftests/not-full-row-group-pack-ref.xhtml => layout/xul/grid/reftests/not-full-row-group-pack-ref.xhtml
rename : layout/xul/base/src/grid/reftests/not-full-row-group-pack.xul => layout/xul/grid/reftests/not-full-row-group-pack.xul
rename : layout/xul/base/src/grid/reftests/not-full-row-leaf-align.xul => layout/xul/grid/reftests/not-full-row-leaf-align.xul
rename : layout/xul/base/src/grid/reftests/not-full-row-leaf-direction.xul => layout/xul/grid/reftests/not-full-row-leaf-direction.xul
rename : layout/xul/base/src/grid/reftests/not-full-row-leaf-pack-ref.xhtml => layout/xul/grid/reftests/not-full-row-leaf-pack-ref.xhtml
rename : layout/xul/base/src/grid/reftests/not-full-row-leaf-pack.xul => layout/xul/grid/reftests/not-full-row-leaf-pack.xul
rename : layout/xul/base/src/grid/reftests/reftest.list => layout/xul/grid/reftests/reftest.list
rename : layout/xul/base/src/grid/reftests/row-or-column-sizing-1.xul => layout/xul/grid/reftests/row-or-column-sizing-1.xul
rename : layout/xul/base/src/grid/reftests/row-or-column-sizing-2.xul => layout/xul/grid/reftests/row-or-column-sizing-2.xul
rename : layout/xul/base/src/grid/reftests/row-or-column-sizing-3.xul => layout/xul/grid/reftests/row-or-column-sizing-3.xul
rename : layout/xul/base/src/grid/reftests/row-or-column-sizing-4.xul => layout/xul/grid/reftests/row-or-column-sizing-4.xul
rename : layout/xul/base/src/grid/reftests/row-sizing-1-ref.xul => layout/xul/grid/reftests/row-sizing-1-ref.xul
rename : layout/xul/base/src/grid/reftests/row-sizing-1.xul => layout/xul/grid/reftests/row-sizing-1.xul
rename : layout/xul/base/src/grid/reftests/scrollable-columns-ref.xhtml => layout/xul/grid/reftests/scrollable-columns-ref.xhtml
rename : layout/xul/base/src/grid/reftests/scrollable-columns.xul => layout/xul/grid/reftests/scrollable-columns.xul
rename : layout/xul/base/src/grid/reftests/scrollable-rows-ref.xhtml => layout/xul/grid/reftests/scrollable-rows-ref.xhtml
rename : layout/xul/base/src/grid/reftests/scrollable-rows.xul => layout/xul/grid/reftests/scrollable-rows.xul
rename : layout/xul/base/src/grid/reftests/sizing-2d-ref.xul => layout/xul/grid/reftests/sizing-2d-ref.xul
rename : layout/xul/base/src/grid/reftests/sizing-2d.xul => layout/xul/grid/reftests/sizing-2d.xul
rename : layout/xul/base/src/grid/reftests/z-order-1-ref.xul => layout/xul/grid/reftests/z-order-1-ref.xul
rename : layout/xul/base/src/grid/reftests/z-order-1.xul => layout/xul/grid/reftests/z-order-1.xul
rename : layout/xul/base/src/grid/reftests/z-order-2-ref.xul => layout/xul/grid/reftests/z-order-2-ref.xul
rename : layout/xul/base/src/grid/reftests/z-order-2.xul => layout/xul/grid/reftests/z-order-2.xul
rename : layout/xul/base/src/tree/src/Makefile.in => layout/xul/tree/Makefile.in
rename : layout/xul/base/src/tree/src/crashtests/307298-1.xul => layout/xul/tree/crashtests/307298-1.xul
rename : layout/xul/base/src/tree/src/crashtests/309732-1.xul => layout/xul/tree/crashtests/309732-1.xul
rename : layout/xul/base/src/tree/src/crashtests/309732-2.xul => layout/xul/tree/crashtests/309732-2.xul
rename : layout/xul/base/src/tree/src/crashtests/366583-1.xul => layout/xul/tree/crashtests/366583-1.xul
rename : layout/xul/base/src/tree/src/crashtests/380217-1.xul => layout/xul/tree/crashtests/380217-1.xul
rename : layout/xul/base/src/tree/src/crashtests/382444-1-inner.html => layout/xul/tree/crashtests/382444-1-inner.html
rename : layout/xul/base/src/tree/src/crashtests/382444-1.html => layout/xul/tree/crashtests/382444-1.html
rename : layout/xul/base/src/tree/src/crashtests/391178-1.xhtml => layout/xul/tree/crashtests/391178-1.xhtml
rename : layout/xul/base/src/tree/src/crashtests/391178-2.xul => layout/xul/tree/crashtests/391178-2.xul
rename : layout/xul/base/src/tree/src/crashtests/393665-1.xul => layout/xul/tree/crashtests/393665-1.xul
rename : layout/xul/base/src/tree/src/crashtests/399227-1.xul => layout/xul/tree/crashtests/399227-1.xul
rename : layout/xul/base/src/tree/src/crashtests/399227-2.xul => layout/xul/tree/crashtests/399227-2.xul
rename : layout/xul/base/src/tree/src/crashtests/399692-1.xhtml => layout/xul/tree/crashtests/399692-1.xhtml
rename : layout/xul/base/src/tree/src/crashtests/399715-1.xhtml => layout/xul/tree/crashtests/399715-1.xhtml
rename : layout/xul/base/src/tree/src/crashtests/409807-1.xul => layout/xul/tree/crashtests/409807-1.xul
rename : layout/xul/base/src/tree/src/crashtests/414170-1.xul => layout/xul/tree/crashtests/414170-1.xul
rename : layout/xul/base/src/tree/src/crashtests/430394-1.xul => layout/xul/tree/crashtests/430394-1.xul
rename : layout/xul/base/src/tree/src/crashtests/454186-1.xul => layout/xul/tree/crashtests/454186-1.xul
rename : layout/xul/base/src/tree/src/crashtests/479931-1.xhtml => layout/xul/tree/crashtests/479931-1.xhtml
rename : layout/xul/base/src/tree/src/crashtests/509602-1-overlay.xul => layout/xul/tree/crashtests/509602-1-overlay.xul
rename : layout/xul/base/src/tree/src/crashtests/509602-1.xul => layout/xul/tree/crashtests/509602-1.xul
rename : layout/xul/base/src/tree/src/crashtests/601427.html => layout/xul/tree/crashtests/601427.html
rename : layout/xul/base/src/tree/src/crashtests/crashtests.list => layout/xul/tree/crashtests/crashtests.list
rename : layout/xul/base/src/tree/public/nsITreeBoxObject.idl => layout/xul/tree/nsITreeBoxObject.idl
rename : layout/xul/base/src/tree/public/nsITreeColumns.idl => layout/xul/tree/nsITreeColumns.idl
rename : layout/xul/base/src/tree/public/nsITreeContentView.idl => layout/xul/tree/nsITreeContentView.idl
rename : layout/xul/base/src/tree/public/nsITreeSelection.idl => layout/xul/tree/nsITreeSelection.idl
rename : layout/xul/base/src/tree/public/nsITreeView.idl => layout/xul/tree/nsITreeView.idl
rename : layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp => layout/xul/tree/nsTreeBodyFrame.cpp
rename : layout/xul/base/src/tree/src/nsTreeBodyFrame.h => layout/xul/tree/nsTreeBodyFrame.h
rename : layout/xul/base/src/tree/src/nsTreeBoxObject.cpp => layout/xul/tree/nsTreeBoxObject.cpp
rename : layout/xul/base/src/tree/src/nsTreeBoxObject.h => layout/xul/tree/nsTreeBoxObject.h
rename : layout/xul/base/src/tree/src/nsTreeColFrame.cpp => layout/xul/tree/nsTreeColFrame.cpp
rename : layout/xul/base/src/tree/src/nsTreeColFrame.h => layout/xul/tree/nsTreeColFrame.h
rename : layout/xul/base/src/tree/src/nsTreeColumns.cpp => layout/xul/tree/nsTreeColumns.cpp
rename : layout/xul/base/src/tree/src/nsTreeColumns.h => layout/xul/tree/nsTreeColumns.h
rename : layout/xul/base/src/tree/src/nsTreeContentView.cpp => layout/xul/tree/nsTreeContentView.cpp
rename : layout/xul/base/src/tree/src/nsTreeContentView.h => layout/xul/tree/nsTreeContentView.h
rename : layout/xul/base/src/tree/src/nsTreeImageListener.cpp => layout/xul/tree/nsTreeImageListener.cpp
rename : layout/xul/base/src/tree/src/nsTreeImageListener.h => layout/xul/tree/nsTreeImageListener.h
rename : layout/xul/base/src/tree/src/nsTreeSelection.cpp => layout/xul/tree/nsTreeSelection.cpp
rename : layout/xul/base/src/tree/src/nsTreeSelection.h => layout/xul/tree/nsTreeSelection.h
rename : layout/xul/base/src/tree/src/nsTreeStyleCache.cpp => layout/xul/tree/nsTreeStyleCache.cpp
rename : layout/xul/base/src/tree/src/nsTreeStyleCache.h => layout/xul/tree/nsTreeStyleCache.h
rename : layout/xul/base/src/tree/src/nsTreeUtils.cpp => layout/xul/tree/nsTreeUtils.cpp
rename : layout/xul/base/src/tree/src/nsTreeUtils.h => layout/xul/tree/nsTreeUtils.h
2013-02-04 07:11:49 -05:00
Mats Palmgren
2abdce6cae Bug 827150 - Notify ASan/Valgrind when moving entries in and out of a PresArena free list. r=roc,choller 2013-02-03 02:04:29 +01:00
Jonathan Watt
311968ccaf Bug 835883 - Give the -moz-orient property an 'auto' value, and make that its initial value. r=dholbert. 2013-02-02 19:13:22 +01:00
Mounir Lamouri
294b57c3ed Bug 833009 - Remove "nsContentUtils.h" inclusions from headers in layout/. r=bz 2013-01-23 19:37:17 +00:00
Robert O'Callahan
0765424df3 Bug 828146. Ensure nsDisplayBackgroundImage::ComputeInvalidationRegion invalidates something for nsDisplayBackgroundImages which are themed. r=mattwoodrow
--HG--
extra : rebase_source : 1050ffe991aed624958b9cb63f142a76a34fc67d
2013-02-01 17:09:32 +13:00
Jonathan Kew
84fcc4448d bug 829963 - fix hi-/lo-dpi scaling in window opened from script with explicit size on secondary display. r=roc 2013-01-30 12:04:19 +00:00
Matt Woodrow
c687c7e2ce Bug 833033 - Schedule a paint when document state changes. r=roc 2013-01-30 18:07:30 +13:00
Matt Woodrow
aba96f20c7 Bug 836179 - Add WriteDebugInfo so that display items can add extra information when printing display lists. r=roc 2013-01-30 18:07:30 +13:00
Matt Woodrow
695bc44b42 Bug 832341 - Use the correct border area (rather than the canvas area) when computing the bounds of an nsDisplayCanvasBackgroundImage. r=roc 2013-01-30 18:07:29 +13:00
Edwin Casasola
2f218c35f1 Bug 835171 - get rid of remaining traces of nsPIDOMEventTarget; r=smaug 2013-01-29 11:46:07 +01:00
Jacek Caban
c04208962b Bug 835422 - Check for NULL targetView in DispatchSynthMouseMove r=roc 2013-01-29 11:45:46 +01:00
Robert O'Callahan
7a8e466a9f Bug 833542. Make scrollWidth/scrollHeight for overflow:visible match what they would be for overflow:hidden on the same element. r=mats
--HG--
extra : rebase_source : 42d1018cf48caf1eec4bc9251ec1cb3eee30001b
2013-01-29 14:38:22 +13:00
L. David Baron
022804a80d Bug 835169: Remove unused mapping into style of table cols attribute. r=bzbarsky 2013-01-28 21:16:22 -08:00
Cameron McCormack
04fc1087f7 Bug 830278 - Allow disabling of selecting printing with mozdisallowselectionprint on the document element. r=roc 2013-01-29 15:59:55 +11:00
Mats Palmgren
f8ad7de82e Bug 835167 - Run the crashtest for bug 373628 wrapped in a <iframe> for one second. DONTBUILD 2013-01-28 22:45:41 +01:00
Robert O'Callahan
cc7dd9ccc8 Bug 826817. Part 4: Remove will-send-did-paint and did-send-will-paint flags from nsIPresShell APIs. r=tnikkel 2013-01-28 13:34:11 -06:00
Matt Woodrow
c219cc460e Bug 832611 - Use NotifyDestroyingFrame to remove frames from the OverflowChangedTracker. r=roc 2013-01-26 14:34:58 +13:00
Martijn Wargers
c3d87a1dba Bug 385354 - crashtest 2013-01-26 21:28:57 +01:00
Mats Palmgren
eaa07921cd Bug 373628 - crashtest 2013-01-26 21:28:56 +01:00
alex
0c46cdfce2 Bug 372576 - crashtest 2013-01-26 21:28:56 +01:00
Mats Palmgren
a9c5830d30 Bug 363729 - crashtests. 2013-01-26 14:15:29 +01:00
Mats Palmgren
e5e80904bf Bug 341382 - Add crashtests. 2013-01-25 18:34:30 +01:00
Matt Brubeck
bcbdda634a Bug 832101 - Don't fluff out click targets for events from non-touch input [r=roc] 2013-01-24 06:53:18 -08:00
Robert O'Callahan
63ac545cc9 Bug 830192. Integrate GetFixedContainingBlock into GetAbsoluteContainingBlock and ensure only elements which can be abs-pos containing blocks are turned into fixed-pos containing blocks when transformed. r=bzbarsky 2013-01-25 21:58:33 +13:00
Robert O'Callahan
d869cf0ec4 Backout 342c2b349402, bug 803192 2013-01-25 21:50:24 +13:00
Robert O'Callahan
8d583b393c Bug 830192. Integrate GetFixedContainingBlock into GetAbsoluteContainingBlock and ensure only elements which can be abs-pos containing blocks are turned into fixed-pos containing blocks when transformed. r=bzbarsky 2013-01-25 17:50:32 +13:00
Andrew Halberstadt
c7a85c20ae Bug 834382 - Disable failing b2g emulator crashtests, r=jgriffin 2013-01-24 15:07:07 -05:00
Bobby Holley
ca53b9e294 Bug 833412 - Remove AddBinding/RemoveBinding and remove dead code. r=bz 2013-01-24 18:45:50 +01:00
Kartikaya Gupta
74224b0ffa Bug 828126 - Enable ifdef'd code on Fennec now that dependent bugs have been fixed. r=avih 2013-01-23 00:52:19 -05:00
Robert O'Callahan
8b40491377 Backed out changeset e3ee71614172 (bug 830192)
--HG--
extra : rebase_source : d72290552011b539b8d9cc0a7a59dad4e585aa06
2013-01-23 18:19:45 +13:00
Robert O'Callahan
cd0a72d12e Bug 830192. Integrate GetFixedContainingBlock into GetAbsoluteContainingBlock and ensure only elements which can be abs-pos containing blocks are turned into fixed-pos containing blocks when transformed. r=bzbarsky
--HG--
extra : rebase_source : 4d9bd92b23b1011a8ffba33d009615eb7f42a8a7
2013-01-23 17:06:12 +13:00
Jeff Muizelaar
4557757880 Bug 823147 - Avoid moving the start location of non-repeating radial gradients. r=roc 2013-01-18 13:28:06 -05:00
Bobby Holley
b6cd6b4b66 Bug 832512 - Don't create SOWs for chrome code. r=bz 2013-01-22 23:06:26 +01:00
L. David Baron
21eea343bb Bug 832998: Fix a backwards OMTA-throttling-enabled check, to fix performance regression on the non-OMTA-throttling case. r=nrc 2013-01-22 20:42:52 +00:00
Christian Holler
ee15662554 Bug 832989 - Disable compiled test TestPoisonArea under ASan (incompatible). r=dbaron, a=nonlibxul 2013-01-21 23:23:00 +01:00
Mats Palmgren
7a42e0132e Bug 830236 (follow-up) - Keep the print engine when printing finished inside Print Preview. Make nsPrintEngine::DestroyPrintingData re-entrancy safe. r=cam 2013-01-20 13:40:09 +01:00
Trevor Saunders
b98e34aed0 bug 822289 - remove NS_IMPL_CYCLE_COLLECTION_CLASS and friends r=mccr8 2013-01-12 07:40:33 -05:00
Matt Woodrow
c2fad8e94f Bug 820839 - Draw OSX titlebar content into a retained buffer during the ThebesLayer painting phase, before we clear invalidation state. r=roc 2013-01-17 11:59:23 +13:00
Matt Woodrow
8a5da117b6 Bug 822906 - Use SplayTree to remove deleted frames from RestyleTracker. r=roc 2013-01-16 12:12:40 +13:00
Mats Palmgren
a5cb5824ea Bug 830236 - Add re-entrancy protection in a few places to avoid destroying things twice. r=cam 2013-01-15 21:47:10 +01:00
Mats Palmgren
d5826be6d7 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Matt Woodrow
d395ad24f5 Bug 829921 - Make sure that we don't choose a reference frame that is an ancestor of the root reference frame. r=roc 2013-01-14 18:30:47 +13:00
Phil Ringnalda
d9967d6bd1 Back out ecac2ce4eada (bug 828126) for busting b2g's arm 2013-01-13 17:48:33 -08:00
Kartikaya Gupta
4d6ef1543a Bug 828126 - Remove ANDROID special-casing now that dependent bugs have been fixed. r=avih 2013-01-13 19:19:03 -05:00
Ryan VanderMeulen
e59d7421d3 Backed out changeset c8fe09ac1842 (bug 825720) on suspicion of making bug 772443 nearly perma-orange. 2013-01-12 21:00:30 -05:00
Cameron McCormack
b8c8bf6c2c Bug 828805 - Implement SVG paint-order property. r=bz,roc 2013-01-13 10:27:53 +11:00
David Zbarsky
6168609ec2 Bug 827149 - Remove some uses of nsIDOMHTMLBodyElement r=bz 2013-01-12 16:53:01 -05:00
Anthony Jones
7cc38ffb42 Bug 825808 - Fix animations by marking transforms as not fixed. r=roc 2013-01-12 15:48:55 -05:00
Seth Fowler
2a183d535a Bug 825720 - Don't use GetRootLayoutFrame to calculate the size of SVG images. r=joe 2013-01-10 19:38:34 -08:00
Trevor Saunders
e400fe7845 bug 828138 - GetCurrentSelection() should return Selection* r=smaug 2012-12-19 17:55:44 -05:00
L. David Baron
28fa8b3991 Bug 588237, patch 4: Pull pushed floats back from the next-in-flow at the start of reflow. r=roc 2013-01-11 14:51:21 -08:00
Chris Peterson
b483c0b61c Bug 829344 - Part 4: Fix gcc -Wlogical-op warnings from PRBool/bool conversion. r=ehsan 2013-01-10 17:56:51 -08:00
Robert O'Callahan
0a7fb44e77 Bug 827577. Be a lot more careful about saving and restoring frame constructor state for fixed-pos descendants of CSS-transformed elements. r=bzbarsky
--HG--
extra : rebase_source : b78a8cb774b961696e59c2c27a8ade56d629b78f
2013-01-11 00:47:33 +13:00
Ed Morley
01d7c333be Backout 7f4f96dbf94f (bug 827172), 661847c6e48b (bug 827724), 00e357dd1458 (bug 827149) to fix the build on a CLOSED TREE 2013-01-11 11:13:17 +00:00
David Zbarsky
b3e656ecac Bug 827149 - Remove some uses of nsIDOMHTMLBodyElement r=bz 2013-01-11 02:15:05 -05:00
L. David Baron
82a355217b Back out bug 588237, patches 2 through 5. 2013-01-10 22:20:16 -08:00
L. David Baron
848bcb296f Bug 827717: Change record of CSS animation start to be before delay so that dynamic changes to animation-delay are honored. r=bzbarsky
This matches the CSS Working Group consensus recorded in
http://lists.w3.org/Archives/Public/www-style/2012Nov/0261.html , though
the spec hasn't yet been updated.
2013-01-10 21:14:51 -08:00
L. David Baron
411ecc3706 Bug 588237, patch 4: Pull pushed floats back from the next-in-flow at the start of reflow. r=roc 2013-01-10 21:14:51 -08:00
Trevor Saunders
36f6c1227a bug 829288 - fix layout/ warnings on mingw r=dholbert 2013-01-10 02:04:09 -05:00
Mounir Lamouri
af0ede0616 Bug 777283 - Adds <input type='time'> behind "dom.experimental_forms" pref. r=smaug 2013-01-08 17:10:00 +00:00
Nicholas Cameron
70fc748166 Bug 824454; use the resolution scale in OMTA transforms. r=cjones; a=blocking-basecamp
--HG--
extra : rebase_source : 8f045dd319418b771c5f31ca2f3477ab5673a5ad
2013-01-08 10:39:12 +01:00
Cameron McCormack
a7697e7d05 Bug 508725 - Part 7: Optimize restyling when a scoped style sheet changes. r=dbaron 2013-01-09 10:25:48 +11:00
Cameron McCormack
f318d9c354 Bug 508725 - Part 5: Record the <style scoped> elements in scope in preparation for selector matching. r=dbaron 2013-01-09 10:25:48 +11:00
Mats Palmgren
e52fde4597 Bug 823041 - Destroy the pres shell before the document. r=roc 2012-12-09 23:31:54 +01:00
Cameron McCormack
4129a6997c 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
973ec44abf Bug 508725 - Part 7: Optimize restyling when a scoped style sheet changes. r=dbaron 2013-01-08 19:09:23 +11:00
Cameron McCormack
e48c81d4fd 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
Robert O'Callahan
c95087ac17 Bug 504071. Allow image drawing to snap to pixel boundaries even if there's scaling, on all platforms. Not only is it faster, it avoids seaming. This is consistent with snapping behavior of other drawing operations. r=joe 2012-12-05 12:34:19 +13:00
Ehsan Akhgari
b7608f387d Merge mozilla-central into mozilla-inbound 2013-01-05 16:00:35 -05:00
Daniel Holbert
88dbb60006 (no bug) Clarify comment in ConstructFieldSetFrame (and fix typo s/list frame/fieldset frame/). comment-only, DONTBUILD 2013-01-05 11:52:53 -08:00
Robert O'Callahan
e195c24645 Bug 826632. Part 3: Create nsViewManagers directly instead of using XPCOM. r=tnikkel
--HG--
extra : rebase_source : f6286a4bcffa2f80bd9d444f7c04005644b8cb2f
2013-01-05 16:12:49 +13:00
Robert O'Callahan
0f0950d70e Bug 826632. Part 2: Use nsRefPtr<nsViewManager> instead of nsCOMPtr. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : 7245e7c988a208471d8c860449ff7b06c29a4a52
2013-01-05 16:12:42 +13:00
Robert O'Callahan
a9f8b202ea Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : d00947c925b17f860fcdc0e12b1ec3cc31b7c630
2013-01-05 16:12:24 +13:00
Ehsan Akhgari
6a1c8d2947 Backed out changeset bfb788e7ef51 (bug 826602) because of build failures
--HG--
rename : content/html/content/public/HTMLCanvasElement.h => content/html/content/public/nsHTMLCanvasElement.h
rename : content/html/content/src/HTMLCanvasElement.cpp => content/html/content/src/nsHTMLCanvasElement.cpp
2013-01-04 01:07:10 -05:00
Ehsan Akhgari
60fa51d399 Bug 826602 - Rename nsHTMLCanvasElement to mozilla::dom::HTMLCanvasElement; r=bzbarsky
--HG--
rename : content/html/content/public/nsHTMLCanvasElement.h => content/html/content/public/HTMLCanvasElement.h
rename : content/html/content/src/nsHTMLCanvasElement.cpp => content/html/content/src/HTMLCanvasElement.cpp
2013-01-04 00:16:14 -05:00
Phil Ringnalda
9297efcdad Back out 5e76dfb1d426 (bug 826635) and 0df74b1a4543:20df426b6111 (bug 826632) for bustage
CLOSED TREE
2013-01-04 21:30:14 -08:00
Daniel Holbert
6e095c82d5 Bug 824862: Don't skip over generated-content children of a flex container, even if they look like whitespace. r=bz 2013-01-04 20:05:44 -08:00
Robert O'Callahan
eac5fd4638 Bug 826632. Part 3: Create nsViewManagers directly instead of using XPCOM. r=tnikkel
--HG--
extra : rebase_source : f85da22ada991035fbb7116a993898dd0801663d
2013-01-05 16:12:49 +13:00
Robert O'Callahan
1d8aabf788 Bug 826632. Part 2: Use nsRefPtr<nsViewManager> instead of nsCOMPtr. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : c9eabd54bb43d711a8c24222620abfdde674a1f7
2013-01-05 16:12:42 +13:00
Robert O'Callahan
9abe8bbe09 Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : 85587555e1f202809cd39fe899570644e6ca4eb3
2013-01-05 16:12:24 +13:00
Ehsan Akhgari
faeec71701 Bug 826602 - Rename nsHTMLCanvasElement to mozilla::dom::HTMLCanvasElement; r=bzbarsky
--HG--
rename : content/html/content/public/nsHTMLCanvasElement.h => content/html/content/public/HTMLCanvasElement.h
rename : content/html/content/src/nsHTMLCanvasElement.cpp => content/html/content/src/HTMLCanvasElement.cpp
2013-01-04 00:16:14 -05:00
Avi Halachmi
35a21b9441 Bug 820167 - Tab open/close animation prints performance data to error console when enabled. r=jmuizelaar,dao 2013-01-03 21:53:15 -05:00
Trevor Saunders
efffc97c2d bug 825419 - outparamdel nsIDocShell::GetPresShell() r=smaug 2012-12-28 20:56:42 -05:00
Ryan VanderMeulen
220fb8bf57 Merge m-c to inbound. 2013-01-03 17:01:32 -05:00
Olli Pettay
44eadd5185 Bug 816340 - Propagate events to chrome even if there is a disabled form control in the event target chain, r=jst,gavin 2013-01-03 17:17:36 +02:00
Robert O'Callahan
106f5d95d1 Bug 825866. Part 8: Mass-rename of nsIView to nsView. r=tnikkel
This was autogenerated by basically replacing all occurrences of the word "nsIView" with nsView.

--HG--
rename : view/public/nsIView.h => view/public/nsView.h
2013-01-04 02:23:11 +13:00
Robert O'Callahan
7613db441e Bug 825866. Part 1: Merge nsView into nsIView, making all references to nsView refer to nsIView instead. r=tnikkel 2013-01-04 02:23:08 +13:00
Masatoshi Kimura
ecc812a3c0 Bug 824247 - Part 3: Disable FAIL_ON_WARNINGS on not-yet-warning-free directories on MSVC. r=ted 2013-01-03 00:56:38 +09:00
Nicholas Nethercote
b6939f2c42 Bug 819819 (part 2) - Remove |name| from NS_MEMORY_REPORTER_MALLOC_SIZEOF_FUN. r=jlebar.
--HG--
rename : dom/tests/mochitest/localstorage/test_localStorageQuotaPrivateBrowsing_perwindowpb.html => dom/tests/mochitest/localstorage/test_localStorageQuotaPrivateBrowsing.html
rename : toolkit/components/places/tests/browser/browser_favicon_privatebrowsing_perwindowpb.js => toolkit/components/places/tests/browser/browser_favicon_privatebrowsing.js
extra : rebase_source : 557cc60522970ce7eea3b006d357284d9b4694c4
2012-12-23 16:59:51 -08:00
Ehsan Akhgari
f808d4d65b Bug 825527 - Part 2: Rename nsHTMLImageElement to mozilla::dom::HTMLImageElement; r=bzbarsky
--HG--
rename : content/html/content/src/nsHTMLImageElement.cpp => content/html/content/src/HTMLImageElement.cpp
rename : content/html/content/src/nsHTMLImageElement.h => content/html/content/src/HTMLImageElement.h
2012-12-31 12:25:46 -05:00
Robert O'Callahan
4282b68070 Bug 816359. Part 2: Make nsStyleDisplay::HasTransform take a frame parameter and check that the frame supports transforms. r=mats" 2012-12-31 11:45:57 +13:00
Robert O'Callahan
e2825e0682 Bug 816359. Part 1: When constructing inline frames, we should never treat transforms as making the inline an abs-pos containing block, since transforms don't apply to inlines. r=bz 2012-12-31 11:45:51 +13:00
Phil Ringnalda
974985d838 Bug 705570 - reenable the crashtests that include an <applet> on OS X 10.7 and 10.8 now that they no longer leak
--HG--
rename : browser/components/preferences/in-content/tests/privacypane_tests_perwindow.js => browser/components/preferences/in-content/tests/privacypane_tests.js
rename : browser/components/preferences/tests/privacypane_tests_perwindow.js => browser/components/preferences/tests/privacypane_tests.js
extra : rebase_source : c4a2231db56c29693d34f31eba70a90543910bcc
2012-12-29 08:18:56 -08:00
Ryan VanderMeulen
af7ac0adf4 Merge m-c to inbound. 2012-12-28 12:57:30 -05:00
Raphael Catolino
5c4e542449 Bug 769385 - Add type attribute date for <input> behind "dom.experimental_forms" pref. r=mounir 2012-12-27 16:06:53 +00:00
Nicholas Nethercote
4a4db06c69 Bug 824397 - Use NS_ENSURE_{TRUE,FALSE,SUCCESS}_VOID(foo) instead of NS_ENSURE_{TRUE,FALSE,SUCCESS}(foo, ). r=derf. 2012-12-23 20:45:57 -08:00
Vladimir Vukicevic
8779f9b87d b=823091; 2nd tab in a window opens without animation (timers reporting wrong current time); r=roc,bz 2012-12-23 19:29:23 -05:00
Anthony Jones
d5b66e53dd Bug 811950 - Remove fixed position environment variable. r=roc 2012-12-23 10:47:16 -05:00
Mats Palmgren
f75d0275c1 Bug 824641 - Move the destroyed frame check before any use of it. r=roc 2012-12-27 22:24:08 +01:00
Robert O'Callahan
5d03c1907d Bug 663776. Part 2: Move TransformRectToRect from nsCSSRendering to gfxUtils. r=mattwoodrow 2012-12-07 12:58:13 +13:00
Nicholas Cameron
57cf3a253c Bug 823460; start throttled transitions with delays; r=dbaron; a=blocking-basecamp
--HG--
extra : rebase_source : 8e57f7106fd8241556e63076f8dedc0cb72052e7
2012-12-23 17:52:13 +13:00
L. David Baron
4a7dd45bb0 Merge mozilla-inbound and mozilla-central. 2012-12-22 00:05:00 -05:00
Nicholas Cameron
dd74f21d8f Bug 822231; use the maximum scale for animated scaling. r=roc 2012-12-21 16:58:17 -05:00
Kyle Huey
dc63804499 Bug 696591: Properly handle blocking databases from pages that are entering the bfcache. r=bent,bz 2012-12-20 06:18:03 -08:00
Justin Lebar
e1fa823a2c Bug 819791 - Part 8: Use explicit TArray copy constructors in FrameLayerBuilder. r=roc 2012-12-18 20:16:06 -05:00
Ed Morley
863ace09c5 Backout 9864a836aa35 (bug 820167) for crashes 2012-12-18 15:36:07 +00:00
Avi Halachmi
bbea58b311 Bug 820167: Enable performance measurement of tab animation. r=jmuizelaar,dao 2012-12-18 09:31:01 -05:00
Matt Woodrow
1393ebcfc4 Bug 821995 - Revert an incorrect change to matrix multiplication in ChooseScaleAndSetTransform. r=roc 2012-12-18 18:58:44 +13:00
Dão Gottwald
928a0f2ea7 Backed out changeset e14c7409ede7 2012-12-18 01:04:30 +01:00
Avi Halachmi
1a4e05a919 Bug 820167: Enable performance measurement of tab animation. r=jmuizelaar 2012-12-17 18:48:01 -05:00
Scott Johnson
12db3f1cb4 Bug 821801: Make nsContentUtils::ViewportInfo into a separate class in order to allow better state tracking. [r=kats] 2012-12-17 15:24:41 -06:00
Jonathan Watt
f995910c3f Bug 822378 - Update the overflow rects of the child frames when an nsSVGOuterSVGFrame's children-only transform changes. r=longsonr. 2012-11-29 18:24:14 +00:00
Matt Woodrow
87ceefae3f Bug 819915 - Fix IsSingleFixedPositionImage to actually check if we only have a single image. r=roc 2012-12-17 17:30:57 +13:00
Jonathan Watt
1e1e657295 Bug 802628 - Part 1, Kill nsSVGUtils::InvalidateAndScheduleReflowSVG. r=mattwoodrow. 2012-11-28 09:42:13 +00:00
Jonathan Watt
d2dbf348b9 Bug 822025 - nsCSSFrameConstructor.cpp:9752:7: warning: variable 'wrapperType' is used uninitialized whenever switch default is taken. r=bz. 2012-11-27 11:49:01 +00:00
Masayuki Nakano
ebad00b4b8 Bug 813445 part.12 Remove NS_EVENT_FLAG_ONLY_CHROME_DISPATCH and nsEvent::flags r=smaug 2012-12-16 10:26:05 +09:00
Masayuki Nakano
944e110e9a Bug 813445 part.10 Remove NS_EVENT_FLAG_DONT_FORWARD_CROSS_PROCESS and NS_EVENT_RETARGET_TO_NON_NATIVE_ANONYMOUS r=smaug 2012-12-16 10:26:05 +09:00
Masayuki Nakano
1a929c80bd Bug 813445 part.8 Remove NS_EVENT_FLAG_SYNTHETIC_TEST_EVENT r=smaug 2012-12-16 10:26:04 +09:00
Masayuki Nakano
c42d85d96f Bug 813445 part.5 Remove NS_EVENT_FLAG_NO_DEFAULT and NS_EVENT_FLAG_NO_DEFAULT_CALLED_IN_CONTENT r=smaug 2012-12-16 10:26:04 +09:00
Masayuki Nakano
2c9891bdd2 Bug 813445 part.3 Remove NS_EVENT_FLAG_CANT_CANCEL and NS_EVENT_FLAG_CANT_BUBBLE r=smaug 2012-12-16 10:26:03 +09:00
Masayuki Nakano
c8090c380d Bug 813445 part.1 Make widget::EventFlags and remove NS_EVENT_FLAG_TRUSTED r=roc+smaug, feedback=emk 2012-12-16 10:26:03 +09:00
Jeff Walden
e0523203c9 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
Jonathan Watt
7ff8545b8c Kill Windows line-endings in nsCSSFrameConstructor.cpp. r=me. No bug. DONTBUILD. 2012-11-26 08:14:23 +00:00
Matt Woodrow
6d29b7f7de bug 822865 - Null check the background outparam before assigning to it. r=roc 2012-12-21 22:09:25 +13:00
Cameron McCormack
3a091090a1 Bug 793617 - Implement mask-type property. r=dbaron,longsonr 2012-12-21 11:15:22 +11:00
Vladimir Vukicevic
dbad304003 b=821230; crash in nsRefreshDriver::SetHighPrecisionTimersEnabled during xpcom shutdown; r=ehsan 2012-12-14 12:47:57 -05:00
Trevor Saunders
55821aa041 bug 781409 - remove nsITableLayout r=roc,davidb 2012-08-08 09:05:17 -04:00
Matt Woodrow
2839c7fa0b Backout changeset 3ba90f85653a (Bug 805343) for regressing android talos tests 2012-12-14 11:51:00 +13:00
Matt Woodrow
2b859a49cd Backout changeset e8f5182d94c5 (Bug 805343) for regressing android talos tests 2012-12-14 11:50:57 +13:00
Matt Woodrow
922d9afef7 Bug 821477 - Don't build nsDisplay{Canvas}BackgroundImage items when the image is empty. r=roc 2012-12-14 11:16:14 +13:00
Matt Woodrow
30cca3144a Bug 820246 - Split nsDisplayCanvasBackground into separate color and image items. r=roc 2012-12-13 14:15:55 +13:00
Nathan Froyd
d7fd75357d Bug 820889 - convert PendingBinding to use mozilla::LinkedList; r=dholbert 2012-12-12 11:58:26 -05:00
Ed Morley
437e9d9372 Backout 4777ad9776ec (bug 820246) for causing frequent failures in background-image-zoom-1.html on Android 2012-12-13 12:25:12 +00:00
Georg Fritzsche
d543e765a5 Bug 805330 - Ensure plugin widget visibility via paint flushes. r=josh,roc,robcee
--HG--
rename : layout/base/tests/chrome/paint_listener.js => testing/mochitest/tests/SimpleTest/paint_listener.js
2012-12-05 14:39:26 +01:00
Matt Woodrow
77a22aa86c Bug 820246 - Split nsDisplayCanvasBackground into separate color and image items. r=roc 2012-12-13 14:15:55 +13:00
Jeff Muizelaar
7877c58e7a Bug 798245. Propagate the zoom from the tab child into the frame metrics. r=cjones
This lets the default zoom make it back to the APZC when the viewport is set.
2012-12-11 17:49:57 -05:00
Jeff Muizelaar
79fbc905d4 Bug 798245. Postpone firstpaint while painting supressed. r=cjones
Currently if we are asked to paint while the painting is supressed,
we'll still send the firstpaint notification. We currently, rely
on first paint to setup the viewport so we won't to postpone it
till we're likely to have the information we need.

--HG--
extra : rebase_source : 65e3e5a8ea21128632a46e19a3594b66cba8c8cc
2012-12-10 13:53:53 -05:00
Jonathan Kew
a706708a78 bug 818454 - backout change from bug 722137, no longer needed. r=smontagu 2012-12-12 20:55:09 +00:00
Matt Woodrow
43871121e3 Bug 820541 - Only call ProcessRemovedDisplayItems once per transaction. r=roc 2012-12-13 09:47:05 +13:00