Commit Graph

491 Commits

Author SHA1 Message Date
Honza Bambas
bf6ac747cf Bug 600307 - localStorage and sessionStorage implementation overhaul, r=mak77+smaug, sr=smaug 2013-04-15 14:38:48 +02:00
Joshua Cranmer
41c5d7997f Bug 856108 - Port static analyses to clang, part 2h: use MOZ_STACK_CLASS everywhere else. r=bsmedberg 2013-04-11 22:22:09 -05:00
Ryan VanderMeulen
b880048f4e 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
e09acd80df Bug 600307 - localStorage and sessionStorage implementation overhaul, r=mak77+smaug, sr=smaug 2013-04-11 18:26:06 +02:00
Ralph Giles
b17e8bdbb5 Bug 857022 - Remove MOZ_MEDIA build-time define. r=ted
We don't test with MOZ_MEDIA=0 so that configuration no longer
works. It's better to drop the switch altogether and enable
this code unconditionally. Per-codec and -feature configure
and runtime options remain available.
2013-04-04 14:09:00 -07:00
aceman
2d19ac6495 Bug 856238 - Remove unused includes of the obsolete nsISupportsArray and nsIEnumerator. r=Neil, r=bsmedberg 2013-04-08 14:35:31 -04:00
Trevor Saunders
49055ecbc9 bug 856349 - remove useless SHORT_LIBNAME assignments r=glandium 2013-03-30 15:42:45 -04:00
matekm
c27eabad01 Bug 784739 - Switch from NULL to nullptr in embedding/; r=ehsan
--HG--
extra : rebase_source : ccdffce1019f7a5f8f5d12fb600aff5da2831528
2013-04-02 20:27:12 -04:00
Kyle Machulis
5aa83c3e11 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
c79ccc0693 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
a59d40f143 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Mike Shal
c2a9341a2e Bug 852534 - Remove GRE_MODULE from Makefile.in; r=gps 2013-03-21 08:41:00 -07:00
Gregory Szorc
09e7b06723 Bug 844654 - Part 3: Remove now empty Makefile.in files; rs=khuey
--HG--
extra : rebase_source : 8de9c7f68a953e574dda22f8c14c2b2ca60444f9
2013-03-19 18:49:07 -07:00
Boris Zbarsky
f5d074fcf0 Bug 852118. Stop window.name being malloc-happy. r=smaug 2013-03-19 21:47:47 -04:00
Mike Shal
9680b82df6 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Gregory Szorc
2288b28e43 Bug 844635 - Part 3: Remove empty Makefile.in files; r=glandium 2013-03-17 18:01:25 -07:00
Ms2ger
efad9ae54c Bug 844134 - Move the 'attributes' property from Node to Element; r=sicking 2013-03-17 09:51:34 +01:00
Ms2ger
597a4c9da4 Bug 845374 - Part k: Stop including nsIContent.h in nsContentUtils.h; r=khuey 2013-03-17 08:55:15 +01:00
Ms2ger
35ae411e5a Bug 845374 - Part e: Stop including nsContentList.h in nsContentUtils.h; r=khuey 2013-03-17 08:55:11 +01:00
Daniel Holbert
b76c363e13 Bug 849086: Remove unused *_CLASSNAME defines. r=bsmedberg 2013-03-15 10:52:10 -07:00
Gregory Szorc
94e8454958 Merge mozilla-central into build-system
dom/interfaces/svg/Makefile.in and dom/media/Makefile.in had merge
conflicts. They were resolved by hand. The former needed 2 IDLs removed.
The latter had a context conflict for EXPORTS_NAMESPACES.
2013-03-12 13:04:55 -07:00
Gregory Szorc
7bb3ee056b Bug 818246 - Part 4: Move XPIDLSRCS into moz.build (auto); rs=glandium
This is the result of running
|mach mozbuild-migrate --list XPIDLSRCS SDK_XPIDLSRCS XPIDL_SOURCES| and
reverting xpcom/sample/*.
2013-03-12 10:17:46 -07:00
Trevor Saunders
43728598df bug 825341 - convert range to webidl r=bz, smaug 2013-02-07 07:09:41 -05:00
Ms2ger
2cf07efa15 Bug 847195 - Make NamedNodeMap only deal with Attrs; r=khuey
--HG--
rename : dom/interfaces/core/nsIDOMNamedNodeMap.idl => dom/interfaces/core/nsIDOMMozNamedAttrMap.idl
2013-03-10 09:00:33 +01:00
Gregory Szorc
58b7ec0116 Bug 818246 - Part 1: Remove unncessary definitions of XPIDL_MODULE; r=glandium
XPIDL_MODULE defaults to MODULE. These Makefile.in were setting
XPIDL_MODULE to the same value as MODULE.

--HG--
extra : rebase_source : e96bd34d5949d0ab94cecbec35d6c9f4bffec01e
2013-03-07 05:03:51 -08:00
Phil Ringnalda
7fbba09df0 Back out fee79a593fd3 and 2c8930343985 (bug 825341) for having probably needed-clobber 2013-03-11 20:10:18 -07:00
Trevor Saunders
3de595d32e bug 825341 - convert range to webidl r=bz, smaug 2013-02-07 07:09:41 -05:00
Trevor Saunders
c8fcbf60b7 bug 846487 - remove remaining usage of some nsIDOMFooElement r=Ms2Ger 2013-02-14 10:33:16 -05:00
Gregory Szorc
13734ac864 Bug 784841 - Part 18m: Convert /embedding; r=glandium f=Ms2ger 2013-02-25 12:47:20 -08:00
Josh Matthews
8f4de0c6df Bug 842015 - Avoid modifying the root docshell's privacy status when we aren't opening a new toplevel window. r=bz 2013-02-22 18:15:20 -05:00
Ryan VanderMeulen
858de2ee46 Backed out 6 changesets (bug 832920, bug 825341, bug 838582, bug 842726, bug 629801, bug 842561) for Linux32 debug mochitest-2 and Windows/OSX mochitest-browser-chrome failures on a CLOSED TREE. 2013-02-22 15:30:06 -05:00
Trevor Saunders
70d157e13c bug 825341 - convert range to webidl r=bz, smaug 2013-02-07 07:09:41 -05:00
Tetsuharu OHZEKI
6ebf5e0e8d Bug 803675 - part1: window.open() open a new tab instead of window when browser is fullscreen mode and the caller is content context. r=bz 2013-02-18 20:27:48 +09:00
Tetsuharu OHZEKI
fe14eeb0c3 Bug 803675 - part0: Reduce to check caller context in nsWindowWatcher::CalculateChromeFlags(). r=bz 2013-02-18 20:27:48 +09:00
L. David Baron
822b2ca3bc Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
Jonathan Watt
398edc860d Bug 836314 - Implement the DOM pieces of <input type=range>. r=mounir. 2013-02-16 12:35:57 +00:00
Trevor Saunders
afab70f054 bug 841436 - remove nolonger needed qi from nsIDocShell to nsIDocShellTreeItem r=bz 2013-02-12 17:02:51 -05:00
Trevor Saunders
b88a8e6cb9 bug 838565 - cc taf and nsFind r=smaug 2013-01-31 18:46:24 -05:00
Boris Zbarsky
e4b4da3503 Bug 838518 part 1. Fix treewalker callers per the API change that was made. r=smaug 2013-02-06 14:22:33 +00:00
Daniel Holbert
bc12a9354e Bug 837903: Mark embedding/components/find/src/ as FAIL_ON_WARNINGS. r=mats 2013-02-05 08:30:28 -08:00
Ehsan Akhgari
84c4ac3c75 Bug 817477 - Remove support for global private browsing mode; r=jdm,glandium
--HG--
rename : browser/app/profile/extensions/testpilot@labs.mozilla.com/modules/setup.js.in => browser/app/profile/extensions/testpilot@labs.mozilla.com/modules/setup.js
rename : browser/app/profile/extensions/testpilot@labs.mozilla.com/modules/tasks.js.in => browser/app/profile/extensions/testpilot@labs.mozilla.com/modules/tasks.js
2013-01-29 13:12:13 -05:00
Steve Fink
57a2c2471b Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence 2012-12-31 12:40:21 -08:00
Steve Fink
380ecf9335 Backed out changeset fce4e0f8a553 (bug 828753) for breaking windows warnings-as-errors (stop adding JSObject forward decls, please!) 2013-01-18 13:20:21 -08:00
Steve Fink
01f8a5b4d8 Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence
--HG--
extra : rebase_source : c8806b27677594925ad0e6b54c47af5cf17e1153
2012-12-31 12:40:21 -08:00
Trevor Saunders
9f0ad48b28 bug 822289 - remove NS_IMPL_CYCLE_COLLECTION_CLASS and friends r=mccr8 2013-01-12 07:40:33 -05:00
Frank Yan
9a3959c1dc Bug 611553 - Make DOMWillOpenModalDialog a chrome-only event. r=dolske r=smaug 2013-01-16 13:10:18 -08:00
Daniel Holbert
1dd0df8bd2 Bug 830549: Mark a variable in nsFind.cpp as DebugOnly, to fix opt build warning. r=Neil 2013-01-15 14:52:42 -08:00
Daniel Holbert
5498af58fc Bug 830439: Add error-check for previously-ignored nsresult value in nsWebBrowserFind::GetSearchLimits(). r=mats 2013-01-15 14:52:42 -08:00
Mats Palmgren
94ede408a1 Bug 786533 - On Windows, one of the system header files (windef.h) defines 'min' and 'max' as macros which breaks any use of std::min/std::max. Define NOMINMAX before including system header files where needed to avoid defining those macros. r=ehsan 2013-01-15 13:22:03 +01:00
Mats Palmgren
6c53161814 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Mounir Lamouri
6393630aee Bug 777283 - Adds <input type='time'> behind "dom.experimental_forms" pref. r=smaug 2013-01-08 17:10:00 +00:00
David Zbarsky
4a5021753c Bug 827197 - Remove some uses of nsIDOMSVGElement subclasses r=longsonr 2013-01-07 22:22:41 -05:00
Trevor Saunders
f8c7a5fa03 bug 825278 - remove nsISupportsArray listener list members from embeding/components/printingui/ r=roc 2012-12-24 07:35:40 -05:00
Raphael Catolino
957775fb4a Bug 769385 - Add type attribute date for <input> behind "dom.experimental_forms" pref. r=mounir 2012-12-27 16:06:53 +00:00
Trevor Saunders
4c3855e446 bug 820182 - remove nsISupportsArray::ElementAt() uses r=ehsan 2012-12-11 11:16:42 -05:00
Ehsan Akhgari
27280529b8 Bug 819202 - Part 1: Implement the "non-private" window.open feature; r=bzbarsky
This patch adds support for a "non-private" window flag which can be
used to open new chrome windows in non-private mode in per-window
private browsing builds.  It also tests to make sure that the flag is
not accessible from content.
2012-12-10 00:06:06 -05:00
Josh Matthews
5eef118d29 Bug 814275 - When the global service matters, force all new windows to conform to the global private browsing state. r=bz 2012-11-22 10:48:13 -05: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
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
Ehsan Akhgari
cbe0e3a4d1 Bug 800193 - Print a warning when setting nsILoadContext.usePrivateBrowsing in per-window private browsing builds; r=bzbarsky 2012-10-31 00:15:24 -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
Andrew Quartey
549c0bfc08 Bug 792581 - part 22: Replace LL_ZERO and LL_Zero() macros with 0. r=ehsan 2012-10-25 19:25:59 -04:00
Nick Hurley
31985d7fa6 Bug 536324 part 3 - Change consumers of nsIChannel. r=sworkman 2012-10-22 10:51:07 -07:00
Bobby Holley
cbd9a55d15 Bug 789224 - Remove miscellaneous UniversalXPConnect checks sprinkled throughout gecko. r=mrbkap 2012-10-22 08:29:55 +02:00
Jesse Ruderman
cd121c7b91 Remove stray newline from assertion message. (No bug, DONTBUILD) 2012-10-19 07:13:14 -07:00
Jesse Ruderman
d5602f7663 Remove trailing whitespace. (No bug, DONTBUILD) 2012-10-19 07:13:14 -07:00
Peter Van der Beken
350f7dd89a Fix for bug 799464 (Make Element.getElementsBy* return HTMLCollection). r=bz.
--HG--
extra : rebase_source : fe059b8ad3b98df9e611899832584cc866db0479
2012-09-26 16:17:47 +02:00
Neil Deakin
3afd861719 Bug 621944, find and replace doesn't wrap in mail compose, use the correct focused frame, r=neil 2012-10-18 09:18:30 -04:00
Ehsan Akhgari
b9acc431b5 Bug 722983 - Fix the back-end handling of permanent private browsing mode through the per-window private browsing APIs; r=jdm
--HG--
extra : rebase_source : 31358b29c5b3c5f6921598ea3246aede62ca78db
2012-10-16 18:06:38 -04:00
Jonathan Kew
ef80973c6f bug 794038 pt 1.1 - update nsWindowWatcher::SizeOpenedDocShellItem to use global display pixels for window manipulation. r=roc 2012-10-16 20:41:19 +01:00
Trevor Saunders
3d3592cd63 bug 798595 - remove useless prmem.h includes r=ehsan 2012-10-04 02:14:06 -04:00
Ehsan Akhgari
5a7253fa1e Merge mozilla-central into mozilla-inbound 2012-10-10 20:21:13 -04:00
Olli Pettay
69e091e8e4 Bug 733305, add a way to hide XBL, r=bz, a=abillings
--HG--
extra : rebase_source : df18273ecdbf013138e8e6f1f4ef8082ac4f410c
2012-10-10 22:04:42 +03:00
Ehsan Akhgari
d443b4f6a0 Bug 798508 - Part 1: Implement the "private" window.open feature; r=bzbarsky
This patch adds support for a "private" window flag which can be used to
open new chrome windows in private browsing mode.  It also tests to make
sure that the flag is not accessible from content.  A test in the next
part makes sure that the flag is accessible from chrome.
2012-10-07 15:04:39 -04:00
Josh Matthews
ae1754a188 Bug 795556 - Part 2: Move privacy status propagation for new windows into the platform. r=bz 2012-10-10 11:28:42 -04:00
Boris Zbarsky
4968b60cbd Bug 749964. Don't try to save if what we have is not a real document object. r=khuey 2012-10-05 22:39:46 -04:00
Josh Matthews
e7055454ba Bug 794602 - Make nsWebBrowserPersist::SaveURIInternal use channels with valid privacy statuses. r=bz,mfinkle,smaug,ehsan,jwalker,roc,unfocused 2012-10-04 15:07:51 -04:00
Ryan VanderMeulen
9f8074ca32 Backout e5269e137290, (bug 794606), e94dbc151121 (bug 794602), and 0ea0cfc7f6f4 (bug 792821) due to mochitest-other orange on a CLOSED TREE. 2012-10-04 19:34:19 -04:00
Josh Matthews
9fa9982775 Bug 794602 - Make nsWebBrowserPersist::SaveURIInternal use channels with valid privacy statuses. r=bz,mfinkle,smaug,ehsan,jwalker,roc,unfocused 2012-10-04 15:07:51 -04:00
Jacek Caban
077d305e7a Bug 797316 - Fix -Werror=conversion-null errors in Windows-only code (embedding/components/printingui part) r=ehsan
--HG--
extra : rebase_source : c68328d354d498c5d51ce85d79964eeaa88b18bd
2012-10-04 10:30:25 +02:00
Isaac Aggrey
997db4d142 Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Ehsan Akhgari
b5c39afb4e Bug 792502 - Kill the FunctionTimer code; r=vlad 2012-09-19 16:59:38 -04:00
Andrew Quartey
b6767a1c8f Bug 788741 - Truncate file extension if too long r=bz 2012-09-18 16:45:51 -04:00
Aryeh Gregor
5a68b81a9b Bug 783523 - Fix platform-specific nsresult misuse; r=ehsan,tbsaunde,smaug 2012-08-16 14:58:11 +03:00
Makoto Kato
c28c020a8f Bug 784912 - nsIStreamListener.onDataAvailable should handle 64-bit offset. r=honza 2012-09-06 11:41:02 +09: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
06c95f674b Bug 774633 - Move the call to SetInitialPrincipalToSubject into nsAppShellService::RegisterTopLevelWindow. r=jst
This means that we get the correct principal on the window before sending notifying
any consumers about the window's creation.
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
Aryeh Gregor
a945f0cd72 Bug 782594 - Don't try returning nsresult in place of uint32_t; r=bz 2012-08-14 12:10:42 +03:00
Randell Jesup
eedf93a21d Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04: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
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
dc05aa94eb Bug 774633 - Move the call to SetInitialPrincipalToSubject into nsAppShellService::RegisterTopLevelWindow. r=jst
This means that we get the correct principal on the window before sending notifying
any consumers about the window's creation.
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