Commit Graph

1158 Commits

Author SHA1 Message Date
Sebastian Hengst
903cc3ec3c Backed out changeset d3ef6f3e9193 (bug 1321261) for build bustage (calling missing file BlobParent.h from dom/ipc/TabParent.cpp). r=backout on a CLOSED TREE 2016-12-01 12:27:28 +01:00
Andrea Marchesini
4982909415 Bug 1321261 - create dom/file for File APIs, r=qdot 2016-12-01 11:43:18 +01:00
Sebastian Hengst
abf5b533a9 Backed out changeset 806c3d121dd4 (bug 1321261) for timing out in test_fileapi.html, test_mozfiledataurl.html and test_nonascii_blob_url.html on Linux x64 asan and debug. r=backout 2016-12-01 11:05:56 +01:00
Andrea Marchesini
1837b28622 Bug 1321261 - create dom/file for File APIs, r=qdot 2016-12-01 09:21:54 +01:00
Ting-Yu Lin
f3ed4deadf Bug 1304598 Part 3 - Rename nsPresShell.h/cpp to PresShell.h/cpp, and move exported header to mozilla/ subdir. r=dholbert
The class PresShell doesn't have ns-prefix, so it's better to drop ns-prefix
in the file names to avoid confusion.

MozReview-Commit-ID: IljxsF5CVjh
2016-11-30 11:14:28 +08:00
Michael Layzell
b179ab9726 Bug 1310771 - Part 2: Emit BrowserWillChangeProcess and BrowserChangedProcess when doing cross-frameloader navigations, r=smaug
With GroupedSHistory, history navigations may now require the browser to
change which frameloader is stored internally from within Core. This
patch adds a mechanism to allow for chrome code to respond to these
changes and both delay the change, or respond once the change is
performed.

Delaying the change is accomplished through the BrowserWillChangeProcess
event, which is fired when it is determined that a process change will
happen for the given browser, but the change has not occured yet. During
this time the nsIFrameLoader::AddProcessChangeBlockingPromise method may
be called on the target browser's frameloader. Any promises passed to
this method will be waited on, and the process change will not occur
until they have all been fulfiled.

Once that has occured, the process change occurs, and the
BrowserChangedProcess event is fired.

This is useful for chrome code which needs to flush state from the
original process before the change, and then which needs to connect
state in the new process with state in the chrome process.

MozReview-Commit-ID: C0Xn6pfruB2
2016-11-18 16:00:43 -05:00
Ehsan Akhgari
5bbe94bf07 Bug 1312101 - Part 2: Remove AppProcessChecker and code that depends on it; r=baku 2016-11-16 14:51:08 -05:00
Ehsan Akhgari
917a5e63fc Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus
This patch removes support for mozapp iframes, leaving support for
mozbrowser iframes intact.  Some of the code has been rewritten in order
to phrase things in terms of mozbrowser only, as opposed to mozbrowser
or app.  In some places, code that was only useful with apps has been
completely removed, so that the APIs consumed can also be removed.  In
some places where the notion of appId was bleeding out of this API, now
we use NO_APP_ID.  Other notions of appId which were restricted to this
API have been removed.
2016-11-16 09:13:38 -05:00
Kan-Ru Chen
1b9dd22e2d Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm
We will use the new type for the generated IPDL message handler
prototype to make sure correct error handling method is called.

