blob: 8606f3d97b35767d00c2eeb385222d8494c2d736 [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_
ServiceProcessState::state_
# 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 raw_ptr<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 - global-scope exclusions that are missing because the
# global variable is in a build configuration specific code
base::android::ReachedAddressesBitset::reached_
# Populated manually - missing |.get()| in not-rewritten platform specific code
viz::OverlayCandidate::rpdq
viz::CALayerOverlay::rpdq
viz::DrawQuad::shared_quad_state
content::RenderWidgetHostInputEventRouter::wheel_target_
NavigateParams::navigated_or_inserted_contents
web_app::WebAppTabStripBrowserTest::App::web_contents
policy::ChromePolicyConversionsClient::profile_
# Populated manually - reference to raw_ptr in not-rewritten platform specific code
viz::DirectRenderer::DrawingFrame::current_render_pass
TabGroupViews::header_
TabGroupViews::underline_
TabGroupViews::highlight_
# Populated manually - incompatibilities with tracing in not-rewritten platform specific code
TabStripModelChange::RemovedTab::contents
# Populated manually - extra .get() added in not-rewritten platform specific code
SECItem::data
# 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::SelectFileDialogLinuxGtk::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 raw_ptr<T>. 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 raw_ptr<T>, 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_
content::TestNavigationManager::request_
# 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 raw_ptr<T>
# 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 raw_ptr<T> 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::rp_name
device::cablev2::authenticator::(anonymous namespace)::MakeCredRequest::user_id
device::cablev2::authenticator::(anonymous namespace)::MakeCredRequest::user_name
device::cablev2::authenticator::(anonymous namespace)::MakeCredRequest::user_display_name
device::cablev2::authenticator::(anonymous namespace)::MakeCredRequest::cred_params
device::cablev2::authenticator::(anonymous namespace)::MakeCredRequest::excluded_credentials
device::cablev2::authenticator::(anonymous namespace)::MakeCredRequest::resident_key
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
device::(anonymous namespace)::MakeCredRequest::client_data_hash
device::(anonymous namespace)::MakeCredRequest::rp_id
device::(anonymous namespace)::MakeCredRequest::user_id
device::(anonymous namespace)::MakeCredRequest::cred_params
device::(anonymous namespace)::MakeCredRequest::excluded_credentials
device::(anonymous namespace)::MakeCredRequest::resident_key
device::(anonymous namespace)::MakeCredRequest::user_verification
device::(anonymous namespace)::MakeCredRequest::large_test
device::(anonymous namespace)::MakeCredRequest::negative_test
device::(anonymous namespace)::MakeCredRequest::skipped_1
device::(anonymous namespace)::MakeCredRequest::skipped_2
device::(anonymous namespace)::CBORExtract_MissingRequired_Test::TestBody()::Dummy::value
device::(anonymous namespace)::CBORExtract_WrongType_Test::TestBody()::Dummy::value
device::(anonymous namespace)::CBORExtract_RequiredInOptionalMap_Test::TestBody()::Dummy::value
# Populated manually - pointer to Objective-C object
gfx::ScopedNSGraphicsContextSaveGState::context_
base::mac::ScopedNSAutoreleasePool::autorelease_pool_
#######
# 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_
# 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 - to avoid out-of-line destructor
base::LockFreeAddressHashSet::Node::next
gpu::gles2::TextureManager::DoTexSubImageArguments::pixels
# 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_
# Populated manually - based on sampling profiler data and tab_search:top100:2020 profiler data
(anonymous namespace)::TlsVectorEntry::data
LinkNodeBase::next_
LinkNodeBase::previous_
WeakLinkNode::list_
base::Location::program_counter_
base::MessagePump::Delegate::ScopedDoWorkItem::outer_
base::MessagePumpLibevent::RunState::delegate
base::internal::OperationsController::OperationToken::outer_
base::internal::SequenceLocalStorageMap::ValueDestructorPair::destructor_
base::internal::SequenceLocalStorageMap::ValueDestructorPair::value_
base::internal::TaskDestructionDetector::timer_
base::internal::VectorBuffer::buffer_
base::internal::circular_deque_const_iterator::parent_deque_
base::sequence_manager::internal::LazilyDeallocatedDeque::tail_
base::sequence_manager::internal::SequenceManagerImpl::ExecutingTask::task_queue
base::sequence_manager::internal::TaskQueueImpl::DeferredNonNestableTask::task_queue
base::sequence_manager::internal::WorkQueue::TaskPusher::work_queue_
cc::(anonymous namespace)::DependentIterator::current_node_
cc::(anonymous namespace)::DependentIterator::graph_
cc::(anonymous namespace)::DependentIterator::task_
cc::LayerListIterator::current_layer_
cc::ListContainerHelper::CharAllocator::last_list_
cc::ListContainerHelper::PositionInCharAllocator::item_iterator
cc::ListContainerHelper::PositionInCharAllocator::ptr_to_container
cc::PaintOpBuffer::Iterator::buffer_
cc::PaintOpBuffer::Iterator::ptr_
cc::PaintOpBuffer::OffsetIterator::buffer_
cc::PaintOpBuffer::OffsetIterator::offsets_
cc::PaintOpBuffer::OffsetIterator::ptr_
cc::PaintOpBuffer::PlaybackFoldingIterator::current_op_
cc::PictureLayerTiling::CoverageIterator::current_tile_
cc::PictureLayerTiling::CoverageIterator::tiling_
cc::PlaybackParams::image_provider
cc::ResourcePool::InUsePoolResource::resource_
cc::TilingSetEvictionQueue::EvictionRectIterator::tilings_
cc::TilingSetRasterQueueAll::OnePriorityRectIterator::tiling_
cc::TilingSetRasterQueueAll::OnePriorityRectIterator::tiling_data_
cc::TilingSetRasterQueueAll::TilingIterator::tiling_
cc::TilingSetRasterQueueAll::TilingIterator::tiling_data_
cc::TilingSetRasterQueueRequired::TilingIterator::tiling_
cc::TilingSetRasterQueueRequired::TilingIterator::tiling_data_
content::FrameTree::NodeIterator::current_node_
content::FrameTree::NodeIterator::root_of_subtree_to_skip_
content::responsiveness::Watcher::Metadata::identifier
mojo::core::UserMessageImpl::header_
mojo::core::UserMessageImpl::message_event_
mojo::core::UserMessageImpl::user_payload_
mojo::core::ports::UserMessage::type_info_
mojo::internal::MultiplexRouter::MessageWrapper::router_
tracing::(anonymous namespace)::LazyLegacyEventInitializer::legacy_event_
tracing::(anonymous namespace)::LazyLegacyEventInitializer::track_event_
url::StdStringCanonOutput::str_
base::Pickle::header_
base::internal::TimerBase::task_destruction_detector_
cc::TilingSetRasterQueueAll::tiling_set_
site_engagement::SiteEngagementScore::clock_
site_engagement::SiteEngagementScore::settings_map_
extensions::LazyContextTaskQueue::ContextInfo::render_process_host
extensions::LazyContextTaskQueue::ContextInfo::browser_context
extensions::LazyContextTaskQueue::ContextInfo::web_contents
mojo::core::MessagePipeDispatcher::node_controller_
mojo::internal::ArrayDataViewImpl::data_
mojo::internal::ArrayDataViewImpl::message_
mojo::Connector::incoming_receiver_
mojo::Connector::nesting_observer_
mojo::InterfaceEndpointClient::controller_
mojo::InterfaceEndpointClient::incoming_receiver_
mojo::internal::MayAutoLock::lock_
mojo::internal::MayAutoUnlock::lock_
mojo::internal::MultiplexRouter::header_validator_
url::CanonOutputT::buffer_
prefs::ScopedDictionaryPrefUpdate::service_
prefs::DictionaryValueUpdate::value_
# Populated manually - type is unsupported by raw_ptr to avoid being used in
# performance sensitive base::Unretained
content::responsiveness::Watcher::calculator_io_
#######
# End of performance-related exclusions
#######