[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/khtml
From:       Dawit Alemayehu <adawit () kde ! org>
Date:       2010-10-29 1:45:42
Message-ID: 20101029014542.C505DAC899 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1190826 by adawit:

Updated the implementation of the KParts::HtmlExtension

 M  +36 -13    khtml_ext.cpp  
 M  +5 -2      khtml_ext.h  


--- trunk/KDE/kdelibs/khtml/khtml_ext.cpp #1190825:1190826
@@ -1099,11 +1099,22 @@
 {
 }
 
-KHTMLPart* KHTMLHtmlExtension::part() const
+KUrl KHTMLHtmlExtension::baseUrl() const
 {
-    return static_cast<KHTMLPart*>(parent());
+    return part()->baseURL();
 }
 
+bool KHTMLHtmlExtension::hasSelection() const
+{
+    return KParts::HtmlExtension::hasSelection();
+}
+
+KParts::SelectorInterface::QueryMethods KHTMLHtmlExtension::supportedQueryMethods() \
const +{
+    // TODO: Add support for selected content (SelectedContent)
+    return KParts::SelectorInterface::EntireContent;
+}
+
 static KParts::SelectorInterface::Element convertDomElement(const DOM::ElementImpl* \
domElem)  {
     KParts::SelectorInterface::Element elem;
@@ -1121,48 +1132,60 @@
 
 KParts::SelectorInterface::Element KHTMLHtmlExtension::querySelector(const QString& \
query, KParts::SelectorInterface::QueryMethod method) const  {
+    KParts::SelectorInterface::Element element;
+
+    if (!(supportedQueryMethods() & method))
+        return element;
+    
     switch (method) {
     case KParts::SelectorInterface::EntireContent: {
         int ec = 0; // exceptions are ignored
-        WTF::RefPtr<DOM::ElementImpl> element = \
                part()->document().handle()->querySelector(query, ec);
-        return convertDomElement(element.get());
+        WTF::RefPtr<DOM::ElementImpl> domElem = \
part()->document().handle()->querySelector(query, ec); +        element = \
convertDomElement(domElem.get()); +        break;
     }    
     case KParts::SelectorInterface::SelectedContent:
-        // TODO: Implement support for querying only the selected portion of the \
content... +        // TODO: Implement support for selected content...
     default:
         break;
     }        
-    return KParts::SelectorInterface::Element();    
+
+    return element;
 }
 
 QList<KParts::SelectorInterface::Element> KHTMLHtmlExtension::querySelectorAll(const \
QString& query, KParts::SelectorInterface::QueryMethod method) const  {
-    QList<KParts::SelectorInterface::Element> result;
+    QList<KParts::SelectorInterface::Element> elements;
+
+    if (!(supportedQueryMethods() & method))
+        return elements;    
+
     switch (method) {
     case KParts::SelectorInterface::EntireContent: {
         int ec = 0; // exceptions are ignored
         WTF::RefPtr<DOM::NodeListImpl> nodes = \
part()->document().handle()->querySelectorAll(query, ec);      const unsigned long \
                len = nodes->length();
-        result.reserve(len);
+        elements.reserve(len);
         for (unsigned long i = 0; i < len; ++i) {
             DOM::NodeImpl* node = nodes->item(i);
             if (node->isElementNode()) { // should be always true
-                result.append(convertDomElement(static_cast<DOM::ElementImpl*>(node)));
 +                elements.append(convertDomElement(static_cast<DOM::ElementImpl*>(node)));
  }
         }
         break;
     }
     case KParts::SelectorInterface::SelectedContent:
-        // TODO: Implement support for querying only the selected portion of the \
content... +        // TODO: Implement support for selected content...
     default:
         break;
     }
-    return result;
+
+    return elements;
 }
 
-KUrl KHTMLHtmlExtension::baseUrl() const
+KHTMLPart* KHTMLHtmlExtension::part() const
 {
-    return part()->baseURL();
+    return static_cast<KHTMLPart*>(parent());
 }
 
 #include "khtml_ext.moc"
--- trunk/KDE/kdelibs/khtml/khtml_ext.h #1190825:1190826
@@ -204,11 +204,14 @@
 public:
     KHTMLHtmlExtension(KHTMLPart* part);
 
+    // HtmlExtension
     virtual KUrl baseUrl() const;
+    virtual bool hasSelection() const;
 
     // SelectorInterface
-    virtual Element querySelector(const QString& query, \
                KParts::SelectorInterface::QueryMethod method) const;
-    virtual QList<Element> querySelectorAll(const QString& query, \
KParts::SelectorInterface::QueryMethod method) const; +    virtual QueryMethods \
supportedQueryMethods() const; +    virtual Element querySelector(const QString& \
query, QueryMethod method) const; +    virtual QList<Element> querySelectorAll(const \
QString& query, QueryMethod method) const;  
     KHTMLPart* part() const;
 };


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic