Commit Graph

170 Commits

Author SHA1 Message Date
Ehsan Akhgari
290feb1ade 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
Masayuki Nakano
05e8f87b4b Bug 920377 part.7 Get rid of nsFocusEvent r=roc 2013-09-27 15:20:55 +09:00
Masayuki Nakano
80d3ef9ea0 Bug 912956 part.17 mozilla/ContentEvents.h should be included directly r=roc 2013-09-25 20:21:20 +09:00
Ehsan Akhgari
8c43a4f37f Bug 919505 - Minimize the #includes in dom/ipc; r=jst 2013-09-23 17:30:40 -04:00
Ehsan Akhgari
f9b077c0c8 Bug 904695 - #include fewer headers in nsContentUtils.h; r=jst 2013-08-21 15:28:26 -04:00
Ehsan Akhgari
2621b190f1 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
Ehsan Akhgari
99058b577c Bug 905353 - Minimize the #includes in dom/base; r=jst
--HG--
extra : rebase_source : e7a1d2262bf6d8c9b78057b8eb6cdbfd98262f68
2013-08-15 14:17:48 -04:00
David Zbarsky
a6ceba11ad Bug 893117: Remove nsIDOMHTMLLegendElement r=bz 2013-08-01 15:24:24 -07:00
David Zbarsky
3d161603d7 backout Bug 893117 for mochitest failure 2013-08-01 01:54:09 -07:00
David Zbarsky
f8699dfe4e Bug 893117: Remove nsIDOMHTMLLegendElement r=bz 2013-07-31 23:12:40 -07:00
Nicholas Cameron
6a449045ab Bug 895873 - backout bug 893117 for Win8 mc bustage 2013-07-30 23:32:35 -04:00
David Zbarsky
faf159a4f8 Bug 893117: Remove nsIDOMHTMLLegendElement r=bz 2013-07-30 14:55:12 -07:00
Neil Deakin
2e8cab5dbe Bug 887718, don't call SetVisibility when focus test mode is enabled, r=smaug 2013-07-05 12:05:26 -04:00
Blake Kaplan
7a5fa22309 Bug 653881 - Rework XBL insertion points and clean up related code to more closely follow the Web Components model. Instead of maintaining a hashtable of insertion points in bindings (and removing insertions points from the tree) leave the insertion points in the tree as explicit placeholders and teach all other relevant code how to walk the explicit children of elements via two iterators (ExplicitChildIterator and FlattenedChildIterator). Note that this patch does not maintain 100% compatibility with the previous code: there are bug fixes and behavior changes included. For example, by having explicit insertion points in the bindings, it is now easier to handle dynamic changes to the bound element correctly (as well as, eventually, handling dynamic changes to the binding correctly). Patch originally by sicking. r=bzbarsky
--HG--
extra : rebase_source : 6926ae8ea57b20f4067b16bd3d7bd85bda854756
2013-05-01 15:50:08 -07:00
Masayuki Nakano
3f8ff3ca06 Bug 396542 nsFocusManager should restore caret browsing mode when an editor loses focus r=ehsan 2013-05-22 12:28:43 +09:00
Jonathan Watt
3eac75d866 Backout bug 862693 (Stop the :-moz-focusring pseudo-class from matching if an element is themed and the theme will display a visual indication of focus for the element. r=roc) 2013-04-21 11:30:11 +01:00
David Zbarsky
fac86787ae Bug 857884 - Use dom::EventTarget more in content/ and dom/ Part 4 r=Ms2ger 2013-04-19 18:18:32 -04:00
Jonathan Watt
02ae98ba2f Bug 862693 - Stop the :-moz-focusring pseudo-class from matching if an element is themed and the theme will display a visual indication of focus for the element. r=roc 2013-04-17 09:22:55 +01:00
Ryan VanderMeulen
0c3a721fee Backed out changesets a550dadafa30 and 315f6b451d07 (bug 857884) for mochitest failures on a CLOSED TREE. 2013-04-11 13:59:02 -04:00
David Zbarsky
899ae8e46f Bug 857884 - Use dom::EventTarget more in content/ and dom/ Part 4 r=Ms2ger 2013-04-11 12:24:47 -04:00
Olli Pettay
0e8cf1f788 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
Chris Pearce
dcf2d17b8e Bug 843849 - Make DOM/HTML fullscreen API work in Metrofox. r=bz,jimm 2013-02-28 12:28:27 +13:00
Chris Pearce
12b6dc8b70 Bug 805613 - Support multiple concurrent fullscreen documents. r=bz 2013-02-26 18:40:53 +13:00
L. David Baron
c5b9eee040 Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
Trevor Saunders
fda9efaa98 bug 841430 - nuke nsIEditorDocShell r=bz 2013-02-13 17:39:30 -05:00
Trevor Saunders
c4d231052a bug 841436 - remove nolonger needed qi from nsIDocShell to nsIDocShellTreeItem r=bz 2013-02-12 17:02:51 -05:00
Masayuki Nakano
549153acd2 Bug 835280 nsIMEStateManager::OnChangeFocus() for DOM document should be called only when designMode document gets focus r=enndeakin 2013-02-02 03:02:17 +09:00
Mats Palmgren
b7ae90666d 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
Robert O'Callahan
970988bc3c 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
Phil Ringnalda
d44dff5096 Back out 5e76dfb1d426 (bug 826635) and 0df74b1a4543:20df426b6111 (bug 826632) for bustage
CLOSED TREE
2013-01-04 21:30:14 -08:00
Robert O'Callahan
0bda13504b 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
Trevor Saunders
09f3b656b4 bug 825419 - outparamdel nsIDocShell::GetPresShell() r=smaug 2012-12-28 20:56:42 -05:00
Masayuki Nakano
4581677d83 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
Ms2ger
a4af932810 Bug 814898 - Part b: Cleanup CC goop in dom/base; r=mccr8 2012-12-02 09:53:37 +01:00
Boris Zbarsky
542ae8e2de Bug 815671 part 3. Make nsXULPopupManager::GetVisiblePopups use an array out param instead of returning array object copies. r=roc 2012-11-29 11:14:13 -05:00
Benoit Jacob
986ee1a065 Bug 807437 - Eliminate redundant Traverse/Unlink CC macros - part 1: automatic changes - r=mccr8 2012-11-15 02:32:40 -05:00
Masayuki Nakano
32a8eee843 Bug 805766 nsFocusManager should change IME state before dispatching focus event at activating different document r=enndeakin 2012-11-13 10:18:57 +09:00
Ehsan Akhgari
82448818ee Backed out changeset 5042f0a60460 (bug 805766) on the suspicion of causing bug 808287 2012-11-06 19:54:43 -05:00
Masayuki Nakano
86d75d937c Bug 805766 nsFocusManager should change IME state before dispatching focus event at activating different document r=enndeakin 2012-11-03 15:32:26 +09:00
Masayuki Nakano
10ada00346 Bug 805306 Get rid of nsIMEStateManager::OnTextStateBlur() and nsIMEStateManager::OnTextStateFocus() r=smaug 2012-10-26 09:49:13 +09:00
Nikhil Marathe
1acf12dfe6 Bug 804174 - Inline IsCallerTrustedForWrite with IsCallerChrome. r=mccr8 2012-10-25 16:10:54 -07:00
Peter Van der Beken
9af14c557f Fix for bug 801083 (Remove old proxy-based list bindings). r=bz. 2012-10-13 14:50:24 +02:00
Peter Van der Beken
e4c543b77c Fix for bug 773780 (Add API for new DOM bindings for Node). r=bz.
--HG--
extra : rebase_source : 5dd51c4ad5274da9235c8c341b0531f234e95a91
2012-10-09 14:31:24 +02:00
Masayuki Nakano
8acd6ae7f5 Bug 705057 part.1 Ensure a set of composition events is fired on same content r=smaug 2012-09-26 14:47:45 +09:00
David Zbarsky
e1da975f5f Backout bug 779684 for topcrash 2012-10-15 14:35:50 -04:00
Kyle Huey
43e58e33c8 Bug 760331: Coalesce data for inline style across nodes. r=bz
This patch enables sharing of an nsAttrValue's MiscContainer between nodes for style rules.  MiscContainers of type eCSSStyleRule are now refcounted (with some clever struct packing to ensure that the amount of memory allocated for MiscContainer remains unchanged on 32 and 64 bit).  This infrastructure can be used to share most MiscContainer types in the future if we find advantages to sharing other types than just eCSSStyleRuley.  A cache mapping strings to MiscContainers has been added to nsHTMLCSSStyleSheet.  MiscContainers can be shared between nsAttrValues when one nsAttrValue is SetTo another nsAttrValue or when there is a cache hit in this cache.  This patch also adds the ability to tell a style rule that it belongs to an nsHTMLCSSStyleSheet, with appropriate accessor functions to separate that from the existing case of belonging to an nsCSSStyleSheet.

