diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/loader/FrameLoader.h')
-rw-r--r-- | src/3rdparty/webkit/WebCore/loader/FrameLoader.h | 271 |
1 files changed, 113 insertions, 158 deletions
diff --git a/src/3rdparty/webkit/WebCore/loader/FrameLoader.h b/src/3rdparty/webkit/WebCore/loader/FrameLoader.h index dd55552..a0c1c29 100644 --- a/src/3rdparty/webkit/WebCore/loader/FrameLoader.h +++ b/src/3rdparty/webkit/WebCore/loader/FrameLoader.h @@ -31,29 +31,27 @@ #define FrameLoader_h #include "CachePolicy.h" -#include "FormState.h" #include "FrameLoaderTypes.h" #include "ResourceRequest.h" +#include "ThreadableLoader.h" #include "Timer.h" -#if USE(LOW_BANDWIDTH_DISPLAY) -#include "CachedResourceClient.h" -#endif - namespace WebCore { class Archive; class AuthenticationChallenge; + class CachedFrame; class CachedPage; class CachedResource; class Document; class DocumentLoader; - class Element; class Event; class FormData; + class FormState; class Frame; class FrameLoaderClient; class HistoryItem; + class HTMLAppletElement; class HTMLFormElement; class HTMLFrameOwnerElement; class IconLoader; @@ -64,6 +62,7 @@ namespace WebCore { class ResourceLoader; class ResourceResponse; class ScriptSourceCode; + class ScriptString; class ScriptValue; class SecurityOrigin; class SharedBuffer; @@ -71,7 +70,6 @@ namespace WebCore { class TextResourceDecoder; class Widget; - struct FormSubmission; struct FrameLoadRequest; struct ScheduledRedirection; struct WindowFeatures; @@ -113,11 +111,7 @@ namespace WebCore { void* m_argument; }; - class FrameLoader : Noncopyable -#if USE(LOW_BANDWIDTH_DISPLAY) - , private CachedResourceClient -#endif - { + class FrameLoader : Noncopyable { public: FrameLoader(Frame*, FrameLoaderClient*); ~FrameLoader(); @@ -126,50 +120,42 @@ namespace WebCore { Frame* frame() const { return m_frame; } - // FIXME: This is not cool, people. We should aim to consolidate these variety of loading related methods into a smaller set, - // and try to reuse more of the same logic by extracting common code paths. + // FIXME: This is not cool, people. There are too many different functions that all start loads. + // We should aim to consolidate these into a smaller set of functions, and try to reuse more of + // the logic by extracting common code paths. + void prepareForLoadStart(); void setupForReplace(); void setupForReplaceByMIMEType(const String& newMIMEType); - void loadWithDocumentLoader(DocumentLoader*, FrameLoadType, PassRefPtr<FormState>); // Calls continueLoadAfterNavigationPolicy - void load(DocumentLoader*); // Calls loadWithDocumentLoader - - void loadWithNavigationAction(const ResourceRequest&, const NavigationAction&, // Calls loadWithDocumentLoader() - FrameLoadType, PassRefPtr<FormState>); - - void loadPostRequest(const ResourceRequest& inRequest, const String& referrer, // Called by loadFrameRequestWithFormAndValues(), calls loadWithNavigationAction - const String& frameName, Event* event, PassRefPtr<FormState> prpFormState); - - void loadURL(const KURL& newURL, const String& referrer, const String& frameName, // Called by loadFrameRequestWithFormAndValues(), calls loadWithNavigationAction or else dispatches to navigation policy delegate - FrameLoadType, Event* event, PassRefPtr<FormState> prpFormState); void loadURLIntoChildFrame(const KURL&, const String& referer, Frame*); - void loadFrameRequestWithFormAndValues(const FrameLoadRequest&, bool lockHistory, // Called by submitForm, calls loadPostRequest() - Event*, HTMLFormElement*, const HashMap<String, String>& formValues); + void loadFrameRequest(const FrameLoadRequest&, bool lockHistory, bool lockBackForwardList, // Called by submitForm, calls loadPostRequest and loadURL. + PassRefPtr<Event>, PassRefPtr<FormState>); - void load(const ResourceRequest&); // Called by WebFrame, calls (ResourceRequest, SubstituteData) - void load(const ResourceRequest&, const SubstituteData&); // Called both by WebFrame and internally, calls (DocumentLoader*) - void load(const ResourceRequest&, const String& frameName); // Called by WebPluginController + void load(const ResourceRequest&, bool lockHistory); // Called by WebFrame, calls load(ResourceRequest, SubstituteData). + void load(const ResourceRequest&, const SubstituteData&, bool lockHistory); // Called both by WebFrame and internally, calls load(DocumentLoader*). + void load(const ResourceRequest&, const String& frameName, bool lockHistory); // Called by WebPluginController. - void loadArchive(PassRefPtr<Archive> archive); + void loadArchive(PassRefPtr<Archive>); - // Returns true for any non-local URL. If Document parameter is supplied, its local load policy dictates, + // Returns true for any non-local URL. If document parameter is supplied, its local load policy dictates, // otherwise if referrer is non-empty and represents a local file, then the local load is allowed. - static bool canLoad(const KURL&, const String& referrer, const Document* theDocument = 0); + static bool canLoad(const KURL&, const String& referrer, const Document*); + static bool canLoad(const KURL&, const String& referrer, const SecurityOrigin* = 0); static void reportLocalLoadFailed(Frame*, const String& url); - static bool shouldHideReferrer(const KURL& url, const String& referrer); + static bool shouldHideReferrer(const KURL&, const String& referrer); // Called by createWindow in JSDOMWindowBase.cpp, e.g. to fulfill a modal dialog creation Frame* createWindow(FrameLoader* frameLoaderForFrameLookup, const FrameLoadRequest&, const WindowFeatures&, bool& created); - unsigned long loadResourceSynchronously(const ResourceRequest&, ResourceError&, ResourceResponse&, Vector<char>& data); + unsigned long loadResourceSynchronously(const ResourceRequest&, StoredCredentials, ResourceError&, ResourceResponse&, Vector<char>& data); bool canHandleRequest(const ResourceRequest&); // Also not cool. - void stopAllLoaders(); + void stopAllLoaders(DatabasePolicy = DatabasePolicyStop); void stopForUserCancel(bool deferCheckLoadComplete = false); bool isLoadingMainResource() const { return m_isLoadingMainResource; } @@ -180,13 +166,12 @@ namespace WebCore { String referrer() const; String outgoingReferrer() const; String outgoingOrigin() const; - void loadEmptyDocumentSynchronously(); DocumentLoader* activeDocumentLoader() const; - DocumentLoader* documentLoader() const; - DocumentLoader* policyDocumentLoader() const; - DocumentLoader* provisionalDocumentLoader() const; - FrameState state() const; + DocumentLoader* documentLoader() const { return m_documentLoader.get(); } + DocumentLoader* policyDocumentLoader() const { return m_policyDocumentLoader.get(); } + DocumentLoader* provisionalDocumentLoader() const { return m_provisionalDocumentLoader.get(); } + FrameState state() const { return m_state; } static double timeOfLastCompletedLoad(); bool shouldUseCredentialStorage(ResourceLoader*); @@ -199,6 +184,7 @@ namespace WebCore { void didReceiveData(ResourceLoader*, const char*, int, int lengthReceived); void didFinishLoad(ResourceLoader*); void didFailToLoad(ResourceLoader*, const ResourceError&); + void didLoadResourceByXMLHttpRequest(unsigned long identifier, const ScriptString& sourceString); const ResourceRequest& originalRequest() const; const ResourceRequest& initialRequest() const; void receivedMainResourceError(const ResourceError&, bool isComplete); @@ -223,14 +209,12 @@ namespace WebCore { bool representationExistsForURLScheme(const String& URLScheme); String generatedMIMETypeForURLScheme(const String& URLScheme); - void notifyIconChanged(); - void checkNavigationPolicy(const ResourceRequest&, NavigationPolicyDecisionFunction function, void* argument); void checkContentPolicy(const String& MIMEType, ContentPolicyDecisionFunction, void* argument); void cancelContentPolicyCheck(); void reload(bool endToEndReload = false); - void reloadAllowingStaleData(const String& overrideEncoding); + void reloadWithOverrideEncoding(const String& overrideEncoding); void didReceiveServerRedirectForProvisionalLoadForFrame(); void finishedLoadingDocument(DocumentLoader*); @@ -245,55 +229,42 @@ namespace WebCore { void didChangeTitle(DocumentLoader*); FrameLoadType loadType() const; - CachePolicy cachePolicy() const; + CachePolicy subresourceCachePolicy() const; void didFirstLayout(); bool firstLayoutDone() const; void didFirstVisuallyNonEmptyLayout(); - void clientRedirectCancelledOrFinished(bool cancelWithLoadInProgress); - void clientRedirected(const KURL&, double delay, double fireDate, bool lockHistory, bool isJavaScriptFormAction); - bool shouldReload(const KURL& currentURL, const KURL& destinationURL); #if ENABLE(WML) void setForceReloadWmlDeck(bool); #endif - bool isQuickRedirectComing() const; - - void sendRemainingDelegateMessages(unsigned long identifier, const ResourceResponse&, int length, const ResourceError&); - void requestFromDelegate(ResourceRequest&, unsigned long& identifier, ResourceError&); void loadedResourceFromMemoryCache(const CachedResource*); void tellClientAboutPastMemoryCacheLoads(); - void recursiveCheckLoadComplete(); void checkLoadComplete(); void detachFromParent(); - void detachChildren(); void addExtraFieldsToSubresourceRequest(ResourceRequest&); void addExtraFieldsToMainResourceRequest(ResourceRequest&); static void addHTTPOriginIfNeeded(ResourceRequest&, String origin); - FrameLoaderClient* client() const; + FrameLoaderClient* client() const { return m_client; } void setDefersLoading(bool); - void changeLocation(const String& url, const String& referrer, bool lockHistory = true, bool userGesture = false, bool refresh = false); - void changeLocation(const KURL&, const String& referrer, bool lockHistory = true, bool userGesture = false, bool refresh = false); - void urlSelected(const ResourceRequest&, const String& target, Event*, bool lockHistory, bool userGesture); - void urlSelected(const FrameLoadRequest&, Event*, bool lockHistory); - + void changeLocation(const KURL&, const String& referrer, bool lockHistory = true, bool lockBackForwardList = true, bool userGesture = false, bool refresh = false); + void urlSelected(const ResourceRequest&, const String& target, PassRefPtr<Event>, bool lockHistory, bool lockBackForwardList, bool userGesture); bool requestFrame(HTMLFrameOwnerElement*, const String& url, const AtomicString& frameName); - Frame* loadSubframe(HTMLFrameOwnerElement*, const KURL&, const String& name, const String& referrer); - void submitForm(const char* action, const String& url, PassRefPtr<FormData>, const String& target, const String& contentType, const String& boundary, Event*); - void submitFormAgain(); - void submitForm(const FrameLoadRequest&, Event*); + void submitForm(const char* action, const String& url, + PassRefPtr<FormData>, const String& target, const String& contentType, const String& boundary, + bool lockHistory, bool lockBackForwardList, PassRefPtr<Event>, PassRefPtr<FormState>); void stop(); - void stopLoading(bool sendUnload); + void stopLoading(bool sendUnload, DatabasePolicy = DatabasePolicyStop); bool closeURL(); void didExplicitOpen(); @@ -302,24 +273,21 @@ namespace WebCore { void commitIconURLToIconDatabase(const KURL&); KURL baseURL() const; - String baseTarget() const; - KURL dataURLBaseFromRequest(const ResourceRequest& request) const; bool isScheduledLocationChangePending() const { return m_scheduledRedirection && isLocationChange(*m_scheduledRedirection); } void scheduleHTTPRedirection(double delay, const String& url); - void scheduleLocationChange(const String& url, const String& referrer, bool lockHistory = true, bool userGesture = false); + void scheduleLocationChange(const String& url, const String& referrer, bool lockHistory = true, bool lockBackForwardList = true, bool userGesture = false); void scheduleRefresh(bool userGesture = false); void scheduleHistoryNavigation(int steps); bool canGoBackOrForward(int distance) const; void goBackOrForward(int distance); int getHistoryLength(); - KURL historyURL(int distance); void begin(); void begin(const KURL&, bool dispatchWindowObjectAvailable = true, SecurityOrigin* forcedSecurityOrigin = 0); - void write(const char* str, int len = -1, bool flush = false); + void write(const char* string, int length = -1, bool flush = false); void write(const String&); void end(); void endIfNotLoadingMainResource(); @@ -327,24 +295,20 @@ namespace WebCore { void setEncoding(const String& encoding, bool userChosen); String encoding() const; - // Returns true if url is a JavaScript URL. - bool executeIfJavaScriptURL(const KURL& url, bool userGesture = false, bool replaceDocument = true); - ScriptValue executeScript(const ScriptSourceCode&); ScriptValue executeScript(const String& script, bool forceUserGesture = false); void gotoAnchor(); - bool gotoAnchor(const String& name); // returns true if the anchor was found - void scrollToAnchor(const KURL&); void tokenizerProcessedData(); void handledOnloadEvents(); String userAgent(const KURL&) const; - Widget* createJavaAppletWidget(const IntSize&, Element*, const HashMap<String, String>& args); + Widget* createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const HashMap<String, String>& args); void dispatchWindowObjectAvailable(); + void dispatchDocumentElementAvailable(); void restoreDocumentState(); Frame* opener(); @@ -352,26 +316,18 @@ namespace WebCore { bool openedByDOM() const; void setOpenedByDOM(); - void provisionalLoadStarted(); - bool userGestureHint(); void resetMultipleFormSubmissionProtection(); - void didNotOpenURL(const KURL&); void addData(const char* bytes, int length); - bool canCachePage(); - void checkCallImplicitClose(); - bool didOpenURL(const KURL&); void frameDetached(); const KURL& url() const { return m_URL; } - void updateBaseURLForEmptyDocument(); - void setResponseMIMEType(const String&); const String& responseMIMEType() const; @@ -380,12 +336,6 @@ namespace WebCore { void loadDone(); void finishedParsing(); void checkCompleted(); - void scheduleCheckCompleted(); - void scheduleCheckLoadComplete(); - - void clearRecordedFormValues(); - void setFormAboutToBeSubmitted(PassRefPtr<HTMLFormElement> element); - void recordFormValue(const String& name, const String& value); bool isComplete() const; @@ -394,53 +344,33 @@ namespace WebCore { KURL completeURL(const String& url); - KURL originalRequestURL() const; - void cancelAndClear(); void setTitle(const String&); - - bool shouldTreatURLAsSameAsCurrent(const KURL&) const; void commitProvisionalLoad(PassRefPtr<CachedPage>); void goToItem(HistoryItem*, FrameLoadType); void saveDocumentAndScrollState(); - void saveScrollPositionAndViewStateToItem(HistoryItem*); - // FIXME: These accessors are here for a dwindling number of users in WebKit, WebFrame - // being the primary one. After they're no longer needed there, they can be removed! HistoryItem* currentHistoryItem(); - HistoryItem* previousHistoryItem(); - HistoryItem* provisionalHistoryItem(); void setCurrentHistoryItem(PassRefPtr<HistoryItem>); - void setPreviousHistoryItem(PassRefPtr<HistoryItem>); - void setProvisionalHistoryItem(PassRefPtr<HistoryItem>); - - void continueLoadWithData(SharedBuffer*, const String& mimeType, const String& textEncoding, const KURL&); enum LocalLoadPolicy { - AllowLocalLoadsForAll, // No restriction on local loads. - AllowLocalLoadsForLocalAndSubstituteData, - AllowLocalLoadsForLocalOnly, + AllowLocalLoadsForAll, // No restriction on local loads. + AllowLocalLoadsForLocalAndSubstituteData, + AllowLocalLoadsForLocalOnly, }; static void setLocalLoadPolicy(LocalLoadPolicy); static bool restrictAccessToLocal(); static bool allowSubstituteDataAccessToLocal(); - static void registerURLSchemeAsLocal(const String& scheme); + static void registerURLSchemeAsLocal(const String&); static bool shouldTreatURLAsLocal(const String&); - static bool shouldTreatSchemeAsLocal(const String&); - -#if USE(LOW_BANDWIDTH_DISPLAY) - bool addLowBandwidthDisplayRequest(CachedResource*); - void needToSwitchOutLowBandwidthDisplay() { m_needToSwitchOutLowBandwidthDisplay = true; } + static bool shouldTreatURLSchemeAsLocal(const String&); - // Client can control whether to use low bandwidth display on a per frame basis. - // However, this should only be used for the top frame, not sub-frame. - void setUseLowBandwidthDisplay(bool lowBandwidth) { m_useLowBandwidthDisplay = lowBandwidth; } - bool useLowBandwidthDisplay() const { return m_useLowBandwidthDisplay; } -#endif + static void registerURLSchemeAsNoAccess(const String&); + static bool shouldTreatURLSchemeAsNoAccess(const String&); bool committingFirstRealLoad() const { return !m_creatingInitialEmptyDocument && !m_committedFirstRealDocumentLoad; } @@ -453,10 +383,18 @@ namespace WebCore { void applyUserAgent(ResourceRequest& request); + bool shouldInterruptLoadForXFrameOptions(const String&, const KURL&); + private: PassRefPtr<HistoryItem> createHistoryItem(bool useOriginal); PassRefPtr<HistoryItem> createHistoryItemTree(Frame* targetFrame, bool clipAtTarget); + bool canCachePageContainingThisFrame(); +#ifndef NDEBUG + void logCanCachePageDecision(); + bool logCanCacheFrameDecision(int indentLevel); +#endif + void addBackForwardItemClippedAtTarget(bool doClip); void restoreScrollPositionAndViewState(); void saveDocumentState(); @@ -469,7 +407,7 @@ namespace WebCore { void updateHistoryForBackForwardNavigation(); void updateHistoryForReload(); void updateHistoryForStandardLoad(); - void updateHistoryForRedirectWithLockedHistory(); + void updateHistoryForRedirectWithLockedBackForwardList(); void updateHistoryForClientRedirect(); void updateHistoryForCommit(); void updateHistoryForAnchorScroll(); @@ -494,8 +432,8 @@ namespace WebCore { void receivedFirstData(); - void updatePolicyBaseURL(); - void setPolicyBaseURL(const KURL&); + void updateFirstPartyForCookies(); + void setFirstPartyForCookies(const KURL&); void addExtraFieldsToRequest(ResourceRequest&, FrameLoadType loadType, bool isMainResource, bool cookiePolicyURLFromRequest); @@ -511,10 +449,8 @@ namespace WebCore { void setLoadType(FrameLoadType); - void checkNavigationPolicy(const ResourceRequest&, DocumentLoader*, PassRefPtr<FormState>, - NavigationPolicyDecisionFunction, void* argument); - void checkNewWindowPolicy(const NavigationAction&, const ResourceRequest&, - PassRefPtr<FormState>, const String& frameName); + void checkNavigationPolicy(const ResourceRequest&, DocumentLoader*, PassRefPtr<FormState>, NavigationPolicyDecisionFunction, void* argument); + void checkNewWindowPolicy(const NavigationAction&, const ResourceRequest&, PassRefPtr<FormState>, const String& frameName); void continueAfterNavigationPolicy(PolicyAction); void continueAfterNewWindowPolicy(PolicyAction); @@ -527,13 +463,11 @@ namespace WebCore { void continueLoadAfterNewWindowPolicy(const ResourceRequest&, PassRefPtr<FormState>, const String& frameName, bool shouldContinue); static void callContinueFragmentScrollAfterNavigationPolicy(void*, const ResourceRequest&, PassRefPtr<FormState>, bool shouldContinue); void continueFragmentScrollAfterNavigationPolicy(const ResourceRequest&, bool shouldContinue); - bool shouldScrollToAnchor(bool isFormSubmission, FrameLoadType loadType, const KURL& url); + bool shouldScrollToAnchor(bool isFormSubmission, FrameLoadType, const KURL&); void addHistoryItemForFragmentScroll(); void stopPolicyCheck(); - void closeDocument(); - void checkLoadCompleteForThisFrame(); void setDocumentLoader(DocumentLoader*); @@ -544,7 +478,8 @@ namespace WebCore { void closeOldDataSources(); void open(CachedPage&); - void opened(); + void open(CachedFrame&); + void updateHistoryAfterClientRedirect(); void clear(bool clearWindowProperties = true, bool clearScriptObjects = true); @@ -556,14 +491,6 @@ namespace WebCore { void startRedirectionTimer(); void stopRedirectionTimer(); -#if USE(LOW_BANDWIDTH_DISPLAY) - // implementation of CachedResourceClient - virtual void notifyFinished(CachedResource*); - - void removeAllLowBandwidthDisplayRequests(); - void switchOutLowBandwidthDisplayIfReady(); -#endif - void dispatchDidCommitLoad(); void dispatchAssignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader*, const ResourceRequest&); void dispatchWillSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest&, const ResourceResponse& redirectResponse); @@ -572,6 +499,53 @@ namespace WebCore { void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier); static bool isLocationChange(const ScheduledRedirection&); + void scheduleFormSubmission(const FrameLoadRequest&, bool lockHistory, bool lockBackForwardList, PassRefPtr<Event>, PassRefPtr<FormState>); + + void loadWithDocumentLoader(DocumentLoader*, FrameLoadType, PassRefPtr<FormState>); // Calls continueLoadAfterNavigationPolicy + void load(DocumentLoader*); // Calls loadWithDocumentLoader + + void loadWithNavigationAction(const ResourceRequest&, const NavigationAction&, // Calls loadWithDocumentLoader + bool lockHistory, FrameLoadType, PassRefPtr<FormState>); + + void loadPostRequest(const ResourceRequest&, const String& referrer, // Called by loadFrameRequest, calls loadWithNavigationAction + const String& frameName, bool lockHistory, FrameLoadType, PassRefPtr<Event>, PassRefPtr<FormState>); + void loadURL(const KURL&, const String& referrer, const String& frameName, // Called by loadFrameRequest, calls loadWithNavigationAction or dispatches to navigation policy delegate + bool lockHistory, FrameLoadType, PassRefPtr<Event>, PassRefPtr<FormState>); + + void clientRedirectCancelledOrFinished(bool cancelWithLoadInProgress); + void clientRedirected(const KURL&, double delay, double fireDate, bool lockBackForwardList); + bool shouldReload(const KURL& currentURL, const KURL& destinationURL); + + void sendRemainingDelegateMessages(unsigned long identifier, const ResourceResponse&, int length, const ResourceError&); + void requestFromDelegate(ResourceRequest&, unsigned long& identifier, ResourceError&); + + void recursiveCheckLoadComplete(); + + void detachChildren(); + void closeAndRemoveChild(Frame*); + + Frame* loadSubframe(HTMLFrameOwnerElement*, const KURL&, const String& name, const String& referrer); + + // Returns true if argument is a JavaScript URL. + bool executeIfJavaScriptURL(const KURL&, bool userGesture = false, bool replaceDocument = true); + + bool gotoAnchor(const String& name); // returns true if the anchor was found + void scrollToAnchor(const KURL&); + + void provisionalLoadStarted(); + + bool canCachePage(); + + bool didOpenURL(const KURL&); + + void scheduleCheckCompleted(); + void scheduleCheckLoadComplete(); + + KURL originalRequestURL() const; + + bool shouldTreatURLAsSameAsCurrent(const KURL&) const; + + void saveScrollPositionAndViewStateToItem(HistoryItem*); Frame* m_frame; FrameLoaderClient* m_client; @@ -601,12 +575,9 @@ namespace WebCore { bool m_quickRedirectComing; bool m_sentRedirectNotification; bool m_inStopAllLoaders; - bool m_navigationDuringLoad; String m_outgoingReferrer; - OwnPtr<FormSubmission> m_deferredFormSubmission; - bool m_isExecutingJavaScriptFormAction; bool m_isRunningScript; @@ -614,6 +585,7 @@ namespace WebCore { bool m_didCallImplicitClose; bool m_wasUnloadEventEmitted; + bool m_unloadEventBeingDispatched; bool m_isComplete; bool m_isLoadingMainResource; @@ -636,8 +608,6 @@ namespace WebCore { bool m_containsPlugIns; - RefPtr<HTMLFormElement> m_formAboutToBeSubmitted; - HashMap<String, String> m_formValuesAboutToBeSubmitted; KURL m_submittedFormURL; Timer<FrameLoader> m_redirectionTimer; @@ -663,26 +633,11 @@ namespace WebCore { bool m_didDispatchDidCommitLoad; #endif -#if USE(LOW_BANDWIDTH_DISPLAY) - // whether to use low bandwidth dislay, set by client - bool m_useLowBandwidthDisplay; - - // whether to call finishParsing() in switchOutLowBandwidthDisplayIfReady() - bool m_finishedParsingDuringLowBandwidthDisplay; - - // whether to call switchOutLowBandwidthDisplayIfReady; - // true if there is external css, javascript, or subframe/plugin - bool m_needToSwitchOutLowBandwidthDisplay; - - String m_pendingSourceInLowBandwidthDisplay; - HashSet<CachedResource*> m_externalRequestsInLowBandwidthDisplay; -#endif - #if ENABLE(WML) bool m_forceReloadWmlDeck; #endif }; -} +} // namespace WebCore -#endif +#endif // FrameLoader_h |