Commit Graph

29 Commits

Author SHA1 Message Date
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
Ehsan Akhgari
307f7072e2 Bug 1310378 - Remove support for mozwidget; r=baku 2016-10-17 13:15:36 -04:00
J. Ryan Stinnett
f91a386546 Bug 1301514 - Destroy browser API frame scripts during swap. r=kanru
When swapping content from <iframe mozbrowser> to <xul:browser>, we now stop the
frame scripts that implement the content side of the browser API since they are
no longer needed and can cause issues if they remain active.

MozReview-Commit-ID: JrecxA4MI93
2016-09-08 16:00:12 -05:00
Fabrice Desré
288fa0129a Bug 1284455 - Remove the System Messages API, Gecko part r=me
MozReview-Commit-ID: 1mhzddSLkuu
2016-04-20 19:04:13 +02:00
J. Ryan Stinnett
1203389da5 Bug 1238160 - Set tab context's isolation from frame attr. r=smaug
Renames existing nsFrameLoader::OwnerIsBrowser* methods to add "Moz" prefix for
clarity.

Adds nsFrameLoader::OwnerIsIsolatedMozBrowserFrame which checks the noisolation
attribute of mozbrowser frames, if present.

This is used to set isolation in nsFrameLoader::GetNewTabContext only when true.

MozReview-Commit-ID: Dz02xBoKh1P
2016-03-02 10:35:56 -06:00
Ting-Yu Chou
ff4dcc472c Bug 1127189 part 2 - Initialize browser API directly to get rid of nsBrowserElement observers. r=kanru 2015-02-09 15:04:18 +08:00
Junior Hsu
5f4d46dd3f Bug 1005818 - Part 2: Only limited browser API are available to a widget. r=kanru
1. Add |ownerIsWidget| in nsIFrameLoader.idl
2. Add |GetReallyIsWidget| in nsIMozBrowserFrame.idl
3. Hide the methods of browser API of a widget
4. Hide security-sensitive mozbrowser events of a widget
2014-08-19 15:14:22 +01:00
Junior Hsu
1dde4d3c4e Bug 1005818 - Part 1: Load a widget as an app if the |src| is in the |widgetPages|. r=fabrice, sr=sicking
1. Add permission |embed-widgets| and Element attribute |mozwidget|
2. Add |hasWidgetPage| in /mozIApplication.idl
3. Check permission |embed-widgets| and the |src| is in the |widgetPages| when |GetAppManifest|
4. Add test case
5. Should enable preference |dom.enable_widgets|
2014-08-19 15:14:08 +01:00
Ed Morley
896a518b12 Backed out changeset e020d647d6d3 (bug 1005818) for exceptions during test_widget.html 2014-08-19 15:06:12 +01:00
Ed Morley
f11a899c75 Backed out changeset e71a3cac1b3d (bug 1005818) 2014-08-19 15:05:51 +01:00
Junior Hsu
12baaee375 Bug 1005818 - Part 2: Only limited browser API are available to a widget. r=kanru
1. Add |ownerIsWidget| in nsIFrameLoader.idl
2. Add |GetReallyIsWidget| in nsIMozBrowserFrame.idl
3. Hide the methods of browser API of a widget
4. Hide security-sensitive mozbrowser events of a widget
2014-08-04 09:06:26 +08:00
Junior Hsu
75e6f44f57 Bug 1005818 - Part 1: Load a widget as an app if the |src| is in the |widgetPages|. r=fabrice, sr=sicking
1. Add permission |embed-widgets| and Element attribute |mozwidget|
2. Add |hasWidgetPage| in /mozIApplication.idl
3. Check permission |embed-widgets| and the |src| is in the |widgetPages| when |GetAppManifest|
4. Add test case
5. Should enable preference |dom.enable_widgets|
2014-07-03 13:47:09 +08:00
Justin Lebar
ff89d62eea Bug 836654 - Part 5: Add nsIMozBrowserFrame::isExpectingSystemMessage. r=bz 2013-02-14 15:41:30 -05:00
Chris Jones
dcb1f284b4 Backed out d2aa085d7ebd (bug 836605) 2013-02-06 15:49:27 -08:00
Chris Jones
776685331f Bug 836605: Cache mozIApplication wherever possible on critical startup path. r=jlebar 2013-02-06 14:32:20 -08:00
Chris Jones
6751089848 Backed out changeset fed128eb92f3 (bug 836605) for making the IDL gods angry. CLOSED TREE 2013-02-06 14:57:14 -08:00
Chris Jones
8682349c95 Bug 836605: Cache mozIApplication wherever possible on critical startup path. r=jlebar 2013-02-06 14:32:20 -08:00
Justin Lebar
f4dad2e81e Bug 802366 - The main event: Let a browser process inherit its app's id. r=bz,cjones
The main bug fixed here is that in half of our interfaces, we use "is browser frame/element" to mean "browser or app", and in the other half, we use it to mean "is browser not app".

