| Index: third_party/WebKit/Source/core/timing/PerformanceBaseTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/timing/PerformanceBaseTest.cpp b/third_party/WebKit/Source/core/timing/PerformanceBaseTest.cpp
|
| index 4ceca4b0f8d38eeedbbc4b9429efb91be3892227..fa6848f9df68f268a0f4ac28f0cbf0cd5490b780 100644
|
| --- a/third_party/WebKit/Source/core/timing/PerformanceBaseTest.cpp
|
| +++ b/third_party/WebKit/Source/core/timing/PerformanceBaseTest.cpp
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "bindings/core/v8/PerformanceObserverCallback.h"
|
| #include "bindings/core/v8/V8BindingForTesting.h"
|
| +#include "core/testing/DummyPageHolder.h"
|
| #include "core/timing/PerformanceBase.h"
|
| #include "core/timing/PerformanceLongTaskTiming.h"
|
| #include "core/timing/PerformanceObserver.h"
|
| @@ -42,12 +43,23 @@ class PerformanceBaseTest : public ::testing::Test {
|
| m_observer = PerformanceObserver::create(scriptState, m_base, m_cb);
|
| }
|
|
|
| + void SetUp() override {
|
| + m_pageHolder = DummyPageHolder::create(IntSize(800, 600));
|
| + }
|
| +
|
| int numPerformanceEntriesInObserver() {
|
| return m_observer->m_performanceEntries.size();
|
| }
|
|
|
| + PerformanceNavigationTiming::NavigationType getNavigationType(
|
| + NavigationType type,
|
| + Document* document) {
|
| + return PerformanceBase::getNavigationType(type, document);
|
| + }
|
| +
|
| Persistent<TestPerformanceBase> m_base;
|
| Persistent<PerformanceObserver> m_observer;
|
| + std::unique_ptr<DummyPageHolder> m_pageHolder;
|
| Persistent<PerformanceObserverCallback> m_cb;
|
| };
|
|
|
| @@ -111,4 +123,24 @@ TEST_F(PerformanceBaseTest, AddLongTaskTiming) {
|
| "");
|
| EXPECT_EQ(1, numPerformanceEntriesInObserver()); // added an entry
|
| }
|
| +
|
| +TEST_F(PerformanceBaseTest, GetNavigationType) {
|
| + m_pageHolder->page().setVisibilityState(PageVisibilityStatePrerender, false);
|
| + PerformanceNavigationTiming::NavigationType returnedType =
|
| + getNavigationType(NavigationTypeBackForward, &m_pageHolder->document());
|
| + EXPECT_EQ(returnedType,
|
| + PerformanceNavigationTiming::NavigationType::Prerender);
|
| +
|
| + m_pageHolder->page().setVisibilityState(PageVisibilityStateHidden, false);
|
| + returnedType =
|
| + getNavigationType(NavigationTypeBackForward, &m_pageHolder->document());
|
| + EXPECT_EQ(returnedType,
|
| + PerformanceNavigationTiming::NavigationType::BackForward);
|
| +
|
| + m_pageHolder->page().setVisibilityState(PageVisibilityStateVisible, false);
|
| + returnedType = getNavigationType(NavigationTypeFormResubmitted,
|
| + &m_pageHolder->document());
|
| + EXPECT_EQ(returnedType,
|
| + PerformanceNavigationTiming::NavigationType::Navigate);
|
| +}
|
| } // namespace blink
|
|
|