| 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 m_dummyPageHolder = DummyPageHolder::create(IntSize(800, 600)); | 68 m_dummyPageHolder = DummyPageHolder::create(IntSize(800, 600)); |
| 69 } | 69 } |
| 70 | 70 |
| 71 void DocumentTest::setHtmlInnerHTML(const char* htmlContent) | 71 void DocumentTest::setHtmlInnerHTML(const char* htmlContent) |
| 72 { | 72 { |
| 73 document().documentElement()->setInnerHTML(String::fromUTF8(htmlContent), AS
SERT_NO_EXCEPTION); | 73 document().documentElement()->setInnerHTML(String::fromUTF8(htmlContent), AS
SERT_NO_EXCEPTION); |
| 74 document().view()->updateAllLifecyclePhases(); | 74 document().view()->updateAllLifecyclePhases(); |
| 75 } | 75 } |
| 76 | 76 |
| 77 class MockDocumentVisibilityObserver | 77 class MockDocumentVisibilityObserver |
| 78 : public NoBaseWillBeGarbageCollectedFinalized<MockDocumentVisibilityObserve
r> | 78 : public GarbageCollectedFinalized<MockDocumentVisibilityObserver> |
| 79 , public DocumentVisibilityObserver { | 79 , public DocumentVisibilityObserver { |
| 80 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(MockDocumentVisibilityObserver); | 80 USING_GARBAGE_COLLECTED_MIXIN(MockDocumentVisibilityObserver); |
| 81 public: | 81 public: |
| 82 static PassOwnPtrWillBeRawPtr<MockDocumentVisibilityObserver> create(Documen
t& document) | 82 static RawPtr<MockDocumentVisibilityObserver> create(Document& document) |
| 83 { | 83 { |
| 84 return adoptPtrWillBeNoop(new MockDocumentVisibilityObserver(document)); | 84 return (new MockDocumentVisibilityObserver(document)); |
| 85 } | 85 } |
| 86 | 86 |
| 87 DEFINE_INLINE_VIRTUAL_TRACE() | 87 DEFINE_INLINE_VIRTUAL_TRACE() |
| 88 { | 88 { |
| 89 DocumentVisibilityObserver::trace(visitor); | 89 DocumentVisibilityObserver::trace(visitor); |
| 90 } | 90 } |
| 91 | 91 |
| 92 MOCK_METHOD1(didChangeVisibilityState, void(PageVisibilityState)); | 92 MOCK_METHOD1(didChangeVisibilityState, void(PageVisibilityState)); |
| 93 MOCK_METHOD0(willDetachDocument, void()); | 93 MOCK_METHOD0(willDetachDocument, void()); |
| 94 | 94 |
| 95 private: | 95 private: |
| 96 MockDocumentVisibilityObserver(Document& document) : DocumentVisibilityObser
ver(document) { } | 96 MockDocumentVisibilityObserver(Document& document) : DocumentVisibilityObser
ver(document) { } |
| 97 }; | 97 }; |
| 98 | 98 |
| 99 TEST_F(DocumentTest, VisibilityOberver) | 99 TEST_F(DocumentTest, VisibilityOberver) |
| 100 { | 100 { |
| 101 page().setVisibilityState(PageVisibilityStateVisible, true); // initial stat
e | 101 page().setVisibilityState(PageVisibilityStateVisible, true); // initial stat
e |
| 102 OwnPtrWillBeRawPtr<MockDocumentVisibilityObserver> observer1 = MockDocumentV
isibilityObserver::create(document()); | 102 RawPtr<MockDocumentVisibilityObserver> observer1 = MockDocumentVisibilityObs
erver::create(document()); |
| 103 | 103 |
| 104 { | 104 { |
| 105 OwnPtrWillBeRawPtr<MockDocumentVisibilityObserver> observer2 = MockDocum
entVisibilityObserver::create(document()); | 105 RawPtr<MockDocumentVisibilityObserver> observer2 = MockDocumentVisibilit
yObserver::create(document()); |
| 106 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(0); | 106 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(0); |
| 107 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateVisi
ble)).Times(0); | 107 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateVisi
ble)).Times(0); |
| 108 EXPECT_CALL(*observer2, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(0); | 108 EXPECT_CALL(*observer2, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(0); |
| 109 EXPECT_CALL(*observer2, didChangeVisibilityState(PageVisibilityStateVisi
ble)).Times(0); | 109 EXPECT_CALL(*observer2, didChangeVisibilityState(PageVisibilityStateVisi
ble)).Times(0); |
| 110 ::testing::Mock::VerifyAndClearExpectations(observer1.get()); | 110 ::testing::Mock::VerifyAndClearExpectations(observer1.get()); |
| 111 ::testing::Mock::VerifyAndClearExpectations(observer2.get()); | 111 ::testing::Mock::VerifyAndClearExpectations(observer2.get()); |
| 112 | 112 |
| 113 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(1); | 113 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(1); |
| 114 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateVisi
ble)).Times(0); | 114 EXPECT_CALL(*observer1, didChangeVisibilityState(PageVisibilityStateVisi
ble)).Times(0); |
| 115 EXPECT_CALL(*observer2, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(1); | 115 EXPECT_CALL(*observer2, didChangeVisibilityState(PageVisibilityStateHidd
en)).Times(1); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 | 185 |
| 186 } | 186 } |
| 187 | 187 |
| 188 // This test checks that Documunt::linkManifest() returns a value conform to the
specification. | 188 // This test checks that Documunt::linkManifest() returns a value conform to the
specification. |
| 189 TEST_F(DocumentTest, LinkManifest) | 189 TEST_F(DocumentTest, LinkManifest) |
| 190 { | 190 { |
| 191 // Test the default result. | 191 // Test the default result. |
| 192 EXPECT_EQ(0, document().linkManifest()); | 192 EXPECT_EQ(0, document().linkManifest()); |
| 193 | 193 |
| 194 // Check that we use the first manifest with <link rel=manifest> | 194 // Check that we use the first manifest with <link rel=manifest> |
| 195 RefPtrWillBeRawPtr<HTMLLinkElement> link = HTMLLinkElement::create(document(
), false); | 195 RawPtr<HTMLLinkElement> link = HTMLLinkElement::create(document(), false); |
| 196 link->setAttribute(blink::HTMLNames::relAttr, "manifest"); | 196 link->setAttribute(blink::HTMLNames::relAttr, "manifest"); |
| 197 link->setAttribute(blink::HTMLNames::hrefAttr, "foo.json"); | 197 link->setAttribute(blink::HTMLNames::hrefAttr, "foo.json"); |
| 198 document().head()->appendChild(link); | 198 document().head()->appendChild(link); |
| 199 EXPECT_EQ(link, document().linkManifest()); | 199 EXPECT_EQ(link, document().linkManifest()); |
| 200 | 200 |
| 201 RefPtrWillBeRawPtr<HTMLLinkElement> link2 = HTMLLinkElement::create(document
(), false); | 201 RawPtr<HTMLLinkElement> link2 = HTMLLinkElement::create(document(), false); |
| 202 link2->setAttribute(blink::HTMLNames::relAttr, "manifest"); | 202 link2->setAttribute(blink::HTMLNames::relAttr, "manifest"); |
| 203 link2->setAttribute(blink::HTMLNames::hrefAttr, "bar.json"); | 203 link2->setAttribute(blink::HTMLNames::hrefAttr, "bar.json"); |
| 204 document().head()->insertBefore(link2, link.get()); | 204 document().head()->insertBefore(link2, link.get()); |
| 205 EXPECT_EQ(link2, document().linkManifest()); | 205 EXPECT_EQ(link2, document().linkManifest()); |
| 206 document().head()->appendChild(link2); | 206 document().head()->appendChild(link2); |
| 207 EXPECT_EQ(link, document().linkManifest()); | 207 EXPECT_EQ(link, document().linkManifest()); |
| 208 | 208 |
| 209 // Check that crazy URLs are accepted. | 209 // Check that crazy URLs are accepted. |
| 210 link->setAttribute(blink::HTMLNames::hrefAttr, "http:foo.json"); | 210 link->setAttribute(blink::HTMLNames::hrefAttr, "http:foo.json"); |
| 211 EXPECT_EQ(link, document().linkManifest()); | 211 EXPECT_EQ(link, document().linkManifest()); |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 347 EXPECT_NE(previousStyleVersion, document().styleVersion()); | 347 EXPECT_NE(previousStyleVersion, document().styleVersion()); |
| 348 | 348 |
| 349 document().view()->updateAllLifecyclePhases(); | 349 document().view()->updateAllLifecyclePhases(); |
| 350 | 350 |
| 351 previousStyleVersion = document().styleVersion(); | 351 previousStyleVersion = document().styleVersion(); |
| 352 element->setAttribute(blink::HTMLNames::classAttr, "a b"); | 352 element->setAttribute(blink::HTMLNames::classAttr, "a b"); |
| 353 EXPECT_NE(previousStyleVersion, document().styleVersion()); | 353 EXPECT_NE(previousStyleVersion, document().styleVersion()); |
| 354 } | 354 } |
| 355 | 355 |
| 356 } // namespace blink | 356 } // namespace blink |
| OLD | NEW |