[Webkit-unassigned] [Bug 28862] [Qt][API] Add a new QGraphicsWidget based version of the "QWebView"

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Sep 8 04:30:07 PDT 2009


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


Kevin Rogovin <kevin.rogovin at nomovok.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kevin.rogovin at nomovok.com




--- Comment #23 from Kevin Rogovin <kevin.rogovin at nomovok.com>  2009-09-08 04:30:05 PDT ---
I'd like to suggest the following coarse of action:

 Rather than assuming that the viewer of a web page is a particular kind of
class, be it QWebView, QWidget, QGraphicsSomething, etc, lets do this:

replace
QWidget* view()

with

QSomeCoolSoundingName *view()

where 

class QSomeCoolSoundingName:public QObject
{
public:
 virtual QRect windowRect();
 virtual void focus();
 virtual void unfocus();
 virtual void show(); 
 virtual void repaint(const QRect& windowRect, bool contentChanged, bool
immediate, bool repaintContentOnly);
 virtual void scroll(const QRect& delta, const QRect& scrollViewRect, const
QRect& clipRect);
 virtual void setToolTip(const String &tip);

 //BIG mystery here:
 virtual QWidget* platformWindow() const;

};

then a QWebPage gets a pointer to a view() object. When one uses QtWebKit, then
one provides such an object whose implementation one writes for one's way of
displaying and handling display. This way those insisting on QWidget can be
supported via old style QWebView, newer implementations can have
QGraphicsWebView, and others can customize any way they like subject to their
needs.

With the exception to platformWindow(), all of the above are quite obvious on
what to write if one is using a QGraphicsSomething to draw, or even to a
QPixmap as part of a something else.

The biggest offender is ChromeClientQt.cpp, but there are some others:
DragClientQt.cpp, EditorClientQt.cpp, FrameLoaderClientQt.cpp,
InspectorClientQt.cpp

I am worried about what happens with plugins, and this is where careful
attention needs to be taken care in deciding how to handle platformWindow().

-- 
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