Comments

droplet’s picture

Issue tags: +Needs backport to D7

same patch to D8 & 7

droplet’s picture

save_ie.patch queued for re-testing.

droplet’s picture

Issue tags: +Quick fix
aspilicious’s picture

Status: Needs review » Reviewed & tested by the community

Ok good to go.

dries’s picture

I'm not sure I understand what is going on in this patch. Why did we make the test more strict? Could someone briefly explain this extra test in 1 or 2 sentences?

In the code comments, shouldn't 'remove' be 'subtract'? I guess either works.

webchick’s picture

Status: Reviewed & tested by the community » Needs work
droplet’s picture

Status: Needs work » Needs review

Why did we make the test more strict?

Because we don't need those changes on IE9.

shouldn't 'remove' be 'subtract' ????

droplet’s picture

Status: Needs review » Reviewed & tested by the community

comment is show the change is not required for IE9. back to RTBC

jacine’s picture

Status: Reviewed & tested by the community » Needs work

2 maintainers are basically telling you the comment needs work, so please attempt to make the comment read more clearly. The problem is that it's very vague. If we don't need this for IE9, writing "IE8 and below" would be better and it's not clear how much height is being added, and whether or not this is a known bug or something.

BTW, you are not supposed to mark your own patch RTBC, especially after Dries and webchick say it needs work and you haven't changed anything.

droplet’s picture

Status: Needs work » Needs review
StatusFileSize
new1.09 KB

notice to reviewer/committer:

in IE9 and other browsers supporting box-shadow, they always return 'none none' (default value) to undefined styles.
But in IE8 and below or other browsers do not support box-shadow, they will return undefined.
IE 9 supports both box-shadow and shadow filter, when it is undefined, it will use shadow filter instead.

dig1’s picture

Pre Patch:
I installed the latest D8 dev today and observed that IE9 32bit and 64bit both scrunched a bit under the toolbar when scrolling the module list. Firefox and Chrome did not scrunch under the toolbar.

Post Patch:
I installed toolbar_0.patch and it worked. The scrunching disappeared and IE9 behaved the same when scrolling the module list as Firefox and Chrome.

Nice improvement.

ryan.ryan’s picture

Okay, so as for a non-IE test of the patch goes, it didn't mess with the toolbar. :) Checked in Firefox, Safari, and Chrome.

Before
Before

After
After

xjm’s picture

Thanks @ryanissamson and @Dig1. So we've covered IE 9 and non-IE; we should stil test IE 6-8. a_thakur started to test IE 8 but wasn't able to reproduce the bug.

nod_’s picture

Status: Needs review » Reviewed & tested by the community

That's normal :) It's an IE9 only fix, with IE8 the original (non buggy) behavior is present.

As long as it works on IE9 and doesn't break any other browser, it's fixed. Thanks for testing :)

xjm’s picture

Status: Reviewed & tested by the community » Needs work

Well, the patch still needs a little cleanup. ;) The comment should be shortened to be a little more clear, I think, and should wrap at 80 characters. Minor thing though.

Zgear and I are double-checking IE6, 7, and 8 now.

xjm’s picture

So, wow, toolbar has a few interesting bugs in IE6. That said, this patch doesn't make them any worse. IE7 is also fine.

xjm’s picture

Status: Needs work » Needs review
StatusFileSize
new1.09 KB

Same JS, with comments that are hopefully a little more clear.

dig1’s picture

Further testing:

- Comments added in #17 toolbar-1199774-17.patch are a better description of the fix. I can now understand the cause of the original problem and the proposed fix.

- When toolbar-1199774-17.patch is applied to Drupal core 8.x-dev (2012-Feb-23) then cache cleared and cron run...

1) It works when overlay is uninstalled.
2) It does NOT work when overlay is installed.

So the overlay, which is what most people will see and use, does not seem to recognise the patch at the moment.

Any ideas?

nod_’s picture

Component: toolbar.module » javascript
StatusFileSize
new2.49 KB

@Dig1, just checked, yes that's a overlay bug. Now it's in my backyard :D

One might ague that it'll need to be refactored in a function and I'd agree but overloading drupal.js with that might not be the best thing ever.

Anyway, can you try this out please?

Zgear’s picture

tested in IE 7 and the toolbar was pretty bugged either way, also tested in IE 8 and toolbar was fine. Tested in Safari and chrome to make sure and both showed no difference.

Zgear’s picture

@xjm you sure it was IE 6 that was bugged? I used IE 7 and it was pretty bugged, although I don't have IE 6 so I wouldn't know. On another note I thought drupal 8 wasn't going to support IE 6 anymore, could I be wrong about that as well?

webchick’s picture

