Ticket #7882 (closed Bug: fixed)

Opened 3 years ago

Last modified 3 years ago

Opera : We can't open more than one sub menu

Reported by: fredck Owned by: garry.yao
Priority: Normal Milestone:
Component: UI : Context Menu Version: 3.4.2
Keywords: Opera, IBM Cc: hallvord@…, satya, damo, jamescun, tmonahan

Description

With Opera:

  1. Open CKEditor and insert a table.
  1. Open the context menu and keep your mouse over Cell option and see that Cell Sub menu opens.
  1. Now keep your mouse over Row option.

Expected Result: Row sub menu opens.

Actual Result: Row sub menu does not open and context menu closes & focus goes back to table in editor body.

Attachments

7882.patch (687 bytes) - added by garry.yao 3 years ago.
7882_2.patch (2.3 KB) - added by garry.yao 3 years ago.

Change History

comment:1 Changed 3 years ago by fredck

This one is new to Opera 11. It used to work with Opera 10.50.

comment:2 Changed 3 years ago by fredck

  • Status changed from new to confirmed

comment:3 Changed 3 years ago by fredck

  • Keywords Opera, IBM added; Opera removed
  • Cc damo, jamescun, tmonahan added

comment:4 Changed 3 years ago by hallvord@…

just tried it with 11.10 and the table in the little red riding hood text on ckeditor.com/demo and it seemed to work fine there. I will try the SVN trunk version shortly, but can anybody reproduce the failure on the normal demo page?

comment:5 Changed 3 years ago by hallvord@…

Just tested this with 11.10 and the freshly updated SVN trunk, still works for me..?

comment:6 Changed 3 years ago by hallvord@…

Those who can reproduce this problem: any errors in the error console?

comment:7 Changed 3 years ago by fredck

I can constantly reproduce the problem with both the trunk and the online demo.

I'm testing it with "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11". No errors or warnings on console.

comment:8 Changed 3 years ago by wwalc

Same problem on my side, the "Cells" submenu opens, but the context menu disappears when moving the mouse down, over the "Rows" item (I've checked it on the "Little Red Riding Hood" page).

Version 11.11
Build 2109
Platform Win32
System Windows 7
Browser identification Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11

One more observation: when opening the context menu for the second time, it disappears straight after moving the mouse over the "Cells" item.

comment:9 Changed 3 years ago by hallvord@…

11.11 seems to fire unexpected blur events - looking at this now..

comment:10 follow-up: ↓ 14 Changed 3 years ago by hallvord@…

Looking at floatpanel/plugin.js

First, a small optimisation: this part of the if clause inside the onblur code:

if ( CKEDITOR.env.ie && !this.allowBlur() ||

is superfluous because the function starts with a !this.allowBlur() check.

The real problem is that Opera is firing a number of unexpected blur events on the document inside the IFRAME where the menu is. I'm still not sure why this happens, I need to get a better overview of what exactly the editor does when (re)creating the menu to try to figure out which part of it makes Opera fire those blur event we did not previously fire..

Changed 3 years ago by garry.yao

comment:11 Changed 3 years ago by garry.yao

  • Status changed from confirmed to review
  • Owner set to garry.yao

comment:12 Changed 3 years ago by hallvord@…

Garry, if you do that it's not possible to close right-click- and sub-menus.. Right?

Any idea what exactly triggers the problem..?

comment:13 Changed 3 years ago by garry.yao

  • Status changed from review to assigned

My fault, the patch doesn't really address the issue.

comment:14 in reply to: ↑ 10 Changed 3 years ago by fredck

Replying to hallvord@…:

Looking at floatpanel/plugin.js

First, a small optimisation: this part of the if clause inside the onblur code:

if ( CKEDITOR.env.ie && !this.allowBlur() ||

is superfluous because the function starts with a !this.allowBlur() check.

Correct. Fixed with [7037].

comment:15 Changed 3 years ago by hallvord@…

With some developer help, I've identified the reason for this regression: it is triggered by the overflow:hidden style for the

.cke_skin_kama .cke_panel

selector in panels.css

Is it possible to remove overflow:hidden without running into issues with other browsers?

comment:16 Changed 3 years ago by hallvord@…

(This regression only affects 11.11 by the way, 11.50 will work fine again).

I guess you could also detect Opera and set style.overflow='visible' on the IFRAME's parent element.

comment:17 Changed 3 years ago by hallvord@…

(If you go the browser sniffing route - a bit complex to detect this problem in advance - I suggest setting style.overflow only in Opera 11.11 - it might help debugging future issues if we limit unexpectedness as much as possible.)

I've reported this internally as DSK-339087 and will add a test or two to make sure we don't bring back this regression in the future.

Changed 3 years ago by garry.yao

comment:18 Changed 3 years ago by garry.yao

  • Status changed from assigned to review

The proposed patch is enough to eliminate this bug, it also simplifies some messy code a bit, I've also tried with hallvord's proposal(removing the overflow style) - unbelievable but it works also.

comment:19 follow-up: ↓ 20 Changed 3 years ago by garry.yao

  • Status changed from review to closed
  • Resolution set to fixed

10.5 has got the massive focus event bug fixed, so the patch is not needed anymore, thanks for all participants on it.

comment:20 in reply to: ↑ 19 Changed 3 years ago by satya

Replying to garry.yao:

10.5 has got the massive focus event bug fixed, so the patch is not needed anymore, thanks for all participants on it.

@garry.yao I could still reproduce this bug on latest Opera 11.11. Could you please explain me why you closed this ticket?

comment:21 follow-ups: ↓ 22 ↓ 27 Changed 3 years ago by hallvord@…

He probably meant that 11.50 has got the bug fix that makes menus work again :)

comment:22 in reply to: ↑ 21 Changed 3 years ago by satya

Replying to hallvord@…:

He probably meant that 11.50 has got the bug fix that makes menus work again :)

@hallvord then he should not close the ticket unless we verify that it is fixed in 11.50. Could you please re open the ticket

comment:23 Changed 3 years ago by hallvord@…

  • Status changed from closed to reopened
  • Resolution fixed deleted

Sure, I can reopen if you wish.

I intend to ship a site patch here - a modification to Opera's "compatibility hacks" (browser.js) that will be downloaded by all Opera 11.1x instances automatically and applied anytime Opera sees the script file name 'ckeditor.js'. This means that within a couple of weeks (vacation time will delay the next browser.js release unless something unexpected happens) the menus should start working in 11.11 as well. I think this is nicer than complicating CKEditor's code for a legacy bug (although in this case the code changes might actually be a simplification ;) Haven't studied the proposed patch in detail. )

comment:24 Changed 3 years ago by hallvord@…

I have reported PATCH-461 "ship a script-specific patch for DSK-339087 (unexpected blur events breaks CKEditor menus in 11.11 (CK #7882))" to track sitepatching. The patch's launch will be announced on http://my.opera.com/sitepatching/blog/ .

comment:25 Changed 3 years ago by hallvord@…

  • Status changed from reopened to confirmed

comment:26 Changed 3 years ago by satya

Fixed in Opera 11.50. please close this ticket.

comment:27 in reply to: ↑ 21 Changed 3 years ago by garry.yao

  • Status changed from confirmed to closed
  • Resolution set to fixed

Replying to hallvord@…:

He probably meant that 11.50 has got the bug fix that makes menus work again :)

My typo, I did mean 11.5.

Note: See TracTickets for help on using tickets.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy