Commit Graph

1093 Commits

Author SHA1 Message Date
Bobby Holley
1b2f22fe61 Bug 868130 - Remove the lion's share of JSAutoRequests in gecko. r=gabor
There are still a handful that either are used with other runtimes, or that
happen very early/late in cx the lifetime of various things where it doesn't
necessarily make sense to have a cx on the stack. This should definitely ensure
that we're not doing double-duty with the nsCxPusher change, though.
2013-05-22 10:05:28 -06:00
Bobby Holley
ba05c93769 Bug 868130 - Include nsCxPusher.h everywhere we need it, and stop including it from nsContentUtils.h. r=gabor 2013-05-22 10:05:26 -06:00
Bobby Holley
a08274d59c Bug 868130 - Use an AutoSafeJSContext in hueyfix. r=gabor 2013-05-22 10:05:23 -06:00
Bobby Holley
83b50e7905 Bug 841312 - Replace the scripted closing unblocker termination function with an runnable. r=bz
The main idea behind this thing seems to be that we don't want script to quickly
close the window before the user has time to read the notification. Given the
fuzziness of the constraint here, I think we can (and maybe even should) unblock
a little bit later in the event loop, rather than immediately after the script
terminates.

Note that, due to modal dialogs and their event loop spinning shenanigans, we
want to do this only when the stack frame is popped.
2013-05-21 11:45:56 -06:00
Bobby Holley
42a70cf2d5 Bug 841312 - Remove window close termination function, and fall through to PostCloseEvent(). r=bz
This is a more jaded version of my previous attempt.
2013-05-21 11:45:56 -06:00
Boris Zbarsky
810766595d Bug 873735 part 2. Change nsIXPConnectJSObjectHolder::GetJSObject to return a JSObject*. r=bholley 2013-05-20 08:44:18 -04:00
Bobby Holley
88c65fa834 Bug 860941 - Stop clearing return values on navigation. r=jst
Since this stuff is a property on the browsing context, this only makes sense
as a security check. But now that we're using a DialogValueHolder, the origin
checks are taken care of. So we can kill this off.
2013-05-17 10:43:19 -07:00
Bobby Holley
ff1416d597 Bug 860941 - Use DialogValueHolder for returnValue. r=jst
The spec currently has returnValue as a DOMString, but this doesn't match
reality given my testing. I filed [1] to fix it.

Note that nsGlobalModalWindow is already set up to CC mReturnValue. Since
we're swapping in another CC-ed container class, we don't need to make any
changes here.

[1] https://www.w3.org/Bugs/Public/show_bug.cgi?id=21771
2013-05-17 10:43:19 -07:00
Bobby Holley
68187fbfaa Bug 860941 - Make dialogArguments default to |undefined| rather than |null|. r=jst
This is correct by my reading of the spec. Quoting:

The dialogArguments IDL attribute, on getting, must check whether its browsing
context's active document's origin is the same as the dialog arguments' origin.
If it is, then the browsing context's dialog arguments must be returned
unchanged. Otherwise, if the dialog arguments are an object, then the empty
string must be returned, and if the dialog arguments are not an object, then
the stringification of the dialog arguments must be returned.
2013-05-17 10:43:19 -07:00
Bobby Holley
e212c13aff Bug 860941 - Separate the handling of |dialogArguments| and |arguments|, and use IDL for the |dialogArguments| getter. r=jst
This patch is bigger than I'd like it to be, but there are a lot of interlocked
dependencies and I eventually decided it was easier to just lump it together.

The semantics of |showModalDialog|/|window.dialogArguments| (an web-exposed
HTML5 feature) and |openDialog|/|window.arguments| (a XUL-proprietary feature)
are quite different. The former is essentially a security-checked JSVal, while
the latter gets converted into an array. We handled them together in the old
world, which led to a lot of confusion and muddled semantics. This patch
separates them.

This patch also eschews the roundabout resolve hook for dialogArguments in favor
of returning them directly from the XPIDL getter. This better matches the
behavior in the spec, especially because it allows dialogArguments to live on
the outer as they're supposed to, rather than the first inner that happens to
end up in the docshell. All in all, this should make this all very
straightforward to convert WebIDL when the time comes.

