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_revision': '275973',
'chromium_checkout': '9e96d7351ccb48be8548f7aec7b751b822c7d97c',
'chromium_revision': '280796',
'chromium_checkout': 'e800fe7470fa87dc1ca5b148a7c2c41f603fdcbd',
}

80
cef.gyp
View File

@ -103,7 +103,6 @@
'dependencies': [
'cef_framework',
'cefclient_helper_app',
'interpose_dependency_shim',
],
'variables': {
'PRODUCT_NAME': 'cefclient',
@ -114,7 +113,6 @@
'destination': '<(PRODUCT_DIR)/<(PRODUCT_NAME).app/Contents/Frameworks',
'files': [
'<(PRODUCT_DIR)/<(PRODUCT_NAME) Helper.app',
'<(PRODUCT_DIR)/libplugin_carbon_interpose.dylib',
],
},
],
@ -286,7 +284,6 @@
'dependencies': [
'cef_framework',
'cefsimple_helper_app',
'interpose_dependency_shim',
],
'variables': {
'PRODUCT_NAME': 'cefsimple',
@ -297,7 +294,6 @@
'destination': '<(PRODUCT_DIR)/<(PRODUCT_NAME).app/Contents/Frameworks',
'files': [
'<(PRODUCT_DIR)/<(PRODUCT_NAME) Helper.app',
'<(PRODUCT_DIR)/libplugin_carbon_interpose.dylib',
],
},
],
@ -1172,82 +1168,6 @@
}],
['OS=="mac"', {
'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',
'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.
// |requesting_url| is the URL requesting permission and |request_id| is the
// unique ID for the permission request. Call
// cef_geolocation_callback_t::Continue to allow or deny the permission
// request.
// unique ID for the permission request. Return true (1) and call
// cef_geolocation_callback_t::cont() either in this function or at a later
// 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,
const cef_string_t* requesting_url, int request_id,
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.
// |requesting_url| is the URL requesting permission and |request_id| is the
// unique ID for the permission request. Call CefGeolocationCallback::Continue
// to allow or deny the permission request.
// unique ID for the permission request. Return true and call
// 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()--*/
virtual void OnRequestGeolocationPermission(
virtual bool OnRequestGeolocationPermission(
CefRefPtr<CefBrowser> browser,
const CefString& requesting_url,
int request_id,
CefRefPtr<CefGeolocationCallback> callback) {
return false;
}
///

View File

@ -79,15 +79,15 @@
// method in the parent class.
// Use like:
// virtual void foo() OVERRIDE;
#ifndef OVERRIDE
#if defined(COMPILER_MSVC)
#if defined(__clang__) || defined(COMPILER_MSVC)
#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
#else
#define OVERRIDE
#endif
#endif
#ifndef ALLOW_THIS_IN_INITIALIZER_LIST
#if defined(COMPILER_MSVC)

View File

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

View File

@ -17,142 +17,11 @@
#include "base/threading/thread.h"
#include "content/public/browser/download_manager.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/storage_partition.h"
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 {
public:
CefResourceContext() : getter_(NULL) {}
@ -246,50 +115,10 @@ net::URLRequestContextGetter*
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() {
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() {
return NULL;
}
@ -298,6 +127,11 @@ quota::SpecialStoragePolicy* CefBrowserContextImpl::GetSpecialStoragePolicy() {
return NULL;
}
content::PushMessagingService*
CefBrowserContextImpl::GetPushMessagingService() {
return NULL;
}
net::URLRequestContextGetter* CefBrowserContextImpl::CreateRequestContext(
content::ProtocolHandlerMap* protocol_handlers,
content::URLRequestInterceptorScopedVector request_interceptors) {

View File

@ -39,32 +39,10 @@ class CefBrowserContextImpl : public CefBrowserContext {
GetMediaRequestContextForStoragePartition(
const base::FilePath& partition_path,
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::GeolocationPermissionContext*
GetGeolocationPermissionContext() OVERRIDE;
virtual content::BrowserPluginGuestManager* GetGuestManager() OVERRIDE;
virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE;
virtual content::PushMessagingService* GetPushMessagingService() OVERRIDE;
// CefBrowserContext methods.
virtual net::URLRequestContextGetter* CreateRequestContext(
@ -84,8 +62,6 @@ class CefBrowserContextImpl : public CefBrowserContext {
scoped_ptr<CefResourceContext> resource_context_;
scoped_ptr<CefDownloadManagerDelegate> download_manager_delegate_;
scoped_refptr<CefURLRequestContextGetter> url_request_getter_;
scoped_refptr<content::GeolocationPermissionContext>
geolocation_permission_context_;
DISALLOW_COPY_AND_ASSIGN(CefBrowserContextImpl);
};

View File

@ -112,54 +112,24 @@ net::URLRequestContextGetter*
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() {
return resource_context_.get();
}
content::GeolocationPermissionContext*
CefBrowserContextProxy::GetGeolocationPermissionContext() {
return parent_->GetGeolocationPermissionContext();
}
content::BrowserPluginGuestManager* CefBrowserContextProxy::GetGuestManager() {
return parent_->GetGuestManager();
}
quota::SpecialStoragePolicy* CefBrowserContextProxy::GetSpecialStoragePolicy() {
quota::SpecialStoragePolicy*
CefBrowserContextProxy::GetSpecialStoragePolicy() {
return parent_->GetSpecialStoragePolicy();
}
content::PushMessagingService*
CefBrowserContextProxy::GetPushMessagingService() {
return parent_->GetPushMessagingService();
}
net::URLRequestContextGetter* CefBrowserContextProxy::CreateRequestContext(
content::ProtocolHandlerMap* protocol_handlers,
content::URLRequestInterceptorScopedVector request_interceptors) {

View File

@ -47,32 +47,10 @@ class CefBrowserContextProxy : public CefBrowserContext {
GetMediaRequestContextForStoragePartition(
const base::FilePath& partition_path,
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::GeolocationPermissionContext*
GetGeolocationPermissionContext() OVERRIDE;
virtual content::BrowserPluginGuestManager* GetGuestManager() OVERRIDE;
virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE;
virtual content::PushMessagingService* GetPushMessagingService() OVERRIDE;
// CefBrowserContext methods.
virtual net::URLRequestContextGetter* CreateRequestContext(

View File

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

View File

@ -21,6 +21,7 @@
#include "libcef/common/response_manager.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/strings/string16.h"
#include "base/synchronization/lock.h"
#include "content/public/browser/notification_observer.h"
@ -325,6 +326,11 @@ class CefBrowserHostImpl : public CefBrowserHost,
};
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:
class DevToolsWebContentsObserver;
@ -414,20 +420,16 @@ class CefBrowserHostImpl : public CefBrowserHost,
virtual void RenderViewReady() OVERRIDE;
virtual void RenderProcessGone(base::TerminationStatus status) OVERRIDE;
virtual void DidCommitProvisionalLoadForFrame(
int64 frame_id,
const base::string16& frame_unique_name,
content::RenderFrameHost* render_frame_host,
bool is_main_frame,
const GURL& url,
content::PageTransition transition_type,
content::RenderViewHost* render_view_host) OVERRIDE;
content::PageTransition transition_type) OVERRIDE;
virtual void DidFailProvisionalLoad(
int64 frame_id,
const base::string16& frame_unique_name,
content::RenderFrameHost* render_frame_host,
bool is_main_frame,
const GURL& validated_url,
int error_code,
const base::string16& error_description,
content::RenderViewHost* render_view_host) OVERRIDE;
const base::string16& error_description) OVERRIDE;
virtual void DocumentAvailableInMainFrame() OVERRIDE;
virtual void DidFailLoad(int64 frame_id,
const GURL& validated_url,
@ -652,6 +654,10 @@ class CefBrowserHostImpl : public CefBrowserHost,
scoped_ptr<ui::XScopedCursor> invisible_cursor_;
#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);
DISALLOW_EVIL_CONSTRUCTORS(CefBrowserHostImpl);
};

View File

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

View File

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

View File

@ -48,7 +48,6 @@
#if defined(OS_POSIX) && !defined(OS_MACOSX)
#include "base/debug/leak_annotations.h"
#include "base/platform_file.h"
#include "components/breakpad/app/breakpad_linux.h"
#include "components/breakpad/browser/crash_handler_host_linux.h"
#include "content/public/common/content_descriptors.h"
@ -84,6 +83,7 @@ class CefQuotaCallbackImpl : public CefQuotaCallback {
const content::QuotaPermissionContext::PermissionCallback& callback)
: callback_(callback) {
}
~CefQuotaCallbackImpl() {
if (!callback_.is_null()) {
// The callback is still pending. Cancel it now.
@ -142,8 +142,11 @@ class CefQuotaCallbackImpl : public CefQuotaCallback {
class CefAllowCertificateErrorCallbackImpl
: public CefAllowCertificateErrorCallback {
public:
explicit CefAllowCertificateErrorCallbackImpl(
const base::Callback<void(bool)>& callback) : callback_(callback) {
typedef base::Callback<void(bool)> // NOLINT(readability/function)
CallbackType;
explicit CefAllowCertificateErrorCallbackImpl(const CallbackType& callback)
: callback_(callback) {
}
virtual void Continue(bool allow) OVERRIDE {
@ -164,12 +167,65 @@ class CefAllowCertificateErrorCallbackImpl
}
private:
base::Callback<void(bool)> callback_;
CallbackType callback_;
IMPLEMENT_REFCOUNTING(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 {
public:
CefQuotaPermissionContext() {
@ -727,6 +783,50 @@ content::AccessTokenStore* CefContentBrowserClient::CreateAccessTokenStore() {
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(
const GURL& opener_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,
content::CertificateRequestResultType* result) 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,
const GURL& opener_top_level_frame_url,
const GURL& source_origin,

View File

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

View File

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

View File

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

View File

@ -10,7 +10,7 @@
#include "libcef/browser/browser_host_impl.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)
#define UNUSED(x) ((void)(x)) /* to avoid warnings */
@ -56,10 +56,8 @@ bool CefRenderWidgetHostViewOSR::IsSpeaking() const {
void CefRenderWidgetHostViewOSR::StopSpeaking() {
}
void CefRenderWidgetHostViewOSR::TextInputTypeChanged(
ui::TextInputType type,
ui::TextInputMode mode,
bool can_compose_inline) {
void CefRenderWidgetHostViewOSR::TextInputStateChanged(
const ViewHostMsg_TextInputState_Params& params) {
[NSApp updateWindows];
}
@ -262,9 +260,8 @@ void CefRenderWidgetHostViewOSR::PlatformCreateCompositorWidget() {
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];
BrowserCompositorViewMac* view =
[[BrowserCompositorViewMac alloc] initWithSuperview:[window_ contentView]
withClient:NULL];
BrowserCompositorViewCocoa* view = [[BrowserCompositorViewCocoa alloc] init];
[window_ setContentView:view];
compositor_.reset([view compositor]);
DCHECK(compositor_);
compositor_widget_ = view;
@ -273,7 +270,7 @@ void CefRenderWidgetHostViewOSR::PlatformCreateCompositorWidget() {
void CefRenderWidgetHostViewOSR::PlatformDestroyCompositorWidget() {
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();
UNUSED(compositor);

View File

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

View File

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

View File

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

View File

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

View File

@ -22,9 +22,6 @@ namespace {
CefContentClient* g_content_client = NULL;
const char kInterposeLibraryPath[] =
"@executable_path/../../../libplugin_carbon_interpose.dylib";
} // namespace
CefContentClient::CefContentClient(CefRefPtr<CefApp> application)
@ -112,12 +109,6 @@ gfx::Image& CefContentClient::GetNativeImageNamed(int resource_id) const {
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) {
DCHECK(!scheme_info_list_locked_);
scheme_info_list_.push_back(scheme_info);

View File

@ -36,10 +36,6 @@ class CefContentClient : public content::ContentClient,
ui::ScaleFactor scale_factor) 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 {
std::string scheme_name;
bool is_standard;

View File

@ -235,9 +235,6 @@ bool CefMainDelegate::BasicStartupComplete(int* exit_code) {
case LOGSEVERITY_ERROR:
log_severity = switches::kLogSeverity_Error;
break;
case LOGSEVERITY_ERROR_REPORT:
log_severity = switches::kLogSeverity_ErrorReport;
break;
case LOGSEVERITY_DISABLE:
log_severity = switches::kLogSeverity_Disable;
break;
@ -328,9 +325,6 @@ bool CefMainDelegate::BasicStartupComplete(int* exit_code) {
} else if (LowerCaseEqualsASCII(log_severity_str,
switches::kLogSeverity_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,
switches::kLogSeverity_Disable)) {
log_severity = LOGSEVERITY_DISABLE;

View File

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

View File

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

View File

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

View File

@ -17,7 +17,7 @@
// 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,
const cef_string_t* requesting_url, int request_id,
cef_geolocation_callback_t* callback) {
@ -25,26 +25,30 @@ void CEF_CALLBACK geolocation_handler_on_request_geolocation_permission(
DCHECK(self);
if (!self)
return;
return 0;
// Verify param: browser; type: refptr_diff
DCHECK(browser);
if (!browser)
return;
return 0;
// Verify param: requesting_url; type: string_byref_const
DCHECK(requesting_url);
if (!requesting_url)
return;
return 0;
// Verify param: callback; type: refptr_diff
DCHECK(callback);
if (!callback)
return;
return 0;
// Execute
CefGeolocationHandlerCppToC::Get(self)->OnRequestGeolocationPermission(
bool _retval = CefGeolocationHandlerCppToC::Get(
self)->OnRequestGeolocationPermission(
CefBrowserCToCpp::Wrap(browser),
CefString(requesting_url),
request_id,
CefGeolocationCallbackCToCpp::Wrap(callback));
// Return type: bool
return _retval;
}
void CEF_CALLBACK geolocation_handler_on_cancel_geolocation_permission(

View File

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

View File

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

View File

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

View File

@ -1,8 +1,8 @@
Index: web_contents_impl.cc
===================================================================
--- web_contents_impl.cc (revision 275973)
--- web_contents_impl.cc (revision 280796)
+++ web_contents_impl.cc (working copy)
@@ -1059,22 +1059,29 @@
@@ -1073,22 +1073,29 @@
params.browser_context, params.site_instance, params.routing_id,
params.main_frame_routing_id);
@ -46,7 +46,7 @@ Index: web_contents_impl.cc
}
CHECK(render_view_host_delegate_view_);
CHECK(view_.get());
@@ -1381,6 +1388,9 @@
@@ -1407,6 +1414,9 @@
static_cast<SessionStorageNamespaceImpl*>(session_storage_namespace);
CHECK(session_storage_namespace_impl->IsFromContext(dom_storage_context));
@ -56,7 +56,7 @@ Index: web_contents_impl.cc
if (delegate_ &&
!delegate_->ShouldCreateWebContents(this,
route_id,
@@ -1388,7 +1398,9 @@
@@ -1414,7 +1424,9 @@
params.frame_name,
params.target_url,
partition_id,
@ -67,7 +67,7 @@ Index: web_contents_impl.cc
if (route_id != MSG_ROUTING_NONE &&
!RenderViewHost::FromID(render_process_id, route_id)) {
// 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.opener = this;
create_params.opener_suppressed = params.opener_suppressed;

View File

@ -1,6 +1,6 @@
Index: mac/strip_save_dsym
===================================================================
--- mac/strip_save_dsym (revision 275973)
--- mac/strip_save_dsym (revision 280796)
+++ mac/strip_save_dsym (working copy)
@@ -48,7 +48,7 @@
"bundle"]
@ -13,9 +13,9 @@ Index: mac/strip_save_dsym
archs = []
Index: gyp_chromium
===================================================================
--- gyp_chromium (revision 275973)
--- gyp_chromium (revision 280796)
+++ gyp_chromium (working copy)
@@ -251,12 +251,6 @@
@@ -257,12 +257,6 @@
if sys.platform not in ('darwin',):
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.
Index: common.gypi
===================================================================
--- common.gypi (revision 275973)
--- common.gypi (revision 280796)
+++ common.gypi (working copy)
@@ -9,6 +9,9 @@
# 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
# weird. This is done so that 'host_arch', 'chromeos', etc are defined as
# variables within the outer variables dict here. This is necessary
@@ -5058,6 +5061,9 @@
@@ -5175,6 +5178,9 @@
# removed as code is fixed.
4100, 4121, 4125, 4127, 4130, 4131, 4189, 4201, 4238, 4244, 4245,
4310, 4428, 4481, 4505, 4510, 4512, 4530, 4610, 4611, 4701, 4706,

View File

@ -1,6 +1,6 @@
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)
@@ -92,7 +92,6 @@
return false;
@ -20,7 +20,7 @@ Index: public/renderer/content_renderer_client.cc
const GURL& url,
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)
@@ -176,7 +176,6 @@
// 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
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)
@@ -3143,7 +3143,6 @@
@@ -3122,7 +3122,6 @@
WebNavigationType type,
WebNavigationPolicy default_policy,
bool is_redirect) {
@ -50,7 +50,7 @@ Index: renderer/render_frame_impl.cc
// The handlenavigation API is deprecated and will be removed once
// crbug.com/325351 is resolved.
if (request.url() != GURL(kSwappedOutURL) &&
@@ -3158,7 +3157,6 @@
@@ -3137,7 +3136,6 @@
is_redirect)) {
return blink::WebNavigationPolicyIgnore;
}

View File

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

View File

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

View File

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

View File

@ -1,8 +1,8 @@
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)
@@ -177,6 +177,7 @@
@@ -175,6 +175,7 @@
IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale)
IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled)
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)
Index: renderer/web_preferences.cc
===================================================================
--- renderer/web_preferences.cc (revision 275973)
--- renderer/web_preferences.cc (revision 280796)
+++ renderer/web_preferences.cc (working copy)
@@ -167,6 +167,8 @@

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
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)
@@ -12,7 +12,7 @@
// 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
===================================================================
--- desktop_aura/desktop_screen_win.cc (revision 275973)
--- desktop_aura/desktop_screen_win.cc (revision 280796)
+++ desktop_aura/desktop_screen_win.cc (working copy)
@@ -54,6 +54,8 @@
}
@ -13,7 +13,7 @@ Index: desktop_aura/desktop_screen_win.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)
@@ -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
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)
@@ -129,7 +129,9 @@
native_widget_delegate_);
@ -58,7 +58,7 @@ Index: desktop_aura/desktop_window_tree_host_win.cc
input_method->OnBlur();
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)
@@ -148,7 +148,8 @@
window_parent_(NULL),
@ -70,7 +70,7 @@ Index: desktop_aura/desktop_window_tree_host_x11.cc
}
DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() {
@@ -337,7 +338,8 @@
@@ -347,7 +348,8 @@
// Actually free our native resources.
if (ui::PlatformEventSource::GetInstance())
ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
@ -80,7 +80,7 @@ Index: desktop_aura/desktop_window_tree_host_x11.cc
xwindow_ = None;
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_.width(), bounds_.height(),
0, // border width
@@ -1554,6 +1560,10 @@
@@ -1600,6 +1606,10 @@
}
break;
}
@ -108,9 +108,9 @@ Index: desktop_aura/desktop_window_tree_host_x11.cc
ReleaseCapture();
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)
@@ -322,6 +322,9 @@
@@ -331,6 +331,9 @@
// the frame when |xwindow_| gains focus or handles a mouse button event.
bool urgency_hint_set_;
@ -122,7 +122,7 @@ Index: desktop_aura/desktop_window_tree_host_x11.h
Index: widget.cc
===================================================================
--- widget.cc (revision 275973)
--- widget.cc (revision 280796)
+++ widget.cc (working copy)
@@ -116,6 +116,7 @@
show_state(ui::SHOW_STATE_DEFAULT),
@ -149,7 +149,7 @@ Index: widget.cc
if (params.opacity == views::Widget::InitParams::INFER_OPACITY &&
params.type != views::Widget::InitParams::TYPE_WINDOW &&
@@ -376,7 +378,12 @@
@@ -375,7 +377,12 @@
Minimize();
} else if (params.delegate) {
SetContentsView(params.delegate->GetContentsView());
@ -161,11 +161,11 @@ Index: widget.cc
+ 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
===================================================================
--- widget.h (revision 275973)
--- widget.h (revision 280796)
+++ widget.h (working copy)
@@ -222,6 +222,7 @@
// Should the widget be double buffered? Default is false.

View File

@ -1,8 +1,8 @@
Index: WebNode.cpp
===================================================================
--- WebNode.cpp (revision 175829)
--- WebNode.cpp (revision 177271)
+++ WebNode.cpp (working copy)
@@ -172,7 +172,7 @@
@@ -173,7 +173,7 @@
void WebNode::addEventListener(const WebString& eventType, WebDOMEventListener* listener, bool useCapture)
{
// 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
===================================================================
--- public/web/WebView.h (revision 175829)
--- public/web/WebView.h (revision 177271)
+++ public/web/WebView.h (working copy)
@@ -416,6 +416,7 @@
@ -12,9 +12,9 @@ Index: public/web/WebView.h
virtual void hidePopups() = 0;
Index: Source/web/ChromeClientImpl.cpp
===================================================================
--- Source/web/ChromeClientImpl.cpp (revision 175829)
--- Source/web/ChromeClientImpl.cpp (revision 177271)
+++ Source/web/ChromeClientImpl.cpp (working copy)
@@ -729,7 +729,7 @@
@@ -717,7 +717,7 @@
PassRefPtr<PopupMenu> ChromeClientImpl::createPopupMenu(LocalFrame& frame, PopupMenuClient* client) const
{
@ -25,9 +25,9 @@ Index: Source/web/ChromeClientImpl.cpp
return adoptRef(new PopupMenuChromium(frame, client));
Index: Source/web/WebViewImpl.cpp
===================================================================
--- Source/web/WebViewImpl.cpp (revision 175829)
--- Source/web/WebViewImpl.cpp (revision 177271)
+++ Source/web/WebViewImpl.cpp (working copy)
@@ -365,6 +365,7 @@
@@ -369,6 +369,7 @@
, m_fakePageScaleAnimationPageScaleFactor(0)
, m_fakePageScaleAnimationUseAnchor(false)
, m_contextMenuAllowed(false)
@ -35,8 +35,8 @@ Index: Source/web/WebViewImpl.cpp
, m_doingDragAndDrop(false)
, m_ignoreInputEvents(false)
, m_compositorDeviceScaleFactorOverride(0)
@@ -3628,9 +3629,14 @@
updateLayerTreeViewport();
@@ -3679,9 +3680,14 @@
m_page->inspectorController().deviceOrPageScaleFactorChanged();
}
+void WebViewImpl::setUseExternalPopupMenusThisInstance(bool useExternalPopupMenus)
@ -53,9 +53,9 @@ Index: Source/web/WebViewImpl.cpp
void WebViewImpl::startDragging(LocalFrame* frame,
Index: Source/web/WebViewImpl.h
===================================================================
--- Source/web/WebViewImpl.h (revision 175829)
--- Source/web/WebViewImpl.h (revision 177271)
+++ 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
// they should be rendered by WebKit (which is the default).
@ -65,7 +65,7 @@ Index: Source/web/WebViewImpl.h
bool contextMenuAllowed() const
{
@@ -628,6 +629,8 @@
@@ -625,6 +626,8 @@
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
===================================================================
--- contrib/minizip/unzip.c (revision 275973)
--- contrib/minizip/unzip.c (revision 280796)
+++ contrib/minizip/unzip.c (working copy)
@@ -69,7 +69,7 @@
#include <string.h>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -655,7 +655,6 @@ elif platform == 'macosx':
make_dir(dst_dir, options.quiet)
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)
copy_file(os.path.join(build_dir, 'libplugin_carbon_interpose.dylib'), dst_dir, options.quiet)
# transfer Release files
build_dir = os.path.join(out_dir, 'Release')
@ -666,7 +665,6 @@ elif platform == 'macosx':
if mode != 'client':
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)
copy_file(os.path.join(build_dir, 'libplugin_carbon_interpose.dylib'), dst_dir, options.quiet)
else:
copy_dir(os.path.join(build_dir, 'cefclient.app'), os.path.join(dst_dir, 'cefclient.app'), options.quiet)