Ticket #6585 (closed Bug: fixed)

Opened 4 years ago

Last modified 22 months ago

[Opera] Close inline style fails

Reported by: garry.yao Owned by: garry.yao
Priority: Normal Milestone:
Component: Core : Styles Version: 3.0
Keywords: Opera IBM Cc: satya, damo, tmonahan, jamescun

Description (last modified by j.swiderski) (diff)

  1. Start typing a few words within an empty page;
  2. Click to open 'Bold' style, continue to type some words;
  3. Click again on 'Bold' to close the style;
    • Actual Result: Selection is still inside the strong element.

Doesn't seems to be a regression.

To summarize, this TC is applicable for format buttons as well as inline styles from "Styles Dropdown", font names and font sizes - All inline styles.

Checkout comment 20 for more details

Attachments

6585.patch (760 bytes) - added by garry.yao 3 years ago.

Change History

comment:1 Changed 4 years ago by garry.yao

Confirmed in Opera 11 Alpha/10.6.

comment:2 Changed 4 years ago by robmueller

This isn't just an Opera problem. In Chrome (8 and 9) and Safari (5) changing the Bold/Italic/Underline style doesn't work at all unless you have some text selected. If it's just an insert cursor, nothing changes.

It all appears to work ok in Firefox and IE (8 and 9PP7).

comment:3 Changed 4 years ago by garry.yao

  • Description modified (diff)

Ok, only happens when text selection is at the end of the block, which degrade it's priority.

comment:4 Changed 3 years ago by hallvord@…

  • Status changed from new to confirmed

it seems to work OK again in Chrome, leaving Opera as the only browser with the problem..

comment:5 Changed 3 years ago by hallvord@…

  • Priority changed from Normal to High

comment:6 Changed 3 years ago by garry.yao

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

Update: The impact of the bug is actually much wider than observed, as the following selection situations are also affected:

<p><strong>bold^</strong></p> // Ticket TC
<p><strong>^bold</strong></p>
<p><a href="#">link with <strong>bold^</strong></a> text</p>
<p><a href="#">link with <strong>^bold^</strong></a> text</p>

Changed 3 years ago by garry.yao

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

Since you're working on this at the moment, do you know what Opera does differently from, say, Chrome? If you could explain what the difference is, we could prioritise a fix on our side and you would not need to add further Opera sniffing to your code base!

(PS: sorry to have messed with your priorities and other state yesterday, just wanted to boost priority to get to this shortly myself.)

comment:8 Changed 3 years ago by hallvord@…

(BTW, does this patch change behaviour regarding #6874 ?)

comment:9 Changed 3 years ago by satya

  • Cc satya_minnekanti@… added

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

Replying to hallvord@…:

Since you're working on this at the moment, do you know what Opera does differently from, say, Chrome? If you could explain what the difference is, we could prioritise a fix on our side and you would not need to add further Opera sniffing to your code base!

(PS: sorry to have messed with your priorities and other state yesterday, just wanted to boost priority to get to this shortly myself.)

I would love to see that, Hallvord. Here you have the issue at your side:
https://bugs.opera.com/browse/CORE-38253

To workaround the problem, the patch proposed by Garry is appending and empty text node to the selection point (which I believe will be the fix at your side as well).

comment:11 Changed 3 years ago by hallvord@…

Thanks for the bug report. I'm right now testing an internal build with cursor-related changes, and the original problem seems to work OK in that build (without Garry's workaround)!

To be clear, how I'm testing is for example

  • create a new document
  • type 'hello ' (no quotes)
  • press ctrl-b
  • type 'world' (no quotes)
  • press ctrl-b
  • type ', this is me'

In the internal build, only the word 'world' will be bold. Since the new test case still fails, we probably have more than one issue..

comment:12 Changed 3 years ago by fredck

  • Status changed from review to assigned

I'm holding on this one at our side at this point, waiting for some conclusion at Opera's side.

comment:13 Changed 3 years ago by fredck

  • Keywords IBM added
  • Cc satya, damo, tmonahan, jamescun added; satya_minnekanti@… removed

#7802 has been marked as DUP.

comment:14 Changed 3 years ago by hallvord@…

testing with ctrl-b works fine, but for some reason the cursor goes to the start of the document when using the B button on the toolbar to toggle bold off. I'm not sure why ctrl-b and the button would behave differently, but I guess you need to restore the cursor position after clicks in the toolbar and this breaks something?

I don't think we'll get this fixed from our side in the near future, so if Garry's patch solves this please apply it.

comment:15 Changed 3 years ago by j.swiderski

This issue was duplicated in #8143.

@mike1 has proposed little different TC: Clear editor, turn on one of bold/italic/underline/strikethrough, type some text, press the same button again to turn off formatting.

Result - you can't turn off formatting (from CKE 3.0) and the cursor goes to the beginning of the text (from CKE 3.4).

Last edited 2 years ago by j.swiderski (previous) (diff)

comment:16 Changed 3 years ago by hallvord@…

Did you add a workaround? The real editor works better in some of our internal builds now, though the test still fails.

comment:17 Changed 3 years ago by fredck

I don't think we have any workaround for it.

My current tests with Opera 11.52 (Build 1100) are even worst. On step 3, the caret moves to the start of the paragraph.

comment:18 Changed 2 years ago by j.swiderski

  • Version changed from 3.4.1 to 3.0

#8515 was marked as duplicate.

Last edited 2 years ago by j.swiderski (previous) (diff)

comment:19 Changed 2 years ago by j.swiderski

  • Description modified (diff)

comment:20 Changed 2 years ago by j.swiderski

#9135 was marked as duplicate.

comment:21 Changed 2 years ago by j.swiderski

Summary

In ENTER_BR

  1. If in ENTER_BR you select style type and then deselect it there is no effect (from CKE 3.0) and cursor jumps to the beginning (from CKE 3.4)
  2. The same thing happens when you apply inline style to selection and you are in ENTER_BR - cursor jumps to the beginning.
  3. When you clear editor contents and you are in ENTER_BR, select inline style and start typing and press enter, cursor will jump to the beginning of line/document (from CKE 3.0).

In any enter mode

  1. Select bold/italic /underline, type some text and try to deselect these styles. From CKEditor 3.0 to CKEditor 3.4 you are not able to deselect last style you have chosen. From CKEditor 3.4.1 you are not able to deselect last style left. This is applicable for all inline styles including font-sizes, font-names, inline styles and format buttons.

comment:22 Changed 2 years ago by hallvord@…

Just a status report from our side: we've completed a big rewrite of the selection/range code in Opera. While intermittently testing the work-in-progress I saw improvements, but unfortunately it seems this is still a problem in the rewritten code as currently shipping.

The good news is that there has been considerable action on the bug you submitted about this issue over the last few days. We believe we have a fix, it just needs to be verified regression-free when tested against our existing test suites. There are some failures which QA is investigating right now - maybe some of the old tests need adjusting, or maybe the code still needs some tuning. I'll comment here again when I know roughly when the fix will be shipping.

comment:23 Changed 22 months ago by j.swiderski

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

I have checked TCs mentioned here for latest Opera 12.12 and editor 3.6.5 and I must say they all pass :).

The only thing I have noticed is:

in ENTER_BR you select style type press enter, cursor will jump to the beginning of line/document

The good news is that this is only visual bug. If you type despite cursor being at the top of document, both letters and cursor will show up in right place.

I think that this bug can be now closed.

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