Skip to content

Commit

Permalink
Revert "Fix retargeting of result in elementFromPoint and elementsFro…
Browse files Browse the repository at this point in the history
…mPoint"

This reverts commit dd944882a245a5117b50cb417138d92f32d931d6.

Reason for revert: 
This causes WebKit Linux Trusty ASAN buildbot failure.
https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Trusty%20ASAN/builds/8618

23:46:29.565 3877   ==1==ERROR: AddressSanitizer: use-after-poison on address 0x7ead60c0dbf0 at pc 0x00000dca937a bp 0x7ffd86b90c10 sp 0x7ffd86b90c08
23:46:29.565 3877   READ of size 8 at 0x7ead60c0dbf0 thread T0 (content_shell)
23:46:29.565 3877       #0 0xdca9379 in operator==<const blink::TreeScope, const blink::TreeScope> third_party/WebKit/Source/platform/heap/Member.h:128:27
23:46:29.565 3877       #1 0xdca9379 in blink::TreeScope::Retarget(blink::Element const&) const third_party/WebKit/Source/core/dom/TreeScope.cpp:393:0
23:46:29.565 3877       #2 0xdca8894 in blink::TreeScope::HitTestPointInternal(blink::Node*) const third_party/WebKit/Source/core/dom/TreeScope.cpp:267:10
23:46:29.565 3877       #3 0xdca8325 in HitTestPoint third_party/WebKit/Source/core/dom/TreeScope.cpp:254:10
23:46:29.566 3877       #4 0xdca8325 in blink::TreeScope::ElementFromPoint(double, double) const third_party/WebKit/Source/core/dom/TreeScope.cpp:245:0
23:46:29.566 3877       #5 0xc9353a7 in elementFromPoint third_party/WebKit/Source/core/dom/DocumentOrShadowRoot.h:38:23



Original change's description:
> Fix retargeting of result in elementFromPoint and elementsFromPoint
> 
> Currently elementFromPoint and elementsFromPoint are not per spec, and it may
> return null incorrectly. This change adds retargeting of the result with
> respect to the context object, and adds some tests that are similar to
> elementFromPoint tests in WebKit, but with some corrected cases:
> https://git.webkit.org/?p=WebKit-https.git;a=blob;f=LayoutTests/fast/shadow-dom/DocumentOrShadowRoot-prototype-elementFromPoint.html;h=a8dc4da2430713521b9ba77c742db10397a8e638;hb=HEAD
> 
> Spec:
> https://w3c.github.io/webcomponents/spec/shadow/#extensions-to-the-documentorshadowroot-mixin
> 
> Bug: 759947
> Change-Id: I6aece5e9cc826124772c6ce13c806865055b2b9b
> Reviewed-on: https://chromium-review.googlesource.com/808446
> Commit-Queue: Rakina Zata Amni <[email protected]>
> Reviewed-by: Dmitry Gozman <[email protected]>
> Reviewed-by: Hayato Ito <[email protected]>
> Reviewed-by: Takayoshi Kochi <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#531139}

[email protected],[email protected],[email protected],[email protected],[email protected]

Change-Id: Id62abd371d93627d3178b63ca189cecfe9ff44d4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 759947
Reviewed-on: https://chromium-review.googlesource.com/880264
Reviewed-by: Takashi Sakamoto <[email protected]>
Commit-Queue: Takashi Sakamoto <[email protected]>
Cr-Commit-Position: refs/heads/master@{#531178}
  • Loading branch information
tasak authored and Commit Bot committed Jan 23, 2018
1 parent 455651f commit 047b74b
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 20 deletions.
19 changes: 0 additions & 19 deletions front_end/devtools_compatibility.js
Original file line number Diff line number Diff line change
Expand Up @@ -1211,25 +1211,6 @@
if (window.location.search.indexOf('remoteFrontend') === -1)
return;

// Support for legacy (<M65) frontends.
/** @type {(!function(number, number):Element|undefined)} */
ShadowRoot.prototype.__originalShadowRootElementFromPoint;

if (!ShadowRoot.prototype.__originalShadowRootElementFromPoint) {
ShadowRoot.prototype.__originalShadowRootElementFromPoint = ShadowRoot.prototype.elementFromPoint;
/**
* @param {number} x
* @param {number} y
* @return {Element}
*/
ShadowRoot.prototype.elementFromPoint = function(x, y) {
var originalResult = ShadowRoot.prototype.__originalShadowRootElementFromPoint.apply(this, arguments);
if (this.host && originalResult === this.host)
return null;
return originalResult;
};
}

// Support for legacy (<M53) frontends.
if (!window.KeyboardEvent.prototype.hasOwnProperty('keyIdentifier')) {
Object.defineProperty(window.KeyboardEvent.prototype, 'keyIdentifier', {
Expand Down
2 changes: 1 addition & 1 deletion front_end/dom_extension/DOMExtension.js
Original file line number Diff line number Diff line change
Expand Up @@ -755,7 +755,7 @@ Document.prototype.deepElementFromPoint = function(x, y) {
var node = null;
while (container) {
var innerNode = container.elementFromPoint(x, y);
if (!innerNode || node === innerNode)
if (!innerNode)
break;
node = innerNode;
container = node.shadowRoot;
Expand Down

0 comments on commit 047b74b

Please sign in to comment.