Commit graph

92 commits

Author SHA1 Message Date
Rob Wu
7530f86ecf Bug 1298979 - move tabs.sendMessage/connect to child process r=billm
- Use the frame's message manager to direct messages via the
  ProxyMessenger to the right tab instead of directly to the tab.
- Put the implementation in a separate file that is only loaded in
  child processes (in the future).
- Explicitly list all addon-process specific files in a new category
  instead of reusing the content one.

MozReview-Commit-ID: 8oIMx9ol7Tl

--HG--
extra : rebase_source : f93805ecdf44d4607dffc20ffe1cf0cbeb8c86be
2016-08-28 20:07:46 -07:00
Rob Wu
3df8d2e80e Bug 1298979 - Add ProxyMessenger, change message managers and getSender r=billm
- Introduce a proxy for IPC messages to allow the following APIs
  to be run out-of-process (ProxyMessenger):

    * runtime.connect
    * runtime.sendMessage
    * tabs.connect
    * tabs.sendMessage
    * runtime.onConnect
    * runtime.onMessage

- Update getSender in ext-tabs, make it independent of the context
  (in particular do not throw an error when a message is received while
  the tab is gone), and move it from MessageChannel to ProxyMessenger to
  make sure that it works in webext-oop. MessageChannel lives in a child
  process, whereas the TabManager (used by getSender) requires data from
  the main process.

- Set the third parameter of `addMessageListener` to true in some places
  to make sure that messages get delivered even after unloading the
  context. This is needed for the next two points.

- Put the `messageManager` property in BaseContext, and let it be set by
  `setContentWindow` - runtime.sendMessage/connect and tabs.sendMessage/
  connect depends on this property, and using the frame message manager
  makes sense.

- Unconditionally use the frame message manager in
  runtime.sendMessage/connect instead of sometimes the cpmm.

MozReview-Commit-ID: 4QkPnlMOkjS

--HG--
extra : rebase_source : f2c753a9d396e4b5c40e46cd926024e664372002
2016-08-25 17:08:08 -07:00
Rob Wu
be3652cd57 Bug 1287010 - Make environment of Context explicit. r=billm
- Add `envType` to BaseContext.
 - Pass an explicit envType to all `registerSchemaAPI` invocations.
 - The factories passed to `registerSchemaAPI` will be split up later, so
   that content scripts (`content_child`) and addon pages can share
   common implementations.
 - The factories that implement the addon API will also be split up,
   to separate code running in the main process (`addon_parent`) from
   code running in a child process (`addon_child`).
 - Remove the use of a hardcoded list of `namespaces` from ProxyContext.
   Now `envType` is used to specify whether an API should be activated.

MozReview-Commit-ID: Jiff8HIwG92

--HG--
extra : rebase_source : 946a3c0009a4e3223c2d10044b3099a94c845394
2016-08-16 15:51:50 -07:00
Rob Wu
bacc209644 Bug 1295082 - Put Extension in BaseContext r=kmag
ExtensionContext in Extension.jsm has |extension| as an instance member,
so use it instead of passing |extension| to registerSchemaAPI's
callback.

And to make sure that this pattern also works in content processes, move
the |extension| member to BaseContext.

MozReview-Commit-ID: BgsGGCPQxJR

--HG--
extra : rebase_source : 7aa9fb7a53e057e8d3d8c477bd6821f8344c571a
2016-08-15 01:04:58 -07:00
Sebastian Hengst
2164cd95c8 Backed out changeset 0ce1cc39aa3d (bug 1295082) for timing out in test_ext_schemas_api_injection.js. r=backout 2016-08-18 16:47:09 +02:00
Rob Wu
dfc11d6f00 Bug 1295082 - Put Extension in BaseContext r=kmag
ExtensionContext in Extension.jsm has |extension| as an instance member,
so use it instead of passing |extension| to registerSchemaAPI's
callback.

And to make sure that this pattern also works in content processes, move
the |extension| member to BaseContext.

MozReview-Commit-ID: BgsGGCPQxJR

--HG--
extra : rebase_source : 9a85d95f0c147198938b86c57127f6e7403fd53c
2016-08-15 01:04:58 -07:00
Rob Wu
65acb9a681 Bug 1290157 - Always pass an array to tabs.executeScript on success r=kmag
MozReview-Commit-ID: Ctw8RUtfEZC

--HG--
extra : rebase_source : 7f76c1c99b5948463e5bfa0f7270fe50f6e95a88
2016-08-09 00:28:47 -07:00
Kris Maglione
4f1b1dda0b Bug 1225215: [webext] Raise the expected errors when given invalid tab IDs. r=aswan
MozReview-Commit-ID: E5G0GmVhzLh

