Commit Graph

1016 Commits

Author SHA1 Message Date
Justin Lebar
19b287d268 Bug 802366 - The main event: Let a browser process inherit its app's id. r=bz,cjones
The main bug fixed here is that in half of our interfaces, we use "is browser frame/element" to mean "browser or app", and in the other half, we use it to mean "is browser not app".

There's a related, functional bug also fixed here, which is that a browser process doesn't inherit its parent's app-id.  This causes problems e.g. for IndexedDB: If a browser inside an app uses IndexedDB, the DB should have the app's app-id.

I also modified Tab{Parent,Child} and nsFrameLoader to call "app" "ownOrContainingApp", to emphasize that we might have inherited the app from a parent process.  I left nsIDocShell::appId alone, because changing that would have necessitated changing nsILoadGroup and therefore a /lot/ of users in Necko; it's also not clear it would have clarified anything in those cases.
2012-11-09 16:37:39 -08:00
Justin Lebar
12e843ccbd Bug 802366 - Prelude, part 2: Rename GetParentIgnoreBrowserFrame to GetSameTypeParentIgnoreBrowserAndAppBoundaries. r=bz
It's a long name, but at least it's clear.
2012-11-09 16:37:38 -08:00
Boris Zbarsky
8e705c1123 Bug 807226 part 7. Move creation of our event handlers out to the relevant API methods. r=smaug
Note that once we switch all these guys to WebIDL bindings they'll
automatically get the callback objects passed in from binding code.
2012-11-09 08:00:25 -08:00
Boris Zbarsky
2daa94afcd Bug 807226 part 4. Allow event handlers to have a null nsIScriptContext if they won't have to compile from a string. r=smaug 2012-11-09 08:00:25 -08:00
Nathan Froyd
63943e9c43 Bug 803665 - followup - dispense with nsGlobalWindow::{First,Last}Timeout and nsTimeout::{Next,Previous}; r=bz 2012-11-01 10:07:22 -04:00
Nathan Froyd
e9be51deb8 Bug 803665 - convert nsGlobalWindow's timeout list to use mozilla::LinkedList; r=bz 2012-11-01 10:06:22 -04:00
Nathan Froyd
f84b7b466f Bug 803665 - part 0 - make nsTimeout properly initialize its fields; r=bz 2012-11-01 12:27:37 -04:00
Robert O'Callahan
cd4b7e8862 Bug 792675. Part 1: Make the URL interface use WebIDL. r=bz
--HG--
extra : rebase_source : dbb7a3158b71446930400ad523a2896b6306de40
2012-09-25 15:24:43 +12:00
Ms2ger
1458c5086e Merge backout on a CLOSED TREE. 2012-11-08 09:20:52 +01:00
Ms2ger
e7adc51bbe Bug 809756 - Backout bug 803665, bug 803668, bug 803666 and bug 803669 on a CLOSED TREE. 2012-11-08 09:20:25 +01:00
Nathan Froyd
3fe7c0dc6e Bug 803665 - followup - dispense with nsGlobalWindow::{First,Last}Timeout and nsTimeout::{Next,Previous}; r=bz 2012-11-01 10:07:22 -04:00
Nathan Froyd
fdfe7bdd60 Bug 803665 - convert nsGlobalWindow's timeout list to use mozilla::LinkedList; r=bz 2012-11-01 10:06:22 -04:00
Nathan Froyd
4f53eee1c0 Bug 803665 - part 0 - make nsTimeout properly initialize its fields; r=bz 2012-11-01 12:27:37 -04:00
Mounir Lamouri
7805230a8b Bug 795715 - Remove B2G-specific stuff from nsIDOMWindow. r=khuey,fabrice sr=smaug 2012-11-07 18:10:40 +00:00
Brad Lassey
180cc08e90 bug 805017 - Disable screen timeout when DOMFullscreen is enabled r=jst 2012-11-01 08:40:11 -04:00
Ms2ger
5ffd0edacd Bug 807410 - Part b: Pass the "GC on destruction" flag to the nsJSContext constructor; r=jst 2012-11-04 09:05:23 +01:00
Ms2ger
ca9e7e960f Bug 807410 - Part a: Pass the global object to the nsJSContext constructor; r=jst 2012-11-04 09:04:04 +01:00
Jason Duell
799c77afee Bug 804495 - Allow nsGlobalWindow to support GetInterface(nsILoadContext) r=bz 2012-10-24 21:25:00 -07:00
Nathan Froyd
083390c43e Backout 57d8f6cd245a (bug 803669), fb673c95d56b (bug 803665), 24d8e0cb73f2 (bug 803665), ac46bd0d9fba (bug 803669), c9c67b62799b (bug 803666), b3314c0ddaac (bug 803668) for debug build test failures 2012-10-31 13:23:17 -04:00
Nathan Froyd
6db8e72565 Bug 803665 - part 2 - dispense with nsGlobalWindow::{First,Last}Timeout and nsTimeout::{Next,Previous}; r=bz 2012-10-22 11:24:27 -04:00
Nathan Froyd
a837cd5d23 Bug 803665 - convert nsGlobalWindow's timeout list to use mozilla::LinkedList; r=bz 2012-10-19 12:22:35 -04:00
Justin Lebar
c867b89b40 Backed out changeset e710acd6ef11 (bug 802366) 2012-10-30 21:36:32 -04:00
Justin Lebar
d75eb03310 Backed out changeset a6a847452dbf (bug 802366) 2012-10-30 21:36:29 -04:00
Justin Lebar
7e748f5b3a Bug 802366 - The main event: Let a browser process inherit its app's id. r=bz,cjones DONTBUILD
The main bug fixed here is that in half of our interfaces, we use "is browser frame/element" to mean "browser or app", and in the other half, we use it to mean "is browser not app".

There's a related, functional bug also fixed here, which is that a browser process doesn't inherit its parent's app-id. This causes problems e.g. for IndexedDB: If a browser inside an app uses IndexedDB, the DB should have the app's app-id.

