[Webkit-unassigned] [Bug 29590] New: [Qt] evaluateJavaScript to write text node in SVG rendered by a QWeb Frame doesn't trigger a repaint

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Sep 21 08:55:56 PDT 2009


https://bugs.webkit.org/show_bug.cgi?id=29590

           Summary: [Qt] evaluateJavaScript to write text node in SVG
                    rendered by a QWeb Frame doesn't trigger a repaint
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Other
        OS/Version: Mac OS X 10.5
            Status: NEW
          Keywords: Qt
          Severity: Normal
          Priority: P2
         Component: New Bugs
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: vestbo at webkit.org


This bug report originated from Nokia internal issue QT-1898


--- Comments ---

Function: webkit

Version: 4.5.1

Platform: WindowsXP
Bug seen on Windows XP 32 bits and Kubuntu Jaunty Jackalope 9.04 64 bits

Compiler: GCC

Short description: evaluateJavaScript to write text node in SVG rendered by a
QWebFrame doesn't trigger a repaint

Did:
Hello,

I wrote a small game with a control widget containing buttons to control
another widget with the game view. The game view contains only a SVG file with
javascript commands rendered through a QWebView.

When calling some javascript commands from the control widget aimed to change
text node of the SVG content on the interface, the QWebView is not repainted, I
have to repaint it manually for each javascript call, which is slow. This is
obvious in the "on_spinBox_question_valueChanged" slot if you replace the
javascriptRefresh call by the javascript call in "interface.cpp" (sources
attached), you will see some artefacts on the logo when asking to show a
question and answers and going to next question.

To reproduce, replace each "javascriptRefresh" call by "javascript", compile
the game, and launch it.

Expected to see:
If the "evaluateJavaScript" call from a QWebFrame in a QWebPage in a QWebView
calls the javascript function
"window.document.getElementById(id).firstChild.firstChild.value = newText;" is
used, it should trigger an immediate repaint.

Got instead:
The repaint is done only by minimizing and restoring the QWebView widget for
instance, or by moving the cursor above the test area or sometimes by waiting a
few seconds. Sometimes, even area distant from the text area seems affected by
the text change (and shouldn't) and are not repainted correctly even by waiting
or moving the cursor above (cf. the logo).

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list