| 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-2015 Eyeo GmbH | 3 * Copyright (C) 2006-2015 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 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 544 { | 544 { |
| 545 newLocation = newChannel.URI; | 545 newLocation = newChannel.URI; |
| 546 } catch(e2) {} | 546 } catch(e2) {} |
| 547 if (!newLocation) | 547 if (!newLocation) |
| 548 return; | 548 return; |
| 549 | 549 |
| 550 let wnd = Utils.getRequestWindow(newChannel); | 550 let wnd = Utils.getRequestWindow(newChannel); |
| 551 if (!wnd) | 551 if (!wnd) |
| 552 return; | 552 return; |
| 553 | 553 |
| 554 if (contentType == Policy.type.SUBDOCUMENT && wnd.parent == wnd.top && wnd
.opener) | |
| 555 { | |
| 556 // This is a window opened in a new tab miscategorized as frame load, | |
| 557 // see bug 467514. Get the frame as context to be at least consistent. | |
| 558 wnd = wnd.opener; | |
| 559 } | |
| 560 | |
| 561 if (contentType == Policy.type.POPUP && wnd.opener) | 554 if (contentType == Policy.type.POPUP && wnd.opener) |
| 562 { | 555 { |
| 563 // Popups are initiated by their opener, not their own window. | 556 // Popups are initiated by their opener, not their own window. |
| 564 wnd = wnd.opener; | 557 wnd = wnd.opener; |
| 565 } | 558 } |
| 566 | 559 |
| 567 if (!Policy.processNode(wnd, wnd.document, contentType, newLocation, false
)) | 560 if (!Policy.processNode(wnd, wnd.document, contentType, newLocation, false
)) |
| 568 result = Cr.NS_BINDING_ABORTED; | 561 result = Cr.NS_BINDING_ABORTED; |
| 569 } | 562 } |
| 570 catch (e) | 563 catch (e) |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 776 if (!wnd || wnd.closed) | 769 if (!wnd || wnd.closed) |
| 777 return; | 770 return; |
| 778 | 771 |
| 779 if (entry.type == Policy.type.OBJECT) | 772 if (entry.type == Policy.type.OBJECT) |
| 780 { | 773 { |
| 781 node.removeEventListener("mouseover", objectMouseEventHander, true); | 774 node.removeEventListener("mouseover", objectMouseEventHander, true); |
| 782 node.removeEventListener("mouseout", objectMouseEventHander, true); | 775 node.removeEventListener("mouseout", objectMouseEventHander, true); |
| 783 } | 776 } |
| 784 Policy.processNode(wnd, node, entry.type, Utils.makeURI(entry.location), true)
; | 777 Policy.processNode(wnd, node, entry.type, Utils.makeURI(entry.location), true)
; |
| 785 } | 778 } |
| OLD | NEW |