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

Unified Diff: native_client_sdk/src/examples/api/url_loader/geturl.cc

Issue 14607005: [NaCl SDK] Cleanup examples. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: feedback Created 7 years, 7 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: native_client_sdk/src/examples/api/url_loader/geturl.cc
diff --git a/native_client_sdk/src/examples/api/url_loader/geturl.cc b/native_client_sdk/src/examples/api/url_loader/geturl.cc
deleted file mode 100644
index db7abe20c89b623ff64e0173341e7e3435cd1eda..0000000000000000000000000000000000000000
--- a/native_client_sdk/src/examples/api/url_loader/geturl.cc
+++ /dev/null
@@ -1,93 +0,0 @@
-// 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.
-
-// This example demonstrates how to load content of the page into NaCl module.
-
-#include <cstdio>
-#include <string>
-#include "ppapi/cpp/instance.h"
-#include "ppapi/cpp/url_loader.h"
-#include "ppapi/cpp/module.h"
-#include "ppapi/cpp/var.h"
-
-#include "geturl_handler.h"
-
-// These are the method names as JavaScript sees them.
-namespace {
-const char* const kLoadUrlMethodId = "getUrl";
-static const char kMessageArgumentSeparator = ':';
-
-// Exception strings. These are passed back to the browser when errors
-// happen during property accesses or method calls.
-const char* const kExceptionStartFailed = "GetURLHandler::Start() failed";
-const char* const kExceptionURLNotAString = "URL is not a string";
-} // namespace
-
-// The Instance class. One of these exists for each instance of your NaCl
-// module on the web page. The browser will ask the Module object to create
-// a new Instance for each occurrence of the <embed> tag that has these
-// attributes:
-// type="application/x-nacl"
-// src="geturl.nmf"
-class GetURLInstance : public pp::Instance {
- public:
- explicit GetURLInstance(PP_Instance instance) : pp::Instance(instance) {}
- virtual ~GetURLInstance() {}
-
- // Called by the browser to handle the postMessage() call in Javascript.
- // The message in this case is expected to contain the string 'getUrl'
- // followed by a ':' separator, then the URL to fetch. If a valid message
- // of the form 'getUrl:URL' is received, then start up an asynchronous
- // download of URL. In the event that errors occur, this method posts an
- // error string back to the browser.
- virtual void HandleMessage(const pp::Var& var_message);
-};
-
-void GetURLInstance::HandleMessage(const pp::Var& var_message) {
- if (!var_message.is_string()) {
- return;
- }
- std::string message = var_message.AsString();
- if (message.find(kLoadUrlMethodId) == 0) {
- // The argument to getUrl is everything after the first ':'.
- size_t sep_pos = message.find_first_of(kMessageArgumentSeparator);
- if (sep_pos != std::string::npos) {
- std::string url = message.substr(sep_pos + 1);
- printf("GetURLInstance::HandleMessage('%s', '%s')\n",
- message.c_str(),
- url.c_str());
- fflush(stdout);
- GetURLHandler* handler = GetURLHandler::Create(this, url);
- if (handler != NULL) {
- // Starts asynchronous download. When download is finished or when an
- // error occurs, |handler| posts the results back to the browser
- // vis PostMessage and self-destroys.
- handler->Start();
- }
- }
- }
-}
-
-// The Module class. The browser calls the CreateInstance() method to create
-// an instance of you NaCl module on the web page. The browser creates a new
-// instance for each <embed> tag with type="application/x-nacl".
-class GetURLModule : public pp::Module {
- public:
- GetURLModule() : pp::Module() {}
- virtual ~GetURLModule() {}
-
- // Create and return a GetURLInstance object.
- virtual pp::Instance* CreateInstance(PP_Instance instance) {
- return new GetURLInstance(instance);
- }
-};
-
-// Factory function called by the browser when the module is first loaded.
-// The browser keeps a singleton of this module. It calls the
-// CreateInstance() method on the object you return to make instances. There
-// is one instance per <embed> tag on the page. This is the main binding
-// point for your NaCl module with the browser.
-namespace pp {
-Module* CreateModule() { return new GetURLModule(); }
-} // namespace pp

Powered by Google App Engine
This is Rietveld 408576698