Left: | ||
Right: |
OLD | NEW |
---|---|
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-2017 eyeo GmbH | 3 * Copyright (C) 2006-2017 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 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
481 { | 481 { |
482 items.splice(index, 1); | 482 items.splice(index, 1); |
483 updateContextMenu(); | 483 updateContextMenu(); |
484 } | 484 } |
485 } | 485 } |
486 } | 486 } |
487 }; | 487 }; |
488 | 488 |
489 chrome.tabs.onActivated.addListener(updateContextMenu); | 489 chrome.tabs.onActivated.addListener(updateContextMenu); |
490 | 490 |
491 chrome.windows.onFocusChanged.addListener(windowId => | 491 if ("windows" in chrome) |
492 { | 492 { |
493 if (windowId != chrome.windows.WINDOW_ID_NONE) | 493 chrome.windows.onFocusChanged.addListener(windowId => |
494 updateContextMenu(); | 494 { |
495 }); | 495 if (windowId != chrome.windows.WINDOW_ID_NONE) |
496 updateContextMenu(); | |
497 }); | |
498 } | |
496 | 499 |
497 | 500 |
498 /* Web requests */ | 501 /* Web requests */ |
499 | 502 |
500 let framesOfTabs = new Map(); | 503 let framesOfTabs = new Map(); |
501 | 504 |
502 ext.getFrame = (tabId, frameId) => | 505 ext.getFrame = (tabId, frameId) => |
503 { | 506 { |
504 let frames = framesOfTabs.get(tabId); | 507 let frames = framesOfTabs.get(tabId); |
505 return frames && frames.get(frameId); | 508 return frames && frames.get(frameId); |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
689 else | 692 else |
690 afterTabLoaded(callback)(tabs[0]); | 693 afterTabLoaded(callback)(tabs[0]); |
691 } | 694 } |
692 }); | 695 }); |
693 }); | 696 }); |
694 } | 697 } |
695 }; | 698 }; |
696 } | 699 } |
697 else | 700 else |
698 { | 701 { |
699 // Edge does not yet support runtime.openOptionsPage (tested version 38) | 702 // Edge does not yet support runtime.openOptionsPage (tested version 38) |
Sebastian Noack
2017/08/15 14:40:19
This comment should be updated, also mentioning Fi
Manish Jethani
2017/08/15 16:24:12
I'm going to make another change for runtime.openO
| |
700 // and so this workaround needs to stay for now. | 703 // and so this workaround needs to stay for now. |
701 // We are not using extension.getURL to get the absolute path here | 704 // We are not using extension.getURL to get the absolute path here |
702 // because of the Edge issue: | 705 // because of the Edge issue: |
703 // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/1027 6332/ | 706 // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/1027 6332/ |
704 ext.showOptions = callback => | 707 ext.showOptions = callback => |
705 { | 708 { |
706 chrome.windows.getLastFocused(win => | 709 let optionsUrl = "options.html"; |
710 let queryInfo = {url: optionsUrl}; | |
711 | |
712 let open = win => | |
707 { | 713 { |
708 let optionsUrl = "options.html"; | |
709 let queryInfo = {url: optionsUrl}; | |
710 | |
711 // extension pages can't be accessed in incognito windows. In order to | 714 // extension pages can't be accessed in incognito windows. In order to |
712 // correctly mimic the way in which Chrome opens extension options, | 715 // correctly mimic the way in which Chrome opens extension options, |
713 // we have to focus the options page in any other window. | 716 // we have to focus the options page in any other window. |
714 if (!win.incognito) | 717 if (win && !win.incognito) |
715 queryInfo.windowId = win.id; | 718 queryInfo.windowId = win.id; |
716 | 719 |
717 chrome.tabs.query(queryInfo, tabs => | 720 chrome.tabs.query(queryInfo, tabs => |
718 { | 721 { |
719 if (tabs.length > 0) | 722 if (tabs.length > 0) |
720 { | 723 { |
721 let tab = tabs[0]; | 724 let tab = tabs[0]; |
722 | 725 |
723 chrome.windows.update(tab.windowId, {focused: true}); | 726 if ("windows" in chrome) |
727 chrome.windows.update(tab.windowId, {focused: true}); | |
728 | |
724 chrome.tabs.update(tab.id, {active: true}); | 729 chrome.tabs.update(tab.id, {active: true}); |
725 | 730 |
726 if (callback) | 731 if (callback) |
727 callback(new Page(tab)); | 732 callback(new Page(tab)); |
728 } | 733 } |
729 else | 734 else |
730 { | 735 { |
731 ext.pages.open(optionsUrl, callback); | 736 ext.pages.open(optionsUrl, callback); |
732 } | 737 } |
733 }); | 738 }); |
734 }); | 739 }; |
740 | |
741 if ("windows" in chrome) | |
742 chrome.windows.getLastFocused(open); | |
743 else | |
744 open(); | |
735 }; | 745 }; |
736 } | 746 } |
737 | 747 |
738 /* Windows */ | 748 /* Windows */ |
739 ext.windows = { | 749 if ("windows" in chrome) |
740 create(createData, callback) | 750 { |
741 { | 751 ext.windows = { |
Sebastian Noack
2017/08/15 14:40:19
What is about the code using ext.windows? I suppos
Manish Jethani
2017/08/15 16:24:12
ext.windows is only used from lib/filterComposer.j
Sebastian Noack
2017/08/18 10:25:21
I guess we can just leave the code here unchanged
Manish Jethani
2017/08/18 14:09:58
I just checked and the only way ext.windows can be
| |
742 chrome.windows.create(createData, createdWindow => | 752 create(createData, callback) |
743 { | 753 { |
744 afterTabLoaded(callback)(createdWindow.tabs[0]); | 754 chrome.windows.create(createData, createdWindow => |
745 }); | 755 { |
746 } | 756 afterTabLoaded(callback)(createdWindow.tabs[0]); |
747 }; | 757 }); |
758 } | |
759 }; | |
760 } | |
748 }()); | 761 }()); |
OLD | NEW |