Commit Graph

120 Commits

Author SHA1 Message Date
Peter Van der Beken
886a1408ec Bug 1451973 - Split off process from non-process message managers. r=bz.
Process and non-process managers have different script loader interfaces
(ProcessScriptLoader/GlobalProcessScriptLoader vs FrameScriptLoader). The WebIDL
conversion used the same interface for some process and
non-process managers, but because of the different script loader interfaces they really
should be using separate interfaces.
2018-04-16 15:18:48 +02:00
Mike Conley
069e544fa4 Bug 1358712 - Force the frameloader to go through layout when content causes a TabParent to be created. r=Nika
This is necessary to avoid web platform test failures for tests that rely on layout calculations occurring
inside a recently opened tab or window. Originally, the layout flush was happening "accidentally" within
the StatusPanel that displays loading status for the browser. That flush is being removed in another patch
in this series.

MozReview-Commit-ID: IUxiBS9CDRY
2018-04-19 14:26:56 -07:00
Nika Layzell
1ea33d38de Bug 1434768 - Part 4: Create a ParentSHistory in nsFrameLoader, r=bz 2018-04-10 17:49:45 -04:00
Boris Zbarsky
9753d59feb Bug 1452321. Remove nsIWebBrowserPersistable. r=mystor
MozReview-Commit-ID: CCw86gAtKn3
2018-04-09 16:30:33 -04:00
Peter Van der Beken
ac0175d820 Bug 1448850 - Empty nsIMessageSender. r=bz. 2018-02-16 10:34:21 +01:00
Boris Zbarsky
95765efb63 Bug 1445005. Remove the eventMode bits from frameloader. r=qdot 2018-03-28 18:01:46 -04:00
Boris Zbarsky
6e07cf07ec Bug 1445006. Remove the scriptable version of FrameLoader::LoadURI. r=mystor
MozReview-Commit-ID: 4UY2dtk5kpR
2018-03-21 22:43:17 -04:00
Boris Zbarsky
e1d4e30728 Bug 1444143 part 14. Rename nsIFrameLoader.idl to nsIFrameLoaderOwner.idl. r=mystor
MozReview-Commit-ID: 1XpEjoFLSQh
2018-03-21 22:43:17 -04:00
Boris Zbarsky
b38dc6aba9 Bug 1444143 part 13. Remove nsIFrameLoader. r=mystor
MozReview-Commit-ID: 4LG8nIePsMH
2018-03-21 22:43:17 -04:00
Boris Zbarsky
1dcdfe2db0 Bug 1444143 part 12. Remove use of nsIFrameLoader from XPIDL files. r=mystor
MozReview-Commit-ID: 8pZ655SgrZ0
2018-03-21 22:43:17 -04:00
Boris Zbarsky
1d81ff387a Bug 1444143 part 9. Remove nsIFrameLoader::LoadURI. r=mystor
MozReview-Commit-ID: fSRCzBiHUE
2018-03-21 22:43:16 -04:00
Boris Zbarsky
c137816cf8 Bug 1444143 part 8. Remove nsIFrameLoader::LoadFrame. r=mystor
MozReview-Commit-ID: Ackil1mtVy0
2018-03-21 22:43:16 -04:00
Boris Zbarsky
f7a1e9ed98 Bug 1444143 part 7. Remove nsIFrameLoader::Destroy. r=mystor
MozReview-Commit-ID: GObbSTCrjad
2018-03-21 22:43:16 -04:00
Boris Zbarsky
ccea85f280 Bug 1444143 part 6. Remove nsIFrameLoader::Get/SetEventMode. r=mystor
MozReview-Commit-ID: Jvevh2puiLY
2018-03-21 22:43:16 -04:00
Boris Zbarsky
d739539437 Bug 1444143 part 5. Remove nsIFrameLoader::GetOwnerIsMozBrowserFrame. r=mystor
MozReview-Commit-ID: 6IfTdTvDZtm
2018-03-21 22:43:16 -04:00
Boris Zbarsky
0151a30a4d Bug 1444143 part 2. Remove nsIFrameLoader::GetDocShell. r=mystor
The change from "docShell" to "mDocShell" for the SetName call in the
OwnerIsMozBrowserFrame case in nsFrameLoader::MaybeCreateDocShell is a
drive-by correctness fix for a bug the rename of "docShell" to "parentDocShell"
caught: setting the name of our _parent_ docshell based on the name attr of our
owner makes no sense.