--HG--
extra : rebase_source : 5c6624b9d2d06109a1b047ad48dcac7e9405ee59
extra : amend_source : fb23020f7d2772f56fabc61f2e32f7d9c4c2f52a
2016-02-26 17:56:30 -08:00
Kris Maglione
8d58c7c636 Bug 1285493: Add-on Manager should not be closed when an add-on with options_ui is disabled. r=billm
MozReview-Commit-ID: 8oRK8uPphDf

--HG--
extra : rebase_source : c6dcc7da1823711e3223ba39d038e1ccc949f6fd
2016-07-24 15:05:39 -07:00
Pushpankar
c6670d980f Bug 1286854 - Replace ownerDocument.defaultView with ownerGlobal in browser/. r=dao
--HG--
extra : rebase_source : 72d50e73baf595840a2aade57ae782e4c40d4c27
2016-07-16 10:20:04 +02:00
Kris Maglione
a1dac7caad Bug 1279392: [webext] Move API permission definitions to the schemas. r=aswan
MozReview-Commit-ID: 8m7wJrAbFwS

--HG--
extra : source : a00cf073f5c00380d4e42b13bc0cd3146b708845
extra : amend_source : d74ef90e88acbe62e33af3b5b9cf870d5c0a9d3e
2016-06-09 17:44:47 -07:00
Sebastian Hengst
f8035f62a8 Backed out changeset a00cf073f5c0 (bug 1279392) for failing mochitest test_ext_contentscript_create_iframe.html at least on Linux x64 opt. r=backout 2016-06-14 13:37:52 +02:00
Kris Maglione
b465305345 Bug 1279392: [webext] Move API permission definitions to the schemas. r=aswan
MozReview-Commit-ID: 8m7wJrAbFwS

--HG--
extra : rebase_source : cba877c0ef400917b0b7e5913895e64ebefb34b9
extra : amend_source : 6e943015e3e00854c431cbd653994a6734e66ce4
2016-06-09 17:44:47 -07:00
Kris Maglione
c98153037d Bug 1276025: Stop using injectInDocShell to tag docShells with types. r=billm
MozReview-Commit-ID: 7h5PI2birY4

--HG--
extra : source : 99b213f494e1a9e20629e936681faedec16d22a3
extra : amend_source : d70ffaecbc11445a5bddeb52c9c940a866934347
2016-06-02 20:53:41 -07:00
Wes Kocher
3ec856c177 Backed out changeset 99b213f494e1 (bug 1276025) for xpcshell bustage CLOSED TREE 2016-06-07 16:59:20 -07:00
Kris Maglione
c5d392a9bc Bug 1276025: Stop using injectInDocShell to tag docShells with types. r=billm
MozReview-Commit-ID: 7h5PI2birY4

--HG--
extra : rebase_source : a8b8b9b49f9ef8304ee669f6c28c9290a1198ff3
extra : amend_source : f868dc11e3da5f89852343e88e373db14f5dcbd3
extra : histedit_source : 6ee59978a58828e22a9f2cbf651cb713ba28d25d
2016-06-02 20:53:41 -07:00
Kris Maglione
d5cf648d4d Bug 1254003: Don't call tabs.create callback before the tab is ready. r=gabor
MozReview-Commit-ID: 3qK6GpTmIFQ

--HG--
extra : source : 8afadb96e97704a98492c2286fb92479deb3365f
extra : amend_source : 90180f99ce13f9266b4b55b9a1f8689cdf3aa5ce
2016-04-03 19:31:47 -07:00
Claas Augner
3c65a4e758 Bug 1247455 - Add a .removeCSS method to complement .insertCSS. r=kmag 2016-04-15 00:39:09 +02:00
Kris Maglione
0c6f1f4c22 Backed out changeset a3fbed43aa55 for a new set of intermittent failures.
MozReview-Commit-ID: 1lIDylABshC
2016-04-25 18:13:41 -07:00
Kris Maglione
3e9bda71d8 Bug 1254003: Don't call tabs.create callback before the tab is ready. r=gabor
MozReview-Commit-ID: 3qK6GpTmIFQ

--HG--
extra : rebase_source : 16b5a51afade88ec9cf1d7ccc0878e310c7fad78
extra : source : 8afadb96e97704a98492c2286fb92479deb3365f
2016-04-03 19:31:47 -07:00
Kris Maglione
d78e5a3050 Bug 1238310: Part 5 - Implement the browser.tabs.onZoomChange event. r=gabor f=aswan
MozReview-Commit-ID: JlxSM13SeYg