MozReview-Commit-ID: AzVbApxFGZ0
2016-11-15 04:26:00 +01:00
David Anderson
73a85cfd72 Finish initializing TabChild rendering state even if compositing IPC is lost. (bug 1314520 part 2, r=billm) 2016-11-14 14:58:22 -08:00
Phil Ringnalda
f3259616c9 Backed out changeset 43835f5fa2b2 (bug 1314707) for crashes @ mozilla::a11y::ProxyDestroyed
MozReview-Commit-ID: 9jIOao58gMQ
2016-11-09 19:33:25 -08:00
Aaron Klotz
85fbed8e95 Bug 1314707: Replace PDocAccessible::SendCOMProxy with new parameter to PDocAccessibleConstructor and async RecvParentCOMProxy call in child. Sending of a11y events from child to parent is now deferred until DocAccessibleChild::RecvParentCOMProxy is called; r=tbsaunde 2016-11-09 15:24:58 -07:00
Valentin Gosu
1aeab3d62d Bug 1315302 - Remove signedPkg from origin attributes r=baku
MozReview-Commit-ID: L1xvRgeO6De
2016-11-06 16:15:36 +01:00
Aaron Klotz
36e1153fb8 Bug 1314016: Do not attempt to obtain wrapper and set MSAA ID on child document unless it was successfully added; r=tbsaunde
MozReview-Commit-ID: G4lDNxXtoVx
2016-11-01 16:07:58 -06:00
Valentin Gosu
882f73c462 Bug 1307467 - Remove code that preopens and sends application.zip fd (bug 835698) r=bagder,baku
MozReview-Commit-ID: 5nER54Dq3eI
2016-10-21 00:09:07 +02:00
Phil Ringnalda
e95441af18 Merge m-c to a CLOSED TREE m-i
MozReview-Commit-ID: 2JxLeQ8GYIX
2016-10-27 20:36:38 -07:00
Aaron Klotz
6e5232da8c Bug 1309236: Move setting of MSAA ID to PDocAccessibleConstructor; r=tbsaunde
MozReview-Commit-ID: D5iFud9DiEh
2016-10-27 13:16:24 -06:00
Neil Deakin
f3db8e2bb9 Bug 1301673, properly handle disabled drag feedback image and failed drag feedbacks in content processes, r=tn 2016-10-19 15:01:39 -04:00
Valentin Gosu
f8a72e7cc2 Bug 1307491 - (Part 5) Remove support for per-app-offline in dom/ipc [nukeb2g] r=baku
MozReview-Commit-ID: 88aPx7K7OsC
2016-10-17 03:59:05 +02:00
Ehsan Akhgari
c02448fe38 Bug 1310101 - Remove nsILoadContext::IsAppOfType; r=baku 2016-10-14 10:45:27 -04:00
Samael Wang
7d8f654794 Bug 1276553 - Part 4: Implement frameloader level GroupedSHistory. r=smaug
MozReview-Commit-ID: E5hOVOPW0nl
2016-10-14 15:31:02 +08:00
Kartikaya Gupta
73c39bd08a Bug 1306644 - Have TabParent call TakeFocusForClickFromTap rather than doing it over a sync IPC roundtrip. r=dvander
MozReview-Commit-ID: 4anzBR6YoA
2016-09-30 15:03:42 -04:00
Xidorn Quan
c3c6afa175 Bug 1304692 - Make puppet widget get coordinate rounding from parent. r=smaug
MozReview-Commit-ID: A3ornUMDmt8
2016-09-27 16:37:07 +10:00
David Anderson
b8b20d53b8 Support tab-switching in the GPU process. (bug 1298507, r=billm) 2016-09-23 18:12:45 -07:00
Kartikaya Gupta
fa522ade6a Bug 1298173 - Push HandleTap from the GPU process back to the parent process before passing it on to the child process. r=dvander
Sending it back via the parent process ensures that it will take the same path
that regular touch events do, and so guarantees that the Tap event won't overtake
the touch events and get dispatched to content first.

MozReview-Commit-ID: 8TiHY2PFPvE
2016-09-21 10:26:33 -04:00
David Anderson
58dfb0992b Recreate PLayerTransactions for TabChildren when the compositor restarts. (bug 1300936 part 4, r=mattwoodrow, r=billm) 2016-09-20 01:19:32 -07:00
Tooru Fujisawa
f499fceb2f Bug 92737 - Part 3: Open multiple tabs when multiple items are dropped on remote content area. r=enndeakin 2015-11-11 07:35:12 +09:00
Aaron Klotz
81ed92795e Bug 1297549: Part 2 - Propagate changes in tab native window down to content for a11y; r=jimm
MozReview-Commit-ID: 4akhzCtYciq
2016-09-15 13:37:04 -06:00
Phil Ringnalda
7b35049a6a Backed out changeset d1cfae63f790 (bug 1297549) for talos bustage 2016-09-18 11:18:17 -07:00
Bill McCloskey
1680d779a9 Bug 1279086 - Allow painting for tab switch when JS is running (r=dvander,mconley,mrbkap) 2016-09-16 20:35:11 -07:00
Aaron Klotz
b2fae2e9fb Bug 1297549: Part 2 - Propagate changes in tab native window down to content for a11y; r=jimm
MozReview-Commit-ID: LA5yLIGufEb
2016-09-15 13:37:04 -06:00
Wes Kocher
51b0f434ae Backed out 3 changesets (bug 1297549) for Windows VM Mn-e10s failures a=backout
Backed out changeset c3f82cedfb27 (bug 1297549)
Backed out changeset c643278d88c8 (bug 1297549)
Backed out changeset 3d515669d3e0 (bug 1297549)
2016-09-15 16:45:31 -07:00
Aaron Klotz
8a5ac8573e Bug 1297549: Part 2 - Propagate changes in tab native window down to content for a11y; r=jimm
MozReview-Commit-ID: E96pONRnHt0
2016-09-15 13:37:04 -06:00
Carsten "Tomcat" Book
868350dc99 merge mozilla-inbound to mozilla-central a=merge 2016-09-07 17:20:12 +02:00
Mike Conley
e18863809d Bug 1298219 - Don't fire oop-browser-crashed event if the browser has already flipped remoteness and moved on. r=billm
We currently make the initial browser in a window remote by default. If early
on in the session, that one remote browser goes away (and the content process
was still booting), there's about 5 seconds before the shutdown kill timer
will take that content process out for not quitting fast enough.

