Index: base/message_pump_glib_unittest.cc |
diff --git a/base/message_pump_glib_unittest.cc b/base/message_pump_glib_unittest.cc |
index 496fda6f78c0bc5dabc0cd214cec20a932dda37a..69fbb951b0cdef4db0784e0bedb44f69ca3b1e06 100644 |
--- a/base/message_pump_glib_unittest.cc |
+++ b/base/message_pump_glib_unittest.cc |
@@ -4,7 +4,6 @@ |
#include "base/message_pump_glib.h" |
-#include <gtk/gtk.h> |
#include <math.h> |
#include <algorithm> |
@@ -15,6 +14,10 @@ |
#include "base/threading/thread.h" |
#include "testing/gtest/include/gtest/gtest.h" |
+#if defined(TOOLKIT_USES_GTK) |
+#include <gtk/gtk.h> |
+#endif |
+ |
namespace { |
// This class injects dummy "events" into the GLib loop. When "handled" these |
@@ -395,6 +398,7 @@ TEST_F(MessagePumpGLibTest, TestDrainingGLib) { |
namespace { |
+#if defined(TOOLKIT_USES_GTK) |
void AddEventsAndDrainGtk(EventInjector* injector) { |
// Add a couple of dummy events |
injector->AddEvent(0, NULL); |
@@ -411,9 +415,11 @@ void AddEventsAndDrainGtk(EventInjector* injector) { |
gtk_main_iteration(); |
} |
} |
+#endif |
} // namespace |
+#if defined(TOOLKIT_USES_GTK) |
TEST_F(MessagePumpGLibTest, TestDrainingGtk) { |
// Tests that draining events using Gtk works. |
loop()->PostTask( |
@@ -422,6 +428,7 @@ TEST_F(MessagePumpGLibTest, TestDrainingGtk) { |
EXPECT_EQ(3, injector()->processed_events()); |
} |
+#endif |
namespace { |
@@ -436,10 +443,16 @@ class GLibLoopRunner : public base::RefCounted<GLibLoopRunner> { |
} |
} |
- void RunGtk() { |
+ void RunLoop() { |
+#if defined(TOOLKIT_USES_GTK) |
while (!quit_) { |
gtk_main_iteration(); |
} |
+#else |
+ while (!quit_) { |
+ g_main_context_iteration(NULL, TRUE); |
+ } |
+#endif |
} |
void Quit() { |
@@ -513,7 +526,7 @@ void TestGtkLoopInternal(EventInjector* injector) { |
FROM_HERE, NewRunnableMethod(runner.get(), &GLibLoopRunner::Quit), 40); |
// Run a nested, straight Gtk message loop. |
- runner->RunGtk(); |
+ runner->RunLoop(); |
ASSERT_EQ(3, task_count); |
EXPECT_EQ(4, injector->processed_events()); |