Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(577)

Side by Side Diff: third_party/WebKit/Source/web/tests/PrerenderingTest.cpp

Issue 2080623002: Revert "Remove OwnPtr from Blink." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 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 26 matching lines...) Expand all
37 #include "public/platform/WebURLLoaderMockFactory.h" 37 #include "public/platform/WebURLLoaderMockFactory.h"
38 #include "public/web/WebCache.h" 38 #include "public/web/WebCache.h"
39 #include "public/web/WebFrame.h" 39 #include "public/web/WebFrame.h"
40 #include "public/web/WebPrerendererClient.h" 40 #include "public/web/WebPrerendererClient.h"
41 #include "public/web/WebScriptSource.h" 41 #include "public/web/WebScriptSource.h"
42 #include "public/web/WebView.h" 42 #include "public/web/WebView.h"
43 #include "public/web/WebViewClient.h" 43 #include "public/web/WebViewClient.h"
44 #include "testing/gtest/include/gtest/gtest.h" 44 #include "testing/gtest/include/gtest/gtest.h"
45 #include "web/WebLocalFrameImpl.h" 45 #include "web/WebLocalFrameImpl.h"
46 #include "web/tests/FrameTestHelpers.h" 46 #include "web/tests/FrameTestHelpers.h"
47 #include "wtf/PtrUtil.h" 47 #include "wtf/OwnPtr.h"
48 #include <functional> 48 #include <functional>
49 #include <list> 49 #include <list>
50 #include <memory>
51 50
52 using namespace blink; 51 using namespace blink;
53 using blink::URLTestHelpers::toKURL; 52 using blink::URLTestHelpers::toKURL;
54 53
55 namespace { 54 namespace {
56 55
57 WebURL toWebURL(const char* url) 56 WebURL toWebURL(const char* url)
58 { 57 {
59 return WebURL(toKURL(url)); 58 return WebURL(toKURL(url));
60 } 59 }
61 60
62 class TestPrerendererClient : public WebPrerendererClient { 61 class TestPrerendererClient : public WebPrerendererClient {
63 public: 62 public:
64 TestPrerendererClient() { } 63 TestPrerendererClient() { }
65 virtual ~TestPrerendererClient() { } 64 virtual ~TestPrerendererClient() { }
66 65
67 void setExtraDataForNextPrerender(WebPrerender::ExtraData* extraData) 66 void setExtraDataForNextPrerender(WebPrerender::ExtraData* extraData)
68 { 67 {
69 DCHECK(!m_extraData); 68 DCHECK(!m_extraData);
70 m_extraData = wrapUnique(extraData); 69 m_extraData = adoptPtr(extraData);
71 } 70 }
72 71
73 WebPrerender releaseWebPrerender() 72 WebPrerender releaseWebPrerender()
74 { 73 {
75 DCHECK(!m_webPrerenders.empty()); 74 DCHECK(!m_webPrerenders.empty());
76 WebPrerender retval(m_webPrerenders.front()); 75 WebPrerender retval(m_webPrerenders.front());
77 m_webPrerenders.pop_front(); 76 m_webPrerenders.pop_front();
78 return retval; 77 return retval;
79 } 78 }
80 79
81 bool empty() const 80 bool empty() const
82 { 81 {
83 return m_webPrerenders.empty(); 82 return m_webPrerenders.empty();
84 } 83 }
85 84
86 void clear() 85 void clear()
87 { 86 {
88 m_webPrerenders.clear(); 87 m_webPrerenders.clear();
89 } 88 }
90 89
91 private: 90 private:
92 // From WebPrerendererClient: 91 // From WebPrerendererClient:
93 void willAddPrerender(WebPrerender* prerender) override 92 void willAddPrerender(WebPrerender* prerender) override
94 { 93 {
95 prerender->setExtraData(m_extraData.release()); 94 prerender->setExtraData(m_extraData.leakPtr());
96 95
97 DCHECK(!prerender->isNull()); 96 DCHECK(!prerender->isNull());
98 m_webPrerenders.push_back(*prerender); 97 m_webPrerenders.push_back(*prerender);
99 } 98 }
100 99
101 std::unique_ptr<WebPrerender::ExtraData> m_extraData; 100 OwnPtr<WebPrerender::ExtraData> m_extraData;
102 std::list<WebPrerender> m_webPrerenders; 101 std::list<WebPrerender> m_webPrerenders;
103 }; 102 };
104 103
105 class TestPrerenderingSupport : public WebPrerenderingSupport { 104 class TestPrerenderingSupport : public WebPrerenderingSupport {
106 public: 105 public:
107 TestPrerenderingSupport() 106 TestPrerenderingSupport()
108 { 107 {
109 initialize(this); 108 initialize(this);
110 } 109 }
111 110
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 WebPrerender relNextOnly = prerendererClient()->releaseWebPrerender(); 489 WebPrerender relNextOnly = prerendererClient()->releaseWebPrerender();
491 EXPECT_EQ(toWebURL("http://rel-next-only.com/"), relNextOnly.url()); 490 EXPECT_EQ(toWebURL("http://rel-next-only.com/"), relNextOnly.url());
492 EXPECT_EQ(PrerenderRelTypeNext, relNextOnly.relTypes()); 491 EXPECT_EQ(PrerenderRelTypeNext, relNextOnly.relTypes());
493 492
494 WebPrerender relNextAndPrerender = prerendererClient()->releaseWebPrerender( ); 493 WebPrerender relNextAndPrerender = prerendererClient()->releaseWebPrerender( );
495 EXPECT_EQ(toWebURL("http://rel-next-and-prerender.com/"), relNextAndPrerende r.url()); 494 EXPECT_EQ(toWebURL("http://rel-next-and-prerender.com/"), relNextAndPrerende r.url());
496 EXPECT_EQ(static_cast<unsigned>(PrerenderRelTypeNext | PrerenderRelTypePrere nder), relNextAndPrerender.relTypes()); 495 EXPECT_EQ(static_cast<unsigned>(PrerenderRelTypeNext | PrerenderRelTypePrere nder), relNextAndPrerender.relTypes());
497 } 496 }
498 497
499 } // namespace 498 } // namespace
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/web/tests/KeyboardTest.cpp ('k') | third_party/WebKit/Source/web/tests/SpinLockTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698