The current spec on the origin checks here is pretty fictional, so I've filed
https://www.w3.org/Bugs/Public/show_bug.cgi?id=21932 to fix it. This patch
should more or less preserve the current security behavior.
2013-05-17 10:43:19 -07:00
Bobby Holley
36a0e8c302 Bug 860941 - Remove unnecessary argument cleanup in nsGlobalWindow::DetachFromDocShell. r=jst
This function proceeds to invoke CleanUp(), which also cleans this stuff up.
2013-05-17 10:43:18 -07:00
Bobby Holley
6e9eda51e8 Bug 860941 - Clarify shutdown invariants in ~nsGlobalWindow. r=jst
While the mArguments invariant should hold for _outers_, it doesn't necessarily
hold for inners, so this assertion fires reliably in automation. If mCleanedUp
is true then mArguments is definitely null, so let's disentangle this from
mArguments and be clearer about the invariants we expect.
2013-05-17 10:43:18 -07:00
Bobby Holley
fcd577710a Bug 860941 - Remove mArgumentsLast. r=jst
I'm not sure what it used to do, but it sure doesn't do a damn thing now.
2013-05-17 10:43:18 -07:00
Ed Morley
445750b6e6 Backed out changeset 70c3a3a74362 (bug 860941) for mochitest-3 timeouts on a CLOSED TREE 2013-05-17 09:09:21 +01:00
Ed Morley
16fd94e608 Backed out changeset 98594535c1e9 (bug 860941) 2013-05-17 09:08:49 +01:00
Ed Morley
3bc91f40b5 Backed out changeset 474792d1fb89 (bug 860941) 2013-05-17 09:08:46 +01:00
Ed Morley
b61d46f51a Backed out changeset 0ad1a92ca568 (bug 860941) 2013-05-17 09:08:44 +01:00
Ed Morley
a220dc1713 Backed out changeset 90b318fb8375 (bug 860941) 2013-05-17 09:08:41 +01:00
Ed Morley
7861834d38 Backed out changeset 95006bb32743 (bug 860941) 2013-05-17 09:08:38 +01:00
Ed Morley
003d17a5f8 Backed out changeset de30d8faf09a (bug 860941) 2013-05-17 09:08:36 +01:00
Bobby Holley
6e3c37021b Bug 860941 - Stop clearing return values on navigation. r=jst
Since this stuff is a property on the browsing context, this only makes sense
as a security check. But now that we're using a DialogValueHolder, the origin
checks are taken care of. So we can kill this off.
2013-05-16 23:33:15 -07:00
Bobby Holley
3072f4271d Bug 860941 - Use DialogValueHolder for returnValue. r=jst
The spec currently has returnValue as a DOMString, but this doesn't match
reality given my testing. I filed [1] to fix it.

Note that nsGlobalModalWindow is already set up to CC mReturnValue. Since
we're swapping in another CC-ed container class, we don't need to make any
changes here.

[1] https://www.w3.org/Bugs/Public/show_bug.cgi?id=21771
2013-05-16 23:33:15 -07:00
Bobby Holley
b062e43926 Bug 860941 - Make dialogArguments default to |undefined| rather than |null|. r=jst
This is correct by my reading of the spec. Quoting:

The dialogArguments IDL attribute, on getting, must check whether its browsing
context's active document's origin is the same as the dialog arguments' origin.
If it is, then the browsing context's dialog arguments must be returned
unchanged. Otherwise, if the dialog arguments are an object, then the empty
string must be returned, and if the dialog arguments are not an object, then
the stringification of the dialog arguments must be returned.
2013-05-16 23:33:14 -07:00
Bobby Holley
01f304382c Bug 860941 - Separate the handling of |dialogArguments| and |arguments|, and use IDL for the |dialogArguments| getter. r=jst
This patch is bigger than I'd like it to be, but there are a lot of interlocked
dependencies and I eventually decided it was easier to just lump it together.

The semantics of |showModalDialog|/|window.dialogArguments| (an web-exposed
HTML5 feature) and |openDialog|/|window.arguments| (a XUL-proprietary feature)
are quite different. The former is essentially a security-checked JSVal, while
the latter gets converted into an array. We handled them together in the old
world, which led to a lot of confusion and muddled semantics. This patch
separates them.

This patch also eschews the roundabout resolve hook for dialogArguments in favor
of returning them directly from the XPIDL getter. This better matches the
behavior in the spec, especially because it allows dialogArguments to live on
the outer as they're supposed to, rather than the first inner that happens to
end up in the docshell. All in all, this should make this all very
straightforward to convert WebIDL when the time comes.