There are some cases during startup where the content process is waiting
on information from the parent, so it cannot respond to the request to
quit in time. The parents shutdown kill timer goes off, and the shutdown
kill occurs.

In this bug, what's happening is that the initial browser flips remoteness
from remote to non-remote when it goes to about:sessionrestore. This starts
the shutdown kill timer. The content process runs out of time, and the
shutdown kill timer fires, killing the content process. The TabParent::ActorDestroy
method (which still exists, even though the browser is no longer remote),
interprets this as an abnormal shutdown, and bubbles the oop-browser-crashed
event to the associated <xul:browser>, which causes the page to browser to
about:tabcrashed, when it had already loaded about:sessionrestore.

This patch makes it so that the TabParent::ActorDestroy method first checks
to ensure that the associated remote frameloader is still the one that the
frameloader owner cares about. If not (because, say, the remoteness has
flipped and a new non-remote frameloader has been created), then the
event is not fired, since the user has moved on.

MozReview-Commit-ID: G4jmR6lMMFl
2016-08-31 18:23:40 -04:00
Wes Kocher
3bc95aa438 Backed out 2 changesets (bug 1298219) for asan bc5 crashes a=backout
Backed out changeset 98b0e9b88212 (bug 1298219)
Backed out changeset 5948ae1f4218 (bug 1298219)
2016-09-06 14:40:32 -07:00
Mike Conley
a055d88f6f Bug 1298219 - Don't fire oop-browser-crashed event if the browser has already flipped remoteness and moved on. r=billm
We currently make the initial browser in a window remote by default. If early
on in the session, that one remote browser goes away (and the content process
was still booting), there's about 5 seconds before the shutdown kill timer
will take that content process out for not quitting fast enough.

There are some cases during startup where the content process is waiting
on information from the parent, so it cannot respond to the request to
quit in time. The parents shutdown kill timer goes off, and the shutdown
kill occurs.

In this bug, what's happening is that the initial browser flips remoteness
from remote to non-remote when it goes to about:sessionrestore. This starts
the shutdown kill timer. The content process runs out of time, and the
shutdown kill timer fires, killing the content process. The TabParent::ActorDestroy
method (which still exists, even though the browser is no longer remote),
interprets this as an abnormal shutdown, and bubbles the oop-browser-crashed
event to the associated <xul:browser>, which causes the page to browser to
about:tabcrashed, when it had already loaded about:sessionrestore.

This patch makes it so that the TabParent::ActorDestroy method first checks
to ensure that the associated remote frameloader is still the one that the
frameloader owner cares about. If not (because, say, the remoteness has
flipped and a new non-remote frameloader has been created), then the
event is not fired, since the user has moved on.

