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

📄 kjs_html.h

📁 konqueror3 embedded版本, KDE环境下的当家浏览器的嵌入式版本源码包.
💻 H
字号:
// -*- c-basic-offset: 2 -*-/* *  This file is part of the KDE libraries *  Copyright (C) 1999 Harri Porten (porten@kde.org) *  Copyright (C) 2003 Apple Computer, Inc. * *  This library is free software; you can redistribute it and/or *  modify it under the terms of the GNU Library General Public *  License as published by the Free Software Foundation; either *  version 2 of the License, or (at your option) any later version. * *  This library is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *  Library General Public License for more details. * *  You should have received a copy of the GNU Library General Public *  License along with this library; if not, write to the Free Software *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA */#ifndef _KJS_HTML_H_#define _KJS_HTML_H_#include "dom/html_document.h"#include "dom/html_base.h"#include "dom/html_misc.h"#include "dom/html_form.h"#include "misc/loader_client.h"#include "ecma/kjs_binding.h"#include "ecma/kjs_dom.h"#include "xml/dom_nodeimpl.h"  // for NodeImpl::Idnamespace KJS {  class HTMLElement;  class HTMLDocument : public DOMDocument {  public:    HTMLDocument(ExecState *exec, const DOM::HTMLDocument& d);    virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;    virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);    void putValueProperty(ExecState *exec, int token, const Value& value, int /*attr*/);    virtual bool hasProperty(ExecState *exec, const Identifier &propertyName) const;    virtual const ClassInfo* classInfo() const { return &info; }    static const ClassInfo info;    enum { Title, Referrer, Domain, URL, Body, Location, Cookie,           Images, Applets, Links, Forms, Layers, Anchors, Scripts, All, Clear, Open, Close,           Write, WriteLn, GetElementsByName, GetSelection, CaptureEvents, ReleaseEvents,           BgColor, FgColor, AlinkColor, LinkColor, VlinkColor, LastModified,           Height, Width, Dir, Frames, CompatMode };    DOM::Document toDocument() const { return static_cast<DOM::Document>( node ); }  };  class HTMLElement : public DOMElement {  public:    HTMLElement(ExecState *exec, const DOM::HTMLElement& e) : DOMElement(exec, e) { }    virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;    Value getValueProperty(ExecState *exec, int token) const;    virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);    void putValueProperty(ExecState *exec, int token, const Value& value, int);    virtual bool hasProperty(ExecState *exec, const Identifier &propertyName) const;    virtual UString toString(ExecState *exec) const;    virtual void pushEventHandlerScope(ExecState *exec, ScopeChain &scope) const;    virtual const ClassInfo* classInfo() const;    static const ClassInfo info;    static const ClassInfo html_info, head_info, link_info, title_info,      meta_info, base_info, isIndex_info, style_info, body_info, form_info,      select_info, optGroup_info, option_info, input_info, textArea_info,      button_info, label_info, fieldSet_info, legend_info, ul_info, ol_info,      dl_info, dir_info, menu_info, li_info, div_info, p_info, heading_info,      blockQuote_info, q_info, pre_info, br_info, baseFont_info, font_info,      hr_info, mod_info, a_info, img_info, object_info, param_info,      applet_info, map_info, area_info, script_info, table_info,      caption_info, col_info, tablesection_info, tr_info,      tablecell_info, frameSet_info, frame_info, iFrame_info, marquee_info, layer_info;    enum { HtmlVersion, HeadProfile, LinkHref, LinkRel, LinkMedia,           LinkCharset, LinkDisabled, LinkHrefLang, LinkRev, LinkTarget, LinkType,           LinkSheet, TitleText, MetaName, MetaHttpEquiv, MetaContent, MetaScheme,           BaseHref, BaseTarget, IsIndexForm, IsIndexPrompt, StyleDisabled,           StyleSheet, StyleType, StyleMedia, BodyBackground, BodyVLink, BodyText,           BodyLink, BodyALink, BodyBgColor,  BodyScrollLeft, BodyScrollTop,           BodyScrollHeight, BodyScrollWidth, BodyOnLoad,           FormAction, FormEncType, FormElements, FormLength, FormAcceptCharset,           FormReset, FormTarget, FormName, FormMethod, FormSubmit, SelectAdd,           SelectTabIndex, SelectValue, SelectSelectedIndex, SelectLength,           SelectRemove, SelectForm, SelectBlur, SelectType, SelectOptions,           SelectDisabled, SelectMultiple, SelectName, SelectSize, SelectFocus,           OptGroupDisabled, OptGroupLabel, OptionIndex, OptionSelected,           OptionForm, OptionText, OptionDefaultSelected, OptionDisabled,           OptionLabel, OptionValue, InputBlur, InputReadOnly, InputAccept,           InputSize, InputDefaultValue, InputTabIndex, InputValue, InputType,           InputFocus, InputMaxLength, InputDefaultChecked, InputDisabled,           InputChecked, InputForm, InputAccessKey, InputAlign, InputAlt,           InputName, InputSrc, InputUseMap, InputSelect, InputClick,           TextAreaAccessKey, TextAreaName, TextAreaDefaultValue, TextAreaSelect,           TextAreaCols, TextAreaDisabled, TextAreaForm, TextAreaType,           TextAreaTabIndex, TextAreaReadOnly, TextAreaRows, TextAreaValue,           TextAreaBlur, TextAreaFocus, ButtonBlur, ButtonFocus, ButtonForm, ButtonTabIndex, ButtonName,           ButtonDisabled, ButtonAccessKey, ButtonType, ButtonValue, LabelHtmlFor,           LabelForm, LabelAccessKey, FieldSetForm, LegendForm, LegendAccessKey,           LegendAlign, UListType, UListCompact, OListStart, OListCompact,           OListType, DListCompact, DirectoryCompact, MenuCompact, LIType,           LIValue, DivAlign, ParagraphAlign, HeadingAlign, BlockQuoteCite,           QuoteCite, PreWidth, BRClear, BaseFontColor, BaseFontSize,           BaseFontFace, FontColor, FontSize, FontFace, HRWidth, HRNoShade,           HRAlign, HRSize, ModCite, ModDateTime, AnchorShape, AnchorRel,           AnchorAccessKey, AnchorCoords, AnchorHref, AnchorProtocol, AnchorHost,           AnchorCharset, AnchorHrefLang, AnchorHostname, AnchorType, AnchorFocus,           AnchorPort, AnchorPathName, AnchorHash, AnchorSearch, AnchorName,           AnchorRev, AnchorTabIndex, AnchorTarget, AnchorText, AnchorBlur, AnchorClick,            ImageName, ImageAlign, ImageHspace, ImageVspace, ImageUseMap, ImageAlt,           ImageLowSrc, ImageWidth, ImageIsMap, ImageBorder, ImageHeight,           ImageLongDesc, ImageSrc, ImageX, ImageY, ImageComplete, ObjectHspace, ObjectHeight, ObjectAlign,           ObjectBorder, ObjectCode, ObjectType, ObjectVspace, ObjectArchive,           ObjectDeclare, ObjectForm, ObjectCodeBase, ObjectCodeType, ObjectData,           ObjectName, ObjectStandby, ObjectTabIndex, ObjectUseMap, ObjectWidth, ObjectContentDocument,           ParamName, ParamType, ParamValueType, ParamValue, AppletArchive,           AppletAlt, AppletCode, AppletWidth, AppletAlign, AppletCodeBase,           AppletName, AppletHeight, AppletHspace, AppletObject, AppletVspace,           MapAreas, MapName, AreaHash, AreaHref, AreaTarget, AreaPort, AreaShape,           AreaCoords, AreaAlt, AreaAccessKey, AreaNoHref, AreaHost, AreaProtocol,           AreaHostName, AreaPathName, AreaSearch, AreaTabIndex, ScriptEvent,           ScriptType, ScriptHtmlFor, ScriptText, ScriptSrc, ScriptCharset,           ScriptDefer, TableSummary, TableTBodies, TableTHead, TableCellPadding,           TableDeleteCaption, TableCreateCaption, TableCaption, TableWidth,           TableCreateTFoot, TableAlign, TableTFoot, TableDeleteRow,           TableCellSpacing, TableRows, TableBgColor, TableBorder, TableFrame,           TableRules, TableCreateTHead, TableDeleteTHead, TableDeleteTFoot,           TableInsertRow, TableCaptionAlign, TableColCh, TableColChOff,           TableColAlign, TableColSpan, TableColVAlign, TableColWidth,           TableSectionCh, TableSectionDeleteRow, TableSectionChOff,           TableSectionRows, TableSectionAlign, TableSectionVAlign,           TableSectionInsertRow, TableRowSectionRowIndex, TableRowRowIndex,           TableRowChOff, TableRowCells, TableRowVAlign, TableRowCh,           TableRowAlign, TableRowBgColor, TableRowDeleteCell, TableRowInsertCell,           TableCellColSpan, TableCellNoWrap, TableCellAbbr, TableCellHeight,           TableCellWidth, TableCellCellIndex, TableCellChOff, TableCellBgColor,           TableCellCh, TableCellVAlign, TableCellRowSpan, TableCellHeaders,           TableCellAlign, TableCellAxis, TableCellScope, FrameSetCols,           FrameSetRows, FrameSrc, FrameLocation, FrameFrameBorder, FrameScrolling,           FrameMarginWidth, FrameLongDesc, FrameMarginHeight, FrameName,           FrameContentDocument, FrameContentWindow,           FrameNoResize, IFrameLongDesc, IFrameAlign,           IFrameFrameBorder, IFrameSrc, IFrameName, IFrameHeight,           IFrameMarginHeight, IFrameMarginWidth, IFrameScrolling, IFrameWidth,           IFrameContentDocument, IFrameContentWindow,           MarqueeStart, MarqueeStop,           LayerTop, LayerLeft, LayerVisibility, LayerBgColor, LayerClip, LayerDocument, LayerLayers,           ElementInnerHTML, ElementTitle, ElementId, ElementDir, ElementLang,           ElementClassName, ElementInnerText, ElementDocument, ElementChildren, ElementAll };    DOM::HTMLElement toElement() const { return static_cast<DOM::HTMLElement>(node); }  };  class HTMLElementFunction : public DOMFunction {  public:    HTMLElementFunction(ExecState *exec, int i, int len);    virtual Value tryCall(ExecState *exec, Object &thisObj, const List&args);  private:    int id;  };  class HTMLCollection : public DOMObject {  public:    HTMLCollection(ExecState *exec, const DOM::HTMLCollection& c);    ~HTMLCollection();    virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;    virtual Value call(ExecState *exec, Object &thisObj, const List&args);    virtual Value tryCall(ExecState *exec, Object &thisObj, const List&args);    virtual bool implementsCall() const { return true; }    virtual bool toBoolean(ExecState *) const;    virtual bool hasProperty(ExecState *exec, const Identifier &p) const;    enum { Item, NamedItem, Tags };    Value getNamedItems(ExecState *exec, const Identifier &propertyName) const;    virtual const ClassInfo* classInfo() const { return &info; }    static const ClassInfo info;    DOM::HTMLCollection toCollection() const { return collection; }    virtual void hide() { hidden = true; }  protected:    DOM::HTMLCollection collection;    bool hidden;  };  class HTMLSelectCollection : public HTMLCollection {  public:    HTMLSelectCollection(ExecState *exec, const DOM::HTMLCollection& c, const DOM::HTMLSelectElement& e)      : HTMLCollection(exec, c), element(e) { }    virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;    virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);  private:    DOM::HTMLSelectElement element;  };  ////////////////////// Option Object ////////////////////////  class OptionConstructorImp : public ObjectImp {  public:    OptionConstructorImp(ExecState *exec, const DOM::Document &d);    virtual bool implementsConstruct() const;    virtual Object construct(ExecState *exec, const List &args);  private:    DOM::Document doc;  };  ////////////////////// Image Object ////////////////////////  class ImageConstructorImp : public ObjectImp {  public:    ImageConstructorImp(ExecState *exec, const DOM::Document &d);    virtual bool implementsConstruct() const;    virtual Object construct(ExecState *exec, const List &args);  private:    DOM::Document doc;  };  Value getHTMLCollection(ExecState *exec, const DOM::HTMLCollection& c, bool hide=false);  Value getSelectHTMLCollection(ExecState *exec, const DOM::HTMLCollection& c, const DOM::HTMLSelectElement& e);} // namespace#endif

⌨️ 快捷键说明

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