Bug 169167

Summary: REGRESSION: Content Blocker: Blocking "a[href*=randomString]" doesn't work
Product: WebKit Reporter: jonathan.arnold
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Major CC: achristensen, am, ap, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari Technology Preview   
Hardware: iPhone / iPad   
OS: iOS 10   
Attachments:
Description Flags
patch simon.fraser: review+

jonathan.arnold
Reported 2017-03-04 00:26:51 PST
With the newest xcode beta this won't work anymore: { "trigger": { "url-filter": ".*" }, "action": { "selector": "a[href*=randomString]", "type": "css-display-none" } } In older version it worked perfectly fine.
Attachments
patch (4.64 KB, patch)
2017-03-24 11:11 PDT, Alex Christensen
simon.fraser: review+
Alexey Proskuryakov
Comment 1 2017-03-04 11:24:36 PST
Just to confirm, this regressed with new SDK, and Safari version is the same?
Radar WebKit Bug Importer
Comment 2 2017-03-04 11:24:52 PST
Radar WebKit Bug Importer
Comment 3 2017-03-04 11:24:53 PST
jonathan.arnold
Comment 4 2017-03-04 12:25:29 PST
yes, its with the new SDK. (iOS Beta 10.3)
Andrey Meshkov
Comment 5 2017-03-16 03:15:48 PDT
Moreover, selectors like `[attribute="value"]` do not work anymore. This issue is easily reproducible in iOS 10.3 Beta. Relevant discussion: https://forum.adguard.com/index.php?threads/ad-blocking-is-not-working-properly-in-ios-10-3-beta.19898/
jonathan.arnold
Comment 6 2017-03-16 04:28:32 PDT
Dear Webkit Developers, any chance on fixing this issue soon?
Alex Christensen
Comment 7 2017-03-16 16:15:45 PDT
I tried to reproduce this and found everything working correctly. Here are my steps for reproduction: 1) Put this into test.json on my desktop: [{"trigger":{"url-filter": ".*"},"action":{"selector":"a[href*=randomString]","type":"css-display-none"}}] 2) Put this into test.html on my desktop: <body><a href="http://webkit.org/randomString">This should be hidden.</a>This should not</body> 2) Compile WebKit and run Tools/Scripts/run-minibrowser 3) Open a new WebKit2 window in MiniBrowser. 4) In MiniBrowser's Debug menu, open the extensions manager. 5) Add test.json. 6) Notice that "This should be hidden." disappears. This indicates that everything seems to be working correctly. If you find a modification to my reproduction steps that shows incorrect behavior, please elaborate.
jonathan.arnold
Comment 8 2017-03-16 22:33:16 PDT
Hi Alex, thank you for looking into it. :-) Have you tried the same with the current iOS beta? This where the issue came up. Maybe it is only iOS that is effected of this. In the new iOS beta its not working for me :-(
Alex Christensen
Comment 9 2017-03-24 11:11:43 PDT
Alex Christensen
Comment 10 2017-03-24 11:18:11 PDT
jonathan.arnold
Comment 11 2017-03-27 04:59:37 PDT
Thank you Alex! Will this fix be included in the next beta?
Note You need to log in before you can comment on or make changes to this bug.