summaryrefslogtreecommitdiffstats
path: root/ppapi/example/example.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ppapi/example/example.cc')
-rw-r--r--ppapi/example/example.cc42
1 files changed, 20 insertions, 22 deletions
diff --git a/ppapi/example/example.cc b/ppapi/example/example.cc
index dc0230c..5529391 100644
--- a/ppapi/example/example.cc
+++ b/ppapi/example/example.cc
@@ -11,6 +11,7 @@
#include <algorithm>
+#include "ppapi/c/dev/ppb_console_dev.h"
#include "ppapi/c/dev/ppp_printing_dev.h"
#include "ppapi/c/pp_errors.h"
#include "ppapi/c/pp_input_event.h"
@@ -175,6 +176,14 @@ class MyInstance : public pp::Instance, public MyFetcherClient {
return true;
}
+ void Log(PP_LogLevel_Dev level, const pp::Var& value) {
+ const PPB_Console_Dev* console = reinterpret_cast<const PPB_Console_Dev*>(
+ pp::Module::Get()->GetBrowserInterface(PPB_CONSOLE_DEV_INTERFACE));
+ if (!console)
+ return;
+ console->Log(pp_instance(), level, value.pp_var());
+ }
+
virtual bool HandleDocumentLoad(const pp::URLLoader& loader) {
fetcher_ = new MyFetcher();
fetcher_->StartWithOpenedLoader(loader, this);
@@ -184,7 +193,7 @@ class MyInstance : public pp::Instance, public MyFetcherClient {
virtual bool HandleInputEvent(const PP_InputEvent& event) {
switch (event.type) {
case PP_INPUTEVENT_TYPE_MOUSEDOWN:
- //SayHello();
+ SayHello();
return true;
case PP_INPUTEVENT_TYPE_MOUSEMOVE:
return true;
@@ -242,6 +251,7 @@ class MyInstance : public pp::Instance, public MyFetcherClient {
}
virtual void DidChangeView(const pp::Rect& position, const pp::Rect& clip) {
+ Log(PP_LOGLEVEL_LOG, "DidChangeView");
if (position.size().width() == width_ &&
position.size().height() == height_)
return; // We don't care about the position, only the size.
@@ -342,18 +352,6 @@ class MyInstance : public pp::Instance, public MyFetcherClient {
}
private:
- void Log(const pp::Var& var) {
- pp::Var doc = GetWindowObject().GetProperty("document");
- if (console_.is_undefined()) {
- pp::Var body = doc.GetProperty("body");
- console_ = doc.Call("createElement", "pre");
- console_.GetProperty("style").SetProperty("backgroundColor", "lightgray");
- body.Call("appendChild", console_);
- }
- console_.Call("appendChild", doc.Call("createTextNode", var));
- console_.Call("appendChild", doc.Call("createTextNode", "\n"));
- }
-
void SayHello() {
pp::Var window = GetWindowObject();
pp::Var doc = window.GetProperty("document");
@@ -362,20 +360,20 @@ class MyInstance : public pp::Instance, public MyFetcherClient {
pp::Var obj(this, new MyScriptableObject(this));
// Our object should have its toString method called.
- Log("Testing MyScriptableObject::toString():");
- Log(obj);
+ Log(PP_LOGLEVEL_LOG, "Testing MyScriptableObject::toString():");
+ Log(PP_LOGLEVEL_LOG, obj);
// body.appendChild(body) should throw an exception
- Log("\nCalling body.appendChild(body):");
+ Log(PP_LOGLEVEL_LOG, "Calling body.appendChild(body):");
pp::Var exception;
body.Call("appendChild", body, &exception);
- Log(exception);
+ Log(PP_LOGLEVEL_LOG, exception);
- Log("\nEnumeration of window properties:");
+ Log(PP_LOGLEVEL_LOG, "Enumeration of window properties:");
std::vector<pp::Var> props;
window.GetAllPropertyNames(&props);
for (size_t i = 0; i < props.size(); ++i)
- Log(props[i]);
+ Log(PP_LOGLEVEL_LOG, props[i]);
pp::Var location = window.GetProperty("location");
pp::Var href = location.GetProperty("href");
@@ -387,11 +385,11 @@ class MyInstance : public pp::Instance, public MyFetcherClient {
}
void DidFetch(bool success, const std::string& data) {
- Log("\nDownloaded location.href:");
+ Log(PP_LOGLEVEL_LOG, "Downloaded location.href:");
if (success) {
- Log(data);
+ Log(PP_LOGLEVEL_LOG, data);
} else {
- Log("Failed to download.");
+ Log(PP_LOGLEVEL_ERROR, "Failed to download.");
}
delete fetcher_;
fetcher_ = NULL;