Bug 67657

Summary: [CSS3 Backgrounds and Borders] Implement border-image-width
Product: WebKit Reporter: Dave Hyatt <hyatt>
Component: CSSAssignee: Dave Hyatt <hyatt>
Status: RESOLVED FIXED    
Severity: Normal CC: bdakin, browserbugs2, dglazkov, eric, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=143191
Bug Depends on:    
Bug Blocks: 27583    
Attachments:
Description Flags
Patch
none
Patch bdakin: review+, webkit.review.bot: commit-queue-

Description Dave Hyatt 2011-09-06 11:05:35 PDT
This patch is covering the implementation of the border-image-width property.
Comment 1 Dave Hyatt 2011-09-06 11:20:40 PDT
Created attachment 106449 [details]
Patch
Comment 2 WebKit Review Bot 2011-09-06 11:23:41 PDT
Attachment 106449 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/fast..." exit_code: 1

Source/WebCore/rendering/RenderBoxModelObject.cpp:957:  An else if statement should be written as an if statement when the prior "if" concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Source/WebCore/css/CSSParser.h:169:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:172:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.cpp:5198:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.cpp:5259:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.cpp:5370:  Extra space after ( in if  [whitespace/parens] [5]
Source/WebCore/css/CSSParser.cpp:5477:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 7 in 32 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Dave Hyatt 2011-09-06 11:40:33 PDT
Created attachment 106454 [details]
Patch

Fix the relevant style errors. check-webkit-style is wrong about the RefPtr stuff.
Comment 4 WebKit Review Bot 2011-09-06 11:44:39 PDT
Attachment 106454 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/fast..." exit_code: 1

Source/WebCore/css/CSSParser.h:169:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:172:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.cpp:5198:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.cpp:5259:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.cpp:5477:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 5 in 32 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 5 Beth Dakin 2011-09-06 12:09:50 PDT
Comment on attachment 106454 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=106454&action=review

> Source/WebCore/css/CSSStyleSelector.cpp:5803
> +    // Set up a length box to represent our image slices.

There's a lot of repetition in this section. A helper function might make it a little neater. Something like:

box.m_top = helper(slices->top());
box.m_right = helper(slices->right());
…

But it's up to you.
Comment 6 WebKit Review Bot 2011-09-06 13:06:20 PDT
Comment on attachment 106454 [details]
Patch

Attachment 106454 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9599116

New failing tests:
fast/css/getComputedStyle/computed-style.html
fast/borders/border-image-longhand.html
fast/css/getComputedStyle/computed-style-without-renderer.html
svg/css/getComputedStyle-basic.xhtml
fast/borders/border-image-side-reduction.html
fast/backgrounds/size/parsing-background-size-values.html
fast/reflections/reflection-computed-style.html
fast/borders/border-image-scaled.html
inspector/elements/elements-panel-styles.html
scrollbars/overflow-scrollbar-combinations.html
Comment 7 Dave Hyatt 2011-09-06 13:32:28 PDT
Fixed in r94593.
Comment 8 Eric Seidel (no email) 2011-09-06 16:12:06 PDT
There are a whole bunch of tests which need rebaselining after this change:
http://build.webkit.org/TestFailures/#/SnowLeopard Intel Release (Tests)
Comment 9 Eric Seidel (no email) 2011-09-06 16:14:47 PDT
Also, there is something really wrong with rounded borders on tip of tree.  I'm not sure if that's related to this change or not.  Just viewing http://build.webkit.org/builders/Windows%207%20Release%20%28Tests%29/builds/16071 paints the backgrounds all strange and cut-off.  It may be related to thsi change.
Comment 10 Beth Dakin 2011-09-06 16:37:00 PDT
(In reply to comment #9)
> Also, there is something really wrong with rounded borders on tip of tree.  I'm not sure if that's related to this change or not.  Just viewing http://build.webkit.org/builders/Windows%207%20Release%20%28Tests%29/builds/16071 paints the backgrounds all strange and cut-off.  It may be related to thsi change.

Hey Eric, I'm not sure what you mean by this. I don't see any obvious rendering issues with the page you linked to…I checked a build from before Hyatt's change and a build from after, and I didn't notice any difference nor did I notice anything obviously wrong. Could you be more specific?
Comment 11 Eric Seidel (no email) 2011-09-07 11:41:26 PDT
I sent Beth and Hyatt an email with the screenshot.