MozReview-Commit-ID: DwnWt8jTokV
2018-03-21 22:43:15 -04:00
Boris Zbarsky
8bb985656b Bug 1444143 part 1. Remove unused stuff from nsIFrameLoader. r=mystor
MozReview-Commit-ID: 3FpiEo2pxjr
2018-03-21 22:43:15 -04:00
Peter Van der Beken
4228134614 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 5: Convert MessageManager globals to WebIDL. r=bz.
The change in browser_net_view-source-debugger.js is needed because we now use WebIDL callbacks for MessageListener, and they add async creation stack frames.
2017-07-19 14:59:02 +02:00
Peter Van der Beken
a01d8c7c3b Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz. 2017-06-14 16:44:17 +02:00
Sebastian Hengst
500c4f7ad2 Backed out 6 changesets (bug 888600) for beta simulation failures: build bustage on Linux and Windows opt (bug 1442036) and devtools failure browser_net_view-source-debugger.js (bug 1441961). a=backout
Backed out changeset 83c87140dc3d (bug 888600)
Backed out changeset 2efb9b1753f6 (bug 888600)
Backed out changeset af5303781961 (bug 888600)
Backed out changeset 79ef59047e63 (bug 888600)
Backed out changeset 30d568d628dd (bug 888600)
Backed out changeset c7bd4c6c9741 (bug 888600)
2018-03-01 11:51:09 +02:00
Peter Van der Beken
d687f55828 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 5: Convert MessageManager globals to WebIDL. r=bz.
The change in browser_net_view-source-debugger.js is needed because we now use WebIDL callbacks for MessageListener, and they add async creation stack frames.
2017-07-19 14:59:02 +02:00
Peter Van der Beken
2d21a2c039 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz. 2017-06-14 16:44:17 +02:00
Masayuki Nakano
db4d6d392a Bug 1134542 - Get rid of nsIDOMWindowUtils::sendKeyEvent() and nsIFrameLoader::sendCrossProcessKeyEvent() r=smaug
nsIDOMWindowUtils::sendKeyEvent() is already replaced with nsITextInputProcessor
for making callers set any attributes of KeyboardEvent and guaranteeing
consistency behavior with keyboard events caused by native key events.  E.g.,
whether keypress event should be dispatched or not is automatically decided.

nsIFrameLoader::sendCrossProcessKeyEvent() is similart to
nsIDOMWindowUtils::sendKeyEvent() but it dispatches keyboard events in
child process directly.  Currently, nsITextInputProcessor doesn't have this
feature but nobody wants/uses this feature.  So, for removing actual
implementation of nsIDOMWindowUtils::sendKeyEvent(), i.e.,
nsContentUtils::SendKeyEvent(), which is shared by both
nsDOMWindowUtils::SendKeyEvent() and nsFrameLoader::SendCrossProcessKeyEvent(),
we should remove this unused API too. (FYI: it's implemented for old Fennec,
by bug 553149.)

MozReview-Commit-ID: 9n0UVo8Me8k
2018-01-31 17:04:20 +09:00
Nika Layzell
e5cd184550 Bug 1383876 - Part 1: Remove GroupedSHistory and Prerendering logic from C++ code, r=freesamael, r=smaug
MozReview-Commit-ID: 2aHA6NcQPGk
2018-01-12 17:52:52 -05:00
Andrew Swan
8cef91f7e3 Bug 1396399 - Clarify rules for applying activeTab permission to content scripts. r=kmag, r=bz
MozReview-Commit-ID: 9xPDX8Qk2iR
2017-11-04 21:06:20 -07:00
Luca Greco
2bd3c1c30a Bug 1390445 - Fix select popup positioning for oop extensions options_ui pages. r=billm,kats,kmag
MozReview-Commit-ID: Izt10SuUK0i
2017-09-20 20:03:58 +02:00
Kris Maglione
c2386ba786 Bug 1406278: Part 4 - Use subject principal as triggering principal in <iframe>/<frame> "src" attribute r=bz
MozReview-Commit-ID: AgxZmfRvfTR
2017-10-04 22:59:44 -07:00
Nicholas Nethercote
7dbfdaf890 Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP
2017-10-03 09:05:19 +11: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
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
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
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
Mats Palmgren
89416847ae Bug 1340771 part 2 - Introduce a WeakFrame class for heap allocated weak frame pointers, stored in a hashtable for fast lookup. r=tn
* * *
Bug 1340771 part 3 - Change existing heap allocated AutoWeakFrame instances to use WeakFrame instead.  r=tn

MozReview-Commit-ID: GSuUiy98jBa
2017-03-01 18:03:14 +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
Andrea Marchesini
46a9207d60 Bug 1328653 - Merging all the various *OriginAttributes to just one, r=huseby 2017-01-12 17:38:48 +01: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
Carsten "Tomcat" Book
1c68a8a471 Backed out changeset ab6c012704b9 (bug 1315105) for failing on own test 2016-12-19 16:34:18 +01:00
Michael Layzell
c9afceae77 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
Bob Owen
6188a22f73 Bug 1147911 Part 7: Create browsing context with no opener if URI needs different process. r=smaug
This also means window.open returns null in the same circumstance.
2016-11-24 15:08:31 +00:00
Sebastian Hengst
db8dae19c1 Backed out changeset f8ff074e9145 (bug 1147911) 2016-11-23 18:32:50 +01:00
Bob Owen
14d0cada23 Bug 1147911 Part 7: Create browsing context with no opener if URI needs different process. r=smaug
This also means window.open returns null in the same circumstance.
2016-11-23 13:36:58 +00: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
Sebastian Hengst
de03679ac8 Backed out changeset f768dac3f7a9 (bug 1147911) 2016-11-18 00:58:51 +01:00
Bob Owen
51629544a0 Bug 1147911 Part 7: Create browsing context with no opener if URI needs different process. r=smaug
This also means window.open returns null in the same circumstance.
2016-11-17 15:48:53 +00: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
Carsten "Tomcat" Book
84568d0bc2 Backed out changeset 7d1f7dd996f7 (bug 1310845) 2016-11-16 14:50:44 +01:00
Ehsan Akhgari
2d792bd2ad 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-15 18:31:46 -05:00