| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2014, Google Inc. All rights reserved. | 2 * Copyright (c) 2014, Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 m_dummyPageHolder = DummyPageHolder::create(IntSize(800, 600)); | 69 m_dummyPageHolder = DummyPageHolder::create(IntSize(800, 600)); |
| 70 } | 70 } |
| 71 | 71 |
| 72 void DocumentTest::setHtmlInnerHTML(const char* htmlContent) | 72 void DocumentTest::setHtmlInnerHTML(const char* htmlContent) |
| 73 { | 73 { |
| 74 document().documentElement()->setInnerHTML(String::fromUTF8(htmlContent), AS
SERT_NO_EXCEPTION); | 74 document().documentElement()->setInnerHTML(String::fromUTF8(htmlContent), AS
SERT_NO_EXCEPTION); |
| 75 document().view()->updateAllLifecyclePhases(); | 75 document().view()->updateAllLifecyclePhases(); |
| 76 } | 76 } |
| 77 | 77 |
| 78 class MockDocumentVisibilityObserver | 78 class MockDocumentVisibilityObserver |
| 79 : public NoBaseWillBeGarbageCollectedFinalized<MockDocumentVisibilityObserve
r> | 79 : public GarbageCollectedFinalized<MockDocumentVisibilityObserver> |
| 80 , public DocumentVisibilityObserver { | 80 , public DocumentVisibilityObserver { |
| 81 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(MockDocumentVisibilityObserver); | 81 USING_GARBAGE_COLLECTED_MIXIN(MockDocumentVisibilityObserver); |
| 82 public: | 82 public: |
| 83 static PassOwnPtrWillBeRawPtr<MockDocumentVisibilityObserver> create(Documen
t& document) | 83 static RawPtr<MockDocumentVisibilityObserver> create(Document& document) |
| 84 { | 84 { |
| 85 return adoptPtrWillBeNoop(new MockDocumentVisibilityObserver(document)); | 85 return new MockDocumentVisibilityObserver(document); |
| 86 } | 86 } |
| 87 | 87 |
| 88 DEFINE_INLINE_VIRTUAL_TRACE() | 88 DEFINE_INLINE_VIRTUAL_TRACE() |
| 89 { | 89 { |
| 90 DocumentVisibilityObserver::trace(visitor); | 90 DocumentVisibilityObserver::trace(visitor); |
| 91 } | 91 } |
| 92 | 92 |
| 93 MOCK_METHOD1(didChangeVisibilityState, void(PageVisibilityState)); | 93 MOCK_METHOD1(didChangeVisibilityState, void(PageVisibilityState)); |
| 94 MOCK_METHOD0(willDetachDocument, void()); | 94 MOCK_METHOD0(willDetachDocument, void()); |
| 95 | 95 |
| 96 private: | 96 private: |
| 97 MockDocumentVisibilityObserver(Document& document) : DocumentVisibilityObser
ver(document) { } | 97 MockDocumentVisibilityObserver(Document& document) : DocumentVisibilityObser
ver(document) { } |
| 98 }; | 98 }; |
| 99 | 99 |
| 100 TEST_F(DocumentTest, VisibilityOberver) | 100 TEST_F(DocumentTest, VisibilityOberver) |
| 101 { | 101 { |
| 102 page().setVisibilityState(PageVisibilityStateVisible, true); // initial stat
e | 102 page().setVisibilityState(PageVisibilityStateVisible, true); // initial stat
e |
| 103 OwnPtrWillBeRawPtr<MockDocumentVisibilityObserver> observer1 = MockDocumentV
isibilityObserver::create(document()); | 103 RawPtr<MockDocumentVisibilityObserver> observer1 = MockDocumentVisibilityObs
erver::create(document()); |
| 104 | 104 |
| 105 { | 105 { |
| 106 OwnPtrWillBeRawPtr<MockDocumentVisibilityObserver> observer2 = MockDocum
entVisibilityObserver::create(document()); | 106 RawPtr<MockDocumentVisibilityObserver> observer2 = MockDocumentVisibilit
yObserver::create(document()); |
| 107 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(0); | 107 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(0); |
| 108 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateVisi
ble)).Times(0); | 108 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateVisi
ble)).Times(0); |
| 109 EXPECT_CALL(*observer2, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(0); | 109 EXPECT_CALL(*observer2, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(0); |
| 110 EXPECT_CALL(*observer2, didChangeVisibilityState(PageVisibilityStateVisi
ble)).Times(0); | 110 EXPECT_CALL(*observer2, didChangeVisibilityState(PageVisibilityStateVisi
ble)).Times(0); |
| 111 ::testing::Mock::VerifyAndClearExpectations(observer1.get()); | 111 ::testing::Mock::VerifyAndClearExpectations(observer1.get()); |
| 112 ::testing::Mock::VerifyAndClearExpectations(observer2.get()); | 112 ::testing::Mock::VerifyAndClearExpectations(observer2.get()); |
| 113 | 113 |
| 114 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(1); | 114 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(1); |
| 115 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateVisi
ble)).Times(0); | 115 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateVisi
ble)).Times(0); |
| 116 EXPECT_CALL(*observer2, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(1); | 116 EXPECT_CALL(*observer2, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(1); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 | 186 |
| 187 } | 187 } |
| 188 | 188 |
| 189 // This test checks that Documunt::linkManifest() returns a value conform to the
specification. | 189 // This test checks that Documunt::linkManifest() returns a value conform to the
specification. |
| 190 TEST_F(DocumentTest, LinkManifest) | 190 TEST_F(DocumentTest, LinkManifest) |
| 191 { | 191 { |
| 192 // Test the default result. | 192 // Test the default result. |
| 193 EXPECT_EQ(0, document().linkManifest()); | 193 EXPECT_EQ(0, document().linkManifest()); |
| 194 | 194 |
| 195 // Check that we use the first manifest with <link rel=manifest> | 195 // Check that we use the first manifest with <link rel=manifest> |
| 196 RefPtrWillBeRawPtr<HTMLLinkElement> link = HTMLLinkElement::create(document(
), false); | 196 RawPtr<HTMLLinkElement> link = HTMLLinkElement::create(document(), false); |
| 197 link->setAttribute(blink::HTMLNames::relAttr, "manifest"); | 197 link->setAttribute(blink::HTMLNames::relAttr, "manifest"); |
| 198 link->setAttribute(blink::HTMLNames::hrefAttr, "foo.json"); | 198 link->setAttribute(blink::HTMLNames::hrefAttr, "foo.json"); |
| 199 document().head()->appendChild(link); | 199 document().head()->appendChild(link); |
| 200 EXPECT_EQ(link, document().linkManifest()); | 200 EXPECT_EQ(link, document().linkManifest()); |
| 201 | 201 |
| 202 RefPtrWillBeRawPtr<HTMLLinkElement> link2 = HTMLLinkElement::create(document
(), false); | 202 RawPtr<HTMLLinkElement> link2 = HTMLLinkElement::create(document(), false); |
| 203 link2->setAttribute(blink::HTMLNames::relAttr, "manifest"); | 203 link2->setAttribute(blink::HTMLNames::relAttr, "manifest"); |
| 204 link2->setAttribute(blink::HTMLNames::hrefAttr, "bar.json"); | 204 link2->setAttribute(blink::HTMLNames::hrefAttr, "bar.json"); |
| 205 document().head()->insertBefore(link2, link.get()); | 205 document().head()->insertBefore(link2, link.get()); |
| 206 EXPECT_EQ(link2, document().linkManifest()); | 206 EXPECT_EQ(link2, document().linkManifest()); |
| 207 document().head()->appendChild(link2); | 207 document().head()->appendChild(link2); |
| 208 EXPECT_EQ(link, document().linkManifest()); | 208 EXPECT_EQ(link, document().linkManifest()); |
| 209 | 209 |
| 210 // Check that crazy URLs are accepted. | 210 // Check that crazy URLs are accepted. |
| 211 link->setAttribute(blink::HTMLNames::hrefAttr, "http:foo.json"); | 211 link->setAttribute(blink::HTMLNames::hrefAttr, "http:foo.json"); |
| 212 EXPECT_EQ(link, document().linkManifest()); | 212 EXPECT_EQ(link, document().linkManifest()); |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 384 EXPECT_TRUE(document().getSecurityOrigin()->isPotentiallyTrustworthy()); | 384 EXPECT_TRUE(document().getSecurityOrigin()->isPotentiallyTrustworthy()); |
| 385 | 385 |
| 386 origin = SecurityOrigin::createFromString("https://example.test"); | 386 origin = SecurityOrigin::createFromString("https://example.test"); |
| 387 document().setSecurityOrigin(origin); | 387 document().setSecurityOrigin(origin); |
| 388 document().enforceSandboxFlags(mask); | 388 document().enforceSandboxFlags(mask); |
| 389 EXPECT_TRUE(document().getSecurityOrigin()->isUnique()); | 389 EXPECT_TRUE(document().getSecurityOrigin()->isUnique()); |
| 390 EXPECT_TRUE(document().getSecurityOrigin()->isPotentiallyTrustworthy()); | 390 EXPECT_TRUE(document().getSecurityOrigin()->isPotentiallyTrustworthy()); |
| 391 } | 391 } |
| 392 | 392 |
| 393 } // namespace blink | 393 } // namespace blink |
| OLD | NEW |