blob: f9a7f5566ba1f02cf5cf54fc1cf952bf7ae9fc28 [file] [log] [blame]
# File that lists fields that should be ignored when running the
# rewrite_raw_ptr_fields tool on Chromium sources.
#
# Each non-comment, non-empty line should specify a fully-namespace qualified
# field like:
# my_namespace::my_subnamespace::MyStruct::my_field_
#
# There is no need to specify template arguments:
# my_namespace::my_subnamespace::MyTemplate::my_field_
# Populated manually - double implicit-cast required.
PaintManager::instance_
# Populated manually - needed for lock annotations
base::trace_event::TraceLog::OptionalAutoLock::lock_
# Populated manually - templates make it difficult for the rewriter to see that
# |.get()| needs to be appended.
blink::xpath::EvaluationContext::node
WTF::HashTableAddResult::container_
WTF::HashTableAddResult::stored_value
cast_channel::CastTransportTest::logger_
content::IndexedDBDispatcherHost::indexed_db_context_
# Populated manually - conflicting types in an initializer list
WebUITabStripContainerView::tab_counter_
DownloadItemView::review_button_
# Populated manually to avoid returning a reference to a temporary T* (result of
# implicitly casting CheckedPtr<T> to T*). This covers functions that return
# |SomeClass*&| and local variables with that type.
AllTabContentsesList::Iterator::cur_
blink::NormalPage::CompactionContext::current_page_
blink::Worklist::PrivateSegmentHolder::private_pop_segment
blink::Worklist::PrivateSegmentHolder::private_push_segment
content::(anonymous namespace)::AudioStreamMonitorTest::monitor_
content::AudioStreamMonitor::clock_
remoting::ChromotingHostTest::client1_
remoting::ChromotingHostTest::client2_
WTF::ICUConverterWrapper::converter
(anonymous namespace)::WebAuthnCableSecondFactor::model_
# Populated manually - always holds a pointer to an OilPan-allocated memory.
blink::PersistentBase::raw_
blink::SVGFilterBuilder::last_effect_
# Populated manually - the rewriter has trouble appending |.get()| inside macros
# that work with |XDisplay*|.
extensions::GlobalShortcutListenerX11::x_display_
ui::VisualPickerGlx::display_
media::(anonymous namespace)::UserInputMonitorLinuxCore::x_record_display_
media::cast::test::LinuxOutputWindow::display_
remoting::(anonymous namespace)::InputInjectorX11::Core::display_
remoting::(anonymous namespace)::LocalHotkeyInputMonitorX11::Core::x_record_display_
remoting::(anonymous namespace)::LocalMouseInputMonitorX11::Core::x_record_display_
remoting::ClipboardX11::display_
remoting::XServerClipboard::display_
Simulator::display_
ui::ClipboardX11::X11Details::x_display_
ui::SelectionRequestorTest::x_display_
ui::X11EventSource::display_
ui::X11MenuRegistrar::xdisplay_
ui::X11WorkspaceHandler::xdisplay_
ui::XDisplayManager::xdisplay_
ui::XOSExchangeDataProvider::x_display_
ui::XVisualManager::display_
ui::XWindow::xdisplay_
views::test::(anonymous namespace)::UIControlsDesktopX11::x_display_
viz::SkiaOutputDeviceX11::display_
x11::Connection::display_
# Populated manually - static_cast not related by inheritance.
gtk::GtkKeyBindingsHandler::fake_window_
gtk::GtkKeyBindingsHandler::handler_
gtk::SelectFileDialogImplGTK::preview_
remoting::(anonymous namespace)::DisconnectWindowGtk::disconnect_window_
remoting::(anonymous namespace)::DisconnectWindowGtk::message_
remoting::(anonymous namespace)::GtkFileChooserOnUiThread::file_dialog_
remoting::(anonymous namespace)::It2MeConfirmationDialogLinux::confirmation_window_
remoting::ContinueWindowGtk::continue_window_
ui::AXPlatformNodeAuraLinux::atk_hyperlink_
PrintDialogGtk::dialog_
# Populated manually, because of in-out-arg usage.
blink::PaintController::IdAsHashKey::client
ui::AXPlatformNodeAuraLinux::atk_object_
# Populated manually - problems related to passing to a templated && parameter,
# which is later forwarded to something that doesn't vibe with CheckedPtr. The
# rewriter has no visibility into where the parameter is forwarded to.
ProfileDestroyer::profile_
(anonymous namespace)::BluetoothLowEnergyApiTest::mock_adapter_
content::RenderProcessHostImpl::browser_context_
device::BluetoothDevice::adapter_
# Populated manually - problems related to lambdas with no return type, where
# the return value is CheckedPtr, but variable/parameter receiving the lambda
# expects the raw pointer type.
vr::LocationBarState::vector_icon
vr::OmniboxSuggestion::icon
# Populated manually - assigned to |auto*| in ranged loop on an array
# initializer literal comprising of those pointers.
DownloadItemView::discard_button_
DownloadItemView::open_now_button_
DownloadItemView::save_button_
DownloadItemView::scan_button_
OpaqueBrowserFrameViewLayout::minimize_button_
OpaqueBrowserFrameViewLayout::maximize_button_
OpaqueBrowserFrameViewLayout::restore_button_
OpaqueBrowserFrameViewLayout::close_button_
# Populated manually - incompatibilities with tracing (TRACE_EVENT*),
# perfetto::TracedDictionary::Add and gmock/EXPECT_THAT.
cc::GpuImageDecodeCache::dark_mode_filter_
blink::scheduler::MainThreadSchedulerImpl::current_agent_group_scheduler_
performance_manager::v8_memory::(anonymous namespace)::V8ContextTrackerTest::tracker_
content::(anonymous namespace)::BackForwardCacheMessageFilter::interface_name_
base::trace_event::MemoryDumpProviderInfo::name
content::NavigationRequest::frame_tree_node_
content::NavigationRequest::rfh_restored_from_back_forward_cache_
blink::scheduler::FrameSchedulerImpl::blame_context_
# Populated manually - requires rewriting member pointer type
courgette::LabelManagerTest_SimpleIndexAssigner_Test::TestBody()::TestCase::input
courgette::LabelManagerTest_SimpleIndexAssigner_Test::TestBody()::TestCase::expect_forward
courgette::LabelManagerTest_SimpleIndexAssigner_Test::TestBody()::TestCase::expect_backward
courgette::LabelManagerTest_SimpleIndexAssigner_Test::TestBody()::TestCase::expect_in
# Populated manually - pointer to address in another process could be confused
# as a pointer to PA memory
sandbox::TargetProcess::base_address_ # https://crbug.com/1173374
# Populated manually - uninitialized memory reinterpret_cast to CheckedPtr
# causing AddRef/Deref mismatch.
sandbox::(anonymous namespace)::_HEAP_32::Heap
sandbox::(anonymous namespace)::_HEAP_64::Heap
sql::SandboxedVfsFileSqliteBridge::sandboxed_vfs_file
sandbox::SharedMemIPCServer::client_control_
sandbox::SharedMemIPCServer::thread_provider_
sandbox::SharedMemIPCServer::call_dispatcher_
# Populated manually - pointer to stale non-PA allocation could be confused as a
# pointer to PA memory when that address space is reused https://crbug.com/1173851
base::PersistentMemoryAllocator::mem_base_ # https://crbug.com/1169582
base::SharedMemoryMapping::memory_ # https://crbug.com/1169581
mojo::core::PlatformSharedMemoryMapping::base_ # https://crbug.com/1173380
# Populated manually - other compile-time reasons
iovec::iov_base # requires adding .get() in another repository, used e.g. in
# reinterpret_cast in quic_stream_sequencer_buffer.cc
net::SockaddrStorage::addr # .get() not added in reinterpret_cast, reason unknown
views::internal::ClassPropertyValueSetter::property_ # passed to templated param T*
(anonymous namespace)::ScopedFunctionHelper::function_ # function pointer template
KeyedServiceBaseFactory::service_name_ # used in decltype
OutOfMemoryTest::value_ # used to pass non const pointer to pointer
# ELEMENT() treats the CheckedPtr as a void*, and so when a pointer is written
# AddRef() won't be called, causing AddRef/Deref mismatch.
device::AttestedCredentialData::ConsumeFromCtapResponse(base::span<const uint8_t>)::COSEKey::alg
device::AttestedCredentialData::ConsumeFromCtapResponse(base::span<const uint8_t>)::COSEKey::kty
device::cablev2::authenticator::(anonymous namespace)::MakeCredRequest::client_data_hash
device::cablev2::authenticator::(anonymous namespace)::MakeCredRequest::rp_id
device::cablev2::authenticator::(anonymous namespace)::MakeCredRequest::user_id
device::cablev2::authenticator::(anonymous namespace)::MakeCredRequest::cred_params
device::cablev2::authenticator::(anonymous namespace)::MakeCredRequest::excluded_credentials
device::cablev2::authenticator::(anonymous namespace)::MakeCredRequest::origin
device::cablev2::authenticator::(anonymous namespace)::MakeCredRequest::challenge
device::cablev2::authenticator::(anonymous namespace)::AttestationObject::fmt
device::cablev2::authenticator::(anonymous namespace)::AttestationObject::auth_data
device::cablev2::authenticator::(anonymous namespace)::AttestationObject::statement
device::cablev2::authenticator::(anonymous namespace)::GetAssertionRequest::rp_id
device::cablev2::authenticator::(anonymous namespace)::GetAssertionRequest::client_data_hash
device::cablev2::authenticator::(anonymous namespace)::GetAssertionRequest::allowed_credentials
device::cablev2::authenticator::(anonymous namespace)::GetAssertionRequest::origin
device::cablev2::authenticator::(anonymous namespace)::GetAssertionRequest::challenge
device::Ed25519PublicKey::ExtractFromCOSEKey(int32_t, base::span<const uint8_t>, const cbor::Value::MapValue &)::COSEKey::kty
device::Ed25519PublicKey::ExtractFromCOSEKey(int32_t, base::span<const uint8_t>, const cbor::Value::MapValue &)::COSEKey::crv
device::Ed25519PublicKey::ExtractFromCOSEKey(int32_t, base::span<const uint8_t>, const cbor::Value::MapValue &)::COSEKey::key
device::P256PublicKey::ExtractFromCOSEKey(int32_t, base::span<const uint8_t>, const cbor::Value::MapValue &)::COSEKey::kty
device::P256PublicKey::ExtractFromCOSEKey(int32_t, base::span<const uint8_t>, const cbor::Value::MapValue &)::COSEKey::crv
device::P256PublicKey::ExtractFromCOSEKey(int32_t, base::span<const uint8_t>, const cbor::Value::MapValue &)::COSEKey::x
device::P256PublicKey::ExtractFromCOSEKey(int32_t, base::span<const uint8_t>, const cbor::Value::MapValue &)::COSEKey::y
device::RSAPublicKey::ExtractFromCOSEKey(int32_t, base::span<const uint8_t>, const cbor::Value::MapValue &)::COSEKey::kty
device::RSAPublicKey::ExtractFromCOSEKey(int32_t, base::span<const uint8_t>, const cbor::Value::MapValue &)::COSEKey::n
device::RSAPublicKey::ExtractFromCOSEKey(int32_t, base::span<const uint8_t>, const cbor::Value::MapValue &)::COSEKey::e
#######
# BackupRefPtr-specific sections
#######
# Populated manually - std::is_trivially_destructible static_assert failure
blink::HTMLElementEquivalent::tag_name_
blink::PrerendererClient::client_
blink::weakness_marking_test::EphemeronCallbacksCounter::count_holder_
sql::recover::InnerPageDecoder::db_reader_
sql::recover::LeafPageDecoder::db_reader_
WTF::ListHashSet::head_
WTF::ListHashSet::tail_
# Populated manually - flexible array with non-trivial destruction
blink::ShapeResultView::(anonymous struct)::alignment
# Populated manually - these pointers crash, because a base class ctor accesses
# child class ptr fields before they're initialized.
blink::CacheEntry::next_
blink::CacheEntry::prev_
WTF::LruCache::MappedListNodeWithKey::next_
WTF::LruCache::MappedListNodeWithKey::prev_
# Populated manually - these pointers crash, due to use-after-move.
gpu::gles2::PassthroughProgramCache::ProgramCacheValue::program_cache_
#######
# End of BackupRefPtr-specific sections
#######
#######
# Performance-related exclusions
#######
# Populated manually - on-stack pointer + a large number of non-PA pointees
base::AutoReset::scoped_variable_
# Populated manually - on-stack pointee
base::StackAllocator::source_
# Populated manually - on-stack pointer + a large number of non-PA pointees
mojo::core::ports::PortLocker::port_refs_
# Populated manually - static pointee
mojo::core::RequestContext::tls_context_
base::sequence_manager::LazyNow::tick_clock_
# Populated manually - on-stack pointee
mojo::internal::ContainerValidateParams::key_validate_params
mojo::internal::ContainerValidateParams::element_validate_params
mojo::internal::ValidationContext::ScopedDepthTracker::ctx_
# Populated manually - usually on-stack pointer, pointing back to the collection
# being iterated, owned by object that iterates over it.
base::internal::circular_deque_const_iterator::parent_deque_
# Populated manually - on-stack pointer + a large number of non-PA pointees through WeakLinkNode
base::internal::LinkNodeBase::next_
base::internal::LinkNodeBase::previous_
# Populated manually - on-stack pointer
base::internal::WeakLinkNode::list_
# Populated manually - using mmap, MapViewOfFile or base::AllocPages directly
blink::GCInfoTable::table_
cc::(anonymous namespace)::BitmapRasterBufferImpl::pixels_
# TODO(bartekn): This one has a malloc() path, consider rewriting after all.
disk_cache::MappedFile::buffer_
network::MojoToNetPendingBuffer::buffer_
network::NetToMojoPendingBuffer::buffer_
#######
# End of performance-related exclusions
#######