}
std::string Browser::GetName() const {
- return name_override_.empty() ? "Atom-Shell" : name_override_;
+ if (name_override_.empty()) {
+ std::string name = GetExecutableFileProductName();
+ if (!name.empty())
+ return name;
+ }
+
+ return name_override_;
}
void Browser::SetName(const std::string& name) {
// Returns the version of application bundle or executable file.
std::string GetExecutableFileVersion() const;
+ // Returns the name of application bundle or executable file.
+ std::string GetExecutableFileProductName() const;
+
// Send the will-quit message and then terminate the application.
void NotifyAndTerminate();
return base::SysNSStringToUTF8(version);
}
+std::string Browser::GetExecutableFileProductName() const {
+ NSDictionary* infoDictionary = base::mac::OuterBundle().infoDictionary;
+ NSString *version = [infoDictionary objectForKey:@"CFBundleName"];
+ return base::SysNSStringToUTF8(version);
+}
+
void Browser::CancelQuit() {
[[AtomApplication sharedApplication] replyToApplicationShouldTerminate:NO];
}
#include "base/memory/scoped_ptr.h"
#include "base/path_service.h"
#include "base/strings/utf_string_conversions.h"
+#include "common/atom_version.h"
namespace atom {
return UTF16ToUTF8(version_info->product_version());
}
- return "";
+ return ATOM_VERSION_STRING;
+}
+
+std::string Browser::GetExecutableFileProductName() const {
+ base::FilePath path;
+ if (PathService::Get(base::FILE_EXE, &path)) {
+ scoped_ptr<FileVersionInfo> version_info(
+ FileVersionInfo::CreateFileVersionInfo(path));
+ return UTF16ToUTF8(version_info->product_name());
+ }
+
+ return "Atom-Shell";
}
void Browser::CancelQuit() {