Show chromium's version in user agent, fixes #428.
This commit is contained in:
parent
32c881bde9
commit
79c3377cd7
4 changed files with 49 additions and 2 deletions
|
@ -16,6 +16,7 @@
|
|||
#include "atom/browser/window_list.h"
|
||||
#include "atom/common/api/api_messages.h"
|
||||
#include "atom/common/atom_version.h"
|
||||
#include "atom/common/chrome_version.h"
|
||||
#include "atom/common/native_mate_converters/image_converter.h"
|
||||
#include "atom/common/native_mate_converters/file_path_converter.h"
|
||||
#include "atom/common/options_switches.h"
|
||||
|
@ -99,9 +100,10 @@ NativeWindow::NativeWindow(content::WebContents* web_contents,
|
|||
// Override the user agent to contain application and atom-shell's version.
|
||||
Browser* browser = Browser::Get();
|
||||
std::string product_name = base::StringPrintf(
|
||||
"%s/%s Atom-Shell/" ATOM_VERSION_STRING,
|
||||
"%s/%s Chrome/%s Atom-Shell/" ATOM_VERSION_STRING,
|
||||
browser->GetName().c_str(),
|
||||
browser->GetVersion().c_str());
|
||||
browser->GetVersion().c_str(),
|
||||
CHROME_VERSION_STRING);
|
||||
web_contents->GetMutableRendererPrefs()->user_agent_override =
|
||||
webkit_glue::BuildUserAgentFromProduct(product_name);
|
||||
|
||||
|
|
14
atom/common/chrome_version.h
Normal file
14
atom/common/chrome_version.h
Normal file
|
@ -0,0 +1,14 @@
|
|||
// Copyright (c) 2014 GitHub, Inc. All rights reserved.
|
||||
// Use of this source code is governed by the MIT license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
// This file is generated by script/bootstrap.py, you should never modify it
|
||||
// by hand.
|
||||
|
||||
#ifndef ATOM_COMMON_CHROME_VERSION_H_
|
||||
#define ATOM_COMMON_CHROME_VERSION_H_
|
||||
|
||||
#define CHROME_VERSION_STRING "31.0.1650.57"
|
||||
#define CHROME_VERSION "v" CHROME_VERSION_STRING
|
||||
|
||||
#endif // ATOM_COMMON_CHROME_VERSION_H_
|
|
@ -28,6 +28,7 @@ def main():
|
|||
if sys.platform in ['win32', 'cygwin']:
|
||||
install_runas()
|
||||
|
||||
create_chrome_version_h()
|
||||
touch_config_gypi()
|
||||
update_atom_shell()
|
||||
|
||||
|
@ -81,6 +82,22 @@ def install_runas():
|
|||
execute([NPM, 'install', 'runas'])
|
||||
|
||||
|
||||
def create_chrome_version_h():
|
||||
version_file = os.path.join(SOURCE_ROOT, 'vendor', 'brightray', 'vendor',
|
||||
'libchromiumcontent', 'VERSION')
|
||||
target_file = os.path.join(SOURCE_ROOT, 'atom', 'common', 'chrome_version.h')
|
||||
template_file = os.path.join(SOURCE_ROOT, 'script', 'chrome_version.h.in')
|
||||
|
||||
with open(version_file, 'r') as f:
|
||||
version = f.read()
|
||||
with open(template_file, 'r') as f:
|
||||
template = f.read()
|
||||
with open(target_file, 'w+') as f:
|
||||
content = template.replace('{PLACEHOLDER}', version.strip())
|
||||
if f.read() != content:
|
||||
f.write(content)
|
||||
|
||||
|
||||
def touch_config_gypi():
|
||||
config_gypi = os.path.join(SOURCE_ROOT, 'vendor', 'node', 'config.gypi')
|
||||
with open(config_gypi, 'w+') as f:
|
||||
|
|
14
script/chrome_version.h.in
Normal file
14
script/chrome_version.h.in
Normal file
|
@ -0,0 +1,14 @@
|
|||
// Copyright (c) 2014 GitHub, Inc. All rights reserved.
|
||||
// Use of this source code is governed by the MIT license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
// This file is generated by script/bootstrap.py, you should never modify it
|
||||
// by hand.
|
||||
|
||||
#ifndef ATOM_COMMON_CHROME_VERSION_H_
|
||||
#define ATOM_COMMON_CHROME_VERSION_H_
|
||||
|
||||
#define CHROME_VERSION_STRING "{PLACEHOLDER}"
|
||||
#define CHROME_VERSION "v" CHROME_VERSION_STRING
|
||||
|
||||
#endif // ATOM_COMMON_CHROME_VERSION_H_
|
Loading…
Reference in a new issue