diff --git a/.gitignore b/.gitignore index eb9aedb4e2..a92239801a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ /external_binaries/ /out/ /vendor/brightray/vendor/download/ +/vendor/debian_wheezy_amd64-sysroot/ /vendor/debian_wheezy_arm-sysroot/ /vendor/debian_wheezy_i386-sysroot/ /vendor/python_26/ diff --git a/atom.gyp b/atom.gyp index f8133b35d0..27b7ecd256 100644 --- a/atom.gyp +++ b/atom.gyp @@ -143,7 +143,6 @@ ], }, { 'copied_libraries': [ - '<(libchromiumcontent_dir)/pdf.dll', '<(libchromiumcontent_dir)/ffmpeg.dll', ], }], diff --git a/atom/app/atom_library_main.h b/atom/app/atom_library_main.h index 899861f610..e1603fa594 100644 --- a/atom/app/atom_library_main.h +++ b/atom/app/atom_library_main.h @@ -5,7 +5,7 @@ #ifndef ATOM_APP_ATOM_LIBRARY_MAIN_H_ #define ATOM_APP_ATOM_LIBRARY_MAIN_H_ -#include "base/basictypes.h" +#include "build/build_config.h" #if defined(OS_MACOSX) extern "C" { diff --git a/atom/app/atom_main.cc b/atom/app/atom_main.cc index 1ffab8d922..cbd0a85d57 100644 --- a/atom/app/atom_main.cc +++ b/atom/app/atom_main.cc @@ -16,7 +16,7 @@ #include "atom/common/crash_reporter/win/crash_service_main.h" #include "base/environment.h" #include "base/win/windows_version.h" -#include "content/public/app/startup_helper_win.h" +#include "content/public/app/sandbox_helper_win.h" #include "sandbox/win/src/sandbox_types.h" #include "ui/gfx/win/dpi.h" #elif defined(OS_LINUX) // defined(OS_WIN) diff --git a/atom/app/atom_main_delegate.cc b/atom/app/atom_main_delegate.cc index 698da4f4de..221d59c161 100644 --- a/atom/app/atom_main_delegate.cc +++ b/atom/app/atom_main_delegate.cc @@ -135,7 +135,7 @@ content::ContentUtilityClient* AtomMainDelegate::CreateContentUtilityClient() { } scoped_ptr AtomMainDelegate::CreateContentClient() { - return scoped_ptr(new AtomContentClient).Pass(); + return scoped_ptr(new AtomContentClient); } } // namespace atom diff --git a/atom/browser/api/atom_api_app.cc b/atom/browser/api/atom_api_app.cc index 0c235a56cb..d728d9dd54 100644 --- a/atom/browser/api/atom_api_app.cc +++ b/atom/browser/api/atom_api_app.cc @@ -230,8 +230,7 @@ void App::OnLogin(LoginHandler* login_handler) { } void App::AllowCertificateError( - int pid, - int fid, + content::WebContents* web_contents, int cert_error, const net::SSLInfo& ssl_info, const GURL& request_url, @@ -241,9 +240,6 @@ void App::AllowCertificateError( bool expired_previous_decision, const base::Callback& callback, content::CertificateRequestResultType* request) { - auto rfh = content::RenderFrameHost::FromID(pid, fid); - auto web_contents = content::WebContents::FromRenderFrameHost(rfh); - v8::Locker locker(isolate()); v8::HandleScope handle_scope(isolate()); bool prevent_default = Emit("certificate-error", diff --git a/atom/browser/api/atom_api_app.h b/atom/browser/api/atom_api_app.h index 3d4ac17adf..5faf8ebb10 100644 --- a/atom/browser/api/atom_api_app.h +++ b/atom/browser/api/atom_api_app.h @@ -52,8 +52,7 @@ class App : public AtomBrowserClient::Delegate, // content::ContentBrowserClient: void AllowCertificateError( - int render_process_id, - int render_frame_id, + content::WebContents* web_contents, int cert_error, const net::SSLInfo& ssl_info, const GURL& request_url, diff --git a/atom/browser/api/atom_api_content_tracing.cc b/atom/browser/api/atom_api_content_tracing.cc index f29946d1f4..937a87ea21 100644 --- a/atom/browser/api/atom_api_content_tracing.cc +++ b/atom/browser/api/atom_api_content_tracing.cc @@ -53,13 +53,7 @@ scoped_refptr GetTraceDataSink( void StopRecording(const base::FilePath& path, const CompletionCallback& callback) { - TracingController::GetInstance()->DisableRecording( - GetTraceDataSink(path, callback)); -} - -void CaptureMonitoringSnapshot(const base::FilePath& path, - const CompletionCallback& callback) { - TracingController::GetInstance()->CaptureMonitoringSnapshot( + TracingController::GetInstance()->StopTracing( GetTraceDataSink(path, callback)); } @@ -70,13 +64,8 @@ void Initialize(v8::Local exports, v8::Local unused, dict.SetMethod("getCategories", base::Bind( &TracingController::GetCategories, controller)); dict.SetMethod("startRecording", base::Bind( - &TracingController::EnableRecording, controller)); + &TracingController::StartTracing, controller)); dict.SetMethod("stopRecording", &StopRecording); - dict.SetMethod("startMonitoring", base::Bind( - &TracingController::EnableMonitoring, controller)); - dict.SetMethod("stopMonitoring", base::Bind( - &TracingController::DisableMonitoring, controller)); - dict.SetMethod("captureMonitoringSnapshot", &CaptureMonitoringSnapshot); dict.SetMethod("getTraceBufferUsage", base::Bind( &TracingController::GetTraceBufferUsage, controller)); dict.SetMethod("setWatchEvent", base::Bind( diff --git a/atom/browser/api/atom_api_cookies.cc b/atom/browser/api/atom_api_cookies.cc index 6323e5110c..e49a2ee2f6 100644 --- a/atom/browser/api/atom_api_cookies.cc +++ b/atom/browser/api/atom_api_cookies.cc @@ -180,7 +180,8 @@ void SetCookieOnIO(scoped_refptr getter, GetCookieStore(getter)->GetCookieMonster()->SetCookieWithDetailsAsync( GURL(url), name, value, domain, path, expiration_time, secure, http_only, - false, net::COOKIE_PRIORITY_DEFAULT, base::Bind(OnSetCookie, callback)); + false, false, false, net::COOKIE_PRIORITY_DEFAULT, + base::Bind(OnSetCookie, callback)); } } // namespace diff --git a/atom/browser/api/atom_api_desktop_capturer.cc b/atom/browser/api/atom_api_desktop_capturer.cc index ceb69deca4..cdae6f0c44 100644 --- a/atom/browser/api/atom_api_desktop_capturer.cc +++ b/atom/browser/api/atom_api_desktop_capturer.cc @@ -5,7 +5,6 @@ #include "atom/browser/api/atom_api_desktop_capturer.h" #include "atom/common/api/atom_api_native_image.h" -#include "atom/common/node_includes.h" #include "atom/common/native_mate_converters/gfx_converter.h" #include "base/strings/utf_string_conversions.h" #include "chrome/browser/media/desktop_media_list.h" @@ -14,6 +13,8 @@ #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h" #include "third_party/webrtc/modules/desktop_capture/window_capturer.h" +#include "atom/common/node_includes.h" + namespace mate { template<> @@ -63,8 +64,8 @@ void DesktopCapturer::StartHandling(bool capture_window, capture_screen ? webrtc::ScreenCapturer::Create(options) : nullptr); scoped_ptr window_capturer( capture_window ? webrtc::WindowCapturer::Create(options) : nullptr); - media_list_.reset(new NativeDesktopMediaList(screen_capturer.Pass(), - window_capturer.Pass())); + media_list_.reset(new NativeDesktopMediaList( + std::move(screen_capturer), std::move(window_capturer))); media_list_->SetThumbnailSize(thumbnail_size); media_list_->StartUpdating(this); diff --git a/atom/browser/api/atom_api_download_item.cc b/atom/browser/api/atom_api_download_item.cc index 5a8befc9d1..3edd5f9c25 100644 --- a/atom/browser/api/atom_api_download_item.cc +++ b/atom/browser/api/atom_api_download_item.cc @@ -53,7 +53,7 @@ namespace { using WrapDownloadItemCallback = base::Callback)>; WrapDownloadItemCallback g_wrap_download_item; -std::map>> g_download_item_objects; +std::map>> g_download_item_objects; } // namespace @@ -106,11 +106,11 @@ void DownloadItem::Cancel() { download_item_->Remove(); } -int64 DownloadItem::GetReceivedBytes() const { +int64_t DownloadItem::GetReceivedBytes() const { return download_item_->GetReceivedBytes(); } -int64 DownloadItem::GetTotalBytes() const { +int64_t DownloadItem::GetTotalBytes() const { return download_item_->GetTotalBytes(); } diff --git a/atom/browser/api/atom_api_download_item.h b/atom/browser/api/atom_api_download_item.h index 5806c01817..64469b9b34 100644 --- a/atom/browser/api/atom_api_download_item.h +++ b/atom/browser/api/atom_api_download_item.h @@ -30,8 +30,8 @@ class DownloadItem : public mate::TrackableObject, void Pause(); void Resume(); void Cancel(); - int64 GetReceivedBytes() const; - int64 GetTotalBytes() const; + int64_t GetReceivedBytes() const; + int64_t GetTotalBytes() const; std::string GetMimeType() const; bool HasUserGesture() const; std::string GetFilename() const; diff --git a/atom/browser/api/atom_api_protocol.h b/atom/browser/api/atom_api_protocol.h index 8aef406fbc..107fbf1ce7 100644 --- a/atom/browser/api/atom_api_protocol.h +++ b/atom/browser/api/atom_api_protocol.h @@ -117,7 +117,7 @@ class Protocol : public mate::Wrappable { scoped_ptr> protocol_handler( new CustomProtocolHandler( isolate(), request_context_getter_, handler)); - if (job_factory_->SetProtocolHandler(scheme, protocol_handler.Pass())) + if (job_factory_->SetProtocolHandler(scheme, std::move(protocol_handler))) return PROTOCOL_OK; else return PROTOCOL_FAIL; @@ -161,7 +161,7 @@ class Protocol : public mate::Wrappable { isolate(), request_context_getter_, handler)); original_protocols_.set( scheme, - job_factory_->ReplaceProtocol(scheme, protocol_handler.Pass())); + job_factory_->ReplaceProtocol(scheme, std::move(protocol_handler))); return PROTOCOL_OK; } diff --git a/atom/browser/api/atom_api_session.cc b/atom/browser/api/atom_api_session.cc index e5c5198f03..0f104c7607 100644 --- a/atom/browser/api/atom_api_session.cc +++ b/atom/browser/api/atom_api_session.cc @@ -49,12 +49,12 @@ namespace { struct ClearStorageDataOptions { GURL origin; - uint32 storage_types = StoragePartition::REMOVE_DATA_MASK_ALL; - uint32 quota_types = StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL; + uint32_t storage_types = StoragePartition::REMOVE_DATA_MASK_ALL; + uint32_t quota_types = StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL; }; -uint32 GetStorageMask(const std::vector& storage_types) { - uint32 storage_mask = 0; +uint32_t GetStorageMask(const std::vector& storage_types) { + uint32_t storage_mask = 0; for (const auto& it : storage_types) { auto type = base::ToLowerASCII(it); if (type == "appcache") @@ -77,8 +77,8 @@ uint32 GetStorageMask(const std::vector& storage_types) { return storage_mask; } -uint32 GetQuotaMask(const std::vector& quota_types) { - uint32 quota_mask = 0; +uint32_t GetQuotaMask(const std::vector& quota_types) { + uint32_t quota_mask = 0; for (const auto& it : quota_types) { auto type = base::ToLowerASCII(it); if (type == "temporary") diff --git a/atom/browser/api/atom_api_web_contents.cc b/atom/browser/api/atom_api_web_contents.cc index 12e0c56ceb..c8b597704c 100644 --- a/atom/browser/api/atom_api_web_contents.cc +++ b/atom/browser/api/atom_api_web_contents.cc @@ -44,6 +44,7 @@ #include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_view_host.h" +#include "content/public/browser/render_widget_host.h" #include "content/public/browser/render_widget_host_view.h" #include "content/public/browser/resource_request_details.h" #include "content/public/browser/service_worker_context.h" @@ -150,7 +151,7 @@ struct Converter { } else { scoped_ptr values(new base::ListValue()); values->AppendString(value); - response_headers.Set(key, values.Pass()); + response_headers.Set(key, std::move(values)); } } } @@ -303,9 +304,9 @@ WebContents::~WebContents() { } bool WebContents::AddMessageToConsole(content::WebContents* source, - int32 level, + int32_t level, const base::string16& message, - int32 line_no, + int32_t line_no, const base::string16& source_id) { if (type_ == BROWSER_WINDOW) { return false; @@ -317,8 +318,9 @@ bool WebContents::AddMessageToConsole(content::WebContents* source, bool WebContents::ShouldCreateWebContents( content::WebContents* web_contents, - int route_id, - int main_frame_route_id, + int32_t route_id, + int32_t main_frame_route_id, + int32_t main_frame_widget_route_id, WindowContainerType window_container_type, const std::string& frame_name, const GURL& target_url, @@ -509,11 +511,11 @@ void WebContents::PluginCrashed(const base::FilePath& plugin_path, Emit("plugin-crashed", info.name, info.version); } -void WebContents::MediaStartedPlaying() { +void WebContents::MediaStartedPlaying(const MediaPlayerId& id) { Emit("media-started-playing"); } -void WebContents::MediaPaused() { +void WebContents::MediaStoppedPlaying(const MediaPlayerId& id) { Emit("media-paused"); } @@ -998,8 +1000,8 @@ void WebContents::ReplaceMisspelling(const base::string16& word) { web_contents()->ReplaceMisspelling(word); } -uint32 WebContents::FindInPage(mate::Arguments* args) { - uint32 request_id = GetNextRequestId(); +uint32_t WebContents::FindInPage(mate::Arguments* args) { + uint32_t request_id = GetNextRequestId(); base::string16 search_text; blink::WebFindOptions options; if (!args->GetNext(&search_text) || search_text.empty()) { @@ -1070,7 +1072,7 @@ void WebContents::BeginFrameSubscription( if (view) { scoped_ptr frame_subscriber(new FrameSubscriber( isolate(), view, callback)); - view->BeginFrameSubscription(frame_subscriber.Pass()); + view->BeginFrameSubscription(std::move(frame_subscriber)); } } diff --git a/atom/browser/api/atom_api_web_contents.h b/atom/browser/api/atom_api_web_contents.h index a785e1c070..d98b838fb4 100644 --- a/atom/browser/api/atom_api_web_contents.h +++ b/atom/browser/api/atom_api_web_contents.h @@ -110,7 +110,7 @@ class WebContents : public mate::TrackableObject, void Unselect(); void Replace(const base::string16& word); void ReplaceMisspelling(const base::string16& word); - uint32 FindInPage(mate::Arguments* args); + uint32_t FindInPage(mate::Arguments* args); void StopFindInPage(content::StopFindAction action); // Focus. @@ -162,14 +162,15 @@ class WebContents : public mate::TrackableObject, // content::WebContentsDelegate: bool AddMessageToConsole(content::WebContents* source, - int32 level, + int32_t level, const base::string16& message, - int32 line_no, + int32_t line_no, const base::string16& source_id) override; bool ShouldCreateWebContents( content::WebContents* web_contents, - int route_id, - int main_frame_route_id, + int32_t route_id, + int32_t main_frame_route_id, + int32_t main_frame_widget_route_id, WindowContainerType window_container_type, const std::string& frame_name, const GURL& target_url, @@ -252,8 +253,8 @@ class WebContents : public mate::TrackableObject, const std::vector& urls) override; void PluginCrashed(const base::FilePath& plugin_path, base::ProcessId plugin_pid) override; - void MediaStartedPlaying() override; - void MediaPaused() override; + void MediaStartedPlaying(const MediaPlayerId& id) override; + void MediaStoppedPlaying(const MediaPlayerId& id) override; void DidChangeThemeColor(SkColor theme_color) override; // brightray::InspectableWebContentsViewDelegate: @@ -270,7 +271,7 @@ class WebContents : public mate::TrackableObject, AtomBrowserContext* GetBrowserContext() const; - uint32 GetNextRequestId() { + uint32_t GetNextRequestId() { return ++request_id_; } @@ -299,7 +300,7 @@ class WebContents : public mate::TrackableObject, Type type_; // Request id used for findInPage request. - uint32 request_id_; + uint32_t request_id_; DISALLOW_COPY_AND_ASSIGN(WebContents); }; diff --git a/atom/browser/api/frame_subscriber.cc b/atom/browser/api/frame_subscriber.cc index c76d5ffc87..f81a8bea8b 100644 --- a/atom/browser/api/frame_subscriber.cc +++ b/atom/browser/api/frame_subscriber.cc @@ -54,7 +54,7 @@ void FrameSubscriber::OnFrameDelivered(const FrameCaptureCallback& callback, return; bitmap.copyPixelsTo( - reinterpret_cast(node::Buffer::Data(buffer.ToLocalChecked())), + reinterpret_cast(node::Buffer::Data(buffer.ToLocalChecked())), rgb_arr_size); callback_.Run(buffer.ToLocalChecked()); diff --git a/atom/browser/atom_browser_client.cc b/atom/browser/atom_browser_client.cc index 1fe435673d..ca12723bb3 100644 --- a/atom/browser/atom_browser_client.cc +++ b/atom/browser/atom_browser_client.cc @@ -49,7 +49,7 @@ namespace { // The default routing id of WebContents. // In Electron each RenderProcessHost only has one WebContents, so this ID is // same for every WebContents. -int kDefaultRoutingID = 2; +int kDefaultRoutingID = 1; // Next navigation should not restart renderer process. bool g_suppress_renderer_process_restart = false; @@ -201,16 +201,10 @@ void AtomBrowserClient::AppendExtraCommandLineSwitches( if (ContainsKey(pending_processes_, process_id)) process_id = pending_processes_[process_id]; - // Certain render process will be created with no associated render view, // for example: ServiceWorker. - auto rvh = content::RenderViewHost::FromID(process_id, kDefaultRoutingID); - if (!rvh) - return; - - // Get the WebContents of the render process. content::WebContents* web_contents = - content::WebContents::FromRenderViewHost(rvh); + WebContentsPreferences::GetWebContentsFromProcessID(process_id); if (!web_contents) return; @@ -230,8 +224,7 @@ content::QuotaPermissionContext* } void AtomBrowserClient::AllowCertificateError( - int render_process_id, - int render_frame_id, + content::WebContents* web_contents, int cert_error, const net::SSLInfo& ssl_info, const GURL& request_url, @@ -243,7 +236,7 @@ void AtomBrowserClient::AllowCertificateError( content::CertificateRequestResultType* request) { if (delegate_) { delegate_->AllowCertificateError( - render_process_id, render_frame_id, cert_error, ssl_info, request_url, + web_contents, cert_error, ssl_info, request_url, resource_type, overridable, strict_enforcement, expired_previous_decision, callback, request); } @@ -265,7 +258,7 @@ void AtomBrowserClient::SelectClientCertificate( if (!cert_request_info->client_certs.empty() && delegate_) { delegate_->SelectClientCertificate( - web_contents, cert_request_info, delegate.Pass()); + web_contents, cert_request_info, std::move(delegate)); } } diff --git a/atom/browser/atom_browser_client.h b/atom/browser/atom_browser_client.h index 4af66cc041..8f62887ff6 100644 --- a/atom/browser/atom_browser_client.h +++ b/atom/browser/atom_browser_client.h @@ -61,8 +61,7 @@ class AtomBrowserClient : public brightray::BrowserClient, void DidCreatePpapiPlugin(content::BrowserPpapiHost* browser_host) override; content::QuotaPermissionContext* CreateQuotaPermissionContext() override; void AllowCertificateError( - int render_process_id, - int render_frame_id, + content::WebContents* web_contents, int cert_error, const net::SSLInfo& ssl_info, const GURL& request_url, diff --git a/atom/browser/atom_browser_context.cc b/atom/browser/atom_browser_context.cc index be004c8f6d..2ff9a510db 100644 --- a/atom/browser/atom_browser_context.cc +++ b/atom/browser/atom_browser_context.cc @@ -134,14 +134,15 @@ AtomBrowserContext::CreateURLRequestJobFactory( new net::FtpNetworkLayer(host_resolver)))); // Set up interceptors in the reverse order. - scoped_ptr top_job_factory = job_factory.Pass(); + scoped_ptr top_job_factory = + std::move(job_factory); content::URLRequestInterceptorScopedVector::reverse_iterator it; for (it = interceptors->rbegin(); it != interceptors->rend(); ++it) top_job_factory.reset(new net::URLRequestInterceptingJobFactory( - top_job_factory.Pass(), make_scoped_ptr(*it))); + std::move(top_job_factory), make_scoped_ptr(*it))); interceptors->weak_clear(); - return top_job_factory.Pass(); + return top_job_factory; } net::HttpCache::BackendFactory* diff --git a/atom/browser/atom_download_manager_delegate.cc b/atom/browser/atom_download_manager_delegate.cc index f5bdbbd859..16c0cf708b 100644 --- a/atom/browser/atom_download_manager_delegate.cc +++ b/atom/browser/atom_download_manager_delegate.cc @@ -60,7 +60,7 @@ void AtomDownloadManagerDelegate::CreateDownloadPath( } void AtomDownloadManagerDelegate::OnDownloadPathGenerated( - uint32 download_id, + uint32_t download_id, const content::DownloadTargetCallback& callback, const base::FilePath& default_path) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -160,7 +160,7 @@ bool AtomDownloadManagerDelegate::ShouldOpenDownload( void AtomDownloadManagerDelegate::GetNextId( const content::DownloadIdCallback& callback) { - static uint32 next_id = content::DownloadItem::kInvalidId + 1; + static uint32_t next_id = content::DownloadItem::kInvalidId + 1; callback.Run(next_id++); } diff --git a/atom/browser/atom_download_manager_delegate.h b/atom/browser/atom_download_manager_delegate.h index 2df3a7d45a..5ea3d50d5a 100644 --- a/atom/browser/atom_download_manager_delegate.h +++ b/atom/browser/atom_download_manager_delegate.h @@ -31,7 +31,7 @@ class AtomDownloadManagerDelegate : public content::DownloadManagerDelegate { const std::string& mime_type, const base::FilePath& path, const CreateDownloadPathCallback& callback); - void OnDownloadPathGenerated(uint32 download_id, + void OnDownloadPathGenerated(uint32_t download_id, const content::DownloadTargetCallback& callback, const base::FilePath& default_path); diff --git a/atom/browser/atom_permission_manager.cc b/atom/browser/atom_permission_manager.cc index e7fdaaffea..720d1f93b3 100644 --- a/atom/browser/atom_permission_manager.cc +++ b/atom/browser/atom_permission_manager.cc @@ -4,6 +4,8 @@ #include "atom/browser/atom_permission_manager.h" +#include + #include "content/public/browser/child_process_security_policy.h" #include "content/public/browser/permission_type.h" #include "content/public/browser/render_frame_host.h" @@ -80,6 +82,26 @@ int AtomPermissionManager::RequestPermission( return kNoPendingOperation; } +int AtomPermissionManager::RequestPermissions( + const std::vector& permissions, + content::RenderFrameHost* render_frame_host, + const GURL& requesting_origin, + bool user_gesture, + const base::Callback&)>& callback) { + // FIXME(zcbenz): Just ignore multiple permissions request for now. + std::vector permissionStatuses; + for (auto permission : permissions) { + if (permission == content::PermissionType::MIDI_SYSEX) { + content::ChildProcessSecurityPolicy::GetInstance()-> + GrantSendMidiSysExMessage(render_frame_host->GetProcess()->GetID()); + } + permissionStatuses.push_back(content::PERMISSION_STATUS_GRANTED); + } + callback.Run(permissionStatuses); + return kNoPendingOperation; +} + void AtomPermissionManager::OnPermissionResponse( int request_id, const GURL& origin, diff --git a/atom/browser/atom_permission_manager.h b/atom/browser/atom_permission_manager.h index 4bebbbc84f..e16893fd8b 100644 --- a/atom/browser/atom_permission_manager.h +++ b/atom/browser/atom_permission_manager.h @@ -6,6 +6,7 @@ #define ATOM_BROWSER_ATOM_PERMISSION_MANAGER_H_ #include +#include #include "base/callback.h" #include "content/public/browser/permission_manager.h" @@ -38,6 +39,13 @@ class AtomPermissionManager : public content::PermissionManager { const GURL& requesting_origin, bool user_gesture, const ResponseCallback& callback) override; + int RequestPermissions( + const std::vector& permissions, + content::RenderFrameHost* render_frame_host, + const GURL& requesting_origin, + bool user_gesture, + const base::Callback&)>& callback) override; protected: void OnPermissionResponse(int request_id, diff --git a/atom/browser/atom_resource_dispatcher_host_delegate.cc b/atom/browser/atom_resource_dispatcher_host_delegate.cc index 4d969786c1..68576a52f2 100644 --- a/atom/browser/atom_resource_dispatcher_host_delegate.cc +++ b/atom/browser/atom_resource_dispatcher_host_delegate.cc @@ -19,8 +19,8 @@ AtomResourceDispatcherHostDelegate::AtomResourceDispatcherHostDelegate() { bool AtomResourceDispatcherHostDelegate::HandleExternalProtocol( const GURL& url, - int render_process_id, - int render_view_id, + int child_id, + const content::ResourceRequestInfo::WebContentsGetter&, bool is_main_frame, ui::PageTransition transition, bool has_user_gesture) { diff --git a/atom/browser/atom_resource_dispatcher_host_delegate.h b/atom/browser/atom_resource_dispatcher_host_delegate.h index a90b366bc7..408b83c92d 100644 --- a/atom/browser/atom_resource_dispatcher_host_delegate.h +++ b/atom/browser/atom_resource_dispatcher_host_delegate.h @@ -15,12 +15,13 @@ class AtomResourceDispatcherHostDelegate AtomResourceDispatcherHostDelegate(); // content::ResourceDispatcherHostDelegate: - bool HandleExternalProtocol(const GURL& url, - int render_process_id, - int render_view_id, - bool is_main_frame, - ui::PageTransition transition, - bool has_user_gesture) override; + bool HandleExternalProtocol( + const GURL& url, + int child_id, + const content::ResourceRequestInfo::WebContentsGetter&, + bool is_main_frame, + ui::PageTransition transition, + bool has_user_gesture) override; content::ResourceDispatcherHostLoginDelegate* CreateLoginDelegate( net::AuthChallengeInfo* auth_info, net::URLRequest* request) override; diff --git a/atom/browser/atom_speech_recognition_manager_delegate.h b/atom/browser/atom_speech_recognition_manager_delegate.h index ec31e227ba..4c78e0eead 100644 --- a/atom/browser/atom_speech_recognition_manager_delegate.h +++ b/atom/browser/atom_speech_recognition_manager_delegate.h @@ -7,6 +7,7 @@ #include +#include "base/macros.h" #include "content/public/browser/speech_recognition_event_listener.h" #include "content/public/browser/speech_recognition_manager_delegate.h" diff --git a/atom/browser/auto_updater.h b/atom/browser/auto_updater.h index 9e479d4220..d13c6f0c33 100644 --- a/atom/browser/auto_updater.h +++ b/atom/browser/auto_updater.h @@ -7,7 +7,8 @@ #include -#include "base/basictypes.h" +#include "base/macros.h" +#include "build/build_config.h" namespace base { class Time; diff --git a/atom/browser/browser.h b/atom/browser/browser.h index 1d0b4aec8b..d976fae675 100644 --- a/atom/browser/browser.h +++ b/atom/browser/browser.h @@ -8,7 +8,7 @@ #include #include -#include "base/basictypes.h" +#include "base/macros.h" #include "base/compiler_specific.h" #include "base/observer_list.h" #include "base/strings/string16.h" diff --git a/atom/browser/common_web_contents_delegate.cc b/atom/browser/common_web_contents_delegate.cc index 1fd6f782de..07cc20c7d1 100644 --- a/atom/browser/common_web_contents_delegate.cc +++ b/atom/browser/common_web_contents_delegate.cc @@ -19,6 +19,7 @@ #include "content/public/browser/child_process_security_policy.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_view_host.h" +#include "content/public/browser/render_widget_host.h" #include "storage/browser/fileapi/isolated_context.h" #if defined(TOOLKIT_VIEWS) @@ -173,8 +174,6 @@ content::WebContents* CommonWebContentsDelegate::OpenURLFromTab( load_url_params.should_replace_current_entry = params.should_replace_current_entry; load_url_params.is_renderer_initiated = params.is_renderer_initiated; - load_url_params.transferred_global_request_id = - params.transferred_global_request_id; load_url_params.should_clear_history_list = true; source->GetController().LoadURLWithParams(load_url_params); @@ -223,7 +222,7 @@ void CommonWebContentsDelegate::EnterFullscreenModeForTab( return; SetHtmlApiFullscreen(true); owner_window_->NotifyWindowEnterHtmlFullScreen(); - source->GetRenderViewHost()->WasResized(); + source->GetRenderViewHost()->GetWidget()->WasResized(); } void CommonWebContentsDelegate::ExitFullscreenModeForTab( @@ -232,7 +231,7 @@ void CommonWebContentsDelegate::ExitFullscreenModeForTab( return; SetHtmlApiFullscreen(false); owner_window_->NotifyWindowLeaveHtmlFullScreen(); - source->GetRenderViewHost()->WasResized(); + source->GetRenderViewHost()->GetWidget()->WasResized(); } bool CommonWebContentsDelegate::IsFullscreenForTabOrPending( diff --git a/atom/browser/javascript_environment.cc b/atom/browser/javascript_environment.cc index dc27cedee5..970132b47c 100644 --- a/atom/browser/javascript_environment.cc +++ b/atom/browser/javascript_environment.cc @@ -37,6 +37,7 @@ bool JavascriptEnvironment::Initialize() { v8::V8::SetFlagsFromString(js_flags.c_str(), js_flags.size()); gin::IsolateHolder::Initialize(gin::IsolateHolder::kNonStrictMode, + gin::IsolateHolder::kStableV8Extras, gin::ArrayBufferAllocator::SharedInstance()); return true; } diff --git a/atom/browser/javascript_environment.h b/atom/browser/javascript_environment.h index 20f1667c3b..07cd602cf0 100644 --- a/atom/browser/javascript_environment.h +++ b/atom/browser/javascript_environment.h @@ -5,7 +5,7 @@ #ifndef ATOM_BROWSER_JAVASCRIPT_ENVIRONMENT_H_ #define ATOM_BROWSER_JAVASCRIPT_ENVIRONMENT_H_ -#include "base/basictypes.h" +#include "base/macros.h" #include "gin/public/isolate_holder.h" namespace atom { diff --git a/atom/browser/native_window.cc b/atom/browser/native_window.cc index 56cfdea54c..6c64edec5f 100644 --- a/atom/browser/native_window.cc +++ b/atom/browser/native_window.cc @@ -27,6 +27,7 @@ #include "content/public/browser/plugin_service.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_view_host.h" +#include "content/public/browser/render_widget_host.h" #include "content/public/browser/render_widget_host_view.h" #include "content/public/common/content_switches.h" #include "ipc/ipc_message_macros.h" @@ -275,15 +276,15 @@ bool NativeWindow::HasModalDialog() { } void NativeWindow::FocusOnWebView() { - web_contents()->GetRenderViewHost()->Focus(); + web_contents()->GetRenderViewHost()->GetWidget()->Focus(); } void NativeWindow::BlurWebView() { - web_contents()->GetRenderViewHost()->Blur(); + web_contents()->GetRenderViewHost()->GetWidget()->Blur(); } bool NativeWindow::IsWebViewFocused() { - auto host_view = web_contents()->GetRenderViewHost()->GetView(); + auto host_view = web_contents()->GetRenderViewHost()->GetWidget()->GetView(); return host_view && host_view->HasFocus(); } @@ -519,7 +520,7 @@ scoped_ptr NativeWindow::DraggableRegionsToSkRegion( region.bounds.bottom(), region.draggable ? SkRegion::kUnion_Op : SkRegion::kDifference_Op); } - return sk_region.Pass(); + return sk_region; } void NativeWindow::RenderViewCreated( diff --git a/atom/browser/net/asar/url_request_asar_job.cc b/atom/browser/net/asar/url_request_asar_job.cc index d926d11117..39e55a35cb 100644 --- a/atom/browser/net/asar/url_request_asar_job.cc +++ b/atom/browser/net/asar/url_request_asar_job.cc @@ -44,6 +44,7 @@ URLRequestAsarJob::URLRequestAsarJob( : net::URLRequestJob(request, network_delegate), type_(TYPE_ERROR), remaining_bytes_(0), + range_parse_result_(net::OK), weak_ptr_factory_(this) {} URLRequestAsarJob::~URLRequestAsarJob() {} @@ -99,7 +100,7 @@ void URLRequestAsarJob::InitializeFileJob( void URLRequestAsarJob::Start() { if (type_ == TYPE_ASAR) { - remaining_bytes_ = static_cast(file_info_.size); + remaining_bytes_ = static_cast(file_info_.size); int flags = base::File::FLAG_OPEN | base::File::FLAG_READ | @@ -131,18 +132,14 @@ void URLRequestAsarJob::Kill() { URLRequestJob::Kill(); } -bool URLRequestAsarJob::ReadRawData(net::IOBuffer* dest, - int dest_size, - int* bytes_read) { +int URLRequestAsarJob::ReadRawData(net::IOBuffer* dest, int dest_size) { if (remaining_bytes_ < dest_size) dest_size = static_cast(remaining_bytes_); // If we should copy zero bytes because |remaining_bytes_| is zero, short // circuit here. - if (!dest_size) { - *bytes_read = 0; - return true; - } + if (!dest_size) + return 0; int rv = stream_->Read(dest, dest_size, @@ -150,20 +147,11 @@ bool URLRequestAsarJob::ReadRawData(net::IOBuffer* dest, weak_ptr_factory_.GetWeakPtr(), make_scoped_refptr(dest))); if (rv >= 0) { - // Data is immediately available. - *bytes_read = rv; remaining_bytes_ -= rv; DCHECK_GE(remaining_bytes_, 0); - return true; } - // Otherwise, a read error occured. We may just need to wait... - if (rv == net::ERR_IO_PENDING) { - SetStatus(net::URLRequestStatus(net::URLRequestStatus::IO_PENDING, 0)); - } else { - NotifyDone(net::URLRequestStatus(net::URLRequestStatus::FAILED, rv)); - } - return false; + return rv; } bool URLRequestAsarJob::IsRedirectResponse(GURL* location, @@ -214,15 +202,16 @@ void URLRequestAsarJob::SetExtraRequestHeaders( const net::HttpRequestHeaders& headers) { std::string range_header; if (headers.GetHeader(net::HttpRequestHeaders::kRange, &range_header)) { - // We only care about "Range" header here. + // This job only cares about the Range header. This method stashes the value + // for later use in DidOpen(), which is responsible for some of the range + // validation as well. NotifyStartError is not legal to call here since + // the job has not started. std::vector ranges; if (net::HttpUtil::ParseRangeHeader(range_header, &ranges)) { if (ranges.size() == 1) { byte_range_ = ranges[0]; } else { - NotifyDone(net::URLRequestStatus( - net::URLRequestStatus::FAILED, - net::ERR_REQUEST_RANGE_NOT_SATISFIABLE)); + range_parse_result_ = net::ERR_REQUEST_RANGE_NOT_SATISFIABLE; } } } @@ -274,7 +263,14 @@ void URLRequestAsarJob::DidFetchMetaInfo(const FileMetaInfo* meta_info) { void URLRequestAsarJob::DidOpen(int result) { if (result != net::OK) { - NotifyDone(net::URLRequestStatus(net::URLRequestStatus::FAILED, result)); + NotifyStartError(net::URLRequestStatus(net::URLRequestStatus::FAILED, + result)); + return; + } + + if (range_parse_result_ != net::OK) { + NotifyStartError(net::URLRequestStatus(net::URLRequestStatus::FAILED, + range_parse_result_)); return; } @@ -289,8 +285,9 @@ void URLRequestAsarJob::DidOpen(int result) { } } else { if (!byte_range_.ComputeBounds(meta_info_.file_size)) { - NotifyDone(net::URLRequestStatus(net::URLRequestStatus::FAILED, - net::ERR_REQUEST_RANGE_NOT_SATISFIABLE)); + NotifyStartError( + net::URLRequestStatus(net::URLRequestStatus::FAILED, + net::ERR_REQUEST_RANGE_NOT_SATISFIABLE)); return; } @@ -315,17 +312,19 @@ void URLRequestAsarJob::DidOpen(int result) { } } -void URLRequestAsarJob::DidSeek(int64 result) { +void URLRequestAsarJob::DidSeek(int64_t result) { if (type_ == TYPE_ASAR) { - if (result != static_cast(file_info_.offset)) { - NotifyDone(net::URLRequestStatus(net::URLRequestStatus::FAILED, - net::ERR_REQUEST_RANGE_NOT_SATISFIABLE)); + if (result != static_cast(file_info_.offset)) { + NotifyStartError( + net::URLRequestStatus(net::URLRequestStatus::FAILED, + net::ERR_REQUEST_RANGE_NOT_SATISFIABLE)); return; } } else { if (result != byte_range_.first_byte_position()) { - NotifyDone(net::URLRequestStatus(net::URLRequestStatus::FAILED, - net::ERR_REQUEST_RANGE_NOT_SATISFIABLE)); + NotifyStartError( + net::URLRequestStatus(net::URLRequestStatus::FAILED, + net::ERR_REQUEST_RANGE_NOT_SATISFIABLE)); return; } } @@ -334,21 +333,14 @@ void URLRequestAsarJob::DidSeek(int64 result) { } void URLRequestAsarJob::DidRead(scoped_refptr buf, int result) { - if (result > 0) { - SetStatus(net::URLRequestStatus()); // Clear the IO_PENDING status + if (result >= 0) { remaining_bytes_ -= result; DCHECK_GE(remaining_bytes_, 0); } buf = NULL; - if (result == 0) { - NotifyDone(net::URLRequestStatus()); - } else if (result < 0) { - NotifyDone(net::URLRequestStatus(net::URLRequestStatus::FAILED, result)); - } - - NotifyReadComplete(result); + ReadRawDataComplete(result); } } // namespace asar diff --git a/atom/browser/net/asar/url_request_asar_job.h b/atom/browser/net/asar/url_request_asar_job.h index 29d1afc521..7103abc413 100644 --- a/atom/browser/net/asar/url_request_asar_job.h +++ b/atom/browser/net/asar/url_request_asar_job.h @@ -54,9 +54,7 @@ class URLRequestAsarJob : public net::URLRequestJob { // net::URLRequestJob: void Start() override; void Kill() override; - bool ReadRawData(net::IOBuffer* buf, - int buf_size, - int* bytes_read) override; + int ReadRawData(net::IOBuffer* buf, int buf_size) override; bool IsRedirectResponse(GURL* location, int* http_status_code) override; net::Filter* SetupFilter() const override; bool GetMimeType(std::string* mime_type) const override; @@ -72,7 +70,7 @@ class URLRequestAsarJob : public net::URLRequestJob { FileMetaInfo(); // Size of the file. - int64 file_size; + int64_t file_size; // Mime type associated with the file. std::string mime_type; // Result returned from GetMimeTypeFromFile(), i.e. flag showing whether @@ -97,7 +95,7 @@ class URLRequestAsarJob : public net::URLRequestJob { // Callback after seeking to the beginning of |byte_range_| in the file // on a background thread. - void DidSeek(int64 result); + void DidSeek(int64_t result); // Callback after data is asynchronously read from the file into |buf|. void DidRead(scoped_refptr buf, int result); @@ -119,7 +117,9 @@ class URLRequestAsarJob : public net::URLRequestJob { scoped_refptr file_task_runner_; net::HttpByteRange byte_range_; - int64 remaining_bytes_; + int64_t remaining_bytes_; + + net::Error range_parse_result_; base::WeakPtrFactory weak_ptr_factory_; diff --git a/atom/browser/net/atom_network_delegate.cc b/atom/browser/net/atom_network_delegate.cc index f993138ccc..91b63fada3 100644 --- a/atom/browser/net/atom_network_delegate.cc +++ b/atom/browser/net/atom_network_delegate.cc @@ -78,7 +78,7 @@ void ToDictionary(base::DictionaryValue* details, net::URLRequest* request) { scoped_ptr list(new base::ListValue); GetUploadData(list.get(), request); if (!list->empty()) - details->Set("uploadData", list.Pass()); + details->Set("uploadData", std::move(list)); } void ToDictionary(base::DictionaryValue* details, @@ -87,7 +87,7 @@ void ToDictionary(base::DictionaryValue* details, net::HttpRequestHeaders::Iterator it(headers); while (it.GetNext()) dict->SetString(it.name(), it.value()); - details->Set("requestHeaders", dict.Pass()); + details->Set("requestHeaders", std::move(dict)); } void ToDictionary(base::DictionaryValue* details, @@ -107,10 +107,10 @@ void ToDictionary(base::DictionaryValue* details, } else { scoped_ptr values(new base::ListValue); values->AppendString(value); - dict->Set(key, values.Pass()); + dict->Set(key, std::move(values)); } } - details->Set("responseHeaders", dict.Pass()); + details->Set("responseHeaders", std::move(dict)); details->SetString("statusLine", headers->GetStatusLine()); details->SetInteger("statusCode", headers->response_code()); } diff --git a/atom/browser/net/atom_ssl_config_service.cc b/atom/browser/net/atom_ssl_config_service.cc index 2b3143e93c..c306a8a391 100644 --- a/atom/browser/net/atom_ssl_config_service.cc +++ b/atom/browser/net/atom_ssl_config_service.cc @@ -18,8 +18,8 @@ namespace atom { namespace { -uint16 GetSSLProtocolVersion(const std::string& version_string) { - uint16 version = 0; // Invalid +uint16_t GetSSLProtocolVersion(const std::string& version_string) { + uint16_t version = 0; // Invalid if (version_string == "tls1") version = net::SSL_PROTOCOL_VERSION_TLS1; else if (version_string == "tls1.1") @@ -29,13 +29,13 @@ uint16 GetSSLProtocolVersion(const std::string& version_string) { return version; } -std::vector ParseCipherSuites( +std::vector ParseCipherSuites( const std::vector& cipher_strings) { - std::vector cipher_suites; + std::vector cipher_suites; cipher_suites.reserve(cipher_strings.size()); for (auto& cipher_string : cipher_strings) { - uint16 cipher_suite = 0; + uint16_t cipher_suite = 0; if (!net::ParseSSLCipherString(cipher_string, &cipher_suite)) { LOG(ERROR) << "Ignoring unrecognised cipher suite : " << cipher_string; diff --git a/atom/browser/net/js_asker.cc b/atom/browser/net/js_asker.cc index 8f0d1d2b95..b11a69c9c1 100644 --- a/atom/browser/net/js_asker.cc +++ b/atom/browser/net/js_asker.cc @@ -16,7 +16,9 @@ namespace internal { namespace { // The callback which is passed to |handler|. -void HandlerCallback(const ResponseCallback& callback, mate::Arguments* args) { +void HandlerCallback(const BeforeStartCallback& before_start, + const ResponseCallback& callback, + mate::Arguments* args) { // If there is no argument passed then we failed. v8::Local value; if (!args->GetNext(&value)) { @@ -26,6 +28,9 @@ void HandlerCallback(const ResponseCallback& callback, mate::Arguments* args) { return; } + // Give the job a chance to parse V8 value. + before_start.Run(args->isolate(), value); + // Pass whatever user passed to the actaul request job. V8ValueConverter converter; v8::Local context = args->isolate()->GetCurrentContext(); @@ -40,15 +45,17 @@ void HandlerCallback(const ResponseCallback& callback, mate::Arguments* args) { void AskForOptions(v8::Isolate* isolate, const JavaScriptHandler& handler, net::URLRequest* request, + const BeforeStartCallback& before_start, const ResponseCallback& callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); v8::Locker locker(isolate); v8::HandleScope handle_scope(isolate); v8::Local context = isolate->GetCurrentContext(); v8::Context::Scope context_scope(context); - handler.Run(request, - mate::ConvertToV8(isolate, - base::Bind(&HandlerCallback, callback))); + handler.Run( + request, + mate::ConvertToV8(isolate, + base::Bind(&HandlerCallback, before_start, callback))); } bool IsErrorOptions(base::Value* value, int* error) { diff --git a/atom/browser/net/js_asker.h b/atom/browser/net/js_asker.h index 8ec245ee8c..8a70794fa9 100644 --- a/atom/browser/net/js_asker.h +++ b/atom/browser/net/js_asker.h @@ -23,6 +23,8 @@ using JavaScriptHandler = namespace internal { +using BeforeStartCallback = + base::Callback)>; using ResponseCallback = base::Callback options)>; @@ -30,6 +32,7 @@ using ResponseCallback = void AskForOptions(v8::Isolate* isolate, const JavaScriptHandler& handler, net::URLRequest* request, + const BeforeStartCallback& before_start, const ResponseCallback& callback); // Test whether the |options| means an error. @@ -54,6 +57,7 @@ class JsAsker : public RequestJob { } // Subclass should do initailze work here. + virtual void BeforeStartInUI(v8::Isolate*, v8::Local) {} virtual void StartAsync(scoped_ptr options) = 0; net::URLRequestContextGetter* request_context_getter() const { @@ -69,6 +73,8 @@ class JsAsker : public RequestJob { isolate_, handler_, RequestJob::request(), + base::Bind(&JsAsker::BeforeStartInUI, + weak_factory_.GetWeakPtr()), base::Bind(&JsAsker::OnResponse, weak_factory_.GetWeakPtr()))); } @@ -81,7 +87,7 @@ class JsAsker : public RequestJob { void OnResponse(bool success, scoped_ptr value) { int error = net::ERR_NOT_IMPLEMENTED; if (success && value && !internal::IsErrorOptions(value.get(), &error)) { - StartAsync(value.Pass()); + StartAsync(std::move(value)); } else { RequestJob::NotifyStartError( net::URLRequestStatus(net::URLRequestStatus::FAILED, error)); diff --git a/atom/browser/net/url_request_fetch_job.cc b/atom/browser/net/url_request_fetch_job.cc index 6f41829017..d58ea3fe9f 100644 --- a/atom/browser/net/url_request_fetch_job.cc +++ b/atom/browser/net/url_request_fetch_job.cc @@ -8,15 +8,14 @@ #include #include "base/strings/string_util.h" -#include "base/thread_task_runner_handle.h" +#include "native_mate/dictionary.h" #include "net/base/io_buffer.h" #include "net/base/net_errors.h" #include "net/http/http_response_headers.h" #include "net/url_request/url_fetcher.h" #include "net/url_request/url_fetcher_response_writer.h" -#include "net/url_request/url_request_context.h" -#include "net/url_request/url_request_context_builder.h" -#include "net/url_request/url_request_status.h" + +using content::BrowserThread; namespace atom { @@ -81,6 +80,25 @@ URLRequestFetchJob::URLRequestFetchJob( pending_buffer_size_(0) { } +void URLRequestFetchJob::BeforeStartInUI( + v8::Isolate* isolate, v8::Local value) { + mate::Dictionary options; + if (!mate::ConvertFromV8(isolate, value, &options)) + return; + + // When |session| is set to |null| we use a new request context for fetch job. + // TODO(zcbenz): Handle the case when it is not null. + v8::Local session; + if (options.Get("session", &session) && session->IsNull()) { + // We have to create the URLRequestContextGetter on UI thread. + url_request_context_getter_ = new brightray::URLRequestContextGetter( + this, nullptr, nullptr, base::FilePath(), true, + BrowserThread::UnsafeGetMessageLoopForThread(BrowserThread::IO), + BrowserThread::UnsafeGetMessageLoopForThread(BrowserThread::FILE), + nullptr, content::URLRequestInterceptorScopedVector()); + } +} + void URLRequestFetchJob::StartAsync(scoped_ptr options) { if (!options->IsType(base::Value::TYPE_DICTIONARY)) { NotifyStartError(net::URLRequestStatus( @@ -89,14 +107,12 @@ void URLRequestFetchJob::StartAsync(scoped_ptr options) { } std::string url, method, referrer; - base::Value* session = nullptr; base::DictionaryValue* upload_data = nullptr; base::DictionaryValue* dict = static_cast(options.get()); dict->GetString("url", &url); dict->GetString("method", &method); dict->GetString("referrer", &referrer); - dict->Get("session", &session); dict->GetDictionary("uploadData", &upload_data); // Check if URL is valid. @@ -117,9 +133,9 @@ void URLRequestFetchJob::StartAsync(scoped_ptr options) { fetcher_ = net::URLFetcher::Create(formated_url, request_type, this); fetcher_->SaveResponseWithWriter(make_scoped_ptr(new ResponsePiper(this))); - // When |session| is set to |null| we use a new request context for fetch job. - if (session && session->IsType(base::Value::TYPE_NULL)) - fetcher_->SetRequestContext(CreateRequestContext()); + // A request context getter is passed by the user. + if (url_request_context_getter_) + fetcher_->SetRequestContext(url_request_context_getter_.get()); else fetcher_->SetRequestContext(request_context_getter()); @@ -144,18 +160,6 @@ void URLRequestFetchJob::StartAsync(scoped_ptr options) { fetcher_->Start(); } -net::URLRequestContextGetter* URLRequestFetchJob::CreateRequestContext() { - if (!url_request_context_getter_.get()) { - auto task_runner = base::ThreadTaskRunnerHandle::Get(); - net::URLRequestContextBuilder builder; - builder.set_proxy_service(net::ProxyService::CreateDirect()); - request_context_ = builder.Build(); - url_request_context_getter_ = new net::TrivialURLRequestContextGetter( - request_context_.get(), task_runner); - } - return url_request_context_getter_.get(); -} - void URLRequestFetchJob::HeadersCompleted() { response_info_.reset(new net::HttpResponseInfo); response_info_->headers = fetcher_->GetResponseHeaders(); @@ -181,7 +185,7 @@ int URLRequestFetchJob::DataAvailable(net::IOBuffer* buffer, int num_bytes) { pending_buffer_ = nullptr; pending_buffer_size_ = 0; - NotifyReadComplete(bytes_read); + ReadRawDataComplete(bytes_read); return bytes_read; } @@ -190,18 +194,15 @@ void URLRequestFetchJob::Kill() { fetcher_.reset(); } -bool URLRequestFetchJob::ReadRawData(net::IOBuffer* dest, - int dest_size, - int* bytes_read) { +int URLRequestFetchJob::ReadRawData(net::IOBuffer* dest, int dest_size) { if (GetResponseCode() == 204) { - *bytes_read = 0; request()->set_received_response_content_length(prefilter_bytes_read()); - return true; + return 0; } pending_buffer_ = dest; pending_buffer_size_ = dest_size; SetStatus(net::URLRequestStatus(net::URLRequestStatus::IO_PENDING, 0)); - return false; + return dest_size; } bool URLRequestFetchJob::GetMimeType(std::string* mime_type) const { @@ -234,9 +235,10 @@ void URLRequestFetchJob::OnURLFetchComplete(const net::URLFetcher* source) { pending_buffer_ = nullptr; pending_buffer_size_ = 0; - NotifyDone(fetcher_->GetStatus()); if (fetcher_->GetStatus().is_success()) - NotifyReadComplete(0); + ReadRawDataComplete(0); + else + NotifyStartError(fetcher_->GetStatus()); } } // namespace atom diff --git a/atom/browser/net/url_request_fetch_job.h b/atom/browser/net/url_request_fetch_job.h index 399f78ae39..69067fdc7f 100644 --- a/atom/browser/net/url_request_fetch_job.h +++ b/atom/browser/net/url_request_fetch_job.h @@ -8,6 +8,7 @@ #include #include "atom/browser/net/js_asker.h" +#include "browser/url_request_context_getter.h" #include "net/url_request/url_request_context_getter.h" #include "net/url_request/url_fetcher_delegate.h" #include "net/url_request/url_request_job.h" @@ -17,7 +18,8 @@ namespace atom { class AtomBrowserContext; class URLRequestFetchJob : public JsAsker, - public net::URLFetcherDelegate { + public net::URLFetcherDelegate, + public brightray::URLRequestContextGetter::Delegate { public: URLRequestFetchJob(net::URLRequest*, net::NetworkDelegate*); @@ -27,13 +29,12 @@ class URLRequestFetchJob : public JsAsker, protected: // JsAsker: + void BeforeStartInUI(v8::Isolate*, v8::Local) override; void StartAsync(scoped_ptr options) override; // net::URLRequestJob: void Kill() override; - bool ReadRawData(net::IOBuffer* buf, - int buf_size, - int* bytes_read) override; + int ReadRawData(net::IOBuffer* buf, int buf_size) override; bool GetMimeType(std::string* mime_type) const override; void GetResponseInfo(net::HttpResponseInfo* info) override; int GetResponseCode() const override; @@ -42,10 +43,6 @@ class URLRequestFetchJob : public JsAsker, void OnURLFetchComplete(const net::URLFetcher* source) override; private: - // Create a independent request context. - net::URLRequestContextGetter* CreateRequestContext(); - - scoped_ptr request_context_; scoped_refptr url_request_context_getter_; scoped_ptr fetcher_; scoped_refptr pending_buffer_; diff --git a/atom/browser/node_debugger.cc b/atom/browser/node_debugger.cc index 2cfcdb222a..50aa454fe7 100644 --- a/atom/browser/node_debugger.cc +++ b/atom/browser/node_debugger.cc @@ -152,7 +152,7 @@ void NodeDebugger::DidAccept( return; } - accepted_socket_ = socket.Pass(); + accepted_socket_ = std::move(socket); SendConnectMessage(); } diff --git a/atom/browser/ui/accelerator_util_mac.mm b/atom/browser/ui/accelerator_util_mac.mm index 2075b1041f..be631b0212 100644 --- a/atom/browser/ui/accelerator_util_mac.mm +++ b/atom/browser/ui/accelerator_util_mac.mm @@ -28,7 +28,7 @@ void SetPlatformAccelerator(ui::Accelerator* accelerator) { scoped_ptr platform_accelerator( new ui::PlatformAcceleratorCocoa(characters, modifiers)); - accelerator->set_platform_accelerator(platform_accelerator.Pass()); + accelerator->set_platform_accelerator(std::move(platform_accelerator)); } } // namespace accelerator_util diff --git a/atom/browser/ui/message_box_mac.mm b/atom/browser/ui/message_box_mac.mm index 9380f01e38..d553a6a7df 100644 --- a/atom/browser/ui/message_box_mac.mm +++ b/atom/browser/ui/message_box_mac.mm @@ -96,7 +96,7 @@ NSAlert* CreateNSAlert(NativeWindow* parent_window, } if (!icon.isNull()) { - NSImage* image = gfx::SkBitmapToNSImageWithColorSpace( + NSImage* image = skia::SkBitmapToNSImageWithColorSpace( *icon.bitmap(), base::mac::GetGenericRGBColorSpace()); [alert setIcon:image]; } diff --git a/atom/browser/ui/message_box_win.cc b/atom/browser/ui/message_box_win.cc index 2847ae21a1..5f49151c30 100644 --- a/atom/browser/ui/message_box_win.cc +++ b/atom/browser/ui/message_box_win.cc @@ -102,9 +102,9 @@ int ShowMessageBoxUTF16(HWND parent, base::win::ScopedHICON hicon; if (!icon.isNull()) { - hicon.Set(IconUtil::CreateHICONFromSkBitmap(*icon.bitmap())); + hicon = IconUtil::CreateHICONFromSkBitmap(*icon.bitmap()); config.dwFlags |= TDF_USE_HICON_MAIN; - config.hMainIcon = hicon.Get(); + config.hMainIcon = hicon.get(); } else { // Show icon according to dialog's type. switch (type) { diff --git a/atom/browser/ui/views/global_menu_bar_x11.h b/atom/browser/ui/views/global_menu_bar_x11.h index 9049fbf606..89b2680cab 100644 --- a/atom/browser/ui/views/global_menu_bar_x11.h +++ b/atom/browser/ui/views/global_menu_bar_x11.h @@ -7,7 +7,7 @@ #include -#include "base/basictypes.h" +#include "base/macros.h" #include "base/compiler_specific.h" #include "ui/base/glib/glib_signal.h" #include "ui/gfx/native_widget_types.h" diff --git a/atom/browser/ui/views/submenu_button.cc b/atom/browser/ui/views/submenu_button.cc index 7f413d519c..72cab258cb 100644 --- a/atom/browser/ui/views/submenu_button.cc +++ b/atom/browser/ui/views/submenu_button.cc @@ -37,7 +37,7 @@ SubmenuButton::SubmenuButton(views::ButtonListener* listener, underline_color_(SK_ColorBLACK) { #if defined(OS_LINUX) // Dont' use native style border. - SetBorder(CreateDefaultBorder().Pass()); + SetBorder(std::move(CreateDefaultBorder())); #endif if (GetUnderlinePosition(title, &accelerator_, &underline_start_, diff --git a/atom/browser/ui/win/notify_icon.cc b/atom/browser/ui/win/notify_icon.cc index 1ac29f1360..1124730138 100644 --- a/atom/browser/ui/win/notify_icon.cc +++ b/atom/browser/ui/win/notify_icon.cc @@ -80,7 +80,7 @@ void NotifyIcon::ResetIcon() { InitIconData(&icon_data); icon_data.uFlags |= NIF_MESSAGE; icon_data.uCallbackMessage = message_id_; - icon_data.hIcon = icon_.Get(); + icon_data.hIcon = icon_.get(); // If we have an image, then set the NIF_ICON flag, which tells // Shell_NotifyIcon() to set the image for the status icon it creates. if (icon_data.hIcon) @@ -96,8 +96,8 @@ void NotifyIcon::SetImage(const gfx::Image& image) { NOTIFYICONDATA icon_data; InitIconData(&icon_data); icon_data.uFlags |= NIF_ICON; - icon_.Set(IconUtil::CreateHICONFromSkBitmap(image.AsBitmap())); - icon_data.hIcon = icon_.Get(); + icon_ = IconUtil::CreateHICONFromSkBitmap(image.AsBitmap()); + icon_data.hIcon = icon_.get(); BOOL result = Shell_NotifyIcon(NIM_MODIFY, &icon_data); if (!result) LOG(WARNING) << "Error setting status tray icon image"; @@ -132,8 +132,8 @@ void NotifyIcon::DisplayBalloon(const gfx::Image& icon, base::win::Version win_version = base::win::GetVersion(); if (!icon.IsEmpty() && win_version != base::win::VERSION_PRE_XP) { - balloon_icon_.Set(IconUtil::CreateHICONFromSkBitmap(icon.AsBitmap())); - icon_data.hBalloonIcon = balloon_icon_.Get(); + balloon_icon_ = IconUtil::CreateHICONFromSkBitmap(icon.AsBitmap()); + icon_data.hBalloonIcon = balloon_icon_.get(); icon_data.dwInfoFlags = NIIF_USER | NIIF_LARGE_ICON; } diff --git a/atom/browser/ui/win/notify_icon.h b/atom/browser/ui/win/notify_icon.h index 23608c7c7a..53ed49b937 100644 --- a/atom/browser/ui/win/notify_icon.h +++ b/atom/browser/ui/win/notify_icon.h @@ -11,7 +11,7 @@ #include #include "atom/browser/ui/tray_icon.h" -#include "base/basictypes.h" +#include "base/macros.h" #include "base/compiler_specific.h" #include "base/memory/scoped_ptr.h" #include "base/win/scoped_gdi_object.h" diff --git a/atom/browser/ui/win/notify_icon_host.cc b/atom/browser/ui/win/notify_icon_host.cc index a0d4287ff6..1f0b35b09f 100644 --- a/atom/browser/ui/win/notify_icon_host.cc +++ b/atom/browser/ui/win/notify_icon_host.cc @@ -15,6 +15,7 @@ #include "base/win/win_util.h" #include "base/win/wrapped_window_proc.h" #include "ui/events/event_constants.h" +#include "ui/events/win/system_event_state_lookup.h" #include "ui/gfx/win/hwnd_util.h" namespace atom { @@ -35,11 +36,11 @@ bool IsWinPressed() { int GetKeyboardModifers() { int modifiers = ui::EF_NONE; - if (base::win::IsShiftPressed()) + if (ui::win::IsShiftPressed()) modifiers |= ui::EF_SHIFT_DOWN; - if (base::win::IsCtrlPressed()) + if (ui::win::IsCtrlPressed()) modifiers |= ui::EF_CONTROL_DOWN; - if (base::win::IsAltPressed()) + if (ui::win::IsAltPressed()) modifiers |= ui::EF_ALT_DOWN; if (IsWinPressed()) modifiers |= ui::EF_COMMAND_DOWN; diff --git a/atom/browser/ui/win/taskbar_host.cc b/atom/browser/ui/win/taskbar_host.cc index 0d25082911..f7841cfa85 100644 --- a/atom/browser/ui/win/taskbar_host.cc +++ b/atom/browser/ui/win/taskbar_host.cc @@ -91,7 +91,7 @@ bool TaskbarHost::SetThumbarButtons( if (!button.icon.IsEmpty()) { thumb_button.dwMask |= THB_ICON; icons[i] = IconUtil::CreateHICONFromSkBitmap(button.icon.AsBitmap()); - thumb_button.hIcon = icons[i].Get(); + thumb_button.hIcon = icons[i].get(); } // Set tooltip. @@ -138,8 +138,8 @@ bool TaskbarHost::SetOverlayIcon( base::win::ScopedHICON icon( IconUtil::CreateHICONFromSkBitmap(overlay.AsBitmap())); - return SUCCEEDED( - taskbar_->SetOverlayIcon(window, icon, base::UTF8ToUTF16(text).c_str())); + return SUCCEEDED(taskbar_->SetOverlayIcon( + window, icon.get(), base::UTF8ToUTF16(text).c_str())); } bool TaskbarHost::HandleThumbarButtonEvent(int button_id) { diff --git a/atom/browser/web_contents_preferences.cc b/atom/browser/web_contents_preferences.cc index fb67d2516e..3939c59b8c 100644 --- a/atom/browser/web_contents_preferences.cc +++ b/atom/browser/web_contents_preferences.cc @@ -4,12 +4,15 @@ #include "atom/browser/web_contents_preferences.h" +#include #include +#include #include "atom/common/native_mate_converters/value_converter.h" #include "atom/common/options_switches.h" #include "base/command_line.h" #include "base/strings/string_number_conversions.h" +#include "content/public/browser/render_process_host.h" #include "content/public/common/content_switches.h" #include "content/public/common/web_preferences.h" #include "native_mate/dictionary.h" @@ -23,9 +26,13 @@ DEFINE_WEB_CONTENTS_USER_DATA_KEY(atom::WebContentsPreferences); namespace atom { +// static +std::vector WebContentsPreferences::instances_; + WebContentsPreferences::WebContentsPreferences( content::WebContents* web_contents, - const mate::Dictionary& web_preferences) { + const mate::Dictionary& web_preferences) + : web_contents_(web_contents) { v8::Isolate* isolate = web_preferences.isolate(); mate::Dictionary copied(isolate, web_preferences.GetHandle()->Clone()); // Following fields should not be stored. @@ -35,15 +42,31 @@ WebContentsPreferences::WebContentsPreferences( mate::ConvertFromV8(isolate, copied.GetHandle(), &web_preferences_); web_contents->SetUserData(UserDataKey(), this); + + instances_.push_back(this); } WebContentsPreferences::~WebContentsPreferences() { + instances_.erase( + std::remove(instances_.begin(), instances_.end(), this), + instances_.end()); } void WebContentsPreferences::Merge(const base::DictionaryValue& extend) { web_preferences_.MergeDictionary(&extend); } +// static +content::WebContents* WebContentsPreferences::GetWebContentsFromProcessID( + int process_id) { + for (WebContentsPreferences* preferences : instances_) { + content::WebContents* web_contents = preferences->web_contents_; + if (web_contents->GetRenderProcessHost()->GetID() == process_id) + return web_contents; + } + return nullptr; +} + // static void WebContentsPreferences::AppendExtraCommandLineSwitches( content::WebContents* web_contents, base::CommandLine* command_line) { diff --git a/atom/browser/web_contents_preferences.h b/atom/browser/web_contents_preferences.h index 8b04f9ee24..dd98a9658a 100644 --- a/atom/browser/web_contents_preferences.h +++ b/atom/browser/web_contents_preferences.h @@ -5,6 +5,8 @@ #ifndef ATOM_BROWSER_WEB_CONTENTS_PREFERENCES_H_ #define ATOM_BROWSER_WEB_CONTENTS_PREFERENCES_H_ +#include + #include "base/values.h" #include "content/public/browser/web_contents_user_data.h" @@ -26,6 +28,9 @@ namespace atom { class WebContentsPreferences : public content::WebContentsUserData { public: + // Get WebContents according to process ID. + static content::WebContents* GetWebContentsFromProcessID(int process_id); + // Append command paramters according to |web_contents|'s preferences. static void AppendExtraCommandLineSwitches( content::WebContents* web_contents, base::CommandLine* command_line); @@ -47,6 +52,9 @@ class WebContentsPreferences private: friend class content::WebContentsUserData; + static std::vector instances_; + + content::WebContents* web_contents_; base::DictionaryValue web_preferences_; DISALLOW_COPY_AND_ASSIGN(WebContentsPreferences); diff --git a/atom/browser/web_view_guest_delegate.cc b/atom/browser/web_view_guest_delegate.cc index 8e1810c4a3..38f0fb1783 100644 --- a/atom/browser/web_view_guest_delegate.cc +++ b/atom/browser/web_view_guest_delegate.cc @@ -9,6 +9,7 @@ #include "content/public/browser/guest_host.h" #include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_view_host.h" +#include "content/public/browser/render_widget_host.h" #include "content/public/browser/render_widget_host_view.h" namespace atom { @@ -101,13 +102,14 @@ void WebViewGuestDelegate::SetAllowTransparency(bool allow) { auto render_view_host = web_contents()->GetRenderViewHost(); guest_opaque_ = !allow; - if (!render_view_host->GetView()) + if (!render_view_host->GetWidget()->GetView()) return; if (guest_opaque_) { - render_view_host->GetView()->SetBackgroundColorToDefault(); + render_view_host->GetWidget()->GetView()->SetBackgroundColorToDefault(); } else { - render_view_host->GetView()->SetBackgroundColor(SK_ColorTRANSPARENT); + render_view_host->GetWidget()->GetView()->SetBackgroundColor( + SK_ColorTRANSPARENT); } } @@ -123,7 +125,8 @@ void WebViewGuestDelegate::RenderViewReady() { // WebContents::GetRenderWidgetHostView will return the RWHV of an // interstitial page if one is showing at this time. We only want opacity // to apply to web pages. - auto render_view_host_view = web_contents()->GetRenderViewHost()->GetView(); + auto render_view_host_view = + web_contents()->GetRenderViewHost()->GetWidget()->GetView(); if (guest_opaque_) render_view_host_view->SetBackgroundColorToDefault(); else diff --git a/atom/browser/window_list.h b/atom/browser/window_list.h index bfb9a2b0ae..3dd87b2c34 100644 --- a/atom/browser/window_list.h +++ b/atom/browser/window_list.h @@ -7,7 +7,7 @@ #include -#include "base/basictypes.h" +#include "base/macros.h" #include "base/lazy_instance.h" #include "base/observer_list.h" diff --git a/atom/common/api/atom_api_asar.cc b/atom/common/api/atom_api_asar.cc index 7aee71fc32..8f5190feca 100644 --- a/atom/common/api/atom_api_asar.cc +++ b/atom/common/api/atom_api_asar.cc @@ -27,12 +27,12 @@ class Archive : public mate::Wrappable { scoped_ptr archive(new asar::Archive(path)); if (!archive->Init()) return v8::False(isolate); - return (new Archive(archive.Pass()))->GetWrapper(isolate); + return (new Archive(std::move(archive)))->GetWrapper(isolate); } protected: explicit Archive(scoped_ptr archive) - : archive_(archive.Pass()) {} + : archive_(std::move(archive)) {} // Reads the offset and size of file. v8::Local GetFileInfo(v8::Isolate* isolate, diff --git a/atom/common/api/atom_api_clipboard.cc b/atom/common/api/atom_api_clipboard.cc index 5186e22c8d..1f75f2cd3f 100644 --- a/atom/common/api/atom_api_clipboard.cc +++ b/atom/common/api/atom_api_clipboard.cc @@ -109,8 +109,8 @@ base::string16 ReadHtml(mate::Arguments* args) { base::string16 data; base::string16 html; std::string url; - uint32 start; - uint32 end; + uint32_t start; + uint32_t end; ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread(); clipboard->ReadHTML(GetClipboardType(args), &html, &url, &start, &end); data = html.substr(start, end - start); diff --git a/atom/common/api/atom_api_native_image.cc b/atom/common/api/atom_api_native_image.cc index 3d000b6d5d..69ead04645 100644 --- a/atom/common/api/atom_api_native_image.cc +++ b/atom/common/api/atom_api_native_image.cc @@ -158,11 +158,11 @@ bool ReadImageSkiaFromICO(gfx::ImageSkia* image, const base::FilePath& path) { base::win::ScopedHICON icon(static_cast( LoadImage(NULL, image_path.value().c_str(), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE | LR_LOADFROMFILE))); - if (!icon) + if (!icon.get()) return false; // Convert the icon from the Windows specific HICON to gfx::ImageSkia. - scoped_ptr bitmap(IconUtil::CreateSkBitmapFromHICON(icon)); + scoped_ptr bitmap(IconUtil:: CreateSkBitmapFromHICON(icon.get())); image->AddRepresentation(gfx::ImageSkiaRep(*bitmap, 1.0f)); return true; } diff --git a/atom/common/api/atom_bindings.h b/atom/common/api/atom_bindings.h index b3536c2340..9460145d23 100644 --- a/atom/common/api/atom_bindings.h +++ b/atom/common/api/atom_bindings.h @@ -7,6 +7,7 @@ #include +#include "base/macros.h" #include "base/strings/string16.h" #include "v8/include/v8.h" #include "vendor/node/deps/uv/include/uv.h" diff --git a/atom/common/api/object_life_monitor.h b/atom/common/api/object_life_monitor.h index 90216d8227..4c932b94c7 100644 --- a/atom/common/api/object_life_monitor.h +++ b/atom/common/api/object_life_monitor.h @@ -5,7 +5,7 @@ #ifndef ATOM_COMMON_API_OBJECT_LIFE_MONITOR_H_ #define ATOM_COMMON_API_OBJECT_LIFE_MONITOR_H_ -#include "base/basictypes.h" +#include "base/macros.h" #include "base/memory/weak_ptr.h" #include "v8/include/v8.h" diff --git a/atom/common/asar/archive.cc b/atom/common/asar/archive.cc index 35451410a8..01fe23a889 100644 --- a/atom/common/asar/archive.cc +++ b/atom/common/asar/archive.cc @@ -90,12 +90,12 @@ bool GetNodeFromPath(std::string path, } bool FillFileInfoWithNode(Archive::FileInfo* info, - uint32 header_size, + uint32_t header_size, const base::DictionaryValue* node) { int size; if (!node->GetInteger("size", &size)) return false; - info->size = static_cast(size); + info->size = static_cast(size); if (node->GetBoolean("unpacked", &info->unpacked) && info->unpacked) return true; @@ -157,7 +157,7 @@ bool Archive::Init() { return false; } - uint32 size; + uint32_t size; if (!base::PickleIterator(base::Pickle(buf.data(), buf.size())).ReadUInt32( &size)) { LOG(ERROR) << "Failed to parse header size from " << path_.value(); @@ -296,7 +296,7 @@ bool Archive::CopyFileOut(const base::FilePath& path, base::FilePath* out) { #endif *out = temp_file->path(); - external_files_.set(path, temp_file.Pass()); + external_files_.set(path, std::move(temp_file)); return true; } diff --git a/atom/common/asar/archive.h b/atom/common/asar/archive.h index de5b9de605..79b848623c 100644 --- a/atom/common/asar/archive.h +++ b/atom/common/asar/archive.h @@ -28,8 +28,8 @@ class Archive { FileInfo() : unpacked(false), executable(false), size(0), offset(0) {} bool unpacked; bool executable; - uint32 size; - uint64 offset; + uint32_t size; + uint64_t offset; }; struct Stats : public FileInfo { @@ -71,7 +71,7 @@ class Archive { base::FilePath path_; base::File file_; int fd_; - uint32 header_size_; + uint32_t header_size_; scoped_ptr header_; // Cached external temporary files. diff --git a/atom/common/asar/scoped_temporary_file.cc b/atom/common/asar/scoped_temporary_file.cc index 6dd12782d8..8578d90d90 100644 --- a/atom/common/asar/scoped_temporary_file.cc +++ b/atom/common/asar/scoped_temporary_file.cc @@ -51,7 +51,7 @@ bool ScopedTemporaryFile::Init(const base::FilePath::StringType& ext) { bool ScopedTemporaryFile::InitFromFile(base::File* src, const base::FilePath::StringType& ext, - uint64 offset, uint64 size) { + uint64_t offset, uint64_t size) { if (!src->IsValid()) return false; diff --git a/atom/common/asar/scoped_temporary_file.h b/atom/common/asar/scoped_temporary_file.h index 23660a2390..5931d9b87a 100644 --- a/atom/common/asar/scoped_temporary_file.h +++ b/atom/common/asar/scoped_temporary_file.h @@ -28,7 +28,7 @@ class ScopedTemporaryFile { // Init an temporary file and fill it with content of |path|. bool InitFromFile(base::File* src, const base::FilePath::StringType& ext, - uint64 offset, uint64 size); + uint64_t offset, uint64_t size); base::FilePath path() const { return path_; } diff --git a/atom/common/atom_command_line.h b/atom/common/atom_command_line.h index 7c8840f707..b5915533a4 100644 --- a/atom/common/atom_command_line.h +++ b/atom/common/atom_command_line.h @@ -8,7 +8,8 @@ #include #include -#include "base/basictypes.h" +#include "base/macros.h" +#include "build/build_config.h" namespace atom { diff --git a/atom/common/chrome_version.h b/atom/common/chrome_version.h index 37a5c64979..8b9b7ef0c8 100644 --- a/atom/common/chrome_version.h +++ b/atom/common/chrome_version.h @@ -8,7 +8,7 @@ #ifndef ATOM_COMMON_CHROME_VERSION_H_ #define ATOM_COMMON_CHROME_VERSION_H_ -#define CHROME_VERSION_STRING "47.0.2526.110" +#define CHROME_VERSION_STRING "49.0.2623.75" #define CHROME_VERSION "v" CHROME_VERSION_STRING #endif // ATOM_COMMON_CHROME_VERSION_H_ diff --git a/atom/common/crash_reporter/crash_reporter.h b/atom/common/crash_reporter/crash_reporter.h index 98832fea45..eebbe16dca 100644 --- a/atom/common/crash_reporter/crash_reporter.h +++ b/atom/common/crash_reporter/crash_reporter.h @@ -10,7 +10,7 @@ #include #include -#include "base/basictypes.h" +#include "base/macros.h" namespace crash_reporter { diff --git a/atom/common/crash_reporter/crash_reporter_mac.mm b/atom/common/crash_reporter/crash_reporter_mac.mm index 74ac70125b..130a421665 100644 --- a/atom/common/crash_reporter/crash_reporter_mac.mm +++ b/atom/common/crash_reporter/crash_reporter_mac.mm @@ -48,7 +48,8 @@ void CrashReporterMac::InitBreakpad(const std::string& product_name, if (crashpad_client.StartHandler(handler_path, database_path, submit_url, StringMap(), - std::vector())) { + std::vector(), + true)) { crashpad_client.UseHandler(); } } // @autoreleasepool diff --git a/atom/common/crash_reporter/linux/crash_dump_handler.h b/atom/common/crash_reporter/linux/crash_dump_handler.h index f600c9e0d1..f10c521225 100644 --- a/atom/common/crash_reporter/linux/crash_dump_handler.h +++ b/atom/common/crash_reporter/linux/crash_dump_handler.h @@ -6,7 +6,11 @@ #ifndef ATOM_COMMON_CRASH_REPORTER_LINUX_CRASH_DUMP_HANDLER_H_ #define ATOM_COMMON_CRASH_REPORTER_LINUX_CRASH_DUMP_HANDLER_H_ -#include "base/basictypes.h" +#include +#include +#include + +#include "base/macros.h" #include "vendor/breakpad/src/common/simple_string_dictionary.h" namespace crash_reporter { diff --git a/atom/common/crash_reporter/win/crash_service.cc b/atom/common/crash_reporter/win/crash_service.cc index b8032f696f..58c7c38632 100644 --- a/atom/common/crash_reporter/win/crash_service.cc +++ b/atom/common/crash_reporter/win/crash_service.cc @@ -86,7 +86,7 @@ bool WriteReportIDToFile(const std::wstring& dump_path, if (!file.is_open()) return false; - int64 seconds_since_epoch = + int64_t seconds_since_epoch = (base::Time::Now() - base::Time::UnixEpoch()).InSeconds(); std::wstring line = base::Int64ToString16(seconds_since_epoch); line += L','; diff --git a/atom/common/crash_reporter/win/crash_service.h b/atom/common/crash_reporter/win/crash_service.h index 7195ec2a95..c05e0d5bf6 100644 --- a/atom/common/crash_reporter/win/crash_service.h +++ b/atom/common/crash_reporter/win/crash_service.h @@ -7,7 +7,7 @@ #include -#include "base/basictypes.h" +#include "base/macros.h" #include "base/files/file_path.h" #include "base/synchronization/lock.h" diff --git a/atom/common/native_mate_converters/net_converter.cc b/atom/common/native_mate_converters/net_converter.cc index 184f1c3fec..5223709ae5 100644 --- a/atom/common/native_mate_converters/net_converter.cc +++ b/atom/common/native_mate_converters/net_converter.cc @@ -34,7 +34,7 @@ v8::Local Converter::ToV8( scoped_ptr list(new base::ListValue); atom::GetUploadData(list.get(), val); if (!list->empty()) - dict->Set("uploadData", list.Pass()); + dict->Set("uploadData", std::move(list)); return mate::ConvertToV8(isolate, *(dict.get())); } @@ -74,7 +74,7 @@ void GetUploadData(base::ListValue* upload_data_list, const net::UploadDataStream* upload_data = request->get_upload(); if (!upload_data) return; - const ScopedVector* readers = + const std::vector>* readers = upload_data->GetElementReaders(); for (const auto& reader : *readers) { scoped_ptr upload_data_dict( @@ -85,14 +85,14 @@ void GetUploadData(base::ListValue* upload_data_list, scoped_ptr bytes( base::BinaryValue::CreateWithCopiedBuffer(bytes_reader->bytes(), bytes_reader->length())); - upload_data_dict->Set("bytes", bytes.Pass()); + upload_data_dict->Set("bytes", std::move(bytes)); } else if (reader->AsFileReader()) { const net::UploadFileElementReader* file_reader = reader->AsFileReader(); auto file_path = file_reader->path().AsUTF8Unsafe(); upload_data_dict->SetStringWithoutPathExpansion("file", file_path); } - upload_data_list->Append(upload_data_dict.Pass()); + upload_data_list->Append(std::move(upload_data_dict)); } } diff --git a/atom/common/native_mate_converters/v8_value_converter.cc b/atom/common/native_mate_converters/v8_value_converter.cc index 1a729dda53..99873cd1c4 100644 --- a/atom/common/native_mate_converters/v8_value_converter.cc +++ b/atom/common/native_mate_converters/v8_value_converter.cc @@ -169,7 +169,7 @@ v8::Local V8ValueConverter::ToV8Array( CHECK(!child_v8.IsEmpty()); v8::TryCatch try_catch; - result->Set(static_cast(i), child_v8); + result->Set(static_cast(i), child_v8); if (try_catch.HasCaught()) LOG(ERROR) << "Setter for index " << i << " threw an exception."; } @@ -298,7 +298,7 @@ base::Value* V8ValueConverter::FromV8Array( base::ListValue* result = new base::ListValue(); // Only fields with integer keys are carried over to the ListValue. - for (uint32 i = 0; i < val->Length(); ++i) { + for (uint32_t i = 0; i < val->Length(); ++i) { v8::TryCatch try_catch; v8::Local child_v8 = val->Get(i); if (try_catch.HasCaught()) { @@ -345,7 +345,7 @@ base::Value* V8ValueConverter::FromV8Object( scoped_ptr result(new base::DictionaryValue()); v8::Local property_names(val->GetOwnPropertyNames()); - for (uint32 i = 0; i < property_names->Length(); ++i) { + for (uint32_t i = 0; i < property_names->Length(); ++i) { v8::Local key(property_names->Get(i)); // Extend this test to cover more types as necessary and if sensible. diff --git a/atom/common/native_mate_converters/v8_value_converter.h b/atom/common/native_mate_converters/v8_value_converter.h index 95840c01ba..632587022d 100644 --- a/atom/common/native_mate_converters/v8_value_converter.h +++ b/atom/common/native_mate_converters/v8_value_converter.h @@ -5,7 +5,7 @@ #ifndef ATOM_COMMON_NATIVE_MATE_CONVERTERS_V8_VALUE_CONVERTER_H_ #define ATOM_COMMON_NATIVE_MATE_CONVERTERS_V8_VALUE_CONVERTER_H_ -#include "base/basictypes.h" +#include "base/macros.h" #include "base/compiler_specific.h" #include "v8/include/v8.h" diff --git a/atom/common/node_bindings.cc b/atom/common/node_bindings.cc index 608cc94b09..950a2cd786 100644 --- a/atom/common/node_bindings.cc +++ b/atom/common/node_bindings.cc @@ -85,7 +85,7 @@ scoped_ptr StringVectorToArgArray( for (size_t i = 0; i < vector.size(); ++i) { array[i] = vector[i].c_str(); } - return array.Pass(); + return array; } base::FilePath GetResourcesPath(bool is_browser) { diff --git a/atom/common/node_bindings.h b/atom/common/node_bindings.h index 93ad771491..16d512d3be 100644 --- a/atom/common/node_bindings.h +++ b/atom/common/node_bindings.h @@ -5,7 +5,7 @@ #ifndef ATOM_COMMON_NODE_BINDINGS_H_ #define ATOM_COMMON_NODE_BINDINGS_H_ -#include "base/basictypes.h" +#include "base/macros.h" #include "base/memory/weak_ptr.h" #include "v8/include/v8.h" #include "vendor/node/deps/uv/include/uv.h" diff --git a/atom/renderer/api/atom_api_spell_check_client.cc b/atom/renderer/api/atom_api_spell_check_client.cc index 25d1e30b0a..08f36efce5 100644 --- a/atom/renderer/api/atom_api_spell_check_client.cc +++ b/atom/renderer/api/atom_api_spell_check_client.cc @@ -21,13 +21,11 @@ namespace api { namespace { -const int kMaxAutoCorrectWordSize = 8; - bool HasWordCharacters(const base::string16& text, int index) { const base::char16* data = text.data(); int length = text.length(); while (index < length) { - uint32 code = 0; + uint32_t code = 0; U16_NEXT(data, index, length, code); UErrorCode error = U_ZERO_ERROR; if (uscript_getScript(code, &error) != USCRIPT_COMMON) @@ -42,8 +40,7 @@ SpellCheckClient::SpellCheckClient(const std::string& language, bool auto_spell_correct_turned_on, v8::Isolate* isolate, v8::Local provider) - : auto_spell_correct_turned_on_(auto_spell_correct_turned_on), - isolate_(isolate), + : isolate_(isolate), provider_(isolate, provider) { character_attributes_.SetDefaultLanguage(language); @@ -96,14 +93,6 @@ void SpellCheckClient::requestCheckingOfText( completionCallback->didFinishCheckingText(results); } -blink::WebString SpellCheckClient::autoCorrectWord( - const blink::WebString& misspelledWord) { - if (auto_spell_correct_turned_on_) - return GetAutoCorrectionWord(base::string16(misspelledWord)); - else - return blink::WebString(); -} - void SpellCheckClient::showSpellingUI(bool show) { } @@ -170,53 +159,6 @@ bool SpellCheckClient::SpellCheckWord(const base::string16& word_to_check) { return true; } -base::string16 SpellCheckClient::GetAutoCorrectionWord( - const base::string16& word) { - base::string16 autocorrect_word; - - int word_length = static_cast(word.size()); - if (word_length < 2 || word_length > kMaxAutoCorrectWordSize) - return autocorrect_word; - - base::char16 misspelled_word[kMaxAutoCorrectWordSize + 1]; - const base::char16* word_char = word.c_str(); - for (int i = 0; i <= kMaxAutoCorrectWordSize; ++i) { - if (i >= word_length) - misspelled_word[i] = 0; - else - misspelled_word[i] = word_char[i]; - } - - // Swap adjacent characters and spellcheck. - int misspelling_start, misspelling_len; - for (int i = 0; i < word_length - 1; i++) { - // Swap. - std::swap(misspelled_word[i], misspelled_word[i + 1]); - - // Check spelling. - misspelling_start = misspelling_len = 0; - spellCheck(blink::WebString(misspelled_word, word_length), - misspelling_start, - misspelling_len, - NULL); - - // Make decision: if only one swap produced a valid word, then we want to - // return it. If we found two or more, we don't do autocorrection. - if (misspelling_len == 0) { - if (autocorrect_word.empty()) { - autocorrect_word.assign(misspelled_word); - } else { - autocorrect_word.clear(); - break; - } - } - - // Restore the swapped characters. - std::swap(misspelled_word[i], misspelled_word[i + 1]); - } - return autocorrect_word; -} - // Returns whether or not the given string is a valid contraction. // This function is a fall-back when the SpellcheckWordIterator class // returns a concatenated word which is not in the selected dictionary diff --git a/atom/renderer/api/atom_api_spell_check_client.h b/atom/renderer/api/atom_api_spell_check_client.h index 345cad186a..af72756e2e 100644 --- a/atom/renderer/api/atom_api_spell_check_client.h +++ b/atom/renderer/api/atom_api_spell_check_client.h @@ -41,8 +41,6 @@ class SpellCheckClient : public blink::WebSpellCheckClient { const blink::WebVector& markersInText, const blink::WebVector& markerOffsets, blink::WebTextCheckingCompletion* completionCallback) override; - blink::WebString autoCorrectWord( - const blink::WebString& misspelledWord) override; void showSpellingUI(bool show) override; bool isShowingSpellingUI() override; void updateSpellingUIWithMisspelledWord( diff --git a/atom/renderer/node_array_buffer_bridge.cc b/atom/renderer/node_array_buffer_bridge.cc index 80f2530524..c4b8d26ada 100644 --- a/atom/renderer/node_array_buffer_bridge.cc +++ b/atom/renderer/node_array_buffer_bridge.cc @@ -4,7 +4,7 @@ #include "atom/renderer/node_array_buffer_bridge.h" -#include "base/basictypes.h" +#include "base/macros.h" #include "atom/common/node_includes.h" #include "native_mate/converter.h" #include "third_party/WebKit/public/web/WebArrayBuffer.h" diff --git a/chromium_src/chrome/browser/browser_process.h b/chromium_src/chrome/browser/browser_process.h index f971320f82..8baa899f7a 100644 --- a/chromium_src/chrome/browser/browser_process.h +++ b/chromium_src/chrome/browser/browser_process.h @@ -12,7 +12,7 @@ #include -#include "base/basictypes.h" +#include "base/macros.h" #include "base/memory/scoped_ptr.h" namespace printing { diff --git a/chromium_src/chrome/browser/extensions/global_shortcut_listener.h b/chromium_src/chrome/browser/extensions/global_shortcut_listener.h index 1f07df2b6e..9aec54a326 100644 --- a/chromium_src/chrome/browser/extensions/global_shortcut_listener.h +++ b/chromium_src/chrome/browser/extensions/global_shortcut_listener.h @@ -7,7 +7,7 @@ #include -#include "base/basictypes.h" +#include "base/macros.h" #include "ui/events/keycodes/keyboard_codes.h" namespace ui { diff --git a/chromium_src/chrome/browser/media/desktop_media_list.h b/chromium_src/chrome/browser/media/desktop_media_list.h index 7ef703e8b7..6572e792a1 100644 --- a/chromium_src/chrome/browser/media/desktop_media_list.h +++ b/chromium_src/chrome/browser/media/desktop_media_list.h @@ -5,7 +5,6 @@ #ifndef CHROME_BROWSER_MEDIA_DESKTOP_MEDIA_LIST_H_ #define CHROME_BROWSER_MEDIA_DESKTOP_MEDIA_LIST_H_ -#include "base/basictypes.h" #include "base/strings/string16.h" #include "base/time/time.h" #include "content/public/browser/desktop_media_id.h" diff --git a/chromium_src/chrome/browser/media/native_desktop_media_list.cc b/chromium_src/chrome/browser/media/native_desktop_media_list.cc index 4a7fb58962..3c1848df3e 100644 --- a/chromium_src/chrome/browser/media/native_desktop_media_list.cc +++ b/chromium_src/chrome/browser/media/native_desktop_media_list.cc @@ -34,7 +34,7 @@ const int kDefaultUpdatePeriod = 1000; // Returns a hash of a DesktopFrame content to detect when image for a desktop // media source has changed. -uint32 GetFrameHash(webrtc::DesktopFrame* frame) { +uint32_t GetFrameHash(webrtc::DesktopFrame* frame) { int data_size = frame->stride() * frame->size().height(); return base::SuperFastHash(reinterpret_cast(frame->data()), data_size); } @@ -117,8 +117,8 @@ NativeDesktopMediaList::Worker::Worker( scoped_ptr screen_capturer, scoped_ptr window_capturer) : media_list_(media_list), - screen_capturer_(screen_capturer.Pass()), - window_capturer_(window_capturer.Pass()) { + screen_capturer_(std::move(screen_capturer)), + window_capturer_(std::move(window_capturer)) { if (screen_capturer_) screen_capturer_->Start(this); if (window_capturer_) @@ -195,14 +195,14 @@ void NativeDesktopMediaList::Worker::Refresh( // |current_frame_| may be NULL if capture failed (e.g. because window has // been closed). if (current_frame_) { - uint32 frame_hash = GetFrameHash(current_frame_.get()); + uint32_t frame_hash = GetFrameHash(current_frame_.get()); new_image_hashes[source.id] = frame_hash; // Scale the image only if it has changed. ImageHashesMap::iterator it = image_hashes_.find(source.id); if (it == image_hashes_.end() || it->second != frame_hash) { gfx::ImageSkia thumbnail = - ScaleDesktopFrame(current_frame_.Pass(), thumbnail_size); + ScaleDesktopFrame(std::move(current_frame_), thumbnail_size); BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, base::Bind(&NativeDesktopMediaList::OnSourceThumbnail, @@ -231,8 +231,8 @@ void NativeDesktopMediaList::Worker::OnCaptureCompleted( NativeDesktopMediaList::NativeDesktopMediaList( scoped_ptr screen_capturer, scoped_ptr window_capturer) - : screen_capturer_(screen_capturer.Pass()), - window_capturer_(window_capturer.Pass()), + : screen_capturer_(std::move(screen_capturer)), + window_capturer_(std::move(window_capturer)), update_period_(base::TimeDelta::FromMilliseconds(kDefaultUpdatePeriod)), thumbnail_size_(100, 100), view_dialog_id_(-1), @@ -269,7 +269,8 @@ void NativeDesktopMediaList::StartUpdating(DesktopMediaListObserver* observer) { observer_ = observer; worker_.reset(new Worker(weak_factory_.GetWeakPtr(), - screen_capturer_.Pass(), window_capturer_.Pass())); + std::move(screen_capturer_), + std::move(window_capturer_))); Refresh(); } diff --git a/chromium_src/chrome/browser/media/native_desktop_media_list.h b/chromium_src/chrome/browser/media/native_desktop_media_list.h index 943d3dd325..f789a368be 100644 --- a/chromium_src/chrome/browser/media/native_desktop_media_list.h +++ b/chromium_src/chrome/browser/media/native_desktop_media_list.h @@ -5,7 +5,6 @@ #ifndef CHROME_BROWSER_MEDIA_NATIVE_DESKTOP_MEDIA_LIST_H_ #define CHROME_BROWSER_MEDIA_NATIVE_DESKTOP_MEDIA_LIST_H_ -#include "base/basictypes.h" #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" #include "base/sequenced_task_runner.h" 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 9064cd961b..5d42264144 100644 --- a/chromium_src/chrome/browser/printing/pdf_to_emf_converter.cc +++ b/chromium_src/chrome/browser/printing/pdf_to_emf_converter.cc @@ -109,21 +109,21 @@ class PdfToEmfUtilityProcessHostClient private: class GetPageCallbackData { - MOVE_ONLY_TYPE_FOR_CPP_03(GetPageCallbackData, RValue); + MOVE_ONLY_TYPE_FOR_CPP_03(GetPageCallbackData); public: GetPageCallbackData(int page_number, PdfToEmfConverter::GetPageCallback callback) : page_number_(page_number), callback_(callback) {} - // Move constructor for STL. - GetPageCallbackData(RValue other) { this->operator=(other); } + GetPageCallbackData(GetPageCallbackData&& other) { + *this = std::move(other); + } - // Move assignment for STL. - GetPageCallbackData& operator=(RValue rhs) { - page_number_ = rhs.object->page_number_; - callback_ = rhs.object->callback_; - emf_ = rhs.object->emf_.Pass(); + GetPageCallbackData& operator=(GetPageCallbackData&& rhs) { + page_number_ = rhs.page_number_; + callback_ = rhs.callback_; + emf_ = std::move(rhs.emf_); return *this; } @@ -256,7 +256,7 @@ void LazyEmf::Close() const { bool LazyEmf::LoadEmf(Emf* emf) const { file_->Seek(base::File::FROM_BEGIN, 0); - int64 size = file_->GetLength(); + int64_t size = file_->GetLength(); if (size <= 0) return false; std::vector data(size); diff --git a/chromium_src/chrome/browser/printing/print_job.cc b/chromium_src/chrome/browser/printing/print_job.cc index 65449ef121..60dcebe080 100644 --- a/chromium_src/chrome/browser/printing/print_job.cc +++ b/chromium_src/chrome/browser/printing/print_job.cc @@ -441,7 +441,7 @@ void PrintJob::HoldUntilStopIsCalled() { } void PrintJob::Quit() { - base::MessageLoop::current()->Quit(); + base::MessageLoop::current()->QuitWhenIdle(); } // Takes settings_ ownership and will be deleted in the receiving thread. diff --git a/chromium_src/chrome/browser/printing/print_job.h b/chromium_src/chrome/browser/printing/print_job.h index 48daaa6cb9..4963a94f14 100644 --- a/chromium_src/chrome/browser/printing/print_job.h +++ b/chromium_src/chrome/browser/printing/print_job.h @@ -5,7 +5,6 @@ #ifndef CHROME_BROWSER_PRINTING_PRINT_JOB_H_ #define CHROME_BROWSER_PRINTING_PRINT_JOB_H_ -#include "base/basictypes.h" #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" #include "base/message_loop/message_loop.h" diff --git a/chromium_src/chrome/browser/printing/print_preview_message_handler.cc b/chromium_src/chrome/browser/printing/print_preview_message_handler.cc index 613f3f2343..a195ad4c6a 100644 --- a/chromium_src/chrome/browser/printing/print_preview_message_handler.cc +++ b/chromium_src/chrome/browser/printing/print_preview_message_handler.cc @@ -118,7 +118,7 @@ void PrintPreviewMessageHandler::PrintToPDF( } void PrintPreviewMessageHandler::RunPrintToPDFCallback( - int request_id, uint32 data_size, char* data) { + int request_id, uint32_t data_size, char* data) { DCHECK_CURRENTLY_ON(BrowserThread::UI); v8::Isolate* isolate = v8::Isolate::GetCurrent(); diff --git a/chromium_src/chrome/browser/printing/print_preview_message_handler.h b/chromium_src/chrome/browser/printing/print_preview_message_handler.h index 453d78761b..1aac74baa2 100644 --- a/chromium_src/chrome/browser/printing/print_preview_message_handler.h +++ b/chromium_src/chrome/browser/printing/print_preview_message_handler.h @@ -47,7 +47,7 @@ class PrintPreviewMessageHandler const PrintHostMsg_DidPreviewDocument_Params& params); void OnPrintPreviewFailed(int document_cookie, int request_id); - void RunPrintToPDFCallback(int request_id, uint32 data_size, char* data); + void RunPrintToPDFCallback(int request_id, uint32_t data_size, char* data); PrintToPDFCallbackMap print_to_pdf_callback_map_; diff --git a/chromium_src/chrome/browser/printing/print_view_manager_base.cc b/chromium_src/chrome/browser/printing/print_view_manager_base.cc index ede1d3b8ba..688256e425 100644 --- a/chromium_src/chrome/browser/printing/print_view_manager_base.cc +++ b/chromium_src/chrome/browser/printing/print_view_manager_base.cc @@ -144,7 +144,7 @@ void PrintViewManagerBase::OnDidPrintPage( #if !defined(OS_WIN) // Update the rendered document. It will send notifications to the listener. document->SetPage(params.page_number, - metafile.Pass(), + std::move(metafile), params.page_size, params.content_area); @@ -305,7 +305,7 @@ void PrintViewManagerBase::ShouldQuitFromInnerMessageLoop() { inside_inner_message_loop_) { // We are in a message loop created by RenderAllMissingPagesNow. Quit from // it. - base::MessageLoop::current()->Quit(); + base::MessageLoop::current()->QuitWhenIdle(); inside_inner_message_loop_ = false; } } @@ -411,9 +411,9 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { // memory-bound. static const int kPrinterSettingsTimeout = 60000; base::OneShotTimer quit_timer; - quit_timer.Start(FROM_HERE, - TimeDelta::FromMilliseconds(kPrinterSettingsTimeout), - base::MessageLoop::current(), &base::MessageLoop::Quit); + quit_timer.Start( + FROM_HERE, TimeDelta::FromMilliseconds(kPrinterSettingsTimeout), + base::MessageLoop::current(), &base::MessageLoop::QuitWhenIdle); inside_inner_message_loop_ = true; diff --git a/chromium_src/chrome/browser/printing/printing_message_filter.cc b/chromium_src/chrome/browser/printing/printing_message_filter.cc index 6fd536ef68..eac4405fbc 100644 --- a/chromium_src/chrome/browser/printing/printing_message_filter.cc +++ b/chromium_src/chrome/browser/printing/printing_message_filter.cc @@ -394,7 +394,7 @@ void PrintingMessageFilter::OnUpdatePrintSettings( printer_query = queue_->CreatePrinterQuery(host_id, routing_id); } printer_query->SetSettings( - new_settings.Pass(), + std::move(new_settings), base::Bind(&PrintingMessageFilter::OnUpdatePrintSettingsReply, this, printer_query, reply_msg)); } diff --git a/chromium_src/chrome/browser/printing/printing_message_filter.h b/chromium_src/chrome/browser/printing/printing_message_filter.h index 624b28fd35..e8536a69c5 100644 --- a/chromium_src/chrome/browser/printing/printing_message_filter.h +++ b/chromium_src/chrome/browser/printing/printing_message_filter.h @@ -107,7 +107,7 @@ class PrintingMessageFilter : public content::BrowserMessageFilter { #if defined(ENABLE_FULL_PRINTING) // Check to see if print preview has been cancelled. - void OnCheckForCancel(int32 preview_ui_id, + void OnCheckForCancel(int32_t preview_ui_id, int preview_request_id, bool* cancel); #endif diff --git a/chromium_src/chrome/browser/printing/printing_ui_web_contents_observer.h b/chromium_src/chrome/browser/printing/printing_ui_web_contents_observer.h index 66d51e7fba..de969f5cdb 100644 --- a/chromium_src/chrome/browser/printing/printing_ui_web_contents_observer.h +++ b/chromium_src/chrome/browser/printing/printing_ui_web_contents_observer.h @@ -5,7 +5,6 @@ #ifndef CHROME_BROWSER_PRINTING_PRINTING_UI_WEB_CONTENTS_OBSERVER_H_ #define CHROME_BROWSER_PRINTING_PRINTING_UI_WEB_CONTENTS_OBSERVER_H_ -#include "base/basictypes.h" #include "content/public/browser/web_contents_observer.h" #include "ui/gfx/native_widget_types.h" diff --git a/chromium_src/chrome/browser/process_singleton.h b/chromium_src/chrome/browser/process_singleton.h index 3eeb53393e..eab6c35479 100644 --- a/chromium_src/chrome/browser/process_singleton.h +++ b/chromium_src/chrome/browser/process_singleton.h @@ -12,7 +12,6 @@ #include #include -#include "base/basictypes.h" #include "base/callback.h" #include "base/command_line.h" #include "base/files/file_path.h" diff --git a/chromium_src/chrome/browser/process_singleton_posix.cc b/chromium_src/chrome/browser/process_singleton_posix.cc index 98fb948730..7e54d9b5d3 100644 --- a/chromium_src/chrome/browser/process_singleton_posix.cc +++ b/chromium_src/chrome/browser/process_singleton_posix.cc @@ -54,7 +54,6 @@ #include "atom/common/atom_command_line.h" #include "base/base_paths.h" -#include "base/basictypes.h" #include "base/bind.h" #include "base/command_line.h" #include "base/files/file_path.h" @@ -75,6 +74,7 @@ #include "base/strings/stringprintf.h" #include "base/strings/sys_string_conversions.h" #include "base/strings/utf_string_conversions.h" +#include "base/thread_task_runner_handle.h" #include "base/threading/platform_thread.h" #include "base/time/time.h" #include "base/timer/timer.h" @@ -222,7 +222,7 @@ int SetupSocketOnly() { int sock = socket(PF_UNIX, SOCK_STREAM, 0); PCHECK(sock >= 0) << "socket() failed"; - int rv = net::SetNonBlocking(sock); + int rv = base::SetNonBlocking(sock); DCHECK_EQ(0, rv) << "Failed to make non-blocking socket."; rv = SetCloseOnExec(sock); DCHECK_EQ(0, rv) << "Failed to set CLOEXEC on socket."; @@ -577,7 +577,7 @@ void ProcessSingleton::LinuxWatcher::OnFileCanReadWithoutBlocking(int fd) { PLOG(ERROR) << "accept() failed"; return; } - int rv = net::SetNonBlocking(connection_socket); + int rv = base::SetNonBlocking(connection_socket); DCHECK_EQ(0, rv) << "Failed to make non-blocking socket."; SocketReader* reader = new SocketReader(this, ui_message_loop_, @@ -990,8 +990,8 @@ bool ProcessSingleton::Create() { // In Electron the ProcessSingleton is created earlier than the IO // thread gets created, so we have to postpone the call until message // loop is up an running. - scoped_refptr task_runner( - base::ThreadTaskRunnerHandle::Get()); + scoped_refptr task_runner = + base::ThreadTaskRunnerHandle::Get(); task_runner->PostTask( FROM_HERE, base::Bind(&ProcessSingleton::StartListening, diff --git a/chromium_src/chrome/browser/process_singleton_win.cc b/chromium_src/chrome/browser/process_singleton_win.cc index 14e53bec5f..fd4c22e740 100644 --- a/chromium_src/chrome/browser/process_singleton_win.cc +++ b/chromium_src/chrome/browser/process_singleton_win.cc @@ -16,7 +16,6 @@ #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" #include "base/time/time.h" -#include "base/win/metro.h" #include "base/win/registry.h" #include "base/win/scoped_handle.h" #include "base/win/windows_version.h" diff --git a/chromium_src/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h b/chromium_src/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h index 6fb4aced18..40a03a1ff5 100644 --- a/chromium_src/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h +++ b/chromium_src/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h @@ -5,7 +5,6 @@ #ifndef CHROME_BROWSER_RENDERER_HOST_PEPPER_PEPPER_FLASH_BROWSER_HOST_H_ #define CHROME_BROWSER_RENDERER_HOST_PEPPER_PEPPER_FLASH_BROWSER_HOST_H_ -#include "base/basictypes.h" #include "base/memory/ref_counted.h" #include "base/memory/weak_ptr.h" #include "ppapi/host/host_message_context.h" diff --git a/chromium_src/chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.cc b/chromium_src/chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.cc index fdc054f59f..9ddb9fa56d 100644 --- a/chromium_src/chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.cc +++ b/chromium_src/chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.cc @@ -240,8 +240,8 @@ int32_t PepperFlashClipboardMessageFilter::OnMsgReadData( base::string16 html; std::string url; - uint32 fragment_start; - uint32 fragment_end; + uint32_t fragment_start; + uint32_t fragment_end; clipboard->ReadHTML(type, &html, &url, &fragment_start, &fragment_end); result = PP_OK; clipboard_string = base::UTF16ToUTF8( diff --git a/chromium_src/chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.h b/chromium_src/chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.h index ff07eb7375..4c146dd5da 100644 --- a/chromium_src/chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.h +++ b/chromium_src/chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.h @@ -8,8 +8,6 @@ #include #include -#include "base/basictypes.h" -#include "base/compiler_specific.h" #include "ppapi/host/resource_message_filter.h" #include "ppapi/shared_impl/flash_clipboard_format_registry.h" diff --git a/chromium_src/chrome/browser/speech/tts_win.cc b/chromium_src/chrome/browser/speech/tts_win.cc index ac25820588..bc9411a8c1 100644 --- a/chromium_src/chrome/browser/speech/tts_win.cc +++ b/chromium_src/chrome/browser/speech/tts_win.cc @@ -87,7 +87,7 @@ bool TtsPlatformImplWin::Speak( // 0.1 -> -10 // 1.0 -> 0 // 10.0 -> 10 - speech_synthesizer_->SetRate(static_cast(10 * log10(params.rate))); + speech_synthesizer_->SetRate(static_cast(10 * log10(params.rate))); } if (params.pitch >= 0.0) { @@ -102,7 +102,7 @@ bool TtsPlatformImplWin::Speak( if (params.volume >= 0.0) { // The TTS api allows a range of 0 to 100 for speech volume. - speech_synthesizer_->SetVolume(static_cast(params.volume * 100)); + speech_synthesizer_->SetVolume(static_cast(params.volume * 100)); } // TODO(dmazzoni): convert SSML to SAPI xml. http://crbug.com/88072 diff --git a/chromium_src/chrome/browser/ui/cocoa/color_chooser_mac.mm b/chromium_src/chrome/browser/ui/cocoa/color_chooser_mac.mm index cb366022d6..6183dd5d5b 100644 --- a/chromium_src/chrome/browser/ui/cocoa/color_chooser_mac.mm +++ b/chromium_src/chrome/browser/ui/cocoa/color_chooser_mac.mm @@ -74,7 +74,7 @@ ColorChooserMac::ColorChooserMac(content::WebContents* web_contents, SkColor initial_color) : web_contents_(web_contents) { panel_.reset([[ColorPanelCocoa alloc] initWithChooser:this]); - [panel_ setColor:gfx::SkColorToDeviceNSColor(initial_color)]; + [panel_ setColor:skia::SkColorToDeviceNSColor(initial_color)]; [[NSColorPanel sharedColorPanel] makeKeyAndOrderFront:nil]; } @@ -101,7 +101,7 @@ void ColorChooserMac::End() { } void ColorChooserMac::SetSelectedColor(SkColor color) { - [panel_ setColor:gfx::SkColorToDeviceNSColor(color)]; + [panel_ setColor:skia::SkColorToDeviceNSColor(color)]; } @implementation ColorPanelCocoa @@ -139,7 +139,7 @@ void ColorChooserMac::SetSelectedColor(SkColor color) { nonUserChange_ = NO; return; } - chooser_->DidChooseColorInColorPanel(gfx::NSDeviceColorToSkColor( + chooser_->DidChooseColorInColorPanel(skia::NSDeviceColorToSkColor( [[panel color] colorUsingColorSpaceName:NSDeviceRGBColorSpace])); nonUserChange_ = NO; } diff --git a/chromium_src/chrome/browser/ui/views/color_chooser_aura.h b/chromium_src/chrome/browser/ui/views/color_chooser_aura.h index 6394b973a3..355f540b19 100644 --- a/chromium_src/chrome/browser/ui/views/color_chooser_aura.h +++ b/chromium_src/chrome/browser/ui/views/color_chooser_aura.h @@ -5,8 +5,7 @@ #ifndef CHROME_BROWSER_UI_VIEWS_COLOR_CHOOSER_AURA_H_ #define CHROME_BROWSER_UI_VIEWS_COLOR_CHOOSER_AURA_H_ -#include "base/basictypes.h" -#include "base/compiler_specific.h" +#include "base/macros.h" #include "content/public/browser/color_chooser.h" #include "ui/views/color_chooser/color_chooser_listener.h" diff --git a/chromium_src/chrome/browser/ui/views/color_chooser_win.cc b/chromium_src/chrome/browser/ui/views/color_chooser_win.cc index b62801399e..7a4f757333 100644 --- a/chromium_src/chrome/browser/ui/views/color_chooser_win.cc +++ b/chromium_src/chrome/browser/ui/views/color_chooser_win.cc @@ -9,8 +9,10 @@ #include "chrome/browser/ui/views/color_chooser_dialog.h" #include "content/public/browser/color_chooser.h" #include "content/public/browser/render_view_host.h" +#include "content/public/browser/render_widget_host.h" #include "content/public/browser/render_widget_host_view.h" #include "content/public/browser/web_contents.h" +#include "ui/aura/window.h" #include "ui/views/color_chooser/color_chooser_listener.h" class ColorChooserWin : public content::ColorChooser, @@ -55,9 +57,11 @@ ColorChooserWin* ColorChooserWin::Open(content::WebContents* web_contents, ColorChooserWin::ColorChooserWin(content::WebContents* web_contents, SkColor initial_color) : web_contents_(web_contents) { - gfx::NativeWindow owning_window = (gfx::NativeWindow)::GetAncestor( - (HWND)web_contents->GetRenderViewHost()->GetView()->GetNativeView(), - GA_ROOT); + gfx::NativeWindow owning_window = web_contents->GetRenderViewHost() + ->GetWidget() + ->GetView() + ->GetNativeView() + ->GetToplevelWindow(); color_chooser_dialog_ = new ColorChooserDialog(this, initial_color, owning_window); diff --git a/chromium_src/chrome/browser/ui/views/frame/global_menu_bar_registrar_x11.h b/chromium_src/chrome/browser/ui/views/frame/global_menu_bar_registrar_x11.h index 694f776b24..95a08b229f 100644 --- a/chromium_src/chrome/browser/ui/views/frame/global_menu_bar_registrar_x11.h +++ b/chromium_src/chrome/browser/ui/views/frame/global_menu_bar_registrar_x11.h @@ -9,7 +9,6 @@ #include -#include "base/basictypes.h" #include "base/memory/ref_counted.h" #include "base/memory/singleton.h" #include "ui/base/glib/glib_signal.h" diff --git a/chromium_src/chrome/common/chrome_paths_win.cc b/chromium_src/chrome/common/chrome_paths_win.cc index 37f4ec2b05..89c2ae48ea 100644 --- a/chromium_src/chrome/common/chrome_paths_win.cc +++ b/chromium_src/chrome/common/chrome_paths_win.cc @@ -12,7 +12,6 @@ #include "base/files/file_path.h" #include "base/path_service.h" -#include "base/win/metro.h" #include "base/win/scoped_co_mem.h" #include "chrome/common/chrome_constants.h" diff --git a/chromium_src/chrome/common/print_messages.cc b/chromium_src/chrome/common/print_messages.cc index 5f8e30f369..b0ec282382 100644 --- a/chromium_src/chrome/common/print_messages.cc +++ b/chromium_src/chrome/common/print_messages.cc @@ -4,7 +4,6 @@ #include "chrome/common/print_messages.h" -#include "base/basictypes.h" #include "base/strings/string16.h" #include "ui/gfx/geometry/size.h" diff --git a/chromium_src/chrome/common/print_messages.h b/chromium_src/chrome/common/print_messages.h index cd775d0478..034691b5b9 100644 --- a/chromium_src/chrome/common/print_messages.h +++ b/chromium_src/chrome/common/print_messages.h @@ -161,7 +161,7 @@ IPC_STRUCT_BEGIN(PrintHostMsg_DidPrintPage_Params) IPC_STRUCT_MEMBER(base::SharedMemoryHandle, metafile_data_handle) // Size of the metafile data. - IPC_STRUCT_MEMBER(uint32, data_size) + IPC_STRUCT_MEMBER(uint32_t, data_size) // Cookie for the document to ensure correctness. IPC_STRUCT_MEMBER(int, document_cookie) @@ -193,7 +193,7 @@ IPC_STRUCT_BEGIN(PrintHostMsg_DidPreviewDocument_Params) IPC_STRUCT_MEMBER(base::SharedMemoryHandle, metafile_data_handle) // Size of metafile data. - IPC_STRUCT_MEMBER(uint32, data_size) + IPC_STRUCT_MEMBER(uint32_t, data_size) // Cookie for the document to ensure correctness. IPC_STRUCT_MEMBER(int, document_cookie) diff --git a/chromium_src/chrome/common/tts_utterance_request.h b/chromium_src/chrome/common/tts_utterance_request.h index e0b7adfa4a..a4b4cab68c 100644 --- a/chromium_src/chrome/common/tts_utterance_request.h +++ b/chromium_src/chrome/common/tts_utterance_request.h @@ -7,7 +7,7 @@ #include -#include "base/basictypes.h" +#include "base/macros.h" #include "base/strings/string16.h" struct TtsUtteranceRequest { @@ -41,4 +41,4 @@ struct TtsUtteranceResponse { int id; }; -#endif // CHROME_COMMON_TTS_UTTERANCE_REQUEST_H_ \ No newline at end of file +#endif // CHROME_COMMON_TTS_UTTERANCE_REQUEST_H_ diff --git a/chromium_src/chrome/common/widevine_cdm_constants.cc b/chromium_src/chrome/common/widevine_cdm_constants.cc index 60f487e2ae..587966a9c3 100644 --- a/chromium_src/chrome/common/widevine_cdm_constants.cc +++ b/chromium_src/chrome/common/widevine_cdm_constants.cc @@ -12,5 +12,5 @@ const base::FilePath::CharType kWidevineCdmBaseDirectory[] = const char kWidevineCdmPluginExtension[] = ""; -const int32 kWidevineCdmPluginPermissions = ppapi::PERMISSION_DEV | - ppapi::PERMISSION_PRIVATE; +const int32_t kWidevineCdmPluginPermissions = ppapi::PERMISSION_DEV | + ppapi::PERMISSION_PRIVATE; diff --git a/chromium_src/chrome/common/widevine_cdm_constants.h b/chromium_src/chrome/common/widevine_cdm_constants.h index b626079a11..9597b1cb41 100644 --- a/chromium_src/chrome/common/widevine_cdm_constants.h +++ b/chromium_src/chrome/common/widevine_cdm_constants.h @@ -5,7 +5,7 @@ #ifndef CHROME_COMMON_WIDEVINE_CDM_CONSTANTS_H_ #define CHROME_COMMON_WIDEVINE_CDM_CONSTANTS_H_ -#include "base/basictypes.h" +#include "base/macros.h" #include "base/files/file_path.h" // The Widevine CDM adapter and Widevine CDM are in this directory. @@ -14,6 +14,6 @@ extern const base::FilePath::CharType kWidevineCdmBaseDirectory[]; extern const char kWidevineCdmPluginExtension[]; // Permission bits for Widevine CDM plugin. -extern const int32 kWidevineCdmPluginPermissions; +extern const int32_t kWidevineCdmPluginPermissions; #endif // CHROME_COMMON_WIDEVINE_CDM_CONSTANTS_H_ diff --git a/chromium_src/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.h b/chromium_src/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.h index 13ab2853a3..dd12e9d916 100644 --- a/chromium_src/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.h +++ b/chromium_src/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.h @@ -5,8 +5,6 @@ #ifndef CHROME_RENDERER_PEPPER_CHROME_RENDERER_PEPPER_HOST_FACTORY_H_ #define CHROME_RENDERER_PEPPER_CHROME_RENDERER_PEPPER_HOST_FACTORY_H_ -#include "base/basictypes.h" -#include "base/compiler_specific.h" #include "ppapi/host/host_factory.h" namespace content { diff --git a/chromium_src/chrome/renderer/pepper/pepper_flash_font_file_host.h b/chromium_src/chrome/renderer/pepper/pepper_flash_font_file_host.h index 02bb30f315..eeaa7209b5 100644 --- a/chromium_src/chrome/renderer/pepper/pepper_flash_font_file_host.h +++ b/chromium_src/chrome/renderer/pepper/pepper_flash_font_file_host.h @@ -5,8 +5,6 @@ #ifndef CHROME_RENDERER_PEPPER_PEPPER_FLASH_FONT_FILE_HOST_H_ #define CHROME_RENDERER_PEPPER_PEPPER_FLASH_FONT_FILE_HOST_H_ -#include "base/basictypes.h" -#include "base/compiler_specific.h" #include "ppapi/c/private/pp_private_font_charset.h" #include "ppapi/host/resource_host.h" diff --git a/chromium_src/chrome/renderer/pepper/pepper_flash_fullscreen_host.h b/chromium_src/chrome/renderer/pepper/pepper_flash_fullscreen_host.h index 3550ea1366..86d0af73ae 100644 --- a/chromium_src/chrome/renderer/pepper/pepper_flash_fullscreen_host.h +++ b/chromium_src/chrome/renderer/pepper/pepper_flash_fullscreen_host.h @@ -5,8 +5,6 @@ #ifndef CHROME_RENDERER_PEPPER_PEPPER_FLASH_FULLSCREEN_HOST_H_ #define CHROME_RENDERER_PEPPER_PEPPER_FLASH_FULLSCREEN_HOST_H_ -#include "base/basictypes.h" -#include "base/compiler_specific.h" #include "ppapi/host/resource_host.h" namespace content { diff --git a/chromium_src/chrome/renderer/pepper/pepper_flash_renderer_host.h b/chromium_src/chrome/renderer/pepper/pepper_flash_renderer_host.h index de22f46045..f37907a865 100644 --- a/chromium_src/chrome/renderer/pepper/pepper_flash_renderer_host.h +++ b/chromium_src/chrome/renderer/pepper/pepper_flash_renderer_host.h @@ -8,7 +8,6 @@ #include #include -#include "base/basictypes.h" #include "base/memory/weak_ptr.h" #include "ppapi/host/host_message_context.h" #include "ppapi/host/resource_host.h" diff --git a/chromium_src/chrome/renderer/pepper/pepper_shared_memory_message_filter.cc b/chromium_src/chrome/renderer/pepper/pepper_shared_memory_message_filter.cc index 3ef6dff0c8..6fbadd1211 100644 --- a/chromium_src/chrome/renderer/pepper/pepper_shared_memory_message_filter.cc +++ b/chromium_src/chrome/renderer/pepper/pepper_shared_memory_message_filter.cc @@ -43,9 +43,8 @@ void PepperSharedMemoryMessageFilter::OnHostMsgCreateSharedMemory( ppapi::proxy::SerializedHandle* plugin_handle) { plugin_handle->set_null_shmem(); *host_handle_id = -1; - scoped_ptr shm(content::RenderThread::Get() - ->HostAllocateSharedMemoryBuffer(size) - .Pass()); + scoped_ptr shm( + content::RenderThread::Get()->HostAllocateSharedMemoryBuffer(size)); if (!shm.get()) return; diff --git a/chromium_src/chrome/renderer/pepper/pepper_shared_memory_message_filter.h b/chromium_src/chrome/renderer/pepper/pepper_shared_memory_message_filter.h index d7e0934cd6..860e1c9dbd 100644 --- a/chromium_src/chrome/renderer/pepper/pepper_shared_memory_message_filter.h +++ b/chromium_src/chrome/renderer/pepper/pepper_shared_memory_message_filter.h @@ -5,8 +5,6 @@ #ifndef CHROME_RENDERER_PEPPER_PEPPER_SHARED_MEMORY_MESSAGE_FILTER_H_ #define CHROME_RENDERER_PEPPER_PEPPER_SHARED_MEMORY_MESSAGE_FILTER_H_ -#include "base/basictypes.h" -#include "base/compiler_specific.h" #include "ppapi/c/pp_instance.h" #include "ppapi/host/instance_message_filter.h" diff --git a/chromium_src/chrome/renderer/printing/print_web_view_helper.cc b/chromium_src/chrome/renderer/printing/print_web_view_helper.cc index 3bfe719a0c..eb3599198d 100644 --- a/chromium_src/chrome/renderer/printing/print_web_view_helper.cc +++ b/chromium_src/chrome/renderer/printing/print_web_view_helper.cc @@ -386,7 +386,7 @@ class PrepareFrameAndViewForPrint : public blink::WebViewClient, blink::WebLocalFrame* frame, const blink::WebNode& node, bool ignore_css_margins); - virtual ~PrepareFrameAndViewForPrint(); + ~PrepareFrameAndViewForPrint() override; // Optional. Replaces |frame_| with selection if needed. Will call |on_ready| // when completed. @@ -415,22 +415,19 @@ class PrepareFrameAndViewForPrint : public blink::WebViewClient, return owns_web_view_ && frame() && frame()->isLoading(); } - // TODO(ojan): Remove this override and have this class use a non-null - // layerTreeView. - // blink::WebViewClient override: - virtual bool allowsBrokenNullLayerTreeView() const; - protected: // blink::WebViewClient override: - virtual void didStopLoading(); + void didStopLoading() override; + bool allowsBrokenNullLayerTreeView() const override; - // blink::WebFrameClient override: - virtual blink::WebFrame* createChildFrame( + // blink::WebFrameClient: + blink::WebFrame* createChildFrame( blink::WebLocalFrame* parent, blink::WebTreeScopeType scope, const blink::WebString& name, - blink::WebSandboxFlags sandboxFlags); - virtual void frameDetached(blink::WebFrame* frame, DetachType type); + blink::WebSandboxFlags sandboxFlags, + const blink::WebFrameOwnerProperties& frameOwnerProperties) override; + void frameDetached(blink::WebFrame* frame, DetachType type) override; private: void CallOnReady(); @@ -576,7 +573,8 @@ blink::WebFrame* PrepareFrameAndViewForPrint::createChildFrame( blink::WebLocalFrame* parent, blink::WebTreeScopeType scope, const blink::WebString& name, - blink::WebSandboxFlags sandboxFlags) { + blink::WebSandboxFlags sandboxFlags, + const blink::WebFrameOwnerProperties& frameOwnerProperties) { blink::WebFrame* frame = blink::WebLocalFrame::create(scope, this); parent->appendChild(frame); return frame; @@ -812,13 +810,19 @@ bool PrintWebViewHelper::FinalizePrintReadyDocument() { DCHECK(!is_print_ready_metafile_sent_); print_preview_context_.FinalizePrintReadyDocument(); - // Get the size of the resulting metafile. PdfMetafileSkia* metafile = print_preview_context_.metafile(); - uint32 buf_size = metafile->GetDataSize(); - DCHECK_GT(buf_size, 0u); PrintHostMsg_DidPreviewDocument_Params preview_params; - preview_params.data_size = buf_size; + + // Ask the browser to create the shared memory for us. + if (!CopyMetafileDataToSharedMem(*metafile, + &(preview_params.metafile_data_handle))) { + LOG(ERROR) << "CopyMetafileDataToSharedMem failed"; + print_preview_context_.set_error(PREVIEW_ERROR_METAFILE_COPY_FAILED); + return false; + } + + preview_params.data_size = metafile->GetDataSize(); preview_params.document_cookie = print_pages_params_->params.document_cookie; preview_params.expected_pages_count = print_preview_context_.total_page_count(); @@ -826,13 +830,6 @@ bool PrintWebViewHelper::FinalizePrintReadyDocument() { preview_params.preview_request_id = print_pages_params_->params.preview_request_id; - // Ask the browser to create the shared memory for us. - if (!CopyMetafileDataToSharedMem(metafile, - &(preview_params.metafile_data_handle))) { - LOG(ERROR) << "CopyMetafileDataToSharedMem failed"; - print_preview_context_.set_error(PREVIEW_ERROR_METAFILE_COPY_FAILED); - return false; - } is_print_ready_metafile_sent_ = true; Send(new PrintHostMsg_MetafileReadyForPrinting(routing_id(), preview_params)); @@ -1162,21 +1159,25 @@ bool PrintWebViewHelper::RenderPagesForPrint(blink::WebLocalFrame* frame, #if defined(OS_POSIX) bool PrintWebViewHelper::CopyMetafileDataToSharedMem( - PdfMetafileSkia* metafile, + const PdfMetafileSkia& metafile, base::SharedMemoryHandle* shared_mem_handle) { - uint32 buf_size = metafile->GetDataSize(); - scoped_ptr shared_buf( - content::RenderThread::Get()->HostAllocateSharedMemoryBuffer( - buf_size).release()); + uint32_t buf_size = metafile.GetDataSize(); + if (buf_size == 0) + return false; - if (shared_buf) { - if (shared_buf->Map(buf_size)) { - metafile->GetData(shared_buf->memory(), buf_size); - return shared_buf->GiveToProcess(base::GetCurrentProcessHandle(), - shared_mem_handle); - } - } - return false; + scoped_ptr shared_buf( + content::RenderThread::Get()->HostAllocateSharedMemoryBuffer(buf_size)); + if (!shared_buf) + return false; + + if (!shared_buf->Map(buf_size)) + return false; + + if (!metafile.GetData(shared_buf->memory(), buf_size)) + return false; + + return shared_buf->GiveToProcess(base::GetCurrentProcessHandle(), + shared_mem_handle); } #endif // defined(OS_POSIX) diff --git a/chromium_src/chrome/renderer/printing/print_web_view_helper.h b/chromium_src/chrome/renderer/printing/print_web_view_helper.h index bfe9cb612d..05f145b5bb 100644 --- a/chromium_src/chrome/renderer/printing/print_web_view_helper.h +++ b/chromium_src/chrome/renderer/printing/print_web_view_helper.h @@ -218,7 +218,7 @@ class PrintWebViewHelper // Helper methods ----------------------------------------------------------- - bool CopyMetafileDataToSharedMem(PdfMetafileSkia* metafile, + bool CopyMetafileDataToSharedMem(const PdfMetafileSkia& metafile, base::SharedMemoryHandle* shared_mem_handle); // Helper method to get page layout in points and fit to page if needed. diff --git a/chromium_src/chrome/renderer/printing/print_web_view_helper_linux.cc b/chromium_src/chrome/renderer/printing/print_web_view_helper_linux.cc index 82d7779d02..d37aec628b 100644 --- a/chromium_src/chrome/renderer/printing/print_web_view_helper_linux.cc +++ b/chromium_src/chrome/renderer/printing/print_web_view_helper_linux.cc @@ -11,7 +11,6 @@ #include "printing/metafile_skia_wrapper.h" #include "printing/page_size_margins.h" #include "printing/pdf_metafile_skia.h" -#include "skia/ext/platform_device.h" #include "third_party/WebKit/public/web/WebLocalFrame.h" #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) @@ -91,49 +90,15 @@ bool PrintWebViewHelper::PrintPagesNative(blink::WebFrame* frame, metafile.FinishDocument(); - // Get the size of the resulting metafile. - uint32 buf_size = metafile.GetDataSize(); - DCHECK_GT(buf_size, 0u); - -#if defined(OS_CHROMEOS) || defined(OS_ANDROID) - int sequence_number = -1; - base::FileDescriptor fd; - - // Ask the browser to open a file for us. - Send(new PrintHostMsg_AllocateTempFileForPrinting(routing_id(), - &fd, - &sequence_number)); - if (!metafile.SaveToFD(fd)) - return false; - - // Tell the browser we've finished writing the file. - Send(new PrintHostMsg_TempFileForPrintingWritten(routing_id(), - sequence_number)); - return true; -#else PrintHostMsg_DidPrintPage_Params printed_page_params; - printed_page_params.data_size = 0; - printed_page_params.document_cookie = params.params.document_cookie; - - { - scoped_ptr shared_mem( - content::RenderThread::Get()->HostAllocateSharedMemoryBuffer( - buf_size).release()); - if (!shared_mem.get()) { - NOTREACHED() << "AllocateSharedMemoryBuffer failed"; - return false; - } - - if (!shared_mem->Map(buf_size)) { - NOTREACHED() << "Map failed"; - return false; - } - metafile.GetData(shared_mem->memory(), buf_size); - printed_page_params.data_size = buf_size; - shared_mem->GiveToProcess(base::GetCurrentProcessHandle(), - &(printed_page_params.metafile_data_handle)); + if (!CopyMetafileDataToSharedMem( + metafile, &printed_page_params.metafile_data_handle)) { + return false; } + printed_page_params.data_size = metafile.GetDataSize(); + printed_page_params.document_cookie = params.params.document_cookie; + for (size_t i = 0; i < printed_pages.size(); ++i) { printed_page_params.page_number = printed_pages[i]; Send(new PrintHostMsg_DidPrintPage(routing_id(), printed_page_params)); @@ -141,7 +106,6 @@ bool PrintWebViewHelper::PrintPagesNative(blink::WebFrame* frame, printed_page_params.metafile_data_handle.fd = -1; } return true; -#endif // defined(OS_CHROMEOS) } void PrintWebViewHelper::PrintPageInternal( @@ -165,7 +129,6 @@ void PrintWebViewHelper::PrintPageInternal( return; MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile); - skia::SetIsDraftMode(*canvas, is_print_ready_metafile_sent_); RenderPageContent(frame, params.page_number, canvas_area, content_area, scale_factor, canvas); diff --git a/chromium_src/chrome/renderer/printing/print_web_view_helper_mac.mm b/chromium_src/chrome/renderer/printing/print_web_view_helper_mac.mm index 0785e30a9c..b10ba616a1 100644 --- a/chromium_src/chrome/renderer/printing/print_web_view_helper_mac.mm +++ b/chromium_src/chrome/renderer/printing/print_web_view_helper_mac.mm @@ -42,8 +42,9 @@ void PrintWebViewHelper::PrintPageInternal( page_params.content_area = content_area_in_dpi; // Ask the browser to create the shared memory for us. - if (!CopyMetafileDataToSharedMem(&metafile, + if (!CopyMetafileDataToSharedMem(metafile, &(page_params.metafile_data_handle))) { + // TODO(thestig): Fail and return false instead. page_params.data_size = 0; } @@ -116,15 +117,13 @@ void PrintWebViewHelper::RenderPage(const PrintMsg_Print_Params& params, gfx::Rect canvas_area = content_area; { - skia::PlatformCanvas* canvas = metafile->GetVectorCanvasForNewPage( + SkCanvas* canvas = metafile->GetVectorCanvasForNewPage( *page_size, canvas_area, scale_factor); if (!canvas) return; MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile); - skia::SetIsDraftMode(*canvas, is_print_ready_metafile_sent_); skia::SetIsPreviewMetafile(*canvas, is_preview); - RenderPageContent(frame, page_number, canvas_area, content_area, scale_factor, static_cast(canvas)); } diff --git a/chromium_src/chrome/renderer/printing/print_web_view_helper_pdf_win.cc b/chromium_src/chrome/renderer/printing/print_web_view_helper_pdf_win.cc index 0b21de4699..ce1e962505 100644 --- a/chromium_src/chrome/renderer/printing/print_web_view_helper_pdf_win.cc +++ b/chromium_src/chrome/renderer/printing/print_web_view_helper_pdf_win.cc @@ -95,40 +95,16 @@ bool PrintWebViewHelper::PrintPagesNative(blink::WebFrame* frame, metafile.FinishDocument(); - // Get the size of the resulting metafile. - uint32 buf_size = metafile.GetDataSize(); - DCHECK_GT(buf_size, 0u); - PrintHostMsg_DidPrintPage_Params printed_page_params; - printed_page_params.data_size = 0; + if (!CopyMetafileDataToSharedMem( + metafile, &printed_page_params.metafile_data_handle)) { + return false; + } + + printed_page_params.content_area = params.params.printable_area; + printed_page_params.data_size = metafile.GetDataSize(); printed_page_params.document_cookie = params.params.document_cookie; printed_page_params.page_size = params.params.page_size; - printed_page_params.content_area = params.params.printable_area; - - { - base::SharedMemory shared_buf; - // Allocate a shared memory buffer to hold the generated metafile data. - if (!shared_buf.CreateAndMapAnonymous(buf_size)) { - NOTREACHED() << "Buffer allocation failed"; - return false; - } - - // Copy the bits into shared memory. - if (!metafile.GetData(shared_buf.memory(), buf_size)) { - NOTREACHED() << "GetData() failed"; - shared_buf.Unmap(); - return false; - } - shared_buf.GiveToProcess(base::GetCurrentProcessHandle(), - &printed_page_params.metafile_data_handle); - shared_buf.Unmap(); - - printed_page_params.data_size = buf_size; - Send(new PrintHostMsg_DuplicateSection( - routing_id(), - printed_page_params.metafile_data_handle, - &printed_page_params.metafile_data_handle)); - } for (size_t i = 0; i < printed_pages.size(); ++i) { printed_page_params.page_number = printed_pages[i]; @@ -188,7 +164,6 @@ void PrintWebViewHelper::PrintPageInternal( return; MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile); - skia::SetIsDraftMode(*canvas, is_print_ready_metafile_sent_); #if 0 if (params.params.display_header_footer) { @@ -216,24 +191,25 @@ void PrintWebViewHelper::PrintPageInternal( } bool PrintWebViewHelper::CopyMetafileDataToSharedMem( - PdfMetafileSkia* metafile, + const PdfMetafileSkia& metafile, base::SharedMemoryHandle* shared_mem_handle) { - uint32 buf_size = metafile->GetDataSize(); + uint32_t buf_size = metafile.GetDataSize(); + if (buf_size == 0) + return false; + base::SharedMemory shared_buf; // Allocate a shared memory buffer to hold the generated metafile data. - if (!shared_buf.CreateAndMapAnonymous(buf_size)) { - NOTREACHED() << "Buffer allocation failed"; + if (!shared_buf.CreateAndMapAnonymous(buf_size)) return false; - } // Copy the bits into shared memory. - if (!metafile->GetData(shared_buf.memory(), buf_size)) { - NOTREACHED() << "GetData() failed"; - shared_buf.Unmap(); + if (!metafile.GetData(shared_buf.memory(), buf_size)) + return false; + + if (!shared_buf.GiveToProcess(base::GetCurrentProcessHandle(), + shared_mem_handle)) { return false; } - shared_buf.GiveToProcess(base::GetCurrentProcessHandle(), shared_mem_handle); - shared_buf.Unmap(); Send(new PrintHostMsg_DuplicateSection(routing_id(), *shared_mem_handle, shared_mem_handle)); diff --git a/chromium_src/chrome/renderer/spellchecker/spellcheck_worditerator.cc b/chromium_src/chrome/renderer/spellchecker/spellcheck_worditerator.cc index 815a9c08b3..a3b51a8c46 100644 --- a/chromium_src/chrome/renderer/spellchecker/spellcheck_worditerator.cc +++ b/chromium_src/chrome/renderer/spellchecker/spellcheck_worditerator.cc @@ -9,7 +9,6 @@ #include #include -#include "base/basictypes.h" #include "base/i18n/break_iterator.h" #include "base/logging.h" #include "base/strings/stringprintf.h" @@ -332,7 +331,7 @@ bool SpellcheckWordIterator::Initialize( NOTREACHED() << "failed to open iterator (broken rules)"; return false; } - iterator_ = iterator.Pass(); + iterator_ = std::move(iterator); // Set the character attributes so we can normalize the words extracted by // this iterator. diff --git a/chromium_src/chrome/renderer/spellchecker/spellcheck_worditerator.h b/chromium_src/chrome/renderer/spellchecker/spellcheck_worditerator.h index 2ac28a2e24..03fd8e666f 100644 --- a/chromium_src/chrome/renderer/spellchecker/spellcheck_worditerator.h +++ b/chromium_src/chrome/renderer/spellchecker/spellcheck_worditerator.h @@ -11,7 +11,7 @@ #include -#include "base/basictypes.h" +#include "base/macros.h" #include "base/memory/scoped_ptr.h" #include "base/strings/string16.h" #include "third_party/icu/source/common/unicode/uscript.h" diff --git a/chromium_src/chrome/renderer/tts_dispatcher.cc b/chromium_src/chrome/renderer/tts_dispatcher.cc index 91b67ba167..0d3b97c845 100644 --- a/chromium_src/chrome/renderer/tts_dispatcher.cc +++ b/chromium_src/chrome/renderer/tts_dispatcher.cc @@ -4,7 +4,6 @@ #include "chrome/renderer/tts_dispatcher.h" -#include "base/basictypes.h" #include "base/strings/utf_string_conversions.h" #include "chrome/common/tts_messages.h" #include "chrome/common/tts_utterance_request.h" @@ -197,4 +196,4 @@ void TtsDispatcher::OnSpeakingErrorOccurred(int utterance_id, // The web speech API doesn't support an error message. synthesizer_client_->speakingErrorOccurred(utterance); utterance_id_map_.erase(utterance_id); -} \ No newline at end of file +} diff --git a/chromium_src/chrome/renderer/tts_dispatcher.h b/chromium_src/chrome/renderer/tts_dispatcher.h index fd18acba20..0a770d7218 100644 --- a/chromium_src/chrome/renderer/tts_dispatcher.h +++ b/chromium_src/chrome/renderer/tts_dispatcher.h @@ -7,8 +7,6 @@ #include -#include "base/basictypes.h" -#include "base/compiler_specific.h" #include "base/containers/hash_tables.h" #include "content/public/renderer/render_process_observer.h" #include "third_party/WebKit/public/platform/WebSpeechSynthesizer.h" @@ -75,4 +73,4 @@ class TtsDispatcher DISALLOW_COPY_AND_ASSIGN(TtsDispatcher); }; -#endif // CHROME_RENDERER_TTS_DISPATCHER_H_ \ No newline at end of file +#endif // CHROME_RENDERER_TTS_DISPATCHER_H_ diff --git a/chromium_src/chrome/utility/printing_handler_win.cc b/chromium_src/chrome/utility/printing_handler_win.cc index ec908d19fc..805cd6e343 100644 --- a/chromium_src/chrome/utility/printing_handler_win.cc +++ b/chromium_src/chrome/utility/printing_handler_win.cc @@ -177,7 +177,7 @@ int PrintingHandlerWin::LoadPDF(base::File pdf_file) { if (!g_pdf_lib.Get().IsValid()) return 0; - int64 length64 = pdf_file.GetLength(); + int64_t length64 = pdf_file.GetLength(); if (length64 <= 0 || length64 > std::numeric_limits::max()) return 0; int length = static_cast(length64); diff --git a/chromium_src/net/test/embedded_test_server/stream_listen_socket.cc b/chromium_src/net/test/embedded_test_server/stream_listen_socket.cc index 897b23bbd5..6495b23b84 100644 --- a/chromium_src/net/test/embedded_test_server/stream_listen_socket.cc +++ b/chromium_src/net/test/embedded_test_server/stream_listen_socket.cc @@ -17,6 +17,7 @@ #include "net/base/net_errors.h" #endif +#include "base/files/file_util.h" #include "base/logging.h" #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" @@ -27,6 +28,7 @@ #include "net/base/ip_endpoint.h" #include "net/base/net_errors.h" #include "net/base/net_util.h" +#include "net/base/sockaddr_storage.h" #include "net/socket/socket_descriptor.h" using std::string; @@ -125,7 +127,7 @@ SocketDescriptor StreamListenSocket::AcceptSocket() { if (conn == kInvalidSocket) LOG(ERROR) << "Error accepting connection."; else - SetNonBlocking(conn); + base::SetNonBlocking(conn); return conn; } diff --git a/chromium_src/net/test/embedded_test_server/stream_listen_socket.h b/chromium_src/net/test/embedded_test_server/stream_listen_socket.h index 02a8b9827a..9df5125830 100644 --- a/chromium_src/net/test/embedded_test_server/stream_listen_socket.h +++ b/chromium_src/net/test/embedded_test_server/stream_listen_socket.h @@ -28,7 +28,7 @@ #include "base/message_loop/message_loop.h" #endif -#include "base/basictypes.h" +#include "base/macros.h" #include "base/compiler_specific.h" #include "base/memory/scoped_ptr.h" #include "net/base/net_export.h" diff --git a/chromium_src/net/test/embedded_test_server/tcp_listen_socket.cc b/chromium_src/net/test/embedded_test_server/tcp_listen_socket.cc index 418f345921..1a72b2efe3 100644 --- a/chromium_src/net/test/embedded_test_server/tcp_listen_socket.cc +++ b/chromium_src/net/test/embedded_test_server/tcp_listen_socket.cc @@ -8,6 +8,7 @@ // winsock2.h must be included first in order to ensure it is included before // windows.h. #include +#include #elif defined(OS_POSIX) #include #include @@ -34,14 +35,14 @@ namespace test_server { // static scoped_ptr TCPListenSocket::CreateAndListen( const string& ip, - uint16 port, + uint16_t port, StreamListenSocket::Delegate* del) { SocketDescriptor s = CreateAndBind(ip, port); if (s == kInvalidSocket) return scoped_ptr(); scoped_ptr sock(new TCPListenSocket(s, del)); sock->Listen(); - return sock.Pass(); + return sock; } TCPListenSocket::TCPListenSocket(SocketDescriptor s, @@ -52,7 +53,8 @@ TCPListenSocket::TCPListenSocket(SocketDescriptor s, TCPListenSocket::~TCPListenSocket() { } -SocketDescriptor TCPListenSocket::CreateAndBind(const string& ip, uint16 port) { +SocketDescriptor TCPListenSocket::CreateAndBind(const string& ip, + uint16_t port) { SocketDescriptor s = CreatePlatformSocket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (s != kInvalidSocket) { #if defined(OS_POSIX) @@ -79,7 +81,7 @@ SocketDescriptor TCPListenSocket::CreateAndBind(const string& ip, uint16 port) { } SocketDescriptor TCPListenSocket::CreateAndBindAnyPort(const string& ip, - uint16* port) { + uint16_t* port) { SocketDescriptor s = CreateAndBind(ip, 0); if (s == kInvalidSocket) return kInvalidSocket; @@ -110,7 +112,7 @@ void TCPListenSocket::Accept() { #if defined(OS_POSIX) sock->WatchSocket(WAITING_READ); #endif - socket_delegate_->DidAccept(this, sock.Pass()); + socket_delegate_->DidAccept(this, std::move(sock)); } } // namespace test_server diff --git a/chromium_src/net/test/embedded_test_server/tcp_listen_socket.h b/chromium_src/net/test/embedded_test_server/tcp_listen_socket.h index 12b3fa4074..6990845f39 100644 --- a/chromium_src/net/test/embedded_test_server/tcp_listen_socket.h +++ b/chromium_src/net/test/embedded_test_server/tcp_listen_socket.h @@ -7,7 +7,7 @@ #include -#include "base/basictypes.h" +#include "base/macros.h" #include "net/base/net_export.h" #include "net/socket/socket_descriptor.h" #include "net/test/embedded_test_server/stream_listen_socket.h" @@ -25,7 +25,7 @@ class TCPListenSocket : public StreamListenSocket { // accept local connections. static scoped_ptr CreateAndListen( const std::string& ip, - uint16 port, + uint16_t port, StreamListenSocket::Delegate* del); protected: @@ -39,11 +39,11 @@ class TCPListenSocket : public StreamListenSocket { friend class TCPListenSocketTester; // Get raw TCP socket descriptor bound to ip:port. - static SocketDescriptor CreateAndBind(const std::string& ip, uint16 port); + static SocketDescriptor CreateAndBind(const std::string& ip, uint16_t port); // Get raw TCP socket descriptor bound to ip and return port it is bound to. static SocketDescriptor CreateAndBindAnyPort(const std::string& ip, - uint16* port); + uint16_t* port); DISALLOW_COPY_AND_ASSIGN(TCPListenSocket); }; diff --git a/common.gypi b/common.gypi index 7c41c3616d..6eacdc93a0 100644 --- a/common.gypi +++ b/common.gypi @@ -4,6 +4,8 @@ 'vendor/brightray/brightray.gypi', ], 'variables': { + # Tell crashpad to build as external project. + 'crashpad_dependencies': 'external', # Required by breakpad. 'os_bsd': 0, 'chromeos': 0, @@ -41,6 +43,7 @@ 'target_conditions': [ ['_target_name in ["libuv", "http_parser", "openssl", "cares", "node", "zlib"]', { 'msvs_disabled_warnings': [ + 4003, # not enough actual parameters for macro 'V' 4013, # 'free' undefined; assuming extern returning int 4018, # signed/unsigned mismatch 4054, # diff --git a/filenames.gypi b/filenames.gypi index f9e19550c8..baf0202f3e 100644 --- a/filenames.gypi +++ b/filenames.gypi @@ -534,7 +534,6 @@ 'atom/browser/resources/win/resource.h', 'atom/browser/resources/win/atom.ico', 'atom/browser/resources/win/atom.rc', - '<(libchromiumcontent_src_dir)/content/app/startup_helper_win.cc', # Cursors. '<(libchromiumcontent_src_dir)/ui/resources/cursors/aliasb.cur', '<(libchromiumcontent_src_dir)/ui/resources/cursors/cell.cur', diff --git a/lib/browser/rpc-server.js b/lib/browser/rpc-server.js index 5399c192e8..e26843667b 100644 --- a/lib/browser/rpc-server.js +++ b/lib/browser/rpc-server.js @@ -106,7 +106,7 @@ var valueToMeta = function(sender, value, optimizeSimpleObject) { } else if (meta.type === 'buffer') { meta.value = Array.prototype.slice.call(value, 0); } else if (meta.type === 'promise') { - meta.then = valueToMeta(sender, value.then.bind(value)); + meta.then = valueToMeta(sender, function(v) { value.then(v); }); } else if (meta.type === 'error') { meta.members = plainObjectToMeta(value); diff --git a/lib/renderer/api/remote.js b/lib/renderer/api/remote.js index 42435d8304..d3d490d053 100644 --- a/lib/renderer/api/remote.js +++ b/lib/renderer/api/remote.js @@ -48,7 +48,7 @@ var wrapArgs = function(args, visited) { } else if ((value != null ? value.constructor.name : void 0) === 'Promise') { return { type: 'promise', - then: valueToMeta(value.then.bind(value)) + then: valueToMeta(function(v) { value.then(v); }) }; } else if ((value != null) && typeof value === 'object' && v8Util.getHiddenValue(value, 'atomId')) { return { diff --git a/script/bootstrap.py b/script/bootstrap.py index 6eaf635bfd..1efea3c289 100755 --- a/script/bootstrap.py +++ b/script/bootstrap.py @@ -43,7 +43,7 @@ def main(): args.libcc_source_path, args.libcc_shared_library_path, args.libcc_static_library_path) - if args.target_arch in ['arm', 'ia32'] and PLATFORM == 'linux': + if PLATFORM == 'linux': download_sysroot(args.target_arch) create_chrome_version_h() @@ -166,10 +166,11 @@ def update_clang(): def download_sysroot(target_arch): if target_arch == 'ia32': target_arch = 'i386' + if target_arch == 'x64': + target_arch = 'amd64' execute_stdout([os.path.join(SOURCE_ROOT, 'script', 'install-sysroot.py'), '--arch', target_arch]) - def create_chrome_version_h(): version_file = os.path.join(SOURCE_ROOT, 'vendor', 'brightray', 'vendor', 'libchromiumcontent', 'VERSION') diff --git a/script/create-dist.py b/script/create-dist.py index 32d8f52aff..f3894eb4fa 100755 --- a/script/create-dist.py +++ b/script/create-dist.py @@ -40,7 +40,6 @@ TARGET_BINARIES = { 'msvcr120.dll', 'ffmpeg.dll', 'node.dll', - 'pdf.dll', 'content_resources_200_percent.pak', 'ui_resources_200_percent.pak', 'xinput1_3.dll', diff --git a/script/install-sysroot.py b/script/install-sysroot.py index 69acfb1326..be68fbad0a 100755 --- a/script/install-sysroot.py +++ b/script/install-sysroot.py @@ -30,15 +30,15 @@ from lib.util import get_host_arch SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) URL_PREFIX = 'https://github.com' URL_PATH = 'atom/debian-sysroot-image-creator/releases/download' -REVISION_AMD64 = 264817 -REVISION_I386 = 'v0.2.0' -REVISION_ARM = 'v0.1.0' +REVISION_AMD64 = 'v0.4.0' +REVISION_I386 = 'v0.4.0' +REVISION_ARM = 'v0.4.0' TARBALL_AMD64 = 'debian_wheezy_amd64_sysroot.tgz' TARBALL_I386 = 'debian_wheezy_i386_sysroot.tgz' TARBALL_ARM = 'debian_wheezy_arm_sysroot.tgz' -TARBALL_AMD64_SHA1SUM = '74b7231e12aaf45c5c5489d9aebb56bd6abb3653' -TARBALL_I386_SHA1SUM = 'f5b2ceaeb3f7e6bc2058733585fe877d002b5fa7' -TARBALL_ARM_SHA1SUM = '72e668c57b8591e108759584942ddb6f6cee1322' +TARBALL_AMD64_SHA1SUM = 'a7e8faa99b681317969ac450a27233925bdeed62' +TARBALL_I386_SHA1SUM = '9fc827eddc26e562c0a0b2586be5dc075e570e10' +TARBALL_ARM_SHA1SUM = 'bfa4233708ab937d682a14e8d87ddba3cadb6eae' SYSROOT_DIR_AMD64 = 'debian_wheezy_amd64-sysroot' SYSROOT_DIR_I386 = 'debian_wheezy_i386-sysroot' SYSROOT_DIR_ARM = 'debian_wheezy_arm-sysroot' diff --git a/script/lib/config.py b/script/lib/config.py index d4a055912e..fb1a4b89f2 100644 --- a/script/lib/config.py +++ b/script/lib/config.py @@ -8,7 +8,7 @@ import sys BASE_URL = os.getenv('LIBCHROMIUMCONTENT_MIRROR') or \ 'https://s3.amazonaws.com/github-janky-artifacts/libchromiumcontent' -LIBCHROMIUMCONTENT_COMMIT = 'ff714bf7ad79b0d278bcd20c3081a69b40be8bb8' +LIBCHROMIUMCONTENT_COMMIT = 'b06d4c307b861cdb091f4ba26b1a185333889033' PLATFORM = { 'cygwin': 'win32', diff --git a/spec/webview-spec.js b/spec/webview-spec.js index cd2be69d73..ba3913e2e4 100644 --- a/spec/webview-spec.js +++ b/spec/webview-spec.js @@ -548,11 +548,10 @@ describe(' tag', function() { }); describe('executeJavaScript', function() { - if (process.env.TRAVIS !== 'true') { - return; - } - it('should support user gesture', function(done) { + if (process.env.TRAVIS !== 'true' || process.platform == 'darwin') + return done(); + var listener = function() { webview.removeEventListener('enter-html-full-screen', listener); done(); @@ -569,6 +568,7 @@ describe(' tag', function() { }); it('can return the result of the executed script', function(done) { + this.timeout(50000); var listener = function() { var jsScript = "'4'+2"; webview.executeJavaScript(jsScript, false, function(result) { diff --git a/toolchain.gypi b/toolchain.gypi index 23592d0473..7c3cd0d058 100644 --- a/toolchain.gypi +++ b/toolchain.gypi @@ -5,9 +5,6 @@ # Set this to true when building with Clang. 'clang%': 1, - # Path to sysroot dir. - 'sysroot%': '', - 'variables': { # The minimum OS X SDK version to use. 'mac_sdk_min%': '10.10', @@ -17,12 +14,16 @@ # Set NEON compilation flags. 'arm_neon%': 1, + + # Abosulte path to source root. + 'source_root%': '&2 + exit 1 +fi + +rewrite=`dirname $0`/rewrite_dirs.py +package=${!#} + +libdir=$root/usr/$libpath/pkgconfig:$root/usr/share/pkgconfig + +set -e +# Some sysroots, like the Chromium OS ones, may generate paths that are not +# relative to the sysroot. For example, +# /path/to/chroot/build/x86-generic/usr/lib/pkgconfig/pkg.pc may have all paths +# relative to /path/to/chroot (i.e. prefix=/build/x86-generic/usr) instead of +# relative to /path/to/chroot/build/x86-generic (i.e prefix=/usr). +# To support this correctly, it's necessary to extract the prefix to strip from +# pkg-config's |prefix| variable. +prefix=`PKG_CONFIG_LIBDIR=$libdir pkg-config --variable=prefix "$package" | sed -e 's|/usr$||'` +result=`PKG_CONFIG_LIBDIR=$libdir pkg-config "$@"` +echo "$result"| $rewrite --sysroot "$root" --strip-prefix "$prefix" diff --git a/tools/linux/rewrite_dirs.py b/tools/linux/rewrite_dirs.py new file mode 100755 index 0000000000..30f22f0cd6 --- /dev/null +++ b/tools/linux/rewrite_dirs.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python +# Copyright (c) 2011 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Rewrites paths in -I, -L and other option to be relative to a sysroot.""" + +import sys +import os +import optparse + +REWRITE_PREFIX = ['-I', + '-idirafter', + '-imacros', + '-imultilib', + '-include', + '-iprefix', + '-iquote', + '-isystem', + '-L'] + +def RewritePath(path, opts): + """Rewrites a path by stripping the prefix and prepending the sysroot.""" + sysroot = opts.sysroot + prefix = opts.strip_prefix + if os.path.isabs(path) and not path.startswith(sysroot): + if path.startswith(prefix): + path = path[len(prefix):] + path = path.lstrip('/') + return os.path.join(sysroot, path) + else: + return path + + +def RewriteLine(line, opts): + """Rewrites all the paths in recognized options.""" + args = line.split() + count = len(args) + i = 0 + while i < count: + for prefix in REWRITE_PREFIX: + # The option can be either in the form "-I /path/to/dir" or + # "-I/path/to/dir" so handle both. + if args[i] == prefix: + i += 1 + try: + args[i] = RewritePath(args[i], opts) + except IndexError: + sys.stderr.write('Missing argument following %s\n' % prefix) + break + elif args[i].startswith(prefix): + args[i] = prefix + RewritePath(args[i][len(prefix):], opts) + i += 1 + + return ' '.join(args) + + +def main(argv): + parser = optparse.OptionParser() + parser.add_option('-s', '--sysroot', default='/', help='sysroot to prepend') + parser.add_option('-p', '--strip-prefix', default='', help='prefix to strip') + opts, args = parser.parse_args(argv[1:]) + + for line in sys.stdin.readlines(): + line = RewriteLine(line.strip(), opts) + print line + return 0 + + +if __name__ == '__main__': + sys.exit(main(sys.argv)) diff --git a/vendor/brightray b/vendor/brightray index d06de26dff..c1f3bb4ecf 160000 --- a/vendor/brightray +++ b/vendor/brightray @@ -1 +1 @@ -Subproject commit d06de26dff8b641d9aee4c78ee830b416710f554 +Subproject commit c1f3bb4ecf4cacb33bf56b9ebd3656a4defbeb64 diff --git a/vendor/crashpad b/vendor/crashpad index 5b777419c3..db713da755 160000 --- a/vendor/crashpad +++ b/vendor/crashpad @@ -1 +1 @@ -Subproject commit 5b777419c303d8aa7930239d8ef755475f1ede57 +Subproject commit db713da7554f565e43c6dcf9a51b59ccc4f06066 diff --git a/vendor/native_mate b/vendor/native_mate index e719eab878..38834cb997 160000 --- a/vendor/native_mate +++ b/vendor/native_mate @@ -1 +1 @@ -Subproject commit e719eab878c264bb03188d0cd6eb9ad6882bc13a +Subproject commit 38834cb9974da9ddbc06c36f9ff23d7fa1918b03