--HG--
extra : rebase_source : aaa1ac864a0cbcbe22aa7aa694ab0203f8e39d0b
extra : amend_source : 2a8a0081e853d5f2f3975ebee4c3bcb0ee46c2e9
2016-04-01 11:45:01 -07:00
Carsten "Tomcat" Book
84eb46bafd merge mozilla-inbound to mozilla-central a=merge
--HG--
rename : toolkit/components/prompts/test/test_bug861605.html => toolkit/components/prompts/test/test_dom_prompts.html
2016-04-25 11:55:12 +02:00
Phil Ringnalda
664d43385b Back out a57938cd29d2 (bug 1254003) for timeouts in browser_ext_tabs_* 2016-04-24 22:16:13 -07:00
Kris Maglione
6640885354 Bug 1254003: Don't call tabs.create callback before the tab is ready. r=gabor
MozReview-Commit-ID: 3qK6GpTmIFQ

--HG--
extra : rebase_source : cd0d5f5fae93e7e4f6436d2fae1d6e4c9363d2d4
extra : source : 8afadb96e97704a98492c2286fb92479deb3365f
2016-04-03 19:31:47 -07:00
Kris Maglione
b783efe7d8 Backed out changeset 8afadb96e977 for too many intermittent failures (bug 1254003).
MozReview-Commit-ID: 2wFCgIaH9lM
2016-04-24 00:39:29 -07:00
Kris Maglione
24d6448f60 Bug 1254003: Don't call tabs.create callback before the tab is ready. r=gabor
MozReview-Commit-ID: 3qK6GpTmIFQ

--HG--
extra : rebase_source : 5510c5bc106eb3a5d35b761439b654fe7fe68a8f
2016-04-03 19:31:47 -07:00
Kris Maglione
512b5f6bcb Bug 1238310: Part 4 - Refactor tab listener code. r=aswan
MozReview-Commit-ID: 66ZXlvepRsz

--HG--
extra : rebase_source : 72e6f860df44b31c25940d0ea6b75242bf340851
extra : source : f4e7fed2020e146726efc653527d55b1a67b091e
extra : histedit_source : c4ea6bdbeac642fe3ba558ec3fdb4a497513a377
2016-02-17 11:47:56 -08:00
Kris Maglione
02eba536f1 Bug 1238310: Part 3 - Implement the base browser.tabs zoom API. r=aswan
MozReview-Commit-ID: BZEFOnCRMba

--HG--
extra : rebase_source : b43761bbeccfa2da0fad969676c2e7ac9b434f7d
extra : histedit_source : d0f195f76ff32e3889adcba2b691ce89fc4ad0c7
2016-04-01 15:44:29 -07:00
Matthew Wein
f64c3ca257 Bug 1245355 - Add a unit test for tabs.getAllInWindow. r=kmag
MozReview-Commit-ID: 5wVRCLdCuq9

--HG--
extra : transplant_source : %B0%89%CB%F5%9C%C8%A7%94%BAJ%1Cz%BE%1AU%99%BE%A4%D0%AE
2016-03-17 09:35:58 +01:00
tofumatt
0f151b21a6 Bug 1237822 - Throw error if tabs.query is used without "tabs" permission with url param. r=kmag
MozReview-Commit-ID: 4WpawIYcwnl

--HG--
extra : transplant_source : %1FD%00%5D%CEJ%E6%10Wj%C3%92%87%FFN%A4Vo%0C%E7
2016-03-15 15:39:27 +01:00
Bill McCloskey
74d6b169e1 Bug 1197346 - Rename ExtensionPage to ExtensionContext (r=kmag) 2016-04-23 20:04:29 -07:00
Sebastian Hengst
1b915e4b70 Backed out changeset 562dbcad5a6e (bug 1245355) for leaking windows and a docshell in its new test browser_ext_tabs_getAllInWindow.js. r=backout 2016-03-16 19:19:41 +01:00
Matthew Wein
eb7409d4cd Bug 1245355 - Add a unit test for tabs.getAllInWindow r=kmag
MozReview-Commit-ID: 5wVRCLdCuq9

--HG--
extra : rebase_source : 3d937ea9c1806499d6ae0701014728700687f07f
2016-03-15 12:01:40 +01:00
Kris Maglione
876d0a0806 Bug 1220154, 1249830: Handle sendMessage replies with 0 and >1 listeners correctly. r=billm
MozReview-Commit-ID: 7lE7RaJcl7n

--HG--
extra : rebase_source : 424987c745840d56647600b8d9e1bf941afb1d95
2016-03-04 15:40:56 -08:00
Kris Maglione
ebd03d7771 Bug 1253132: [webext] Support window states in browser.windows APIs. r=billm
MozReview-Commit-ID: LIw6swRAB3h

--HG--
extra : rebase_source : ab313986de1b12e9a38d341da16c8338cc3ea5e5
2016-03-05 09:59:35 -08:00
Kris Maglione
66f9b57852 Bug 1248499: [webext] Implement tabs.detectLanguage. r=billm
MozReview-Commit-ID: F4GpSesj2ho

