From 6e0762a5406f5f011020c532d51406a04d602ab9 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Mon, 12 Dec 2016 10:35:29 +0900 Subject: [PATCH] Fix building on Windows --- atom/browser/ui/atom_menu_model.cc | 2 +- atom/browser/ui/win/notify_icon_host.cc | 3 ++- .../chrome/browser/printing/pdf_to_emf_converter.cc | 15 +++++++++++---- common.gypi | 9 +++++++-- script/lib/config.py | 2 +- 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/atom/browser/ui/atom_menu_model.cc b/atom/browser/ui/atom_menu_model.cc index de3465e..3f0d1bb 100644 --- a/atom/browser/ui/atom_menu_model.cc +++ b/atom/browser/ui/atom_menu_model.cc @@ -23,7 +23,7 @@ void AtomMenuModel::SetRole(int index, const base::string16& role) { base::string16 AtomMenuModel::GetRoleAt(int index) { int command_id = GetCommandIdAt(index); - if (ContainsKey(roles_, command_id)) + if (base::ContainsKey(roles_, command_id)) return roles_[command_id]; else return base::string16(); diff --git a/atom/browser/ui/win/notify_icon_host.cc b/atom/browser/ui/win/notify_icon_host.cc index 1f0b35b..d63df90 100644 --- a/atom/browser/ui/win/notify_icon_host.cc +++ b/atom/browser/ui/win/notify_icon_host.cc @@ -87,7 +87,8 @@ NotifyIconHost::~NotifyIconHost() { UnregisterClass(MAKEINTATOM(atom_), instance_); NotifyIcons copied_container(notify_icons_); - STLDeleteContainerPointers(copied_container.begin(), copied_container.end()); + base::STLDeleteContainerPointers( + copied_container.begin(), copied_container.end()); } NotifyIcon* NotifyIconHost::CreateNotifyIcon() { diff --git a/chromium_src/chrome/browser/printing/pdf_to_emf_converter.cc b/chromium_src/chrome/browser/printing/pdf_to_emf_converter.cc index 7c9f199..17c3796 100644 --- a/chromium_src/chrome/browser/printing/pdf_to_emf_converter.cc +++ b/chromium_src/chrome/browser/printing/pdf_to_emf_converter.cc @@ -10,6 +10,7 @@ #include "base/files/file_util.h" #include "base/files/scoped_temp_dir.h" #include "base/logging.h" +#include "base/memory/ptr_util.h" #include "chrome/common/chrome_utility_messages.h" #include "chrome/common/print_messages.h" #include "content/public/browser/browser_thread.h" @@ -59,10 +60,11 @@ class LazyEmf : public MetafilePlayer { public: LazyEmf(const scoped_refptr& temp_dir, ScopedTempFile file) : temp_dir_(temp_dir), file_(std::move(file)) {} - virtual ~LazyEmf() { Close(); } + ~LazyEmf() override { Close(); } - virtual bool SafePlayback(HDC hdc) const override; - virtual bool SaveTo(base::File* file) const override; + bool SafePlayback(HDC hdc) const override; + bool GetDataAsVector(std::vector* buffer) const override; + bool SaveTo(base::File* file) const override; private: void Close() const; @@ -242,6 +244,11 @@ bool LazyEmf::SafePlayback(HDC hdc) const { return result; } +bool LazyEmf::GetDataAsVector(std::vector* buffer) const { + NOTREACHED(); + return false; +} + bool LazyEmf::SaveTo(base::File* file) const { Emf emf; return LoadEmf(&emf) && emf.SaveTo(file); @@ -392,7 +399,7 @@ void PdfToEmfUtilityProcessHostClient::OnPageDone(bool success, ScopedTempFile temp_emf = data.TakeEmf(); if (!temp_emf) // Unexpected message from utility process. return OnFailed(); - emf.reset(new LazyEmf(temp_dir_, std::move(temp_emf))); + emf = base::MakeUnique(temp_dir_, std::move(temp_emf)); } BrowserThread::PostTask(BrowserThread::UI, diff --git a/common.gypi b/common.gypi index a8028b5..219052f 100644 --- a/common.gypi +++ b/common.gypi @@ -147,8 +147,13 @@ 'include_dirs': [ '<(DEPTH)/atom/node', ], - # Node is using networking API but linking with this itself. - 'libraries': [ '-lwinmm.lib' ], + 'libraries': [ + # Node is using networking API but linking with this itself. + '-lwinmm.lib', + # Needed by V8. + '-ldbghelp.lib', + '-lshlwapi.lib', + ], # Fix the linking error with icu. 'conditions': [ ['libchromiumcontent_component==0', { diff --git a/script/lib/config.py b/script/lib/config.py index fe3893f..c583e65 100644 --- a/script/lib/config.py +++ b/script/lib/config.py @@ -9,7 +9,7 @@ import sys BASE_URL = os.getenv('LIBCHROMIUMCONTENT_MIRROR') or \ 'https://s3.amazonaws.com/github-janky-artifacts/libchromiumcontent' LIBCHROMIUMCONTENT_COMMIT = os.getenv('LIBCHROMIUMCONTENT_COMMIT') or \ - '76202a5422125cf6b46fef025db5f0aa91b0bb85' + '9e3432b3413a7a1d08678ac86b23b6ba2c252bdc' PLATFORM = { 'cygwin': 'win32', -- 2.7.4