New issue
Advanced search Search tips

Issue 591877 link

Starred by 3 users

Issue metadata

Status: Available
Merged: issue 372245
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

TextIterator should not be created for documents that have no frame

Project Member Reported by dglazkov@chromium.org, Mar 4 2016

Issue description

Ideally, we should never get to creating a TextIterator on a document that has no frame, since that really doesn't make sense. However, this still happens in some cases. For example, the spellchecking machinery could still call into the frame that was just removed.

We should fix this and change the current assert:

ASSERT(!start.document()->view() || !start.document()->view()->needsLayout());

to 

ASSERT(start.document()->view() && !start.document()->view()->needsLayout());
 

Comment 1 by yosin@chromium.org, Mar 4 2016

Please leave assertion as it.
We should fix caller not to use TextIterator for no frame cases.
Right. I won't change the assertion, not until after the callers are all fixed :)

Comment 3 by meade@chromium.org, Aug 7 2016

 Issue 628504  has been merged into this issue.
Project Member

Comment 4 by ClusterFuzz, Aug 27 2016

Labels: ClusterFuzz-Verified
Status: Verified (was: Available)
ClusterFuzz testcase is verified as fixed, closing issue.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
Status: Available (was: Verified)
Project Member

Comment 6 by ClusterFuzz, Sep 9 2016

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=6614517910077440

Fuzzer: mbarbella_js_mutation_layout
Job Type: linux_debug_content_shell_drt
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  !start.document()->needsLayoutTreeUpdate() in TextIterator.cpp
  blink::TextIteratorAlgorithm<>::TextIteratorAlgorithm
  blink::createPlainText<>
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_debug_content_shell_drt&range=389343:389363

Minimized Testcase (0.26 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv96zlTDGnM67W6btTMb7CCAQyg2aqFOoCZ93guHgCe6YSatd6KWdemwz50MqtWcfcp7rj76bR_Fgx0MPMaSn9owzJWOSuIb1FHIMgHeBOAcsNuFyDc07IJLUICGQ9WZKQYzuwazHLv2OFPsOQ-d3zuIuHoJXQw?testcase_id=6614517910077440
<div contenteditable="true" id="paste">
  <script>

paste.focus();

  </script>
    <video autoplay=""<source src="../../../media/white.webm" type="video/webm">
     <track>
  <script>
document.getElementsByTagName('track')[0].track.mode = 'showing';
  </script>


See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
Mergedinto: 372245
Status: Duplicate (was: Available)
Status: Assigned (was: Duplicate)
Project Member

Comment 9 by ClusterFuzz, Oct 4 2016

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=5138441551740928

Fuzzer: mbarbella_js_mutation_layout
Job Type: linux_debug_content_shell_drt
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  !start.document()->needsLayoutTreeUpdate() in TextIterator.cpp
  blink::TextIteratorAlgorithm<>::TextIteratorAlgorithm
  blink::createPlainText<>
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_debug_content_shell_drt&range=389343:389363

Minimized Testcase (0.26 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv95Zu4jKmmro2I9eMu6yU5_sC3_bKOwaDDE_HWCPXV6UBWWAYMXC8tMzaQRy8E_ykXa2IuNzR7OF9UfVKFC98A9G3zM8l-KgaZGHlQ15OqqzQ0PXg8be7Fxn8PCjYfnhKDWz6tULg_STqwhn5DvhHUgWe4CCfg?testcase_id=5138441551740928
<div contenteditable="" id="test">
  <script>
window.getSelection().collapse(test);
</script>
    <video autoplay=""<source src="../../media/white.webm" type="video/webm">
     <track>
  <script>
document.getElementsByTagName('track')[0].track.mode = 'showing';
</script>


See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
Owner: ----
Status: Available (was: Assigned)

Comment 11 by yosin@chromium.org, Feb 15 2017

Labels: -ClusterFuzz-Verified
Project Member

Comment 12 by sheriffbot@chromium.org, Apr 16 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 13 by yosin@chromium.org, Apr 18 2018

Status: Available (was: Untriaged)

Sign in to add a comment