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

List:       kde-commits
Subject:    kdelibs/khtml
From:       Koos Vriezen <koos.vriezen () xs4all ! nl>
Date:       2003-04-30 10:51:20
[Download RAW message or body]

CVS commit by vriezen: 

serviceType detection fix for
<OBJECT classid=clsid:CAFEEFAC-0013-0001-0000-ABCDEFFEDCBA
codebase="/plugin/j2re-1_3_1-win.exe#Version=1,3,1,0" height="0" width="0">
  <PARAM NAME="type" VALUE="application/x-java-applet;jpi-version=1.3.1">
  <PARAM NAME="JAVA_CODE" ...
cases


  M +9 -6      html/html_objectimpl.cpp   1.108
  M +2 -1      html/html_objectimpl.h   1.54
  M +3 -1      rendering/render_frames.cpp   1.157


--- kdelibs/khtml/html/html_objectimpl.h  #1.53:1.54
@@ -55,4 +55,5 @@ public:
 
     void setLiveConnect(KParts::LiveConnectExtension * lc);
+    void setServiceType(const QString &);
 
     QString url;

--- kdelibs/khtml/html/html_objectimpl.cpp  #1.107:1.108
@@ -53,18 +53,21 @@ HTMLObjectBaseElementImpl::HTMLObjectBas
 }
 
+void HTMLObjectBaseElementImpl::setServiceType(const QString & val) {
+    serviceType = val.lower();
+    int pos = serviceType.find( ";" );
+    if ( pos!=-1 )
+        serviceType = serviceType.left( pos );
+    needWidgetUpdate = true;
+}
+
 void HTMLObjectBaseElementImpl::parseAttribute(AttributeImpl *attr)
 {
     DOM::DOMStringImpl *stringImpl = attr->val();
     QString val = QConstString( stringImpl->s, stringImpl->l ).string();
-    int pos;
     switch ( attr->id() )
     {
         case ATTR_TYPE:
         case ATTR_CODETYPE:
-            serviceType = val.lower();
-            pos = serviceType.find( ";" );
-            if ( pos!=-1 )
-                serviceType = serviceType.left( pos );
-            needWidgetUpdate = true;
+            setServiceType( val );
             break;
         case ATTR_WIDTH:

--- kdelibs/khtml/rendering/render_frames.cpp  #1.156:1.157
@@ -610,4 +610,6 @@ void RenderPartObject::updateWidget()
               aStr += p->value();
               aStr += QString::fromLatin1("\"");
+              if (p->name().lower() == QString::fromLatin1("type"))
+                  static_cast<HTMLObjectBaseElementImpl *>(element())->setServiceType(p->value());
               params.append(aStr);
           }


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

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