Opened on 10/16/2015 at 12:21:23 PM

Closed on 12/02/2015 at 01:20:36 PM

#3208 closed change (fixed)

Inject our nsIContentPolicy implementation into all processes

Reported by: trev Assignee: trev
Priority: P2 Milestone: Adblock-Plus-2.7-for-Firefox
Module: Adblock-Plus-for-Firefox Keywords: e10s 2015q4
Cc: arthur Blocked By: #3222, #3223, #3224, #3226, #3228, #3251, #3274
Blocking: Platform: Firefox
Ready: yes Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

https://codereview.adblockplus.org/29329367/
https://codereview.adblockplus.org/29329390/
https://codereview.adblockplus.org/29329393/
https://codereview.adblockplus.org/29329399/
https://codereview.adblockplus.org/29329467/
https://codereview.adblockplus.org/29329550/
https://codereview.adblockplus.org/29329554/
https://codereview.adblockplus.org/29329396/
https://codereview.adblockplus.org/29329409/
https://codereview.adblockplus.org/29329534/
https://codereview.adblockplus.org/29329419/
https://codereview.adblockplus.org/29329450/
https://codereview.adblockplus.org/29329470/
https://codereview.adblockplus.org/29329527/
https://codereview.adblockplus.org/29329547/
https://codereview.adblockplus.org/29329562/
https://codereview.adblockplus.org/29329565/
https://codereview.adblockplus.org/29329568/
https://codereview.adblockplus.org/29329486/
https://codereview.adblockplus.org/29329571/
https://codereview.adblockplus.org/29329680/

Description (last modified by trev)

Background

We are currently registering our content policy in the main process only. This works thanks to the E10S compatibility shim but causes lots of CPOW traffic as we inspect the context of the requests - along with warnings in the Error Console and slowdowns.

What to change

Inject our nsIContentPolicy implementation into all processes, similar to how it was done for the about: module in #3108. Use synchronous messaging to ask a central instance to make a decision. Data should be attached to nodes in the content process, meaning that RequestNotifier needs to be reworked as well.

In particular, this means splitting up our current contentPolicy module into contentPolicy and child/contentPolicy. The latter should contain all the low-level code: actual content policy implementation, redirect and pop-up listeners. The remaining code in contentPolicy would only be responsible for making decisions when messaged from child/contentPolicy (synchronously, because content policy responses have to be synchronous).

Attachments (0)

Change History (48)

comment:1 Changed on 10/22/2015 at 02:50:36 PM by trev

  • Owner set to trev

comment:2 Changed on 10/22/2015 at 05:47:50 PM by trev

  • Description modified (diff)

comment:3 Changed on 10/22/2015 at 05:51:54 PM by trev

  • Blocking 3222 added

comment:4 Changed on 10/22/2015 at 05:54:59 PM by trev

  • Blocking 3223 added

comment:5 Changed on 10/22/2015 at 05:59:48 PM by trev

  • Blocking 3224 added

comment:6 Changed on 10/22/2015 at 06:02:02 PM by trev

  • Blocking 3225 added

comment:7 Changed on 10/22/2015 at 06:07:09 PM by trev

  • Blocking 3226 added

comment:8 Changed on 10/22/2015 at 08:17:30 PM by trev

  • Blocking 3228 added

comment:9 Changed on 10/22/2015 at 08:48:56 PM by trev

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

comment:10 Changed on 10/23/2015 at 02:56:34 PM by trev

  • Blocking 443 added

comment:11 Changed on 10/23/2015 at 05:48:15 PM by trev

  • Blocking 3222, 3223, 3224, 3225, 3226, 3228 removed

comment:12 Changed on 10/23/2015 at 05:48:26 PM by trev

  • Blocked By 3222, 3223, 3224, 3225, 3226, 3228 added

comment:13 Changed on 10/26/2015 at 07:54:39 PM by trev

  • Review URL(s) modified (diff)

Started splitting up the large change into many small ones.

comment:14 Changed on 10/26/2015 at 07:59:10 PM by trev

  • Review URL(s) modified (diff)

