No subject


Tue Jan 27 15:54:36 PST 2015


I've tried to find the reason for this difference. Render tree during removing '.somespace' div from screen lacks one anonymous RenderBox, which is present during layouting the div back to screen (as RenderButton parent). Processing this RenderBox in RenderBox.cpp:2233 (computeRectForRepaint(...) - "topLeft.move(locationOffset);") adds mentioned offset.

This anonymous RenderBox is removed from the render tree in RenderBlock.cpp:752 (removeChild(...) - "collapseAnonymousBoxChild(*this, downcast<RenderBlock>(child));") earlier in repainting, during processing '.somespace' div's rendertree node. There is a test, which decides whether it is safe to collapseAnonymousBoxChild, but it evaluates to true.

If I skip the call to collapseAnonymousBoxChild in a debugger, the button is cleared correctly.


'NEW' button is cleared correctly on Firefox and Chromium.

Tested on WebKit MiniBrowserEFL @r189566 on Linux.

-- 
You are receiving this mail because:
You are the assignee for the bug.
--1441889346.aDfbe30.5446
Date: Thu, 10 Sep 2015 05:49:06 -0700
MIME-Version: 1.0
Content-Type: text/html

<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - 'relative' positioned child element not repainted completely if parent's style.display is set to 'none'"
   href="https://bugs.webkit.org/show_bug.cgi?id=149035">149035</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>'relative' positioned child element not repainted completely if parent's style.display is set to 'none'
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>WebKit Local Build
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P2
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Layout and Rendering
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>g.ludwikowsk&#64;samsung.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=260919" name="attach_260919" title="Minimal testcase for reproduction.">attachment 260919</a> <a href="attachment.cgi?id=260919&amp;action=edit" title="Minimal testcase for reproduction.">[details]</a></span>
Minimal testcase for reproduction.

Reproduction: see minimal_testcase_webkit.html, click 'NEW' button. It sets 'NEW' button parent div's 'style.display' to none, but some part of the 'NEW' button isn't repainted/cleared. If 'BACK' button is pressed, the 'NEW' button is correctly repainted/shown back to screen.



More information about the webkit-unassigned mailing list