Update to Chromium revision 280796.

- Mac: Remove Carbon interpose library (see http://crbug.com/157130).
- Remove unused LOGSEVERITY_ERROR_REPORT value (see http://crbug.com/352378).
- CefURLRequest in the render process will now always have the UR_FLAG_REPORT_LOAD_TIMING flag set (see http://crbug.com/376025#c15).
- Change CefGeolocationHandler::OnRequestGeolocationPermission return value from void to boolean.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1753 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt 2014-07-02 18:25:22 +00:00
parent 4114dbd609
commit cb907f3649
58 changed files with 357 additions and 583 deletions

View File

@ -8,6 +8,6 @@
{ {
'chromium_url': 'http://src.chromium.org/svn/trunk/src', 'chromium_url': 'http://src.chromium.org/svn/trunk/src',
'chromium_revision': '275973', 'chromium_revision': '280796',
'chromium_checkout': '9e96d7351ccb48be8548f7aec7b751b822c7d97c', 'chromium_checkout': 'e800fe7470fa87dc1ca5b148a7c2c41f603fdcbd',
} }

80
cef.gyp
View File

@ -103,7 +103,6 @@
'dependencies': [ 'dependencies': [
'cef_framework', 'cef_framework',
'cefclient_helper_app', 'cefclient_helper_app',
'interpose_dependency_shim',
], ],
'variables': { 'variables': {
'PRODUCT_NAME': 'cefclient', 'PRODUCT_NAME': 'cefclient',
@ -114,7 +113,6 @@
'destination': '<(PRODUCT_DIR)/<(PRODUCT_NAME).app/Contents/Frameworks', 'destination': '<(PRODUCT_DIR)/<(PRODUCT_NAME).app/Contents/Frameworks',
'files': [ 'files': [
'<(PRODUCT_DIR)/<(PRODUCT_NAME) Helper.app', '<(PRODUCT_DIR)/<(PRODUCT_NAME) Helper.app',
'<(PRODUCT_DIR)/libplugin_carbon_interpose.dylib',
], ],
}, },
], ],
@ -286,7 +284,6 @@
'dependencies': [ 'dependencies': [
'cef_framework', 'cef_framework',
'cefsimple_helper_app', 'cefsimple_helper_app',
'interpose_dependency_shim',
], ],
'variables': { 'variables': {
'PRODUCT_NAME': 'cefsimple', 'PRODUCT_NAME': 'cefsimple',
@ -297,7 +294,6 @@
'destination': '<(PRODUCT_DIR)/<(PRODUCT_NAME).app/Contents/Frameworks', 'destination': '<(PRODUCT_DIR)/<(PRODUCT_NAME).app/Contents/Frameworks',
'files': [ 'files': [
'<(PRODUCT_DIR)/<(PRODUCT_NAME) Helper.app', '<(PRODUCT_DIR)/<(PRODUCT_NAME) Helper.app',
'<(PRODUCT_DIR)/libplugin_carbon_interpose.dylib',
], ],
}, },
], ],
@ -1172,82 +1168,6 @@
}], }],
['OS=="mac"', { ['OS=="mac"', {
'targets': [ 'targets': [
{
# Dummy target to allow cefclient to require plugin_carbon_interpose
# to build without actually linking to the resulting library.
'target_name': 'interpose_dependency_shim',
'type': 'executable',
'variables': { 'enable_wexit_time_destructors': 1, },
'dependencies': [
'plugin_carbon_interpose',
],
# In release, we end up with a strip step that is unhappy if there is
# no binary. Rather than check in a new file for this temporary hack,
# just generate a source file on the fly.
'actions': [
{
'action_name': 'generate_stub_main',
'process_outputs_as_sources': 1,
'inputs': [],
'outputs': [ '<(INTERMEDIATE_DIR)/dummy_main.c' ],
'action': [
'bash', '-c',
'echo "int main() { return 0; }" > <(INTERMEDIATE_DIR)/dummy_main.c'
],
},
],
},
{
# dylib for interposing Carbon calls in the plugin process.
'target_name': 'plugin_carbon_interpose',
'type': 'shared_library',
'variables': { 'enable_wexit_time_destructors': 1, },
# This target must not depend on static libraries, else the code in
# those libraries would appear twice in plugin processes: Once from
# Chromium Framework, and once from this dylib.
'dependencies': [
'cef_framework',
],
'conditions': [
['component=="shared_library"', {
'dependencies': [
'<(DEPTH)/webkit/support/webkit_support.gyp:glue',
'<(DEPTH)/content/content.gyp:content_plugin',
],
}],
],
'sources': [
'<(DEPTH)/content/plugin/plugin_carbon_interpose_mac.cc',
],
'include_dirs': [
'..',
],
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
],
},
'xcode_settings': {
'DYLIB_COMPATIBILITY_VERSION': '<(version_mac_dylib)',
'DYLIB_CURRENT_VERSION': '<(version_mac_dylib)',
},
'postbuilds': [
{
# The framework defines its load-time path
# (DYLIB_INSTALL_NAME_BASE) relative to the main executable
# (chrome). A different relative path needs to be used in
# libplugin_carbon_interpose.dylib.
'postbuild_name': 'Fix Framework Link',
'action': [
'install_name_tool',
'-change',
'@executable_path/<(framework_name)',
'@executable_path/../../../../Frameworks/<(framework_name).framework/<(framework_name)',
'${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
],
},
],
},
{ {
'target_name': 'cef_framework', 'target_name': 'cef_framework',
'type': 'shared_library', 'type': 'shared_library',

View File

@ -78,11 +78,12 @@ typedef struct _cef_geolocation_handler_t {
/// ///
// Called when a page requests permission to access geolocation information. // Called when a page requests permission to access geolocation information.
// |requesting_url| is the URL requesting permission and |request_id| is the // |requesting_url| is the URL requesting permission and |request_id| is the
// unique ID for the permission request. Call // unique ID for the permission request. Return true (1) and call
// cef_geolocation_callback_t::Continue to allow or deny the permission // cef_geolocation_callback_t::cont() either in this function or at a later
// request. // time to continue or cancel the request. Return false (0) to cancel the
// request immediately.
/// ///
void (CEF_CALLBACK *on_request_geolocation_permission)( int (CEF_CALLBACK *on_request_geolocation_permission)(
struct _cef_geolocation_handler_t* self, struct _cef_browser_t* browser, struct _cef_geolocation_handler_t* self, struct _cef_browser_t* browser,
const cef_string_t* requesting_url, int request_id, const cef_string_t* requesting_url, int request_id,
struct _cef_geolocation_callback_t* callback); struct _cef_geolocation_callback_t* callback);

View File

@ -67,15 +67,18 @@ class CefGeolocationHandler : public virtual CefBase {
/// ///
// Called when a page requests permission to access geolocation information. // Called when a page requests permission to access geolocation information.
// |requesting_url| is the URL requesting permission and |request_id| is the // |requesting_url| is the URL requesting permission and |request_id| is the
// unique ID for the permission request. Call CefGeolocationCallback::Continue // unique ID for the permission request. Return true and call
// to allow or deny the permission request. // CefGeolocationCallback::Continue() either in this method or at a later
// time to continue or cancel the request. Return false to cancel the request
// immediately.
/// ///
/*--cef()--*/ /*--cef()--*/
virtual void OnRequestGeolocationPermission( virtual bool OnRequestGeolocationPermission(
CefRefPtr<CefBrowser> browser, CefRefPtr<CefBrowser> browser,
const CefString& requesting_url, const CefString& requesting_url,
int request_id, int request_id,
CefRefPtr<CefGeolocationCallback> callback) { CefRefPtr<CefGeolocationCallback> callback) {
return false;
} }
/// ///

View File

@ -79,15 +79,15 @@
// method in the parent class. // method in the parent class.
// Use like: // Use like:
// virtual void foo() OVERRIDE; // virtual void foo() OVERRIDE;
#ifndef OVERRIDE #if defined(__clang__) || defined(COMPILER_MSVC)
#if defined(COMPILER_MSVC)
#define OVERRIDE override #define OVERRIDE override
#elif defined(__clang__) #elif defined(COMPILER_GCC) && __cplusplus >= 201103 && \
(__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40700
// GCC 4.7 supports explicit virtual overrides when C++11 support is enabled.
#define OVERRIDE override #define OVERRIDE override
#else #else
#define OVERRIDE #define OVERRIDE
#endif #endif
#endif
#ifndef ALLOW_THIS_IN_INITIALIZER_LIST #ifndef ALLOW_THIS_IN_INITIALIZER_LIST
#if defined(COMPILER_MSVC) #if defined(COMPILER_MSVC)

View File

@ -151,11 +151,6 @@ typedef enum {
/// ///
LOGSEVERITY_ERROR, LOGSEVERITY_ERROR,
///
// ERROR_REPORT logging.
///
LOGSEVERITY_ERROR_REPORT,
/// ///
// Completely disable logging. // Completely disable logging.
/// ///

View File

@ -17,142 +17,11 @@
#include "base/threading/thread.h" #include "base/threading/thread.h"
#include "content/public/browser/download_manager.h" #include "content/public/browser/download_manager.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
#include "content/public/browser/geolocation_permission_context.h"
#include "content/public/browser/resource_context.h" #include "content/public/browser/resource_context.h"
#include "content/public/browser/storage_partition.h" #include "content/public/browser/storage_partition.h"
using content::BrowserThread; using content::BrowserThread;
namespace {
class CefGeolocationPermissionContext
: public content::GeolocationPermissionContext {
public:
// CefGeolocationCallback implementation.
class CallbackImpl : public CefGeolocationCallback {
public:
typedef base::Callback<void(bool)> // NOLINT(readability/function)
CallbackType;
explicit CallbackImpl(
CefGeolocationPermissionContext* context,
int bridge_id,
const CallbackType& callback)
: context_(context),
bridge_id_(bridge_id),
callback_(callback) {}
virtual void Continue(bool allow) OVERRIDE {
if (CEF_CURRENTLY_ON_UIT()) {
if (!callback_.is_null()) {
// Callback must be executed on the UI thread.
callback_.Run(allow);
context_->RemoveCallback(bridge_id_);
}
} else {
CEF_POST_TASK(CEF_UIT,
base::Bind(&CallbackImpl::Continue, this, allow));
}
}
void Disconnect() {
callback_.Reset();
context_ = NULL;
}
private:
static void Run(const CallbackType& callback, bool allow) {
CEF_REQUIRE_UIT();
callback.Run(allow);
}
CefGeolocationPermissionContext* context_;
int bridge_id_;
CallbackType callback_;
IMPLEMENT_REFCOUNTING(CallbackImpl);
};
CefGeolocationPermissionContext() {}
virtual void RequestGeolocationPermission(
content::WebContents* web_contents,
int bridge_id,
const GURL& requesting_frame,
bool user_gesture,
base::Callback<void(bool)> callback) // NOLINT(readability/function)
OVERRIDE {
CEF_REQUIRE_UIT();
CefRefPtr<CefBrowserHostImpl> browser =
CefBrowserHostImpl::GetBrowserForContents(web_contents);
if (browser.get()) {
CefRefPtr<CefClient> client = browser->GetClient();
if (client.get()) {
CefRefPtr<CefGeolocationHandler> handler =
client->GetGeolocationHandler();
if (handler.get()) {
CefRefPtr<CallbackImpl> callbackPtr(
new CallbackImpl(this, bridge_id, callback));
// Add the callback reference to the map.
callback_map_.insert(std::make_pair(bridge_id, callbackPtr));
// Notify the handler.
handler->OnRequestGeolocationPermission(browser.get(),
requesting_frame.spec(), bridge_id, callbackPtr.get());
return;
}
}
}
// Disallow geolocation access by default.
callback.Run(false);
}
virtual void CancelGeolocationPermissionRequest(
content::WebContents* web_contents,
int bridge_id,
const GURL& requesting_frame) OVERRIDE {
RemoveCallback(bridge_id);
CefRefPtr<CefBrowserHostImpl> browser =
CefBrowserHostImpl::GetBrowserForContents(web_contents);
if (browser.get()) {
CefRefPtr<CefClient> client = browser->GetClient();
if (client.get()) {
CefRefPtr<CefGeolocationHandler> handler =
client->GetGeolocationHandler();
if (handler.get()) {
// Notify the handler.
handler->OnCancelGeolocationPermission(browser.get(),
requesting_frame.spec(), bridge_id);
}
}
}
}
void RemoveCallback(int bridge_id) {
CEF_REQUIRE_UIT();
// Disconnect the callback and remove the reference from the map.
CallbackMap::iterator it = callback_map_.find(bridge_id);
if (it != callback_map_.end()) {
it->second->Disconnect();
callback_map_.erase(it);
}
}
private:
// Map of bridge ids to callback references.
typedef std::map<int, CefRefPtr<CallbackImpl> > CallbackMap;
CallbackMap callback_map_;
DISALLOW_COPY_AND_ASSIGN(CefGeolocationPermissionContext);
};
} // namespace
class CefBrowserContextImpl::CefResourceContext : public content::ResourceContext { class CefBrowserContextImpl::CefResourceContext : public content::ResourceContext {
public: public:
CefResourceContext() : getter_(NULL) {} CefResourceContext() : getter_(NULL) {}
@ -246,50 +115,10 @@ net::URLRequestContextGetter*
return GetRequestContext(); return GetRequestContext();
} }
void CefBrowserContextImpl::RequestMidiSysExPermission(
int render_process_id,
int render_view_id,
int bridge_id,
const GURL& requesting_frame,
bool user_gesture,
const MidiSysExPermissionCallback& callback) {
// TODO(CEF): Implement Web MIDI API permission handling.
callback.Run(false);
}
void CefBrowserContextImpl::CancelMidiSysExPermissionRequest(
int render_process_id,
int render_view_id,
int bridge_id,
const GURL& requesting_frame) {
}
void CefBrowserContextImpl::RequestProtectedMediaIdentifierPermission(
int render_process_id,
int render_view_id,
const GURL& origin,
const ProtectedMediaIdentifierPermissionCallback& callback) {
}
void CefBrowserContextImpl::CancelProtectedMediaIdentifierPermissionRequests(
int render_process_id,
int render_view_id,
const GURL& origin) {
}
content::ResourceContext* CefBrowserContextImpl::GetResourceContext() { content::ResourceContext* CefBrowserContextImpl::GetResourceContext() {
return resource_context_.get(); return resource_context_.get();
} }
content::GeolocationPermissionContext*
CefBrowserContextImpl::GetGeolocationPermissionContext() {
if (!geolocation_permission_context_) {
geolocation_permission_context_ =
new CefGeolocationPermissionContext();
}
return geolocation_permission_context_;
}
content::BrowserPluginGuestManager* CefBrowserContextImpl::GetGuestManager() { content::BrowserPluginGuestManager* CefBrowserContextImpl::GetGuestManager() {
return NULL; return NULL;
} }
@ -298,6 +127,11 @@ quota::SpecialStoragePolicy* CefBrowserContextImpl::GetSpecialStoragePolicy() {
return NULL; return NULL;
} }
content::PushMessagingService*
CefBrowserContextImpl::GetPushMessagingService() {
return NULL;
}
net::URLRequestContextGetter* CefBrowserContextImpl::CreateRequestContext( net::URLRequestContextGetter* CefBrowserContextImpl::CreateRequestContext(
content::ProtocolHandlerMap* protocol_handlers, content::ProtocolHandlerMap* protocol_handlers,
content::URLRequestInterceptorScopedVector request_interceptors) { content::URLRequestInterceptorScopedVector request_interceptors) {

View File

@ -39,32 +39,10 @@ class CefBrowserContextImpl : public CefBrowserContext {
GetMediaRequestContextForStoragePartition( GetMediaRequestContextForStoragePartition(
const base::FilePath& partition_path, const base::FilePath& partition_path,
bool in_memory) OVERRIDE; bool in_memory) OVERRIDE;
virtual void RequestMidiSysExPermission(
int render_process_id,
int render_view_id,
int bridge_id,
const GURL& requesting_frame,
bool user_gesture,
const MidiSysExPermissionCallback& callback) OVERRIDE;
virtual void CancelMidiSysExPermissionRequest(
int render_process_id,
int render_view_id,
int bridge_id,
const GURL& requesting_frame) OVERRIDE;
virtual void RequestProtectedMediaIdentifierPermission(
int render_process_id,
int render_view_id,
const GURL& origin,
const ProtectedMediaIdentifierPermissionCallback& callback) OVERRIDE;
virtual void CancelProtectedMediaIdentifierPermissionRequests(
int render_process_id,
int render_view_id,
const GURL& origin) OVERRIDE;
virtual content::ResourceContext* GetResourceContext() OVERRIDE; virtual content::ResourceContext* GetResourceContext() OVERRIDE;
virtual content::GeolocationPermissionContext*
GetGeolocationPermissionContext() OVERRIDE;
virtual content::BrowserPluginGuestManager* GetGuestManager() OVERRIDE; virtual content::BrowserPluginGuestManager* GetGuestManager() OVERRIDE;
virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE; virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE;
virtual content::PushMessagingService* GetPushMessagingService() OVERRIDE;
// CefBrowserContext methods. // CefBrowserContext methods.
virtual net::URLRequestContextGetter* CreateRequestContext( virtual net::URLRequestContextGetter* CreateRequestContext(
@ -84,8 +62,6 @@ class CefBrowserContextImpl : public CefBrowserContext {
scoped_ptr<CefResourceContext> resource_context_; scoped_ptr<CefResourceContext> resource_context_;
scoped_ptr<CefDownloadManagerDelegate> download_manager_delegate_; scoped_ptr<CefDownloadManagerDelegate> download_manager_delegate_;
scoped_refptr<CefURLRequestContextGetter> url_request_getter_; scoped_refptr<CefURLRequestContextGetter> url_request_getter_;
scoped_refptr<content::GeolocationPermissionContext>
geolocation_permission_context_;
DISALLOW_COPY_AND_ASSIGN(CefBrowserContextImpl); DISALLOW_COPY_AND_ASSIGN(CefBrowserContextImpl);
}; };

View File

@ -112,54 +112,24 @@ net::URLRequestContextGetter*
return GetRequestContext(); return GetRequestContext();
} }
void CefBrowserContextProxy::RequestMidiSysExPermission(
int render_process_id,
int render_view_id,
int bridge_id,
const GURL& requesting_frame,
bool user_gesture,
const MidiSysExPermissionCallback& callback) {
// TODO(CEF): Implement Web MIDI API permission handling.
callback.Run(false);
}
void CefBrowserContextProxy::CancelMidiSysExPermissionRequest(
int render_process_id,
int render_view_id,
int bridge_id,
const GURL& requesting_frame) {
}
void CefBrowserContextProxy::RequestProtectedMediaIdentifierPermission(
int render_process_id,
int render_view_id,
const GURL& origin,
const ProtectedMediaIdentifierPermissionCallback& callback) {
}
void CefBrowserContextProxy::CancelProtectedMediaIdentifierPermissionRequests(
int render_process_id,
int render_view_id,
const GURL& origin) {
}
content::ResourceContext* CefBrowserContextProxy::GetResourceContext() { content::ResourceContext* CefBrowserContextProxy::GetResourceContext() {
return resource_context_.get(); return resource_context_.get();
} }
content::GeolocationPermissionContext*
CefBrowserContextProxy::GetGeolocationPermissionContext() {
return parent_->GetGeolocationPermissionContext();
}
content::BrowserPluginGuestManager* CefBrowserContextProxy::GetGuestManager() { content::BrowserPluginGuestManager* CefBrowserContextProxy::GetGuestManager() {
return parent_->GetGuestManager(); return parent_->GetGuestManager();
} }
quota::SpecialStoragePolicy* CefBrowserContextProxy::GetSpecialStoragePolicy() { quota::SpecialStoragePolicy*
CefBrowserContextProxy::GetSpecialStoragePolicy() {
return parent_->GetSpecialStoragePolicy(); return parent_->GetSpecialStoragePolicy();
} }
content::PushMessagingService*
CefBrowserContextProxy::GetPushMessagingService() {
return parent_->GetPushMessagingService();
}
net::URLRequestContextGetter* CefBrowserContextProxy::CreateRequestContext( net::URLRequestContextGetter* CefBrowserContextProxy::CreateRequestContext(
content::ProtocolHandlerMap* protocol_handlers, content::ProtocolHandlerMap* protocol_handlers,
content::URLRequestInterceptorScopedVector request_interceptors) { content::URLRequestInterceptorScopedVector request_interceptors) {

View File

@ -47,32 +47,10 @@ class CefBrowserContextProxy : public CefBrowserContext {
GetMediaRequestContextForStoragePartition( GetMediaRequestContextForStoragePartition(
const base::FilePath& partition_path, const base::FilePath& partition_path,
bool in_memory) OVERRIDE; bool in_memory) OVERRIDE;
virtual void RequestMidiSysExPermission(
int render_process_id,
int render_view_id,
int bridge_id,
const GURL& requesting_frame,
bool user_gesture,
const MidiSysExPermissionCallback& callback) OVERRIDE;
virtual void CancelMidiSysExPermissionRequest(
int render_process_id,
int render_view_id,
int bridge_id,
const GURL& requesting_frame) OVERRIDE;
virtual void RequestProtectedMediaIdentifierPermission(
int render_process_id,
int render_view_id,
const GURL& origin,
const ProtectedMediaIdentifierPermissionCallback& callback) OVERRIDE;
virtual void CancelProtectedMediaIdentifierPermissionRequests(
int render_process_id,
int render_view_id,
const GURL& origin) OVERRIDE;
virtual content::ResourceContext* GetResourceContext() OVERRIDE; virtual content::ResourceContext* GetResourceContext() OVERRIDE;
virtual content::GeolocationPermissionContext*
GetGeolocationPermissionContext() OVERRIDE;
virtual content::BrowserPluginGuestManager* GetGuestManager() OVERRIDE; virtual content::BrowserPluginGuestManager* GetGuestManager() OVERRIDE;
virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE; virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE;
virtual content::PushMessagingService* GetPushMessagingService() OVERRIDE;
// CefBrowserContext methods. // CefBrowserContext methods.
virtual net::URLRequestContextGetter* CreateRequestContext( virtual net::URLRequestContextGetter* CreateRequestContext(

View File

@ -634,6 +634,8 @@ class CefBrowserHostImpl::DevToolsWebContentsObserver :
}; };
CefBrowserHostImpl::~CefBrowserHostImpl() { CefBrowserHostImpl::~CefBrowserHostImpl() {
// All weak pointer references should be removed in DestroyBrowser().
DCHECK(!weak_ptr_factory_.HasWeakPtrs());
} }
CefRefPtr<CefBrowser> CefBrowserHostImpl::GetBrowser() { CefRefPtr<CefBrowser> CefBrowserHostImpl::GetBrowser() {
@ -1391,6 +1393,8 @@ void CefBrowserHostImpl::DestroyBrowser() {
CefContentBrowserClient::Get()->RemoveBrowserInfo(browser_info_); CefContentBrowserClient::Get()->RemoveBrowserInfo(browser_info_);
browser_info_->set_browser(NULL); browser_info_->set_browser(NULL);
weak_ptr_factory_.InvalidateWeakPtrs();
} }
gfx::NativeView CefBrowserHostImpl::GetContentView() const { gfx::NativeView CefBrowserHostImpl::GetContentView() const {
@ -2221,6 +2225,11 @@ bool CefBrowserHostImpl::SetPendingPopupInfo(
return true; return true;
} }
base::WeakPtr<CefBrowserHostImpl> CefBrowserHostImpl::GetWeakPtr() {
CEF_REQUIRE_UIT();
return weak_ptr_factory_.GetWeakPtr();
}
void CefBrowserHostImpl::UpdatePreferredSize(content::WebContents* source, void CefBrowserHostImpl::UpdatePreferredSize(content::WebContents* source,
const gfx::Size& pref_size) { const gfx::Size& pref_size) {
PlatformSizeTo(pref_size.width(), pref_size.height()); PlatformSizeTo(pref_size.width(), pref_size.height());
@ -2348,14 +2357,15 @@ void CefBrowserHostImpl::RenderProcessGone(base::TerminationStatus status) {
} }
void CefBrowserHostImpl::DidCommitProvisionalLoadForFrame( void CefBrowserHostImpl::DidCommitProvisionalLoadForFrame(
int64 frame_id, content::RenderFrameHost* render_frame_host,
const base::string16& frame_unique_name,
bool is_main_frame, bool is_main_frame,
const GURL& url, const GURL& url,
content::PageTransition transition_type, content::PageTransition transition_type) {
content::RenderViewHost* render_view_host) { CefRefPtr<CefFrame> frame = GetOrCreateFrame(
CefRefPtr<CefFrame> frame = GetOrCreateFrame(frame_id, render_frame_host->GetRoutingID(),
CefFrameHostImpl::kUnspecifiedFrameId, is_main_frame, base::string16(), CefFrameHostImpl::kUnspecifiedFrameId,
is_main_frame,
base::string16(),
url); url);
OnLoadStart(frame, url, transition_type); OnLoadStart(frame, url, transition_type);
if (is_main_frame) if (is_main_frame)
@ -2363,15 +2373,16 @@ void CefBrowserHostImpl::DidCommitProvisionalLoadForFrame(
} }
void CefBrowserHostImpl::DidFailProvisionalLoad( void CefBrowserHostImpl::DidFailProvisionalLoad(
int64 frame_id, content::RenderFrameHost* render_frame_host,
const base::string16& frame_unique_name,
bool is_main_frame, bool is_main_frame,
const GURL& validated_url, const GURL& validated_url,
int error_code, int error_code,
const base::string16& error_description, const base::string16& error_description) {
content::RenderViewHost* render_view_host) { CefRefPtr<CefFrame> frame = GetOrCreateFrame(
CefRefPtr<CefFrame> frame = GetOrCreateFrame(frame_id, render_frame_host->GetRoutingID(),
CefFrameHostImpl::kUnspecifiedFrameId, is_main_frame, base::string16(), CefFrameHostImpl::kUnspecifiedFrameId,
is_main_frame,
base::string16(),
GURL()); GURL());
OnLoadError(frame, validated_url, error_code, error_description); OnLoadError(frame, validated_url, error_code, error_description);
} }
@ -2585,7 +2596,8 @@ CefBrowserHostImpl::CefBrowserHostImpl(
focus_on_editable_field_(false), focus_on_editable_field_(false),
mouse_cursor_change_disabled_(false), mouse_cursor_change_disabled_(false),
devtools_frontend_(NULL), devtools_frontend_(NULL),
file_chooser_pending_(false) { file_chooser_pending_(false),
weak_ptr_factory_(this) {
#if defined(USE_AURA) #if defined(USE_AURA)
window_widget_ = NULL; window_widget_ = NULL;
#endif #endif

View File

@ -21,6 +21,7 @@
#include "libcef/common/response_manager.h" #include "libcef/common/response_manager.h"
#include "base/memory/scoped_ptr.h" #include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/strings/string16.h" #include "base/strings/string16.h"
#include "base/synchronization/lock.h" #include "base/synchronization/lock.h"
#include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_observer.h"
@ -325,6 +326,11 @@ class CefBrowserHostImpl : public CefBrowserHost,
}; };
DestructionState destruction_state() const { return destruction_state_; } DestructionState destruction_state() const { return destruction_state_; }
// Used to retrieve a WeakPtr that will be invalidated when the browser is
// destroyed. This method can only be called on, and the resulting WeakPtr
// can only be dereferenced on, the UI thread.
base::WeakPtr<CefBrowserHostImpl> GetWeakPtr();
private: private:
class DevToolsWebContentsObserver; class DevToolsWebContentsObserver;
@ -414,20 +420,16 @@ class CefBrowserHostImpl : public CefBrowserHost,
virtual void RenderViewReady() OVERRIDE; virtual void RenderViewReady() OVERRIDE;
virtual void RenderProcessGone(base::TerminationStatus status) OVERRIDE; virtual void RenderProcessGone(base::TerminationStatus status) OVERRIDE;
virtual void DidCommitProvisionalLoadForFrame( virtual void DidCommitProvisionalLoadForFrame(
int64 frame_id, content::RenderFrameHost* render_frame_host,
const base::string16& frame_unique_name,
bool is_main_frame, bool is_main_frame,
const GURL& url, const GURL& url,
content::PageTransition transition_type, content::PageTransition transition_type) OVERRIDE;
content::RenderViewHost* render_view_host) OVERRIDE;
virtual void DidFailProvisionalLoad( virtual void DidFailProvisionalLoad(
int64 frame_id, content::RenderFrameHost* render_frame_host,
const base::string16& frame_unique_name,
bool is_main_frame, bool is_main_frame,
const GURL& validated_url, const GURL& validated_url,
int error_code, int error_code,
const base::string16& error_description, const base::string16& error_description) OVERRIDE;
content::RenderViewHost* render_view_host) OVERRIDE;
virtual void DocumentAvailableInMainFrame() OVERRIDE; virtual void DocumentAvailableInMainFrame() OVERRIDE;
virtual void DidFailLoad(int64 frame_id, virtual void DidFailLoad(int64 frame_id,
const GURL& validated_url, const GURL& validated_url,
@ -652,6 +654,10 @@ class CefBrowserHostImpl : public CefBrowserHost,
scoped_ptr<ui::XScopedCursor> invisible_cursor_; scoped_ptr<ui::XScopedCursor> invisible_cursor_;
#endif // defined(USE_X11) #endif // defined(USE_X11)
// Only used on the UI thread. All references will be invalidated when
// DestroyBrowser() is called. Must be the last member.
base::WeakPtrFactory<CefBrowserHostImpl> weak_ptr_factory_;
IMPLEMENT_REFCOUNTING(CefBrowserHostImpl); IMPLEMENT_REFCOUNTING(CefBrowserHostImpl);
DISALLOW_EVIL_CONSTRUCTORS(CefBrowserHostImpl); DISALLOW_EVIL_CONSTRUCTORS(CefBrowserHostImpl);
}; };

View File

@ -23,14 +23,14 @@
CefBrowserMessageFilter::CefBrowserMessageFilter( CefBrowserMessageFilter::CefBrowserMessageFilter(
content::RenderProcessHost* host) content::RenderProcessHost* host)
: host_(host), : host_(host),
channel_(NULL) { sender_(NULL) {
} }
CefBrowserMessageFilter::~CefBrowserMessageFilter() { CefBrowserMessageFilter::~CefBrowserMessageFilter() {
} }
void CefBrowserMessageFilter::OnFilterAdded(IPC::Channel* channel) { void CefBrowserMessageFilter::OnFilterAdded(IPC::Sender* sender) {
channel_ = channel; sender_ = sender;
} }
void CefBrowserMessageFilter::OnFilterRemoved() { void CefBrowserMessageFilter::OnFilterRemoved() {

View File

@ -25,7 +25,7 @@ class CefBrowserMessageFilter : public IPC::MessageFilter {
virtual ~CefBrowserMessageFilter(); virtual ~CefBrowserMessageFilter();
// IPC::ChannelProxy::MessageFilter implementation. // IPC::ChannelProxy::MessageFilter implementation.
virtual void OnFilterAdded(IPC::Channel* channel) OVERRIDE; virtual void OnFilterAdded(IPC::Sender* sender) OVERRIDE;
virtual void OnFilterRemoved() OVERRIDE; virtual void OnFilterRemoved() OVERRIDE;
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
@ -43,7 +43,7 @@ class CefBrowserMessageFilter : public IPC::MessageFilter {
IPC::Message* reply_msg); IPC::Message* reply_msg);
content::RenderProcessHost* host_; content::RenderProcessHost* host_;
IPC::Channel* channel_; IPC::Sender* sender_;
DISALLOW_COPY_AND_ASSIGN(CefBrowserMessageFilter); DISALLOW_COPY_AND_ASSIGN(CefBrowserMessageFilter);
}; };

View File

@ -48,7 +48,6 @@
#if defined(OS_POSIX) && !defined(OS_MACOSX) #if defined(OS_POSIX) && !defined(OS_MACOSX)
#include "base/debug/leak_annotations.h" #include "base/debug/leak_annotations.h"
#include "base/platform_file.h"
#include "components/breakpad/app/breakpad_linux.h" #include "components/breakpad/app/breakpad_linux.h"
#include "components/breakpad/browser/crash_handler_host_linux.h" #include "components/breakpad/browser/crash_handler_host_linux.h"
#include "content/public/common/content_descriptors.h" #include "content/public/common/content_descriptors.h"
@ -84,6 +83,7 @@ class CefQuotaCallbackImpl : public CefQuotaCallback {
const content::QuotaPermissionContext::PermissionCallback& callback) const content::QuotaPermissionContext::PermissionCallback& callback)
: callback_(callback) { : callback_(callback) {
} }
~CefQuotaCallbackImpl() { ~CefQuotaCallbackImpl() {
if (!callback_.is_null()) { if (!callback_.is_null()) {
// The callback is still pending. Cancel it now. // The callback is still pending. Cancel it now.
@ -142,8 +142,11 @@ class CefQuotaCallbackImpl : public CefQuotaCallback {
class CefAllowCertificateErrorCallbackImpl class CefAllowCertificateErrorCallbackImpl
: public CefAllowCertificateErrorCallback { : public CefAllowCertificateErrorCallback {
public: public:
explicit CefAllowCertificateErrorCallbackImpl( typedef base::Callback<void(bool)> // NOLINT(readability/function)
const base::Callback<void(bool)>& callback) : callback_(callback) { CallbackType;
explicit CefAllowCertificateErrorCallbackImpl(const CallbackType& callback)
: callback_(callback) {
} }
virtual void Continue(bool allow) OVERRIDE { virtual void Continue(bool allow) OVERRIDE {
@ -164,12 +167,65 @@ class CefAllowCertificateErrorCallbackImpl
} }
private: private:
base::Callback<void(bool)> callback_; CallbackType callback_;
IMPLEMENT_REFCOUNTING(CefAllowCertificateErrorCallbackImpl); IMPLEMENT_REFCOUNTING(CefAllowCertificateErrorCallbackImpl);
DISALLOW_COPY_AND_ASSIGN(CefAllowCertificateErrorCallbackImpl); DISALLOW_COPY_AND_ASSIGN(CefAllowCertificateErrorCallbackImpl);
}; };
class CefGeolocationCallbackImpl : public CefGeolocationCallback {
public:
typedef base::Callback<void(bool)> // NOLINT(readability/function)
CallbackType;
explicit CefGeolocationCallbackImpl(const CallbackType& callback)
: callback_(callback) {}
virtual void Continue(bool allow) OVERRIDE {
if (CEF_CURRENTLY_ON_UIT()) {
if (!callback_.is_null()) {
callback_.Run(allow);
callback_.Reset();
}
} else {
CEF_POST_TASK(CEF_UIT,
base::Bind(&CefGeolocationCallbackImpl::Continue, this, allow));
}
}
void Disconnect() {
callback_.Reset();
}
private:
static void Run(const CallbackType& callback, bool allow) {
CEF_REQUIRE_UIT();
callback.Run(allow);
}
CallbackType callback_;
IMPLEMENT_REFCOUNTING(CefGeolocationCallbackImpl);
DISALLOW_COPY_AND_ASSIGN(CefGeolocationCallbackImpl);
};
void CancelGeolocationPermission(base::WeakPtr<CefBrowserHostImpl> browser,
const GURL& requesting_frame,
int bridge_id) {
if (browser.get()) {
CefRefPtr<CefClient> client = browser->GetClient();
if (client.get()) {
CefRefPtr<CefGeolocationHandler> handler =
client->GetGeolocationHandler();
if (handler.get()) {
handler->OnCancelGeolocationPermission(browser.get(),
requesting_frame.spec(),
bridge_id);
}
}
}
}
class CefQuotaPermissionContext : public content::QuotaPermissionContext { class CefQuotaPermissionContext : public content::QuotaPermissionContext {
public: public:
CefQuotaPermissionContext() { CefQuotaPermissionContext() {
@ -727,6 +783,50 @@ content::AccessTokenStore* CefContentBrowserClient::CreateAccessTokenStore() {
return new CefAccessTokenStore; return new CefAccessTokenStore;
} }
void CefContentBrowserClient::RequestGeolocationPermission(
content::WebContents* web_contents,
int bridge_id,
const GURL& requesting_frame,
bool user_gesture,
base::Callback<void(bool)> result_callback,
base::Closure* cancel_callback) {
CEF_REQUIRE_UIT();
bool proceed = false;
CefRefPtr<CefBrowserHostImpl> browser =
CefBrowserHostImpl::GetBrowserForContents(web_contents);
if (browser.get()) {
CefRefPtr<CefClient> client = browser->GetClient();
if (client.get()) {
CefRefPtr<CefGeolocationHandler> handler =
client->GetGeolocationHandler();
if (handler.get()) {
CefRefPtr<CefGeolocationCallbackImpl> callbackImpl(
new CefGeolocationCallbackImpl(result_callback));
// Notify the handler.
proceed = handler->OnRequestGeolocationPermission(
browser.get(), requesting_frame.spec(), bridge_id,
callbackImpl.get());
if (proceed) {
// The callback reference may outlive the browser so use a WeakPtr.
*cancel_callback =
base::Bind(CancelGeolocationPermission,
browser->GetWeakPtr(), requesting_frame,
bridge_id);
} else {
callbackImpl->Disconnect();
}
}
}
}
if (!proceed) {
// Disallow geolocation access by default.
result_callback.Run(false);
}
}
bool CefContentBrowserClient::CanCreateWindow( bool CefContentBrowserClient::CanCreateWindow(
const GURL& opener_url, const GURL& opener_url,
const GURL& opener_top_level_frame_url, const GURL& opener_top_level_frame_url,

View File

@ -115,6 +115,13 @@ class CefContentBrowserClient : public content::ContentBrowserClient {
const base::Callback<void(bool)>& callback, const base::Callback<void(bool)>& callback,
content::CertificateRequestResultType* result) OVERRIDE; content::CertificateRequestResultType* result) OVERRIDE;
virtual content::AccessTokenStore* CreateAccessTokenStore() OVERRIDE; virtual content::AccessTokenStore* CreateAccessTokenStore() OVERRIDE;
virtual void RequestGeolocationPermission(
content::WebContents* web_contents,
int bridge_id,
const GURL& requesting_frame,
bool user_gesture,
base::Callback<void(bool)> result_callback,
base::Closure* cancel_callback) OVERRIDE;
virtual bool CanCreateWindow(const GURL& opener_url, virtual bool CanCreateWindow(const GURL& opener_url,
const GURL& opener_top_level_frame_url, const GURL& opener_top_level_frame_url,
const GURL& source_origin, const GURL& source_origin,

View File

@ -4,8 +4,6 @@
#include "libcef/browser/printing/print_view_manager_base.h" #include "libcef/browser/printing/print_view_manager_base.h"
#include <map>
#include "libcef/browser/content_browser_client.h" #include "libcef/browser/content_browser_client.h"
#include "base/bind.h" #include "base/bind.h"
@ -31,20 +29,19 @@
#include "printing/printed_document.h" #include "printing/printed_document.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
#if defined(OS_WIN)
#include "base/command_line.h"
#include "chrome/common/chrome_switches.h"
#endif
using base::TimeDelta; using base::TimeDelta;
using content::BrowserThread; using content::BrowserThread;
namespace printing {
namespace {
#if defined(OS_WIN) #if defined(OS_WIN)
// Limits memory usage by raster to 64 MiB. // Limits memory usage by raster to 64 MiB.
const int kMaxRasterSizeInPixels = 16*1024*1024; const int kMaxRasterSizeInPixels = 16*1024*1024;
#endif #endif
namespace printing { } // namespace
PrintViewManagerBase::PrintViewManagerBase(content::WebContents* web_contents) PrintViewManagerBase::PrintViewManagerBase(content::WebContents* web_contents)
: content::WebContentsObserver(web_contents), : content::WebContentsObserver(web_contents),
@ -177,7 +174,9 @@ void PrintViewManagerBase::OnDidPrintPage(
// Update the rendered document. It will send notifications to the listener. // Update the rendered document. It will send notifications to the listener.
document->SetPage(params.page_number, document->SetPage(params.page_number,
metafile.release(), metafile.release(),
#if defined(OS_WIN)
params.actual_shrink, params.actual_shrink,
#endif // OS_WIN
params.page_size, params.page_size,
params.content_area); params.content_area);

View File

@ -405,10 +405,8 @@ void CefRenderWidgetHostViewOSR::SetIsLoading(bool is_loading) {
} }
#if !defined(OS_MACOSX) #if !defined(OS_MACOSX)
void CefRenderWidgetHostViewOSR::TextInputTypeChanged( void CefRenderWidgetHostViewOSR::TextInputStateChanged(
ui::TextInputType type, const ViewHostMsg_TextInputState_Params& params) {
ui::TextInputMode input_mode,
bool can_compose_inline) {
} }
void CefRenderWidgetHostViewOSR::ImeCancelComposition() { void CefRenderWidgetHostViewOSR::ImeCancelComposition() {
@ -598,11 +596,6 @@ gfx::GLSurfaceHandle CefRenderWidgetHostViewOSR::GetCompositingSurface() {
GetSharedSurfaceHandle(); GetSharedSurfaceHandle();
} }
void CefRenderWidgetHostViewOSR::SetScrollOffsetPinning(
bool is_pinned_to_left,
bool is_pinned_to_right) {
}
#if !defined(OS_MACOSX) && defined(USE_AURA) #if !defined(OS_MACOSX) && defined(USE_AURA)
void CefRenderWidgetHostViewOSR::ImeCompositionRangeChanged( void CefRenderWidgetHostViewOSR::ImeCompositionRangeChanged(
const gfx::Range& range, const gfx::Range& range,
@ -627,12 +620,6 @@ void CefRenderWidgetHostViewOSR::SchedulePaintInRect(
root_layer_->SchedulePaint(damage_rect_in_dip); root_layer_->SchedulePaint(damage_rect_in_dip);
} }
void CefRenderWidgetHostViewOSR::DelegatedCompositorDidSwapBuffers() {
}
void CefRenderWidgetHostViewOSR::DelegatedCompositorAbortedSwapBuffers() {
}
bool CefRenderWidgetHostViewOSR::IsVisible() { bool CefRenderWidgetHostViewOSR::IsVisible() {
return IsShowing(); return IsShowing();
} }

View File

@ -114,9 +114,8 @@ class CefRenderWidgetHostViewOSR
virtual void Blur() OVERRIDE; virtual void Blur() OVERRIDE;
virtual void UpdateCursor(const content::WebCursor& cursor) OVERRIDE; virtual void UpdateCursor(const content::WebCursor& cursor) OVERRIDE;
virtual void SetIsLoading(bool is_loading) OVERRIDE; virtual void SetIsLoading(bool is_loading) OVERRIDE;
virtual void TextInputTypeChanged(ui::TextInputType type, virtual void TextInputStateChanged(
ui::TextInputMode input_mode, const ViewHostMsg_TextInputState_Params& params) OVERRIDE;
bool can_compose_inline) OVERRIDE;
virtual void ImeCancelComposition() OVERRIDE; virtual void ImeCancelComposition() OVERRIDE;
virtual void RenderProcessGone(base::TerminationStatus status, virtual void RenderProcessGone(base::TerminationStatus status,
int error_code) OVERRIDE; int error_code) OVERRIDE;
@ -159,9 +158,6 @@ class CefRenderWidgetHostViewOSR
virtual void GetScreenInfo(blink::WebScreenInfo* results) OVERRIDE; virtual void GetScreenInfo(blink::WebScreenInfo* results) OVERRIDE;
virtual gfx::Rect GetBoundsInRootWindow() OVERRIDE; virtual gfx::Rect GetBoundsInRootWindow() OVERRIDE;
virtual gfx::GLSurfaceHandle GetCompositingSurface() OVERRIDE; virtual gfx::GLSurfaceHandle GetCompositingSurface() OVERRIDE;
virtual void SetScrollOffsetPinning(
bool is_pinned_to_left,
bool is_pinned_to_right) OVERRIDE;
#if defined(OS_MACOSX) #if defined(OS_MACOSX)
virtual bool PostProcessEventForPluginIme( virtual bool PostProcessEventForPluginIme(
@ -186,8 +182,6 @@ class CefRenderWidgetHostViewOSR
virtual content::RenderWidgetHostImpl* GetHost() OVERRIDE; virtual content::RenderWidgetHostImpl* GetHost() OVERRIDE;
virtual void SchedulePaintInRect( virtual void SchedulePaintInRect(
const gfx::Rect& damage_rect_in_dip) OVERRIDE; const gfx::Rect& damage_rect_in_dip) OVERRIDE;
virtual void DelegatedCompositorDidSwapBuffers() OVERRIDE;
virtual void DelegatedCompositorAbortedSwapBuffers() OVERRIDE;
virtual bool IsVisible() OVERRIDE; virtual bool IsVisible() OVERRIDE;
virtual scoped_ptr<content::ResizeLock> CreateResizeLock( virtual scoped_ptr<content::ResizeLock> CreateResizeLock(
bool defer_compositor_lock) OVERRIDE; bool defer_compositor_lock) OVERRIDE;

View File

@ -10,7 +10,7 @@
#include "libcef/browser/browser_host_impl.h" #include "libcef/browser/browser_host_impl.h"
#include "libcef/browser/text_input_client_osr_mac.h" #include "libcef/browser/text_input_client_osr_mac.h"
#include "content/browser/compositor/browser_compositor_view_mac.h" #include "content/browser/compositor/browser_compositor_view_private_mac.h"
#if !defined(UNUSED) #if !defined(UNUSED)
#define UNUSED(x) ((void)(x)) /* to avoid warnings */ #define UNUSED(x) ((void)(x)) /* to avoid warnings */
@ -56,10 +56,8 @@ bool CefRenderWidgetHostViewOSR::IsSpeaking() const {
void CefRenderWidgetHostViewOSR::StopSpeaking() { void CefRenderWidgetHostViewOSR::StopSpeaking() {
} }
void CefRenderWidgetHostViewOSR::TextInputTypeChanged( void CefRenderWidgetHostViewOSR::TextInputStateChanged(
ui::TextInputType type, const ViewHostMsg_TextInputState_Params& params) {
ui::TextInputMode mode,
bool can_compose_inline) {
[NSApp updateWindows]; [NSApp updateWindows];
} }
@ -262,9 +260,8 @@ void CefRenderWidgetHostViewOSR::PlatformCreateCompositorWidget() {
styleMask:NSBorderlessWindowMask styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered backing:NSBackingStoreBuffered
defer:NO]; defer:NO];
BrowserCompositorViewMac* view = BrowserCompositorViewCocoa* view = [[BrowserCompositorViewCocoa alloc] init];
[[BrowserCompositorViewMac alloc] initWithSuperview:[window_ contentView] [window_ setContentView:view];
withClient:NULL];
compositor_.reset([view compositor]); compositor_.reset([view compositor]);
DCHECK(compositor_); DCHECK(compositor_);
compositor_widget_ = view; compositor_widget_ = view;
@ -273,7 +270,7 @@ void CefRenderWidgetHostViewOSR::PlatformCreateCompositorWidget() {
void CefRenderWidgetHostViewOSR::PlatformDestroyCompositorWidget() { void CefRenderWidgetHostViewOSR::PlatformDestroyCompositorWidget() {
DCHECK(window_); DCHECK(window_);
// Compositor is owned by and will be freed by BrowserCompositorViewMac. // Compositor is owned by and will be freed by BrowserCompositorViewCocoa.
ui::Compositor* compositor = compositor_.release(); ui::Compositor* compositor = compositor_.release();
UNUSED(compositor); UNUSED(compositor);

View File

@ -61,7 +61,7 @@ CefResourceDispatcherHostDelegate::~CefResourceDispatcherHostDelegate() {
void CefResourceDispatcherHostDelegate::RequestBeginning( void CefResourceDispatcherHostDelegate::RequestBeginning(
net::URLRequest* request, net::URLRequest* request,
content::ResourceContext* resource_context, content::ResourceContext* resource_context,
appcache::AppCacheService* appcache_service, content::AppCacheService* appcache_service,
ResourceType::Type resource_type, ResourceType::Type resource_type,
int child_id, int child_id,
int route_id, int route_id,

View File

@ -20,7 +20,7 @@ class CefResourceDispatcherHostDelegate
virtual void RequestBeginning( virtual void RequestBeginning(
net::URLRequest* request, net::URLRequest* request,
content::ResourceContext* resource_context, content::ResourceContext* resource_context,
appcache::AppCacheService* appcache_service, content::AppCacheService* appcache_service,
ResourceType::Type resource_type, ResourceType::Type resource_type,
int child_id, int child_id,
int route_id, int route_id,

View File

@ -15,7 +15,6 @@ const char kLogSeverity_Verbose[] = "verbose";
const char kLogSeverity_Info[] = "info"; const char kLogSeverity_Info[] = "info";
const char kLogSeverity_Warning[] = "warning"; const char kLogSeverity_Warning[] = "warning";
const char kLogSeverity_Error[] = "error"; const char kLogSeverity_Error[] = "error";
const char kLogSeverity_ErrorReport[] = "error-report";
const char kLogSeverity_Disable[] = "disable"; const char kLogSeverity_Disable[] = "disable";
// Path to resources directory. // Path to resources directory.

View File

@ -16,7 +16,6 @@ extern const char kLogSeverity_Verbose[];
extern const char kLogSeverity_Info[]; extern const char kLogSeverity_Info[];
extern const char kLogSeverity_Warning[]; extern const char kLogSeverity_Warning[];
extern const char kLogSeverity_Error[]; extern const char kLogSeverity_Error[];
extern const char kLogSeverity_ErrorReport[];
extern const char kLogSeverity_Disable[]; extern const char kLogSeverity_Disable[];
extern const char kResourcesDirPath[]; extern const char kResourcesDirPath[];
extern const char kLocalesDirPath[]; extern const char kLocalesDirPath[];

View File

@ -22,9 +22,6 @@ namespace {
CefContentClient* g_content_client = NULL; CefContentClient* g_content_client = NULL;
const char kInterposeLibraryPath[] =
"@executable_path/../../../libplugin_carbon_interpose.dylib";
} // namespace } // namespace
CefContentClient::CefContentClient(CefRefPtr<CefApp> application) CefContentClient::CefContentClient(CefRefPtr<CefApp> application)
@ -112,12 +109,6 @@ gfx::Image& CefContentClient::GetNativeImageNamed(int resource_id) const {
return value; return value;
} }
#if defined(OS_MACOSX) && !defined(OS_IOS)
std::string CefContentClient::GetCarbonInterposePath() const {
return std::string(kInterposeLibraryPath);
}
#endif
void CefContentClient::AddCustomScheme(const SchemeInfo& scheme_info) { void CefContentClient::AddCustomScheme(const SchemeInfo& scheme_info) {
DCHECK(!scheme_info_list_locked_); DCHECK(!scheme_info_list_locked_);
scheme_info_list_.push_back(scheme_info); scheme_info_list_.push_back(scheme_info);

View File

@ -36,10 +36,6 @@ class CefContentClient : public content::ContentClient,
ui::ScaleFactor scale_factor) const OVERRIDE; ui::ScaleFactor scale_factor) const OVERRIDE;
virtual gfx::Image& GetNativeImageNamed(int resource_id) const OVERRIDE; virtual gfx::Image& GetNativeImageNamed(int resource_id) const OVERRIDE;
#if defined(OS_MACOSX) && !defined(OS_IOS)
virtual std::string GetCarbonInterposePath() const OVERRIDE;
#endif
struct SchemeInfo { struct SchemeInfo {
std::string scheme_name; std::string scheme_name;
bool is_standard; bool is_standard;

View File

@ -235,9 +235,6 @@ bool CefMainDelegate::BasicStartupComplete(int* exit_code) {
case LOGSEVERITY_ERROR: case LOGSEVERITY_ERROR:
log_severity = switches::kLogSeverity_Error; log_severity = switches::kLogSeverity_Error;
break; break;
case LOGSEVERITY_ERROR_REPORT:
log_severity = switches::kLogSeverity_ErrorReport;
break;
case LOGSEVERITY_DISABLE: case LOGSEVERITY_DISABLE:
log_severity = switches::kLogSeverity_Disable; log_severity = switches::kLogSeverity_Disable;
break; break;
@ -328,9 +325,6 @@ bool CefMainDelegate::BasicStartupComplete(int* exit_code) {
} else if (LowerCaseEqualsASCII(log_severity_str, } else if (LowerCaseEqualsASCII(log_severity_str,
switches::kLogSeverity_Error)) { switches::kLogSeverity_Error)) {
log_severity = logging::LOG_ERROR; log_severity = logging::LOG_ERROR;
} else if (LowerCaseEqualsASCII(log_severity_str,
switches::kLogSeverity_ErrorReport)) {
log_severity = logging::LOG_ERROR_REPORT;
} else if (LowerCaseEqualsASCII(log_severity_str, } else if (LowerCaseEqualsASCII(log_severity_str,
switches::kLogSeverity_Disable)) { switches::kLogSeverity_Disable)) {
log_severity = LOGSEVERITY_DISABLE; log_severity = LOGSEVERITY_DISABLE;

View File

@ -309,8 +309,6 @@ void CefRequestImpl::Set(const blink::WebURLRequest& request) {
flags_ |= UR_FLAG_ALLOW_CACHED_CREDENTIALS; flags_ |= UR_FLAG_ALLOW_CACHED_CREDENTIALS;
if (request.reportUploadProgress()) if (request.reportUploadProgress())
flags_ |= UR_FLAG_REPORT_UPLOAD_PROGRESS; flags_ |= UR_FLAG_REPORT_UPLOAD_PROGRESS;
if (request.reportLoadTiming())
flags_ |= UR_FLAG_REPORT_LOAD_TIMING;
if (request.reportRawHeaders()) if (request.reportRawHeaders())
flags_ |= UR_FLAG_REPORT_RAW_HEADERS; flags_ |= UR_FLAG_REPORT_RAW_HEADERS;
@ -351,8 +349,6 @@ void CefRequestImpl::Get(blink::WebURLRequest& request) {
UR_FLAG_ALLOW_CACHED_CREDENTIALS); UR_FLAG_ALLOW_CACHED_CREDENTIALS);
SETBOOLFLAG(request, flags_, setReportUploadProgress, SETBOOLFLAG(request, flags_, setReportUploadProgress,
UR_FLAG_REPORT_UPLOAD_PROGRESS); UR_FLAG_REPORT_UPLOAD_PROGRESS);
SETBOOLFLAG(request, flags_, setReportLoadTiming,
UR_FLAG_REPORT_LOAD_TIMING);
SETBOOLFLAG(request, flags_, setReportRawHeaders, SETBOOLFLAG(request, flags_, setReportRawHeaders,
UR_FLAG_REPORT_RAW_HEADERS); UR_FLAG_REPORT_RAW_HEADERS);

View File

@ -16,14 +16,14 @@
#include "url/url_util.h" #include "url/url_util.h"
CefRenderMessageFilter::CefRenderMessageFilter() CefRenderMessageFilter::CefRenderMessageFilter()
: channel_(NULL) { : sender_(NULL) {
} }
CefRenderMessageFilter::~CefRenderMessageFilter() { CefRenderMessageFilter::~CefRenderMessageFilter() {
} }
void CefRenderMessageFilter::OnFilterAdded(IPC::Channel* channel) { void CefRenderMessageFilter::OnFilterAdded(IPC::Sender* sender) {
channel_ = channel; sender_ = sender;
} }
void CefRenderMessageFilter::OnFilterRemoved() { void CefRenderMessageFilter::OnFilterRemoved() {
@ -45,7 +45,8 @@ bool CefRenderMessageFilter::OnMessageReceived(const IPC::Message& message) {
return handled; return handled;
} }
void CefRenderMessageFilter::OnDevToolsAgentAttach() { void CefRenderMessageFilter::OnDevToolsAgentAttach(
const std::string& host_id) {
CEF_POST_TASK_RT( CEF_POST_TASK_RT(
base::Bind(&CefRenderMessageFilter::OnDevToolsAgentAttach_RT, this)); base::Bind(&CefRenderMessageFilter::OnDevToolsAgentAttach_RT, this));
} }

View File

@ -17,20 +17,20 @@ class CefRenderMessageFilter : public IPC::MessageFilter {
virtual ~CefRenderMessageFilter(); virtual ~CefRenderMessageFilter();
// IPC::ChannelProxy::MessageFilter implementation. // IPC::ChannelProxy::MessageFilter implementation.
virtual void OnFilterAdded(IPC::Channel* channel) OVERRIDE; virtual void OnFilterAdded(IPC::Sender* sender) OVERRIDE;
virtual void OnFilterRemoved() OVERRIDE; virtual void OnFilterRemoved() OVERRIDE;
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
private: private:
// Message handlers called on the IO thread. // Message handlers called on the IO thread.
void OnDevToolsAgentAttach(); void OnDevToolsAgentAttach(const std::string& host_id);
void OnDevToolsAgentDetach(); void OnDevToolsAgentDetach();
void OnDevToolsAgentAttach_RT(); void OnDevToolsAgentAttach_RT();
void OnDevToolsAgentDetach_IOT(); void OnDevToolsAgentDetach_IOT();
void OnDevToolsAgentDetach_RT(); void OnDevToolsAgentDetach_RT();
IPC::Channel* channel_; IPC::Sender* sender_;
DISALLOW_COPY_AND_ASSIGN(CefRenderMessageFilter); DISALLOW_COPY_AND_ASSIGN(CefRenderMessageFilter);
}; };

View File

@ -17,7 +17,7 @@
// MEMBER FUNCTIONS - Body may be edited by hand. // MEMBER FUNCTIONS - Body may be edited by hand.
void CEF_CALLBACK geolocation_handler_on_request_geolocation_permission( int CEF_CALLBACK geolocation_handler_on_request_geolocation_permission(
struct _cef_geolocation_handler_t* self, cef_browser_t* browser, struct _cef_geolocation_handler_t* self, cef_browser_t* browser,
const cef_string_t* requesting_url, int request_id, const cef_string_t* requesting_url, int request_id,
cef_geolocation_callback_t* callback) { cef_geolocation_callback_t* callback) {
@ -25,26 +25,30 @@ void CEF_CALLBACK geolocation_handler_on_request_geolocation_permission(
DCHECK(self); DCHECK(self);
if (!self) if (!self)
return; return 0;
// Verify param: browser; type: refptr_diff // Verify param: browser; type: refptr_diff
DCHECK(browser); DCHECK(browser);
if (!browser) if (!browser)
return; return 0;
// Verify param: requesting_url; type: string_byref_const // Verify param: requesting_url; type: string_byref_const
DCHECK(requesting_url); DCHECK(requesting_url);
if (!requesting_url) if (!requesting_url)
return; return 0;
// Verify param: callback; type: refptr_diff // Verify param: callback; type: refptr_diff
DCHECK(callback); DCHECK(callback);
if (!callback) if (!callback)
return; return 0;
// Execute // Execute
CefGeolocationHandlerCppToC::Get(self)->OnRequestGeolocationPermission( bool _retval = CefGeolocationHandlerCppToC::Get(
self)->OnRequestGeolocationPermission(
CefBrowserCToCpp::Wrap(browser), CefBrowserCToCpp::Wrap(browser),
CefString(requesting_url), CefString(requesting_url),
request_id, request_id,
CefGeolocationCallbackCToCpp::Wrap(callback)); CefGeolocationCallbackCToCpp::Wrap(callback));
// Return type: bool
return _retval;
} }
void CEF_CALLBACK geolocation_handler_on_cancel_geolocation_permission( void CEF_CALLBACK geolocation_handler_on_cancel_geolocation_permission(

View File

@ -17,33 +17,36 @@
// VIRTUAL METHODS - Body may be edited by hand. // VIRTUAL METHODS - Body may be edited by hand.
void CefGeolocationHandlerCToCpp::OnRequestGeolocationPermission( bool CefGeolocationHandlerCToCpp::OnRequestGeolocationPermission(
CefRefPtr<CefBrowser> browser, const CefString& requesting_url, CefRefPtr<CefBrowser> browser, const CefString& requesting_url,
int request_id, CefRefPtr<CefGeolocationCallback> callback) { int request_id, CefRefPtr<CefGeolocationCallback> callback) {
if (CEF_MEMBER_MISSING(struct_, on_request_geolocation_permission)) if (CEF_MEMBER_MISSING(struct_, on_request_geolocation_permission))
return; return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Verify param: browser; type: refptr_diff // Verify param: browser; type: refptr_diff
DCHECK(browser.get()); DCHECK(browser.get());
if (!browser.get()) if (!browser.get())
return; return false;
// Verify param: requesting_url; type: string_byref_const // Verify param: requesting_url; type: string_byref_const
DCHECK(!requesting_url.empty()); DCHECK(!requesting_url.empty());
if (requesting_url.empty()) if (requesting_url.empty())
return; return false;
// Verify param: callback; type: refptr_diff // Verify param: callback; type: refptr_diff
DCHECK(callback.get()); DCHECK(callback.get());
if (!callback.get()) if (!callback.get())
return; return false;
// Execute // Execute
struct_->on_request_geolocation_permission(struct_, int _retval = struct_->on_request_geolocation_permission(struct_,
CefBrowserCppToC::Wrap(browser), CefBrowserCppToC::Wrap(browser),
requesting_url.GetStruct(), requesting_url.GetStruct(),
request_id, request_id,
CefGeolocationCallbackCppToC::Wrap(callback)); CefGeolocationCallbackCppToC::Wrap(callback));
// Return type: bool
return _retval?true:false;
} }
void CefGeolocationHandlerCToCpp::OnCancelGeolocationPermission( void CefGeolocationHandlerCToCpp::OnCancelGeolocationPermission(

View File

@ -34,7 +34,7 @@ class CefGeolocationHandlerCToCpp
virtual ~CefGeolocationHandlerCToCpp() {} virtual ~CefGeolocationHandlerCToCpp() {}
// CefGeolocationHandler methods // CefGeolocationHandler methods
virtual void OnRequestGeolocationPermission(CefRefPtr<CefBrowser> browser, virtual bool OnRequestGeolocationPermission(CefRefPtr<CefBrowser> browser,
const CefString& requesting_url, int request_id, const CefString& requesting_url, int request_id,
CefRefPtr<CefGeolocationCallback> callback) OVERRIDE; CefRefPtr<CefGeolocationCallback> callback) OVERRIDE;
virtual void OnCancelGeolocationPermission(CefRefPtr<CefBrowser> browser, virtual void OnCancelGeolocationPermission(CefRefPtr<CefBrowser> browser,

View File

@ -106,10 +106,11 @@ patches = [
'path': '../webkit/', 'path': '../webkit/',
}, },
{ {
# Fix Blink VectorComparer::compare assertion with VS2013 debug build. # Revert Blink revision 177068 changes due to _web_drawFocusRingWithFrame
# https://code.google.com/p/chromium/issues/detail?id=377942 # unrecognized selector error during offscreen rendering of popups.
'name': 'wtf_vector_377942', # https://code.google.com/p/chromium/issues/detail?id=328814
'path': '../third_party/WebKit/Source/wtf/', 'name': 'webkit_platform_mac_328814',
'path': '../third_party/WebKit/Source/platform/mac/',
}, },
{ {
# Disable scollbar bounce and overlay on OS X. # Disable scollbar bounce and overlay on OS X.

View File

@ -1,8 +1,8 @@
Index: web_contents_impl.cc Index: web_contents_impl.cc
=================================================================== ===================================================================
--- web_contents_impl.cc (revision 275973) --- web_contents_impl.cc (revision 280796)
+++ web_contents_impl.cc (working copy) +++ web_contents_impl.cc (working copy)
@@ -1059,22 +1059,29 @@ @@ -1073,22 +1073,29 @@
params.browser_context, params.site_instance, params.routing_id, params.browser_context, params.site_instance, params.routing_id,
params.main_frame_routing_id); params.main_frame_routing_id);
@ -46,7 +46,7 @@ Index: web_contents_impl.cc
} }
CHECK(render_view_host_delegate_view_); CHECK(render_view_host_delegate_view_);
CHECK(view_.get()); CHECK(view_.get());
@@ -1381,6 +1388,9 @@ @@ -1407,6 +1414,9 @@
static_cast<SessionStorageNamespaceImpl*>(session_storage_namespace); static_cast<SessionStorageNamespaceImpl*>(session_storage_namespace);
CHECK(session_storage_namespace_impl->IsFromContext(dom_storage_context)); CHECK(session_storage_namespace_impl->IsFromContext(dom_storage_context));
@ -56,7 +56,7 @@ Index: web_contents_impl.cc
if (delegate_ && if (delegate_ &&
!delegate_->ShouldCreateWebContents(this, !delegate_->ShouldCreateWebContents(this,
route_id, route_id,
@@ -1388,7 +1398,9 @@ @@ -1414,7 +1424,9 @@
params.frame_name, params.frame_name,
params.target_url, params.target_url,
partition_id, partition_id,
@ -67,7 +67,7 @@ Index: web_contents_impl.cc
if (route_id != MSG_ROUTING_NONE && if (route_id != MSG_ROUTING_NONE &&
!RenderViewHost::FromID(render_process_id, route_id)) { !RenderViewHost::FromID(render_process_id, route_id)) {
// If the embedder didn't create a WebContents for this route, we need to // If the embedder didn't create a WebContents for this route, we need to
@@ -1408,6 +1420,8 @@ @@ -1434,6 +1446,8 @@
create_params.main_frame_routing_id = main_frame_route_id; create_params.main_frame_routing_id = main_frame_route_id;
create_params.opener = this; create_params.opener = this;
create_params.opener_suppressed = params.opener_suppressed; create_params.opener_suppressed = params.opener_suppressed;

View File

@ -1,6 +1,6 @@
Index: mac/strip_save_dsym Index: mac/strip_save_dsym
=================================================================== ===================================================================
--- mac/strip_save_dsym (revision 275973) --- mac/strip_save_dsym (revision 280796)
+++ mac/strip_save_dsym (working copy) +++ mac/strip_save_dsym (working copy)
@@ -48,7 +48,7 @@ @@ -48,7 +48,7 @@
"bundle"] "bundle"]
@ -13,9 +13,9 @@ Index: mac/strip_save_dsym
archs = [] archs = []
Index: gyp_chromium Index: gyp_chromium
=================================================================== ===================================================================
--- gyp_chromium (revision 275973) --- gyp_chromium (revision 280796)
+++ gyp_chromium (working copy) +++ gyp_chromium (working copy)
@@ -251,12 +251,6 @@ @@ -257,12 +257,6 @@
if sys.platform not in ('darwin',): if sys.platform not in ('darwin',):
args.append('--no-circular-check') args.append('--no-circular-check')
@ -30,7 +30,7 @@ Index: gyp_chromium
# Also default to ninja on mac, but only when not building chrome/ios. # Also default to ninja on mac, but only when not building chrome/ios.
Index: common.gypi Index: common.gypi
=================================================================== ===================================================================
--- common.gypi (revision 275973) --- common.gypi (revision 280796)
+++ common.gypi (working copy) +++ common.gypi (working copy)
@@ -9,6 +9,9 @@ @@ -9,6 +9,9 @@
# Variables expected to be overriden on the GYP command line (-D) or by # Variables expected to be overriden on the GYP command line (-D) or by
@ -42,7 +42,7 @@ Index: common.gypi
# Putting a variables dict inside another variables dict looks kind of # Putting a variables dict inside another variables dict looks kind of
# weird. This is done so that 'host_arch', 'chromeos', etc are defined as # weird. This is done so that 'host_arch', 'chromeos', etc are defined as
# variables within the outer variables dict here. This is necessary # variables within the outer variables dict here. This is necessary
@@ -5058,6 +5061,9 @@ @@ -5175,6 +5178,9 @@
# removed as code is fixed. # removed as code is fixed.
4100, 4121, 4125, 4127, 4130, 4131, 4189, 4201, 4238, 4244, 4245, 4100, 4121, 4125, 4127, 4130, 4131, 4189, 4201, 4238, 4244, 4245,
4310, 4428, 4481, 4505, 4510, 4512, 4530, 4610, 4611, 4701, 4706, 4310, 4428, 4481, 4505, 4510, 4512, 4530, 4610, 4611, 4701, 4706,

View File

@ -1,6 +1,6 @@
Index: public/renderer/content_renderer_client.cc Index: public/renderer/content_renderer_client.cc
=================================================================== ===================================================================
--- public/renderer/content_renderer_client.cc (revision 275973) --- public/renderer/content_renderer_client.cc (revision 280796)
+++ public/renderer/content_renderer_client.cc (working copy) +++ public/renderer/content_renderer_client.cc (working copy)
@@ -92,7 +92,6 @@ @@ -92,7 +92,6 @@
return false; return false;
@ -20,7 +20,7 @@ Index: public/renderer/content_renderer_client.cc
const GURL& url, const GURL& url,
Index: public/renderer/content_renderer_client.h Index: public/renderer/content_renderer_client.h
=================================================================== ===================================================================
--- public/renderer/content_renderer_client.h (revision 275973) --- public/renderer/content_renderer_client.h (revision 280796)
+++ public/renderer/content_renderer_client.h (working copy) +++ public/renderer/content_renderer_client.h (working copy)
@@ -176,7 +176,6 @@ @@ -176,7 +176,6 @@
// Returns true if a popup window should be allowed. // Returns true if a popup window should be allowed.
@ -40,9 +40,9 @@ Index: public/renderer/content_renderer_client.h
// If |send_referrer| is set to false (which is the default), no referrer // If |send_referrer| is set to false (which is the default), no referrer
Index: renderer/render_frame_impl.cc Index: renderer/render_frame_impl.cc
=================================================================== ===================================================================
--- renderer/render_frame_impl.cc (revision 275973) --- renderer/render_frame_impl.cc (revision 280796)
+++ renderer/render_frame_impl.cc (working copy) +++ renderer/render_frame_impl.cc (working copy)
@@ -3143,7 +3143,6 @@ @@ -3122,7 +3122,6 @@
WebNavigationType type, WebNavigationType type,
WebNavigationPolicy default_policy, WebNavigationPolicy default_policy,
bool is_redirect) { bool is_redirect) {
@ -50,7 +50,7 @@ Index: renderer/render_frame_impl.cc
// The handlenavigation API is deprecated and will be removed once // The handlenavigation API is deprecated and will be removed once
// crbug.com/325351 is resolved. // crbug.com/325351 is resolved.
if (request.url() != GURL(kSwappedOutURL) && if (request.url() != GURL(kSwappedOutURL) &&
@@ -3158,7 +3157,6 @@ @@ -3137,7 +3136,6 @@
is_redirect)) { is_redirect)) {
return blink::WebNavigationPolicyIgnore; return blink::WebNavigationPolicyIgnore;
} }

View File

@ -1,6 +1,6 @@
Index: resource_ids Index: resource_ids
=================================================================== ===================================================================
--- resource_ids (revision 275973) --- resource_ids (revision 280796)
+++ resource_ids (working copy) +++ resource_ids (working copy)
@@ -16,6 +16,12 @@ @@ -16,6 +16,12 @@
{ {

View File

@ -1,8 +1,8 @@
Index: gyp/generator/ninja.py Index: gyp/generator/ninja.py
=================================================================== ===================================================================
--- gyp/generator/ninja.py (revision 1927) --- gyp/generator/ninja.py (revision 1944)
+++ gyp/generator/ninja.py (working copy) +++ gyp/generator/ninja.py (working copy)
@@ -738,7 +738,16 @@ @@ -740,7 +740,16 @@
for path in copy['files']: for path in copy['files']:
# Normalize the path so trailing slashes don't confuse us. # Normalize the path so trailing slashes don't confuse us.
path = os.path.normpath(path) path = os.path.normpath(path)

View File

@ -1,6 +1,6 @@
Index: message_loop.cc Index: message_loop.cc
=================================================================== ===================================================================
--- message_loop.cc (revision 275973) --- message_loop.cc (revision 280796)
+++ message_loop.cc (working copy) +++ message_loop.cc (working copy)
@@ -154,7 +154,7 @@ @@ -154,7 +154,7 @@
MessageLoop::~MessageLoop() { MessageLoop::~MessageLoop() {

View File

@ -1,8 +1,8 @@
Index: public/common/common_param_traits_macros.h Index: public/common/common_param_traits_macros.h
=================================================================== ===================================================================
--- public/common/common_param_traits_macros.h (revision 275973) --- public/common/common_param_traits_macros.h (revision 280796)
+++ public/common/common_param_traits_macros.h (working copy) +++ public/common/common_param_traits_macros.h (working copy)
@@ -177,6 +177,7 @@ @@ -175,6 +175,7 @@
IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale) IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale)
IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled) IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled)
IPC_STRUCT_TRAITS_MEMBER(compositor_touch_hit_testing) IPC_STRUCT_TRAITS_MEMBER(compositor_touch_hit_testing)
@ -12,7 +12,7 @@ Index: public/common/common_param_traits_macros.h
IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled) IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled)
Index: renderer/web_preferences.cc Index: renderer/web_preferences.cc
=================================================================== ===================================================================
--- renderer/web_preferences.cc (revision 275973) --- renderer/web_preferences.cc (revision 280796)
+++ renderer/web_preferences.cc (working copy) +++ renderer/web_preferences.cc (working copy)
@@ -167,6 +167,8 @@ @@ -167,6 +167,8 @@

View File

@ -1,8 +1,8 @@
Index: common/webpreferences.cc Index: common/webpreferences.cc
=================================================================== ===================================================================
--- common/webpreferences.cc (revision 275973) --- common/webpreferences.cc (revision 280796)
+++ common/webpreferences.cc (working copy) +++ common/webpreferences.cc (working copy)
@@ -114,6 +114,7 @@ @@ -112,6 +112,7 @@
use_solid_color_scrollbars(false), use_solid_color_scrollbars(false),
compositor_touch_hit_testing(true), compositor_touch_hit_testing(true),
navigate_on_drag_drop(true), navigate_on_drag_drop(true),
@ -12,9 +12,9 @@ Index: common/webpreferences.cc
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
Index: common/webpreferences.h Index: common/webpreferences.h
=================================================================== ===================================================================
--- common/webpreferences.h (revision 275973) --- common/webpreferences.h (revision 280796)
+++ common/webpreferences.h (working copy) +++ common/webpreferences.h (working copy)
@@ -150,6 +150,7 @@ @@ -148,6 +148,7 @@
bool use_solid_color_scrollbars; bool use_solid_color_scrollbars;
bool compositor_touch_hit_testing; bool compositor_touch_hit_testing;
bool navigate_on_drag_drop; bool navigate_on_drag_drop;

View File

@ -1,8 +1,8 @@
Index: content_browser_client.cc Index: content_browser_client.cc
=================================================================== ===================================================================
--- content_browser_client.cc (revision 275973) --- content_browser_client.cc (revision 280796)
+++ content_browser_client.cc (working copy) +++ content_browser_client.cc (working copy)
@@ -252,6 +252,10 @@ @@ -280,6 +280,10 @@
return true; return true;
} }
@ -15,7 +15,7 @@ Index: content_browser_client.cc
} }
Index: content_browser_client.h Index: content_browser_client.h
=================================================================== ===================================================================
--- content_browser_client.h (revision 275973) --- content_browser_client.h (revision 280796)
+++ content_browser_client.h (working copy) +++ content_browser_client.h (working copy)
@@ -23,6 +23,7 @@ @@ -23,6 +23,7 @@
#include "net/cookies/canonical_cookie.h" #include "net/cookies/canonical_cookie.h"
@ -25,7 +25,7 @@ Index: content_browser_client.h
#include "third_party/WebKit/public/web/WebNotificationPresenter.h" #include "third_party/WebKit/public/web/WebNotificationPresenter.h"
#include "ui/base/window_open_disposition.h" #include "ui/base/window_open_disposition.h"
#include "webkit/browser/fileapi/file_system_context.h" #include "webkit/browser/fileapi/file_system_context.h"
@@ -533,6 +534,9 @@ @@ -538,6 +539,9 @@
// Clears browser cookies. // Clears browser cookies.
virtual void ClearCookies(RenderViewHost* rvh) {} virtual void ClearCookies(RenderViewHost* rvh) {}
@ -37,12 +37,12 @@ Index: content_browser_client.h
virtual base::FilePath GetDefaultDownloadDirectory(); virtual base::FilePath GetDefaultDownloadDirectory();
Index: web_contents.cc Index: web_contents.cc
=================================================================== ===================================================================
--- web_contents.cc (revision 275973) --- web_contents.cc (revision 280796)
+++ web_contents.cc (working copy) +++ web_contents.cc (working copy)
@@ -17,7 +17,9 @@ @@ -17,7 +17,9 @@
main_frame_routing_id(MSG_ROUTING_NONE), main_frame_routing_id(MSG_ROUTING_NONE),
initially_hidden(false), initially_hidden(false),
guest_instance_id(0), guest_delegate(NULL),
- context(NULL) {} - context(NULL) {}
+ context(NULL), + context(NULL),
+ view(NULL), + view(NULL),
@ -53,7 +53,7 @@ Index: web_contents.cc
@@ -29,7 +31,9 @@ @@ -29,7 +31,9 @@
main_frame_routing_id(MSG_ROUTING_NONE), main_frame_routing_id(MSG_ROUTING_NONE),
initially_hidden(false), initially_hidden(false),
guest_instance_id(0), guest_delegate(NULL),
- context(NULL) {} - context(NULL) {}
+ context(NULL), + context(NULL),
+ view(NULL), + view(NULL),
@ -63,9 +63,9 @@ Index: web_contents.cc
} }
Index: web_contents.h Index: web_contents.h
=================================================================== ===================================================================
--- web_contents.h (revision 275973) --- web_contents.h (revision 280796)
+++ web_contents.h (working copy) +++ web_contents.h (working copy)
@@ -50,9 +50,11 @@ @@ -51,9 +51,11 @@
class RenderFrameHost; class RenderFrameHost;
class RenderProcessHost; class RenderProcessHost;
class RenderViewHost; class RenderViewHost;
@ -77,7 +77,7 @@ Index: web_contents.h
struct CustomContextMenuContext; struct CustomContextMenuContext;
struct DropData; struct DropData;
struct RendererPreferences; struct RendererPreferences;
@@ -120,6 +122,10 @@ @@ -116,6 +118,10 @@
// Used to specify the location context which display the new view should // Used to specify the location context which display the new view should
// belong. This can be NULL if not needed. // belong. This can be NULL if not needed.
gfx::NativeView context; gfx::NativeView context;
@ -90,7 +90,7 @@ Index: web_contents.h
// Creates a new WebContents. // Creates a new WebContents.
Index: web_contents_delegate.cc Index: web_contents_delegate.cc
=================================================================== ===================================================================
--- web_contents_delegate.cc (revision 275973) --- web_contents_delegate.cc (revision 280796)
+++ web_contents_delegate.cc (working copy) +++ web_contents_delegate.cc (working copy)
@@ -136,7 +136,9 @@ @@ -136,7 +136,9 @@
const base::string16& frame_name, const base::string16& frame_name,
@ -105,7 +105,7 @@ Index: web_contents_delegate.cc
Index: web_contents_delegate.h Index: web_contents_delegate.h
=================================================================== ===================================================================
--- web_contents_delegate.h (revision 275973) --- web_contents_delegate.h (revision 280796)
+++ web_contents_delegate.h (working copy) +++ web_contents_delegate.h (working copy)
@@ -36,9 +36,11 @@ @@ -36,9 +36,11 @@
class JavaScriptDialogManager; class JavaScriptDialogManager;

View File

@ -1,8 +1,8 @@
Index: compositing_iosurface_layer_mac.mm Index: compositing_iosurface_layer_mac.mm
=================================================================== ===================================================================
--- compositing_iosurface_layer_mac.mm (revision 275973) --- compositing_iosurface_layer_mac.mm (revision 280796)
+++ compositing_iosurface_layer_mac.mm (working copy) +++ compositing_iosurface_layer_mac.mm (working copy)
@@ -188,7 +188,7 @@ @@ -191,7 +191,7 @@
TRACE_EVENT0("browser", "CompositingIOSurfaceLayer::drawInCGLContext"); TRACE_EVENT0("browser", "CompositingIOSurfaceLayer::drawInCGLContext");
if (!iosurface_->HasIOSurface() || context_->cgl_context() != glContext) { if (!iosurface_->HasIOSurface() || context_->cgl_context() != glContext) {
@ -13,7 +13,7 @@ Index: compositing_iosurface_layer_mac.mm
} }
Index: compositing_iosurface_mac.mm Index: compositing_iosurface_mac.mm
=================================================================== ===================================================================
--- compositing_iosurface_mac.mm (revision 275973) --- compositing_iosurface_mac.mm (revision 280796)
+++ compositing_iosurface_mac.mm (working copy) +++ compositing_iosurface_mac.mm (working copy)
@@ -350,7 +350,7 @@ @@ -350,7 +350,7 @@
glUseProgram(0); CHECK_AND_SAVE_GL_ERROR(); glUseProgram(0); CHECK_AND_SAVE_GL_ERROR();
@ -26,7 +26,7 @@ Index: compositing_iosurface_mac.mm
Index: compositing_iosurface_shader_programs_mac.cc Index: compositing_iosurface_shader_programs_mac.cc
=================================================================== ===================================================================
--- compositing_iosurface_shader_programs_mac.cc (revision 275973) --- compositing_iosurface_shader_programs_mac.cc (revision 280796)
+++ compositing_iosurface_shader_programs_mac.cc (working copy) +++ compositing_iosurface_shader_programs_mac.cc (working copy)
@@ -11,6 +11,8 @@ @@ -11,6 +11,8 @@
#include "base/debug/trace_event.h" #include "base/debug/trace_event.h"
@ -81,7 +81,7 @@ Index: compositing_iosurface_shader_programs_mac.cc
shader_programs_[which] = shader_programs_[which] =
Index: compositing_iosurface_shader_programs_mac.h Index: compositing_iosurface_shader_programs_mac.h
=================================================================== ===================================================================
--- compositing_iosurface_shader_programs_mac.h (revision 275973) --- compositing_iosurface_shader_programs_mac.h (revision 280796)
+++ compositing_iosurface_shader_programs_mac.h (working copy) +++ compositing_iosurface_shader_programs_mac.h (working copy)
@@ -48,6 +48,8 @@ @@ -48,6 +48,8 @@
return rgb_to_yv12_output_format_; return rgb_to_yv12_output_format_;
@ -94,9 +94,9 @@ Index: compositing_iosurface_shader_programs_mac.h
TransformsRGBToYV12); TransformsRGBToYV12);
Index: render_widget_host_view_aura.cc Index: render_widget_host_view_aura.cc
=================================================================== ===================================================================
--- render_widget_host_view_aura.cc (revision 275973) --- render_widget_host_view_aura.cc (revision 280796)
+++ render_widget_host_view_aura.cc (working copy) +++ render_widget_host_view_aura.cc (working copy)
@@ -1675,8 +1675,14 @@ @@ -1672,8 +1672,14 @@
// For non-opaque windows, we don't draw anything, since we depend on the // For non-opaque windows, we don't draw anything, since we depend on the
// canvas coming from the compositor to already be initialized as // canvas coming from the compositor to already be initialized as
// transparent. // transparent.
@ -115,14 +115,14 @@ Index: render_widget_host_view_aura.cc
void RenderWidgetHostViewAura::OnDeviceScaleFactorChanged( void RenderWidgetHostViewAura::OnDeviceScaleFactorChanged(
Index: render_widget_host_view_mac.mm Index: render_widget_host_view_mac.mm
=================================================================== ===================================================================
--- render_widget_host_view_mac.mm (revision 275973) --- render_widget_host_view_mac.mm (revision 280796)
+++ render_widget_host_view_mac.mm (working copy) +++ render_widget_host_view_mac.mm (working copy)
@@ -493,7 +493,7 @@ @@ -504,7 +504,7 @@
background_layer_.reset([[CALayer alloc] init]); background_layer_.reset([[CALayer alloc] init]);
[background_layer_ [background_layer_
- setBackgroundColor:CGColorGetConstantColor(kCGColorWhite)]; - setBackgroundColor:CGColorGetConstantColor(kCGColorWhite)];
+ setBackgroundColor:CGColorGetConstantColor(kCGColorClear)]; + setBackgroundColor:CGColorGetConstantColor(kCGColorClear)];
[background_layer_ setGeometryFlipped:YES];
[background_layer_ setContentsGravity:kCAGravityTopLeft];
[cocoa_view_ setLayer:background_layer_]; [cocoa_view_ setLayer:background_layer_];
[cocoa_view_ setWantsLayer:YES];

View File

@ -1,8 +1,8 @@
Index: core/frame/FrameView.cpp Index: core/frame/FrameView.cpp
=================================================================== ===================================================================
--- core/frame/FrameView.cpp (revision 175829) --- core/frame/FrameView.cpp (revision 177271)
+++ core/frame/FrameView.cpp (working copy) +++ core/frame/FrameView.cpp (working copy)
@@ -165,8 +165,10 @@ @@ -139,8 +139,10 @@
if (!m_frame->isMainFrame()) if (!m_frame->isMainFrame())
return; return;
@ -15,9 +15,9 @@ Index: core/frame/FrameView.cpp
PassRefPtr<FrameView> FrameView::create(LocalFrame* frame) PassRefPtr<FrameView> FrameView::create(LocalFrame* frame)
Index: platform/scroll/ScrollbarThemeMacCommon.mm Index: platform/scroll/ScrollbarThemeMacCommon.mm
=================================================================== ===================================================================
--- platform/scroll/ScrollbarThemeMacCommon.mm (revision 175829) --- platform/scroll/ScrollbarThemeMacCommon.mm (revision 177271)
+++ platform/scroll/ScrollbarThemeMacCommon.mm (working copy) +++ platform/scroll/ScrollbarThemeMacCommon.mm (working copy)
@@ -358,10 +358,14 @@ @@ -355,10 +355,14 @@
// static // static
bool ScrollbarThemeMacCommon::isOverlayAPIAvailable() bool ScrollbarThemeMacCommon::isOverlayAPIAvailable()
{ {

View File

@ -1,6 +1,6 @@
Index: underlay_opengl_hosting_window.h Index: underlay_opengl_hosting_window.h
=================================================================== ===================================================================
--- underlay_opengl_hosting_window.h (revision 275973) --- underlay_opengl_hosting_window.h (revision 280796)
+++ underlay_opengl_hosting_window.h (working copy) +++ underlay_opengl_hosting_window.h (working copy)
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
// Common base class for windows that host a OpenGL surface that renders under // Common base class for windows that host a OpenGL surface that renders under

View File

@ -1,6 +1,6 @@
Index: desktop_aura/desktop_screen_win.cc Index: desktop_aura/desktop_screen_win.cc
=================================================================== ===================================================================
--- desktop_aura/desktop_screen_win.cc (revision 275973) --- desktop_aura/desktop_screen_win.cc (revision 280796)
+++ desktop_aura/desktop_screen_win.cc (working copy) +++ desktop_aura/desktop_screen_win.cc (working copy)
@@ -54,6 +54,8 @@ @@ -54,6 +54,8 @@
} }
@ -13,7 +13,7 @@ Index: desktop_aura/desktop_screen_win.cc
} }
Index: desktop_aura/desktop_screen_x11.cc Index: desktop_aura/desktop_screen_x11.cc
=================================================================== ===================================================================
--- desktop_aura/desktop_screen_x11.cc (revision 275973) --- desktop_aura/desktop_screen_x11.cc (revision 280796)
+++ desktop_aura/desktop_screen_x11.cc (working copy) +++ desktop_aura/desktop_screen_x11.cc (working copy)
@@ -220,6 +220,9 @@ @@ -220,6 +220,9 @@
@ -27,7 +27,7 @@ Index: desktop_aura/desktop_screen_x11.cc
// You'd think we'd be able to just call window->GetBoundsInScreen(), but we // You'd think we'd be able to just call window->GetBoundsInScreen(), but we
Index: desktop_aura/desktop_window_tree_host_win.cc Index: desktop_aura/desktop_window_tree_host_win.cc
=================================================================== ===================================================================
--- desktop_aura/desktop_window_tree_host_win.cc (revision 275973) --- desktop_aura/desktop_window_tree_host_win.cc (revision 280796)
+++ desktop_aura/desktop_window_tree_host_win.cc (working copy) +++ desktop_aura/desktop_window_tree_host_win.cc (working copy)
@@ -129,7 +129,9 @@ @@ -129,7 +129,9 @@
native_widget_delegate_); native_widget_delegate_);
@ -58,7 +58,7 @@ Index: desktop_aura/desktop_window_tree_host_win.cc
input_method->OnBlur(); input_method->OnBlur();
Index: desktop_aura/desktop_window_tree_host_x11.cc Index: desktop_aura/desktop_window_tree_host_x11.cc
=================================================================== ===================================================================
--- desktop_aura/desktop_window_tree_host_x11.cc (revision 275973) --- desktop_aura/desktop_window_tree_host_x11.cc (revision 280796)
+++ desktop_aura/desktop_window_tree_host_x11.cc (working copy) +++ desktop_aura/desktop_window_tree_host_x11.cc (working copy)
@@ -148,7 +148,8 @@ @@ -148,7 +148,8 @@
window_parent_(NULL), window_parent_(NULL),
@ -70,7 +70,7 @@ Index: desktop_aura/desktop_window_tree_host_x11.cc
} }
DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() { DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() {
@@ -337,7 +338,8 @@ @@ -347,7 +348,8 @@
// Actually free our native resources. // Actually free our native resources.
if (ui::PlatformEventSource::GetInstance()) if (ui::PlatformEventSource::GetInstance())
ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this); ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
@ -80,7 +80,7 @@ Index: desktop_aura/desktop_window_tree_host_x11.cc
xwindow_ = None; xwindow_ = None;
desktop_native_widget_aura_->OnHostClosed(); desktop_native_widget_aura_->OnHostClosed();
@@ -1027,9 +1029,13 @@ @@ -1042,9 +1044,13 @@
} }
} }
@ -95,7 +95,7 @@ Index: desktop_aura/desktop_window_tree_host_x11.cc
bounds_.x(), bounds_.y(), bounds_.x(), bounds_.y(),
bounds_.width(), bounds_.height(), bounds_.width(), bounds_.height(),
0, // border width 0, // border width
@@ -1554,6 +1560,10 @@ @@ -1600,6 +1606,10 @@
} }
break; break;
} }
@ -108,9 +108,9 @@ Index: desktop_aura/desktop_window_tree_host_x11.cc
ReleaseCapture(); ReleaseCapture();
Index: desktop_aura/desktop_window_tree_host_x11.h Index: desktop_aura/desktop_window_tree_host_x11.h
=================================================================== ===================================================================
--- desktop_aura/desktop_window_tree_host_x11.h (revision 275973) --- desktop_aura/desktop_window_tree_host_x11.h (revision 280796)
+++ desktop_aura/desktop_window_tree_host_x11.h (working copy) +++ desktop_aura/desktop_window_tree_host_x11.h (working copy)
@@ -322,6 +322,9 @@ @@ -331,6 +331,9 @@
// the frame when |xwindow_| gains focus or handles a mouse button event. // the frame when |xwindow_| gains focus or handles a mouse button event.
bool urgency_hint_set_; bool urgency_hint_set_;
@ -122,7 +122,7 @@ Index: desktop_aura/desktop_window_tree_host_x11.h
Index: widget.cc Index: widget.cc
=================================================================== ===================================================================
--- widget.cc (revision 275973) --- widget.cc (revision 280796)
+++ widget.cc (working copy) +++ widget.cc (working copy)
@@ -116,6 +116,7 @@ @@ -116,6 +116,7 @@
show_state(ui::SHOW_STATE_DEFAULT), show_state(ui::SHOW_STATE_DEFAULT),
@ -149,7 +149,7 @@ Index: widget.cc
if (params.opacity == views::Widget::InitParams::INFER_OPACITY && if (params.opacity == views::Widget::InitParams::INFER_OPACITY &&
params.type != views::Widget::InitParams::TYPE_WINDOW && params.type != views::Widget::InitParams::TYPE_WINDOW &&
@@ -376,7 +378,12 @@ @@ -375,7 +377,12 @@
Minimize(); Minimize();
} else if (params.delegate) { } else if (params.delegate) {
SetContentsView(params.delegate->GetContentsView()); SetContentsView(params.delegate->GetContentsView());
@ -161,11 +161,11 @@ Index: widget.cc
+ SetInitialBoundsForFramelessWindow(params.bounds); + SetInitialBoundsForFramelessWindow(params.bounds);
+ } + }
} }
native_widget_initialized_ = true; // This must come after SetContentsView() or it might not be able to find
} // the correct NativeTheme (on Linux). See http://crbug.com/384492
Index: widget.h Index: widget.h
=================================================================== ===================================================================
--- widget.h (revision 275973) --- widget.h (revision 280796)
+++ widget.h (working copy) +++ widget.h (working copy)
@@ -222,6 +222,7 @@ @@ -222,6 +222,7 @@
// Should the widget be double buffered? Default is false. // Should the widget be double buffered? Default is false.

View File

@ -1,8 +1,8 @@
Index: WebNode.cpp Index: WebNode.cpp
=================================================================== ===================================================================
--- WebNode.cpp (revision 175829) --- WebNode.cpp (revision 177271)
+++ WebNode.cpp (working copy) +++ WebNode.cpp (working copy)
@@ -172,7 +172,7 @@ @@ -173,7 +173,7 @@
void WebNode::addEventListener(const WebString& eventType, WebDOMEventListener* listener, bool useCapture) void WebNode::addEventListener(const WebString& eventType, WebDOMEventListener* listener, bool useCapture)
{ {
// Please do not add more eventTypes to this list without an API review. // Please do not add more eventTypes to this list without an API review.

View File

@ -0,0 +1,32 @@
diff --git ThemeMac.mm ThemeMac.mm
index 4e702e1..927b2e8 100644
--- ThemeMac.mm
+++ ThemeMac.mm
@@ -472,7 +472,7 @@ static void paintButton(ControlPart part, ControlStates states, GraphicsContext*
[buttonCell drawWithFrame:NSRect(inflatedRect) inView:view];
#if !BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING
- if (states & FocusControlState)
+ if (states & FocusState)
[buttonCell _web_drawFocusRingWithFrame:NSRect(inflatedRect) inView:view];
#endif
[buttonCell setControlView:nil];
diff --git WebCoreNSCellExtras.h WebCoreNSCellExtras.h
index 8623826..b9f683d 100644
--- WebCoreNSCellExtras.h
+++ WebCoreNSCellExtras.h
@@ -26,12 +26,12 @@
#import <AppKit/AppKit.h>
#include "platform/PlatformExport.h"
-#define BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING (!defined(MAC_OS_X_VERSION_10_7) || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7)
+#define BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING 1
#if !BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING
// FIXME: Might want to use this on Mac once we only support OS X 10.8+
-@interface NSCell (WebCoreFocusRingDrawing)
+PLATFORM_EXPORT @interface NSCell (WebCoreFocusRingDrawing)
- (void)_web_drawFocusRingWithFrame:(NSRect)cellFrame inView:(NSView *)controlView;
@end

View File

@ -1,6 +1,6 @@
Index: public/web/WebView.h Index: public/web/WebView.h
=================================================================== ===================================================================
--- public/web/WebView.h (revision 175829) --- public/web/WebView.h (revision 177271)
+++ public/web/WebView.h (working copy) +++ public/web/WebView.h (working copy)
@@ -416,6 +416,7 @@ @@ -416,6 +416,7 @@
@ -12,9 +12,9 @@ Index: public/web/WebView.h
virtual void hidePopups() = 0; virtual void hidePopups() = 0;
Index: Source/web/ChromeClientImpl.cpp Index: Source/web/ChromeClientImpl.cpp
=================================================================== ===================================================================
--- Source/web/ChromeClientImpl.cpp (revision 175829) --- Source/web/ChromeClientImpl.cpp (revision 177271)
+++ Source/web/ChromeClientImpl.cpp (working copy) +++ Source/web/ChromeClientImpl.cpp (working copy)
@@ -729,7 +729,7 @@ @@ -717,7 +717,7 @@
PassRefPtr<PopupMenu> ChromeClientImpl::createPopupMenu(LocalFrame& frame, PopupMenuClient* client) const PassRefPtr<PopupMenu> ChromeClientImpl::createPopupMenu(LocalFrame& frame, PopupMenuClient* client) const
{ {
@ -25,9 +25,9 @@ Index: Source/web/ChromeClientImpl.cpp
return adoptRef(new PopupMenuChromium(frame, client)); return adoptRef(new PopupMenuChromium(frame, client));
Index: Source/web/WebViewImpl.cpp Index: Source/web/WebViewImpl.cpp
=================================================================== ===================================================================
--- Source/web/WebViewImpl.cpp (revision 175829) --- Source/web/WebViewImpl.cpp (revision 177271)
+++ Source/web/WebViewImpl.cpp (working copy) +++ Source/web/WebViewImpl.cpp (working copy)
@@ -365,6 +365,7 @@ @@ -369,6 +369,7 @@
, m_fakePageScaleAnimationPageScaleFactor(0) , m_fakePageScaleAnimationPageScaleFactor(0)
, m_fakePageScaleAnimationUseAnchor(false) , m_fakePageScaleAnimationUseAnchor(false)
, m_contextMenuAllowed(false) , m_contextMenuAllowed(false)
@ -35,8 +35,8 @@ Index: Source/web/WebViewImpl.cpp
, m_doingDragAndDrop(false) , m_doingDragAndDrop(false)
, m_ignoreInputEvents(false) , m_ignoreInputEvents(false)
, m_compositorDeviceScaleFactorOverride(0) , m_compositorDeviceScaleFactorOverride(0)
@@ -3628,9 +3629,14 @@ @@ -3679,9 +3680,14 @@
updateLayerTreeViewport(); m_page->inspectorController().deviceOrPageScaleFactorChanged();
} }
+void WebViewImpl::setUseExternalPopupMenusThisInstance(bool useExternalPopupMenus) +void WebViewImpl::setUseExternalPopupMenusThisInstance(bool useExternalPopupMenus)
@ -53,9 +53,9 @@ Index: Source/web/WebViewImpl.cpp
void WebViewImpl::startDragging(LocalFrame* frame, void WebViewImpl::startDragging(LocalFrame* frame,
Index: Source/web/WebViewImpl.h Index: Source/web/WebViewImpl.h
=================================================================== ===================================================================
--- Source/web/WebViewImpl.h (revision 175829) --- Source/web/WebViewImpl.h (revision 177271)
+++ Source/web/WebViewImpl.h (working copy) +++ Source/web/WebViewImpl.h (working copy)
@@ -352,7 +352,8 @@ @@ -353,7 +353,8 @@
// Returns true if popup menus should be rendered by the browser, false if // Returns true if popup menus should be rendered by the browser, false if
// they should be rendered by WebKit (which is the default). // they should be rendered by WebKit (which is the default).
@ -65,7 +65,7 @@ Index: Source/web/WebViewImpl.h
bool contextMenuAllowed() const bool contextMenuAllowed() const
{ {
@@ -628,6 +629,8 @@ @@ -625,6 +626,8 @@
bool m_contextMenuAllowed; bool m_contextMenuAllowed;

View File

@ -1,16 +0,0 @@
Index: Vector.h
===================================================================
--- Vector.h (revision 175829)
+++ Vector.h (working copy)
@@ -224,7 +224,10 @@
{
static bool compare(const T* a, const T* b, size_t size)
{
- return std::equal(a, a + size, b);
+ for (size_t i = 0; i < size; ++i)
+ if (!(a[i] == b[i]))
+ return false;
+ return true;
}
};

View File

@ -1,6 +1,6 @@
Index: contrib/minizip/unzip.c Index: contrib/minizip/unzip.c
=================================================================== ===================================================================
--- contrib/minizip/unzip.c (revision 275973) --- contrib/minizip/unzip.c (revision 280796)
+++ contrib/minizip/unzip.c (working copy) +++ contrib/minizip/unzip.c (working copy)
@@ -69,7 +69,7 @@ @@ -69,7 +69,7 @@
#include <string.h> #include <string.h>

View File

@ -250,13 +250,14 @@ bool ClientHandler::OnDragEnter(CefRefPtr<CefBrowser> browser,
return false; return false;
} }
void ClientHandler::OnRequestGeolocationPermission( bool ClientHandler::OnRequestGeolocationPermission(
CefRefPtr<CefBrowser> browser, CefRefPtr<CefBrowser> browser,
const CefString& requesting_url, const CefString& requesting_url,
int request_id, int request_id,
CefRefPtr<CefGeolocationCallback> callback) { CefRefPtr<CefGeolocationCallback> callback) {
// Allow geolocation access from all websites. // Allow geolocation access from all websites.
callback->Continue(true); callback->Continue(true);
return true;
} }
bool ClientHandler::OnPreKeyEvent(CefRefPtr<CefBrowser> browser, bool ClientHandler::OnPreKeyEvent(CefRefPtr<CefBrowser> browser,

View File

@ -125,7 +125,7 @@ class ClientHandler : public CefClient,
CefDragHandler::DragOperationsMask mask) OVERRIDE; CefDragHandler::DragOperationsMask mask) OVERRIDE;
// CefGeolocationHandler methods // CefGeolocationHandler methods
virtual void OnRequestGeolocationPermission( virtual bool OnRequestGeolocationPermission(
CefRefPtr<CefBrowser> browser, CefRefPtr<CefBrowser> browser,
const CefString& requesting_url, const CefString& requesting_url,
int request_id, int request_id,

View File

@ -78,7 +78,7 @@ class GeolocationTestHandler : public TestHandler {
callback->Continue(false); callback->Continue(false);
} }
virtual void OnRequestGeolocationPermission( virtual bool OnRequestGeolocationPermission(
CefRefPtr<CefBrowser> browser, CefRefPtr<CefBrowser> browser,
const CefString& requesting_url, const CefString& requesting_url,
int request_id, int request_id,
@ -97,6 +97,8 @@ class GeolocationTestHandler : public TestHandler {
NewCefRunnableMethod(this, &GeolocationTestHandler::ExecuteCallback, NewCefRunnableMethod(this, &GeolocationTestHandler::ExecuteCallback,
callback)); callback));
} }
return true;
} }
virtual void OnCancelGeolocationPermission( virtual void OnCancelGeolocationPermission(

View File

@ -154,7 +154,6 @@
# Add libraries and helper app. # Add libraries and helper app.
'destination': '<(PRODUCT_DIR)/cefclient.app/Contents/Frameworks', 'destination': '<(PRODUCT_DIR)/cefclient.app/Contents/Frameworks',
'files': [ 'files': [
'$(CONFIGURATION)/libplugin_carbon_interpose.dylib',
'<(PRODUCT_DIR)/cefclient Helper.app', '<(PRODUCT_DIR)/cefclient Helper.app',
], ],
}, },
@ -375,7 +374,6 @@
# Add libraries and helper app. # Add libraries and helper app.
'destination': '<(PRODUCT_DIR)/cefsimple.app/Contents/Frameworks', 'destination': '<(PRODUCT_DIR)/cefsimple.app/Contents/Frameworks',
'files': [ 'files': [
'$(CONFIGURATION)/libplugin_carbon_interpose.dylib',
'<(PRODUCT_DIR)/cefsimple Helper.app', '<(PRODUCT_DIR)/cefsimple Helper.app',
], ],
}, },

View File

@ -22,7 +22,6 @@ cefclient.app/
icudtl.dat <= unicode support icudtl.dat <= unicode support
en.lproj/, ... <= locale-specific resources and strings en.lproj/, ... <= locale-specific resources and strings
Info.plist Info.plist
libplugin_carbon_interpose.dylib <= plugin support library
cefclient Helper.app/ cefclient Helper.app/
Contents/ Contents/
Info.plist Info.plist
@ -72,9 +71,6 @@ Required components:
* Unicode support * Unicode support
Chromium Embedded Framework.framework/Resources/icudtl.dat Chromium Embedded Framework.framework/Resources/icudtl.dat
* Plugin support library
libplugin_carbon_interpose.dylib
Optional components: Optional components:
* Localized resources * Localized resources

View File

@ -655,7 +655,6 @@ elif platform == 'macosx':
make_dir(dst_dir, options.quiet) make_dir(dst_dir, options.quiet)
copy_dir(os.path.join(build_dir, 'cefclient.app/Contents/Frameworks/%s.framework' % framework_name), \ copy_dir(os.path.join(build_dir, 'cefclient.app/Contents/Frameworks/%s.framework' % framework_name), \
os.path.join(dst_dir, '%s.framework' % framework_name), options.quiet) os.path.join(dst_dir, '%s.framework' % framework_name), options.quiet)
copy_file(os.path.join(build_dir, 'libplugin_carbon_interpose.dylib'), dst_dir, options.quiet)
# transfer Release files # transfer Release files
build_dir = os.path.join(out_dir, 'Release') build_dir = os.path.join(out_dir, 'Release')
@ -666,7 +665,6 @@ elif platform == 'macosx':
if mode != 'client': if mode != 'client':
copy_dir(os.path.join(build_dir, 'cefclient.app/Contents/Frameworks/%s.framework' % framework_name), \ copy_dir(os.path.join(build_dir, 'cefclient.app/Contents/Frameworks/%s.framework' % framework_name), \
os.path.join(dst_dir, '%s.framework' % framework_name), options.quiet) os.path.join(dst_dir, '%s.framework' % framework_name), options.quiet)
copy_file(os.path.join(build_dir, 'libplugin_carbon_interpose.dylib'), dst_dir, options.quiet)
else: else:
copy_dir(os.path.join(build_dir, 'cefclient.app'), os.path.join(dst_dir, 'cefclient.app'), options.quiet) copy_dir(os.path.join(build_dir, 'cefclient.app'), os.path.join(dst_dir, 'cefclient.app'), options.quiet)