Yep, IE6 and IE7 aren't supported in D8, but they still are in D7 unfortunately.

Zgear’s picture

So I didn't actually need to test for IE 7? cool :)

xjm’s picture

@Zgear -- Well, we do need to test both IE6 and IE7 for the backport, so we might as well do so now to make sure the same patch will work for backport. (Also, that allows the D7 maintainer to commit the patch to D7 and D8 if appropriate.) :)

To clarify, the issues in IE6/7 had to do with bugs like form elements showing through the toolbar, etc., and are unrelated to the patch.

Edit: @nod, is the new patch supposed to resolve the bug Dig1 describes?

nod_’s picture

yes

xjm’s picture

Issue tags: +Needs manual testing

Cool, let's quickly retest it then. Test that #19:

  • Resolves the issue in IE 9 without the overlay.
  • Resolves the issue in IE 9 with the overlay.
  • Does not cause any regressions with or without overlay in IE6-8, webkit, FF.

Would be cool if Zgear, ryanissamson, or Dig1 want to test it since they already know what to look for. (Otherwise, we'll get it in COH in the coming week.) Thanks!

Also, I'm a JS idiot so forgive if this is a dumb question--but what's with all the added vars?

ryan.ryan’s picture

StatusFileSize
new25.68 KB
new24.54 KB
new21.93 KB
new20.63 KB

Okay, tested #19 and found issues in neither Webkit nor FF. :) And sorry about the different sized screenshots - my true newbness shining through.

Webkit

Before

Before_0

After

After

FF

Before

Before_0

After

After

nod_’s picture

@xjm: Drupal.toolbar.height is actually very performance sensitive because it's called by tableheader on each page scroll (and possibly several times on each scroll too).

CSS is also an expensive thing to get because it's DOM related and anything DOM, styles especially are expensive to get/set.
Caching $toolbar is just common sense on top of being more efficient.
The boxShadow boolean is to keep the if readable.

and now that I read it again, .match is not a good idea to use here.

dig1’s picture

Okay here are the results after separately reinstalling the latest D8 dev and testing both:
core-js-toolbar-overlay-boxshadow-1199774-19.patch
core-js-toolbar-overlay-boxshadow-1199774-28.patch

IE9 toolbar height before Patch
- Problem when overlay installed.
- Problem when overlay not installed.

Apply Patch
I got two lines responding in the terminal:
patching file core/modules/overlay/overlay-parent.js
patching file core/modules/toolbar/toolbar.js

IE9 toolbar height after Patch
- Problem when overlay installed.
- NO problem when overlay not installed.

So it would seem that neither patch has managed to resolve the IE9 toolbar height problem when the overlay is installed...

Here's hoping :)

nod_’s picture

Have you cleared you browser caches? Since overlay is in an iframe it's not enough to just clear the landing page cache.

Thanks for testing this :)

dig1’s picture

oops...I cleared the server caches but I did not clear the browser caches...let me do it again

dig1’s picture

After clearing browser cache and reinstalling the latest D8 dev the good news is:

IE9 toolbar height after applying #30 Patch core-js-toolbar-overlay-boxshadow-1199774-28.patch
- NO Problem when overlay installed.
- NO problem when overlay not installed.

Great job.

nod_’s picture

Awesome, thanks for testing that one more time :)

droplet’s picture

coding looks GOOD. Reviewed. needs one to do tests :)

test() is better: #1459164: use test() to match string for BOOL comparison

nod_’s picture

Status: Needs review » Reviewed & tested by the community

back to RTBC, #4 rtbc it, code and comments got moved around a bit without changing the way it works. Dig1 did the testing on IE9 in #34, no regressions on other browsers.

catch’s picture

Version: 8.x-dev » 7.x-dev
Status: Reviewed & tested by the community » Patch (to be ported)

OK. Committed/pushed to 8.x, moving to 7.x for backport.

nod_’s picture

Status: Patch (to be ported) » Needs review
StatusFileSize
new2.49 KB
xjm’s picture

Status: Needs review » Reviewed & tested by the community
xjm’s picture

Issue tags: -Needs manual testing
webchick’s picture

Status: Reviewed & tested by the community » Fixed

Committed and pushed to 7.x! Thanks, folks! :) And thanks, Ryan, for the manual testing!

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

effulgentsia’s picture

It's awesome that this got fixed for D7. However, based on discussions in #1465948: [meta] Drop some IE8 coddling from Drupal core and #1507960: [meta] Isolate and/or remove IE-specific hacks in core markup, CSS and JavaScript, I think it's a mistake to continue this kind of stuff in D8. Therefore, #1651270: Remove IE8-specific workaround for lack of CSS3 box-shadow support .

effulgentsia’s picture

Issue summary: View changes

Updated issue summary.