WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
52008
[chromium] fix for animated gif layout tests
https://bugs.webkit.org/show_bug.cgi?id=52008
Summary
[chromium] fix for animated gif layout tests
Tony Chang
Reported
2011-01-06 12:33:09 PST
[chromium] fix for animated gif layout tests
Attachments
Patch
(7.71 KB, patch)
2011-01-06 12:34 PST
,
Tony Chang
no flags
Details
Formatted Diff
Diff
Patch
(10.67 KB, patch)
2011-03-01 15:06 PST
,
Tony Chang
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Tony Chang
Comment 1
2011-01-06 12:34:32 PST
Created
attachment 78150
[details]
Patch
Tony Chang
Comment 2
2011-01-06 12:34:58 PST
This is a fix for
http://code.google.com/p/chromium/issues/detail?id=62433
Peter Kasting
Comment 3
2011-01-06 12:39:20 PST
Are we killing test_shell entirely? If not, it might be nice to fix it as well, even if layout tests won't be affected.
Tony Chang
Comment 4
2011-01-06 12:52:02 PST
(In reply to
comment #3
)
> Are we killing test_shell entirely? If not, it might be nice to fix it as well, even if layout tests won't be affected.
I don't think we plan on killing test_shell, just removing the layout test specific code there. Sure, I can look into porting this to test_shell as well, although I thought a paint would be triggered automatically when the window is displayed on the screen (i.e., as long as the window isn't behind another window).
Mihai Parparita
Comment 5
2011-01-07 13:23:11 PST
Comment on
attachment 78150
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=78150&action=review
> Tools/DumpRenderTree/chromium/WebViewHost.cpp:1447 > + postDelayedTask(new WebViewHostPaintTask(this), 0);
Instead of needing a new class, can this use webkit_support::PostDelayedTask(painInvalidatedRegion, static_cast<void*>(this), 0); (the way closeWidgetSoon works?)
Tony Chang
Comment 6
2011-01-07 14:26:37 PST
(In reply to
comment #5
)
> (From update of
attachment 78150
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=78150&action=review
> > > Tools/DumpRenderTree/chromium/WebViewHost.cpp:1447 > > + postDelayedTask(new WebViewHostPaintTask(this), 0); > > Instead of needing a new class, can this use webkit_support::PostDelayedTask(painInvalidatedRegion, static_cast<void*>(this), 0); (the way closeWidgetSoon works?)
I tried that, but it crashes on some tests. The task is queued up and the WebViewHost is deleted before the task is run. TaskList handles this by canceling the task if WebViewHost goes away. http/tests/appcache/crash-when-navigating-away-then-back.html is an example of a test that triggers this crash.
Mihai Parparita
Comment 7
2011-01-07 15:11:31 PST
Comment on
attachment 78150
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=78150&action=review
>>> Tools/DumpRenderTree/chromium/WebViewHost.cpp:1447
>> >> Instead of needing a new class, can this use webkit_support::PostDelayedTask(painInvalidatedRegion, static_cast<void*>(this), 0); (the way closeWidgetSoon works?) > > I tried that, but it crashes on some tests. The task is queued up and the WebViewHost is deleted before the task is run. TaskList handles this by canceling the task if WebViewHost goes away. > > http/tests/appcache/crash-when-navigating-away-then-back.html is an example of a test that triggers this crash.
Would it make sense to retrofit webkit_support::PostDelayedTask to also use a TaskList so that it's more resilient (beyond the scope of this patch though)?
Tony Chang
Comment 8
2011-01-10 11:32:05 PST
Committed
r75398
: <
http://trac.webkit.org/changeset/75398
>
Tony Chang
Comment 9
2011-01-10 14:34:22 PST
(In reply to
comment #8
)
> Committed
r75398
: <
http://trac.webkit.org/changeset/75398
>
I reverted this in
r75433
because of crashes on chromium win. I don't have a win box handy (waiting for a new machine) to test, so this will have to wait.
Tony Chang
Comment 10
2011-03-01 15:06:10 PST
Created
attachment 84304
[details]
Patch
Tony Chang
Comment 11
2011-03-01 15:07:15 PST
Here's a new patch that no longer crashes on Windows. However, it turns out that the extra paint calls revealed
bug 55514
, so I'm going to punt on this for now.
Kent Tamura
Comment 12
2011-03-01 15:32:37 PST
Comment on
attachment 84304
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=84304&action=review
> Tools/DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp:233 > default: > - ASSERT_NOT_REACHED(); > + ctype = WebThemeControlDRTWin::CheckedRadioType; > + cstate = WebThemeControlDRTWin::IndeterminateState; > break;
What value does 'state' have in this case? Setting IndeterminateState looks wrong because radio buttons shouldn't be indeterminate state.
Tony Chang
Comment 13
2011-03-01 16:00:27 PST
(In reply to
comment #12
)
> (From update of
attachment 84304
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=84304&action=review
> > > Tools/DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp:233 > > default: > > - ASSERT_NOT_REACHED(); > > + ctype = WebThemeControlDRTWin::CheckedRadioType; > > + cstate = WebThemeControlDRTWin::IndeterminateState; > > break; > > What value does 'state' have in this case? Setting IndeterminateState looks wrong because radio buttons shouldn't be indeterminate state.
RenderThemeChromiumWin::determineState returned 9 for some tests. I'm not sure why the radio button had an indeterminate state.
Kent Tamura
Comment 14
2011-03-01 16:11:10 PST
Comment on
attachment 84304
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=84304&action=review
>>> Tools/DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp:233 >>> break; >> >> What value does 'state' have in this case? Setting IndeterminateState looks wrong because radio buttons shouldn't be indeterminate state. > > RenderThemeChromiumWin::determineState returned 9 for some tests. I'm not sure why the radio button had an indeterminate state.
Ah, I understand. RenderThemeChromiumWin adds 8 to the state value even if it's a radio button. We should add 8 only if appearance==CheckoxPart in RenderThemeChromiumWin::determineState().
Stephen Chenney
Comment 15
2013-04-11 13:09:57 PDT
Test related bugs being marked WontFix. TestExpectations will contain bug if still relevant.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug