Commit Graph

365 Commits

Author SHA1 Message Date
Sebastian Hengst
c191b3cc6a merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IWRTFZdtzaE
2017-07-21 12:56:44 +02:00
Kris Maglione
0a9eebeee2 Bug 1374025. Try calling ShowViewer again later if it hasn't succeeded yet when we get a render frame parent. r=tnikkel 2017-07-20 16:24:40 -05:00
Alphan Chen
3304c8c379 Bug 1318988 - Implement allowPaymentRequest on iframe. r=baku 2017-07-18 10:16:28 +08:00
Samael Wang
8db97683d9 Bug 1350643 - Part 7: Remove sync GetDPI/DefaultScale/WidgetRounding. Use primary screen's value until RecvShow. r=kanru
MozReview-Commit-ID: GlDMNecWp3j
2017-05-19 18:20:18 +08:00
Sebastian Hengst
3073215161 Backed out changeset e62c93a8c93b (bug 1373672) for bustage at nsSessionStoreUtils.cpp:21: bad implicit conversion constructor for 'DynamicFrameEventFilter, and e.g. eslint failures. r=backout on a CLOSED TREE 2017-08-01 12:39:21 +02:00
Tim Taubert
12284f3ab0 Bug 1373672 - Part 1: Filter events from dynamic docShells in Gecko before they reach SessionStore event handlers r=smaug,mystor 2017-07-21 14:57:30 +02:00
Carsten "Tomcat" Book
372571d466 merge mozilla-inbound to mozilla-central a=merge 2017-06-27 10:56:41 +02:00
Bill McCloskey
ce42826bdf Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Masatoshi Kimura
a725dc3e13 Bug 1373984 - Turn nsIDocument::mCharacterSet into mozilla::NotNull<const mozilla::Encoding*>. r=hsivonen
MozReview-Commit-ID: GF0YXDwfA14
2017-06-18 20:37:50 +09:00
Nicholas Nethercote
a58025002f Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.
2017-06-22 17:08:53 +10:00
Nicholas Nethercote
4cbdad69e6 Bug 1374580 (part 2) - Remove nsAFlat{,C}String typedefs. r=froydnj.
All the instances are converted as follows.

