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

Side by Side Diff: webkit/glue/resource_fetcher_unittest.cc

Issue 519030: bsds: views/ and webkit/ support for FreeBSD/OpenBSD (Closed)
Patch Set: Created 10 years, 11 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 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #if defined(OS_LINUX) 5 #include "webkit/glue/resource_fetcher.h"
6 #include <gtk/gtk.h>
7 #endif
8 6
9 #include "third_party/WebKit/WebKit/chromium/public/WebFrame.h" 7 #include "third_party/WebKit/WebKit/chromium/public/WebFrame.h"
10 #include "third_party/WebKit/WebKit/chromium/public/WebURLResponse.h" 8 #include "third_party/WebKit/WebKit/chromium/public/WebURLResponse.h"
11 #include "third_party/WebKit/WebKit/chromium/public/WebView.h" 9 #include "third_party/WebKit/WebKit/chromium/public/WebView.h"
12 #include "webkit/glue/unittest_test_server.h" 10 #include "webkit/glue/unittest_test_server.h"
13 #include "webkit/glue/resource_fetcher.h"
14 #include "webkit/tools/test_shell/simple_resource_loader_bridge.h" 11 #include "webkit/tools/test_shell/simple_resource_loader_bridge.h"
15 #include "webkit/tools/test_shell/test_shell_test.h" 12 #include "webkit/tools/test_shell/test_shell_test.h"
16 13
14 #if defined(TOOLKIT_USES_GTK)
15 #include <gtk/gtk.h>
16 #endif
17
17 using WebKit::WebFrame; 18 using WebKit::WebFrame;
18 using WebKit::WebURLResponse; 19 using WebKit::WebURLResponse;
19 using webkit_glue::ResourceFetcher; 20 using webkit_glue::ResourceFetcher;
20 using webkit_glue::ResourceFetcherWithTimeout; 21 using webkit_glue::ResourceFetcherWithTimeout;
21 22
22 namespace { 23 namespace {
23 24
24 class ResourceFetcherTests : public TestShellTest { 25 class ResourceFetcherTests : public TestShellTest {
25 public: 26 public:
26 void SetUp() { 27 void SetUp() {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 // MessageLoop's Quit method. 70 // MessageLoop's Quit method.
70 void WaitForResponse() { 71 void WaitForResponse() {
71 while (!completed() && !timed_out()) 72 while (!completed() && !timed_out())
72 MessageLoop::current()->Run(); 73 MessageLoop::current()->Run();
73 } 74 }
74 75
75 void CreateTimer(int interval) { 76 void CreateTimer(int interval) {
76 #if defined(OS_WIN) 77 #if defined(OS_WIN)
77 timer_id_ = ::SetTimer(NULL, NULL, interval, 78 timer_id_ = ::SetTimer(NULL, NULL, interval,
78 &FetcherDelegate::TimerCallback); 79 &FetcherDelegate::TimerCallback);
79 #elif defined(OS_LINUX) 80 #elif defined(TOOLKIT_USES_GTK)
80 timer_id_ = g_timeout_add(interval, &FetcherDelegate::TimerCallback, NULL); 81 timer_id_ = g_timeout_add(interval, &FetcherDelegate::TimerCallback, NULL);
81 #elif defined(OS_MACOSX) 82 #elif defined(OS_MACOSX)
82 // CFAbsoluteTime is in seconds and |interval| is in ms, so make sure we 83 // CFAbsoluteTime is in seconds and |interval| is in ms, so make sure we
83 // keep the units correct. 84 // keep the units correct.
84 CFTimeInterval interval_in_seconds = static_cast<double>(interval) / 1000.0; 85 CFTimeInterval interval_in_seconds = static_cast<double>(interval) / 1000.0;
85 CFAbsoluteTime fire_date = 86 CFAbsoluteTime fire_date =
86 CFAbsoluteTimeGetCurrent() + interval_in_seconds; 87 CFAbsoluteTimeGetCurrent() + interval_in_seconds;
87 timer_id_ = CFRunLoopTimerCreate(NULL, fire_date, interval_in_seconds, 0, 88 timer_id_ = CFRunLoopTimerCreate(NULL, fire_date, interval_in_seconds, 0,
88 0, FetcherDelegate::TimerCallback, NULL); 89 0, FetcherDelegate::TimerCallback, NULL);
89 CFRunLoopAddTimer(CFRunLoopGetCurrent(), timer_id_, kCFRunLoopCommonModes); 90 CFRunLoopAddTimer(CFRunLoopGetCurrent(), timer_id_, kCFRunLoopCommonModes);
90 #endif 91 #endif
91 } 92 }
92 93
93 void DestroyTimer() { 94 void DestroyTimer() {
94 #if defined(OS_WIN) 95 #if defined(OS_WIN)
95 ::KillTimer(NULL, timer_id_); 96 ::KillTimer(NULL, timer_id_);
96 #elif defined(OS_LINUX) 97 #elif defined(TOOLKIT_USES_GTK)
97 g_source_remove(timer_id_); 98 g_source_remove(timer_id_);
98 #elif defined(OS_MACOSX) 99 #elif defined(OS_MACOSX)
99 CFRunLoopRemoveTimer(CFRunLoopGetCurrent(), timer_id_, 100 CFRunLoopRemoveTimer(CFRunLoopGetCurrent(), timer_id_,
100 kCFRunLoopCommonModes); 101 kCFRunLoopCommonModes);
101 CFRelease(timer_id_); 102 CFRelease(timer_id_);
102 #endif 103 #endif
103 } 104 }
104 105
105 #if defined(OS_WIN) 106 #if defined(OS_WIN)
106 // Static timer callback, just passes through to instance version. 107 // Static timer callback, just passes through to instance version.
107 static VOID CALLBACK TimerCallback(HWND hwnd, UINT msg, UINT_PTR timer_id, 108 static VOID CALLBACK TimerCallback(HWND hwnd, UINT msg, UINT_PTR timer_id,
108 DWORD ms) { 109 DWORD ms) {
109 instance_->TimerFired(); 110 instance_->TimerFired();
110 } 111 }
111 #elif defined(OS_LINUX) 112 #elif defined(TOOLKIT_USES_GTK)
112 static gboolean TimerCallback(gpointer data) { 113 static gboolean TimerCallback(gpointer data) {
113 instance_->TimerFired(); 114 instance_->TimerFired();
114 return true; 115 return true;
115 } 116 }
116 #elif defined(OS_MACOSX) 117 #elif defined(OS_MACOSX)
117 static void TimerCallback(CFRunLoopTimerRef timer, void* info) { 118 static void TimerCallback(CFRunLoopTimerRef timer, void* info) {
118 instance_->TimerFired(); 119 instance_->TimerFired();
119 } 120 }
120 #endif 121 #endif
121 122
122 void TimerFired() { 123 void TimerFired() {
123 ASSERT_FALSE(completed_); 124 ASSERT_FALSE(completed_);
124 125
125 if (timed_out()) { 126 if (timed_out()) {
126 DestroyTimer(); 127 DestroyTimer();
127 MessageLoop::current()->Quit(); 128 MessageLoop::current()->Quit();
128 FAIL() << "fetch timed out"; 129 FAIL() << "fetch timed out";
129 return; 130 return;
130 } 131 }
131 132
132 time_elapsed_ms_ += kWaitIntervalMs; 133 time_elapsed_ms_ += kWaitIntervalMs;
133 } 134 }
134 135
135 static FetcherDelegate* instance_; 136 static FetcherDelegate* instance_;
136 137
137 private: 138 private:
138 #if defined(OS_WIN) 139 #if defined(OS_WIN)
139 UINT_PTR timer_id_; 140 UINT_PTR timer_id_;
140 #elif defined(OS_LINUX) 141 #elif defined(TOOLKIT_USES_GTK)
141 guint timer_id_; 142 guint timer_id_;
142 #elif defined(OS_MACOSX) 143 #elif defined(OS_MACOSX)
143 CFRunLoopTimerRef timer_id_; 144 CFRunLoopTimerRef timer_id_;
144 #endif 145 #endif
145 bool completed_; 146 bool completed_;
146 int time_elapsed_ms_; 147 int time_elapsed_ms_;
147 WebURLResponse response_; 148 WebURLResponse response_;
148 std::string data_; 149 std::string data_;
149 }; 150 };
150 151
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 224
224 // When we timeout, we still call the Delegate callback but we pass in empty 225 // When we timeout, we still call the Delegate callback but we pass in empty
225 // values. 226 // values.
226 EXPECT_TRUE(delegate->completed()); 227 EXPECT_TRUE(delegate->completed());
227 EXPECT_TRUE(delegate->response().isNull()); 228 EXPECT_TRUE(delegate->response().isNull());
228 EXPECT_EQ(delegate->data(), std::string()); 229 EXPECT_EQ(delegate->data(), std::string());
229 EXPECT_TRUE(delegate->time_elapsed_ms() < kMaxWaitTimeMs); 230 EXPECT_TRUE(delegate->time_elapsed_ms() < kMaxWaitTimeMs);
230 } 231 }
231 232
232 } // namespace 233 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698