Opened on 03/28/2019 at 01:52:47 PM

Closed on 03/29/2019 at 04:02:38 PM

Last modified on 08/15/2019 at 02:52:02 AM

#7419 closed change (fixed)

Allow wrapping of function properties in abort-on-property-* snippets

Reported by: mjethani Assignee: hfiguiere
Priority: P2 Milestone:
Module: Core Keywords: circumvention
Cc: hfiguiere, agiammarchi, Ross, amr, BrentM, laura Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Ross Verified working: yes
Review URL(s):

https://codereview.adblockplus.org/30033574/

Description (last modified by hfiguiere)

Background

Same as #7356, but for abort-on-property-read and abort-on-property-write.

What to change

Make the same change as in #7356 but in the wrapPropertyAccess() function.

Hints for testers

It should now be possible to prevent access to properties on functions. e.g. try the filter #$#abort-on-property-read Object.keys and add <script>console.log(Object.keys({a: 1}))</script> to your HTML document; it should not print ["a"] in the console.

Attachments (0)

Change History (14)

comment:1 Changed on 03/28/2019 at 01:53:05 PM by mjethani

  • Description modified (diff)

comment:2 Changed on 03/28/2019 at 06:59:43 PM by hfiguiere

  • Owner set to hfiguiere

comment:3 Changed on 03/28/2019 at 08:39:55 PM by hfiguiere

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

comment:4 Changed on 03/29/2019 at 04:02:06 PM by abpbot

A commit referencing this issue has landed:
Issue 7419 - Allow wrapping function for abort-on-property-*

comment:5 Changed on 03/29/2019 at 04:02:38 PM by hfiguiere

  • Resolution set to fixed
  • Status changed from reviewing to closed

comment:6 follow-up: Changed on 04/13/2019 at 01:28:46 PM by mjethani

Can we add some testing hints here?

comment:7 Changed on 04/25/2019 at 10:05:11 PM by hfiguiere

  • Description modified (diff)

comment:8 Changed on 04/25/2019 at 10:07:17 PM by hfiguiere

  • Description modified (diff)

comment:9 in reply to: ↑ 6 Changed on 04/25/2019 at 10:07:30 PM by hfiguiere

Replying to mjethani:

Can we add some testing hints here?

done

comment:10 Changed on 07/25/2019 at 09:09:00 PM by Ross

  • Tester changed from Unknown to Ross
  • Verified working set

Done. Working as described in all browsers except Edge.

The Edge issue is here.

ABP 0.9.15.2339
Microsoft Edge 44.17763.1.0 / Windows 10 1809

ABP 3.5.2.2340
Chrome 49.0.2623.75 / Windows 10 1809
Chrome 75.0.3770.142 / Windows 10 1809
Opera 36.0.2130.65 / Windows 10 1809
Opera 62.0.3331.72 / Windows 10 1809
Firefox 51.0 / Windows 10 1809
Firefox 68.0 / Windows 10 1809
Firefox Mobile 68.0 / Android 7.2.2

comment:11 Changed on 07/25/2019 at 09:53:13 PM by agiammarchi

FWIW I can Object.defineProperty(Object, 'keys', {get() { throw new Error('nope') }}) and then Object.keys({}) to see the error in Edge 44.17763.1.0 so it's not a different descriptor implementation.

comment:12 Changed on 08/14/2019 at 09:45:33 PM by sebastian

  • Cc BrentM added

comment:13 Changed on 08/14/2019 at 10:00:26 PM by BrentM

  • Cc laura added

comment:14 Changed on 08/15/2019 at 02:52:02 AM by hfiguiere

  • Sensitive unset

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 hfiguiere.
 
Note: See TracTickets for help on using tickets.