The primary use case is to reduce memory use for pages that have lots of inline style attributes with the same value.  This can happen easily with large pages that are automatically generated.  An (admittedly pathological) testcase in Bug 686975 sees over 250 MB of memory savings with this change.  Reusing the same MiscContainer for multiple nodes saves the overhead of maintaining separate copies of the string containing the serialized value of the style attribute and of creating separate style rules for each node.  Eliminating duplicate style rules enables further savings in layout through style context sharing.  The testcase sees the amount of memory used by style contexts go from over 250 MB to 10 KB.

Because the cache is based on the text value of the style attribute, it will not handle attributes that have different text values but are parsed into identical style rules.  We also do not attempt to share MiscContainers when the node's base URI differs from the document URI.  The effect of these limitations is expected to be low.
2012-09-30 09:40:24 -07:00
Randell Jesup
65539ef89c Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Ehsan Akhgari
e368dc9c85 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
Jan Varga
c1666d90e8 Bug 779684 - Move FrameIteratorFlags to nsFrameIterator class. r=roc 2012-08-06 20:27:04 -04:00
David Zbarsky
dca3fd6326 Bug 779684: Create a stack-based nsFrameIterator class out of nsIFrameTraversal and nsIFrameEnumerator r=roc
--HG--
rename : layout/base/nsFrameTraversal.cpp => layout/base/nsFrameIterator.cpp
rename : layout/base/nsFrameTraversal.h => layout/base/nsFrameIterator.h
2012-08-05 23:00:55 -04:00