Commit Graph

157 Commits

Author SHA1 Message Date
Blake Kaplan
a3a6516091 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
94c8042239 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
c63ee27f69 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
335c6fc326 Bug 857884 - Use dom::EventTarget more in content/ and dom/ Part 4 r=Ms2ger 2013-04-19 18:18:32 -04:00
Jonathan Watt
42f1e12bb7 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
99647ac22c 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
a5cb73b253 Bug 857884 - Use dom::EventTarget more in content/ and dom/ Part 4 r=Ms2ger 2013-04-11 12:24:47 -04: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
Chris Pearce
2a8daae8a9 Bug 843849 - Make DOM/HTML fullscreen API work in Metrofox. r=bz,jimm 2013-02-28 12:28:27 +13:00
Chris Pearce
b8e8ab3f2f Bug 805613 - Support multiple concurrent fullscreen documents. r=bz 2013-02-26 18:40:53 +13:00
L. David Baron
5ef4421fa5 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
3e6a6deadc bug 841430 - nuke nsIEditorDocShell r=bz 2013-02-13 17:39:30 -05:00
Trevor Saunders
36453999ea bug 841436 - remove nolonger needed qi from nsIDocShell to nsIDocShellTreeItem r=bz 2013-02-12 17:02:51 -05:00
Masayuki Nakano
0346e5b84e 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
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
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
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
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
Trevor Saunders
efffc97c2d bug 825419 - outparamdel nsIDocShell::GetPresShell() r=smaug 2012-12-28 20:56:42 -05: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
Ms2ger
c52fc7b5f2 Bug 814898 - Part b: Cleanup CC goop in dom/base; r=mccr8 2012-12-02 09:53:37 +01:00
Boris Zbarsky
f1adcafb81 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
5a8b82a1cb Bug 807437 - Eliminate redundant Traverse/Unlink CC macros - part 1: automatic changes - r=mccr8 2012-11-15 02:32:40 -05:00
Masayuki Nakano
3a06bc4b4f 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
7efa74d459 Backed out changeset 5042f0a60460 (bug 805766) on the suspicion of causing bug 808287 2012-11-06 19:54:43 -05:00
Masayuki Nakano
20ae75b52f 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
6c9580559c Bug 805306 Get rid of nsIMEStateManager::OnTextStateBlur() and nsIMEStateManager::OnTextStateFocus() r=smaug 2012-10-26 09:49:13 +09:00
Nikhil Marathe
44ce273499 Bug 804174 - Inline IsCallerTrustedForWrite with IsCallerChrome. r=mccr8 2012-10-25 16:10:54 -07:00
Peter Van der Beken
e86cd8818c Fix for bug 801083 (Remove old proxy-based list bindings). r=bz. 2012-10-13 14:50:24 +02:00
Peter Van der Beken
a69ce442c1 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
1cc0ce4f3e 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
e584460f90 Backout bug 779684 for topcrash 2012-10-15 14:35:50 -04:00
Kyle Huey
1ccfbe810b 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
29ac5c0b8c Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Ehsan Akhgari
8c296bbcd4 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
c89ae3e144 Bug 779684 - Move FrameIteratorFlags to nsFrameIterator class. r=roc 2012-08-06 20:27:04 -04:00
David Zbarsky
d505b382d4 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
Neil Deakin
8ba0d842dd Bug 777339, Use prlogging for focus instead of enabling a define, allowing for easier enabling of focus logging, r=smaug 2012-07-30 20:43:28 -04:00
Aryeh Gregor
2e7996f8d1 Bug 777292 - Convert incorrect conversions to nsresult and fix named constants; r=ehsan 2012-07-27 16:59:29 +03:00
Aryeh Gregor
57c0ad57fb Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Tim Taubert
5e5b2a11f3 Bug 771555 - Revert setting DEBUG_FOCUS to avoid spamming the console; rs=jdm,unfocused 2012-07-11 11:12:44 +02:00
Michael Ratcliffe
1849406afb Bug 771555 - GCLI needs a addon, resize, restart, cookie and pagemanip commands; r=dcamp,jwalker 2012-07-10 17:53:04 +01:00
David Zbarsky
cd3c58ee76 Bug 763350 - Clean up some includes in content/ and dom/ r=smaug 2012-07-01 16:45:59 -07:00
Chris Jones
32a72b6e00 Bug 761927: Fix focus for <iframe mozbrowser remote>. r=jlebar,Enn 2012-06-22 18:27:30 -07:00
Mats Palmgren
cdca8af1f4 Bug 575294, bug 760946. part=1/5 r=enndeakin,smaug 2012-06-23 03:13:56 +02:00
Andrew McCreight
6cc6d55a6b Bug 750820 - make oldFocusedContent an nsCOMPtr in nsGlobalWindow::PageHidden. r=bz 2012-05-18 15:19:34 -07:00
Aryeh Gregor
8e7de01930 Bug 762862 - Rename nsTypedSelection to mozilla::Selection; r=ehsan
--HG--
rename : layout/generic/nsTypedSelection.h => layout/generic/Selection.h
2012-06-08 17:20:55 +03:00
Ms2ger
f696a656cc Bug 760156 - Cleanup LOCAL_INCLUDES in content/media/; r=sicking
This patch makes it possible to include nsGenericHTMLElement.h without adding
to LOCAL_INCLUDES.
2012-06-06 09:40:02 +02:00
Mats Palmgren
70c0bbb075 Back out bug 575294, bug 726264. (cset 1727de7d26ec, 6bcea3a628d8, 011c1c8e9cc7, 0be261a5042b, d51338c5cd0c) 2012-06-03 18:05:00 +02:00
Mats Palmgren
96e7be1055 Bug 575294. part=1/4 r=enndeakin 2012-06-02 01:41:54 +02:00