Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1526)

Unified Diff: ppapi/native_client/src/trusted/plugin/plugin.h

Issue 876483002: NaCl: Move src/trusted/plugin/ to components/nacl/renderer/plugin/ (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Update #include guards Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/native_client/src/trusted/plugin/plugin.h
diff --git a/ppapi/native_client/src/trusted/plugin/plugin.h b/ppapi/native_client/src/trusted/plugin/plugin.h
deleted file mode 100644
index b1855f969965f1fddcc991d474604f1ddca389c0..0000000000000000000000000000000000000000
--- a/ppapi/native_client/src/trusted/plugin/plugin.h
+++ /dev/null
@@ -1,187 +0,0 @@
-// -*- c++ -*-
-// Copyright (c) 2012 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.
-
-// The portable representation of an instance and root scriptable object.
-// The PPAPI version of the plugin instantiates a subclass of this class.
-
-#ifndef NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PLUGIN_H_
-#define NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PLUGIN_H_
-
-#include <stdio.h>
-
-#include <string>
-
-#include "native_client/src/include/nacl_macros.h"
-#include "native_client/src/include/nacl_scoped_ptr.h"
-
-#include "ppapi/c/private/ppb_nacl_private.h"
-#include "ppapi/cpp/instance.h"
-#include "ppapi/cpp/private/uma_private.h"
-#include "ppapi/cpp/url_loader.h"
-#include "ppapi/cpp/var.h"
-#include "ppapi/cpp/view.h"
-
-#include "ppapi/native_client/src/trusted/plugin/nacl_subprocess.h"
-#include "ppapi/native_client/src/trusted/plugin/pnacl_coordinator.h"
-#include "ppapi/native_client/src/trusted/plugin/service_runtime.h"
-#include "ppapi/native_client/src/trusted/plugin/utility.h"
-
-#include "ppapi/utility/completion_callback_factory.h"
-
-namespace nacl {
-class DescWrapper;
-class DescWrapperFactory;
-} // namespace nacl
-
-namespace pp {
-class CompletionCallback;
-class URLLoader;
-class URLUtil_Dev;
-}
-
-namespace plugin {
-
-class ErrorInfo;
-class Manifest;
-
-int32_t ConvertFileDescriptor(PP_FileHandle handle);
-
-const PP_NaClFileInfo kInvalidNaClFileInfo = {
- PP_kInvalidFileHandle,
- 0, // token_lo
- 0, // token_hi
-};
-
-class Plugin : public pp::Instance {
- public:
- explicit Plugin(PP_Instance instance);
-
- // ----- Methods inherited from pp::Instance:
-
- // Initializes this plugin with <embed/object ...> tag attribute count |argc|,
- // names |argn| and values |argn|. Returns false on failure.
- // Gets called by the browser right after New().
- bool Init(uint32_t argc, const char* argn[], const char* argv[]) override;
-
- // Handles document load, when the plugin is a MIME type handler.
- bool HandleDocumentLoad(const pp::URLLoader& url_loader) override;
-
- // Load support.
- //
- // Starts NaCl module but does not wait until low-level
- // initialization (e.g. ld.so dynamic loading of manifest files) is
- // done. The module will become ready later, asynchronously. Other
- // event handlers should block until the module is ready before
- // trying to communicate with it, i.e., until nacl_ready_state is
- // DONE.
- //
- // NB: currently we do not time out, so if the untrusted code
- // does not signal that it is ready, then we will deadlock the main
- // thread of the renderer on this subsequent event delivery. We
- // should include a time-out at which point we declare the
- // nacl_ready_state to be done, and let the normal crash detection
- // mechanism(s) take over.
- void LoadNaClModule(PP_NaClFileInfo file_info,
- bool uses_nonsfi_mode,
- PP_NaClAppProcessType process_type);
-
- // Load support.
- // A helper SRPC NaCl module can be loaded given a PP_NaClFileInfo.
- // Blocks until the helper module signals initialization is done.
- // Does not update nacl_module_origin().
- // Returns NULL or the NaClSubprocess of the new helper NaCl module.
- NaClSubprocess* LoadHelperNaClModule(const std::string& helper_url,
- PP_NaClFileInfo file_info,
- ErrorInfo* error_info);
-
- // Report an error that was encountered while loading a module.
- void ReportLoadError(const ErrorInfo& error_info);
-
- nacl::DescWrapperFactory* wrapper_factory() const { return wrapper_factory_; }
-
- const PPB_NaCl_Private* nacl_interface() const { return nacl_interface_; }
- pp::UMAPrivate& uma_interface() { return uma_interface_; }
-
- private:
- NACL_DISALLOW_COPY_AND_ASSIGN(Plugin);
- // The browser will invoke the destructor via the pp::Instance
- // pointer to this object, not from base's Delete().
- ~Plugin() override;
-
- // Shuts down socket connection, service runtime, and receive thread,
- // in this order, for the main nacl subprocess.
- void ShutDownSubprocesses();
-
- // Histogram helper functions, internal to Plugin so they can use
- // uma_interface_ normally.
- void HistogramTimeSmall(const std::string& name, int64_t ms);
-
- // Loads and starts a helper (e.g. llc, ld) NaCl module.
- // Only to be used from a background (non-main) thread for the PNaCl
- // translator. This will fully initialize the |subprocess| if the load was
- // successful.
- bool LoadHelperNaClModuleInternal(NaClSubprocess* subprocess,
- const SelLdrStartParams& params);
-
- // Start sel_ldr from the main thread, given the start params.
- // |pp_error| is set by CallOnMainThread (should be PP_OK).
- void StartSelLdrOnMainThread(int32_t pp_error,
- ServiceRuntime* service_runtime,
- const SelLdrStartParams& params,
- pp::CompletionCallback callback);
-
- // Signals that StartSelLdr has finished.
- // This is invoked on the main thread.
- void SignalStartSelLdrDone(int32_t pp_error,
- bool* started,
- ServiceRuntime* service_runtime);
-
- // This is invoked on the main thread.
- void StartNexe(int32_t pp_error, ServiceRuntime* service_runtime);
-
- // Callback used when getting the URL for the .nexe file. If the URL loading
- // is successful, the file descriptor is opened and can be passed to sel_ldr
- // with the sandbox on.
- void NexeFileDidOpen(int32_t pp_error);
-
- // Callback used when a .nexe is translated from bitcode. If the translation
- // is successful, the file descriptor is opened and can be passed to sel_ldr
- // with the sandbox on.
- void BitcodeDidTranslate(int32_t pp_error);
-
- // NaCl ISA selection manifest file support. The manifest file is specified
- // using the "nacl" attribute in the <embed> tag. First, the manifest URL (or
- // data: URI) is fetched, then the JSON is parsed. Once a valid .nexe is
- // chosen for the sandbox ISA, any current service runtime is shut down, the
- // .nexe is loaded and run.
-
- // Callback used when getting the manifest file as a local file descriptor.
- void NaClManifestFileDidOpen(int32_t pp_error);
-
- // Processes the JSON manifest string and starts loading the nexe.
- void ProcessNaClManifest(const std::string& manifest_json);
-
- // Keep track of the NaCl module subprocess that was spun up in the plugin.
- NaClSubprocess main_subprocess_;
-
- bool uses_nonsfi_mode_;
-
- nacl::DescWrapperFactory* wrapper_factory_;
-
- pp::CompletionCallbackFactory<Plugin> callback_factory_;
-
- nacl::scoped_ptr<PnaclCoordinator> pnacl_coordinator_;
-
- int exit_status_;
-
- PP_NaClFileInfo nexe_file_info_;
-
- const PPB_NaCl_Private* nacl_interface_;
- pp::UMAPrivate uma_interface_;
-};
-
-} // namespace plugin
-
-#endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PLUGIN_H_

Powered by Google App Engine
This is Rietveld 408576698