Commit Graph

314 Commits

Author SHA1 Message Date
Jed Davis
fa85f91c7e Bug 1204626 - Reparent PWebBrowserPersistDocument to PContent. r=billm
A reference to a document (and the act of saving it) can outlive the
browser tab it was originally loaded in, and this needs to be reflected
in IPC in order to avoid MsgRouteError crashes; see bug for more info.

Note that we still need to pass the PBrowser when starting persistence,
because that's the only handle the parent has on the top-level document;
see comments in this patch for more info.

Also makes TabChildBase::GetDocument public, because it's just a wrapper
around WebNavigation() which is already public, to avoid code duplication.
2015-09-21 14:54:00 +02:00
Jed Davis
124e87c9eb Bug 1204626 - Avoid error-case double-__delete__ crash in WebBrowserPersist. r=billm
The actor is refcounted, so this isn't a use-after-free, but it will
crash the content process.
2015-09-21 14:54:00 +02:00
Christoph Kerschbaumer
1320eb4095 Bug 1206146 - Use channel->AsyncOpen2() in embedding/components/webbrowserpersist/nsWebBrowserPersist.cpp (r=sicking) 2015-09-19 20:24:39 -07:00
Jed Davis
efd3cd7166 Bug 1202887 - Delay WebBrowserPersist error callbacks caused by IPC ActorDestroy. r=billm
The way IPDL glue currently works, it's unsafe to do Send__delete__ on
another actor in that context, and these callbacks can indirectly cause
that; see bug for details.
2015-09-14 11:18:28 -07:00
john
0fac331ec7 Bug 236989 - Ensure persisted subdocuments correctly fixup relative links. r=bzbarsky
The URI of the document being serialized must be taken into account within
GetLocalURI on URIData. This method previously returned its path relative to
the document in which it is first visited, resulting in a bug when subdocuments
stored in different locations also linked to it. By passing in mTargetBaseURI
GetLocalURI can ensure it is returning a path relative to the document
currently being serialized.
2015-09-02 23:53:38 -07:00
Nicholas Nethercote
12fec02dfb Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.
2015-08-27 20:44:53 -07:00
Mike Conley
31222be0ea Bug 1141337 - Update nsIWebBrowserPersistable to allow subframe targeting for Save Frame As. r=jld
This alters nsIWebBrowserPersistable so that startPersistence takes an
outerWindowID. This allows us to target a particular subframe from
beneath an nsFrameLoader, which is useful when attempting to Save
Frame As a remote browser.
2015-08-06 10:44:16 -04:00
Jed Davis
cdea937a6f Bug 1193903 - Fix nsWebBrowserPersist for documents with no page descriptor. r=mconley
This restores the behavior from before bug 1101100, when various
indirect properties of the document were obtained by JS that ignored
exceptions by using null instead.  This is currently breaking for the
documents created by Print Preview, because they have no page descriptor.
This patch also makes similar changes to the contentDescriptor getter.
2015-08-13 18:08:09 -07:00
Wes Kocher
123bc83c6d Merge fx-team to m-c a=merge 2015-08-13 16:30:54 -07:00
Jed Davis
7db4b75058 Bug 1192654 - Fix nsWebBrowserPersist handling of nonpersistable subdocuments. r=billm
The patch for bug 1101100, in converting this code to be asynchronous
and distributed, accidentally dropped the check for `data` being null;
this patch restores it, and adds a regression test.
2015-08-13 08:38:19 -07:00
Mike Conley
26df5fb580 Bug 1106321 - Serialize DEVMODE down to the content process when printing on Windows. r=jimm 2015-08-06 17:36:54 -04:00
Jed Davis
e32b5dab07 Bug 1101100 - Multiprocess-enable nsWebBrowserPersist. r=billm
The high-level overview is that the parts of nsWebBrowserPersist which
access the DOM have been factored out (as WebBrowserPersistLocalDocument)
and abstracted (nsIWebBrowserPersistDocument) such that they can be
implemented in the cross-process case using IPC.
2015-08-05 14:25:39 -07:00
Birunthan Mohanathas
a0f7c73250 Bug 1191100 - Remove XPIDL signature comments in .cpp files. r=ehsan
Comment-only so DONTBUILD.
2015-08-04 16:17:36 -07:00
Jed Davis
98826d7fe0 Bug 1179967 - Always rewrite links to absolute in nsWebBrowserPersist instead of side-effecting document. r=jst 2015-07-15 12:15:48 -07:00
Emanuel Hoogeveen
b30abdc582 Bug 905127 - Part 1 - Make some functions from nsNetUtil not inline. r=jduell 2015-07-07 04:17:00 +02:00
Jed Davis
cccc0585cd Bug 1170334 - Re-escape entities in nsWebBrowserPersist XML stylesheet handling. r=hsivonen 2015-06-10 18:33:00 +02:00
Michal Novotny
6ebc2c926a Bug 1156493 - e10s: move .cacheKey to nsICacheInfoChannel so child channels can get/set it, r=jduell 2015-05-10 02:26:39 +02:00
Andrew McCreight
776b608244 Bug 1155765 - Get rid of gratuitous goto from nsWebBrowserPersist::MakeFilenameFromURI(). r=smaug 2015-04-17 15:22:00 +02:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -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 MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Andrea Marchesini
6b10d5e43e Bug 1134280 - Get rid of Tag() - patch 1 - Is{HTML,XUL,MathML,SVG}Element and IsAnyOf{HTML,XUL,MathML,SVG}Elements, r=smaug 2015-03-03 11:08:59 +00:00
Christoph Kerschbaumer
eaea5361d1 Bug 1099296 - Attach LoadInfo to remaining callers of ioService and ProtocolHandlers - in embedding/ (r=bsmedberg) 2015-02-17 10:09:08 -08:00
Patrick McManus
c870cb3fa4 bug 1116867 - make nsIProgressEventSink and nsITransportEventSink safely scriptable r=mayhemer r=bz
These scriptable interfaces use uint_64 arguments with sentinel values
of UINT64_MAX. However, UINT64_MAX exceeds MAX_SAFE_INTEGER and cannot
be gatewayed to/from javascript - so they cannot be used
correctly. Change them to use signed 64 bit numbers and -1 as the
sentinnel. C++ implementations ought to be enough to audit as the
special value could never be used correctly in JS anyhow - also
audited OnProgressChange() uses for downstream use of this data.
---
 dom/base/nsXMLHttpRequest.cpp                      | 19 +++++++----
 dom/base/nsXMLHttpRequest.h                        | 10 +++---
 dom/plugins/base/nsPluginStreamListenerPeer.cpp    |  4 +--
 .../webbrowserpersist/nsWebBrowserPersist.cpp      | 14 ++++----
 image/src/imgLoader.cpp                            |  4 +--
 modules/libjar/nsJARChannel.cpp                    |  3 +-
 netwerk/base/public/nsIProgressEventSink.idl       |  8 ++---
 netwerk/base/public/nsITransport.idl               |  8 ++---
 netwerk/base/public/nsNetUtil.h                    | 24 ++++++++++++++
 netwerk/base/src/Dashboard.cpp                     |  2 +-
 netwerk/base/src/nsBaseChannel.cpp                 | 12 +++----
 netwerk/base/src/nsIncrementalDownload.cpp         |  4 +--
 netwerk/base/src/nsSocketTransport2.cpp            |  5 +--
 netwerk/base/src/nsStreamTransportService.cpp      | 38 +++++++++++++---------
 netwerk/base/src/nsTransportUtils.cpp              | 12 +++----
 netwerk/protocol/file/nsFileChannel.cpp            |  8 +++--
 netwerk/protocol/ftp/nsFtpConnectionThread.cpp     |  4 +--
 netwerk/protocol/http/Http2Push.cpp                |  2 +-
 netwerk/protocol/http/Http2Session.cpp             |  2 +-
 netwerk/protocol/http/HttpChannelChild.cpp         | 31 +++++++++---------
 netwerk/protocol/http/HttpChannelChild.h           |  6 ++--
 netwerk/protocol/http/HttpChannelParent.cpp        |  4 +--
 netwerk/protocol/http/HttpChannelParent.h          |  4 +--
 netwerk/protocol/http/NullHttpTransaction.cpp      |  2 +-
 netwerk/protocol/http/PHttpChannel.ipdl            |  2 +-
 netwerk/protocol/http/SpdyPush31.cpp               |  2 +-
 netwerk/protocol/http/SpdySession31.cpp            |  2 +-
 netwerk/protocol/http/TunnelUtils.cpp              |  2 +-
 netwerk/protocol/http/nsAHttpTransaction.h         |  4 +--
 netwerk/protocol/http/nsHttpChannel.cpp            | 30 +++++++++++------
 netwerk/protocol/http/nsHttpConnection.cpp         |  4 +--
 netwerk/protocol/http/nsHttpConnectionMgr.cpp      |  4 +--
 netwerk/protocol/http/nsHttpPipeline.cpp           |  4 +--
 netwerk/protocol/http/nsHttpPipeline.h             |  6 ++--
 netwerk/protocol/http/nsHttpResponseHead.cpp       |  2 +-
 netwerk/protocol/http/nsHttpResponseHead.h         |  2 +-
 netwerk/protocol/http/nsHttpTransaction.cpp        | 32 +++++++++---------
 netwerk/protocol/http/nsHttpTransaction.h          |  2 +-
 netwerk/protocol/wyciwyg/WyciwygChannelChild.cpp   |  2 +-
 netwerk/protocol/wyciwyg/nsWyciwygChannel.cpp      |  3 +-
 netwerk/test/TestIncrementalDownload.cpp           |  7 ++--
 uriloader/base/nsDocLoader.cpp                     | 14 ++++----
 42 files changed, 203 insertions(+), 151 deletions(-)
