namespace gles2 {
ContextGroup::ContextGroup(
- MailboxManager* mailbox_manager,
- MemoryTracker* memory_tracker,
- ShaderTranslatorCache* shader_translator_cache,
- FeatureInfo* feature_info,
+ const scoped_refptr<MailboxManager>& mailbox_manager,
+ const scoped_refptr<MemoryTracker>& memory_tracker,
+ const scoped_refptr<ShaderTranslatorCache>& shader_translator_cache,
+ const scoped_refptr<FeatureInfo>& feature_info,
bool bind_generates_resource)
- : mailbox_manager_(mailbox_manager ? mailbox_manager : new MailboxManager),
+ : mailbox_manager_(mailbox_manager),
memory_tracker_(memory_tracker),
shader_translator_cache_(shader_translator_cache),
enforce_gl_minimums_(CommandLine::ForCurrentProcess()->HasSwitch(
max_color_attachments_(1u),
max_draw_buffers_(1u),
program_cache_(NULL),
- feature_info_(feature_info ? feature_info : new FeatureInfo),
+ feature_info_(feature_info),
draw_buffer_(GL_BACK) {
{
+ if (!mailbox_manager_.get())
+ mailbox_manager_ = new MailboxManager;
+ if (!feature_info.get())
+ feature_info_ = new FeatureInfo;
TransferBufferManager* manager = new TransferBufferManager();
transfer_buffer_manager_.reset(manager);
manager->Initialize();