--HG--
extra : rebase_source : e9ffab3396b4f813c60e366c371ea54baccc160a
2016-02-26 13:20:28 -08:00
Andy McKay
8149342574 Bug 1248460 - pin during SSTabRestoring. r=kmag
MozReview-Commit-ID: A88UnreihK7

--HG--
extra : transplant_source : %93%C6Y%ADh%E1q%E7%840%93%F90%86w%EA%C6l%02O
2016-02-29 13:45:36 -08:00
Matthew Wein
b1ab0e41fd Bug 1220124 - Add support for chrome.tabs.onhighlight. r=kmag
MozReview-Commit-ID: BB6vJl8qV4l

--HG--
extra : rebase_source : fcbe0bd0aa21e47c2524e57434dded91592efe9d
extra : source : 90494d4d76ab4587805ad27cc663fa7407b04450
2016-02-07 18:35:22 -08:00
Kris Maglione
2eda01945e Bug 1213993: [webext] Support frameId/allFrames/runAt in browser.tabs.executeScript and insertCSS. r=billm
MozReview-Commit-ID: FgV9vyHVjj8

--HG--
extra : rebase_source : 04582c711ef40f3afc7eeaa9e4dec2e31b63e4e0
2016-02-08 17:40:02 -08:00
Luca Greco
29d1c88828 Bug 1227462 - tabs.create and tabs.update should check URLs using checkLoadURL. r=kmag
MozReview-Commit-ID: EKFRpoSuXrF

--HG--
extra : rebase_source : e8016dae12cdf5f4b3a9c345ce0a45f51bba519f
2016-02-25 18:13:59 +01:00
Kris Maglione
5201cc7869 Bug 1238313: Part 1 - Implement tabs.onMoved event. r=billm
MozReview-Commit-ID: F2GoU1fzj4s

--HG--
extra : source : c893cd374dcd93adc833e3bcc05e725176bfd523
2016-02-11 14:32:58 -08:00
Kris Maglione
40152a25bd Bug 1234086: [webext] Add support for tabs.onAttached/onDetached events. r=billm
MozReview-Commit-ID: 4Kk1mTdGflI

--HG--
extra : source : 5ec466af51e171623333ad644a94034b55b73b08
2016-02-17 11:52:33 -08:00
Wes Kocher
099649f263 Backed out changeset 5ec466af51e1 (bug 1234086) for failures in browser_ext_tabs_update.js
--HG--
extra : commitid : F0V50PvojGj
2016-02-17 14:31:04 -08:00
Wes Kocher
5eb7c4d849 Backed out changeset c893cd374dcd (bug 1238313)
--HG--
extra : commitid : JH50wJBbF9C
2016-02-17 14:30:56 -08:00
Kris Maglione
f53c090725 Bug 1238313: Part 1 - Implement tabs.onMoved event. r=billm
MozReview-Commit-ID: F2GoU1fzj4s

--HG--
extra : rebase_source : 10122f7aa1a207591cbd23ffe76609a3715ff014
extra : histedit_source : cb6b4bbbde239e9481e68f9c5fc64a872dad76ee
2016-02-11 14:32:58 -08:00
Kris Maglione
937b9251be Bug 1234086: [webext] Add support for tabs.onAttached/onDetached events. r=billm
MozReview-Commit-ID: 4Kk1mTdGflI

--HG--
extra : rebase_source : bf075da744ba920bfb94587d1376a48125ddb21f
extra : histedit_source : 134b55b5e5e2bc482b33cd40c1e50145e42773e2%2C78d2857bbf3f558d3a15a161f0d63e44c9411b36
2016-02-17 11:52:33 -08:00
Andy McKay
c123766e69 Bug 1238312 - implement tabs.duplicate. r=kmag
MozReview-Commit-ID: Fzd6BuAEgSl

--HG--
extra : transplant_source : %F3%1C%C6%13Hn%DF%051%2B%7D%AB%D1%AE%F17Y%05oF
2016-02-12 15:38:55 -08:00
Kris Maglione
ba2e5f60f4 Bug 1248855 - [webext] Add "object-curly-spacing" ESLint rule and auto-fix errors. r=billm
MozReview-Commit-ID: BAZ2rRl7eSM
2016-02-16 20:10:00 -08:00
Kris Maglione
8414d3b8d4 Bug 1235571: Add an adoptTab method to <tabbrowser> and remove duplicated code. r=billm
--HG--
extra : commitid : DthwEkfzjHB
extra : rebase_source : d5bcc106be49e118e60418a280dbaea2a6520899
2016-02-10 15:27:08 -08:00
Kris Maglione
109944fbfe Bug 1234020: Part 2j - [webext] Return promises from the tabs API. r=rpl
--HG--
extra : commitid : EK8NBTwpaM6
extra : rebase_source : ed2d93f292f53a5314b4e05b2668a05291f70b7b
2016-02-05 18:50:58 -08:00