summaryrefslogtreecommitdiffstats
path: root/blimp/client/app/blimp_startup.cc
diff options
context:
space:
mode:
Diffstat (limited to 'blimp/client/app/blimp_startup.cc')
-rw-r--r--blimp/client/app/blimp_startup.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/blimp/client/app/blimp_startup.cc b/blimp/client/app/blimp_startup.cc
index 0d1f187..e19ee3f 100644
--- a/blimp/client/app/blimp_startup.cc
+++ b/blimp/client/app/blimp_startup.cc
@@ -10,17 +10,25 @@
#include "base/message_loop/message_loop.h"
#include "base/path_service.h"
#include "blimp/client/app/blimp_discardable_memory_allocator.h"
+#include "blimp/client/feature/compositor/decoding_image_generator.h"
#include "third_party/skia/include/core/SkGraphics.h"
#include "ui/gl/gl_surface.h"
+class SkImageGenerator;
+
namespace {
base::LazyInstance<scoped_ptr<base::MessageLoopForUI>> g_main_message_loop =
LAZY_INSTANCE_INITIALIZER;
base::LazyInstance<blimp::client::BlimpDiscardableMemoryAllocator>
g_discardable_memory_allocator = LAZY_INSTANCE_INITIALIZER;
+
+SkImageGenerator* CreateImageGenerator(SkData* data) {
+ return blimp::client::DecodingImageGenerator::create(data);
}
+} // namespace
+
namespace blimp {
namespace client {
@@ -54,6 +62,7 @@ bool InitializeMainMessageLoop() {
if (!gfx::GLSurface::InitializeOneOff())
return false;
SkGraphics::Init();
+ SkGraphics::SetImageGeneratorFromEncodedFactory(CreateImageGenerator);
g_main_message_loop.Get().reset(new base::MessageLoopForUI);
return true;
}