Ticket #5189: kupu_embed.diff

File kupu_embed.diff, 2.5 KB (added by alecm, 5 years ago)

Patch for kupu <embed> tag handling

  • kupu/common/kupucontentfilters.js

     
    102102                            // font tags as they are, since Kupu sometimes 
    103103                            // produces them itself. 
    104104                            'font': 1, 
    105                             'center': 0 
     105                            'center': 0, 
     106                            'embed': 1 
    106107                            }; 
    107108    }; 
    108109                         
     
    293294        this.attrs = [].concat(this.coreattrs, this.i18n, this.events); 
    294295 
    295296        // entities 
    296         this.special_extra = ['object','applet','img','map','iframe']; 
     297            this.special_extra = ['object','applet','img','map','iframe', 'embed']; 
    297298        this.special_basic=['br','span','bdo']; 
    298299        this.special = [].concat(this.special_basic, this.special_extra); 
    299300        this.fontstyle_extra = ['big','small','font','basefont']; 
     
    364365        this.basefont = ['id','size','color','face']; 
    365366        this.font = el.coreattrs.concat(el.i18n, 'size','color','face'); 
    366367        this.object = el.attrs.concat('declare','classid','codebase','data','type','codetype','archive','standby','height','width','usemap','name','tabindex','align','border','hspace','vspace'); 
     368        this.embed = ['*']; 
    367369        this.param = ['id','name','value','valuetype','type']; 
    368370        this.applet = el.coreattrs.concat('codebase','archive','code','object','alt','name','width','height','align','hspace','vspace'); 
    369371        this.img = el.attrs.concat('src','alt','name','longdesc','height','width','usemap','ismap','align','border','hspace','vspace'); 
     
    425427 
    426428        setStates(['ul', 'ol', 'menu', 'dir', 'ul', ], ['li']); 
    427429        setStates(['dl'], ['dt','dd']); 
    428         setStates(['pre'], validation._exclude(el.Inline, "img|object|applet|big|small|sub|sup|font|basefont")); 
     430        setStates(['pre'], validation._exclude(el.Inline, "img|object|embed|applet|big|small|sub|sup|font|basefont")); 
    429431        setStates(['a'], validation._exclude(el.Inline, "a")); 
    430         setStates(['applet', 'object'], ['#PCDATA', 'param','form'].concat(el.block, el.inline, el.misc)); 
     432            setStates(['applet', 'object', 'embed'], ['#PCDATA', 'param','form'].concat(el.block, el.inline, el.misc)); 
    431433        setStates(['map'], ['form', 'area'].concat(el.block, el.misc)); 
    432434        setStates(['form'], validation._exclude(el.Flow, ['form'])); 
    433435        setStates(['select'], ['optgroup','option']);