Bug 117405

Summary: [EFL]Background Style of element not visible because of default theme style
Product: WebKit Reporter: Santosh Mahto <santosh.ma>
Component: WebKit EFLAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, commit-queue, esprehn+autocc, glenn, gyuyoung.kim, gyuyoung.kim, kondapallykalyan, lucas.de.marchi, rakuco, ryuan.choi
Priority: P2    
Version: 525.x (Safari 3.2)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Test page for issue
none
Patch
none
Patch
none
select with background color(patched 205565)
none
Patch
none
Image :comparison of select element display after patch
none
Patch
none
Background display of select element
none
Incomplete_patch
none
Patch
none
Patch
none
Patch
none
Patch
none
patch for Landing none

Santosh Mahto
Reported 2013-06-10 05:01:17 PDT
Created attachment 204153 [details] Test page for issue The Background-style specified for form element (e.g <select>, <input type=search> whose style are choosen from theme are ignored. So even though user specifies css background color for element , the default theme always appear for element ignoring the backgound-color
Attachments
Test page for issue (381 bytes, text/html)
2013-06-10 05:01 PDT, Santosh Mahto
no flags
Patch (2.88 KB, patch)
2013-06-10 05:06 PDT, Santosh Mahto
no flags
Patch (2.31 KB, patch)
2013-06-26 23:26 PDT, Santosh Mahto
no flags
select with background color(patched 205565) (34.13 KB, image/png)
2013-06-27 00:53 PDT, Ryuan Choi
no flags
Patch (2.73 KB, patch)
2013-07-24 05:16 PDT, Santosh Mahto
no flags
Image :comparison of select element display after patch (18.26 KB, image/png)
2013-07-24 06:44 PDT, Santosh Mahto
no flags
Patch (9.52 KB, patch)
2013-08-29 01:03 PDT, Santosh Mahto
no flags
Background display of select element (148.32 KB, image/jpeg)
2013-08-29 01:57 PDT, Santosh Mahto
no flags
Incomplete_patch (248.84 KB, patch)
2013-08-30 04:58 PDT, Santosh Mahto
no flags
Patch (33.24 KB, patch)
2013-09-02 06:48 PDT, Santosh Mahto
no flags
Patch (51.56 KB, patch)
2013-09-03 06:45 PDT, Santosh Mahto
no flags
Patch (193.93 KB, patch)
2013-09-05 03:10 PDT, Santosh Mahto
no flags
Patch (194.52 KB, patch)
2013-09-12 10:34 PDT, Santosh Mahto
no flags
patch for Landing (194.54 KB, patch)
2013-09-12 22:57 PDT, Santosh Mahto
no flags
Santosh Mahto
Comment 1 2013-06-10 05:06:36 PDT
Chris Dumez
Comment 2 2013-06-10 05:52:07 PDT
Comment on attachment 204155 [details] Patch layout test?
Gyuyoung Kim
Comment 3 2013-06-10 18:53:48 PDT
Comment on attachment 204155 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=204155&action=review > Source/WebCore/ChangeLog:7 > + Missing patch description. > Source/WebCore/platform/efl/RenderThemeEfl.cpp:-29 > - Do not touch unrelated this patch. > Source/WebCore/platform/efl/RenderThemeEfl.cpp:892 > + bool success = paintMenuList(object, info, rect); Could you explain why paintMenuList() should be called first ? > Source/WebCore/platform/efl/RenderThemeEfl.cpp:898 > + IntPoint pnt1(maxX - 1 - 15, centerYOfRect - 3); This logic looks like work-around-ish.
Santosh Mahto
Comment 4 2013-06-11 20:08:40 PDT
(In reply to comment #3) > (From update of attachment 204155 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=204155&action=review > > > Source/WebCore/ChangeLog:7 > > + > > Missing patch description. > > > Source/WebCore/platform/efl/RenderThemeEfl.cpp:-29 > > - > > Do not touch unrelated this patch. > > > Source/WebCore/platform/efl/RenderThemeEfl.cpp:892 > > + bool success = paintMenuList(object, info, rect); > > Could you explain why paintMenuList() should be called first ? currently paintMenuList() basically paint the theme style. since we have background style specified for theme rendered objects we paint on top of theme painting by css specfic background color. so its like. 1. render the element using theme 2. paint the background color of css if any (added code in this patch) But once background is painted over the arrow is lost in select menu list. So below workaround is to paint the arrow any suggestion?? > > Source/WebCore/platform/efl/RenderThemeEfl.cpp:898 > > + IntPoint pnt1(maxX - 1 - 15, centerYOfRect - 3); > > This logic looks like work-around-ish.
Gyuyoung Kim
Comment 5 2013-06-12 19:31:20 PDT
Comment on attachment 204155 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=204155&action=review >>> Source/WebCore/ChangeLog:7 >>> + >> >> Missing patch description. > > currently paintMenuList() basically paint the theme style. since we have background style specified for theme rendered objects we paint on top of theme painting by css specfic background color. so its like. > 1. render the element using theme > 2. paint the background color of css if any (added code in this patch) > > But once background is painted over the arrow is lost in select menu list. > So below workaround is to paint the arrow > > any suggestion?? Hmm, it looks mac port has similar logic. I think you need to use more general calculation logic instead of hardcoded value. And, you should check if there is problem on layout test when using this patch. BTW, it would be good if you show a case when css background isn't shown on menu list.
Santosh Mahto
Comment 6 2013-06-26 23:26:51 PDT
Ryuan Choi
Comment 7 2013-06-27 00:53:16 PDT
Created attachment 205572 [details] select with background color(patched 205565) I am not sure whether it is good enough
Santosh Mahto
Comment 8 2013-07-02 09:39:35 PDT
(In reply to comment #7) > Created an attachment (id=205572) [details] > select with background color(patched 205565) > > I am not sure whether it is good enough Hi Ryuan What's doubt you have in your mind ??
Santosh Mahto
Comment 9 2013-07-14 22:42:25 PDT
The current patch only changes look and feel adjustment (painting only ), none of css property are modified, current layout test case handle the background color test. So no extra layout test case is required.
Ryuan Choi
Comment 10 2013-07-15 01:05:54 PDT
(In reply to comment #8) > (In reply to comment #7) > > Created an attachment (id=205572) [details] [details] > > select with background color(patched 205565) > > > > I am not sure whether it is good enough > > Hi Ryuan > What's doubt you have in your mind ?? This approach is little bit hackish and results looks uglier than other browsers. Indeed, this intrdocude new limitation that combo.edc bt_combo_clipper part should be contained in widget. How about adding new description in edc for transparect combo? (In reply to comment #9) > The current patch only changes look and feel adjustment (painting only ), none of css property are modified, > current layout test case handle the background color test. > So no extra layout test case is required. Did you try pixel-tests? Although we can't enable pixel-tests yet, I want to follow it as possible as we can.
Gyuyoung Kim
Comment 11 2013-07-15 22:11:54 PDT
(In reply to comment #9) > The current patch only changes look and feel adjustment (painting only ), none of css property are modified, > current layout test case handle the background color test. > So no extra layout test case is required. You need to run whole layout test with this patch. This function may be influence on other layout test.
Santosh Mahto
Comment 12 2013-07-24 05:16:20 PDT
Santosh Mahto
Comment 13 2013-07-24 06:44:14 PDT
Created attachment 207391 [details] Image :comparison of select element display after patch
Gyuyoung Kim
Comment 14 2013-07-31 22:56:13 PDT
(In reply to comment #13) > Created an attachment (id=207391) [details] > Image :comparison of select element display after patch I think we need to draw a boundary line as other browsers.
Gyuyoung Kim
Comment 15 2013-07-31 22:59:17 PDT
Comment on attachment 207386 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=207386&action=review > Source/WebCore/ChangeLog:3 > + [EFL]Background Style of element not visible because of default theme style Nit: [EFL]Background => [EFL] Background ? , of default theme -> of default theme ? > Source/WebCore/ChangeLog:7 > + Missing patch description. > Source/WebCore/platform/efl/RenderThemeEfl.cpp:380 > + edje_object_signal_emit(entry->edje(), "bg_styled", ""); I think it would be better to add new function to emit new signal as media button behavior. Look at RenderThemeEfl::emitMediaButtonSignal().
Santosh Mahto
Comment 16 2013-08-24 09:38:29 PDT
(In reply to comment #14) > (In reply to comment #13) > > Created an attachment (id=207391) [details] [details] > > Image :comparison of select element display after patch > > I think we need to draw a boundary line as other browsers. Isn't it enough without boundary line??. it look fine to me with minimal code adjustment.any suggestion ??
Raphael Kubo da Costa (:rakuco)
Comment 17 2013-08-24 18:04:50 PDT
(In reply to comment #13) > Created an attachment (id=207391) [details] > Image :comparison of select element display after patch The "after" image looks like a regression, not an improvement, to me: not only does the background color still overflows the widget's boundaries, but most of the widget is simply not shown at all. What if you add some variants (or change the existing ones) of the combo_*.png images with a transparent background? This way if the form component sets a specific background color you can switch to some Edje states that use these transparent images and use the background color you want to fill them (and hopefully stop drawing a colored square behind the widget).
Santosh Mahto
Comment 18 2013-08-29 01:03:56 PDT
Santosh Mahto
Comment 19 2013-08-29 01:57:22 PDT
Created attachment 209959 [details] Background display of select element
Santosh Mahto
Comment 20 2013-08-29 01:59:09 PDT
209959 Display after applying id=209955
Ryuan Choi
Comment 21 2013-08-29 05:40:32 PDT
Comment on attachment 209955 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=209955&action=review Did you run layout test with pixel-tests? > Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc:35 > + image: "widget/combo/combo_press_button_styled.png" COMP; Why do you only add these for press state ? I think that we also need normal (at least). > Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc:144 > + image { Indentation looks wrong > Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc:331 > + } Like other signals, we can use show() to change state. > Source/WebCore/platform/efl/RenderThemeEfl.cpp:297 > +void RenderThemeEfl::applyEdjeStateFromForm(Evas_Object* object, ControlStates states, bool isStyled) ambiguous variable name to me. > Source/WebCore/platform/efl/RenderThemeEfl.cpp:320 > + } It looks not bad to me, but you should send new signal without touching current signals. > Source/WebCore/platform/efl/RenderThemeEfl.cpp:379 > + bool bgStyled = object && object->hasBackground() && object->style()->visitedDependentColor(CSSPropertyBackgroundColor) != Color::white; I am not sure, but I didn't see this coding style in WebKit.
Raphael Kubo da Costa (:rakuco)
Comment 22 2013-08-29 05:48:33 PDT
(In reply to comment #19) > Created an attachment (id=209959) [details] > Background display of select element That looks better and is indeed an improvement, but isn't there a way to get rid of the colored rectangle behind the widget?
Santosh Mahto
Comment 23 2013-08-29 07:40:26 PDT
Comment on attachment 209955 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=209955&action=review >> Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc:35 >> + image: "widget/combo/combo_press_button_styled.png" COMP; > > Why do you only add these for press state ? > > I think that we also need normal (at least). sorry, combo_styled.png would have better name here. Actually there are 4 state(hover/focus/press/default) and 4 image change. When background color is specified I am going for only 1 state as there is not much display difference. To manipulate the state in background color also I need to double the behaviour in the combo.edc again for 4 new states images. so after your comment i have 3 choice in case of styled combo: 1.No state. 2.Only default(normal). 3. All 4 state If 2nd option is ok I would like go ahead. >> Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc:331 >> + } > > Like other signals, we can use show() to change state. So again How many state change is enough (0 or 1 or all 4) >> Source/WebCore/platform/efl/RenderThemeEfl.cpp:379 >> + bool bgStyled = object && object->hasBackground() && object->style()->visitedDependentColor(CSSPropertyBackgroundColor) != Color::white; > > I am not sure, but I didn't see this coding style in WebKit. Hmm, will check for something better. probably can use RenderTheme::isControlStyled.
Santosh Mahto
Comment 24 2013-08-29 07:55:04 PDT
(In reply to comment #22) > (In reply to comment #19) > > Created an attachment (id=209959) [details] [details] > > Background display of select element > > That looks better and is indeed an improvement, but isn't there a way to get rid of the colored rectangle behind the widget? I wanted to stick to original(without background styled display), in older case The size of combo widget is smaller than select rect. if we want to fill the complete rect with combo widget we should do for normal case(without bg) also. Incase of styled we can fit the rect but will be biasing with repsect to nonstyled case. So I am not sure about fitting widget to element rect. Will ask Ruyan about this
Ryuan Choi
Comment 25 2013-08-29 16:04:13 PDT
(In reply to comment #24) > (In reply to comment #22) > > (In reply to comment #19) > > > Created an attachment (id=209959) [details] [details] [details] > > > Background display of select element > > > > That looks better and is indeed an improvement, but isn't there a way to get rid of the colored rectangle behind the widget? > I wanted to stick to original(without background styled display), in older case > The size of combo widget is smaller than select rect. if we want to fill the complete rect with combo widget we should do for normal case(without bg) also. > Incase of styled we can fit the rect but will be biasing with repsect to nonstyled case. > > So I am not sure about fitting widget to element rect. > Will ask Ruyan about this It's because of current images which combo.edc use. image itself contains unnecessary empty space. FYI, We have plan to improve image and edc files including combo.
Ryuan Choi
Comment 26 2013-08-29 21:34:32 PDT
(In reply to comment #23) > (From update of attachment 209955 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=209955&action=review > > >> Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc:35 > >> + image: "widget/combo/combo_press_button_styled.png" COMP; > > > > Why do you only add these for press state ? > > > > I think that we also need normal (at least). > > sorry, combo_styled.png would have better name here. > > Actually there are 4 state(hover/focus/press/default) and 4 image change. > When background color is specified I am going for only 1 state as there is not much display difference. > To manipulate the state in background color also I need to double the behaviour in the combo.edc again > for 4 new states images. > so after your comment i have 3 choice in case of styled combo: > 1.No state. > 2.Only default(normal). > 3. All 4 state > If 2nd option is ok I would like go ahead. > maybe, 5 states for combo theme now. (you looks missing disabled). Our default combo theme draw them as three styles, now. (pressed,hover,focus are quite similar for default theme) I know that we need to improve them, but it's not related to your bug. So, you may need to add at least three descriptions and two images. > >> Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc:331 > >> + } > > > > Like other signals, we can use show() to change state. > > So again How many state change is enough (0 or 1 or all 4) When we got new signals, we should also consider other signals. So we'd better to centralize changes to show(). > > >> Source/WebCore/platform/efl/RenderThemeEfl.cpp:379 > >> + bool bgStyled = object && object->hasBackground() && object->style()->visitedDependentColor(CSSPropertyBackgroundColor) != Color::white; > > > > I am not sure, but I didn't see this coding style in WebKit. > > Hmm, will check for something better. probably can use RenderTheme::isControlStyled.
Santosh Mahto
Comment 27 2013-08-30 04:58:51 PDT
Created attachment 210087 [details] Incomplete_patch
WebKit Commit Bot
Comment 28 2013-08-30 05:03:25 PDT
Attachment 210087 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'ChangeLog', u'Source/WebCore/ChangeLog', u'Source/WebCore/platform/efl/DefaultTheme/widget/check.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo_focus_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo_focus_button_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo_hover_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo_hover_button_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo_normal_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo_normal_button_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo_press_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo_press_button_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo1/combo.edc', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo1/combo_focus.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo1/combo_focus_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo1/combo_hover.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo1/combo_hover_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo1/combo_normal.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo1/combo_normal_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo1/combo_press.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo1/combo_press_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo1/icon.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_2/combo.edc', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_2/combo_focus.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_2/combo_focus_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_2/combo_hover.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_2/combo_hover_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_2/combo_normal.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_2/combo_normal_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_2/combo_press.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_2/combo_press_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_2/icon.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/combo.edc', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/combo_focus.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/combo_focus1.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/combo_focus_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/combo_focus_button1.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/combo_hover.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/combo_hover_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/combo_normal.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/combo_normal2.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/combo_normal_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/combo_normal_button1.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/combo_press.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/combo_press_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_bkp/icon.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final/combo.edc', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final/combo_focus.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final/combo_focus_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final/combo_hover.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final/combo_hover_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final/combo_normal.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final/combo_normal_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final/combo_press.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final/combo_press_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final/icon.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final_done/combo.edc', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final_done/combo_focus_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final_done/combo_focus_button_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final_done/combo_hover_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final_done/combo_hover_button_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final_done/combo_normal_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final_done/combo_normal_button_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final_done/combo_press_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final_done/combo_press_button_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_final_done/icon.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo.edc', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_focus.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_focus_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_focus_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_focus_button_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_hover.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_hover_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_hover_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_hover_button_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_normal.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_normal_bg (copy).png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_normal_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_normal_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_normal_button_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_press.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_press_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_press_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/combo_press_button_bg.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_final/icon.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/bkp/combo.edc', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/bkp/combo_focus.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/bkp/combo_focus_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/bkp/combo_hover.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/bkp/combo_hover_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/bkp/combo_normal.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/bkp/combo_normal_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/bkp/combo_press.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/bkp/combo_press_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/bkp/icon.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/check.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/combo.edc', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/combo_button_styled.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/combo_focus.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/combo_focus_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/combo_hover.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/combo_hover_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/combo_normal.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/combo_normal_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/combo_press.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/combo_press_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/combo_styled.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/combo_styled_button.png', u'Source/WebCore/platform/efl/DefaultTheme/widget/combo_last_patch/icon.png', u'Source/WebCore/platform/efl/RenderThemeEfl.cpp', u'Source/WebCore/platform/efl/RenderThemeEfl.h', u'Source/cmake/OptionsEfl.cmake']" exit_code: 1 Source/WebCore/platform/efl/RenderThemeEfl.cpp:313: Missing space before { [whitespace/braces] [5] Source/WebCore/platform/efl/RenderThemeEfl.cpp:313: signals_bg is incorrectly named. Don't use underscores in your identifier names. [readability/naming/underscores] [4] Source/WebCore/platform/efl/RenderThemeEfl.cpp:317: Missing space before ( in if( [whitespace/parens] [5] Source/WebCore/platform/efl/RenderThemeEfl.cpp:319: Tab found; better to use spaces [whitespace/tab] [1] Source/WebCore/platform/efl/RenderThemeEfl.cpp:320: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] Source/WebCore/platform/efl/RenderThemeEfl.cpp:321: Tab found; better to use spaces [whitespace/tab] [1] Source/WebCore/platform/efl/RenderThemeEfl.cpp:322: Tab found; better to use spaces [whitespace/tab] [1] Total errors found: 7 in 15 files If any of these errors are false positives, please file a bug against check-webkit-style.
Santosh Mahto
Comment 29 2013-09-02 06:48:33 PDT
Ryuan Choi
Comment 30 2013-09-02 16:43:13 PDT
Comment on attachment 210282 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=210282&action=review > Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc:104 > + if(get_int(styled) == 1) { > + new state[30]; > + new Float:v; > + get_state(PART:"combo", state, 30, v); > + if(strcmp(state, "default")) { > + set_state(PART:"combo", "default_styled", 0.0); > + set_state(PART:"combo_button", "default_styled", 0.0); > + } > + if(strcmp(state, "disabled")) { > + set_state(PART:"combo", "disabled_styled", 0.0); > + set_state(PART:"combo_button", "disabled_styled", 0.0); > + } > + if(strcmp(state, "focused")) { > + set_state(PART:"combo", "focused_styled", 0.0); > + set_state(PART:"combo_button", "focused_styled", 0.0); > + } > + if(strcmp(state, "hovered")) { > + set_state(PART:"combo", "hovered_styled", 0.0); > + set_state(PART:"combo_button", "hovered_styled", 0.0); > + } > + if(strcmp(state, "pressed")) { > + set_state(PART:"combo", "pressed_styled", 0.0); > + set_state(PART:"combo_button", "pressed_styled", 0.0); > + } > + } What if focused with disabled? I think that some state may have priority. And I hope that we have more optimized statements including previous conditions. > Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc:159 > description { > + state: "disabled" 0.0; > + inherit: "default_styled" 0.0; s/disabled/disabled_styled ? > Source/WebCore/platform/efl/RenderThemeEfl.cpp:318 > + if (haveBackground) > + edje_object_signal_emit(object, "styled", ""); I think this should be out of loop. > Source/WebCore/rendering/RenderTheme.cpp:680 > + case MenulistButtonPart: > + return true; Do you really need this? This is not EFL specific. > LayoutTests/fast/forms/menulist_background_color_test.html:4 > +<!DOCTYPE html> > +<html> > +<body> > + <select style="background-color:green"> I think that we don't need new test case. fast/forms/menulist-style-color.html is enough.
Raphael Kubo da Costa (:rakuco)
Comment 31 2013-09-03 04:40:03 PDT
(In reply to comment #25) > (In reply to comment #24) > > (In reply to comment #22) > > > (In reply to comment #19) > > > > Created an attachment (id=209959) [details] [details] [details] [details] > > > > Background display of select element > > > > > > That looks better and is indeed an improvement, but isn't there a way to get rid of the colored rectangle behind the widget? > > I wanted to stick to original(without background styled display), in older case > > The size of combo widget is smaller than select rect. if we want to fill the complete rect with combo widget we should do for normal case(without bg) also. > > Incase of styled we can fit the rect but will be biasing with repsect to nonstyled case. > > > > So I am not sure about fitting widget to element rect. > > Will ask Ruyan about this > > It's because of current images which combo.edc use. image itself contains unnecessary empty space. > > FYI, We have plan to improve image and edc files including combo. Isn't it possible to fix this issue here, or merge this patch with the rest of the improvements you guys are planning on making?
Santosh Mahto
Comment 32 2013-09-03 06:45:35 PDT
Santosh Mahto
Comment 33 2013-09-03 08:41:30 PDT
> > Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc:104 > > + if(get_int(styled) == 1) { > > + new state[30]; > > + new Float:v; > > + get_state(PART:"combo", state, 30, v); > > + if(strcmp(state, "default")) { > > + set_state(PART:"combo", "default_styled", 0.0); > > + set_state(PART:"combo_button", "default_styled", 0.0); > > + } > > + if(strcmp(state, "disabled")) { > > + set_state(PART:"combo", "disabled_styled", 0.0); > > + set_state(PART:"combo_button", "disabled_styled", 0.0); > > + } > > + if(strcmp(state, "focused")) { > > + set_state(PART:"combo", "focused_styled", 0.0); > > + set_state(PART:"combo_button", "focused_styled", 0.0); > > + } > > + if(strcmp(state, "hovered")) { > > + set_state(PART:"combo", "hovered_styled", 0.0); > > + set_state(PART:"combo_button", "hovered_styled", 0.0); > > + } > > + if(strcmp(state, "pressed")) { > > + set_state(PART:"combo", "pressed_styled", 0.0); > > + set_state(PART:"combo_button", "pressed_styled", 0.0); > > + } > > + } > > What if focused with disabled? In disabled case there is only one case: disabled, no disabled + focus/press/hover in original implementation also. > I think that some state may have priority. Current patch behavior is no different than original except transparent image. original implementation has no priority kind of states. > And I hope that we have more optimized statements including previous conditions. I did some changes, but cant think of any other optimization until we change complete function show() and I didn't wished to touch original menu list behavior. Suggestion are welcomed. > > Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc:159 > > description { > > + state: "disabled" 0.0; > > + inherit: "default_styled" 0.0; > > s/disabled/disabled_styled ? my mistake .. corrected. > > Source/WebCore/platform/efl/RenderThemeEfl.cpp:318 > > + if (haveBackground) > > + edje_object_signal_emit(object, "styled", ""); > > I think this should be out of loop. right.. > > Source/WebCore/rendering/RenderTheme.cpp:680 > > + case MenulistButtonPart: > > + return true; > > Do you really need this? > > This is not EFL specific. I removed in new patch,Thanks for pointing. > > LayoutTests/fast/forms/menulist_background_color_test.html:4 > > +<!DOCTYPE html> > > +<html> > > +<body> > > + <select style="background-color:green"> > > I think that we don't need new test case. > fast/forms/menulist-style-color.html is enough. ok Killed it..
Santosh Mahto
Comment 34 2013-09-03 08:59:52 PDT
(In reply to comment #31) > (In reply to comment #25) > > (In reply to comment #24) > > > (In reply to comment #22) > > > > (In reply to comment #19) > > > > > Created an attachment (id=209959) [details] [details] [details] [details] [details] > > > > > Background display of select element > > > > > > > > That looks better and is indeed an improvement, but isn't there a way to get rid of the colored rectangle behind the widget? > > > I wanted to stick to original(without background styled display), in older case > > > The size of combo widget is smaller than select rect. if we want to fill the complete rect with combo widget we should do for normal case(without bg) also. > > > Incase of styled we can fit the rect but will be biasing with repsect to nonstyled case. > > > > > > So I am not sure about fitting widget to element rect. > > > Will ask Ruyan about this > > > > It's because of current images which combo.edc use. image itself contains unnecessary empty space. > > > > FYI, We have plan to improve image and edc files including combo. > > Isn't it possible to fix this issue here, or merge this patch with the rest of the improvements you guys are planning on making? It looks better and safe to make separate bugs for "updating Images" and another enhancement because: It will be easy to work/optimize on small patches and would ensure we don't break current one. updating images itself will require update of all Layout test expectation. So it will become big patch. Bug Title also will become ambiguous. I will try to land other enhancement on control element asap.
Ryuan Choi
Comment 35 2013-09-04 18:11:06 PDT
(In reply to comment #33) > > > Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc:104 > > > + if(get_int(styled) == 1) { > > > + new state[30]; > > > + new Float:v; > > > + get_state(PART:"combo", state, 30, v); > > > + if(strcmp(state, "default")) { > > > + set_state(PART:"combo", "default_styled", 0.0); > > > + set_state(PART:"combo_button", "default_styled", 0.0); > > > + } > > > + if(strcmp(state, "disabled")) { > > > + set_state(PART:"combo", "disabled_styled", 0.0); > > > + set_state(PART:"combo_button", "disabled_styled", 0.0); > > > + } > > > + if(strcmp(state, "focused")) { > > > + set_state(PART:"combo", "focused_styled", 0.0); > > > + set_state(PART:"combo_button", "focused_styled", 0.0); > > > + } > > > + if(strcmp(state, "hovered")) { > > > + set_state(PART:"combo", "hovered_styled", 0.0); > > > + set_state(PART:"combo_button", "hovered_styled", 0.0); > > > + } > > > + if(strcmp(state, "pressed")) { > > > + set_state(PART:"combo", "pressed_styled", 0.0); > > > + set_state(PART:"combo_button", "pressed_styled", 0.0); > > > + } > > > + } > > > > What if focused with disabled? > In disabled case there is only one case: disabled, no disabled + focus/press/hover in original implementation also. > > I think that some state may have priority. > Current patch behavior is no different than original except transparent image. > original implementation has no priority kind of states. > OK, I misread it. Because you compare applied state, priority is meaningless. View in context: https://bugs.webkit.org/attachment.cgi?id=210368&action=review > Source/WebCore/platform/efl/DefaultTheme/widget/combo/combo.edc:41 > + image: "widget/combo/combo_normal_transparent.png" COMP; > + image: "widget/combo/combo_normal_button_transparent.png" COMP; > + image: "widget/combo/combo_hover_transparent.png" COMP; > + image: "widget/combo/combo_hover_button_transparent.png" COMP; > + image: "widget/combo/combo_focus_transparent.png" COMP; > + image: "widget/combo/combo_focus_button_transparent.png" COMP; > + image: "widget/combo/combo_press_transparent.png" COMP; > + image: "widget/combo/combo_press_button_transparent.png" COMP; You also have to add these files into dependency list in Source/WebCore/platform/efl/DefaultTheme/CMakeLists.txt And did you also check other layout test cases? Others looks fine to me.
Ryuan Choi
Comment 36 2013-09-04 18:36:21 PDT
(In reply to comment #34) > (In reply to comment #31) > > (In reply to comment #25) > > > (In reply to comment #24) > > > > (In reply to comment #22) > > > > > (In reply to comment #19) > > > > > > Created an attachment (id=209959) [details] [details] [details] [details] [details] [details] > > > > > > Background display of select element > > > > > > > > > > That looks better and is indeed an improvement, but isn't there a way to get rid of the colored rectangle behind the widget? > > > > I wanted to stick to original(without background styled display), in older case > > > > The size of combo widget is smaller than select rect. if we want to fill the complete rect with combo widget we should do for normal case(without bg) also. > > > > Incase of styled we can fit the rect but will be biasing with repsect to nonstyled case. > > > > > > > > So I am not sure about fitting widget to element rect. > > > > Will ask Ruyan about this > > > > > > It's because of current images which combo.edc use. image itself contains unnecessary empty space. > > > > > > FYI, We have plan to improve image and edc files including combo. > > > > Isn't it possible to fix this issue here, or merge this patch with the rest of the improvements you guys are planning on making? > It looks better and safe to make separate bugs for "updating Images" and another enhancement because: > It will be easy to work/optimize on small patches and would ensure we don't break current one. > updating images itself will require update of all Layout test expectation. So it will become big patch. > Bug Title also will become ambiguous. > I will try to land other enhancement on control element asap. This bug is little bit different so I'd like to have new bug for it. And it will take more time to replace image.
Santosh Mahto
Comment 37 2013-09-05 03:10:29 PDT
Santosh Mahto
Comment 38 2013-09-05 03:24:58 PDT
> > + image: "widget/combo/combo_focus_button_transparent.png" COMP; > > + image: "widget/combo/combo_press_transparent.png" COMP; > > + image: "widget/combo/combo_press_button_transparent.png" COMP; > > You also have to add these files into dependency list in Source/WebCore/platform/efl/DefaultTheme/CMakeLists.txt Added.. > And did you also check other layout test cases? I checked Layout/fast/forms/ related layout test cases and updated the expected image in latest patch. > Others looks fine to me. :)
Gyuyoung Kim
Comment 39 2013-09-11 20:50:05 PDT
Comment on attachment 210595 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=210595&action=review > Source/WebCore/ChangeLog:7 > + Missing patch description. > LayoutTests/ChangeLog:7 > + Missing patch description.
Santosh Mahto
Comment 40 2013-09-12 10:34:30 PDT
Gyuyoung Kim
Comment 41 2013-09-12 22:05:42 PDT
Comment on attachment 211441 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=211441&action=review LGTM, please fix my trivial comment before landing. > LayoutTests/ChangeLog:9 > + background image visible over combo box. Add a new line.
Santosh Mahto
Comment 42 2013-09-12 22:57:10 PDT
Created attachment 211512 [details] patch for Landing
WebKit Commit Bot
Comment 43 2013-09-12 23:41:39 PDT
Comment on attachment 211512 [details] patch for Landing Clearing flags on attachment: 211512 Committed r155674: <http://trac.webkit.org/changeset/155674>
WebKit Commit Bot
Comment 44 2013-09-12 23:41:45 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.