Changeset 64071 in webkit
- Timestamp:
- Jul 26, 2010 1:53:02 PM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r64070 r64071 1 2010-07-26 Mark Rowe <mrowe@apple.com> 2 3 Reviewed by Dan Bernstein. 4 5 <http://webkit.org/b/42990> REGRESSION (r63854): Safari RSS layout is broken due to changes in vendor prefix handling 6 7 In r63854 support for properties with the -khtml vendor prefix was removed. This breaks the layout of 8 Safari's RSS interface, several Dashboard widgets that are included with Mac OS X, and at least one 9 popular third-party Mac OS X application. This change will need to be revisited in a manner that has 10 a clearer backwards-compatibility strategy. <http://webkit.org/b/42093> will be reopened to track that. 11 12 * css/CSSParser.cpp: 13 (WebCore::cssPropertyID): Revert the WebCore change from r63854. 14 1 15 2010-07-26 Brady Eidson <beidson@apple.com> 2 16 -
trunk/WebCore/css/CSSParser.cpp
r63854 r64071 5611 5611 const char* name = buffer; 5612 5612 if (buffer[0] == '-') { 5613 if (!strcmp(buffer, "-apple-dashboard-region") || !strcmp(buffer, "-apple-line-clamp")) {5614 // Support two Apple-specific CSS properties previously used for5615 // the Dashboard and Safari RSS line clamping.5613 // If the prefix is -apple- or -khtml-, change it to -webkit-. 5614 // This makes the string one character longer. 5615 if (hasPrefix(buffer, length, "-apple-") || hasPrefix(buffer, length, "-khtml-")) { 5616 5616 memmove(buffer + 7, buffer + 6, length + 1 - 6); 5617 5617 memcpy(buffer, "-webkit", 7); 5618 5618 ++length; 5619 } else if (!strcmp(buffer, "-webkit-opacity")) { 5620 // Honor -webkit-opacity as a synonym for opacity. This was the only 5621 // syntax that worked in Safari 1.1, and may be in use on some websites and widgets. 5622 const char* const opacity = "opacity"; 5623 name = opacity; 5624 length = 7; 5625 } else if (hasPrefix(buffer, length, "-webkit-border-")) { 5626 // -webkit-border-*-*-radius worked in Safari 4 and earlier. -webkit-border-radius syntax 5627 // differs from border-radius, so it remains as a distinct property. 5628 if (!strcmp(buffer + 15, "top-left-radius") 5629 || !strcmp(buffer + 15, "top-right-radius") 5630 || !strcmp(buffer + 15, "bottom-right-radius") 5631 || !strcmp(buffer + 15, "bottom-left-radius")) { 5632 name = buffer + 8; 5633 length -= 8; 5619 } 5620 5621 if (hasPrefix(buffer, length, "-webkit")) { 5622 if (strcmp(buffer, "-webkit-opacity") == 0) { 5623 // Honor -webkit-opacity as a synonym for opacity. 5624 // This was the only syntax that worked in Safari 1.1, and may be in use on some websites and widgets. 5625 const char* const opacity = "opacity"; 5626 name = opacity; 5627 length = strlen(opacity); 5628 } else if (hasPrefix(buffer + 7, length - 7, "-border-")) { 5629 // -webkit-border-*-*-radius worked in Safari 4 and earlier. -webkit-border-radius syntax 5630 // differs from border-radius, so it is remains as a distinct property. 5631 if (!strcmp(buffer + 15, "top-left-radius") 5632 || !strcmp(buffer + 15, "top-right-radius") 5633 || !strcmp(buffer + 15, "bottom-right-radius") 5634 || !strcmp(buffer + 15, "bottom-left-radius")) { 5635 name = buffer + 8; 5636 length -= 8; 5637 } 5634 5638 } 5635 5639 }
Note: See TracChangeset
for help on using the changeset viewer.