diff --git a/base/supports_user_data.cc b/base/supports_user_data.cc index 9689014d4ad8eb..482a7e1ed61d82 100644 --- a/base/supports_user_data.cc +++ b/base/supports_user_data.cc @@ -21,7 +21,7 @@ SupportsUserData::Data* SupportsUserData::GetUserData(const void* key) const { void SupportsUserData::SetUserData(const void* key, Data* data) { DCHECK(thread_checker_.CalledOnValidThread()); - user_data_[key] = linked_ptr(data); + user_data_[key] = make_scoped_ptr(data); } void SupportsUserData::RemoveUserData(const void* key) { diff --git a/base/supports_user_data.h b/base/supports_user_data.h index 5c1c7e945f6ec1..ab40c1b3c47bc1 100644 --- a/base/supports_user_data.h +++ b/base/supports_user_data.h @@ -9,8 +9,8 @@ #include "base/base_export.h" #include "base/macros.h" -#include "base/memory/linked_ptr.h" #include "base/memory/ref_counted.h" +#include "base/memory/scoped_ptr.h" #include "base/threading/thread_checker.h" namespace base { @@ -47,7 +47,7 @@ class BASE_EXPORT SupportsUserData { virtual ~SupportsUserData(); private: - typedef std::map > DataMap; + using DataMap = std::map>; // Externally-defined data accessible by key. DataMap user_data_; diff --git a/base/threading/sequenced_worker_pool.cc b/base/threading/sequenced_worker_pool.cc index 3cc50f404c214e..081a49f39e65d0 100644 --- a/base/threading/sequenced_worker_pool.cc +++ b/base/threading/sequenced_worker_pool.cc @@ -19,7 +19,7 @@ #include "base/lazy_instance.h" #include "base/logging.h" #include "base/macros.h" -#include "base/memory/linked_ptr.h" +#include "base/memory/scoped_ptr.h" #include "base/stl_util.h" #include "base/strings/stringprintf.h" #include "base/synchronization/condition_variable.h" @@ -448,7 +448,7 @@ class SequencedWorkerPool::Inner { // Owning pointers to all threads we've created so far, indexed by // ID. Since we lazily create threads, this may be less than // max_threads_ and will be initially empty. - typedef std::map > ThreadMap; + using ThreadMap = std::map>; ThreadMap threads_; // Set to true when we're in the process of creating another thread. @@ -788,9 +788,8 @@ void SequencedWorkerPool::Inner::ThreadLoop(Worker* this_worker) { AutoLock lock(lock_); DCHECK(thread_being_created_); thread_being_created_ = false; - std::pair result = - threads_.insert( - std::make_pair(this_worker->tid(), make_linked_ptr(this_worker))); + auto result = threads_.insert( + std::make_pair(this_worker->tid(), make_scoped_ptr(this_worker))); DCHECK(result.second); while (true) { diff --git a/chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.cc b/chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.cc index 3e6f560fa22287..981a8e3b70b4df 100644 --- a/chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.cc +++ b/chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.cc @@ -146,9 +146,8 @@ bool ChromeWebViewInternalShowContextMenuFunction::RunAsyncSafe( webview::ShowContextMenu::Params::Create(*args_)); EXTENSION_FUNCTION_VALIDATE(params.get()); - // TODO(lazyboy): Actually implement filtering menu items, we pass NULL for - // now. - guest->ShowContextMenu(params->request_id, NULL); + // TODO(lazyboy): Actually implement filtering menu items. + guest->ShowContextMenu(params->request_id); SendResponse(true); return true; diff --git a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc index 4c9879e34bb69e..32a00885584d24 100644 --- a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc +++ b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc @@ -67,8 +67,8 @@ bool ChromeWebViewGuestDelegate::HandleContextMenu( MenuModelToValue(pending_menu_->menu_model()); args->Set(webview::kContextMenuItems, items.release()); args->SetInteger(webview::kRequestId, request_id); - web_view_guest()->DispatchEventToView( - new GuestViewEvent(webview::kEventContextMenuShow, std::move(args))); + web_view_guest()->DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventContextMenuShow, std::move(args)))); return true; } @@ -99,10 +99,8 @@ scoped_ptr ChromeWebViewGuestDelegate::MenuModelToValue( return items; } -void ChromeWebViewGuestDelegate::OnShowContextMenu( - int request_id, - const MenuItemVector* items) { - if (!pending_menu_.get()) +void ChromeWebViewGuestDelegate::OnShowContextMenu(int request_id) { + if (!pending_menu_) return; // Make sure this was the correct request. @@ -110,7 +108,6 @@ void ChromeWebViewGuestDelegate::OnShowContextMenu( return; // TODO(lazyboy): Implement. - DCHECK(!items); ContextMenuDelegate* menu_delegate = ContextMenuDelegate::FromWebContents(guest_web_contents()); diff --git a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h index 5588ac894d8003..e9f310869da17b 100644 --- a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h +++ b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h @@ -31,7 +31,7 @@ class ChromeWebViewGuestDelegate : public WebViewGuestDelegate { // WebViewGuestDelegate implementation. bool HandleContextMenu(const content::ContextMenuParams& params) override; void OnDidInitialize() override; - void OnShowContextMenu(int request_id, const MenuItemVector* items) override; + void OnShowContextMenu(int request_id) override; bool ShouldHandleFindRequestsForEmbedder() const override; WebViewGuest* web_view_guest() const { return web_view_guest_; } diff --git a/chrome/browser/printing/cloud_print/privet_notifications.cc b/chrome/browser/printing/cloud_print/privet_notifications.cc index 77dfda5fc718e7..09f69944f7974f 100644 --- a/chrome/browser/printing/cloud_print/privet_notifications.cc +++ b/chrome/browser/printing/cloud_print/privet_notifications.cc @@ -101,13 +101,11 @@ void PrivetNotificationsListener::DeviceChanged( return; // Already saw this device. } - linked_ptr device_context(new DeviceContext); - + scoped_ptr& device_context = devices_seen_[name]; + device_context.reset(new DeviceContext); device_context->notification_may_be_active = false; device_context->registered = !description.id.empty(); - devices_seen_.insert(make_pair(name, device_context)); - if (!device_context->registered) { device_context->privet_http_resolution = privet_http_factory_->CreatePrivetHTTP(name); diff --git a/chrome/browser/printing/cloud_print/privet_notifications.h b/chrome/browser/printing/cloud_print/privet_notifications.h index a4a94d94ecfdb7..df5a8d781bdfb0 100644 --- a/chrome/browser/printing/cloud_print/privet_notifications.h +++ b/chrome/browser/printing/cloud_print/privet_notifications.h @@ -8,6 +8,7 @@ #include #include +#include "base/memory/scoped_ptr.h" #include "chrome/browser/notifications/notification_delegate.h" #include "chrome/browser/printing/cloud_print/privet_device_lister.h" #include "chrome/browser/printing/cloud_print/privet_http.h" @@ -75,7 +76,7 @@ class PrivetNotificationsListener { scoped_ptr privet_http; }; - typedef std::map > DeviceContextMap; + using DeviceContextMap = std::map>; void CreateInfoOperation(scoped_ptr http_client); void OnPrivetInfoDone(DeviceContext* device, diff --git a/components/guest_view/browser/guest_view_base.cc b/components/guest_view/browser/guest_view_base.cc index 52b4d807cc776d..6b23d13f5a1ee6 100644 --- a/components/guest_view/browser/guest_view_base.cc +++ b/components/guest_view/browser/guest_view_base.cc @@ -266,7 +266,8 @@ void GuestViewBase::DispatchOnResizeEvent(const gfx::Size& old_size, args->SetInteger(kOldHeight, old_size.height()); args->SetInteger(kNewWidth, new_size.width()); args->SetInteger(kNewHeight, new_size.height()); - DispatchEventToGuestProxy(new GuestViewEvent(kEventResize, std::move(args))); + DispatchEventToGuestProxy( + make_scoped_ptr(new GuestViewEvent(kEventResize, std::move(args)))); } gfx::Size GuestViewBase::GetDefaultSize() const { @@ -752,14 +753,15 @@ void GuestViewBase::OnZoomChanged( } } -void GuestViewBase::DispatchEventToGuestProxy(GuestViewEvent* event) { +void GuestViewBase::DispatchEventToGuestProxy( + scoped_ptr event) { event->Dispatch(this, guest_instance_id_); } -void GuestViewBase::DispatchEventToView(GuestViewEvent* event) { +void GuestViewBase::DispatchEventToView(scoped_ptr event) { if (!attached() && (!CanRunInDetachedState() || !can_owner_receive_events())) { - pending_events_.push_back(linked_ptr(event)); + pending_events_.push_back(std::move(event)); return; } @@ -770,9 +772,9 @@ void GuestViewBase::SendQueuedEvents() { if (!attached()) return; while (!pending_events_.empty()) { - linked_ptr event_ptr = pending_events_.front(); + scoped_ptr event_ptr = std::move(pending_events_.front()); pending_events_.pop_front(); - event_ptr.release()->Dispatch(this, view_instance_id_); + event_ptr->Dispatch(this, view_instance_id_); } } diff --git a/components/guest_view/browser/guest_view_base.h b/components/guest_view/browser/guest_view_base.h index 9d5b340d2166e0..745dd7a6a2b554 100644 --- a/components/guest_view/browser/guest_view_base.h +++ b/components/guest_view/browser/guest_view_base.h @@ -8,6 +8,7 @@ #include #include "base/macros.h" +#include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" #include "base/values.h" #include "components/guest_view/common/guest_view_constants.h" @@ -112,10 +113,10 @@ class GuestViewBase : public content::BrowserPluginGuestDelegate, virtual int GetTaskPrefix() const = 0; // Dispatches an event to the guest proxy. - void DispatchEventToGuestProxy(GuestViewEvent* event); + void DispatchEventToGuestProxy(scoped_ptr event); // Dispatches an event to the view. - void DispatchEventToView(GuestViewEvent* event); + void DispatchEventToView(scoped_ptr event); // This creates a WebContents and initializes |this| GuestViewBase to use the // newly created WebContents. @@ -431,7 +432,7 @@ class GuestViewBase : public content::BrowserPluginGuestDelegate, // This is a queue of Events that are destined to be sent to the embedder once // the guest is attached to a particular embedder. - std::deque > pending_events_; + std::deque> pending_events_; // The opener guest view. base::WeakPtr opener_; diff --git a/components/guest_view/browser/guest_view_event.cc b/components/guest_view/browser/guest_view_event.cc index f564753d81921f..883b8b7f7718fb 100644 --- a/components/guest_view/browser/guest_view_event.cc +++ b/components/guest_view/browser/guest_view_event.cc @@ -6,6 +6,7 @@ #include +#include "base/logging.h" #include "components/guest_view/browser/guest_view_base.h" #include "components/guest_view/browser/guest_view_manager.h" @@ -19,10 +20,9 @@ GuestViewEvent::~GuestViewEvent() { } void GuestViewEvent::Dispatch(GuestViewBase* guest, int instance_id) { + DCHECK(args_) << "Dispatch was probably invoked twice!"; GuestViewManager::FromBrowserContext(guest->browser_context()) ->DispatchEvent(name_, std::move(args_), guest, instance_id); - - delete this; } } // namespace guest_view diff --git a/components/guest_view/browser/guest_view_event.h b/components/guest_view/browser/guest_view_event.h index efd1af4f29ae40..8a4d63793c3303 100644 --- a/components/guest_view/browser/guest_view_event.h +++ b/components/guest_view/browser/guest_view_event.h @@ -26,8 +26,7 @@ class GuestViewEvent { ~GuestViewEvent(); // This method will dispatch the event to the specified |guest|'s embedder and - // use the provided |instance_id| for routing. After dispatch, this object - // will self-destruct. + // use the provided |instance_id| for routing. void Dispatch(GuestViewBase* guest, int instance_id); private: diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc index f594ade9b2630e..9f3c07af53e48b 100644 --- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc @@ -127,8 +127,8 @@ void ExtensionOptionsGuest::DidInitialize( void ExtensionOptionsGuest::GuestViewDidStopLoading() { scoped_ptr args(new base::DictionaryValue()); - DispatchEventToView(new GuestViewEvent( - extension_options_internal::OnLoad::kEventName, std::move(args))); + DispatchEventToView(make_scoped_ptr(new GuestViewEvent( + extension_options_internal::OnLoad::kEventName, std::move(args)))); } const char* ExtensionOptionsGuest::GetAPINamespace() const { @@ -148,9 +148,9 @@ void ExtensionOptionsGuest::OnPreferredSizeChanged(const gfx::Size& pref_size) { // Convert the size from physical pixels to logical pixels. options.width = PhysicalPixelsToLogicalPixels(pref_size.width()); options.height = PhysicalPixelsToLogicalPixels(pref_size.height()); - DispatchEventToView(new GuestViewEvent( + DispatchEventToView(make_scoped_ptr(new GuestViewEvent( extension_options_internal::OnPreferredSizeChanged::kEventName, - options.ToValue())); + options.ToValue()))); } bool ExtensionOptionsGuest::ShouldHandleFindRequestsForEmbedder() const { @@ -180,9 +180,9 @@ WebContents* ExtensionOptionsGuest::OpenURLFromTab( } void ExtensionOptionsGuest::CloseContents(WebContents* source) { - DispatchEventToView( + DispatchEventToView(make_scoped_ptr( new GuestViewEvent(extension_options_internal::OnClose::kEventName, - make_scoped_ptr(new base::DictionaryValue()))); + make_scoped_ptr(new base::DictionaryValue())))); } bool ExtensionOptionsGuest::HandleContextMenu( diff --git a/extensions/browser/guest_view/extension_view/extension_view_guest.cc b/extensions/browser/guest_view/extension_view/extension_view_guest.cc index d2db41e00959a7..cb2f60e496606d 100644 --- a/extensions/browser/guest_view/extension_view/extension_view_guest.cc +++ b/extensions/browser/guest_view/extension_view/extension_view_guest.cc @@ -128,8 +128,8 @@ void ExtensionViewGuest::DidCommitProvisionalLoadForFrame( scoped_ptr args(new base::DictionaryValue()); args->SetString(guest_view::kUrl, url_.spec()); - DispatchEventToView( - new GuestViewEvent(extensionview::kEventLoadCommit, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(extensionview::kEventLoadCommit, std::move(args)))); } void ExtensionViewGuest::DidNavigateMainFrame( diff --git a/extensions/browser/guest_view/web_view/web_view_find_helper.cc b/extensions/browser/guest_view/web_view/web_view_find_helper.cc index 725326a8cbd28e..f9a315f68f3286 100644 --- a/extensions/browser/guest_view/web_view/web_view_find_helper.cc +++ b/extensions/browser/guest_view/web_view/web_view_find_helper.cc @@ -22,12 +22,12 @@ WebViewFindHelper::~WebViewFindHelper() { } void WebViewFindHelper::CancelAllFindSessions() { - current_find_session_ = linked_ptr(); + current_find_session_ = nullptr; while (!find_info_map_.empty()) { find_info_map_.begin()->second->SendResponse(true /* canceled */); find_info_map_.erase(find_info_map_.begin()); } - if (find_update_event_.get()) + if (find_update_event_) DispatchFindUpdateEvent(true /* canceled */, true /* final_update */); find_update_event_.reset(); } @@ -40,8 +40,8 @@ void WebViewFindHelper::DispatchFindUpdateEvent(bool canceled, args->SetBoolean(webview::kFindCanceled, canceled); args->SetBoolean(webview::kFindFinalUpdate, final_update); DCHECK(webview_guest_); - webview_guest_->DispatchEventToView( - new GuestViewEvent(webview::kEventFindReply, std::move(args))); + webview_guest_->DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventFindReply, std::move(args)))); } void WebViewFindHelper::EndFindSession(int session_request_id, bool canceled) { @@ -100,9 +100,8 @@ void WebViewFindHelper::Find( std::pair insert_result = find_info_map_.insert(std::make_pair( current_find_request_id_, - linked_ptr< - WebViewFindHelper::FindInfo>(new WebViewFindHelper::FindInfo( - current_find_request_id_, search_text, options, find_function)))); + make_scoped_refptr(new FindInfo(current_find_request_id_, search_text, + options, find_function)))); // No duplicate insertions. DCHECK(insert_result.second); @@ -110,7 +109,7 @@ void WebViewFindHelper::Find( blink::WebFindOptions* full_options = insert_result.first->second->options(); // Set |findNext| implicitly. - if (current_find_session_.get()) { + if (current_find_session_) { const base::string16& current_search_text = current_find_session_->search_text(); bool current_match_case = current_find_session_->options()->matchCase; @@ -122,7 +121,7 @@ void WebViewFindHelper::Find( } // Link find requests that are a part of the same find session. - if (full_options->findNext && current_find_session_.get()) { + if (full_options->findNext && current_find_session_) { DCHECK(current_find_request_id_ != current_find_session_->request_id()); current_find_session_->AddFindNextRequest( insert_result.first->second->AsWeakPtr()); @@ -155,7 +154,7 @@ void WebViewFindHelper::FindReply(int request_id, return; // This find request must be a part of an existing find session. - DCHECK(current_find_session_.get()); + DCHECK(current_find_session_); WebViewFindHelper::FindInfo* find_info = find_iterator->second.get(); @@ -260,9 +259,6 @@ WebViewFindHelper::FindInfo::FindInfo( weak_ptr_factory_(this) { } -WebViewFindHelper::FindInfo::~FindInfo() { -} - void WebViewFindHelper::FindInfo::AggregateResults( int number_of_matches, const gfx::Rect& selection_rect, @@ -289,4 +285,6 @@ void WebViewFindHelper::FindInfo::SendResponse(bool canceled) { find_function_->SendResponse(true); } +WebViewFindHelper::FindInfo::~FindInfo() {} + } // namespace extensions diff --git a/extensions/browser/guest_view/web_view/web_view_find_helper.h b/extensions/browser/guest_view/web_view/web_view_find_helper.h index 0c622d0c089d13..6ec34e0c71c84e 100644 --- a/extensions/browser/guest_view/web_view/web_view_find_helper.h +++ b/extensions/browser/guest_view/web_view/web_view_find_helper.h @@ -9,6 +9,7 @@ #include #include "base/macros.h" +#include "base/memory/ref_counted.h" #include "base/memory/weak_ptr.h" #include "base/values.h" #include "content/public/browser/web_contents.h" @@ -99,13 +100,12 @@ class WebViewFindHelper { }; // Handles all information about a find request and its results. - class FindInfo { + class FindInfo : public base::RefCounted { public: FindInfo(int request_id, const base::string16& search_text, const blink::WebFindOptions& options, scoped_refptr find_function); - ~FindInfo(); // Add another request to |find_next_requests_|. void AddFindNextRequest(const base::WeakPtr& request) { @@ -141,6 +141,10 @@ class WebViewFindHelper { void SendResponse(bool canceled); private: + friend class base::RefCounted; + + ~FindInfo(); + const int request_id_; const base::string16 search_text_; blink::WebFindOptions options_; @@ -172,12 +176,13 @@ class WebViewFindHelper { // Stores aggregated find results and other info for the |findupdate| event. scoped_ptr find_update_event_; - // Pointer to the first request of the current find session. - linked_ptr current_find_session_; + // Pointer to the first request of the current find session. find_info_map_ + // retains ownership. + scoped_refptr current_find_session_; // Stores each find request's information by request_id so that its callback // function can be called when its find results are available. - typedef std::map > FindInfoMap; + using FindInfoMap = std::map>; FindInfoMap find_info_map_; DISALLOW_COPY_AND_ASSIGN(WebViewFindHelper); diff --git a/extensions/browser/guest_view/web_view/web_view_guest.cc b/extensions/browser/guest_view/web_view/web_view_guest.cc index db585b38338701..b1ae0a52ff6201 100644 --- a/extensions/browser/guest_view/web_view/web_view_guest.cc +++ b/extensions/browser/guest_view/web_view/web_view_guest.cc @@ -371,8 +371,8 @@ void WebViewGuest::DidAttachToEmbedder() { void WebViewGuest::DidDropLink(const GURL& url) { scoped_ptr args(new base::DictionaryValue()); args->SetString(guest_view::kUrl, url.spec()); - DispatchEventToView( - new GuestViewEvent(webview::kEventDropLink, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventDropLink, std::move(args)))); } void WebViewGuest::DidInitialize(const base::DictionaryValue& create_params) { @@ -426,8 +426,8 @@ void WebViewGuest::ClearDataInternal(base::Time remove_since, void WebViewGuest::GuestViewDidStopLoading() { scoped_ptr args(new base::DictionaryValue()); - DispatchEventToView( - new GuestViewEvent(webview::kEventLoadStop, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventLoadStop, std::move(args)))); } void WebViewGuest::EmbedderFullscreenToggled(bool entered_fullscreen) { @@ -481,8 +481,8 @@ void WebViewGuest::GuestSizeChangedDueToAutoSize(const gfx::Size& old_size, args->SetInteger(webview::kOldWidth, old_size.width()); args->SetInteger(webview::kNewHeight, new_size.height()); args->SetInteger(webview::kNewWidth, new_size.width()); - DispatchEventToView( - new GuestViewEvent(webview::kEventSizeChanged, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventSizeChanged, std::move(args)))); } bool WebViewGuest::IsAutoSizeSupported() const { @@ -497,8 +497,8 @@ void WebViewGuest::GuestZoomChanged(double old_zoom_level, scoped_ptr args(new base::DictionaryValue()); args->SetDouble(webview::kOldZoomFactor, old_zoom_factor); args->SetDouble(webview::kNewZoomFactor, new_zoom_factor); - DispatchEventToView( - new GuestViewEvent(webview::kEventZoomChange, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventZoomChange, std::move(args)))); } void WebViewGuest::WillDestroy() { @@ -517,15 +517,15 @@ bool WebViewGuest::AddMessageToConsole(WebContents* source, args->SetString(webview::kMessage, message); args->SetInteger(webview::kLine, line_no); args->SetString(webview::kSourceId, source_id); - DispatchEventToView( - new GuestViewEvent(webview::kEventConsoleMessage, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventConsoleMessage, std::move(args)))); return true; } void WebViewGuest::CloseContents(WebContents* source) { scoped_ptr args(new base::DictionaryValue()); - DispatchEventToView( - new GuestViewEvent(webview::kEventClose, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventClose, std::move(args)))); } void WebViewGuest::FindReply(WebContents* source, @@ -575,8 +575,8 @@ void WebViewGuest::LoadProgressChanged(WebContents* source, double progress) { scoped_ptr args(new base::DictionaryValue()); args->SetString(guest_view::kUrl, web_contents()->GetURL().spec()); args->SetDouble(webview::kProgress, progress); - DispatchEventToView( - new GuestViewEvent(webview::kEventLoadProgress, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventLoadProgress, std::move(args)))); } void WebViewGuest::LoadAbort(bool is_top_level, @@ -588,8 +588,8 @@ void WebViewGuest::LoadAbort(bool is_top_level, args->SetString(guest_view::kUrl, url.possibly_invalid_spec()); args->SetInteger(guest_view::kCode, error_code); args->SetString(guest_view::kReason, error_type); - DispatchEventToView( - new GuestViewEvent(webview::kEventLoadAbort, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventLoadAbort, std::move(args)))); } void WebViewGuest::SetContextMenuPosition(const gfx::Point& position) { @@ -640,16 +640,16 @@ void WebViewGuest::RendererResponsive(WebContents* source) { scoped_ptr args(new base::DictionaryValue()); args->SetInteger(webview::kProcessId, web_contents()->GetRenderProcessHost()->GetID()); - DispatchEventToView( - new GuestViewEvent(webview::kEventResponsive, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventResponsive, std::move(args)))); } void WebViewGuest::RendererUnresponsive(WebContents* source) { scoped_ptr args(new base::DictionaryValue()); args->SetInteger(webview::kProcessId, web_contents()->GetRenderProcessHost()->GetID()); - DispatchEventToView( - new GuestViewEvent(webview::kEventUnresponsive, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventUnresponsive, std::move(args)))); } void WebViewGuest::Observe(int type, @@ -816,8 +816,8 @@ void WebViewGuest::DidCommitProvisionalLoadForFrame( web_contents()->GetController().GetEntryCount()); args->SetInteger(webview::kInternalProcessId, web_contents()->GetRenderProcessHost()->GetID()); - DispatchEventToView( - new GuestViewEvent(webview::kEventLoadCommit, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventLoadCommit, std::move(args)))); find_helper_.CancelAllFindSessions(); } @@ -844,8 +844,8 @@ void WebViewGuest::DidStartProvisionalLoadForFrame( scoped_ptr args(new base::DictionaryValue()); args->SetString(guest_view::kUrl, validated_url.spec()); args->SetBoolean(guest_view::kIsTopLevel, !render_frame_host->GetParent()); - DispatchEventToView( - new GuestViewEvent(webview::kEventLoadStart, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventLoadStart, std::move(args)))); } void WebViewGuest::RenderProcessGone(base::TerminationStatus status) { @@ -856,7 +856,8 @@ void WebViewGuest::RenderProcessGone(base::TerminationStatus status) { args->SetInteger(webview::kProcessId, web_contents()->GetRenderProcessHost()->GetID()); args->SetString(webview::kReason, TerminationStatusToString(status)); - DispatchEventToView(new GuestViewEvent(webview::kEventExit, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventExit, std::move(args)))); } void WebViewGuest::UserAgentOverrideSet(const std::string& user_agent) { @@ -883,14 +884,14 @@ void WebViewGuest::ReportFrameNameChange(const std::string& name) { name_ = name; scoped_ptr args(new base::DictionaryValue()); args->SetString(webview::kName, name); - DispatchEventToView( - new GuestViewEvent(webview::kEventFrameNameChanged, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventFrameNameChanged, std::move(args)))); } void WebViewGuest::LoadHandlerCalled() { scoped_ptr args(new base::DictionaryValue()); - DispatchEventToView( - new GuestViewEvent(webview::kEventContentLoad, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventContentLoad, std::move(args)))); } void WebViewGuest::LoadRedirect(const GURL& old_url, @@ -900,8 +901,8 @@ void WebViewGuest::LoadRedirect(const GURL& old_url, args->SetBoolean(guest_view::kIsTopLevel, is_top_level); args->SetString(webview::kNewURL, new_url.spec()); args->SetString(webview::kOldURL, old_url.spec()); - DispatchEventToView( - new GuestViewEvent(webview::kEventLoadRedirect, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventLoadRedirect, std::move(args)))); } void WebViewGuest::PushWebViewStateToIOThread() { @@ -1138,11 +1139,9 @@ void WebViewGuest::ApplyAttributes(const base::DictionaryValue& params) { } } -void WebViewGuest::ShowContextMenu( - int request_id, - const WebViewGuestDelegate::MenuItemVector* items) { +void WebViewGuest::ShowContextMenu(int request_id) { if (web_view_guest_delegate_) - web_view_guest_delegate_->OnShowContextMenu(request_id, items); + web_view_guest_delegate_->OnShowContextMenu(request_id); } void WebViewGuest::SetName(const std::string& name) { @@ -1496,8 +1495,8 @@ void WebViewGuest::SetFullscreenState(bool is_fullscreen) { // Dispatch a message so we can call document.webkitCancelFullscreen() // on the embedder. scoped_ptr args(new base::DictionaryValue()); - DispatchEventToView( - new GuestViewEvent(webview::kEventExitFullscreen, std::move(args))); + DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventExitFullscreen, std::move(args)))); } // Since we changed fullscreen state, sending a Resize message ensures that // renderer/ sees the change. diff --git a/extensions/browser/guest_view/web_view/web_view_guest.h b/extensions/browser/guest_view/web_view/web_view_guest.h index fa01df8b51a118..d1baac5b64cbf1 100644 --- a/extensions/browser/guest_view/web_view/web_view_guest.h +++ b/extensions/browser/guest_view/web_view/web_view_guest.h @@ -87,12 +87,7 @@ class WebViewGuest : public guest_view::GuestView, void NavigateGuest(const std::string& src, bool force_navigation); // Shows the context menu for the guest. - // |items| acts as a filter. This restricts the current context's default - // menu items to contain only the items from |items|. - // |items| == NULL means no filtering will be applied. - void ShowContextMenu( - int request_id, - const WebViewGuestDelegate::MenuItemVector* items); + void ShowContextMenu(int request_id); // Sets the frame name of the guest. void SetName(const std::string& name); diff --git a/extensions/browser/guest_view/web_view/web_view_guest_delegate.h b/extensions/browser/guest_view/web_view/web_view_guest_delegate.h index afee25935e2da1..7ea61cad14f291 100644 --- a/extensions/browser/guest_view/web_view/web_view_guest_delegate.h +++ b/extensions/browser/guest_view/web_view/web_view_guest_delegate.h @@ -29,9 +29,6 @@ class WebViewGuestDelegate { public : virtual ~WebViewGuestDelegate() {} - typedef std::vector > - MenuItemVector; - // Called when context menu operation was handled. virtual bool HandleContextMenu(const content::ContextMenuParams& params) = 0; @@ -39,12 +36,7 @@ class WebViewGuestDelegate { virtual void OnDidInitialize() = 0; // Shows the context menu for the guest. - // |items| acts as a filter. This restricts the current context's default - // menu items to contain only the items from |items|. - // |items| == NULL means no filtering will be applied. - virtual void OnShowContextMenu( - int request_id, - const MenuItemVector* items) = 0; + virtual void OnShowContextMenu(int request_id) = 0; // Returns true if the WebViewGuest should handle find requests for its // embedder. diff --git a/extensions/browser/guest_view/web_view/web_view_permission_helper.cc b/extensions/browser/guest_view/web_view/web_view_permission_helper.cc index d8c78067445b5b..3ce5dd9e62eb3e 100644 --- a/extensions/browser/guest_view/web_view/web_view_permission_helper.cc +++ b/extensions/browser/guest_view/web_view/web_view_permission_helper.cc @@ -334,20 +334,20 @@ int WebViewPermissionHelper::RequestPermission( args->SetInteger(webview::kRequestId, request_id); switch (permission_type) { case WEB_VIEW_PERMISSION_TYPE_NEW_WINDOW: { - web_view_guest_->DispatchEventToView( - new GuestViewEvent(webview::kEventNewWindow, std::move(args))); + web_view_guest_->DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventNewWindow, std::move(args)))); break; } case WEB_VIEW_PERMISSION_TYPE_JAVASCRIPT_DIALOG: { - web_view_guest_->DispatchEventToView( - new GuestViewEvent(webview::kEventDialog, std::move(args))); + web_view_guest_->DispatchEventToView(make_scoped_ptr( + new GuestViewEvent(webview::kEventDialog, std::move(args)))); break; } default: { args->SetString(webview::kPermission, PermissionTypeToString(permission_type)); - web_view_guest_->DispatchEventToView(new GuestViewEvent( - webview::kEventPermissionRequest, std::move(args))); + web_view_guest_->DispatchEventToView(make_scoped_ptr(new GuestViewEvent( + webview::kEventPermissionRequest, std::move(args)))); break; } }