Revision 712622

Go back to digest for 16th September 2007

Features in KDE Base

Maks Orlovich committed changes in /trunk/KDE/kdelibs/khtml:

Rework how we sync textarea contents between the DOM and the Renderer, fixing multiple bugs (losing contents on display:none, the can't-do-anything-with-selection-in-wordpress bug).

This also improves compatibility with IE on handling of innerText somewhat, and that with other browsers in how we handle changes to the default value/child nodes.
Unfortunately, no one does it the same way, so I chose to follow Safari since its behavior makes the most sense to me.

More specifically:
1. Simplify the syncing logic by making the renderer always be definitive when it exists.

2. Change how we initialize from the defaultValue --- instead of doing it in the renderer's close (which is what causes the disappearing text bug), we update value to defaultValue when the children change. That also makes innerText work sensibly on textareas.

File Changes

Modified 4 files
  • /trunk/KDE/kdelibs/khtml
  •   /html/html_formimpl.cpp
  •   /html/html_formimpl.h
  •   /rendering/render_form.cpp
  •   /rendering/render_form.h
4 files changed in total