I also modified Tab{Parent,Child} and nsFrameLoader to call "app" "ownOrContainingApp", to emphasize that we might have inherited the app from a parent process. I left nsIDocShell::appId alone, because changing that would have necessitated changing nsILoadGroup and therefore a /lot/ of users in Necko; it's also not clear it would have clarified anything in those cases.

(Re-landing changeset a6a847452dbf, backed out in 5091aa6083c4, because it was originally landed with the incorrect bug number.)
2012-10-30 16:13:21 -04:00
Justin Lebar
6bd563b2ee Backed out changeset a6a847452dbf due to incorrect bug number (should be bug 802366, but was bug 802367). DONTBUILD 2012-10-30 16:13:20 -04:00
Justin Lebar
c936f604ec Bug 802367 - The main event: Let a browser process inherit its app's id. r=bz,cjones
The main bug fixed here is that in half of our interfaces, we use "is browser frame/element" to mean "browser or app", and in the other half, we use it to mean "is browser not app".

There's a related, functional bug also fixed here, which is that a browser process doesn't inherit its parent's app-id.  This causes problems e.g. for IndexedDB: If a browser inside an app uses IndexedDB, the DB should have the app's app-id.

I also modified Tab{Parent,Child} and nsFrameLoader to call "app" "ownOrContainingApp", to emphasize that we might have inherited the app from a parent process.  I left nsIDocShell::appId alone, because changing that would have necessitated changing nsILoadGroup and therefore a /lot/ of users in Necko; it's also not clear it would have clarified anything in those cases.

--HG--
extra : rebase_source : f3ef9475e21204da10bf39c6cca506bc08096949
2012-10-30 15:55:05 -04:00
Justin Lebar
8eb0aa0ed6 Bug 802366 - Prelude, part 2: Rename GetParentIgnoreBrowserFrame to GetSameTypeParentIgnoreBrowserAndAppBoundaries. r=bz
It's a long name, but at least it's clear.

