[webkit-qt] New API for comments

Simon Hausmann simon.hausmann at nokia.com
Wed Mar 2 01:03:54 PST 2011

On Tuesday, March 01, 2011 08:50:19 pm Poulain Benjamin (Nokia-MS-Qt/Oslo) wrote:
> Hello,
> Andreas and I were talking about the recuring problem of QWebElement 
> being too simple to handle use cases with text.
> We were thinking about what kind of simple change would get us out of 
> those problems (text wrapping, selections, text + element as children, etc).
> Given the following changes, anyone has comments?:
> class QWebNode {
>      enum Type { Element, Text };
>      Type type() const;
>      QWebElement parent() const;
>      QWebElement document() const;
>      QWebNode nextSibling() const;
>      QWebNode previousSibling() const;
>      QString toPlainText() const;
> }
> class QWebElement: public QWebNode {
> }
> So we could play with QWebNode of type Text for text.
> (Yep, I think that is BC to change the parent class in this case :))

Yeah, this _may_ be BC. As similar trick was used with QGraphicsObject. It would be
good to double check it against that case.

However in general I'm not a fan of introducing a Node class. It was a very concious
decision early on _not_ to repeat the API mistake of DOM to distinguish between Nodes and Elements,
as it requires constant type-casting.

Perhaps in our case it's not that bad, given that QWebElement is rather powerful. But I think it's would
also be worth it to explore a cursor / iterator style API on a web element. At least for a side-by-side comparision.


More information about the webkit-qt mailing list