Update to Chromium revision 165669.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@902 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt 2012-11-06 17:13:58 +00:00
parent 1177da898b
commit 255fdad295
28 changed files with 116 additions and 149 deletions

View File

@ -17,5 +17,5 @@
{ {
'chromium_url': 'http://src.chromium.org/svn/trunk/src', 'chromium_url': 'http://src.chromium.org/svn/trunk/src',
'chromium_revision': '160122', 'chromium_revision': '165669',
} }

View File

@ -436,19 +436,16 @@
'<(DEPTH)/third_party/modp_b64/modp_b64.gyp:modp_b64', '<(DEPTH)/third_party/modp_b64/modp_b64.gyp:modp_b64',
'<(DEPTH)/third_party/WebKit/Source/WebCore/WebCore.gyp/WebCore.gyp:webcore', '<(DEPTH)/third_party/WebKit/Source/WebCore/WebCore.gyp/WebCore.gyp:webcore',
'<(DEPTH)/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit', '<(DEPTH)/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
'<(DEPTH)/third_party/zlib/zlib.gyp:minizip',
'<(DEPTH)/third_party/zlib/zlib.gyp:zlib', '<(DEPTH)/third_party/zlib/zlib.gyp:zlib',
'<(DEPTH)/ui/ui.gyp:ui_resources', '<(DEPTH)/ui/ui.gyp:ui_resources',
'<(DEPTH)/ui/ui.gyp:ui', '<(DEPTH)/ui/ui.gyp:ui',
'<(DEPTH)/v8/tools/gyp/v8.gyp:v8', '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
'<(DEPTH)/webkit/support/webkit_support.gyp:appcache',
'<(DEPTH)/webkit/support/webkit_support.gyp:blob',
'<(DEPTH)/webkit/support/webkit_support.gyp:database',
'<(DEPTH)/webkit/support/webkit_support.gyp:fileapi',
'<(DEPTH)/webkit/support/webkit_support.gyp:glue', '<(DEPTH)/webkit/support/webkit_support.gyp:glue',
'<(DEPTH)/webkit/support/webkit_support.gyp:quota',
'<(DEPTH)/webkit/support/webkit_support.gyp:user_agent', '<(DEPTH)/webkit/support/webkit_support.gyp:user_agent',
'<(DEPTH)/webkit/support/webkit_support.gyp:webkit_gpu', '<(DEPTH)/webkit/support/webkit_support.gyp:webkit_gpu',
'<(DEPTH)/webkit/support/webkit_support.gyp:webkit_resources', '<(DEPTH)/webkit/support/webkit_support.gyp:webkit_resources',
'<(DEPTH)/webkit/support/webkit_support.gyp:webkit_storage',
'<(DEPTH)/webkit/support/webkit_support.gyp:webkit_strings', '<(DEPTH)/webkit/support/webkit_support.gyp:webkit_strings',
'libcef_static', 'libcef_static',
], ],
@ -620,20 +617,16 @@
'<(DEPTH)/third_party/modp_b64/modp_b64.gyp:modp_b64', '<(DEPTH)/third_party/modp_b64/modp_b64.gyp:modp_b64',
'<(DEPTH)/third_party/WebKit/Source/WebCore/WebCore.gyp/WebCore.gyp:webcore', '<(DEPTH)/third_party/WebKit/Source/WebCore/WebCore.gyp/WebCore.gyp:webcore',
'<(DEPTH)/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit', '<(DEPTH)/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
'<(DEPTH)/third_party/zlib/zlib.gyp:minizip',
'<(DEPTH)/third_party/zlib/zlib.gyp:zlib', '<(DEPTH)/third_party/zlib/zlib.gyp:zlib',
'<(DEPTH)/ui/ui.gyp:ui_resources', '<(DEPTH)/ui/ui.gyp:ui_resources',
'<(DEPTH)/ui/ui.gyp:ui', '<(DEPTH)/ui/ui.gyp:ui',
'<(DEPTH)/v8/tools/gyp/v8.gyp:v8', '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
'<(DEPTH)/webkit/support/webkit_support.gyp:appcache',
'<(DEPTH)/webkit/support/webkit_support.gyp:blob',
'<(DEPTH)/webkit/support/webkit_support.gyp:database',
'<(DEPTH)/webkit/support/webkit_support.gyp:dom_storage',
'<(DEPTH)/webkit/support/webkit_support.gyp:fileapi',
'<(DEPTH)/webkit/support/webkit_support.gyp:glue', '<(DEPTH)/webkit/support/webkit_support.gyp:glue',
'<(DEPTH)/webkit/support/webkit_support.gyp:quota',
'<(DEPTH)/webkit/support/webkit_support.gyp:user_agent', '<(DEPTH)/webkit/support/webkit_support.gyp:user_agent',
'<(DEPTH)/webkit/support/webkit_support.gyp:webkit_gpu', '<(DEPTH)/webkit/support/webkit_support.gyp:webkit_gpu',
'<(DEPTH)/webkit/support/webkit_support.gyp:webkit_resources', '<(DEPTH)/webkit/support/webkit_support.gyp:webkit_resources',
'<(DEPTH)/webkit/support/webkit_support.gyp:webkit_storage',
'<(DEPTH)/webkit/support/webkit_support.gyp:webkit_strings', '<(DEPTH)/webkit/support/webkit_support.gyp:webkit_strings',
], ],
'sources': [ 'sources': [
@ -869,7 +862,6 @@
'<(DEPTH)/ui/base/dragdrop/os_exchange_data_provider_gtk.h', '<(DEPTH)/ui/base/dragdrop/os_exchange_data_provider_gtk.h',
# Geolocation implementation # Geolocation implementation
'<(DEPTH)/content/browser/geolocation/gps_location_provider_linux.cc', '<(DEPTH)/content/browser/geolocation/gps_location_provider_linux.cc',
'<(DEPTH)/content/browser/geolocation/libgps_wrapper_linux.cc',
'<(DEPTH)/content/browser/geolocation/wifi_data_provider_linux.cc', '<(DEPTH)/content/browser/geolocation/wifi_data_provider_linux.cc',
], ],
}], }],

