Commit Graph

5843 Commits

Author SHA1 Message Date
Bobby Holley
d1a3436036 Bug 834732 - Audit callers of GetNativeContext and use AutoPushJSContext where appropriate. r=mrbkap 2013-02-26 11:04:13 -08:00
Bobby Holley
9e96be0f79 Bug 834732 - Introduce AutoPushJSContext. r=mrbkap
It's annoying to add yet another RAII class, but we're solving a different
problem here. In particular, there are lots of callers that grab a cx off
of an nsIScriptContext and use it without pushing. Most of the time this
is ok, since that cx is also the active cx. But it's hard to tell when we
might potentially violate that invariant. What's more, we don't want to just
use an nsCxPusher, because that does expensive things even when the cx matches
the one on the top of the stack. Most of these consumers should just switch
to AutoJSContext, but doing such a change en masse is a pretty risky thing to
do. So let's introduce a class that gives us good performance in the common case
and correctness in the uncommon case.
2013-02-26 11:04:12 -08:00
Bobby Holley
65df4a86fd Bug 834732 - Push a cx in AdoptNode. r=mrbkap 2013-02-26 11:04:12 -08:00
Bobby Holley
51ba6ef50d Bug 834732 - Make nsCxPusher.Push(JSContext*) infallible. r=mrbkap
We leave the nsIDOMEventTarget* versions fallible for now, but this makes the
common case a lot simpler. Note that this means that pushing a null JSContext,
a bug, is no longer handled at runtime. But I think we should just assert
against it, since there are already callers that don't check the return value.
2013-02-26 11:04:11 -08:00
Bobby Holley
9190ce39d5 Bug 834732 - Remove PushBehavior. r=mrbkap
Now that we only have ALWAYS_PUSH and ASSERT_SCRIPT_CONTEXT, we have uniform
release-mode behavior everywhere. Remove the crap.
2013-02-26 11:04:11 -08:00
Bobby Holley
10b21fa400 Bug 834732 - Move cx pushing into nsPluginProtoChainInstallRunner. r=mrbkap
This gets rid of the last use of REQUIRE_SCRIPT_CONTEXT. \o/
2013-02-26 11:04:10 -08:00
Bobby Holley
c6da4f2657 Bug 834732 - Make SafeAutoJSContext actually push something. r=mrbkap
Currently it never does, because the SafeJSContext doesn't have an
nsIScriptContext behind it. :-(
2013-02-26 11:04:10 -08:00
Bobby Holley
997dcc7d65 Bug 834732 - Get rid of footgun bool param for nsCxPusher and use an explicit enum. r=mrbkap
The goal here is to get rid of this crap entirely, and make nsCxPusher always
push. But that's a scary change, so we do it in chunks. This patch, in particular,
should have zero behavioral change. This means preserving some very wrong behavior.
For instance, currently SafeAutoJSContext never pushes a damn thing, because the
safe JSContext doesn't have an associated nsIScriptContext. We preserve this
behavior, and in fact convert various similarly-buggy consumers to
SafeAutoJSContext, so that we can hoist the behavioral change into a subsequent
patch.
2013-02-26 11:04:09 -08:00
Chris Pearce
b4438def93 Bug 805613 - Don't remove fullscreen approved observer on documents which don't add it, prevents assertion failure spam. r=bz 2013-02-26 18:40:53 +13:00
Chris Pearce
45b77fa242 Bug 805613 - Support multiple concurrent fullscreen documents. r=bz 2013-02-26 18:40:53 +13:00
L. David Baron
57d19fbb86 Bug 404077: Annotate known assertions in mochitests. 2013-02-25 18:39:21 -08:00
Ehsan Akhgari
87b07b2898 Bug 844169 - Part 1: Rename nsHTMLIFrameElement to mozilla::dom::HTMLIFrameElement; r=bzbarsky
--HG--
rename : content/html/content/src/nsHTMLIFrameElement.cpp => content/html/content/src/HTMLIFrameElement.cpp
rename : content/html/content/src/nsHTMLIFrameElement.h => content/html/content/src/HTMLIFrameElement.h
extra : rebase_source : 67c393954a0c46f80b8729277504e9ced5c64d33
2013-02-22 19:59:26 -05:00
Bobby Holley
440bea3fd7 Bug 843711 - Fix up new |Components| culprits in test suite. r=mccr8 2013-02-25 10:43:03 -08:00
Jonathan Kew
0dfdf59d24 bug 844454 - don't try to get a Unicode decoder for an empty charset name. r=hsivonen 2013-02-25 15:56:19 +00:00
Henri Sivonen
92eb08092d Bug 844792 - Warn about the upcoming removal of multipart support in XHR. r=smaug. 2013-02-25 17:12:13 +02:00
Timothy Nikkel
43a81594dc Bug 689623. Part 12. Assume images in popups are visible. r=mats 2013-02-24 18:59:23 -06:00
Timothy Nikkel
d65ed2f0df Bug 689623. Part 9. Make images default to visible when they have a frame created for them. r=mats 2013-02-24 18:59:23 -06:00
Timothy Nikkel
8919430d6a Bug 689623. Part 8. Add an 'unlocked draw' notification for images that are drawn when not locked so we catch any images that become visible through a means other than scrolling. r=joe,mats 2013-02-24 18:59:22 -06:00
Timothy Nikkel
377837d583 Bug 689623. Part 4. Add a visible count to nsIImadeLoadingContent, and use it when locking the image. r=joe 2013-02-24 18:59:21 -06:00
Timothy Nikkel
0cae0af928 Bug 689623. Part 3. In nsImageLoadingContent add a flag to TrackImage that skips the check if we have a frame so that we can use TrackImage everywhere (including FrameCreated) instead of AddImage. r=joe 2013-02-24 18:59:21 -06:00
Timothy Nikkel
089010f205 Bug 689623. Part 2. In nsImageLoadingContent make the discard request an optional part of UntrackImage so that we can use UntrackImage everywhere instead of RemoveImage. r=joe 2013-02-24 18:59:21 -06:00
Peter Van der Beken
410cee5e49 Fix for bug 844225 (Remove some DOMCI and quickstubs). r=bz. 2013-01-10 10:54:46 +01:00
Boris Zbarsky
d917523d97 Bug 842561. Assert that our inheritance chain is correct for WebIDL objects. r=peterv
We could drop the descriptor for Text if we changed nsIDocument::CreateTextNode
to return an already_AddRefed<Text>, but then we'd need more casting in
nsDocument.cpp for the XPCOM CreateTextNode.  Not sure which way is better,
really.
2013-02-22 09:56:29 -05:00
Boris Zbarsky
12d1591d42 Bug 842726. Kill off GetterShim and the classinfo support for chrome-only stuff on Document now that we can do that via WebIDL. r=peterv 2013-02-22 09:56:29 -05:00
Masatoshi Kimura
0f451ab067 Bug 843489 - Drop support for .createEvent("progressevent"). r=smaug 2013-02-23 14:49:59 +09:00
Masatoshi Kimura
b1f455df2c Bug 842372 - Part 2: Hide getUserData and setUserData from content. r=bz 2013-02-23 13:46:06 +09:00
Masatoshi Kimura
67762a7b41 Bug 842372 - Part 1: Implement nsINode::ShouldExposeUserData. r=bholley 2013-02-23 13:46:05 +09:00
Phil Ringnalda
91d0dcf37d Back out 5520e123f526 (bug 763879) for b2g mochitest-8 and mochitest-9 failures 2013-02-22 20:40:24 -08:00
Sid Stamm
be0016e68d Bug 763879 - implement inline stylesheet blocking for CSP (r=dbaron) 2012-08-30 10:58:24 -07:00
Masatoshi Kimura
c3667d43f3 Bug 843489 - Make initProgressEvent() [noscript]. r=smaug 2013-02-23 09:14:35 +09:00
Ehsan Akhgari
17bceb4c6e Bug 838582 - Part 2: Move HTMLTextAreaElement to Web IDL bindings; r=bzbarsky 2013-02-19 00:54:23 -05:00
Ryan VanderMeulen
858de2ee46 Backed out 6 changesets (bug 832920, bug 825341, bug 838582, bug 842726, bug 629801, bug 842561) for Linux32 debug mochitest-2 and Windows/OSX mochitest-browser-chrome failures on a CLOSED TREE. 2013-02-22 15:30:06 -05:00
Ehsan Akhgari
d15b248e6d Bug 838582 - Part 2: Move HTMLTextAreaElement to Web IDL bindings; r=bzbarsky
--HG--
extra : rebase_source : f8933c4973220dc8845b9ce2f63e91b366167117
2013-02-19 00:54:23 -05:00
Jonathan Mayer
55b948dec0 Bug 818340 - change third party cookie handling to block third party cookies from sites I haven't visited. (r=jdm, r=dolske)
--HG--
extra : rebase_source : f486f39feac1fb743edc920618bec29884d515f1
2013-02-22 08:16:01 -08:00
Boris Zbarsky
90617e5775 Bug 842561. Assert that our inheritance chain is correct for WebIDL objects. r=peterv
We could drop the descriptor for Text if we changed nsIDocument::CreateTextNode
to return an already_AddRefed<Text>, but then we'd need more casting in
nsDocument.cpp for the XPCOM CreateTextNode.  Not sure which way is better,
really.
2013-02-22 09:56:29 -05:00
Boris Zbarsky
2b330ac631 Bug 842726. Kill off GetterShim and the classinfo support for chrome-only stuff on Document now that we can do that via WebIDL. r=peterv 2013-02-22 09:56:29 -05:00
Boris Zbarsky
7b6087807f Bug 832920. Add a way for chrome iframes to opt into having a separate refresh driver (e.g. if they plan to be moved between windows) and make devtools use that opt-in. r=tnikkel,paul 2013-02-22 09:56:28 -05:00
Trevor Saunders
70d157e13c bug 825341 - convert range to webidl r=bz, smaug 2013-02-07 07:09:41 -05:00
Jonathan Kew
5219b8ae03 backout cset 4ede352670cd (bug 759585) on a CLOSED TREE on suspicion of making windows reftests so slow that they timeout and burn 2013-02-22 09:36:41 +00:00
Julian Reschke
c87fff2ca2 Bug 601933: remove RFC 2047 encoding support for HTTP header field parameters. r=jduell 2013-02-21 05:36:00 -08:00
Bill McCloskey
c330d96d13 Bug 759585 - Change the granularity of collection from compartment to zone (r=jonco,bhackett,njn,dvander,mccr8,bz,luke,bholley) 2013-02-21 18:23:47 -08:00
L. David Baron
3dfa861fcf Fix spelling. No bug. No review. 2013-02-21 18:10:59 -08:00
Simon Montagu
889abd013e Text nodes in anonymous subtrees shouldn't affect ancestors with dir=auto. Bug 839886, r=ehsan 2013-02-20 22:57:51 -08:00
Simon Montagu
fb684616f9 Make the test for <bdi> without dir=auto more accurate. Bug 838689, r=ehsan 2013-02-20 22:57:50 -08:00
Phil Ringnalda
023cad7f25 Back out bb4938013af5 and 9bee7d808f97 (bug 827976) for marionette bustage
CLOSED TREE
2013-02-20 15:26:59 -08:00
Vladan Djeric
6aab2c174a Bug 827976: Part 1 - Create hidden windows lazily on non-Mac platforms. r=bzbarsky 2013-02-20 00:11:54 -05:00
Julian Viereck
d15f0e62b5 Bug 743252 - Implement moznomarginboxes attribute. r=roc 2013-02-20 10:50:21 -05:00
Masatoshi Kimura
e28c9f3dcd Bug 842730 - Remove nsIJSNativeInitializer from nsXMLHttpRequest. r=sicking 2013-02-20 20:54:19 +09:00
Olli Pettay
ad18318e83 Bug 842710 - Identify TabChildGlobals in about:memory/compartment, r=jlebar 2013-02-20 12:39:59 +02:00
Frank Wein
7e825ee89d Bug 842198 - Move browser_bug822367.js test to browser/, r=tanvi
--HG--
rename : content/base/test/chrome/browser_bug822367.js => browser/base/content/test/browser_bug822367.js
rename : content/base/test/file_bug822367_1.html => browser/base/content/test/file_bug822367_1.html
rename : content/base/test/file_bug822367_1.js => browser/base/content/test/file_bug822367_1.js
rename : content/base/test/file_bug822367_2.html => browser/base/content/test/file_bug822367_2.html
rename : content/base/test/file_bug822367_3.html => browser/base/content/test/file_bug822367_3.html
rename : content/base/test/file_bug822367_4.html => browser/base/content/test/file_bug822367_4.html
rename : content/base/test/file_bug822367_4.js => browser/base/content/test/file_bug822367_4.js
rename : content/base/test/file_bug822367_4B.html => browser/base/content/test/file_bug822367_4B.html
rename : content/base/test/file_bug822367_5.html => browser/base/content/test/file_bug822367_5.html
rename : content/base/test/file_bug822367_6.html => browser/base/content/test/file_bug822367_6.html
2013-02-20 09:54:49 +01:00