WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
3742
Eyes don't render properly in acid2 test With Plugins disabled.
https://bugs.webkit.org/show_bug.cgi?id=3742
Summary
Eyes don't render properly in acid2 test With Plugins disabled.
Marcus Pallinger
Reported
2005-06-27 18:02:39 PDT
The eyes in the acid2 test don't appear. Instead, a 50% red band appears, and the black bar on the right of the eyes is red.
Attachments
Possible solution
(1.65 KB, text/plain)
2005-06-28 06:59 PDT
,
Niels Leenheer (HTML5test)
no flags
Details
Properly use images and fallback content
(4.10 KB, patch)
2005-09-21 14:41 PDT
,
Niels Leenheer (HTML5test)
mjs
: review-
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Joost de Valk (AlthA)
Comment 1
2005-06-27 23:24:54 PDT
Tested in fresh ToT, worksforme. The Tiger version of Safari will probably not pass the acid 2 test yet, the built from tree version however does. Thx for the bugreport tho.
Marcus Pallinger
Comment 2
2005-06-27 23:45:11 PDT
I had just updated the tree before I filed the bug. I just updated the tree again, and it now works...
Marcus Pallinger
Comment 3
2005-06-27 23:52:53 PDT
Actually, this works properly with plug-ins enabled, but it doesn't work if the plug-ins are disabled.
Joost de Valk (AlthA)
Comment 4
2005-06-28 03:00:36 PDT
I don't have any plugins installed and it works perfectly... Can somebody else confirm this bug?
Chad Ingram
Comment 5
2005-06-28 05:29:49 PDT
I don't have canconfirm, but I just checked using ToT, and result was exactly as described. Safari menu -> Preferences... Security tab, uncheck "Enable plug-ins", (I restarted Safari @ this point, might not be needed), load the acid2 test.
Joost de Valk (AlthA)
Comment 6
2005-06-28 05:33:12 PDT
Confirmed.
Niels Leenheer (HTML5test)
Comment 7
2005-06-28 06:39:01 PDT
I tracked this problem down to an inability of Webcore to display fallback content for object elements, when plugins are disabled. This is obviously problematic, because the fallback content is intented for such situations. html_objectimpl.cpp: 621: bool HTMLObjectElementImpl::rendererIsNeeded(RenderStyle *style) 622: { 623: if (m_useFallbackContent || isImageType()) 624: return HTMLElementImpl::rendererIsNeeded(style); 625: 626: KHTMLPart* part = getDocument()->part(); 627: if (!part || !part->pluginsEnabled()) { 628: return false; 629: } m_useFallbackContent is initially false and isImageType() will return false for regular plugin content. This means that line 627 is reached which result in false being returned if plugins are disabled. If rendererIsNeeded() returns false, createRenderer() will not be called and the RenderObject for the fallback content will not be created. The solution is return always true for rendererIsNeeded() and check which type of renderer we need to create in the createRenderer() function.
Niels Leenheer (HTML5test)
Comment 8
2005-06-28 06:59:46 PDT
Created
attachment 2687
[details]
Possible solution This attachment contains a possible solution to the problem. The function listed here should be modified in html_objectimpl.cpp. Sorry, I currently do not have the time to do a proper patch.
Niels Leenheer (HTML5test)
Comment 9
2005-09-21 14:41:55 PDT
Created
attachment 3992
[details]
Properly use images and fallback content If plugins are disabled by the user, the object element should still be able to display images, because images are not handled by plugins. The same applies to fallback content, if plugins are disabled and fallback content is provided, the fallback content should be displayed instead of the plugin. (Additionally this patch also makes sure fallback content is shown when the object element does not contain a type or url, for example: <object>Hello</object>. This example should simply print 'Hello'.)
Darin Adler
Comment 10
2005-09-23 08:53:24 PDT
Comment on
attachment 3992
[details]
Properly use images and fallback content Patch has at least one tab in it. We indent using spaces, not tabs. Does this do the right thing when display is "none"? I don't think it does because rendererIsNeeded is supposed to return false in that case. Yet here was are returning true just so that we can eventually get to the fallback content code path. I think part of the fix should be to move the plug-ins enabled check completely out of rendererIsNeeded and instead do that check inside updateWidget. I'd like Dave to review this.
Maciej Stachowiak
Comment 11
2005-10-14 00:10:42 PDT
I'm going to r- based on darin's comments, even though this may need additional review. At the very least we need a test case for the display: none case.
David Kilzer (:ddkilzer)
Comment 12
2006-12-13 14:14:55 PST
Reassigning bug to webkit-unassigned for more visibility.
mitz
Comment 13
2007-09-20 10:40:50 PDT
Looks like it is fixed in TOT.
David Kilzer (:ddkilzer)
Comment 14
2007-11-02 23:47:23 PDT
This appears to be fixed. Tested with a local debug build of WebKit
r27388
with Safari 3 Public Beta v. 3.0.3 (522.12.1) on Mac OS X 10.4.10 (8R218) with plug-ins disabled. Note that reloading the page after viewing the test for the first time still has issues. See
Bug 13693
.
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