- nsAFlatString  --> nsString
- nsAFlatCString --> nsCString
2017-06-20 19:19:05 +10:00
Andreas Farre
5a262010ce Bug 1373536 - Add missing includes due to added file. r=smaug 2017-06-21 12:14:01 +02:00
Carsten "Tomcat" Book
238bf154d5 Backed out changeset 4f6302a98ae4 (bug 1372405) 2017-06-21 13:59:26 +02:00
Bill McCloskey
67e8af4720 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book
bbe9441993 Backed out changeset 9846de3bd954 (bug 1372405) 2017-06-20 08:27:02 +02:00
Bill McCloskey
f69608368b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Michael Layzell
a8091e0a2a Bug 1368046 - Part 1: Propagate window.name across processes for RecvCreateWindowInDifferentProcess, r=smaug
MozReview-Commit-ID: 6xmLN9pbCKd
2017-06-07 12:54:53 -04:00
Peter Van der Beken
d697b27ee6 Bug 558184 - Part 8 - Load js plugins in a separate process. r=billm.
Every JS plugin is assigned a unique ID. When an instance of a JS plugin is created the
frame loader that we use to load the plugin's handler URI will create a special
TabContext. This TabContext causes the ContentParent to use the process for this specific
JS plugin (creating one if it hasn't already) when it creates the PBrowser actors.
This causes the iframes for all the instances of a specific JS plugin to be grouped in the
same process.
2017-05-29 12:38:46 +02:00
Andrea Marchesini
93aa268caf Bug 1368712 - Get rid of nsIBrowserElementAPI.{set,get}Visible, r=kanru 2017-05-31 21:15:23 +02:00
Andrew McCreight
98a8d191f5 Bug 1365086, part 1 - Make nsMessageManagerScriptExecutor::GetGlobal return a JSObject pointer. r=smaug
MozReview-Commit-ID: HxMaMyK8fFW
2017-05-15 12:56:22 -07:00
Kris Maglione
e240fa1529 Bug 1353060: Disable remote frameloaders in small popup widgets. r=kats
Since we now want to support APZ for remote frameloaders in popups, but do not
want to needlessly enable it in simple popup widgets which should never host
remote content, we need to prevent remote content from being loaded into those
popups.

MozReview-Commit-ID: WfjMC2p2eK
2017-04-17 13:45:08 -07:00
Kris Maglione
252338aa41 Bug 1353060: Use the correct layer manager for frameloaders in <popup>s. r=kats,mattwoodrow
Currently, we only correctly support remote layer trees for frameloaders that
use the same layer manager as their document. Since we need to be able to host
remote <browser> content in popup widgets for remote WebExtensions, we need to
tie the frameloaders to the layer manager of their host element, rather than
the root layer manager for the document.

MozReview-Commit-ID: 4RCsamFBiQw
2017-04-17 21:41:18 -07:00
Kartikaya Gupta
c861a54205 Back out bug 1353060 (3 csets) for possibly causing a checkerboarding regression. r=backout
MozReview-Commit-ID: AIHvzAUUCeu
2017-05-09 13:23:20 -04:00
Olli Pettay
c9b6807275 Bug 1358832, don't flush layout when swapping frameloaders, r=bz 2017-05-09 18:48:09 +03:00
Ting-Yu Chou
6fe68dd062 Bug 1328070 - Update window activation state when the owner content is swapped. r=enndeakin+6102
MozReview-Commit-ID: 58uYaH7iFIU
2017-04-06 15:58:02 +08:00
Kris Maglione
ef19fc958e Bug 1353060: Disable remote frameloaders in small popup widgets. r=kats
Since we now want to support APZ for remote frameloaders in popups, but do not
want to needlessly enable it in simple popup widgets which should never host
remote content, we need to prevent remote content from being loaded into those
popups.

MozReview-Commit-ID: WfjMC2p2eK
2017-04-17 13:45:08 -07:00
Kris Maglione
602d505b96 Bug 1353060: Use the correct layer manager for frameloaders in <popup>s. r=kats,mattwoodrow
Currently, we only correctly support remote layer trees for frameloaders that
use the same layer manager as their document. Since we need to be able to host
remote <browser> content in popup widgets for remote WebExtensions, we need to
tie the frameloaders to the layer manager of their host element, rather than
the root layer manager for the document.

MozReview-Commit-ID: 4RCsamFBiQw
2017-04-17 21:41:18 -07:00
Ehsan Akhgari
15aee0c599 Bug 1356922 - Part 1: Replace the next TabParent global pointer with per-window/tab next TabParent ID; r=billm,mconley
This patch replaces the usage of sNextTabParent pointer to store the next
PBrowser parent actor to be used by the next frame loader with the
following information:

  * In the case where the content JS has requested a new tab, the ID of the
    next TabParent will be stored on the <xul:browser> element.
  * In the case where the content JS has requested a new window, the ID of
    the next TabParent will be stored on the created nsXULWindow.
2017-04-24 14:18:29 -04:00
Bill McCloskey
a65d2f94ad Bug 1354249 - Use same TabGroup as original tab for print preview (r=mystor)
MozReview-Commit-ID: 5wmjLgq2j5m
2017-04-12 20:17:50 -07:00
Manish Goregaokar
0de0989a14 Bug 1341647 - stylo: Move HTMLBodyElement::WalkContentStyleRules to the mapped attr functionality; r=bz
MozReview-Commit-ID: 90qDHl0Ane4
2017-03-29 12:10:00 -07:00
Andrea Marchesini
a04ab116f5 Bug 1343933 - Renaming Principal classes - part 4 - ContentPrincipal, r=qdot 2017-03-22 11:39:31 +01:00
Andrea Marchesini
8f5f953fba Bug 1343933 - Renaming Principal classes - part 2 - NullPrincipal, r=qdot 2017-03-22 11:38:40 +01:00
Yoshi Huang
ffdab6348e Bug 1301649: Use MOZ_ASSERT_IF instead. r=smaug 2017-03-14 16:23:52 +08:00
Andrea Marchesini
313424057b Bug 1345168 - Get rid of OriginAttributes::Inherit, r=tjr 2017-03-08 07:41:51 +01:00
Mats Palmgren
7c43dcf986 Bug 1340771 part 1 - Rename nsWeakFrame to AutoWeakFrame (automated change). r=tn
MozReview-Commit-ID: 8pl4nyeGEkr
2017-03-01 18:03:14 +01:00
Michael Layzell
114deac852 Bug 1340747 - Try to initialize the remote browser when getting the frameloader's loadContext, r=ehsan
MozReview-Commit-ID: GhCNwG0uMGb
2017-02-24 16:59:53 -05:00
Benjamin Smedberg
6313586298 Bug 1338172 part E - make all the PPluginWidget stuff Windows-only. Rip out the GTK-specific native widget support from widget/gtk/nsWindow and elsewhere, r=jimm
MozReview-Commit-ID: J6E8sYcyX4U
2017-02-09 11:53:50 -05:00
Michael Layzell
943687a55e Bug 1338241 - Part 3: Relax the SwapWithOtherRemoteLoader swap check, r=bz
In bug 1147911, the concept of a remoteType was added to a xul:browser.
This was an attribute which would control the type of remote process was
intended to be used to load the page.

In order to swap two frameLoaders, it has always been necessary for them
to either both contain remote content, or both contain non-remote
content. This check is made in nsFrameLoader::SwapWithOtherLoader, by
checking `IsRemoteFrame() != aOther->IsRemoteFrame()`, and then
returning `NS_ERROR_NOT_IMPLEMENTED` if that was not the case.

In the follow-up bug 1317293, the check which is being removed here was
added to ensure that the remoteType of two frameLoaders which are being
swapped also matched. This was not a technical limitation, but rather
something which "seemed to make sense to do".

This bug removes that check as it is not a technical limitation and
causes problems in edge cases around Large-Allocation processes now that
the remoteType is being used to denote a Large-Allocation process.
Namely, it means that attempting to drag a Large-Allocation window into
a new window when at the Large-Allocation process cap will fail, due to
being unable to create a new Large-Allocation process in the new window
to swap with.

The new swapping of the attributes which is added below is done with the
intent that the `remoteType` attribute of the xul:browser element should
match the `remoteType` attribute of the frameLoader inside of it at all
times. As the swap can now occur between two different `remoteType`s,
this is necessary to keep that constraint.

MozReview-Commit-ID: BHFgjwRGrge
2017-02-17 12:01:24 -05:00
Michael Layzell
4a6530647c Bug 1338241 - Part 1: Use remoteType to propagate Large-Allocation status, r=mikedeboer
MozReview-Commit-ID: LfavqjMcZUq
2017-02-17 12:00:43 -05:00
J. Ryan Stinnett
fd466118f9 Bug 1335281 - Use frame loader for same process browsers. r=mrbkap
This changes the `relatedBrowser` property which held a <xul:browser> to the
more explicit `sameProcessAsFrameLoader` which takes an nsIFrameLoader.

This clarifies the purpose of the property and also (by switching to the frame
loader) makes it easier to set in some contexts.

MozReview-Commit-ID: LnEvSP8zkto
2017-02-14 14:12:35 -06:00
Bob Owen
3f580274a0 Bug 1317293: Only allow nsFrameLoader::SwapWithOtherRemoteLoader when remote types match. r=billm 2017-01-25 07:18:00 +00:00
Kartikaya Gupta
3ae04de9c4 Bug 1331509 - Move InitRenderFrame call to TabParent construction. r=dvander
MozReview-Commit-ID: Cg0EDJ3uSmz
2017-01-17 15:52:45 -05:00
Michael Layzell
3a5f381178 Bug 1329331 - Leave the Large-Allocation process after subsequent navigations, r=smaug
MozReview-Commit-ID: DfivmSEvzBu
2017-01-16 14:03:09 -05:00
Andrea Marchesini
46a9207d60 Bug 1328653 - Merging all the various *OriginAttributes to just one, r=huseby 2017-01-12 17:38:48 +01:00
Gijs Kruitbosch
1c84295986 Bug 1328605 - re-add support for type=content-foo in order to smooth the way for add-ons, r=bz
MozReview-Commit-ID: L4NeEAeEA
2017-01-04 17:33:19 +00:00
Cameron McCormack
5f9911da79 Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky
MozReview-Commit-ID: D3fIngSHSsl
2017-01-05 15:31:56 +08:00
Samael Wang
53bcab1c16 Bug 1323651 - Rename Partial/GroupedSessionHistory to Partial/GroupedSHistory. r=ehsan
MozReview-Commit-ID: G2GW4ZPIfH3
2016-12-22 16:06:50 +08:00
Michael Layzell
2f8026ac1d Bug 1315105 - Part 1: Add support for prerendering PartialSHistories to GroupedSHistory, r=smaug
MozReview-Commit-ID: A5bwSy8NkH3
2016-12-19 15:03:17 +08:00
Yoshi Huang
13130453ba Bug 1324115 - Part 2: replace the callers to use C++ helper. r=smaug 2016-12-21 14:59:21 +08:00
Carsten "Tomcat" Book
1c68a8a471 Backed out changeset ab6c012704b9 (bug 1315105) for failing on own test 2016-12-19 16:34:18 +01:00