There's a related, functional bug also fixed here, which is that a browser process doesn't inherit its parent's app-id.  This causes problems e.g. for IndexedDB: If a browser inside an app uses IndexedDB, the DB should have the app's app-id.

I also modified Tab{Parent,Child} and nsFrameLoader to call "app" "ownOrContainingApp", to emphasize that we might have inherited the app from a parent process.  I left nsIDocShell::appId alone, because changing that would have necessitated changing nsILoadGroup and therefore a /lot/ of users in Necko; it's also not clear it would have clarified anything in those cases.
2012-11-10 10:32:37 -08:00
Ryan VanderMeulen
65c1f3f21c Backed out 12 changesets (bug 806127, bug 802366, bug 806168) for Windows build bustage. 2012-11-09 20:14:40 -05:00
Justin Lebar
3f9133d4e7 Bug 802366 - The main event: Let a browser process inherit its app's id. r=bz,cjones
The main bug fixed here is that in half of our interfaces, we use "is browser frame/element" to mean "browser or app", and in the other half, we use it to mean "is browser not app".

There's a related, functional bug also fixed here, which is that a browser process doesn't inherit its parent's app-id.  This causes problems e.g. for IndexedDB: If a browser inside an app uses IndexedDB, the DB should have the app's app-id.

I also modified Tab{Parent,Child} and nsFrameLoader to call "app" "ownOrContainingApp", to emphasize that we might have inherited the app from a parent process.  I left nsIDocShell::appId alone, because changing that would have necessitated changing nsILoadGroup and therefore a /lot/ of users in Necko; it's also not clear it would have clarified anything in those cases.
2012-11-09 16:37:39 -08:00
Justin Lebar
9eb4ae743b Backed out changeset a6a847452dbf (bug 802366) 2012-10-30 21:36:29 -04:00
Justin Lebar
bce2156cf2 Bug 802366 - The main event: Let a browser process inherit its app's id. r=bz,cjones DONTBUILD
The main bug fixed here is that in half of our interfaces, we use "is browser frame/element" to mean "browser or app", and in the other half, we use it to mean "is browser not app".

There's a related, functional bug also fixed here, which is that a browser process doesn't inherit its parent's app-id. This causes problems e.g. for IndexedDB: If a browser inside an app uses IndexedDB, the DB should have the app's app-id.

I also modified Tab{Parent,Child} and nsFrameLoader to call "app" "ownOrContainingApp", to emphasize that we might have inherited the app from a parent process. I left nsIDocShell::appId alone, because changing that would have necessitated changing nsILoadGroup and therefore a /lot/ of users in Necko; it's also not clear it would have clarified anything in those cases.

(Re-landing changeset a6a847452dbf, backed out in 5091aa6083c4, because it was originally landed with the incorrect bug number.)
2012-10-30 16:13:21 -04:00
Justin Lebar
33c36a5757 Backed out changeset a6a847452dbf due to incorrect bug number (should be bug 802366, but was bug 802367). DONTBUILD 2012-10-30 16:13:20 -04:00
Justin Lebar
5c341964c7 Bug 802367 - The main event: Let a browser process inherit its app's id. r=bz,cjones
The main bug fixed here is that in half of our interfaces, we use "is browser frame/element" to mean "browser or app", and in the other half, we use it to mean "is browser not app".

There's a related, functional bug also fixed here, which is that a browser process doesn't inherit its parent's app-id.  This causes problems e.g. for IndexedDB: If a browser inside an app uses IndexedDB, the DB should have the app's app-id.

I also modified Tab{Parent,Child} and nsFrameLoader to call "app" "ownOrContainingApp", to emphasize that we might have inherited the app from a parent process.  I left nsIDocShell::appId alone, because changing that would have necessitated changing nsILoadGroup and therefore a /lot/ of users in Necko; it's also not clear it would have clarified anything in those cases.
2012-10-30 15:55:05 -04:00
Justin Lebar
bb937ea1ae Bug 762802 - Each <iframe mozapp> should get its own process. Part 2: Content/DOM changes. r=mounir 2012-07-13 17:10:20 -04:00
Justin Lebar
4bbfac36e1 Bug 742944 - Part 4: Handle window.open in <iframe mozbrowser>. r=bz, cjones 2012-06-12 18:01:25 -04:00
Justin Lebar
9f1600bbea Bug 725796 - Make window.{top,parent,frameElement} respect <iframe mozbrowser>. r=bz 2012-03-04 11:02:00 -05:00