summaryrefslogtreecommitdiff
path: root/Source/WebCore/page/History.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/page/History.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/page/History.h')
-rw-r--r--Source/WebCore/page/History.h52
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