Commit Graph

388 Commits

Author SHA1 Message Date
Gregory Szorc
834f33230c Bug 784841 - Part 18m: Convert /embedding; r=glandium f=Ms2ger 2013-02-25 12:47:20 -08:00
Josh Matthews
125632b87a 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
Tetsuharu OHZEKI
dc3300817a 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
1a6135cbd2 Bug 803675 - part0: Reduce to check caller context in nsWindowWatcher::CalculateChromeFlags(). r=bz 2013-02-18 20:27:48 +09:00
Ehsan Akhgari
5ab06de081 Bug 817477 - Remove support for global private browsing mode; r=jdm,glandium 2013-01-29 13:12:13 -05:00
Steve Fink
ed62b6f44e 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
27634e6f07 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
466f61a3c6 Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence 2012-12-31 12:40:21 -08:00
Frank Yan
2aef8eb828 Bug 611553 - Make DOMWillOpenModalDialog a chrome-only event. r=dolske r=smaug 2013-01-16 13:10:18 -08:00
Trevor Saunders
f922661e57 bug 820182 - remove nsISupportsArray::ElementAt() uses r=ehsan 2012-12-11 11:16:42 -05:00
Ehsan Akhgari
da5d869db5 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
05fb12035b 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
f4dad2e81e 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
65c1f3f21c Backed out 12 changesets (bug 806127, bug 802366, bug 806168) for Windows build bustage. 2012-11-09 20:14:40 -05:00
Justin Lebar
3f9133d4e7 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
7b2faca061 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
9eb4ae743b Backed out changeset a6a847452dbf (bug 802366) 2012-10-30 21:36:29 -04:00
Justin Lebar
bce2156cf2 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
33c36a5757 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
5c341964c7 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.
2012-10-30 15:55:05 -04:00
Bobby Holley
d38c48122d Bug 789224 - Remove miscellaneous UniversalXPConnect checks sprinkled throughout gecko. r=mrbkap 2012-10-22 08:29:55 +02:00
Ehsan Akhgari
e82fa1f833 Bug 722983 - Fix the back-end handling of permanent private browsing mode through the per-window private browsing APIs; r=jdm 2012-10-16 18:06:38 -04:00
Jonathan Kew
e741d66aae 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
547484b449 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
3cd477f5ba 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
990e90e88a Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Bobby Holley
ee066dfefa 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
9f85c9e3e2 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
1cb04ecf04 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
ece13ea2e4 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
4993674349 Bug 782594 - Don't try returning nsresult in place of uint32_t; r=bz 2012-08-14 12:10:42 +03:00
Randell Jesup
3b4961b603 Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Matt Brubeck
2ee6f37afd 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
24f87a6519 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
b0d60854d8 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
76f3e79815 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
05a2b78ccf 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
243c878d26 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
1e1aba63ce Bug 341604 - Implement HTML5 sandbox attribute for IFRAMEs r=smaug r=jst 2012-08-20 11:34:32 -07:00
Justin Lebar
c1e5aae922 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
3fdb7665ae 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
0f9f294ea0 Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Aryeh Gregor
8b4a23fc4c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Matt Brubeck
44a5364022 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
1dfde7589e Bug 769254 - Part 3: Rename nsWindowWatcher::OpenWindowJSInternal --> OpenWindowInternal. r=bz 2012-07-23 10:44:13 -04:00
Justin Lebar
36da060acf 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-07-23 10:44:13 -04:00
Mark Capella
92662fd889 Bug 769998 - Make nsIWidget::IsVisible return bool, r=roc, f=ms2ger 2012-07-19 04:57:50 -04:00
Justin Lebar
4bbfac36e1 Bug 742944 - Part 4: Handle window.open in <iframe mozbrowser>. r=bz, cjones 2012-06-12 18:01:25 -04:00
Olli Pettay
2146ee62af Bug 761613 - Merge nsIPrivateDOMEvent to nsIDOMEvent, r=jst 2012-06-10 21:14:30 +03:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00