blob: eca39508512e00e96de3e3f3c310e22885a6da9c [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_BROWSER_RENDERER_INTERFACE_BINDERS_H_
#define CONTENT_BROWSER_RENDERER_INTERFACE_BINDERS_H_
#include <string>
#include "mojo/public/cpp/system/message_pipe.h"
namespace url {
class Origin;
}
namespace content {
class RenderFrameHost;
class RenderProcessHost;
// Bind an interface request |interface_pipe| for |interface_name| received from
// a web worker with origin |origin| hosted in the renderer |host|.
void BindWorkerInterface(const std::string& interface_name,
mojo::ScopedMessagePipeHandle interface_pipe,
RenderProcessHost* host,
const url::Origin& origin);
// Try binding an interface request |interface_pipe| for |interface_name|
// received from |frame|.
bool TryBindFrameInterface(const std::string& interface_name,
mojo::ScopedMessagePipeHandle* interface_pipe,
RenderFrameHost* frame);
} // namespace content
#endif // CONTENT_BROWSER_RENDERER_INTERFACE_BINDERS_H_