Commit Graph

327 Commits

Author SHA1 Message Date
Wes Kocher
26e25c2519 Backed out 2 changesets (bug 1305237) for bc failures in browser_WebRequest_ancestors.js a=backout
Backed out changeset 163a2b0bb0a0 (bug 1305237)
Backed out changeset e05bab140564 (bug 1305237)

MozReview-Commit-ID: GLlbWYZqyVS
2017-10-02 13:35:03 -07:00
15e18a2d25 Bug 1305237 LoadInfo changes to include all ancestors principals and window IDs, r=bz
MozReview-Commit-ID: ADVtxjSQjk5
2017-10-02 11:05:33 -07:00
Boris Zbarsky
ee1cd9b875 Bug 1400501. Store a list of ancestor principals on docshell and document. r=mystor
Right now every document in a docshell makes a copy of the list.  In practice,
this list is usually pretty short (limited by depth of iframe nesting), so this
is probably not a problem.  We could add a bit of complexity and have a
refcounted struct that contains the list... I wish we had something as simple
as Rust's Arc that we could use here.

MozReview-Commit-ID: 8jGIlkhp1DU
2017-09-18 21:24:38 -04:00
Boris Zbarsky
2fcd5047d7 Bug 1393806 part 3. Change dom::ReparentWrapper to take an ErrorResult. r=peterv
This makes it easier for its consumers to avoid leaving a dangling exception on
the JSContext.

MozReview-Commit-ID: Xep7IkYxSx
2017-09-13 13:34:55 -04:00
Bevis Tseng
236b3f9bb7 Bug 1390424 - Move ParentActivated message from PContent/PContentBridge back to PBrowser. r=billm 2017-08-23 17:02:57 +08:00
Kris Maglione
2cfe9d95a7 Bug 1391110: Part 3 - Add nsIWebBrowserPersistable to FrameLoader bindings. r=smaug
MozReview-Commit-ID: 8mBNbgmrXBV
2017-08-19 14:16:16 -07:00
Kris Maglione
fbe3b2da4b Bug 1391110: Part 2 - Reparent FrameLoader wrapper when owner content changes. r=smaug
We allow swapping frameloaders between unrelated documents, so we need to
reparent wrappers when the owner content changes.

MozReview-Commit-ID: LNIf4ZrCZLo
2017-08-19 13:03:59 -07:00
Kris Maglione
392c8059c7 Bug 1391110: Part 1 - Convert FrameLoader bindings to WebIDL. r=smaug
XPConnect wrapper overhead for this interface has been showing up heavily in a
lot of my profiles, in some places accounting for 50ms of the 80ms we spend
getting getting <browser> messageManagers. This improves the situation
considerably.

MozReview-Commit-ID: 9d1hCORxsYG
2017-08-19 00:55:00 -07:00
Masayuki Nakano
47bb4fe04b Bug 1387406 - part4: nsFrameLoader should treat editor as HTMLEditor r=smaug
Editor treated in nsFrameLoader is always HTMLEditor.  So, it should treat the editor as is.

MozReview-Commit-ID: 7bZMbLGKsED
2017-08-07 15:02:16 +09:00
Wes Kocher
8ad489263c Merge inbound to central, a=merge
MozReview-Commit-ID: 9NFjSEt96iT
2017-08-02 17:11:51 -07:00
Tim Taubert
5c1a30b131 Bug 1373672 - Part 1: Filter events from dynamic docShells in Gecko before they reach SessionStore event handlers r=smaug,mystor 2017-08-02 19:08:04 +02:00
Masatoshi Kimura
c0943e4f30 Bug 1326520 - Rename nsIURI.path to pathQueryRef. r=valentin.gosu
MozReview-Commit-ID: DqJdTGopR9G
2017-07-29 20:50:21 +09:00
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