2015-01-08 14:48:52 -05:00
Ehsan Akhgari
ae496dacea Bug 1119261 - Mark virtual overridden functions as MOZ_OVERRIDE in embedding; r=bsmedberg 2015-01-12 23:26:27 -05:00
Wes Kocher
c0df2a1b1e Backout 58cb6ed02553 (bug 1120622, bug 1120620, bug 1119068, bug 1119268, bug 1119264, bug 1119261) for b2g build bustage on a CLOSED TREE 2015-01-12 14:48:13 -08:00
Ehsan Akhgari
e668506dc4 Bug 1119261 - Mark virtual overridden functions as MOZ_OVERRIDE in embedding; r=bsmedberg 2015-01-12 16:35:04 -05:00
Ryan VanderMeulen
f0f490902e Bug 1119818 - Bump various UUIDs that were missed when IDL changes landed. r=jib, r=jdm, r=gavin, r=bz, a=me 2015-01-12 10:44:18 -05:00
Sid Stamm
7327eccdb3 Bug 704320 - Add referrer policy support for nsIWebBrowserPersist and its consumers. (r=jst) 2014-11-18 08:47:14 -05:00
Blake Kaplan
1bd13f9ab8 Bug 1049299 - Correctly calculate 3rd-party cookie status for content-process HTTP channels. r=jduell 2014-10-28 14:23:00 +01:00
Birunthan Mohanathas
e9068bbc4f Bug 946065 - Part 12: Move content/base/ to dom/ and flatten subdirectories. r=peterv 2014-10-25 20:25:22 +03:00
Birunthan Mohanathas
86c0c5b215 Bug 946065 - Part 11: Move content/html/ to dom/ and flatten subdirectories. r=peterv 2014-10-25 20:24:55 +03:00
Christoph Kerschbaumer
17e43a4437 Bug 1041180: Remove deprecated nsIChannelPolicy (r=sstamm,jduell,jst) 2014-10-15 19:11:45 -07:00
Christoph Kerschbaumer
5786da257e Bug 1038756: Callsites creating a channel in /embedding/ (r=bz) 2014-09-21 09:46:16 -07:00
Ehsan Akhgari
276d45afcd Bug 1061059 - Fix more bad implicit constructors in embedding; r=bsmedberg 2014-09-02 18:22:57 -04:00
Birunthan Mohanathas
dbfed04531 Bug 1054703 - Part 6: Flatten embedding/components/webbrowserpersist/{public,src}/ into parent directory. r=bsmedberg 2014-08-20 10:27:17 -07:00
Mike Hommey
ea36b79845 Bug 1041860 - Avoid setting FINAL_LIBRARY to libraries that further use a FINAL_LIBRARY. r=mshal 2014-07-23 08:37:51 +09:00
Birunthan Mohanathas
a575bd9831 Bug 869836 - Part 8: Use Append('c') instead of Append("c"). r=ehsan 2014-05-22 06:48:52 +03:00
Anuj Agarwal
792d8613d0 Bug 984124 - Convert nsWebBrowserPersist::mURIMap to nsClassHashtable. r=bsmedberg 2014-04-02 05:56:06 -07:00
Nathan Froyd
c8acba35ef Bug 984466 - change CallQueryInterface to assert in cases of trivial conversions; r=ehsan 2014-03-17 13:00:17 -04:00
Andrew McCreight
2dc8b8285f Bug 984008, part 3 - Convert nsWebBrowserPersist::mUploadList to nsClassHashtable. r=ehsan 2014-03-17 10:21:26 -07:00
Andrew McCreight
dd206ac675 Bug 984008, part 2 - Convert nsWebBrowserPersist::mOutputMap to nsClassHashtable. r=ehsan 2014-03-17 10:21:26 -07:00
Andrew McCreight
f3ac41e683 Bug 984008, part 1 - Remove trailing whitespace from nsWebBrowserPersist. r=ehsan 2014-03-17 10:21:26 -07:00
Kyle Huey
ea94e7d568 Bug 967364: Rename already_AddRefed::get to take. r=bsmedberg 2014-03-15 12:00:15 -07:00
Ehsan Akhgari
860f2c1f29 Bug 969757 - Remove the dead code in our tree which pretends to support OS/2; r=roc,mcmanus,gps,jorendorf,bsmedberg sr=bsmedberg 2014-02-10 17:57:01 -05:00
Ehsan Akhgari
68bfe70f09 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.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 PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Birunthan Mohanathas
88a0348924 Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo 2013-12-08 21:52:54 -05:00
Mike Hommey
97a38484da Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps
Landing on a CLOSED TREE.
2013-11-19 11:50:54 +09:00
Mike Hommey
06e3b30661 Bug 939074 - Remove most LIBXUL_LIBRARY. rs=gps 2013-11-19 11:48:10 +09:00
Mike Hommey
210ee1b972 Bug 939044 - Rename remaining MODULE definitions to XPIDL_MODULE. r=mshal 2013-11-19 11:47:43 +09:00
Mike Hommey
7f7e4faac1 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey
656e86914a Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00