comment:15 Changed on 10/26/2015 at 08:03:17 PM by trev

  • Review URL(s) modified (diff)

comment:16 Changed on 10/26/2015 at 08:11:52 PM by trev

  • Review URL(s) modified (diff)

comment:17 Changed on 10/26/2015 at 08:15:52 PM by trev

  • Review URL(s) modified (diff)

comment:18 Changed on 10/26/2015 at 08:29:05 PM by trev

  • Blocking 443 removed

comment:19 Changed on 10/26/2015 at 08:38:50 PM by trev

  • Review URL(s) modified (diff)

comment:20 Changed on 10/27/2015 at 02:28:53 PM by trev

  • Review URL(s) modified (diff)

comment:21 Changed on 10/28/2015 at 02:44:09 PM by trev

  • Review URL(s) modified (diff)

comment:22 Changed on 10/29/2015 at 01:05:24 PM by trev

  • Review URL(s) modified (diff)

comment:23 Changed on 10/29/2015 at 02:00:09 PM by trev

  • Review URL(s) modified (diff)

comment:24 Changed on 10/29/2015 at 08:33:01 PM by trev

  • Review URL(s) modified (diff)

comment:25 Changed on 10/29/2015 at 08:43:16 PM by trev

  • Review URL(s) modified (diff)

comment:26 Changed on 10/30/2015 at 07:43:44 PM by trev

  • Review URL(s) modified (diff)

comment:27 Changed on 10/30/2015 at 07:50:51 PM by trev

  • Review URL(s) modified (diff)

comment:28 Changed on 10/30/2015 at 07:57:40 PM by trev

  • Review URL(s) modified (diff)

comment:29 Changed on 10/30/2015 at 08:23:23 PM by trev

  • Review URL(s) modified (diff)

comment:30 Changed on 10/30/2015 at 10:53:25 PM by trev

  • Review URL(s) modified (diff)

comment:31 Changed on 10/30/2015 at 11:41:09 PM by trev

  • Review URL(s) modified (diff)

comment:32 Changed on 10/31/2015 at 12:08:47 AM by trev

  • Review URL(s) modified (diff)

That should be the last review...

comment:33 Changed on 11/01/2015 at 12:13:52 PM by trev

  • Blocked By 3251 added

comment:35 Changed on 11/03/2015 at 10:50:58 AM by trev

  • Review URL(s) modified (diff)

comment:36 Changed on 11/03/2015 at 11:33:49 AM by trev

  • Review URL(s) modified (diff)

comment:37 Changed on 11/04/2015 at 09:46:15 AM by trev

  • Review URL(s) modified (diff)

comment:39 Changed on 11/05/2015 at 09:32:55 PM by trev

  • Blocked By 3274 added

comment:40 Changed on 11/09/2015 at 02:47:47 PM by trev

  • Blocking 3213 added

comment:41 Changed on 11/09/2015 at 03:00:17 PM by mario

  • Keywords 2015q4 added

comment:42 Changed on 11/09/2015 at 03:36:39 PM by trev

  • Blocking 3290 added

comment:43 Changed on 11/10/2015 at 04:49:05 PM by arthur

  • Cc arthur added

comment:45 Changed on 11/11/2015 at 02:53:39 PM by trev

  • Blocking 3213 removed

comment:46 Changed on 11/12/2015 at 06:46:13 PM by trev

  • Review URL(s) modified (diff)

Pushed unit tests change: https://hg.adblockplus.org/adblockplustests/rev/94a67e14fda9

The remaining changes landed on a branch and will be merged once the blockers are resolved.

comment:47 Changed on 12/02/2015 at 11:27:14 AM by trev

  • Blocking 3290 removed

comment:48 Changed on 12/02/2015 at 01:20:36 PM by trev

  • Blocked By 3225 removed
  • Milestone set to Adblock-Plus-for-Firefox-next
  • Resolution set to fixed
  • Status changed from reviewing to closed

This is now fixed in the development builds.

Add Comment

Modify Ticket

Change Properties
Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from trev.
 
Note: See TracTickets for help on using tickets.