Chromium Code Reviews
DescriptionFixes problems with drawn state
There were two problems with how the drawn state was previously
communicated:
. the drawn state included the visibility of the window. This meant
that if a window was hidden it's drawn state was also false, so that
when the visibility was made true the client didn't know that it
should make the drawn state true as well.
. the drawn state was communicated for all windows, when really all that
matters is the drawn state of the root windows.
To fix this I changed the following:
. the drawn state is communicated via OnEmbed or OnTopLevelCreated().
. the drawn state is the drawn state of the windows parent, not the
window. This way it doesn't included the visibility of the
window. This fixes the problem I mentioned above so that when a
client changes the visibility it doesn't impact the drawn state.
. NewTopLevelWindow() sets drawn to true (which is generally what the
wm will do). This way focus requests won't silently fail in the client.
BUG=600868
TEST=covered by tests
R=ben@chromium.org
Committed: https://crrev.com/e61c75b5abf6e7234b26f10bb0d493bb32fea073
Cr-Commit-Position: refs/heads/master@{#385641}
Patch Set 1 #Patch Set 2 : drawn to parent_drawn #Patch Set 3 : better comments #
Total comments: 2
Patch Set 4 : parentdrawn and merge #Messages
Total messages: 9 (3 generated)
|