diff --git a/brightray/brightray.gyp b/brightray/brightray.gyp index 0e1d6ce2ce21..4c690f21a550 100644 --- a/brightray/brightray.gyp +++ b/brightray/brightray.gyp @@ -190,6 +190,7 @@ '-lportabledeviceguids.lib', # content_common.gypi: '-ld3d9.lib', + '-ld3d11.lib', '-ldxva2.lib', '-lstrmiids.lib', '-lmf.lib', diff --git a/brightray/brightray.gypi b/brightray/brightray.gypi index 3554fd72734e..47be6215dc31 100644 --- a/brightray/brightray.gypi +++ b/brightray/brightray.gypi @@ -95,6 +95,7 @@ }, 'msvs_disabled_warnings': [ 4100, # unreferenced formal parameter + 4121, # alignment of a member was sensitive to packing 4127, # conditional expression is constant 4189, # local variable is initialized but not referenced 4244, # 'initializing' : conversion from 'double' to 'size_t', possible loss of data diff --git a/brightray/browser/browser_context.cc b/brightray/browser/browser_context.cc index 6d2a378be801..c4aa7d186d8c 100644 --- a/brightray/browser/browser_context.cc +++ b/brightray/browser/browser_context.cc @@ -7,6 +7,7 @@ #include "browser/brightray_paths.h" #include "browser/inspectable_web_contents_impl.h" #include "browser/network_delegate.h" +#include "browser/permission_manager.h" #include "common/application_info.h" #include "base/files/file_path.h" @@ -158,4 +159,10 @@ content::SSLHostStateDelegate* BrowserContext::GetSSLHostStateDelegate() { return nullptr; } +content::PermissionManager* BrowserContext::GetPermissionManager() { + if (!permission_manager_.get()) + permission_manager_.reset(new PermissionManager); + return permission_manager_.get(); +} + } // namespace brightray diff --git a/brightray/browser/browser_context.h b/brightray/browser/browser_context.h index ec1dd095b233..d7f957477f15 100644 --- a/brightray/browser/browser_context.h +++ b/brightray/browser/browser_context.h @@ -5,6 +5,7 @@ #ifndef BRIGHTRAY_BROWSER_BROWSER_CONTEXT_H_ #define BRIGHTRAY_BROWSER_BROWSER_CONTEXT_H_ +#include "browser/permission_manager.h" #include "browser/url_request_context_getter.h" #include "content/public/browser/browser_context.h" @@ -14,6 +15,8 @@ class PrefService; namespace brightray { +class PermissionManager; + class BrowserContext : public content::BrowserContext, public brightray::URLRequestContextGetter::Delegate { public: @@ -63,11 +66,13 @@ class BrowserContext : public content::BrowserContext, storage::SpecialStoragePolicy* GetSpecialStoragePolicy() override; content::PushMessagingService* GetPushMessagingService() override; content::SSLHostStateDelegate* GetSSLHostStateDelegate() override; + content::PermissionManager* GetPermissionManager() override; base::FilePath path_; scoped_ptr resource_context_; scoped_refptr url_request_getter_; scoped_ptr prefs_; + scoped_ptr permission_manager_; DISALLOW_COPY_AND_ASSIGN(BrowserContext); }; diff --git a/brightray/browser/browser_main_parts.cc b/brightray/browser/browser_main_parts.cc index de938eacd990..213317079358 100644 --- a/brightray/browser/browser_main_parts.cc +++ b/brightray/browser/browser_main_parts.cc @@ -90,8 +90,6 @@ void BrowserMainParts::PreEarlyInitialization() { #if defined(OS_LINUX) OverrideLinuxAppDataPath(); #endif - - InitProxyResolverV8(); } void BrowserMainParts::ToolkitInitialized() { @@ -148,8 +146,4 @@ BrowserContext* BrowserMainParts::CreateBrowserContext() { return new BrowserContext; } -void BrowserMainParts::InitProxyResolverV8() { - net::ProxyResolverV8::EnsureIsolateCreated(); -} - } // namespace brightray diff --git a/brightray/browser/browser_main_parts.h b/brightray/browser/browser_main_parts.h index 59674ef2e53e..a5ba51508b46 100644 --- a/brightray/browser/browser_main_parts.h +++ b/brightray/browser/browser_main_parts.h @@ -50,9 +50,6 @@ class BrowserMainParts : public content::BrowserMainParts { // implementation. The caller takes ownership of the returned object. virtual BrowserContext* CreateBrowserContext(); - // Override this to change how ProxyResolverV8 is initialized. - virtual void InitProxyResolverV8(); - private: #if defined(OS_MACOSX) void IncreaseFileDescriptorLimit(); diff --git a/brightray/browser/linux/notification_presenter_linux.cc b/brightray/browser/linux/notification_presenter_linux.cc index 3ff75c51155a..9baa4474e980 100644 --- a/brightray/browser/linux/notification_presenter_linux.cc +++ b/brightray/browser/linux/notification_presenter_linux.cc @@ -140,7 +140,7 @@ void NotificationPresenterLinux::CancelNotification(NotifyNotification* notifica if (error) log_and_clear_error(error, "notify_notification_close"); - GetDelegateFromNotification(notification)->NotificationClosed(false); + GetDelegateFromNotification(notification)->NotificationClosed(); DeleteNotification(notification); } @@ -150,7 +150,7 @@ void NotificationPresenterLinux::DeleteNotification(NotifyNotification* notifica } void NotificationPresenterLinux::OnNotificationClosed(NotifyNotification* notification) { - GetDelegateFromNotification(notification)->NotificationClosed(false); + GetDelegateFromNotification(notification)->NotificationClosed(); DeleteNotification(notification); } diff --git a/brightray/browser/network_delegate.cc b/brightray/browser/network_delegate.cc index a065a6ebf06c..9d586d72cf50 100644 --- a/brightray/browser/network_delegate.cc +++ b/brightray/browser/network_delegate.cc @@ -112,6 +112,10 @@ bool NetworkDelegate::OnCanEnablePrivacyMode( return false; } +bool NetworkDelegate::OnFirstPartyOnlyCookieExperimentEnabled() const { + return true; +} + bool NetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader( const net::URLRequest& request, const GURL& target_url, diff --git a/brightray/browser/network_delegate.h b/brightray/browser/network_delegate.h index fcfbdbb89277..55835622ac2f 100644 --- a/brightray/browser/network_delegate.h +++ b/brightray/browser/network_delegate.h @@ -62,6 +62,7 @@ class NetworkDelegate : public net::NetworkDelegate { bool OnCanEnablePrivacyMode( const GURL& url, const GURL& first_party_for_cookies) const override; + bool OnFirstPartyOnlyCookieExperimentEnabled() const override; bool OnCancelURLRequestWithPolicyViolatingReferrerHeader( const net::URLRequest& request, const GURL& target_url, diff --git a/brightray/browser/notification_presenter_mac.mm b/brightray/browser/notification_presenter_mac.mm index cbe25c65a469..3b0c736daa3c 100644 --- a/brightray/browser/notification_presenter_mac.mm +++ b/brightray/browser/notification_presenter_mac.mm @@ -85,7 +85,7 @@ void NotificationPresenterMac::CancelNotification(content::DesktopNotificationDe for (NSUserNotification* deliveredNotification in center.deliveredNotifications) if ([notification isEqual:deliveredNotification]) { [center removeDeliveredNotification:deliveredNotification]; - delegate->NotificationClosed(false); + delegate->NotificationClosed(); break; } diff --git a/brightray/browser/permission_manager.cc b/brightray/browser/permission_manager.cc new file mode 100644 index 000000000000..5a2d4ee54c33 --- /dev/null +++ b/brightray/browser/permission_manager.cc @@ -0,0 +1,65 @@ +// Copyright (c) 2015 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-CHROMIUM file. + +#include "browser/permission_manager.h" + +#include "base/callback.h" +#include "content/public/browser/permission_type.h" + +namespace brightray { + +PermissionManager::PermissionManager() { +} + +PermissionManager::~PermissionManager() { +} + +void PermissionManager::RequestPermission( + content::PermissionType permission, + content::WebContents* web_contents, + int request_id, + const GURL& requesting_origin, + bool user_gesture, + const base::Callback& callback) { + callback.Run(content::PERMISSION_STATUS_GRANTED); +} + +void PermissionManager::CancelPermissionRequest( + content::PermissionType permission, + content::WebContents* web_contents, + int request_id, + const GURL& requesting_origin) { +} + +void PermissionManager::ResetPermission( + content::PermissionType permission, + const GURL& requesting_origin, + const GURL& embedding_origin) { +} + +content::PermissionStatus PermissionManager::GetPermissionStatus( + content::PermissionType permission, + const GURL& requesting_origin, + const GURL& embedding_origin) { + return content::PERMISSION_STATUS_GRANTED; +} + +void PermissionManager::RegisterPermissionUsage( + content::PermissionType permission, + const GURL& requesting_origin, + const GURL& embedding_origin) { +} + +int PermissionManager::SubscribePermissionStatusChange( + content::PermissionType permission, + const GURL& requesting_origin, + const GURL& embedding_origin, + const base::Callback& callback) { + return -1; +} + +void PermissionManager::UnsubscribePermissionStatusChange(int subscription_id) { +} + +} // namespace brightray diff --git a/brightray/browser/permission_manager.h b/brightray/browser/permission_manager.h new file mode 100644 index 000000000000..d40bcd95e1f2 --- /dev/null +++ b/brightray/browser/permission_manager.h @@ -0,0 +1,54 @@ +// Copyright (c) 2015 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-CHROMIUM file. + +#ifndef BROWSER_PERMISSION_MANAGER_H_ +#define BROWSER_PERMISSION_MANAGER_H_ + +#include "base/callback_forward.h" +#include "base/macros.h" +#include "content/public/browser/permission_manager.h" + +namespace brightray { + +class PermissionManager : public content::PermissionManager { + public: + PermissionManager(); + ~PermissionManager() override; + + // content::PermissionManager: + void RequestPermission( + content::PermissionType permission, + content::WebContents* web_contents, + int request_id, + const GURL& requesting_origin, + bool user_gesture, + const base::Callback& callback) override; + void CancelPermissionRequest(content::PermissionType permission, + content::WebContents* web_contents, + int request_id, + const GURL& requesting_origin) override; + void ResetPermission(content::PermissionType permission, + const GURL& requesting_origin, + const GURL& embedding_origin) override; + content::PermissionStatus GetPermissionStatus( + content::PermissionType permission, + const GURL& requesting_origin, + const GURL& embedding_origin) override; + void RegisterPermissionUsage(content::PermissionType permission, + const GURL& requesting_origin, + const GURL& embedding_origin) override; + int SubscribePermissionStatusChange( + content::PermissionType permission, + const GURL& requesting_origin, + const GURL& embedding_origin, + const base::Callback& callback) override; + void UnsubscribePermissionStatusChange(int subscription_id) override; + + private: + DISALLOW_COPY_AND_ASSIGN(PermissionManager); +}; + +} // namespace brightray + +#endif // BROWSER_PERMISSION_MANAGER_H_ diff --git a/brightray/filenames.gypi b/brightray/filenames.gypi index 203e2037b434..e1a152521bd3 100644 --- a/brightray/filenames.gypi +++ b/brightray/filenames.gypi @@ -42,6 +42,8 @@ 'browser/notification_presenter.h', 'browser/notification_presenter_mac.h', 'browser/notification_presenter_mac.mm', + 'browser/permission_manager.cc', + 'browser/permission_manager.h', 'browser/platform_notification_service_impl.cc', 'browser/platform_notification_service_impl.h', 'browser/linux/notification_presenter_linux.h',