Windows2003-3790/inetcore/mshtml/src/docdata.txt
2020-09-30 16:53:55 +02:00

406 lines
29 KiB
Plaintext

==============================================================================
== Data Items already done ==
==============================================================================
Please get rid of these:
CRect * _pRectFocus; // Points to the bounding rect of the last rendered focus region
unsigned _fCallingPunkOuterQI : 1; // In the middle of a call to the QI of CServer::_pUnkOuter
Leave alone:
DWORD _dwAutoSrchFlags; // Autosearch flags.
CAryUrlImgCtx _aryUrlImgCtx;
DWORD _dwCookieUrlImgCtxDef;
DECLARE_CDataAry(CAryActiveModelessDlgs, HWND, Mt(Mem), Mt(CDoc_aryActiveModelessDlgs))
CAryActiveModelessDlgs _aryActiveModeless;
ULONG _cFreeze; // Count of the freeze factor
CAccEvtArray _aryAccEvents;
CStr _cstrSetDomain; // OM set domain is subset of URLHostname
LONG _cInSslPrompt; // currently prompting about security
IInternetSecurityManager * _pSecurityMgr; // the normal security mgr
IInternetSecurityManager * _pPrintSecurityMgr; // security mgr used for print content when inside a printing dlg
CSecurityMgrSite _SecuritySite;
IActiveXSafetyProvider *_pActiveXSafetyProvider;
CClassTable _clsTab; // The class table
ILocalRegistry * _pLicenseMgr; // License manager for page.
ELEMENT_TAG _etagBlockDefault; // InitNew doesn't make sense if we move this
CCaret * _pCaret; // makes sense there's only one caret per trident instance
IHTMLEditor* _pIHTMLEditor; // Selection Manager.
HIMC _himcCache; // Cached if window's context is temporarily disabled
unsigned _fNotifyBeginSelection:1; // TRUE if we are broadcasting a WM_BEGINSELECTION Notification
SHORT _iWheelDeltaRemainder; // IntelliMouse wheel rotate zDelta
unsigned _fInhibitOnMouseOver:1; // TRUE if onmouseover event should not be fired, like when over a popup window.
BYTE _bLeadByte;
CDragDropSrcInfo * _pDragDropSrcInfo;
CDragDropTargetInfo * _pDragDropTargetInfo;
CDragStartInfo * _pDragStartInfo;
unsigned _fDragFeedbackVis:1;// Feedback rect has been drawn
unsigned _fIsDragDropSrc:1; // Originated the current drag-drop operation
unsigned _fFromCtrlPalette:1;
unsigned _fRightBtnDrag:1; // TRUE if right button drag occuring
unsigned _fSlowClick:1; // TRUE if the user started
// a right drag but didn't move
// the mouse when ending the drag
unsigned _fOnLoseCapture:1; // TRUE if we are in the process
unsigned _fGotKeyDown:1; // TRUE if we got a key down
unsigned _fGotKeyUp:1; // TRUE if we got a key up
unsigned _fGotLButtonDown:1; // TRUE if we got a left button down
unsigned _fGotMButtonDown:1; // TRUE if we got a middle button down
unsigned _fGotRButtonDown:1; // TRUE if we got a right button down
unsigned _fGotDblClk:1; // TRUE if we got a double click message
unsigned _fMouseOverTimer:1; // TRUE if MouseMove timer is set for detecting exit event
unsigned _fSuspendTimeout:1; // TRUE if timeout firing is off
unsigned _fForceCurrentElem:1;// TRUE if SetCurrentElem must succeed
unsigned _fCurrencySet:1; // TRUE if currency has been set at least once (to an element other than the root)
// of firing onlosecapture
unsigned _fInhibitFocusFiring:1; // TRUE if we shouldn't Fire_onfocus() when
// when handling the WM_SETFOCUS event
unsigned _fFirstTimeTab:1; // TRUE if this is the first time
// Trident receives TAB key,
// should not process this message
// and move focus to address bar.
unsigned _fNeedTabOut:1; // TRUE if we should not handle
// this SHIFT VK_TAB WM_KEYDOWN
// message, this is Raid 61972
unsigned _fModalDialogInOnblur : 1; // TRUE if a modal dialog pops up in script in any onblur event handler.
// Enables firing of onfocus again in such cases.
CDoc* _pDocPopup;
CDoc* _pPopupParentDoc;
CElement * _pMenuObject; // The site on which to call it
CTreeNode * _pNodeLastMouseOver; // element last fired mouseOver event
CLayoutContext * _pLCLastMouseOver; // layout context for _pNodeLastMouseOver
long _lSubDivisionLast; // Last subdivision over the mouse
CTreeNode * _pNodeGotButtonDown; // Site that last got a button down.
CStackAryCapture _aryStackCapture;
CDefaultElement * _pElementDefault;
CElement * _pElemUIActive; // ptr to that's showing UI. Need not
// be the same as the current site.
CElement * _pElemCurrent; // ptr to current element. Owner of focus
// and commands get routed here.
CElement * _pElemDefault; // ptr to default element.
long _lSubCurrent; // Subdivision within element that is current
CElement * _pElemNext; // the next element to be current.
// used by SetCurrentElem during currency transitions.
CFakeDocUIWindow _FakeDocUIWindow;
CFakeInPlaceFrame _FakeInPlaceFrame;
static UINT _g_msgHtmlGetobject; // Registered window message for WM_HTML_GETOBJECT
static UINT _g_msgImeReconvert; // for IME reconversion.
CParentUndo * _pMarkupServicesParentUndo;
long _uOpenUnitsCounter;
DWORD _dwTID;
CStr _cstrCntrApp; // top-level container app & obj names
CStr _cstrCntrObj; // from IOleObject::SetHostNames
COmWindowProxy * _pWindowPrimary; // ptr to primary window
CView _view;
IDocHostUIHandler * _pHostUIHandler;
IDocHostUIHandler * _pBackupHostUIHandler; // To route calls when our primary fails us.
IOleCommandTarget * _pHostUICommandHandler; // Command Target of UI handler
DWORD _dwFlagsHostInfo;
CStr _cstrHostCss; // css rules sent down by host.
CStr _cstrHostNS; // semi-colon delimited namespace list
USHORT _usNumVerbs; // Number of verbs on context menu.
HWND _hwndCached; // window which hangs around while we are in running state
IHlinkBrowseContext *_phlbc; // Hyperlink browse context (history etc)
IUrlHistoryStg *_pUrlHistoryStg;
DECLARE_CPtrAry(CAryMarkupNotifyInPlace, CMarkup*, Mt(Mem), Mt(CDoc_aryMarkupNotifyInPlace))
CAryMarkupNotifyInPlace _aryMarkupNotifyInPlace;
void * _pvPics; // Place to store pics tags during first navigate before we get a command target
BSTR _bstrUserAgent;
IDownloadNotify * _pDownloadNotify;
unsigned _fDisableTiledPaint:1;
unsigned _fUpdateUIPending:1;
unsigned _fNeedUpdateUI:1;
unsigned _fNeedUpdateTitle:1;
unsigned _fInPlaceActivating:1;
unsigned _fInHTMLDlg:1; // there are cases that we need to know this.
unsigned _fInTrustedHTMLDlg:1; // there are cases that we also need to know this.
unsigned _fInHTMLPropPage:1; // used by CDoc::DetachWin for Win9x bug workaround
unsigned _fEnableInteraction:1; // FALSE when the browser window is minimized or
// totally covered by other windows.
unsigned _fModalDialogInScript:1; // Exclusively for use by PumpMessage() to
// figure out if an event handler put up a
// a modal dialog
unsigned _fInvalInScript:1; // Exclusively for use by PumpMessage() to
// figure out if an event handler caused an
// invalidation.
unsigned _fInPumpMessage:1; // Exclusively for use by PumpMessage() to
// to handle recursive calls
unsigned _fDeferredScripts:1; // TRUE iff there are deferred scripts not commited yet
unsigned _fUIHandlerSet:1; // Set to TRUE when ICustomDoc::SetUIHandler is called successfully
unsigned _fNeedInPlaceActivation:1; // TRUE for script and objects, FALSE for LINK stylesheets
unsigned _fHtAmbientPalette:1; // TRUE if ambient palette is the halftone palette
unsigned _fHtDocumentPalette:1; // TRUE if document palette is the halftone palette
unsigned _fPersistStreamSync : 1; // Next LoadFromStream should be synchronous
unsigned _fPasteIE40Absolutify : 1; // When parsing for paste, absolutify certain URLs
unsigned _fDisableReaderMode : 1; // auto-scroll reader mode should be disabled.
unsigned _fIsUpToDate : 1; // TRUE if doc is uptodate
unsigned _fThumbNailView : 1; // Are we in ThumbNailView? (if so, use the EnsureFormats()
workaround)
unsigned _fOutlook98 : 1; // In Outlook98?
unsigned _fOE4 : 1; // hosted in Outlook Express 4?
unsigned _fDontFireOnFocusForOutlook98:1; // Focus hack for Outlook98
unsigned _fDontUIActivateOleSite:1; // Do not UIActivate an olesite,but make it inplace active, if the Doc is not UIActive
unsigned _fVID : 1; // Call CDoc::OnControlInfoChanged when TRUE
unsigned _fVID7 : 1; // TODO: remove this
unsigned _fVB : 1; // TRUE if Trident's parent window class is "HTMLPageDesignerWndClass"
unsigned _fDefView : 1; // Use hack for defview?
unsigned _fActiveDesktop:1; // TRUE if this is the Trident instance in the Active Desktop.
unsigned _fProgressStatus : 1; // TRUE if progress status text should be transmitted to host
unsigned _fNoFixupURLsOnPaste : 1; // TRUE if we shouldn't make URLs absolute on images and anchors when they are pasted
unsigned _fHostedInHTA : 1; // TRUE if we are being hosted in an HTA.
unsigned _fHostNavigates:1; // TRUE if the host navigates and not Trident.
unsigned _fStartup:1; // TRUE if the document has just been created.
unsigned _fDontUpdateTravelLog:1; // TRUE means don't update the travel log - DUH!
unsigned _fSuperNavigate:1; // TRUE if the navigation came from CWindow::SuperNavigate().
unsigned _fFireDocHyperlink: 1; // Notify docobj host that we are finished navigating.
unsigned _fNotifyDocHostOnStartup:1; // TRUE if the dochost should be notified on startup.
unsigned _fPopupDoc : 1; // TRUE if this doc is hosted inside a popup window
unsigned _fOnControlInfoChangedPosted:1; // TRUE if GWPostMethodCall was called for CDoc::OnControlInfoChanged
unsigned _fNeedUrlImgCtxDeferredDownload:1;// TRUE if OnUrlImgCtxDeferredDownload was delayed because of ValidateSecureUrl
unsigned _fInHomePublisherDoc: 1; // TRUE if this doc was created by HomePublisher98
unsigned _fDontDownloadCSS: 1; // TRUE then don't download CSS files when a put_URL is called during
// designMode.
unsigned _fRespectVisibilityInDesign:1; // Visible::Hidden/ Display::None attributes ignoring for editing
WORD _wUIState;
IBrowserService * _pBrowserSvc; // IBrowserService of top-level browser.
IWebBrowser2 * _pTopWebOC; // IWebBrowser2 of the top-level browser.
ITravelLog * _pTravelLog; // The travel log of the top-level browser.
CWebOCEvents _webOCEvents;
IElementBehaviorFactory * _pFilterBehaviorFactory;
HPALETTE _hpalAmbient; // The palette we get back from the container
HPALETTE _hpalDocument; // The palette we create as needed
LOGPALETTE * _pColors; // A cache of our current color set
CVersions * _pVersions;
INamedPropertyBag * _pShortcutUserData; // the INPB object from shortcut userdata/navigation
CStr _cstrShortcutProfile; // the name of the file to hook up to the INPB
EVENTPARAM * _pparam; // Ptr to event params
CStyleSheetArray *_pHostStyleSheets; // All stylesheets given by host
unsigned _fIepeersFactoryEnsured:1; // true when default peer factory was attempted to create
ITypeInfo * _pAccTypeInfo;
long _iFontHistoryVersion; // for font history
CDocInfo _dciRender; // Cached rendering device metrics
unsigned _fIsPrintPreview:1;
unsigned _fIsPrintWithNoUI :1;
unsigned int _fTempFile:1;
unsigned _fPrintEvent:1; // TRUE is we are firing onbeforeprint or onafterprint
unsigned _fSaveTempfileForPrinting:1; // TRUE iff we are saving a temporary file for printing
/------ Peer stuff ---------
CAryPeerQueue _aryPeerQueue; // list of elements for which we know a peer should be attached
DWORD _dwPeerQueueProgressCookie; // taken while there are elements in the PeerQueue
CElement * _pElementIdentityPeerTask; // normally NULL, with exception of when EnsureIdentityPeerTask is pending
IElementBehaviorFactory * _pIepeersFactory; // iepeers factory
IElementBehaviorFactory * _pHostPeerFactory; // factory supplied by host
CExtendedTagTable * _pExtendedTagTableHost; // extended tag table provided by host
\---------------------------
/--------Progress display-------------
ULONG _ulProgressPos;
ULONG _ulProgressMax;
long _iStatusTop; // Topmost active status
CStr _acstrStatus[STL_LAYERS]; // Four layers of status text
unsigned _fShownSpin:1; // TRUE if animation state has been shown
unsigned _fShownProgPos:1; // TRUE if progress pos has been shown
unsigned _fShownProgMax:1; // TRUE if progress max has been shown
unsigned _fShownProgText:1; // TRUE if progress text has been shown
unsigned _fProgressFlash:1; // TRUE if progress should be cleared by next setstatustext
unsigned _fSpin:1; // Spin state of document
unsigned _fSeenDefaultStatus: 1; // TRUE if window.defaultStatus has been set before
\---------------------------
/--------Display & databinding (guess who?)-------------
int _cSurface; // Number of requests to use offscreen surfaces
int _c3DSurface; // Number of requests to use 3D surfaces (this count is included in _cSurface)
unsigned _fGotAuthorPalette:1; // We have an author defined palette (stored in CDwnDoc)
unsigned _fInvalNoninteractive:1; // TRUE if inavlidated while not interactive
LONG _bufferDepth; // sets bits-per-pixel for offscreen buffer
\-------------------------------------
Fixed:
unsigned _fSslSuppressedLoad : 1; // For SSL security reasons, this page was not loaded (an about: moniker was substituted)
SSL_SECURITY_STATE _sslSecurity; // unsecure/mixed/secure
SSL_PROMPT_STATE _sslPrompt; // allow/query/deny
TLS (?):
CHtPvPv _HtPvPv;
CHtPvPv _HtPvPv2;
CHtPvPv _HtPvPvDOMTextNodes;
long _lLastTextID;
CStr _cstrPasteUrl; // The URL during paste
LONG _lRecursionLevel; // the recursion level of the measurer
unsigned _fPlaintextSave : 1; // TRUE if currently saving as .txt
Removed:
HBRUSH _hSquiggleBrush;
HMENU _hMenuCtx; // Context menus
ULONG _cAsyncDownloading; // Count of async operations going on
DWORD _dwAsyncCookie; // ProgSink cookie for async operations
unsigned _fEnabled:1;
unsigned _fHaveDifferingLayoutFlows:1;
unsigned _fNoUndoActivate:1;
unsigned _fReadOnly:1;
unsigned _fOnPropertyChangePending :1; // The first activeElement property change is waiting for parse done.
unsigned _fForceSetCurrent:1; // Force CElement::BecomeCurrent() to execution
// even if CDoc::_pElemNext is itself,
// This is for SETFOCUS/KILLFOCUS
unsigned _fYieldCurrencyFailed:1; // hack to allow OleSite to figure out if a
// UIActivation failed becuase of YieldCurrency.
// Bit is only valid across an attempt to UIActivate
// an OleSite.
BYTE _modeClick;
BYTE _modeDblClick;
unsigned _cInval; // Number of calls to CDoc::Invalidate()
unsigned _fCPSelChange:1; // 0 = No, 1 = Yes (last user charset selection
// change is still not served)
unsigned _fUnwedgeFromPrinting:1; // TRUE if OnMethodCall might have to be unwedged due to untreated messages (53416).
unsigned _fPrintedDocSavedPlugins:1; // TRUE if CDoc::DoPrint saved a plugin ocx with marshaled punk to original instance (60771).
unsigned int _fHasPageBreaks:1;
SAFETYLEVEL _safetylevel; // user-defined safety setting for this page
CMkpSyncLogger _SyncLogger;
long __lDocTreeVersion; // Element structure
long __lDocContentsVersion; // Any content
Moved and no longer part of CDoc:
unsigned int _fXML:1;
unsigned int _fDontRunScripts:1;
CEditRouter _EditRouter; // done - put on CMarkupEditContext
unsigned _fShowZeroBorderAtDesignTime:1; // On CMarkup
// all glyph stuff below was moved to glyphtable on CMarkupEditCOntext
unsigned _fShowAlignedSiteTags:1; // Show align sites at design time
unsigned _fShowScriptTags:1; // Show SCRIPT at design time
unsigned _fShowCommentTags:1; // Show COMMENT and <!--...--> at design time
unsigned _fShowStyleTags:1; // Show STYLE tags at design time
unsigned _fShowAreaTags:1; // Show AREA tags at design time
unsigned _fShowUnknownTags:1; // Show unknown tags at design time
unsigned _fShowMiscTags:1; // Show other misc no scope tags at design time
CGlyph * _pGlyphTable;
unsigned _fShowWbrTags:1; // Show WBR tags at design time
unsigned _fSafetyInformed:1; // TRUE if user has been notified unsafe content avoided.
==============================================================================
== Work that needs to be done -- filed as bugs soon ==
==============================================================================
Maybe should be moved(?) but don't have to:
CAtomTable _AtomTable; // Mapping of elements to names
CXmlUrnAtomTable * _pXmlUrnAtomTable;
DWORD _dwTotalStatementCount; // How many statements have we executed
DWORD _dwMaxStatements; // Max number of statements before alert
Should probably be moved but don't have to:
unsigned _fHasScriptForEvent : 1; // TRUE if there is a script tag with FOR/EVENT
unsigned _fCssPeersPossible : 1; // TRUE if there is a possibility of css peers on this page
unsigned _fSendDocEndParse : 1; // TRUE if DocEndParse notification is requested to be sent
unsigned _fHasOleSite : 1; // There is an olesite somewhere
unsigned _fHasBaseTag : 1; // There is a base tag somewhere in the tree
unsigned _fHasViewSlave : 1; // TRUE if there are any viewslaves around.
unsigned _fBroadcastInteraction:1; // TRUE if broadcast of EnableInteraction is needed
unsigned _fBroadcastStop:1; // TRUE if broadcast of Stop is needed
unsigned _fContentSavePeersPossible:1;// TRUE if there is a possibility of peers on this page doing content save
long _iDocDotWriteVersion; // for doc.write history
Have to be investigated/worked on:
/---------per CDoc except for DLCTL_NO_SCRIPTS in CMarkup::ReportScriptError----
DWORD _dwLoadf; // Load flags (DLCTL_ + offline + silent)
\-------------------------------------
/--------Full window embed -- looks completely broke-----
CStr _cstrPluginContentType; // Full-window plugin content-type
CStr _cstrPluginCacheFilename; // Full-window plugin cache filename
unsigned _fFullWindowEmbed:1; // TRUE if we are hosting a plugin handled object
// in a synthsized <embed...> html document.
\-------------------------------------
ULONG _cDie; // Incremented whenever UnloadContents is called
Have to be fixed (there is a bug here):
#97839 DWORD _dwHistoryIndex; // the next available history index -- Bug #97839
#97840 unsigned _fInTraverseGroup:1; // TRUE if inside TraverseGroup for input radio -- Bug #97840
#97840 RADIOGRPNAME *_pRadioGrpName; // names of radio groups having checked radio -- Bug #97840
#97841 CMapElement * _pMapHead; // -- Bug #97841
unsigned _fExpando:1;
/---------style sheet downloading----
ULONG _cStylesheetDownloading; // Counts stylesheets being downloaded
DWORD _dwStylesheetDownloadingCookie;
\-------------------------------------
unsigned _fFrameSet:1;
#96969 unsigned _fFiredWindowFocus:1; // TRUE if Window onfocus event has been fired,
// FALSE if Window onblur has been fired.
unsigned _fTagsInFrameset:1; // TRUE if the parser has read non-<FRAME><FRAMESET><!--> tags in the frameset
DECLARE_CPtrAry(CAryElementDeferredScripts, CScriptElement *, Mt(Mem), Mt(CDoc_aryElementDeferredScripts_pv))
CAryElementDeferredScripts _aryElementDeferredScripts;
unsigned _fVisualOrder:1; // the document is RTL visual (logical is LTR)
// This is used for ISO-8859-8 and ISO-8859-6
// visually ordered documents.
unsigned _fSafeToUseCalcSizeHistory: 1; // set to TRUE if it is safe to use calc size history
DWORD _dwCompat; // URL compat DWORD
INT _triOMOffscreenOK; // tristate for Nav 4 parity of offscreenBuffering prop.
DECLARE_CPtrAry(CAryDefunctObjects, CObjectElement *, Mt(Mem), Mt(CDoc_aryDefunctObjects_pv))
CAryDefunctObjects _aryDefunctObjects;
DECLARE_CPtrAry(CAryChildDownloads, CProgressBindStatusCallback *, Mt(Mem), Mt(CDoc_aryChildDownloads_pv))
CAryChildDownloads _aryChildDownloads;
ITypeInfo * _pTypInfo; // Typ info created on the fly.
ITypeInfo * _pTypInfoCoClass; // Coclass created on the fly
#97853 unsigned _fSelectionHidden:1; // TRUE if We have hidden the seletion from a WM_KILLFOCUS
#97854 unsigned _fNoActivateNormalOleControls:1; // Don't activate OLE controls at design time
#97854 unsigned _fNoActivateDesignTimeControls:1; // Don't activate design time controls at design time
#97854 unsigned _fNoActivateJavaApplets:1; // Don't activate Java applets at design time
#97856 /----------------------------------
#ifdef VSTUDIO7MSEL
unsigned _fHostMultipleSiteSelection:1; // TRUE if host-augmented multiple site selection is allowed
#endif // VSTUDIO7MSEL
unsigned _fNoSelectionTracking:1; // defeat selection tracking
#endif
unsigned _fInHTMLEditMode:1; // Are we in HTML edit mode or plain text edit mode?
unsigned _fHostDrivesEditing: 1; // The Host has chosen to implement IHTMLEditor
\-------------------------------------
#96702 /---------Option/codepage settings----
OPTIONSETTINGS * _pOptionSettings; // Points to current user-configurable settings, like color, etc.
long _icfDefault; // Default CharFormat index based on option/codepage settings
const CCharFormat * _pcfDefault; // Default CharFormat based on option/codepage settings
unsigned _fGotAmbientDlcontrol:1;
SHORT _sBaselineFont;
\-------------------------------------
Appear useless but not sure:
unsigned _fOKEmbed:1; // TRUE if can drop as embedding
unsigned _fOKLink:1; // TRUE if can drop as link
unsigned _fFramesetInBody:1; // TRUE if the parser has read <FRAMESET> tags in the body
unsigned _fRegionCollection : 1; // TRUE if region collection should be built
SIZEL _sizelGrid;
==============================================================================
== Investigation needed by specific people and teams ==
==============================================================================
LMollico & OM team:
CScriptCookieTable * _pScriptCookieTable;
ULONG _cScriptNesting; // Counts nesting of Enter/Leave script
ULONG _badStateErrLine; // Error line # for stack overflow or out of memory.
unsigned _fStackOverflow: 1; // Script engine reported stack overflow
unsigned _fOutOfMemory: 1; // Script engine reported out of memory
unsigned _fEngineSuspended: 1; // Script engines have been suspended due to stack overflow or out of memory.
unsigned _fUserStopRunawayScript:1; // Set to TRUE when the user has decided to stop
// "CPU hogging" scripts
// Should be on the markup / window
CStr _cstrHistoryUserData; // the string for history userdata
IXMLDOMDocument * _pXMLHistoryUserData; // Sad but true, a temp place to hang this while
unsigned _fQueryContinueDialogIsUp:1; // TRUE if the QueryContinue dialog is up
// firing the persistence events
Expression guru:
/--------Drag Drop--------------------
unsigned _fPendingExpressionCallback:1; // An expression callback is pending
\-------------------------------------
Sam & Display team:
DataSourceListener *_pDSL;
unsigned _fPendingFilterCallback:1; // A filter callback is pending
CPendingFilterElementArray _aryPendingFilterElements;
CDocUpdateIntSink * _pUpdateIntSink; // Sink for updateInterval timer
ITimer * _pTimerDraw; // NAMEDTIMER_DRAW, for sync'ing control with paint