AdguardTeam / AdguardTeam/AdguardBrowserExtension

Ad slots never render on Chrome-prerendered page loads on Raptive/AdThrive sites, even with filtering disabled for the site

オープン
#3,618 コメント 1 件 リアクション 0 件 担当者 1 名 @maximtop に割り当て済み GitHub で見る
Bug MV3 Priority: P4 Version: AdGuard v5.7
主要言語
TypeScript
スター
4.4k
フォーク
449
PR マージ指標
30日以内にマージされた PR はありません

説明

### Please answer the following questions for yourself before submitting an issue

- [x] Filters were updated before reproducing an issue
- [x] I checked the [knowledge base](https://adguard.com/kb/) and found no answer
- [x] I checked to make sure that this issue has not already been filed

### AdGuard Extension version

5.5.2.8

### Browser version

Version 152.0.7977.65 (Official Build) (64-bit)

### OS version

Windows 10

### Ad Blocking

AdGuard Base filter

### Privacy

_No response_

### Social

_No response_

### Annoyances

AdGuard Other Annoyances filter, AdGuard Widgets filter, AdGuard Mobile App Banners filter, AdGuard Popups filter, AdGuard Cookie Notices filter

### Security

_No response_

### Other

Filter unblocking search ads and self-promotion

### Language-specific

_No response_

### What Tracking protection options do you have enabled?

_No response_

### Issue Details

- **AdGuard Extension version:** 5.5.2.8
- **Browser:** Version 152.0.7977.65 (Official Build) (64-bit)
- **Other extensions:** none (reproduced with AdGuard as the only enabled extension)

### Steps to reproduce

1. Install AdGuard, add the site to the allowlist / disable protection for it - e.g. ambitiouskitchen.com (has to be a Raptive ad-site).

2. Get Chrome to prerender a page. ambitiouskitchen.com ships its own `` prerender rules with `"eagerness": "moderate"`, so: open any article, hover an internal recipe link for ~1s, then click it. (Alternative on any frequently-visited Raptive site: type the domain in the omnibox with autocomplete — requires a green >50% row in `chrome://predictors`.)

3. **DevTools must be CLOSED during the load**. Chrome disables prerendering entirely while DevTools is open, so the bug cannot reproduce with the console open. Open DevTools only after the page is up.

4. Verify the load was actually prerendered: `performance.getEntriesByType('navigation')[0].activationStart` > 0. 5. Observe: all ad containers (`AdThrive_*` divs) are `display:none` with 0x0 size and never recover, including after scrolling. Reload the tab → ads render normally.

### Expected Behavior

With filtering disabled for a site, pages should behave as if AdGuard were not installed, including on prerendered navigations.

### Actual Behavior

On sites using Raptive (formerly AdThrive) ad management, if Chrome loads the page via **prerendering** (Speculation Rules API), every ad slot stays `display:none` / 0x0 permanently, even though **filtering is disabled for the site** in AdGuard (site allowlisted). A normal (non-prerendered) load or a reload of the same page renders all ads correctly.

The trigger is the prerender itself: with AdGuard enabled a prerendered load is broken and a normal load is fine; with AdGuard disabled the identical prerendered load renders fine. Confirmed with controlled A/B pairs on the same Chrome version and the same Raptive ad build minutes apart. AdGuard enabled/disabled is the only variable. Reproduced on multiple unrelated Raptive sites and across multiple Raptive script builds over several days.

### Screenshots

_No response_

### Additional Information

Raptive serves tens of thousands of publisher sites. Readers who run AdGuard but deliberately allowlist a site to support it silently see no ads on every prerendered visit. The reader notices nothing and the publisher loses the revenue the allowlist was meant to provide.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。