--HG--
extra : rebase_source : fdf13259e0b0cc3b0f5d1760f5ced512dee2c28b
2012-10-30 15:55:05 -04:00
Jacek Szpot
0b35b0e3d8 Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
Bobby Holley
b4461f0bed Bug 803068 - Merge DirectWrapper and Wrapper. r=ejpbruel
--HG--
extra : rebase_source : a2b98a9585c6f7761747cfaf55684e6eeed91344
2012-10-29 16:52:53 +01:00
Nikhil Marathe
36f99c3113 Bug 804174 - Inline IsCallerTrustedForWrite with IsCallerChrome. r=mccr8 2012-10-25 16:10:54 -07:00
Nikhil Marathe
17ccba841b Bug 804174 - Inline IsCallerTrustedForRead with IsCallerChrome. r=mccr8 2012-10-25 16:10:53 -07:00
Nikhil Marathe
453b3dce5f Bug 804174 - Inline CallerHasUniversalXPConnect with IsCallerChrome. r=mccr8 2012-10-25 16:10:53 -07:00
Ryan VanderMeulen
130a50c2ca Merge m-c to inbound. 2012-10-25 17:43:19 -04:00
Bobby Holley
6bae1ef04d Bug 797821 - Address Ms2ger's review comments. r=me 2012-10-25 17:01:09 +02:00
Bobby Holley
c562949e50 Bug 797821 - Hoist XPConnect-y stuff out of the compartment private and into the XPCWrappedNativeScope. r=mrbkap
This change means we no longer have to keep around a set of XPConnect compartments.
We keep the compartment private around for non-xpconnecty stuff like about:memory
instrumentation that needs to happen on non-xpconnect compartments.
2012-10-25 17:01:09 +02:00
Mihai Sucan
ff15ba270c Bug 803964 - Cannot show window object with inspect viewer in remote web console; r=bz 2012-10-24 13:01:54 +03:00
Boris Zbarsky
611fe536d0 Bug 800983. Expose a getter for default computed style. r=dbaron
An alternative implementation strategy is to add "default-only"
versions of ResolveStyleFor and ResolvePseudoElementStyle and then
modify FileRules to support those, or use a cut-down custom version of
FileRules for them.  That would be faster, but more complicated on the
style set side.  We can always make that switch if we need to, I guess.
2012-10-17 17:01:56 -04:00
Boris Zbarsky
194968b6cb Bug 795520. Don't fail to return a computed CSS declaration just because the style change that will give us a presshell has not been processed yet. r=dbaron
Another, more risky, option would be to always return a declaration
from getComputedStyle, even if we have no presshell, then just throw
(after flushing, as needed) if people try to get style info for it
just like we already do for declarations whose document loses a
presshell.  This might cause compat issues on sites that can deal with
null but not exceptions, though.  :(
2012-10-17 17:01:56 -04:00
Olli Pettay
4ec16f4336 Bug 801719 - Unmark certainly alive event listener and message managers, r=mccr8
--HG--
extra : rebase_source : 0637559f37143a21583afe3c06d1464de8fc665b
2012-10-17 04:22:02 +03:00
Olli Pettay
d89e6a05ed Bug 799592 nsDOMWindowUtils::AllowScriptsToClose to bypass dom.allow_scripts_to_close_windows, r=jst 2012-10-12 13:17:56 +03:00
Gabor Krizsanits
741ac104b0 Bug 684601 - window.toString.call() with native JS Object; r=bz 2012-10-09 17:21:53 +02:00
Andrew McCreight
14251443aa Bug 797649 - Truncate URLs logged in --DOMWINDOW. r=bz 2012-10-05 12:15:04 -07:00
Justin Lebar
851ff7842d Bug 789392 - Allow mozapp frames to window.close() themselves. r=bz 2012-10-04 00:44:50 -04:00
Ryan VanderMeulen
b3a7522e9a Backout 99caa1f41fe1 (bug 797515) and a04b83c53297 (bug 789392) for M2 orange. 2012-10-03 21:59:41 -04:00
Justin Lebar
30b2ea29e8 Bug 789392 - Allow mozapp frames to window.close() themselves. r=bz 2012-10-03 20:45:40 -04:00
Mounir Lamouri
d145d82982 Bug 795725 - Remove booleans that prevents calling RemoveObserver() twice. r=smaug 2012-10-03 10:39:23 +01:00
Justin Lebar
0763b41739 Back out bbf94917f0ec (bug 789392) on strong suspicion of causing assertions in debug mochitest-2 on a CLOSED TREE.
The assertion encountered is:

Assertion failure: !gAppContentParents || !gAppContentParents->Get(mAppManifestURL), at ../../../dom/ipc/ContentParent.cpp:774
TEST-UNEXPECTED-FAIL | /tests/dom/browser-element/mochitest/test_browserElement_oop_CloseFromOpener.html | Exited with code 11 during test run
PROCESS-CRASH | /tests/dom/browser-element/mochitest/test_browserElement_oop_CloseFromOpener.html | application crashed (minidump found)
Thread 0 (crashed)
2012-10-02 18:20:20 -04:00
Justin Lebar
774351fff4 Bug 789392 - Allow mozapp frames to window.close() themselves. r=bz 2012-10-02 13:55:52 -04:00
Ms2ger
ea6699a96d Bug 793482 - Use xpc::GetCompartmentPrivate in a few more places; r=bholley 2012-10-02 10:24:11 +02:00
Ms2ger
cad7911805 Bug 780161 - Part c: Introduce nsGlobalWindow::IndexedGetter(); r=bz 2012-10-02 10:07:36 +02:00
Ms2ger
70cfc7071d Bug 780161 - Part b: Introduce nsGlobalWindow::GetLength(); r=bz 2012-10-02 10:07:35 +02:00
Mounir Lamouri
d862c3f266 Bug 795136 - 2/2 - Add 'network-events' permission to access network-{upload,download} events. r=sicking 2012-09-30 14:48:40 +01:00
Mounir Lamouri
2cc12c0525 Bug 795136 - 1/2 - Add events notifying the window if upload/download happen on the system. r=smaug sr=sicking 2012-09-30 14:47:48 +01:00
Isaac Aggrey
997db4d142 Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Philipp von Weitershausen
213e5bb81b Bug 776832 - Add a scriptable API to assert app permissions through messagemanager. r=smaug 2012-09-27 22:43:12 -07:00
Ed Morley
9afe80f95c Backout 52be204da1cf (bug 776663), 965397b043c0 (bug 777508), 182c763efa68 (bug 776832), a2a509184b07 & cba5ba69091f (bug 789973) for failures in test_child_process_shutdown_message.html and friends / conflicting with the backout on a CLOSED TREE 2012-09-28 14:08:04 +01:00
Philipp von Weitershausen
ce02d379ee Bug 776832 - Add a scriptable API to assert app permissions through messagemanager. r=smaug 2012-09-27 22:43:12 -07:00
Phil Ringnalda
3bf447ccd6 Back out 95d3bf1b070b (bug 789392) for mochitest failure on a CLOSED TREE 2012-09-27 21:26:59 -07:00
Justin Lebar
7032cf24b5 Bug 789392 - window.close() failed to trigger mozbrowserclose event on the parent frame if the child frame is not created with window.open. r=bz 2012-09-27 23:06:01 -04:00
Bill McCloskey
2e75082f62 Bug 787856 - Convert JS_GetPrototype to support lazy protos (r=bhackett) 2012-09-03 16:42:17 -07:00
Bill McCloskey
88913893e5 Bug 787856 - Convert js::GetObjectProto to support lazy protos (r=bhackett) 2012-09-03 16:42:10 -07:00
Ed Morley
36027dea2c Backout be95f234ff6e (bug 776832) for various mochitest-1 failures 2012-09-26 10:31:19 +01:00
Philipp von Weitershausen
0154a7b0b8 Bug 776832 - Add a scriptable API to assert app permissions of apps through messagemanager. r=smaug 2012-09-26 00:41:51 -07:00
Ehsan Akhgari
b5c39afb4e Bug 792502 - Kill the FunctionTimer code; r=vlad 2012-09-19 16:59:38 -04:00
Steven Lee
1a3d6cea38 Bug 714358: Time manager implementation. r=jlebar 2012-09-11 02:05:00 -04:00
Matt Brubeck
dd28aab718 Bug 564815 - Implement window.devicePixelRatio [r=jst, sr=sicking]
--HG--
extra : rebase_source : 392c6636fabe2a3ec519abd03ef1b1cf44ba464e
2012-08-22 13:17:26 -07:00
L. David Baron
ff3df34b87 Rename nsIPresShell::InitialReflow to Initialize since it doesn't actually perform reflow. (Bug 788956) r=roc 2012-09-06 21:16:09 -07:00
Ms2ger
da816a754b Bug 785067 - Outparamdel nsGlobalWindow::SaveWindowState; r=mrbkap 2012-09-06 09:20:26 +02:00
Ryan VanderMeulen
1baaa803da Merge m-c to inbound. 2012-09-05 17:52:28 -04:00
andrew.quartey@gmail.com
67585c898f Bug 701299 - crash nsGlobalWindow::LeaveModalState, r=smaug,khuey 2012-09-05 21:25:53 +03:00
Neil Deakin
36287aa39a Bug 784142, assertion and crash calling alert while closing a window, check in again without the test, r=smaug 2012-09-05 14:52:47 -04:00
Bobby Holley
07838d4445 Bug 771354 - Don't special-case principal assignment for chrome windows in nsGlobalWindow.cpp. r=bz 2012-09-05 11:32:07 -07:00
Bobby Holley
c466facab9 Bug 774607 - Remove use of JS_{Is,Make}SystemObject from Gecko. r=bz
We currently set this for system globals and anything whose parent
chain leads to a system global. Maybe this was relevant before, but
with CPG this is just equivalent to asking whether the object is in
a system compartment. And the only place where we _check_ this bit
is immediately after checking for a system compartment, in
WrapperFactory. So AFAICT this can go away entirely.
2012-09-05 11:32:07 -07:00
Bobby Holley
3323a3c0e1 Bug 774633 - Assert against switching origins on a compartment. r=jst 2012-09-05 11:32:07 -07:00
Bobby Holley
99f6405182 Bug 774633 - Remove "is chrome window" condition for inner window reuse. r=jst
WouldReuseInnerWindow also returns true if the new window is same-origin with
the old one about:blank document.

This condition exists in order to handle some sloppiness with respect to the
principals on initial about:blank documents. Chrome callers sometimes parent
chrome windows (with XUL document) to content windows. But this parenting causes
us to push the cx of the content window during window creation, meaning that
the subsequent load of chrome://foo.xul blows away the old inner window and any
expandos on it. We can handle this case more precisely by skipping the cx push
for type="chrome" windows.

Furthermore, this was also necessary to prevent the inner window from being
blown away in the call to SetOpenerScriptPrincipal once nsWindowWatcher gets
the window back from the window creator (and after it's already told consumers
about the window via "domwindowcreated"). But we fixed this nastiness in the
previous patches.

So we can remove this case. By doing so, we can prevent inner windows from ever
changing origins, which is very important for compartment security invariants.
2012-09-05 11:32:06 -07:00
Bobby Holley
05e10f96c1 Bug 774633 - Fold SetOpenerScriptPrincipal into SetInitialPrincipalToSubject, and make it indempotent and callable without an existing document. r=jst
There's no reason it has to fail if there's no mDoc, since any document is promptly
blown away with the new about:blank document.

The indempotence is important because we want to be able to call this method
unconditionally in OpenJSWindowInternal (since we may not have gone through
RegisterTopLevelWindow) without worrying about whether we've called it already.
2012-09-05 11:32:06 -07:00
Bobby Holley
517b3a2ec0 Bug 774633 - Remove dead mOpenerScriptPrincipal. r=jst
This value is initialized to null and never set, so we can get rid of it.
2012-09-05 11:32:06 -07:00
Bobby Holley
e0da4110dc Bug 774633 - Wean SetInitialPrincipalToSubject off some parameters and clean it up. r=jst
We can remove the fallback to the principal of aParent because we already push the
cx for aParent (callerContextGuard) whenever we're concerned about using its principal.
2012-09-05 11:32:06 -07:00
Bobby Holley
3d944bcab3 Bug 774633 - Factor nsWindowWatcher call to SetOpenerScriptPrincipal into a method on nsGlobalWindow. r=jst
This doesn't change any functionality in the code. Note that the name is currently
a bit of a misnomer, but we change that in the next patch when we rip out the
arguments.
2012-09-05 11:32:06 -07:00
Ed Morley
970e1b69f3 Backout 1d89bc229215 (bug 784142) for bug 787744 2012-09-03 10:04:49 +01:00
Randell Jesup
eedf93a21d Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Kyle Huey
c25f8e64ef Bug 687332: Part 2 - Move event handlers off of DOM objects and keep track of them solely in the event listener manager. r=smaug,bz 2012-08-30 20:45:16 -07:00
Ryan VanderMeulen
df8b5323ba Merge the last PGO-green inbound changeset to m-c. 2012-08-30 21:54:09 -04:00
Kyle Huey
75454be03c Bug 786048: Rename 'JSEventListener' to 'EventHandler' to better match the spec's terminology. r=smaug 2012-08-30 09:25:10 -07:00
Neil Deakin
3b9299ae04 Bug 784142, assertion and crash calling alert while closing a window, r=smaug 2012-08-30 15:39:39 -04:00
Andrew McCreight
3f6c58c43d Bug 749366 - Remove mostly bogus size arg from CC callbacks. r=smaug 2012-08-27 10:41:04 -07:00
Philipp von Weitershausen
5801c8b2ab Bug 776825 - Separate message managers into senders and broadcasters. r=smaug
--HG--
rename : content/base/public/nsIFrameMessageManager.idl => content/base/public/nsIMessageManager.idl
2012-08-27 11:13:02 -03:00
Ryan VanderMeulen
6989c1bf30 Merge m-c to inbound. 2012-08-24 16:18:09 -04:00
Olli Pettay
8cd4cd7ed2 Bug 785228 - nsGlobalWindow is described twice during traverse, r=mccr8
--HG--
extra : rebase_source : 3ebb0df0d4d20618d03bd9f7be2fedd54d6ef843
2012-08-23 14:15:39 -07:00
Rafael Ávila de Espíndola
8b3fc1dbd6 Bug 784889 - Use nullptr in a function that returns a pointer. r=ms2ger. 2012-08-23 09:56:10 -04:00
Andrew McCreight
62325fa9f3 Bug 750570, part 4 - Switch most native CC classes to use the purple buffer. r=smaug
This patch actually converts over most of the existing native CC classes
to use the participant. This is done by converting them to use
the newly generalized nsCycleCollectingAutoRefCnt instead of their usual
ref count.

This is mostly a matter of defining new macros defining AddRef() and Release()
for native CC classes with the CC ref count.

nsTimeout is left as a legacy native CC class because it is a weird class,
but hopefully eventually it too can be converted over.  See bug 774874.
2012-08-24 09:50:06 -07:00
Matt Brubeck
5e47d4412f Back out 670c8a2695b3 (bug 771354), 134557d57e6e 4ad52e488977 (bug 774607), and...
036eb8c2a08a d4d36e3b948f 35334e820632 6bd07fd5147d d49e7c0d762c 407f19deb14c d84551808abb (bug 774633)
on a CLOSED TREE
2012-08-23 21:34:27 -07:00
Luke Wagner
94264a0bc8 Bug 625199 - s/JSAutoEnterCompartment/JSAutoCompartment/ and make it infallible (r=bholley)
--HG--
extra : rebase_source : 12acf2288285f5caefd7fecea8207de3a47eab5b
2012-08-21 18:42:53 -07:00
Bobby Holley
6dbb03cd4b Bug 771354 - Don't special-case principal assignment for chrome windows in nsGlobalWindow.cpp. r=bz 2012-08-23 16:44:53 -07:00
Bobby Holley
a2d7eabc5a Bug 774607 - Remove use of JS_{Is,Make}SystemObject from Gecko. r=bz
We currently set this for system globals and anything whose parent
chain leads to a system global. Maybe this was relevant before, but
with CPG this is just equivalent to asking whether the object is in
a system compartment. And the only place where we _check_ this bit
is immediately after checking for a system compartment, in
WrapperFactory. So AFAICT this can go away entirely.
2012-08-23 16:44:53 -07:00
Bobby Holley
487e2dd7a7 Bug 774633 - Assert against switching origins on a compartment. r=jst 2012-08-23 16:44:53 -07:00
Bobby Holley
27cb64cf35 Bug 774633 - Remove "is chrome window" condition for inner window reuse. r=jst
WouldReuseInnerWindow also returns true if the new window is same-origin with
the old one about:blank document.

This condition exists in order to handle some sloppiness with respect to the
principals on initial about:blank documents. Chrome callers sometimes parent
chrome windows (with XUL document) to content windows. But this parenting causes
us to push the cx of the content window during window creation, meaning that
the subsequent load of chrome://foo.xul blows away the old inner window and any
expandos on it. We can handle this case more precisely by skipping the cx push
for type="chrome" windows.

Furthermore, this was also necessary to prevent the inner window from being
blown away in the call to SetOpenerScriptPrincipal once nsWindowWatcher gets
the window back from the window creator (and after it's already told consumers
about the window via "domwindowcreated"). But we fixed this nastiness in the
previous patches.

So we can remove this case. By doing so, we can prevent inner windows from ever
changing origins, which is very important for compartment security invariants.
2012-08-23 16:44:53 -07:00
Bobby Holley
bdfc1a194e Bug 774633 - Fold SetOpenerScriptPrincipal into SetInitialPrincipalToSubject, and make it indempotent and callable without an existing document. r=jst
There's no reason it has to fail if there's no mDoc, since any document is promptly
blown away with the new about:blank document.

The indempotence is important because we want to be able to call this method
unconditionally in OpenJSWindowInternal (since we may not have gone through
RegisterTopLevelWindow) without worrying about whether we've called it already.
2012-08-23 16:44:52 -07:00
Bobby Holley
dc08b52980 Bug 774633 - Remove dead mOpenerScriptPrincipal. r=jst
This value is initialized to null and never set, so we can get rid of it.
2012-08-23 16:44:52 -07:00
Bobby Holley
42aa81e35d Bug 774633 - Wean SetInitialPrincipalToSubject off some parameters and clean it up. r=jst
We can remove the fallback to the principal of aParent because we already push the
cx for aParent (callerContextGuard) whenever we're concerned about using its principal.
2012-08-23 16:44:52 -07:00
Bobby Holley
a38782c3e3 Bug 774633 - Factor nsWindowWatcher call to SetOpenerScriptPrincipal into a method on nsGlobalWindow. r=jst
This doesn't change any functionality in the code. Note that the name is currently
a bit of a misnomer, but we change that in the next patch when we rip out the
arguments.
2012-08-23 16:44:52 -07:00
Justin Lebar
7649f5cc25 Bug 784436 - Part 2: Use new infallible nsIDocShell methods. r=bz 2012-08-22 18:27:04 -07:00
Ehsan Akhgari
0fd9123eac 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
Ian Melven
1c2a281d12 Bug 341604 - iframe sandbox - block indexedDB if sandboxed without allow-same-origin, add tests for indexedDB r=jst 2012-08-20 11:34:34 -07:00
Ian Melven
46a3add818 Bug 341604 - Implement HTML5 sandbox attribute for IFRAMEs r=smaug r=jst 2012-08-20 11:34:32 -07:00
Bill McCloskey
2a27218e23 Bug 783416 - Stop saving the prototype in WindowStateHolder (r=mrbkap) 2012-08-17 10:09:01 -07:00
Neil Deakin
3e40b0b005 Bug 743975 - use a widget listener interface instead of the remaining events that don't need an event, r=tn,jmathies,netzen,smichaud,karlt,blassey,chrisjones 2012-08-15 14:52:42 -04:00
Ehsan Akhgari
805b10b6d6 Merge removal of nsnull 2012-08-14 11:29:00 -04:00
Ehsan Akhgari
7aa3b098c8 Bug 626472 - Remove on last nsnull! 2012-08-14 11:28:45 -04:00
Justin Lebar
8a615581c4 Bug 769254 - Part 2: Modify nsPIWindowWatcher::OpenWindowJS (renamed to OpenWindow2) so we can pass in the URL for target=_blank links without navigating the opened window to that URL. r=bz 2012-08-14 10:58:00 -04:00
Aryeh Gregor
6a9cec29c8 Bug 626472 part 3 - Remove nsnull for good; r=ehsan 2012-08-12 13:43:47 +03:00
Neil Deakin
9b35869d1b Bug 391834, don't allow prompts in beforeunload, unload and pagehide events,r=smaug,patch mostly by gavin 2012-08-13 15:05:34 -04:00
Neil Deakin
783b418a43 Bug 391834, rearrange some popup dialog code to be simpler,r=smaug,patch mostly by gavin 2012-08-13 15:03:59 -04:00
Justin Lebar
0a712a72f1 Bug 777135 - Part 3: Remove nsDOMWindowUtils::GetIsApp and friends. r=mounir
--HG--
extra : rebase_source : ac3db88b7eb03397c4ae514624e1f3021947c396
2012-08-13 12:58:38 -04:00
Justin Lebar
0d4822afe2 Bug 777135 - Part 2: Stop using nsDOMWindowUtils::GetIsApp and friends, and instead use the relevant methods on the principal. r=mounir
--HG--
extra : rebase_source : fa8a153a1edc8f64b230b67f121ba5eaaf1098e6
2012-08-13 12:58:38 -04:00
Robert O'Callahan
d53617a13e Bug 383026. Centralize code that converts DOM scroll offsets to/from layout scroll positions. r=dbaron
--HG--
extra : rebase_source : a6118e0eeea749a601e055741e35cdcd15d81e57
2012-08-10 23:17:06 +12:00
Ms2ger
118098725e Backout changeset c77acb256aec for failing to work. 2012-08-11 18:12:54 +02:00
Phil Ringnalda
66e7c87620 Backout dcb9d2f694eb (bug 769254) for Windows test_resize_move_windows.html M3 failures 2012-08-10 18:51:29 -07:00
Justin Lebar
badc95dec3 Bug 769254 - Part 2: Modify nsPIWindowWatcher::OpenWindowJS (renamed to OpenWindow2) so we can pass in the URL for target=_blank links without navigating the opened window to that URL. r=bz
--HG--
rename : layout/reftests/svg/pattern-scale-01c.svg => layout/reftests/svg/pattern-scale-01a.svg
extra : rebase_source : 1e934ffb7a561255430bea738aa204afcaf92c79
2012-08-10 11:42:28 -04:00
Ed Morley
10b5d6d4ac Backout 5d77941eba28 (bug 772726), df597d36bcbb (bug 383026), c9c7e1b9aed9 (bug 779399) for failures in meter-native-style.html 2012-08-10 14:50:43 +01:00
Robert O'Callahan
1fd3d80a86 Bug 383026. Centralize code that converts DOM scroll offsets to/from layout scroll positions. r=dbaron
--HG--
extra : rebase_source : eceb07d8d35e0dd5dd31d065cb04eec12d69a283
2012-08-10 23:17:06 +12:00
Aryeh Gregor
0923bf00ef Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Ed Morley
61bd42dc2d Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-08-09 12:46:05 +01:00
Ms2ger
f2dfacfb24 Bug 780146 - Part a: Move window._content into IDL; r=jst 2012-08-09 09:16:09 +02:00
Boris Zbarsky
1dc8dd0dba Bug 703855. Don't update performance timing or navigation timing state during document.open. r=jst 2012-08-08 23:47:04 -04:00
Chris Jones
c75af6c281 Revert e3e9040a6eb9 for M2 failures 2012-08-08 21:58:23 -07:00
Boris Zbarsky
6d358255e3 Bug 703855. Don't update performance timing or navigation timing state during document.open. r=jst 2012-08-08 23:47:04 -04:00
Ms2ger
066646b86e Bug 780165 - Part a: Introduce nsPIDOMWindow::GetDoc(); r=smaug 2012-08-04 09:44:01 +02:00
Ed Morley
bba173e66e Revert inbound to 3d5d1daa2505 to stop OS X M5 failures (backout not clean/could have been a bad merge) on a CLOSED TREE 2012-08-04 18:05:15 +01:00
Ms2ger
0413a5f31a Bug 780165 - Part a: Introduce nsPIDOMWindow::GetDoc(); r=smaug 2012-08-04 09:44:01 +02:00
Ed Morley
edbbd284ab Merge mozilla-central and fx-team 2012-08-03 15:52:55 +01:00
Tim Taubert
fcedf34693 Bug 728294 - Part 2 - Add last opened URI and windowID to a refCounted node's description in debug mode; r=smaug 2012-08-03 12:36:59 +02:00
Ben Turner
0010e82b08 Bug 759427 - 'Multiprocess blob support for MessageManager and IndexedDB'. r=smaug+janv+khuey (rs=sicking for nsBlobURI changes).
--HG--
extra : transplant_source : %95%B5y%11%C5%AB%D9%CF%FF%7C%5E%BB%E5%DA%F5j%83o%29%EB
2012-08-01 23:02:29 -07:00
Olli Pettay
4c2811f3c2 Bug 777278 - Implement nsIDOMStorageEvent using event implementation codegen, r=mayhemer 2012-08-01 19:17:19 +03:00
Chris Pearce
749e6d7713 Bug 684620 - Implement cross process fullscreen API for B2G apps and web content. r=jlebar
* * *
Bug 684620 - Fix in-process fullscreen in B2G. r=?
2012-07-31 14:09:31 +12:00
Aryeh Gregor
e806eeab4f Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Nathan Froyd
127cb5c9db Bug 776979 - consolidate InitWithFuncCallback calls into nsTimeout::InitTimer; r=bz 2012-07-24 13:50:45 -04:00
Matt Brubeck
769c2e9252 Back out fbdb3104c9e5, d2fe54ae00a8, d378362cbe01, fe623d60bea1 (bug 769254) on suspicion of causing Windows debug mochitest-plain-3 timeouts 2012-07-23 20:30:12 -07:00
Justin Lebar
c9febe2419 Bug 771273 - Part 1: Make nsDocShell::GetSameTypeParent and friends respect <iframe mozbrowser> boundaries. r=bz
--HG--
extra : rebase_source : cc6f8b85ddea42cf47a382a3edb1ca6d1b5fdbc9
2012-07-23 15:59:37 -04:00
Justin Lebar
65e1654abd Backed out changeset cac4e8a16532 (bug 771273) 2012-07-23 15:39:03 -04:00
Justin Lebar
bd1f475f02 Bug 771273 - Part 1: Make nsDocShell::GetSameTypeParent and friends respect <iframe mozbrowser> boundaries. r=bz 2012-07-23 13:47:33 -04:00
Justin Lebar
d7ac31176f Backed out changeset 0b4c68d39a61 (bug 771273) on a CLOSED TREE 2012-07-23 11:44:55 -04:00
Justin Lebar
f019d8710c Bug 771273 - Part 1: Make nsDocShell::GetSameTypeParent and friends respect <iframe mozbrowser> boundaries. r=bz 2012-07-23 11:24:14 -04:00
Justin Lebar
d54159c32c Bug 769254 - Part 2: Modify nsPIWindowWatcher::OpenWindowJS (renamed to OpenWindow2) so we can pass in the URL for target=_blank links without navigating the opened window to that URL. r=bz
--HG--
extra : rebase_source : 96a53a1a8b34f41bfe59f00141d598c5394cb0c1
2012-07-23 10:44:13 -04:00
Bobby Holley
bb2b0385f8 Bug 773962 - Fix up waivers after transplanting. r=mrbkap 2012-07-23 15:51:18 +02:00
Mounir Lamouri
397bc64735 Bug 774957 - Update nsDocShell jazz so distinction between browser and app frame is clearer. r=jlebar sr=sicking 2012-07-18 22:26:21 -07:00
Steve Fink
3b5b986d0b Backed out changeset 060a9d9fc1c6 from a CLOSED TREE since it seems to depend on afc1cf222996 or 1bafff5720a8 that I just backed out 2012-07-19 15:45:27 -07:00
Mounir Lamouri
d6d9b5f0b7 Bug 774957 - Update nsDocShell jazz so distinction between browser and app frame is clearer. r=jlebar sr=sicking 2012-07-18 22:26:21 -07:00
Jim Mathies
7f92debdd9 Bug 762519 - Send xpconnect stack dump output and javascript dump output to the win debugger when attached. r=ehsan, mrbkap 2012-07-19 09:58:44 -05:00
Aryeh Gregor
7070a755d7 Bug 768756 part 2 - Make nsComputedDOMStyle Init infallible and merge into constructor; r=bz 2012-07-06 15:28:33 +03:00
Ed Morley
80af77da9d Backout ea6db8f420c0 (bug 770831), b51c79ee0883 (bug 774957), 020f6ed5958b (bug 758258), 11d8e19e1fca (bug 758258), 707fc51bfe2e (bug 775354), 489d944a6fe6 (bug 327244), be7df3c9d50f (bug 327244) for m-oth orange 2012-07-19 08:29:48 +01:00
Mounir Lamouri
8cfd0a9baa Bug 774957 - Update nsDocShell jazz so distinction between browser and app frame is clearer. r=jlebar sr=sicking 2012-07-18 22:26:21 -07:00
Gabor Krizsanits
eb91f1fcc5 Bug 769273 - part4: avoiding innerization in NukeCrossCompartmentWrappers. r=bholley 2012-07-17 17:51:21 +02:00
Gabor Krizsanits
616ba55d88 Bug 769273 - part2: Refactoring NukeChromeCrossCompartmentWrappersForGlobal. r=bholley 2012-07-17 17:36:15 +02:00
Gabor Krizsanits
cab55a782f Bug 769273 - part1: Prep for refactoring NukeChromeCrossCompartmentWrappersForGlobal. r=bholley 2012-07-17 15:38:53 +02:00
Ehsan Akhgari
2407172a43 Bug 774556 - Remove nsIDOMWindowPerformance* XPCOM interfaces; r=bzbarsky 2012-07-16 22:44:22 -04:00
Ehsan Akhgari
8483016620 Bug 749101 - Move window.performance to the new DOM bindings; r=bzbarsky 2012-07-16 21:42:18 -04:00
Mounir Lamouri
5199742d8f Bug 769586 - Make PopupWindowManager using principal to test permissions instead of URI. r=sicking 2012-07-15 18:37:31 -07:00
Ed Morley
53c5da4c5a Backout 6ceeca8b4b73 (bug 772332), ce5629b973e4, 1dcff1db63b4, 108d06ef7755 & 7bf6519b3f43 (bug 768756) for bustage 2012-07-15 11:42:31 +01:00
Aryeh Gregor
336965c636 Bug 768756 part 2 - Make nsComputedDOMStyle Init infallible and merge into constructor; r=bz 2012-07-06 15:28:33 +03:00
Bonnie Surender
d4b8b68583 Fix for bug 771967. OS idle api active to briefly idle to active notification fix. r=jst 2012-07-13 15:39:46 -07:00
Bonnie Surender
9313b1abce Fix for bug 769722 and bug 769723. Remove unnecessary kungFuDeathGrips and extra parentheses in the Idle API code. r=jst 2012-07-05 16:20:13 -07:00
Chris Pearce
cb6e111f08 Bug 772743 - Add pref to not make the widget fullscreen when entering fullscreen. Set it to true for b2g desktop client. r=mounir 2012-07-13 22:21:23 +12:00
Matt Brubeck
22d4409672 Back out bug 769254 (a81e5e60dca3, 0afba80f60a1, d5e4f42b8540, 636dfa176232) because of Windows M3 leaks
--HG--
extra : rebase_source : b1dfca300a71e60feafd46a5e93ee99a79d56051
2012-07-11 17:30:30 -07:00
Justin Lebar
910d854fbe Bug 769254 - Part 2: Modify nsPIWindowWatcher::OpenWindowJS (renamed to OpenWindow2) so we can pass in the URL for target=_blank links without navigating the opened window to that URL. r=bz
--HG--
extra : rebase_source : 1de945d5933824d79866bbc61e2493f96217a9ee
2012-07-11 16:02:20 -04:00
L. David Baron
22e6bbc578 Add flush before we find our pres context, to fix media queries tests on ringmark. (Bug 753777) r=bzbarsky 2012-07-07 21:41:27 -07:00
Bonnie Surender
9de6e1be26 fixing bug 770656, idle fuzz time for idle notifications. r=jst@mozilla.com 2012-07-04 13:21:40 -07:00
Mounir Lamouri
7f16d363cf Bug 770491 - Fix leak introduced by System Message Handler API. r=khuey 2012-07-03 15:49:56 +02:00
Fabrice Desré
661080aac7 Bug 755245 - Implement System Message Handler : Part 2, Add a getApp() method to nsGlobalWindow [r=mounir] 2012-07-02 17:16:55 -07:00
Bonnie Surender
664f271620 Fixing bug 770175 and bug 770171. Idle API moz assert fix. r=jst@mozilla.com 2012-07-02 16:18:57 -07:00
Ms2ger
9f56b60843 Merge m-c to m-i. 2012-06-30 14:50:23 +02:00
Kyle Huey
3b3b755501 Bug 726378: Unprefix IndexedDB. r=sicking 2012-06-29 09:48:35 -07:00
Bonnie Surender
e360fa128a Fixing bug 715041. Add support for Idle API. r=bent, jst 2012-06-29 01:32:21 -07:00
Jonathan Watt
6380335603 Bug 767388 - Kill NS_DEBUG. r=bz.
--HG--
extra : rebase_source : d045208a26345712dbb4628c973c616cd9504f28
2012-06-25 20:59:42 +01:00
Mounir Lamouri
950bfc0ccb Bug 764753 - Unlock screen orientation when the document is left without explicitly exiting fullscreen. r=smaug 2012-06-22 10:52:47 +02:00
Mike Hommey
c533a83b6c Bug 616262 - Avoid cycle collection participant global variables adding static initializers. r=smaug,r=mccr8,r=Waldo 2012-06-04 08:30:26 +02:00
Ehsan Akhgari
d8df82ca0f Bug 758992 - Make the classes which use the XPCOM nsISupports implementation macros final, to avoid the warning about deleting using a pointer to a base class with virtual functions and no virtual dtor (dom parts); r=bzbarsky 2012-06-14 22:31:55 -04:00
Ms2ger
a592bdccbb Bug 762455 - Make nsGlobalWindow::InnerSetNewDocument not return nsresult; r=peterv 2012-06-17 10:11:16 +02:00
Mike Hommey
311cae060f Backout changeset a81526647059 and 560c492f81ad (bug 616262) because of Windows Moth perma-orange 2012-06-15 15:50:24 +02:00
Ed Morley
6c0104928c Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-06-15 13:32:55 +01:00
Bobby Holley
a25e476e78 Bug 764389 - Update compartment principals on inner window reuse and on document.write. r=bz 2012-06-15 08:31:27 +02:00
Etienne Segonzac
3be58ec2e7 Bug 764414 - Let <iframe mozapp> content open popups even when it's in the background. r=bz 2012-06-15 07:48:15 +02:00
Mike Hommey
88257ed076 Bug 616262 - Avoid cycle collection participant global variables adding static initializers. r=smaug,r=mccr8,r=Waldo 2012-06-04 08:30:26 +02:00
Nathan Froyd
2b97d92578 Bug 763247 - remove bogus assert added in bug 748464; r=bz 2012-06-13 15:27:14 -04:00
Phil Ringnalda
cf09173698 Backout 5439489dc320, 983f76488e59, 7a92558a8dec (Bug 714358) for debug build assertions and leaks 2012-08-07 22:18:27 -07:00
Steven Lee
230139f702 Bug 714358: Time manager implementation. r=jlebar 2012-08-07 19:11:00 -04:00
Justin Lebar
d19ebc4677 Bug 742944 - Part 4: Handle window.open in <iframe mozbrowser>. r=bz, cjones
--HG--
extra : rebase_source : 4c16c86c5be230af22eea89dfb5f893b7c6091dd
2012-06-12 18:01:25 -04:00
Justin Lebar
879007e561 Bug 742944 - Part 2: Allow getInterface'ing an nsGlobalWindow to an nsIDocShell. r=bz
--HG--
extra : rebase_source : d753f06497e4b6859be45fd9fa4173ec18f0c2e5
2012-06-12 18:01:24 -04:00
Olli Pettay
ac6b89bfdb Bug 761613 - Merge nsIPrivateDOMEvent to nsIDOMEvent, r=jst 2012-06-10 21:14:30 +03:00
David Zbarsky
249b4fb9fa Bug 762801 - Merge nsIEmbeddingSiteWindow2 into nsIEmbeddingSiteWindow r=jst 2012-06-09 15:15:12 -07:00
Doug Turner
4f84a9c167 Bug 759989 - Add test to ensure device sensors are shutdown when listeners are removed. r=smaug 2012-06-07 10:58:33 -07:00
Justin Lebar
36e9d9804d Bug 757182 - Handle window.close in <iframe mozbrowser>. r=smaug
--HG--
extra : rebase_source : e2c4038f36338af70fa6842d0146a63335002a9b
2012-06-07 13:26:34 -04:00
Justin Lebar
ba730e6e3a Bug 741587 - Part 1: Make alert/prompt/confirm work with <iframe mozbrowser>. r=smaug
--HG--
extra : rebase_source : f418da542453f8b0f5853a8da48bea1c8c95969e
2012-06-07 10:43:23 -04:00
Nathan Froyd
8937b9cb32 Bug 760831 - split out per-node type stats in about:memory; r=njn, bz 2012-06-05 10:49:48 -04:00
Ed Morley
22d9b9afc4 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-06-06 09:20:35 +01:00
Ms2ger
7be9f2c7f1 Bug 760049 - Move nsIScriptContext::CreateNativeGlobalForInner to nsGlobalWindow.cpp; r=jst 2012-06-06 09:38:51 +02:00
Ms2ger
1a2d55bdac Bug 760047 - Don't handle a null aDocument in nsGlobalWindow::SetNewDocument; r=mounir 2012-06-06 09:36:58 +02:00
Ms2ger
b036a6ed71 Bug 758670 - Use stdint types instead of stdin ones in dom; r=mounir 2012-06-06 09:22:06 +02:00
Geoff Lankow
bdc2b4bb58 Merge m-c to m-i 2012-06-06 15:13:51 +12:00
Kyle Huey
511c23f364 Bug 752468: Remove some code accidentally reintroduced in Bug 751999. r=jst 2012-06-04 20:39:21 -07:00