Permission message rules: Each rule must have >= 1 required permissions
[chromium-blink-merge.git] / tools / deep_memory_profiler / policy.android.webview.json
blob1e6e42cb59565b87abf8d20a7ff062db61b7ba12
2   "components": [
3     "second",
4     "mmap-profiler",
5     "mmap-type-profiler",
6     "mmap-tcmalloc",
7     "FROM_HERE_FOR_TOTAL",
8     "mustbezero",
9     "unhooked-absent",
10     "unhooked-ashmem-dalvik-heap",
11     "unhooked-ashmem-dalvik-LinearAlloc",
12     "unhooked-ashmem-dalvik-aux-structure",
13     "unhooked-ashmem-dalvik-bitmap",
14     "unhooked-ashmem-dalvik-other",
15     "unhooked-pvrsrvkm",
16     "unhooked-system-dex",
17     "unhooked-chrome-dex",
18     "unhooked-other-ashmem",
19     "unhooked-anonymous",
20     "unhooked-file-exec-lib-chrome",
21     "unhooked-file-exec",
22     "unhooked-file-nonexec-lib-chrome",
23     "unhooked-file-nonexec",
24     "unhooked-stack",
25     "unhooked-other",
26     "no-bucket",
27     "mmap-v8-heap-newspace",
28     "mmap-v8-heap-coderange",
29     "mmap-v8-heap-pagedspace",
30     "mmap-v8-other",
31     "mmap-gpu-mappedmemorymanager",
32     "mmap-gpu-command-ringbuffer",
33     "mmap-gpu-transfer-ringbuffer",
34     "mmap-gpu-gles2-createbuffer",
35     "mmap-skia-font",
36     "mmap-catch-all",
37     "tc-disk_cache-backing",
38     "tc-disk_cache-other",
39     "tc-sqlite3MemAlloc",
40     "tc-angle",
41     "tc-crypto",
42     "tc-net-iobuffer",
43     "tc-stl-string",
44     "tc-stl-rbtree",
45     "tc-stl-vector",
46     "tc-stl-hashtable",
47     "tc-stl-other",
48     "tc-webcore-fontcache",
49     "tc-skia",
50     "tc-renderstyle",
51     "tc-webcore-sharedbuf",
52     "tc-webcore-XHRcreate",
53     "tc-webcore-XHRreceived",
54     "tc-webcore-docwriter-add",
55     "tc-webcore-node-and-doc",
56     "tc-webcore-node-factory",
57     "tc-webcore-element-wrapper",
58     "tc-webcore-stylepropertyset",
59     "tc-webcore-style-createsheet",
60     "tc-webcore-resource",
61     "tc-webcore-script-execute",
62     "tc-webcore-events-related",
63     "tc-webcore-document-write",
64     "tc-webcore-element-create-renderer",
65     "tc-webcore-render-catch-all",
66     "tc-webcore-setInnerHTML-except-node",
67     "tc-wtf-StringImpl-user-catch-all",
68     "tc-wtf-HashTable-user-catch-all",
69     "tc-webcore-everything-create",
70     "tc-webkit-from-v8-catch-all",
71     "tc-webkit-catch-all",
72     "tc-v8-catch-all",
73     "tc-catch-all",
74     "tc-unused",
75     "UNTIL_HERE_FOR_TOTAL",
76     "total-exclude-profiler",
77     "total",
78     "absent",
79     "anonymous",
80     "file-exec",
81     "file-nonexec",
82     "stack",
83     "other",
84     "mmap-total-log",
85     "mmap-no-log",
86     "mmap-total-record",
87     "other-total-log",
88     "tc-total-log",
89     "tc-no-log",
90     "tc-total-record",
91     "tc-total"
92   ],
93   "rules": [
94     {
95       "name": "second",
96       "stacktrace": "optional",
97       "allocator": "optional"
98     },
99     {
100       "name": "mmap-profiler",
101       "stacktrace": ".*(ProfilerMalloc|MemoryRegionMap::).*",
102       "allocator": "mmap"
103     },
104     {
105       "name": "mmap-type-profiler",
106       "stacktrace": ".*(TypeProfilerMalloc).*",
107       "allocator": "mmap"
108     },
109     {
110       "name": "mmap-tcmalloc",
111       "stacktrace": ".*(DoAllocWithArena|SbrkSysAllocator::Alloc|MmapSysAllocator::Alloc|LowLevelAlloc::Alloc|LowLevelAlloc::AllocWithArena).*",
112       "allocator": "mmap"
113     },
114     {
115       "name": "FROM_HERE_FOR_TOTAL",
116       "stacktrace": "optional",
117       "allocator": "optional"
118     },
119     {
120       "name": "mustbezero",
121       "stacktrace": "optional",
122       "allocator": "optional"
123     },
124     {
125       "name": "unhooked-absent",
126       "stacktrace": "optional",
127       "allocator": "optional"
128     },
129     {
130       "name": "unhooked-ashmem-dalvik-heap",
131       "mappedpathname": "/dev/ashmem/dalvik-heap.*",
132       "allocator": "unhooked"
133     },
134     {
135       "name": "unhooked-ashmem-dalvik-LinearAlloc",
136       "mappedpathname": "/dev/ashmem/dalvik-LinearAlloc.*",
137       "allocator": "unhooked"
138     },
139     {
140       "name": "unhooked-ashmem-dalvik-aux-structure",
141       "mappedpathname": "/dev/ashmem/dalvik-aux-structure.*",
142       "allocator": "unhooked"
143     },
144     {
145       "name": "unhooked-ashmem-dalvik-bitmap",
146       "mappedpathname": "/dev/ashmem/dalvik-bitmap.*",
147       "allocator": "unhooked"
148     },
149     {
150       "name": "unhooked-ashmem-dalvik-other",
151       "mappedpathname": "/dev/ashmem/dalvik.*",
152       "allocator": "unhooked"
153     },
154     {
155       "name": "unhooked-pvrsrvkm",
156       "mappedpathname": "/dev/pvrsrvkm.*",
157       "allocator": "unhooked"
158     },
159     {
160       "name": "unhooked-system-dex",
161       "mappedpathname": "/data/dalvik-cache/system.*.dex.*",
162       "allocator": "unhooked"
163     },
164     {
165       "name": "unhooked-chrome-dex",
166       "mappedpathname": "^/.*?(chrome|content).*?apk@classes.dex",
167       "allocator": "unhooked"
168     },
169     {
170       "name": "unhooked-other-ashmem",
171       "mappedpathname": "/dev/ashmem/.*",
172       "allocator": "unhooked"
173     },
174     {
175       "name": "unhooked-anonymous",
176       "mappedpathname": "^$",
177       "allocator": "unhooked"
178     },
179     {
180       "name": "unhooked-file-exec-lib-chrome",
181       "mappedpathname": "^/.*?(chromeview|content).*",
182       "mappedpermission": "..x.",
183       "allocator": "unhooked"
184     },
185     {
186       "name": "unhooked-file-exec",
187       "mappedpathname": "^/.*",
188       "mappedpermission": "..x.",
189       "allocator": "unhooked"
190     },
191     {
192       "name": "unhooked-file-nonexec-lib-chrome",
193       "mappedpathname": "^/.*?(chromeview|content).*",
194       "allocator": "unhooked"
195     },
196     {
197       "name": "unhooked-file-nonexec",
198       "mappedpathname": "^/.*",
199       "allocator": "unhooked"
200     },
201     {
202       "name": "unhooked-stack",
203       "mappedpathname": ".stack.",
204       "allocator": "unhooked"
205     },
206     {
207       "name": "unhooked-other",
208       "mappedpathname": ".*",
209       "allocator": "unhooked"
210     },
211     {
212       "name": "mmap-v8-heap-newspace",
213       "stacktrace": ".*v8::internal::NewSpace::SetUp.*",
214       "allocator": "mmap"
215     },
216     {
217       "name": "mmap-v8-heap-coderange",
218       "stacktrace": ".*v8::internal::CodeRange::SetUp.*",
219       "allocator": "mmap"
220     },
221     {
222       "name": "mmap-v8-heap-pagedspace",
223       "stacktrace": ".*v8::internal::PagedSpace::AllocateRaw.*",
224       "allocator": "mmap"
225     },
226     {
227       "name": "mmap-v8-other",
228       "stacktrace": ".*v8::.*",
229       "allocator": "mmap"
230     },
231     {
232       "name": "mmap-gpu-mappedmemorymanager",
233       "stacktrace": ".*gpu::MappedMemoryManager::Alloc.*",
234       "allocator": "mmap"
235     },
236     {
237       "name": "mmap-gpu-command-ringbuffer",
238       "stacktrace": ".*gpu::CommandBufferHelper::AllocateRingBuffer.*",
239       "allocator": "mmap"
240     },
241     {
242       "name": "mmap-gpu-transfer-ringbuffer",
243       "stacktrace": ".*gpu::TransferBuffer::AllocateRingBuffer.*",
244       "allocator": "mmap"
245     },
246     {
247       "name": "mmap-gpu-gles2-createbuffer",
248       "stacktrace": ".*gpu::gles2::BufferTracker::CreateBuffer.*",
249       "allocator": "mmap"
250     },
251     {
252       "name": "mmap-skia-font",
253       "stacktrace": ".*SkTypeface::openStream.*",
254       "allocator": "mmap"
255     },
256     {
257       "name": "mmap-catch-all",
258       "stacktrace": ".*",
259       "allocator": "mmap"
260     },
261     {
262       "name": "tc-disk_cache-backing",
263       "stacktrace": ".*disk_cache::BackendImpl::InitBackingStore.*",
264       "allocator": "malloc"
265     },
266     {
267       "name": "tc-disk_cache-other",
268       "stacktrace": ".*disk_cache::.*",
269       "allocator": "malloc"
270     },
271     {
272       "name": "tc-sqlite3MemAlloc",
273       "stacktrace": ".*sqlite3MemMalloc.*",
274       "allocator": "malloc"
275     },
276     {
277       "name": "tc-angle",
278       "stacktrace": ".*TPoolAllocator::allocate.*",
279       "allocator": "malloc"
280     },
281     {
282       "name": "tc-crypto",
283       "stacktrace": ".*(CRYPTO_malloc|CRYPTO_realloc).*",
284       "allocator": "malloc"
285     },
286     {
287       "name": "tc-net-iobuffer",
288       "stacktrace": ".*net::IOBuffer::IOBuffer.*",
289       "allocator": "malloc"
290     },
291     {
292       "name": "tc-stl-string",
293       "stacktrace": ".*std::basic_string::.*",
294       "allocator": "malloc"
295     },
296     {
297       "name": "tc-stl-rbtree",
298       "stacktrace": ".*std::priv::_Rb_tree::.*",
299       "allocator": "malloc"
300     },
301     {
302       "name": "tc-stl-vector",
303       "stacktrace": ".*std::priv::_Impl_vector::.*",
304       "allocator": "malloc"
305     },
306     {
307       "name": "tc-stl-hashtable",
308       "stacktrace": ".*std::hashtable::.*",
309       "allocator": "malloc"
310     },
311     {
312       "name": "tc-stl-other",
313       "stacktrace": ".*std::__stl_new.*",
314       "allocator": "malloc"
315     },
316     {
317       "name": "tc-webcore-fontcache",
318       "stacktrace": ".*(WebCore|blink)::FontCache::getCachedFontData.*",
319       "allocator": "malloc"
320     },
321     {
322       "name": "tc-skia",
323       "stacktrace": ".* Sk[A-Za-z_]+::.*",
324       "allocator": "malloc"
325     },
326     {
327       "name": "tc-renderstyle",
328       "stacktrace": ".*(WebCore|blink)::RenderStyle::create.*",
329       "allocator": "malloc"
330     },
331     {
332       "name": "tc-renderstyle",
333       "stacktrace": ".*(WebCore|blink)::RenderStyle::clone.*",
334       "allocator": "malloc"
335     },
336     {
337       "name": "tc-webcore-sharedbuf",
338       "stacktrace": ".*(WebCore|blink)::SharedBuffer::create.*",
339       "allocator": "malloc"
340     },
341     {
342       "name": "tc-webcore-sharedbuf",
343       "stacktrace": ".*(WebCore|blink)::SharedBuffer::buffer.*",
344       "allocator": "malloc"
345     },
346     {
347       "name": "tc-webcore-sharedbuf",
348       "stacktrace": ".*(WebCore|blink)::SharedBuffer::append.*",
349       "allocator": "malloc"
350     },
351     {
352       "name": "tc-webcore-XHRcreate",
353       "stacktrace": ".*(WebCore|blink)::XMLHttpRequest::create .*",
354       "allocator": "malloc"
355     },
356     {
357       "name": "tc-webcore-XHRreceived",
358       "stacktrace": ".*(WebCore|blink)::XMLHttpRequest::didReceiveData.*",
359       "allocator": "malloc"
360     },
361     {
362       "name": "tc-webcore-docwriter-add",
363       "stacktrace": ".*(WebCore|blink)::DocumentWriter::addData.*",
364       "allocator": "malloc"
365     },
366     {
367       "name": "tc-webcore-node-and-doc",
368       "stacktrace": ".*(WebCore|blink)::HTML[a-zA-Z0-9_]*Element::create .*",
369       "allocator": "malloc"
370     },
371     {
372       "name": "tc-webcore-node-and-doc",
373       "stacktrace": ".*(WebCore|blink)::Text::create .*",
374       "allocator": "malloc"
375     },
376     {
377       "name": "tc-webcore-node-and-doc",
378       "stacktrace": ".*(WebCore|blink)::Comment::create .*",
379       "allocator": "malloc"
380     },
381     {
382       "name": "tc-webcore-node-and-doc",
383       "stacktrace": ".*(WebCore|blink)::HTMLDocument::create .*",
384       "allocator": "malloc"
385     },
386     {
387       "name": "tc-webcore-node-and-doc",
388       "stacktrace": ".*(WebCore|blink)::CSSStyleRule::create .*",
389       "allocator": "malloc"
390     },
391     {
392       "name": "tc-webcore-node-and-doc",
393       "stacktrace": ".*(WebCore|blink)::Attribute::create .*",
394       "allocator": "malloc"
395     },
396     {
397       "name": "tc-webcore-node-and-doc",
398       "stacktrace": ".*(WebCore|blink)::DOMWindow::create .*",
399       "allocator": "malloc"
400     },
401     {
402       "name": "tc-webcore-node-factory",
403       "stacktrace": ".*(WebCore|blink)::HTML[a-zA-Z0-9_]*Factory::create[a-zA-Z0-9_]*Element.*",
404       "allocator": "malloc"
405     },
406     {
407       "name": "tc-webcore-element-wrapper",
408       "stacktrace": ".*(WebCore|blink)::createHTML[a-zA-Z0-9_]*ElementWrapper.*",
409       "allocator": "malloc"
410     },
411     {
412       "name": "tc-webcore-stylepropertyset",
413       "stacktrace": ".*(WebCore|blink)::StylePropertySet::create .*",
414       "allocator": "malloc"
415     },
416     {
417       "name": "tc-webcore-style-createsheet",
418       "stacktrace": ".*(WebCore|blink)::StyleElement::createSheet.*",
419       "allocator": "malloc"
420     },
421     {
422       "name": "tc-webcore-resource",
423       "stacktrace": ".*(WebCore|blink)::ResourceFetcher::requestResource .*",
424       "allocator": "malloc"
425     },
426     {
427       "name": "tc-webcore-script-execute",
428       "stacktrace": ".*(WebCore|blink)::ScriptLoader::execute.*",
429       "allocator": "malloc"
430     },
431     {
432       "name": "tc-webcore-events-related",
433       "stacktrace": ".*(WebCore|blink)::createAttributeEventListener.*",
434       "allocator": "malloc"
435     },
436     {
437       "name": "tc-webcore-events-related",
438       "stacktrace": ".*(WebCore|blink)::V8LazyEventListener::create.*",
439       "allocator": "malloc"
440     },
441     {
442       "name": "tc-webcore-events-related",
443       "stacktrace": ".*(WebCore|blink)::V8EventListener::create.*",
444       "allocator": "malloc"
445     },
446     {
447       "name": "tc-webcore-events-related",
448       "stacktrace": ".*(WebCore|blink)::Event::create .*",
449       "allocator": "malloc"
450     },
451     {
452       "name": "tc-webcore-events-related",
453       "stacktrace": ".*(WebCore|blink)::EventListener::create .*",
454       "allocator": "malloc"
455     },
456     {
457       "name": "tc-webcore-document-write",
458       "stacktrace": ".*(WebCore|blink)::Document::write.*",
459       "allocator": "malloc"
460     },
461     {
462       "name": "tc-webcore-element-create-renderer",
463       "stacktrace": ".*(WebCore|blink)::[a-zA-Z0-9_]*Element::createRenderer .*",
464       "allocator": "malloc"
465     },
466     {
467       "name": "tc-webcore-render-catch-all",
468       "stacktrace": ".*(WebCore|blink)::RenderLayer.*",
469       "allocator": "malloc"
470     },
471     {
472       "name": "tc-webcore-render-catch-all",
473       "stacktrace": ".*(WebCore|blink)::RenderBlock.*",
474       "allocator": "malloc"
475     },
476     {
477       "name": "tc-webcore-render-catch-all",
478       "stacktrace": ".*(WebCore|blink)::RenderWidget.*",
479       "allocator": "malloc"
480     },
481     {
482       "name": "tc-webcore-render-catch-all",
483       "stacktrace": ".*(WebCore|blink)::RenderView.*",
484       "allocator": "malloc"
485     },
486     {
487       "name": "tc-webcore-render-catch-all",
488       "stacktrace": ".*(WebCore|blink)::RenderViewImpl.*",
489       "allocator": "malloc"
490     },
491     {
492       "name": "tc-webcore-render-catch-all",
493       "stacktrace": ".*(WebCore|blink)::RenderStyle.*",
494       "allocator": "malloc"
495     },
496     {
497       "name": "tc-webcore-render-catch-all",
498       "stacktrace": ".*(WebCore|blink)::RenderText.*",
499       "allocator": "malloc"
500     },
501     {
502       "name": "tc-webcore-render-catch-all",
503       "stacktrace": ".* RendererMain .*",
504       "allocator": "malloc"
505     },
506     {
507       "name": "tc-webcore-setInnerHTML-except-node",
508       "stacktrace": ".*(WebCore|blink)::Element::setInnerHTML.*",
509       "allocator": "malloc"
510     },
511     {
512       "name": "tc-wtf-StringImpl-user-catch-all",
513       "stacktrace": ".*WTF::StringImpl::create .*",
514       "allocator": "malloc"
515     },
516     {
517       "name": "tc-wtf-StringImpl-user-catch-all",
518       "stacktrace": ".*WTF::StringImpl::createUninitialized.*",
519       "allocator": "malloc"
520     },
521     {
522       "name": "tc-wtf-HashTable-user-catch-all",
523       "stacktrace": ".*WTF::HashTable::allocateTable.*",
524       "allocator": "malloc"
525     },
526     {
527       "name": "tc-webcore-everything-create",
528       "stacktrace": ".*(WebCore|blink)::[a-zA-Z0-9_]*::create .*",
529       "allocator": "malloc"
530     },
531     {
532       "name": "tc-webkit-from-v8-catch-all",
533       "stacktrace": ".*(WTF::|WebCore::|blink::|WebKit::).*v8::.*",
534       "allocator": "malloc"
535     },
536     {
537       "name": "tc-webkit-catch-all",
538       "stacktrace": ".*(WTF::|WebCore::|blink::|WebKit::).*",
539       "allocator": "malloc"
540     },
541     {
542       "name": "tc-v8-catch-all",
543       "stacktrace": ".*v8::.*",
544       "allocator": "malloc"
545     },
546     {
547       "name": "tc-catch-all",
548       "stacktrace": ".*",
549       "allocator": "malloc"
550     },
551     {
552       "name": "UNTIL_HERE_FOR_TOTAL",
553       "stacktrace": "optional",
554       "allocator": "optional"
555     },
556     {
557       "name": "total-exclude-profiler",
558       "stacktrace": "optional",
559       "allocator": "optional"
560     },
561     {
562       "name": "total",
563       "stacktrace": "optional",
564       "allocator": "optional"
565     },
566     {
567       "name": "absent",
568       "stacktrace": "optional",
569       "allocator": "optional"
570     },
571     {
572       "name": "anonymous",
573       "stacktrace": "optional",
574       "allocator": "optional"
575     },
576     {
577       "name": "file-exec",
578       "stacktrace": "optional",
579       "allocator": "optional"
580     },
581     {
582       "name": "file-nonexec",
583       "stacktrace": "optional",
584       "allocator": "optional"
585     },
586     {
587       "name": "stack",
588       "stacktrace": "optional",
589       "allocator": "optional"
590     },
591     {
592       "name": "other",
593       "stacktrace": "optional",
594       "allocator": "optional"
595     }
596   ],
597   "version": "POLICY_DEEP_3"