Commit Graph

334 Commits

Author SHA1 Message Date
Bobby Holley
bdfd3b10bb Bug 893324 - Invoke CleanUp synchronously and unconditionally for modal dialog windows. r=jst
Historically, we've had a bunch of complicated machinery to delay the call to
CleanUp() for modal dialogs, since we needed to harvest the return value after
the window closed. But in the current world we don't actually null out
mReturnValue in CleanUp() at all, which presumably happened sometime around the
time mReturnValue became cycle-collected. So this stuff can just go away. \o/

That simplification is righteous in itself. But it also fixes the bug here as-
filed. When the user quits while a modal dialog is currently being displayed,
a failure code ends up bubbling up through windowWatcher to the OpenInternal call
in nsGlobalWindow::ShowModalDialog, which means that we're unable to do our
delayed CleanUp() call for the outer modal window. At first it seemed like a hard
problem to solve, but with the above it becomes trivial.
2013-07-26 15:46:13 -07:00
Jon Coppeard
6c0077c7f6 Bug 888338 - 1 - Add TenuredHeap<T> class r=terrence r=bz 2013-07-23 10:58:26 +01:00
Ms2ger
98f1aa4ba9 Bug 888318 - Use CSSIntPoint for nsGlobalWindow::ScrollTo; f=kats r=mrbkap 2013-07-01 09:14:34 +02:00
Ms2ger
d031b8f2f5 Bug 888235 - Use CSSIntSize for nsGlobalWindow::GetInnerWidth/Height; f=kats r=mrbkap 2013-07-01 09:14:24 +02:00
Ehsan Akhgari
15c2073a3a Bug 579517 follow-up: Remove NSPR types that crept in 2013-06-23 20:58:53 -04:00
Ted Mielczarek
eeafcabde2 bug 690935 - implement navigator.getGamepads(). r=smaug
--HG--
rename : content/events/src/nsDOMGamepad.cpp => dom/gamepad/Gamepad.cpp
rename : content/events/src/nsDOMGamepad.h => dom/gamepad/Gamepad.h
rename : dom/system/GamepadService.cpp => dom/gamepad/GamepadService.cpp
rename : dom/system/GamepadService.h => dom/gamepad/GamepadService.h
extra : rebase_source : da536e09d6c09c605db28e4af4ccccf824efc20d
2012-02-15 19:47:13 -05:00
Jon Coppeard
c43484e0e2 Bug 877762 - GC: Post-barrier cycle collector participants - 7 Convert most JSObect to use Heap<T> (ex. XBL) r=bz 2013-06-18 11:00:38 +01:00
Andrea Marchesini
c2a5090d51 Bug 858524 - Move BarProp objects to Paris bindings, r=ms2ger, r=smaug 2013-06-01 01:53:00 -07:00
Andrea Marchesini
8e5afa9763 Bug 858524 - Rename nsBarProp to BarProp, r=ms2ger
--HG--
rename : dom/base/nsBarProps.cpp => dom/base/BarProps.cpp
rename : dom/base/nsBarProps.h => dom/base/BarProps.h
2013-05-31 03:30:00 -07:00
Boris Zbarsky
7c5e61e873 Bug 865377. Give EventTarget a chrome-only getter that returns its global. r=smaug
The idea is that you then do things like t.dispatchEvent(new t.ownerGlobal.Event("something")).
2013-05-30 17:46:39 -04: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
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
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
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
b61d46f51a Backed out changeset 0ad1a92ca568 (bug 860941) 2013-05-17 09:08:44 +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
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
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
3a5f2fa41d Bug 868312 - Some more rooting fixes for dom r=bz 2013-05-10 22:39:45 -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
Andrew McCreight
4f9af81b67 Bug 798165 - Make nsTimeout more of a real cycle collected class. r=smaug 2013-04-30 10:41:23 -07:00
Ms2ger
36143fb9dd Bug 864166 - Part d: Outparamdel nsGlobalWindow::GetWebBrowserChrome; r=mounir 2013-04-26 08:51:04 +02:00
Ms2ger
68ca8fd0a8 Bug 864166 - Part c: Outparamdel nsGlobalWindow::GetTreeOwner; r=mounir 2013-04-26 08:51:01 +02:00
Ms2ger
4555343ab0 Bug 864166 - Part b: Don't return nsresult from infallible helper functions in nsGlobalWindow; r=mounir 2013-04-26 08:50:54 +02:00
Boris Zbarsky
f75142b01d Bug 864727 part 5. Make all the WrapObject methods take a handle for the scope object. r=ms2ger 2013-04-25 12:29:54 -04:00
Boris Zbarsky
b99f824099 Bug 704063. Add an unprefixed version of requestAnimationFrame. r=roc, sr=smaug 2013-04-25 11:13:21 -04:00
David Zbarsky
e7c500d80d Bug 861729 - Remove nsPIDOMWindow::GetExtantDocument r=Ms2ger 2013-04-24 00:22:37 -04:00
Boris Zbarsky
a295fe137f Bug 835643 part 4. Put in place all the infrastructure to switch EventListener to WebIDL codegen. r=smaug 2013-04-16 17:16:08 -04:00
Honza Bambas
e7a737bf35 Bug 600307 - localStorage and sessionStorage implementation overhaul, r=mak77+smaug, sr=smaug 2013-04-15 14:38:48 +02:00
Ryan VanderMeulen
e9c65dfa10 Backed out 2 changesets (bug 850362, bug 600307) for Windows XP leaks on a CLOSED TREE. 2013-04-11 17:00:28 -04:00
Honza Bambas
52e949bcbc Bug 600307 - localStorage and sessionStorage implementation overhaul, r=mak77+smaug, sr=smaug 2013-04-11 18:26:06 +02:00
Andrea Marchesini
55b96a77aa Bug 858893 - Rename nsIDOMDesktopNotification to DesktopNotification. r=Ms2ger
--HG--
rename : dom/src/notification/nsDesktopNotification.cpp => dom/src/notification/DesktopNotification.cpp
rename : dom/src/notification/nsDesktopNotification.h => dom/src/notification/DesktopNotification.h
2013-04-10 10:20:43 -04:00
Olli Pettay
054845d27c Bug 858014, make sure nsPIDOMWindow can be used in external apps, like TB/SM, r=neil
--HG--
extra : rebase_source : 5c3bfc5bb175efba465be834974d26df34207568
2013-04-07 15:19:56 +03:00
David Zbarsky
c2cf14c695 Bug 857884 - Use dom::EventTarget more in content/ and dom/ r=Ms2ger 2013-04-05 20:44:15 -04:00
Eitan Isaacson
5848b6c1b9 Bug 858136 - Rename nsIDOMSpeechSynthesisGetter as nsISpeechSynthesisGetter. r=smaug
--HG--
rename : dom/interfaces/base/nsIDOMSpeechSynthesisGetter.idl => dom/interfaces/base/nsISpeechSynthesisGetter.idl
2013-04-04 15:12:34 -07:00
Ms2ger
a1093b2662 Merge m-c to m-i. 2013-04-04 14:15:56 +02:00
Ms2ger
7112884ad3 Bug 575431 - Followup: remove obsoleted comment. 2013-04-04 09:02:16 +02:00
Ms2ger
11ec2b0f62 Bug 853814 - Make nsDocShell::mScriptGlobal an nsGlobalWindow; r=bz 2013-04-04 09:02:11 +02:00
Eitan Isaacson
2ed120291b Bug 525444 - (Part 1/3) Basic SpeechSynthesis setup and voice registration. r=smaug
--HG--
rename : content/media/webspeech/moz.build => content/media/webspeech/synth/moz.build
rename : content/media/webspeech/moz.build => content/media/webspeech/synth/test/moz.build
2013-04-03 15:13:16 -07:00
Ehsan Akhgari
aa3139644f Bug 579517 follow-up: Remove NSPR types that crept in 2013-04-02 20:59:27 -04:00
Bill McCloskey
4af9610d20 Bug 856849 - Poison nsGlobalWindow::mJSObject when it's finalized (r=mrbkap)
--HG--
extra : rebase_source : 687f1f3662d066ab05f3421625968ca1005f229f
2013-04-02 13:08:41 -07:00
Gabor Krizsanits
015106720f Bug 820170 - nsIGlobalObject. r=bholley 2013-04-04 11:27:06 +02:00
Jan Varga
e8149cfe6e Bug 854323 - Move IDBFactory to Paris bindings. r=khuey 2013-03-31 10:18:30 +02:00