diff options
Diffstat (limited to 'Source/WebCore/page/History.h')
-rw-r--r-- | Source/WebCore/page/History.h | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/Source/WebCore/page/History.h b/Source/WebCore/page/History.h index 1e8568594..e722a08be 100644 --- a/Source/WebCore/page/History.h +++ b/Source/WebCore/page/History.h @@ -10,10 +10,10 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -23,56 +23,56 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef History_h -#define History_h +#pragma once #include "DOMWindowProperty.h" +#include "ExceptionOr.h" #include "ScriptWrappable.h" #include "SerializedScriptValue.h" -#include "URL.h" -#include <wtf/Forward.h> -#include <wtf/PassRefPtr.h> -#include <wtf/RefCounted.h> namespace WebCore { +class Document; class Frame; -class ScriptExecutionContext; -typedef int ExceptionCode; +class URL; -class History : public ScriptWrappable, public RefCounted<History>, public DOMWindowProperty { +class History final : public ScriptWrappable, public RefCounted<History>, public DOMWindowProperty { public: - static PassRefPtr<History> create(Frame* frame) { return adoptRef(new History(frame)); } + static Ref<History> create(Frame& frame) { return adoptRef(*new History(frame)); } unsigned length() const; - PassRefPtr<SerializedScriptValue> state(); + SerializedScriptValue* state(); void back(); void forward(); - void go(int distance); + void go(int); - void back(ScriptExecutionContext*); - void forward(ScriptExecutionContext*); - void go(ScriptExecutionContext*, int distance); + void back(Document&); + void forward(Document&); + void go(Document&, int); bool stateChanged() const; bool isSameAsCurrentState(SerializedScriptValue*) const; - enum class StateObjectType { - Push, - Replace - }; - void stateObjectAdded(PassRefPtr<SerializedScriptValue>, const String& title, const String& url, StateObjectType, ExceptionCode&); + enum class StateObjectType { Push, Replace }; + ExceptionOr<void> stateObjectAdded(RefPtr<SerializedScriptValue>&&, const String& title, const String& url, StateObjectType); private: - explicit History(Frame*); + explicit History(Frame&); URL urlForState(const String& url); - PassRefPtr<SerializedScriptValue> stateInternal() const; + SerializedScriptValue* stateInternal() const; RefPtr<SerializedScriptValue> m_lastStateObjectRequested; + + unsigned m_currentStateObjectTimeSpanObjectsAdded { 0 }; + double m_currentStateObjectTimeSpanStart { 0.0 }; + + // For the main frame's History object to keep track of all state object usage. + uint64_t m_totalStateObjectUsage { 0 }; + + // For each individual History object to keep track of the most recent state object added. + uint64_t m_mostRecentStateObjectUsage { 0 }; }; } // namespace WebCore - -#endif // History_h |