Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: ext/background.js

Issue 29752564: Issue 4580 - Removed ext.webRequest.handlerBehaviorChanged() (Closed)
Patch Set: Created April 14, 2018, 12:22 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | lib/requestBlocker.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-present eyeo GmbH 3 * Copyright (C) 2006-present eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 /* Web requests */ 511 /* Web requests */
512 512
513 let framesOfTabs = new Map(); 513 let framesOfTabs = new Map();
514 514
515 ext.getFrame = (tabId, frameId) => 515 ext.getFrame = (tabId, frameId) =>
516 { 516 {
517 let frames = framesOfTabs.get(tabId); 517 let frames = framesOfTabs.get(tabId);
518 return frames && frames.get(frameId); 518 return frames && frames.get(frameId);
519 }; 519 };
520 520
521 let handlerBehaviorChangedQuota =
522 browser.webRequest.MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES;
523
524 function propagateHandlerBehaviorChange()
525 {
526 // Make sure to not call handlerBehaviorChanged() more often than allowed
527 // by browser.webRequest.MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES.
528 // Otherwise Chrome notifies the user that this extension is causing issues.
529 if (handlerBehaviorChangedQuota > 0)
530 {
531 browser.webNavigation.onBeforeNavigate.removeListener(
532 propagateHandlerBehaviorChange
533 );
534 browser.webRequest.handlerBehaviorChanged();
535
536 handlerBehaviorChangedQuota--;
537 setTimeout(() => { handlerBehaviorChangedQuota++; }, 600000);
538 }
539 }
540
541 ext.webRequest = {
542 handlerBehaviorChanged()
543 {
544 // Defer handlerBehaviorChanged() until navigation occurs.
545 // There wouldn't be any visible effect when calling it earlier,
546 // but it's an expensive operation and that way we avoid to call
547 // it multiple times, if multiple filters are added/removed.
548 let {onBeforeNavigate} = browser.webNavigation;
549 if (!onBeforeNavigate.hasListener(propagateHandlerBehaviorChange))
550 onBeforeNavigate.addListener(propagateHandlerBehaviorChange);
551 }
552 };
553
554 browser.tabs.query({}, tabs => 521 browser.tabs.query({}, tabs =>
555 { 522 {
556 tabs.forEach(tab => 523 tabs.forEach(tab =>
557 { 524 {
558 browser.webNavigation.getAllFrames({tabId: tab.id}, details => 525 browser.webNavigation.getAllFrames({tabId: tab.id}, details =>
559 { 526 {
560 if (details && details.length > 0) 527 if (details && details.length > 0)
561 { 528 {
562 let frames = new Map(); 529 let frames = new Map();
563 framesOfTabs.set(tab.id, frames); 530 framesOfTabs.set(tab.id, frames);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 ext.windows = { 605 ext.windows = {
639 create(createData, callback) 606 create(createData, callback)
640 { 607 {
641 browser.windows.create(createData, createdWindow => 608 browser.windows.create(createData, createdWindow =>
642 { 609 {
643 afterTabLoaded(callback)(createdWindow.tabs[0]); 610 afterTabLoaded(callback)(createdWindow.tabs[0]);
644 }); 611 });
645 } 612 }
646 }; 613 };
647 } 614 }
OLDNEW
« no previous file with comments | « no previous file | lib/requestBlocker.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld