Commit Graph

387 Commits

Author SHA1 Message Date
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
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
46a3add818 Bug 341604 - Implement HTML5 sandbox attribute for IFRAMEs r=smaug r=jst 2012-08-20 11:34:32 -07:00
Justin Lebar
6fac6400d2 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
Aryeh Gregor
1091dc5149 Bug 782252 - Change named constants to correct types; r=ehsan 2012-08-07 18:11:35 +03:00