Commit Graph

1166 Commits

Author SHA1 Message Date
Ehsan Akhgari
f4956f5734 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
22489f7920 Backed out changeset a6a847452dbf (bug 802366) 2012-10-30 21:36:29 -04:00
Justin Lebar
7b38d49f83 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
818638f210 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
af7297481d 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
5d03f6af91 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
3b308213ec Bug 536324 part 3 - Change consumers of nsIChannel. r=sworkman 2012-10-22 10:51:07 -07:00
Bobby Holley
66fe81e49a Bug 789224 - Remove miscellaneous UniversalXPConnect checks sprinkled throughout gecko. r=mrbkap 2012-10-22 08:29:55 +02:00
Jesse Ruderman
ad70dfb070 Remove stray newline from assertion message. (No bug, DONTBUILD) 2012-10-19 07:13:14 -07:00
Jesse Ruderman
706dbfd44c Remove trailing whitespace. (No bug, DONTBUILD) 2012-10-19 07:13:14 -07:00
Peter Van der Beken
f52e02e082 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
adc5037779 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
94987da6ad 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
b6844877ae 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
000b6e89a1 bug 798595 - remove useless prmem.h includes r=ehsan 2012-10-04 02:14:06 -04:00
Ehsan Akhgari
4e49b86a4a Merge mozilla-central into mozilla-inbound 2012-10-10 20:21:13 -04:00
Olli Pettay
76ea6cb8e7 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
5c3d6544e2 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
a932f16330 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
35a0e7fdc1 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
a9c2289382 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
44a8d6faa6 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
13630d0f8f 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
70b1fe1aae 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
481e7dfb0b Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Ehsan Akhgari
8cc30b88b2 Bug 792502 - Kill the FunctionTimer code; r=vlad 2012-09-19 16:59:38 -04:00
Andrew Quartey
1eac480bd4 Bug 788741 - Truncate file extension if too long r=bz 2012-09-18 16:45:51 -04:00
Aryeh Gregor
291bfa222b Bug 783523 - Fix platform-specific nsresult misuse; r=ehsan,tbsaunde,smaug 2012-08-16 14:58:11 +03:00
Makoto Kato
1356f06137 Bug 784912 - nsIStreamListener.onDataAvailable should handle 64-bit offset. r=honza 2012-09-06 11:41:02 +09:00
Bobby Holley
f6e4f704dd 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
bf0b5bba7c 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
e864c2fca6 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
9a637e122b 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
5d6d9b8dea Bug 782594 - Don't try returning nsresult in place of uint32_t; r=bz 2012-08-14 12:10:42 +03:00
Randell Jesup
65539ef89c Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Matt Brubeck
cdd4612f38 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
38274fd965 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
bf36b7f605 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
133acda80d 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
3bd2492b71 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
e368dc9c85 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
4f3defdd1a Bug 341604 - Implement HTML5 sandbox attribute for IFRAMEs r=smaug r=jst 2012-08-20 11:34:32 -07:00
Justin Lebar
ba3252b24e 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
719dcb2097 Bug 782252 - Change named constants to correct types; r=ehsan 2012-08-07 18:11:35 +03:00
Aryeh Gregor
ff57e540e2 Bug 782252 - Convert declared types to nsresult; r=ehsan 2012-08-06 15:02:31 +03:00
Justin Lebar
74befa949f 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
4e199a1679 Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Aryeh Gregor
02ea215083 Bug 779442 - Fix a few more incorrect uses of nsresult; r=ehsan 2012-08-01 11:17:10 +03:00
Mike Hommey
70d7c821af Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Aryeh Gregor
dcb3fc8e33 Bug 778681 part 4 - Convert nsCommandManager to use nsTArray instead of nsCOMArray; r=bz 2012-07-30 16:48:02 +03:00