Commit 42ffe285 authored by Chris Harrelson's avatar Chris Harrelson Committed by Commit Bot

Fix selection painting crash.

Bug: 726980
Change-Id: I9b537749a96a617617fdddf98f71cafba4bf2833
Reviewed-on: https://chromium-review.googlesource.com/578462
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: default avatarWalter Korman <wkorman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488674}
parent 0b5a431b
<!-- Passes if it does not crash. -->
<textarea id="target">
Test text test text
</textarea>
<script>
if (window.testRunner)
window.testRunner.dumpAsText();
if (!window.eventSender) {
console.log('This test requires eventSender.');
} else {
var x = target.offsetLeft + (target.offsetWidth / 2);
var y = target.offsetTop + (target.offsetHeight / 2);
eventSender.mouseMoveTo(x, y);
eventSender.mouseDown();
x = target.offsetLeft + target.offsetWidth + 5;
eventSender.mouseMoveTo(x, y);
eventSender.mouseUp();
}
</script>
<style>
textarea {
display: contents;
}
</style>
......@@ -3049,8 +3049,10 @@ PassRefPtr<ComputedStyle> LayoutObject::GetUncachedSelectionStyle() const {
if (ShadowRoot* root = GetNode()->ContainingShadowRoot()) {
if (root->GetType() == ShadowRootType::kUserAgent) {
if (Element* shadow_host = GetNode()->OwnerShadowHost()) {
return shadow_host->GetLayoutObject()->GetUncachedPseudoStyle(
PseudoStyleRequest(kPseudoIdSelection));
if (LayoutObject* obj = shadow_host->GetLayoutObject()) {
return obj->GetUncachedPseudoStyle(
PseudoStyleRequest(kPseudoIdSelection));
}
}
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment