Commit Graph

165 Commits

Author SHA1 Message Date
Tetsuharu OHZEKI
e4bd1894b3 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
79b16d9d14 Bug 803675 - part0: Reduce to check caller context in nsWindowWatcher::CalculateChromeFlags(). r=bz 2013-02-18 20:27:48 +09:00
Ehsan Akhgari
32d278987e 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
d3f194fbfb 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
cb8aecdd2a 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
fa3e8f224b 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
Frank Yan
92fe506550 Bug 611553 - Make DOMWillOpenModalDialog a chrome-only event. r=dolske r=smaug 2013-01-16 13:10:18 -08:00
Trevor Saunders
f308c492e2 bug 820182 - remove nsISupportsArray::ElementAt() uses r=ehsan 2012-12-11 11:16:42 -05:00
Ehsan Akhgari
9019981c05 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
b62b974bf5 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
e80ccc6058 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
a9dc8e795f 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
37f4a955e5 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
c47686a18e 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
c001680f59 Backed out changeset a6a847452dbf (bug 802366) 2012-10-30 21:36:29 -04:00
Justin Lebar
df1f088009 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
b6d3d98908 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
5dde530864 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
Bobby Holley
3a93472e80 Bug 789224 - Remove miscellaneous UniversalXPConnect checks sprinkled throughout gecko. r=mrbkap 2012-10-22 08:29:55 +02:00
Ehsan Akhgari
8cdd915b57 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
118d43376d 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
Ehsan Akhgari
b156d1d1a0 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
a2ede527da Bug 795556 - Part 2: Move privacy status propagation for new windows into the platform. r=bz 2012-10-10 11:28:42 -04:00
Isaac Aggrey
0cc4b12d36 Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Bobby Holley
dfd8cb0284 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
d632c16fd4 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
2195e87d2e 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
9b95920174 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
55bcbc58c7 Bug 782594 - Don't try returning nsresult in place of uint32_t; r=bz 2012-08-14 12:10:42 +03:00
Randell Jesup
29ac5c0b8c Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Matt Brubeck
424ea88da6 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
4e701ac456 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
b72d64f8a5 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
efd432c75a 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
6e122ec16c 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
Ehsan Akhgari
8c296bbcd4 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
915cb4516e Bug 341604 - Implement HTML5 sandbox attribute for IFRAMEs r=smaug r=jst 2012-08-20 11:34:32 -07:00
Justin Lebar
c8d690be71 Bug 783644 - Part 2: If we're inside <iframe mozbrowser>, ignore the dialog=1 feature in window.open. r=smaug 2012-08-20 09:30:08 -07:00
Justin Lebar
adfc4e45ba 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
Mike Hommey
c1b35e7b2a Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Aryeh Gregor
57c0ad57fb Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Matt Brubeck
1d52142e2d 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
fbafcfad6f Bug 769254 - Part 3: Rename nsWindowWatcher::OpenWindowJSInternal --> OpenWindowInternal. r=bz
--HG--
extra : rebase_source : d3a335a33711dc235a401287379c8d35e245a4ba
2012-07-23 10:44:13 -04:00
Justin Lebar
156f22d018 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
Mark Capella
bf92974758 Bug 769998 - Make nsIWidget::IsVisible return bool, r=roc, f=ms2ger 2012-07-19 04:57:50 -04:00
Justin Lebar
13518ec124 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
Olli Pettay
94414ed431 Bug 761613 - Merge nsIPrivateDOMEvent to nsIDOMEvent, r=jst 2012-06-10 21:14:30 +03:00
Gervase Markham
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Ms2ger
9a5ae693e0 Bug 741245 - Remove nsresult return value from nsXPConnect::GetSafeJSContext(); r=bholley 2012-05-05 11:00:05 +02:00
Ms2ger
b8ae2456b2 Backing out bf0a78471e5e:dc7022e2d807 for inexplicable windows crashes. 2012-04-14 17:52:34 +02:00