MozReview-Commit-ID: G4jmR6lMMFl
2016-08-31 18:23:40 -04:00
Kan-Ru Chen
c7fd702977 Bug 1269036 - Also destroy TabParent properly in case of mozbrowser. r=smaug
MozReview-Commit-ID: Co0HL40b4q7
2016-09-02 16:03:19 +08:00
Jimmy Wang
96ed3bfbc6 Bug 1297539 - Add IPC message, PasteTransferable, to call PasteTransferable via a controller on the content process to handle the command content event, "pasteTransferable". New method nsContentUtils::IPCTransferableToTransferable since ContentParent::RecvSetClipboard and TabChild::RecvPasteTransferable both require the same setup to make a transferable. r=mrbkap
MozReview-Commit-ID: 3I443eBOPEO
2016-08-30 21:30:45 -04:00
Johann Hofmann
317e7f0a79 Bug 1266836 - Part 1 - Fix password manager handling of popup windows in e10s. r=MattN r=liuche
MozReview-Commit-ID: OVsgkHhyg9
2016-08-30 15:47:38 +02:00
Kartikaya Gupta
e57fb1eec4 Bug 1299488 - Remove TabParent::InjectTouchEvent as it is unused but error-prone. r=botond
MozReview-Commit-ID: EVBRK70veT1
2016-08-31 16:54:23 -04:00
Nicholas Nethercote
b5810a1eb4 Bug 1299384 - Use MOZ_MUST_USE with NS_warn_if_impl(). r=erahm.
This change avoids lots of false positives for Coverity's CHECKED_RETURN
warning, caused by NS_WARN_IF's current use in both statement-style and
expression-style.

In the case where the code within the NS_WARN_IF has side-effects, I made the
following change.

> NS_WARN_IF(NS_FAILED(FunctionWithSideEffects()));
> -->
> Unused << NS_WARN_IF(NS_FAILED(FunctionWithSideEffects()));

In the case where the code within the NS_WARN_IF lacks side-effects, I made the
following change.

> NS_WARN_IF(!condWithoutSideEffects);
> -->
> NS_WARNING_ASSERTION(condWithoutSideEffects, "msg");

This has two improvements.
- The condition is not evaluated in non-debug builds.
- The sense of the condition is inverted to the familiar "this condition should
  be true" sense used in assertions.

A common variation on the side-effect-free case is the following.

> nsresult rv = Fn();
> NS_WARN_IF_(NS_FAILED(rv));
> -->
> DebugOnly<nsresult rv> = Fn();
> NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "Fn failed");
2016-09-02 17:12:24 +10:00
Kan-Ru Chen
a9b19d0584 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES
2016-08-24 14:47:04 +08:00
Wes Kocher
9836520505 Backed out 2 changesets (bug 1279086) for causing painting issues a=backout
Backed out changeset b1c893387fdd (bug 1279086)
Backed out changeset 277c54118c8a (bug 1279086)
2016-08-22 16:00:34 -07:00
Bill McCloskey
6b326939fd Bug 1279086 - Allow painting for tab switch when JS is running (r=dvander,mconley,mrbkap) 2016-08-19 14:41:26 -07:00
Wes Kocher
bd5bb0eef4 Backed out 2 changesets (bug 1279086) for failures in browser_menu_item_01.js a=backout
Backed out changeset 00bb53b58e96 (bug 1279086)
Backed out changeset cff59fe2b933 (bug 1279086)
2016-08-19 12:31:55 -07:00
Bill McCloskey
003cabfc2c Bug 1279086 - Allow painting for tab switch when JS is running (r=dvander,mconley,mrbkap) 2016-08-19 09:59:40 -07:00
Blake Kaplan
9e13c6ac8f Bug 1165309 - Make view source and print preview work in e10s-multi. r=mconley 2016-08-18 16:47:28 -07:00
Nicholas Nethercote
1cef4f427a Bug 1294620 - Use infallible XPIDL attribute getters more. r=erahm.
This makes a lot of code more compact, and also avoids some redundant nsresult
checks.

The patch also removes a handful of redundant checks on infallible setters.
2016-08-12 15:19:29 +10:00
Nicholas Nethercote
0550795f93 Bug 1293117 (part 4) - Change many NS_IMETHODIMP occurrences to NS_IMETHOD. r=froydnj.
This patch makes the following changes on many in-class methods.

- NS_IMETHODIMP F() override;      --> NS_IMETHOD F() override;
- NS_IMETHODIMP F() override {...} --> NS_IMETHOD F() override {...}
- NS_IMETHODIMP F() final;         --> NS_IMETHOD F() final;
- NS_IMETHODIMP F() final {...}    --> NS_IMETHOD F() final {...}

Using NS_IMETHOD is the preferred way of marking in-class virtual methods.
Although these transformations add an explicit |virtual|, they are safe --
there's an implicit |virtual| anyway because |override| and |final| only work
with virtual methods.
2016-08-08 10:54:47 +10:00