# There are three kinds of suppressions in this file.
# 1. third party stuff we have no control over
#
# 2. intentional unit test errors, or stuff that is somehow a false positive
# in our own code, or stuff that is so trivial it's not worth fixing
#
# 3. Suppressions for real chromium bugs that are not yet fixed.
# These should all be in chromium's bug tracking system (but a few aren't yet).
# Periodically we should sweep this file and the bug tracker clean by
# running overnight and removing outdated bugs/suppressions.
#-----------------------------------------------------------------------

# 1. third party stuff we have no control over
#-----------------------------------------------------------------------
# 2. intentional unit test errors, or stuff that is somehow a false positive
# in our own code, or stuff that is so trivial it's not worth fixing
{
   Heapcheck sanity test (ToolsSanityTest.MemoryLeak).
   Heapcheck:Leak
   fun:ToolsSanityTest_MemoryLeak_Test::TestBody
}
{
   Intentional leak in DiskCacheBackendTest::BackendInvalidEntry
   Heapcheck:Leak
   ...
   fun:DiskCacheBackendTest::BackendInvalidEntry
}
{
   Intentional leak in DiskCacheBackendTest::BackendInvalidEntryRead
   Heapcheck:Leak
   ...
   fun:DiskCacheBackendTest::BackendInvalidEntryRead
}
{
   Intentional leak in DiskCacheBackendTest::BackendInvalidEntryWithLoad
   Heapcheck:Leak
   ...
   fun:DiskCacheBackendTest::BackendInvalidEntryWithLoad
}
{
   Intentional leak in DiskCacheBackendTest::BackendTrimInvalidEntry
   Heapcheck:Leak
   ...
   fun:DiskCacheBackendTest::BackendTrimInvalidEntry
}
{
   Intentional leak in DiskCacheBackendTest::BackendTrimInvalidEntry2
   Heapcheck:Leak
   ...
   fun:DiskCacheBackendTest::BackendTrimInvalidEntry2
}
{
   Intentional leak in DiskCacheBackendTest::BackendInvalidEntryEnumeration
   Heapcheck:Leak
   ...
   fun:DiskCacheBackendTest::BackendInvalidEntryEnumeration
}
{
   Intentional leak in ChromeThreadTest.NotReleasedIfTargetThreadNonExistent
   Heapcheck:Leak
   fun:ChromeThreadTest_NotReleasedIfTargetThreadNonExistent_Test::TestBody
   fun:testing::Test::Run
}
#-----------------------------------------------------------------------
# 3. Suppressions for real chromium bugs that are not yet fixed.
# These should all be in chromium's bug tracking system (but a few aren't yet).
# Periodically we should sweep this file and the bug tracker clean by
# running overnight and removing outdated bugs/suppressions.
{
   bug_30547
   Heapcheck:Leak
   fun:std::string::_Rep::_S_create
   fun:base::JSONWriter::Write
   fun:JSONStringValueSerializer::Serialize
   fun:BookmarkStorage::SerializeData
   fun:BookmarkStorage::SaveNow
   fun:BookmarkStorage::BookmarkModelDeleted
   fun:BookmarkModel::~BookmarkModel
}
# IPCChannelTest.ChannelProxyTest leaks memory.
{
   bug_26920_a
   Heapcheck:Leak
   fun:IPC::ChannelProxy::ChannelProxy
   fun:IPCChannelTest_ChannelProxyTest_Test::TestBody
}
# TODO(glider): deal with asterisks in stack traces
# (like "CancelableTask* NewRunnableMethod" here)
{
   bug_26920_b
   Heapcheck:Leak
   ...
   fun:IPC::ChannelProxy::Context::OnChannelError
   fun:IPC::Channel::ChannelImpl::OnFileCanReadWithoutBlocking
   fun:base::MessagePumpLibevent::OnLibeventNotification
   fun:event_process_active
   fun:event_base_loop
}
{
   bug_26920_c
   Heapcheck:Leak
   fun:__gnu_cxx::new_allocator::allocate
   fun:std::string::_Rep::_S_create
   ...
   fun:std::basic_string::basic_string
   fun:IPCChannelTest_ChannelProxyTest_Test::TestBody
}
{
   bug_30547
   Heapcheck:Leak
   ...
   fun:ImportantFileWriter::WriteNow
   fun:BookmarkStorage::SaveNow
   fun:BookmarkStorage::BookmarkModelDeleted
}
{
   bug_31643
   Heapcheck:Leak
   fun:browser_sync::BookmarkModelWorker::CallDoWorkFromModelSafeThreadAndWait
   fun:Syncer::SyncShare
}
{
   bug_17540
   Heapcheck:Leak
   fun:base::MessagePumpLibevent::WatchFileDescriptor
   fun:MessageLoopForIO::WatchFileDescriptor
   fun:IPC::Channel::ChannelImpl::Connect
   fun:IPC::Channel::Connect
   fun:IPC::ChannelProxy::Context::OnChannelOpened
}
{
   bug_34570
   Heapcheck:Leak
   fun:URLRequestHttpJob::Factory
   fun:URLRequestJobManager::CreateJob
   fun:URLRequest::Start
   fun:URLRequestTest_CancelTest_DuringCookiePolicy_Test::TestBody
   fun:testing::Test::Run
   fun:testing::internal::TestInfoImpl::Run
   fun:testing::TestCase::Run
   fun:testing::internal::UnitTestImpl::RunAllTests
   fun:testing::UnitTest::Run
   fun:TestSuite::Run
   fun:main
}
{
   bug_34994_a
   Heapcheck:Leak
   ...
   fun:v8::internal::Invoke
   fun:v8::internal::Execution::Call
   fun:v8::Script::Run
}
{
   bug_34994_b
   Heapcheck:Leak
   ...
   fun:v8::internal::Invoke
   fun:v8::internal::Execution::Call
   fun:v8::Function::Call
}
