| 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-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 541 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 552 // In Edge requests from internal extension pages | 552 // In Edge requests from internal extension pages |
| 553 // (protocol ms-browser-extension://) do no have a sender URL. | 553 // (protocol ms-browser-extension://) do no have a sender URL. |
| 554 url: rawSender.url ? new URL(rawSender.url) : null, | 554 url: rawSender.url ? new URL(rawSender.url) : null, |
| 555 get parent() | 555 get parent() |
| 556 { | 556 { |
| 557 let frames = framesOfTabs.get(rawSender.tab.id); | 557 let frames = framesOfTabs.get(rawSender.tab.id); |
| 558 | 558 |
| 559 if (!frames) | 559 if (!frames) |
| 560 return null; | 560 return null; |
| 561 | 561 |
| 562 let frame = frames.get(rawSender.frameId); | 562 let frame; |
| 563 // In Edge we don't have frameId | |
|
kzar
2018/07/17 14:46:07
Would be nice to add an Edge version number, so in
Sebastian Noack
2018/07/17 14:50:34
Also please spell out "Microsoft Edge".
geo
2018/07/17 16:36:21
Done.
geo
2018/07/17 16:36:22
Done.
| |
| 564 // so we fall back to iterating over the tab's frames | |
| 565 // see https://developer.microsoft.com/en-us/microsoft-edge/platform/i ssues/11716733 | |
| 566 if (rawSender.frameId != undefined) | |
| 567 frame = frames.get(rawSender.frameId); | |
| 568 else | |
| 569 { | |
| 570 for (let [key, value] of frames) | |
| 571 { | |
| 572 let valueHref = value.url.href.replace("#", ""); | |
|
Sebastian Noack
2018/07/17 14:20:42
This will only strip the # character itself but no
geo
2018/07/17 16:36:21
I'm sorry. I've fixed it.
Yes, both value.url and
| |
| 573 | |
| 574 let rawSenderHref = rawSender.url ? | |
|
Sebastian Noack
2018/07/17 14:20:42
Under which circumstances is url undefined or null
geo
2018/07/17 16:36:21
I've based that off the comment at https://coderev
| |
| 575 rawSender.url.replace("#", "") : | |
|
Sebastian Noack
2018/07/17 14:20:41
This will only strip the # character itself but no
geo
2018/07/17 16:36:21
Done.
| |
| 576 ""; | |
| 577 | |
| 578 if (valueHref == rawSenderHref) | |
|
kzar
2018/07/17 14:46:07
I wonder what will happen if two frames have the s
Sebastian Noack
2018/07/17 14:50:34
Then we assume that it's the first of the two fram
kzar
2018/07/17 15:41:53
Fair enough, but maybe we should leave a comment h
geo
2018/07/17 16:36:22
Done.
| |
| 579 { | |
| 580 frame = value; | |
| 581 this.id = key; | |
| 582 break; | |
| 583 } | |
| 584 } | |
| 585 } | |
| 586 | |
| 563 if (frame) | 587 if (frame) |
| 564 return frame.parent || null; | 588 return frame.parent || null; |
| 565 | |
| 566 return frames.get(0) || null; | 589 return frames.get(0) || null; |
| 567 } | 590 } |
| 568 }; | 591 }; |
| 569 } | 592 } |
| 570 | 593 |
| 571 return ext.onMessage._dispatch( | 594 return ext.onMessage._dispatch( |
| 572 message, sender, sendResponse | 595 message, sender, sendResponse |
| 573 ).includes(true); | 596 ).includes(true); |
| 574 }); | 597 }); |
| 575 } | 598 } |
| OLD | NEW |