The current spec on the origin checks here is pretty fictional, so I've filed
https://www.w3.org/Bugs/Public/show_bug.cgi?id=21932 to fix it. This patch
should more or less preserve the current security behavior.
2013-05-16 23:33:14 -07:00
Bobby Holley
4ccd299589 Bug 860941 - Remove unnecessary argument cleanup in nsGlobalWindow::DetachFromDocShell. r=jst
This function proceeds to invoke CleanUp(), which also cleans this stuff up.
2013-05-16 23:33:14 -07:00
Bobby Holley
a3e97c9f8e Bug 860941 - Clarify shutdown invariants in ~nsGlobalWindow. r=jst
While the mArguments invariant should hold for _outers_, it doesn't necessarily
hold for inners, so this assertion fires reliably in automation. If mCleanedUp
is true then mArguments is definitely null, so let's disentangle this from
mArguments and be clearer about the invariants we expect.
2013-05-16 23:33:14 -07:00
Bobby Holley
88d503c4d5 Bug 860941 - Remove mArgumentsLast. r=jst
I'm not sure what it used to do, but it sure doesn't do a damn thing now.
2013-05-16 23:33:13 -07:00
David Zbarsky
57233197b3 Bug 868312 - Rooting fixes for dom r=bz 2013-05-14 16:25:32 -07:00
Masatoshi Kimura
9369a25ddf Bug 673919 - Remove captureEvents, releaseEvents, and routeEvent. r=smaug 2013-05-14 21:18:39 +09:00
David Zbarsky
cbead1c2c7 Backed out changeset 3b73e9c7a5d0 for orange 2013-05-14 01:00:11 -07:00
David Zbarsky
7519411b1e Bug 868312 - Rooting fixes for dom r=bz 2013-05-14 00:15:53 -07:00
Ehsan Akhgari
b757634fd8 Bug 871315 - Fix some rooting hazards in content/; r=till,bzbarsky 2013-05-13 13:43:53 -04:00
Mounir Lamouri
171a9e7ce6 Bug 851642 - Make sure fullscreenchange event is sent even when the document is being removed from the doctree. r=smaug
... instead of relying on nsScreen being destroyed which was causing flaky
behaviour on Firefox Android (based on GC) and was creating a race condition bug
on Firefox OS.
2013-05-13 12:00:42 +01:00
Ehsan Akhgari
7cb39c2935 Backed out 2 changesets (bug 871315) because different compilers have different standards on what is and is not C++
Backed out changeset d0d2e13e8b83 (bug 871315)
Backed out changeset be3976bd2d57 (bug 871315)

Landed on a CLOSED TREE
2013-05-13 14:42:03 -04:00
Ehsan Akhgari
fc17efaf67 Bug 871315 - Fix some rooting hazards in content/; r=till,bzbarsky 2013-05-13 13:43:53 -04:00
Michael Harrison
6a023a465b Bug 260272 - Remove obsolete code from nsGlobalChromeWindow::SetCursor. r=dbaron,mats 2013-05-12 23:09:29 +02:00
David Zbarsky
70b156af55 Bug 868312 - Rooting fixes for dom r=bz 2013-05-12 01:17:42 -04:00
David Zbarsky
3a5f2fa41d Bug 868312 - Some more rooting fixes for dom r=bz 2013-05-10 22:39:45 -04:00
David Zbarsky
e521e7ffff Bug 868312 - Rooting fixes for dom r=bz 2013-05-10 14:22:21 -04:00
Boris Zbarsky
88960e26d8 Bug 868996. Allow setting opener on the window to non-null, for just the lifetime of the page. r=bholley 2013-05-09 13:07:39 -04:00
Ryan VanderMeulen
882e4068d0 Backed out 6 changesets (bug 868996, bug 867903, bug 869014, bug 870219, bug 861587) for PGO bustage.
CLOSED TREE
2013-05-09 17:11:59 -04:00
Boris Zbarsky
2ca58dfdf6 Bug 868996. Allow setting opener on the window to non-null, for just the lifetime of the page. r=bholley 2013-05-09 13:07:39 -04:00
David Zbarsky
3c839fc3b2 Bug 868312: Root dom/workers r=bz 2013-05-09 03:27:40 -04:00
Terrence Cole
fd72fc252e Bug 777548 - Make non-cc-participant tracing indirect; r=smaug,billm,jst 2013-03-28 13:37:22 -07:00
Ms2ger
f2e25db30c Bug 868727 - Pass an nsAString to nsGlobalWindow::GetChildWindow; r=bz 2013-05-05 09:03:19 +02:00
Ms2ger
088cca5a9c Bug 868411 - Handlify js::GetObjectProto; r=bz 2013-05-05 09:03:14 +02:00
David Zbarsky
ef70ce04b7 Bug 868312: Various dom rooting fixes r=bz 2013-05-04 03:52:57 -04:00
David Zbarsky
40805457eb Bug 868312: Root nsDOMClassInfo.cpp, part 2 r=bz 2013-05-04 03:51:53 -04:00
Boris Zbarsky
2ead1e05ab Bug 865969 part 7. Fix rooting hazards in DOMJSProxyHandler.cpp. r=ms2ger 2013-05-03 19:29:09 -04:00
David Zbarsky
ea0da0d1b4 Bug 868312: Root part of nsDOMClassInfo.cpp r=bz 2013-05-03 14:53:32 -04:00