View File

@ -20,5 +20,15 @@
'clang_use_chrome_plugins': 0, 'clang_use_chrome_plugins': 0,
}], }],
] ]
}, }, 'conditions': [
['OS=="mac" and clang==1', {
'target_defaults': {
'xcode_settings': {
# Temporary workaround for an Xcode 4 build error. This can be
# removed with the next Chromium update. See crbug.com/156530.
'WARNING_CFLAGS': ['-Wno-unknown-warning-option'],
},
},
}]
]
} }

View File

@ -115,7 +115,7 @@ BrowserDragDelegate::~BrowserDragDelegate() {
void BrowserDragDelegate::StartDragging(const WebDropData& drop_data, void BrowserDragDelegate::StartDragging(const WebDropData& drop_data,
WebDragOperationsMask ops, WebDragOperationsMask ops,
const SkBitmap& image, const SkBitmap& image,
const gfx::Point& image_offset) { const gfx::Vector2d& image_offset) {
DCHECK(CefThread::CurrentlyOn(CefThread::UI)); DCHECK(CefThread::CurrentlyOn(CefThread::UI));
CefBrowserImpl* browser = view_->GetBrowser(); CefBrowserImpl* browser = view_->GetBrowser();
@ -175,7 +175,7 @@ void BrowserDragDelegate::StartBackgroundDragging(
const GURL& page_url, const GURL& page_url,
const std::string& page_encoding, const std::string& page_encoding,
const SkBitmap& image, const SkBitmap& image,
const gfx::Point& image_offset) { const gfx::Vector2d& image_offset) {
drag_drop_thread_id_ = base::PlatformThread::CurrentId(); drag_drop_thread_id_ = base::PlatformThread::CurrentId();
DoDragging(drop_data, ops, page_url, page_encoding, image, image_offset); DoDragging(drop_data, ops, page_url, page_encoding, image, image_offset);
@ -263,7 +263,7 @@ void BrowserDragDelegate::DoDragging(const WebDropData& drop_data,
const GURL& page_url, const GURL& page_url,
const std::string& page_encoding, const std::string& page_encoding,
const SkBitmap& image, const SkBitmap& image,
const gfx::Point& image_offset) { const gfx::Vector2d& image_offset) {
ui::OSExchangeData data; ui::OSExchangeData data;
if (!drop_data.download_metadata.empty()) { if (!drop_data.download_metadata.empty()) {

View File

@ -38,7 +38,7 @@ class BrowserDragDelegate
void StartDragging(const WebDropData& drop_data, void StartDragging(const WebDropData& drop_data,
WebKit::WebDragOperationsMask ops, WebKit::WebDragOperationsMask ops,
const SkBitmap& image, const SkBitmap& image,
const gfx::Point& image_offset); const gfx::Vector2d& image_offset);
void CancelDrag(); void CancelDrag();
// DataObjectImpl::Observer implementation. // DataObjectImpl::Observer implementation.
@ -61,7 +61,7 @@ class BrowserDragDelegate
const GURL& page_url, const GURL& page_url,
const std::string& page_encoding, const std::string& page_encoding,
const SkBitmap& image, const SkBitmap& image,
const gfx::Point& image_offset); const gfx::Vector2d& image_offset);
// Called on drag-and-drop thread. // Called on drag-and-drop thread.
void StartBackgroundDragging(const WebDropData& drop_data, void StartBackgroundDragging(const WebDropData& drop_data,
@ -69,7 +69,7 @@ class BrowserDragDelegate
const GURL& page_url, const GURL& page_url,
const std::string& page_encoding, const std::string& page_encoding,
const SkBitmap& image, const SkBitmap& image,
const gfx::Point& image_offset); const gfx::Vector2d& image_offset);
// Called on UI thread. // Called on UI thread.
void EndDragging(); void EndDragging();
void CloseThread(); void CloseThread();

View File

@ -23,12 +23,12 @@
#include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURL.h" #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURL.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h" #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h"
#include "webkit/base/file_path_string_conversions.h"
#include "webkit/blob/blob_storage_controller.h" #include "webkit/blob/blob_storage_controller.h"
#include "webkit/fileapi/file_system_task_runners.h" #include "webkit/fileapi/file_system_task_runners.h"
#include "webkit/fileapi/file_system_url.h" #include "webkit/fileapi/file_system_url.h"
#include "webkit/fileapi/file_system_util.h" #include "webkit/fileapi/file_system_util.h"
#include "webkit/fileapi/mock_file_system_options.h" #include "webkit/fileapi/mock_file_system_options.h"
#include "webkit/glue/webkit_glue.h"
using base::WeakPtr; using base::WeakPtr;
@ -340,7 +340,7 @@ void BrowserFileSystem::DidGetMetadata(WebFileSystemCallbacks* callbacks,
web_file_info.type = info.is_directory ? web_file_info.type = info.is_directory ?
WebFileInfo::TypeDirectory : WebFileInfo::TypeFile; WebFileInfo::TypeDirectory : WebFileInfo::TypeFile;
web_file_info.platformPath = web_file_info.platformPath =
webkit_glue::FilePathToWebString(platform_path); webkit_base::FilePathToWebString(platform_path);
callbacks->didReadMetadata(web_file_info); callbacks->didReadMetadata(web_file_info);
} else { } else {
callbacks->didFail(fileapi::PlatformFileErrorToWebFileError(result)); callbacks->didFail(fileapi::PlatformFileErrorToWebFileError(result));
@ -357,7 +357,7 @@ void BrowserFileSystem::DidReadDirectory(
for (std::vector<base::FileUtilProxy::Entry>::const_iterator it = for (std::vector<base::FileUtilProxy::Entry>::const_iterator it =
entries.begin(); it != entries.end(); ++it) { entries.begin(); it != entries.end(); ++it) {
WebFileSystemEntry entry; WebFileSystemEntry entry;
entry.name = webkit_glue::FilePathStringToWebString(it->name); entry.name = webkit_base::FilePathStringToWebString(it->name);
entry.isDirectory = it->is_directory; entry.isDirectory = it->is_directory;
web_entries_vector.push_back(entry); web_entries_vector.push_back(entry);
} }

View File

@ -38,7 +38,7 @@ void BrowserNetworkDelegate::OnSendHeaders(
int BrowserNetworkDelegate::OnHeadersReceived( int BrowserNetworkDelegate::OnHeadersReceived(
net::URLRequest* request, net::URLRequest* request,
const net::CompletionCallback& callback, const net::CompletionCallback& callback,
net::HttpResponseHeaders* original_response_headers, const net::HttpResponseHeaders* original_response_headers,
scoped_refptr<net::HttpResponseHeaders>*override_response_headers) { scoped_refptr<net::HttpResponseHeaders>*override_response_headers) {
return net::OK; return net::OK;
} }

View File

@ -27,7 +27,7 @@ class BrowserNetworkDelegate : public net::NetworkDelegate {
virtual int OnHeadersReceived( virtual int OnHeadersReceived(
net::URLRequest* request, net::URLRequest* request,
const net::CompletionCallback& callback, const net::CompletionCallback& callback,
net::HttpResponseHeaders* original_response_headers, const net::HttpResponseHeaders* original_response_headers,
scoped_refptr<net::HttpResponseHeaders>* scoped_refptr<net::HttpResponseHeaders>*
override_response_headers) OVERRIDE; override_response_headers) OVERRIDE;
virtual void OnBeforeRedirect(net::URLRequest* request, virtual void OnBeforeRedirect(net::URLRequest* request,

View File

@ -204,10 +204,7 @@ void BrowserRequestContext::Init(
CreateProxyConfigService(), 0, NULL)); CreateProxyConfigService(), 0, NULL));
} }
storage_.set_host_resolver( storage_.set_host_resolver(net::HostResolver::CreateDefaultResolver(NULL));
net::CreateSystemHostResolver(net::HostResolver::kDefaultParallelism,
net::HostResolver::kDefaultRetryAttempts,
NULL));
storage_.set_cert_verifier(net::CertVerifier::CreateDefault()); storage_.set_cert_verifier(net::CertVerifier::CreateDefault());
storage_.set_ssl_config_service(new net::SSLConfigServiceDefaults); storage_.set_ssl_config_service(new net::SSLConfigServiceDefaults);
@ -254,13 +251,6 @@ void BrowserRequestContext::Init(
net::URLRequestJobFactory* job_factory = new net::URLRequestJobFactoryImpl(); net::URLRequestJobFactory* job_factory = new net::URLRequestJobFactoryImpl();
blob_storage_controller_.reset(new webkit_blob::BlobStorageController());
job_factory->SetProtocolHandler(
"blob",
new webkit_blob::BlobProtocolHandler(
blob_storage_controller_.get(),
CefThread::GetMessageLoopProxyForThread(CefThread::FILE)));
BrowserFileSystem* file_system = _Context->file_system(); BrowserFileSystem* file_system = _Context->file_system();
// Create the context if it doesn't already exist. // Create the context if it doesn't already exist.
file_system->CreateContext(); file_system->CreateContext();
@ -269,6 +259,14 @@ void BrowserRequestContext::Init(
"filesystem", "filesystem",
fileapi::CreateFileSystemProtocolHandler( fileapi::CreateFileSystemProtocolHandler(
file_system->file_system_context())); file_system->file_system_context()));
blob_storage_controller_.reset(new webkit_blob::BlobStorageController());
job_factory->SetProtocolHandler(
"blob",
new webkit_blob::BlobProtocolHandler(
blob_storage_controller_.get(),
file_system->file_system_context(),
CefThread::GetMessageLoopProxyForThread(CefThread::FILE)));
} }
storage_.set_job_factory(job_factory); storage_.set_job_factory(job_factory);

View File

@ -35,7 +35,6 @@ BrowserRequestContextProxy::BrowserRequestContextProxy(
set_transport_security_state(context->transport_security_state()); set_transport_security_state(context->transport_security_state());
set_accept_charset(context->accept_charset()); set_accept_charset(context->accept_charset());
set_accept_language(context->accept_language()); set_accept_language(context->accept_language());
set_referrer_charset(context->referrer_charset());
set_job_factory(context->job_factory()); set_job_factory(context->job_factory());
} }

View File

@ -9,9 +9,9 @@
#include "googleurl/src/gurl.h" #include "googleurl/src/gurl.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebBlobData.h" #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebBlobData.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURL.h" #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURL.h"
#include "webkit/base/file_path_string_conversions.h"
#include "webkit/blob/blob_data.h" #include "webkit/blob/blob_data.h"
#include "webkit/blob/blob_storage_controller.h" #include "webkit/blob/blob_storage_controller.h"
#include "webkit/glue/webkit_glue.h"
using WebKit::WebBlobData; using WebKit::WebBlobData;
using WebKit::WebURL; using WebKit::WebURL;
@ -39,7 +39,7 @@ BlobData* NewBlobData(const WebBlobData& data) {
case WebBlobData::Item::TypeFile: case WebBlobData::Item::TypeFile:
if (item.length) { if (item.length) {
blob->AppendFile( blob->AppendFile(
webkit_glue::WebStringToFilePath(item.filePath), webkit_base::WebStringToFilePath(item.filePath),
static_cast<uint64>(item.offset), static_cast<uint64>(item.offset),
static_cast<uint64>(item.length), static_cast<uint64>(item.length),
base::Time::FromDoubleT(item.expectedModificationTime)); base::Time::FromDoubleT(item.expectedModificationTime));

View File

@ -60,10 +60,10 @@
#include "ui/gfx/native_widget_types.h" #include "ui/gfx/native_widget_types.h"
#include "ui/gfx/point.h" #include "ui/gfx/point.h"
#include "webkit/appcache/web_application_cache_host_impl.h" #include "webkit/appcache/web_application_cache_host_impl.h"
#include "webkit/base/file_path_string_conversions.h"
#include "webkit/glue/glue_serialize.h" #include "webkit/glue/glue_serialize.h"
#include "webkit/glue/webpreferences.h" #include "webkit/glue/webpreferences.h"
#include "webkit/glue/weburlrequest_extradata_impl.h" #include "webkit/glue/weburlrequest_extradata_impl.h"
#include "webkit/glue/webkit_glue.h"
#include "webkit/glue/window_open_disposition.h" #include "webkit/glue/window_open_disposition.h"
#include "webkit/plugins/npapi/plugin_list.h" #include "webkit/plugins/npapi/plugin_list.h"
#include "webkit/plugins/npapi/webplugin_delegate_impl.h" #include "webkit/plugins/npapi/webplugin_delegate_impl.h"
@ -302,13 +302,13 @@ bool BrowserWebViewDelegate::runFileChooser(
std::vector<FilePath> file_names; std::vector<FilePath> file_names;
if (!ShowFileChooser(file_names, params.multiSelect, params.title, if (!ShowFileChooser(file_names, params.multiSelect, params.title,
webkit_glue::WebStringToFilePath(params.initialValue))) { webkit_base::WebStringToFilePath(params.initialValue))) {
return false; return false;
} }
WebVector<WebString> ws_file_names(file_names.size()); WebVector<WebString> ws_file_names(file_names.size());
for (size_t i = 0; i < file_names.size(); ++i) { for (size_t i = 0; i < file_names.size(); ++i) {
ws_file_names[i] = webkit_glue::FilePathToWebString(file_names[i]); ws_file_names[i] = webkit_base::FilePathToWebString(file_names[i]);
} }
chooser_completion->didChooseFile(ws_file_names); chooser_completion->didChooseFile(ws_file_names);

View File

@ -328,13 +328,7 @@ void BrowserWebViewDelegate::runModal() {
webkit::npapi::WebPluginDelegate* BrowserWebViewDelegate::CreatePluginDelegate( webkit::npapi::WebPluginDelegate* BrowserWebViewDelegate::CreatePluginDelegate(
const FilePath& path, const FilePath& path,
const std::string& mime_type) { const std::string& mime_type) {
// TODO(evanm): we probably shouldn't be doing this mapping to X ids at return webkit::npapi::WebPluginDelegateImpl::Create(path, mime_type);
// this level.
GdkNativeWindow plugin_parent =
GDK_WINDOW_XWINDOW(browser_->UIT_GetWebViewHost()->view_handle()->window);
return webkit::npapi::WebPluginDelegateImpl::Create(path, mime_type,
plugin_parent);
} }
void BrowserWebViewDelegate::CreatedPluginWindow( void BrowserWebViewDelegate::CreatedPluginWindow(

View File

@ -427,9 +427,7 @@ webkit::npapi::WebPluginDelegate* BrowserWebViewDelegate::CreatePluginDelegate(
if (!host) if (!host)
return NULL; return NULL;
gfx::PluginWindowHandle containing_view = 0; WebPluginDelegateImpl* delegate = WebPluginDelegateImpl::Create(path, mime_type);
WebPluginDelegateImpl* delegate = WebPluginDelegateImpl::Create(
path, mime_type, containing_view);
if (delegate) if (delegate)
delegate->SetNoBufferContext(); delegate->SetNoBufferContext();
return delegate; return delegate;

View File

@ -253,7 +253,7 @@ void BrowserWebViewDelegate::startDragging(
drag_delegate_ = new BrowserDragDelegate(this); drag_delegate_ = new BrowserDragDelegate(this);
drag_delegate_->StartDragging(drop_data, mask, image.getSkBitmap(), drag_delegate_->StartDragging(drop_data, mask, image.getSkBitmap(),
image_offset); gfx::Point(image_offset).OffsetFromOrigin());
} }
void BrowserWebViewDelegate::runModal() { void BrowserWebViewDelegate::runModal() {
@ -318,25 +318,17 @@ webkit::npapi::WebPluginDelegate* BrowserWebViewDelegate::CreatePluginDelegate(
if (!host) if (!host)
return NULL; return NULL;
HWND hwnd; return WebPluginDelegateImpl::Create(file_path, mime_type);
if (!browser_->IsWindowRenderingDisabled()) {
// Parent the plugin container to the existing browser window.
hwnd = browser_->UIT_GetWebViewHost()->view_handle();
DCHECK(hwnd != NULL);
} else {
// Parent the plugin container to the main window handle provided by the
// user.
hwnd = browser_->UIT_GetMainWndHandle();
DCHECK(hwnd != NULL);
}
return WebPluginDelegateImpl::Create(file_path, mime_type, hwnd);
} }
void BrowserWebViewDelegate::CreatedPluginWindow( void BrowserWebViewDelegate::CreatedPluginWindow(
gfx::PluginWindowHandle handle) { gfx::PluginWindowHandle handle) {
if (browser_->IsWindowRenderingDisabled()) { if (!browser_->IsWindowRenderingDisabled()) {
// Parent the plugin container to the existing browser window.
HWND parent = browser_->UIT_GetWebViewHost()->view_handle();
DCHECK(parent != NULL);
SetParent(handle, parent);
} else {
static bool registered_class = false; static bool registered_class = false;
if (!registered_class) { if (!registered_class) {
WNDCLASSEX wcex = {0}; WNDCLASSEX wcex = {0};

View File

@ -533,10 +533,8 @@ base::StringPiece CefContext::GetDataResource(int resource_id) const {
} }
#endif // defined(OS_MACOSX) #endif // defined(OS_MACOSX)
if (value.empty() && !settings_.pack_loading_disabled) { if (value.empty() && !settings_.pack_loading_disabled)
value = ResourceBundle::GetSharedInstance().GetRawDataResource( value = ResourceBundle::GetSharedInstance().GetRawDataResource(resource_id);
resource_id, ui::SCALE_FACTOR_NONE);
}
if (value.empty()) if (value.empty())
LOG(ERROR) << "No data resource available for id " << resource_id; LOG(ERROR) << "No data resource available for id " << resource_id;

View File

@ -51,11 +51,11 @@ DragDownloadFile::~DragDownloadFile() {
#endif #endif
} }
bool DragDownloadFile::Start(ui::DownloadFileObserver* observer) { void DragDownloadFile::Start(ui::DownloadFileObserver* observer) {
AssertCurrentlyOnDragThread(); AssertCurrentlyOnDragThread();
if (is_started_) if (is_started_)
return true; return;
is_started_ = true; is_started_ = true;
DCHECK(!observer_.get()); DCHECK(!observer_.get());
@ -68,18 +68,19 @@ bool DragDownloadFile::Start(ui::DownloadFileObserver* observer) {
// name already exists. // name already exists.
if (!file_util::CreateNewTempDirectory(FILE_PATH_LITERAL("chrome"), if (!file_util::CreateNewTempDirectory(FILE_PATH_LITERAL("chrome"),
&temp_dir_path_)) &temp_dir_path_))
return false; return;
file_path_ = temp_dir_path_.Append(file_name_); file_path_ = temp_dir_path_.Append(file_name_);
} }
InitiateDownload(); InitiateDownload();
}
// On Windows, we need to wait till the download file is completed. bool DragDownloadFile::Wait() {
#if defined(OS_WIN) AssertCurrentlyOnDragThread();
StartNestedMessageLoop();
#endif
if (is_started_)
nested_loop_.Run();
return is_successful_; return is_successful_;
} }
@ -118,10 +119,8 @@ void DragDownloadFile::DownloadCompleted(bool is_successful) {
is_successful_ = is_successful; is_successful_ = is_successful;
// On Windows, we need to stop the waiting. if (nested_loop_.running())
#if defined(OS_WIN) nested_loop_.Quit();
QuitNestedMessageLoop();
#endif
} }
void DragDownloadFile::AssertCurrentlyOnDragThread() { void DragDownloadFile::AssertCurrentlyOnDragThread() {
@ -137,24 +136,3 @@ void DragDownloadFile::AssertCurrentlyOnUIThread() {
DCHECK(CefThread::CurrentlyOn(CefThread::UI)); DCHECK(CefThread::CurrentlyOn(CefThread::UI));
#endif #endif
} }
#if defined(OS_WIN)
void DragDownloadFile::StartNestedMessageLoop() {
AssertCurrentlyOnDragThread();
bool old_state = MessageLoop::current()->NestableTasksAllowed();
MessageLoop::current()->SetNestableTasksAllowed(true);
is_running_nested_message_loop_ = true;
MessageLoop::current()->Run();
MessageLoop::current()->SetNestableTasksAllowed(old_state);
}
void DragDownloadFile::QuitNestedMessageLoop() {
AssertCurrentlyOnDragThread();
if (is_running_nested_message_loop_) {
is_running_nested_message_loop_ = false;
MessageLoop::current()->Quit();
}
}
#endif

View File

@ -12,6 +12,7 @@
#include "base/file_path.h" #include "base/file_path.h"
#include "base/memory/linked_ptr.h" #include "base/memory/linked_ptr.h"
#include "base/message_loop.h" #include "base/message_loop.h"
#include "base/run_loop.h"
#include "googleurl/src/gurl.h" #include "googleurl/src/gurl.h"
#include "ui/base/dragdrop/download_file_interface.h" #include "ui/base/dragdrop/download_file_interface.h"
@ -42,23 +43,15 @@ class DragDownloadFile : public ui::DownloadFileProvider {
// DownloadFileProvider methods. // DownloadFileProvider methods.
// Called on drag-and-drop thread (Windows). // Called on drag-and-drop thread (Windows).
// Called on UI thread (MacOSX). // Called on UI thread (MacOSX).
virtual bool Start(ui::DownloadFileObserver* observer); virtual void Start(ui::DownloadFileObserver* observer) OVERRIDE;
virtual void Stop(); virtual bool Wait() OVERRIDE;
#if defined(OS_WIN) virtual void Stop() OVERRIDE;
virtual IStream* GetStream() { return NULL; }
#endif
private: private:
// Called on drag-and-drop thread (Windows). // Called on drag-and-drop thread (Windows).
// Called on UI thread (Windows). // Called on UI thread (Windows).
virtual ~DragDownloadFile(); virtual ~DragDownloadFile();
// Called on drag-and-drop thread (Windows only).
#if defined(OS_WIN)
void StartNestedMessageLoop();
void QuitNestedMessageLoop();
#endif
// Called on either drag-and-drop thread or UI thread (Windows). // Called on either drag-and-drop thread or UI thread (Windows).
// Called on UI thread (MacOSX). // Called on UI thread (MacOSX).
void InitiateDownload(); void InitiateDownload();
@ -86,6 +79,7 @@ class DragDownloadFile : public ui::DownloadFileProvider {
bool is_started_; bool is_started_;
bool is_successful_; bool is_successful_;
scoped_refptr<ui::DownloadFileObserver> observer_; scoped_refptr<ui::DownloadFileObserver> observer_;
base::RunLoop nested_loop_;
// Accessed on drag-and-drop thread (Windows only). // Accessed on drag-and-drop thread (Windows only).
#if defined(OS_WIN) #if defined(OS_WIN)

View File

@ -77,7 +77,7 @@ class CefAccessTokenStore : public content::AccessTokenStore {
void NotifyArbitratorPermissionGranted() { void NotifyArbitratorPermissionGranted() {
DCHECK(CefThread::CurrentlyOn(CefThread::IO)); DCHECK(CefThread::CurrentlyOn(CefThread::IO));
GeolocationProvider::GetInstance()->OnPermissionGranted(); content::GeolocationProvider::GetInstance()->OnPermissionGranted();
} }
} // namespace } // namespace
@ -222,11 +222,11 @@ void CefGeolocationClient::OnStartUpdating(bool enable_high_accuracy) {
DCHECK(CefThread::CurrentlyOn(CefThread::IO)); DCHECK(CefThread::CurrentlyOn(CefThread::IO));
if (!location_provider_) if (!location_provider_)
location_provider_ = GeolocationProvider::GetInstance(); location_provider_ = content::GeolocationProvider::GetInstance();
// Re-add to re-establish our options, in case they changed. // Re-add to re-establish our options, in case they changed.
location_provider_->AddObserver( location_provider_->AddObserver(
this, GeolocationObserverOptions(enable_high_accuracy)); this, content::GeolocationObserverOptions(enable_high_accuracy));
} }
void CefGeolocationClient::OnStopUpdating() { void CefGeolocationClient::OnStopUpdating() {
@ -310,38 +310,40 @@ void CefGeolocationClient::OnPositionUpdated(
// Replacement for content/browser/geolocation/arbitrator_dependency_factory.cc // Replacement for content/browser/geolocation/arbitrator_dependency_factory.cc
// GeolocationArbitratorDependencyFactory // GeolocationArbitratorDependencyFactory
GeolocationArbitratorDependencyFactory:: content::GeolocationArbitratorDependencyFactory::
~GeolocationArbitratorDependencyFactory() { ~GeolocationArbitratorDependencyFactory() {
} }
// DefaultGeolocationArbitratorDependencyFactory // DefaultGeolocationArbitratorDependencyFactory
DefaultGeolocationArbitratorDependencyFactory:: content::DefaultGeolocationArbitratorDependencyFactory::
~DefaultGeolocationArbitratorDependencyFactory() { ~DefaultGeolocationArbitratorDependencyFactory() {
} }
DefaultGeolocationArbitratorDependencyFactory::GetTimeNow content::DefaultGeolocationArbitratorDependencyFactory::GetTimeNow
DefaultGeolocationArbitratorDependencyFactory::GetTimeFunction() { content::DefaultGeolocationArbitratorDependencyFactory::GetTimeFunction() {
return base::Time::Now; return base::Time::Now;
} }
content::AccessTokenStore* content::AccessTokenStore*
DefaultGeolocationArbitratorDependencyFactory::NewAccessTokenStore() { content::DefaultGeolocationArbitratorDependencyFactory::NewAccessTokenStore() {
return new CefAccessTokenStore; return new CefAccessTokenStore;
} }
LocationProviderBase* content::LocationProviderBase*
DefaultGeolocationArbitratorDependencyFactory::NewNetworkLocationProvider( content::DefaultGeolocationArbitratorDependencyFactory::
NewNetworkLocationProvider(
content::AccessTokenStore* access_token_store, content::AccessTokenStore* access_token_store,
net::URLRequestContextGetter* context, net::URLRequestContextGetter* context,
const GURL& url, const GURL& url,
const string16& access_token) { const string16& access_token) {
return ::NewNetworkLocationProvider(access_token_store, context, return content::NewNetworkLocationProvider(access_token_store, context,
url, access_token); url, access_token);
} }
LocationProviderBase* content::LocationProviderBase*
DefaultGeolocationArbitratorDependencyFactory::NewSystemLocationProvider() { content::DefaultGeolocationArbitratorDependencyFactory::
return ::NewSystemLocationProvider(); NewSystemLocationProvider() {
return content::NewSystemLocationProvider();
} }

View File

@ -15,8 +15,11 @@
class CefBrowserImpl; class CefBrowserImpl;
class CefGeolocationCallbackImpl; class CefGeolocationCallbackImpl;
namespace content {
class GeolocationProvider; class GeolocationProvider;
struct Geoposition; struct Geoposition;
}
namespace WebKit { namespace WebKit {
class WebGeolocationController; class WebGeolocationController;
@ -28,7 +31,7 @@ class WebGeolocationPosition;
// Delegate for Geolocation messages used by WebKit. // Delegate for Geolocation messages used by WebKit.
class CefGeolocationClient class CefGeolocationClient
: public WebKit::WebGeolocationClient, : public WebKit::WebGeolocationClient,
public GeolocationObserver, public content::GeolocationObserver,
public base::RefCountedThreadSafe<CefGeolocationClient> { public base::RefCountedThreadSafe<CefGeolocationClient> {
public: public:
explicit CefGeolocationClient(CefBrowserImpl* browser); explicit CefGeolocationClient(CefBrowserImpl* browser);
@ -83,7 +86,7 @@ class CefGeolocationClient
// The following members are only accessed on the IO thread. // The following members are only accessed on the IO thread.
// Only set whilst we are registered with the arbitrator. // Only set whilst we are registered with the arbitrator.
GeolocationProvider* location_provider_; content::GeolocationProvider* location_provider_;
DISALLOW_COPY_AND_ASSIGN(CefGeolocationClient); DISALLOW_COPY_AND_ASSIGN(CefGeolocationClient);
}; };

View File

@ -66,7 +66,8 @@ bool CefGetGeolocation(CefRefPtr<CefGetGeolocationCallback> callback) {
} }
if (CefThread::CurrentlyOn(CefThread::IO)) { if (CefThread::CurrentlyOn(CefThread::IO)) {
GeolocationProvider* provider = GeolocationProvider::GetInstance(); content::GeolocationProvider* provider =
content::GeolocationProvider::GetInstance();
if (provider) { if (provider) {
provider->RequestCallback(base::Bind(LocationCallback, callback)); provider->RequestCallback(base::Bind(LocationCallback, callback));
return true; return true;

View File

@ -104,6 +104,11 @@ void SimpleClipboardClient::ReadCustomData(ui::Clipboard::Buffer buffer,
GetClipboard()->ReadCustomData(buffer, type, data); GetClipboard()->ReadCustomData(buffer, type, data);
} }
void SimpleClipboardClient::ReadData(const ui::Clipboard::FormatType& format,
std::string* data) {
GetClipboard()->ReadData(format, data);
}
webkit_glue::ClipboardClient::WriteContext* webkit_glue::ClipboardClient::WriteContext*
SimpleClipboardClient::CreateWriteContext() { SimpleClipboardClient::CreateWriteContext() {
return NULL; return NULL;

View File

@ -39,6 +39,8 @@ class SimpleClipboardClient : public webkit_glue::ClipboardClient {
virtual void ReadCustomData(ui::Clipboard::Buffer buffer, virtual void ReadCustomData(ui::Clipboard::Buffer buffer,
const string16& type, const string16& type,
string16* data) OVERRIDE; string16* data) OVERRIDE;
virtual void ReadData(const ui::Clipboard::FormatType& format,
std::string* data) OVERRIDE;
virtual WriteContext* CreateWriteContext() OVERRIDE; virtual WriteContext* CreateWriteContext() OVERRIDE;
}; };

View File

@ -24,16 +24,15 @@ void WebWidgetHost::InvalidateRect(const gfx::Rect& rect) {
int width, height; int width, height;
GetSize(width, height); GetSize(width, height);
const gfx::Rect client_rect(width, height); gfx::Rect client_rect(width, height);
client_rect.Intersect(rect);
const gfx::Rect rect_in_client = client_rect.Intersect(rect); if (client_rect.IsEmpty())
if (rect_in_client.IsEmpty())
return; return;
UpdatePaintRect(rect_in_client); UpdatePaintRect(client_rect);
if (view_) if (view_)
InvalidateWindowRect(rect_in_client); InvalidateWindowRect(client_rect);
else else
ScheduleTimer(); ScheduleTimer();
} }
@ -140,7 +139,7 @@ void WebWidgetHost::UpdatePaintRect(const gfx::Rect& rect) {
SkRegion::kUnion_Op); SkRegion::kUnion_Op);
#else #else
// TODO(cef): Update all ports to use regions instead of rectangles. // TODO(cef): Update all ports to use regions instead of rectangles.
paint_rect_ = paint_rect_.Union(rect); paint_rect_.Union(rect);
#endif #endif
} }

View File

@ -355,14 +355,14 @@ void WebWidgetHost::Paint() {
// to update that area after we're done painting it. // to update that area after we're done painting it.
gfx::Rect total_paint; gfx::Rect total_paint;
for (int i = 0; i < 2; ++i) { for (int i = 0; i < 2; ++i) {
paint_rect_ = client_rect.Intersect(paint_rect_); paint_rect_.Intersect(client_rect);
if (!paint_rect_.IsEmpty()) { if (!paint_rect_.IsEmpty()) {
gfx::Rect rect(paint_rect_); gfx::Rect rect(paint_rect_);
paint_rect_ = gfx::Rect(); paint_rect_ = gfx::Rect();
DLOG_IF(WARNING, i == 1) << "painting caused additional invalidations"; DLOG_IF(WARNING, i == 1) << "painting caused additional invalidations";
PaintRect(rect); PaintRect(rect);
total_paint = total_paint.Union(rect); total_paint.Union(rect);
} }
} }
// DCHECK(paint_rect_.IsEmpty()); // DCHECK(paint_rect_.IsEmpty());

View File

@ -98,7 +98,8 @@ void WebWidgetHost::ScrollRect(int dx, int dy, const gfx::Rect& clip_rect) {
int width, height; int width, height;
GetSize(width, height); GetSize(width, height);
const gfx::Rect client_rect(width, height); const gfx::Rect client_rect(width, height);
gfx::Rect rect = clip_rect.Intersect(client_rect); gfx::Rect rect = clip_rect;
rect.Intersect(client_rect);
const int x = rect.x(); const int x = rect.x();
const int y = rect.y(); const int y = rect.y();

View File

@ -1,8 +1,8 @@
Index: pylib/gyp/input.py Index: pylib/gyp/input.py
=================================================================== ===================================================================
--- pylib/gyp/input.py (revision 1508) --- pylib/gyp/input.py (revision 1527)
+++ pylib/gyp/input.py (working copy) +++ pylib/gyp/input.py (working copy)
@@ -824,7 +824,8 @@ @@ -851,7 +851,8 @@
# that don't load quickly, this can be faster than # that don't load quickly, this can be faster than
# <!(python modulename param eters). Do this in |build_file_dir|. # <!(python modulename param eters). Do this in |build_file_dir|.
oldwd = os.getcwd() # Python doesn't like os.open('.'): no fchdir. oldwd = os.getcwd() # Python doesn't like os.open('.'): no fchdir.

View File

@ -12,6 +12,7 @@
#include "base/test/test_suite.h" #include "base/test/test_suite.h"
#if defined(OS_MACOSX) #if defined(OS_MACOSX)
#include "base/debug/stack_trace.h"
#include "base/file_path.h" #include "base/file_path.h"
#include "base/i18n/icu_util.h" #include "base/i18n/icu_util.h"
#include "base/path_service.h" #include "base/path_service.h"
@ -180,7 +181,7 @@ void CefTestSuite::Initialize() {
// Note: temporarily enabled timestamps in an effort to catch bug 6361. // Note: temporarily enabled timestamps in an effort to catch bug 6361.
logging::SetLogItems(true, true, true, true); logging::SetLogItems(true, true, true, true);
CHECK(base::EnableInProcessStackDumping()); CHECK(base::debug::EnableInProcessStackDumping());
// In some cases, we do not want to see standard error dialogs. // In some cases, we do not want to see standard error dialogs.
if (!base::debug::BeingDebugged() && if (!base::debug::BeingDebugged() &&