mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	Update to Chromium revision 12bfc336 (#338390).
- The ffmpeg library is now statically linked (see https://codereview.chromium.org/1141703002). - Off-screen rendering of the PDF viewer does not work in combination with surfaces. Pass the `--disable-surfaces` command-line flag if GPU is enabled (see https://codereview.chromium.org/1169983006).
This commit is contained in:
		| @@ -7,5 +7,5 @@ | ||||
| # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding | ||||
|  | ||||
| { | ||||
|   'chromium_checkout': '14bd12d63019fbdd6f9d6c16b986a5f64a21264b', | ||||
|   'chromium_checkout': '12bfc3360892ec53cd00fc239a47e5298beb063b', | ||||
| } | ||||
|   | ||||
| @@ -278,7 +278,6 @@ if(OS_LINUX) | ||||
|   # List of CEF binary files. | ||||
|   set(CEF_BINARY_FILES | ||||
|     chrome-sandbox | ||||
|     libffmpegsumo.so | ||||
|     libcef.so | ||||
|     natives_blob.bin | ||||
|     snapshot_blob.bin | ||||
| @@ -438,7 +437,6 @@ if(OS_WINDOWS) | ||||
|   set(CEF_BINARY_FILES | ||||
|     d3dcompiler_43.dll | ||||
|     d3dcompiler_47.dll | ||||
|     ffmpegsumo.dll | ||||
|     libcef.dll | ||||
|     libEGL.dll | ||||
|     libGLESv2.dll | ||||
|   | ||||
							
								
								
									
										12
									
								
								cef.gyp
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								cef.gyp
									
									
									
									
									
								
							| @@ -949,6 +949,7 @@ | ||||
|         '<(DEPTH)/components/components.gyp:pref_registry', | ||||
|         '<(DEPTH)/components/components.gyp:printing_common', | ||||
|         '<(DEPTH)/components/components.gyp:printing_renderer', | ||||
|         '<(DEPTH)/components/components.gyp:proxy_config', | ||||
|         '<(DEPTH)/components/components.gyp:update_client', | ||||
|         '<(DEPTH)/components/components.gyp:user_prefs', | ||||
|         '<(DEPTH)/components/components.gyp:web_cache_renderer', | ||||
| @@ -1276,10 +1277,6 @@ | ||||
|         '<(DEPTH)/chrome/browser/net/utility_process_mojo_proxy_resolver_factory.h', | ||||
|         '<(DEPTH)/chrome/browser/prefs/command_line_pref_store.cc', | ||||
|         '<(DEPTH)/chrome/browser/prefs/command_line_pref_store.h', | ||||
|         '<(DEPTH)/chrome/browser/prefs/proxy_config_dictionary.cc', | ||||
|         '<(DEPTH)/chrome/browser/prefs/proxy_config_dictionary.h', | ||||
|         '<(DEPTH)/chrome/browser/prefs/proxy_prefs.cc', | ||||
|         '<(DEPTH)/chrome/browser/prefs/proxy_prefs.h', | ||||
|         '<(DEPTH)/chrome/common/pref_names.cc', | ||||
|         '<(DEPTH)/chrome/common/pref_names.h', | ||||
|         '<(DEPTH)/components/data_reduction_proxy/core/common/data_reduction_proxy_switches.cc', | ||||
| @@ -1546,13 +1543,6 @@ | ||||
|             }, | ||||
|           ], | ||||
|           'copies': [ | ||||
|             { | ||||
|               # Copy binaries for HTML5 audio/video support. | ||||
|               'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Libraries', | ||||
|               'files': [ | ||||
|                 '<(PRODUCT_DIR)/ffmpegsumo.so', | ||||
|               ], | ||||
|             }, | ||||
|             { | ||||
|               # Copy binaries for breakpad support. | ||||
|               'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources', | ||||
|   | ||||
| @@ -37,6 +37,10 @@ | ||||
| #include "include/base/cef_string16.h" | ||||
| #include "include/internal/cef_string_types.h" | ||||
|  | ||||
| #if defined(BUILDING_CEF_SHARED) | ||||
| #include "base/files/file_path.h" | ||||
| #endif | ||||
|  | ||||
| /// | ||||
| // Traits implementation for wide character strings. | ||||
| /// | ||||
| @@ -692,6 +696,17 @@ class CefStringBase { | ||||
|     return *this; | ||||
|   } | ||||
| #endif  // WCHAR_T_IS_UTF32 | ||||
| #if defined(BUILDING_CEF_SHARED) | ||||
|   // The base::FilePath constructor is marked as explicit so provide the | ||||
|   // conversion here for convenience. | ||||
|   operator base::FilePath() const { | ||||
| #if defined(OS_WIN) | ||||
|     return base::FilePath(ToWString()); | ||||
| #else | ||||
|     return base::FilePath(ToString()); | ||||
| #endif | ||||
|   } | ||||
| #endif  // BUILDING_CEF_SHARED | ||||
|  | ||||
|  private: | ||||
|   // Allocate the string structure if it doesn't already exist. | ||||
|   | ||||
| @@ -886,8 +886,7 @@ void CefBrowserHostImpl::StartDownload(const CefString& url) { | ||||
|   if (!manager) | ||||
|     return; | ||||
|  | ||||
|   scoped_ptr<content::DownloadUrlParameters> params; | ||||
|   params.reset( | ||||
|   scoped_ptr<content::DownloadUrlParameters> params( | ||||
|       content::DownloadUrlParameters::FromWebContents(web_contents(), gurl)); | ||||
|   manager->DownloadUrl(params.Pass()); | ||||
| } | ||||
| @@ -1393,6 +1392,13 @@ bool CefBrowserHostImpl::CanGoBack() { | ||||
|  | ||||
| void CefBrowserHostImpl::GoBack() { | ||||
|   if (CEF_CURRENTLY_ON_UIT()) { | ||||
|     if (frame_destruction_pending_) { | ||||
|       // Try again after frame destruction has completed. | ||||
|       CEF_POST_TASK(CEF_UIT, | ||||
|           base::Bind(&CefBrowserHostImpl::GoBack, this)); | ||||
|       return; | ||||
|     } | ||||
|  | ||||
|     if (web_contents_.get() && web_contents_->GetController().CanGoBack()) | ||||
|       web_contents_->GetController().GoBack(); | ||||
|   } else { | ||||
| @@ -1408,6 +1414,13 @@ bool CefBrowserHostImpl::CanGoForward() { | ||||
|  | ||||
| void CefBrowserHostImpl::GoForward() { | ||||
|   if (CEF_CURRENTLY_ON_UIT()) { | ||||
|     if (frame_destruction_pending_) { | ||||
|       // Try again after frame destruction has completed. | ||||
|       CEF_POST_TASK(CEF_UIT, | ||||
|           base::Bind(&CefBrowserHostImpl::GoForward, this)); | ||||
|       return; | ||||
|     } | ||||
|  | ||||
|     if (web_contents_.get() && web_contents_->GetController().CanGoForward()) | ||||
|       web_contents_->GetController().GoForward(); | ||||
|   } else { | ||||
| @@ -1423,6 +1436,13 @@ bool CefBrowserHostImpl::IsLoading() { | ||||
|  | ||||
| void CefBrowserHostImpl::Reload() { | ||||
|   if (CEF_CURRENTLY_ON_UIT()) { | ||||
|     if (frame_destruction_pending_) { | ||||
|       // Try again after frame destruction has completed. | ||||
|       CEF_POST_TASK(CEF_UIT, | ||||
|           base::Bind(&CefBrowserHostImpl::Reload, this)); | ||||
|       return; | ||||
|     } | ||||
|  | ||||
|     if (web_contents_.get()) | ||||
|       web_contents_->GetController().Reload(true); | ||||
|   } else { | ||||
| @@ -1433,6 +1453,13 @@ void CefBrowserHostImpl::Reload() { | ||||
|  | ||||
| void CefBrowserHostImpl::ReloadIgnoreCache() { | ||||
|   if (CEF_CURRENTLY_ON_UIT()) { | ||||
|     if (frame_destruction_pending_) { | ||||
|       // Try again after frame destruction has completed. | ||||
|       CEF_POST_TASK(CEF_UIT, | ||||
|           base::Bind(&CefBrowserHostImpl::ReloadIgnoreCache, this)); | ||||
|       return; | ||||
|     } | ||||
|  | ||||
|     if (web_contents_.get()) | ||||
|       web_contents_->GetController().ReloadIgnoringCache(true); | ||||
|   } else { | ||||
| @@ -1443,6 +1470,13 @@ void CefBrowserHostImpl::ReloadIgnoreCache() { | ||||
|  | ||||
| void CefBrowserHostImpl::StopLoad() { | ||||
|   if (CEF_CURRENTLY_ON_UIT()) { | ||||
|     if (frame_destruction_pending_) { | ||||
|       // Try again after frame destruction has completed. | ||||
|       CEF_POST_TASK(CEF_UIT, | ||||
|           base::Bind(&CefBrowserHostImpl::StopLoad, this)); | ||||
|       return; | ||||
|     } | ||||
|  | ||||
|     if (web_contents_.get()) | ||||
|       web_contents_->Stop(); | ||||
|   } else { | ||||
| @@ -1719,6 +1753,14 @@ void CefBrowserHostImpl::LoadURL( | ||||
|   if (frame_id == CefFrameHostImpl::kMainFrameId) { | ||||
|     // Go through the navigation controller. | ||||
|     if (CEF_CURRENTLY_ON_UIT()) { | ||||
|       if (frame_destruction_pending_) { | ||||
|         // Try again after frame destruction has completed. | ||||
|         CEF_POST_TASK(CEF_UIT, | ||||
|             base::Bind(&CefBrowserHostImpl::LoadURL, this, frame_id, url, | ||||
|                        referrer, transition, extra_headers)); | ||||
|         return; | ||||
|       } | ||||
|  | ||||
|       if (web_contents_.get()) { | ||||
|         GURL gurl = GURL(url); | ||||
|  | ||||
| @@ -2407,7 +2449,7 @@ bool CefBrowserHostImpl::ShouldCreateWebContents( | ||||
|     int route_id, | ||||
|     int main_frame_route_id, | ||||
|     WindowContainerType window_container_type, | ||||
|     const base::string16& frame_name, | ||||
|     const std::string& frame_name, | ||||
|     const GURL& target_url, | ||||
|     const std::string& partition_id, | ||||
|     content::SessionStorageNamespace* session_storage_namespace, | ||||
| @@ -2433,7 +2475,7 @@ bool CefBrowserHostImpl::ShouldCreateWebContents( | ||||
| void CefBrowserHostImpl::WebContentsCreated( | ||||
|     content::WebContents* source_contents, | ||||
|     int opener_render_frame_id, | ||||
|     const base::string16& frame_name, | ||||
|     const std::string& frame_name, | ||||
|     const GURL& target_url, | ||||
|     content::WebContents* new_contents) { | ||||
|   DCHECK(new_contents); | ||||
| @@ -2675,8 +2717,11 @@ void CefBrowserHostImpl::RenderProcessGone(base::TerminationStatus status) { | ||||
|  | ||||
|   if (client_.get()) { | ||||
|     CefRefPtr<CefRequestHandler> handler = client_->GetRequestHandler(); | ||||
|     if (handler.get()) | ||||
|     if (handler.get()) { | ||||
|       frame_destruction_pending_ = true; | ||||
|       handler->OnRenderProcessTerminated(this, ts); | ||||
|       frame_destruction_pending_ = false; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| @@ -2700,7 +2745,8 @@ void CefBrowserHostImpl::DidFailProvisionalLoad( | ||||
|     content::RenderFrameHost* render_frame_host, | ||||
|     const GURL& validated_url, | ||||
|     int error_code, | ||||
|     const base::string16& error_description) { | ||||
|     const base::string16& error_description, | ||||
|     bool was_ignored_by_handler) { | ||||
|   const bool is_main_frame = !render_frame_host->GetParent(); | ||||
|   CefRefPtr<CefFrame> frame = GetOrCreateFrame( | ||||
|       render_frame_host->GetRoutingID(), | ||||
| @@ -2720,7 +2766,8 @@ void CefBrowserHostImpl::DidFailLoad( | ||||
|     content::RenderFrameHost* render_frame_host, | ||||
|     const GURL& validated_url, | ||||
|     int error_code, | ||||
|     const base::string16& error_description) { | ||||
|     const base::string16& error_description, | ||||
|     bool was_ignored_by_handler) { | ||||
|   const bool is_main_frame = !render_frame_host->GetParent(); | ||||
|   CefRefPtr<CefFrame> frame = GetOrCreateFrame( | ||||
|       render_frame_host->GetRoutingID(), | ||||
| @@ -2968,6 +3015,7 @@ CefBrowserHostImpl::CefBrowserHostImpl( | ||||
|       main_frame_id_(CefFrameHostImpl::kInvalidFrameId), | ||||
|       focused_frame_id_(CefFrameHostImpl::kInvalidFrameId), | ||||
|       destruction_state_(DESTRUCTION_STATE_NONE), | ||||
|       frame_destruction_pending_(false), | ||||
|       window_destroyed_(false), | ||||
|       is_in_onsetfocus_(false), | ||||
|       focus_on_editable_field_(false), | ||||
| @@ -3147,11 +3195,13 @@ void CefBrowserHostImpl::OnLoadError(CefRefPtr<CefFrame> frame, | ||||
|   if (client_.get()) { | ||||
|     CefRefPtr<CefLoadHandler> handler = client_->GetLoadHandler(); | ||||
|     if (handler.get()) { | ||||
|       frame_destruction_pending_ = true; | ||||
|       // Notify the handler that loading has failed. | ||||
|       handler->OnLoadError(this, frame, | ||||
|           static_cast<cef_errorcode_t>(error_code), | ||||
|           CefString(error_description), | ||||
|           url.spec()); | ||||
|       frame_destruction_pending_ = false; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -397,7 +397,7 @@ class CefBrowserHostImpl : public CefBrowserHost, | ||||
|       int route_id, | ||||
|       int main_frame_route_id, | ||||
|       WindowContainerType window_container_type, | ||||
|       const base::string16& frame_name, | ||||
|       const std::string& frame_name, | ||||
|       const GURL& target_url, | ||||
|       const std::string& partition_id, | ||||
|       content::SessionStorageNamespace* session_storage_namespace, | ||||
| @@ -405,7 +405,7 @@ class CefBrowserHostImpl : public CefBrowserHost, | ||||
|       content::RenderViewHostDelegateView** delegate_view) override; | ||||
|   void WebContentsCreated(content::WebContents* source_contents, | ||||
|                           int opener_render_frame_id, | ||||
|                           const base::string16& frame_name, | ||||
|                           const std::string& frame_name, | ||||
|                           const GURL& target_url, | ||||
|                           content::WebContents* new_contents) override; | ||||
|   void DidNavigateMainFramePostCommit( | ||||
| @@ -461,12 +461,14 @@ class CefBrowserHostImpl : public CefBrowserHost, | ||||
|       content::RenderFrameHost* render_frame_host, | ||||
|       const GURL& validated_url, | ||||
|       int error_code, | ||||
|       const base::string16& error_description) override; | ||||
|       const base::string16& error_description, | ||||
|       bool was_ignored_by_handler) override; | ||||
|   void DocumentAvailableInMainFrame() override; | ||||
|   void DidFailLoad(content::RenderFrameHost* render_frame_host, | ||||
|                    const GURL& validated_url, | ||||
|                    int error_code, | ||||
|                    const base::string16& error_description) override; | ||||
|                    const base::string16& error_description, | ||||
|                    bool was_ignored_by_handler) override; | ||||
|   void FrameDeleted( | ||||
|       content::RenderFrameHost* render_frame_host) override; | ||||
|   void PluginCrashed(const base::FilePath& plugin_path, | ||||
| @@ -662,6 +664,10 @@ class CefBrowserHostImpl : public CefBrowserHost, | ||||
|   // thread. | ||||
|   DestructionState destruction_state_; | ||||
|  | ||||
|   // True if frame destruction is currently pending. Navigation should not occur | ||||
|   // while this flag is true. | ||||
|   bool frame_destruction_pending_; | ||||
|  | ||||
|   // True if the OS window hosting the browser has been destroyed. Only accessed | ||||
|   // on the UI thread. | ||||
|   bool window_destroyed_; | ||||
|   | ||||
| @@ -82,7 +82,6 @@ void CefBrowserMainParts::ToolkitInitialized() { | ||||
| #if defined(USE_AURA) | ||||
|   CHECK(aura::Env::GetInstance()); | ||||
|  | ||||
|   DCHECK(!views::ViewsDelegate::views_delegate); | ||||
|   new views::DesktopTestViewsDelegate; | ||||
|  | ||||
| #if defined(OS_WIN) | ||||
| @@ -193,7 +192,9 @@ void CefBrowserMainParts::PostMainMessageLoopRun() { | ||||
| void CefBrowserMainParts::PostDestroyThreads() { | ||||
| #if defined(USE_AURA) | ||||
|   aura::Env::DeleteInstance(); | ||||
|   delete views::ViewsDelegate::views_delegate; | ||||
|  | ||||
|   // Delete the DesktopTestViewsDelegate. | ||||
|   delete views::ViewsDelegate::GetInstance(); | ||||
| #endif | ||||
|  | ||||
| #ifndef NDEBUG | ||||
|   | ||||
| @@ -15,10 +15,10 @@ | ||||
| #include "base/values.h" | ||||
| #include "chrome/browser/net/pref_proxy_config_tracker_impl.h" | ||||
| #include "chrome/browser/prefs/command_line_pref_store.h" | ||||
| #include "chrome/browser/prefs/proxy_config_dictionary.h" | ||||
| #include "chrome/common/chrome_switches.h" | ||||
| #include "chrome/common/pref_names.h" | ||||
| #include "components/pref_registry/pref_registry_syncable.h" | ||||
| #include "components/proxy_config/proxy_config_dictionary.h" | ||||
| #include "extensions/browser/extension_prefs.h" | ||||
| #include "grit/cef_strings.h" | ||||
| #include "ui/base/l10n/l10n_util.h" | ||||
|   | ||||
| @@ -58,9 +58,9 @@ class NET_EXPORT CefURLFetcherResponseWriter : | ||||
|  public: | ||||
|   CefURLFetcherResponseWriter( | ||||
|       CefRefPtr<CefBrowserURLRequest> url_request, | ||||
|       scoped_refptr<base::MessageLoopProxy> message_loop_proxy) | ||||
|       scoped_refptr<base::SequencedTaskRunner> task_runner) | ||||
|       : url_request_(url_request), | ||||
|         message_loop_proxy_(message_loop_proxy) { | ||||
|         task_runner_(task_runner) { | ||||
|   } | ||||
|  | ||||
|   // net::URLFetcherResponseWriter methods. | ||||
| @@ -72,11 +72,11 @@ class NET_EXPORT CefURLFetcherResponseWriter : | ||||
|             int num_bytes, | ||||
|             const net::CompletionCallback& callback) override { | ||||
|     if (url_request_.get()) { | ||||
|       message_loop_proxy_->PostTask(FROM_HERE, | ||||
|       task_runner_->PostTask(FROM_HERE, | ||||
|           base::Bind(&CefURLFetcherResponseWriter::WriteOnClientThread, | ||||
|                      url_request_, scoped_refptr<net::IOBuffer>(buffer), | ||||
|                      num_bytes, callback, | ||||
|                      base::MessageLoop::current()->message_loop_proxy())); | ||||
|                      base::MessageLoop::current()->task_runner())); | ||||
|       return net::ERR_IO_PENDING; | ||||
|     } | ||||
|     return num_bytes; | ||||
| @@ -94,7 +94,7 @@ class NET_EXPORT CefURLFetcherResponseWriter : | ||||
|       scoped_refptr<net::IOBuffer> buffer, | ||||
|       int num_bytes, | ||||
|       const net::CompletionCallback& callback, | ||||
|       scoped_refptr<base::MessageLoopProxy> source_message_loop_proxy) { | ||||
|       scoped_refptr<base::SequencedTaskRunner> source_message_loop_proxy) { | ||||
|     CefRefPtr<CefURLRequestClient> client = url_request->GetClient(); | ||||
|     if (client.get()) | ||||
|       client->OnDownloadData(url_request.get(), buffer->data(), num_bytes); | ||||
| @@ -111,7 +111,7 @@ class NET_EXPORT CefURLFetcherResponseWriter : | ||||
|   } | ||||
|  | ||||
|   CefRefPtr<CefBrowserURLRequest> url_request_; | ||||
|   scoped_refptr<base::MessageLoopProxy> message_loop_proxy_; | ||||
|   scoped_refptr<base::SequencedTaskRunner> task_runner_; | ||||
|  | ||||
|   DISALLOW_COPY_AND_ASSIGN(CefURLFetcherResponseWriter); | ||||
| }; | ||||
| @@ -137,7 +137,7 @@ class CefBrowserURLRequest::Context | ||||
|       request_(request), | ||||
|       client_(client), | ||||
|       request_context_(request_context), | ||||
|       message_loop_proxy_(base::MessageLoop::current()->message_loop_proxy()), | ||||
|       task_runner_(base::MessageLoop::current()->task_runner()), | ||||
|     status_(UR_IO_PENDING), | ||||
|     error_code_(ERR_NONE), | ||||
|     upload_data_size_(0), | ||||
| @@ -147,7 +147,7 @@ class CefBrowserURLRequest::Context | ||||
|   } | ||||
|  | ||||
|   inline bool CalledOnValidThread() { | ||||
|     return message_loop_proxy_->BelongsToCurrentThread(); | ||||
|     return task_runner_->RunsTasksOnCurrentThread(); | ||||
|   } | ||||
|  | ||||
|   bool Start() { | ||||
| @@ -160,14 +160,14 @@ class CefBrowserURLRequest::Context | ||||
|     std::string method = request_->GetMethod(); | ||||
|     base::StringToLowerASCII(&method); | ||||
|     net::URLFetcher::RequestType request_type = net::URLFetcher::GET; | ||||
|     if (LowerCaseEqualsASCII(method, "get")) { | ||||
|     } else if (LowerCaseEqualsASCII(method, "post")) { | ||||
|     if (base::LowerCaseEqualsASCII(method, "get")) { | ||||
|     } else if (base::LowerCaseEqualsASCII(method, "post")) { | ||||
|       request_type = net::URLFetcher::POST; | ||||
|     } else if (LowerCaseEqualsASCII(method, "head")) { | ||||
|     } else if (base::LowerCaseEqualsASCII(method, "head")) { | ||||
|       request_type = net::URLFetcher::HEAD; | ||||
|     } else if (LowerCaseEqualsASCII(method, "delete")) { | ||||
|     } else if (base::LowerCaseEqualsASCII(method, "delete")) { | ||||
|       request_type = net::URLFetcher::DELETE_REQUEST; | ||||
|     } else if (LowerCaseEqualsASCII(method, "put")) { | ||||
|     } else if (base::LowerCaseEqualsASCII(method, "put")) { | ||||
|       request_type = net::URLFetcher::PUT; | ||||
|     } else { | ||||
|       NOTREACHED() << "invalid request type"; | ||||
| @@ -324,7 +324,7 @@ class CefBrowserURLRequest::Context | ||||
|       response_writer.reset(new CefURLFetcherResponseWriter(NULL, NULL)); | ||||
|     } else { | ||||
|       response_writer.reset( | ||||
|           new CefURLFetcherResponseWriter(url_request_, message_loop_proxy_)); | ||||
|           new CefURLFetcherResponseWriter(url_request_, task_runner_)); | ||||
|     } | ||||
|     fetcher_->SaveResponseWithWriter(response_writer.Pass()); | ||||
|  | ||||
| @@ -429,7 +429,7 @@ class CefBrowserURLRequest::Context | ||||
|   ~Context() { | ||||
|     if (fetcher_.get()) { | ||||
|       // Delete the fetcher object on the thread that created it. | ||||
|       message_loop_proxy_->DeleteSoon(FROM_HERE, fetcher_.release()); | ||||
|       task_runner_->DeleteSoon(FROM_HERE, fetcher_.release()); | ||||
|     } | ||||
|   } | ||||
|  | ||||
| @@ -463,7 +463,7 @@ class CefBrowserURLRequest::Context | ||||
|   CefRefPtr<CefRequest> request_; | ||||
|   CefRefPtr<CefURLRequestClient> client_; | ||||
|   CefRefPtr<CefRequestContext> request_context_; | ||||
|   scoped_refptr<base::MessageLoopProxy> message_loop_proxy_; | ||||
|   scoped_refptr<base::SequencedTaskRunner> task_runner_; | ||||
|   scoped_ptr<net::URLFetcher> fetcher_; | ||||
|   scoped_ptr<CefURLFetcherDelegate> fetcher_delegate_; | ||||
|   CefURLRequest::Status status_; | ||||
|   | ||||
| @@ -273,3 +273,8 @@ gcm::GCMDriver* ChromeBrowserProcessStub::gcm_driver() { | ||||
|   NOTIMPLEMENTED(); | ||||
|   return NULL; | ||||
| } | ||||
|  | ||||
| memory::OomPriorityManager* ChromeBrowserProcessStub::GetOomPriorityManager() { | ||||
|   NOTIMPLEMENTED(); | ||||
|   return NULL; | ||||
| } | ||||
|   | ||||
| @@ -96,6 +96,7 @@ class ChromeBrowserProcessStub : public BrowserProcess { | ||||
| #endif | ||||
|   network_time::NetworkTimeTracker* network_time_tracker() override; | ||||
|   gcm::GCMDriver* gcm_driver() override; | ||||
|   memory::OomPriorityManager* GetOomPriorityManager() override; | ||||
|  | ||||
|  private: | ||||
|   std::string locale_; | ||||
|   | ||||
| @@ -209,7 +209,7 @@ const ResourcesMap* CreateResourcesMap() { | ||||
|     const int resource_id = kWebuiResources[i].value; | ||||
|     AddResource(resource_name, resource_id, result); | ||||
|     for (const char* (&alias)[2]: kPathAliases) { | ||||
|       if (StartsWithASCII(resource_name, alias[0], true)) { | ||||
|       if (base::StartsWithASCII(resource_name, alias[0], true)) { | ||||
|         AddResource(alias[1] + resource_name.substr(strlen(alias[0])), | ||||
|                     resource_id, result); | ||||
|       } | ||||
|   | ||||
| @@ -57,7 +57,6 @@ | ||||
| #include "extensions/browser/guest_view/extensions_guest_view_message_filter.h" | ||||
| #include "extensions/browser/io_thread_extension_message_filter.h" | ||||
| #include "extensions/common/constants.h" | ||||
| #include "gin/v8_initializer.h" | ||||
| #include "net/ssl/ssl_cert_request_info.h" | ||||
| #include "third_party/WebKit/public/web/WebWindowFeatures.h" | ||||
| #include "ui/base/ui_base_switches.h" | ||||
| @@ -718,15 +717,6 @@ void CefContentBrowserClient::AppendExtraCommandLineSwitches( | ||||
|                                    arraysize(kSwitchNames)); | ||||
|   } | ||||
|  | ||||
| #if defined(OS_POSIX) && !defined(OS_MACOSX) | ||||
| #if defined(V8_USE_EXTERNAL_STARTUP_DATA) | ||||
|   if (process_type != switches::kZygoteProcess) { | ||||
|     command_line->AppendSwitch(switches::kV8NativesPassedByFD); | ||||
|     command_line->AppendSwitch(switches::kV8SnapshotPassedByFD); | ||||
|   } | ||||
| #endif  // V8_USE_EXTERNAL_STARTUP_DATA | ||||
| #endif  // OS_POSIX && !OS_MACOSX | ||||
|  | ||||
| #if defined(OS_LINUX) | ||||
|   if (process_type == switches::kZygoteProcess) { | ||||
|     // Propagate the following switches to the zygone command line (along with | ||||
| @@ -858,7 +848,8 @@ bool CefContentBrowserClient::CanCreateWindow( | ||||
|     bool opener_suppressed, | ||||
|     content::ResourceContext* context, | ||||
|     int render_process_id, | ||||
|     int opener_id, | ||||
|     int opener_render_view_id, | ||||
|     int opener_render_frame_id, | ||||
|     bool* no_javascript_access) { | ||||
|   CEF_REQUIRE_IOT(); | ||||
|   *no_javascript_access = false; | ||||
| @@ -1003,21 +994,6 @@ void CefContentBrowserClient::GetAdditionalMappedFilesForChildProcess( | ||||
|     const base::CommandLine& command_line, | ||||
|     int child_process_id, | ||||
|     content::FileDescriptorInfo* mappings) { | ||||
| #if defined(V8_USE_EXTERNAL_STARTUP_DATA) | ||||
|   if (v8_natives_fd_.get() == -1 || v8_snapshot_fd_.get() == -1) { | ||||
|     int v8_natives_fd = -1; | ||||
|     int v8_snapshot_fd = -1; | ||||
|     if (gin::V8Initializer::OpenV8FilesForChildProcesses(&v8_natives_fd, | ||||
|                                                          &v8_snapshot_fd)) { | ||||
|       v8_natives_fd_.reset(v8_natives_fd); | ||||
|       v8_snapshot_fd_.reset(v8_snapshot_fd); | ||||
|     } | ||||
|   } | ||||
|   DCHECK(v8_natives_fd_.get() != -1 && v8_snapshot_fd_.get() != -1); | ||||
|   mappings->Share(kV8NativesDataDescriptor, v8_natives_fd_.get()); | ||||
|   mappings->Share(kV8SnapshotDataDescriptor, v8_snapshot_fd_.get()); | ||||
| #endif  // V8_USE_EXTERNAL_STARTUP_DATA | ||||
|  | ||||
|   int crash_signal_fd = GetCrashSignalFD(command_line); | ||||
|   if (crash_signal_fd >= 0) { | ||||
|     mappings->Share(kCrashDumpSignal, crash_signal_fd); | ||||
|   | ||||
| @@ -125,7 +125,8 @@ class CefContentBrowserClient : public content::ContentBrowserClient { | ||||
|                        bool opener_suppressed, | ||||
|                        content::ResourceContext* context, | ||||
|                        int render_process_id, | ||||
|                        int opener_id, | ||||
|                        int opener_render_view_id, | ||||
|                        int opener_render_frame_id, | ||||
|                        bool* no_javascript_access) override; | ||||
|   void ResourceDispatcherHostCreated() override; | ||||
|   void OverrideWebkitPrefs(content::RenderViewHost* rvh, | ||||
| @@ -159,7 +160,7 @@ class CefContentBrowserClient : public content::ContentBrowserClient { | ||||
|     int opener_view_id; | ||||
|     int64 opener_frame_id; | ||||
|     GURL target_url; | ||||
|     base::string16 target_frame_name; | ||||
|     std::string target_frame_name; | ||||
|   }; | ||||
|   void set_last_create_window_params(const LastCreateWindowParams& params); | ||||
|  | ||||
| @@ -176,11 +177,6 @@ class CefContentBrowserClient : public content::ContentBrowserClient { | ||||
|   scoped_ptr<CefResourceDispatcherHostDelegate> | ||||
|       resource_dispatcher_host_delegate_; | ||||
|  | ||||
| #if defined(OS_POSIX) && !defined(OS_MACOSX) | ||||
|   base::ScopedFD v8_natives_fd_; | ||||
|   base::ScopedFD v8_snapshot_fd_; | ||||
| #endif | ||||
|  | ||||
|   base::Lock browser_info_lock_; | ||||
|  | ||||
|   // Access must be protected by |browser_info_lock_|. | ||||
|   | ||||
| @@ -108,8 +108,8 @@ void StreamsPrivateAPI::ExecuteMimeTypeHandler( | ||||
|   CreateResponseHeadersDictionary(stream->response_headers.get(), | ||||
|                                   &info.response_headers.additional_properties); | ||||
|  | ||||
|   scoped_ptr<Event> event( | ||||
|       new Event(streams_private::OnExecuteMimeTypeHandler::kEventName, | ||||
|   scoped_ptr<Event> event(new Event( | ||||
|       events::UNKNOWN, streams_private::OnExecuteMimeTypeHandler::kEventName, | ||||
|       streams_private::OnExecuteMimeTypeHandler::Create(info))); | ||||
|  | ||||
|   EventRouter::Get(browser_context_) | ||||
|   | ||||
| @@ -110,7 +110,8 @@ void EventRouterForwarder::CallEventRouter( | ||||
|     scoped_ptr<base::ListValue> event_args, | ||||
|     content::BrowserContext* restrict_to_profile, | ||||
|     const GURL& event_url) { | ||||
|   scoped_ptr<Event> event(new Event(event_name, event_args.Pass())); | ||||
|   scoped_ptr<Event> event( | ||||
|       new Event(events::UNKNOWN, event_name, event_args.Pass())); | ||||
|   event->restrict_to_browser_context = restrict_to_profile; | ||||
|   event->event_url = event_url; | ||||
|   if (extension_id.empty()) { | ||||
|   | ||||
| @@ -256,22 +256,26 @@ CefExtensionSystem::ComponentExtensionInfo::ComponentExtensionInfo( | ||||
|   extension_id = GenerateId(manifest, root_directory); | ||||
| } | ||||
|  | ||||
| // Implementation based on ComponentLoader::Load and | ||||
| // ExtensionService::AddExtension. | ||||
| const Extension* CefExtensionSystem::LoadExtension( | ||||
|     const ComponentExtensionInfo& info) { | ||||
| // Implementation based on ComponentLoader::CreateExtension. | ||||
| scoped_refptr<const Extension> CefExtensionSystem::CreateExtension( | ||||
|     const ComponentExtensionInfo& info, std::string* utf8_error) { | ||||
|   // TODO(abarth): We should REQUIRE_MODERN_MANIFEST_VERSION once we've updated | ||||
|   //               our component extensions to the new manifest version. | ||||
|   int flags = Extension::REQUIRE_KEY; | ||||
|  | ||||
|   std::string error; | ||||
|  | ||||
|   scoped_refptr<const Extension> extension(Extension::Create( | ||||
|   return Extension::Create( | ||||
|       info.root_directory, | ||||
|       Manifest::COMPONENT, | ||||
|       *info.manifest, | ||||
|       flags, | ||||
|       &error)); | ||||
|       utf8_error); | ||||
| } | ||||
|  | ||||
| // Implementation based on ComponentLoader::Load and | ||||
| // ExtensionService::AddExtension. | ||||
| const Extension* CefExtensionSystem::LoadExtension( | ||||
|     const ComponentExtensionInfo& info) { | ||||
|   std::string error; | ||||
|   scoped_refptr<const Extension> extension(CreateExtension(info, &error)); | ||||
|   if (!extension.get()) { | ||||
|     LOG(ERROR) << error; | ||||
|     return NULL; | ||||
|   | ||||
| @@ -86,6 +86,9 @@ class CefExtensionSystem : public ExtensionSystem { | ||||
|     std::string extension_id; | ||||
|   }; | ||||
|  | ||||
|   scoped_refptr<const Extension> CreateExtension( | ||||
|       const ComponentExtensionInfo& info, std::string* utf8_error); | ||||
|  | ||||
|   // Loads a registered component extension. | ||||
|   const Extension* LoadExtension(const ComponentExtensionInfo& info); | ||||
|  | ||||
|   | ||||
| @@ -5,7 +5,13 @@ | ||||
|  | ||||
| #include "libcef/browser/extensions/extensions_api_client.h" | ||||
|  | ||||
| #include "include/internal/cef_types_wrappers.h" | ||||
| #include "libcef/browser/extensions/extension_web_contents_observer.h" | ||||
| #include "libcef/browser/extensions/mime_handler_view_guest_delegate.h" | ||||
| #include "libcef/browser/extensions/pdf_web_contents_helper_client.h" | ||||
| #include "libcef/browser/printing/print_view_manager.h" | ||||
|  | ||||
| #include "components/pdf/browser/pdf_web_contents_helper.h" | ||||
|  | ||||
| namespace extensions { | ||||
|  | ||||
| @@ -25,4 +31,14 @@ CefExtensionsAPIClient::CreateMimeHandlerViewGuestDelegate( | ||||
|   return make_scoped_ptr(new CefMimeHandlerViewGuestDelegate(guest)); | ||||
| } | ||||
|  | ||||
| void CefExtensionsAPIClient::AttachWebContentsHelpers( | ||||
|     content::WebContents* web_contents) const { | ||||
|   printing::PrintViewManager::CreateForWebContents(web_contents); | ||||
|   pdf::PDFWebContentsHelper::CreateForWebContentsWithClient( | ||||
|       web_contents, | ||||
|       scoped_ptr<pdf::PDFWebContentsHelperClient>( | ||||
|           new CefPDFWebContentsHelperClient())); | ||||
|   CefExtensionWebContentsObserver::CreateForWebContents(web_contents); | ||||
| } | ||||
|  | ||||
| }  // namespace extensions | ||||
|   | ||||
| @@ -19,6 +19,8 @@ class CefExtensionsAPIClient : public ExtensionsAPIClient { | ||||
|   scoped_ptr<MimeHandlerViewGuestDelegate> | ||||
|   CreateMimeHandlerViewGuestDelegate( | ||||
|       MimeHandlerViewGuest* guest) const override; | ||||
|   void AttachWebContentsHelpers(content::WebContents* web_contents) const | ||||
|      override; | ||||
| }; | ||||
|  | ||||
| }  // namespace extensions | ||||
|   | ||||
| @@ -8,6 +8,7 @@ | ||||
| #include "libcef/browser/content_browser_client.h" | ||||
| #include "libcef/browser/extensions/component_extension_resource_manager.h" | ||||
| #include "libcef/browser/extensions/extension_system_factory.h" | ||||
| #include "libcef/browser/extensions/extension_web_contents_observer.h" | ||||
| #include "libcef/browser/extensions/extensions_api_client.h" | ||||
| #include "libcef/browser/extensions/url_request_util.h" | ||||
|  | ||||
| @@ -226,6 +227,12 @@ bool CefExtensionsBrowserClient::IsMinBrowserVersionSupported( | ||||
|   return true; | ||||
| } | ||||
|  | ||||
| ExtensionWebContentsObserver* | ||||
| CefExtensionsBrowserClient::GetExtensionWebContentsObserver( | ||||
|     content::WebContents* web_contents) { | ||||
|   return CefExtensionWebContentsObserver::FromWebContents(web_contents); | ||||
| } | ||||
|  | ||||
| void CefExtensionsBrowserClient::SetAPIClientForTest( | ||||
|     ExtensionsAPIClient* api_client) { | ||||
|   api_client_.reset(api_client); | ||||
|   | ||||
| @@ -81,6 +81,8 @@ class CefExtensionsBrowserClient : public ExtensionsBrowserClient { | ||||
|   ExtensionCache* GetExtensionCache() override; | ||||
|   bool IsBackgroundUpdateAllowed() override; | ||||
|   bool IsMinBrowserVersionSupported(const std::string& min_version) override; | ||||
|   ExtensionWebContentsObserver* GetExtensionWebContentsObserver( | ||||
|       content::WebContents* web_contents) override; | ||||
|  | ||||
|   // Sets the API client. | ||||
|   void SetAPIClientForTest(ExtensionsAPIClient* api_client); | ||||
|   | ||||
| @@ -5,17 +5,11 @@ | ||||
|  | ||||
| #include "libcef/browser/extensions/mime_handler_view_guest_delegate.h" | ||||
|  | ||||
| #include "include/internal/cef_types_wrappers.h" | ||||
| #include "libcef/browser/browser_host_impl.h" | ||||
| #include "libcef/browser/browser_info.h" | ||||
| #include "libcef/browser/content_browser_client.h" | ||||
| #include "libcef/browser/extensions/extension_web_contents_observer.h" | ||||
| #include "libcef/browser/extensions/pdf_web_contents_helper_client.h" | ||||
| #include "libcef/browser/printing/print_view_manager.h" | ||||
| #include "libcef/browser/web_contents_view_osr.h" | ||||
|  | ||||
| #include "components/pdf/browser/pdf_web_contents_helper.h" | ||||
| #include "components/pdf/browser/pdf_web_contents_helper_client.h" | ||||
| #include "content/browser/browser_plugin/browser_plugin_guest.h" | ||||
| #include "content/browser/web_contents/web_contents_impl.h" | ||||
| #include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h" | ||||
| @@ -37,7 +31,7 @@ CefRefPtr<CefBrowserHostImpl> GetOwnerBrowser( | ||||
|  | ||||
| CefMimeHandlerViewGuestDelegate::CefMimeHandlerViewGuestDelegate( | ||||
|     MimeHandlerViewGuest* guest) | ||||
|     : MimeHandlerViewGuestDelegate(guest), guest_(guest) { | ||||
|     : guest_(guest) { | ||||
| } | ||||
|  | ||||
| CefMimeHandlerViewGuestDelegate::~CefMimeHandlerViewGuestDelegate() { | ||||
| @@ -58,32 +52,8 @@ void CefMimeHandlerViewGuestDelegate::OverrideWebContentsCreateParams( | ||||
| bool CefMimeHandlerViewGuestDelegate::OnGuestAttached( | ||||
|     content::WebContentsView* guest_view, | ||||
|     content::WebContentsView* parent_view) { | ||||
|   // Do nothing when the browser is windowless. | ||||
|   return GetOwnerBrowser(guest_)->IsWindowless(); | ||||
| } | ||||
|  | ||||
| bool CefMimeHandlerViewGuestDelegate::OnGuestDetached( | ||||
|     content::WebContentsView* guest_view, | ||||
|     content::WebContentsView* parent_view) { | ||||
|   // Do nothing when the browser is windowless. | ||||
|   return GetOwnerBrowser(guest_)->IsWindowless(); | ||||
| } | ||||
|  | ||||
| bool CefMimeHandlerViewGuestDelegate::CreateViewForWidget( | ||||
|     content::WebContentsView* guest_view, | ||||
|     content::RenderWidgetHost* render_widget_host) { | ||||
|   CefRefPtr<CefBrowserHostImpl> owner_browser = GetOwnerBrowser(guest_); | ||||
|   if (owner_browser->IsWindowless()) { | ||||
|     static_cast<CefWebContentsViewOSR*>(guest_view)->CreateViewForWidget( | ||||
|         render_widget_host, true); | ||||
|     return true; | ||||
|   } | ||||
|   return false; | ||||
| } | ||||
|  | ||||
| // TODO(lazyboy): Investigate ways to move this out to /extensions. | ||||
| void CefMimeHandlerViewGuestDelegate::AttachHelpers() { | ||||
|   content::WebContents* web_contents = guest_->web_contents(); | ||||
|   DCHECK(web_contents); | ||||
|  | ||||
|   // Associate state information with the new WebContents. | ||||
|   content::RenderViewHost* view_host = web_contents->GetRenderViewHost(); | ||||
| @@ -106,14 +76,29 @@ void CefMimeHandlerViewGuestDelegate::AttachHelpers() { | ||||
|             web_contents_impl->GetView()); | ||||
|     view_osr->set_web_contents(web_contents); | ||||
|     view_osr->set_guest(web_contents_impl->GetBrowserPluginGuest()); | ||||
|     return true; | ||||
|   } | ||||
|  | ||||
|   printing::PrintViewManager::CreateForWebContents(web_contents); | ||||
|   pdf::PDFWebContentsHelper::CreateForWebContentsWithClient( | ||||
|       web_contents, | ||||
|       scoped_ptr<pdf::PDFWebContentsHelperClient>( | ||||
|           new CefPDFWebContentsHelperClient())); | ||||
|   CefExtensionWebContentsObserver::CreateForWebContents(web_contents); | ||||
|   return false; | ||||
| } | ||||
|  | ||||
| bool CefMimeHandlerViewGuestDelegate::OnGuestDetached( | ||||
|     content::WebContentsView* guest_view, | ||||
|     content::WebContentsView* parent_view) { | ||||
|   // Do nothing when the browser is windowless. | ||||
|   return GetOwnerBrowser(guest_)->IsWindowless(); | ||||
| } | ||||
|  | ||||
| bool CefMimeHandlerViewGuestDelegate::CreateViewForWidget( | ||||
|     content::WebContentsView* guest_view, | ||||
|     content::RenderWidgetHost* render_widget_host) { | ||||
|   CefRefPtr<CefBrowserHostImpl> owner_browser = GetOwnerBrowser(guest_); | ||||
|   if (owner_browser->IsWindowless()) { | ||||
|     static_cast<CefWebContentsViewOSR*>(guest_view)->CreateViewForWidget( | ||||
|         render_widget_host, true); | ||||
|     return true; | ||||
|   } | ||||
|   return false; | ||||
| } | ||||
|  | ||||
| bool CefMimeHandlerViewGuestDelegate::HandleContextMenu( | ||||
|   | ||||
| @@ -29,7 +29,6 @@ class CefMimeHandlerViewGuestDelegate : public MimeHandlerViewGuestDelegate { | ||||
|   bool CreateViewForWidget( | ||||
|       content::WebContentsView* guest_view, | ||||
|       content::RenderWidgetHost* render_widget_host) override; | ||||
|   void AttachHelpers() override; | ||||
|   bool HandleContextMenu(content::WebContents* web_contents, | ||||
|                          const content::ContextMenuParams& params) override; | ||||
|  | ||||
|   | ||||
| @@ -40,13 +40,13 @@ std::string GetManifest() { | ||||
|       ResourceBundle::GetSharedInstance().GetRawDataResource( | ||||
|           IDR_PDF_MANIFEST).as_string(); | ||||
|   DCHECK(manifest_contents.find(kNameTag) != std::string::npos); | ||||
|   ReplaceFirstSubstringAfterOffset( | ||||
|   base::ReplaceFirstSubstringAfterOffset( | ||||
|       &manifest_contents, 0, kNameTag, kPdfPluginName); | ||||
|  | ||||
|   DCHECK(manifest_contents.find(kIndexTag) != std::string::npos); | ||||
|   std::string index = switches::PdfMaterialUIEnabled() ? | ||||
|       kMaterialIndex : kRegularIndex; | ||||
|   ReplaceSubstringsAfterOffset(&manifest_contents, 0, kIndexTag, index); | ||||
|   base::ReplaceSubstringsAfterOffset(&manifest_contents, 0, kIndexTag, index); | ||||
|   return manifest_contents; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -98,7 +98,8 @@ class URLRequestResourceBundleJob : public net::URLRequestSimpleJob { | ||||
|                       const net::CompletionCallback& callback, | ||||
|                       bool read_result) { | ||||
|     *out_mime_type = *read_mime_type; | ||||
|     if (StartsWithASCII(*read_mime_type, "text/", false)) { | ||||
|     if (base::StartsWith(*read_mime_type, "text/", | ||||
|                          base::CompareCase::INSENSITIVE_ASCII)) { | ||||
|       // All of our HTML files should be UTF-8 and for other resource types | ||||
|       // (like images), charset doesn't matter. | ||||
|       DCHECK(base::IsStringUTF8(base::StringPiece( | ||||
|   | ||||
| @@ -63,7 +63,7 @@ INT_PTR CALLBACK CefJavaScriptDialog::DialogProc(HWND dialog, | ||||
|                 GetWindowTextLength(GetDlgItem(dialog, IDC_PROMPTEDIT)) + 1; | ||||
|             if (length > 1) { | ||||
|               GetDlgItemText(dialog, IDC_PROMPTEDIT, | ||||
|                              WriteInto(&user_input, length), length); | ||||
|                              base::WriteInto(&user_input, length), length); | ||||
|             } | ||||
|           } | ||||
|           break; | ||||
| @@ -94,9 +94,9 @@ CefJavaScriptDialog::CefJavaScriptDialog( | ||||
|     const content::JavaScriptDialogManager::DialogClosedCallback& callback) | ||||
|     : creator_(creator), | ||||
|       callback_(callback), | ||||
|       message_type_(message_type), | ||||
|       message_text_(message_text), | ||||
|       default_prompt_text_(default_prompt_text), | ||||
|       message_type_(message_type) { | ||||
|       default_prompt_text_(default_prompt_text) { | ||||
|   InstallMessageHook(); | ||||
|  | ||||
|   int dialog_type; | ||||
|   | ||||
| @@ -17,7 +17,6 @@ | ||||
| #include "base/files/file_util_proxy.h" | ||||
| #include "base/lazy_instance.h" | ||||
| #include "base/logging.h" | ||||
| #include "base/message_loop/message_loop_proxy.h" | ||||
| #include "base/strings/utf_string_conversions.h" | ||||
| #include "base/values.h" | ||||
| #include "printing/metafile.h" | ||||
|   | ||||
| @@ -397,7 +397,7 @@ class CefCopyFrameGenerator { | ||||
|  | ||||
| // Used to control the VSync rate in subprocesses when BeginFrame scheduling is | ||||
| // enabled. | ||||
| class CefBeginFrameTimer : public cc::TimeSourceClient { | ||||
| class CefBeginFrameTimer : public cc::DelayBasedTimeSourceClient { | ||||
|  public: | ||||
|   CefBeginFrameTimer(int frame_rate_threshold_ms, | ||||
|                      const base::Closure& callback) | ||||
| @@ -418,7 +418,7 @@ class CefBeginFrameTimer : public cc::TimeSourceClient { | ||||
|  | ||||
|   void SetFrameRateThresholdMs(int frame_rate_threshold_ms) { | ||||
|     time_source_->SetTimebaseAndInterval( | ||||
|         time_source_->Now(), | ||||
|         base::TimeTicks::Now(), | ||||
|         base::TimeDelta::FromMilliseconds(frame_rate_threshold_ms)); | ||||
|   } | ||||
|  | ||||
| @@ -429,7 +429,7 @@ class CefBeginFrameTimer : public cc::TimeSourceClient { | ||||
|   } | ||||
|  | ||||
|   const base::Closure callback_; | ||||
|   scoped_refptr<cc::DelayBasedTimeSource> time_source_; | ||||
|   scoped_ptr<cc::DelayBasedTimeSource> time_source_; | ||||
|  | ||||
|   DISALLOW_COPY_AND_ASSIGN(CefBeginFrameTimer); | ||||
| }; | ||||
| @@ -474,7 +474,7 @@ CefRenderWidgetHostViewOSR::CefRenderWidgetHostViewOSR( | ||||
|   compositor_.reset( | ||||
|       new ui::Compositor(compositor_widget_, | ||||
|                          content::GetContextFactory(), | ||||
|                          base::MessageLoopProxy::current())); | ||||
|                          base::ThreadTaskRunnerHandle::Get())); | ||||
| #endif | ||||
|   compositor_->SetDelegate(this); | ||||
|   compositor_->SetRootLayer(root_layer_.get()); | ||||
|   | ||||
| @@ -120,7 +120,7 @@ extern "C" { | ||||
|     // We ignore commands that insert characters, because this was causing | ||||
|     // strange behavior (e.g. tab always inserted a tab rather than moving to | ||||
|     // the next field on the page). | ||||
|     if (!StartsWithASCII(command, "insert", false)) | ||||
|     if (!base::StartsWithASCII(command, "insert", false)) | ||||
|       editCommands_.push_back(content::EditCommand(command, "")); | ||||
|   } else { | ||||
|     renderWidgetHostView_->render_widget_host()->Send( | ||||
|   | ||||
| @@ -15,7 +15,7 @@ namespace { | ||||
| // Create the temporary file and then execute |callback| on the thread | ||||
| // represented by |message_loop_proxy|.  | ||||
| void CreateTemporaryFileOnFileThread( | ||||
|     scoped_refptr<base::MessageLoopProxy> message_loop_proxy, | ||||
|     scoped_refptr<base::SequencedTaskRunner> message_loop_proxy, | ||||
|     base::Callback<void(const base::FilePath&)> callback) { | ||||
|   CEF_REQUIRE_FILET(); | ||||
|   base::FilePath file_path; | ||||
| @@ -81,7 +81,7 @@ bool CefTraceSubscriber::EndTracing( | ||||
|     // Create a new temporary file path on the FILE thread, then continue. | ||||
|     CEF_POST_TASK(CEF_FILET, | ||||
|         base::Bind(CreateTemporaryFileOnFileThread, | ||||
|             base::MessageLoop::current()->message_loop_proxy(), | ||||
|             base::MessageLoop::current()->task_runner(), | ||||
|             base::Bind(&CefTraceSubscriber::ContinueEndTracing, | ||||
|                        weak_factory_.GetWeakPtr(), callback))); | ||||
|     return true; | ||||
|   | ||||
| @@ -184,6 +184,7 @@ net::URLRequestContext* CefURLRequestContextGetterImpl::GetURLRequestContext() { | ||||
|             url_security_manager_.get(), | ||||
|             url_request_context_->host_resolver(), | ||||
|             std::string(), | ||||
|             std::string(), | ||||
|             false, | ||||
|             false)); | ||||
|     storage_->set_http_server_properties( | ||||
| @@ -372,5 +373,5 @@ void CefURLRequestContextGetterImpl::CreateProxyConfigService() { | ||||
|  | ||||
|   proxy_config_service_.reset( | ||||
|       net::ProxyService::CreateSystemProxyConfigService( | ||||
|           io_loop_->message_loop_proxy(), file_loop_->message_loop_proxy())); | ||||
|           io_loop_->task_runner(), file_loop_->task_runner())); | ||||
| } | ||||
|   | ||||
| @@ -47,7 +47,7 @@ static const SchemeToFactory kBuiltinFactories[] = { | ||||
|  | ||||
| bool IsBuiltinScheme(const std::string& scheme) { | ||||
|   for (size_t i = 0; i < arraysize(kBuiltinFactories); ++i) | ||||
|     if (LowerCaseEqualsASCII(scheme, kBuiltinFactories[i].scheme)) | ||||
|     if (base::LowerCaseEqualsASCII(scheme, kBuiltinFactories[i].scheme)) | ||||
|       return true; | ||||
|   return false; | ||||
| } | ||||
|   | ||||
| @@ -98,7 +98,7 @@ CefString CefDragDataImpl::GetFileName() { | ||||
|   // Images without ALT text will only have a file extension so we need to | ||||
|   // synthesize one from the provided extension and URL. | ||||
|   if (file_name.BaseName().RemoveExtension().empty()) { | ||||
|     CefString extension = file_name.Extension(); | ||||
|     base::FilePath::StringType extension = file_name.Extension(); | ||||
|     // Retrieve the name from the URL. | ||||
|     CefString suggested_file_name = | ||||
|         net::GetSuggestedFilename(data_.url, "", "", "", "", ""); | ||||
|   | ||||
| @@ -452,16 +452,16 @@ bool CefMainDelegate::BasicStartupComplete(int* exit_code) { | ||||
|   std::string log_severity_str = | ||||
|       command_line->GetSwitchValueASCII(switches::kLogSeverity); | ||||
|   if (!log_severity_str.empty()) { | ||||
|     if (LowerCaseEqualsASCII(log_severity_str, | ||||
|     if (base::LowerCaseEqualsASCII(log_severity_str, | ||||
|                                    switches::kLogSeverity_Verbose)) { | ||||
|       log_severity = logging::LOG_VERBOSE; | ||||
|     } else if (LowerCaseEqualsASCII(log_severity_str, | ||||
|     } else if (base::LowerCaseEqualsASCII(log_severity_str, | ||||
|                                           switches::kLogSeverity_Warning)) { | ||||
|       log_severity = logging::LOG_WARNING; | ||||
|     } else if (LowerCaseEqualsASCII(log_severity_str, | ||||
|     } else if (base::LowerCaseEqualsASCII(log_severity_str, | ||||
|                                           switches::kLogSeverity_Error)) { | ||||
|       log_severity = logging::LOG_ERROR; | ||||
|     } else if (LowerCaseEqualsASCII(log_severity_str, | ||||
|     } else if (base::LowerCaseEqualsASCII(log_severity_str, | ||||
|                                           switches::kLogSeverity_Disable)) { | ||||
|       log_severity = LOGSEVERITY_DISABLE; | ||||
|     } | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| #include "base/location.h" | ||||
| #include "base/logging.h" | ||||
| #include "base/message_loop/message_loop.h" | ||||
| #include "base/message_loop/message_loop_proxy.h" | ||||
| #include "base/thread_task_runner_handle.h" | ||||
| #include "content/public/browser/browser_thread.h" | ||||
|  | ||||
| using content::BrowserThread; | ||||
| @@ -94,7 +94,7 @@ scoped_refptr<base::SequencedTaskRunner> | ||||
|         BrowserThread::UnsafeGetMessageLoopForThread( | ||||
|             static_cast<BrowserThread::ID>(id)); | ||||
|     if (message_loop) | ||||
|       return message_loop->message_loop_proxy(); | ||||
|       return message_loop->task_runner(); | ||||
|   } | ||||
|  | ||||
|   return NULL; | ||||
| @@ -107,7 +107,7 @@ scoped_refptr<base::SequencedTaskRunner> | ||||
|  | ||||
|   // Check for a MessageLoopProxy. This covers all of the named browser and | ||||
|   // render process threads, plus a few extra. | ||||
|   task_runner = base::MessageLoopProxy::current(); | ||||
|   task_runner = base::ThreadTaskRunnerHandle::Get(); | ||||
|  | ||||
|   if (!task_runner.get()) { | ||||
|     // Check for a WebWorker thread. | ||||
|   | ||||
| @@ -668,10 +668,10 @@ void CefBrowserImpl::OnRequest(const Cef_Request_Params& params) { | ||||
|         params.arguments.GetString(0, &command); | ||||
|         DCHECK(!command.empty()); | ||||
|  | ||||
|         if (LowerCaseEqualsASCII(command, "getsource")) { | ||||
|         if (base::LowerCaseEqualsASCII(command, "getsource")) { | ||||
|           response = web_frame->contentAsMarkup().utf8(); | ||||
|           success = true; | ||||
|         } else if (LowerCaseEqualsASCII(command, "gettext")) { | ||||
|         } else if (base::LowerCaseEqualsASCII(command, "gettext")) { | ||||
|           response = webkit_glue::DumpDocumentText(web_frame); | ||||
|           success = true; | ||||
|         } else if (web_frame->executeCommand(base::UTF8ToUTF16(command))) { | ||||
|   | ||||
| @@ -247,9 +247,6 @@ void CefContentRendererClient::WebKitInitialized() { | ||||
|   // Create global objects associated with the default Isolate. | ||||
|   CefV8IsolateCreated(); | ||||
|  | ||||
|   blink::WebRuntimeFeatures::enableMediaPlayer( | ||||
|       media::IsMediaLibraryInitialized()); | ||||
|  | ||||
|   // TODO(cef): Enable these once the implementation supports it. | ||||
|   blink::WebRuntimeFeatures::enableNotifications(false); | ||||
|  | ||||
| @@ -425,7 +422,7 @@ void CefContentRendererClient::RenderThreadStarted() { | ||||
|   const base::CommandLine* command_line = | ||||
|       base::CommandLine::ForCurrentProcess(); | ||||
|  | ||||
|   render_task_runner_ = base::MessageLoopProxy::current(); | ||||
|   render_task_runner_ = base::ThreadTaskRunnerHandle::Get(); | ||||
|   observer_.reset(new CefRenderProcessObserver()); | ||||
|   web_cache_observer_.reset(new web_cache::WebCacheRenderProcessObserver()); | ||||
|  | ||||
| @@ -446,13 +443,6 @@ void CefContentRendererClient::RenderThreadStarted() { | ||||
|     base::MessageLoop::current()->AddDestructionObserver(this); | ||||
|   } | ||||
|  | ||||
|   // Note that under Linux, the media library will normally already have | ||||
|   // been initialized by the Zygote before this instance became a Renderer. | ||||
|   base::FilePath media_path; | ||||
|   PathService::Get(content::DIR_MEDIA_LIBS, &media_path); | ||||
|   if (!media_path.empty()) | ||||
|     media::InitializeMediaLibrary(media_path); | ||||
|  | ||||
|   blink::WebPrerenderingSupport::initialize(new CefPrerenderingSupport()); | ||||
|  | ||||
|   // Retrieve the new render thread information synchronously. | ||||
| @@ -566,7 +556,7 @@ bool CefContentRendererClient::OverrideCreatePlugin( | ||||
|   if (orig_mime_type == content::kBrowserPluginMimeType) { | ||||
|     bool guest_view_api_available = false; | ||||
|     extension_dispatcher_->script_context_set().ForEach( | ||||
|         render_frame->GetRenderView(), | ||||
|         render_frame, | ||||
|         base::Bind(&IsGuestViewApiAvailableToScriptContext, | ||||
|                    &guest_view_api_available)); | ||||
|     if (guest_view_api_available) | ||||
|   | ||||
| @@ -104,8 +104,8 @@ bool CefDOMNodeImpl::IsEditable() { | ||||
|  | ||||
|     // Also return true if it has an ARIA role of 'textbox'. | ||||
|     for (unsigned i = 0; i < element.attributeCount(); ++i) { | ||||
|       if (LowerCaseEqualsASCII(element.attributeLocalName(i), "role")) { | ||||
|         if (LowerCaseEqualsASCII(element.attributeValue(i), "textbox")) | ||||
|       if (base::LowerCaseEqualsASCII(element.attributeLocalName(i), "role")) { | ||||
|         if (base::LowerCaseEqualsASCII(element.attributeValue(i), "textbox")) | ||||
|           return true; | ||||
|         break; | ||||
|       } | ||||
|   | ||||
| @@ -81,7 +81,7 @@ class CefRenderURLRequest::Context | ||||
|     : url_request_(url_request), | ||||
|       request_(request), | ||||
|       client_(client), | ||||
|       message_loop_proxy_(base::MessageLoop::current()->message_loop_proxy()), | ||||
|       task_runner_(base::MessageLoop::current()->task_runner()), | ||||
|       status_(UR_IO_PENDING), | ||||
|       error_code_(ERR_NONE), | ||||
|       upload_data_size_(0), | ||||
| @@ -93,7 +93,7 @@ class CefRenderURLRequest::Context | ||||
|   } | ||||
|  | ||||
|   inline bool CalledOnValidThread() { | ||||
|     return message_loop_proxy_->BelongsToCurrentThread(); | ||||
|     return task_runner_->RunsTasksOnCurrentThread(); | ||||
|   } | ||||
|  | ||||
|   bool Start() { | ||||
| @@ -233,7 +233,7 @@ class CefRenderURLRequest::Context | ||||
|   CefRefPtr<CefRenderURLRequest> url_request_; | ||||
|   CefRefPtr<CefRequest> request_; | ||||
|   CefRefPtr<CefURLRequestClient> client_; | ||||
|   scoped_refptr<base::MessageLoopProxy> message_loop_proxy_; | ||||
|   scoped_refptr<base::SequencedTaskRunner> task_runner_; | ||||
|   CefURLRequest::Status status_; | ||||
|   CefURLRequest::ErrorCode error_code_; | ||||
|   CefRefPtr<CefResponse> response_; | ||||
|   | ||||
| @@ -117,13 +117,6 @@ patches = [ | ||||
|     'name': 'prefs_content_1161', | ||||
|     'path': '../content/', | ||||
|   }, | ||||
|   { | ||||
|     # 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/', | ||||
|   }, | ||||
|   { | ||||
|     # Fix drag&drop of combined text and URL data on Linux/Aura. | ||||
|     # https://codereview.chromium.org/208313009 | ||||
| @@ -137,12 +130,6 @@ patches = [ | ||||
|     'name': 'spellcheck_137', | ||||
|     'path': '../chrome/browser/spellchecker/', | ||||
|   }, | ||||
|   { | ||||
|     # Fix crash when calling LoadURL/Reload from OnRenderProcessTerminated. | ||||
|     # https://code.google.com/p/chromiumembedded/issues/detail?id=1429 | ||||
|     'name': 'render_process_host_1429', | ||||
|     'path': '../content/browser/renderer_host/', | ||||
|   }, | ||||
|   { | ||||
|     # Fix multiple definition of 'AtomicOps_Internalx86CPUFeatures' on Linux. | ||||
|     # https://code.google.com/p/chromium/issues/detail?id=455263 | ||||
| @@ -178,7 +165,9 @@ patches = [ | ||||
|   { | ||||
|     # Enable support for print header and footer. | ||||
|     # https://bitbucket.org/chromiumembedded/cef/issue/1478 | ||||
|     'name': 'print_header_footer_1478', | ||||
|     # Fix printing of PDF documents via PrintToPDF. | ||||
|     # https://bitbucket.org/chromiumembedded/cef/issues/1565 | ||||
|     'name': 'print_header_footer_1478_1565', | ||||
|     'path': '../components/', | ||||
|   }, | ||||
| ] | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| diff --git browser/browser_plugin/browser_plugin_guest.cc browser/browser_plugin/browser_plugin_guest.cc | ||||
| index f438805..d199c6b 100644 | ||||
| index 092a045..baea4bb 100644 | ||||
| --- browser/browser_plugin/browser_plugin_guest.cc | ||||
| +++ browser/browser_plugin/browser_plugin_guest.cc | ||||
| @@ -19,7 +19,7 @@ | ||||
| @@ -23,7 +23,7 @@ | ||||
|  #include "content/browser/renderer_host/render_widget_host_impl.h" | ||||
|  #include "content/browser/renderer_host/render_widget_host_view_base.h" | ||||
|  #include "content/browser/web_contents/web_contents_impl.h" | ||||
| @@ -11,29 +11,33 @@ index f438805..d199c6b 100644 | ||||
|  #include "content/common/browser_plugin/browser_plugin_constants.h" | ||||
|  #include "content/common/browser_plugin/browser_plugin_messages.h" | ||||
|  #include "content/common/content_constants_internal.h" | ||||
| @@ -262,15 +262,16 @@ void BrowserPluginGuest::InitInternal( | ||||
| @@ -277,21 +277,20 @@ void BrowserPluginGuest::InitInternal( | ||||
|    guest_window_rect_ = params.view_rect; | ||||
|   | ||||
|    if (owner_web_contents_ != owner_web_contents) { | ||||
| -    WebContentsViewGuest* new_view = | ||||
| -    WebContentsViewGuest* new_view = nullptr; | ||||
| +    WebContentsView* new_view = nullptr; | ||||
|      if (!base::CommandLine::ForCurrentProcess()->HasSwitch( | ||||
|              switches::kSitePerProcess)) { | ||||
| -      new_view = | ||||
| -          static_cast<WebContentsViewGuest*>(GetWebContents()->GetView()); | ||||
| -    if (owner_web_contents_) | ||||
| +      new_view = GetWebContents()->GetView(); | ||||
|      } | ||||
|   | ||||
|      if (owner_web_contents_ && new_view) | ||||
| -      new_view->OnGuestDetached(owner_web_contents_->GetView()); | ||||
| +    if (owner_web_contents_) { | ||||
| +      delegate_->OnGuestDetached(GetWebContents()->GetView(), | ||||
| +                                 owner_web_contents_->GetView()); | ||||
| +    } | ||||
| +      delegate_->OnGuestDetached(new_view, owner_web_contents_->GetView()); | ||||
|   | ||||
|      // Once a BrowserPluginGuest has an embedder WebContents, it's considered to | ||||
|      // be attached. | ||||
|      owner_web_contents_ = owner_web_contents; | ||||
|      if (new_view) | ||||
| -      new_view->OnGuestAttached(owner_web_contents_->GetView()); | ||||
| +    delegate_->OnGuestAttached(GetWebContents()->GetView(), | ||||
| +                               owner_web_contents_->GetView()); | ||||
| +      delegate_->OnGuestAttached(new_view, owner_web_contents_->GetView()); | ||||
|    } | ||||
|   | ||||
|    RendererPreferences* renderer_prefs = | ||||
| @@ -656,12 +657,9 @@ void BrowserPluginGuest::OnWillAttachComplete( | ||||
| @@ -733,12 +732,9 @@ void BrowserPluginGuest::OnWillAttachComplete( | ||||
|      // This will trigger a callback to RenderViewReady after a round-trip IPC. | ||||
|      static_cast<RenderViewHostImpl*>( | ||||
|          GetWebContents()->GetRenderViewHost())->Init(); | ||||
|   | ||||
| @@ -1,15 +1,21 @@ | ||||
| diff --git web_contents_impl.cc web_contents_impl.cc | ||||
| index 4ab69e9..7c119d1 100644 | ||||
| index 3aedda6..b4aa061 100644 | ||||
| --- web_contents_impl.cc | ||||
| +++ web_contents_impl.cc | ||||
| @@ -1232,22 +1232,29 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { | ||||
| @@ -1312,24 +1312,31 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { | ||||
|        params.main_frame_routing_id); | ||||
|    frame_tree_.root()->SetFrameName(params.main_frame_name); | ||||
|   | ||||
| -  WebContentsViewDelegate* delegate = | ||||
| -      GetContentClient()->browser()->GetWebContentsViewDelegate(this); | ||||
| - | ||||
| -  if (browser_plugin_guest_) { | ||||
| +  if (params.view && params.delegate_view) { | ||||
| +    view_.reset(params.view); | ||||
| +    render_view_host_delegate_view_ = params.delegate_view; | ||||
| +  } | ||||
|   | ||||
| -  if (browser_plugin_guest_ && | ||||
| -      !base::CommandLine::ForCurrentProcess()->HasSwitch( | ||||
| -          switches::kSitePerProcess)) { | ||||
| -    scoped_ptr<WebContentsView> platform_view(CreateWebContentsView( | ||||
| -        this, delegate, &render_view_host_delegate_view_)); | ||||
| - | ||||
| @@ -22,16 +28,13 @@ index 4ab69e9..7c119d1 100644 | ||||
| -    // Regular WebContentsView. | ||||
| -    view_.reset(CreateWebContentsView( | ||||
| -        this, delegate, &render_view_host_delegate_view_)); | ||||
| +  if (params.view && params.delegate_view) { | ||||
| +    view_.reset(params.view); | ||||
| +    render_view_host_delegate_view_ = params.delegate_view; | ||||
| +  } | ||||
| + | ||||
| +  if (!view_) { | ||||
| +    WebContentsViewDelegate* delegate = | ||||
| +        GetContentClient()->browser()->GetWebContentsViewDelegate(this); | ||||
| + | ||||
| +    if (browser_plugin_guest_) { | ||||
| +    if (browser_plugin_guest_ && | ||||
| +        !base::CommandLine::ForCurrentProcess()->HasSwitch( | ||||
| +            switches::kSitePerProcess)) { | ||||
| +      scoped_ptr<WebContentsView> platform_view(CreateWebContentsView( | ||||
| +          this, delegate, &render_view_host_delegate_view_)); | ||||
| + | ||||
| @@ -48,7 +51,7 @@ index 4ab69e9..7c119d1 100644 | ||||
|    } | ||||
|    CHECK(render_view_host_delegate_view_); | ||||
|    CHECK(view_.get()); | ||||
| @@ -1583,6 +1590,9 @@ void WebContentsImpl::CreateNewWindow( | ||||
| @@ -1665,6 +1672,9 @@ void WebContentsImpl::CreateNewWindow( | ||||
|        static_cast<SessionStorageNamespaceImpl*>(session_storage_namespace); | ||||
|    CHECK(session_storage_namespace_impl->IsFromContext(dom_storage_context)); | ||||
|   | ||||
| @@ -58,7 +61,7 @@ index 4ab69e9..7c119d1 100644 | ||||
|    if (delegate_ && | ||||
|        !delegate_->ShouldCreateWebContents(this, | ||||
|                                            route_id, | ||||
| @@ -1591,7 +1601,9 @@ void WebContentsImpl::CreateNewWindow( | ||||
| @@ -1673,7 +1683,9 @@ void WebContentsImpl::CreateNewWindow( | ||||
|                                            params.frame_name, | ||||
|                                            params.target_url, | ||||
|                                            partition_id, | ||||
| @@ -69,12 +72,12 @@ index 4ab69e9..7c119d1 100644 | ||||
|      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 | ||||
| @@ -1612,6 +1624,8 @@ void WebContentsImpl::CreateNewWindow( | ||||
|    create_params.main_frame_name = base::UTF16ToUTF8(params.frame_name); | ||||
|    create_params.opener = this; | ||||
| @@ -1695,6 +1707,8 @@ void WebContentsImpl::CreateNewWindow( | ||||
|    create_params.opener_render_process_id = GetRenderProcessHost()->GetID(); | ||||
|    create_params.opener_render_frame_id = params.opener_render_frame_id; | ||||
|    create_params.opener_suppressed = params.opener_suppressed; | ||||
| +  create_params.view = view; | ||||
| +  create_params.delegate_view = delegate_view; | ||||
|    if (params.disposition == NEW_BACKGROUND_TAB) | ||||
|      create_params.initially_hidden = true; | ||||
|    create_params.renderer_initiated_creation = true; | ||||
|    create_params.renderer_initiated_creation = | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| diff --git common.gypi common.gypi | ||||
| index cfa4352..b701fcc 100644 | ||||
| index a0ebbf3..10dfe71 100644 | ||||
| --- common.gypi | ||||
| +++ common.gypi | ||||
| @@ -9,6 +9,9 @@ | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| diff --git ui/browser.cc ui/browser.cc | ||||
| index 1cc78f2..e2c4de0 100644 | ||||
| index 242f79b..66326ef 100644 | ||||
| --- ui/browser.cc | ||||
| +++ ui/browser.cc | ||||
| @@ -1606,7 +1606,9 @@ bool Browser::ShouldCreateWebContents( | ||||
|      const base::string16& frame_name, | ||||
| @@ -1666,7 +1666,9 @@ bool Browser::ShouldCreateWebContents( | ||||
|      const std::string& frame_name, | ||||
|      const GURL& target_url, | ||||
|      const std::string& partition_id, | ||||
| -    content::SessionStorageNamespace* session_storage_namespace) { | ||||
| @@ -14,11 +14,11 @@ index 1cc78f2..e2c4de0 100644 | ||||
|      // If a BackgroundContents is created, suppress the normal WebContents. | ||||
|      return !MaybeCreateBackgroundContents(route_id, | ||||
| diff --git ui/browser.h ui/browser.h | ||||
| index c4a3a62..0cfedfa 100644 | ||||
| index 9bb2137..6dbdcbf 100644 | ||||
| --- ui/browser.h | ||||
| +++ ui/browser.h | ||||
| @@ -590,7 +590,9 @@ class Browser : public TabStripModelObserver, | ||||
|        const base::string16& frame_name, | ||||
| @@ -593,7 +593,9 @@ class Browser : public TabStripModelObserver, | ||||
|        const std::string& frame_name, | ||||
|        const GURL& target_url, | ||||
|        const std::string& partition_id, | ||||
| -      content::SessionStorageNamespace* session_storage_namespace) override; | ||||
| @@ -27,4 +27,4 @@ index c4a3a62..0cfedfa 100644 | ||||
| +      content::RenderViewHostDelegateView** delegate_view) override; | ||||
|    void WebContentsCreated(content::WebContents* source_contents, | ||||
|                            int opener_render_frame_id, | ||||
|                            const base::string16& frame_name, | ||||
|                            const std::string& frame_name, | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc | ||||
| index 68ee72c..6c8e8eb7 100644 | ||||
| index 35db2b9..b9adc3f 100644 | ||||
| --- content/browser/compositor/gpu_process_transport_factory.cc | ||||
| +++ content/browser/compositor/gpu_process_transport_factory.cc | ||||
| @@ -141,6 +141,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() { | ||||
| @@ -139,6 +139,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() { | ||||
|  scoped_ptr<cc::SoftwareOutputDevice> | ||||
|  GpuProcessTransportFactory::CreateSoftwareOutputDevice( | ||||
|      ui::Compositor* compositor) { | ||||
| @@ -17,7 +17,7 @@ index 68ee72c..6c8e8eb7 100644 | ||||
|    return scoped_ptr<cc::SoftwareOutputDevice>( | ||||
|        new SoftwareOutputDeviceWin(software_backing_.get(), compositor)); | ||||
| diff --git ui/compositor/compositor.h ui/compositor/compositor.h | ||||
| index e82c49d..97b438bf 100644 | ||||
| index f703771..307a2ab 100644 | ||||
| --- ui/compositor/compositor.h | ||||
| +++ ui/compositor/compositor.h | ||||
| @@ -15,6 +15,7 @@ | ||||
| @@ -56,7 +56,7 @@ index e82c49d..97b438bf 100644 | ||||
|    // Sets the root of the layer tree drawn by this Compositor. The root layer | ||||
|    // must have no parent. The compositor's root layer is reset if the root layer | ||||
|    // is destroyed. NULL can be passed to reset the root layer, in which case the | ||||
| @@ -331,6 +346,8 @@ class COMPOSITOR_EXPORT Compositor | ||||
| @@ -335,6 +350,8 @@ class COMPOSITOR_EXPORT Compositor | ||||
|   | ||||
|    ui::ContextFactory* context_factory_; | ||||
|   | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| diff --git public/renderer/content_renderer_client.cc public/renderer/content_renderer_client.cc | ||||
| index 524a6cd..29aac98 100644 | ||||
| index 7c6957b..c7270f1 100644 | ||||
| --- public/renderer/content_renderer_client.cc | ||||
| +++ public/renderer/content_renderer_client.cc | ||||
| @@ -101,7 +101,6 @@ bool ContentRendererClient::AllowPopup() { | ||||
| @@ -16,13 +16,13 @@ index 524a6cd..29aac98 100644 | ||||
|  } | ||||
| -#endif | ||||
|   | ||||
|  bool ContentRendererClient::ShouldFork(blink::WebFrame* frame, | ||||
|  bool ContentRendererClient::ShouldFork(blink::WebLocalFrame* frame, | ||||
|                                         const GURL& url, | ||||
| diff --git public/renderer/content_renderer_client.h public/renderer/content_renderer_client.h | ||||
| index 8c7d4fe..b88a6c9 100644 | ||||
| index 2a0517a..9a0d4e4 100644 | ||||
| --- public/renderer/content_renderer_client.h | ||||
| +++ public/renderer/content_renderer_client.h | ||||
| @@ -197,7 +197,6 @@ class CONTENT_EXPORT ContentRendererClient { | ||||
| @@ -198,7 +198,6 @@ class CONTENT_EXPORT ContentRendererClient { | ||||
|    // Returns true if a popup window should be allowed. | ||||
|    virtual bool AllowPopup(); | ||||
|   | ||||
| @@ -30,7 +30,7 @@ index 8c7d4fe..b88a6c9 100644 | ||||
|    // TODO(sgurun) This callback is deprecated and will be removed as soon | ||||
|    // as android webview completes implementation of a resource throttle based | ||||
|    // shouldoverrideurl implementation. See crbug.com/325351 | ||||
| @@ -212,7 +211,6 @@ class CONTENT_EXPORT ContentRendererClient { | ||||
| @@ -213,7 +212,6 @@ class CONTENT_EXPORT ContentRendererClient { | ||||
|                                  blink::WebNavigationType type, | ||||
|                                  blink::WebNavigationPolicy default_policy, | ||||
|                                  bool is_redirect); | ||||
| @@ -39,10 +39,10 @@ index 8c7d4fe..b88a6c9 100644 | ||||
|    // Returns true if we should fork a new process for the given navigation. | ||||
|    // If |send_referrer| is set to false (which is the default), no referrer | ||||
| diff --git renderer/render_frame_impl.cc renderer/render_frame_impl.cc | ||||
| index f67a40a..4b5b3f2 100644 | ||||
| index bee5039..a818d6e 100644 | ||||
| --- renderer/render_frame_impl.cc | ||||
| +++ renderer/render_frame_impl.cc | ||||
| @@ -4088,7 +4088,6 @@ void RenderFrameImpl::OnFailedNavigation( | ||||
| @@ -4186,7 +4186,6 @@ void RenderFrameImpl::OnFailedNavigation( | ||||
|  WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation( | ||||
|      RenderFrame* render_frame, | ||||
|      const NavigationPolicyInfo& info) { | ||||
| @@ -50,7 +50,7 @@ index f67a40a..4b5b3f2 100644 | ||||
|    // The handlenavigation API is deprecated and will be removed once | ||||
|    // crbug.com/325351 is resolved. | ||||
|    if (info.urlRequest.url() != GURL(kSwappedOutURL) && | ||||
| @@ -4103,7 +4102,6 @@ WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation( | ||||
| @@ -4201,7 +4200,6 @@ WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation( | ||||
|            info.isRedirect)) { | ||||
|      return blink::WebNavigationPolicyIgnore; | ||||
|    } | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| diff --git browser/guest_view/extension_options/extension_options_guest.cc browser/guest_view/extension_options/extension_options_guest.cc | ||||
| index c882315..ff6d25f 100644 | ||||
| index cb9cdd5..8ad7ee0 100644 | ||||
| --- browser/guest_view/extension_options/extension_options_guest.cc | ||||
| +++ browser/guest_view/extension_options/extension_options_guest.cc | ||||
| @@ -208,7 +208,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents( | ||||
|      const base::string16& frame_name, | ||||
| @@ -195,7 +195,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents( | ||||
|      const std::string& frame_name, | ||||
|      const GURL& target_url, | ||||
|      const std::string& partition_id, | ||||
| -    content::SessionStorageNamespace* session_storage_namespace) { | ||||
| @@ -14,11 +14,11 @@ index c882315..ff6d25f 100644 | ||||
|    // view is used for displaying embedded extension options, we want any | ||||
|    // external links to be opened in a new tab, not in a new guest view. | ||||
| diff --git browser/guest_view/extension_options/extension_options_guest.h browser/guest_view/extension_options/extension_options_guest.h | ||||
| index b62d81a..8176f84 100644 | ||||
| index 916b5ed..1dec304 100644 | ||||
| --- browser/guest_view/extension_options/extension_options_guest.h | ||||
| +++ browser/guest_view/extension_options/extension_options_guest.h | ||||
| @@ -54,7 +54,9 @@ class ExtensionOptionsGuest | ||||
|        const base::string16& frame_name, | ||||
| @@ -48,7 +48,9 @@ class ExtensionOptionsGuest | ||||
|        const std::string& frame_name, | ||||
|        const GURL& target_url, | ||||
|        const std::string& partition_id, | ||||
| -      content::SessionStorageNamespace* session_storage_namespace) override; | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| diff --git resource_ids resource_ids | ||||
| index 20fc28b..85f1566 100644 | ||||
| index 49973d1..86cc523 100644 | ||||
| --- resource_ids | ||||
| +++ resource_ids | ||||
| @@ -14,6 +14,12 @@ | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| diff --git input_method_win.cc input_method_win.cc | ||||
| index 29413f5..e1e2bd0 100644 | ||||
| index 0870fde..23d8038 100644 | ||||
| --- input_method_win.cc | ||||
| +++ input_method_win.cc | ||||
| @@ -571,8 +571,9 @@ bool InputMethodWin::IsWindowFocused(const TextInputClient* client) const { | ||||
| @@ -567,8 +567,9 @@ bool InputMethodWin::IsWindowFocused(const TextInputClient* client) const { | ||||
|    // receiving keyboard input as long as it is an active window. This works well | ||||
|    // even when the |attached_window_handle| becomes active but has not received | ||||
|    // WM_FOCUS yet. | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| diff --git message_loop.cc message_loop.cc | ||||
| index 4222c77..bbc04b4 100644 | ||||
| index 4fecbc5..7298151 100644 | ||||
| --- message_loop.cc | ||||
| +++ message_loop.cc | ||||
| @@ -134,12 +134,6 @@ MessageLoop::~MessageLoop() { | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| diff --git mime_handler_view_guest.cc mime_handler_view_guest.cc | ||||
| index 61fd142..ed9a58d 100644 | ||||
| index 2f44662..26524c4 100644 | ||||
| --- mime_handler_view_guest.cc | ||||
| +++ mime_handler_view_guest.cc | ||||
| @@ -142,6 +142,8 @@ void MimeHandlerViewGuest::CreateWebContents( | ||||
| @@ -134,6 +134,8 @@ void MimeHandlerViewGuest::CreateWebContents( | ||||
|    WebContents::CreateParams params(browser_context(), | ||||
|                                     guest_site_instance.get()); | ||||
|    params.guest_delegate = this; | ||||
| @@ -11,7 +11,7 @@ index 61fd142..ed9a58d 100644 | ||||
|    callback.Run(WebContents::Create(params)); | ||||
|  } | ||||
|   | ||||
| @@ -183,6 +185,30 @@ bool MimeHandlerViewGuest::StopFinding(content::StopFindAction action) { | ||||
| @@ -172,6 +174,30 @@ bool MimeHandlerViewGuest::StopFinding(content::StopFindAction action) { | ||||
|    return false; | ||||
|  } | ||||
|   | ||||
| @@ -43,10 +43,10 @@ index 61fd142..ed9a58d 100644 | ||||
|      content::WebContents* source, | ||||
|      const content::OpenURLParams& params) { | ||||
| diff --git mime_handler_view_guest.h mime_handler_view_guest.h | ||||
| index f95aab7..fe4944e 100644 | ||||
| index 33ff28e..2d9a00e 100644 | ||||
| --- mime_handler_view_guest.h | ||||
| +++ mime_handler_view_guest.h | ||||
| @@ -76,6 +76,13 @@ class MimeHandlerViewGuest : public guest_view::GuestView<MimeHandlerViewGuest>, | ||||
| @@ -71,6 +71,13 @@ class MimeHandlerViewGuest : | ||||
|              const base::string16& search_text, | ||||
|              const blink::WebFindOptions& options) override; | ||||
|    bool StopFinding(content::StopFindAction action) override; | ||||
| @@ -90,7 +90,7 @@ index 63b81b8..0f63f48 100644 | ||||
|      content::WebContents* web_contents, | ||||
|      const content::ContextMenuParams& params) { | ||||
| diff --git mime_handler_view_guest_delegate.h mime_handler_view_guest_delegate.h | ||||
| index b9a6fe3..6a2c3b0 100644 | ||||
| index e065104..f68b66c 100644 | ||||
| --- mime_handler_view_guest_delegate.h | ||||
| +++ mime_handler_view_guest_delegate.h | ||||
| @@ -6,10 +6,11 @@ | ||||
| @@ -106,10 +106,11 @@ index b9a6fe3..6a2c3b0 100644 | ||||
|  }  // namespace content | ||||
|   | ||||
|  namespace extensions { | ||||
| @@ -22,6 +23,21 @@ class MimeHandlerViewGuestDelegate { | ||||
|    explicit MimeHandlerViewGuestDelegate(MimeHandlerViewGuest* guest) {} | ||||
| @@ -21,6 +22,21 @@ class MimeHandlerViewGuestDelegate { | ||||
|   public: | ||||
|    MimeHandlerViewGuestDelegate() {} | ||||
|    virtual ~MimeHandlerViewGuestDelegate() {} | ||||
|   | ||||
| +   | ||||
| +  // Provides an opportunity to supply a custom view implementation. | ||||
| +  virtual void OverrideWebContentsCreateParams( | ||||
| +      content::WebContents::CreateParams* params) {} | ||||
| @@ -124,7 +125,6 @@ index b9a6fe3..6a2c3b0 100644 | ||||
| +  virtual bool CreateViewForWidget( | ||||
| +      content::WebContentsView* guest_view, | ||||
| +      content::RenderWidgetHost* render_widget_host); | ||||
| + | ||||
|    // Attaches helpers upon initializing the WebContents. | ||||
|    virtual void AttachHelpers() {} | ||||
|   | ||||
|    // Handles context menu, or returns false if unhandled. | ||||
|    virtual bool HandleContextMenu(content::WebContents* web_contents, | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| diff --git url_request.h url_request.h | ||||
| index a2b2f6b..150f19f 100644 | ||||
| index 4176689..1fe5976 100644 | ||||
| --- url_request.h | ||||
| +++ url_request.h | ||||
| @@ -614,10 +614,10 @@ class NET_EXPORT URLRequest : NON_EXPORTED_BASE(public base::NonThreadSafe), | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| diff --git public/common/common_param_traits_macros.h public/common/common_param_traits_macros.h | ||||
| index 9c8e453..03f5d51 100644 | ||||
| index 060fbb9..f028062 100644 | ||||
| --- public/common/common_param_traits_macros.h | ||||
| +++ public/common/common_param_traits_macros.h | ||||
| @@ -192,6 +192,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences) | ||||
| @@ -195,6 +195,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences) | ||||
|    IPC_STRUCT_TRAITS_MEMBER(main_frame_resizes_are_orientation_changes) | ||||
|    IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale) | ||||
|    IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled) | ||||
| @@ -11,10 +11,10 @@ index 9c8e453..03f5d51 100644 | ||||
|    IPC_STRUCT_TRAITS_MEMBER(navigate_on_drag_drop) | ||||
|    IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled) | ||||
| diff --git public/common/web_preferences.cc public/common/web_preferences.cc | ||||
| index 6279aba..242fd16 100644 | ||||
| index e140001..42f3b2d 100644 | ||||
| --- public/common/web_preferences.cc | ||||
| +++ public/common/web_preferences.cc | ||||
| @@ -187,6 +187,7 @@ WebPreferences::WebPreferences() | ||||
| @@ -170,6 +170,7 @@ WebPreferences::WebPreferences() | ||||
|        pinch_overlay_scrollbar_thickness(0), | ||||
|        use_solid_color_scrollbars(false), | ||||
|        navigate_on_drag_drop(true), | ||||
| @@ -23,10 +23,10 @@ index 6279aba..242fd16 100644 | ||||
|        slimming_paint_enabled(false), | ||||
|        cookie_enabled(true), | ||||
| diff --git public/common/web_preferences.h public/common/web_preferences.h | ||||
| index 5dfc5d5..150bdf5 100644 | ||||
| index e8d7d13..493c743 100644 | ||||
| --- public/common/web_preferences.h | ||||
| +++ public/common/web_preferences.h | ||||
| @@ -179,6 +179,7 @@ struct CONTENT_EXPORT WebPreferences { | ||||
| @@ -171,6 +171,7 @@ struct CONTENT_EXPORT WebPreferences { | ||||
|    int pinch_overlay_scrollbar_thickness; | ||||
|    bool use_solid_color_scrollbars; | ||||
|    bool navigate_on_drag_drop; | ||||
| @@ -35,10 +35,10 @@ index 5dfc5d5..150bdf5 100644 | ||||
|    bool slimming_paint_enabled; | ||||
|   | ||||
| diff --git renderer/render_view_impl.cc renderer/render_view_impl.cc | ||||
| index 53ba225..d5ebdd8 100644 | ||||
| index 12f950e..61fc3c1 100644 | ||||
| --- renderer/render_view_impl.cc | ||||
| +++ renderer/render_view_impl.cc | ||||
| @@ -945,6 +945,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs, | ||||
| @@ -1002,6 +1002,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs, | ||||
|   | ||||
|    settings->setJavaEnabled(prefs.java_enabled); | ||||
|   | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| diff --git printing/renderer/print_web_view_helper.cc printing/renderer/print_web_view_helper.cc
 | ||||
| index 313d12d..558052c 100644
 | ||||
| index d315efa..a312f77 100644
 | ||||
| --- printing/renderer/print_web_view_helper.cc
 | ||||
| +++ printing/renderer/print_web_view_helper.cc
 | ||||
| @@ -75,6 +75,7 @@ const double kMinDpi = 1.0;
 | ||||
| @@ -18,7 +18,7 @@ index 313d12d..558052c 100644 | ||||
|   | ||||
|  int GetDPI(const PrintMsg_Print_Params* print_params) { | ||||
|  #if defined(OS_MACOSX) | ||||
| @@ -474,7 +474,6 @@ blink::WebView* FrameReference::view() {
 | ||||
| @@ -480,7 +480,6 @@ blink::WebView* FrameReference::view() {
 | ||||
|    return view_; | ||||
|  } | ||||
|   | ||||
| @@ -26,7 +26,7 @@ index 313d12d..558052c 100644 | ||||
|  // static - Not anonymous so that platform implementations can use it. | ||||
|  void PrintWebViewHelper::PrintHeaderAndFooter( | ||||
|      blink::WebCanvas* canvas, | ||||
| @@ -532,7 +531,6 @@ void PrintWebViewHelper::PrintHeaderAndFooter(
 | ||||
| @@ -538,7 +537,6 @@ void PrintWebViewHelper::PrintHeaderAndFooter(
 | ||||
|    web_view->close(); | ||||
|    frame->close(); | ||||
|  } | ||||
| @@ -34,8 +34,35 @@ index 313d12d..558052c 100644 | ||||
|   | ||||
|  // static - Not anonymous so that platform implementations can use it. | ||||
|  float PrintWebViewHelper::RenderPageContent(blink::WebFrame* frame, | ||||
| @@ -813,6 +811,7 @@ PrintWebViewHelper::PrintWebViewHelper(content::RenderView* render_view,
 | ||||
|        print_for_preview_(false), | ||||
|        delegate_(delegate.Pass()), | ||||
|        print_node_in_progress_(false), | ||||
| +      force_print_preview_(false),
 | ||||
|        is_loading_(false), | ||||
|        is_scripted_preview_delayed_(false), | ||||
|        ipc_nesting_level_(0), | ||||
| @@ -1254,7 +1253,9 @@ void PrintWebViewHelper::OnInitiatePrintPreview(bool selection_only) {
 | ||||
|    // that instead. | ||||
|    auto plugin = delegate_->GetPdfElement(frame); | ||||
|    if (!plugin.isNull()) { | ||||
| +    force_print_preview_ = true;
 | ||||
|      PrintNode(plugin); | ||||
| +    force_print_preview_ = false;
 | ||||
|      return; | ||||
|    } | ||||
|    print_preview_context_.InitWithFrame(frame); | ||||
| @@ -1287,7 +1288,7 @@ void PrintWebViewHelper::PrintNode(const blink::WebNode& node) {
 | ||||
|   | ||||
|    // Make a copy of the node, in case RenderView::OnContextMenuClosed resets | ||||
|    // its |context_menu_node_|. | ||||
| -  if (!g_is_preview_enabled_) {
 | ||||
| +  if (!g_is_preview_enabled_ && !force_print_preview_) {
 | ||||
|      blink::WebNode duplicate_node(node); | ||||
|      Print(duplicate_node.document().frame(), duplicate_node, false); | ||||
|    } else { | ||||
| diff --git printing/renderer/print_web_view_helper.h printing/renderer/print_web_view_helper.h
 | ||||
| index 341ec8e..47777b8 100644
 | ||||
| index 54179ff..0c48602 100644
 | ||||
| --- printing/renderer/print_web_view_helper.h
 | ||||
| +++ printing/renderer/print_web_view_helper.h
 | ||||
| @@ -309,7 +309,6 @@ class PrintWebViewHelper
 | ||||
| @@ -54,11 +81,19 @@ index 341ec8e..47777b8 100644 | ||||
|   | ||||
|    bool GetPrintFrame(blink::WebLocalFrame** frame); | ||||
|   | ||||
| @@ -498,6 +496,7 @@ class PrintWebViewHelper
 | ||||
|    ScriptingThrottler scripting_throttler_; | ||||
|   | ||||
|    bool print_node_in_progress_; | ||||
| +  bool force_print_preview_;
 | ||||
|    PrintPreviewContext print_preview_context_; | ||||
|    bool is_loading_; | ||||
|    bool is_scripted_preview_delayed_; | ||||
| diff --git printing/renderer/print_web_view_helper_linux.cc printing/renderer/print_web_view_helper_linux.cc
 | ||||
| index 79b82e9..8d1f6f4 100644
 | ||||
| index 61a1a1d..f931979 100644
 | ||||
| --- printing/renderer/print_web_view_helper_linux.cc
 | ||||
| +++ printing/renderer/print_web_view_helper_linux.cc
 | ||||
| @@ -169,7 +169,6 @@ void PrintWebViewHelper::PrintPageInternal(
 | ||||
| @@ -172,7 +172,6 @@ void PrintWebViewHelper::PrintPageInternal(
 | ||||
|    MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile); | ||||
|    skia::SetIsDraftMode(*canvas, is_print_ready_metafile_sent_); | ||||
|   | ||||
| @@ -66,7 +101,7 @@ index 79b82e9..8d1f6f4 100644 | ||||
|    if (params.params.display_header_footer) { | ||||
|      // |page_number| is 0-based, so 1 is added. | ||||
|      // TODO(vitalybuka) : why does it work only with 1.25? | ||||
| @@ -178,7 +177,6 @@ void PrintWebViewHelper::PrintPageInternal(
 | ||||
| @@ -181,7 +180,6 @@ void PrintWebViewHelper::PrintPageInternal(
 | ||||
|                           scale_factor / 1.25, page_layout_in_points, | ||||
|                           params.params); | ||||
|    } | ||||
| @@ -1,8 +1,8 @@ | ||||
| diff --git web_contents.cc web_contents.cc | ||||
| index a0c8a4d..1c102ae 100644 | ||||
| index 887f242..a7cc318 100644 | ||||
| --- web_contents.cc | ||||
| +++ web_contents.cc | ||||
| @@ -19,7 +19,9 @@ WebContents::CreateParams::CreateParams(BrowserContext* context) | ||||
| @@ -21,7 +21,9 @@ WebContents::CreateParams::CreateParams(BrowserContext* context) | ||||
|        initially_hidden(false), | ||||
|        guest_delegate(nullptr), | ||||
|        context(nullptr), | ||||
| @@ -13,7 +13,7 @@ index a0c8a4d..1c102ae 100644 | ||||
|   | ||||
|  WebContents::CreateParams::CreateParams( | ||||
|      BrowserContext* context, SiteInstance* site) | ||||
| @@ -33,7 +35,9 @@ WebContents::CreateParams::CreateParams( | ||||
| @@ -36,7 +38,9 @@ WebContents::CreateParams::CreateParams( | ||||
|        initially_hidden(false), | ||||
|        guest_delegate(nullptr), | ||||
|        context(nullptr), | ||||
| @@ -25,7 +25,7 @@ index a0c8a4d..1c102ae 100644 | ||||
|  WebContents::CreateParams::~CreateParams() { | ||||
|  } | ||||
| diff --git web_contents.h web_contents.h | ||||
| index 768ece2..9c2d863 100644 | ||||
| index 4ed6a40..2bbba64 100644 | ||||
| --- web_contents.h | ||||
| +++ web_contents.h | ||||
| @@ -52,9 +52,11 @@ class PageState; | ||||
| @@ -40,7 +40,7 @@ index 768ece2..9c2d863 100644 | ||||
|  struct CustomContextMenuContext; | ||||
|  struct DropData; | ||||
|  struct Manifest; | ||||
| @@ -139,6 +141,10 @@ class WebContents : public PageNavigator, | ||||
| @@ -141,6 +143,10 @@ class WebContents : public PageNavigator, | ||||
|      // RenderFrame, have already been created on the renderer side, and | ||||
|      // WebContents construction should take this into account. | ||||
|      bool renderer_initiated_creation; | ||||
| @@ -52,11 +52,11 @@ index 768ece2..9c2d863 100644 | ||||
|   | ||||
|    // Creates a new WebContents. | ||||
| diff --git web_contents_delegate.cc web_contents_delegate.cc | ||||
| index b1fc250..555e25d 100644 | ||||
| index 016097b..4fb00ed 100644 | ||||
| --- web_contents_delegate.cc | ||||
| +++ web_contents_delegate.cc | ||||
| @@ -136,7 +136,9 @@ bool WebContentsDelegate::ShouldCreateWebContents( | ||||
|      const base::string16& frame_name, | ||||
| @@ -138,7 +138,9 @@ bool WebContentsDelegate::ShouldCreateWebContents( | ||||
|      const std::string& frame_name, | ||||
|      const GURL& target_url, | ||||
|      const std::string& partition_id, | ||||
| -    SessionStorageNamespace* session_storage_namespace) { | ||||
| @@ -67,10 +67,10 @@ index b1fc250..555e25d 100644 | ||||
|  } | ||||
|   | ||||
| diff --git web_contents_delegate.h web_contents_delegate.h | ||||
| index 66439df..c8779c9 100644 | ||||
| index 34ddd26..7a850af 100644 | ||||
| --- web_contents_delegate.h | ||||
| +++ web_contents_delegate.h | ||||
| @@ -37,9 +37,11 @@ class DownloadItem; | ||||
| @@ -38,9 +38,11 @@ class DownloadItem; | ||||
|  class JavaScriptDialogManager; | ||||
|  class PageState; | ||||
|  class RenderViewHost; | ||||
| @@ -82,8 +82,8 @@ index 66439df..c8779c9 100644 | ||||
|  struct ColorSuggestion; | ||||
|  struct ContextMenuParams; | ||||
|  struct DropData; | ||||
| @@ -296,7 +298,9 @@ class CONTENT_EXPORT WebContentsDelegate { | ||||
|        const base::string16& frame_name, | ||||
| @@ -298,7 +300,9 @@ class CONTENT_EXPORT WebContentsDelegate { | ||||
|        const std::string& frame_name, | ||||
|        const GURL& target_url, | ||||
|        const std::string& partition_id, | ||||
| -      SessionStorageNamespace* session_storage_namespace); | ||||
|   | ||||
| @@ -1,22 +0,0 @@ | ||||
| diff --git render_process_host_impl.cc render_process_host_impl.cc | ||||
| index f32d2bb..9874d50 100644 | ||||
| --- render_process_host_impl.cc | ||||
| +++ render_process_host_impl.cc | ||||
| @@ -2120,6 +2120,8 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead, | ||||
|  #endif | ||||
|    RemoveUserData(kSessionStorageHolderKey); | ||||
|   | ||||
| +  mojo_application_host_.reset(new MojoApplicationHost); | ||||
| + | ||||
|    IDMap<IPC::Listener>::iterator iter(&listeners_); | ||||
|    while (!iter.IsAtEnd()) { | ||||
|      iter.GetCurrentValue()->OnMessageReceived( | ||||
| @@ -2129,8 +2131,6 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead, | ||||
|      iter.Advance(); | ||||
|    } | ||||
|   | ||||
| -  mojo_application_host_.reset(new MojoApplicationHost); | ||||
| - | ||||
|    // It's possible that one of the calls out to the observers might have caused | ||||
|    // this object to be no longer needed. | ||||
|    if (delayed_cleanup_needed_) | ||||
| @@ -1,5 +1,5 @@ | ||||
| diff --git spellcheck_factory.cc spellcheck_factory.cc | ||||
| index edbed40..b9a192b 100644 | ||||
| index 4c61d34..9e4f3d1 100644 | ||||
| --- spellcheck_factory.cc | ||||
| +++ spellcheck_factory.cc | ||||
| @@ -16,6 +16,13 @@ | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| diff --git os_exchange_data_provider_aurax11.cc os_exchange_data_provider_aurax11.cc | ||||
| index c9285a0..f82f90a 100644 | ||||
| index e7a815c..8188710 100644 | ||||
| --- os_exchange_data_provider_aurax11.cc | ||||
| +++ os_exchange_data_provider_aurax11.cc | ||||
| @@ -158,7 +158,8 @@ void OSExchangeDataProviderAuraX11::SetURL(const GURL& url, | ||||
| @@ -159,7 +159,8 @@ void OSExchangeDataProviderAuraX11::SetURL(const GURL& url, | ||||
|      format_map_.Insert(atom_cache_.GetAtom(kMimeTypeMozillaURL), mem); | ||||
|   | ||||
|      // Set a string fallback as well. | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| diff --git web_dialog_view.cc web_dialog_view.cc | ||||
| index 4a5a114..b28fb3c 100644 | ||||
| index 4b5e8b2..1501d0b 100644 | ||||
| --- web_dialog_view.cc | ||||
| +++ web_dialog_view.cc | ||||
| @@ -340,7 +340,9 @@ bool WebDialogView::ShouldCreateWebContents( | ||||
|      const base::string16& frame_name, | ||||
|      const std::string& frame_name, | ||||
|      const GURL& target_url, | ||||
|      const std::string& partition_id, | ||||
| -    content::SessionStorageNamespace* session_storage_namespace) { | ||||
| @@ -14,11 +14,11 @@ index 4a5a114..b28fb3c 100644 | ||||
|      return delegate_->HandleShouldCreateWebContents(); | ||||
|    return true; | ||||
| diff --git web_dialog_view.h web_dialog_view.h | ||||
| index 22550dd..8d72f6d 100644 | ||||
| index dc6598d..ce2616c 100644 | ||||
| --- web_dialog_view.h | ||||
| +++ web_dialog_view.h | ||||
| @@ -119,7 +119,9 @@ class WEBVIEW_EXPORT WebDialogView : public views::ClientView, | ||||
|        const base::string16& frame_name, | ||||
|        const std::string& frame_name, | ||||
|        const GURL& target_url, | ||||
|        const std::string& partition_id, | ||||
| -      content::SessionStorageNamespace* session_storage_namespace) override; | ||||
|   | ||||
| @@ -12,10 +12,10 @@ index a8e088c..838b6a0 100644 | ||||
|    return host ? host->GetAcceleratedWidget() : NULL; | ||||
|  } | ||||
| diff --git desktop_aura/desktop_window_tree_host_win.cc desktop_aura/desktop_window_tree_host_win.cc | ||||
| index a663f38..a3dacca 100644 | ||||
| index 93b3c5b..e0e505e 100644 | ||||
| --- desktop_aura/desktop_window_tree_host_win.cc | ||||
| +++ desktop_aura/desktop_window_tree_host_win.cc | ||||
| @@ -132,7 +132,9 @@ void DesktopWindowTreeHostWin::Init(aura::Window* content_window, | ||||
| @@ -131,7 +131,9 @@ void DesktopWindowTreeHostWin::Init(aura::Window* content_window, | ||||
|                          native_widget_delegate_); | ||||
|   | ||||
|    HWND parent_hwnd = NULL; | ||||
| @@ -26,7 +26,7 @@ index a663f38..a3dacca 100644 | ||||
|      parent_hwnd = params.parent->GetHost()->GetAcceleratedWidget(); | ||||
|   | ||||
|    message_handler_->set_remove_standard_frame(params.remove_standard_frame); | ||||
| @@ -799,6 +801,7 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() { | ||||
| @@ -793,6 +795,7 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() { | ||||
|   | ||||
|  void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) { | ||||
|    // TODO(beng): inform the native_widget_delegate_. | ||||
| @@ -35,10 +35,10 @@ index a663f38..a3dacca 100644 | ||||
|   | ||||
|  void DesktopWindowTreeHostWin::HandleNativeBlur(HWND focused_window) { | ||||
| diff --git desktop_aura/desktop_window_tree_host_x11.cc desktop_aura/desktop_window_tree_host_x11.cc | ||||
| index 4a8f64c..369867b 100644 | ||||
| index a56deb7..a5e8422 100644 | ||||
| --- desktop_aura/desktop_window_tree_host_x11.cc | ||||
| +++ desktop_aura/desktop_window_tree_host_x11.cc | ||||
| @@ -153,7 +153,8 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11( | ||||
| @@ -171,7 +171,8 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11( | ||||
|        window_parent_(NULL), | ||||
|        custom_window_shape_(false), | ||||
|        urgency_hint_set_(false), | ||||
| @@ -48,7 +48,7 @@ index 4a8f64c..369867b 100644 | ||||
|  } | ||||
|   | ||||
|  DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() { | ||||
| @@ -353,7 +354,8 @@ void DesktopWindowTreeHostX11::CloseNow() { | ||||
| @@ -381,7 +382,8 @@ void DesktopWindowTreeHostX11::CloseNow() { | ||||
|    // Actually free our native resources. | ||||
|    if (ui::PlatformEventSource::GetInstance()) | ||||
|      ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this); | ||||
| @@ -58,7 +58,7 @@ index 4a8f64c..369867b 100644 | ||||
|    xwindow_ = None; | ||||
|   | ||||
|    desktop_native_widget_aura_->OnHostClosed(); | ||||
| @@ -466,6 +468,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement( | ||||
| @@ -525,6 +527,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement( | ||||
|  } | ||||
|   | ||||
|  gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const { | ||||
| @@ -67,7 +67,7 @@ index 4a8f64c..369867b 100644 | ||||
|    return ToDIPRect(bounds_in_pixels_); | ||||
|  } | ||||
|   | ||||
| @@ -906,6 +910,8 @@ void DesktopWindowTreeHostX11::HideImpl() { | ||||
| @@ -962,6 +966,8 @@ void DesktopWindowTreeHostX11::HideImpl() { | ||||
|  } | ||||
|   | ||||
|  gfx::Rect DesktopWindowTreeHostX11::GetBounds() const { | ||||
| @@ -76,7 +76,7 @@ index 4a8f64c..369867b 100644 | ||||
|    return bounds_in_pixels_; | ||||
|  } | ||||
|   | ||||
| @@ -962,6 +968,8 @@ void DesktopWindowTreeHostX11::SetBounds( | ||||
| @@ -1018,6 +1024,8 @@ void DesktopWindowTreeHostX11::SetBounds( | ||||
|  } | ||||
|   | ||||
|  gfx::Point DesktopWindowTreeHostX11::GetLocationOnNativeScreen() const { | ||||
| @@ -85,7 +85,7 @@ index 4a8f64c..369867b 100644 | ||||
|    return bounds_in_pixels_.origin(); | ||||
|  } | ||||
|   | ||||
| @@ -1082,9 +1090,13 @@ void DesktopWindowTreeHostX11::InitX11Window( | ||||
| @@ -1131,9 +1139,13 @@ void DesktopWindowTreeHostX11::InitX11Window( | ||||
|      } | ||||
|    } | ||||
|   | ||||
| @@ -100,7 +100,7 @@ index 4a8f64c..369867b 100644 | ||||
|                             bounds_in_pixels_.y(), bounds_in_pixels_.width(), | ||||
|                             bounds_in_pixels_.height(), | ||||
|                             0,  // border width | ||||
| @@ -1731,6 +1743,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent( | ||||
| @@ -1782,6 +1794,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent( | ||||
|        } | ||||
|        break; | ||||
|      } | ||||
| @@ -112,19 +112,19 @@ index 4a8f64c..369867b 100644 | ||||
|        if (xev->xfocus.mode != NotifyGrab) { | ||||
|          ReleaseCapture(); | ||||
| diff --git desktop_aura/desktop_window_tree_host_x11.h desktop_aura/desktop_window_tree_host_x11.h | ||||
| index e2fd61f..46434af 100644 | ||||
| index 787372d..d9d57b8 100644 | ||||
| --- desktop_aura/desktop_window_tree_host_x11.h | ||||
| +++ desktop_aura/desktop_window_tree_host_x11.h | ||||
| @@ -86,6 +86,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 | ||||
|    // Deallocates the internal list of open windows. | ||||
|    static void CleanUpWindowList(); | ||||
| @@ -85,6 +85,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 | ||||
|    // internal list of open windows. | ||||
|    static void CleanUpWindowList(void (*func)(aura::Window* window)); | ||||
|   | ||||
| +  void set_screen_bounds(const gfx::Rect& bounds) { screen_bounds_ = bounds; } | ||||
| + | ||||
|   protected: | ||||
|    // Overridden from DesktopWindowTreeHost: | ||||
|    void Init(aura::Window* content_window, | ||||
| @@ -265,6 +267,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 | ||||
| @@ -262,6 +264,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 | ||||
|    // The bounds of |xwindow_|. | ||||
|    gfx::Rect bounds_in_pixels_; | ||||
|   | ||||
| @@ -134,7 +134,7 @@ index e2fd61f..46434af 100644 | ||||
|    // Whenever the bounds are set, we keep the previous set of bounds around so | ||||
|    // we can have a better chance of getting the real | ||||
|    // |restored_bounds_in_pixels_|. Window managers tend to send a Configure | ||||
| @@ -351,6 +356,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 | ||||
| @@ -348,6 +353,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 | ||||
|   | ||||
|    base::WeakPtrFactory<DesktopWindowTreeHostX11> close_widget_factory_; | ||||
|   | ||||
| @@ -145,10 +145,10 @@ index e2fd61f..46434af 100644 | ||||
|  }; | ||||
|   | ||||
| diff --git widget.cc widget.cc | ||||
| index b4d2a48..3890ab0 100644 | ||||
| index 280969a..8ea7f0b 100644 | ||||
| --- widget.cc | ||||
| +++ widget.cc | ||||
| @@ -110,6 +110,7 @@ Widget::InitParams::InitParams() | ||||
| @@ -118,6 +118,7 @@ Widget::InitParams::InitParams() | ||||
|        use_system_default_icon(false), | ||||
|        show_state(ui::SHOW_STATE_DEFAULT), | ||||
|        parent(NULL), | ||||
| @@ -156,7 +156,7 @@ index b4d2a48..3890ab0 100644 | ||||
|        native_widget(NULL), | ||||
|        desktop_window_tree_host(NULL), | ||||
|        layer_type(ui::LAYER_TEXTURED), | ||||
| @@ -133,6 +134,7 @@ Widget::InitParams::InitParams(Type type) | ||||
| @@ -141,6 +142,7 @@ Widget::InitParams::InitParams(Type type) | ||||
|        use_system_default_icon(false), | ||||
|        show_state(ui::SHOW_STATE_DEFAULT), | ||||
|        parent(NULL), | ||||
| @@ -164,7 +164,7 @@ index b4d2a48..3890ab0 100644 | ||||
|        native_widget(NULL), | ||||
|        desktop_window_tree_host(NULL), | ||||
|        layer_type(ui::LAYER_TEXTURED), | ||||
| @@ -307,7 +309,7 @@ void Widget::Init(const InitParams& in_params) { | ||||
| @@ -315,7 +317,7 @@ void Widget::Init(const InitParams& in_params) { | ||||
|    InitParams params = in_params; | ||||
|   | ||||
|    params.child |= (params.type == InitParams::TYPE_CONTROL); | ||||
| @@ -173,7 +173,7 @@ index b4d2a48..3890ab0 100644 | ||||
|   | ||||
|    if (params.opacity == views::Widget::InitParams::INFER_OPACITY && | ||||
|        params.type != views::Widget::InitParams::TYPE_WINDOW && | ||||
| @@ -370,7 +372,12 @@ void Widget::Init(const InitParams& in_params) { | ||||
| @@ -378,7 +380,12 @@ void Widget::Init(const InitParams& in_params) { | ||||
|        Minimize(); | ||||
|    } else if (params.delegate) { | ||||
|      SetContentsView(params.delegate->GetContentsView()); | ||||
| @@ -188,10 +188,10 @@ index b4d2a48..3890ab0 100644 | ||||
|    // This must come after SetContentsView() or it might not be able to find | ||||
|    // the correct NativeTheme (on Linux). See http://crbug.com/384492 | ||||
| diff --git widget.h widget.h | ||||
| index 9c21ea2..aa610fd 100644 | ||||
| index 320332b..8d46883 100644 | ||||
| --- widget.h | ||||
| +++ widget.h | ||||
| @@ -234,6 +234,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, | ||||
| @@ -233,6 +233,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, | ||||
|      // Whether the widget should be maximized or minimized. | ||||
|      ui::WindowShowState show_state; | ||||
|      gfx::NativeView parent; | ||||
|   | ||||
| @@ -1,31 +0,0 @@ | ||||
| diff --git ThemeMac.mm ThemeMac.mm | ||||
| index 20a4ff0..38cb2c4 100644 | ||||
| --- ThemeMac.mm | ||||
| +++ ThemeMac.mm | ||||
| @@ -482,7 +482,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 54e9c9a..075e076 100644 | ||||
| --- WebCoreNSCellExtras.h | ||||
| +++ WebCoreNSCellExtras.h | ||||
| @@ -26,11 +26,11 @@ | ||||
|  #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_MIN_REQUIRED < 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 | ||||
|   | ||||
| -@interface NSCell (WebCoreFocusRingDrawing) | ||||
| +PLATFORM_EXPORT @interface NSCell (WebCoreFocusRingDrawing) | ||||
|  - (void)_web_drawFocusRingWithFrame:(NSRect)cellFrame inView:(NSView *)controlView; | ||||
|  @end | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| diff --git Source/web/ChromeClientImpl.cpp Source/web/ChromeClientImpl.cpp | ||||
| index e1fd006..fa9486b 100644 | ||||
| index 58e8166..23c0cea 100644 | ||||
| --- Source/web/ChromeClientImpl.cpp | ||||
| +++ Source/web/ChromeClientImpl.cpp | ||||
| @@ -768,7 +768,7 @@ bool ChromeClientImpl::hasOpenedPopup() const | ||||
| @@ -774,7 +774,7 @@ bool ChromeClientImpl::hasOpenedPopup() const | ||||
|  PassRefPtrWillBeRawPtr<PopupMenu> ChromeClientImpl::openPopupMenu(LocalFrame& frame, PopupMenuClient* client) | ||||
|  { | ||||
|      notifyPopupOpeningObservers(); | ||||
| @@ -12,7 +12,7 @@ index e1fd006..fa9486b 100644 | ||||
|   | ||||
|      ASSERT(RuntimeEnabledFeatures::pagePopupEnabled()); | ||||
| diff --git Source/web/WebViewImpl.cpp Source/web/WebViewImpl.cpp | ||||
| index 9a4161a..cf68085 100644 | ||||
| index 1f8413a..efeff15 100644 | ||||
| --- Source/web/WebViewImpl.cpp | ||||
| +++ Source/web/WebViewImpl.cpp | ||||
| @@ -397,6 +397,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client) | ||||
| @@ -23,7 +23,7 @@ index 9a4161a..cf68085 100644 | ||||
|      , m_doingDragAndDrop(false) | ||||
|      , m_ignoreInputEvents(false) | ||||
|      , m_compositorDeviceScaleFactorOverride(0) | ||||
| @@ -3946,9 +3947,14 @@ void WebViewImpl::pageScaleFactorChanged() | ||||
| @@ -3925,9 +3926,14 @@ void WebViewImpl::pageScaleFactorChanged() | ||||
|      m_client->pageScaleFactorChanged(); | ||||
|  } | ||||
|   | ||||
| @@ -40,10 +40,10 @@ index 9a4161a..cf68085 100644 | ||||
|   | ||||
|  void WebViewImpl::startDragging(LocalFrame* frame, | ||||
| diff --git Source/web/WebViewImpl.h Source/web/WebViewImpl.h | ||||
| index f222ca0..51478ce 100644 | ||||
| index a3ece01..60adce4 100644 | ||||
| --- Source/web/WebViewImpl.h | ||||
| +++ Source/web/WebViewImpl.h | ||||
| @@ -390,7 +390,8 @@ public: | ||||
| @@ -389,7 +389,8 @@ public: | ||||
|   | ||||
|      // Returns true if popup menus should be rendered by the browser, false if | ||||
|      // they should be rendered by WebKit (which is the default). | ||||
| @@ -53,7 +53,7 @@ index f222ca0..51478ce 100644 | ||||
|   | ||||
|      bool contextMenuAllowed() const | ||||
|      { | ||||
| @@ -677,6 +678,8 @@ private: | ||||
| @@ -675,6 +676,8 @@ private: | ||||
|   | ||||
|      bool m_contextMenuAllowed; | ||||
|   | ||||
|   | ||||
| @@ -92,7 +92,11 @@ class TracingTestHandler : public CefEndTracingCallback, | ||||
|   void OnEndTracingComplete(const CefString& tracing_file) override { | ||||
|     EXPECT_UI_THREAD(); | ||||
|  | ||||
|     base::FilePath file_path(tracing_file); | ||||
| #if defined(OS_WIN) | ||||
|     base::FilePath file_path(tracing_file.ToWString()); | ||||
| #else | ||||
|     base::FilePath file_path(tracing_file.ToString()); | ||||
| #endif | ||||
|     CefPostTask(TID_FILE, | ||||
|         base::Bind(&TracingTestHandler::ReadTracingFile, this, file_path)); | ||||
|   } | ||||
|   | ||||
| @@ -250,7 +250,6 @@ | ||||
|                 'Resources/locales/', | ||||
|                 '$(BUILDTYPE)/chrome-sandbox', | ||||
|                 '$(BUILDTYPE)/libcef.so', | ||||
|                 '$(BUILDTYPE)/libffmpegsumo.so', | ||||
|                 '$(BUILDTYPE)/natives_blob.bin', | ||||
|                 '$(BUILDTYPE)/snapshot_blob.bin', | ||||
|               ], | ||||
| @@ -494,7 +493,6 @@ | ||||
|                 'Resources/locales/', | ||||
|                 '$(BUILDTYPE)/chrome-sandbox', | ||||
|                 '$(BUILDTYPE)/libcef.so', | ||||
|                 '$(BUILDTYPE)/libffmpegsumo.so', | ||||
|                 '$(BUILDTYPE)/natives_blob.bin', | ||||
|                 '$(BUILDTYPE)/snapshot_blob.bin', | ||||
|               ], | ||||
|   | ||||
| @@ -56,7 +56,3 @@ run but any related functionality may become broken or disabled. | ||||
|   * devtools_resources.pak | ||||
|     This file contains non-localized resources required for Chrome Developer | ||||
|     Tools. Without this file Chrome Developer Tools will not function. | ||||
|  | ||||
| * FFmpeg audio and video support. | ||||
|   * libffmpegsumo.so | ||||
|     Without this file HTML5 audio and video will not function. | ||||
|   | ||||
| @@ -14,8 +14,6 @@ cefclient.app/ | ||||
|     Frameworks/ | ||||
|       Chromium Embedded Framework.framework/ | ||||
|         Chromium Embedded Framework <= main application library | ||||
|         Libraries/ | ||||
|           ffmpegsumo.so <= HTML5 audio/video support library | ||||
|         Resources/ | ||||
|           cef.pak <= non-localized resources and strings | ||||
|           cef_100_percent.pak <====^ | ||||
| @@ -118,10 +116,6 @@ run but any related functionality may become broken or disabled. | ||||
|     This file contains non-localized resources required for Chrome Developer | ||||
|     Tools. Without this file Chrome Developer Tools will not function. | ||||
|  | ||||
| * FFmpeg audio and video support. | ||||
|   * Chromium Embedded Framework.framework/Libraries/ffmpegsumo.so | ||||
|     Without this file HTML5 audio and video will not function. | ||||
|  | ||||
| * Breakpad support. | ||||
|   * Chromium Embedded Framework.framework/Resources/crash_inspector | ||||
|   * Chromium Embedded Framework.framework/Resources/crash_report_sender | ||||
|   | ||||
| @@ -55,10 +55,6 @@ run but any related functionality may become broken or disabled. | ||||
|     This file contains non-localized resources required for Chrome Developer | ||||
|     Tools. Without this file Chrome Developer Tools will not function. | ||||
|  | ||||
| * FFmpeg audio and video support. | ||||
|   * ffmpegsumo.dll | ||||
|     Without this file HTML5 audio and video will not function. | ||||
|  | ||||
| * Angle and Direct3D support. | ||||
|   * d3dcompiler_43.dll (required for Windows XP) | ||||
|   * d3dcompiler_47.dll (required for Windows Vista and newer) | ||||
|   | ||||
| @@ -418,7 +418,6 @@ if mode == 'standard': | ||||
| if platform == 'windows': | ||||
|   binaries = [ | ||||
|     'd3dcompiler_47.dll', | ||||
|     'ffmpegsumo.dll', | ||||
|     'libcef.dll', | ||||
|     'libEGL.dll', | ||||
|     'libGLESv2.dll', | ||||
| @@ -623,7 +622,6 @@ elif platform == 'linux': | ||||
|       make_dir(dst_dir, options.quiet) | ||||
|       copy_file(os.path.join(build_dir, 'chrome_sandbox'), os.path.join(dst_dir, 'chrome-sandbox'), options.quiet) | ||||
|       copy_file(os.path.join(build_dir, lib_dir_name, 'libcef.so'), dst_dir, options.quiet) | ||||
|       copy_file(os.path.join(build_dir, 'libffmpegsumo.so'), dst_dir, options.quiet) | ||||
|       copy_file(os.path.join(build_dir, 'natives_blob.bin'), dst_dir, options.quiet) | ||||
|       copy_file(os.path.join(build_dir, 'snapshot_blob.bin'), dst_dir, options.quiet) | ||||
|     else: | ||||
| @@ -644,7 +642,6 @@ elif platform == 'linux': | ||||
|     else: | ||||
|       copy_file(os.path.join(build_dir, lib_dir_name, 'libcef.so'), dst_dir, options.quiet) | ||||
|     copy_file(os.path.join(build_dir, 'chrome_sandbox'), os.path.join(dst_dir, 'chrome-sandbox'), options.quiet) | ||||
|     copy_file(os.path.join(build_dir, 'libffmpegsumo.so'), dst_dir, options.quiet) | ||||
|     copy_file(os.path.join(build_dir, 'natives_blob.bin'), dst_dir, options.quiet) | ||||
|     copy_file(os.path.join(build_dir, 'snapshot_blob.bin'), dst_dir, options.quiet) | ||||
|   else: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user