⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kjs_html.cpp

📁 khtml在gtk上的移植版本
💻 CPP
📖 第 1 页 / 共 5 页
字号:
  areas		KJS::HTMLElement::MapAreas		DontDelete|ReadOnly  name		KJS::HTMLElement::MapName		DontDelete@end@begin HTMLAreaElementTable 15  accessKey	KJS::HTMLElement::AreaAccessKey		DontDelete  alt		KJS::HTMLElement::AreaAlt		DontDelete  coords	KJS::HTMLElement::AreaCoords		DontDelete  href		KJS::HTMLElement::AreaHref		DontDelete  hash		KJS::HTMLElement::AreaHash		DontDelete|ReadOnly  host		KJS::HTMLElement::AreaHost		DontDelete|ReadOnly  hostname	KJS::HTMLElement::AreaHostName		DontDelete|ReadOnly  pathname	KJS::HTMLElement::AreaPathName		DontDelete|ReadOnly  port		KJS::HTMLElement::AreaPort		DontDelete|ReadOnly  protocol	KJS::HTMLElement::AreaProtocol		DontDelete|ReadOnly  search	KJS::HTMLElement::AreaSearch		DontDelete|ReadOnly  noHref	KJS::HTMLElement::AreaNoHref		DontDelete  shape		KJS::HTMLElement::AreaShape		DontDelete  tabIndex	KJS::HTMLElement::AreaTabIndex		DontDelete  target	KJS::HTMLElement::AreaTarget		DontDelete@end@begin HTMLScriptElementTable 7  text		KJS::HTMLElement::ScriptText		DontDelete  htmlFor	KJS::HTMLElement::ScriptHtmlFor		DontDelete  event		KJS::HTMLElement::ScriptEvent		DontDelete  charset	KJS::HTMLElement::ScriptCharset		DontDelete  defer		KJS::HTMLElement::ScriptDefer		DontDelete  src		KJS::HTMLElement::ScriptSrc		DontDelete  type		KJS::HTMLElement::ScriptType		DontDelete@end@begin HTMLTableElementTable 23  caption	KJS::HTMLElement::TableCaption		DontDelete  tHead		KJS::HTMLElement::TableTHead		DontDelete  tFoot		KJS::HTMLElement::TableTFoot		DontDelete  rows		KJS::HTMLElement::TableRows		DontDelete|ReadOnly  tBodies	KJS::HTMLElement::TableTBodies		DontDelete|ReadOnly  align		KJS::HTMLElement::TableAlign		DontDelete  bgColor	KJS::HTMLElement::TableBgColor		DontDelete  border	KJS::HTMLElement::TableBorder		DontDelete  cellPadding	KJS::HTMLElement::TableCellPadding	DontDelete  cellSpacing	KJS::HTMLElement::TableCellSpacing	DontDelete  frame		KJS::HTMLElement::TableFrame		DontDelete  rules		KJS::HTMLElement::TableRules		DontDelete  summary	KJS::HTMLElement::TableSummary		DontDelete  width		KJS::HTMLElement::TableWidth		DontDelete  createTHead	KJS::HTMLElement::TableCreateTHead	DontDelete|Function 0  deleteTHead	KJS::HTMLElement::TableDeleteTHead	DontDelete|Function 0  createTFoot	KJS::HTMLElement::TableCreateTFoot	DontDelete|Function 0  deleteTFoot	KJS::HTMLElement::TableDeleteTFoot	DontDelete|Function 0  createCaption	KJS::HTMLElement::TableCreateCaption	DontDelete|Function 0  deleteCaption	KJS::HTMLElement::TableDeleteCaption	DontDelete|Function 0  insertRow	KJS::HTMLElement::TableInsertRow	DontDelete|Function 1  deleteRow	KJS::HTMLElement::TableDeleteRow	DontDelete|Function 1@end@begin HTMLTableCaptionElementTable 1  align		KJS::HTMLElement::TableCaptionAlign	DontDelete@end@begin HTMLTableColElementTable 7  align		KJS::HTMLElement::TableColAlign		DontDelete  ch		KJS::HTMLElement::TableColCh		DontDelete  chOff		KJS::HTMLElement::TableColChOff		DontDelete  span		KJS::HTMLElement::TableColSpan		DontDelete  vAlign	KJS::HTMLElement::TableColVAlign	DontDelete  width		KJS::HTMLElement::TableColWidth		DontDelete@end@begin HTMLTableSectionElementTable 7  align		KJS::HTMLElement::TableSectionAlign		DontDelete  ch		KJS::HTMLElement::TableSectionCh		DontDelete  chOff		KJS::HTMLElement::TableSectionChOff		DontDelete  vAlign	KJS::HTMLElement::TableSectionVAlign		DontDelete  rows		KJS::HTMLElement::TableSectionRows		DontDelete|ReadOnly  insertRow	KJS::HTMLElement::TableSectionInsertRow		DontDelete|Function 1  deleteRow	KJS::HTMLElement::TableSectionDeleteRow		DontDelete|Function 1@end@begin HTMLTableRowElementTable 11  rowIndex	KJS::HTMLElement::TableRowRowIndex		DontDelete|ReadOnly  sectionRowIndex KJS::HTMLElement::TableRowSectionRowIndex	DontDelete|ReadOnly  cells		KJS::HTMLElement::TableRowCells			DontDelete|ReadOnly  align		KJS::HTMLElement::TableRowAlign			DontDelete  bgColor	KJS::HTMLElement::TableRowBgColor		DontDelete  ch		KJS::HTMLElement::TableRowCh			DontDelete  chOff		KJS::HTMLElement::TableRowChOff			DontDelete  vAlign	KJS::HTMLElement::TableRowVAlign		DontDelete  insertCell	KJS::HTMLElement::TableRowInsertCell		DontDelete|Function 1  deleteCell	KJS::HTMLElement::TableRowDeleteCell		DontDelete|Function 1@end@begin HTMLTableCellElementTable 15  cellIndex	KJS::HTMLElement::TableCellCellIndex		DontDelete|ReadOnly  abbr		KJS::HTMLElement::TableCellAbbr			DontDelete  align		KJS::HTMLElement::TableCellAlign		DontDelete  axis		KJS::HTMLElement::TableCellAxis			DontDelete  bgColor	KJS::HTMLElement::TableCellBgColor		DontDelete  ch		KJS::HTMLElement::TableCellCh			DontDelete  chOff		KJS::HTMLElement::TableCellChOff		DontDelete  colSpan	KJS::HTMLElement::TableCellColSpan		DontDelete  headers	KJS::HTMLElement::TableCellHeaders		DontDelete  height	KJS::HTMLElement::TableCellHeight		DontDelete  noWrap	KJS::HTMLElement::TableCellNoWrap		DontDelete  rowSpan	KJS::HTMLElement::TableCellRowSpan		DontDelete  scope		KJS::HTMLElement::TableCellScope		DontDelete  vAlign	KJS::HTMLElement::TableCellVAlign		DontDelete  width		KJS::HTMLElement::TableCellWidth		DontDelete@end@begin HTMLFrameSetElementTable 2  cols		KJS::HTMLElement::FrameSetCols			DontDelete  rows		KJS::HTMLElement::FrameSetRows			DontDelete@end@begin HTMLFrameElementTable 9  contentDocument KJS::HTMLElement::FrameContentDocument        DontDelete|ReadOnly  frameBorder     KJS::HTMLElement::FrameFrameBorder		DontDelete  longDesc	  KJS::HTMLElement::FrameLongDesc		DontDelete  marginHeight	  KJS::HTMLElement::FrameMarginHeight		DontDelete  marginWidth	  KJS::HTMLElement::FrameMarginWidth		DontDelete  name		  KJS::HTMLElement::FrameName			DontDelete  noResize	  KJS::HTMLElement::FrameNoResize		DontDelete  scrolling	  KJS::HTMLElement::FrameScrolling		DontDelete  src		  KJS::HTMLElement::FrameSrc			DontDelete  location	  KJS::HTMLElement::FrameLocation		DontDelete@end@begin HTMLIFrameElementTable 12  align		  KJS::HTMLElement::IFrameAlign			DontDelete  contentDocument KJS::HTMLElement::IFrameContentDocument       DontDelete|ReadOnly  document	  KJS::HTMLElement::IFrameDocument		DontDelete|ReadOnly  frameBorder	  KJS::HTMLElement::IFrameFrameBorder		DontDelete  height	  KJS::HTMLElement::IFrameHeight		DontDelete  longDesc	  KJS::HTMLElement::IFrameLongDesc		DontDelete  marginHeight	  KJS::HTMLElement::IFrameMarginHeight		DontDelete  marginWidth	  KJS::HTMLElement::IFrameMarginWidth		DontDelete  name		  KJS::HTMLElement::IFrameName			DontDelete  scrolling	  KJS::HTMLElement::IFrameScrolling		DontDelete  src		  KJS::HTMLElement::IFrameSrc			DontDelete  width		  KJS::HTMLElement::IFrameWidth			DontDelete@end@begin HTMLMarqueeElementTable 2  start           KJS::HTMLElement::MarqueeStart		DontDelete|Function 0  stop            KJS::HTMLElement::MarqueeStop                 DontDelete|Function 0@end@begin HTMLCanvasElementTable 1  getContext      KJS::HTMLElement::GetContext                  DontDelete|Function 0@end*/Value KJS::HTMLElement::tryGet(ExecState *exec, const Identifier &propertyName) const{  DOM::HTMLElement element = static_cast<DOM::HTMLElement>(node);#ifdef KJS_VERBOSE  kdDebug(6070) << "KJS::HTMLElement::tryGet " << propertyName.qstring() << " thisTag=" << element.tagName().string() << endl;#endif  // First look at dynamic properties  switch (element.elementId()) {    case ID_FORM: {      DOM::HTMLFormElement form = element;      // Check if we're retrieving an element (by index or by name)      bool ok;      uint u = propertyName.toULong(&ok);      if (ok)        return getDOMNode(exec,form.elements().item(u));      KJS::HTMLCollection coll(exec,form.elements());      Value namedItems = coll.getNamedItems(exec, propertyName);      if (namedItems.type() != UndefinedType)        return namedItems;    }      break;    case ID_SELECT: {      DOM::HTMLSelectElement select = element;      bool ok;      uint u = propertyName.toULong(&ok);      if (ok)        return getDOMNode(exec,select.options().item(u)); // not specified by DOM(?) but supported in netscape/IE    }      break;    case ID_FRAME:    case ID_IFRAME: {        DOM::DocumentImpl* doc = static_cast<DOM::HTMLFrameElementImpl *>(element.handle())->contentDocument();        if ( doc ) {            KHTMLPart* part = doc->part();            if ( part ) {	      Object globalObject = Object::dynamicCast( Window::retrieve( part ) );	      // Calling hasProperty on a Window object doesn't work, it always says true.	      // Hence we need to use getDirect instead.	      if ( !globalObject.isNull() && static_cast<ObjectImp *>(globalObject.imp())->getDirect( propertyName ) )                return globalObject.get( exec, propertyName );            }        }    }      break;#if APPLE_CHANGES    case ID_EMBED:    case ID_APPLET: {        return getRuntimeObject(exec,element);    }      break;#endif    default:        break;    }  const HashTable* table = classInfo()->propHashTable; // get the right hashtable  const HashEntry* entry = Lookup::findEntry(table, propertyName);  if (entry) {    if (entry->attr & Function)      return lookupOrCreateFunction<KJS::HTMLElementFunction>(exec, propertyName, this, entry->value, entry->params, entry->attr);    return getValueProperty(exec, entry->value);  }  // Base HTMLElement stuff or parent class forward, as usual  return DOMObjectLookupGet<KJS::HTMLElementFunction, KJS::HTMLElement, DOMElement>(exec, propertyName, &KJS::HTMLElementTable, this);}Value KJS::HTMLElement::getValueProperty(ExecState *exec, int token) const{  DOM::HTMLElement element = static_cast<DOM::HTMLElement>(node);  switch (element.elementId()) {  case ID_HTML: {    DOM::HTMLHtmlElement html = element;    if      (token == HtmlVersion)         return String(html.version());  }  break;  case ID_HEAD: {    DOM::HTMLHeadElement head = element;    if      (token == HeadProfile)         return String(head.profile());  }  break;  case ID_LINK: {    DOM::HTMLLinkElement link = element;    switch (token) {    case LinkDisabled:        return Boolean(link.disabled());    case LinkCharset:         return String(link.charset());    case LinkHref:            return String(link.href());    case LinkHrefLang:        return String(link.hreflang());    case LinkMedia:           return String(link.media());    case LinkRel:             return String(link.rel());    case LinkRev:             return String(link.rev());    case LinkTarget:          return String(link.target());    case LinkType:            return String(link.type());    case LinkSheet:           return getDOMStyleSheet(exec,static_cast<DOM::ProcessingInstruction>(node).sheet());    }  }  break;  case ID_TITLE: {    DOM::HTMLTitleElement title = element;    switch (token) {    case TitleText:                 return String(title.text());    }  }  break;  case ID_META: {    DOM::HTMLMetaElement meta = element;    switch (token) {    case MetaContent:         return String(meta.content());    case MetaHttpEquiv:       return String(meta.httpEquiv());    case MetaName:            return String(meta.name());    case MetaScheme:          return String(meta.scheme());    }  }  break;  case ID_BASE: {    DOM::HTMLBaseElement base = element;    switch (token) {    case BaseHref:            return String(base.href());    case BaseTarget:          return String(base.target());    }  }  break;  case ID_ISINDEX: {    DOM::HTMLIsIndexElement isindex = element;    switch (token) {    case IsIndexForm:            return getDOMNode(exec,isindex.form()); // type HTMLFormElement    case IsIndexPrompt:          return String(isindex.prompt());    }  }  break;  case ID_STYLE: {    DOM::HTMLStyleElement style = element;    switch (token) {    case StyleDisabled:        return Boolean(style.disabled());    case StyleMedia:           return String(style.media());    case StyleType:            return String(style.type());    case StyleSheet:           return getDOMStyleSheet(exec,static_cast<DOM::ProcessingInstruction>(node).sheet());    }  }  break;  case ID_BODY: {    DOM::HTMLBodyElement body = element;    switch (token) {    case BodyALink:           return String(body.aLink());    case BodyBackground:      return String(body.background());    case BodyBgColor:         return String(body.bgColor());    case BodyLink:            return String(body.link());    case BodyText:            return String(body.text());    case BodyVLink:           return String(body.vLink());    default:      // Update the document's layout before we compute these attributes.      DOM::DocumentImpl* docimpl = node.handle()->getDocument();      if (docimpl) {        docimpl->updateLayout();      }      switch (token) {        case BodyScrollLeft:            return Number(body.ownerDocument().view() ? body.ownerDocument().view()->contentsX() : 0);        case BodyScrollTop:            return Number(body.ownerDocument().view() ? body.ownerDocument().view()->contentsY() : 0);        case BodyScrollHeight:   return Number(body.ownerDocument().view() ? body.ownerDocument().view()->contentsHeight() : 0);        case BodyScrollWidth:    return Number(body.ownerDocument().view() ? body.ownerDocument().view()->contentsWidth() : 0);      }    }  }  break;  case ID_FORM: {    DOM::HTMLFormElement form = element;    switch (token) {    case FormElements:        return getHTMLCollection(exec,form.elements());    case FormLength:          return Number(form.length());    case FormName:            return String(form.name());    case FormAcceptCharset:   return String(form.acceptCharset());    case FormAction:          return String(form.action());    case FormEncType:         return String(form.enctype());    case FormMethod:          return String(form.method());    case FormTarget:          return String(form.target());    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -