Summary: | WebKit fails to update style on element via DOM when value contains !important | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | James Cox <james> | ||||||||
Component: | DOM | Assignee: | Nobody <webkit-unassigned> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | darin, hyatt | ||||||||
Priority: | P2 | ||||||||||
Version: | 420+ | ||||||||||
Hardware: | Mac | ||||||||||
OS: | OS X 10.4 | ||||||||||
URL: | http://imajes.info/webkit-bug.html | ||||||||||
Attachments: |
|
Description
James Cox
2006-04-06 17:14:12 PDT
Created attachment 7548 [details]
reduced cast
Created attachment 8559 [details]
First attempt
This patch fixes the problem with !important parsing. I can make a testcase
if the code gets okayed.
Cheers,
Rob.
Created attachment 8577 [details]
Now with testcase
I added a simple, but hopefully correct testcase.
Cheers,
Rob.
Comment on attachment 8577 [details]
Now with testcase
The Obj-C bindings need fixing too. They all have the same bug (repeated over and over again).
- (void)setBackgroundRepeat:(NSString *)backgroundRepeat
{
[self setProperty:@"background-repeat" :backgroundRepeat :@""];
}
The empty string is passed for priority. You need to make an Obj-C method for your new setProperty call and then change all the callers to use that instead.
Comment on attachment 8577 [details]
Now with testcase
I changed my mind. These CSS bindings in Obj-C are horribly broken anyway, including properties we don't even support in the engine and leaving out ones that we do. I think this issue should just be punted until auto-generation can fix it for us.
(In reply to comment #5) > These CSS bindings in Obj-C are horribly broken anyway, > including properties we don't even support in the engine and leaving out ones > that we do. The list of methods to set CSS properties comes from the DOM specification verbatim. It was not intended to match the list of properties we support. On the other hand, maybe that should change. |