Add API to set product name for crash reporter.

This commit is contained in:
Cheng Zhao 2013-11-13 19:12:13 +08:00
parent e7d25385b0
commit a6989847ea
5 changed files with 27 additions and 3 deletions

View file

@ -14,26 +14,33 @@ namespace atom {
namespace api {
// static
v8::Handle<v8::Value> CrashReporter::SetCompanyName(const v8::Arguments &args) {
v8::Handle<v8::Value> CrashReporter::SetProductName(const v8::Arguments& args) {
crash_reporter::CrashReporter::SetProductName(FromV8Value(args[0]));
return v8::Undefined();
}
// static
v8::Handle<v8::Value> CrashReporter::SetCompanyName(const v8::Arguments& args) {
crash_reporter::CrashReporter::SetCompanyName(FromV8Value(args[0]));
return v8::Undefined();
}
// static
v8::Handle<v8::Value> CrashReporter::SetSubmissionURL(
const v8::Arguments &args) {
const v8::Arguments& args) {
crash_reporter::CrashReporter::SetSubmissionURL(FromV8Value(args[0]));
return v8::Undefined();
}
// static
v8::Handle<v8::Value> CrashReporter::SetAutoSubmit(const v8::Arguments &args) {
v8::Handle<v8::Value> CrashReporter::SetAutoSubmit(const v8::Arguments& args) {
crash_reporter::CrashReporter::SetAutoSubmit(FromV8Value(args[0]));
return v8::Undefined();
}
// static
void CrashReporter::Initialize(v8::Handle<v8::Object> target) {
node::SetMethod(target, "setProductName", SetProductName);
node::SetMethod(target, "setCompanyName", SetCompanyName);
node::SetMethod(target, "setSubmissionUrl", SetSubmissionURL);
node::SetMethod(target, "setAutoSubmit", SetAutoSubmit);

View file

@ -17,6 +17,7 @@ class CrashReporter {
static void Initialize(v8::Handle<v8::Object> target);
private:
static v8::Handle<v8::Value> SetProductName(const v8::Arguments &args);
static v8::Handle<v8::Value> SetCompanyName(const v8::Arguments &args);
static v8::Handle<v8::Value> SetSubmissionURL(const v8::Arguments &args);
static v8::Handle<v8::Value> SetAutoSubmit(const v8::Arguments &args);

View file

@ -13,6 +13,7 @@ namespace crash_reporter {
class CrashReporter {
public:
static void SetProductName(const std::string& name);
static void SetCompanyName(const std::string& name);
static void SetSubmissionURL(const std::string& url);
static void SetAutoSubmit(bool yes);

View file

@ -77,6 +77,16 @@ ScopedCrashReporter* ScopedCrashReporter::g_scoped_crash_reporter_ = NULL;
} // namespace
// static
void CrashReporter::SetProductName(const std::string& name) {
ScopedCrashReporter* reporter = ScopedCrashReporter::Get();
if (reporter->is_browser())
ScopedCrashReporter::Get()->SetKey(BREAKPAD_PRODUCT_DISPLAY, name);
else
ScopedCrashReporter::Get()->SetKey(BREAKPAD_PRODUCT_DISPLAY,
name + " Renderer");
}
// static
void CrashReporter::SetCompanyName(const std::string& name) {
ScopedCrashReporter::Get()->SetKey(BREAKPAD_VENDOR, name);

View file

@ -4,11 +4,16 @@ An example of automatically submitting crash reporters to remote server:
```javascript
crashReporter = require('crash-reporter');
crashReporter.setProductName('YourName');
crashReporter.setCompanyName('YourCompany');
crashReporter.setSubmissionUrl('https://your-domain.com/url-to-submit');
crashReporter.setAutoSubmit(true);
```
## crashReporter.setProductName(product)
* `product` String
## crashReporter.setCompanyName(company)
* `company` String