168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// found in the LICENSE file.
468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#include "content/renderer/pepper/host_resource_var.h"
668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)namespace content {
868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)HostResourceVar::HostResourceVar() : pp_resource_(0) {}
1068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
1168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)HostResourceVar::HostResourceVar(PP_Resource pp_resource)
1268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)    : pp_resource_(pp_resource),
1368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)      pending_renderer_host_id_(0),
1468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)      pending_browser_host_id_(0) {}
1568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
1668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)HostResourceVar::HostResourceVar(int pending_renderer_host_id,
1768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)                                 const IPC::Message& creation_message)
1868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)    : pp_resource_(0),
1968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)      pending_renderer_host_id_(pending_renderer_host_id),
2068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)      pending_browser_host_id_(0),
2168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)      creation_message_(new IPC::Message(creation_message)) {}
2268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
23a02191e04bc25c4935f804f2c080ae28663d096dBen MurdochPP_Resource HostResourceVar::GetPPResource() const { return pp_resource_; }
2468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
2568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)int HostResourceVar::GetPendingRendererHostId() const {
2668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  return pending_renderer_host_id_;
2768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)}
2868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
2968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)int HostResourceVar::GetPendingBrowserHostId() const {
3068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  return pending_browser_host_id_;
3168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)}
3268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
3368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)const IPC::Message* HostResourceVar::GetCreationMessage() const {
3468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  return creation_message_.get();
3568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)}
3668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
3768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)bool HostResourceVar::IsPending() const {
3868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  return pp_resource_ == 0 && creation_message_;
3968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)}
4068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
4168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)HostResourceVar::~HostResourceVar() {}
4268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
4368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)}  // namespace content
44