Bug 141523

Summary: TinyMCE Editor doesn't work even when identifying as IE/Firefox/Safari
Product: [Applications] konqueror Reporter: Constantin Berzan <cberzan>
Component: khtmlAssignee: Konqueror Developers <konq-bugs>
Status: RESOLVED UNMAINTAINED    
Severity: normal CC: anderslund, arvidjaar, finex, fleet, kde-bugs, maksim, rolandwolters, zayed.alsaidi
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Constantin Berzan 2007-02-11 11:38:12 UTC
Version:            (using KDE KDE 3.5.6)
Installed from:    Ubuntu Packages
OS:                Linux

TinyMCE (http://tinymce.moxiecode.com/index.php) is a JavaScript-based WYSIWYG editor which is used on wordpress.com and other sites. The compatibility chart (http://wiki.moxiecode.com/index.php/TinyMCE:Compatiblity) says it works with IE, Firefox and Safari.
When used within Konqueror, it doesn't appear to work at all (all I see is HTML code). Changing the User Agent to any of the above mentioned browsers doesn't make it work, either.
There are example editors which you can test at http://tinymce.moxiecode.com/example.php (Load it in Firefox to see how it's supposed to look like)

The TinyMCE developers aren't willing to fix this (http://sourceforge.net/tracker/index.php?func=detail&aid=1652067&group_id=103281&atid=635682), because Konqueror has such a small userbase in their opinion. But if Konqueror and Safari both use variants of KHTML to render pages, why doesn't the editor work when identifying as Safari?
I really wish it wouldn't be necessary to use Firefox for posting on Wordpress.
Comment 1 Jose R. Padilla 2007-08-06 14:25:55 UTC
The same with KDE 3.5.7 (k)ubuntu packages. Tiny MCE doesn't work with konqueror. I'm web developer and I use Tiny MCE for my web interfaces but it's a limitation that this piece of software only works on top of IE/Firefox/Safari. I think the problem could be the JavaScript support or something like this. Tiny MCE is popular software so it would be very important that finally it works here, in konqueror.
Comment 2 Juanjo Benages 2007-09-28 17:36:22 UTC
*** This bug has been confirmed by popular vote. ***
Comment 3 Francesco D'Offizi 2007-12-06 15:03:55 UTC
I think it should be fixed some way. Too many website working fine with other (Firefox) browsers don't in Konqueror and I think this won't help this browser.
I like it's fast to load and well integrated in my kde environment, but I'd like too to see it capable to view Web 2.0 pages such as for example some page with auction commands in Ebay (and not latestsiteintheworld.com...).
Even a hook to use gecko (is kecko project dead?) insite konqueror as needed could be wonderful...
Comment 4 FiNeX 2008-06-27 16:57:07 UTC
Please, vote all for bug #48302  :-)

*** This bug has been marked as a duplicate of 48302 ***
Comment 5 Maksim Orlovich 2008-06-27 18:36:45 UTC
Actually, please don't. #48302 is pretty much fixed, but additional work is needed for specific editors.
Comment 6 Tommi Tervo 2008-09-06 15:35:14 UTC
*** Bug 170537 has been marked as a duplicate of this bug. ***
Comment 7 Anders Lund 2008-09-06 15:40:55 UTC
Why was my report marked as a dup og this? I do not claim to be anything else than konqueror/khtml, that is, my UA string is the default.
Comment 8 Maksim Orlovich 2008-09-08 18:14:28 UTC
We're using this as a tracker bug for tinyMCE issues... Anyway, seems like there is an XSS check denying tinyMCE from working on the web.... Which of course didn't happen when I was testing locally.
Comment 9 Maksim Orlovich 2008-11-22 19:46:38 UTC
SVN commit 887751 by orlovich:

- Fix domain propagation for iframe's with javascript: URLs and similar cases.
Makes tinyMCE bootup when on web.
- Properly permit XML documents in XSS checks.

CCBUG:141523


 M  +2 -6      ecma/kjs_window.cpp  
 M  +24 -16    khtml_part.cpp  
 M  +2 -0      khtmlpart_p.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=887751
Comment 10 Szabolcs Molnar 2008-12-18 18:14:51 UTC
I also tried to use TinyMCE Editor with Konqueror. I don't know what's the matter. 

You can try it yourself here: http://tinymce.moxiecode.com/examples/full.php

It loads the editor, but in read-only mode. You cannot click anything or edit anything. When I enable JavaScript errors, it tellme that there's an error in tiny_mce.js line 1, but when I click on Debug it freezes. It also freezese when I open the javascript debugger manually then select tiny_mce.js from loaded scripts.

Since TinyMCE is a widely used editor, it would be great to fix to work it...
Comment 11 Maksim Orlovich 2008-12-18 19:35:05 UTC
re: comment #10: that should be fixed by the change in comment #9. Please try with 4.2 beta 2.
Comment 12 Szabolcs Molnar 2008-12-18 22:00:21 UTC
Ah it really loads up and now it's not in read-only mode..

But as soon as I start typing and press Enter several times, it simply crashes. You can verify that by visiting http://tinymce.moxiecode.com/examples/full.php
I simply had to position the cursor after the word "Google", pressed enter, some text, enter again, etc and it crashed...
Comment 13 FiNeX 2008-12-18 23:05:18 UTC
Crash confirmed using current trunk r898537.


This is my backtrace:


Application: Konqueror (konqueror), signal SIGABRT
0x00007fe761a24001 in nanosleep () from /lib/libc.so.6
[Current thread is 0 (LWP 16927)]

Thread 2 (Thread 0x7fe751cf4950 (LWP 16989)):
#0  0x00007fe763e1ffed in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe76408dae7 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#2  0x00007fe7640851f9 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007fe76408cd79 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007fe763e1bfc7 in start_thread () from /lib/libpthread.so.0
#5  0x00007fe761a545dd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fe766a20750 (LWP 16927)):
[KCrash Handler]
#5  0x00007fe7619b70c5 in raise () from /lib/libc.so.6
#6  0x00007fe7619b85e3 in abort () from /lib/libc.so.6
#7  0x00007fe7619b00e9 in __assert_fail () from /lib/libc.so.6
#8  0x00007fe755ba19d7 in khtml::DeleteCollapsibleWhitespaceCommandImpl::deleteWhitespace (this=0x29b2b70, pos=<value optimized out>)
    at /home/test/KDE4/src/kdelibs/khtml/editing/htmlediting_impl.cpp:1011
#9  0x00007fe755ba58ca in khtml::DeleteCollapsibleWhitespaceCommandImpl::doApply (this=0x29b2b70) at /home/test/KDE4/src/kdelibs/khtml/editing/htmlediting_impl.cpp:1058
#10 0x00007fe755b9725f in khtml::EditCommandImpl::apply (this=0x29b2b70) at /home/test/KDE4/src/kdelibs/khtml/editing/htmlediting_impl.cpp:251
#11 0x00007fe755b9e0ce in khtml::CompositeEditCommandImpl::applyCommandToComposite (this=0x2a41470, cmd=@0x7fff6eb5cfb0) at /home/test/KDE4/src/kdelibs/khtml/editing/htmlediting_impl.cpp:377
#12 0x00007fe755b9e8fd in khtml::CompositeEditCommandImpl::deleteCollapsibleWhitespace (this=0x2a41470) at /home/test/KDE4/src/kdelibs/khtml/editing/htmlediting_impl.cpp:503
#13 0x00007fe755ba54b5 in khtml::InputTextCommandImpl::execute (this=0x2a41470, text=@0x7fff6eb5d2e0) at /home/test/KDE4/src/kdelibs/khtml/editing/htmlediting_impl.cpp:1645
#14 0x00007fe755b9e44d in khtml::TypingCommandImpl::insertText (this=0x29b0c30, text=@0x7fff6eb5d2e0) at /home/test/KDE4/src/kdelibs/khtml/editing/htmlediting_impl.cpp:2378
#15 0x00007fe755b9668d in khtml::TypingCommand::insertText (document=0x2818d80, text=@0x7fff6eb5d2e0) at /home/test/KDE4/src/kdelibs/khtml/editing/htmlediting.cpp:740
#16 0x00007fe755b91b7d in DOM::Editor::handleKeyEvent (this=0x28f32b0, _ke=<value optimized out>) at /home/test/KDE4/src/kdelibs/khtml/editing/editor.cpp:528
#17 0x00007fe755a04dc9 in DOM::ElementImpl::defaultEventHandler (this=0x2715a80, e=0x29cbcb0) at /home/test/KDE4/src/kdelibs/khtml/xml/dom_elementimpl.cpp:787
#18 0x00007fe7559fc80c in DOM::NodeImpl::dispatchGenericEvent (this=0x2715a80, evt=0x29cbcb0) at /home/test/KDE4/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:524
#19 0x00007fe7559fc9de in DOM::NodeImpl::dispatchEvent (this=0x2715a80, evt=0x29cbcb0, exceptioncode=@0x7fff6eb5d4c4, tempEvent=true) at /home/test/KDE4/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:451
#20 0x00007fe7559fd310 in DOM::NodeImpl::dispatchKeyEvent (this=0x2715a80, key=0x29fa000, keypress=<value optimized out>) at /home/test/KDE4/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:690
#21 0x00007fe755959a2d in KHTMLView::dispatchKeyEvent (this=0x27e79b0, _ke=0x29fa000) at /home/test/KDE4/src/kdelibs/khtml/khtmlview.cpp:1666
#22 0x00007fe755962399 in KHTMLView::keyPressEvent (this=0x27e79b0, _ke=0x29fa000) at /home/test/KDE4/src/kdelibs/khtml/khtmlview.cpp:1787
#23 0x00007fe755af8803 in khtml::RenderWidget::handleEvent (this=0x2af2b80, ev=@0x29c6cd0) at /home/test/KDE4/src/kdelibs/khtml/rendering/render_replaced.cpp:1129
#24 0x00007fe755a5891d in DOM::HTMLFrameElementImpl::defaultEventHandler (this=0x2705be0, e=0x29c6cd0) at /home/test/KDE4/src/kdelibs/khtml/html/html_baseimpl.cpp:296
#25 0x00007fe7559fc80c in DOM::NodeImpl::dispatchGenericEvent (this=0x2705bf0, evt=0x29c6cd0) at /home/test/KDE4/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:524
#26 0x00007fe7559fc9de in DOM::NodeImpl::dispatchEvent (this=0x2705bf0, evt=0x29c6cd0, exceptioncode=@0x7fff6eb5d9a4, tempEvent=true) at /home/test/KDE4/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:451
#27 0x00007fe7559fd310 in DOM::NodeImpl::dispatchKeyEvent (this=0x2705bf0, key=0x7fff6eb5e070, keypress=<value optimized out>) at /home/test/KDE4/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:690
#28 0x00007fe755959a2d in KHTMLView::dispatchKeyEvent (this=0x1c98260, _ke=0x7fff6eb5e070) at /home/test/KDE4/src/kdelibs/khtml/khtmlview.cpp:1666
#29 0x00007fe755962399 in KHTMLView::keyPressEvent (this=0x1c98260, _ke=0x7fff6eb5e070) at /home/test/KDE4/src/kdelibs/khtml/khtmlview.cpp:1787
#30 0x00007fe755960acf in KHTMLView::eventFilter (this=0x1c98260, o=0x27e79b0, e=0x7fff6eb5e070) at /home/test/KDE4/src/kdelibs/khtml/khtmlview.cpp:2325
#31 0x00007fe76415d6c8 in QCoreApplicationPrivate::sendThroughObjectEventFilters () from /usr/lib/libQtCore.so.4
#32 0x00007fe76357c4ac in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#33 0x00007fe7635837c3 in QApplication::notify () from /usr/lib/libQtGui.so.4
#34 0x00007fe764f6e22b in KApplication::notify (this=0x7fff6eb5f2f0, receiver=0x27e79b0, event=0x7fff6eb5e070) at /home/test/KDE4/src/kdelibs/kdeui/kernel/kapplication.cpp:307
#35 0x00007fe76415e3d1 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#36 0x00007fe7635f9e84 in ?? () from /usr/lib/libQtGui.so.4
#37 0x00007fe7635fbf27 in ?? () from /usr/lib/libQtGui.so.4
#38 0x00007fe7635d93e5 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#39 0x00007fe7635fd744 in ?? () from /usr/lib/libQtGui.so.4
#40 0x00007fe75fbbaaa2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#41 0x00007fe75fbbe21d in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#42 0x00007fe75fbbe3db in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#43 0x00007fe76418289f in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#44 0x00007fe7635fcfff in ?? () from /usr/lib/libQtGui.so.4
#45 0x00007fe76415cd42 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#46 0x00007fe76415ced5 in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#47 0x00007fe76415f025 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#48 0x00007fe766717ae9 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /home/test/KDE4/src/kdebase/apps/konqueror/src/konqmain.cpp:257
#49 0x00007fe7619a3546 in __libc_start_main () from /lib/libc.so.6
#50 0x00000000004007c9 in _start ()



Comment 14 Maksim Orlovich 2009-04-04 03:57:23 UTC
SVN commit 948882 by orlovich:

Make sure that iframes created with javascript: URLs enter the proper mode --- 
in particular HTML, not XHTML one. Us doing otherwise caused tinyMCE to 
get confused (due to a paragraph being <p> and not <P>) and remove & clone text node
being typed on, which caused the editting code to get really confused and blow up.
This, in particular, affected GSoC editor page. Now typing in should be fine 
(though I would still be careful with richtext there)

I do think the mode detection code needs rework, and the editing code will 
need heavy work, but that's for an another time.

CCBUG:188445
CCBUG:141523



 M  +4 -1      khtml_part.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=948882
Comment 15 Maksim Orlovich 2009-04-04 04:02:21 UTC
SVN commit 948884 by orlovich:

automatically merged revision 948882:
Make sure that iframes created with javascript: URLs enter the proper mode --- 
in particular HTML, not XHTML one. Us doing otherwise caused tinyMCE to 
get confused (due to a paragraph being <p> and not <P>) and remove & clone text node
being typed on, which caused the editting code to get really confused and blow up.
This, in particular, affected GSoC editor page. Now typing in should be fine 
(though I would still be careful with richtext there)

I do think the mode detection code needs rework, and the editing code will 
need heavy work, but that's for an another time.

CCBUG:188445
CCBUG:141523

 M  +4 -1      khtml_part.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=948884
Comment 16 Tommi Tervo 2009-08-01 17:55:56 UTC
*** Bug 202207 has been marked as a duplicate of this bug. ***
Comment 17 Justin Zobel 2021-03-21 00:26:02 UTC
Thank you for the bug report.

As this report hasn't seen any changes in 10 years or more, we ask if you can please confirm that the issue still persists.

If this bug is no longer persisting or relevant please change the status to resolved.
Comment 18 Christoph Cullmann 2024-05-06 18:39:31 UTC
Dear user,

KHTML (and KJS) was a long time more or less unmaintained and got removed in KF6.

Please migrate to use a QWebEngine based HTML component.

We will do no further fixes or improvements to the KF5 branches of these components beside important security fixes.

For security issues, please see:

https://kde.org/info/security/

Sorry that we did not fix this issue during the life-time of KHTML.

Greetings
Christoph Cullmann