Commit Graph

986 Commits

Author SHA1 Message Date
Trevor Saunders
4d16e0db71 backout 2bb432c47170 for debug asserts 2012-12-05 04:19:33 -05:00
Trevor Saunders
bd2d1feb84 bug 801466 - part 3 1/2 remove some prmem usage from dom/ and docshell/ r=mounir 2012-12-05 02:55:37 -05:00
Andrew McCreight
bf4449f2b7 Bug 792861 - Make HoldJSObjects/DropJSObjects infallible. r=smaug 2012-11-12 17:15:00 -08:00
Ms2ger
caa2811c9c Bug 814898 - Part d: Cleanup CC goop in some more parts of dom/; r=mccr8 2012-12-02 09:54:51 +01:00
Mounir Lamouri
42b297ab44 Bug 798446 - Attempt to fix startup crash in nsGlobalWindow ctor. r=bz 2012-11-27 18:29:49 +00:00
Ehsan Akhgari
8ed79688df Bug 814789 - Tie the life-time of the AudioContext to the life-time of the document owning it; r=bzbarsky 2012-11-23 18:33:41 -05:00
Daniel Holbert
b6dbce0c4e Backed out changeset 704c91d3e7fa (Bug 814789) because of mac build-bustage 2012-11-26 20:34:10 -08:00
Ehsan Akhgari
993cf8162c Bug 814789 - Tie the life-time of the AudioContext to the life-time of the document owning it; r=bzbarsky 2012-11-23 18:33:41 -05:00
Andrew McCreight
28e0b1694e Bug 814453 - Eliminate NS_IMPL_CYCLE_COLLECTION_UNLINK_NATIVE_0 and NS_IMPL_CYCLE_COLLECTION_TRACE_NATIVE_BEGIN. r=smaug 2012-11-23 11:27:06 -08:00
Andrew McCreight
033e25a0c1 Bug 814738 - Modernize Traverse for nsTObserverArray. r=smaug 2012-11-23 11:13:39 -08:00
Benoit Jacob
ec39e2a150 Bug 814444 - Remove now-useless TRAVERSE_NATIVE_BEGIN and UNLINK_BEGIN_NATIVE macros - r=mccr8 2012-11-22 12:15:38 -05:00
Bobby Holley
c988d19f66 Bug 776497 - Check for null currentInner when deciding to reuse inner windows. r=smaug 2012-11-20 16:32:06 -08:00
Mounir Lamouri
1acad9fc93 Bug 764240 - Clamp window.sizeToContent() the same way we clamp other resizing methods. r=bz 2012-11-19 23:18:21 +00:00
Phil Ringnalda
b20553860a Back out 204665ad4a24 (bug 764240) for Android M4 failures 2012-11-19 14:40:32 -08:00
Mounir Lamouri
9c9df1e549 Bug 764240 - Clamp window.sizeToContent() the same way we clamp other resizing methods. r=bz 2012-11-19 18:15:23 +00:00
Benoit Jacob
a1d7e0f511 Bug 807437 - Eliminate redundant Traverse/Unlink CC macros - part 1: automatic changes - r=mccr8 2012-11-15 02:32:40 -05:00
Bobby Holley
6eebf2b4d4 Bug 800915 - Add infrastructure to flag security wrappers as unsafe to unwrap. r=mrbkap 2012-11-14 09:56:25 -08:00
Justin Lebar
8c64b0474c 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-10 10:32:37 -08:00
Justin Lebar
02eb65f7a4 Bug 802366 - Prelude, part 2: Rename GetParentIgnoreBrowserFrame to GetSameTypeParentIgnoreBrowserAndAppBoundaries. r=bz
It's a long name, but at least it's clear.
2012-11-10 10:32:35 -08:00
Ryan VanderMeulen
f774dcd8ba Backed out 12 changesets (bug 806127, bug 802366, bug 806168) for Windows build bustage.
--HG--
rename : dom/indexedDB/test/webapp_clearBrowserData.js => dom/indexedDB/test/test_webapp_clearBrowserData.html
2012-11-09 20:14:40 -05:00
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