From 3dbc0a365f3dd6b49b7317aa2ce153762e57c724 Mon Sep 17 00:00:00 2001 From: John Kleinschmidt Date: Thu, 11 May 2023 16:07:39 -0400 Subject: [PATCH] chore: enable check raw ptr fields (#38167) --- build/args/all.gn | 3 --- .../expose_setuseragent_on_networkcontext.patch | 2 +- ...bedders_to_add_observers_on_created_hunspell.patch | 4 ++-- ...able_offscreen_rendering_with_viz_compositor.patch | 4 ++-- ..._decrementcapturercount_in_web_contents_impl.patch | 2 +- ..._allow_remote_certificate_verification_logic.patch | 4 ++-- patches/chromium/web_contents.patch | 6 +++--- shell/app/uv_task_runner.h | 3 ++- shell/browser/api/electron_api_browser_view.cc | 5 ++--- shell/browser/api/electron_api_browser_view.h | 3 ++- shell/browser/api/electron_api_cookies.h | 3 ++- shell/browser/api/electron_api_data_pipe_holder.cc | 3 ++- shell/browser/api/electron_api_debugger.h | 3 ++- shell/browser/api/electron_api_download_item.h | 5 +++-- shell/browser/api/electron_api_menu.h | 3 ++- shell/browser/api/electron_api_native_theme.h | 5 +++-- shell/browser/api/electron_api_net_log.h | 3 ++- shell/browser/api/electron_api_notification.h | 3 ++- shell/browser/api/electron_api_protocol.h | 3 ++- shell/browser/api/electron_api_screen.h | 3 ++- .../browser/api/electron_api_service_worker_context.h | 3 ++- shell/browser/api/electron_api_session.cc | 3 ++- shell/browser/api/electron_api_session.h | 5 +++-- shell/browser/api/electron_api_url_loader.cc | 3 ++- shell/browser/api/electron_api_url_loader.h | 3 ++- shell/browser/api/electron_api_view.h | 3 ++- shell/browser/api/electron_api_web_contents.h | 10 ++++++---- shell/browser/api/electron_api_web_contents_view.cc | 2 +- shell/browser/api/electron_api_web_contents_view.h | 3 ++- shell/browser/api/electron_api_web_frame_main.h | 3 ++- shell/browser/api/electron_api_web_request.cc | 5 +++-- shell/browser/api/electron_api_web_request.h | 3 ++- shell/browser/api/frame_subscriber.h | 3 ++- shell/browser/api/gpuinfo_manager.h | 3 ++- shell/browser/api/save_page_handler.h | 3 ++- shell/browser/certificate_manager_model.h | 3 ++- shell/browser/cookie_change_notifier.h | 3 ++- shell/browser/electron_autofill_driver.h | 3 ++- shell/browser/electron_browser_client.h | 3 ++- shell/browser/electron_browser_context.h | 4 ++-- shell/browser/electron_download_manager_delegate.h | 3 ++- .../api/runtime/electron_runtime_api_delegate.h | 3 ++- shell/browser/extensions/api/tabs/tabs_api.h | 3 ++- shell/browser/extensions/electron_extension_loader.h | 3 ++- .../extensions/electron_extension_message_filter.h | 3 ++- shell/browser/extensions/electron_extension_system.h | 3 ++- shell/browser/file_select_helper.h | 5 +++-- shell/browser/hid/hid_chooser_context.h | 3 ++- shell/browser/javascript_environment.h | 5 +++-- shell/browser/lib/bluetooth_chooser.h | 3 ++- shell/browser/lib/power_observer_linux.h | 3 ++- shell/browser/mac/in_app_purchase_observer.h | 3 ++- shell/browser/microtasks_runner.h | 3 ++- shell/browser/native_browser_view.h | 3 ++- shell/browser/native_window.h | 5 +++-- shell/browser/native_window_views.cc | 3 ++- shell/browser/native_window_views.h | 3 ++- shell/browser/net/network_context_service.h | 3 ++- shell/browser/net/node_stream_loader.h | 3 ++- shell/browser/net/proxying_url_loader_factory.h | 7 ++++--- shell/browser/net/proxying_websocket.h | 3 ++- shell/browser/net/resolve_host_function.h | 3 ++- shell/browser/net/resolve_proxy_helper.h | 3 ++- shell/browser/net/system_network_context_manager.cc | 3 ++- shell/browser/network_hints_handler_impl.h | 3 ++- .../notifications/linux/libnotify_notification.h | 3 ++- shell/browser/notifications/notification.h | 5 +++-- .../notifications/platform_notification_service.h | 3 ++- shell/browser/osr/osr_render_widget_host_view.cc | 5 +++-- shell/browser/osr/osr_render_widget_host_view.h | 11 ++++++----- shell/browser/osr/osr_video_consumer.h | 3 ++- shell/browser/osr/osr_view_proxy.h | 5 +++-- shell/browser/osr/osr_web_contents_view.h | 5 +++-- shell/browser/serial/serial_chooser_context.h | 3 ++- shell/browser/ui/accelerator_util.h | 3 ++- shell/browser/ui/autofill_popup.h | 7 ++++--- .../ui/electron_desktop_window_tree_host_linux.h | 3 ++- shell/browser/ui/electron_menu_model.h | 3 ++- shell/browser/ui/file_dialog.h | 3 ++- shell/browser/ui/file_dialog_gtk.cc | 8 +++++--- shell/browser/ui/inspectable_web_contents.cc | 3 ++- shell/browser/ui/inspectable_web_contents.h | 8 +++++--- shell/browser/ui/inspectable_web_contents_view.h | 6 ++++-- shell/browser/ui/message_box.h | 3 ++- shell/browser/ui/message_box_gtk.cc | 6 ++++-- shell/browser/ui/views/autofill_popup_view.h | 5 +++-- shell/browser/ui/views/client_frame_view_linux.h | 10 ++++++---- shell/browser/ui/views/frameless_view.h | 5 +++-- .../browser/ui/views/global_menu_bar_registrar_x11.h | 3 ++- shell/browser/ui/views/global_menu_bar_x11.h | 5 +++-- .../ui/views/inspectable_web_contents_view_views.cc | 11 ++++++----- .../ui/views/inspectable_web_contents_view_views.h | 9 +++++---- shell/browser/ui/views/menu_bar.h | 7 ++++--- shell/browser/ui/views/menu_delegate.h | 5 +++-- shell/browser/ui/views/menu_model_adapter.h | 3 ++- shell/browser/ui/views/native_frame_view.h | 3 ++- shell/browser/ui/views/root_view.h | 3 ++- shell/browser/usb/usb_chooser_context.h | 3 ++- shell/browser/web_contents_permission_helper.h | 3 ++- shell/browser/web_contents_preferences.h | 3 ++- shell/browser/web_contents_zoom_controller.h | 5 +++-- shell/browser/web_view_guest_delegate.h | 7 ++++--- shell/browser/web_view_manager.cc | 2 +- shell/browser/web_view_manager.h | 5 +++-- shell/browser/zoom_level_delegate.h | 5 +++-- shell/common/api/electron_api_native_image.h | 3 ++- shell/common/gin_converters/net_converter.cc | 5 +++-- shell/common/gin_helper/accessor.h | 4 +++- shell/common/gin_helper/error_thrower.h | 3 ++- shell/common/gin_helper/function_template.h | 3 ++- shell/common/gin_helper/object_template_builder.h | 3 ++- shell/common/gin_helper/persistent_dictionary.h | 3 ++- shell/common/gin_helper/promise.h | 3 ++- shell/common/gin_helper/wrappable_base.h | 3 ++- shell/common/heap_snapshot.cc | 3 ++- shell/common/key_weak_map.h | 3 ++- shell/common/node_bindings.h | 10 ++++++---- shell/common/platform_util_linux.cc | 5 +++-- shell/common/v8_value_serializer.cc | 5 +++-- shell/renderer/api/electron_api_spell_check_client.h | 3 ++- 120 files changed, 298 insertions(+), 185 deletions(-) diff --git a/build/args/all.gn b/build/args/all.gn index 74769f6c97..6755a47d28 100644 --- a/build/args/all.gn +++ b/build/args/all.gn @@ -50,8 +50,5 @@ use_qt = false # TODO(codebytere): fix perfetto incompatibility with Node.js. use_perfetto_client_library = false -# Ref: https://chromium-review.googlesource.com/c/chromium/src/+/4402277 -enable_check_raw_ptr_fields = false - # Disables the builtins PGO for V8 v8_builtins_profiling_log_file = "" diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index 5e67bfb66d..71357fc44d 100644 --- a/patches/chromium/expose_setuseragent_on_networkcontext.patch +++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch @@ -51,7 +51,7 @@ index 5b53653eb8448c3904fda67f054dd2ec4bbca338..a89b923bcece48d6eaece3d5ac5c5bfc // This may only be called on NetworkContexts created with the constructor // that calls MakeURLRequestContext(). diff --git a/services/network/network_context.h b/services/network/network_context.h -index ca1d417743e4ac3c1d3f9833c7d5cfc261d59087..35283c28c40d47f2ebd064a511e6da06b55fed0a 100644 +index 87e9c6b2549e0db4a3cd88f6528eeb84327ec183..34d2c1a33983489dc56e18a2a7bbd6717645c7a3 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h @@ -315,6 +315,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext diff --git a/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch b/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch index bcb5d6dce3..14d1f59f03 100644 --- a/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch +++ b/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch @@ -41,7 +41,7 @@ index 707a8346ea5bf49e20bac5669d777a8ab247dc51..69c82dd102e7e746db68c6ab4768a40a content::RenderProcessHost* host) { InitForRenderer(host); diff --git a/chrome/browser/spellchecker/spellcheck_service.h b/chrome/browser/spellchecker/spellcheck_service.h -index 00e613bb4ca4346eb0b0e65b9b818d817ac724d9..bd9745d29a61944a23b83b274aace2ea8cb37a0f 100644 +index 00e613bb4ca4346eb0b0e65b9b818d817ac724d9..1b40931b8654b80e9a5fd0f170217b4b008eaae9 100644 --- a/chrome/browser/spellchecker/spellcheck_service.h +++ b/chrome/browser/spellchecker/spellcheck_service.h @@ -135,6 +135,8 @@ class SpellcheckService : public KeyedService, @@ -57,7 +57,7 @@ index 00e613bb4ca4346eb0b0e65b9b818d817ac724d9..bd9745d29a61944a23b83b274aace2ea // A pointer to the BrowserContext which this service refers to. raw_ptr context_; -+ SpellcheckHunspellDictionary::Observer* hunspell_observer_ = nullptr; ++ raw_ptr hunspell_observer_ = nullptr; + std::unique_ptr metrics_; diff --git a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch index 1765bce882..13956b50ec 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -583,7 +583,7 @@ index 2f462f0deb5fc8a637457243fb5d5849fc214d14..695869b83cefaa24af93a2e11b39de05 + Draw(gfx.mojom.Rect damage_rect) => (); }; diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h -index c9f14ed6547ba1f5cdaade063452036ac402885a..2d1718afbea84b3e4395ce511e2618848ef85859 100644 +index c9f14ed6547ba1f5cdaade063452036ac402885a..ddb28fd6f7549759df7e3b7d6b309cd982e199af 100644 --- a/ui/compositor/compositor.h +++ b/ui/compositor/compositor.h @@ -89,6 +89,7 @@ class DisplayPrivate; @@ -625,7 +625,7 @@ index c9f14ed6547ba1f5cdaade063452036ac402885a..2d1718afbea84b3e4395ce511e261884 std::unique_ptr pending_begin_frame_args_; -+ CompositorDelegate* delegate_ = nullptr; ++ raw_ptr delegate_ = nullptr; + // The root of the Layer tree drawn by this compositor. raw_ptr root_layer_ = nullptr; diff --git a/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch b/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch index 01914d2a1d..85446f4d99 100644 --- a/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch +++ b/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch @@ -21,7 +21,7 @@ index 69f9ffbf4826421491118a0b200d6c71e41f8950..c3b7f6fa146ac335b0d18a749a61600c // Calculates the PageVisibilityState for |visibility|, taking the capturing // state into account. diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h -index 86cb0de1e87a444bdd8d00bc2a981a8abbb94234..33d3af13ec5c243828412671a198070d09ad895d 100644 +index 44d75c043805f9bfb4b08741fc652aafc6c50740..41c15ba67ad66245fdac2ada8e9f0de755fe01be 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h @@ -702,6 +702,10 @@ class WebContents : public PageNavigator, diff --git a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch index 9d9906c69d..51ccbf1b3b 100644 --- a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch +++ b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch @@ -147,7 +147,7 @@ index 479b87b12cae8cc7727b198e0d15b97a569cfc28..5b53653eb8448c3904fda67f054dd2ec builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier( diff --git a/services/network/network_context.h b/services/network/network_context.h -index a314820247451f507b92bb8e41891cd2958ae45b..ca1d417743e4ac3c1d3f9833c7d5cfc261d59087 100644 +index a314820247451f507b92bb8e41891cd2958ae45b..87e9c6b2549e0db4a3cd88f6528eeb84327ec183 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h @@ -114,6 +114,7 @@ class URLMatcher; @@ -171,7 +171,7 @@ index a314820247451f507b92bb8e41891cd2958ae45b..ca1d417743e4ac3c1d3f9833c7d5cfc2 std::vector dismount_closures_; #endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED) -+ RemoteCertVerifier* remote_cert_verifier_ = nullptr; ++ raw_ptr remote_cert_verifier_ = nullptr; + // Created on-demand. Null if unused. std::unique_ptr internal_host_resolver_; diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index 5372a52432..926b89b2b3 100644 --- a/patches/chromium/web_contents.patch +++ b/patches/chromium/web_contents.patch @@ -35,7 +35,7 @@ index 57a810427461b8240d5f8da88e6ae2815b06c69a..a114c8a72670037fe0f4b9d95c16a670 CHECK(view_.get()); diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h -index 8baf744895c941df36d770ad17fca925a1dfd45f..86cb0de1e87a444bdd8d00bc2a981a8abbb94234 100644 +index 8baf744895c941df36d770ad17fca925a1dfd45f..44d75c043805f9bfb4b08741fc652aafc6c50740 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h @@ -96,10 +96,13 @@ class BrowserContext; @@ -57,8 +57,8 @@ index 8baf744895c941df36d770ad17fca925a1dfd45f..86cb0de1e87a444bdd8d00bc2a981a8a network::mojom::WebSandboxFlags::kNone; + // Optionally specify the view and delegate view. -+ content::WebContentsView* view = nullptr; -+ content::RenderViewHostDelegateView* delegate_view = nullptr; ++ raw_ptr view = nullptr; ++ raw_ptr delegate_view = nullptr; + // Value used to set the last time the WebContents was made active, this is // the value that'll be returned by GetLastActiveTime(). If this is left diff --git a/shell/app/uv_task_runner.h b/shell/app/uv_task_runner.h index f88e5f137f..d792d2711a 100644 --- a/shell/app/uv_task_runner.h +++ b/shell/app/uv_task_runner.h @@ -8,6 +8,7 @@ #include #include "base/functional/callback.h" +#include "base/memory/raw_ptr.h" #include "base/task/single_thread_task_runner.h" #include "uv.h" // NOLINT(build/include_directory) @@ -41,7 +42,7 @@ class UvTaskRunner : public base::SingleThreadTaskRunner { static void OnTimeout(uv_timer_t* timer); static void OnClose(uv_handle_t* handle); - uv_loop_t* loop_; + raw_ptr loop_; std::map tasks_; }; diff --git a/shell/browser/api/electron_api_browser_view.cc b/shell/browser/api/electron_api_browser_view.cc index acfbcd4c62..a3c65f1ca8 100644 --- a/shell/browser/api/electron_api_browser_view.cc +++ b/shell/browser/api/electron_api_browser_view.cc @@ -76,9 +76,8 @@ gin::WrapperInfo BrowserView::kWrapperInfo = {gin::kEmbedderNativeGin}; BrowserView::BrowserView(gin::Arguments* args, const gin_helper::Dictionary& options) : id_(GetNextId()) { - v8::Isolate* isolate = args->isolate(); gin_helper::Dictionary web_preferences = - gin::Dictionary::CreateEmpty(isolate); + gin::Dictionary::CreateEmpty(args->isolate()); options.Get(options::kWebPreferences, &web_preferences); web_preferences.Set("type", "browserView"); @@ -92,7 +91,7 @@ BrowserView::BrowserView(gin::Arguments* args, auto web_contents = WebContents::CreateFromWebPreferences(args->isolate(), web_preferences); - web_contents_.Reset(isolate, web_contents.ToV8()); + web_contents_.Reset(args->isolate(), web_contents.ToV8()); api_web_contents_ = web_contents.get(); api_web_contents_->AddObserver(this); Observe(web_contents->web_contents()); diff --git a/shell/browser/api/electron_api_browser_view.h b/shell/browser/api/electron_api_browser_view.h index f7bcc0584f..a7b535149c 100644 --- a/shell/browser/api/electron_api_browser_view.h +++ b/shell/browser/api/electron_api_browser_view.h @@ -9,6 +9,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "content/public/browser/web_contents_observer.h" #include "gin/handle.h" #include "gin/wrappable.h" @@ -79,7 +80,7 @@ class BrowserView : public gin::Wrappable, v8::Local GetWebContents(v8::Isolate*); v8::Global web_contents_; - class WebContents* api_web_contents_ = nullptr; + class raw_ptr api_web_contents_ = nullptr; std::unique_ptr view_; base::WeakPtr owner_window_; diff --git a/shell/browser/api/electron_api_cookies.h b/shell/browser/api/electron_api_cookies.h index 3b98c033af..3dd16e84bc 100644 --- a/shell/browser/api/electron_api_cookies.h +++ b/shell/browser/api/electron_api_cookies.h @@ -8,6 +8,7 @@ #include #include "base/callback_list.h" +#include "base/memory/raw_ptr.h" #include "base/values.h" #include "gin/handle.h" #include "net/cookies/canonical_cookie.h" @@ -61,7 +62,7 @@ class Cookies : public gin::Wrappable, base::CallbackListSubscription cookie_change_subscription_; // Weak reference; ElectronBrowserContext is guaranteed to outlive us. - ElectronBrowserContext* browser_context_; + raw_ptr browser_context_; }; } // namespace api diff --git a/shell/browser/api/electron_api_data_pipe_holder.cc b/shell/browser/api/electron_api_data_pipe_holder.cc index da46fb2730..533e1607f8 100644 --- a/shell/browser/api/electron_api_data_pipe_holder.cc +++ b/shell/browser/api/electron_api_data_pipe_holder.cc @@ -7,6 +7,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "base/no_destructor.h" #include "base/strings/string_number_conversions.h" @@ -129,7 +130,7 @@ class DataPipeReader { std::vector buffer_; // The head of buffer. - char* head_ = nullptr; + raw_ptr head_ = nullptr; // Remaining data to read. uint64_t remaining_size_ = 0; diff --git a/shell/browser/api/electron_api_debugger.h b/shell/browser/api/electron_api_debugger.h index 0c359b3c46..7429961948 100644 --- a/shell/browser/api/electron_api_debugger.h +++ b/shell/browser/api/electron_api_debugger.h @@ -8,6 +8,7 @@ #include #include "base/functional/callback.h" +#include "base/memory/raw_ptr.h" #include "base/values.h" #include "content/public/browser/devtools_agent_host_client.h" #include "content/public/browser/web_contents_observer.h" @@ -65,7 +66,7 @@ class Debugger : public gin::Wrappable, v8::Local SendCommand(gin::Arguments* args); void ClearPendingRequests(); - content::WebContents* web_contents_; // Weak Reference. + raw_ptr web_contents_; // Weak Reference. scoped_refptr agent_host_; PendingRequestMap pending_requests_; diff --git a/shell/browser/api/electron_api_download_item.h b/shell/browser/api/electron_api_download_item.h index 85e314d9c6..7b240aa10a 100644 --- a/shell/browser/api/electron_api_download_item.h +++ b/shell/browser/api/electron_api_download_item.h @@ -8,6 +8,7 @@ #include #include "base/files/file_path.h" +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "components/download/public/common/download_item.h" #include "gin/handle.h" @@ -78,9 +79,9 @@ class DownloadItem : public gin::Wrappable, base::FilePath save_path_; file_dialog::DialogSettings dialog_options_; - download::DownloadItem* download_item_; + raw_ptr download_item_; - v8::Isolate* isolate_; + raw_ptr isolate_; base::WeakPtrFactory weak_factory_{this}; }; diff --git a/shell/browser/api/electron_api_menu.h b/shell/browser/api/electron_api_menu.h index d8de583209..6827228611 100644 --- a/shell/browser/api/electron_api_menu.h +++ b/shell/browser/api/electron_api_menu.h @@ -9,6 +9,7 @@ #include #include "base/functional/callback.h" +#include "base/memory/raw_ptr.h" #include "gin/arguments.h" #include "shell/browser/api/electron_api_base_window.h" #include "shell/browser/event_emitter_mixin.h" @@ -82,7 +83,7 @@ class Menu : public gin::Wrappable, virtual std::u16string GetAcceleratorTextAtForTesting(int index) const; std::unique_ptr model_; - Menu* parent_ = nullptr; + raw_ptr parent_ = nullptr; // Observable: void OnMenuWillClose() override; diff --git a/shell/browser/api/electron_api_native_theme.h b/shell/browser/api/electron_api_native_theme.h index 3983360c98..6be9c008e0 100644 --- a/shell/browser/api/electron_api_native_theme.h +++ b/shell/browser/api/electron_api_native_theme.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_API_ELECTRON_API_NATIVE_THEME_H_ #define ELECTRON_SHELL_BROWSER_API_ELECTRON_API_NATIVE_THEME_H_ +#include "base/memory/raw_ptr.h" #include "gin/handle.h" #include "gin/wrappable.h" #include "shell/browser/event_emitter_mixin.h" @@ -51,8 +52,8 @@ class NativeTheme : public gin::Wrappable, void OnNativeThemeUpdatedOnUI(); private: - ui::NativeTheme* ui_theme_; - ui::NativeTheme* web_theme_; + raw_ptr ui_theme_; + raw_ptr web_theme_; }; } // namespace electron::api diff --git a/shell/browser/api/electron_api_net_log.h b/shell/browser/api/electron_api_net_log.h index 362192129a..e715e0e241 100644 --- a/shell/browser/api/electron_api_net_log.h +++ b/shell/browser/api/electron_api_net_log.h @@ -7,6 +7,7 @@ #include "base/files/file_path.h" #include "base/functional/callback.h" +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "base/values.h" #include "gin/handle.h" @@ -62,7 +63,7 @@ class NetLog : public gin::Wrappable { void NetLogStarted(int32_t error); private: - ElectronBrowserContext* browser_context_; + raw_ptr browser_context_; mojo::Remote net_log_exporter_; diff --git a/shell/browser/api/electron_api_notification.h b/shell/browser/api/electron_api_notification.h index 854e862833..3a4a46d327 100644 --- a/shell/browser/api/electron_api_notification.h +++ b/shell/browser/api/electron_api_notification.h @@ -8,6 +8,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/strings/utf_string_conversions.h" #include "gin/wrappable.h" #include "shell/browser/event_emitter_mixin.h" @@ -108,7 +109,7 @@ class Notification : public gin::Wrappable, std::u16string close_button_text_; std::u16string toast_xml_; - electron::NotificationPresenter* presenter_; + raw_ptr presenter_; base::WeakPtr notification_; }; diff --git a/shell/browser/api/electron_api_protocol.h b/shell/browser/api/electron_api_protocol.h index a23cc3eb29..ef69d93726 100644 --- a/shell/browser/api/electron_api_protocol.h +++ b/shell/browser/api/electron_api_protocol.h @@ -8,6 +8,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "content/public/browser/content_browser_client.h" #include "gin/handle.h" #include "gin/wrappable.h" @@ -101,7 +102,7 @@ class Protocol : public gin::Wrappable, // Weak pointer; the lifetime of the ProtocolRegistry is guaranteed to be // longer than the lifetime of this JS interface. - ProtocolRegistry* protocol_registry_; + raw_ptr protocol_registry_; }; } // namespace api diff --git a/shell/browser/api/electron_api_screen.h b/shell/browser/api/electron_api_screen.h index ef203cd7b1..20bbff0497 100644 --- a/shell/browser/api/electron_api_screen.h +++ b/shell/browser/api/electron_api_screen.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "gin/wrappable.h" #include "shell/browser/event_emitter_mixin.h" #include "shell/common/gin_helper/error_thrower.h" @@ -53,7 +54,7 @@ class Screen : public gin::Wrappable, uint32_t changed_metrics) override; private: - display::Screen* screen_; + raw_ptr screen_; }; } // namespace electron::api diff --git a/shell/browser/api/electron_api_service_worker_context.h b/shell/browser/api/electron_api_service_worker_context.h index 048bcda716..9a6a6cd671 100644 --- a/shell/browser/api/electron_api_service_worker_context.h +++ b/shell/browser/api/electron_api_service_worker_context.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_API_ELECTRON_API_SERVICE_WORKER_CONTEXT_H_ #define ELECTRON_SHELL_BROWSER_API_ELECTRON_API_SERVICE_WORKER_CONTEXT_H_ +#include "base/memory/raw_ptr.h" #include "content/public/browser/service_worker_context.h" #include "content/public/browser/service_worker_context_observer.h" #include "gin/handle.h" @@ -53,7 +54,7 @@ class ServiceWorkerContext ~ServiceWorkerContext() override; private: - content::ServiceWorkerContext* service_worker_context_; + raw_ptr service_worker_context_; base::WeakPtrFactory weak_ptr_factory_{this}; }; diff --git a/shell/browser/api/electron_api_session.cc b/shell/browser/api/electron_api_session.cc index 22ff6ab78c..d278f03966 100644 --- a/shell/browser/api/electron_api_session.cc +++ b/shell/browser/api/electron_api_session.cc @@ -16,6 +16,7 @@ #include "base/files/file_path.h" #include "base/files/file_util.h" #include "base/guid.h" +#include "base/memory/raw_ptr.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" @@ -327,7 +328,7 @@ class DictionaryObserver final : public SpellcheckCustomDictionary::Observer { struct UserDataLink : base::SupportsUserData::Data { explicit UserDataLink(Session* ses) : session(ses) {} - Session* session; + raw_ptr session; }; const void* kElectronApiSessionKey = &kElectronApiSessionKey; diff --git a/shell/browser/api/electron_api_session.h b/shell/browser/api/electron_api_session.h index 248673a07a..e50ae7ed52 100644 --- a/shell/browser/api/electron_api_session.h +++ b/shell/browser/api/electron_api_session.h @@ -8,6 +8,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/values.h" #include "content/public/browser/download_manager.h" #include "electron/buildflags/buildflags.h" @@ -203,12 +204,12 @@ class Session : public gin::Wrappable, v8::Global service_worker_context_; v8::Global web_request_; - v8::Isolate* isolate_; + raw_ptr isolate_; // The client id to enable the network throttler. base::UnguessableToken network_emulation_token_; - ElectronBrowserContext* browser_context_; + raw_ptr browser_context_; }; } // namespace api diff --git a/shell/browser/api/electron_api_url_loader.cc b/shell/browser/api/electron_api_url_loader.cc index 6060cdadc4..38320da0ba 100644 --- a/shell/browser/api/electron_api_url_loader.cc +++ b/shell/browser/api/electron_api_url_loader.cc @@ -10,6 +10,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/no_destructor.h" #include "gin/handle.h" #include "gin/object_template_builder.h" @@ -312,7 +313,7 @@ class JSChunkedDataPipeGetter : public gin::Wrappable, bool is_writing_ = false; uint64_t bytes_written_ = 0; - v8::Isolate* isolate_; + raw_ptr isolate_; v8::Global body_func_; }; diff --git a/shell/browser/api/electron_api_url_loader.h b/shell/browser/api/electron_api_url_loader.h index 590b9eab65..a0e89597f2 100644 --- a/shell/browser/api/electron_api_url_loader.h +++ b/shell/browser/api/electron_api_url_loader.h @@ -9,6 +9,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "gin/wrappable.h" #include "mojo/public/cpp/bindings/receiver_set.h" @@ -122,7 +123,7 @@ class SimpleURLLoaderWrapper void Pin(); void PinBodyGetter(v8::Local); - ElectronBrowserContext* browser_context_; + raw_ptr browser_context_; int request_options_; std::unique_ptr request_; scoped_refptr url_loader_factory_; diff --git a/shell/browser/api/electron_api_view.h b/shell/browser/api/electron_api_view.h index 4c9b6df348..2a905cb263 100644 --- a/shell/browser/api/electron_api_view.h +++ b/shell/browser/api/electron_api_view.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "electron/buildflags/buildflags.h" #include "gin/handle.h" #include "shell/common/gin_helper/wrappable.h" @@ -44,7 +45,7 @@ class View : public gin_helper::Wrappable { std::vector> child_views_; bool delete_view_ = true; - views::View* view_ = nullptr; + raw_ptr view_ = nullptr; }; } // namespace electron::api diff --git a/shell/browser/api/electron_api_web_contents.h b/shell/browser/api/electron_api_web_contents.h index e524bceda0..fc19d05c83 100644 --- a/shell/browser/api/electron_api_web_contents.h +++ b/shell/browser/api/electron_api_web_contents.h @@ -11,6 +11,8 @@ #include #include +#include "base/memory/raw_ptr.h" +#include "base/memory/raw_ptr_exclusion.h" #include "base/memory/weak_ptr.h" #include "base/observer_list.h" #include "base/observer_list_types.h" @@ -766,13 +768,13 @@ class WebContents : public ExclusiveAccessContext, #endif // The host webcontents that may contain this webcontents. - WebContents* embedder_ = nullptr; + RAW_PTR_EXCLUSION WebContents* embedder_ = nullptr; // Whether the guest view has been attached. bool attached_ = false; // The zoom controller for this webContents. - WebContentsZoomController* zoom_controller_ = nullptr; + raw_ptr zoom_controller_ = nullptr; // The type of current WebContents. Type type_ = Type::kBrowserWindow; @@ -810,7 +812,7 @@ class WebContents : public ExclusiveAccessContext, std::unique_ptr eye_dropper_; - ElectronBrowserContext* browser_context_; + raw_ptr browser_context_; // The stored InspectableWebContents object. // Notice that inspectable_web_contents_ must be placed after @@ -835,7 +837,7 @@ class WebContents : public ExclusiveAccessContext, #endif // Stores the frame thats currently in fullscreen, nullptr if there is none. - content::RenderFrameHost* fullscreen_frame_ = nullptr; + raw_ptr fullscreen_frame_ = nullptr; std::unique_ptr draggable_region_; diff --git a/shell/browser/api/electron_api_web_contents_view.cc b/shell/browser/api/electron_api_web_contents_view.cc index be795529df..55c89c8e0f 100644 --- a/shell/browser/api/electron_api_web_contents_view.cc +++ b/shell/browser/api/electron_api_web_contents_view.cc @@ -49,7 +49,7 @@ WebContentsView::~WebContentsView() { } gin::Handle WebContentsView::GetWebContents(v8::Isolate* isolate) { - return gin::CreateHandle(isolate, api_web_contents_); + return gin::CreateHandle(isolate, api_web_contents_.get()); } int WebContentsView::NonClientHitTest(const gfx::Point& point) { diff --git a/shell/browser/api/electron_api_web_contents_view.h b/shell/browser/api/electron_api_web_contents_view.h index aa2cd00912..46c10fc83d 100644 --- a/shell/browser/api/electron_api_web_contents_view.h +++ b/shell/browser/api/electron_api_web_contents_view.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_API_ELECTRON_API_WEB_CONTENTS_VIEW_H_ #define ELECTRON_SHELL_BROWSER_API_ELECTRON_API_WEB_CONTENTS_VIEW_H_ +#include "base/memory/raw_ptr.h" #include "content/public/browser/web_contents_observer.h" #include "shell/browser/api/electron_api_view.h" #include "shell/browser/draggable_region_provider.h" @@ -53,7 +54,7 @@ class WebContentsView : public View, // Keep a reference to v8 wrapper. v8::Global web_contents_; - api::WebContents* api_web_contents_; + raw_ptr api_web_contents_; }; } // namespace electron::api diff --git a/shell/browser/api/electron_api_web_frame_main.h b/shell/browser/api/electron_api_web_frame_main.h index 4facae73d9..56fb2eb3ac 100644 --- a/shell/browser/api/electron_api_web_frame_main.h +++ b/shell/browser/api/electron_api_web_frame_main.h @@ -8,6 +8,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "base/process/process.h" #include "gin/handle.h" @@ -122,7 +123,7 @@ class WebFrameMain : public gin::Wrappable, int frame_tree_node_id_; - content::RenderFrameHost* render_frame_ = nullptr; + raw_ptr render_frame_ = nullptr; // Whether the RenderFrameHost has been removed and that it should no longer // be accessed. diff --git a/shell/browser/api/electron_api_web_request.cc b/shell/browser/api/electron_api_web_request.cc index 0e3b4ae622..e88d7c38df 100644 --- a/shell/browser/api/electron_api_web_request.cc +++ b/shell/browser/api/electron_api_web_request.cc @@ -8,6 +8,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/stl_util.h" #include "base/task/sequenced_task_runner.h" #include "base/values.h" @@ -91,7 +92,7 @@ const char kUserDataKey[] = "WebRequest"; // BrowserContext <=> WebRequest relationship. struct UserData : public base::SupportsUserData::Data { explicit UserData(WebRequest* data) : data(data) {} - WebRequest* data; + raw_ptr data; }; extensions::WebRequestResourceType ParseResourceType(const std::string& value) { @@ -612,7 +613,7 @@ gin::Handle WebRequest::From( static_cast(browser_context->GetUserData(kUserDataKey)); if (!user_data) return gin::Handle(); - return gin::CreateHandle(isolate, user_data->data); + return gin::CreateHandle(isolate, user_data->data.get()); } } // namespace electron::api diff --git a/shell/browser/api/electron_api_web_request.h b/shell/browser/api/electron_api_web_request.h index 0c243beace..a4bf0a9e10 100644 --- a/shell/browser/api/electron_api_web_request.h +++ b/shell/browser/api/electron_api_web_request.h @@ -8,6 +8,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/values.h" #include "extensions/common/url_pattern.h" #include "gin/arguments.h" @@ -167,7 +168,7 @@ class WebRequest : public gin::Wrappable, public WebRequestAPI { std::map callbacks_; // Weak-ref, it manages us. - content::BrowserContext* browser_context_; + raw_ptr browser_context_; }; } // namespace electron::api diff --git a/shell/browser/api/frame_subscriber.h b/shell/browser/api/frame_subscriber.h index 4c680ea8b6..57cf81e96d 100644 --- a/shell/browser/api/frame_subscriber.h +++ b/shell/browser/api/frame_subscriber.h @@ -9,6 +9,7 @@ #include #include "base/functional/callback.h" +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "components/viz/host/client_frame_sink_video_capturer.h" #include "content/public/browser/web_contents.h" @@ -69,7 +70,7 @@ class FrameSubscriber : public content::WebContentsObserver, FrameCaptureCallback callback_; bool only_dirty_; - content::RenderWidgetHost* host_; + raw_ptr host_; std::unique_ptr video_capturer_; base::WeakPtrFactory weak_ptr_factory_{this}; diff --git a/shell/browser/api/gpuinfo_manager.h b/shell/browser/api/gpuinfo_manager.h index 8b134e50bf..3486d96903 100644 --- a/shell/browser/api/gpuinfo_manager.h +++ b/shell/browser/api/gpuinfo_manager.h @@ -8,6 +8,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "content/browser/gpu/gpu_data_manager_impl.h" // nogncheck #include "content/public/browser/gpu_data_manager.h" #include "content/public/browser/gpu_data_manager_observer.h" @@ -42,7 +43,7 @@ class GPUInfoManager : public content::GpuDataManagerObserver { // This set maintains all the promises that should be fulfilled // once we have the complete information data std::vector> complete_info_promise_set_; - content::GpuDataManagerImpl* gpu_data_manager_; + raw_ptr gpu_data_manager_; }; } // namespace electron diff --git a/shell/browser/api/save_page_handler.h b/shell/browser/api/save_page_handler.h index d7468ed1a6..33328e6c7d 100644 --- a/shell/browser/api/save_page_handler.h +++ b/shell/browser/api/save_page_handler.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_API_SAVE_PAGE_HANDLER_H_ #define ELECTRON_SHELL_BROWSER_API_SAVE_PAGE_HANDLER_H_ +#include "base/memory/raw_ptr.h" #include "components/download/public/common/download_item.h" #include "content/public/browser/download_manager.h" #include "content/public/browser/save_page_type.h" @@ -42,7 +43,7 @@ class SavePageHandler : public content::DownloadManager::Observer, // download::DownloadItem::Observer: void OnDownloadUpdated(download::DownloadItem* item) override; - content::WebContents* web_contents_; // weak + raw_ptr web_contents_; // weak gin_helper::Promise promise_; }; diff --git a/shell/browser/certificate_manager_model.h b/shell/browser/certificate_manager_model.h index 463d9f666d..91f7f3c4dc 100644 --- a/shell/browser/certificate_manager_model.h +++ b/shell/browser/certificate_manager_model.h @@ -9,6 +9,7 @@ #include #include "base/functional/callback.h" +#include "base/memory/raw_ptr.h" #include "base/memory/ref_counted.h" #include "net/cert/nss_cert_database.h" @@ -107,7 +108,7 @@ class CertificateManagerModel { static void GetCertDBOnIOThread(content::ResourceContext* context, CreationCallback callback); - net::NSSCertDatabase* cert_db_; + raw_ptr cert_db_; // Whether the certificate database has a public slot associated with the // profile. If not set, importing certificates is not allowed with this model. bool is_user_db_available_; diff --git a/shell/browser/cookie_change_notifier.h b/shell/browser/cookie_change_notifier.h index be33c2b294..0f00938349 100644 --- a/shell/browser/cookie_change_notifier.h +++ b/shell/browser/cookie_change_notifier.h @@ -6,6 +6,7 @@ #define ELECTRON_SHELL_BROWSER_COOKIE_CHANGE_NOTIFIER_H_ #include "base/callback_list.h" +#include "base/memory/raw_ptr.h" #include "mojo/public/cpp/bindings/receiver.h" #include "net/cookies/cookie_change_dispatcher.h" #include "services/network/public/mojom/cookie_manager.mojom.h" @@ -36,7 +37,7 @@ class CookieChangeNotifier : public network::mojom::CookieChangeListener { // network::mojom::CookieChangeListener implementation. void OnCookieChange(const net::CookieChangeInfo& change) override; - ElectronBrowserContext* browser_context_; + raw_ptr browser_context_; base::RepeatingCallbackList cookie_change_sub_list_; diff --git a/shell/browser/electron_autofill_driver.h b/shell/browser/electron_autofill_driver.h index 53219ce72f..65567a070c 100644 --- a/shell/browser/electron_autofill_driver.h +++ b/shell/browser/electron_autofill_driver.h @@ -12,6 +12,7 @@ #include "shell/browser/ui/autofill_popup.h" #endif +#include "base/memory/raw_ptr.h" #include "mojo/public/cpp/bindings/associated_receiver.h" #include "mojo/public/cpp/bindings/pending_associated_receiver.h" #include "shell/common/api/api.mojom.h" @@ -35,7 +36,7 @@ class AutofillDriver : public mojom::ElectronAutofillDriver { void HideAutofillPopup() override; private: - content::RenderFrameHost* const render_frame_host_; + raw_ptr const render_frame_host_; #if defined(TOOLKIT_VIEWS) std::unique_ptr autofill_popup_; diff --git a/shell/browser/electron_browser_client.h b/shell/browser/electron_browser_client.h index bfdba08c4b..77a68b602e 100644 --- a/shell/browser/electron_browser_client.h +++ b/shell/browser/electron_browser_client.h @@ -12,6 +12,7 @@ #include #include "base/files/file_path.h" +#include "base/memory/raw_ptr.h" #include "base/synchronization/lock.h" #include "content/public/browser/content_browser_client.h" #include "content/public/browser/render_process_host_observer.h" @@ -314,7 +315,7 @@ class ElectronBrowserClient : public content::ContentBrowserClient, std::unique_ptr notification_service_; std::unique_ptr notification_presenter_; - Delegate* delegate_ = nullptr; + raw_ptr delegate_ = nullptr; std::string user_agent_override_ = ""; diff --git a/shell/browser/electron_browser_context.h b/shell/browser/electron_browser_context.h index 2774f0a9df..7ab732c7a0 100644 --- a/shell/browser/electron_browser_context.h +++ b/shell/browser/electron_browser_context.h @@ -9,7 +9,7 @@ #include #include #include - +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "chrome/browser/predictors/preconnect_manager.h" #include "content/public/browser/browser_context.h" @@ -259,7 +259,7 @@ class ElectronBrowserContext : public content::BrowserContext { #if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS) // Owned by the KeyedService system. - extensions::ElectronExtensionSystem* extension_system_; + raw_ptr extension_system_; #endif // Shared URLLoaderFactory. diff --git a/shell/browser/electron_download_manager_delegate.h b/shell/browser/electron_download_manager_delegate.h index e3100e54e5..334328cd08 100644 --- a/shell/browser/electron_download_manager_delegate.h +++ b/shell/browser/electron_download_manager_delegate.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_ELECTRON_DOWNLOAD_MANAGER_DELEGATE_H_ #define ELECTRON_SHELL_BROWSER_ELECTRON_DOWNLOAD_MANAGER_DELEGATE_H_ +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "content/public/browser/download_manager_delegate.h" #include "shell/browser/ui/file_dialog.h" @@ -58,7 +59,7 @@ class ElectronDownloadManagerDelegate base::FilePath last_saved_directory_; - content::DownloadManager* download_manager_; + raw_ptr download_manager_; base::WeakPtrFactory weak_ptr_factory_{this}; }; diff --git a/shell/browser/extensions/api/runtime/electron_runtime_api_delegate.h b/shell/browser/extensions/api/runtime/electron_runtime_api_delegate.h index 8d167c60f1..286acf3923 100644 --- a/shell/browser/extensions/api/runtime/electron_runtime_api_delegate.h +++ b/shell/browser/extensions/api/runtime/electron_runtime_api_delegate.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "extensions/browser/api/runtime/runtime_api_delegate.h" namespace content { @@ -36,7 +37,7 @@ class ElectronRuntimeAPIDelegate : public RuntimeAPIDelegate { bool RestartDevice(std::string* error_message) override; private: - content::BrowserContext* browser_context_; + raw_ptr browser_context_; }; } // namespace extensions diff --git a/shell/browser/extensions/api/tabs/tabs_api.h b/shell/browser/extensions/api/tabs/tabs_api.h index 4cbbcfc519..fd6c94f2c9 100644 --- a/shell/browser/extensions/api/tabs/tabs_api.h +++ b/shell/browser/extensions/api/tabs/tabs_api.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "extensions/browser/api/execute_code_function.h" #include "extensions/browser/extension_function.h" #include "extensions/common/extension_resource.h" @@ -107,7 +108,7 @@ class TabsUpdateFunction : public ExtensionFunction { bool UpdateURL(const std::string& url, int tab_id, std::string* error); ResponseValue GetResult(); - content::WebContents* web_contents_; + raw_ptr web_contents_; private: ResponseAction Run() override; diff --git a/shell/browser/extensions/electron_extension_loader.h b/shell/browser/extensions/electron_extension_loader.h index dd0209ae55..16d3a13663 100644 --- a/shell/browser/extensions/electron_extension_loader.h +++ b/shell/browser/extensions/electron_extension_loader.h @@ -9,6 +9,7 @@ #include #include "base/functional/callback.h" +#include "base/memory/raw_ptr.h" #include "base/memory/ref_counted.h" #include "base/memory/weak_ptr.h" #include "extensions/browser/extension_registrar.h" @@ -80,7 +81,7 @@ class ElectronExtensionLoader : public ExtensionRegistrar::Delegate { bool CanDisableExtension(const Extension* extension) override; bool ShouldBlockExtension(const Extension* extension) override; - content::BrowserContext* browser_context_; // Not owned. + raw_ptr browser_context_; // Not owned. // Registers and unregisters extensions. ExtensionRegistrar extension_registrar_; diff --git a/shell/browser/extensions/electron_extension_message_filter.h b/shell/browser/extensions/electron_extension_message_filter.h index cb0d69a6f3..103c85d2e5 100644 --- a/shell/browser/extensions/electron_extension_message_filter.h +++ b/shell/browser/extensions/electron_extension_message_filter.h @@ -8,6 +8,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/task/sequenced_task_runner_helpers.h" #include "content/public/browser/browser_message_filter.h" #include "content/public/browser/browser_thread.h" @@ -63,7 +64,7 @@ class ElectronExtensionMessageFilter : public content::BrowserMessageFilter { // be accessed on the UI thread! Furthermore since this class is refcounted it // may outlive |browser_context_|, so make sure to NULL check if in doubt; // async calls and the like. - content::BrowserContext* browser_context_; + raw_ptr browser_context_; }; } // namespace electron diff --git a/shell/browser/extensions/electron_extension_system.h b/shell/browser/extensions/electron_extension_system.h index f48d7ba9d4..d91ce93615 100644 --- a/shell/browser/extensions/electron_extension_system.h +++ b/shell/browser/extensions/electron_extension_system.h @@ -9,6 +9,7 @@ #include #include "base/compiler_specific.h" +#include "base/memory/raw_ptr.h" #include "base/memory/ref_counted.h" #include "base/memory/weak_ptr.h" #include "base/one_shot_event.h" @@ -92,7 +93,7 @@ class ElectronExtensionSystem : public ExtensionSystem { scoped_refptr extension); void LoadComponentExtensions(); - content::BrowserContext* browser_context_; // Not owned. + raw_ptr browser_context_; // Not owned. std::unique_ptr service_worker_manager_; std::unique_ptr quota_service_; diff --git a/shell/browser/file_select_helper.h b/shell/browser/file_select_helper.h index 39a0d8dc91..60bdb2815c 100644 --- a/shell/browser/file_select_helper.h +++ b/shell/browser/file_select_helper.h @@ -11,6 +11,7 @@ #include #include "base/compiler_specific.h" +#include "base/memory/raw_ptr.h" #include "base/scoped_observation.h" #include "build/build_config.h" #include "content/public/browser/browser_thread.h" @@ -188,8 +189,8 @@ class FileSelectHelper : public base::RefCountedThreadSafe< // The RenderFrameHost and WebContents for the page showing a file dialog // (may only be one such dialog). - content::RenderFrameHost* render_frame_host_; - content::WebContents* web_contents_; + raw_ptr render_frame_host_; + raw_ptr web_contents_; // |listener_| receives the result of the FileSelectHelper. scoped_refptr listener_; diff --git a/shell/browser/hid/hid_chooser_context.h b/shell/browser/hid/hid_chooser_context.h index 6c174427f4..a5c55d8403 100644 --- a/shell/browser/hid/hid_chooser_context.h +++ b/shell/browser/hid/hid_chooser_context.h @@ -13,6 +13,7 @@ #include #include "base/containers/queue.h" +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "base/observer_list.h" #include "base/unguessable_token.h" @@ -117,7 +118,7 @@ class HidChooserContext : public KeyedService, const url::Origin& origin, const device::mojom::HidDeviceInfo& device); - ElectronBrowserContext* browser_context_; + raw_ptr browser_context_; bool is_initialized_ = false; base::queue diff --git a/shell/browser/javascript_environment.h b/shell/browser/javascript_environment.h index 49cc2175f9..459269f90e 100644 --- a/shell/browser/javascript_environment.h +++ b/shell/browser/javascript_environment.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "gin/public/isolate_holder.h" #include "uv.h" // NOLINT(build/include_directory) #include "v8/include/v8-locker.h" @@ -42,7 +43,7 @@ class JavascriptEnvironment { v8::Isolate* Initialize(uv_loop_t* event_loop, bool setup_wasm_streaming); std::unique_ptr platform_; - v8::Isolate* isolate_; + raw_ptr isolate_; gin::IsolateHolder isolate_holder_; v8::Locker locker_; @@ -62,7 +63,7 @@ class NodeEnvironment { node::Environment* env() { return env_; } private: - node::Environment* env_; + raw_ptr env_; }; } // namespace electron diff --git a/shell/browser/lib/bluetooth_chooser.h b/shell/browser/lib/bluetooth_chooser.h index aed252c556..19f7eac838 100644 --- a/shell/browser/lib/bluetooth_chooser.h +++ b/shell/browser/lib/bluetooth_chooser.h @@ -9,6 +9,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "content/public/browser/bluetooth_chooser.h" #include "shell/browser/api/electron_api_web_contents.h" @@ -42,7 +43,7 @@ class BluetoothChooser : public content::BluetoothChooser { private: std::map device_map_; - api::WebContents* api_web_contents_; + raw_ptr api_web_contents_; EventHandler event_handler_; bool refreshing_ = false; bool rescan_ = false; diff --git a/shell/browser/lib/power_observer_linux.h b/shell/browser/lib/power_observer_linux.h index c1d1453c4e..1c9c743efd 100644 --- a/shell/browser/lib/power_observer_linux.h +++ b/shell/browser/lib/power_observer_linux.h @@ -8,6 +8,7 @@ #include #include "base/functional/callback.h" +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "base/power_monitor/power_observer.h" #include "dbus/bus.h" @@ -42,7 +43,7 @@ class PowerObserverLinux { bool success); base::RepeatingCallback should_shutdown_; - base::PowerSuspendObserver* suspend_observer_ = nullptr; + raw_ptr suspend_observer_ = nullptr; scoped_refptr logind_; std::string lock_owner_name_; diff --git a/shell/browser/mac/in_app_purchase_observer.h b/shell/browser/mac/in_app_purchase_observer.h index 1f9d54013b..a5e610091f 100644 --- a/shell/browser/mac/in_app_purchase_observer.h +++ b/shell/browser/mac/in_app_purchase_observer.h @@ -9,6 +9,7 @@ #include #include "base/functional/callback.h" +#include "base/memory/raw_ptr_exclusion.h" #include "base/memory/weak_ptr.h" #include "third_party/abseil-cpp/absl/types/optional.h" @@ -74,7 +75,7 @@ class TransactionObserver { const std::vector& transactions) = 0; private: - InAppTransactionObserver* observer_; + RAW_PTR_EXCLUSION InAppTransactionObserver* observer_; base::WeakPtrFactory weak_ptr_factory_{this}; }; diff --git a/shell/browser/microtasks_runner.h b/shell/browser/microtasks_runner.h index b37b7b677d..0ad1e046d7 100644 --- a/shell/browser/microtasks_runner.h +++ b/shell/browser/microtasks_runner.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_MICROTASKS_RUNNER_H_ #define ELECTRON_SHELL_BROWSER_MICROTASKS_RUNNER_H_ +#include "base/memory/raw_ptr.h" #include "base/task/task_observer.h" namespace v8 { @@ -29,7 +30,7 @@ class MicrotasksRunner : public base::TaskObserver { void DidProcessTask(const base::PendingTask& pending_task) override; private: - v8::Isolate* isolate_; + raw_ptr isolate_; }; } // namespace electron diff --git a/shell/browser/native_browser_view.h b/shell/browser/native_browser_view.h index 620e414ec2..b76b4fd449 100644 --- a/shell/browser/native_browser_view.h +++ b/shell/browser/native_browser_view.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents_observer.h" #include "third_party/skia/include/core/SkColor.h" @@ -54,7 +55,7 @@ class NativeBrowserView : public content::WebContentsObserver { // content::WebContentsObserver: void WebContentsDestroyed() override; - InspectableWebContents* inspectable_web_contents_; + raw_ptr inspectable_web_contents_; }; } // namespace electron diff --git a/shell/browser/native_window.h b/shell/browser/native_window.h index 23d37dd29d..ff69360d15 100644 --- a/shell/browser/native_window.h +++ b/shell/browser/native_window.h @@ -11,6 +11,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "base/observer_list.h" #include "base/supports_user_data.h" @@ -425,7 +426,7 @@ class NativeWindow : public base::SupportsUserData, static int32_t next_id_; // The content view, weak ref. - views::View* content_view_ = nullptr; + raw_ptr content_view_ = nullptr; // Whether window has standard frame. bool has_frame_ = true; @@ -458,7 +459,7 @@ class NativeWindow : public base::SupportsUserData, gfx::Size aspect_ratio_extraSize_; // The parent window, it is guaranteed to be valid during this window's life. - NativeWindow* parent_ = nullptr; + raw_ptr parent_ = nullptr; // Is this a modal window. bool is_modal_ = false; diff --git a/shell/browser/native_window_views.cc b/shell/browser/native_window_views.cc index 19b3b76b22..3511d7ba15 100644 --- a/shell/browser/native_window_views.cc +++ b/shell/browser/native_window_views.cc @@ -13,6 +13,7 @@ #include #include "base/cxx17_backports.h" +#include "base/memory/raw_ptr.h" #include "base/stl_util.h" #include "base/strings/utf_string_conversions.h" #include "content/public/browser/browser_thread.h" @@ -163,7 +164,7 @@ class NativeWindowClientView : public views::ClientView { } private: - NativeWindowViews* window_; + raw_ptr window_; }; } // namespace diff --git a/shell/browser/native_window_views.h b/shell/browser/native_window_views.h index 27019aaf7f..2961072ed4 100644 --- a/shell/browser/native_window_views.h +++ b/shell/browser/native_window_views.h @@ -12,6 +12,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "ui/views/widget/widget_observer.h" #if defined(USE_OZONE) @@ -252,7 +253,7 @@ class NativeWindowViews : public NativeWindow, std::unique_ptr root_view_; // The view should be focused by default. - views::View* focused_view_ = nullptr; + raw_ptr focused_view_ = nullptr; // The "resizable" flag on Linux is implemented by setting size constraints, // we need to make sure size constraints are restored when window becomes diff --git a/shell/browser/net/network_context_service.h b/shell/browser/net/network_context_service.h index e68c21db25..a790a18284 100644 --- a/shell/browser/net/network_context_service.h +++ b/shell/browser/net/network_context_service.h @@ -6,6 +6,7 @@ #define ELECTRON_SHELL_BROWSER_NET_NETWORK_CONTEXT_SERVICE_H_ #include "base/files/file_path.h" +#include "base/memory/raw_ptr.h" #include "chrome/browser/net/proxy_config_monitor.h" #include "components/keyed_service/core/keyed_service.h" #include "mojo/public/cpp/bindings/remote.h" @@ -36,7 +37,7 @@ class NetworkContextService : public KeyedService { bool in_memory, const base::FilePath& path); - ElectronBrowserContext* browser_context_; + raw_ptr browser_context_; ProxyConfigMonitor proxy_config_monitor_; }; diff --git a/shell/browser/net/node_stream_loader.h b/shell/browser/net/node_stream_loader.h index c3afe02088..5629f64b55 100644 --- a/shell/browser/net/node_stream_loader.h +++ b/shell/browser/net/node_stream_loader.h @@ -10,6 +10,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/remote.h" @@ -68,7 +69,7 @@ class NodeStreamLoader : public network::mojom::URLLoader { mojo::Receiver url_loader_; mojo::Remote client_; - v8::Isolate* isolate_; + raw_ptr isolate_; v8::Global emitter_; v8::Global buffer_; diff --git a/shell/browser/net/proxying_url_loader_factory.h b/shell/browser/net/proxying_url_loader_factory.h index 6d737293f3..e0231d9e36 100644 --- a/shell/browser/net/proxying_url_loader_factory.h +++ b/shell/browser/net/proxying_url_loader_factory.h @@ -12,6 +12,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "content/public/browser/content_browser_client.h" #include "content/public/browser/render_frame_host.h" @@ -131,7 +132,7 @@ class ProxyingURLLoaderFactory void OnRequestError(const network::URLLoaderCompletionStatus& status); void HandleBeforeRequestRedirect(); - ProxyingURLLoaderFactory* const factory_; + raw_ptr const factory_; network::ResourceRequest request_; const absl::optional original_initiator_; const uint64_t request_id_ = 0; @@ -247,7 +248,7 @@ class ProxyingURLLoaderFactory bool ShouldIgnoreConnectionsLimit(const network::ResourceRequest& request); // Passed from api::WebRequest. - WebRequestAPI* web_request_api_; + raw_ptr web_request_api_; // This is passed from api::Protocol. // @@ -260,7 +261,7 @@ class ProxyingURLLoaderFactory const int render_process_id_; const int frame_routing_id_; - uint64_t* request_id_generator_; // managed by ElectronBrowserClient + raw_ptr request_id_generator_; // managed by ElectronBrowserClient std::unique_ptr navigation_ui_data_; absl::optional navigation_id_; mojo::ReceiverSet proxy_receivers_; diff --git a/shell/browser/net/proxying_websocket.h b/shell/browser/net/proxying_websocket.h index 009b9a1e9d..96dc08bb58 100644 --- a/shell/browser/net/proxying_websocket.h +++ b/shell/browser/net/proxying_websocket.h @@ -9,6 +9,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "content/public/browser/content_browser_client.h" #include "extensions/browser/api/web_request/web_request_info.h" #include "mojo/public/cpp/bindings/pending_receiver.h" @@ -137,7 +138,7 @@ class ProxyingWebSocket : public network::mojom::WebSocketHandshakeClient, void OnMojoConnectionError(); // Passed from api::WebRequest. - WebRequestAPI* web_request_api_; + raw_ptr web_request_api_; // Saved to feed the api::WebRequest. network::ResourceRequest request_; diff --git a/shell/browser/net/resolve_host_function.h b/shell/browser/net/resolve_host_function.h index 97203bd844..963be64a2a 100644 --- a/shell/browser/net/resolve_host_function.h +++ b/shell/browser/net/resolve_host_function.h @@ -9,6 +9,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/memory/ref_counted.h" #include "mojo/public/cpp/bindings/receiver.h" #include "net/base/address_list.h" @@ -58,7 +59,7 @@ class ResolveHostFunction mojo::Receiver receiver_{this}; // Weak Ref - ElectronBrowserContext* browser_context_; + raw_ptr browser_context_; std::string host_; network::mojom::ResolveHostParametersPtr params_; ResolveHostCallback callback_; diff --git a/shell/browser/net/resolve_proxy_helper.h b/shell/browser/net/resolve_proxy_helper.h index 7225e2542e..632e160041 100644 --- a/shell/browser/net/resolve_proxy_helper.h +++ b/shell/browser/net/resolve_proxy_helper.h @@ -8,6 +8,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/memory/ref_counted.h" #include "mojo/public/cpp/bindings/receiver.h" #include "services/network/public/mojom/proxy_lookup_client.mojom.h" @@ -70,7 +71,7 @@ class ResolveProxyHelper mojo::Receiver receiver_{this}; // Weak Ref - ElectronBrowserContext* browser_context_; + raw_ptr browser_context_; }; } // namespace electron diff --git a/shell/browser/net/system_network_context_manager.cc b/shell/browser/net/system_network_context_manager.cc index 1cccb9a863..c9c77f6068 100644 --- a/shell/browser/net/system_network_context_manager.cc +++ b/shell/browser/net/system_network_context_manager.cc @@ -10,6 +10,7 @@ #include #include "base/command_line.h" +#include "base/memory/raw_ptr.h" #include "base/path_service.h" #include "base/strings/string_split.h" #include "chrome/browser/browser_process.h" @@ -141,7 +142,7 @@ class SystemNetworkContextManager::URLLoaderFactoryForSystem ~URLLoaderFactoryForSystem() override = default; SEQUENCE_CHECKER(sequence_checker_); - SystemNetworkContextManager* manager_; + raw_ptr manager_; }; network::mojom::NetworkContext* SystemNetworkContextManager::GetContext() { diff --git a/shell/browser/network_hints_handler_impl.h b/shell/browser/network_hints_handler_impl.h index 3270cf2774..3abf619259 100644 --- a/shell/browser/network_hints_handler_impl.h +++ b/shell/browser/network_hints_handler_impl.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_NETWORK_HINTS_HANDLER_IMPL_H_ #define ELECTRON_SHELL_BROWSER_NETWORK_HINTS_HANDLER_IMPL_H_ +#include "base/memory/raw_ptr.h" #include "components/network_hints/browser/simple_network_hints_handler_impl.h" namespace content { @@ -29,7 +30,7 @@ class NetworkHintsHandlerImpl private: explicit NetworkHintsHandlerImpl(content::RenderFrameHost*); - content::BrowserContext* browser_context_ = nullptr; + raw_ptr browser_context_ = nullptr; }; #endif // ELECTRON_SHELL_BROWSER_NETWORK_HINTS_HANDLER_IMPL_H_ diff --git a/shell/browser/notifications/linux/libnotify_notification.h b/shell/browser/notifications/linux/libnotify_notification.h index 0158df4503..4e20ab4e12 100644 --- a/shell/browser/notifications/linux/libnotify_notification.h +++ b/shell/browser/notifications/linux/libnotify_notification.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_NOTIFICATIONS_LINUX_LIBNOTIFY_NOTIFICATION_H_ #define ELECTRON_SHELL_BROWSER_NOTIFICATIONS_LINUX_LIBNOTIFY_NOTIFICATION_H_ +#include "base/memory/raw_ptr_exclusion.h" #include "library_loaders/libnotify_loader.h" #include "shell/browser/notifications/notification.h" #include "ui/base/glib/glib_signal.h" @@ -34,7 +35,7 @@ class LibnotifyNotification : public Notification { NotifyNotification*, char*); - NotifyNotification* notification_ = nullptr; + RAW_PTR_EXCLUSION NotifyNotification* notification_ = nullptr; }; } // namespace electron diff --git a/shell/browser/notifications/notification.h b/shell/browser/notifications/notification.h index 6d7456c5dc..e3c65090ce 100644 --- a/shell/browser/notifications/notification.h +++ b/shell/browser/notifications/notification.h @@ -8,6 +8,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "third_party/skia/include/core/SkBitmap.h" #include "url/gurl.h" @@ -81,8 +82,8 @@ class Notification { NotificationPresenter* presenter); private: - NotificationDelegate* delegate_; - NotificationPresenter* presenter_; + raw_ptr delegate_; + raw_ptr presenter_; std::string notification_id_; base::WeakPtrFactory weak_factory_{this}; diff --git a/shell/browser/notifications/platform_notification_service.h b/shell/browser/notifications/platform_notification_service.h index fefbbb70ce..55b00b9993 100644 --- a/shell/browser/notifications/platform_notification_service.h +++ b/shell/browser/notifications/platform_notification_service.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "content/public/browser/platform_notification_service.h" namespace electron { @@ -50,7 +51,7 @@ class PlatformNotificationService base::Time ReadNextTriggerTimestamp() override; private: - ElectronBrowserClient* browser_client_; + raw_ptr browser_client_; }; } // namespace electron diff --git a/shell/browser/osr/osr_render_widget_host_view.cc b/shell/browser/osr/osr_render_widget_host_view.cc index a942d7ef0d..e7fe5132e6 100644 --- a/shell/browser/osr/osr_render_widget_host_view.cc +++ b/shell/browser/osr/osr_render_widget_host_view.cc @@ -12,6 +12,7 @@ #include "base/functional/callback_helpers.h" #include "base/location.h" #include "base/memory/ptr_util.h" +#include "base/memory/raw_ptr.h" #include "base/task/single_thread_task_runner.h" #include "base/time/time.h" #include "components/viz/common/features.h" @@ -167,7 +168,7 @@ class ElectronDelegatedFrameHostClient void InvalidateLocalSurfaceIdOnEviction() override {} private: - OffScreenRenderWidgetHostView* const view_; + const raw_ptr view_; }; OffScreenRenderWidgetHostView::OffScreenRenderWidgetHostView( @@ -635,7 +636,7 @@ OffScreenRenderWidgetHostView::CreateHostDisplayClient( base::BindRepeating(&OffScreenRenderWidgetHostView::OnPaint, weak_ptr_factory_.GetWeakPtr())); host_display_client_->SetActive(IsPainting()); - return base::WrapUnique(host_display_client_); + return base::WrapUnique(host_display_client_.get()); } bool OffScreenRenderWidgetHostView::InstallTransparency() { diff --git a/shell/browser/osr/osr_render_widget_host_view.h b/shell/browser/osr/osr_render_widget_host_view.h index d4c15a3c0c..4a146ab16b 100644 --- a/shell/browser/osr/osr_render_widget_host_view.h +++ b/shell/browser/osr/osr_render_widget_host_view.h @@ -16,6 +16,7 @@ #include #endif +#include "base/memory/raw_ptr.h" #include "base/process/kill.h" #include "base/threading/thread.h" #include "base/time/time.h" @@ -243,11 +244,11 @@ class OffScreenRenderWidgetHostView : public content::RenderWidgetHostViewBase, void UpdateBackgroundColorFromRenderer(SkColor color); // Weak ptrs. - content::RenderWidgetHostImpl* render_widget_host_; + raw_ptr render_widget_host_; - OffScreenRenderWidgetHostView* parent_host_view_ = nullptr; - OffScreenRenderWidgetHostView* popup_host_view_ = nullptr; - OffScreenRenderWidgetHostView* child_host_view_ = nullptr; + raw_ptr parent_host_view_ = nullptr; + raw_ptr popup_host_view_ = nullptr; + raw_ptr child_host_view_ = nullptr; std::set guest_host_views_; std::set proxy_views_; @@ -285,7 +286,7 @@ class OffScreenRenderWidgetHostView : public content::RenderWidgetHostViewBase, std::unique_ptr cursor_manager_; - OffScreenHostDisplayClient* host_display_client_; + raw_ptr host_display_client_; std::unique_ptr video_consumer_; std::unique_ptr diff --git a/shell/browser/osr/osr_video_consumer.h b/shell/browser/osr/osr_video_consumer.h index bcefbf4eb5..e96e7399aa 100644 --- a/shell/browser/osr/osr_video_consumer.h +++ b/shell/browser/osr/osr_video_consumer.h @@ -9,6 +9,7 @@ #include #include "base/functional/callback.h" +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "components/viz/host/client_frame_sink_video_capturer.h" #include "media/capture/mojom/video_capture_buffer.mojom-forward.h" @@ -52,7 +53,7 @@ class OffScreenVideoConsumer : public viz::mojom::FrameSinkVideoConsumer { OnPaintCallback callback_; - OffScreenRenderWidgetHostView* view_; + raw_ptr view_; std::unique_ptr video_capturer_; base::WeakPtrFactory weak_ptr_factory_{this}; diff --git a/shell/browser/osr/osr_view_proxy.h b/shell/browser/osr/osr_view_proxy.h index 6704cfd4fc..78c6460cf2 100644 --- a/shell/browser/osr/osr_view_proxy.h +++ b/shell/browser/osr/osr_view_proxy.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "third_party/skia/include/core/SkBitmap.h" #include "ui/events/event.h" #include "ui/gfx/geometry/rect.h" @@ -41,12 +42,12 @@ class OffscreenViewProxy { void ResetView() { view_ = nullptr; } private: - views::View* view_; + raw_ptr view_; gfx::Rect view_bounds_; std::unique_ptr view_bitmap_; - OffscreenViewProxyObserver* observer_ = nullptr; + raw_ptr observer_ = nullptr; }; } // namespace electron diff --git a/shell/browser/osr/osr_web_contents_view.h b/shell/browser/osr/osr_web_contents_view.h index 9f3d55a93d..84fb3c84c4 100644 --- a/shell/browser/osr/osr_web_contents_view.h +++ b/shell/browser/osr/osr_web_contents_view.h @@ -8,6 +8,7 @@ #include "shell/browser/native_window.h" #include "shell/browser/native_window_observer.h" +#include "base/memory/raw_ptr.h" #include "content/browser/renderer_host/render_view_host_delegate_view.h" // nogncheck #include "content/browser/web_contents/web_contents_view.h" // nogncheck #include "content/public/browser/web_contents.h" @@ -92,7 +93,7 @@ class OffScreenWebContentsView : public content::WebContentsView, OffScreenRenderWidgetHostView* GetView() const; - NativeWindow* native_window_ = nullptr; + raw_ptr native_window_ = nullptr; const bool transparent_; bool painting_ = true; @@ -100,7 +101,7 @@ class OffScreenWebContentsView : public content::WebContentsView, OnPaintCallback callback_; // Weak refs. - content::WebContents* web_contents_ = nullptr; + raw_ptr web_contents_ = nullptr; #if BUILDFLAG(IS_MAC) OffScreenView* offScreenView_; diff --git a/shell/browser/serial/serial_chooser_context.h b/shell/browser/serial/serial_chooser_context.h index f64597b667..0e0f203a5d 100644 --- a/shell/browser/serial/serial_chooser_context.h +++ b/shell/browser/serial/serial_chooser_context.h @@ -10,6 +10,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "base/observer_list.h" #include "base/unguessable_token.h" @@ -107,7 +108,7 @@ class SerialChooserContext : public KeyedService, mojo::Receiver client_receiver_{this}; base::ObserverList port_observer_list_; - ElectronBrowserContext* browser_context_; + raw_ptr browser_context_; base::WeakPtrFactory weak_factory_{this}; }; diff --git a/shell/browser/ui/accelerator_util.h b/shell/browser/ui/accelerator_util.h index 35c44869aa..3e88451a2b 100644 --- a/shell/browser/ui/accelerator_util.h +++ b/shell/browser/ui/accelerator_util.h @@ -8,6 +8,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "shell/browser/ui/electron_menu_model.h" #include "ui/base/accelerators/accelerator.h" @@ -15,7 +16,7 @@ namespace accelerator_util { typedef struct { size_t position; - electron::ElectronMenuModel* model; + raw_ptr model; } MenuItem; typedef std::map AcceleratorTable; diff --git a/shell/browser/ui/autofill_popup.h b/shell/browser/ui/autofill_popup.h index a7e43f9d8f..59fa7d0425 100644 --- a/shell/browser/ui/autofill_popup.h +++ b/shell/browser/ui/autofill_popup.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "content/public/browser/render_frame_host.h" #include "shell/browser/ui/views/autofill_popup_view.h" #include "ui/color/color_id.h" @@ -79,13 +80,13 @@ class AutofillPopup : public views::ViewObserver { // For sending the accepted suggestion to the render frame that // asked to open the popup - content::RenderFrameHost* frame_host_ = nullptr; + raw_ptr frame_host_ = nullptr; // The popup view. The lifetime is managed by the owning Widget - AutofillPopupView* view_ = nullptr; + raw_ptr view_ = nullptr; // The parent view that the popup view shows on. Weak ref. - views::View* parent_ = nullptr; + raw_ptr parent_ = nullptr; }; } // namespace electron diff --git a/shell/browser/ui/electron_desktop_window_tree_host_linux.h b/shell/browser/ui/electron_desktop_window_tree_host_linux.h index a6d993a705..d026bf4f7c 100644 --- a/shell/browser/ui/electron_desktop_window_tree_host_linux.h +++ b/shell/browser/ui/electron_desktop_window_tree_host_linux.h @@ -9,6 +9,7 @@ #ifndef ELECTRON_SHELL_BROWSER_UI_ELECTRON_DESKTOP_WINDOW_TREE_HOST_LINUX_H_ #define ELECTRON_SHELL_BROWSER_UI_ELECTRON_DESKTOP_WINDOW_TREE_HOST_LINUX_H_ +#include "base/memory/raw_ptr.h" #include "base/scoped_observation.h" #include "shell/browser/native_window_views.h" #include "shell/browser/ui/views/client_frame_view_linux.h" @@ -59,7 +60,7 @@ class ElectronDesktopWindowTreeHostLinux void UpdateClientDecorationHints(ClientFrameViewLinux* view); void UpdateWindowState(ui::PlatformWindowState new_state); - NativeWindowViews* native_window_view_; // weak ref + raw_ptr native_window_view_; // weak ref base::ScopedObservation theme_observation_{this}; diff --git a/shell/browser/ui/electron_menu_model.h b/shell/browser/ui/electron_menu_model.h index 63999ad161..2f13f1ad4b 100644 --- a/shell/browser/ui/electron_menu_model.h +++ b/shell/browser/ui/electron_menu_model.h @@ -10,6 +10,7 @@ #include #include "base/files/file_path.h" +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "base/observer_list.h" #include "base/observer_list_types.h" @@ -112,7 +113,7 @@ class ElectronMenuModel : public ui::SimpleMenuModel { ElectronMenuModel* GetSubmenuModelAt(size_t index); private: - Delegate* delegate_; // weak ref. + raw_ptr delegate_; // weak ref. #if BUILDFLAG(IS_MAC) absl::optional sharing_item_; diff --git a/shell/browser/ui/file_dialog.h b/shell/browser/ui/file_dialog.h index 3bed2f581b..c410bbf4fb 100644 --- a/shell/browser/ui/file_dialog.h +++ b/shell/browser/ui/file_dialog.h @@ -10,6 +10,7 @@ #include #include "base/files/file_path.h" +#include "base/memory/raw_ptr_exclusion.h" #include "shell/common/gin_helper/dictionary.h" #include "shell/common/gin_helper/promise.h" @@ -44,7 +45,7 @@ enum SaveFileDialogProperty { }; struct DialogSettings { - electron::NativeWindow* parent_window = nullptr; + RAW_PTR_EXCLUSION electron::NativeWindow* parent_window = nullptr; std::string title; std::string message; std::string button_label; diff --git a/shell/browser/ui/file_dialog_gtk.cc b/shell/browser/ui/file_dialog_gtk.cc index 0d949e17f9..b6d9f9bb14 100644 --- a/shell/browser/ui/file_dialog_gtk.cc +++ b/shell/browser/ui/file_dialog_gtk.cc @@ -7,6 +7,8 @@ #include "base/files/file_util.h" #include "base/functional/callback.h" +#include "base/memory/raw_ptr.h" +#include "base/memory/raw_ptr_exclusion.h" #include "base/strings/string_util.h" #include "electron/electron_gtk_stubs.h" #include "shell/browser/javascript_environment.h" @@ -219,10 +221,10 @@ class FileChooserDialog { private: void AddFilters(const Filters& filters); - electron::NativeWindowViews* parent_; + raw_ptr parent_; - GtkFileChooser* dialog_; - GtkWidget* preview_; + RAW_PTR_EXCLUSION GtkFileChooser* dialog_; + RAW_PTR_EXCLUSION GtkWidget* preview_; Filters filters_; std::unique_ptr> save_promise_; diff --git a/shell/browser/ui/inspectable_web_contents.cc b/shell/browser/ui/inspectable_web_contents.cc index 5549a6ff0e..aad6b0bf98 100644 --- a/shell/browser/ui/inspectable_web_contents.cc +++ b/shell/browser/ui/inspectable_web_contents.cc @@ -13,6 +13,7 @@ #include "base/json/json_reader.h" #include "base/json/json_writer.h" #include "base/json/string_escape.h" +#include "base/memory/raw_ptr.h" #include "base/metrics/histogram.h" #include "base/stl_util.h" #include "base/strings/pattern.h" @@ -314,7 +315,7 @@ class InspectableWebContents::NetworkResourceLoader void OnRetry(base::OnceClosure start_retry) override {} const int stream_id_; - InspectableWebContents* const bindings_; + raw_ptr const bindings_; const network::ResourceRequest resource_request_; const net::NetworkTrafficAnnotationTag traffic_annotation_; std::unique_ptr loader_; diff --git a/shell/browser/ui/inspectable_web_contents.h b/shell/browser/ui/inspectable_web_contents.h index b283c48ff6..ec52e229bd 100644 --- a/shell/browser/ui/inspectable_web_contents.h +++ b/shell/browser/ui/inspectable_web_contents.h @@ -15,6 +15,7 @@ #include "base/containers/span.h" #include "base/containers/unique_ptr_adapters.h" +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "chrome/browser/devtools/devtools_contents_resizing_strategy.h" #include "chrome/browser/devtools/devtools_embedder_message_dispatcher.h" @@ -211,9 +212,10 @@ class InspectableWebContents std::string dock_state_; bool activate_ = true; - InspectableWebContentsDelegate* delegate_ = nullptr; // weak references. + raw_ptr delegate_ = + nullptr; // weak references. - PrefService* pref_service_; // weak reference. + raw_ptr pref_service_; // weak reference. std::unique_ptr web_contents_; @@ -221,7 +223,7 @@ class InspectableWebContents // one assigned by SetDevToolsWebContents. std::unique_ptr managed_devtools_web_contents_; // The external devtools assigned by SetDevToolsWebContents. - content::WebContents* external_devtools_web_contents_ = nullptr; + raw_ptr external_devtools_web_contents_ = nullptr; bool is_guest_; std::unique_ptr view_; diff --git a/shell/browser/ui/inspectable_web_contents_view.h b/shell/browser/ui/inspectable_web_contents_view.h index 7e6d6845c0..b279abfbcd 100644 --- a/shell/browser/ui/inspectable_web_contents_view.h +++ b/shell/browser/ui/inspectable_web_contents_view.h @@ -9,6 +9,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "shell/common/api/api.mojom.h" #include "ui/gfx/native_widget_types.h" @@ -64,10 +65,11 @@ class InspectableWebContentsView { protected: // Owns us. - InspectableWebContents* inspectable_web_contents_; + raw_ptr inspectable_web_contents_; private: - InspectableWebContentsViewDelegate* delegate_ = nullptr; // weak references. + raw_ptr delegate_ = + nullptr; // weak references. }; } // namespace electron diff --git a/shell/browser/ui/message_box.h b/shell/browser/ui/message_box.h index 23727b28f3..66932b515d 100644 --- a/shell/browser/ui/message_box.h +++ b/shell/browser/ui/message_box.h @@ -9,6 +9,7 @@ #include #include "base/functional/callback_forward.h" +#include "base/memory/raw_ptr_exclusion.h" #include "third_party/abseil-cpp/absl/types/optional.h" #include "ui/gfx/image/image_skia.h" @@ -25,7 +26,7 @@ enum class MessageBoxType { }; struct MessageBoxSettings { - electron::NativeWindow* parent_window = nullptr; + RAW_PTR_EXCLUSION electron::NativeWindow* parent_window = nullptr; MessageBoxType type = electron::MessageBoxType::kNone; std::vector buttons; absl::optional id; diff --git a/shell/browser/ui/message_box_gtk.cc b/shell/browser/ui/message_box_gtk.cc index 5498ef5503..4b8e44029f 100644 --- a/shell/browser/ui/message_box_gtk.cc +++ b/shell/browser/ui/message_box_gtk.cc @@ -8,6 +8,8 @@ #include "base/containers/contains.h" #include "base/functional/callback.h" +#include "base/memory/raw_ptr.h" +#include "base/memory/raw_ptr_exclusion.h" #include "base/no_destructor.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" @@ -194,8 +196,8 @@ class GtkMessageBox : public NativeWindowObserver { bool checkbox_checked_ = false; - NativeWindow* parent_; - GtkWidget* dialog_; + raw_ptr parent_; + RAW_PTR_EXCLUSION GtkWidget* dialog_; MessageBoxCallback callback_; }; diff --git a/shell/browser/ui/views/autofill_popup_view.h b/shell/browser/ui/views/autofill_popup_view.h index 1f1a1bedd0..43366c2b6f 100644 --- a/shell/browser/ui/views/autofill_popup_view.h +++ b/shell/browser/ui/views/autofill_popup_view.h @@ -9,6 +9,7 @@ #include "shell/browser/ui/autofill_popup.h" +#include "base/memory/raw_ptr.h" #include "content/public/browser/native_web_keyboard_event.h" #include "content/public/browser/render_widget_host.h" #include "electron/buildflags/buildflags.h" @@ -130,10 +131,10 @@ class AutofillPopupView : public views::WidgetDelegateView, void RemoveObserver(); // Controller for this popup. Weak reference. - AutofillPopup* popup_; + raw_ptr popup_; // The widget of the window that triggered this popup. Weak reference. - views::Widget* parent_widget_; + raw_ptr parent_widget_; // The time when the popup was shown. base::Time show_time_; diff --git a/shell/browser/ui/views/client_frame_view_linux.h b/shell/browser/ui/views/client_frame_view_linux.h index 5666c18473..79b3aadf0d 100644 --- a/shell/browser/ui/views/client_frame_view_linux.h +++ b/shell/browser/ui/views/client_frame_view_linux.h @@ -9,6 +9,8 @@ #include #include +#include "base/memory/raw_ptr.h" +#include "base/memory/raw_ptr_exclusion.h" #include "base/scoped_observation.h" #include "shell/browser/ui/views/frameless_view.h" #include "ui/base/ui_base_types.h" @@ -85,7 +87,7 @@ class ClientFrameViewLinux : public FramelessView, void (views::Widget::*callback)(); int accessibility_id; int hit_test_id; - views::ImageButton* button{nullptr}; + RAW_PTR_EXCLUSION views::ImageButton* button{nullptr}; }; struct ThemeValues { @@ -119,10 +121,10 @@ class ClientFrameViewLinux : public FramelessView, gfx::Size SizeWithDecorations(gfx::Size size) const; - ui::NativeTheme* theme_; + raw_ptr theme_; ThemeValues theme_values_; - views::Label* title_; + RAW_PTR_EXCLUSION views::Label* title_; std::unique_ptr nav_button_provider_; std::array nav_buttons_; @@ -132,7 +134,7 @@ class ClientFrameViewLinux : public FramelessView, bool host_supports_client_frame_shadow_ = false; - ui::WindowFrameProvider* frame_provider_; + raw_ptr frame_provider_; base::ScopedObservation native_theme_observer_{this}; diff --git a/shell/browser/ui/views/frameless_view.h b/shell/browser/ui/views/frameless_view.h index f88f543757..049f8008b2 100644 --- a/shell/browser/ui/views/frameless_view.h +++ b/shell/browser/ui/views/frameless_view.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_UI_VIEWS_FRAMELESS_VIEW_H_ #define ELECTRON_SHELL_BROWSER_UI_VIEWS_FRAMELESS_VIEW_H_ +#include "base/memory/raw_ptr.h" #include "ui/views/window/non_client_view.h" namespace views { @@ -57,8 +58,8 @@ class FramelessView : public views::NonClientFrameView { const char* GetClassName() const override; // Not owned. - NativeWindowViews* window_ = nullptr; - views::Widget* frame_ = nullptr; + raw_ptr window_ = nullptr; + raw_ptr frame_ = nullptr; friend class NativeWindowsViews; }; diff --git a/shell/browser/ui/views/global_menu_bar_registrar_x11.h b/shell/browser/ui/views/global_menu_bar_registrar_x11.h index 1519f4c035..930d8c4473 100644 --- a/shell/browser/ui/views/global_menu_bar_registrar_x11.h +++ b/shell/browser/ui/views/global_menu_bar_registrar_x11.h @@ -9,6 +9,7 @@ #include +#include "base/memory/raw_ptr.h" #include "base/memory/ref_counted.h" #include "base/memory/singleton.h" #include "ui/base/glib/glib_signal.h" @@ -53,7 +54,7 @@ class GlobalMenuBarRegistrarX11 { GObject*, GParamSpec*); - GDBusProxy* registrar_proxy_ = nullptr; + raw_ptr registrar_proxy_ = nullptr; // x11::Window which want to be registered, but haven't yet been because // we're waiting for the proxy to become available. diff --git a/shell/browser/ui/views/global_menu_bar_x11.h b/shell/browser/ui/views/global_menu_bar_x11.h index 2c5adcf31c..dbffbf7e64 100644 --- a/shell/browser/ui/views/global_menu_bar_x11.h +++ b/shell/browser/ui/views/global_menu_bar_x11.h @@ -8,6 +8,7 @@ #include #include "base/compiler_specific.h" +#include "base/memory/raw_ptr.h" #include "shell/browser/ui/electron_menu_model.h" #include "ui/base/glib/glib_signal.h" #include "ui/gfx/native_widget_types.h" @@ -72,10 +73,10 @@ class GlobalMenuBarX11 { unsigned int); CHROMEG_CALLBACK_0(GlobalMenuBarX11, void, OnSubMenuShow, DbusmenuMenuitem*); - NativeWindowViews* window_; + raw_ptr window_; x11::Window xwindow_; - DbusmenuServer* server_ = nullptr; + raw_ptr server_ = nullptr; }; } // namespace electron diff --git a/shell/browser/ui/views/inspectable_web_contents_view_views.cc b/shell/browser/ui/views/inspectable_web_contents_view_views.cc index 7c76417fa3..c3fd829795 100644 --- a/shell/browser/ui/views/inspectable_web_contents_view_views.cc +++ b/shell/browser/ui/views/inspectable_web_contents_view_views.cc @@ -9,6 +9,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/strings/utf_string_conversions.h" #include "shell/browser/ui/drag_util.h" #include "shell/browser/ui/inspectable_web_contents.h" @@ -66,9 +67,9 @@ class DevToolsWindowDelegate : public views::ClientView, } private: - InspectableWebContentsViewViews* shell_; - views::View* view_; - views::Widget* widget_; + raw_ptr shell_; + raw_ptr view_; + raw_ptr widget_; ui::ImageModel icon_; }; @@ -95,8 +96,8 @@ InspectableWebContentsViewViews::InspectableWebContentsViewViews( } devtools_web_view_->SetVisible(false); - AddChildView(devtools_web_view_); - AddChildView(contents_web_view_); + AddChildView(devtools_web_view_.get()); + AddChildView(contents_web_view_.get()); } InspectableWebContentsViewViews::~InspectableWebContentsViewViews() { diff --git a/shell/browser/ui/views/inspectable_web_contents_view_views.h b/shell/browser/ui/views/inspectable_web_contents_view_views.h index 25f7f075c3..8ba51257ba 100644 --- a/shell/browser/ui/views/inspectable_web_contents_view_views.h +++ b/shell/browser/ui/views/inspectable_web_contents_view_views.h @@ -9,6 +9,7 @@ #include #include "base/compiler_specific.h" +#include "base/memory/raw_ptr.h" #include "chrome/browser/devtools/devtools_contents_resizing_strategy.h" #include "shell/browser/ui/inspectable_web_contents_view.h" #include "third_party/skia/include/core/SkRegion.h" @@ -48,13 +49,13 @@ class InspectableWebContentsViewViews : public InspectableWebContentsView, private: std::unique_ptr devtools_window_; - views::WebView* devtools_window_web_view_ = nullptr; - views::View* contents_web_view_ = nullptr; - views::WebView* devtools_web_view_ = nullptr; + raw_ptr devtools_window_web_view_ = nullptr; + raw_ptr contents_web_view_ = nullptr; + raw_ptr devtools_web_view_ = nullptr; DevToolsContentsResizingStrategy strategy_; bool devtools_visible_ = false; - views::WidgetDelegate* devtools_window_delegate_ = nullptr; + raw_ptr devtools_window_delegate_ = nullptr; std::u16string title_; }; diff --git a/shell/browser/ui/views/menu_bar.h b/shell/browser/ui/views/menu_bar.h index b4beb95a72..21e4956f6e 100644 --- a/shell/browser/ui/views/menu_bar.h +++ b/shell/browser/ui/views/menu_bar.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_UI_VIEWS_MENU_BAR_H_ #define ELECTRON_SHELL_BROWSER_UI_VIEWS_MENU_BAR_H_ +#include "base/memory/raw_ptr.h" #include "shell/browser/native_window_observer.h" #include "shell/browser/ui/electron_menu_model.h" #include "shell/browser/ui/views/menu_delegate.h" @@ -87,9 +88,9 @@ class MenuBar : public views::AccessiblePaneView, SkColor disabled_color_; #endif - NativeWindow* window_; - RootView* root_view_; - ElectronMenuModel* menu_model_ = nullptr; + raw_ptr window_; + raw_ptr root_view_; + raw_ptr menu_model_ = nullptr; bool accelerator_installed_ = false; }; diff --git a/shell/browser/ui/views/menu_delegate.h b/shell/browser/ui/views/menu_delegate.h index 92153f9773..8af32cbcb7 100644 --- a/shell/browser/ui/views/menu_delegate.h +++ b/shell/browser/ui/views/menu_delegate.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "base/observer_list.h" #include "shell/browser/ui/electron_menu_model.h" #include "ui/views/controls/menu/menu_delegate.h" @@ -66,13 +67,13 @@ class MenuDelegate : public views::MenuDelegate { views::MenuButton** button) override; private: - MenuBar* menu_bar_; + raw_ptr menu_bar_; int id_ = -1; std::unique_ptr adapter_; std::unique_ptr menu_runner_; // The menu button to switch to. - views::MenuButton* button_to_open_ = nullptr; + raw_ptr button_to_open_ = nullptr; bool hold_first_switch_ = false; base::ObserverList::Unchecked observers_; diff --git a/shell/browser/ui/views/menu_model_adapter.h b/shell/browser/ui/views/menu_model_adapter.h index 95fc8dbb6e..669a8da540 100644 --- a/shell/browser/ui/views/menu_model_adapter.h +++ b/shell/browser/ui/views/menu_model_adapter.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_UI_VIEWS_MENU_MODEL_ADAPTER_H_ #define ELECTRON_SHELL_BROWSER_UI_VIEWS_MENU_MODEL_ADAPTER_H_ +#include "base/memory/raw_ptr.h" #include "shell/browser/ui/electron_menu_model.h" #include "ui/views/controls/menu/menu_model_adapter.h" @@ -23,7 +24,7 @@ class MenuModelAdapter : public views::MenuModelAdapter { bool GetAccelerator(int id, ui::Accelerator* accelerator) const override; private: - ElectronMenuModel* menu_model_; + raw_ptr menu_model_; }; } // namespace electron diff --git a/shell/browser/ui/views/native_frame_view.h b/shell/browser/ui/views/native_frame_view.h index 8098e43dfb..a10a439106 100644 --- a/shell/browser/ui/views/native_frame_view.h +++ b/shell/browser/ui/views/native_frame_view.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_UI_VIEWS_NATIVE_FRAME_VIEW_H_ #define ELECTRON_SHELL_BROWSER_UI_VIEWS_NATIVE_FRAME_VIEW_H_ +#include "base/memory/raw_ptr.h" #include "ui/views/window/native_frame_view.h" namespace electron { @@ -29,7 +30,7 @@ class NativeFrameView : public views::NativeFrameView { const char* GetClassName() const override; private: - NativeWindow* window_; // weak ref. + raw_ptr window_; // weak ref. }; } // namespace electron diff --git a/shell/browser/ui/views/root_view.h b/shell/browser/ui/views/root_view.h index d893a42320..7ecfc3c27c 100644 --- a/shell/browser/ui/views/root_view.h +++ b/shell/browser/ui/views/root_view.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "shell/browser/ui/accelerator_util.h" #include "ui/gfx/geometry/insets.h" #include "ui/views/view.h" @@ -53,7 +54,7 @@ class RootView : public views::View { private: // Parent window, weak ref. - NativeWindow* window_; + raw_ptr window_; // Menu bar. std::unique_ptr menu_bar_; diff --git a/shell/browser/usb/usb_chooser_context.h b/shell/browser/usb/usb_chooser_context.h index 76c55b0dd1..12f52ed094 100644 --- a/shell/browser/usb/usb_chooser_context.h +++ b/shell/browser/usb/usb_chooser_context.h @@ -13,6 +13,7 @@ #include #include "base/containers/queue.h" +#include "base/memory/raw_ptr.h" #include "base/observer_list.h" #include "base/values.h" #include "build/build_config.h" @@ -112,7 +113,7 @@ class UsbChooserContext : public KeyedService, client_receiver_{this}; base::ObserverList device_observer_list_; - ElectronBrowserContext* browser_context_; + raw_ptr browser_context_; base::WeakPtrFactory weak_factory_{this}; }; diff --git a/shell/browser/web_contents_permission_helper.h b/shell/browser/web_contents_permission_helper.h index 972675c19f..bde6b2952c 100644 --- a/shell/browser/web_contents_permission_helper.h +++ b/shell/browser/web_contents_permission_helper.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_WEB_CONTENTS_PERMISSION_HELPER_H_ #define ELECTRON_SHELL_BROWSER_WEB_CONTENTS_PERMISSION_HELPER_H_ +#include "base/memory/raw_ptr.h" #include "base/values.h" #include "content/public/browser/media_stream_request.h" #include "content/public/browser/web_contents_user_data.h" @@ -71,7 +72,7 @@ class WebContentsPermissionHelper // TODO(clavin): refactor to use the WebContents provided by the // WebContentsUserData base class instead of storing a duplicate ref - content::WebContents* web_contents_; + raw_ptr web_contents_; WEB_CONTENTS_USER_DATA_KEY_DECL(); }; diff --git a/shell/browser/web_contents_preferences.h b/shell/browser/web_contents_preferences.h index eac4f7e51e..9d6bcfcfb9 100644 --- a/shell/browser/web_contents_preferences.h +++ b/shell/browser/web_contents_preferences.h @@ -9,6 +9,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/values.h" #include "content/public/browser/web_contents_user_data.h" #include "electron/buildflags/buildflags.h" @@ -92,7 +93,7 @@ class WebContentsPreferences // TODO(clavin): refactor to use the WebContents provided by the // WebContentsUserData base class instead of storing a duplicate ref - content::WebContents* web_contents_; + raw_ptr web_contents_; bool plugins_; bool experimental_features_; diff --git a/shell/browser/web_contents_zoom_controller.h b/shell/browser/web_contents_zoom_controller.h index 2df6f22984..c8e9124648 100644 --- a/shell/browser/web_contents_zoom_controller.h +++ b/shell/browser/web_contents_zoom_controller.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_BROWSER_WEB_CONTENTS_ZOOM_CONTROLLER_H_ #define ELECTRON_SHELL_BROWSER_WEB_CONTENTS_ZOOM_CONTROLLER_H_ +#include "base/memory/raw_ptr.h" #include "base/observer_list.h" #include "base/observer_list_types.h" #include "content/public/browser/host_zoom_map.h" @@ -111,11 +112,11 @@ class WebContentsZoomController int old_process_id_ = -1; int old_view_id_ = -1; - WebContentsZoomController* embedder_zoom_controller_ = nullptr; + raw_ptr embedder_zoom_controller_ = nullptr; base::ObserverList observers_; - content::HostZoomMap* host_zoom_map_; + raw_ptr host_zoom_map_; WEB_CONTENTS_USER_DATA_KEY_DECL(); }; diff --git a/shell/browser/web_view_guest_delegate.h b/shell/browser/web_view_guest_delegate.h index 3b8671c4e2..38b456b0aa 100644 --- a/shell/browser/web_view_guest_delegate.h +++ b/shell/browser/web_view_guest_delegate.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "content/public/browser/browser_plugin_guest_delegate.h" #include "shell/browser/web_contents_zoom_controller.h" @@ -48,13 +49,13 @@ class WebViewGuestDelegate : public content::BrowserPluginGuestDelegate, void ResetZoomController(); // The WebContents that attaches this guest view. - content::WebContents* embedder_web_contents_ = nullptr; + raw_ptr embedder_web_contents_ = nullptr; // The zoom controller of the embedder that is used // to subscribe for zoom changes. - WebContentsZoomController* embedder_zoom_controller_ = nullptr; + raw_ptr embedder_zoom_controller_ = nullptr; - api::WebContents* api_web_contents_ = nullptr; + raw_ptr api_web_contents_ = nullptr; }; } // namespace electron diff --git a/shell/browser/web_view_manager.cc b/shell/browser/web_view_manager.cc index f24a5d1b83..ab870820b1 100644 --- a/shell/browser/web_view_manager.cc +++ b/shell/browser/web_view_manager.cc @@ -29,7 +29,7 @@ bool WebViewManager::ForEachGuest(content::WebContents* embedder_web_contents, if (item.second.embedder != embedder_web_contents) continue; - auto* guest_web_contents = item.second.web_contents; + content::WebContents* guest_web_contents = item.second.web_contents; if (guest_web_contents && callback.Run(guest_web_contents)) return true; } diff --git a/shell/browser/web_view_manager.h b/shell/browser/web_view_manager.h index 19d25211ff..c327e2cda7 100644 --- a/shell/browser/web_view_manager.h +++ b/shell/browser/web_view_manager.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "content/public/browser/browser_plugin_guest_manager.h" namespace electron { @@ -33,8 +34,8 @@ class WebViewManager : public content::BrowserPluginGuestManager { private: struct WebContentsWithEmbedder { - content::WebContents* web_contents; - content::WebContents* embedder; + raw_ptr web_contents; + raw_ptr embedder; }; // guest_instance_id => (web_contents, embedder) std::map web_contents_embedder_map_; diff --git a/shell/browser/zoom_level_delegate.h b/shell/browser/zoom_level_delegate.h index 1c4302fadf..50922c3e40 100644 --- a/shell/browser/zoom_level_delegate.h +++ b/shell/browser/zoom_level_delegate.h @@ -7,6 +7,7 @@ #include +#include "base/memory/raw_ptr.h" #include "base/values.h" #include "components/prefs/pref_service.h" #include "content/public/browser/host_zoom_map.h" @@ -52,8 +53,8 @@ class ZoomLevelDelegate : public content::ZoomLevelDelegate { // zoom levels (if any) managed by this class (for its associated partition). void OnZoomLevelChanged(const content::HostZoomMap::ZoomLevelChange& change); - PrefService* pref_service_; - content::HostZoomMap* host_zoom_map_ = nullptr; + raw_ptr pref_service_; + raw_ptr host_zoom_map_ = nullptr; base::CallbackListSubscription zoom_subscription_; std::string partition_key_; }; diff --git a/shell/common/api/electron_api_native_image.h b/shell/common/api/electron_api_native_image.h index 3330765ff5..af646e4d85 100644 --- a/shell/common/api/electron_api_native_image.h +++ b/shell/common/api/electron_api_native_image.h @@ -9,6 +9,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/values.h" #include "gin/handle.h" #include "gin/wrappable.h" @@ -134,7 +135,7 @@ class NativeImage : public gin::Wrappable { gfx::Image image_; - v8::Isolate* isolate_; + raw_ptr isolate_; int32_t memory_usage_ = 0; }; diff --git a/shell/common/gin_converters/net_converter.cc b/shell/common/gin_converters/net_converter.cc index 4df91635ea..acef56271e 100644 --- a/shell/common/gin_converters/net_converter.cc +++ b/shell/common/gin_converters/net_converter.cc @@ -10,6 +10,7 @@ #include #include "base/containers/span.h" +#include "base/memory/raw_ptr.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_util.h" #include "base/values.h" @@ -475,10 +476,10 @@ class ChunkedDataPipeReadableStream OnSizeReceived(net::ERR_FAILED, 0); } - v8::Isolate* isolate_; + raw_ptr isolate_; int status_ = net::OK; scoped_refptr resource_request_body_; - network::DataElementChunkedDataPipe* data_element_; + raw_ptr data_element_; mojo::Remote chunked_data_pipe_getter_; mojo::ScopedDataPipeConsumerHandle data_pipe_; mojo::SimpleWatcher handle_watcher_; diff --git a/shell/common/gin_helper/accessor.h b/shell/common/gin_helper/accessor.h index 5bd0bc9cb4..b8a004eca4 100644 --- a/shell/common/gin_helper/accessor.h +++ b/shell/common/gin_helper/accessor.h @@ -5,6 +5,8 @@ #ifndef ELECTRON_SHELL_COMMON_GIN_HELPER_ACCESSOR_H_ #define ELECTRON_SHELL_COMMON_GIN_HELPER_ACCESSOR_H_ +#include "base/memory/raw_ptr_exclusion.h" + namespace gin_helper { // Wrapper for a generic value to be used as an accessor in a @@ -19,7 +21,7 @@ struct AccessorValue { }; template struct AccessorValue { - T* Value; + RAW_PTR_EXCLUSION T* Value; }; } // namespace gin_helper diff --git a/shell/common/gin_helper/error_thrower.h b/shell/common/gin_helper/error_thrower.h index 6089363c42..879705b70a 100644 --- a/shell/common/gin_helper/error_thrower.h +++ b/shell/common/gin_helper/error_thrower.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_COMMON_GIN_HELPER_ERROR_THROWER_H_ #define ELECTRON_SHELL_COMMON_GIN_HELPER_ERROR_THROWER_H_ +#include "base/memory/raw_ptr.h" #include "base/strings/string_piece.h" #include "v8/include/v8.h" @@ -29,7 +30,7 @@ class ErrorThrower { v8::Local (*)(v8::Local err_msg); void Throw(ErrorGenerator gen, base::StringPiece err_msg) const; - v8::Isolate* isolate_; + raw_ptr isolate_; }; } // namespace gin_helper diff --git a/shell/common/gin_helper/function_template.h b/shell/common/gin_helper/function_template.h index 792e0980da..11b38f8fac 100644 --- a/shell/common/gin_helper/function_template.h +++ b/shell/common/gin_helper/function_template.h @@ -9,6 +9,7 @@ #include "base/functional/bind.h" #include "base/functional/callback.h" +#include "base/memory/raw_ptr.h" #include "gin/arguments.h" #include "shell/common/gin_helper/arguments.h" #include "shell/common/gin_helper/destroyable.h" @@ -241,7 +242,7 @@ class Invoker, ArgTypes...> return arg1 && And(args...); } - gin::Arguments* args_; + raw_ptr args_; }; // DispatchToCallback converts all the JavaScript arguments to C++ types and diff --git a/shell/common/gin_helper/object_template_builder.h b/shell/common/gin_helper/object_template_builder.h index 5ec9761bee..05526043df 100644 --- a/shell/common/gin_helper/object_template_builder.h +++ b/shell/common/gin_helper/object_template_builder.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_COMMON_GIN_HELPER_OBJECT_TEMPLATE_BUILDER_H_ #define ELECTRON_SHELL_COMMON_GIN_HELPER_OBJECT_TEMPLATE_BUILDER_H_ +#include "base/memory/raw_ptr.h" #include "shell/common/gin_helper/function_template.h" namespace gin_helper { @@ -66,7 +67,7 @@ class ObjectTemplateBuilder { v8::Local getter, v8::Local setter); - v8::Isolate* isolate_; + raw_ptr isolate_; // ObjectTemplateBuilder should only be used on the stack. v8::Local template_; diff --git a/shell/common/gin_helper/persistent_dictionary.h b/shell/common/gin_helper/persistent_dictionary.h index 8bc19d822c..a10d8802b2 100644 --- a/shell/common/gin_helper/persistent_dictionary.h +++ b/shell/common/gin_helper/persistent_dictionary.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_COMMON_GIN_HELPER_PERSISTENT_DICTIONARY_H_ #define ELECTRON_SHELL_COMMON_GIN_HELPER_PERSISTENT_DICTIONARY_H_ +#include "base/memory/raw_ptr.h" #include "shell/common/gin_helper/dictionary.h" namespace gin_helper { @@ -38,7 +39,7 @@ class PersistentDictionary { } private: - v8::Isolate* isolate_ = nullptr; + raw_ptr isolate_ = nullptr; v8::Global handle_; }; diff --git a/shell/common/gin_helper/promise.h b/shell/common/gin_helper/promise.h index efdc170930..6acf9b49ea 100644 --- a/shell/common/gin_helper/promise.h +++ b/shell/common/gin_helper/promise.h @@ -10,6 +10,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "base/strings/string_piece.h" #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" @@ -77,7 +78,7 @@ class PromiseBase { v8::Local GetInner() const; private: - v8::Isolate* isolate_; + raw_ptr isolate_; v8::Global context_; v8::Global resolver_; }; diff --git a/shell/common/gin_helper/wrappable_base.h b/shell/common/gin_helper/wrappable_base.h index 87ba126d17..996cb40472 100644 --- a/shell/common/gin_helper/wrappable_base.h +++ b/shell/common/gin_helper/wrappable_base.h @@ -5,6 +5,7 @@ #ifndef ELECTRON_SHELL_COMMON_GIN_HELPER_WRAPPABLE_BASE_H_ #define ELECTRON_SHELL_COMMON_GIN_HELPER_WRAPPABLE_BASE_H_ +#include "base/memory/raw_ptr.h" #include "v8/include/v8.h" namespace gin { @@ -62,7 +63,7 @@ class WrappableBase { static void SecondWeakCallback( const v8::WeakCallbackInfo& data); - v8::Isolate* isolate_ = nullptr; + raw_ptr isolate_ = nullptr; }; } // namespace gin_helper diff --git a/shell/common/heap_snapshot.cc b/shell/common/heap_snapshot.cc index 2f416e6413..0a13849329 100644 --- a/shell/common/heap_snapshot.cc +++ b/shell/common/heap_snapshot.cc @@ -5,6 +5,7 @@ #include "shell/common/heap_snapshot.h" #include "base/files/file.h" +#include "base/memory/raw_ptr.h" #include "v8/include/v8-profiler.h" #include "v8/include/v8.h" @@ -28,7 +29,7 @@ class HeapSnapshotOutputStream : public v8::OutputStream { } private: - base::File* file_ = nullptr; + raw_ptr file_ = nullptr; bool is_complete_ = false; }; diff --git a/shell/common/key_weak_map.h b/shell/common/key_weak_map.h index 038349b8e9..487ada3f5a 100644 --- a/shell/common/key_weak_map.h +++ b/shell/common/key_weak_map.h @@ -9,6 +9,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "v8/include/v8.h" namespace electron { @@ -20,7 +21,7 @@ class KeyWeakMap { // Records the key and self, used by SetWeak. struct KeyObject { K key; - KeyWeakMap* self; + raw_ptr self; }; KeyWeakMap() {} diff --git a/shell/common/node_bindings.h b/shell/common/node_bindings.h index 5476434f96..f8df9cb908 100644 --- a/shell/common/node_bindings.h +++ b/shell/common/node_bindings.h @@ -10,6 +10,8 @@ #include #include "base/files/file_path.h" +#include "base/memory/raw_ptr.h" +#include "base/memory/raw_ptr_exclusion.h" #include "base/memory/weak_ptr.h" #include "uv.h" // NOLINT(build/include_directory) #include "v8/include/v8.h" @@ -71,7 +73,7 @@ class UvHandle { delete reinterpret_cast(handle); } - T* t_ = {}; + RAW_PTR_EXCLUSION T* t_ = {}; }; class NodeBindings { @@ -146,7 +148,7 @@ class NodeBindings { scoped_refptr task_runner_; // Current thread's libuv loop. - uv_loop_t* uv_loop_; + raw_ptr uv_loop_; private: // Thread to poll uv events. @@ -171,10 +173,10 @@ class NodeBindings { uv_sem_t embed_sem_; // Environment that to wrap the uv loop. - node::Environment* uv_env_ = nullptr; + raw_ptr uv_env_ = nullptr; // Isolate data used in creating the environment - node::IsolateData* isolate_data_ = nullptr; + raw_ptr isolate_data_ = nullptr; base::WeakPtrFactory weak_factory_{this}; }; diff --git a/shell/common/platform_util_linux.cc b/shell/common/platform_util_linux.cc index e534b184d6..bbfa3e63ce 100644 --- a/shell/common/platform_util_linux.cc +++ b/shell/common/platform_util_linux.cc @@ -15,6 +15,7 @@ #include "base/environment.h" #include "base/files/file_util.h" #include "base/logging.h" +#include "base/memory/raw_ptr.h" #include "base/nix/xdg_util.h" #include "base/no_destructor.h" #include "base/posix/eintr_wrapper.h" @@ -241,8 +242,8 @@ class ShowItemHelper { } scoped_refptr bus_; - dbus::ObjectProxy* dbus_proxy_ = nullptr; - dbus::ObjectProxy* object_proxy_ = nullptr; + raw_ptr dbus_proxy_ = nullptr; + raw_ptr object_proxy_ = nullptr; absl::optional prefer_filemanager_interface_; }; diff --git a/shell/common/v8_value_serializer.cc b/shell/common/v8_value_serializer.cc index 645797bcbb..5420adb4db 100644 --- a/shell/common/v8_value_serializer.cc +++ b/shell/common/v8_value_serializer.cc @@ -7,6 +7,7 @@ #include #include +#include "base/memory/raw_ptr.h" #include "gin/converter.h" #include "shell/common/api/electron_api_native_image.h" #include "shell/common/gin_helper/microtasks_scope.h" @@ -110,7 +111,7 @@ class V8Serializer : public v8::ValueSerializer::Delegate { serializer_.WriteUint32(blink_version); } - v8::Isolate* isolate_; + raw_ptr isolate_; std::vector data_; v8::ValueSerializer serializer_; }; @@ -217,7 +218,7 @@ class V8Deserializer : public v8::ValueDeserializer::Delegate { return new api::NativeImage(isolate, image); } - v8::Isolate* isolate_; + raw_ptr isolate_; v8::ValueDeserializer deserializer_; }; diff --git a/shell/renderer/api/electron_api_spell_check_client.h b/shell/renderer/api/electron_api_spell_check_client.h index 7522157be5..404400b76d 100644 --- a/shell/renderer/api/electron_api_spell_check_client.h +++ b/shell/renderer/api/electron_api_spell_check_client.h @@ -11,6 +11,7 @@ #include #include "base/functional/callback.h" +#include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "components/spellcheck/renderer/spellcheck_worditerator.h" #include "third_party/blink/public/platform/web_spell_check_panel_host_client.h" @@ -101,7 +102,7 @@ class SpellCheckClient : public blink::WebSpellCheckPanelHostClient, // requests so we do not have to use vectors.) std::unique_ptr pending_request_param_; - v8::Isolate* isolate_; + raw_ptr isolate_; v8::Global context_; v8::Global provider_; v8::Global spell_check_;