mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	Compare commits
	
		
			764 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 274abcf792 | ||
|  | 9d87c1f976 | ||
|  | d15cfa853e | ||
|  | 4045acff92 | ||
|  | 01c8529f74 | ||
|  | 5ffe90cd56 | ||
|  | a9ec100d85 | ||
|  | 7cfecf12ac | ||
|  | bc6d8f3bee | ||
|  | 6bd1124a61 | ||
|  | af1a5c6f6b | ||
|  | 3492b1bd76 | ||
|  | 159e6553a5 | ||
|  | add734afd4 | ||
|  | e75b87161d | ||
|  | 1bed986adb | ||
|  | 439421f195 | ||
|  | 108795e566 | ||
|  | 847fba0d7f | ||
|  | d7c630a930 | ||
|  | f6aa203222 | ||
|  | ad7b8d9a08 | ||
|  | 2804be0749 | ||
|  | 023df80e74 | ||
|  | bfc5648634 | ||
|  | 052b61ddd9 | ||
|  | 008ace03fc | ||
|  | ba46b8c53e | ||
|  | 9353f9b28b | ||
|  | 992479d5a8 | ||
|  | 5a622c22b5 | ||
|  | 3c0a4410ad | ||
|  | ecbeca36e7 | ||
|  | 0aad12fe1b | ||
|  | 00dca9601e | ||
|  | f2f52c1e2c | ||
|  | f3ddec372f | ||
|  | e411b513be | ||
|  | 5ddd26e483 | ||
|  | 21ac0be8d7 | ||
|  | f3c513bafd | ||
|  | ff8f4a7217 | ||
|  | d9efaee9b9 | ||
|  | ebee84755e | ||
|  | 4f0b7b4511 | ||
|  | fde96be168 | ||
|  | 820ef6c323 | ||
|  | 2de07250dc | ||
|  | 3ab91a45c9 | ||
|  | c03a6f4386 | ||
|  | 328de502ac | ||
|  | 511e10d594 | ||
|  | 3c8507c4a3 | ||
|  | ae4f68f695 | ||
|  | b189c7b472 | ||
|  | f84762d84a | ||
|  | cf1074cf49 | ||
|  | 9756e15a23 | ||
|  | a4d71d8fe2 | ||
|  | 34c63a665d | ||
|  | fc7f9ff505 | ||
|  | e1b6f5ad31 | ||
|  | 6d25033822 | ||
|  | a4603c6f1a | ||
|  | 9c82785077 | ||
|  | 1c04d96468 | ||
|  | 5318dfe252 | ||
|  | 76642ccafa | ||
|  | c565d9b1e6 | ||
|  | 09a9d9b54c | ||
|  | 701f51b1cc | ||
|  | 4188cc2f75 | ||
|  | 09fa22898d | ||
|  | 1cddbeb12f | ||
|  | 09c6586480 | ||
|  | 25701cfa6f | ||
|  | 4960970dbd | ||
|  | 19ac738b77 | ||
|  | 7876a2f321 | ||
|  | f7a4c777e8 | ||
|  | b375397efb | ||
|  | 6574e1d914 | ||
|  | 91ecc85e93 | ||
|  | 96404f1fd9 | ||
|  | 288366c96d | ||
|  | 64a1612b70 | ||
|  | 69a8839ce9 | ||
|  | 47f15dd307 | ||
|  | 505bf24abb | ||
|  | a17c59ce1d | ||
|  | 74db00fc89 | ||
|  | 1587d6da03 | ||
|  | c4baba880e | ||
|  | 020ac1b509 | ||
|  | 8424f166cc | ||
|  | a6a8c0e845 | ||
|  | 1d39ff720e | ||
|  | f93c9c0c5c | ||
|  | b5dfcd05cb | ||
|  | 8733cb89c7 | ||
|  | 8f5fdc1f9a | ||
|  | ec7067c55e | ||
|  | bf3b7b2c62 | ||
|  | b3ad79e2c5 | ||
|  | 7fe6a18f03 | ||
|  | d6dc4b667b | ||
|  | 59c11404e6 | ||
|  | 5ef0fb8ac8 | ||
|  | 119415b8e9 | ||
|  | d06fdcff85 | ||
|  | 9d4f862210 | ||
|  | 5055d1f1d5 | ||
|  | b798147c33 | ||
|  | 2a64387259 | ||
|  | 71179da2f6 | ||
|  | a584bd187b | ||
|  | 7d1d3c0206 | ||
|  | d2c884da86 | ||
|  | 0b7840ab2f | ||
|  | 977cc71fd9 | ||
|  | 023d218104 | ||
|  | 4e6c558bf2 | ||
|  | 6a525748c4 | ||
|  | c3aa36323b | ||
|  | a1ba0c9166 | ||
|  | e618f44667 | ||
|  | 9e296bde3c | ||
|  | 015e3621a3 | ||
|  | cae194f493 | ||
|  | 4fbd247231 | ||
|  | e94a261bf5 | ||
|  | 9022d40e6a | ||
|  | 38d8acfa18 | ||
|  | 7ca9e9c54b | ||
|  | 64c561f0bd | ||
|  | f2c0c3f8fb | ||
|  | 5f9bd3ecbd | ||
|  | 8796d3cd95 | ||
|  | cc56720bd2 | ||
|  | 88faf1023a | ||
|  | 42f517ec69 | ||
|  | 4791109a28 | ||
|  | 19391d8ab0 | ||
|  | 59a779c38a | ||
|  | b579b37db4 | ||
|  | 4aad5f23a0 | ||
|  | e6047bd54b | ||
|  | 24c2f2fa38 | ||
|  | 6b1e5335bc | ||
|  | 2e94bfafea | ||
|  | b09cd1a197 | ||
|  | d63e5bbd8a | ||
|  | 6337aa6fad | ||
|  | 08ebbb395a | ||
|  | 87c8a72831 | ||
|  | 11f37bc6eb | ||
|  | a5d88d697a | ||
|  | f89c0d74dd | ||
|  | 9e60357fc8 | ||
|  | 75e0f9f60e | ||
|  | 9717d3e1da | ||
|  | b822ea43b9 | ||
|  | ac99621829 | ||
|  | 99d66db930 | ||
|  | c27fceb7de | ||
|  | 845322b5fb | ||
|  | ef7e98c616 | ||
|  | a3919cb0ec | ||
|  | 034bd641de | ||
|  | ca1c00f95d | ||
|  | 0add3eaacb | ||
|  | 574d4dcedc | ||
|  | 82d6bcbbea | ||
|  | e87fedd27c | ||
|  | fab2af8876 | ||
|  | e8573173dd | ||
|  | 13e3c8b42a | ||
|  | 280c9127c1 | ||
|  | 6573df6cc3 | ||
|  | 03c9156c80 | ||
|  | 02cdf05848 | ||
|  | e9bf3cdb98 | ||
|  | 6cb9f0c695 | ||
|  | 6152d68b6a | ||
|  | 88b88251e7 | ||
|  | 48fc0bd220 | ||
|  | 619f18fea0 | ||
|  | 7b518511df | ||
|  | 5c1118230d | ||
|  | 0dfefe391c | ||
|  | b3a8da9b25 | ||
|  | 84f3ff2afd | ||
|  | f5587b74f0 | ||
|  | 1174994211 | ||
|  | 049caf9131 | ||
|  | 39aed35644 | ||
|  | a9aef28966 | ||
|  | 790d248111 | ||
|  | 640cd0f411 | ||
|  | cfe8e320be | ||
|  | 5780bf40d4 | ||
|  | 31d3e88d32 | ||
|  | 7ecaa8afdd | ||
|  | 8c996d2efd | ||
|  | d8b4281c06 | ||
|  | c82eb3e80f | ||
|  | 14571658a2 | ||
|  | aa4473e2c6 | ||
|  | 9deef4189c | ||
|  | 25d81e0f1d | ||
|  | 70590a759d | ||
|  | 8d01442d75 | ||
|  | d65483ae16 | ||
|  | 7c6e53ddfb | ||
|  | ff0c36b465 | ||
|  | dafce45e49 | ||
|  | be6af15754 | ||
|  | cbc0625272 | ||
|  | fd1f465fa7 | ||
|  | 8ed39e4ae5 | ||
|  | 3adb801ca8 | ||
|  | ccf7b28723 | ||
|  | e876217e24 | ||
|  | ec0c57d0e1 | ||
|  | 87a7c4f94b | ||
|  | 27257d0288 | ||
|  | 245bc9bfab | ||
|  | fa519f5108 | ||
|  | 30d83cb94a | ||
|  | f5c79bf50c | ||
|  | ea1324a9f1 | ||
|  | 261a8899fc | ||
|  | a5de549456 | ||
|  | bdaa857c49 | ||
|  | 1c14900093 | ||
|  | 01f385a6f7 | ||
|  | cf6b57d659 | ||
|  | f742ab4994 | ||
|  | cfac1c347c | ||
|  | 047e8f9349 | ||
|  | 3d87a68561 | ||
|  | 66433c1869 | ||
|  | 869ae21c9f | ||
|  | 03fd5b15da | ||
|  | fecd582035 | ||
|  | 180e9bd362 | ||
|  | 2fbb6ba1e9 | ||
|  | 51e12b3866 | ||
|  | a6f9d78c1c | ||
|  | 8cf82c24dc | ||
|  | 438382c5df | ||
|  | 1ab44722e8 | ||
|  | 4291776473 | ||
|  | 06a5ef3cd8 | ||
|  | 9d9ee8b45f | ||
|  | a22b670a00 | ||
|  | 8c6cc302d0 | ||
|  | afcee77abe | ||
|  | 294eb75355 | ||
|  | e472228f29 | ||
|  | fb925e7aa5 | ||
|  | a141082b91 | ||
|  | 71768ea6c3 | ||
|  | ed39922f85 | ||
|  | 1da3f71357 | ||
|  | c3d4f24720 | ||
|  | 9df4a54308 | ||
|  | 492c6c6843 | ||
|  | a12c2ab3e1 | ||
|  | f2f6ae4f29 | ||
|  | 679850a267 | ||
|  | c90b65a72c | ||
|  | d02d252690 | ||
|  | b785d34d29 | ||
|  | f5eef5390a | ||
|  | 97d559982e | ||
|  | 7a701546e1 | ||
|  | ea63799c3e | ||
|  | c05c3e4065 | ||
|  | c629c5bb59 | ||
|  | 53b98a5022 | ||
|  | f0347f0589 | ||
|  | 06a5a5bb36 | ||
|  | 08f6cbb675 | ||
|  | 1a406d079b | ||
|  | 3afa29d499 | ||
|  | b98f142e0e | ||
|  | 894ac21532 | ||
|  | e1132672ee | ||
|  | 15226b9332 | ||
|  | 1b85022c58 | ||
|  | dbc479e490 | ||
|  | 5792cea985 | ||
|  | 16e8710a81 | ||
|  | 503ec7c2e6 | ||
|  | 11ee7e984c | ||
|  | 8d0ae1f894 | ||
|  | 95daea76fc | ||
|  | 8ca0b4580e | ||
|  | 80fc651d7e | ||
|  | 0f944cdc55 | ||
|  | 7653e9e04c | ||
|  | 7c866328e0 | ||
|  | 0d4879763a | ||
|  | 440dbfb6df | ||
|  | 875b202cbb | ||
|  | beb005138a | ||
|  | a94dc6a058 | ||
|  | 1c88c74f86 | ||
|  | dfcfb51bef | ||
|  | 49786ccc34 | ||
|  | c4284b2938 | ||
|  | a90c9f9c3e | ||
|  | bb006b46e6 | ||
|  | f9706f260a | ||
|  | 319de22d89 | ||
|  | 115f760821 | ||
|  | b9fc93955c | ||
|  | f2756b5318 | ||
|  | 3a8778e2f8 | ||
|  | 58e17b3cdc | ||
|  | cc6f285abd | ||
|  | 04c9bcd802 | ||
|  | c8d0813669 | ||
|  | 9b9a9f359e | ||
|  | b51a4de540 | ||
|  | 65f97a60ad | ||
|  | 4f07cba011 | ||
|  | aad4bf2464 | ||
|  | 329facfbdf | ||
|  | a4b6ef577e | ||
|  | 01e75761d3 | ||
|  | 737ff18498 | ||
|  | d28efe8797 | ||
|  | b560f04046 | ||
|  | 066762217f | ||
|  | 1a661a2d15 | ||
|  | aefe9a4195 | ||
|  | 1d515adc22 | ||
|  | 9cdda243a1 | ||
|  | 22746985f2 | ||
|  | 76368bda60 | ||
|  | 88ecf49549 | ||
|  | e7b66aa43a | ||
|  | 152141d7f4 | ||
|  | 466f5e23db | ||
|  | eea1f6be63 | ||
|  | 5da1649653 | ||
|  | c0af145165 | ||
|  | a8283d1cc3 | ||
|  | cc0530cbf6 | ||
|  | a8263b1b4f | ||
|  | bc5cbcf39b | ||
|  | 729b3f0a8f | ||
|  | 52c24ed061 | ||
|  | ba1b4a41a9 | ||
|  | f8e0797773 | ||
|  | c8b457da38 | ||
|  | e3723dcda5 | ||
|  | 46d3a81ba0 | ||
|  | b6b033a52b | ||
|  | 98527317a8 | ||
|  | 8f0a202e0c | ||
|  | 5574d1c32f | ||
|  | cfb4309479 | ||
|  | 91f48c5588 | ||
|  | 67b61c4af9 | ||
|  | ccb06ce3cb | ||
|  | 2d8d064ce8 | ||
|  | 4c70c67042 | ||
|  | d82624411e | ||
|  | 1d3b911b16 | ||
|  | c038bf8198 | ||
|  | 30cc80efe3 | ||
|  | ea9bd50fca | ||
|  | 15fc7e58a8 | ||
|  | e57acace0b | ||
|  | a697464a33 | ||
|  | 42b259d124 | ||
|  | 1fd1b320c2 | ||
|  | 1669c0afbd | ||
|  | cf87c88b05 | ||
|  | fafe7a7cfc | ||
|  | 99c27f57b1 | ||
|  | 367c6eb704 | ||
|  | 1086495096 | ||
|  | 17ec55a3b3 | ||
|  | 3f1ebebde5 | ||
|  | ac2cc54e13 | ||
|  | cc0db5f166 | ||
|  | 5892ffc382 | ||
|  | 45329d05a5 | ||
|  | 02a6b3bb38 | ||
|  | 732a307c75 | ||
|  | b03a419c6b | ||
|  | ba08c21517 | ||
|  | 81064faac3 | ||
|  | f0c82200ba | ||
|  | c3c3af34fd | ||
|  | dd04583dcb | ||
|  | 0b7c0be29a | ||
|  | d277dcd5d7 | ||
|  | 939e9f40b5 | ||
|  | 6546556a14 | ||
|  | 6193d8c554 | ||
|  | ab6fd322d1 | ||
|  | 7e742f6e1f | ||
|  | fa5268fa2d | ||
|  | fd80e5c653 | ||
|  | 2814054863 | ||
|  | 241941a44a | ||
|  | 35295d2e27 | ||
|  | 6011d45e38 | ||
|  | 9ddb013875 | ||
|  | e5c7fd1c55 | ||
|  | 99eebd00c4 | ||
|  | bddf2a311b | ||
|  | 9a30f05f80 | ||
|  | 2ea173a254 | ||
|  | ba0e1b5719 | ||
|  | f9b042c375 | ||
|  | c7701b8a61 | ||
|  | 03c1c21fd3 | ||
|  | 473c29a70d | ||
|  | ad4ce5f441 | ||
|  | ef06407da6 | ||
|  | bbabccf9aa | ||
|  | 3827f817c7 | ||
|  | 8b400331c7 | ||
|  | cef882616b | ||
|  | 4592cba19f | ||
|  | b1018ad64b | ||
|  | 5ce52bd775 | ||
|  | 0193a3fe54 | ||
|  | fb0133cd4b | ||
|  | 370cc028cb | ||
|  | 9fd6c8a1ee | ||
|  | 4e089766a5 | ||
|  | cc80175e89 | ||
|  | 8a4f4bff9b | ||
|  | 2ace33f8b7 | ||
|  | edd9efd1b3 | ||
|  | 8f240861e3 | ||
|  | 019611c764 | ||
|  | 491253fa03 | ||
|  | 07863c0d46 | ||
|  | 879911b721 | ||
|  | 1beec23065 | ||
|  | 5623338662 | ||
|  | 941d53ebfd | ||
|  | 9ce29e8ec5 | ||
|  | aa42db6e25 | ||
|  | 04e2728dc2 | ||
|  | b949d86c40 | ||
|  | 85c34c4dcf | ||
|  | b65f336f81 | ||
|  | 9b43d265c3 | ||
|  | ea27dff338 | ||
|  | a23e845244 | ||
|  | 6b2c1fe969 | ||
|  | af349ade33 | ||
|  | b3468451f5 | ||
|  | 48f7c67587 | ||
|  | e5568118ac | ||
|  | a48e072076 | ||
|  | 531df6eaba | ||
|  | 64ad8c32f2 | ||
|  | d8845b88f4 | ||
|  | e7d8dd5ef7 | ||
|  | 1b9bc33bcf | ||
|  | a4f0b4c5fb | ||
|  | 872f25dcc6 | ||
|  | 2a40650926 | ||
|  | a76f40eb83 | ||
|  | 725ed88529 | ||
|  | 58e1149c71 | ||
|  | 7b5d30e9a9 | ||
|  | 4cbcb4615a | ||
|  | 602c163127 | ||
|  | feffedbae9 | ||
|  | 18ef4f72c7 | ||
|  | 34db87563e | ||
|  | 658bf2834a | ||
|  | 7f1453b294 | ||
|  | 5f615a95bc | ||
|  | 9ba28dd730 | ||
|  | 379fb8d39e | ||
|  | c72d57aa60 | ||
|  | ba8b4e8b9d | ||
|  | 8d1453fd24 | ||
|  | 3cf50ed942 | ||
|  | 5a1c642431 | ||
|  | 6bfb5ab33b | ||
|  | 3fe062a5b6 | ||
|  | 176e14d451 | ||
|  | feb99571d2 | ||
|  | d5be6e3afb | ||
|  | 359a5b7cb5 | ||
|  | 406e347d6f | ||
|  | b5d76b499c | ||
|  | 7aae02e411 | ||
|  | 8bc348d615 | ||
|  | 4c730e8935 | ||
|  | 0e461b7f5c | ||
|  | d73fc464c9 | ||
|  | f85816f0c7 | ||
|  | b8eaec0db2 | ||
|  | 84a5749f9f | ||
|  | a72e00a7b9 | ||
|  | 667d190547 | ||
|  | bf51cd21b6 | ||
|  | 9c50f1bfdb | ||
|  | ec2ee91bf0 | ||
|  | c0a7fa392d | ||
|  | 2e7f935b0d | ||
|  | 4b0ac90ab3 | ||
|  | 710021be15 | ||
|  | 995dd0ba19 | ||
|  | f962b5863e | ||
|  | 778ee5c60c | ||
|  | a189c5b937 | ||
|  | e94b3e2478 | ||
|  | 7ecc5d31ea | ||
|  | 1a86240c93 | ||
|  | 10916749d6 | ||
|  | 4b5c38eeb4 | ||
|  | 5671165308 | ||
|  | ae317a5bfd | ||
|  | 27fb4694ed | ||
|  | 7f08159461 | ||
|  | bac8fb5e61 | ||
|  | 927869e59e | ||
|  | 28d24e22d6 | ||
|  | 6df612a597 | ||
|  | 91a1286d52 | ||
|  | 3e06fa8271 | ||
|  | f5a3fd6430 | ||
|  | 7ea19d740d | ||
|  | 919ae45b0f | ||
|  | 285dbb1ce6 | ||
|  | bb5fe57984 | ||
|  | 1e0c248044 | ||
|  | a7e997e524 | ||
|  | 07f57223a8 | ||
|  | 315b57e9f7 | ||
|  | f9ebe693e4 | ||
|  | 15fad89839 | ||
|  | e4ae534754 | ||
|  | 49c149c20b | ||
|  | c64898f9fc | ||
|  | 1928572b52 | ||
|  | da53451f97 | ||
|  | a2bf177a32 | ||
|  | dead08bf52 | ||
|  | 8a055593d6 | ||
|  | 48dabc9143 | ||
|  | e6a3a5b72d | ||
|  | 1e6b870af0 | ||
|  | 713eebcafc | ||
|  | 09afa3a843 | ||
|  | 64cd460c73 | ||
|  | b9c10cb46e | ||
|  | c7d2891058 | ||
|  | 275af5e972 | ||
|  | 3a91ccd940 | ||
|  | bb61775b61 | ||
|  | 3cdc29aa53 | ||
|  | 8aa4b7aaae | ||
|  | c7d187a512 | ||
|  | f97a241126 | ||
|  | 0401e6b912 | ||
|  | 869efa155f | ||
|  | 116859456e | ||
|  | 0abd08b6cc | ||
|  | e8e0f1f6c6 | ||
|  | a64237bcb0 | ||
|  | ea0e213bef | ||
|  | a659b48fd1 | ||
|  | 4cc3a221c3 | ||
|  | dec98a5534 | ||
|  | fcad76b405 | ||
|  | 0fb03e7aa1 | ||
|  | 7f3c21b64a | ||
|  | 339ce47575 | ||
|  | 7d09642925 | ||
|  | fad6aec5d0 | ||
|  | 96bd993d99 | ||
|  | 8e9d736cda | ||
|  | 6a76bdb040 | ||
|  | cf5b322efc | ||
|  | 7139f01103 | ||
|  | 0d12959a50 | ||
|  | 10c01ff43e | ||
|  | 66b5dc3d55 | ||
|  | f12ad6b634 | ||
|  | 5bf4d4febd | ||
|  | 448a112352 | ||
|  | 9229cdd0eb | ||
|  | 9e22c975fa | ||
|  | 6301e06c8a | ||
|  | 123324f5f9 | ||
|  | eb3325a9ae | ||
|  | 2d48a07bec | ||
|  | 669e8673ce | ||
|  | b03c54bfbe | ||
|  | 35830c88e5 | ||
|  | 3c3045a5cb | ||
|  | b25374c8e7 | ||
|  | 4f28c5ffff | ||
|  | 12043b16e7 | ||
|  | d9ebd4c50f | ||
|  | f6f2c9a0ca | ||
|  | 21310e4374 | ||
|  | 08ff72fa20 | ||
|  | 12cc069b69 | ||
|  | cd27cbc802 | ||
|  | a9f0fa9dfe | ||
|  | 240ba800ed | ||
|  | 84e2286995 | ||
|  | 58413e16b1 | ||
|  | 58e2e4b23d | ||
|  | 77dc8157d0 | ||
|  | 8426da0de6 | ||
|  | 66484d799e | ||
|  | dcf533cc3c | ||
|  | 67708d07f2 | ||
|  | d1d4f7a3ef | ||
|  | 46e8152b6d | ||
|  | 1f4f8f4af7 | ||
|  | f24f885eeb | ||
|  | a3c55f1d26 | ||
|  | f6c9a96a12 | ||
|  | 4b33c17533 | ||
|  | 0677d0d9de | ||
|  | 64d86a7397 | ||
|  | 87e33b1692 | ||
|  | 4315f3b724 | ||
|  | bb28b85bdd | ||
|  | 90863b8c5d | ||
|  | c3f5e6463c | ||
|  | b220672c42 | ||
|  | acb0922500 | ||
|  | b44919e3c5 | ||
|  | a1f47abaf6 | ||
|  | ff8aa46e5e | ||
|  | d4ec164297 | ||
|  | e312a35ef3 | ||
|  | 3018e1866b | ||
|  | 7a59914f97 | ||
|  | 4fb6e1ba29 | ||
|  | e030236c36 | ||
|  | a98c6b1f52 | ||
|  | 5b136976e9 | ||
|  | 56bbee8efb | ||
|  | cd6ff760dd | ||
|  | 5caccda56c | ||
|  | 3b499d3d11 | ||
|  | cca0bcc8e0 | ||
|  | 39ccd85d77 | ||
|  | 0ac37cefa1 | ||
|  | 36668efc2f | ||
|  | a5a5e7ff08 | ||
|  | 57b9cf9ddd | ||
|  | 57fb011377 | ||
|  | 9e644b7538 | ||
|  | ac86b61139 | ||
|  | c3f2c2e91c | ||
|  | de1bd286f8 | ||
|  | 98de8e79db | ||
|  | d34d3d1b3b | ||
|  | d7e1312e9d | ||
|  | a2f430c6f3 | ||
|  | 128fbfb2d6 | ||
|  | 6006f77bd9 | ||
|  | 232f6bc427 | ||
|  | 50ca6928c3 | ||
|  | 1c7391b70a | ||
|  | 0cd8169125 | ||
|  | 6e457d6bb1 | ||
|  | 8b4b6ac2ed | ||
|  | 3750c59aaa | ||
|  | 7b3d7b8575 | ||
|  | e5d0cfe639 | ||
|  | f02e7b54b3 | ||
|  | accf1f1613 | ||
|  | a724e90d52 | ||
|  | 4ddff77339 | ||
|  | 54a015f785 | ||
|  | f052e282dd | ||
|  | 2fe9f7bd31 | ||
|  | cafa5954dc | ||
|  | d8bc3d8372 | ||
|  | 4c5ccce85f | ||
|  | 552a3bf353 | ||
|  | c04652d193 | ||
|  | 56557833d9 | ||
|  | 6a9a51222e | ||
|  | 14c030174e | ||
|  | 8d51acb9be | ||
|  | d5e141648b | ||
|  | 4c795f5188 | ||
|  | 7fe13d87c6 | ||
|  | 7dcabf547b | ||
|  | 69178d519e | ||
|  | 493bec52c9 | ||
|  | b14167ad04 | ||
|  | 85d041c0e2 | ||
|  | be2160e6c3 | ||
|  | 232a68480e | ||
|  | facee1f750 | ||
|  | 7e783d6a37 | ||
|  | 059ed41926 | ||
|  | 7840b4f406 | ||
|  | 4a6e9b636e | ||
|  | 89a1f2b372 | ||
|  | bfdc2655ad | ||
|  | 51136f6541 | ||
|  | 9f7bdcf7d5 | ||
|  | 486e69e23b | ||
|  | c506c8c5c0 | ||
|  | 4787b45db2 | ||
|  | 2733a561e4 | ||
|  | 9334a09176 | ||
|  | 8b4980b4ca | ||
|  | c80264ab11 | ||
|  | 607a1d9f49 | ||
|  | 3006329678 | ||
|  | f372e90025 | ||
|  | 6bcbefa5fc | ||
|  | b0edce9c9d | ||
|  | c95b92f1e8 | ||
|  | c1269e105d | ||
|  | 3f48f8ec54 | ||
|  | d8a602ed2f | ||
|  | a028976ac4 | ||
|  | 22d2fc50d1 | ||
|  | 05cddc2490 | ||
|  | ed5208366c | ||
|  | dddfce456c | ||
|  | 64e6971099 | ||
|  | 7f6c18af09 | ||
|  | 9cff99dc4e | ||
|  | 5b12134a45 | ||
|  | 76eb49196e | ||
|  | b153ba46db | ||
|  | 7b94ec0c8b | ||
|  | f229796a39 | ||
|  | 6da2bbf229 | ||
|  | 85c945bc00 | ||
|  | 0c24e90b44 | ||
|  | 1aea3a06a5 | ||
|  | 796c7b6c59 | ||
|  | 700123d3eb | ||
|  | b216f427f6 | ||
|  | c080187908 | ||
|  | 75acd20e9a | ||
|  | 8e69e3dcea | ||
|  | cb0dfccddc | ||
|  | 2773518869 | ||
|  | 70a01250e1 | ||
|  | dce5d5c28f | ||
|  | 5918d426b3 | ||
|  | 943ffb217b | ||
|  | 09f021be88 | 
							
								
								
									
										7
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -35,6 +35,7 @@ | |||||||
| .metadata | .metadata | ||||||
| .project | .project | ||||||
| .pydevproject | .pydevproject | ||||||
|  | .vscode | ||||||
| # Settings directory for eclipse | # Settings directory for eclipse | ||||||
| /.settings | /.settings | ||||||
| .checkstyle | .checkstyle | ||||||
| @@ -42,8 +43,14 @@ cscope.* | |||||||
| Session.vim | Session.vim | ||||||
| tags | tags | ||||||
| Thumbs.db | Thumbs.db | ||||||
|  | # IDE's | ||||||
|  | .vs/ | ||||||
|  | .kdev4/ | ||||||
|  | *.kdev4 | ||||||
| # CEF generated directories | # CEF generated directories | ||||||
| /binary_distrib | /binary_distrib | ||||||
| /docs | /docs | ||||||
| # CEF generated files | # CEF generated files | ||||||
|  | /include/cef_config.h | ||||||
| /include/cef_version.h | /include/cef_version.h | ||||||
|  | .ccls-cache/ | ||||||
|   | |||||||
| @@ -1,6 +1,8 @@ | |||||||
| # This file is an addendum to the Chromium AUTHORS file. | # This file is an addendum to the Chromium AUTHORS file. It lists authors | ||||||
| # Names should be added to this file like so: | # through March 16, 2015 when Git was introduced for source code management. | ||||||
| # Name or Organization <email address> | # A list of additional authors added after that date can be found by executing | ||||||
|  | # this command on a local Git checkout: | ||||||
|  | # git log --all --format="%aN <%aE>" | sort -u | ||||||
|  |  | ||||||
| Marshall Greenblatt <magreenblatt@gmail.com> | Marshall Greenblatt <magreenblatt@gmail.com> | ||||||
| Jamie Kirkpatrick <jkp@spotify.com> | Jamie Kirkpatrick <jkp@spotify.com> | ||||||
|   | |||||||
| @@ -7,5 +7,6 @@ | |||||||
| # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding | # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding | ||||||
|  |  | ||||||
| { | { | ||||||
|   'chromium_checkout': 'd483fb7716e28b377c70c26c1bf1e3695aa1d8c9', |   'chromium_checkout': 'refs/tags/92.0.4515.159', | ||||||
|  |   'depot_tools_checkout': '58542b7fef' | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										66
									
								
								CHROMIUM_UPDATE.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								CHROMIUM_UPDATE.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | |||||||
|  | # The Chromium Embedded Framework (CEF) project is built on top of the Chromium | ||||||
|  | # project source tree. When updating Chromium to a new version certain files and | ||||||
|  | # patterns should be observed for changes. If changes are detected then the CEF | ||||||
|  | # source code or patch files will likely need to be updated. | ||||||
|  | # | ||||||
|  | # Add `--log-chromium-changes` to the automate-git.py command-line to output | ||||||
|  | # the following files in the <download-dir>: | ||||||
|  | # | ||||||
|  | # * chromium_update_changes.diff | ||||||
|  | #   Files in the chromium/src directory that have changed. See the 'files' | ||||||
|  | #   section below. | ||||||
|  | # | ||||||
|  | # * chromium_update_patterns.txt | ||||||
|  | #   Files in the chromium/src directory that contain invalid/unexpected | ||||||
|  | #   patterns. See the 'patterns' section below. Failure of this step is | ||||||
|  | #   considered a fatal error during update. | ||||||
|  | # | ||||||
|  | # * chromium_update_patches.txt | ||||||
|  | #   Output from attempting to update existing Chromium patch files using the | ||||||
|  | #   patch_updater.py tool. Failure of this step is considered a fatal error | ||||||
|  | #   during update. | ||||||
|  | # | ||||||
|  | # For complete update instructions see: | ||||||
|  | # https://bitbucket.org/chromiumembedded/cef/wiki/ChromiumUpdate.md | ||||||
|  |  | ||||||
|  | { | ||||||
|  |   # Files in the chromium/src directory that should be evaluated for changes. | ||||||
|  |   # Similar changes may need to be applied to the CEF source code. | ||||||
|  |   'files': [ | ||||||
|  |     'chrome/browser/browser_process.h', | ||||||
|  |     'chrome/browser/extensions/api/tabs/tabs_api.*', | ||||||
|  |     'chrome/browser/extensions/chrome_component_extension_resource_manager.*', | ||||||
|  |     'chrome/browser/extensions/chrome_extension_web_contents_observer.*', | ||||||
|  |     'chrome/browser/extensions/component_loader.*', | ||||||
|  |     'chrome/browser/extensions/extension_service.*', | ||||||
|  |     'chrome/browser/printing/print_view_manager*', | ||||||
|  |     'chrome/browser/printing/printing_message_filter*', | ||||||
|  |     'chrome/browser/profiles/profile.h', | ||||||
|  |     'chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.*', | ||||||
|  |     'chrome/common/extensions/api/*_features.json', | ||||||
|  |     'chrome/renderer/chrome_content_renderer_client.*', | ||||||
|  |     'chrome/renderer/extensions/chrome_extensions_renderer_client.*', | ||||||
|  |     'content/browser/renderer_host/render_widget_host_view_base.*', | ||||||
|  |     'content/public/browser/content_browser_client.*', | ||||||
|  |     'content/public/browser/render_widget_host_view.h', | ||||||
|  |     'content/public/browser/storage_partition.h', | ||||||
|  |     'content/public/browser/web_contents_delegate.h', | ||||||
|  |     'content/public/common/content_features.cc', | ||||||
|  |     'content/shell/BUILD.gn', | ||||||
|  |     'content/shell/app/*', | ||||||
|  |     'content/shell/browser/shell_*', | ||||||
|  |     'content/shell/browser/renderer_host/shell_*', | ||||||
|  |     'content/shell/common/shell_*', | ||||||
|  |     'content/shell/gpu/shell_*', | ||||||
|  |     'content/shell/renderer/shell_*', | ||||||
|  |     'content/shell/utility/shell_*', | ||||||
|  |     'extensions/shell/*', | ||||||
|  |     'net/base/features.cc', | ||||||
|  |     'net/cookies/cookie_store.h', | ||||||
|  |     'services/network/public/cpp/features.cc', | ||||||
|  |     'ui/base/ui_base_features.cc', | ||||||
|  |   ], | ||||||
|  |   # Patterns that should not be found in the chromium/src directory after | ||||||
|  |   # applying patch files. | ||||||
|  |   'patterns': [], | ||||||
|  | } | ||||||
| @@ -12,8 +12,8 @@ | |||||||
| # distribution include: | # distribution include: | ||||||
| # | # | ||||||
| # Linux:      Ninja, Unix Makefiles | # Linux:      Ninja, Unix Makefiles | ||||||
| # Mac OS X:   Ninja, Xcode 5+ | # MacOS:      Ninja, Xcode 8+ (x86_64) or Xcode 12.2+ (ARM64) | ||||||
| # Windows:    Ninja, Visual Studio 2010+ | # Windows:    Ninja, Visual Studio 2015+ | ||||||
| # | # | ||||||
| # Ninja is a cross-platform open-source tool for running fast builds using | # Ninja is a cross-platform open-source tool for running fast builds using | ||||||
| # pre-installed platform toolchains (GNU, clang, Xcode or MSVC). It can be | # pre-installed platform toolchains (GNU, clang, Xcode or MSVC). It can be | ||||||
| @@ -40,21 +40,21 @@ | |||||||
| # | # | ||||||
| # - Linux requirements: | # - Linux requirements: | ||||||
| #   Currently supported distributions include Debian Wheezy, Ubuntu Precise, and | #   Currently supported distributions include Debian Wheezy, Ubuntu Precise, and | ||||||
| #   related. Ubuntu 14.04 64-bit is recommended. Newer versions will likely also | #   related. Ubuntu 18.04 64-bit is recommended. Newer versions will likely also | ||||||
| #   work but may not have been tested. | #   work but may not have been tested. | ||||||
| #   Required packages include: | #   Required packages include: | ||||||
| #     build-essential | #     build-essential | ||||||
| #     libgtk2.0-dev     (required by the cefclient target only) | #     libgtk3.0-dev     (required by the cefclient target only) | ||||||
| #     libgtkglext1-dev  (required by the cefclient target only) |  | ||||||
| # | # | ||||||
| # - Mac OS X requirements: | # - MacOS requirements: | ||||||
| #   Xcode 5 or newer building on Mac OS X 10.9 (Mavericks) or newer. Xcode 8.3 | #   Xcode 8 or newer building on MacOS 10.11 (El Capitan) or newer for x86_64. | ||||||
| #   and OS X 10.12 are recommended. The Xcode command-line tools must also be | #   Xcode 12.2 or newer building on MacOS 10.15.4 (Catalina) or newer for ARM64. | ||||||
| #   installed. Only 64-bit builds are supported on OS X. | #   Only 64-bit builds are supported. The Xcode command-line tools must also be | ||||||
|  | #   installed. | ||||||
| # | # | ||||||
| # - Windows requirements: | # - Windows requirements: | ||||||
| #   Visual Studio 2010 or newer building on Windows 7 or newer. Visual Studio | #   Visual Studio 2015 Update 2 or newer building on Windows 7 or newer. Visual | ||||||
| #   2015 Update 3 and Windows 10 64-bit are recommended. | #   Studio 2019 and Windows 10 64-bit are recommended. | ||||||
| # | # | ||||||
| # BUILD EXAMPLES | # BUILD EXAMPLES | ||||||
| # | # | ||||||
| @@ -75,7 +75,7 @@ | |||||||
| #     > cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug .. | #     > cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug .. | ||||||
| #     > ninja cefclient cefsimple | #     > ninja cefclient cefsimple | ||||||
| # | # | ||||||
| # To perform a Mac OS X build using a 64-bit CEF binary distribution: | # To perform a MacOS build using a 64-bit CEF binary distribution: | ||||||
| #   Using the Xcode IDE: | #   Using the Xcode IDE: | ||||||
| #     > cmake -G "Xcode" -DPROJECT_ARCH="x86_64" .. | #     > cmake -G "Xcode" -DPROJECT_ARCH="x86_64" .. | ||||||
| #     Open build\cef.xcodeproj in Xcode and select Product > Build. | #     Open build\cef.xcodeproj in Xcode and select Product > Build. | ||||||
| @@ -84,27 +84,47 @@ | |||||||
| #     > cmake -G "Ninja" -DPROJECT_ARCH="x86_64" -DCMAKE_BUILD_TYPE=Debug .. | #     > cmake -G "Ninja" -DPROJECT_ARCH="x86_64" -DCMAKE_BUILD_TYPE=Debug .. | ||||||
| #     > ninja cefclient cefsimple | #     > ninja cefclient cefsimple | ||||||
| # | # | ||||||
|  | # To perform a MacOS build using an ARM64 CEF binary distribution: | ||||||
|  | #   Using the Xcode IDE: | ||||||
|  | #     > cmake -G "Xcode" -DPROJECT_ARCH="arm64" .. | ||||||
|  | #     Open build\cef.xcodeproj in Xcode and select Product > Build. | ||||||
|  | # | ||||||
|  | #   Using Ninja: | ||||||
|  | #     > cmake -G "Ninja" -DPROJECT_ARCH="arm64" -DCMAKE_BUILD_TYPE=Debug .. | ||||||
|  | #     > ninja cefclient cefsimple | ||||||
|  | # | ||||||
| # To perform a Windows build using a 32-bit CEF binary distribution: | # To perform a Windows build using a 32-bit CEF binary distribution: | ||||||
| #   Using the Visual Studio 2015 IDE: | #   Using the Visual Studio 2019 IDE: | ||||||
| #     > cmake -G "Visual Studio 14" .. | #     > cmake -G "Visual Studio 16" -A Win32 .. | ||||||
| #     Open build\cef.sln in Visual Studio and select Build > Build Solution. | #     Open build\cef.sln in Visual Studio and select Build > Build Solution. | ||||||
| # | # | ||||||
| #   Using Ninja with Visual Studio 2015 command-line tools: | #   Using Ninja with Visual Studio 2019 command-line tools: | ||||||
| #     (this path may be different depending on your Visual Studio installation) | #     (this path may be different depending on your Visual Studio installation) | ||||||
| #     > "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat" | #     > "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars32.bat" | ||||||
| #     > cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug .. | #     > cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug .. | ||||||
| #     > ninja cefclient cefsimple | #     > ninja cefclient cefsimple | ||||||
| # | # | ||||||
| # To perform a Windows build using a 64-bit CEF binary distribution: | # To perform a Windows build using a 64-bit CEF binary distribution: | ||||||
| #   Using the Visual Studio 2015 IDE: | #   Using the Visual Studio 2019 IDE: | ||||||
| #     > cmake -G "Visual Studio 14 Win64" .. | #     > cmake -G "Visual Studio 16" -A x64 .. | ||||||
| #     Open build\cef.sln in Visual Studio and select Build > Build Solution. | #     Open build\cef.sln in Visual Studio and select Build > Build Solution. | ||||||
| # | # | ||||||
| #   Using Ninja with Visual Studio 2015 command-line tools: | #   Using Ninja with Visual Studio 2019 command-line tools: | ||||||
| #     (this path may be different depending on your Visual Studio installation) | #     (this path may be different depending on your Visual Studio installation) | ||||||
| #     > "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat" | #     > "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars64.bat" | ||||||
| #     > cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug .. | #     > cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug .. | ||||||
| #     > ninja cefclient cefsimple | #     > ninja cefclient cefsimple | ||||||
|  | # | ||||||
|  | # To perform a Windows build using an ARM64 CEF binary distribution: | ||||||
|  | #   Using the Visual Studio 2019 IDE: | ||||||
|  | #     > cmake -G "Visual Studio 16" -A arm64 .. | ||||||
|  | #     Open build\cef.sln in Visual Studio and select Build > Build Solution. | ||||||
|  | # | ||||||
|  | #   Using Ninja with Visual Studio 2019 command-line tools: | ||||||
|  | #     (this path may be different depending on your Visual Studio installation) | ||||||
|  | #     > "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsamd64_arm64.bat" | ||||||
|  | #     > cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug .. | ||||||
|  | #     > ninja cefsimple | ||||||
|  |  | ||||||
| # | # | ||||||
| # Global setup. | # Global setup. | ||||||
| @@ -199,10 +219,15 @@ add_subdirectory(${CEF_LIBCEF_DLL_WRAPPER_PATH} libcef_dll_wrapper) | |||||||
| # Include application targets. | # Include application targets. | ||||||
| # Comes from the <target>/CMakeLists.txt file in the current directory. | # Comes from the <target>/CMakeLists.txt file in the current directory. | ||||||
| # TODO: Change these lines to match your project target when you copy this file. | # TODO: Change these lines to match your project target when you copy this file. | ||||||
| add_subdirectory(tests/cefclient) | if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/tests") | ||||||
| add_subdirectory(tests/cefsimple) |   add_subdirectory(tests/cefsimple) | ||||||
| add_subdirectory(tests/gtest) |   add_subdirectory(tests/gtest) | ||||||
| add_subdirectory(tests/ceftests) |   add_subdirectory(tests/ceftests) | ||||||
|  | endif() | ||||||
|  |  | ||||||
|  | if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/tests/cefclient") | ||||||
|  |   add_subdirectory(tests/cefclient) | ||||||
|  | endif() | ||||||
|  |  | ||||||
| # Display configuration settings. | # Display configuration settings. | ||||||
| PRINT_CEF_CONFIG() | PRINT_CEF_CONFIG() | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2008-2014 Marshall A. Greenblatt. Portions Copyright (c) | // Copyright (c) 2008-2020 Marshall A. Greenblatt. Portions Copyright (c) | ||||||
| // 2006-2009 Google Inc. All rights reserved. | // 2006-2009 Google Inc. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
|   | |||||||
| @@ -7,10 +7,11 @@ The Chromium Embedded Framework (CEF) is a simple framework for embedding Chromi | |||||||
| * General Usage - https://bitbucket.org/chromiumembedded/cef/wiki/GeneralUsage | * General Usage - https://bitbucket.org/chromiumembedded/cef/wiki/GeneralUsage | ||||||
| * Master Build Quick-Start - https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart | * Master Build Quick-Start - https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart | ||||||
| * Branches and Building - https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding | * Branches and Building - https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding | ||||||
|  | * Announcements - https://groups.google.com/forum/#!forum/cef-announce | ||||||
| * Support Forum - http://www.magpcss.org/ceforum/ | * Support Forum - http://www.magpcss.org/ceforum/ | ||||||
| * CEF1 C++ API Docs - http://magpcss.org/ceforum/apidocs/ | * CEF1 C++ API Docs - http://magpcss.org/ceforum/apidocs/ | ||||||
| * CEF3 C++ API Docs - http://magpcss.org/ceforum/apidocs3/ | * CEF3 C++ API Docs - http://magpcss.org/ceforum/apidocs3/ | ||||||
| * Downloads - http://opensource.spotify.com/cefbuilds/index.html | * Downloads - https://cef-builds.spotifycdn.com/index.html | ||||||
| * Donations - http://www.magpcss.org/ceforum/donate.php | * Donations - http://www.magpcss.org/ceforum/donate.php | ||||||
|  |  | ||||||
| # Introduction | # Introduction | ||||||
| @@ -32,7 +33,7 @@ Users new to CEF development should start by reading the [Tutorial](https://bitb | |||||||
|  |  | ||||||
| # Binary Distributions | # Binary Distributions | ||||||
|  |  | ||||||
| Binary distributions, which include all files necessary to build a CEF-based application, are available on the [Downloads](http://opensource.spotify.com/cefbuilds/index.html) page. Binary distributions are stand-alone and do not require the download of CEF or Chromium source code. Symbol files for debugging binary distributions of libcef can also be downloaded from the above links. | Binary distributions, which include all files necessary to build a CEF-based application, are available on the [Downloads](https://cef-builds.spotifycdn.com/index.html) page. Binary distributions are stand-alone and do not require the download of CEF or Chromium source code. Symbol files for debugging binary distributions of libcef can also be downloaded from the above links. | ||||||
|  |  | ||||||
| # Source Distributions | # Source Distributions | ||||||
|  |  | ||||||
| @@ -42,13 +43,14 @@ The CEF project is an extension of the Chromium project. CEF maintains developme | |||||||
|  |  | ||||||
| The base CEF framework includes support for the C and C++ programming languages. Thanks to the hard work of external maintainers CEF can integrate with a number of other programming languages and frameworks. These external projects are not maintained by CEF so please contact the respective project maintainer if you have any questions or issues. | The base CEF framework includes support for the C and C++ programming languages. Thanks to the hard work of external maintainers CEF can integrate with a number of other programming languages and frameworks. These external projects are not maintained by CEF so please contact the respective project maintainer if you have any questions or issues. | ||||||
|  |  | ||||||
| * .Net - https://github.com/chillitom/CefSharp | * .Net (CEF3) - https://github.com/cefsharp/CefSharp | ||||||
| * .Net (CEF1) - https://bitbucket.org/fddima/cefglue | * .Net (CEF1) - https://bitbucket.org/fddima/cefglue | ||||||
| * .Net/Mono (CEF3) - https://bitbucket.org/xilium/xilium.cefglue | * .Net/Mono (CEF3) - https://bitbucket.org/xilium/xilium.cefglue | ||||||
| * .Net (CEF3) - https://bitbucket.org/chromiumfx/chromiumfx | * .Net (CEF3) - https://bitbucket.org/chromiumfx/chromiumfx | ||||||
| * Delphi (CEF1) - http://code.google.com/p/delphichromiumembedded/ | * Delphi (CEF1) - http://code.google.com/p/delphichromiumembedded/ | ||||||
| * Delphi (CEF3) - https://github.com/hgourvest/dcef3 | * Delphi (CEF3) - https://github.com/hgourvest/dcef3 | ||||||
| * Delphi (CEF3) - https://github.com/salvadordf/CEF4Delphi | * Delphi (CEF3) - https://github.com/salvadordf/CEF4Delphi | ||||||
|  | * Go - https://github.com/richardwilkes/cef | ||||||
| * Go - https://github.com/CzarekTomczak/cef2go | * Go - https://github.com/CzarekTomczak/cef2go | ||||||
| * Java - https://bitbucket.org/chromiumembedded/java-cef | * Java - https://bitbucket.org/chromiumembedded/java-cef | ||||||
| * Java - http://code.google.com/p/javacef/ | * Java - http://code.google.com/p/javacef/ | ||||||
|   | |||||||
							
								
								
									
										128
									
								
								cef_paths.gypi
									
									
									
									
									
								
							
							
						
						
									
										128
									
								
								cef_paths.gypi
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| # Copyright (c) 2017 The Chromium Embedded Framework Authors. All rights | # Copyright (c) 2021 The Chromium Embedded Framework Authors. All rights | ||||||
| # reserved. Use of this source code is governed by a BSD-style license that | # reserved. Use of this source code is governed by a BSD-style license that | ||||||
| # can be found in the LICENSE file. | # can be found in the LICENSE file. | ||||||
| # | # | ||||||
| @@ -8,7 +8,7 @@ | |||||||
| # by hand. See the translator.README.txt file in the tools directory for | # by hand. See the translator.README.txt file in the tools directory for | ||||||
| # more information. | # more information. | ||||||
| # | # | ||||||
| # $hash=20588ad142633d169a929c7631888e287ab66b9a$ | # $hash=d723a9f6637cec523b158a6750d3a64698b407c3$ | ||||||
| # | # | ||||||
|  |  | ||||||
| { | { | ||||||
| @@ -16,6 +16,7 @@ | |||||||
|     'autogen_cpp_includes': [ |     'autogen_cpp_includes': [ | ||||||
|       'include/cef_accessibility_handler.h', |       'include/cef_accessibility_handler.h', | ||||||
|       'include/cef_app.h', |       'include/cef_app.h', | ||||||
|  |       'include/cef_audio_handler.h', | ||||||
|       'include/cef_auth_callback.h', |       'include/cef_auth_callback.h', | ||||||
|       'include/cef_browser.h', |       'include/cef_browser.h', | ||||||
|       'include/cef_browser_process_handler.h', |       'include/cef_browser_process_handler.h', | ||||||
| @@ -25,6 +26,7 @@ | |||||||
|       'include/cef_context_menu_handler.h', |       'include/cef_context_menu_handler.h', | ||||||
|       'include/cef_cookie.h', |       'include/cef_cookie.h', | ||||||
|       'include/cef_crash_util.h', |       'include/cef_crash_util.h', | ||||||
|  |       'include/cef_devtools_message_observer.h', | ||||||
|       'include/cef_dialog_handler.h', |       'include/cef_dialog_handler.h', | ||||||
|       'include/cef_display_handler.h', |       'include/cef_display_handler.h', | ||||||
|       'include/cef_dom.h', |       'include/cef_dom.h', | ||||||
| @@ -32,17 +34,19 @@ | |||||||
|       'include/cef_download_item.h', |       'include/cef_download_item.h', | ||||||
|       'include/cef_drag_data.h', |       'include/cef_drag_data.h', | ||||||
|       'include/cef_drag_handler.h', |       'include/cef_drag_handler.h', | ||||||
|  |       'include/cef_extension.h', | ||||||
|  |       'include/cef_extension_handler.h', | ||||||
|       'include/cef_file_util.h', |       'include/cef_file_util.h', | ||||||
|       'include/cef_find_handler.h', |       'include/cef_find_handler.h', | ||||||
|       'include/cef_focus_handler.h', |       'include/cef_focus_handler.h', | ||||||
|       'include/cef_frame.h', |       'include/cef_frame.h', | ||||||
|       'include/cef_geolocation.h', |       'include/cef_frame_handler.h', | ||||||
|       'include/cef_geolocation_handler.h', |  | ||||||
|       'include/cef_image.h', |       'include/cef_image.h', | ||||||
|       'include/cef_jsdialog_handler.h', |       'include/cef_jsdialog_handler.h', | ||||||
|       'include/cef_keyboard_handler.h', |       'include/cef_keyboard_handler.h', | ||||||
|       'include/cef_life_span_handler.h', |       'include/cef_life_span_handler.h', | ||||||
|       'include/cef_load_handler.h', |       'include/cef_load_handler.h', | ||||||
|  |       'include/cef_media_router.h', | ||||||
|       'include/cef_menu_model.h', |       'include/cef_menu_model.h', | ||||||
|       'include/cef_menu_model_delegate.h', |       'include/cef_menu_model_delegate.h', | ||||||
|       'include/cef_navigation_entry.h', |       'include/cef_navigation_entry.h', | ||||||
| @@ -53,18 +57,22 @@ | |||||||
|       'include/cef_print_settings.h', |       'include/cef_print_settings.h', | ||||||
|       'include/cef_process_message.h', |       'include/cef_process_message.h', | ||||||
|       'include/cef_process_util.h', |       'include/cef_process_util.h', | ||||||
|  |       'include/cef_registration.h', | ||||||
|       'include/cef_render_handler.h', |       'include/cef_render_handler.h', | ||||||
|       'include/cef_render_process_handler.h', |       'include/cef_render_process_handler.h', | ||||||
|       'include/cef_request.h', |       'include/cef_request.h', | ||||||
|  |       'include/cef_request_callback.h', | ||||||
|       'include/cef_request_context.h', |       'include/cef_request_context.h', | ||||||
|       'include/cef_request_context_handler.h', |       'include/cef_request_context_handler.h', | ||||||
|       'include/cef_request_handler.h', |       'include/cef_request_handler.h', | ||||||
|       'include/cef_resource_bundle.h', |       'include/cef_resource_bundle.h', | ||||||
|       'include/cef_resource_bundle_handler.h', |       'include/cef_resource_bundle_handler.h', | ||||||
|       'include/cef_resource_handler.h', |       'include/cef_resource_handler.h', | ||||||
|  |       'include/cef_resource_request_handler.h', | ||||||
|       'include/cef_response.h', |       'include/cef_response.h', | ||||||
|       'include/cef_response_filter.h', |       'include/cef_response_filter.h', | ||||||
|       'include/cef_scheme.h', |       'include/cef_scheme.h', | ||||||
|  |       'include/cef_server.h', | ||||||
|       'include/cef_ssl_info.h', |       'include/cef_ssl_info.h', | ||||||
|       'include/cef_ssl_status.h', |       'include/cef_ssl_status.h', | ||||||
|       'include/cef_stream.h', |       'include/cef_stream.h', | ||||||
| @@ -106,6 +114,7 @@ | |||||||
|     'autogen_capi_includes': [ |     'autogen_capi_includes': [ | ||||||
|       'include/capi/cef_accessibility_handler_capi.h', |       'include/capi/cef_accessibility_handler_capi.h', | ||||||
|       'include/capi/cef_app_capi.h', |       'include/capi/cef_app_capi.h', | ||||||
|  |       'include/capi/cef_audio_handler_capi.h', | ||||||
|       'include/capi/cef_auth_callback_capi.h', |       'include/capi/cef_auth_callback_capi.h', | ||||||
|       'include/capi/cef_browser_capi.h', |       'include/capi/cef_browser_capi.h', | ||||||
|       'include/capi/cef_browser_process_handler_capi.h', |       'include/capi/cef_browser_process_handler_capi.h', | ||||||
| @@ -115,6 +124,7 @@ | |||||||
|       'include/capi/cef_context_menu_handler_capi.h', |       'include/capi/cef_context_menu_handler_capi.h', | ||||||
|       'include/capi/cef_cookie_capi.h', |       'include/capi/cef_cookie_capi.h', | ||||||
|       'include/capi/cef_crash_util_capi.h', |       'include/capi/cef_crash_util_capi.h', | ||||||
|  |       'include/capi/cef_devtools_message_observer_capi.h', | ||||||
|       'include/capi/cef_dialog_handler_capi.h', |       'include/capi/cef_dialog_handler_capi.h', | ||||||
|       'include/capi/cef_display_handler_capi.h', |       'include/capi/cef_display_handler_capi.h', | ||||||
|       'include/capi/cef_dom_capi.h', |       'include/capi/cef_dom_capi.h', | ||||||
| @@ -122,17 +132,19 @@ | |||||||
|       'include/capi/cef_download_item_capi.h', |       'include/capi/cef_download_item_capi.h', | ||||||
|       'include/capi/cef_drag_data_capi.h', |       'include/capi/cef_drag_data_capi.h', | ||||||
|       'include/capi/cef_drag_handler_capi.h', |       'include/capi/cef_drag_handler_capi.h', | ||||||
|  |       'include/capi/cef_extension_capi.h', | ||||||
|  |       'include/capi/cef_extension_handler_capi.h', | ||||||
|       'include/capi/cef_file_util_capi.h', |       'include/capi/cef_file_util_capi.h', | ||||||
|       'include/capi/cef_find_handler_capi.h', |       'include/capi/cef_find_handler_capi.h', | ||||||
|       'include/capi/cef_focus_handler_capi.h', |       'include/capi/cef_focus_handler_capi.h', | ||||||
|       'include/capi/cef_frame_capi.h', |       'include/capi/cef_frame_capi.h', | ||||||
|       'include/capi/cef_geolocation_capi.h', |       'include/capi/cef_frame_handler_capi.h', | ||||||
|       'include/capi/cef_geolocation_handler_capi.h', |  | ||||||
|       'include/capi/cef_image_capi.h', |       'include/capi/cef_image_capi.h', | ||||||
|       'include/capi/cef_jsdialog_handler_capi.h', |       'include/capi/cef_jsdialog_handler_capi.h', | ||||||
|       'include/capi/cef_keyboard_handler_capi.h', |       'include/capi/cef_keyboard_handler_capi.h', | ||||||
|       'include/capi/cef_life_span_handler_capi.h', |       'include/capi/cef_life_span_handler_capi.h', | ||||||
|       'include/capi/cef_load_handler_capi.h', |       'include/capi/cef_load_handler_capi.h', | ||||||
|  |       'include/capi/cef_media_router_capi.h', | ||||||
|       'include/capi/cef_menu_model_capi.h', |       'include/capi/cef_menu_model_capi.h', | ||||||
|       'include/capi/cef_menu_model_delegate_capi.h', |       'include/capi/cef_menu_model_delegate_capi.h', | ||||||
|       'include/capi/cef_navigation_entry_capi.h', |       'include/capi/cef_navigation_entry_capi.h', | ||||||
| @@ -143,18 +155,22 @@ | |||||||
|       'include/capi/cef_print_settings_capi.h', |       'include/capi/cef_print_settings_capi.h', | ||||||
|       'include/capi/cef_process_message_capi.h', |       'include/capi/cef_process_message_capi.h', | ||||||
|       'include/capi/cef_process_util_capi.h', |       'include/capi/cef_process_util_capi.h', | ||||||
|  |       'include/capi/cef_registration_capi.h', | ||||||
|       'include/capi/cef_render_handler_capi.h', |       'include/capi/cef_render_handler_capi.h', | ||||||
|       'include/capi/cef_render_process_handler_capi.h', |       'include/capi/cef_render_process_handler_capi.h', | ||||||
|       'include/capi/cef_request_capi.h', |       'include/capi/cef_request_capi.h', | ||||||
|  |       'include/capi/cef_request_callback_capi.h', | ||||||
|       'include/capi/cef_request_context_capi.h', |       'include/capi/cef_request_context_capi.h', | ||||||
|       'include/capi/cef_request_context_handler_capi.h', |       'include/capi/cef_request_context_handler_capi.h', | ||||||
|       'include/capi/cef_request_handler_capi.h', |       'include/capi/cef_request_handler_capi.h', | ||||||
|       'include/capi/cef_resource_bundle_capi.h', |       'include/capi/cef_resource_bundle_capi.h', | ||||||
|       'include/capi/cef_resource_bundle_handler_capi.h', |       'include/capi/cef_resource_bundle_handler_capi.h', | ||||||
|       'include/capi/cef_resource_handler_capi.h', |       'include/capi/cef_resource_handler_capi.h', | ||||||
|  |       'include/capi/cef_resource_request_handler_capi.h', | ||||||
|       'include/capi/cef_response_capi.h', |       'include/capi/cef_response_capi.h', | ||||||
|       'include/capi/cef_response_filter_capi.h', |       'include/capi/cef_response_filter_capi.h', | ||||||
|       'include/capi/cef_scheme_capi.h', |       'include/capi/cef_scheme_capi.h', | ||||||
|  |       'include/capi/cef_server_capi.h', | ||||||
|       'include/capi/cef_ssl_info_capi.h', |       'include/capi/cef_ssl_info_capi.h', | ||||||
|       'include/capi/cef_ssl_status_capi.h', |       'include/capi/cef_ssl_status_capi.h', | ||||||
|       'include/capi/cef_stream_capi.h', |       'include/capi/cef_stream_capi.h', | ||||||
| @@ -198,6 +214,8 @@ | |||||||
|       'libcef_dll/ctocpp/accessibility_handler_ctocpp.h', |       'libcef_dll/ctocpp/accessibility_handler_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/app_ctocpp.cc', |       'libcef_dll/ctocpp/app_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/app_ctocpp.h', |       'libcef_dll/ctocpp/app_ctocpp.h', | ||||||
|  |       'libcef_dll/ctocpp/audio_handler_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/audio_handler_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/auth_callback_cpptoc.cc', |       'libcef_dll/cpptoc/auth_callback_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/auth_callback_cpptoc.h', |       'libcef_dll/cpptoc/auth_callback_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/before_download_callback_cpptoc.cc', |       'libcef_dll/cpptoc/before_download_callback_cpptoc.cc', | ||||||
| @@ -232,6 +250,8 @@ | |||||||
|       'libcef_dll/ctocpp/context_menu_handler_ctocpp.h', |       'libcef_dll/ctocpp/context_menu_handler_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/context_menu_params_cpptoc.cc', |       'libcef_dll/cpptoc/context_menu_params_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/context_menu_params_cpptoc.h', |       'libcef_dll/cpptoc/context_menu_params_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/cookie_access_filter_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/cookie_access_filter_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/cookie_manager_cpptoc.cc', |       'libcef_dll/cpptoc/cookie_manager_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/cookie_manager_cpptoc.h', |       'libcef_dll/cpptoc/cookie_manager_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/cookie_visitor_ctocpp.cc', |       'libcef_dll/ctocpp/cookie_visitor_ctocpp.cc', | ||||||
| @@ -244,6 +264,8 @@ | |||||||
|       'libcef_dll/ctocpp/domvisitor_ctocpp.h', |       'libcef_dll/ctocpp/domvisitor_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/delete_cookies_callback_ctocpp.cc', |       'libcef_dll/ctocpp/delete_cookies_callback_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/delete_cookies_callback_ctocpp.h', |       'libcef_dll/ctocpp/delete_cookies_callback_ctocpp.h', | ||||||
|  |       'libcef_dll/ctocpp/dev_tools_message_observer_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/dev_tools_message_observer_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/dialog_handler_ctocpp.cc', |       'libcef_dll/ctocpp/dialog_handler_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/dialog_handler_ctocpp.h', |       'libcef_dll/ctocpp/dialog_handler_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/dictionary_value_cpptoc.cc', |       'libcef_dll/cpptoc/dictionary_value_cpptoc.cc', | ||||||
| @@ -266,6 +288,10 @@ | |||||||
|       'libcef_dll/ctocpp/drag_handler_ctocpp.h', |       'libcef_dll/ctocpp/drag_handler_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/end_tracing_callback_ctocpp.cc', |       'libcef_dll/ctocpp/end_tracing_callback_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/end_tracing_callback_ctocpp.h', |       'libcef_dll/ctocpp/end_tracing_callback_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/extension_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/extension_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/extension_handler_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/extension_handler_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/file_dialog_callback_cpptoc.cc', |       'libcef_dll/cpptoc/file_dialog_callback_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/file_dialog_callback_cpptoc.h', |       'libcef_dll/cpptoc/file_dialog_callback_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/views/fill_layout_cpptoc.cc', |       'libcef_dll/cpptoc/views/fill_layout_cpptoc.cc', | ||||||
| @@ -276,12 +302,10 @@ | |||||||
|       'libcef_dll/ctocpp/focus_handler_ctocpp.h', |       'libcef_dll/ctocpp/focus_handler_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/frame_cpptoc.cc', |       'libcef_dll/cpptoc/frame_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/frame_cpptoc.h', |       'libcef_dll/cpptoc/frame_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/geolocation_callback_cpptoc.cc', |       'libcef_dll/ctocpp/frame_handler_ctocpp.cc', | ||||||
|       'libcef_dll/cpptoc/geolocation_callback_cpptoc.h', |       'libcef_dll/ctocpp/frame_handler_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/geolocation_handler_ctocpp.cc', |       'libcef_dll/cpptoc/get_extension_resource_callback_cpptoc.cc', | ||||||
|       'libcef_dll/ctocpp/geolocation_handler_ctocpp.h', |       'libcef_dll/cpptoc/get_extension_resource_callback_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/get_geolocation_callback_ctocpp.cc', |  | ||||||
|       'libcef_dll/ctocpp/get_geolocation_callback_ctocpp.h', |  | ||||||
|       'libcef_dll/cpptoc/image_cpptoc.cc', |       'libcef_dll/cpptoc/image_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/image_cpptoc.h', |       'libcef_dll/cpptoc/image_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/jsdialog_callback_cpptoc.cc', |       'libcef_dll/cpptoc/jsdialog_callback_cpptoc.cc', | ||||||
| @@ -300,10 +324,26 @@ | |||||||
|       'libcef_dll/cpptoc/list_value_cpptoc.h', |       'libcef_dll/cpptoc/list_value_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/load_handler_ctocpp.cc', |       'libcef_dll/ctocpp/load_handler_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/load_handler_ctocpp.h', |       'libcef_dll/ctocpp/load_handler_ctocpp.h', | ||||||
|  |       'libcef_dll/ctocpp/media_observer_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/media_observer_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/media_route_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/media_route_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/media_route_create_callback_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/media_route_create_callback_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/media_router_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/media_router_cpptoc.h', | ||||||
|  |       'libcef_dll/cpptoc/media_sink_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/media_sink_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/media_sink_device_info_callback_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/media_sink_device_info_callback_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/media_source_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/media_source_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/views/menu_button_cpptoc.cc', |       'libcef_dll/cpptoc/views/menu_button_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/views/menu_button_cpptoc.h', |       'libcef_dll/cpptoc/views/menu_button_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/views/menu_button_delegate_ctocpp.cc', |       'libcef_dll/ctocpp/views/menu_button_delegate_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/views/menu_button_delegate_ctocpp.h', |       'libcef_dll/ctocpp/views/menu_button_delegate_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/views/menu_button_pressed_lock_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/views/menu_button_pressed_lock_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/menu_model_cpptoc.cc', |       'libcef_dll/cpptoc/menu_model_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/menu_model_cpptoc.h', |       'libcef_dll/cpptoc/menu_model_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/menu_model_delegate_ctocpp.cc', |       'libcef_dll/ctocpp/menu_model_delegate_ctocpp.cc', | ||||||
| @@ -336,6 +376,8 @@ | |||||||
|       'libcef_dll/ctocpp/read_handler_ctocpp.h', |       'libcef_dll/ctocpp/read_handler_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/register_cdm_callback_ctocpp.cc', |       'libcef_dll/ctocpp/register_cdm_callback_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/register_cdm_callback_ctocpp.h', |       'libcef_dll/ctocpp/register_cdm_callback_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/registration_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/registration_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/render_handler_ctocpp.cc', |       'libcef_dll/ctocpp/render_handler_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/render_handler_ctocpp.h', |       'libcef_dll/ctocpp/render_handler_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/render_process_handler_ctocpp.cc', |       'libcef_dll/ctocpp/render_process_handler_ctocpp.cc', | ||||||
| @@ -358,6 +400,12 @@ | |||||||
|       'libcef_dll/ctocpp/resource_bundle_handler_ctocpp.h', |       'libcef_dll/ctocpp/resource_bundle_handler_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/resource_handler_ctocpp.cc', |       'libcef_dll/ctocpp/resource_handler_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/resource_handler_ctocpp.h', |       'libcef_dll/ctocpp/resource_handler_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/resource_read_callback_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/resource_read_callback_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/resource_request_handler_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/resource_request_handler_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/resource_skip_callback_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/resource_skip_callback_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/response_cpptoc.cc', |       'libcef_dll/cpptoc/response_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/response_cpptoc.h', |       'libcef_dll/cpptoc/response_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/response_filter_ctocpp.cc', |       'libcef_dll/ctocpp/response_filter_ctocpp.cc', | ||||||
| @@ -378,6 +426,10 @@ | |||||||
|       'libcef_dll/cpptoc/views/scroll_view_cpptoc.h', |       'libcef_dll/cpptoc/views/scroll_view_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/select_client_certificate_callback_cpptoc.cc', |       'libcef_dll/cpptoc/select_client_certificate_callback_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/select_client_certificate_callback_cpptoc.h', |       'libcef_dll/cpptoc/select_client_certificate_callback_cpptoc.h', | ||||||
|  |       'libcef_dll/cpptoc/server_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/server_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/server_handler_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/server_handler_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/set_cookie_callback_ctocpp.cc', |       'libcef_dll/ctocpp/set_cookie_callback_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/set_cookie_callback_ctocpp.h', |       'libcef_dll/ctocpp/set_cookie_callback_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/stream_reader_cpptoc.cc', |       'libcef_dll/cpptoc/stream_reader_cpptoc.cc', | ||||||
| @@ -424,6 +476,8 @@ | |||||||
|       'libcef_dll/ctocpp/urlrequest_client_ctocpp.h', |       'libcef_dll/ctocpp/urlrequest_client_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/v8accessor_ctocpp.cc', |       'libcef_dll/ctocpp/v8accessor_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/v8accessor_ctocpp.h', |       'libcef_dll/ctocpp/v8accessor_ctocpp.h', | ||||||
|  |       'libcef_dll/ctocpp/v8array_buffer_release_callback_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/v8array_buffer_release_callback_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/v8context_cpptoc.cc', |       'libcef_dll/cpptoc/v8context_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/v8context_cpptoc.h', |       'libcef_dll/cpptoc/v8context_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/v8exception_cpptoc.cc', |       'libcef_dll/cpptoc/v8exception_cpptoc.cc', | ||||||
| @@ -472,6 +526,8 @@ | |||||||
|       'libcef_dll/cpptoc/accessibility_handler_cpptoc.h', |       'libcef_dll/cpptoc/accessibility_handler_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/app_cpptoc.cc', |       'libcef_dll/cpptoc/app_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/app_cpptoc.h', |       'libcef_dll/cpptoc/app_cpptoc.h', | ||||||
|  |       'libcef_dll/cpptoc/audio_handler_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/audio_handler_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/auth_callback_ctocpp.cc', |       'libcef_dll/ctocpp/auth_callback_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/auth_callback_ctocpp.h', |       'libcef_dll/ctocpp/auth_callback_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/before_download_callback_ctocpp.cc', |       'libcef_dll/ctocpp/before_download_callback_ctocpp.cc', | ||||||
| @@ -506,6 +562,8 @@ | |||||||
|       'libcef_dll/cpptoc/context_menu_handler_cpptoc.h', |       'libcef_dll/cpptoc/context_menu_handler_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/context_menu_params_ctocpp.cc', |       'libcef_dll/ctocpp/context_menu_params_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/context_menu_params_ctocpp.h', |       'libcef_dll/ctocpp/context_menu_params_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/cookie_access_filter_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/cookie_access_filter_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/cookie_manager_ctocpp.cc', |       'libcef_dll/ctocpp/cookie_manager_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/cookie_manager_ctocpp.h', |       'libcef_dll/ctocpp/cookie_manager_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/cookie_visitor_cpptoc.cc', |       'libcef_dll/cpptoc/cookie_visitor_cpptoc.cc', | ||||||
| @@ -518,6 +576,8 @@ | |||||||
|       'libcef_dll/cpptoc/domvisitor_cpptoc.h', |       'libcef_dll/cpptoc/domvisitor_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/delete_cookies_callback_cpptoc.cc', |       'libcef_dll/cpptoc/delete_cookies_callback_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/delete_cookies_callback_cpptoc.h', |       'libcef_dll/cpptoc/delete_cookies_callback_cpptoc.h', | ||||||
|  |       'libcef_dll/cpptoc/dev_tools_message_observer_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/dev_tools_message_observer_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/dialog_handler_cpptoc.cc', |       'libcef_dll/cpptoc/dialog_handler_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/dialog_handler_cpptoc.h', |       'libcef_dll/cpptoc/dialog_handler_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/dictionary_value_ctocpp.cc', |       'libcef_dll/ctocpp/dictionary_value_ctocpp.cc', | ||||||
| @@ -540,6 +600,10 @@ | |||||||
|       'libcef_dll/cpptoc/drag_handler_cpptoc.h', |       'libcef_dll/cpptoc/drag_handler_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/end_tracing_callback_cpptoc.cc', |       'libcef_dll/cpptoc/end_tracing_callback_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/end_tracing_callback_cpptoc.h', |       'libcef_dll/cpptoc/end_tracing_callback_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/extension_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/extension_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/extension_handler_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/extension_handler_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/file_dialog_callback_ctocpp.cc', |       'libcef_dll/ctocpp/file_dialog_callback_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/file_dialog_callback_ctocpp.h', |       'libcef_dll/ctocpp/file_dialog_callback_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/views/fill_layout_ctocpp.cc', |       'libcef_dll/ctocpp/views/fill_layout_ctocpp.cc', | ||||||
| @@ -550,12 +614,10 @@ | |||||||
|       'libcef_dll/cpptoc/focus_handler_cpptoc.h', |       'libcef_dll/cpptoc/focus_handler_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/frame_ctocpp.cc', |       'libcef_dll/ctocpp/frame_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/frame_ctocpp.h', |       'libcef_dll/ctocpp/frame_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/geolocation_callback_ctocpp.cc', |       'libcef_dll/cpptoc/frame_handler_cpptoc.cc', | ||||||
|       'libcef_dll/ctocpp/geolocation_callback_ctocpp.h', |       'libcef_dll/cpptoc/frame_handler_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/geolocation_handler_cpptoc.cc', |       'libcef_dll/ctocpp/get_extension_resource_callback_ctocpp.cc', | ||||||
|       'libcef_dll/cpptoc/geolocation_handler_cpptoc.h', |       'libcef_dll/ctocpp/get_extension_resource_callback_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/get_geolocation_callback_cpptoc.cc', |  | ||||||
|       'libcef_dll/cpptoc/get_geolocation_callback_cpptoc.h', |  | ||||||
|       'libcef_dll/ctocpp/image_ctocpp.cc', |       'libcef_dll/ctocpp/image_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/image_ctocpp.h', |       'libcef_dll/ctocpp/image_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/jsdialog_callback_ctocpp.cc', |       'libcef_dll/ctocpp/jsdialog_callback_ctocpp.cc', | ||||||
| @@ -574,10 +636,26 @@ | |||||||
|       'libcef_dll/ctocpp/list_value_ctocpp.h', |       'libcef_dll/ctocpp/list_value_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/load_handler_cpptoc.cc', |       'libcef_dll/cpptoc/load_handler_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/load_handler_cpptoc.h', |       'libcef_dll/cpptoc/load_handler_cpptoc.h', | ||||||
|  |       'libcef_dll/cpptoc/media_observer_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/media_observer_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/media_route_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/media_route_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/media_route_create_callback_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/media_route_create_callback_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/media_router_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/media_router_ctocpp.h', | ||||||
|  |       'libcef_dll/ctocpp/media_sink_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/media_sink_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/media_sink_device_info_callback_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/media_sink_device_info_callback_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/media_source_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/media_source_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/views/menu_button_ctocpp.cc', |       'libcef_dll/ctocpp/views/menu_button_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/views/menu_button_ctocpp.h', |       'libcef_dll/ctocpp/views/menu_button_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/views/menu_button_delegate_cpptoc.cc', |       'libcef_dll/cpptoc/views/menu_button_delegate_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/views/menu_button_delegate_cpptoc.h', |       'libcef_dll/cpptoc/views/menu_button_delegate_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/views/menu_button_pressed_lock_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/views/menu_button_pressed_lock_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/menu_model_ctocpp.cc', |       'libcef_dll/ctocpp/menu_model_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/menu_model_ctocpp.h', |       'libcef_dll/ctocpp/menu_model_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/menu_model_delegate_cpptoc.cc', |       'libcef_dll/cpptoc/menu_model_delegate_cpptoc.cc', | ||||||
| @@ -610,6 +688,8 @@ | |||||||
|       'libcef_dll/cpptoc/read_handler_cpptoc.h', |       'libcef_dll/cpptoc/read_handler_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/register_cdm_callback_cpptoc.cc', |       'libcef_dll/cpptoc/register_cdm_callback_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/register_cdm_callback_cpptoc.h', |       'libcef_dll/cpptoc/register_cdm_callback_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/registration_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/registration_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/render_handler_cpptoc.cc', |       'libcef_dll/cpptoc/render_handler_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/render_handler_cpptoc.h', |       'libcef_dll/cpptoc/render_handler_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/render_process_handler_cpptoc.cc', |       'libcef_dll/cpptoc/render_process_handler_cpptoc.cc', | ||||||
| @@ -632,6 +712,12 @@ | |||||||
|       'libcef_dll/cpptoc/resource_bundle_handler_cpptoc.h', |       'libcef_dll/cpptoc/resource_bundle_handler_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/resource_handler_cpptoc.cc', |       'libcef_dll/cpptoc/resource_handler_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/resource_handler_cpptoc.h', |       'libcef_dll/cpptoc/resource_handler_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/resource_read_callback_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/resource_read_callback_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/resource_request_handler_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/resource_request_handler_cpptoc.h', | ||||||
|  |       'libcef_dll/ctocpp/resource_skip_callback_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/resource_skip_callback_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/response_ctocpp.cc', |       'libcef_dll/ctocpp/response_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/response_ctocpp.h', |       'libcef_dll/ctocpp/response_ctocpp.h', | ||||||
|       'libcef_dll/cpptoc/response_filter_cpptoc.cc', |       'libcef_dll/cpptoc/response_filter_cpptoc.cc', | ||||||
| @@ -652,6 +738,10 @@ | |||||||
|       'libcef_dll/ctocpp/views/scroll_view_ctocpp.h', |       'libcef_dll/ctocpp/views/scroll_view_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/select_client_certificate_callback_ctocpp.cc', |       'libcef_dll/ctocpp/select_client_certificate_callback_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/select_client_certificate_callback_ctocpp.h', |       'libcef_dll/ctocpp/select_client_certificate_callback_ctocpp.h', | ||||||
|  |       'libcef_dll/ctocpp/server_ctocpp.cc', | ||||||
|  |       'libcef_dll/ctocpp/server_ctocpp.h', | ||||||
|  |       'libcef_dll/cpptoc/server_handler_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/server_handler_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/set_cookie_callback_cpptoc.cc', |       'libcef_dll/cpptoc/set_cookie_callback_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/set_cookie_callback_cpptoc.h', |       'libcef_dll/cpptoc/set_cookie_callback_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/stream_reader_ctocpp.cc', |       'libcef_dll/ctocpp/stream_reader_ctocpp.cc', | ||||||
| @@ -698,6 +788,8 @@ | |||||||
|       'libcef_dll/cpptoc/urlrequest_client_cpptoc.h', |       'libcef_dll/cpptoc/urlrequest_client_cpptoc.h', | ||||||
|       'libcef_dll/cpptoc/v8accessor_cpptoc.cc', |       'libcef_dll/cpptoc/v8accessor_cpptoc.cc', | ||||||
|       'libcef_dll/cpptoc/v8accessor_cpptoc.h', |       'libcef_dll/cpptoc/v8accessor_cpptoc.h', | ||||||
|  |       'libcef_dll/cpptoc/v8array_buffer_release_callback_cpptoc.cc', | ||||||
|  |       'libcef_dll/cpptoc/v8array_buffer_release_callback_cpptoc.h', | ||||||
|       'libcef_dll/ctocpp/v8context_ctocpp.cc', |       'libcef_dll/ctocpp/v8context_ctocpp.cc', | ||||||
|       'libcef_dll/ctocpp/v8context_ctocpp.h', |       'libcef_dll/ctocpp/v8context_ctocpp.h', | ||||||
|       'libcef_dll/ctocpp/v8exception_ctocpp.cc', |       'libcef_dll/ctocpp/v8exception_ctocpp.cc', | ||||||
|   | |||||||
							
								
								
									
										165
									
								
								cef_paths2.gypi
									
									
									
									
									
								
							
							
						
						
									
										165
									
								
								cef_paths2.gypi
									
									
									
									
									
								
							| @@ -13,7 +13,6 @@ | |||||||
|       'include/base/cef_build.h', |       'include/base/cef_build.h', | ||||||
|       'include/base/cef_callback.h', |       'include/base/cef_callback.h', | ||||||
|       'include/base/cef_callback_forward.h', |       'include/base/cef_callback_forward.h', | ||||||
|       'include/base/cef_callback_helpers.h', |  | ||||||
|       'include/base/cef_callback_list.h', |       'include/base/cef_callback_list.h', | ||||||
|       'include/base/cef_cancelable_callback.h', |       'include/base/cef_cancelable_callback.h', | ||||||
|       'include/base/cef_lock.h', |       'include/base/cef_lock.h', | ||||||
| @@ -23,10 +22,8 @@ | |||||||
|       'include/base/cef_platform_thread.h', |       'include/base/cef_platform_thread.h', | ||||||
|       'include/base/cef_ref_counted.h', |       'include/base/cef_ref_counted.h', | ||||||
|       'include/base/cef_scoped_ptr.h', |       'include/base/cef_scoped_ptr.h', | ||||||
|       'include/base/cef_string16.h', |  | ||||||
|       'include/base/cef_template_util.h', |       'include/base/cef_template_util.h', | ||||||
|       'include/base/cef_thread_checker.h', |       'include/base/cef_thread_checker.h', | ||||||
|       'include/base/cef_thread_collision_warner.h', |  | ||||||
|       'include/base/cef_trace_event.h', |       'include/base/cef_trace_event.h', | ||||||
|       'include/base/cef_tuple.h', |       'include/base/cef_tuple.h', | ||||||
|       'include/base/cef_weak_ptr.h', |       'include/base/cef_weak_ptr.h', | ||||||
| @@ -35,22 +32,26 @@ | |||||||
|       'include/base/internal/cef_lock_impl.h', |       'include/base/internal/cef_lock_impl.h', | ||||||
|       'include/base/internal/cef_raw_scoped_refptr_mismatch_checker.h', |       'include/base/internal/cef_raw_scoped_refptr_mismatch_checker.h', | ||||||
|       'include/base/internal/cef_thread_checker_impl.h', |       'include/base/internal/cef_thread_checker_impl.h', | ||||||
|  |       'include/cef_api_hash.h', | ||||||
|       'include/cef_base.h', |       'include/cef_base.h', | ||||||
|  |       'include/cef_config.h', | ||||||
|       'include/cef_version.h', |       'include/cef_version.h', | ||||||
|       'include/internal/cef_export.h', |       'include/internal/cef_export.h', | ||||||
|       'include/internal/cef_logging_internal.h', |  | ||||||
|       'include/internal/cef_ptr.h', |       'include/internal/cef_ptr.h', | ||||||
|  |       'include/internal/cef_string_wrappers.h', | ||||||
|  |       'include/internal/cef_types_wrappers.h', | ||||||
|  |     ], | ||||||
|  |     'includes_common_capi': [ | ||||||
|  |       'include/internal/cef_logging_internal.h', | ||||||
|       'include/internal/cef_string.h', |       'include/internal/cef_string.h', | ||||||
|       'include/internal/cef_string_list.h', |       'include/internal/cef_string_list.h', | ||||||
|       'include/internal/cef_string_map.h', |       'include/internal/cef_string_map.h', | ||||||
|       'include/internal/cef_string_multimap.h', |       'include/internal/cef_string_multimap.h', | ||||||
|       'include/internal/cef_string_types.h', |       'include/internal/cef_string_types.h', | ||||||
|       'include/internal/cef_string_wrappers.h', |  | ||||||
|       'include/internal/cef_thread_internal.h', |       'include/internal/cef_thread_internal.h', | ||||||
|       'include/internal/cef_time.h', |       'include/internal/cef_time.h', | ||||||
|       'include/internal/cef_trace_event_internal.h', |       'include/internal/cef_trace_event_internal.h', | ||||||
|       'include/internal/cef_types.h', |       'include/internal/cef_types.h', | ||||||
|       'include/internal/cef_types_wrappers.h', |  | ||||||
|     ], |     ], | ||||||
|     'includes_capi': [ |     'includes_capi': [ | ||||||
|       'include/capi/cef_base_capi.h', |       'include/capi/cef_base_capi.h', | ||||||
| @@ -66,25 +67,37 @@ | |||||||
|       'include/wrapper/cef_xml_object.h', |       'include/wrapper/cef_xml_object.h', | ||||||
|       'include/wrapper/cef_zip_archive.h', |       'include/wrapper/cef_zip_archive.h', | ||||||
|     ], |     ], | ||||||
|  |     'includes_wrapper_mac': [ | ||||||
|  |       'include/wrapper/cef_library_loader.h', | ||||||
|  |     ], | ||||||
|     'includes_win': [ |     'includes_win': [ | ||||||
|  |       'include/base/internal/cef_atomicops_arm64_msvc.h', | ||||||
|       'include/base/internal/cef_atomicops_x86_msvc.h', |       'include/base/internal/cef_atomicops_x86_msvc.h', | ||||||
|       'include/base/internal/cef_bind_internal_win.h', |       'include/base/internal/cef_bind_internal_win.h', | ||||||
|       'include/cef_sandbox_win.h', |       'include/cef_sandbox_win.h', | ||||||
|       'include/internal/cef_types_win.h', |  | ||||||
|       'include/internal/cef_win.h', |       'include/internal/cef_win.h', | ||||||
|     ], |     ], | ||||||
|  |     'includes_win_capi': [ | ||||||
|  |       'include/internal/cef_types_win.h', | ||||||
|  |     ], | ||||||
|     'includes_mac': [ |     'includes_mac': [ | ||||||
|       'include/base/internal/cef_atomicops_atomicword_compat.h', |       'include/base/internal/cef_atomicops_atomicword_compat.h', | ||||||
|       'include/base/internal/cef_atomicops_mac.h', |       'include/base/internal/cef_atomicops_mac.h', | ||||||
|       'include/cef_application_mac.h', |       'include/cef_application_mac.h', | ||||||
|  |       'include/cef_sandbox_mac.h', | ||||||
|       'include/internal/cef_mac.h', |       'include/internal/cef_mac.h', | ||||||
|  |     ], | ||||||
|  |     'includes_mac_capi': [ | ||||||
|       'include/internal/cef_types_mac.h', |       'include/internal/cef_types_mac.h', | ||||||
|     ], |     ], | ||||||
|     'includes_linux': [ |     'includes_linux': [ | ||||||
|       'include/base/internal/cef_atomicops_atomicword_compat.h', |       'include/base/internal/cef_atomicops_atomicword_compat.h', | ||||||
|       'include/base/internal/cef_atomicops_arm_gcc.h', |       'include/base/internal/cef_atomicops_arm_gcc.h', | ||||||
|  |       'include/base/internal/cef_atomicops_arm64_gcc.h', | ||||||
|       'include/base/internal/cef_atomicops_x86_gcc.h', |       'include/base/internal/cef_atomicops_x86_gcc.h', | ||||||
|       'include/internal/cef_linux.h', |       'include/internal/cef_linux.h', | ||||||
|  |     ], | ||||||
|  |     'includes_linux_capi': [ | ||||||
|       'include/internal/cef_types_linux.h', |       'include/internal/cef_types_linux.h', | ||||||
|     ], |     ], | ||||||
|     'libcef_sources_common': [ |     'libcef_sources_common': [ | ||||||
| @@ -100,6 +113,8 @@ | |||||||
|       'libcef_dll/libcef_dll2.cc', |       'libcef_dll/libcef_dll2.cc', | ||||||
|       'libcef_dll/ptr_util.h', |       'libcef_dll/ptr_util.h', | ||||||
|       'libcef_dll/resource.h', |       'libcef_dll/resource.h', | ||||||
|  |       'libcef_dll/shutdown_checker.cc', | ||||||
|  |       'libcef_dll/shutdown_checker.h', | ||||||
|       'libcef_dll/transfer_util.cc', |       'libcef_dll/transfer_util.cc', | ||||||
|       'libcef_dll/transfer_util.h', |       'libcef_dll/transfer_util.h', | ||||||
|       'libcef_dll/wrapper_types.h', |       'libcef_dll/wrapper_types.h', | ||||||
| @@ -107,15 +122,12 @@ | |||||||
|     'libcef_dll_wrapper_sources_base': [ |     'libcef_dll_wrapper_sources_base': [ | ||||||
|       'libcef_dll/base/cef_atomicops_x86_gcc.cc', |       'libcef_dll/base/cef_atomicops_x86_gcc.cc', | ||||||
|       'libcef_dll/base/cef_bind_helpers.cc', |       'libcef_dll/base/cef_bind_helpers.cc', | ||||||
|       'libcef_dll/base/cef_callback_helpers.cc', |  | ||||||
|       'libcef_dll/base/cef_callback_internal.cc', |       'libcef_dll/base/cef_callback_internal.cc', | ||||||
|       'libcef_dll/base/cef_lock.cc', |       'libcef_dll/base/cef_lock.cc', | ||||||
|       'libcef_dll/base/cef_lock_impl.cc', |       'libcef_dll/base/cef_lock_impl.cc', | ||||||
|       'libcef_dll/base/cef_logging.cc', |       'libcef_dll/base/cef_logging.cc', | ||||||
|       'libcef_dll/base/cef_ref_counted.cc', |       'libcef_dll/base/cef_ref_counted.cc', | ||||||
|       'libcef_dll/base/cef_string16.cc', |  | ||||||
|       'libcef_dll/base/cef_thread_checker_impl.cc', |       'libcef_dll/base/cef_thread_checker_impl.cc', | ||||||
|       'libcef_dll/base/cef_thread_collision_warner.cc', |  | ||||||
|       'libcef_dll/base/cef_weak_ptr.cc', |       'libcef_dll/base/cef_weak_ptr.cc', | ||||||
|     ], |     ], | ||||||
|     'libcef_dll_wrapper_sources_common': [ |     'libcef_dll_wrapper_sources_common': [ | ||||||
| @@ -128,6 +140,8 @@ | |||||||
|       'libcef_dll/ctocpp/ctocpp_ref_counted.h', |       'libcef_dll/ctocpp/ctocpp_ref_counted.h', | ||||||
|       'libcef_dll/ctocpp/ctocpp_scoped.h', |       'libcef_dll/ctocpp/ctocpp_scoped.h', | ||||||
|       'libcef_dll/ptr_util.h', |       'libcef_dll/ptr_util.h', | ||||||
|  |       'libcef_dll/shutdown_checker.cc', | ||||||
|  |       'libcef_dll/shutdown_checker.h', | ||||||
|       'libcef_dll/transfer_util.cc', |       'libcef_dll/transfer_util.cc', | ||||||
|       'libcef_dll/transfer_util.h', |       'libcef_dll/transfer_util.h', | ||||||
|       'libcef_dll/wrapper_types.h', |       'libcef_dll/wrapper_types.h', | ||||||
| @@ -143,9 +157,17 @@ | |||||||
|       'libcef_dll/wrapper/libcef_dll_wrapper.cc', |       'libcef_dll/wrapper/libcef_dll_wrapper.cc', | ||||||
|       'libcef_dll/wrapper/libcef_dll_wrapper2.cc', |       'libcef_dll/wrapper/libcef_dll_wrapper2.cc', | ||||||
|     ], |     ], | ||||||
|  |     'libcef_dll_wrapper_sources_mac': [ | ||||||
|  |       'libcef_dll/wrapper/cef_library_loader_mac.mm', | ||||||
|  |       'libcef_dll/wrapper/libcef_dll_dylib.cc', | ||||||
|  |     ], | ||||||
|     'shared_sources_browser': [ |     'shared_sources_browser': [ | ||||||
|       'tests/shared/browser/client_app_browser.cc', |       'tests/shared/browser/client_app_browser.cc', | ||||||
|       'tests/shared/browser/client_app_browser.h', |       'tests/shared/browser/client_app_browser.h', | ||||||
|  |       'tests/shared/browser/extension_util.cc', | ||||||
|  |       'tests/shared/browser/extension_util.h', | ||||||
|  |       'tests/shared/browser/file_util.cc', | ||||||
|  |       'tests/shared/browser/file_util.h', | ||||||
|       'tests/shared/browser/geometry_util.cc', |       'tests/shared/browser/geometry_util.cc', | ||||||
|       'tests/shared/browser/geometry_util.h', |       'tests/shared/browser/geometry_util.h', | ||||||
|       'tests/shared/browser/main_message_loop.cc', |       'tests/shared/browser/main_message_loop.cc', | ||||||
| @@ -155,8 +177,6 @@ | |||||||
|       'tests/shared/browser/main_message_loop_std.cc', |       'tests/shared/browser/main_message_loop_std.cc', | ||||||
|       'tests/shared/browser/main_message_loop_std.h', |       'tests/shared/browser/main_message_loop_std.h', | ||||||
|       'tests/shared/browser/resource_util.h', |       'tests/shared/browser/resource_util.h', | ||||||
|       'tests/shared/browser/resource_util.cc', |  | ||||||
|       'tests/shared/browser/resource_util.h', |  | ||||||
|     ], |     ], | ||||||
|     'shared_sources_common': [ |     'shared_sources_common': [ | ||||||
|       'tests/shared/common/client_app.cc', |       'tests/shared/common/client_app.cc', | ||||||
| @@ -216,13 +236,18 @@ | |||||||
|       'tests/cefclient/browser/dialog_test.h', |       'tests/cefclient/browser/dialog_test.h', | ||||||
|       'tests/cefclient/browser/drm_test.cc', |       'tests/cefclient/browser/drm_test.cc', | ||||||
|       'tests/cefclient/browser/drm_test.h', |       'tests/cefclient/browser/drm_test.h', | ||||||
|  |       'tests/cefclient/browser/image_cache.cc', | ||||||
|  |       'tests/cefclient/browser/image_cache.h', | ||||||
|       'tests/cefclient/browser/main_context.cc', |       'tests/cefclient/browser/main_context.cc', | ||||||
|       'tests/cefclient/browser/main_context.h', |       'tests/cefclient/browser/main_context.h', | ||||||
|       'tests/cefclient/browser/main_context_impl.cc', |       'tests/cefclient/browser/main_context_impl.cc', | ||||||
|       'tests/cefclient/browser/main_context_impl.h', |       'tests/cefclient/browser/main_context_impl.h', | ||||||
|  |       'tests/cefclient/browser/media_router_test.cc', | ||||||
|  |       'tests/cefclient/browser/media_router_test.h', | ||||||
|       'tests/cefclient/browser/osr_dragdrop_events.h', |       'tests/cefclient/browser/osr_dragdrop_events.h', | ||||||
|       'tests/cefclient/browser/osr_renderer.h', |       'tests/cefclient/browser/osr_renderer.h', | ||||||
|       'tests/cefclient/browser/osr_renderer.cc', |       'tests/cefclient/browser/osr_renderer.cc', | ||||||
|  |       'tests/cefclient/browser/osr_renderer_settings.h', | ||||||
|       'tests/cefclient/browser/preferences_test.cc', |       'tests/cefclient/browser/preferences_test.cc', | ||||||
|       'tests/cefclient/browser/preferences_test.h', |       'tests/cefclient/browser/preferences_test.h', | ||||||
|       'tests/cefclient/browser/resource.h', |       'tests/cefclient/browser/resource.h', | ||||||
| @@ -233,17 +258,29 @@ | |||||||
|       'tests/cefclient/browser/root_window_create.cc', |       'tests/cefclient/browser/root_window_create.cc', | ||||||
|       'tests/cefclient/browser/root_window_manager.cc', |       'tests/cefclient/browser/root_window_manager.cc', | ||||||
|       'tests/cefclient/browser/root_window_manager.h', |       'tests/cefclient/browser/root_window_manager.h', | ||||||
|  |       'tests/cefclient/browser/root_window_views.cc', | ||||||
|  |       'tests/cefclient/browser/root_window_views.h', | ||||||
|       'tests/cefclient/browser/scheme_test.cc', |       'tests/cefclient/browser/scheme_test.cc', | ||||||
|       'tests/cefclient/browser/scheme_test.h', |       'tests/cefclient/browser/scheme_test.h', | ||||||
|  |       'tests/cefclient/browser/server_test.cc', | ||||||
|  |       'tests/cefclient/browser/server_test.h', | ||||||
|       'tests/cefclient/browser/temp_window.h', |       'tests/cefclient/browser/temp_window.h', | ||||||
|       'tests/cefclient/browser/test_runner.cc', |       'tests/cefclient/browser/test_runner.cc', | ||||||
|       'tests/cefclient/browser/test_runner.h', |       'tests/cefclient/browser/test_runner.h', | ||||||
|       'tests/cefclient/browser/urlrequest_test.cc', |       'tests/cefclient/browser/urlrequest_test.cc', | ||||||
|       'tests/cefclient/browser/urlrequest_test.h', |       'tests/cefclient/browser/urlrequest_test.h', | ||||||
|  |       'tests/cefclient/browser/views_menu_bar.cc', | ||||||
|  |       'tests/cefclient/browser/views_menu_bar.h', | ||||||
|  |       'tests/cefclient/browser/views_style.cc', | ||||||
|  |       'tests/cefclient/browser/views_style.h', | ||||||
|  |       'tests/cefclient/browser/views_window.cc', | ||||||
|  |       'tests/cefclient/browser/views_window.h', | ||||||
|       'tests/cefclient/browser/window_test.cc', |       'tests/cefclient/browser/window_test.cc', | ||||||
|       'tests/cefclient/browser/window_test.h', |       'tests/cefclient/browser/window_test.h', | ||||||
|       'tests/cefclient/browser/window_test_runner.cc', |       'tests/cefclient/browser/window_test_runner.cc', | ||||||
|       'tests/cefclient/browser/window_test_runner.h', |       'tests/cefclient/browser/window_test_runner.h', | ||||||
|  |       'tests/cefclient/browser/window_test_runner_views.cc', | ||||||
|  |       'tests/cefclient/browser/window_test_runner_views.h', | ||||||
|     ], |     ], | ||||||
|     'cefclient_sources_common': [ |     'cefclient_sources_common': [ | ||||||
|       'tests/cefclient/common/client_app_delegates_common.cc', |       'tests/cefclient/common/client_app_delegates_common.cc', | ||||||
| @@ -266,6 +303,7 @@ | |||||||
|       'tests/cefclient/resources/drm.html', |       'tests/cefclient/resources/drm.html', | ||||||
|       'tests/cefclient/resources/localstorage.html', |       'tests/cefclient/resources/localstorage.html', | ||||||
|       'tests/cefclient/resources/logo.png', |       'tests/cefclient/resources/logo.png', | ||||||
|  |       'tests/cefclient/resources/media_router.html', | ||||||
|       'tests/cefclient/resources/menu_icon.1x.png', |       'tests/cefclient/resources/menu_icon.1x.png', | ||||||
|       'tests/cefclient/resources/menu_icon.2x.png', |       'tests/cefclient/resources/menu_icon.2x.png', | ||||||
|       'tests/cefclient/resources/other_tests.html', |       'tests/cefclient/resources/other_tests.html', | ||||||
| @@ -273,11 +311,20 @@ | |||||||
|       'tests/cefclient/resources/performance2.html', |       'tests/cefclient/resources/performance2.html', | ||||||
|       'tests/cefclient/resources/preferences.html', |       'tests/cefclient/resources/preferences.html', | ||||||
|       'tests/cefclient/resources/response_filter.html', |       'tests/cefclient/resources/response_filter.html', | ||||||
|  |       'tests/cefclient/resources/server.html', | ||||||
|       'tests/cefclient/resources/transparency.html', |       'tests/cefclient/resources/transparency.html', | ||||||
|       'tests/cefclient/resources/urlrequest.html', |       'tests/cefclient/resources/urlrequest.html', | ||||||
|  |       'tests/cefclient/resources/websocket.html', | ||||||
|       'tests/cefclient/resources/window.html', |       'tests/cefclient/resources/window.html', | ||||||
|       'tests/cefclient/resources/xmlhttprequest.html', |       'tests/cefclient/resources/xmlhttprequest.html', | ||||||
|     ], |     ], | ||||||
|  |     'cefclient_sources_resources_extensions_set_page_color': [ | ||||||
|  |       'tests/cefclient/resources/extensions/set_page_color/icon.png', | ||||||
|  |       'tests/cefclient/resources/extensions/set_page_color/manifest.json', | ||||||
|  |       'tests/cefclient/resources/extensions/set_page_color/popup.html', | ||||||
|  |       'tests/cefclient/resources/extensions/set_page_color/popup.js', | ||||||
|  |       'tests/cefclient/resources/extensions/set_page_color/README.md', | ||||||
|  |     ], | ||||||
|     'cefclient_sources_win': [ |     'cefclient_sources_win': [ | ||||||
|       'tests/cefclient/browser/browser_window_osr_win.cc', |       'tests/cefclient/browser/browser_window_osr_win.cc', | ||||||
|       'tests/cefclient/browser/browser_window_osr_win.h', |       'tests/cefclient/browser/browser_window_osr_win.h', | ||||||
| @@ -295,29 +342,29 @@ | |||||||
|       'tests/cefclient/browser/osr_dragdrop_win.h', |       'tests/cefclient/browser/osr_dragdrop_win.h', | ||||||
|       'tests/cefclient/browser/osr_ime_handler_win.cc', |       'tests/cefclient/browser/osr_ime_handler_win.cc', | ||||||
|       'tests/cefclient/browser/osr_ime_handler_win.h', |       'tests/cefclient/browser/osr_ime_handler_win.h', | ||||||
|  |       'tests/cefclient/browser/osr_d3d11_win.cc', | ||||||
|  |       'tests/cefclient/browser/osr_d3d11_win.h', | ||||||
|  |       'tests/cefclient/browser/osr_render_handler_win.cc', | ||||||
|  |       'tests/cefclient/browser/osr_render_handler_win.h', | ||||||
|  |       'tests/cefclient/browser/osr_render_handler_win_d3d11.cc', | ||||||
|  |       'tests/cefclient/browser/osr_render_handler_win_d3d11.h', | ||||||
|  |       'tests/cefclient/browser/osr_render_handler_win_gl.cc', | ||||||
|  |       'tests/cefclient/browser/osr_render_handler_win_gl.h', | ||||||
|       'tests/cefclient/browser/osr_window_win.cc', |       'tests/cefclient/browser/osr_window_win.cc', | ||||||
|       'tests/cefclient/browser/osr_window_win.h', |       'tests/cefclient/browser/osr_window_win.h', | ||||||
|       'tests/cefclient/browser/resource_util_win_idmap.cc', |       'tests/cefclient/browser/resource_util_win_idmap.cc', | ||||||
|       'tests/cefclient/browser/root_window_views.cc', |  | ||||||
|       'tests/cefclient/browser/root_window_views.h', |  | ||||||
|       'tests/cefclient/browser/root_window_win.cc', |       'tests/cefclient/browser/root_window_win.cc', | ||||||
|       'tests/cefclient/browser/root_window_win.h', |       'tests/cefclient/browser/root_window_win.h', | ||||||
|       'tests/cefclient/browser/temp_window_win.cc', |       'tests/cefclient/browser/temp_window_win.cc', | ||||||
|       'tests/cefclient/browser/temp_window_win.h', |       'tests/cefclient/browser/temp_window_win.h', | ||||||
|       'tests/cefclient/browser/views_menu_bar.cc', |  | ||||||
|       'tests/cefclient/browser/views_menu_bar.h', |  | ||||||
|       'tests/cefclient/browser/views_style.cc', |  | ||||||
|       'tests/cefclient/browser/views_style.h', |  | ||||||
|       'tests/cefclient/browser/views_window.cc', |  | ||||||
|       'tests/cefclient/browser/views_window.h', |  | ||||||
|       'tests/cefclient/browser/window_test_runner_views.cc', |  | ||||||
|       'tests/cefclient/browser/window_test_runner_views.h', |  | ||||||
|       'tests/cefclient/browser/window_test_runner_win.cc', |       'tests/cefclient/browser/window_test_runner_win.cc', | ||||||
|       'tests/cefclient/browser/window_test_runner_win.h', |       'tests/cefclient/browser/window_test_runner_win.h', | ||||||
|       'tests/cefclient/cefclient_win.cc', |       'tests/cefclient/cefclient_win.cc', | ||||||
|  |       'tests/cefclient/resources/win/cefclient.rc', | ||||||
|  |     ], | ||||||
|  |     'cefclient_sources_resources_win': [ | ||||||
|       'tests/cefclient/resources/win/cefclient.exe.manifest', |       'tests/cefclient/resources/win/cefclient.exe.manifest', | ||||||
|       'tests/cefclient/resources/win/cefclient.ico', |       'tests/cefclient/resources/win/cefclient.ico', | ||||||
|       'tests/cefclient/resources/win/cefclient.rc', |  | ||||||
|       'tests/cefclient/resources/win/small.ico', |       'tests/cefclient/resources/win/small.ico', | ||||||
|     ], |     ], | ||||||
|     'cefclient_sources_mac': [ |     'cefclient_sources_mac': [ | ||||||
| @@ -355,25 +402,19 @@ | |||||||
|       'tests/cefclient/browser/dialog_handler_gtk.cc', |       'tests/cefclient/browser/dialog_handler_gtk.cc', | ||||||
|       'tests/cefclient/browser/dialog_handler_gtk.h', |       'tests/cefclient/browser/dialog_handler_gtk.h', | ||||||
|       'tests/cefclient/browser/main_context_impl_posix.cc', |       'tests/cefclient/browser/main_context_impl_posix.cc', | ||||||
|  |       'tests/cefclient/browser/main_message_loop_multithreaded_gtk.cc', | ||||||
|  |       'tests/cefclient/browser/main_message_loop_multithreaded_gtk.h', | ||||||
|       'tests/cefclient/browser/print_handler_gtk.cc', |       'tests/cefclient/browser/print_handler_gtk.cc', | ||||||
|       'tests/cefclient/browser/print_handler_gtk.h', |       'tests/cefclient/browser/print_handler_gtk.h', | ||||||
|       'tests/cefclient/browser/resource_util_linux.cc', |       'tests/cefclient/browser/resource_util_linux.cc', | ||||||
|       'tests/cefclient/browser/root_window_gtk.cc', |       'tests/cefclient/browser/root_window_gtk.cc', | ||||||
|       'tests/cefclient/browser/root_window_gtk.h', |       'tests/cefclient/browser/root_window_gtk.h', | ||||||
|       'tests/cefclient/browser/root_window_views.cc', |  | ||||||
|       'tests/cefclient/browser/root_window_views.h', |  | ||||||
|       'tests/cefclient/browser/temp_window_x11.cc', |       'tests/cefclient/browser/temp_window_x11.cc', | ||||||
|       'tests/cefclient/browser/temp_window_x11.h', |       'tests/cefclient/browser/temp_window_x11.h', | ||||||
|       'tests/cefclient/browser/views_menu_bar.cc', |       'tests/cefclient/browser/util_gtk.cc', | ||||||
|       'tests/cefclient/browser/views_menu_bar.h', |       'tests/cefclient/browser/util_gtk.h', | ||||||
|       'tests/cefclient/browser/views_style.cc', |  | ||||||
|       'tests/cefclient/browser/views_style.h', |  | ||||||
|       'tests/cefclient/browser/views_window.cc', |  | ||||||
|       'tests/cefclient/browser/views_window.h', |  | ||||||
|       'tests/cefclient/browser/window_test_runner_gtk.cc', |       'tests/cefclient/browser/window_test_runner_gtk.cc', | ||||||
|       'tests/cefclient/browser/window_test_runner_gtk.h', |       'tests/cefclient/browser/window_test_runner_gtk.h', | ||||||
|       'tests/cefclient/browser/window_test_runner_views.cc', |  | ||||||
|       'tests/cefclient/browser/window_test_runner_views.h', |  | ||||||
|       'tests/cefclient/cefclient_gtk.cc', |       'tests/cefclient/cefclient_gtk.cc', | ||||||
|     ], |     ], | ||||||
|     'cefsimple_sources_common': [ |     'cefsimple_sources_common': [ | ||||||
| @@ -383,11 +424,13 @@ | |||||||
|       'tests/cefsimple/simple_handler.h', |       'tests/cefsimple/simple_handler.h', | ||||||
|     ], |     ], | ||||||
|     'cefsimple_sources_win': [ |     'cefsimple_sources_win': [ | ||||||
|       'tests/cefsimple/cefsimple.exe.manifest', |  | ||||||
|       'tests/cefsimple/cefsimple.rc', |       'tests/cefsimple/cefsimple.rc', | ||||||
|       'tests/cefsimple/cefsimple_win.cc', |       'tests/cefsimple/cefsimple_win.cc', | ||||||
|       'tests/cefsimple/simple_handler_win.cc', |       'tests/cefsimple/simple_handler_win.cc', | ||||||
|       'tests/cefsimple/resource.h', |       'tests/cefsimple/resource.h', | ||||||
|  |     ], | ||||||
|  |     'cefsimple_sources_resources_win': [ | ||||||
|  |       'tests/cefsimple/cefsimple.exe.manifest', | ||||||
|       'tests/cefsimple/res/cefsimple.ico', |       'tests/cefsimple/res/cefsimple.ico', | ||||||
|       'tests/cefsimple/res/small.ico', |       'tests/cefsimple/res/small.ico', | ||||||
|     ], |     ], | ||||||
| @@ -409,20 +452,27 @@ | |||||||
|       'tests/cefsimple/simple_handler_linux.cc', |       'tests/cefsimple/simple_handler_linux.cc', | ||||||
|     ], |     ], | ||||||
|     'ceftests_sources_common': [ |     'ceftests_sources_common': [ | ||||||
|       'tests/ceftests/accessibility_unittest.cc', |       'tests/ceftests/audio_output_unittest.cc', | ||||||
|       'tests/ceftests/browser_info_map_unittest.cc', |       'tests/ceftests/browser_info_map_unittest.cc', | ||||||
|       'tests/ceftests/command_line_unittest.cc', |       'tests/ceftests/command_line_unittest.cc', | ||||||
|       'tests/ceftests/cookie_unittest.cc', |       'tests/ceftests/cookie_unittest.cc', | ||||||
|  |       'tests/ceftests/cors_unittest.cc', | ||||||
|  |       'tests/ceftests/devtools_message_unittest.cc', | ||||||
|       'tests/ceftests/dialog_unittest.cc', |       'tests/ceftests/dialog_unittest.cc', | ||||||
|       'tests/ceftests/display_unittest.cc', |       'tests/ceftests/display_unittest.cc', | ||||||
|       'tests/ceftests/dom_unittest.cc', |       'tests/ceftests/dom_unittest.cc', | ||||||
|       'tests/ceftests/download_unittest.cc', |       'tests/ceftests/download_unittest.cc', | ||||||
|       'tests/ceftests/draggable_regions_unittest.cc', |       'tests/ceftests/draggable_regions_unittest.cc', | ||||||
|       'tests/ceftests/file_util.cc', |       'tests/ceftests/extensions/background_unittest.cc', | ||||||
|       'tests/ceftests/file_util.h', |       'tests/ceftests/extensions/chrome_alarms_unittest.cc', | ||||||
|  |       'tests/ceftests/extensions/chrome_storage_unittest.cc', | ||||||
|  |       'tests/ceftests/extensions/chrome_tabs_unittest.cc', | ||||||
|  |       'tests/ceftests/extensions/extension_test_handler.cc', | ||||||
|  |       'tests/ceftests/extensions/extension_test_handler.h', | ||||||
|  |       'tests/ceftests/extensions/view_unittest.cc', | ||||||
|       'tests/ceftests/file_util_unittest.cc', |       'tests/ceftests/file_util_unittest.cc', | ||||||
|  |       'tests/ceftests/frame_handler_unittest.cc', | ||||||
|       'tests/ceftests/frame_unittest.cc', |       'tests/ceftests/frame_unittest.cc', | ||||||
|       'tests/ceftests/geolocation_unittest.cc', |  | ||||||
|       'tests/ceftests/image_unittest.cc', |       'tests/ceftests/image_unittest.cc', | ||||||
|       'tests/ceftests/image_util.cc', |       'tests/ceftests/image_util.cc', | ||||||
|       'tests/ceftests/image_util.h', |       'tests/ceftests/image_util.h', | ||||||
| @@ -431,6 +481,8 @@ | |||||||
|       'tests/ceftests/message_router_unittest.cc', |       'tests/ceftests/message_router_unittest.cc', | ||||||
|       'tests/ceftests/navigation_unittest.cc', |       'tests/ceftests/navigation_unittest.cc', | ||||||
|       'tests/ceftests/os_rendering_unittest.cc', |       'tests/ceftests/os_rendering_unittest.cc', | ||||||
|  |       'tests/ceftests/osr_accessibility_unittest.cc', | ||||||
|  |       'tests/ceftests/osr_display_unittest.cc', | ||||||
|       'tests/ceftests/parser_unittest.cc', |       'tests/ceftests/parser_unittest.cc', | ||||||
|       'tests/ceftests/plugin_unittest.cc', |       'tests/ceftests/plugin_unittest.cc', | ||||||
|       'tests/ceftests/preference_unittest.cc', |       'tests/ceftests/preference_unittest.cc', | ||||||
| @@ -439,13 +491,16 @@ | |||||||
|       'tests/ceftests/request_context_unittest.cc', |       'tests/ceftests/request_context_unittest.cc', | ||||||
|       'tests/ceftests/request_handler_unittest.cc', |       'tests/ceftests/request_handler_unittest.cc', | ||||||
|       'tests/ceftests/request_unittest.cc', |       'tests/ceftests/request_unittest.cc', | ||||||
|  |       'tests/ceftests/response_unittest.cc', | ||||||
|       'tests/ceftests/resource.h', |       'tests/ceftests/resource.h', | ||||||
|       'tests/ceftests/resource_manager_unittest.cc', |       'tests/ceftests/resource_manager_unittest.cc', | ||||||
|  |       'tests/ceftests/resource_request_handler_unittest.cc', | ||||||
|       'tests/ceftests/routing_test_handler.cc', |       'tests/ceftests/routing_test_handler.cc', | ||||||
|       'tests/ceftests/routing_test_handler.h', |       'tests/ceftests/routing_test_handler.h', | ||||||
|       'tests/ceftests/run_all_unittests.cc', |       'tests/ceftests/run_all_unittests.cc', | ||||||
|       'tests/ceftests/scheme_handler_unittest.cc', |       'tests/ceftests/scheme_handler_unittest.cc', | ||||||
|       'tests/ceftests/scoped_temp_dir_unittest.cc', |       'tests/ceftests/scoped_temp_dir_unittest.cc', | ||||||
|  |       'tests/ceftests/server_unittest.cc', | ||||||
|       'tests/ceftests/stream_unittest.cc', |       'tests/ceftests/stream_unittest.cc', | ||||||
|       'tests/ceftests/stream_resource_handler_unittest.cc', |       'tests/ceftests/stream_resource_handler_unittest.cc', | ||||||
|       'tests/ceftests/string_unittest.cc', |       'tests/ceftests/string_unittest.cc', | ||||||
| @@ -453,6 +508,11 @@ | |||||||
|       'tests/ceftests/task_unittest.cc', |       'tests/ceftests/task_unittest.cc', | ||||||
|       'tests/ceftests/test_handler.cc', |       'tests/ceftests/test_handler.cc', | ||||||
|       'tests/ceftests/test_handler.h', |       'tests/ceftests/test_handler.h', | ||||||
|  |       'tests/ceftests/test_request.cc', | ||||||
|  |       'tests/ceftests/test_request.h', | ||||||
|  |       'tests/ceftests/test_server.cc', | ||||||
|  |       'tests/ceftests/test_server.h', | ||||||
|  |       'tests/ceftests/test_server_unittest.cc', | ||||||
|       'tests/ceftests/test_suite.cc', |       'tests/ceftests/test_suite.cc', | ||||||
|       'tests/ceftests/test_suite.h', |       'tests/ceftests/test_suite.h', | ||||||
|       'tests/ceftests/test_util.cc', |       'tests/ceftests/test_util.cc', | ||||||
| @@ -461,17 +521,12 @@ | |||||||
|       'tests/ceftests/thread_helper.h', |       'tests/ceftests/thread_helper.h', | ||||||
|       'tests/ceftests/thread_unittest.cc', |       'tests/ceftests/thread_unittest.cc', | ||||||
|       'tests/ceftests/tracing_unittest.cc', |       'tests/ceftests/tracing_unittest.cc', | ||||||
|  |       'tests/ceftests/track_callback.h', | ||||||
|       'tests/ceftests/translator_unittest.cc', |       'tests/ceftests/translator_unittest.cc', | ||||||
|       'tests/ceftests/urlrequest_unittest.cc', |       'tests/ceftests/urlrequest_unittest.cc', | ||||||
|       'tests/ceftests/v8_unittest.cc', |       'tests/ceftests/v8_unittest.cc', | ||||||
|       'tests/ceftests/values_unittest.cc', |       'tests/ceftests/values_unittest.cc', | ||||||
|       'tests/ceftests/version_unittest.cc', |       'tests/ceftests/version_unittest.cc', | ||||||
|       'tests/ceftests/waitable_event_unittest.cc', |  | ||||||
|       'tests/ceftests/webui_unittest.cc', |  | ||||||
|       'tests/ceftests/xml_reader_unittest.cc', |  | ||||||
|       'tests/ceftests/zip_reader_unittest.cc', |  | ||||||
|     ], |  | ||||||
|     'ceftests_sources_views': [ |  | ||||||
|       'tests/ceftests/views/button_unittest.cc', |       'tests/ceftests/views/button_unittest.cc', | ||||||
|       'tests/ceftests/views/panel_unittest.cc', |       'tests/ceftests/views/panel_unittest.cc', | ||||||
|       'tests/ceftests/views/scroll_view_unittest.cc', |       'tests/ceftests/views/scroll_view_unittest.cc', | ||||||
| @@ -479,12 +534,18 @@ | |||||||
|       'tests/ceftests/views/test_window_delegate.h', |       'tests/ceftests/views/test_window_delegate.h', | ||||||
|       'tests/ceftests/views/textfield_unittest.cc', |       'tests/ceftests/views/textfield_unittest.cc', | ||||||
|       'tests/ceftests/views/window_unittest.cc', |       'tests/ceftests/views/window_unittest.cc', | ||||||
|  |       'tests/ceftests/waitable_event_unittest.cc', | ||||||
|  |       'tests/ceftests/webui_unittest.cc', | ||||||
|  |       'tests/ceftests/xml_reader_unittest.cc', | ||||||
|  |       'tests/ceftests/zip_reader_unittest.cc', | ||||||
|     ], |     ], | ||||||
|     'ceftests_sources_win': [ |     'ceftests_sources_win': [ | ||||||
|       'tests/ceftests/resource_util_win_idmap.cc', |       'tests/ceftests/resource_util_win_idmap.cc', | ||||||
|  |       'tests/ceftests/resources/win/ceftests.rc', | ||||||
|  |     ], | ||||||
|  |     'ceftests_sources_resources_win': [ | ||||||
|       'tests/ceftests/resources/win/ceftests.exe.manifest', |       'tests/ceftests/resources/win/ceftests.exe.manifest', | ||||||
|       'tests/ceftests/resources/win/ceftests.ico', |       'tests/ceftests/resources/win/ceftests.ico', | ||||||
|       'tests/ceftests/resources/win/ceftests.rc', |  | ||||||
|       'tests/ceftests/resources/win/small.ico', |       'tests/ceftests/resources/win/small.ico', | ||||||
|     ], |     ], | ||||||
|     'ceftests_sources_mac': [ |     'ceftests_sources_mac': [ | ||||||
| @@ -493,15 +554,16 @@ | |||||||
|       'tests/ceftests/run_all_unittests_mac.mm', |       'tests/ceftests/run_all_unittests_mac.mm', | ||||||
|     ], |     ], | ||||||
|     'ceftests_sources_mac_helper': [ |     'ceftests_sources_mac_helper': [ | ||||||
|       'tests/shared/browser/resource_util.cc', |       'tests/shared/browser/file_util.cc', | ||||||
|  |       'tests/shared/browser/file_util.h', | ||||||
|       'tests/shared/browser/resource_util.h', |       'tests/shared/browser/resource_util.h', | ||||||
|       'tests/shared/browser/resource_util_mac.mm', |       'tests/shared/browser/resource_util_mac.mm', | ||||||
|       'tests/shared/browser/resource_util_posix.cc', |       'tests/shared/browser/resource_util_posix.cc', | ||||||
|  |       'tests/ceftests/audio_output_unittest.cc', | ||||||
|       'tests/ceftests/client_app_delegates.cc', |       'tests/ceftests/client_app_delegates.cc', | ||||||
|       'tests/ceftests/cookie_unittest.cc', |       'tests/ceftests/cookie_unittest.cc', | ||||||
|  |       'tests/ceftests/cors_unittest.cc', | ||||||
|       'tests/ceftests/dom_unittest.cc', |       'tests/ceftests/dom_unittest.cc', | ||||||
|       'tests/ceftests/file_util.cc', |  | ||||||
|       'tests/ceftests/file_util.h', |  | ||||||
|       'tests/ceftests/frame_unittest.cc', |       'tests/ceftests/frame_unittest.cc', | ||||||
|       'tests/ceftests/message_router_unittest.cc', |       'tests/ceftests/message_router_unittest.cc', | ||||||
|       'tests/ceftests/navigation_unittest.cc', |       'tests/ceftests/navigation_unittest.cc', | ||||||
| @@ -510,16 +572,23 @@ | |||||||
|       'tests/ceftests/process_message_unittest.cc', |       'tests/ceftests/process_message_unittest.cc', | ||||||
|       'tests/ceftests/request_handler_unittest.cc', |       'tests/ceftests/request_handler_unittest.cc', | ||||||
|       'tests/ceftests/request_unittest.cc', |       'tests/ceftests/request_unittest.cc', | ||||||
|  |       'tests/ceftests/response_unittest.cc', | ||||||
|  |       'tests/ceftests/resource_request_handler_unittest.cc', | ||||||
|       'tests/ceftests/routing_test_handler.cc', |       'tests/ceftests/routing_test_handler.cc', | ||||||
|       'tests/ceftests/routing_test_handler.h', |       'tests/ceftests/routing_test_handler.h', | ||||||
|       'tests/ceftests/scheme_handler_unittest.cc', |       'tests/ceftests/scheme_handler_unittest.cc', | ||||||
|       'tests/ceftests/urlrequest_unittest.cc', |       'tests/ceftests/urlrequest_unittest.cc', | ||||||
|       'tests/ceftests/test_handler.cc', |       'tests/ceftests/test_handler.cc', | ||||||
|       'tests/ceftests/test_handler.h', |       'tests/ceftests/test_handler.h', | ||||||
|  |       'tests/ceftests/test_request.cc', | ||||||
|  |       'tests/ceftests/test_request.h', | ||||||
|  |       'tests/ceftests/test_server.cc', | ||||||
|  |       'tests/ceftests/test_server.h', | ||||||
|       'tests/ceftests/test_suite.cc', |       'tests/ceftests/test_suite.cc', | ||||||
|       'tests/ceftests/test_suite.h', |       'tests/ceftests/test_suite.h', | ||||||
|       'tests/ceftests/test_util.cc', |       'tests/ceftests/test_util.cc', | ||||||
|       'tests/ceftests/test_util.h', |       'tests/ceftests/test_util.h', | ||||||
|  |       'tests/ceftests/track_callback.h', | ||||||
|       'tests/ceftests/thread_helper.cc', |       'tests/ceftests/thread_helper.cc', | ||||||
|       'tests/ceftests/thread_helper.h', |       'tests/ceftests/thread_helper.h', | ||||||
|       'tests/ceftests/thread_unittest.cc', |       'tests/ceftests/thread_unittest.cc', | ||||||
|   | |||||||
| @@ -1,130 +0,0 @@ | |||||||
| # Copyright 2016 The Chromium Embedded Framework Authors. Portions copyright |  | ||||||
| # 2014 the Chromium Authors. All rights reserved. Use of this source code is |  | ||||||
| # governed by a BSD-style license that can be found in the LICENSE file. |  | ||||||
| # |  | ||||||
| # This is a copy of src/chrome/chrome_repack_locales.gni with the necessary |  | ||||||
| # modifications to meet CEF's requirements. |  | ||||||
|  |  | ||||||
| import("//build/config/chrome_build.gni") |  | ||||||
| import("//build/config/features.gni") |  | ||||||
| import("//build/config/ui.gni") |  | ||||||
| import("//tools/grit/repack.gni") |  | ||||||
|  |  | ||||||
| # Arguments: |  | ||||||
| # |  | ||||||
| #   locale |  | ||||||
| #       Internal name of locale. e.g. "pt-BR" |  | ||||||
| # |  | ||||||
| #   output |  | ||||||
| #       Output file name. |  | ||||||
| # |  | ||||||
| #   visibility |  | ||||||
| #       Normal meaning. |  | ||||||
| template("_repack_one_locale") { |  | ||||||
|   locale = invoker.locale |  | ||||||
|  |  | ||||||
|   repack(target_name) { |  | ||||||
|     visibility = invoker.visibility |  | ||||||
|  |  | ||||||
|     # Each input pak file should also have a deps line for completeness. |  | ||||||
|     # Add associated .h files in the make_pack_header("strings") target. |  | ||||||
|     sources = [ |  | ||||||
|       "${root_gen_dir}/cef/cef_strings_${locale}.pak", |  | ||||||
|       "${root_gen_dir}/chrome/chromium_strings_${locale}.pak", |  | ||||||
|       "${root_gen_dir}/chrome/generated_resources_${locale}.pak", |  | ||||||
|       "${root_gen_dir}/chrome/locale_settings_${locale}.pak", |  | ||||||
|       "${root_gen_dir}/chrome/platform_locale_settings_${locale}.pak", |  | ||||||
|       "${root_gen_dir}/components/strings/components_locale_settings_${locale}.pak", |  | ||||||
|       "${root_gen_dir}/components/strings/components_strings_${locale}.pak", |  | ||||||
|       "${root_gen_dir}/content/app/strings/content_strings_${locale}.pak", |  | ||||||
|       "${root_gen_dir}/extensions/strings/extensions_strings_${locale}.pak", |  | ||||||
|       "${root_gen_dir}/ui/strings/app_locale_settings_${locale}.pak", |  | ||||||
|       "${root_gen_dir}/ui/strings/ui_strings_${locale}.pak", |  | ||||||
|     ] |  | ||||||
|  |  | ||||||
|     # Use public_deps so that generated grit headers are discoverable from |  | ||||||
|     # the libcef_static target. Grit deps that generate .cc files must be |  | ||||||
|     # listed both here and in the libcef_static target. |  | ||||||
|     public_deps = [ |  | ||||||
|       ":cef_strings", |  | ||||||
|       "//chrome/app:chromium_strings", |  | ||||||
|       "//chrome/app:generated_resources", |  | ||||||
|       "//chrome/app/resources:locale_settings", |  | ||||||
|       "//chrome/app/resources:platform_locale_settings", |  | ||||||
|       "//components/strings:components_locale_settings", |  | ||||||
|       "//components/strings:components_strings", |  | ||||||
|       "//content/app/strings", |  | ||||||
|       "//extensions/strings", |  | ||||||
|       "//ui/strings:app_locale_settings", |  | ||||||
|       "//ui/strings:ui_strings", |  | ||||||
|     ] |  | ||||||
|  |  | ||||||
|     output = invoker.output |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # Creates an action to call the repack_locales script. |  | ||||||
| # |  | ||||||
| # The GYP version generates the locales in the "gen" directory and then copies |  | ||||||
| # it to the root build directory. This isn't easy to express in a GN copy |  | ||||||
| # rule since the files on Mac have a complex structure. So we generate the |  | ||||||
| # files into the final place and skip the "gen" directory. |  | ||||||
| # |  | ||||||
| # This template uses GN's looping constructs to avoid the complex call to |  | ||||||
| # chrome/tools/build/repack_locales.py which wraps the repack commands in the |  | ||||||
| # GYP build. |  | ||||||
| # |  | ||||||
| # Arguments |  | ||||||
| # |  | ||||||
| #   input_locales |  | ||||||
| #       List of locale names to use as inputs. |  | ||||||
| # |  | ||||||
| #   output_locales |  | ||||||
| #       A list containing the corresponding output names for each of the |  | ||||||
| #       input names. Mac uses different names in some cases. |  | ||||||
| # |  | ||||||
| #   visibility |  | ||||||
| template("cef_repack_locales") { |  | ||||||
|   # This is the name of the group below that will collect all the invidual |  | ||||||
|   # locale targets. External targets will depend on this. |  | ||||||
|   group_target_name = target_name |  | ||||||
|  |  | ||||||
|   # GN's subscript is too stupid to do invoker.output_locales[foo] so we need |  | ||||||
|   # to make a copy and do output_locales[foo]. |  | ||||||
|   output_locales = invoker.output_locales |  | ||||||
|  |  | ||||||
|   # Collects all targets the loop generates. |  | ||||||
|   locale_targets = [] |  | ||||||
|  |  | ||||||
|   # This loop iterates over the input locales and also keeps a counter so it |  | ||||||
|   # can simultaneously iterate over the output locales (using GN's very |  | ||||||
|   # limited looping capabilities). |  | ||||||
|   current_index = 0 |  | ||||||
|   foreach(input_locale, invoker.input_locales) { |  | ||||||
|     output_locale = output_locales[current_index] |  | ||||||
|  |  | ||||||
|     # Compute the name of the target for the current file. Save it for the deps. |  | ||||||
|     current_name = "${target_name}_${input_locale}" |  | ||||||
|     locale_targets += [ ":$current_name" ] |  | ||||||
|  |  | ||||||
|     _repack_one_locale(current_name) { |  | ||||||
|       visibility = [ ":$group_target_name" ] |  | ||||||
|       locale = input_locale |  | ||||||
|  |  | ||||||
|       # Compute the output name. Mac uses a different location. |  | ||||||
|       if (is_mac || is_ios) { |  | ||||||
|         output = "${root_gen_dir}/repack/locales/${output_locale}.pak" |  | ||||||
|       } else { |  | ||||||
|         output = "${root_out_dir}/locales/${output_locale}.pak" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     current_index = current_index + 1 |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   # The group that external targets depend on which collects all deps. |  | ||||||
|   group(group_target_name) { |  | ||||||
|     forward_variables_from(invoker, [ "visibility" ]) |  | ||||||
|     public_deps = locale_targets |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @@ -25,16 +25,17 @@ macro(PRINT_CEF_CONFIG) | |||||||
|  |  | ||||||
|   message(STATUS "Binary distribution root:     ${_CEF_ROOT}") |   message(STATUS "Binary distribution root:     ${_CEF_ROOT}") | ||||||
|  |  | ||||||
|   if(OS_MACOSX) |   if(OS_MAC) | ||||||
|     message(STATUS "Base SDK:                     ${CMAKE_OSX_SYSROOT}") |     message(STATUS "Base SDK:                     ${CMAKE_OSX_SYSROOT}") | ||||||
|     message(STATUS "Target SDK:                   ${CEF_TARGET_SDK}") |     message(STATUS "Target SDK:                   ${CEF_TARGET_SDK}") | ||||||
|   endif() |   endif() | ||||||
|  |  | ||||||
|   if(OS_WINDOWS) |   if(OS_WINDOWS) | ||||||
|     message(STATUS "CEF Windows sandbox:          ${USE_SANDBOX}") |  | ||||||
|     message(STATUS "Visual Studio ATL support:    ${USE_ATL}") |     message(STATUS "Visual Studio ATL support:    ${USE_ATL}") | ||||||
|   endif() |   endif() | ||||||
|  |  | ||||||
|  |   message(STATUS "CEF sandbox:                  ${USE_SANDBOX}") | ||||||
|  |  | ||||||
|   set(_libraries ${CEF_STANDARD_LIBS}) |   set(_libraries ${CEF_STANDARD_LIBS}) | ||||||
|   if(OS_WINDOWS AND USE_SANDBOX) |   if(OS_WINDOWS AND USE_SANDBOX) | ||||||
|     list(APPEND _libraries ${CEF_SANDBOX_STANDARD_LIBS}) |     list(APPEND _libraries ${CEF_SANDBOX_STANDARD_LIBS}) | ||||||
| @@ -74,8 +75,8 @@ macro(APPEND_PLATFORM_SOURCES name_of_list) | |||||||
|   if(OS_WINDOWS AND ${name_of_list}_WINDOWS) |   if(OS_WINDOWS AND ${name_of_list}_WINDOWS) | ||||||
|     list(APPEND ${name_of_list} ${${name_of_list}_WINDOWS}) |     list(APPEND ${name_of_list} ${${name_of_list}_WINDOWS}) | ||||||
|   endif() |   endif() | ||||||
|   if(OS_MACOSX AND ${name_of_list}_MACOSX) |   if(OS_MAC AND ${name_of_list}_MAC) | ||||||
|     list(APPEND ${name_of_list} ${${name_of_list}_MACOSX}) |     list(APPEND ${name_of_list} ${${name_of_list}_MAC}) | ||||||
|   endif() |   endif() | ||||||
| endmacro() | endmacro() | ||||||
|  |  | ||||||
| @@ -101,7 +102,19 @@ macro(COPY_FILES target file_list source_dir target_dir) | |||||||
|     set(source_file ${source_dir}/${FILENAME}) |     set(source_file ${source_dir}/${FILENAME}) | ||||||
|     get_filename_component(target_name ${FILENAME} NAME) |     get_filename_component(target_name ${FILENAME} NAME) | ||||||
|     set(target_file ${target_dir}/${target_name}) |     set(target_file ${target_dir}/${target_name}) | ||||||
|     if(IS_DIRECTORY ${source_file}) |  | ||||||
|  |     string(FIND ${source_file} "$<CONFIGURATION>" _pos) | ||||||
|  |     if(NOT ${_pos} EQUAL -1) | ||||||
|  |       # Must test with an actual configuration directory. | ||||||
|  |       string(REPLACE "$<CONFIGURATION>" "Release" existing_source_file ${source_file}) | ||||||
|  |       if(NOT EXISTS ${existing_source_file}) | ||||||
|  |         string(REPLACE "$<CONFIGURATION>" "Debug" existing_source_file ${source_file}) | ||||||
|  |       endif() | ||||||
|  |     else() | ||||||
|  |       set(existing_source_file ${source_file}) | ||||||
|  |     endif() | ||||||
|  |  | ||||||
|  |     if(IS_DIRECTORY ${existing_source_file}) | ||||||
|       add_custom_command( |       add_custom_command( | ||||||
|         TARGET ${target} |         TARGET ${target} | ||||||
|         POST_BUILD |         POST_BUILD | ||||||
| @@ -171,26 +184,10 @@ endif(OS_LINUX) | |||||||
| # Mac OS X macros. | # Mac OS X macros. | ||||||
| # | # | ||||||
|  |  | ||||||
| if(OS_MACOSX) | if(OS_MAC) | ||||||
|  |  | ||||||
| # Fix the framework rpath in the helper executable. |  | ||||||
| macro(FIX_MACOSX_HELPER_FRAMEWORK_RPATH target) |  | ||||||
|   # The helper is in $app_name.app/Contents/Frameworks/$app_name Helper.app/Contents/MacOS/ |  | ||||||
|   # so set rpath up to Contents/ so that the loader can find Frameworks/. |  | ||||||
|   set_target_properties(${target} PROPERTIES INSTALL_RPATH "@executable_path/../../../..") |  | ||||||
|   set_target_properties(${target} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE) |  | ||||||
| endmacro() |  | ||||||
|  |  | ||||||
| # Fix the framework rpath in the main executable. |  | ||||||
| macro(FIX_MACOSX_MAIN_FRAMEWORK_RPATH target) |  | ||||||
|   # The main app is at $app_name.app/Contents/MacOS/$app_name |  | ||||||
|   # so set rpath up to Contents/ so that the loader can find Frameworks/. |  | ||||||
|   set_target_properties(${target} PROPERTIES INSTALL_RPATH "@executable_path/..") |  | ||||||
|   set_target_properties(${target} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE) |  | ||||||
| endmacro() |  | ||||||
|  |  | ||||||
| # Manually process and copy over resource files. | # Manually process and copy over resource files. | ||||||
| macro(COPY_MACOSX_RESOURCES resource_list prefix_list target source_dir app_path) | macro(COPY_MAC_RESOURCES resource_list prefix_list target source_dir app_path) | ||||||
|   foreach(FILENAME ${resource_list}) |   foreach(FILENAME ${resource_list}) | ||||||
|     # Remove one or more prefixes from the source paths. |     # Remove one or more prefixes from the source paths. | ||||||
|     set(TARGET_FILENAME "${FILENAME}") |     set(TARGET_FILENAME "${FILENAME}") | ||||||
| @@ -232,7 +229,7 @@ macro(COPY_MACOSX_RESOURCES resource_list prefix_list target source_dir app_path | |||||||
|   endforeach() |   endforeach() | ||||||
| endmacro() | endmacro() | ||||||
|  |  | ||||||
| endif(OS_MACOSX) | endif(OS_MAC) | ||||||
|  |  | ||||||
|  |  | ||||||
| # | # | ||||||
| @@ -301,7 +298,7 @@ macro(SET_COMMON_TARGET_PROPERTIES target) | |||||||
|     set_property(TARGET ${target} PROPERTY LINK_FLAGS_RELEASE ${_flags_str}) |     set_property(TARGET ${target} PROPERTY LINK_FLAGS_RELEASE ${_flags_str}) | ||||||
|   endif() |   endif() | ||||||
|  |  | ||||||
|   if(OS_MACOSX) |   if(OS_MAC) | ||||||
|     # Set Xcode target properties. |     # Set Xcode target properties. | ||||||
|     set_target_properties(${target} PROPERTIES |     set_target_properties(${target} PROPERTIES | ||||||
|       XCODE_ATTRIBUTE_ALWAYS_SEARCH_USER_PATHS                    NO |       XCODE_ATTRIBUTE_ALWAYS_SEARCH_USER_PATHS                    NO | ||||||
|   | |||||||
| @@ -14,7 +14,8 @@ endif() | |||||||
|  |  | ||||||
| # Determine the platform. | # Determine the platform. | ||||||
| if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") | if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") | ||||||
|   set(OS_MACOSX 1) |   set(OS_MAC 1) | ||||||
|  |   set(OS_MACOSX 1)  # For backwards compatibility. | ||||||
|   set(OS_POSIX 1) |   set(OS_POSIX 1) | ||||||
| elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") | elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") | ||||||
|   set(OS_LINUX 1) |   set(OS_LINUX 1) | ||||||
| @@ -25,13 +26,15 @@ endif() | |||||||
|  |  | ||||||
| # Determine the project architecture. | # Determine the project architecture. | ||||||
| if(NOT DEFINED PROJECT_ARCH) | if(NOT DEFINED PROJECT_ARCH) | ||||||
|   if(CMAKE_SIZEOF_VOID_P MATCHES 8) |   if(OS_WINDOWS AND "${CMAKE_GENERATOR_PLATFORM}" STREQUAL "arm64") | ||||||
|  |     set(PROJECT_ARCH "arm64") | ||||||
|  |   elseif(CMAKE_SIZEOF_VOID_P MATCHES 8) | ||||||
|     set(PROJECT_ARCH "x86_64") |     set(PROJECT_ARCH "x86_64") | ||||||
|   else() |   else() | ||||||
|     set(PROJECT_ARCH "x86") |     set(PROJECT_ARCH "x86") | ||||||
|   endif() |   endif() | ||||||
|  |  | ||||||
|   if(OS_MACOSX) |   if(OS_MAC) | ||||||
|     # PROJECT_ARCH should be specified on Mac OS X. |     # PROJECT_ARCH should be specified on Mac OS X. | ||||||
|     message(WARNING "No PROJECT_ARCH value specified, using ${PROJECT_ARCH}") |     message(WARNING "No PROJECT_ARCH value specified, using ${PROJECT_ARCH}") | ||||||
|   endif() |   endif() | ||||||
| @@ -66,6 +69,10 @@ list(APPEND CEF_COMPILER_DEFINES | |||||||
|   ) |   ) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Configure use of the sandbox. | ||||||
|  | option(USE_SANDBOX "Enable or disable use of the sandbox." ON) | ||||||
|  |  | ||||||
|  |  | ||||||
| # | # | ||||||
| # Linux configuration. | # Linux configuration. | ||||||
| # | # | ||||||
| @@ -86,6 +93,9 @@ if(OS_LINUX) | |||||||
|     -Werror                         # Treat warnings as errors |     -Werror                         # Treat warnings as errors | ||||||
|     -Wno-missing-field-initializers # Don't warn about missing field initializers |     -Wno-missing-field-initializers # Don't warn about missing field initializers | ||||||
|     -Wno-unused-parameter           # Don't warn about unused parameters |     -Wno-unused-parameter           # Don't warn about unused parameters | ||||||
|  |     -Wno-error=comment              # Don't warn about code in comments | ||||||
|  |     -Wno-comment                    # Don't warn about code in comments | ||||||
|  |     -Wno-deprecated-declarations    # Don't warn about using deprecated methods | ||||||
|     ) |     ) | ||||||
|   list(APPEND CEF_C_COMPILER_FLAGS |   list(APPEND CEF_C_COMPILER_FLAGS | ||||||
|     -std=c99                        # Use the C99 language standard |     -std=c99                        # Use the C99 language standard | ||||||
| @@ -135,6 +145,13 @@ if(OS_LINUX) | |||||||
|   include(CheckCCompilerFlag) |   include(CheckCCompilerFlag) | ||||||
|   include(CheckCXXCompilerFlag) |   include(CheckCXXCompilerFlag) | ||||||
|  |  | ||||||
|  |   CHECK_CXX_COMPILER_FLAG(-Wno-undefined-var-template COMPILER_SUPPORTS_NO_UNDEFINED_VAR_TEMPLATE) | ||||||
|  |   if(COMPILER_SUPPORTS_NO_UNDEFINED_VAR_TEMPLATE) | ||||||
|  |     list(APPEND CEF_CXX_COMPILER_FLAGS | ||||||
|  |       -Wno-undefined-var-template   # Don't warn about potentially uninstantiated static members | ||||||
|  |       ) | ||||||
|  |   endif() | ||||||
|  |  | ||||||
|   CHECK_C_COMPILER_FLAG(-Wno-unused-local-typedefs COMPILER_SUPPORTS_NO_UNUSED_LOCAL_TYPEDEFS) |   CHECK_C_COMPILER_FLAG(-Wno-unused-local-typedefs COMPILER_SUPPORTS_NO_UNUSED_LOCAL_TYPEDEFS) | ||||||
|   if(COMPILER_SUPPORTS_NO_UNUSED_LOCAL_TYPEDEFS) |   if(COMPILER_SUPPORTS_NO_UNUSED_LOCAL_TYPEDEFS) | ||||||
|     list(APPEND CEF_C_COMPILER_FLAGS |     list(APPEND CEF_C_COMPILER_FLAGS | ||||||
| @@ -156,6 +173,12 @@ if(OS_LINUX) | |||||||
|       ) |       ) | ||||||
|   endif() |   endif() | ||||||
|  |  | ||||||
|  |   if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") | ||||||
|  |     list(APPEND CEF_CXX_COMPILER_FLAGS | ||||||
|  |       -Wno-attributes             # The cfi-icall attribute is not supported by the GNU C++ compiler | ||||||
|  |       ) | ||||||
|  |   endif() | ||||||
|  |  | ||||||
|   if(PROJECT_ARCH STREQUAL "x86_64") |   if(PROJECT_ARCH STREQUAL "x86_64") | ||||||
|     # 64-bit architecture. |     # 64-bit architecture. | ||||||
|     list(APPEND CEF_COMPILER_FLAGS |     list(APPEND CEF_COMPILER_FLAGS | ||||||
| @@ -197,20 +220,27 @@ if(OS_LINUX) | |||||||
|   set(CEF_BINARY_FILES |   set(CEF_BINARY_FILES | ||||||
|     chrome-sandbox |     chrome-sandbox | ||||||
|     libcef.so |     libcef.so | ||||||
|     natives_blob.bin |     libEGL.so | ||||||
|  |     libGLESv2.so | ||||||
|     snapshot_blob.bin |     snapshot_blob.bin | ||||||
|  |     v8_context_snapshot.bin | ||||||
|  |     swiftshader | ||||||
|     ) |     ) | ||||||
|  |  | ||||||
|   # List of CEF resource files. |   # List of CEF resource files. | ||||||
|   set(CEF_RESOURCE_FILES |   set(CEF_RESOURCE_FILES | ||||||
|     cef.pak |     chrome_100_percent.pak | ||||||
|     cef_100_percent.pak |     chrome_200_percent.pak | ||||||
|     cef_200_percent.pak |     resources.pak | ||||||
|     cef_extensions.pak |  | ||||||
|     devtools_resources.pak |  | ||||||
|     icudtl.dat |     icudtl.dat | ||||||
|     locales |     locales | ||||||
|     ) |     ) | ||||||
|  |  | ||||||
|  |   if(USE_SANDBOX) | ||||||
|  |     list(APPEND CEF_COMPILER_DEFINES | ||||||
|  |       CEF_USE_SANDBOX   # Used by apps to test if the sandbox is enabled | ||||||
|  |       ) | ||||||
|  |   endif() | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -218,7 +248,7 @@ endif() | |||||||
| # Mac OS X configuration. | # Mac OS X configuration. | ||||||
| # | # | ||||||
|  |  | ||||||
| if(OS_MACOSX) | if(OS_MAC) | ||||||
|   # Platform-specific compiler/linker flags. |   # Platform-specific compiler/linker flags. | ||||||
|   # See also Xcode target properties in cef_macros.cmake. |   # See also Xcode target properties in cef_macros.cmake. | ||||||
|   set(CEF_LIBTYPE SHARED) |   set(CEF_LIBTYPE SHARED) | ||||||
| @@ -282,7 +312,7 @@ if(OS_MACOSX) | |||||||
|  |  | ||||||
|   # Find the newest available base SDK. |   # Find the newest available base SDK. | ||||||
|   execute_process(COMMAND xcode-select --print-path OUTPUT_VARIABLE XCODE_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) |   execute_process(COMMAND xcode-select --print-path OUTPUT_VARIABLE XCODE_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) | ||||||
|   foreach(OS_VERSION 10.11 10.10 10.9) |   foreach(OS_VERSION 10.15 10.14 10.13 10.12 10.11) | ||||||
|     set(SDK "${XCODE_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX${OS_VERSION}.sdk") |     set(SDK "${XCODE_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX${OS_VERSION}.sdk") | ||||||
|     if(NOT "${CMAKE_OSX_SYSROOT}" AND EXISTS "${SDK}" AND IS_DIRECTORY "${SDK}") |     if(NOT "${CMAKE_OSX_SYSROOT}" AND EXISTS "${SDK}" AND IS_DIRECTORY "${SDK}") | ||||||
|       set(CMAKE_OSX_SYSROOT ${SDK}) |       set(CMAKE_OSX_SYSROOT ${SDK}) | ||||||
| @@ -290,7 +320,7 @@ if(OS_MACOSX) | |||||||
|   endforeach() |   endforeach() | ||||||
|  |  | ||||||
|   # Target SDK. |   # Target SDK. | ||||||
|   set(CEF_TARGET_SDK               "10.9") |   set(CEF_TARGET_SDK               "10.11") | ||||||
|   list(APPEND CEF_COMPILER_FLAGS |   list(APPEND CEF_COMPILER_FLAGS | ||||||
|     -mmacosx-version-min=${CEF_TARGET_SDK} |     -mmacosx-version-min=${CEF_TARGET_SDK} | ||||||
|   ) |   ) | ||||||
| @@ -299,18 +329,38 @@ if(OS_MACOSX) | |||||||
|   # Target architecture. |   # Target architecture. | ||||||
|   if(PROJECT_ARCH STREQUAL "x86_64") |   if(PROJECT_ARCH STREQUAL "x86_64") | ||||||
|     set(CMAKE_OSX_ARCHITECTURES "x86_64") |     set(CMAKE_OSX_ARCHITECTURES "x86_64") | ||||||
|  |   elseif(PROJECT_ARCH STREQUAL "arm64") | ||||||
|  |     set(CMAKE_OSX_ARCHITECTURES "arm64") | ||||||
|   else() |   else() | ||||||
|     set(CMAKE_OSX_ARCHITECTURES "i386") |     set(CMAKE_OSX_ARCHITECTURES "i386") | ||||||
|   endif() |   endif() | ||||||
|  |  | ||||||
|  |   # Prevent Xcode 11 from doing automatic codesigning. | ||||||
|  |   set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "") | ||||||
|  |  | ||||||
|   # CEF directory paths. |   # CEF directory paths. | ||||||
|   set(CEF_BINARY_DIR          "${_CEF_ROOT}/$<CONFIGURATION>") |   set(CEF_BINARY_DIR          "${_CEF_ROOT}/$<CONFIGURATION>") | ||||||
|   set(CEF_BINARY_DIR_DEBUG    "${_CEF_ROOT}/Debug") |   set(CEF_BINARY_DIR_DEBUG    "${_CEF_ROOT}/Debug") | ||||||
|   set(CEF_BINARY_DIR_RELEASE  "${_CEF_ROOT}/Release") |   set(CEF_BINARY_DIR_RELEASE  "${_CEF_ROOT}/Release") | ||||||
|  |  | ||||||
|   # CEF library paths. |   if(USE_SANDBOX) | ||||||
|   set(CEF_LIB_DEBUG   "${CEF_BINARY_DIR_DEBUG}/Chromium Embedded Framework.framework/Chromium Embedded Framework") |     list(APPEND CEF_COMPILER_DEFINES | ||||||
|   set(CEF_LIB_RELEASE "${CEF_BINARY_DIR_RELEASE}/Chromium Embedded Framework.framework/Chromium Embedded Framework") |       CEF_USE_SANDBOX   # Used by apps to test if the sandbox is enabled | ||||||
|  |       ) | ||||||
|  |  | ||||||
|  |     # CEF sandbox library paths. | ||||||
|  |     set(CEF_SANDBOX_LIB_DEBUG "${CEF_BINARY_DIR_DEBUG}/cef_sandbox.a") | ||||||
|  |     set(CEF_SANDBOX_LIB_RELEASE "${CEF_BINARY_DIR_RELEASE}/cef_sandbox.a") | ||||||
|  |   endif() | ||||||
|  |  | ||||||
|  |   # CEF Helper app suffixes. | ||||||
|  |   # Format is "<name suffix>:<target suffix>:<plist suffix>". | ||||||
|  |   set(CEF_HELPER_APP_SUFFIXES | ||||||
|  |     "::" | ||||||
|  |     " (GPU):_gpu:.gpu" | ||||||
|  |     " (Plugin):_plugin:.plugin" | ||||||
|  |     " (Renderer):_renderer:.renderer" | ||||||
|  |     ) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -327,27 +377,25 @@ if(OS_WINDOWS) | |||||||
|     set(CMAKE_CXX_FLAGS_RELEASE "") |     set(CMAKE_CXX_FLAGS_RELEASE "") | ||||||
|   endif() |   endif() | ||||||
|  |  | ||||||
|   # Configure use of the sandbox. |   if(USE_SANDBOX) | ||||||
|   option(USE_SANDBOX "Enable or disable use of the sandbox." ON) |     # Check if the current MSVC version is compatible with the cef_sandbox.lib | ||||||
|   if(USE_SANDBOX AND NOT MSVC_VERSION EQUAL 1900) |     # static library. We require VS2015 or newer. | ||||||
|     # The cef_sandbox.lib static library is currently built with VS2015. It will |     if(MSVC_VERSION LESS 1900) | ||||||
|     # not link successfully with other VS versions. |       message(WARNING "CEF sandbox is not compatible with the current MSVC version (${MSVC_VERSION})") | ||||||
|     set(USE_SANDBOX OFF) |       set(USE_SANDBOX OFF) | ||||||
|   endif() |     endif() | ||||||
|  |  | ||||||
|   # Configure use of official build compiler settings. |  | ||||||
|   # When using an official build the "Debug" build is actually a Release build |  | ||||||
|   # with DCHECKs enabled. In order to link the sandbox the Debug build must |  | ||||||
|   # be configured with some Release-related compiler settings. |  | ||||||
|   option(USE_OFFICIAL_BUILD_SANDBOX "Enable or disable use of an official build sandbox." ON) |  | ||||||
|   if(NOT USE_SANDBOX) |  | ||||||
|     # Don't need official build settings when the sandbox is off. |  | ||||||
|     set(USE_OFFICIAL_BUILD_SANDBOX OFF) |  | ||||||
|   endif() |   endif() | ||||||
|  |  | ||||||
|   # Consumers who run into LNK4099 warnings can pass /Z7 instead (see issue #385). |   # Consumers who run into LNK4099 warnings can pass /Z7 instead (see issue #385). | ||||||
|   set(CEF_DEBUG_INFO_FLAG "/Zi" CACHE STRING "Optional flag specifying specific /Z flag to use") |   set(CEF_DEBUG_INFO_FLAG "/Zi" CACHE STRING "Optional flag specifying specific /Z flag to use") | ||||||
|  |  | ||||||
|  |   # Consumers using different runtime types may want to pass different flags | ||||||
|  |   set(CEF_RUNTIME_LIBRARY_FLAG "/MT" CACHE STRING "Optional flag specifying which runtime to use") | ||||||
|  |   if (CEF_RUNTIME_LIBRARY_FLAG) | ||||||
|  |     list(APPEND CEF_COMPILER_FLAGS_DEBUG ${CEF_RUNTIME_LIBRARY_FLAG}d) | ||||||
|  |     list(APPEND CEF_COMPILER_FLAGS_RELEASE ${CEF_RUNTIME_LIBRARY_FLAG}) | ||||||
|  |   endif() | ||||||
|  |  | ||||||
|   # Platform-specific compiler/linker flags. |   # Platform-specific compiler/linker flags. | ||||||
|   set(CEF_LIBTYPE STATIC) |   set(CEF_LIBTYPE STATIC) | ||||||
|   list(APPEND CEF_COMPILER_FLAGS |   list(APPEND CEF_COMPILER_FLAGS | ||||||
| @@ -366,29 +414,11 @@ if(OS_WINDOWS) | |||||||
|     /wd4996       # Ignore "function or variable may be unsafe" warning |     /wd4996       # Ignore "function or variable may be unsafe" warning | ||||||
|     ${CEF_DEBUG_INFO_FLAG} |     ${CEF_DEBUG_INFO_FLAG} | ||||||
|     ) |     ) | ||||||
|   if(USE_OFFICIAL_BUILD_SANDBOX) |   list(APPEND CEF_COMPILER_FLAGS_DEBUG | ||||||
|     # CMake adds /RTC1, /D"_DEBUG" and a few other values by default for Debug |     /RTC1         # Disable optimizations | ||||||
|     # builds. We can't link the sandbox with those values so clear the CMake |     /Od           # Enable basic run-time checks | ||||||
|     # defaults here. |     ) | ||||||
|     set(CMAKE_CXX_FLAGS_DEBUG "") |  | ||||||
|  |  | ||||||
|     # These flags are required to successfully link and run applications using |  | ||||||
|     # the sandbox library. |  | ||||||
|     list(APPEND CEF_COMPILER_FLAGS_DEBUG |  | ||||||
|       /MT           # Multithreaded release runtime |  | ||||||
|       /O2           # Maximize speed optimization |  | ||||||
|       /Zc:inline    # Remove unreferenced functions or data |  | ||||||
|       /Oy-          # Disable frame-pointer omission |  | ||||||
|       ) |  | ||||||
|   else() |  | ||||||
|     list(APPEND CEF_COMPILER_FLAGS_DEBUG |  | ||||||
|       /MTd          # Multithreaded debug runtime |  | ||||||
|       /RTC1         # Disable optimizations |  | ||||||
|       /Od           # Enable basic run-time checks |  | ||||||
|       ) |  | ||||||
|   endif() |  | ||||||
|   list(APPEND CEF_COMPILER_FLAGS_RELEASE |   list(APPEND CEF_COMPILER_FLAGS_RELEASE | ||||||
|     /MT           # Multithreaded release runtime |  | ||||||
|     /O2           # Optimize for maximum speed |     /O2           # Optimize for maximum speed | ||||||
|     /Ob2          # Inline any suitable function |     /Ob2          # Inline any suitable function | ||||||
|     /GF           # Enable string pooling |     /GF           # Enable string pooling | ||||||
| @@ -408,12 +438,6 @@ if(OS_WINDOWS) | |||||||
|     WIN32_LEAN_AND_MEAN               # Exclude less common API declarations |     WIN32_LEAN_AND_MEAN               # Exclude less common API declarations | ||||||
|     _HAS_EXCEPTIONS=0                 # Disable exceptions |     _HAS_EXCEPTIONS=0                 # Disable exceptions | ||||||
|     ) |     ) | ||||||
|   if(USE_OFFICIAL_BUILD_SANDBOX) |  | ||||||
|     list(APPEND CEF_COMPILER_DEFINES_DEBUG |  | ||||||
|       NDEBUG _NDEBUG                    # Not a debug build |  | ||||||
|       DCHECK_ALWAYS_ON=1                # DCHECKs are enabled |  | ||||||
|       ) |  | ||||||
|   endif() |  | ||||||
|   list(APPEND CEF_COMPILER_DEFINES_RELEASE |   list(APPEND CEF_COMPILER_DEFINES_RELEASE | ||||||
|     NDEBUG _NDEBUG                    # Not a debug build |     NDEBUG _NDEBUG                    # Not a debug build | ||||||
|     ) |     ) | ||||||
| @@ -439,22 +463,25 @@ if(OS_WINDOWS) | |||||||
|   # List of CEF binary files. |   # List of CEF binary files. | ||||||
|   set(CEF_BINARY_FILES |   set(CEF_BINARY_FILES | ||||||
|     chrome_elf.dll |     chrome_elf.dll | ||||||
|     d3dcompiler_43.dll |  | ||||||
|     d3dcompiler_47.dll |  | ||||||
|     libcef.dll |     libcef.dll | ||||||
|     libEGL.dll |     libEGL.dll | ||||||
|     libGLESv2.dll |     libGLESv2.dll | ||||||
|     natives_blob.bin |  | ||||||
|     snapshot_blob.bin |     snapshot_blob.bin | ||||||
|  |     v8_context_snapshot.bin | ||||||
|  |     swiftshader | ||||||
|     ) |     ) | ||||||
|  |  | ||||||
|  |   if(NOT PROJECT_ARCH STREQUAL "arm64") | ||||||
|  |     list(APPEND CEF_BINARY_FILES | ||||||
|  |       d3dcompiler_47.dll | ||||||
|  |       ) | ||||||
|  |   endif() | ||||||
|  |  | ||||||
|   # List of CEF resource files. |   # List of CEF resource files. | ||||||
|   set(CEF_RESOURCE_FILES |   set(CEF_RESOURCE_FILES | ||||||
|     cef.pak |     chrome_100_percent.pak | ||||||
|     cef_100_percent.pak |     chrome_200_percent.pak | ||||||
|     cef_200_percent.pak |     resources.pak | ||||||
|     cef_extensions.pak |  | ||||||
|     devtools_resources.pak |  | ||||||
|     icudtl.dat |     icudtl.dat | ||||||
|     locales |     locales | ||||||
|     ) |     ) | ||||||
| @@ -464,12 +491,23 @@ if(OS_WINDOWS) | |||||||
|       PSAPI_VERSION=1   # Required by cef_sandbox.lib |       PSAPI_VERSION=1   # Required by cef_sandbox.lib | ||||||
|       CEF_USE_SANDBOX   # Used by apps to test if the sandbox is enabled |       CEF_USE_SANDBOX   # Used by apps to test if the sandbox is enabled | ||||||
|       ) |       ) | ||||||
|  |     list(APPEND CEF_COMPILER_DEFINES_DEBUG | ||||||
|  |       _HAS_ITERATOR_DEBUGGING=0   # Disable iterator debugging | ||||||
|  |       ) | ||||||
|  |  | ||||||
|     # Libraries required by cef_sandbox.lib. |     # Libraries required by cef_sandbox.lib. | ||||||
|     set(CEF_SANDBOX_STANDARD_LIBS |     set(CEF_SANDBOX_STANDARD_LIBS | ||||||
|  |       Advapi32.lib | ||||||
|       dbghelp.lib |       dbghelp.lib | ||||||
|  |       Delayimp.lib | ||||||
|  |       OleAut32.lib | ||||||
|  |       PowrProf.lib | ||||||
|  |       Propsys.lib | ||||||
|       psapi.lib |       psapi.lib | ||||||
|  |       SetupAPI.lib | ||||||
|  |       Shell32.lib | ||||||
|       version.lib |       version.lib | ||||||
|  |       wbemuuid.lib | ||||||
|       winmm.lib |       winmm.lib | ||||||
|       ) |       ) | ||||||
|  |  | ||||||
| @@ -481,18 +519,25 @@ if(OS_WINDOWS) | |||||||
|   # Configure use of ATL. |   # Configure use of ATL. | ||||||
|   option(USE_ATL "Enable or disable use of ATL." ON) |   option(USE_ATL "Enable or disable use of ATL." ON) | ||||||
|   if(USE_ATL) |   if(USE_ATL) | ||||||
|     # Locate the VC directory. The cl.exe path returned by CMAKE_CXX_COMPILER |     # Locate the atlmfc directory if it exists. It may be at any depth inside | ||||||
|     # may be at different directory depths depending on the toolchain version |     # the VC directory. The cl.exe path returned by CMAKE_CXX_COMPILER may also | ||||||
|     # (e.g. "VC/bin/cl.exe", "VC/bin/amd64_x86/cl.exe", etc). |     # be at different depths depending on the toolchain version | ||||||
|  |     # (e.g. "VC/bin/cl.exe", "VC/bin/amd64_x86/cl.exe", | ||||||
|  |     # "VC/Tools/MSVC/14.10.25017/bin/HostX86/x86/cl.exe", etc). | ||||||
|  |     set(HAS_ATLMFC 0) | ||||||
|     get_filename_component(VC_DIR ${CMAKE_CXX_COMPILER} DIRECTORY) |     get_filename_component(VC_DIR ${CMAKE_CXX_COMPILER} DIRECTORY) | ||||||
|     get_filename_component(VC_DIR_NAME ${VC_DIR} NAME) |     get_filename_component(VC_DIR_NAME ${VC_DIR} NAME) | ||||||
|     while(NOT ${VC_DIR_NAME} STREQUAL "VC") |     while(NOT ${VC_DIR_NAME} STREQUAL "VC") | ||||||
|       get_filename_component(VC_DIR ${VC_DIR} DIRECTORY) |       get_filename_component(VC_DIR ${VC_DIR} DIRECTORY) | ||||||
|  |       if(IS_DIRECTORY "${VC_DIR}/atlmfc") | ||||||
|  |         set(HAS_ATLMFC 1) | ||||||
|  |         break() | ||||||
|  |       endif() | ||||||
|       get_filename_component(VC_DIR_NAME ${VC_DIR} NAME) |       get_filename_component(VC_DIR_NAME ${VC_DIR} NAME) | ||||||
|     endwhile() |     endwhile() | ||||||
|  |  | ||||||
|     # Determine if the Visual Studio install supports ATL. |     # Determine if the Visual Studio install supports ATL. | ||||||
|     if(NOT IS_DIRECTORY "${VC_DIR}/atlmfc") |     if(NOT HAS_ATLMFC) | ||||||
|       message(WARNING "ATL is not supported by your VC installation.") |       message(WARNING "ATL is not supported by your VC installation.") | ||||||
|       set(USE_ATL OFF) |       set(USE_ATL OFF) | ||||||
|     endif() |     endif() | ||||||
|   | |||||||
| @@ -39,14 +39,49 @@ | |||||||
| #define CEF_INCLUDE_BASE_CEF_ATOMIC_REF_COUNT_H_ | #define CEF_INCLUDE_BASE_CEF_ATOMIC_REF_COUNT_H_ | ||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #if defined(BASE_ATOMIC_REF_COUNT_H_) | #if defined(USING_CHROMIUM_INCLUDES) | ||||||
| // Do nothing if the Chromium header has already been included. |  | ||||||
| // This can happen in cases where Chromium code is used directly by the |  | ||||||
| // client application. When using Chromium code directly always include |  | ||||||
| // the Chromium header first to avoid type conflicts. |  | ||||||
| #elif defined(USING_CHROMIUM_INCLUDES) |  | ||||||
| // When building CEF include the Chromium header directly. | // When building CEF include the Chromium header directly. | ||||||
| #include "base/atomic_ref_count.h" | #include "base/atomic_ref_count.h" | ||||||
|  |  | ||||||
|  | // Used when declaring a base::AtomicRefCount value. This is an object type with | ||||||
|  | // Chromium headers. | ||||||
|  | #define ATOMIC_DECLARATION (0) | ||||||
|  |  | ||||||
|  | // Maintaining compatibility with AtompicRefCount* functions that were removed | ||||||
|  | // from Chromium in http://crrev.com/ee96d561. | ||||||
|  | namespace base { | ||||||
|  |  | ||||||
|  | // Increment a reference count by 1. | ||||||
|  | inline void AtomicRefCountInc(volatile AtomicRefCount* ptr) { | ||||||
|  |   const_cast<AtomicRefCount*>(ptr)->Increment(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Decrement a reference count by 1 and return whether the result is non-zero. | ||||||
|  | // Insert barriers to ensure that state written before the reference count | ||||||
|  | // became zero will be visible to a thread that has just made the count zero. | ||||||
|  | inline bool AtomicRefCountDec(volatile AtomicRefCount* ptr) { | ||||||
|  |   return const_cast<AtomicRefCount*>(ptr)->Decrement(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Return whether the reference count is one.  If the reference count is used | ||||||
|  | // in the conventional way, a refrerence count of 1 implies that the current | ||||||
|  | // thread owns the reference and no other thread shares it.  This call performs | ||||||
|  | // the test for a reference count of one, and performs the memory barrier | ||||||
|  | // needed for the owning thread to act on the object, knowing that it has | ||||||
|  | // exclusive access to the object. | ||||||
|  | inline bool AtomicRefCountIsOne(volatile AtomicRefCount* ptr) { | ||||||
|  |   return const_cast<AtomicRefCount*>(ptr)->IsOne(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Return whether the reference count is zero.  With conventional object | ||||||
|  | // referencing counting, the object will be destroyed, so the reference count | ||||||
|  | // should never be zero.  Hence this is generally used for a debug check. | ||||||
|  | inline bool AtomicRefCountIsZero(volatile AtomicRefCount* ptr) { | ||||||
|  |   return const_cast<AtomicRefCount*>(ptr)->IsZero(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | }  // namespace base | ||||||
|  |  | ||||||
| #else  // !USING_CHROMIUM_INCLUDES | #else  // !USING_CHROMIUM_INCLUDES | ||||||
| // The following is substantially similar to the Chromium implementation. | // The following is substantially similar to the Chromium implementation. | ||||||
| // If the Chromium implementation diverges the below implementation should be | // If the Chromium implementation diverges the below implementation should be | ||||||
| @@ -58,6 +93,10 @@ | |||||||
| #define ANNOTATE_HAPPENS_BEFORE(obj) /* empty */ | #define ANNOTATE_HAPPENS_BEFORE(obj) /* empty */ | ||||||
| #define ANNOTATE_HAPPENS_AFTER(obj)  /* empty */ | #define ANNOTATE_HAPPENS_AFTER(obj)  /* empty */ | ||||||
|  |  | ||||||
|  | // Used when declaring a base::AtomicRefCount value. This is an integer/ptr type | ||||||
|  | // with CEF headers. | ||||||
|  | #define ATOMIC_DECLARATION = 0 | ||||||
|  |  | ||||||
| namespace base { | namespace base { | ||||||
|  |  | ||||||
| typedef subtle::Atomic32 AtomicRefCount; | typedef subtle::Atomic32 AtomicRefCount; | ||||||
|   | |||||||
| @@ -178,10 +178,14 @@ Atomic64 Release_Load(volatile const Atomic64* ptr); | |||||||
| // Include our platform specific implementation. | // Include our platform specific implementation. | ||||||
| #if defined(OS_WIN) && defined(COMPILER_MSVC) && defined(ARCH_CPU_X86_FAMILY) | #if defined(OS_WIN) && defined(COMPILER_MSVC) && defined(ARCH_CPU_X86_FAMILY) | ||||||
| #include "include/base/internal/cef_atomicops_x86_msvc.h" | #include "include/base/internal/cef_atomicops_x86_msvc.h" | ||||||
| #elif defined(OS_MACOSX) | #elif defined(OS_WIN) && (defined(__ARM_ARCH_ISA_A64) || defined(_M_ARM64)) | ||||||
|  | #include "include/base/internal/cef_atomicops_arm64_msvc.h" | ||||||
|  | #elif defined(OS_MAC) | ||||||
| #include "include/base/internal/cef_atomicops_mac.h" | #include "include/base/internal/cef_atomicops_mac.h" | ||||||
| #elif defined(COMPILER_GCC) && defined(ARCH_CPU_X86_FAMILY) | #elif defined(COMPILER_GCC) && defined(ARCH_CPU_X86_FAMILY) | ||||||
| #include "include/base/internal/cef_atomicops_x86_gcc.h" | #include "include/base/internal/cef_atomicops_x86_gcc.h" | ||||||
|  | #elif defined(COMPILER_GCC) && defined(__ARM_ARCH_ISA_A64) | ||||||
|  | #include "include/base/internal/cef_atomicops_arm64_gcc.h" | ||||||
| #elif defined(COMPILER_GCC) && defined(__ARM_ARCH) | #elif defined(COMPILER_GCC) && defined(__ARM_ARCH) | ||||||
| #include "include/base/internal/cef_atomicops_arm_gcc.h" | #include "include/base/internal/cef_atomicops_arm_gcc.h" | ||||||
| #else | #else | ||||||
| @@ -190,7 +194,7 @@ Atomic64 Release_Load(volatile const Atomic64* ptr); | |||||||
|  |  | ||||||
| // On some platforms we need additional declarations to make | // On some platforms we need additional declarations to make | ||||||
| // AtomicWord compatible with our other Atomic* types. | // AtomicWord compatible with our other Atomic* types. | ||||||
| #if defined(OS_MACOSX) || defined(OS_OPENBSD) | #if defined(OS_MAC) || defined(OS_OPENBSD) | ||||||
| #include "include/base/internal/cef_atomicops_atomicword_compat.h" | #include "include/base/internal/cef_atomicops_atomicword_compat.h" | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|   | |||||||
| @@ -42,7 +42,7 @@ | |||||||
| // | // | ||||||
| // On Mac OS X, |long long| is used for 64-bit types for compatibility with | // On Mac OS X, |long long| is used for 64-bit types for compatibility with | ||||||
| // <inttypes.h> format macros even in the LP64 model. | // <inttypes.h> format macros even in the LP64 model. | ||||||
| #if defined(__LP64__) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) | #if defined(__LP64__) && !defined(OS_MAC) && !defined(OS_OPENBSD) | ||||||
| typedef long int64; | typedef long int64; | ||||||
| typedef unsigned long uint64; | typedef unsigned long uint64; | ||||||
| #else | #else | ||||||
| @@ -64,8 +64,17 @@ typedef int int32; | |||||||
| typedef unsigned int uint32; | typedef unsigned int uint32; | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #ifndef _INT16 | ||||||
|  | #define _INT16 | ||||||
|  | typedef short int16; | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #ifndef _UINT16 | ||||||
|  | #define _UINT16 | ||||||
|  | typedef unsigned short uint16; | ||||||
|  | #endif | ||||||
|  |  | ||||||
| // UTF-16 character type. | // UTF-16 character type. | ||||||
| // This should be kept synchronized with base/strings/string16.h |  | ||||||
| #ifndef char16 | #ifndef char16 | ||||||
| #if defined(WCHAR_T_IS_UTF16) | #if defined(WCHAR_T_IS_UTF16) | ||||||
| typedef wchar_t char16; | typedef wchar_t char16; | ||||||
|   | |||||||
| @@ -44,6 +44,14 @@ | |||||||
| #define OS_WIN 1 | #define OS_WIN 1 | ||||||
| #endif | #endif | ||||||
| #elif defined(__APPLE__) | #elif defined(__APPLE__) | ||||||
|  | // New platform defines after https://crbug.com/1105907. | ||||||
|  | #ifndef OS_MAC | ||||||
|  | #define OS_MAC 1 | ||||||
|  | #endif | ||||||
|  | #ifndef OS_APPLE | ||||||
|  | #define OS_APPLE 1 | ||||||
|  | #endif | ||||||
|  | // Old platform defines retained for backwards compatibility. | ||||||
| #ifndef OS_MACOSX | #ifndef OS_MACOSX | ||||||
| #define OS_MACOSX 1 | #define OS_MACOSX 1 | ||||||
| #endif | #endif | ||||||
| @@ -57,7 +65,7 @@ | |||||||
|  |  | ||||||
| // For access to standard POSIXish features, use OS_POSIX instead of a | // For access to standard POSIXish features, use OS_POSIX instead of a | ||||||
| // more specific macro. | // more specific macro. | ||||||
| #if defined(OS_MACOSX) || defined(OS_LINUX) | #if defined(OS_MAC) || defined(OS_LINUX) | ||||||
| #ifndef OS_POSIX | #ifndef OS_POSIX | ||||||
| #define OS_POSIX 1 | #define OS_POSIX 1 | ||||||
| #endif | #endif | ||||||
| @@ -95,7 +103,7 @@ | |||||||
| #define ARCH_CPU_ARMEL 1 | #define ARCH_CPU_ARMEL 1 | ||||||
| #define ARCH_CPU_32_BITS 1 | #define ARCH_CPU_32_BITS 1 | ||||||
| #define ARCH_CPU_LITTLE_ENDIAN 1 | #define ARCH_CPU_LITTLE_ENDIAN 1 | ||||||
| #elif defined(__aarch64__) | #elif defined(__aarch64__) || defined(_M_ARM64) | ||||||
| #define ARCH_CPU_ARM_FAMILY 1 | #define ARCH_CPU_ARM_FAMILY 1 | ||||||
| #define ARCH_CPU_ARM64 1 | #define ARCH_CPU_ARM64 1 | ||||||
| #define ARCH_CPU_64_BITS 1 | #define ARCH_CPU_64_BITS 1 | ||||||
| @@ -162,6 +170,16 @@ | |||||||
| #define ALLOW_UNUSED_LOCAL(x) false ? (void)x : (void)0 | #define ALLOW_UNUSED_LOCAL(x) false ? (void)x : (void)0 | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | // Sanitizers annotations. | ||||||
|  | #if defined(__has_attribute) | ||||||
|  | #if __has_attribute(no_sanitize) | ||||||
|  | #define NO_SANITIZE(what) __attribute__((no_sanitize(what))) | ||||||
|  | #endif | ||||||
|  | #endif | ||||||
|  | #if !defined(NO_SANITIZE) | ||||||
|  | #define NO_SANITIZE(what) | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #endif  // !USING_CHROMIUM_INCLUDES | #endif  // !USING_CHROMIUM_INCLUDES | ||||||
|  |  | ||||||
| // Annotate a virtual method indicating it must be overriding a virtual method | // Annotate a virtual method indicating it must be overriding a virtual method | ||||||
|   | |||||||
| @@ -1,93 +0,0 @@ | |||||||
| // Copyright (c) 2014 Marshall A. Greenblatt. Portions copyright (c) 2012 |  | ||||||
| // Google Inc. All rights reserved. |  | ||||||
| // |  | ||||||
| // Redistribution and use in source and binary forms, with or without |  | ||||||
| // modification, are permitted provided that the following conditions are |  | ||||||
| // met: |  | ||||||
| // |  | ||||||
| //    * Redistributions of source code must retain the above copyright |  | ||||||
| // notice, this list of conditions and the following disclaimer. |  | ||||||
| //    * Redistributions in binary form must reproduce the above |  | ||||||
| // copyright notice, this list of conditions and the following disclaimer |  | ||||||
| // in the documentation and/or other materials provided with the |  | ||||||
| // distribution. |  | ||||||
| //    * Neither the name of Google Inc. nor the name Chromium Embedded |  | ||||||
| // Framework nor the names of its contributors may be used to endorse |  | ||||||
| // or promote products derived from this software without specific prior |  | ||||||
| // written permission. |  | ||||||
| // |  | ||||||
| // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |  | ||||||
| // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |  | ||||||
| // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |  | ||||||
| // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |  | ||||||
| // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |  | ||||||
| // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |  | ||||||
| // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |  | ||||||
| // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |  | ||||||
| // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |  | ||||||
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |  | ||||||
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |  | ||||||
|  |  | ||||||
| // This defines helpful methods for dealing with Callbacks.  Because Callbacks |  | ||||||
| // are implemented using templates, with a class per callback signature, adding |  | ||||||
| // methods to Callback<> itself is unattractive (lots of extra code gets |  | ||||||
| // generated).  Instead, consider adding methods here. |  | ||||||
| // |  | ||||||
| // ResetAndReturn(&cb) is like cb.Reset() but allows executing a callback (via a |  | ||||||
| // copy) after the original callback is Reset().  This can be handy if Run() |  | ||||||
| // reads/writes the variable holding the Callback. |  | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_BASE_CEF_CALLBACK_HELPERS_H_ |  | ||||||
| #define CEF_INCLUDE_BASE_CEF_CALLBACK_HELPERS_H_ |  | ||||||
| #pragma once |  | ||||||
|  |  | ||||||
| #if defined(BASE_CALLBACK_HELPERS_H_) |  | ||||||
| // Do nothing if the Chromium header has already been included. |  | ||||||
| // This can happen in cases where Chromium code is used directly by the |  | ||||||
| // client application. When using Chromium code directly always include |  | ||||||
| // the Chromium header first to avoid type conflicts. |  | ||||||
| #elif defined(USING_CHROMIUM_INCLUDES) |  | ||||||
| // When building CEF include the Chromium header directly. |  | ||||||
| #include "base/callback_helpers.h" |  | ||||||
| #else  // !USING_CHROMIUM_INCLUDES |  | ||||||
| // The following is substantially similar to the Chromium implementation. |  | ||||||
| // If the Chromium implementation diverges the below implementation should be |  | ||||||
| // updated to match. |  | ||||||
|  |  | ||||||
| #include "include/base/cef_basictypes.h" |  | ||||||
| #include "include/base/cef_build.h" |  | ||||||
| #include "include/base/cef_callback.h" |  | ||||||
| #include "include/base/cef_macros.h" |  | ||||||
|  |  | ||||||
| namespace base { |  | ||||||
|  |  | ||||||
| template <typename Sig> |  | ||||||
| base::Callback<Sig> ResetAndReturn(base::Callback<Sig>* cb) { |  | ||||||
|   base::Callback<Sig> ret(*cb); |  | ||||||
|   cb->Reset(); |  | ||||||
|   return ret; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // ScopedClosureRunner is akin to scoped_ptr for Closures. It ensures that the |  | ||||||
| // Closure is executed and deleted no matter how the current scope exits. |  | ||||||
| class ScopedClosureRunner { |  | ||||||
|  public: |  | ||||||
|   ScopedClosureRunner(); |  | ||||||
|   explicit ScopedClosureRunner(const Closure& closure); |  | ||||||
|   ~ScopedClosureRunner(); |  | ||||||
|  |  | ||||||
|   void Reset(); |  | ||||||
|   void Reset(const Closure& closure); |  | ||||||
|   Closure Release() WARN_UNUSED_RESULT; |  | ||||||
|  |  | ||||||
|  private: |  | ||||||
|   Closure closure_; |  | ||||||
|  |  | ||||||
|   DISALLOW_COPY_AND_ASSIGN(ScopedClosureRunner); |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| }  // namespace base |  | ||||||
|  |  | ||||||
| #endif  // !USING_CHROMIUM_INCLUDES |  | ||||||
|  |  | ||||||
| #endif  // CEF_INCLUDE_BASE_CEF_CALLBACK_HELPERS_H_ |  | ||||||
| @@ -136,7 +136,11 @@ | |||||||
| #define CEF_INCLUDE_BASE_CEF_LOGGING_H_ | #define CEF_INCLUDE_BASE_CEF_LOGGING_H_ | ||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #if defined(DCHECK) | #if defined(USING_CHROMIUM_INCLUDES) | ||||||
|  | // When building CEF include the Chromium header directly. | ||||||
|  | #include "base/logging.h" | ||||||
|  | #include "base/notreached.h" | ||||||
|  | #elif defined(DCHECK) | ||||||
| // Do nothing if the macros provided by this header already exist. | // Do nothing if the macros provided by this header already exist. | ||||||
| // This can happen in cases where Chromium code is used directly by the | // This can happen in cases where Chromium code is used directly by the | ||||||
| // client application. When using Chromium code directly always include | // client application. When using Chromium code directly always include | ||||||
| @@ -144,15 +148,12 @@ | |||||||
|  |  | ||||||
| // Always define the DCHECK_IS_ON macro which is used from other CEF headers. | // Always define the DCHECK_IS_ON macro which is used from other CEF headers. | ||||||
| #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON) | #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON) | ||||||
| #define DCHECK_IS_ON() 0 | #define DCHECK_IS_ON() false | ||||||
| #else | #else | ||||||
| #define DCHECK_IS_ON() 1 | #define DCHECK_IS_ON() true | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #elif defined(USING_CHROMIUM_INCLUDES) | #else  // !defined(DCHECK) | ||||||
| // When building CEF include the Chromium header directly. |  | ||||||
| #include "base/logging.h" |  | ||||||
| #else  // !USING_CHROMIUM_INCLUDES |  | ||||||
| // The following is substantially similar to the Chromium implementation. | // The following is substantially similar to the Chromium implementation. | ||||||
| // If the Chromium implementation diverges the below implementation should be | // If the Chromium implementation diverges the below implementation should be | ||||||
| // updated to match. | // updated to match. | ||||||
| @@ -553,12 +554,7 @@ const LogSeverity LOG_DCHECK = LOG_INFO; | |||||||
| #define DCHECK_GE(val1, val2) DCHECK_OP(GE, >=, val1, val2) | #define DCHECK_GE(val1, val2) DCHECK_OP(GE, >=, val1, val2) | ||||||
| #define DCHECK_GT(val1, val2) DCHECK_OP(GT, >, val1, val2) | #define DCHECK_GT(val1, val2) DCHECK_OP(GT, >, val1, val2) | ||||||
|  |  | ||||||
| #if defined(NDEBUG) && defined(OS_CHROMEOS) |  | ||||||
| #define NOTREACHED() \ |  | ||||||
|   LOG(ERROR) << "NOTREACHED() hit in " << __FUNCTION__ << ". " |  | ||||||
| #else |  | ||||||
| #define NOTREACHED() DCHECK(false) | #define NOTREACHED() DCHECK(false) | ||||||
| #endif |  | ||||||
|  |  | ||||||
| // Redefine the standard assert to use our nice log files | // Redefine the standard assert to use our nice log files | ||||||
| #undef assert | #undef assert | ||||||
|   | |||||||
| @@ -51,7 +51,7 @@ | |||||||
| #include "include/base/cef_atomic_ref_count.h" | #include "include/base/cef_atomic_ref_count.h" | ||||||
| #include "include/base/cef_build.h" | #include "include/base/cef_build.h" | ||||||
| #include "include/base/cef_logging.h" | #include "include/base/cef_logging.h" | ||||||
| #include "include/base/cef_thread_collision_warner.h" | #include "include/base/cef_macros.h" | ||||||
|  |  | ||||||
| namespace base { | namespace base { | ||||||
|  |  | ||||||
| @@ -60,6 +60,7 @@ namespace cef_subtle { | |||||||
| class RefCountedBase { | class RefCountedBase { | ||||||
|  public: |  public: | ||||||
|   bool HasOneRef() const { return ref_count_ == 1; } |   bool HasOneRef() const { return ref_count_ == 1; } | ||||||
|  |   bool HasAtLeastOneRef() const { return ref_count_ >= 1; } | ||||||
|  |  | ||||||
|  protected: |  protected: | ||||||
|   RefCountedBase() |   RefCountedBase() | ||||||
| @@ -78,10 +79,6 @@ class RefCountedBase { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   void AddRef() const { |   void AddRef() const { | ||||||
| // TODO(maruel): Add back once it doesn't assert 500 times/sec. |  | ||||||
| // Current thread books the critical section "AddRelease" |  | ||||||
| // without release it. |  | ||||||
| // DFAKE_SCOPED_LOCK_THREAD_LOCKED(add_release_); |  | ||||||
| #if DCHECK_IS_ON() | #if DCHECK_IS_ON() | ||||||
|     DCHECK(!in_dtor_); |     DCHECK(!in_dtor_); | ||||||
| #endif | #endif | ||||||
| @@ -90,10 +87,6 @@ class RefCountedBase { | |||||||
|  |  | ||||||
|   // Returns true if the object should self-delete. |   // Returns true if the object should self-delete. | ||||||
|   bool Release() const { |   bool Release() const { | ||||||
| // TODO(maruel): Add back once it doesn't assert 500 times/sec. |  | ||||||
| // Current thread books the critical section "AddRelease" |  | ||||||
| // without release it. |  | ||||||
| // DFAKE_SCOPED_LOCK_THREAD_LOCKED(add_release_); |  | ||||||
| #if DCHECK_IS_ON() | #if DCHECK_IS_ON() | ||||||
|     DCHECK(!in_dtor_); |     DCHECK(!in_dtor_); | ||||||
| #endif | #endif | ||||||
| @@ -112,14 +105,13 @@ class RefCountedBase { | |||||||
|   mutable bool in_dtor_; |   mutable bool in_dtor_; | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|   DFAKE_MUTEX(add_release_); |  | ||||||
|  |  | ||||||
|   DISALLOW_COPY_AND_ASSIGN(RefCountedBase); |   DISALLOW_COPY_AND_ASSIGN(RefCountedBase); | ||||||
| }; | }; | ||||||
|  |  | ||||||
| class RefCountedThreadSafeBase { | class RefCountedThreadSafeBase { | ||||||
|  public: |  public: | ||||||
|   bool HasOneRef() const; |   bool HasOneRef() const; | ||||||
|  |   bool HasAtLeastOneRef() const; | ||||||
|  |  | ||||||
|  protected: |  protected: | ||||||
|   RefCountedThreadSafeBase(); |   RefCountedThreadSafeBase(); | ||||||
|   | |||||||
| @@ -1,214 +0,0 @@ | |||||||
| // Copyright (c) 2014 Marshall A. Greenblatt. Portions copyright (c) 2013 |  | ||||||
| // Google Inc. All rights reserved. |  | ||||||
| // |  | ||||||
| // Redistribution and use in source and binary forms, with or without |  | ||||||
| // modification, are permitted provided that the following conditions are |  | ||||||
| // met: |  | ||||||
| // |  | ||||||
| //    * Redistributions of source code must retain the above copyright |  | ||||||
| // notice, this list of conditions and the following disclaimer. |  | ||||||
| //    * Redistributions in binary form must reproduce the above |  | ||||||
| // copyright notice, this list of conditions and the following disclaimer |  | ||||||
| // in the documentation and/or other materials provided with the |  | ||||||
| // distribution. |  | ||||||
| //    * Neither the name of Google Inc. nor the name Chromium Embedded |  | ||||||
| // Framework nor the names of its contributors may be used to endorse |  | ||||||
| // or promote products derived from this software without specific prior |  | ||||||
| // written permission. |  | ||||||
| // |  | ||||||
| // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |  | ||||||
| // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |  | ||||||
| // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |  | ||||||
| // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |  | ||||||
| // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |  | ||||||
| // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |  | ||||||
| // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |  | ||||||
| // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |  | ||||||
| // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |  | ||||||
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |  | ||||||
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |  | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_BASE_CEF_STRING16_H_ |  | ||||||
| #define CEF_INCLUDE_BASE_CEF_STRING16_H_ |  | ||||||
| #pragma once |  | ||||||
|  |  | ||||||
| #if defined(BASE_STRINGS_STRING16_H_) |  | ||||||
| // Do nothing if the Chromium header has already been included. |  | ||||||
| // This can happen in cases where Chromium code is used directly by the |  | ||||||
| // client application. When using Chromium code directly always include |  | ||||||
| // the Chromium header first to avoid type conflicts. |  | ||||||
| #elif defined(USING_CHROMIUM_INCLUDES) |  | ||||||
| // When building CEF include the Chromium header directly. |  | ||||||
| #include "base/strings/string16.h" |  | ||||||
| #else  // !USING_CHROMIUM_INCLUDES |  | ||||||
| // The following is substantially similar to the Chromium implementation. |  | ||||||
| // If the Chromium implementation diverges the below implementation should be |  | ||||||
| // updated to match. |  | ||||||
| // WHAT: |  | ||||||
| // A version of std::basic_string that provides 2-byte characters even when |  | ||||||
| // wchar_t is not implemented as a 2-byte type. You can access this class as |  | ||||||
| // string16. We also define char16, which string16 is based upon. |  | ||||||
| // |  | ||||||
| // WHY: |  | ||||||
| // On Windows, wchar_t is 2 bytes, and it can conveniently handle UTF-16/UCS-2 |  | ||||||
| // data. Plenty of existing code operates on strings encoded as UTF-16. |  | ||||||
| // |  | ||||||
| // On many other platforms, sizeof(wchar_t) is 4 bytes by default. We can make |  | ||||||
| // it 2 bytes by using the GCC flag -fshort-wchar. But then std::wstring fails |  | ||||||
| // at run time, because it calls some functions (like wcslen) that come from |  | ||||||
| // the system's native C library -- which was built with a 4-byte wchar_t! |  | ||||||
| // It's wasteful to use 4-byte wchar_t strings to carry UTF-16 data, and it's |  | ||||||
| // entirely improper on those systems where the encoding of wchar_t is defined |  | ||||||
| // as UTF-32. |  | ||||||
| // |  | ||||||
| // Here, we define string16, which is similar to std::wstring but replaces all |  | ||||||
| // libc functions with custom, 2-byte-char compatible routines. It is capable |  | ||||||
| // of carrying UTF-16-encoded data. |  | ||||||
|  |  | ||||||
| #include <stdio.h> |  | ||||||
| #include <string> |  | ||||||
|  |  | ||||||
| #include "include/base/cef_basictypes.h" |  | ||||||
|  |  | ||||||
| #if defined(WCHAR_T_IS_UTF16) |  | ||||||
|  |  | ||||||
| namespace base { |  | ||||||
|  |  | ||||||
| typedef wchar_t char16; |  | ||||||
| typedef std::wstring string16; |  | ||||||
| typedef std::char_traits<wchar_t> string16_char_traits; |  | ||||||
|  |  | ||||||
| }  // namespace base |  | ||||||
|  |  | ||||||
| #elif defined(WCHAR_T_IS_UTF32) |  | ||||||
|  |  | ||||||
| #include <stdint.h>  // For uint16_t |  | ||||||
|  |  | ||||||
| #include "include/base/cef_macros.h" |  | ||||||
|  |  | ||||||
| namespace base { |  | ||||||
|  |  | ||||||
| typedef uint16_t char16; |  | ||||||
|  |  | ||||||
| // char16 versions of the functions required by string16_char_traits; these |  | ||||||
| // are based on the wide character functions of similar names ("w" or "wcs" |  | ||||||
| // instead of "c16"). |  | ||||||
| int c16memcmp(const char16* s1, const char16* s2, size_t n); |  | ||||||
| size_t c16len(const char16* s); |  | ||||||
| const char16* c16memchr(const char16* s, char16 c, size_t n); |  | ||||||
| char16* c16memmove(char16* s1, const char16* s2, size_t n); |  | ||||||
| char16* c16memcpy(char16* s1, const char16* s2, size_t n); |  | ||||||
| char16* c16memset(char16* s, char16 c, size_t n); |  | ||||||
|  |  | ||||||
| struct string16_char_traits { |  | ||||||
|   typedef char16 char_type; |  | ||||||
|   typedef int int_type; |  | ||||||
|  |  | ||||||
|   // int_type needs to be able to hold each possible value of char_type, and in |  | ||||||
|   // addition, the distinct value of eof(). |  | ||||||
|   COMPILE_ASSERT(sizeof(int_type) > sizeof(char_type), unexpected_type_width); |  | ||||||
|  |  | ||||||
|   typedef std::streamoff off_type; |  | ||||||
|   typedef mbstate_t state_type; |  | ||||||
|   typedef std::fpos<state_type> pos_type; |  | ||||||
|  |  | ||||||
|   static void assign(char_type& c1, const char_type& c2) { c1 = c2; } |  | ||||||
|  |  | ||||||
|   static bool eq(const char_type& c1, const char_type& c2) { return c1 == c2; } |  | ||||||
|   static bool lt(const char_type& c1, const char_type& c2) { return c1 < c2; } |  | ||||||
|  |  | ||||||
|   static int compare(const char_type* s1, const char_type* s2, size_t n) { |  | ||||||
|     return c16memcmp(s1, s2, n); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   static size_t length(const char_type* s) { return c16len(s); } |  | ||||||
|  |  | ||||||
|   static const char_type* find(const char_type* s, |  | ||||||
|                                size_t n, |  | ||||||
|                                const char_type& a) { |  | ||||||
|     return c16memchr(s, a, n); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   static char_type* move(char_type* s1, const char_type* s2, int_type n) { |  | ||||||
|     return c16memmove(s1, s2, n); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   static char_type* copy(char_type* s1, const char_type* s2, size_t n) { |  | ||||||
|     return c16memcpy(s1, s2, n); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   static char_type* assign(char_type* s, size_t n, char_type a) { |  | ||||||
|     return c16memset(s, a, n); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   static int_type not_eof(const int_type& c) { |  | ||||||
|     return eq_int_type(c, eof()) ? 0 : c; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   static char_type to_char_type(const int_type& c) { return char_type(c); } |  | ||||||
|  |  | ||||||
|   static int_type to_int_type(const char_type& c) { return int_type(c); } |  | ||||||
|  |  | ||||||
|   static bool eq_int_type(const int_type& c1, const int_type& c2) { |  | ||||||
|     return c1 == c2; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   static int_type eof() { return static_cast<int_type>(EOF); } |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| typedef std::basic_string<char16, base::string16_char_traits> string16; |  | ||||||
|  |  | ||||||
| extern std::ostream& operator<<(std::ostream& out, const string16& str); |  | ||||||
|  |  | ||||||
| // This is required by googletest to print a readable output on test failures. |  | ||||||
| extern void PrintTo(const string16& str, std::ostream* out); |  | ||||||
|  |  | ||||||
| }  // namespace base |  | ||||||
|  |  | ||||||
| // The string class will be explicitly instantiated only once, in string16.cc. |  | ||||||
| // |  | ||||||
| // std::basic_string<> in GNU libstdc++ contains a static data member, |  | ||||||
| // _S_empty_rep_storage, to represent empty strings.  When an operation such |  | ||||||
| // as assignment or destruction is performed on a string, causing its existing |  | ||||||
| // data member to be invalidated, it must not be freed if this static data |  | ||||||
| // member is being used.  Otherwise, it counts as an attempt to free static |  | ||||||
| // (and not allocated) data, which is a memory error. |  | ||||||
| // |  | ||||||
| // Generally, due to C++ template magic, _S_empty_rep_storage will be marked |  | ||||||
| // as a coalesced symbol, meaning that the linker will combine multiple |  | ||||||
| // instances into a single one when generating output. |  | ||||||
| // |  | ||||||
| // If a string class is used by multiple shared libraries, a problem occurs. |  | ||||||
| // Each library will get its own copy of _S_empty_rep_storage.  When strings |  | ||||||
| // are passed across a library boundary for alteration or destruction, memory |  | ||||||
| // errors will result.  GNU libstdc++ contains a configuration option, |  | ||||||
| // --enable-fully-dynamic-string (_GLIBCXX_FULLY_DYNAMIC_STRING), which |  | ||||||
| // disables the static data member optimization, but it's a good optimization |  | ||||||
| // and non-STL code is generally at the mercy of the system's STL |  | ||||||
| // configuration.  Fully-dynamic strings are not the default for GNU libstdc++ |  | ||||||
| // libstdc++ itself or for the libstdc++ installations on the systems we care |  | ||||||
| // about, such as Mac OS X and relevant flavors of Linux. |  | ||||||
| // |  | ||||||
| // See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24196 . |  | ||||||
| // |  | ||||||
| // To avoid problems, string classes need to be explicitly instantiated only |  | ||||||
| // once, in exactly one library.  All other string users see it via an "extern" |  | ||||||
| // declaration.  This is precisely how GNU libstdc++ handles |  | ||||||
| // std::basic_string<char> (string) and std::basic_string<wchar_t> (wstring). |  | ||||||
| // |  | ||||||
| // This also works around a Mac OS X linker bug in ld64-85.2.1 (Xcode 3.1.2), |  | ||||||
| // in which the linker does not fully coalesce symbols when dead code |  | ||||||
| // stripping is enabled.  This bug causes the memory errors described above |  | ||||||
| // to occur even when a std::basic_string<> does not cross shared library |  | ||||||
| // boundaries, such as in statically-linked executables. |  | ||||||
| // |  | ||||||
| // TODO(mark): File this bug with Apple and update this note with a bug number. |  | ||||||
|  |  | ||||||
| extern template class std::basic_string<base::char16, |  | ||||||
|                                         base::string16_char_traits>; |  | ||||||
|  |  | ||||||
| #endif  // WCHAR_T_IS_UTF32 |  | ||||||
|  |  | ||||||
| #endif  // !USING_CHROMIUM_INCLUDES |  | ||||||
|  |  | ||||||
| #endif  // CEF_INCLUDE_BASE_CEF_STRING16_H_ |  | ||||||
| @@ -1,276 +0,0 @@ | |||||||
| // Copyright (c) 2014 Marshall A. Greenblatt. Portions copyright (c) 2012 |  | ||||||
| // Google Inc. All rights reserved. |  | ||||||
| // |  | ||||||
| // Redistribution and use in source and binary forms, with or without |  | ||||||
| // modification, are permitted provided that the following conditions are |  | ||||||
| // met: |  | ||||||
| // |  | ||||||
| //    * Redistributions of source code must retain the above copyright |  | ||||||
| // notice, this list of conditions and the following disclaimer. |  | ||||||
| //    * Redistributions in binary form must reproduce the above |  | ||||||
| // copyright notice, this list of conditions and the following disclaimer |  | ||||||
| // in the documentation and/or other materials provided with the |  | ||||||
| // distribution. |  | ||||||
| //    * Neither the name of Google Inc. nor the name Chromium Embedded |  | ||||||
| // Framework nor the names of its contributors may be used to endorse |  | ||||||
| // or promote products derived from this software without specific prior |  | ||||||
| // written permission. |  | ||||||
| // |  | ||||||
| // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |  | ||||||
| // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |  | ||||||
| // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |  | ||||||
| // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |  | ||||||
| // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |  | ||||||
| // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |  | ||||||
| // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |  | ||||||
| // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |  | ||||||
| // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |  | ||||||
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |  | ||||||
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |  | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_BASE_CEF_THREAD_COLLISION_WARNER_H_ |  | ||||||
| #define CEF_INCLUDE_BASE_CEF_THREAD_COLLISION_WARNER_H_ |  | ||||||
| #pragma once |  | ||||||
|  |  | ||||||
| #if defined(BASE_THREADING_THREAD_COLLISION_WARNER_H_) |  | ||||||
| // Do nothing if the Chromium header has already been included. |  | ||||||
| // This can happen in cases where Chromium code is used directly by the |  | ||||||
| // client application. When using Chromium code directly always include |  | ||||||
| // the Chromium header first to avoid type conflicts. |  | ||||||
| #elif defined(USING_CHROMIUM_INCLUDES) |  | ||||||
| // When building CEF include the Chromium header directly. |  | ||||||
| #include "base/threading/thread_collision_warner.h" |  | ||||||
| #else  // !USING_CHROMIUM_INCLUDES |  | ||||||
| // The following is substantially similar to the Chromium implementation. |  | ||||||
| // If the Chromium implementation diverges the below implementation should be |  | ||||||
| // updated to match. |  | ||||||
|  |  | ||||||
| #include <memory> |  | ||||||
|  |  | ||||||
| #include "include/base/cef_atomicops.h" |  | ||||||
| #include "include/base/cef_basictypes.h" |  | ||||||
| #include "include/base/cef_build.h" |  | ||||||
| #include "include/base/cef_logging.h" |  | ||||||
| #include "include/base/cef_macros.h" |  | ||||||
|  |  | ||||||
| // A helper class alongside macros to be used to verify assumptions about thread |  | ||||||
| // safety of a class. |  | ||||||
| // |  | ||||||
| // Example: Queue implementation non thread-safe but still usable if clients |  | ||||||
| //          are synchronized somehow. |  | ||||||
| // |  | ||||||
| //          In this case the macro DFAKE_SCOPED_LOCK has to be |  | ||||||
| //          used, it checks that if a thread is inside the push/pop then |  | ||||||
| //          noone else is still inside the pop/push |  | ||||||
| // |  | ||||||
| // class NonThreadSafeQueue { |  | ||||||
| //  public: |  | ||||||
| //   ... |  | ||||||
| //   void push(int) { DFAKE_SCOPED_LOCK(push_pop_); ... } |  | ||||||
| //   int pop() { DFAKE_SCOPED_LOCK(push_pop_); ... } |  | ||||||
| //   ... |  | ||||||
| //  private: |  | ||||||
| //   DFAKE_MUTEX(push_pop_); |  | ||||||
| // }; |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // Example: Queue implementation non thread-safe but still usable if clients |  | ||||||
| //          are synchronized somehow, it calls a method to "protect" from |  | ||||||
| //          a "protected" method |  | ||||||
| // |  | ||||||
| //          In this case the macro DFAKE_SCOPED_RECURSIVE_LOCK |  | ||||||
| //          has to be used, it checks that if a thread is inside the push/pop |  | ||||||
| //          then noone else is still inside the pop/push |  | ||||||
| // |  | ||||||
| // class NonThreadSafeQueue { |  | ||||||
| //  public: |  | ||||||
| //   void push(int) { |  | ||||||
| //     DFAKE_SCOPED_LOCK(push_pop_); |  | ||||||
| //     ... |  | ||||||
| //   } |  | ||||||
| //   int pop() { |  | ||||||
| //     DFAKE_SCOPED_RECURSIVE_LOCK(push_pop_); |  | ||||||
| //     bar(); |  | ||||||
| //     ... |  | ||||||
| //   } |  | ||||||
| //   void bar() { DFAKE_SCOPED_RECURSIVE_LOCK(push_pop_); ... } |  | ||||||
| //   ... |  | ||||||
| //  private: |  | ||||||
| //   DFAKE_MUTEX(push_pop_); |  | ||||||
| // }; |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // Example: Queue implementation not usable even if clients are synchronized, |  | ||||||
| //          so only one thread in the class life cycle can use the two members |  | ||||||
| //          push/pop. |  | ||||||
| // |  | ||||||
| //          In this case the macro DFAKE_SCOPED_LOCK_THREAD_LOCKED pins the |  | ||||||
| //          specified |  | ||||||
| //          critical section the first time a thread enters push or pop, from |  | ||||||
| //          that time on only that thread is allowed to execute push or pop. |  | ||||||
| // |  | ||||||
| // class NonThreadSafeQueue { |  | ||||||
| //  public: |  | ||||||
| //   ... |  | ||||||
| //   void push(int) { DFAKE_SCOPED_LOCK_THREAD_LOCKED(push_pop_); ... } |  | ||||||
| //   int pop() { DFAKE_SCOPED_LOCK_THREAD_LOCKED(push_pop_); ... } |  | ||||||
| //   ... |  | ||||||
| //  private: |  | ||||||
| //   DFAKE_MUTEX(push_pop_); |  | ||||||
| // }; |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // Example: Class that has to be contructed/destroyed on same thread, it has |  | ||||||
| //          a "shareable" method (with external synchronization) and a not |  | ||||||
| //          shareable method (even with external synchronization). |  | ||||||
| // |  | ||||||
| //          In this case 3 Critical sections have to be defined |  | ||||||
| // |  | ||||||
| // class ExoticClass { |  | ||||||
| //  public: |  | ||||||
| //   ExoticClass() { DFAKE_SCOPED_LOCK_THREAD_LOCKED(ctor_dtor_); ... } |  | ||||||
| //   ~ExoticClass() { DFAKE_SCOPED_LOCK_THREAD_LOCKED(ctor_dtor_); ... } |  | ||||||
| // |  | ||||||
| //   void Shareable() { DFAKE_SCOPED_LOCK(shareable_section_); ... } |  | ||||||
| //   void NotShareable() { DFAKE_SCOPED_LOCK_THREAD_LOCKED(ctor_dtor_); ... } |  | ||||||
| //   ... |  | ||||||
| //  private: |  | ||||||
| //   DFAKE_MUTEX(ctor_dtor_); |  | ||||||
| //   DFAKE_MUTEX(shareable_section_); |  | ||||||
| // }; |  | ||||||
|  |  | ||||||
| #if DCHECK_IS_ON() |  | ||||||
|  |  | ||||||
| // Defines a class member that acts like a mutex. It is used only as a |  | ||||||
| // verification tool. |  | ||||||
| #define DFAKE_MUTEX(obj) mutable base::ThreadCollisionWarner obj |  | ||||||
| // Asserts the call is never called simultaneously in two threads. Used at |  | ||||||
| // member function scope. |  | ||||||
| #define DFAKE_SCOPED_LOCK(obj) \ |  | ||||||
|   base::ThreadCollisionWarner::ScopedCheck s_check_##obj(&obj) |  | ||||||
| // Asserts the call is never called simultaneously in two threads. Used at |  | ||||||
| // member function scope. Same as DFAKE_SCOPED_LOCK but allows recursive locks. |  | ||||||
| #define DFAKE_SCOPED_RECURSIVE_LOCK(obj) \ |  | ||||||
|   base::ThreadCollisionWarner::ScopedRecursiveCheck sr_check_##obj(&obj) |  | ||||||
| // Asserts the code is always executed in the same thread. |  | ||||||
| #define DFAKE_SCOPED_LOCK_THREAD_LOCKED(obj) \ |  | ||||||
|   base::ThreadCollisionWarner::Check check_##obj(&obj) |  | ||||||
|  |  | ||||||
| #else |  | ||||||
|  |  | ||||||
| #define DFAKE_MUTEX(obj) typedef void InternalFakeMutexType##obj |  | ||||||
| #define DFAKE_SCOPED_LOCK(obj) ((void)0) |  | ||||||
| #define DFAKE_SCOPED_RECURSIVE_LOCK(obj) ((void)0) |  | ||||||
| #define DFAKE_SCOPED_LOCK_THREAD_LOCKED(obj) ((void)0) |  | ||||||
|  |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| namespace base { |  | ||||||
|  |  | ||||||
| // The class ThreadCollisionWarner uses an Asserter to notify the collision |  | ||||||
| // AsserterBase is the interfaces and DCheckAsserter is the default asserter |  | ||||||
| // used. During the unit tests is used another class that doesn't "DCHECK" |  | ||||||
| // in case of collision (check thread_collision_warner_unittests.cc) |  | ||||||
| struct AsserterBase { |  | ||||||
|   virtual ~AsserterBase() {} |  | ||||||
|   virtual void warn() = 0; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| struct DCheckAsserter : public AsserterBase { |  | ||||||
|   virtual ~DCheckAsserter() {} |  | ||||||
|   virtual void warn() OVERRIDE; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| class ThreadCollisionWarner { |  | ||||||
|  public: |  | ||||||
|   // The parameter asserter is there only for test purpose |  | ||||||
|   explicit ThreadCollisionWarner(AsserterBase* asserter = new DCheckAsserter()) |  | ||||||
|       : valid_thread_id_(0), counter_(0), asserter_(asserter) {} |  | ||||||
|  |  | ||||||
|   ~ThreadCollisionWarner() { delete asserter_; } |  | ||||||
|  |  | ||||||
|   // This class is meant to be used through the macro |  | ||||||
|   // DFAKE_SCOPED_LOCK_THREAD_LOCKED |  | ||||||
|   // it doesn't leave the critical section, as opposed to ScopedCheck, |  | ||||||
|   // because the critical section being pinned is allowed to be used only |  | ||||||
|   // from one thread |  | ||||||
|   class Check { |  | ||||||
|    public: |  | ||||||
|     explicit Check(ThreadCollisionWarner* warner) : warner_(warner) { |  | ||||||
|       warner_->EnterSelf(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     ~Check() {} |  | ||||||
|  |  | ||||||
|    private: |  | ||||||
|     ThreadCollisionWarner* warner_; |  | ||||||
|  |  | ||||||
|     DISALLOW_COPY_AND_ASSIGN(Check); |  | ||||||
|   }; |  | ||||||
|  |  | ||||||
|   // This class is meant to be used through the macro |  | ||||||
|   // DFAKE_SCOPED_LOCK |  | ||||||
|   class ScopedCheck { |  | ||||||
|    public: |  | ||||||
|     explicit ScopedCheck(ThreadCollisionWarner* warner) : warner_(warner) { |  | ||||||
|       warner_->Enter(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     ~ScopedCheck() { warner_->Leave(); } |  | ||||||
|  |  | ||||||
|    private: |  | ||||||
|     ThreadCollisionWarner* warner_; |  | ||||||
|  |  | ||||||
|     DISALLOW_COPY_AND_ASSIGN(ScopedCheck); |  | ||||||
|   }; |  | ||||||
|  |  | ||||||
|   // This class is meant to be used through the macro |  | ||||||
|   // DFAKE_SCOPED_RECURSIVE_LOCK |  | ||||||
|   class ScopedRecursiveCheck { |  | ||||||
|    public: |  | ||||||
|     explicit ScopedRecursiveCheck(ThreadCollisionWarner* warner) |  | ||||||
|         : warner_(warner) { |  | ||||||
|       warner_->EnterSelf(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     ~ScopedRecursiveCheck() { warner_->Leave(); } |  | ||||||
|  |  | ||||||
|    private: |  | ||||||
|     ThreadCollisionWarner* warner_; |  | ||||||
|  |  | ||||||
|     DISALLOW_COPY_AND_ASSIGN(ScopedRecursiveCheck); |  | ||||||
|   }; |  | ||||||
|  |  | ||||||
|  private: |  | ||||||
|   // This method stores the current thread identifier and does a DCHECK |  | ||||||
|   // if a another thread has already done it, it is safe if same thread |  | ||||||
|   // calls this multiple time (recursion allowed). |  | ||||||
|   void EnterSelf(); |  | ||||||
|  |  | ||||||
|   // Same as EnterSelf but recursion is not allowed. |  | ||||||
|   void Enter(); |  | ||||||
|  |  | ||||||
|   // Removes the thread_id stored in order to allow other threads to |  | ||||||
|   // call EnterSelf or Enter. |  | ||||||
|   void Leave(); |  | ||||||
|  |  | ||||||
|   // This stores the thread id that is inside the critical section, if the |  | ||||||
|   // value is 0 then no thread is inside. |  | ||||||
|   volatile subtle::Atomic32 valid_thread_id_; |  | ||||||
|  |  | ||||||
|   // Counter to trace how many time a critical section was "pinned" |  | ||||||
|   // (when allowed) in order to unpin it when counter_ reaches 0. |  | ||||||
|   volatile subtle::Atomic32 counter_; |  | ||||||
|  |  | ||||||
|   // Here only for class unit tests purpose, during the test I need to not |  | ||||||
|   // DCHECK but notify the collision with something else. |  | ||||||
|   AsserterBase* asserter_; |  | ||||||
|  |  | ||||||
|   DISALLOW_COPY_AND_ASSIGN(ThreadCollisionWarner); |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| }  // namespace base |  | ||||||
|  |  | ||||||
| #endif  // !USING_CHROMIUM_INCLUDES |  | ||||||
|  |  | ||||||
| #endif  // CEF_INCLUDE_BASE_CEF_THREAD_COLLISION_WARNER_H_ |  | ||||||
| @@ -250,11 +250,11 @@ class WeakPtr : public cef_internal::WeakPtrBase { | |||||||
|   T* get() const { return ref_.is_valid() ? ptr_ : NULL; } |   T* get() const { return ref_.is_valid() ? ptr_ : NULL; } | ||||||
|  |  | ||||||
|   T& operator*() const { |   T& operator*() const { | ||||||
|     DCHECK(get() != NULL); |     CHECK(ref_.is_valid()); | ||||||
|     return *get(); |     return *get(); | ||||||
|   } |   } | ||||||
|   T* operator->() const { |   T* operator->() const { | ||||||
|     DCHECK(get() != NULL); |     CHECK(ref_.is_valid()); | ||||||
|     return get(); |     return get(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										335
									
								
								include/base/internal/cef_atomicops_arm64_gcc.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										335
									
								
								include/base/internal/cef_atomicops_arm64_gcc.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,335 @@ | |||||||
|  | // Copyright (c) 2012 Google Inc. All rights reserved. | ||||||
|  | // | ||||||
|  | // Redistribution and use in source and binary forms, with or without | ||||||
|  | // modification, are permitted provided that the following conditions are | ||||||
|  | // met: | ||||||
|  | // | ||||||
|  | //    * Redistributions of source code must retain the above copyright | ||||||
|  | // notice, this list of conditions and the following disclaimer. | ||||||
|  | //    * Redistributions in binary form must reproduce the above | ||||||
|  | // copyright notice, this list of conditions and the following disclaimer | ||||||
|  | // in the documentation and/or other materials provided with the | ||||||
|  | // distribution. | ||||||
|  | //    * Neither the name of Google Inc. nor the name Chromium Embedded | ||||||
|  | // Framework nor the names of its contributors may be used to endorse | ||||||
|  | // or promote products derived from this software without specific prior | ||||||
|  | // written permission. | ||||||
|  | // | ||||||
|  | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  | // | ||||||
|  | // Do not include this header file directly. Use base/cef_atomicops.h | ||||||
|  | // instead. | ||||||
|  |  | ||||||
|  | #ifndef CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM64_GCC_H_ | ||||||
|  | #define CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM64_GCC_H_ | ||||||
|  |  | ||||||
|  | namespace base { | ||||||
|  | namespace subtle { | ||||||
|  |  | ||||||
|  | inline void MemoryBarrier() { | ||||||
|  |   __asm__ __volatile__ ("dmb ish" ::: "memory");  // NOLINT | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // NoBarrier versions of the operation include "memory" in the clobber list. | ||||||
|  | // This is not required for direct usage of the NoBarrier versions of the | ||||||
|  | // operations. However this is required for correctness when they are used as | ||||||
|  | // part of the Acquire or Release versions, to ensure that nothing from outside | ||||||
|  | // the call is reordered between the operation and the memory barrier. This does | ||||||
|  | // not change the code generated, so has no or minimal impact on the | ||||||
|  | // NoBarrier operations. | ||||||
|  |  | ||||||
|  | inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, | ||||||
|  |                                          Atomic32 old_value, | ||||||
|  |                                          Atomic32 new_value) { | ||||||
|  |   Atomic32 prev; | ||||||
|  |   int32_t temp; | ||||||
|  |  | ||||||
|  |   __asm__ __volatile__ (  // NOLINT | ||||||
|  |     "0:                                    \n\t" | ||||||
|  |     "ldxr %w[prev], %[ptr]                 \n\t"  // Load the previous value. | ||||||
|  |     "cmp %w[prev], %w[old_value]           \n\t" | ||||||
|  |     "bne 1f                                \n\t" | ||||||
|  |     "stxr %w[temp], %w[new_value], %[ptr]  \n\t"  // Try to store the new value. | ||||||
|  |     "cbnz %w[temp], 0b                     \n\t"  // Retry if it did not work. | ||||||
|  |     "1:                                    \n\t" | ||||||
|  |     : [prev]"=&r" (prev), | ||||||
|  |       [temp]"=&r" (temp), | ||||||
|  |       [ptr]"+Q" (*ptr) | ||||||
|  |     : [old_value]"IJr" (old_value), | ||||||
|  |       [new_value]"r" (new_value) | ||||||
|  |     : "cc", "memory" | ||||||
|  |   );  // NOLINT | ||||||
|  |  | ||||||
|  |   return prev; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, | ||||||
|  |                                          Atomic32 new_value) { | ||||||
|  |   Atomic32 result; | ||||||
|  |   int32_t temp; | ||||||
|  |  | ||||||
|  |   __asm__ __volatile__ (  // NOLINT | ||||||
|  |     "0:                                    \n\t" | ||||||
|  |     "ldxr %w[result], %[ptr]               \n\t"  // Load the previous value. | ||||||
|  |     "stxr %w[temp], %w[new_value], %[ptr]  \n\t"  // Try to store the new value. | ||||||
|  |     "cbnz %w[temp], 0b                     \n\t"  // Retry if it did not work. | ||||||
|  |     : [result]"=&r" (result), | ||||||
|  |       [temp]"=&r" (temp), | ||||||
|  |       [ptr]"+Q" (*ptr) | ||||||
|  |     : [new_value]"r" (new_value) | ||||||
|  |     : "memory" | ||||||
|  |   );  // NOLINT | ||||||
|  |  | ||||||
|  |   return result; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, | ||||||
|  |                                           Atomic32 increment) { | ||||||
|  |   Atomic32 result; | ||||||
|  |   int32_t temp; | ||||||
|  |  | ||||||
|  |   __asm__ __volatile__ (  // NOLINT | ||||||
|  |     "0:                                       \n\t" | ||||||
|  |     "ldxr %w[result], %[ptr]                  \n\t"  // Load the previous value. | ||||||
|  |     "add %w[result], %w[result], %w[increment]\n\t" | ||||||
|  |     "stxr %w[temp], %w[result], %[ptr]        \n\t"  // Try to store the result. | ||||||
|  |     "cbnz %w[temp], 0b                        \n\t"  // Retry on failure. | ||||||
|  |     : [result]"=&r" (result), | ||||||
|  |       [temp]"=&r" (temp), | ||||||
|  |       [ptr]"+Q" (*ptr) | ||||||
|  |     : [increment]"IJr" (increment) | ||||||
|  |     : "memory" | ||||||
|  |   );  // NOLINT | ||||||
|  |  | ||||||
|  |   return result; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, | ||||||
|  |                                         Atomic32 increment) { | ||||||
|  |   Atomic32 result; | ||||||
|  |  | ||||||
|  |   MemoryBarrier(); | ||||||
|  |   result = NoBarrier_AtomicIncrement(ptr, increment); | ||||||
|  |   MemoryBarrier(); | ||||||
|  |  | ||||||
|  |   return result; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, | ||||||
|  |                                        Atomic32 old_value, | ||||||
|  |                                        Atomic32 new_value) { | ||||||
|  |   Atomic32 prev; | ||||||
|  |  | ||||||
|  |   prev = NoBarrier_CompareAndSwap(ptr, old_value, new_value); | ||||||
|  |   MemoryBarrier(); | ||||||
|  |  | ||||||
|  |   return prev; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, | ||||||
|  |                                        Atomic32 old_value, | ||||||
|  |                                        Atomic32 new_value) { | ||||||
|  |   Atomic32 prev; | ||||||
|  |  | ||||||
|  |   MemoryBarrier(); | ||||||
|  |   prev = NoBarrier_CompareAndSwap(ptr, old_value, new_value); | ||||||
|  |  | ||||||
|  |   return prev; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { | ||||||
|  |   *ptr = value; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { | ||||||
|  |   *ptr = value; | ||||||
|  |   MemoryBarrier(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { | ||||||
|  |   __asm__ __volatile__ (  // NOLINT | ||||||
|  |     "stlr %w[value], %[ptr]  \n\t" | ||||||
|  |     : [ptr]"=Q" (*ptr) | ||||||
|  |     : [value]"r" (value) | ||||||
|  |     : "memory" | ||||||
|  |   );  // NOLINT | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { | ||||||
|  |   return *ptr; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { | ||||||
|  |   Atomic32 value; | ||||||
|  |  | ||||||
|  |   __asm__ __volatile__ (  // NOLINT | ||||||
|  |     "ldar %w[value], %[ptr]  \n\t" | ||||||
|  |     : [value]"=r" (value) | ||||||
|  |     : [ptr]"Q" (*ptr) | ||||||
|  |     : "memory" | ||||||
|  |   );  // NOLINT | ||||||
|  |  | ||||||
|  |   return value; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 Release_Load(volatile const Atomic32* ptr) { | ||||||
|  |   MemoryBarrier(); | ||||||
|  |   return *ptr; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // 64-bit versions of the operations. | ||||||
|  | // See the 32-bit versions for comments. | ||||||
|  |  | ||||||
|  | inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, | ||||||
|  |                                          Atomic64 old_value, | ||||||
|  |                                          Atomic64 new_value) { | ||||||
|  |   Atomic64 prev; | ||||||
|  |   int32_t temp; | ||||||
|  |  | ||||||
|  |   __asm__ __volatile__ (  // NOLINT | ||||||
|  |     "0:                                    \n\t" | ||||||
|  |     "ldxr %[prev], %[ptr]                  \n\t" | ||||||
|  |     "cmp %[prev], %[old_value]             \n\t" | ||||||
|  |     "bne 1f                                \n\t" | ||||||
|  |     "stxr %w[temp], %[new_value], %[ptr]   \n\t" | ||||||
|  |     "cbnz %w[temp], 0b                     \n\t" | ||||||
|  |     "1:                                    \n\t" | ||||||
|  |     : [prev]"=&r" (prev), | ||||||
|  |       [temp]"=&r" (temp), | ||||||
|  |       [ptr]"+Q" (*ptr) | ||||||
|  |     : [old_value]"IJr" (old_value), | ||||||
|  |       [new_value]"r" (new_value) | ||||||
|  |     : "cc", "memory" | ||||||
|  |   );  // NOLINT | ||||||
|  |  | ||||||
|  |   return prev; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, | ||||||
|  |                                          Atomic64 new_value) { | ||||||
|  |   Atomic64 result; | ||||||
|  |   int32_t temp; | ||||||
|  |  | ||||||
|  |   __asm__ __volatile__ (  // NOLINT | ||||||
|  |     "0:                                    \n\t" | ||||||
|  |     "ldxr %[result], %[ptr]                \n\t" | ||||||
|  |     "stxr %w[temp], %[new_value], %[ptr]   \n\t" | ||||||
|  |     "cbnz %w[temp], 0b                     \n\t" | ||||||
|  |     : [result]"=&r" (result), | ||||||
|  |       [temp]"=&r" (temp), | ||||||
|  |       [ptr]"+Q" (*ptr) | ||||||
|  |     : [new_value]"r" (new_value) | ||||||
|  |     : "memory" | ||||||
|  |   );  // NOLINT | ||||||
|  |  | ||||||
|  |   return result; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, | ||||||
|  |                                           Atomic64 increment) { | ||||||
|  |   Atomic64 result; | ||||||
|  |   int32_t temp; | ||||||
|  |  | ||||||
|  |   __asm__ __volatile__ (  // NOLINT | ||||||
|  |     "0:                                     \n\t" | ||||||
|  |     "ldxr %[result], %[ptr]                 \n\t" | ||||||
|  |     "add %[result], %[result], %[increment] \n\t" | ||||||
|  |     "stxr %w[temp], %[result], %[ptr]       \n\t" | ||||||
|  |     "cbnz %w[temp], 0b                      \n\t" | ||||||
|  |     : [result]"=&r" (result), | ||||||
|  |       [temp]"=&r" (temp), | ||||||
|  |       [ptr]"+Q" (*ptr) | ||||||
|  |     : [increment]"IJr" (increment) | ||||||
|  |     : "memory" | ||||||
|  |   );  // NOLINT | ||||||
|  |  | ||||||
|  |   return result; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, | ||||||
|  |                                         Atomic64 increment) { | ||||||
|  |   Atomic64 result; | ||||||
|  |  | ||||||
|  |   MemoryBarrier(); | ||||||
|  |   result = NoBarrier_AtomicIncrement(ptr, increment); | ||||||
|  |   MemoryBarrier(); | ||||||
|  |  | ||||||
|  |   return result; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, | ||||||
|  |                                        Atomic64 old_value, | ||||||
|  |                                        Atomic64 new_value) { | ||||||
|  |   Atomic64 prev; | ||||||
|  |  | ||||||
|  |   prev = NoBarrier_CompareAndSwap(ptr, old_value, new_value); | ||||||
|  |   MemoryBarrier(); | ||||||
|  |  | ||||||
|  |   return prev; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, | ||||||
|  |                                        Atomic64 old_value, | ||||||
|  |                                        Atomic64 new_value) { | ||||||
|  |   Atomic64 prev; | ||||||
|  |  | ||||||
|  |   MemoryBarrier(); | ||||||
|  |   prev = NoBarrier_CompareAndSwap(ptr, old_value, new_value); | ||||||
|  |  | ||||||
|  |   return prev; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { | ||||||
|  |   *ptr = value; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { | ||||||
|  |   *ptr = value; | ||||||
|  |   MemoryBarrier(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { | ||||||
|  |   __asm__ __volatile__ (  // NOLINT | ||||||
|  |     "stlr %x[value], %[ptr]  \n\t" | ||||||
|  |     : [ptr]"=Q" (*ptr) | ||||||
|  |     : [value]"r" (value) | ||||||
|  |     : "memory" | ||||||
|  |   );  // NOLINT | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { | ||||||
|  |   return *ptr; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { | ||||||
|  |   Atomic64 value; | ||||||
|  |  | ||||||
|  |   __asm__ __volatile__ (  // NOLINT | ||||||
|  |     "ldar %x[value], %[ptr]  \n\t" | ||||||
|  |     : [value]"=r" (value) | ||||||
|  |     : [ptr]"Q" (*ptr) | ||||||
|  |     : "memory" | ||||||
|  |   );  // NOLINT | ||||||
|  |  | ||||||
|  |   return value; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 Release_Load(volatile const Atomic64* ptr) { | ||||||
|  |   MemoryBarrier(); | ||||||
|  |   return *ptr; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | } }  // namespace base::subtle | ||||||
|  |  | ||||||
|  | #endif  // CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM64_GCC_H_ | ||||||
|  |  | ||||||
							
								
								
									
										197
									
								
								include/base/internal/cef_atomicops_arm64_msvc.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										197
									
								
								include/base/internal/cef_atomicops_arm64_msvc.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,197 @@ | |||||||
|  | // Copyright (c) 2008 Google Inc. All rights reserved. | ||||||
|  | // | ||||||
|  | // Redistribution and use in source and binary forms, with or without | ||||||
|  | // modification, are permitted provided that the following conditions are | ||||||
|  | // met: | ||||||
|  | // | ||||||
|  | //    * Redistributions of source code must retain the above copyright | ||||||
|  | // notice, this list of conditions and the following disclaimer. | ||||||
|  | //    * Redistributions in binary form must reproduce the above | ||||||
|  | // copyright notice, this list of conditions and the following disclaimer | ||||||
|  | // in the documentation and/or other materials provided with the | ||||||
|  | // distribution. | ||||||
|  | //    * Neither the name of Google Inc. nor the name Chromium Embedded | ||||||
|  | // Framework nor the names of its contributors may be used to endorse | ||||||
|  | // or promote products derived from this software without specific prior | ||||||
|  | // written permission. | ||||||
|  | // | ||||||
|  | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  |  | ||||||
|  | // Do not include this header file directly. Use base/cef_atomicops.h | ||||||
|  | // instead. | ||||||
|  |  | ||||||
|  | #ifndef CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM64_MSVC_H_ | ||||||
|  | #define CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM64_MSVC_H_ | ||||||
|  |  | ||||||
|  | #include <windows.h> | ||||||
|  |  | ||||||
|  | #include <intrin.h> | ||||||
|  |  | ||||||
|  | #include "include/base/cef_macros.h" | ||||||
|  |  | ||||||
|  | namespace base { | ||||||
|  | namespace subtle { | ||||||
|  |  | ||||||
|  | inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, | ||||||
|  |                                          Atomic32 old_value, | ||||||
|  |                                          Atomic32 new_value) { | ||||||
|  |   LONG result = _InterlockedCompareExchange( | ||||||
|  |       reinterpret_cast<volatile LONG*>(ptr), static_cast<LONG>(new_value), | ||||||
|  |       static_cast<LONG>(old_value)); | ||||||
|  |   return static_cast<Atomic32>(result); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, | ||||||
|  |                                          Atomic32 new_value) { | ||||||
|  |   LONG result = _InterlockedExchange(reinterpret_cast<volatile LONG*>(ptr), | ||||||
|  |                                      static_cast<LONG>(new_value)); | ||||||
|  |   return static_cast<Atomic32>(result); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, | ||||||
|  |                                         Atomic32 increment) { | ||||||
|  |   return _InterlockedExchangeAdd(reinterpret_cast<volatile LONG*>(ptr), | ||||||
|  |                                  static_cast<LONG>(increment)) + | ||||||
|  |          increment; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, | ||||||
|  |                                           Atomic32 increment) { | ||||||
|  |   return Barrier_AtomicIncrement(ptr, increment); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | #if !(defined(_MSC_VER) && _MSC_VER >= 1400) | ||||||
|  | #error "We require at least vs2005 for MemoryBarrier" | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, | ||||||
|  |                                        Atomic32 old_value, | ||||||
|  |                                        Atomic32 new_value) { | ||||||
|  |   return NoBarrier_CompareAndSwap(ptr, old_value, new_value); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, | ||||||
|  |                                        Atomic32 old_value, | ||||||
|  |                                        Atomic32 new_value) { | ||||||
|  |   return NoBarrier_CompareAndSwap(ptr, old_value, new_value); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { | ||||||
|  |   *ptr = value; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { | ||||||
|  |   NoBarrier_AtomicExchange(ptr, value); | ||||||
|  |   // acts as a barrier in this implementation | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { | ||||||
|  |   *ptr = value; | ||||||
|  |   // See comments in Atomic64 version of Release_Store() below. | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { | ||||||
|  |   return *ptr; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { | ||||||
|  |   Atomic32 value = *ptr; | ||||||
|  |   return value; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic32 Release_Load(volatile const Atomic32* ptr) { | ||||||
|  |   MemoryBarrier(); | ||||||
|  |   return *ptr; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | #if defined(_WIN64) | ||||||
|  |  | ||||||
|  | // 64-bit low-level operations on 64-bit platform. | ||||||
|  |  | ||||||
|  | COMPILE_ASSERT(sizeof(Atomic64) == sizeof(PVOID), atomic_word_is_atomic); | ||||||
|  |  | ||||||
|  | inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, | ||||||
|  |                                          Atomic64 old_value, | ||||||
|  |                                          Atomic64 new_value) { | ||||||
|  |   PVOID result = InterlockedCompareExchangePointer( | ||||||
|  |       reinterpret_cast<volatile PVOID*>(ptr), | ||||||
|  |       reinterpret_cast<PVOID>(new_value), reinterpret_cast<PVOID>(old_value)); | ||||||
|  |   return reinterpret_cast<Atomic64>(result); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, | ||||||
|  |                                          Atomic64 new_value) { | ||||||
|  |   PVOID result = | ||||||
|  |       InterlockedExchangePointer(reinterpret_cast<volatile PVOID*>(ptr), | ||||||
|  |                                  reinterpret_cast<PVOID>(new_value)); | ||||||
|  |   return reinterpret_cast<Atomic64>(result); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, | ||||||
|  |                                         Atomic64 increment) { | ||||||
|  |   return InterlockedExchangeAdd64(reinterpret_cast<volatile LONGLONG*>(ptr), | ||||||
|  |                                   static_cast<LONGLONG>(increment)) + | ||||||
|  |          increment; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, | ||||||
|  |                                           Atomic64 increment) { | ||||||
|  |   return Barrier_AtomicIncrement(ptr, increment); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { | ||||||
|  |   *ptr = value; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { | ||||||
|  |   NoBarrier_AtomicExchange(ptr, value); | ||||||
|  |   // acts as a barrier in this implementation | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { | ||||||
|  |   *ptr = value; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { | ||||||
|  |   return *ptr; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { | ||||||
|  |   Atomic64 value = *ptr; | ||||||
|  |   return value; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 Release_Load(volatile const Atomic64* ptr) { | ||||||
|  |   MemoryBarrier(); | ||||||
|  |   return *ptr; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, | ||||||
|  |                                        Atomic64 old_value, | ||||||
|  |                                        Atomic64 new_value) { | ||||||
|  |   return NoBarrier_CompareAndSwap(ptr, old_value, new_value); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, | ||||||
|  |                                        Atomic64 old_value, | ||||||
|  |                                        Atomic64 new_value) { | ||||||
|  |   return NoBarrier_CompareAndSwap(ptr, old_value, new_value); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | #endif  // defined(_WIN64) | ||||||
|  |  | ||||||
|  | }  // namespace base::subtle | ||||||
|  | }  // namespace base | ||||||
|  |  | ||||||
|  | #endif  // CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM64_MSVC_H_ | ||||||
|  |  | ||||||
| @@ -38,7 +38,8 @@ | |||||||
| // In the x64 architecture in Windows, __fastcall, __stdcall, etc, are all | // In the x64 architecture in Windows, __fastcall, __stdcall, etc, are all | ||||||
| // the same as __cdecl which would turn the following specializations into | // the same as __cdecl which would turn the following specializations into | ||||||
| // multiple definitions. | // multiple definitions. | ||||||
| #if !defined(ARCH_CPU_X86_64) | #if defined(ARCH_CPU_X86_FAMILY) | ||||||
|  | #if defined(ARCH_CPU_32_BITS) | ||||||
|  |  | ||||||
| namespace base { | namespace base { | ||||||
| namespace cef_internal { | namespace cef_internal { | ||||||
| @@ -391,6 +392,7 @@ class RunnableAdapter<R(__fastcall*)(A1, A2, A3, A4, A5, A6, A7)> { | |||||||
| }  // namespace cef_internal | }  // namespace cef_internal | ||||||
| }  // namespace base | }  // namespace base | ||||||
|  |  | ||||||
| #endif  // !defined(ARCH_CPU_X86_64) | #endif  // defined(ARCH_CPU_32_BITS) | ||||||
|  | #endif  // defined(ARCH_CPU_X86_FAMILY) | ||||||
|  |  | ||||||
| #endif  // CEF_INCLUDE_BASE_INTERNAL_CEF_BIND_INTERNAL_WIN_H_ | #endif  // CEF_INCLUDE_BASE_INTERNAL_CEF_BIND_INTERNAL_WIN_H_ | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								include/base/internal/cef_net_error_list.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								include/base/internal/cef_net_error_list.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | // Copyright (c) 2019 The Chromium Embedded Framework Authors. All rights | ||||||
|  | // reserved. Use of this source code is governed by a BSD-style license that | ||||||
|  | // can be found in the LICENSE file. | ||||||
|  | // | ||||||
|  | // Include net error codes from the Chromium source location. When creating a | ||||||
|  | // CEF binary distribution this file will be replaced with the Chromium version. | ||||||
|  |  | ||||||
|  | #include "net/base/net_error_list.h" | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=ade29136d75b33f63cf65db4b91de9cd66114562$ | // $hash=c487e5fd787b1be8224a8981839e0cfdd0ed74f3$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_ACCESSIBILITY_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_ACCESSIBILITY_HANDLER_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=52ce63b881a6e3d2d13a39b81ad2626f366fc130$ | // $hash=a4b63e6e7942e3a3961b4f7141a963980178ae6f$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_APP_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_APP_CAPI_H_ | ||||||
|   | |||||||
							
								
								
									
										121
									
								
								include/capi/cef_audio_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								include/capi/cef_audio_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,121 @@ | |||||||
|  | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
|  | // | ||||||
|  | // Redistribution and use in source and binary forms, with or without | ||||||
|  | // modification, are permitted provided that the following conditions are | ||||||
|  | // met: | ||||||
|  | // | ||||||
|  | //    * Redistributions of source code must retain the above copyright | ||||||
|  | // notice, this list of conditions and the following disclaimer. | ||||||
|  | //    * Redistributions in binary form must reproduce the above | ||||||
|  | // copyright notice, this list of conditions and the following disclaimer | ||||||
|  | // in the documentation and/or other materials provided with the | ||||||
|  | // distribution. | ||||||
|  | //    * Neither the name of Google Inc. nor the name Chromium Embedded | ||||||
|  | // Framework nor the names of its contributors may be used to endorse | ||||||
|  | // or promote products derived from this software without specific prior | ||||||
|  | // written permission. | ||||||
|  | // | ||||||
|  | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  | // | ||||||
|  | // --------------------------------------------------------------------------- | ||||||
|  | // | ||||||
|  | // This file was generated by the CEF translator tool and should not edited | ||||||
|  | // by hand. See the translator.README.txt file in the tools directory for | ||||||
|  | // more information. | ||||||
|  | // | ||||||
|  | // $hash=7a483ed552ecca4f1aaa03800d366beca1ea2dee$ | ||||||
|  | // | ||||||
|  |  | ||||||
|  | #ifndef CEF_INCLUDE_CAPI_CEF_AUDIO_HANDLER_CAPI_H_ | ||||||
|  | #define CEF_INCLUDE_CAPI_CEF_AUDIO_HANDLER_CAPI_H_ | ||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | #include "include/capi/cef_base_capi.h" | ||||||
|  | #include "include/capi/cef_browser_capi.h" | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | extern "C" { | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Implement this structure to handle audio events. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_audio_handler_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the UI thread to allow configuration of audio stream parameters. | ||||||
|  |   // Return true (1) to proceed with audio stream capture, or false (0) to | ||||||
|  |   // cancel it. All members of |params| can optionally be configured here, but | ||||||
|  |   // they are also pre-filled with some sensible defaults. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* get_audio_parameters)(struct _cef_audio_handler_t* self, | ||||||
|  |                                           struct _cef_browser_t* browser, | ||||||
|  |                                           cef_audio_parameters_t* params); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on a browser audio capture thread when the browser starts streaming | ||||||
|  |   // audio. OnAudioSteamStopped will always be called after | ||||||
|  |   // OnAudioStreamStarted; both functions may be called multiple times for the | ||||||
|  |   // same browser. |params| contains the audio parameters like sample rate and | ||||||
|  |   // channel layout. |channels| is the number of channels. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_audio_stream_started)( | ||||||
|  |       struct _cef_audio_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       const cef_audio_parameters_t* params, | ||||||
|  |       int channels); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the audio stream thread when a PCM packet is received for the | ||||||
|  |   // stream. |data| is an array representing the raw PCM data as a floating | ||||||
|  |   // point type, i.e. 4-byte value(s). |frames| is the number of frames in the | ||||||
|  |   // PCM packet. |pts| is the presentation timestamp (in milliseconds since the | ||||||
|  |   // Unix Epoch) and represents the time at which the decompressed packet should | ||||||
|  |   // be presented to the user. Based on |frames| and the |channel_layout| value | ||||||
|  |   // passed to OnAudioStreamStarted you can calculate the size of the |data| | ||||||
|  |   // array in bytes. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_audio_stream_packet)(struct _cef_audio_handler_t* self, | ||||||
|  |                                              struct _cef_browser_t* browser, | ||||||
|  |                                              const float** data, | ||||||
|  |                                              int frames, | ||||||
|  |                                              int64 pts); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the UI thread when the stream has stopped. OnAudioSteamStopped | ||||||
|  |   // will always be called after OnAudioStreamStarted; both functions may be | ||||||
|  |   // called multiple times for the same stream. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_audio_stream_stopped)(struct _cef_audio_handler_t* self, | ||||||
|  |                                               struct _cef_browser_t* browser); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the UI or audio stream thread when an error occurred. During the | ||||||
|  |   // stream creation phase this callback will be called on the UI thread while | ||||||
|  |   // in the capturing phase it will be called on the audio stream thread. The | ||||||
|  |   // stream will be stopped immediately. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_audio_stream_error)(struct _cef_audio_handler_t* self, | ||||||
|  |                                             struct _cef_browser_t* browser, | ||||||
|  |                                             const cef_string_t* message); | ||||||
|  | } cef_audio_handler_t; | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #endif  // CEF_INCLUDE_CAPI_CEF_AUDIO_HANDLER_CAPI_H_ | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=639d58245ecd39624d39ee8b49e0e4e056d1c4ed$ | // $hash=2b9508a328ed0218e2c576af455f8d76e5978545$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_AUTH_CALLBACK_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_AUTH_CALLBACK_CAPI_H_ | ||||||
|   | |||||||
| @@ -69,6 +69,11 @@ typedef struct _cef_base_ref_counted_t { | |||||||
|   // Returns true (1) if the current reference count is 1. |   // Returns true (1) if the current reference count is 1. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* has_one_ref)(struct _cef_base_ref_counted_t* self); |   int(CEF_CALLBACK* has_one_ref)(struct _cef_base_ref_counted_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if the current reference count is at least 1. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* has_at_least_one_ref)(struct _cef_base_ref_counted_t* self); | ||||||
| } cef_base_ref_counted_t; | } cef_base_ref_counted_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=b6308ab5e97eb9f7af95f1f4c371fd6e7edbf852$ | // $hash=6e192c6e8a59c37e98e458578a287dd36b8ed90f$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_CAPI_H_ | ||||||
| @@ -41,11 +41,12 @@ | |||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #include "include/capi/cef_base_capi.h" | #include "include/capi/cef_base_capi.h" | ||||||
|  | #include "include/capi/cef_devtools_message_observer_capi.h" | ||||||
| #include "include/capi/cef_drag_data_capi.h" | #include "include/capi/cef_drag_data_capi.h" | ||||||
| #include "include/capi/cef_frame_capi.h" | #include "include/capi/cef_frame_capi.h" | ||||||
| #include "include/capi/cef_image_capi.h" | #include "include/capi/cef_image_capi.h" | ||||||
| #include "include/capi/cef_navigation_entry_capi.h" | #include "include/capi/cef_navigation_entry_capi.h" | ||||||
| #include "include/capi/cef_process_message_capi.h" | #include "include/capi/cef_registration_capi.h" | ||||||
| #include "include/capi/cef_request_context_capi.h" | #include "include/capi/cef_request_context_capi.h" | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| @@ -56,10 +57,10 @@ struct _cef_browser_host_t; | |||||||
| struct _cef_client_t; | struct _cef_client_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Structure used to represent a browser window. When used in the browser | // Structure used to represent a browser. When used in the browser process the | ||||||
| // process the functions of this structure may be called on any thread unless | // functions of this structure may be called on any thread unless otherwise | ||||||
| // otherwise indicated in the comments. When used in the render process the | // indicated in the comments. When used in the render process the functions of | ||||||
| // functions of this structure may only be called on the main thread. | // this structure may only be called on the main thread. | ||||||
| /// | /// | ||||||
| typedef struct _cef_browser_t { | typedef struct _cef_browser_t { | ||||||
|   /// |   /// | ||||||
| @@ -67,6 +68,12 @@ typedef struct _cef_browser_t { | |||||||
|   /// |   /// | ||||||
|   cef_base_ref_counted_t base; |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // True if this object is currently valid. This will return false (0) after | ||||||
|  |   // cef_life_span_handler_t::OnBeforeClose is called. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* is_valid)(struct _cef_browser_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Returns the browser host object. This function can only be called in the |   // Returns the browser host object. This function can only be called in the | ||||||
|   // browser process. |   // browser process. | ||||||
| @@ -115,7 +122,8 @@ typedef struct _cef_browser_t { | |||||||
|   void(CEF_CALLBACK* stop_load)(struct _cef_browser_t* self); |   void(CEF_CALLBACK* stop_load)(struct _cef_browser_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Returns the globally unique identifier for this browser. |   // Returns the globally unique identifier for this browser. This value is also | ||||||
|  |   // used as the tabId for extension APIs. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* get_identifier)(struct _cef_browser_t* self); |   int(CEF_CALLBACK* get_identifier)(struct _cef_browser_t* self); | ||||||
|  |  | ||||||
| @@ -127,7 +135,7 @@ typedef struct _cef_browser_t { | |||||||
|                              struct _cef_browser_t* that); |                              struct _cef_browser_t* that); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Returns true (1) if the window is a popup window. |   // Returns true (1) if the browser is a popup. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* is_popup)(struct _cef_browser_t* self); |   int(CEF_CALLBACK* is_popup)(struct _cef_browser_t* self); | ||||||
|  |  | ||||||
| @@ -137,13 +145,19 @@ typedef struct _cef_browser_t { | |||||||
|   int(CEF_CALLBACK* has_document)(struct _cef_browser_t* self); |   int(CEF_CALLBACK* has_document)(struct _cef_browser_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Returns the main (top-level) frame for the browser window. |   // Returns the main (top-level) frame for the browser. In the browser process | ||||||
|  |   // this will return a valid object until after | ||||||
|  |   // cef_life_span_handler_t::OnBeforeClose is called. In the renderer process | ||||||
|  |   // this will return NULL if the main frame is hosted in a different renderer | ||||||
|  |   // process (e.g. for cross-origin sub-frames). The main frame object will | ||||||
|  |   // change during cross-origin navigation or re-navigation after renderer | ||||||
|  |   // process termination (due to crashes, etc). | ||||||
|   /// |   /// | ||||||
|   struct _cef_frame_t*(CEF_CALLBACK* get_main_frame)( |   struct _cef_frame_t*(CEF_CALLBACK* get_main_frame)( | ||||||
|       struct _cef_browser_t* self); |       struct _cef_browser_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Returns the focused frame for the browser window. |   // Returns the focused frame for the browser. | ||||||
|   /// |   /// | ||||||
|   struct _cef_frame_t*(CEF_CALLBACK* get_focused_frame)( |   struct _cef_frame_t*(CEF_CALLBACK* get_focused_frame)( | ||||||
|       struct _cef_browser_t* self); |       struct _cef_browser_t* self); | ||||||
| @@ -178,15 +192,6 @@ typedef struct _cef_browser_t { | |||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* get_frame_names)(struct _cef_browser_t* self, |   void(CEF_CALLBACK* get_frame_names)(struct _cef_browser_t* self, | ||||||
|                                       cef_string_list_t names); |                                       cef_string_list_t names); | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Send a message to the specified |target_process|. Returns true (1) if the |  | ||||||
|   // message was sent successfully. |  | ||||||
|   /// |  | ||||||
|   int(CEF_CALLBACK* send_process_message)( |  | ||||||
|       struct _cef_browser_t* self, |  | ||||||
|       cef_process_id_t target_process, |  | ||||||
|       struct _cef_process_message_t* message); |  | ||||||
| } cef_browser_t; | } cef_browser_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
| @@ -281,10 +286,10 @@ typedef struct _cef_download_image_callback_t { | |||||||
| } cef_download_image_callback_t; | } cef_download_image_callback_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Structure used to represent the browser process aspects of a browser window. | // Structure used to represent the browser process aspects of a browser. The | ||||||
| // The functions of this structure can only be called in the browser process. | // functions of this structure can only be called in the browser process. They | ||||||
| // They may be called on any thread in that process unless otherwise indicated | // may be called on any thread in that process unless otherwise indicated in the | ||||||
| // in the comments. | // comments. | ||||||
| /// | /// | ||||||
| typedef struct _cef_browser_host_t { | typedef struct _cef_browser_host_t { | ||||||
|   /// |   /// | ||||||
| @@ -313,11 +318,12 @@ typedef struct _cef_browser_host_t { | |||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Helper for closing a browser. Call this function from the top-level window |   // Helper for closing a browser. Call this function from the top-level window | ||||||
|   // close handler. Internally this calls CloseBrowser(false (0)) if the close |   // close handler (if any). Internally this calls CloseBrowser(false (0)) if | ||||||
|   // has not yet been initiated. This function returns false (0) while the close |   // the close has not yet been initiated. This function returns false (0) while | ||||||
|   // is pending and true (1) after the close has completed. See close_browser() |   // the close is pending and true (1) after the close has completed. See | ||||||
|   // and cef_life_span_handler_t::do_close() documentation for additional usage |   // close_browser() and cef_life_span_handler_t::do_close() documentation for | ||||||
|   // information. This function must be called on the browser process UI thread. |   // additional usage information. This function must be called on the browser | ||||||
|  |   // process UI thread. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* try_close_browser)(struct _cef_browser_host_t* self); |   int(CEF_CALLBACK* try_close_browser)(struct _cef_browser_host_t* self); | ||||||
|  |  | ||||||
| @@ -327,18 +333,19 @@ typedef struct _cef_browser_host_t { | |||||||
|   void(CEF_CALLBACK* set_focus)(struct _cef_browser_host_t* self, int focus); |   void(CEF_CALLBACK* set_focus)(struct _cef_browser_host_t* self, int focus); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Retrieve the window handle for this browser. If this browser is wrapped in |   // Retrieve the window handle (if any) for this browser. If this browser is | ||||||
|   // a cef_browser_view_t this function should be called on the browser process |   // wrapped in a cef_browser_view_t this function should be called on the | ||||||
|   // UI thread and it will return the handle for the top-level native window. |   // browser process UI thread and it will return the handle for the top-level | ||||||
|  |   // native window. | ||||||
|   /// |   /// | ||||||
|   cef_window_handle_t(CEF_CALLBACK* get_window_handle)( |   cef_window_handle_t(CEF_CALLBACK* get_window_handle)( | ||||||
|       struct _cef_browser_host_t* self); |       struct _cef_browser_host_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Retrieve the window handle of the browser that opened this browser. Will |   // Retrieve the window handle (if any) of the browser that opened this | ||||||
|   // return NULL for non-popup windows or if this browser is wrapped in a |   // browser. Will return NULL for non-popup browsers or if this browser is | ||||||
|   // cef_browser_view_t. This function can be used in combination with custom |   // wrapped in a cef_browser_view_t. This function can be used in combination | ||||||
|   // handling of modal windows. |   // with custom handling of modal windows. | ||||||
|   /// |   /// | ||||||
|   cef_window_handle_t(CEF_CALLBACK* get_opener_window_handle)( |   cef_window_handle_t(CEF_CALLBACK* get_opener_window_handle)( | ||||||
|       struct _cef_browser_host_t* self); |       struct _cef_browser_host_t* self); | ||||||
| @@ -493,6 +500,71 @@ typedef struct _cef_browser_host_t { | |||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* has_dev_tools)(struct _cef_browser_host_t* self); |   int(CEF_CALLBACK* has_dev_tools)(struct _cef_browser_host_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Send a function call message over the DevTools protocol. |message| must be | ||||||
|  |   // a UTF8-encoded JSON dictionary that contains "id" (int), "function" | ||||||
|  |   // (string) and "params" (dictionary, optional) values. See the DevTools | ||||||
|  |   // protocol documentation at https://chromedevtools.github.io/devtools- | ||||||
|  |   // protocol/ for details of supported functions and the expected "params" | ||||||
|  |   // dictionary contents. |message| will be copied if necessary. This function | ||||||
|  |   // will return true (1) if called on the UI thread and the message was | ||||||
|  |   // successfully submitted for validation, otherwise false (0). Validation will | ||||||
|  |   // be applied asynchronously and any messages that fail due to formatting | ||||||
|  |   // errors or missing parameters may be discarded without notification. Prefer | ||||||
|  |   // ExecuteDevToolsMethod if a more structured approach to message formatting | ||||||
|  |   // is desired. | ||||||
|  |   // | ||||||
|  |   // Every valid function call will result in an asynchronous function result or | ||||||
|  |   // error message that references the sent message "id". Event messages are | ||||||
|  |   // received while notifications are enabled (for example, between function | ||||||
|  |   // calls for "Page.enable" and "Page.disable"). All received messages will be | ||||||
|  |   // delivered to the observer(s) registered with AddDevToolsMessageObserver. | ||||||
|  |   // See cef_dev_tools_message_observer_t::OnDevToolsMessage documentation for | ||||||
|  |   // details of received message contents. | ||||||
|  |   // | ||||||
|  |   // Usage of the SendDevToolsMessage, ExecuteDevToolsMethod and | ||||||
|  |   // AddDevToolsMessageObserver functions does not require an active DevTools | ||||||
|  |   // front-end or remote-debugging session. Other active DevTools sessions will | ||||||
|  |   // continue to function independently. However, any modification of global | ||||||
|  |   // browser state by one session may not be reflected in the UI of other | ||||||
|  |   // sessions. | ||||||
|  |   // | ||||||
|  |   // Communication with the DevTools front-end (when displayed) can be logged | ||||||
|  |   // for development purposes by passing the `--devtools-protocol-log- | ||||||
|  |   // file=<path>` command-line flag. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* send_dev_tools_message)(struct _cef_browser_host_t* self, | ||||||
|  |                                             const void* message, | ||||||
|  |                                             size_t message_size); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Execute a function call over the DevTools protocol. This is a more | ||||||
|  |   // structured version of SendDevToolsMessage. |message_id| is an incremental | ||||||
|  |   // number that uniquely identifies the message (pass 0 to have the next number | ||||||
|  |   // assigned automatically based on previous values). |function| is the | ||||||
|  |   // function name. |params| are the function parameters, which may be NULL. See | ||||||
|  |   // the DevTools protocol documentation (linked above) for details of supported | ||||||
|  |   // functions and the expected |params| dictionary contents. This function will | ||||||
|  |   // return the assigned message ID if called on the UI thread and the message | ||||||
|  |   // was successfully submitted for validation, otherwise 0. See the | ||||||
|  |   // SendDevToolsMessage documentation for additional usage information. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* execute_dev_tools_method)( | ||||||
|  |       struct _cef_browser_host_t* self, | ||||||
|  |       int message_id, | ||||||
|  |       const cef_string_t* method, | ||||||
|  |       struct _cef_dictionary_value_t* params); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Add an observer for DevTools protocol messages (function results and | ||||||
|  |   // events). The observer will remain registered until the returned | ||||||
|  |   // Registration object is destroyed. See the SendDevToolsMessage documentation | ||||||
|  |   // for additional usage information. | ||||||
|  |   /// | ||||||
|  |   struct _cef_registration_t*(CEF_CALLBACK* add_dev_tools_message_observer)( | ||||||
|  |       struct _cef_browser_host_t* self, | ||||||
|  |       struct _cef_dev_tools_message_observer_t* observer); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Retrieve a snapshot of current navigation entries as values sent to the |   // Retrieve a snapshot of current navigation entries as values sent to the | ||||||
|   // specified visitor. If |current_only| is true (1) only the current |   // specified visitor. If |current_only| is true (1) only the current | ||||||
| @@ -504,19 +576,6 @@ typedef struct _cef_browser_host_t { | |||||||
|       struct _cef_navigation_entry_visitor_t* visitor, |       struct _cef_navigation_entry_visitor_t* visitor, | ||||||
|       int current_only); |       int current_only); | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Set whether mouse cursor change is disabled. |  | ||||||
|   /// |  | ||||||
|   void(CEF_CALLBACK* set_mouse_cursor_change_disabled)( |  | ||||||
|       struct _cef_browser_host_t* self, |  | ||||||
|       int disabled); |  | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Returns true (1) if mouse cursor change is disabled. |  | ||||||
|   /// |  | ||||||
|   int(CEF_CALLBACK* is_mouse_cursor_change_disabled)( |  | ||||||
|       struct _cef_browser_host_t* self); |  | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // If a misspelled word is currently selected in an editable node calling this |   // If a misspelled word is currently selected in an editable node calling this | ||||||
|   // function will replace it with the specified |word|. |   // function will replace it with the specified |word|. | ||||||
| @@ -570,6 +629,13 @@ typedef struct _cef_browser_host_t { | |||||||
|   void(CEF_CALLBACK* invalidate)(struct _cef_browser_host_t* self, |   void(CEF_CALLBACK* invalidate)(struct _cef_browser_host_t* self, | ||||||
|                                  cef_paint_element_type_t type); |                                  cef_paint_element_type_t type); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Issue a BeginFrame request to Chromium.  Only valid when | ||||||
|  |   // cef_window_tInfo::external_begin_frame_enabled is set to true (1). | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* send_external_begin_frame)( | ||||||
|  |       struct _cef_browser_host_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Send a key event to the browser. |   // Send a key event to the browser. | ||||||
|   /// |   /// | ||||||
| @@ -609,6 +675,12 @@ typedef struct _cef_browser_host_t { | |||||||
|       int deltaX, |       int deltaX, | ||||||
|       int deltaY); |       int deltaY); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Send a touch event to the browser for a windowless browser. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* send_touch_event)(struct _cef_browser_host_t* self, | ||||||
|  |                                        const struct _cef_touch_event_t* event); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Send a focus event to the browser. |   // Send a focus event to the browser. | ||||||
|   /// |   /// | ||||||
| @@ -812,32 +884,76 @@ typedef struct _cef_browser_host_t { | |||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* set_accessibility_state)(struct _cef_browser_host_t* self, |   void(CEF_CALLBACK* set_accessibility_state)(struct _cef_browser_host_t* self, | ||||||
|                                               cef_state_t accessibility_state); |                                               cef_state_t accessibility_state); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Enable notifications of auto resize via | ||||||
|  |   // cef_display_handler_t::OnAutoResize. Notifications are disabled by default. | ||||||
|  |   // |min_size| and |max_size| define the range of allowed sizes. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* set_auto_resize_enabled)(struct _cef_browser_host_t* self, | ||||||
|  |                                               int enabled, | ||||||
|  |                                               const cef_size_t* min_size, | ||||||
|  |                                               const cef_size_t* max_size); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the extension hosted in this browser or NULL if no extension is | ||||||
|  |   // hosted. See cef_request_context_t::LoadExtension for details. | ||||||
|  |   /// | ||||||
|  |   struct _cef_extension_t*(CEF_CALLBACK* get_extension)( | ||||||
|  |       struct _cef_browser_host_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if this browser is hosting an extension background script. | ||||||
|  |   // Background hosts do not have a window and are not displayable. See | ||||||
|  |   // cef_request_context_t::LoadExtension for details. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* is_background_host)(struct _cef_browser_host_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   //  Set whether the browser's audio is muted. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* set_audio_muted)(struct _cef_browser_host_t* self, | ||||||
|  |                                       int mute); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if the browser's audio is muted.  This function can only | ||||||
|  |   // be called on the UI thread. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* is_audio_muted)(struct _cef_browser_host_t* self); | ||||||
| } cef_browser_host_t; | } cef_browser_host_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Create a new browser window using the window parameters specified by | // Create a new browser using the window parameters specified by |windowInfo|. | ||||||
| // |windowInfo|. All values will be copied internally and the actual window will | // All values will be copied internally and the actual window (if any) will be | ||||||
| // be created on the UI thread. If |request_context| is NULL the global request | // created on the UI thread. If |request_context| is NULL the global request | ||||||
| // context will be used. This function can be called on any browser process | // context will be used. This function can be called on any browser process | ||||||
| // thread and will not block. | // thread and will not block. The optional |extra_info| parameter provides an | ||||||
|  | // opportunity to specify extra information specific to the created browser that | ||||||
|  | // will be passed to cef_render_process_handler_t::on_browser_created() in the | ||||||
|  | // render process. | ||||||
| /// | /// | ||||||
| CEF_EXPORT int cef_browser_host_create_browser( | CEF_EXPORT int cef_browser_host_create_browser( | ||||||
|     const cef_window_info_t* windowInfo, |     const cef_window_info_t* windowInfo, | ||||||
|     struct _cef_client_t* client, |     struct _cef_client_t* client, | ||||||
|     const cef_string_t* url, |     const cef_string_t* url, | ||||||
|     const struct _cef_browser_settings_t* settings, |     const struct _cef_browser_settings_t* settings, | ||||||
|  |     struct _cef_dictionary_value_t* extra_info, | ||||||
|     struct _cef_request_context_t* request_context); |     struct _cef_request_context_t* request_context); | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Create a new browser window using the window parameters specified by | // Create a new browser using the window parameters specified by |windowInfo|. | ||||||
| // |windowInfo|. If |request_context| is NULL the global request context will be | // If |request_context| is NULL the global request context will be used. This | ||||||
| // used. This function can only be called on the browser process UI thread. | // function can only be called on the browser process UI thread. The optional | ||||||
|  | // |extra_info| parameter provides an opportunity to specify extra information | ||||||
|  | // specific to the created browser that will be passed to | ||||||
|  | // cef_render_process_handler_t::on_browser_created() in the render process. | ||||||
| /// | /// | ||||||
| CEF_EXPORT cef_browser_t* cef_browser_host_create_browser_sync( | CEF_EXPORT cef_browser_t* cef_browser_host_create_browser_sync( | ||||||
|     const cef_window_info_t* windowInfo, |     const cef_window_info_t* windowInfo, | ||||||
|     struct _cef_client_t* client, |     struct _cef_client_t* client, | ||||||
|     const cef_string_t* url, |     const cef_string_t* url, | ||||||
|     const struct _cef_browser_settings_t* settings, |     const struct _cef_browser_settings_t* settings, | ||||||
|  |     struct _cef_dictionary_value_t* extra_info, | ||||||
|     struct _cef_request_context_t* request_context); |     struct _cef_request_context_t* request_context); | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=0868c7d129e35c38b207b1066fd5eba0c1eef45c$ | // $hash=ade537f836add7fe0b5fd94ceba26d678abb3e43$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_PROCESS_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_PROCESS_HANDLER_CAPI_H_ | ||||||
| @@ -41,8 +41,8 @@ | |||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #include "include/capi/cef_base_capi.h" | #include "include/capi/cef_base_capi.h" | ||||||
|  | #include "include/capi/cef_client_capi.h" | ||||||
| #include "include/capi/cef_command_line_capi.h" | #include "include/capi/cef_command_line_capi.h" | ||||||
| #include "include/capi/cef_print_handler_capi.h" |  | ||||||
| #include "include/capi/cef_values_capi.h" | #include "include/capi/cef_values_capi.h" | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| @@ -78,24 +78,6 @@ typedef struct _cef_browser_process_handler_t { | |||||||
|       struct _cef_browser_process_handler_t* self, |       struct _cef_browser_process_handler_t* self, | ||||||
|       struct _cef_command_line_t* command_line); |       struct _cef_command_line_t* command_line); | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Called on the browser process IO thread after the main thread has been |  | ||||||
|   // created for a new render process. Provides an opportunity to specify extra |  | ||||||
|   // information that will be passed to |  | ||||||
|   // cef_render_process_handler_t::on_render_thread_created() in the render |  | ||||||
|   // process. Do not keep a reference to |extra_info| outside of this function. |  | ||||||
|   /// |  | ||||||
|   void(CEF_CALLBACK* on_render_process_thread_created)( |  | ||||||
|       struct _cef_browser_process_handler_t* self, |  | ||||||
|       struct _cef_list_value_t* extra_info); |  | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Return the handler for printing on Linux. If a print handler is not |  | ||||||
|   // provided then printing will not be supported on the Linux platform. |  | ||||||
|   /// |  | ||||||
|   struct _cef_print_handler_t*(CEF_CALLBACK* get_print_handler)( |  | ||||||
|       struct _cef_browser_process_handler_t* self); |  | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called from any thread when work has been scheduled for the browser process |   // Called from any thread when work has been scheduled for the browser process | ||||||
|   // main (UI) thread. This callback is used in combination with CefSettings. |   // main (UI) thread. This callback is used in combination with CefSettings. | ||||||
| @@ -112,6 +94,16 @@ typedef struct _cef_browser_process_handler_t { | |||||||
|   void(CEF_CALLBACK* on_schedule_message_pump_work)( |   void(CEF_CALLBACK* on_schedule_message_pump_work)( | ||||||
|       struct _cef_browser_process_handler_t* self, |       struct _cef_browser_process_handler_t* self, | ||||||
|       int64 delay_ms); |       int64 delay_ms); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Return the default client for use with a newly created browser window. If | ||||||
|  |   // null is returned the browser will be unmanaged (no callbacks will be | ||||||
|  |   // executed for that browser) and application shutdown will be blocked until | ||||||
|  |   // the browser window is closed manually. This function is currently only used | ||||||
|  |   // with the chrome runtime. | ||||||
|  |   /// | ||||||
|  |   struct _cef_client_t*(CEF_CALLBACK* get_default_client)( | ||||||
|  |       struct _cef_browser_process_handler_t* self); | ||||||
| } cef_browser_process_handler_t; | } cef_browser_process_handler_t; | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=68de2255fd429696d62115786fc480f1d5f9882b$ | // $hash=cd8c183355a6808abd763ecc0396b5da6c15b3f9$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_CALLBACK_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_CALLBACK_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,13 +33,14 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=7f554250e73537ece3f8f67310c23e718f91d41b$ | // $hash=845a1d1dda63a06f4ae33ed39acfd2599b46a885$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_CLIENT_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_CLIENT_CAPI_H_ | ||||||
| #define CEF_INCLUDE_CAPI_CEF_CLIENT_CAPI_H_ | #define CEF_INCLUDE_CAPI_CEF_CLIENT_CAPI_H_ | ||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
|  | #include "include/capi/cef_audio_handler_capi.h" | ||||||
| #include "include/capi/cef_base_capi.h" | #include "include/capi/cef_base_capi.h" | ||||||
| #include "include/capi/cef_context_menu_handler_capi.h" | #include "include/capi/cef_context_menu_handler_capi.h" | ||||||
| #include "include/capi/cef_dialog_handler_capi.h" | #include "include/capi/cef_dialog_handler_capi.h" | ||||||
| @@ -48,11 +49,12 @@ | |||||||
| #include "include/capi/cef_drag_handler_capi.h" | #include "include/capi/cef_drag_handler_capi.h" | ||||||
| #include "include/capi/cef_find_handler_capi.h" | #include "include/capi/cef_find_handler_capi.h" | ||||||
| #include "include/capi/cef_focus_handler_capi.h" | #include "include/capi/cef_focus_handler_capi.h" | ||||||
| #include "include/capi/cef_geolocation_handler_capi.h" | #include "include/capi/cef_frame_handler_capi.h" | ||||||
| #include "include/capi/cef_jsdialog_handler_capi.h" | #include "include/capi/cef_jsdialog_handler_capi.h" | ||||||
| #include "include/capi/cef_keyboard_handler_capi.h" | #include "include/capi/cef_keyboard_handler_capi.h" | ||||||
| #include "include/capi/cef_life_span_handler_capi.h" | #include "include/capi/cef_life_span_handler_capi.h" | ||||||
| #include "include/capi/cef_load_handler_capi.h" | #include "include/capi/cef_load_handler_capi.h" | ||||||
|  | #include "include/capi/cef_print_handler_capi.h" | ||||||
| #include "include/capi/cef_process_message_capi.h" | #include "include/capi/cef_process_message_capi.h" | ||||||
| #include "include/capi/cef_render_handler_capi.h" | #include "include/capi/cef_render_handler_capi.h" | ||||||
| #include "include/capi/cef_request_handler_capi.h" | #include "include/capi/cef_request_handler_capi.h" | ||||||
| @@ -70,6 +72,12 @@ typedef struct _cef_client_t { | |||||||
|   /// |   /// | ||||||
|   cef_base_ref_counted_t base; |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Return the handler for audio rendering events. | ||||||
|  |   /// | ||||||
|  |   struct _cef_audio_handler_t*(CEF_CALLBACK* get_audio_handler)( | ||||||
|  |       struct _cef_client_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Return the handler for context menus. If no handler is provided the default |   // Return the handler for context menus. If no handler is provided the default | ||||||
|   // implementation will be used. |   // implementation will be used. | ||||||
| @@ -116,10 +124,11 @@ typedef struct _cef_client_t { | |||||||
|       struct _cef_client_t* self); |       struct _cef_client_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Return the handler for geolocation permissions requests. If no handler is |   // Return the handler for events related to cef_frame_t lifespan. This | ||||||
|   // provided geolocation access will be denied by default. |   // function will be called once during cef_browser_t creation and the result | ||||||
|  |   // will be cached for performance reasons. | ||||||
|   /// |   /// | ||||||
|   struct _cef_geolocation_handler_t*(CEF_CALLBACK* get_geolocation_handler)( |   struct _cef_frame_handler_t*(CEF_CALLBACK* get_frame_handler)( | ||||||
|       struct _cef_client_t* self); |       struct _cef_client_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
| @@ -147,6 +156,13 @@ typedef struct _cef_client_t { | |||||||
|   struct _cef_load_handler_t*(CEF_CALLBACK* get_load_handler)( |   struct _cef_load_handler_t*(CEF_CALLBACK* get_load_handler)( | ||||||
|       struct _cef_client_t* self); |       struct _cef_client_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Return the handler for printing on Linux. If a print handler is not | ||||||
|  |   // provided then printing will not be supported on the Linux platform. | ||||||
|  |   /// | ||||||
|  |   struct _cef_print_handler_t*(CEF_CALLBACK* get_print_handler)( | ||||||
|  |       struct _cef_client_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Return the handler for off-screen rendering events. |   // Return the handler for off-screen rendering events. | ||||||
|   /// |   /// | ||||||
| @@ -161,12 +177,13 @@ typedef struct _cef_client_t { | |||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called when a new message is received from a different process. Return true |   // Called when a new message is received from a different process. Return true | ||||||
|   // (1) if the message was handled or false (0) otherwise. Do not keep a |   // (1) if the message was handled or false (0) otherwise.  It is safe to keep | ||||||
|   // reference to or attempt to access the message outside of this callback. |   // a reference to |message| outside of this callback. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* on_process_message_received)( |   int(CEF_CALLBACK* on_process_message_received)( | ||||||
|       struct _cef_client_t* self, |       struct _cef_client_t* self, | ||||||
|       struct _cef_browser_t* browser, |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_frame_t* frame, | ||||||
|       cef_process_id_t source_process, |       cef_process_id_t source_process, | ||||||
|       struct _cef_process_message_t* message); |       struct _cef_process_message_t* message); | ||||||
| } cef_client_t; | } cef_client_t; | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=b917030321dc11ddfc8d8939239dda7952d2f955$ | // $hash=5af5bf1e877dd53f21f751d332a9e2166817324c$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_COMMAND_LINE_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_COMMAND_LINE_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=2e295ba277083061103147a400bc30f78e6a94f5$ | // $hash=175779df75a1405fcc5c337a09e6322c556698ba$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_CONTEXT_MENU_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_CONTEXT_MENU_HANDLER_CAPI_H_ | ||||||
| @@ -294,11 +294,6 @@ typedef struct _cef_context_menu_params_t { | |||||||
|   // items). |   // items). | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* is_custom_menu)(struct _cef_context_menu_params_t* self); |   int(CEF_CALLBACK* is_custom_menu)(struct _cef_context_menu_params_t* self); | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Returns true (1) if the context menu was invoked from a pepper plugin. |  | ||||||
|   /// |  | ||||||
|   int(CEF_CALLBACK* is_pepper_menu)(struct _cef_context_menu_params_t* self); |  | ||||||
| } cef_context_menu_params_t; | } cef_context_menu_params_t; | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=c2bf8084385f3c795ae7494da6970a0a61b96ac6$ | // $hash=b19ef1c8a781f8d59276357609fe64370bb8a107$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_COOKIE_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_COOKIE_CAPI_H_ | ||||||
| @@ -62,18 +62,7 @@ typedef struct _cef_cookie_manager_t { | |||||||
|   cef_base_ref_counted_t base; |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Set the schemes supported by this manager. The default schemes ("http", |   // Visit all cookies on the UI thread. The returned cookies are ordered by | ||||||
|   // "https", "ws" and "wss") will always be supported. If |callback| is non- |  | ||||||
|   // NULL it will be executed asnychronously on the IO thread after the change |  | ||||||
|   // has been applied. Must be called before any cookies are accessed. |  | ||||||
|   /// |  | ||||||
|   void(CEF_CALLBACK* set_supported_schemes)( |  | ||||||
|       struct _cef_cookie_manager_t* self, |  | ||||||
|       cef_string_list_t schemes, |  | ||||||
|       struct _cef_completion_callback_t* callback); |  | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Visit all cookies on the IO thread. The returned cookies are ordered by |  | ||||||
|   // longest path, then by earliest creation date. Returns false (0) if cookies |   // longest path, then by earliest creation date. Returns false (0) if cookies | ||||||
|   // cannot be accessed. |   // cannot be accessed. | ||||||
|   /// |   /// | ||||||
| @@ -81,7 +70,7 @@ typedef struct _cef_cookie_manager_t { | |||||||
|                                        struct _cef_cookie_visitor_t* visitor); |                                        struct _cef_cookie_visitor_t* visitor); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Visit a subset of cookies on the IO thread. The results are filtered by the |   // Visit a subset of cookies on the UI thread. The results are filtered by the | ||||||
|   // given url scheme, host, domain and path. If |includeHttpOnly| is true (1) |   // given url scheme, host, domain and path. If |includeHttpOnly| is true (1) | ||||||
|   // HTTP-only cookies will also be included in the results. The returned |   // HTTP-only cookies will also be included in the results. The returned | ||||||
|   // cookies are ordered by longest path, then by earliest creation date. |   // cookies are ordered by longest path, then by earliest creation date. | ||||||
| @@ -98,7 +87,7 @@ typedef struct _cef_cookie_manager_t { | |||||||
|   // check for disallowed characters (e.g. the ';' character is disallowed |   // check for disallowed characters (e.g. the ';' character is disallowed | ||||||
|   // within the cookie value attribute) and fail without setting the cookie if |   // within the cookie value attribute) and fail without setting the cookie if | ||||||
|   // such characters are found. If |callback| is non-NULL it will be executed |   // such characters are found. If |callback| is non-NULL it will be executed | ||||||
|   // asnychronously on the IO thread after the cookie has been set. Returns |   // asnychronously on the UI thread after the cookie has been set. Returns | ||||||
|   // false (0) if an invalid URL is specified or if cookies cannot be accessed. |   // false (0) if an invalid URL is specified or if cookies cannot be accessed. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* set_cookie)(struct _cef_cookie_manager_t* self, |   int(CEF_CALLBACK* set_cookie)(struct _cef_cookie_manager_t* self, | ||||||
| @@ -112,7 +101,7 @@ typedef struct _cef_cookie_manager_t { | |||||||
|   // both will be deleted. If only |url| is specified all host cookies (but not |   // both will be deleted. If only |url| is specified all host cookies (but not | ||||||
|   // domain cookies) irrespective of path will be deleted. If |url| is NULL all |   // domain cookies) irrespective of path will be deleted. If |url| is NULL all | ||||||
|   // cookies for all hosts and domains will be deleted. If |callback| is non- |   // cookies for all hosts and domains will be deleted. If |callback| is non- | ||||||
|   // NULL it will be executed asnychronously on the IO thread after the cookies |   // NULL it will be executed asnychronously on the UI thread after the cookies | ||||||
|   // have been deleted. Returns false (0) if a non-NULL invalid URL is specified |   // have been deleted. Returns false (0) if a non-NULL invalid URL is specified | ||||||
|   // or if cookies cannot be accessed. Cookies can alternately be deleted using |   // or if cookies cannot be accessed. Cookies can alternately be deleted using | ||||||
|   // the Visit*Cookies() functions. |   // the Visit*Cookies() functions. | ||||||
| @@ -123,25 +112,9 @@ typedef struct _cef_cookie_manager_t { | |||||||
|       const cef_string_t* cookie_name, |       const cef_string_t* cookie_name, | ||||||
|       struct _cef_delete_cookies_callback_t* callback); |       struct _cef_delete_cookies_callback_t* callback); | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Sets the directory path that will be used for storing cookie data. If |  | ||||||
|   // |path| is NULL data will be stored in memory only. Otherwise, data will be |  | ||||||
|   // stored at the specified |path|. To persist session cookies (cookies without |  | ||||||
|   // an expiry date or validity interval) set |persist_session_cookies| to true |  | ||||||
|   // (1). Session cookies are generally intended to be transient and most Web |  | ||||||
|   // browsers do not persist them. If |callback| is non-NULL it will be executed |  | ||||||
|   // asnychronously on the IO thread after the manager's storage has been |  | ||||||
|   // initialized. Returns false (0) if cookies cannot be accessed. |  | ||||||
|   /// |  | ||||||
|   int(CEF_CALLBACK* set_storage_path)( |  | ||||||
|       struct _cef_cookie_manager_t* self, |  | ||||||
|       const cef_string_t* path, |  | ||||||
|       int persist_session_cookies, |  | ||||||
|       struct _cef_completion_callback_t* callback); |  | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Flush the backing store (if any) to disk. If |callback| is non-NULL it will |   // Flush the backing store (if any) to disk. If |callback| is non-NULL it will | ||||||
|   // be executed asnychronously on the IO thread after the flush is complete. |   // be executed asnychronously on the UI thread after the flush is complete. | ||||||
|   // Returns false (0) if cookies cannot be accessed. |   // Returns false (0) if cookies cannot be accessed. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* flush_store)(struct _cef_cookie_manager_t* self, |   int(CEF_CALLBACK* flush_store)(struct _cef_cookie_manager_t* self, | ||||||
| @@ -151,31 +124,17 @@ typedef struct _cef_cookie_manager_t { | |||||||
| /// | /// | ||||||
| // Returns the global cookie manager. By default data will be stored at | // Returns the global cookie manager. By default data will be stored at | ||||||
| // CefSettings.cache_path if specified or in memory otherwise. If |callback| is | // CefSettings.cache_path if specified or in memory otherwise. If |callback| is | ||||||
| // non-NULL it will be executed asnychronously on the IO thread after the | // non-NULL it will be executed asnychronously on the UI thread after the | ||||||
| // manager's storage has been initialized. Using this function is equivalent to | // manager's storage has been initialized. Using this function is equivalent to | ||||||
| // calling cef_request_tContext::cef_request_context_get_global_context()->get_d | // calling cef_request_context_t::cef_request_context_get_global_context()->GetD | ||||||
| // efault_cookie_manager(). | // efaultCookieManager(). | ||||||
| /// | /// | ||||||
| CEF_EXPORT cef_cookie_manager_t* cef_cookie_manager_get_global_manager( | CEF_EXPORT cef_cookie_manager_t* cef_cookie_manager_get_global_manager( | ||||||
|     struct _cef_completion_callback_t* callback); |     struct _cef_completion_callback_t* callback); | ||||||
|  |  | ||||||
| /// |  | ||||||
| // Creates a new cookie manager. If |path| is NULL data will be stored in memory |  | ||||||
| // only. Otherwise, data will be stored at the specified |path|. To persist |  | ||||||
| // session cookies (cookies without an expiry date or validity interval) set |  | ||||||
| // |persist_session_cookies| to true (1). Session cookies are generally intended |  | ||||||
| // to be transient and most Web browsers do not persist them. If |callback| is |  | ||||||
| // non-NULL it will be executed asnychronously on the IO thread after the |  | ||||||
| // manager's storage has been initialized. |  | ||||||
| /// |  | ||||||
| CEF_EXPORT cef_cookie_manager_t* cef_cookie_manager_create_manager( |  | ||||||
|     const cef_string_t* path, |  | ||||||
|     int persist_session_cookies, |  | ||||||
|     struct _cef_completion_callback_t* callback); |  | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Structure to implement for visiting cookie values. The functions of this | // Structure to implement for visiting cookie values. The functions of this | ||||||
| // structure will always be called on the IO thread. | // structure will always be called on the UI thread. | ||||||
| /// | /// | ||||||
| typedef struct _cef_cookie_visitor_t { | typedef struct _cef_cookie_visitor_t { | ||||||
|   /// |   /// | ||||||
| @@ -227,7 +186,7 @@ typedef struct _cef_delete_cookies_callback_t { | |||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Method that will be called upon completion. |num_deleted| will be the |   // Method that will be called upon completion. |num_deleted| will be the | ||||||
|   // number of cookies that were deleted or -1 if unknown. |   // number of cookies that were deleted. | ||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* on_complete)(struct _cef_delete_cookies_callback_t* self, |   void(CEF_CALLBACK* on_complete)(struct _cef_delete_cookies_callback_t* self, | ||||||
|                                   int num_deleted); |                                   int num_deleted); | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=8b7354f5a1ad6b255d77e477c64374b927f4fe28$ | // $hash=5e19231e3476eef376c2742e8d375bee7bd4ea2d$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_CRASH_UTIL_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_CRASH_UTIL_CAPI_H_ | ||||||
| @@ -129,14 +129,12 @@ extern "C" { | |||||||
| // | // | ||||||
| // CrashKeys section: | // CrashKeys section: | ||||||
| // | // | ||||||
| // Any number of crash keys can be specified for use by the application. Crash | // A maximum of 26 crash keys of each size can be specified for use by the | ||||||
| // key values will be truncated based on the specified size (small = 63 bytes, | // application. Crash key values will be truncated based on the specified size | ||||||
| // medium = 252 bytes, large = 1008 bytes). The value of crash keys can be set | // (small = 64 bytes, medium = 256 bytes, large = 1024 bytes). The value of | ||||||
| // from any thread or process using the CefSetCrashKeyValue function. These | // crash keys can be set from any thread or process using the | ||||||
| // key/value pairs will be sent to the crash server along with the crash dump | // CefSetCrashKeyValue function. These key/value pairs will be sent to the crash | ||||||
| // file. Medium and large values will be chunked for submission. For example, if | // server along with the crash dump file. | ||||||
| // your key is named "mykey" then the value will be broken into ordered chunks |  | ||||||
| // and submitted using keys named "mykey-1", "mykey-2", etc. |  | ||||||
| /// | /// | ||||||
| CEF_EXPORT int cef_crash_reporting_enabled(); | CEF_EXPORT int cef_crash_reporting_enabled(); | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										147
									
								
								include/capi/cef_devtools_message_observer_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										147
									
								
								include/capi/cef_devtools_message_observer_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,147 @@ | |||||||
|  | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
|  | // | ||||||
|  | // Redistribution and use in source and binary forms, with or without | ||||||
|  | // modification, are permitted provided that the following conditions are | ||||||
|  | // met: | ||||||
|  | // | ||||||
|  | //    * Redistributions of source code must retain the above copyright | ||||||
|  | // notice, this list of conditions and the following disclaimer. | ||||||
|  | //    * Redistributions in binary form must reproduce the above | ||||||
|  | // copyright notice, this list of conditions and the following disclaimer | ||||||
|  | // in the documentation and/or other materials provided with the | ||||||
|  | // distribution. | ||||||
|  | //    * Neither the name of Google Inc. nor the name Chromium Embedded | ||||||
|  | // Framework nor the names of its contributors may be used to endorse | ||||||
|  | // or promote products derived from this software without specific prior | ||||||
|  | // written permission. | ||||||
|  | // | ||||||
|  | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  | // | ||||||
|  | // --------------------------------------------------------------------------- | ||||||
|  | // | ||||||
|  | // This file was generated by the CEF translator tool and should not edited | ||||||
|  | // by hand. See the translator.README.txt file in the tools directory for | ||||||
|  | // more information. | ||||||
|  | // | ||||||
|  | // $hash=1a256c04042ebd4867f39e1c31def558871b2bab$ | ||||||
|  | // | ||||||
|  |  | ||||||
|  | #ifndef CEF_INCLUDE_CAPI_CEF_DEVTOOLS_MESSAGE_OBSERVER_CAPI_H_ | ||||||
|  | #define CEF_INCLUDE_CAPI_CEF_DEVTOOLS_MESSAGE_OBSERVER_CAPI_H_ | ||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | #include "include/capi/cef_base_capi.h" | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | extern "C" { | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | struct _cef_browser_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Callback structure for cef_browser_host_t::AddDevToolsMessageObserver. The | ||||||
|  | // functions of this structure will be called on the browser process UI thread. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_dev_tools_message_observer_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Method that will be called on receipt of a DevTools protocol message. | ||||||
|  |   // |browser| is the originating browser instance. |message| is a UTF8-encoded | ||||||
|  |   // JSON dictionary representing either a function result or an event. | ||||||
|  |   // |message| is only valid for the scope of this callback and should be copied | ||||||
|  |   // if necessary. Return true (1) if the message was handled or false (0) if | ||||||
|  |   // the message should be further processed and passed to the | ||||||
|  |   // OnDevToolsMethodResult or OnDevToolsEvent functions as appropriate. | ||||||
|  |   // | ||||||
|  |   // Method result dictionaries include an "id" (int) value that identifies the | ||||||
|  |   // orginating function call sent from cef_browser_host_t::SendDevToolsMessage, | ||||||
|  |   // and optionally either a "result" (dictionary) or "error" (dictionary) | ||||||
|  |   // value. The "error" dictionary will contain "code" (int) and "message" | ||||||
|  |   // (string) values. Event dictionaries include a "function" (string) value and | ||||||
|  |   // optionally a "params" (dictionary) value. See the DevTools protocol | ||||||
|  |   // documentation at https://chromedevtools.github.io/devtools-protocol/ for | ||||||
|  |   // details of supported function calls and the expected "result" or "params" | ||||||
|  |   // dictionary contents. JSON dictionaries can be parsed using the CefParseJSON | ||||||
|  |   // function if desired, however be aware of performance considerations when | ||||||
|  |   // parsing large messages (some of which may exceed 1MB in size). | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* on_dev_tools_message)( | ||||||
|  |       struct _cef_dev_tools_message_observer_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       const void* message, | ||||||
|  |       size_t message_size); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Method that will be called after attempted execution of a DevTools protocol | ||||||
|  |   // function. |browser| is the originating browser instance. |message_id| is | ||||||
|  |   // the "id" value that identifies the originating function call message. If | ||||||
|  |   // the function succeeded |success| will be true (1) and |result| will be the | ||||||
|  |   // UTF8-encoded JSON "result" dictionary value (which may be NULL). If the | ||||||
|  |   // function failed |success| will be false (0) and |result| will be the | ||||||
|  |   // UTF8-encoded JSON "error" dictionary value. |result| is only valid for the | ||||||
|  |   // scope of this callback and should be copied if necessary. See the | ||||||
|  |   // OnDevToolsMessage documentation for additional details on |result| | ||||||
|  |   // contents. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_dev_tools_method_result)( | ||||||
|  |       struct _cef_dev_tools_message_observer_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       int message_id, | ||||||
|  |       int success, | ||||||
|  |       const void* result, | ||||||
|  |       size_t result_size); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Method that will be called on receipt of a DevTools protocol event. | ||||||
|  |   // |browser| is the originating browser instance. |function| is the "function" | ||||||
|  |   // value. |params| is the UTF8-encoded JSON "params" dictionary value (which | ||||||
|  |   // may be NULL). |params| is only valid for the scope of this callback and | ||||||
|  |   // should be copied if necessary. See the OnDevToolsMessage documentation for | ||||||
|  |   // additional details on |params| contents. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_dev_tools_event)( | ||||||
|  |       struct _cef_dev_tools_message_observer_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       const cef_string_t* method, | ||||||
|  |       const void* params, | ||||||
|  |       size_t params_size); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Method that will be called when the DevTools agent has attached. |browser| | ||||||
|  |   // is the originating browser instance. This will generally occur in response | ||||||
|  |   // to the first message sent while the agent is detached. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_dev_tools_agent_attached)( | ||||||
|  |       struct _cef_dev_tools_message_observer_t* self, | ||||||
|  |       struct _cef_browser_t* browser); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Method that will be called when the DevTools agent has detached. |browser| | ||||||
|  |   // is the originating browser instance. Any function results that were pending | ||||||
|  |   // before the agent became detached will not be delivered, and any active | ||||||
|  |   // event subscriptions will be canceled. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_dev_tools_agent_detached)( | ||||||
|  |       struct _cef_dev_tools_message_observer_t* self, | ||||||
|  |       struct _cef_browser_t* browser); | ||||||
|  | } cef_dev_tools_message_observer_t; | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #endif  // CEF_INCLUDE_CAPI_CEF_DEVTOOLS_MESSAGE_OBSERVER_CAPI_H_ | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=b8a44f4f624ba51107d06ff3d1a7934e83765786$ | // $hash=5ae5556e4085faf8cf17ee757f5eeac9197f75c0$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DIALOG_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_DIALOG_HANDLER_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=f0f3fd4cab00c0eb11956e674a111cb30d3af100$ | // $hash=067fd169a30bec1ad8eeacc5ab1ac750cf59640e$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DISPLAY_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_DISPLAY_HANDLER_CAPI_H_ | ||||||
| @@ -118,9 +118,42 @@ typedef struct _cef_display_handler_t { | |||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* on_console_message)(struct _cef_display_handler_t* self, |   int(CEF_CALLBACK* on_console_message)(struct _cef_display_handler_t* self, | ||||||
|                                         struct _cef_browser_t* browser, |                                         struct _cef_browser_t* browser, | ||||||
|  |                                         cef_log_severity_t level, | ||||||
|                                         const cef_string_t* message, |                                         const cef_string_t* message, | ||||||
|                                         const cef_string_t* source, |                                         const cef_string_t* source, | ||||||
|                                         int line); |                                         int line); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when auto-resize is enabled via | ||||||
|  |   // cef_browser_host_t::SetAutoResizeEnabled and the contents have auto- | ||||||
|  |   // resized. |new_size| will be the desired size in view coordinates. Return | ||||||
|  |   // true (1) if the resize was handled or false (0) for default handling. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* on_auto_resize)(struct _cef_display_handler_t* self, | ||||||
|  |                                     struct _cef_browser_t* browser, | ||||||
|  |                                     const cef_size_t* new_size); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when the overall page loading progress has changed. |progress| | ||||||
|  |   // ranges from 0.0 to 1.0. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_loading_progress_change)( | ||||||
|  |       struct _cef_display_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       double progress); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when the browser's cursor has changed. If |type| is CT_CUSTOM then | ||||||
|  |   // |custom_cursor_info| will be populated with the custom cursor information. | ||||||
|  |   // Return true (1) if the cursor change was handled or false (0) for default | ||||||
|  |   // handling. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* on_cursor_change)( | ||||||
|  |       struct _cef_display_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       cef_cursor_handle_t cursor, | ||||||
|  |       cef_cursor_type_t type, | ||||||
|  |       const struct _cef_cursor_info_t* custom_cursor_info); | ||||||
| } cef_display_handler_t; | } cef_display_handler_t; | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=db82ff508cb1b4a03001b8b30bc5126186ee1bd2$ | // $hash=0517dc6c42fdde9fecfc4549fab1ea12b614e143$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DOM_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_DOM_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=4475f7e48898bdef8051c849873fb2528320cd9c$ | // $hash=f0ceb73b289072a01c45c6e7abf339a4ec924d29$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_HANDLER_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=cc669703d613f5a6a5bae95030835dc99f55a6fa$ | // $hash=d84044bb582b029af5fa46c75f35b3da948dffd2$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_ITEM_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_ITEM_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=a4b5264c1e685cad86203772631460684ee7820d$ | // $hash=9663321e2be1d000ac54e195c81f210ae40773d1$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DRAG_DATA_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_DRAG_DATA_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=c557dad9522f4bd4c6b3295d149c6b893fc18d52$ | // $hash=1cc1f134e68406ae3b05f7e181e12f27262772f0$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_DRAG_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_DRAG_HANDLER_CAPI_H_ | ||||||
| @@ -43,6 +43,7 @@ | |||||||
| #include "include/capi/cef_base_capi.h" | #include "include/capi/cef_base_capi.h" | ||||||
| #include "include/capi/cef_browser_capi.h" | #include "include/capi/cef_browser_capi.h" | ||||||
| #include "include/capi/cef_drag_data_capi.h" | #include "include/capi/cef_drag_data_capi.h" | ||||||
|  | #include "include/capi/cef_frame_capi.h" | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| extern "C" { | extern "C" { | ||||||
| @@ -79,6 +80,7 @@ typedef struct _cef_drag_handler_t { | |||||||
|   void(CEF_CALLBACK* on_draggable_regions_changed)( |   void(CEF_CALLBACK* on_draggable_regions_changed)( | ||||||
|       struct _cef_drag_handler_t* self, |       struct _cef_drag_handler_t* self, | ||||||
|       struct _cef_browser_t* browser, |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_frame_t* frame, | ||||||
|       size_t regionsCount, |       size_t regionsCount, | ||||||
|       cef_draggable_region_t const* regions); |       cef_draggable_region_t const* regions); | ||||||
| } cef_drag_handler_t; | } cef_drag_handler_t; | ||||||
|   | |||||||
							
								
								
									
										130
									
								
								include/capi/cef_extension_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								include/capi/cef_extension_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,130 @@ | |||||||
|  | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
|  | // | ||||||
|  | // Redistribution and use in source and binary forms, with or without | ||||||
|  | // modification, are permitted provided that the following conditions are | ||||||
|  | // met: | ||||||
|  | // | ||||||
|  | //    * Redistributions of source code must retain the above copyright | ||||||
|  | // notice, this list of conditions and the following disclaimer. | ||||||
|  | //    * Redistributions in binary form must reproduce the above | ||||||
|  | // copyright notice, this list of conditions and the following disclaimer | ||||||
|  | // in the documentation and/or other materials provided with the | ||||||
|  | // distribution. | ||||||
|  | //    * Neither the name of Google Inc. nor the name Chromium Embedded | ||||||
|  | // Framework nor the names of its contributors may be used to endorse | ||||||
|  | // or promote products derived from this software without specific prior | ||||||
|  | // written permission. | ||||||
|  | // | ||||||
|  | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  | // | ||||||
|  | // --------------------------------------------------------------------------- | ||||||
|  | // | ||||||
|  | // This file was generated by the CEF translator tool and should not edited | ||||||
|  | // by hand. See the translator.README.txt file in the tools directory for | ||||||
|  | // more information. | ||||||
|  | // | ||||||
|  | // $hash=5d5251098be1477705de2a21502dec2d8338ce00$ | ||||||
|  | // | ||||||
|  |  | ||||||
|  | #ifndef CEF_INCLUDE_CAPI_CEF_EXTENSION_CAPI_H_ | ||||||
|  | #define CEF_INCLUDE_CAPI_CEF_EXTENSION_CAPI_H_ | ||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | #include "include/capi/cef_base_capi.h" | ||||||
|  | #include "include/capi/cef_values_capi.h" | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | extern "C" { | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | struct _cef_extension_handler_t; | ||||||
|  | struct _cef_request_context_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Object representing an extension. Methods may be called on any thread unless | ||||||
|  | // otherwise indicated. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_extension_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the unique extension identifier. This is calculated based on the | ||||||
|  |   // extension public key, if available, or on the extension path. See | ||||||
|  |   // https://developer.chrome.com/extensions/manifest/key for details. | ||||||
|  |   /// | ||||||
|  |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
|  |   cef_string_userfree_t(CEF_CALLBACK* get_identifier)( | ||||||
|  |       struct _cef_extension_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the absolute path to the extension directory on disk. This value | ||||||
|  |   // will be prefixed with PK_DIR_RESOURCES if a relative path was passed to | ||||||
|  |   // cef_request_context_t::LoadExtension. | ||||||
|  |   /// | ||||||
|  |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
|  |   cef_string_userfree_t(CEF_CALLBACK* get_path)(struct _cef_extension_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the extension manifest contents as a cef_dictionary_value_t object. | ||||||
|  |   // See https://developer.chrome.com/extensions/manifest for details. | ||||||
|  |   /// | ||||||
|  |   struct _cef_dictionary_value_t*(CEF_CALLBACK* get_manifest)( | ||||||
|  |       struct _cef_extension_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if this object is the same extension as |that| object. | ||||||
|  |   // Extensions are considered the same if identifier, path and loader context | ||||||
|  |   // match. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* is_same)(struct _cef_extension_t* self, | ||||||
|  |                              struct _cef_extension_t* that); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the handler for this extension. Will return NULL for internal | ||||||
|  |   // extensions or if no handler was passed to | ||||||
|  |   // cef_request_context_t::LoadExtension. | ||||||
|  |   /// | ||||||
|  |   struct _cef_extension_handler_t*(CEF_CALLBACK* get_handler)( | ||||||
|  |       struct _cef_extension_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the request context that loaded this extension. Will return NULL | ||||||
|  |   // for internal extensions or if the extension has been unloaded. See the | ||||||
|  |   // cef_request_context_t::LoadExtension documentation for more information | ||||||
|  |   // about loader contexts. Must be called on the browser process UI thread. | ||||||
|  |   /// | ||||||
|  |   struct _cef_request_context_t*(CEF_CALLBACK* get_loader_context)( | ||||||
|  |       struct _cef_extension_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if this extension is currently loaded. Must be called on | ||||||
|  |   // the browser process UI thread. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* is_loaded)(struct _cef_extension_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Unload this extension if it is not an internal extension and is currently | ||||||
|  |   // loaded. Will result in a call to | ||||||
|  |   // cef_extension_handler_t::OnExtensionUnloaded on success. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* unload)(struct _cef_extension_t* self); | ||||||
|  | } cef_extension_t; | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #endif  // CEF_INCLUDE_CAPI_CEF_EXTENSION_CAPI_H_ | ||||||
							
								
								
									
										210
									
								
								include/capi/cef_extension_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										210
									
								
								include/capi/cef_extension_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,210 @@ | |||||||
|  | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
|  | // | ||||||
|  | // Redistribution and use in source and binary forms, with or without | ||||||
|  | // modification, are permitted provided that the following conditions are | ||||||
|  | // met: | ||||||
|  | // | ||||||
|  | //    * Redistributions of source code must retain the above copyright | ||||||
|  | // notice, this list of conditions and the following disclaimer. | ||||||
|  | //    * Redistributions in binary form must reproduce the above | ||||||
|  | // copyright notice, this list of conditions and the following disclaimer | ||||||
|  | // in the documentation and/or other materials provided with the | ||||||
|  | // distribution. | ||||||
|  | //    * Neither the name of Google Inc. nor the name Chromium Embedded | ||||||
|  | // Framework nor the names of its contributors may be used to endorse | ||||||
|  | // or promote products derived from this software without specific prior | ||||||
|  | // written permission. | ||||||
|  | // | ||||||
|  | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  | // | ||||||
|  | // --------------------------------------------------------------------------- | ||||||
|  | // | ||||||
|  | // This file was generated by the CEF translator tool and should not edited | ||||||
|  | // by hand. See the translator.README.txt file in the tools directory for | ||||||
|  | // more information. | ||||||
|  | // | ||||||
|  | // $hash=c952241dabb9d99109ebb64acba0124e43150628$ | ||||||
|  | // | ||||||
|  |  | ||||||
|  | #ifndef CEF_INCLUDE_CAPI_CEF_EXTENSION_HANDLER_CAPI_H_ | ||||||
|  | #define CEF_INCLUDE_CAPI_CEF_EXTENSION_HANDLER_CAPI_H_ | ||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | #include "include/capi/cef_base_capi.h" | ||||||
|  | #include "include/capi/cef_browser_capi.h" | ||||||
|  | #include "include/capi/cef_extension_capi.h" | ||||||
|  | #include "include/capi/cef_stream_capi.h" | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | extern "C" { | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | struct _cef_client_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Callback structure used for asynchronous continuation of | ||||||
|  | // cef_extension_handler_t::GetExtensionResource. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_get_extension_resource_callback_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Continue the request. Read the resource contents from |stream|. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* cont)(struct _cef_get_extension_resource_callback_t* self, | ||||||
|  |                            struct _cef_stream_reader_t* stream); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Cancel the request. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* cancel)( | ||||||
|  |       struct _cef_get_extension_resource_callback_t* self); | ||||||
|  | } cef_get_extension_resource_callback_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Implement this structure to handle events related to browser extensions. The | ||||||
|  | // functions of this structure will be called on the UI thread. See | ||||||
|  | // cef_request_context_t::LoadExtension for information about extension loading. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_extension_handler_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called if the cef_request_context_t::LoadExtension request fails. |result| | ||||||
|  |   // will be the error code. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_extension_load_failed)( | ||||||
|  |       struct _cef_extension_handler_t* self, | ||||||
|  |       cef_errorcode_t result); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called if the cef_request_context_t::LoadExtension request succeeds. | ||||||
|  |   // |extension| is the loaded extension. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_extension_loaded)(struct _cef_extension_handler_t* self, | ||||||
|  |                                           struct _cef_extension_t* extension); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called after the cef_extension_t::Unload request has completed. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_extension_unloaded)( | ||||||
|  |       struct _cef_extension_handler_t* self, | ||||||
|  |       struct _cef_extension_t* extension); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when an extension needs a browser to host a background script | ||||||
|  |   // specified via the "background" manifest key. The browser will have no | ||||||
|  |   // visible window and cannot be displayed. |extension| is the extension that | ||||||
|  |   // is loading the background script. |url| is an internally generated | ||||||
|  |   // reference to an HTML page that will be used to load the background script | ||||||
|  |   // via a <script> src attribute. To allow creation of the browser optionally | ||||||
|  |   // modify |client| and |settings| and return false (0). To cancel creation of | ||||||
|  |   // the browser (and consequently cancel load of the background script) return | ||||||
|  |   // true (1). Successful creation will be indicated by a call to | ||||||
|  |   // cef_life_span_handler_t::OnAfterCreated, and | ||||||
|  |   // cef_browser_host_t::IsBackgroundHost will return true (1) for the resulting | ||||||
|  |   // browser. See https://developer.chrome.com/extensions/event_pages for more | ||||||
|  |   // information about extension background script usage. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* on_before_background_browser)( | ||||||
|  |       struct _cef_extension_handler_t* self, | ||||||
|  |       struct _cef_extension_t* extension, | ||||||
|  |       const cef_string_t* url, | ||||||
|  |       struct _cef_client_t** client, | ||||||
|  |       struct _cef_browser_settings_t* settings); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when an extension API (e.g. chrome.tabs.create) requests creation of | ||||||
|  |   // a new browser. |extension| and |browser| are the source of the API call. | ||||||
|  |   // |active_browser| may optionally be specified via the windowId property or | ||||||
|  |   // returned via the get_active_browser() callback and provides the default | ||||||
|  |   // |client| and |settings| values for the new browser. |index| is the position | ||||||
|  |   // value optionally specified via the index property. |url| is the URL that | ||||||
|  |   // will be loaded in the browser. |active| is true (1) if the new browser | ||||||
|  |   // should be active when opened.  To allow creation of the browser optionally | ||||||
|  |   // modify |windowInfo|, |client| and |settings| and return false (0). To | ||||||
|  |   // cancel creation of the browser return true (1). Successful creation will be | ||||||
|  |   // indicated by a call to cef_life_span_handler_t::OnAfterCreated. Any | ||||||
|  |   // modifications to |windowInfo| will be ignored if |active_browser| is | ||||||
|  |   // wrapped in a cef_browser_view_t. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* on_before_browser)( | ||||||
|  |       struct _cef_extension_handler_t* self, | ||||||
|  |       struct _cef_extension_t* extension, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_browser_t* active_browser, | ||||||
|  |       int index, | ||||||
|  |       const cef_string_t* url, | ||||||
|  |       int active, | ||||||
|  |       struct _cef_window_info_t* windowInfo, | ||||||
|  |       struct _cef_client_t** client, | ||||||
|  |       struct _cef_browser_settings_t* settings); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when no tabId is specified to an extension API call that accepts a | ||||||
|  |   // tabId parameter (e.g. chrome.tabs.*). |extension| and |browser| are the | ||||||
|  |   // source of the API call. Return the browser that will be acted on by the API | ||||||
|  |   // call or return NULL to act on |browser|. The returned browser must share | ||||||
|  |   // the same cef_request_context_t as |browser|. Incognito browsers should not | ||||||
|  |   // be considered unless the source extension has incognito access enabled, in | ||||||
|  |   // which case |include_incognito| will be true (1). | ||||||
|  |   /// | ||||||
|  |   struct _cef_browser_t*(CEF_CALLBACK* get_active_browser)( | ||||||
|  |       struct _cef_extension_handler_t* self, | ||||||
|  |       struct _cef_extension_t* extension, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       int include_incognito); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when the tabId associated with |target_browser| is specified to an | ||||||
|  |   // extension API call that accepts a tabId parameter (e.g. chrome.tabs.*). | ||||||
|  |   // |extension| and |browser| are the source of the API call. Return true (1) | ||||||
|  |   // to allow access of false (0) to deny access. Access to incognito browsers | ||||||
|  |   // should not be allowed unless the source extension has incognito access | ||||||
|  |   // enabled, in which case |include_incognito| will be true (1). | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* can_access_browser)(struct _cef_extension_handler_t* self, | ||||||
|  |                                         struct _cef_extension_t* extension, | ||||||
|  |                                         struct _cef_browser_t* browser, | ||||||
|  |                                         int include_incognito, | ||||||
|  |                                         struct _cef_browser_t* target_browser); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called to retrieve an extension resource that would normally be loaded from | ||||||
|  |   // disk (e.g. if a file parameter is specified to chrome.tabs.executeScript). | ||||||
|  |   // |extension| and |browser| are the source of the resource request. |file| is | ||||||
|  |   // the requested relative file path. To handle the resource request return | ||||||
|  |   // true (1) and execute |callback| either synchronously or asynchronously. For | ||||||
|  |   // the default behavior which reads the resource from the extension directory | ||||||
|  |   // on disk return false (0). Localization substitutions will not be applied to | ||||||
|  |   // resources handled via this function. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* get_extension_resource)( | ||||||
|  |       struct _cef_extension_handler_t* self, | ||||||
|  |       struct _cef_extension_t* extension, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       const cef_string_t* file, | ||||||
|  |       struct _cef_get_extension_resource_callback_t* callback); | ||||||
|  | } cef_extension_handler_t; | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #endif  // CEF_INCLUDE_CAPI_CEF_EXTENSION_HANDLER_CAPI_H_ | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=4601edefadfafea031f2c5df498262fc2142252b$ | // $hash=00d75d4f1968686cec7db84a59df89d98d8fe146$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_FILE_UTIL_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_FILE_UTIL_CAPI_H_ | ||||||
| @@ -114,6 +114,16 @@ CEF_EXPORT int cef_zip_directory(const cef_string_t* src_dir, | |||||||
|                                  const cef_string_t* dest_file, |                                  const cef_string_t* dest_file, | ||||||
|                                  int include_hidden_files); |                                  int include_hidden_files); | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Loads the existing "Certificate Revocation Lists" file that is managed by | ||||||
|  | // Google Chrome. This file can generally be found in Chrome's User Data | ||||||
|  | // directory (e.g. "C:\Users\[User]\AppData\Local\Google\Chrome\User Data\" on | ||||||
|  | // Windows) and is updated periodically by Chrome's component updater service. | ||||||
|  | // Must be called in the browser process after the context has been initialized. | ||||||
|  | // See https://dev.chromium.org/Home/chromium-security/crlsets for background. | ||||||
|  | /// | ||||||
|  | CEF_EXPORT void cef_load_crlsets_file(const cef_string_t* path); | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=975114b079fa271fecbf31ef160974941faed8a4$ | // $hash=03bb69a14868a95abf3bf7b1608dc351480e307f$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_FIND_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_FIND_HANDLER_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=bed1f7b94e060b83e3f22eb84ce1274f2d10b3e6$ | // $hash=0fccb41381e922e9d9545ae45ba3e6cf1916c4b0$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_FOCUS_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_FOCUS_HANDLER_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=c1457ef21c14c40422b19b681121283eae3e9d70$ | // $hash=872fd1e811d41f56f03da0da75a8f2e89cad40cd$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_FRAME_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_FRAME_CAPI_H_ | ||||||
| @@ -42,6 +42,7 @@ | |||||||
|  |  | ||||||
| #include "include/capi/cef_base_capi.h" | #include "include/capi/cef_base_capi.h" | ||||||
| #include "include/capi/cef_dom_capi.h" | #include "include/capi/cef_dom_capi.h" | ||||||
|  | #include "include/capi/cef_process_message_capi.h" | ||||||
| #include "include/capi/cef_request_capi.h" | #include "include/capi/cef_request_capi.h" | ||||||
| #include "include/capi/cef_stream_capi.h" | #include "include/capi/cef_stream_capi.h" | ||||||
| #include "include/capi/cef_string_visitor_capi.h" | #include "include/capi/cef_string_visitor_capi.h" | ||||||
| @@ -51,6 +52,8 @@ extern "C" { | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| struct _cef_browser_t; | struct _cef_browser_t; | ||||||
|  | struct _cef_urlrequest_client_t; | ||||||
|  | struct _cef_urlrequest_t; | ||||||
| struct _cef_v8context_t; | struct _cef_v8context_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
| @@ -128,6 +131,10 @@ typedef struct _cef_frame_t { | |||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Load the request represented by the |request| object. |   // Load the request represented by the |request| object. | ||||||
|  |   // | ||||||
|  |   // WARNING: This function will fail with "bad IPC message" reason | ||||||
|  |   // INVALID_INITIATOR_ORIGIN (213) unless you first navigate to the request | ||||||
|  |   // origin using some other mechanism (LoadURL, link click, etc). | ||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* load_request)(struct _cef_frame_t* self, |   void(CEF_CALLBACK* load_request)(struct _cef_frame_t* self, | ||||||
|                                    struct _cef_request_t* request); |                                    struct _cef_request_t* request); | ||||||
| @@ -138,15 +145,6 @@ typedef struct _cef_frame_t { | |||||||
|   void(CEF_CALLBACK* load_url)(struct _cef_frame_t* self, |   void(CEF_CALLBACK* load_url)(struct _cef_frame_t* self, | ||||||
|                                const cef_string_t* url); |                                const cef_string_t* url); | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Load the contents of |string_val| with the specified dummy |url|. |url| |  | ||||||
|   // should have a standard scheme (for example, http scheme) or behaviors like |  | ||||||
|   // link clicks and web security restrictions may not behave as expected. |  | ||||||
|   /// |  | ||||||
|   void(CEF_CALLBACK* load_string)(struct _cef_frame_t* self, |  | ||||||
|                                   const cef_string_t* string_val, |  | ||||||
|                                   const cef_string_t* url); |  | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Execute a string of JavaScript code in this frame. The |script_url| |   // Execute a string of JavaScript code in this frame. The |script_url| | ||||||
|   // parameter is the URL where the script in question can be found, if any. The |   // parameter is the URL where the script in question can be found, if any. The | ||||||
| @@ -215,6 +213,46 @@ typedef struct _cef_frame_t { | |||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* visit_dom)(struct _cef_frame_t* self, |   void(CEF_CALLBACK* visit_dom)(struct _cef_frame_t* self, | ||||||
|                                 struct _cef_domvisitor_t* visitor); |                                 struct _cef_domvisitor_t* visitor); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Create a new URL request that will be treated as originating from this | ||||||
|  |   // frame and the associated browser. This request may be intercepted by the | ||||||
|  |   // client via cef_resource_request_handler_t or cef_scheme_handler_factory_t. | ||||||
|  |   // Use cef_urlrequest_t::Create instead if you do not want the request to have | ||||||
|  |   // this association, in which case it may be handled differently (see | ||||||
|  |   // documentation on that function). Requests may originate from both the | ||||||
|  |   // browser process and the render process. | ||||||
|  |   // | ||||||
|  |   // For requests originating from the browser process: | ||||||
|  |   //   - POST data may only contain a single element of type PDE_TYPE_FILE or | ||||||
|  |   //     PDE_TYPE_BYTES. | ||||||
|  |   // For requests originating from the render process: | ||||||
|  |   //   - POST data may only contain a single element of type PDE_TYPE_BYTES. | ||||||
|  |   //   - If the response contains Content-Disposition or Mime-Type header values | ||||||
|  |   //     that would not normally be rendered then the response may receive | ||||||
|  |   //     special handling inside the browser (for example, via the file download | ||||||
|  |   //     code path instead of the URL request code path). | ||||||
|  |   // | ||||||
|  |   // The |request| object will be marked as read-only after calling this | ||||||
|  |   // function. | ||||||
|  |   /// | ||||||
|  |   struct _cef_urlrequest_t*(CEF_CALLBACK* create_urlrequest)( | ||||||
|  |       struct _cef_frame_t* self, | ||||||
|  |       struct _cef_request_t* request, | ||||||
|  |       struct _cef_urlrequest_client_t* client); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Send a message to the specified |target_process|. Ownership of the message | ||||||
|  |   // contents will be transferred and the |message| reference will be | ||||||
|  |   // invalidated. Message delivery is not guaranteed in all cases (for example, | ||||||
|  |   // if the browser is closing, navigating, or if the target process crashes). | ||||||
|  |   // Send an ACK message back from the target process if confirmation is | ||||||
|  |   // required. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* send_process_message)( | ||||||
|  |       struct _cef_frame_t* self, | ||||||
|  |       cef_process_id_t target_process, | ||||||
|  |       struct _cef_process_message_t* message); | ||||||
| } cef_frame_t; | } cef_frame_t; | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
|   | |||||||
							
								
								
									
										191
									
								
								include/capi/cef_frame_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								include/capi/cef_frame_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,191 @@ | |||||||
|  | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
|  | // | ||||||
|  | // Redistribution and use in source and binary forms, with or without | ||||||
|  | // modification, are permitted provided that the following conditions are | ||||||
|  | // met: | ||||||
|  | // | ||||||
|  | //    * Redistributions of source code must retain the above copyright | ||||||
|  | // notice, this list of conditions and the following disclaimer. | ||||||
|  | //    * Redistributions in binary form must reproduce the above | ||||||
|  | // copyright notice, this list of conditions and the following disclaimer | ||||||
|  | // in the documentation and/or other materials provided with the | ||||||
|  | // distribution. | ||||||
|  | //    * Neither the name of Google Inc. nor the name Chromium Embedded | ||||||
|  | // Framework nor the names of its contributors may be used to endorse | ||||||
|  | // or promote products derived from this software without specific prior | ||||||
|  | // written permission. | ||||||
|  | // | ||||||
|  | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  | // | ||||||
|  | // --------------------------------------------------------------------------- | ||||||
|  | // | ||||||
|  | // This file was generated by the CEF translator tool and should not edited | ||||||
|  | // by hand. See the translator.README.txt file in the tools directory for | ||||||
|  | // more information. | ||||||
|  | // | ||||||
|  | // $hash=503984bf98aa52ff67ce52f26a560bbb1d4439bc$ | ||||||
|  | // | ||||||
|  |  | ||||||
|  | #ifndef CEF_INCLUDE_CAPI_CEF_FRAME_HANDLER_CAPI_H_ | ||||||
|  | #define CEF_INCLUDE_CAPI_CEF_FRAME_HANDLER_CAPI_H_ | ||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | #include "include/capi/cef_base_capi.h" | ||||||
|  | #include "include/capi/cef_browser_capi.h" | ||||||
|  | #include "include/capi/cef_frame_capi.h" | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | extern "C" { | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Implement this structure to handle events related to cef_frame_t life span. | ||||||
|  | // The order of callbacks is: | ||||||
|  | // | ||||||
|  | // (1) During initial cef_browser_host_t creation and navigation of the main | ||||||
|  | // frame: - cef_frame_handler_t::OnFrameCreated => The initial main frame object | ||||||
|  | // has been | ||||||
|  | //   created. Any commands will be queued until the frame is attached. | ||||||
|  | // - cef_frame_handler_t::OnMainFrameChanged => The initial main frame object | ||||||
|  | // has | ||||||
|  | //   been assigned to the browser. | ||||||
|  | // - cef_life_span_handler_t::OnAfterCreated => The browser is now valid and can | ||||||
|  | // be | ||||||
|  | //   used. | ||||||
|  | // - cef_frame_handler_t::OnFrameAttached => The initial main frame object is | ||||||
|  | // now | ||||||
|  | //   connected to its peer in the renderer process. Commands can be routed. | ||||||
|  | // | ||||||
|  | // (2) During further cef_browser_host_t navigation/loading of the main frame | ||||||
|  | // and/or sub-frames: - cef_frame_handler_t::OnFrameCreated => A new main frame | ||||||
|  | // or sub-frame object has | ||||||
|  | //   been created. Any commands will be queued until the frame is attached. | ||||||
|  | // - cef_frame_handler_t::OnFrameAttached => A new main frame or sub-frame | ||||||
|  | // object is | ||||||
|  | //   now connected to its peer in the renderer process. Commands can be routed. | ||||||
|  | // - cef_frame_handler_t::OnFrameDetached => An existing main frame or sub-frame | ||||||
|  | //   object has lost its connection to the renderer process. If multiple objects | ||||||
|  | //   are detached at the same time then notifications will be sent for any | ||||||
|  | //   sub-frame objects before the main frame object. Commands can no longer be | ||||||
|  | //   routed and will be discarded. | ||||||
|  | // - cef_frame_handler_t::OnMainFrameChanged => A new main frame object has been | ||||||
|  | //   assigned to the browser. This will only occur with cross-origin navigation | ||||||
|  | //   or re-navigation after renderer process termination (due to crashes, etc). | ||||||
|  | // | ||||||
|  | // (3) During final cef_browser_host_t destruction of the main frame: - | ||||||
|  | // cef_frame_handler_t::OnFrameDetached => Any sub-frame objects have lost their | ||||||
|  | //   connection to the renderer process. Commands can no longer be routed and | ||||||
|  | //   will be discarded. | ||||||
|  | // - cef_life_span_handler_t::OnBeforeClose => The browser has been destroyed. - | ||||||
|  | // cef_frame_handler_t::OnFrameDetached => The main frame object have lost its | ||||||
|  | //   connection to the renderer process. Notifications will be sent for any | ||||||
|  | //   sub-frame objects before the main frame object. Commands can no longer be | ||||||
|  | //   routed and will be discarded. | ||||||
|  | // - cef_frame_handler_t::OnMainFrameChanged => The final main frame object has | ||||||
|  | // been | ||||||
|  | //   removed from the browser. | ||||||
|  | // | ||||||
|  | // Cross-origin navigation and/or loading receives special handling. | ||||||
|  | // | ||||||
|  | // When the main frame navigates to a different origin the OnMainFrameChanged | ||||||
|  | // callback (2) will be executed with the old and new main frame objects. | ||||||
|  | // | ||||||
|  | // When a new sub-frame is loaded in, or an existing sub-frame is navigated to, | ||||||
|  | // a different origin from the parent frame, a temporary sub-frame object will | ||||||
|  | // first be created in the parent's renderer process. That temporary sub-frame | ||||||
|  | // will then be discarded after the real cross-origin sub-frame is created in | ||||||
|  | // the new/target renderer process. The client will receive cross-origin | ||||||
|  | // navigation callbacks (2) for the transition from the temporary sub-frame to | ||||||
|  | // the real sub-frame. The temporary sub-frame will not recieve or execute | ||||||
|  | // commands during this transitional period (any sent commands will be | ||||||
|  | // discarded). | ||||||
|  | // | ||||||
|  | // When a new popup browser is created in a different origin from the parent | ||||||
|  | // browser, a temporary main frame object for the popup will first be created in | ||||||
|  | // the parent's renderer process. That temporary main frame will then be | ||||||
|  | // discarded after the real cross-origin main frame is created in the new/target | ||||||
|  | // renderer process. The client will recieve creation and initial navigation | ||||||
|  | // callbacks (1) for the temporary main frame, followed by cross-origin | ||||||
|  | // navigation callbacks (2) for the transition from the temporary main frame to | ||||||
|  | // the real main frame. The temporary main frame may receive and execute | ||||||
|  | // commands during this transitional period (any sent commands may be executed, | ||||||
|  | // but the behavior is potentially undesirable since they execute in the parent | ||||||
|  | // browser's renderer process and not the new/target renderer process). | ||||||
|  | // | ||||||
|  | // Callbacks will not be executed for placeholders that may be created during | ||||||
|  | // pre-commit navigation for sub-frames that do not yet exist in the renderer | ||||||
|  | // process. Placeholders will have cef_frame_t::get_identifier() == -4. | ||||||
|  | // | ||||||
|  | // The functions of this structure will be called on the UI thread unless | ||||||
|  | // otherwise indicated. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_frame_handler_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when a new frame is created. This will be the first notification | ||||||
|  |   // that references |frame|. Any commands that require transport to the | ||||||
|  |   // associated renderer process (LoadRequest, SendProcessMessage, GetSource, | ||||||
|  |   // etc.) will be queued until OnFrameAttached is called for |frame|. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_frame_created)(struct _cef_frame_handler_t* self, | ||||||
|  |                                        struct _cef_browser_t* browser, | ||||||
|  |                                        struct _cef_frame_t* frame); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when a frame can begin routing commands to/from the associated | ||||||
|  |   // renderer process. Any commands that were queued have now been dispatched. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_frame_attached)(struct _cef_frame_handler_t* self, | ||||||
|  |                                         struct _cef_browser_t* browser, | ||||||
|  |                                         struct _cef_frame_t* frame); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when a frame loses its connection to the renderer process and will | ||||||
|  |   // be destroyed. Any pending or future commands will be discarded and | ||||||
|  |   // cef_frame_t::is_valid() will now return false (0) for |frame|. If called | ||||||
|  |   // after cef_life_span_handler_t::on_before_close() during browser destruction | ||||||
|  |   // then cef_browser_t::is_valid() will return false (0) for |browser|. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_frame_detached)(struct _cef_frame_handler_t* self, | ||||||
|  |                                         struct _cef_browser_t* browser, | ||||||
|  |                                         struct _cef_frame_t* frame); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when the main frame changes due to (a) initial browser creation, (b) | ||||||
|  |   // final browser destruction, (c) cross-origin navigation or (d) re-navigation | ||||||
|  |   // after renderer process termination (due to crashes, etc). |old_frame| will | ||||||
|  |   // be NULL and |new_frame| will be non-NULL when a main frame is assigned to | ||||||
|  |   // |browser| for the first time. |old_frame| will be non-NULL and |new_frame| | ||||||
|  |   // will be NULL and  when a main frame is removed from |browser| for the last | ||||||
|  |   // time. Both |old_frame| and |new_frame| will be non-NULL for cross-origin | ||||||
|  |   // navigations or re-navigation after renderer process termination. This | ||||||
|  |   // function will be called after on_frame_created() for |new_frame| and/or | ||||||
|  |   // after on_frame_detached() for |old_frame|. If called after | ||||||
|  |   // cef_life_span_handler_t::on_before_close() during browser destruction then | ||||||
|  |   // cef_browser_t::is_valid() will return false (0) for |browser|. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_main_frame_changed)(struct _cef_frame_handler_t* self, | ||||||
|  |                                             struct _cef_browser_t* browser, | ||||||
|  |                                             struct _cef_frame_t* old_frame, | ||||||
|  |                                             struct _cef_frame_t* new_frame); | ||||||
|  | } cef_frame_handler_t; | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #endif  // CEF_INCLUDE_CAPI_CEF_FRAME_HANDLER_CAPI_H_ | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=60f904f2f77ce6d89f9fceeeda0050273a3c9e6d$ | // $hash=d9da8862142742e780086714bbd4fb44ac95cf2c$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_IMAGE_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_IMAGE_CAPI_H_ | ||||||
| @@ -53,7 +53,7 @@ extern "C" { | |||||||
| // (DIP) units. For example, if the image at scale factor 1.0 is 100x100 pixels | // (DIP) units. For example, if the image at scale factor 1.0 is 100x100 pixels | ||||||
| // then the image at scale factor 2.0 should be 200x200 pixels -- both images | // then the image at scale factor 2.0 should be 200x200 pixels -- both images | ||||||
| // will display with a DIP size of 100x100 units. The functions of this | // will display with a DIP size of 100x100 units. The functions of this | ||||||
| // structure must be called on the browser process UI thread. | // structure can be called on any browser process thread. | ||||||
| /// | /// | ||||||
| typedef struct _cef_image_t { | typedef struct _cef_image_t { | ||||||
|   /// |   /// | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=351cff5a52f29b54d1854d5dfbb1733c8a62797d$ | // $hash=d991e2a7d1a58a013e4d3a963361fed6918f4ec3$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_JSDIALOG_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_JSDIALOG_HANDLER_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=07c2a01bb9975fa52fdb287712f8f369557ba755$ | // $hash=d804a2db0f9ac13afd249407c85cb8d5852508ac$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_KEYBOARD_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_KEYBOARD_HANDLER_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=fe38af40efe76e5d6babf0644d7d4af679a4ca6f$ | // $hash=e44bb89a337942c82bfa246275b4b033821b2782$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_LIFE_SPAN_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_LIFE_SPAN_HANDLER_CAPI_H_ | ||||||
| @@ -80,7 +80,10 @@ typedef struct _cef_life_span_handler_t { | |||||||
|   // modifications to |windowInfo| will be ignored if the parent browser is |   // modifications to |windowInfo| will be ignored if the parent browser is | ||||||
|   // wrapped in a cef_browser_view_t. Popup browser creation will be canceled if |   // wrapped in a cef_browser_view_t. Popup browser creation will be canceled if | ||||||
|   // the parent browser is destroyed before the popup browser creation completes |   // the parent browser is destroyed before the popup browser creation completes | ||||||
|   // (indicated by a call to OnAfterCreated for the popup browser). |   // (indicated by a call to OnAfterCreated for the popup browser). The | ||||||
|  |   // |extra_info| parameter provides an opportunity to specify extra information | ||||||
|  |   // specific to the created popup browser that will be passed to | ||||||
|  |   // cef_render_process_handler_t::on_browser_created() in the render process. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* on_before_popup)( |   int(CEF_CALLBACK* on_before_popup)( | ||||||
|       struct _cef_life_span_handler_t* self, |       struct _cef_life_span_handler_t* self, | ||||||
| @@ -94,11 +97,14 @@ typedef struct _cef_life_span_handler_t { | |||||||
|       struct _cef_window_info_t* windowInfo, |       struct _cef_window_info_t* windowInfo, | ||||||
|       struct _cef_client_t** client, |       struct _cef_client_t** client, | ||||||
|       struct _cef_browser_settings_t* settings, |       struct _cef_browser_settings_t* settings, | ||||||
|  |       struct _cef_dictionary_value_t** extra_info, | ||||||
|       int* no_javascript_access); |       int* no_javascript_access); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called after a new browser is created. This callback will be the first |   // Called after a new browser is created. It is now safe to begin performing | ||||||
|   // notification that references |browser|. |   // actions with |browser|. cef_frame_handler_t callbacks related to initial | ||||||
|  |   // main frame creation will arrive before this callback. See | ||||||
|  |   // cef_frame_handler_t documentation for additional usage information. | ||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* on_after_created)(struct _cef_life_span_handler_t* self, |   void(CEF_CALLBACK* on_after_created)(struct _cef_life_span_handler_t* self, | ||||||
|                                        struct _cef_browser_t* browser); |                                        struct _cef_browser_t* browser); | ||||||
| @@ -198,9 +204,14 @@ typedef struct _cef_life_span_handler_t { | |||||||
|   /// |   /// | ||||||
|   // Called just before a browser is destroyed. Release all references to the |   // Called just before a browser is destroyed. Release all references to the | ||||||
|   // browser object and do not attempt to execute any functions on the browser |   // browser object and do not attempt to execute any functions on the browser | ||||||
|   // object after this callback returns. This callback will be the last |   // object (other than IsValid, GetIdentifier or IsSame) after this callback | ||||||
|   // notification that references |browser|. See do_close() documentation for |   // returns. cef_frame_handler_t callbacks related to final main frame | ||||||
|   // additional usage information. |   // destruction will arrive after this callback and cef_browser_t::IsValid will | ||||||
|  |   // return false (0) at that time. Any in-progress network requests associated | ||||||
|  |   // with |browser| will be aborted when the browser is destroyed, and | ||||||
|  |   // cef_resource_request_handler_t callbacks related to those requests may | ||||||
|  |   // still arrive on the IO thread after this callback. See cef_frame_handler_t | ||||||
|  |   // and do_close() documentation for additional usage information. | ||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* on_before_close)(struct _cef_life_span_handler_t* self, |   void(CEF_CALLBACK* on_before_close)(struct _cef_life_span_handler_t* self, | ||||||
|                                       struct _cef_browser_t* browser); |                                       struct _cef_browser_t* browser); | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=d8fa87bb47ec889cab864fe96f94e07bf1deb0f6$ | // $hash=6c6a719d7cbbc01adfdc9bbe0dff6da10e06e3f3$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_LOAD_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_LOAD_HANDLER_CAPI_H_ | ||||||
|   | |||||||
							
								
								
									
										349
									
								
								include/capi/cef_media_router_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										349
									
								
								include/capi/cef_media_router_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,349 @@ | |||||||
|  | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
|  | // | ||||||
|  | // Redistribution and use in source and binary forms, with or without | ||||||
|  | // modification, are permitted provided that the following conditions are | ||||||
|  | // met: | ||||||
|  | // | ||||||
|  | //    * Redistributions of source code must retain the above copyright | ||||||
|  | // notice, this list of conditions and the following disclaimer. | ||||||
|  | //    * Redistributions in binary form must reproduce the above | ||||||
|  | // copyright notice, this list of conditions and the following disclaimer | ||||||
|  | // in the documentation and/or other materials provided with the | ||||||
|  | // distribution. | ||||||
|  | //    * Neither the name of Google Inc. nor the name Chromium Embedded | ||||||
|  | // Framework nor the names of its contributors may be used to endorse | ||||||
|  | // or promote products derived from this software without specific prior | ||||||
|  | // written permission. | ||||||
|  | // | ||||||
|  | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  | // | ||||||
|  | // --------------------------------------------------------------------------- | ||||||
|  | // | ||||||
|  | // This file was generated by the CEF translator tool and should not edited | ||||||
|  | // by hand. See the translator.README.txt file in the tools directory for | ||||||
|  | // more information. | ||||||
|  | // | ||||||
|  | // $hash=79e4e38c732c0cfeef495c8a9726e105054012bb$ | ||||||
|  | // | ||||||
|  |  | ||||||
|  | #ifndef CEF_INCLUDE_CAPI_CEF_MEDIA_ROUTER_CAPI_H_ | ||||||
|  | #define CEF_INCLUDE_CAPI_CEF_MEDIA_ROUTER_CAPI_H_ | ||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | #include "include/capi/cef_base_capi.h" | ||||||
|  | #include "include/capi/cef_callback_capi.h" | ||||||
|  | #include "include/capi/cef_registration_capi.h" | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | extern "C" { | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | struct _cef_media_observer_t; | ||||||
|  | struct _cef_media_route_create_callback_t; | ||||||
|  | struct _cef_media_route_t; | ||||||
|  | struct _cef_media_sink_device_info_callback_t; | ||||||
|  | struct _cef_media_sink_t; | ||||||
|  | struct _cef_media_source_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Supports discovery of and communication with media devices on the local | ||||||
|  | // network via the Cast and DIAL protocols. The functions of this structure may | ||||||
|  | // be called on any browser process thread unless otherwise indicated. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_media_router_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Add an observer for MediaRouter events. The observer will remain registered | ||||||
|  |   // until the returned Registration object is destroyed. | ||||||
|  |   /// | ||||||
|  |   struct _cef_registration_t*(CEF_CALLBACK* add_observer)( | ||||||
|  |       struct _cef_media_router_t* self, | ||||||
|  |       struct _cef_media_observer_t* observer); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns a MediaSource object for the specified media source URN. Supported | ||||||
|  |   // URN schemes include "cast:" and "dial:", and will be already known by the | ||||||
|  |   // client application (e.g. "cast:<appId>?clientId=<clientId>"). | ||||||
|  |   /// | ||||||
|  |   struct _cef_media_source_t*(CEF_CALLBACK* get_source)( | ||||||
|  |       struct _cef_media_router_t* self, | ||||||
|  |       const cef_string_t* urn); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Trigger an asynchronous call to cef_media_observer_t::OnSinks on all | ||||||
|  |   // registered observers. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* notify_current_sinks)(struct _cef_media_router_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Create a new route between |source| and |sink|. Source and sink must be | ||||||
|  |   // valid, compatible (as reported by cef_media_sink_t::IsCompatibleWith), and | ||||||
|  |   // a route between them must not already exist. |callback| will be executed on | ||||||
|  |   // success or failure. If route creation succeeds it will also trigger an | ||||||
|  |   // asynchronous call to cef_media_observer_t::OnRoutes on all registered | ||||||
|  |   // observers. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* create_route)( | ||||||
|  |       struct _cef_media_router_t* self, | ||||||
|  |       struct _cef_media_source_t* source, | ||||||
|  |       struct _cef_media_sink_t* sink, | ||||||
|  |       struct _cef_media_route_create_callback_t* callback); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Trigger an asynchronous call to cef_media_observer_t::OnRoutes on all | ||||||
|  |   // registered observers. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* notify_current_routes)(struct _cef_media_router_t* self); | ||||||
|  | } cef_media_router_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Returns the MediaRouter object associated with the global request context. If | ||||||
|  | // |callback| is non-NULL it will be executed asnychronously on the UI thread | ||||||
|  | // after the manager's storage has been initialized. Equivalent to calling cef_r | ||||||
|  | // equest_context_t::cef_request_context_get_global_context()->get_media_router( | ||||||
|  | // ). | ||||||
|  | /// | ||||||
|  | CEF_EXPORT cef_media_router_t* cef_media_router_get_global( | ||||||
|  |     struct _cef_completion_callback_t* callback); | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Implemented by the client to observe MediaRouter events and registered via | ||||||
|  | // cef_media_router_t::AddObserver. The functions of this structure will be | ||||||
|  | // called on the browser process UI thread. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_media_observer_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // The list of available media sinks has changed or | ||||||
|  |   // cef_media_router_t::NotifyCurrentSinks was called. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_sinks)(struct _cef_media_observer_t* self, | ||||||
|  |                                size_t sinksCount, | ||||||
|  |                                struct _cef_media_sink_t* const* sinks); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // The list of available media routes has changed or | ||||||
|  |   // cef_media_router_t::NotifyCurrentRoutes was called. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_routes)(struct _cef_media_observer_t* self, | ||||||
|  |                                 size_t routesCount, | ||||||
|  |                                 struct _cef_media_route_t* const* routes); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // The connection state of |route| has changed. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_route_state_changed)( | ||||||
|  |       struct _cef_media_observer_t* self, | ||||||
|  |       struct _cef_media_route_t* route, | ||||||
|  |       cef_media_route_connection_state_t state); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // A message was recieved over |route|. |message| is only valid for the scope | ||||||
|  |   // of this callback and should be copied if necessary. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_route_message_received)( | ||||||
|  |       struct _cef_media_observer_t* self, | ||||||
|  |       struct _cef_media_route_t* route, | ||||||
|  |       const void* message, | ||||||
|  |       size_t message_size); | ||||||
|  | } cef_media_observer_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Represents the route between a media source and sink. Instances of this | ||||||
|  | // object are created via cef_media_router_t::CreateRoute and retrieved via | ||||||
|  | // cef_media_observer_t::OnRoutes. Contains the status and metadata of a routing | ||||||
|  | // operation. The functions of this structure may be called on any browser | ||||||
|  | // process thread unless otherwise indicated. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_media_route_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the ID for this route. | ||||||
|  |   /// | ||||||
|  |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
|  |   cef_string_userfree_t(CEF_CALLBACK* get_id)(struct _cef_media_route_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the source associated with this route. | ||||||
|  |   /// | ||||||
|  |   struct _cef_media_source_t*(CEF_CALLBACK* get_source)( | ||||||
|  |       struct _cef_media_route_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the sink associated with this route. | ||||||
|  |   /// | ||||||
|  |   struct _cef_media_sink_t*(CEF_CALLBACK* get_sink)( | ||||||
|  |       struct _cef_media_route_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Send a message over this route. |message| will be copied if necessary. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* send_route_message)(struct _cef_media_route_t* self, | ||||||
|  |                                          const void* message, | ||||||
|  |                                          size_t message_size); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Terminate this route. Will result in an asynchronous call to | ||||||
|  |   // cef_media_observer_t::OnRoutes on all registered observers. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* terminate)(struct _cef_media_route_t* self); | ||||||
|  | } cef_media_route_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Callback structure for cef_media_router_t::CreateRoute. The functions of this | ||||||
|  | // structure will be called on the browser process UI thread. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_media_route_create_callback_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Method that will be executed when the route creation has finished. |result| | ||||||
|  |   // will be CEF_MRCR_OK if the route creation succeeded. |error| will be a | ||||||
|  |   // description of the error if the route creation failed. |route| is the | ||||||
|  |   // resulting route, or NULL if the route creation failed. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_media_route_create_finished)( | ||||||
|  |       struct _cef_media_route_create_callback_t* self, | ||||||
|  |       cef_media_route_create_result_t result, | ||||||
|  |       const cef_string_t* error, | ||||||
|  |       struct _cef_media_route_t* route); | ||||||
|  | } cef_media_route_create_callback_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Represents a sink to which media can be routed. Instances of this object are | ||||||
|  | // retrieved via cef_media_observer_t::OnSinks. The functions of this structure | ||||||
|  | // may be called on any browser process thread unless otherwise indicated. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_media_sink_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the ID for this sink. | ||||||
|  |   /// | ||||||
|  |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
|  |   cef_string_userfree_t(CEF_CALLBACK* get_id)(struct _cef_media_sink_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the name of this sink. | ||||||
|  |   /// | ||||||
|  |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
|  |   cef_string_userfree_t(CEF_CALLBACK* get_name)(struct _cef_media_sink_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the description of this sink. | ||||||
|  |   /// | ||||||
|  |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
|  |   cef_string_userfree_t(CEF_CALLBACK* get_description)( | ||||||
|  |       struct _cef_media_sink_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the icon type for this sink. | ||||||
|  |   /// | ||||||
|  |   cef_media_sink_icon_type_t(CEF_CALLBACK* get_icon_type)( | ||||||
|  |       struct _cef_media_sink_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Asynchronously retrieves device info. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* get_device_info)( | ||||||
|  |       struct _cef_media_sink_t* self, | ||||||
|  |       struct _cef_media_sink_device_info_callback_t* callback); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if this sink accepts content via Cast. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* is_cast_sink)(struct _cef_media_sink_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if this sink accepts content via DIAL. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* is_dial_sink)(struct _cef_media_sink_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if this sink is compatible with |source|. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* is_compatible_with)(struct _cef_media_sink_t* self, | ||||||
|  |                                         struct _cef_media_source_t* source); | ||||||
|  | } cef_media_sink_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Callback structure for cef_media_sink_t::GetDeviceInfo. The functions of this | ||||||
|  | // structure will be called on the browser process UI thread. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_media_sink_device_info_callback_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Method that will be executed asyncronously once device information has been | ||||||
|  |   // retrieved. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_media_sink_device_info)( | ||||||
|  |       struct _cef_media_sink_device_info_callback_t* self, | ||||||
|  |       const struct _cef_media_sink_device_info_t* device_info); | ||||||
|  | } cef_media_sink_device_info_callback_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Represents a source from which media can be routed. Instances of this object | ||||||
|  | // are retrieved via cef_media_router_t::GetSource. The functions of this | ||||||
|  | // structure may be called on any browser process thread unless otherwise | ||||||
|  | // indicated. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_media_source_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the ID (media source URN or URL) for this source. | ||||||
|  |   /// | ||||||
|  |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
|  |   cef_string_userfree_t(CEF_CALLBACK* get_id)(struct _cef_media_source_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if this source outputs its content via Cast. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* is_cast_source)(struct _cef_media_source_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if this source outputs its content via DIAL. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* is_dial_source)(struct _cef_media_source_t* self); | ||||||
|  | } cef_media_source_t; | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #endif  // CEF_INCLUDE_CAPI_CEF_MEDIA_ROUTER_CAPI_H_ | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=295f7f55ebe6d548aba1476e67efb2c88ab10ca5$ | // $hash=28fa978051bd3ddff69d58e0dc8f445f64a61480$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_MENU_MODEL_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_MENU_MODEL_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=74f40f20f94ce3a6e7f3c879a3834a7108099ed4$ | // $hash=edc411cb0447a6c2965cdeb5f709fe56c43ec2bb$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_MENU_MODEL_DELEGATE_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_MENU_MODEL_DELEGATE_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=a862d0004de2a1bdf4c214fe87278badd90562a7$ | // $hash=f14afbd6941bcb37b14cce81569882512c3d7194$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_NAVIGATION_ENTRY_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_NAVIGATION_ENTRY_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=2e5afff3277384ea9f3f74ef509c018f6d307dc4$ | // $hash=6798e6147540596c1abac8c7457d9d1d4d99bd54$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_ORIGIN_WHITELIST_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_ORIGIN_WHITELIST_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=d2f01fbfc3ae72a86c03399606088054b3a9337f$ | // $hash=84149324b177c47287b935dcb3d5900a33acfdf5$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PARSER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_PARSER_CAPI_H_ | ||||||
| @@ -140,16 +140,24 @@ CEF_EXPORT struct _cef_value_t* cef_parse_json( | |||||||
|     const cef_string_t* json_string, |     const cef_string_t* json_string, | ||||||
|     cef_json_parser_options_t options); |     cef_json_parser_options_t options); | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Parses the specified UTF8-encoded |json| buffer of size |json_size| and | ||||||
|  | // returns a dictionary or list representation. If JSON parsing fails this | ||||||
|  | // function returns NULL. | ||||||
|  | /// | ||||||
|  | CEF_EXPORT struct _cef_value_t* cef_parse_json_buffer( | ||||||
|  |     const void* json, | ||||||
|  |     size_t json_size, | ||||||
|  |     cef_json_parser_options_t options); | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Parses the specified |json_string| and returns a dictionary or list | // Parses the specified |json_string| and returns a dictionary or list | ||||||
| // representation. If JSON parsing fails this function returns NULL and | // representation. If JSON parsing fails this function returns NULL and | ||||||
| // populates |error_code_out| and |error_msg_out| with an error code and a | // populates |error_msg_out| with a formatted error message. | ||||||
| // formatted error message respectively. |  | ||||||
| /// | /// | ||||||
| CEF_EXPORT struct _cef_value_t* cef_parse_jsonand_return_error( | CEF_EXPORT struct _cef_value_t* cef_parse_jsonand_return_error( | ||||||
|     const cef_string_t* json_string, |     const cef_string_t* json_string, | ||||||
|     cef_json_parser_options_t options, |     cef_json_parser_options_t options, | ||||||
|     cef_json_parser_error_t* error_code_out, |  | ||||||
|     cef_string_t* error_msg_out); |     cef_string_t* error_msg_out); | ||||||
|  |  | ||||||
| /// | /// | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=fbb817705137a12b4718950ff696396c30057007$ | // $hash=0ae1fe7f7141eb05eb7fd44c2d41e4c576afae1e$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PATH_UTIL_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_PATH_UTIL_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=e8f6bdc822cf4f5c32b22ba8b5cacb25823d8971$ | // $hash=84fc58b3898f25476d9cdd260553390ba5e0b30b$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PRINT_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_PRINT_HANDLER_CAPI_H_ | ||||||
| @@ -85,8 +85,9 @@ typedef struct _cef_print_job_callback_t { | |||||||
| } cef_print_job_callback_t; | } cef_print_job_callback_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Implement this structure to handle printing on Linux. The functions of this | // Implement this structure to handle printing on Linux. Each browser will have | ||||||
| // structure will be called on the browser process UI thread. | // only one print job in progress at a time. The functions of this structure | ||||||
|  | // will be called on the browser process UI thread. | ||||||
| /// | /// | ||||||
| typedef struct _cef_print_handler_t { | typedef struct _cef_print_handler_t { | ||||||
|   /// |   /// | ||||||
| @@ -109,6 +110,7 @@ typedef struct _cef_print_handler_t { | |||||||
|   // reference to |settings| outside of this callback. |   // reference to |settings| outside of this callback. | ||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* on_print_settings)(struct _cef_print_handler_t* self, |   void(CEF_CALLBACK* on_print_settings)(struct _cef_print_handler_t* self, | ||||||
|  |                                         struct _cef_browser_t* browser, | ||||||
|                                         struct _cef_print_settings_t* settings, |                                         struct _cef_print_settings_t* settings, | ||||||
|                                         int get_defaults); |                                         int get_defaults); | ||||||
|  |  | ||||||
| @@ -119,6 +121,7 @@ typedef struct _cef_print_handler_t { | |||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* on_print_dialog)( |   int(CEF_CALLBACK* on_print_dialog)( | ||||||
|       struct _cef_print_handler_t* self, |       struct _cef_print_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|       int has_selection, |       int has_selection, | ||||||
|       struct _cef_print_dialog_callback_t* callback); |       struct _cef_print_dialog_callback_t* callback); | ||||||
|  |  | ||||||
| @@ -128,6 +131,7 @@ typedef struct _cef_print_handler_t { | |||||||
|   // the job immediately. |   // the job immediately. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* on_print_job)(struct _cef_print_handler_t* self, |   int(CEF_CALLBACK* on_print_job)(struct _cef_print_handler_t* self, | ||||||
|  |                                   struct _cef_browser_t* browser, | ||||||
|                                   const cef_string_t* document_name, |                                   const cef_string_t* document_name, | ||||||
|                                   const cef_string_t* pdf_file_path, |                                   const cef_string_t* pdf_file_path, | ||||||
|                                   struct _cef_print_job_callback_t* callback); |                                   struct _cef_print_job_callback_t* callback); | ||||||
| @@ -135,7 +139,8 @@ typedef struct _cef_print_handler_t { | |||||||
|   /// |   /// | ||||||
|   // Reset client state related to printing. |   // Reset client state related to printing. | ||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* on_print_reset)(struct _cef_print_handler_t* self); |   void(CEF_CALLBACK* on_print_reset)(struct _cef_print_handler_t* self, | ||||||
|  |                                      struct _cef_browser_t* browser); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Return the PDF paper size in device units. Used in combination with |   // Return the PDF paper size in device units. Used in combination with | ||||||
| @@ -143,6 +148,7 @@ typedef struct _cef_print_handler_t { | |||||||
|   /// |   /// | ||||||
|   cef_size_t(CEF_CALLBACK* get_pdf_paper_size)( |   cef_size_t(CEF_CALLBACK* get_pdf_paper_size)( | ||||||
|       struct _cef_print_handler_t* self, |       struct _cef_print_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|       int device_units_per_inch); |       int device_units_per_inch); | ||||||
| } cef_print_handler_t; | } cef_print_handler_t; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=5b26ebd2d8e1e65a25fa0c08317b8994887c0498$ | // $hash=4b52323c4ce2d0ebcc3438e16fc9a9b181a58adc$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PRINT_SETTINGS_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_PRINT_SETTINGS_CAPI_H_ | ||||||
| @@ -67,12 +67,6 @@ typedef struct _cef_print_settings_t { | |||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* is_read_only)(struct _cef_print_settings_t* self); |   int(CEF_CALLBACK* is_read_only)(struct _cef_print_settings_t* self); | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Returns a writable copy of this object. |  | ||||||
|   /// |  | ||||||
|   struct _cef_print_settings_t*(CEF_CALLBACK* copy)( |  | ||||||
|       struct _cef_print_settings_t* self); |  | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Set the page orientation. |   // Set the page orientation. | ||||||
|   /// |   /// | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=c2ee22474637f9aed7673670fb10c960ae621535$ | // $hash=53ff22b73527aa331d2bd96e008f4cb4f0413042$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PROCESS_MESSAGE_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_PROCESS_MESSAGE_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=aad07da2d500b8d31e02a75331bdb68f16d4c662$ | // $hash=c476a8d22852994d9d9695db901efaef13bbfc9d$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_PROCESS_UTIL_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_PROCESS_UTIL_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
 | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved.
 | ||||||
| //
 | //
 | ||||||
| // Redistribution and use in source and binary forms, with or without
 | // Redistribution and use in source and binary forms, with or without
 | ||||||
| // modification, are permitted provided that the following conditions are
 | // modification, are permitted provided that the following conditions are
 | ||||||
| @@ -33,74 +33,31 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for
 | // by hand. See the translator.README.txt file in the tools directory for
 | ||||||
| // more information.
 | // more information.
 | ||||||
| //
 | //
 | ||||||
| // $hash=ec60811fcefbe02348f14ecddbe5778ce836bf53$
 | // $hash=8cde223bdb8d25ff163edd95da0d9e238b298016$
 | ||||||
| //
 | //
 | ||||||
| 
 | 
 | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_GEOLOCATION_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_REGISTRATION_CAPI_H_ | ||||||
| #define CEF_INCLUDE_CAPI_CEF_GEOLOCATION_HANDLER_CAPI_H_ | #define CEF_INCLUDE_CAPI_CEF_REGISTRATION_CAPI_H_ | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include "include/capi/cef_base_capi.h" | #include "include/capi/cef_base_capi.h" | ||||||
| #include "include/capi/cef_browser_capi.h" |  | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| extern "C" { | extern "C" { | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| ///
 | ///
 | ||||||
| // Callback structure used for asynchronous continuation of geolocation
 | // Generic callback structure used for managing the lifespan of a registration.
 | ||||||
| // permission requests.
 |  | ||||||
| ///
 | ///
 | ||||||
| typedef struct _cef_geolocation_callback_t { | typedef struct _cef_registration_t { | ||||||
|   ///
 |   ///
 | ||||||
|   // Base structure.
 |   // Base structure.
 | ||||||
|   ///
 |   ///
 | ||||||
|   cef_base_ref_counted_t base; |   cef_base_ref_counted_t base; | ||||||
| 
 | } cef_registration_t; | ||||||
|   ///
 |  | ||||||
|   // Call to allow or deny geolocation access.
 |  | ||||||
|   ///
 |  | ||||||
|   void(CEF_CALLBACK* cont)(struct _cef_geolocation_callback_t* self, int allow); |  | ||||||
| } cef_geolocation_callback_t; |  | ||||||
| 
 |  | ||||||
| ///
 |  | ||||||
| // Implement this structure to handle events related to geolocation permission
 |  | ||||||
| // requests. The functions of this structure will be called on the browser
 |  | ||||||
| // process UI thread.
 |  | ||||||
| ///
 |  | ||||||
| typedef struct _cef_geolocation_handler_t { |  | ||||||
|   ///
 |  | ||||||
|   // Base structure.
 |  | ||||||
|   ///
 |  | ||||||
|   cef_base_ref_counted_t base; |  | ||||||
| 
 |  | ||||||
|   ///
 |  | ||||||
|   // Called when a page requests permission to access geolocation information.
 |  | ||||||
|   // |requesting_url| is the URL requesting permission and |request_id| is the
 |  | ||||||
|   // unique ID for the permission request. Return true (1) and call
 |  | ||||||
|   // cef_geolocation_callback_t::cont() either in this function or at a later
 |  | ||||||
|   // time to continue or cancel the request. Return false (0) to cancel the
 |  | ||||||
|   // request immediately.
 |  | ||||||
|   ///
 |  | ||||||
|   int(CEF_CALLBACK* on_request_geolocation_permission)( |  | ||||||
|       struct _cef_geolocation_handler_t* self, |  | ||||||
|       struct _cef_browser_t* browser, |  | ||||||
|       const cef_string_t* requesting_url, |  | ||||||
|       int request_id, |  | ||||||
|       struct _cef_geolocation_callback_t* callback); |  | ||||||
| 
 |  | ||||||
|   ///
 |  | ||||||
|   // Called when a geolocation access request is canceled. |request_id| is the
 |  | ||||||
|   // unique ID for the permission request.
 |  | ||||||
|   ///
 |  | ||||||
|   void(CEF_CALLBACK* on_cancel_geolocation_permission)( |  | ||||||
|       struct _cef_geolocation_handler_t* self, |  | ||||||
|       struct _cef_browser_t* browser, |  | ||||||
|       int request_id); |  | ||||||
| } cef_geolocation_handler_t; |  | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #endif  // CEF_INCLUDE_CAPI_CEF_GEOLOCATION_HANDLER_CAPI_H_
 | #endif  // CEF_INCLUDE_CAPI_CEF_REGISTRATION_CAPI_H_
 | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=5d20fc88dea8dad8691f05bfb7e8c1ce5cf2bbc1$ | // $hash=e4bdab963041a270edabc0954b415eb4cae8e5cb$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_RENDER_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_RENDER_HANDLER_CAPI_H_ | ||||||
| @@ -68,7 +68,8 @@ typedef struct _cef_render_handler_t { | |||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called to retrieve the root window rectangle in screen coordinates. Return |   // Called to retrieve the root window rectangle in screen coordinates. Return | ||||||
|   // true (1) if the rectangle was provided. |   // true (1) if the rectangle was provided. If this function returns false (0) | ||||||
|  |   // the rectangle from GetViewRect will be used. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* get_root_screen_rect)(struct _cef_render_handler_t* self, |   int(CEF_CALLBACK* get_root_screen_rect)(struct _cef_render_handler_t* self, | ||||||
|                                           struct _cef_browser_t* browser, |                                           struct _cef_browser_t* browser, | ||||||
| @@ -76,11 +77,11 @@ typedef struct _cef_render_handler_t { | |||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called to retrieve the view rectangle which is relative to screen |   // Called to retrieve the view rectangle which is relative to screen | ||||||
|   // coordinates. Return true (1) if the rectangle was provided. |   // coordinates. This function must always provide a non-NULL rectangle. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* get_view_rect)(struct _cef_render_handler_t* self, |   void(CEF_CALLBACK* get_view_rect)(struct _cef_render_handler_t* self, | ||||||
|                                    struct _cef_browser_t* browser, |                                     struct _cef_browser_t* browser, | ||||||
|                                    cef_rect_t* rect); |                                     cef_rect_t* rect); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called to retrieve the translation from view coordinates to actual screen |   // Called to retrieve the translation from view coordinates to actual screen | ||||||
| @@ -130,7 +131,8 @@ typedef struct _cef_render_handler_t { | |||||||
|   // contains the pixel data for the whole image. |dirtyRects| contains the set |   // contains the pixel data for the whole image. |dirtyRects| contains the set | ||||||
|   // of rectangles in pixel coordinates that need to be repainted. |buffer| will |   // of rectangles in pixel coordinates that need to be repainted. |buffer| will | ||||||
|   // be |width|*|height|*4 bytes in size and represents a BGRA image with an |   // be |width|*|height|*4 bytes in size and represents a BGRA image with an | ||||||
|   // upper-left origin. |   // upper-left origin. This function is only called when | ||||||
|  |   // cef_window_tInfo::shared_texture_enabled is set to false (0). | ||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* on_paint)(struct _cef_render_handler_t* self, |   void(CEF_CALLBACK* on_paint)(struct _cef_render_handler_t* self, | ||||||
|                                struct _cef_browser_t* browser, |                                struct _cef_browser_t* browser, | ||||||
| @@ -142,15 +144,20 @@ typedef struct _cef_render_handler_t { | |||||||
|                                int height); |                                int height); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called when the browser's cursor has changed. If |type| is CT_CUSTOM then |   // Called when an element has been rendered to the shared texture handle. | ||||||
|   // |custom_cursor_info| will be populated with the custom cursor information. |   // |type| indicates whether the element is the view or the popup widget. | ||||||
|  |   // |dirtyRects| contains the set of rectangles in pixel coordinates that need | ||||||
|  |   // to be repainted. |shared_handle| is the handle for a D3D11 Texture2D that | ||||||
|  |   // can be accessed via ID3D11Device using the OpenSharedResource function. | ||||||
|  |   // This function is only called when cef_window_tInfo::shared_texture_enabled | ||||||
|  |   // is set to true (1), and is currently only supported on Windows. | ||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* on_cursor_change)( |   void(CEF_CALLBACK* on_accelerated_paint)(struct _cef_render_handler_t* self, | ||||||
|       struct _cef_render_handler_t* self, |                                            struct _cef_browser_t* browser, | ||||||
|       struct _cef_browser_t* browser, |                                            cef_paint_element_type_t type, | ||||||
|       cef_cursor_handle_t cursor, |                                            size_t dirtyRectsCount, | ||||||
|       cef_cursor_type_t type, |                                            cef_rect_t const* dirtyRects, | ||||||
|       const struct _cef_cursor_info_t* custom_cursor_info); |                                            void* shared_handle); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called when the user starts dragging content in the web view. Contextual |   // Called when the user starts dragging content in the web view. Contextual | ||||||
| @@ -202,6 +209,28 @@ typedef struct _cef_render_handler_t { | |||||||
|       const cef_range_t* selected_range, |       const cef_range_t* selected_range, | ||||||
|       size_t character_boundsCount, |       size_t character_boundsCount, | ||||||
|       cef_rect_t const* character_bounds); |       cef_rect_t const* character_bounds); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when text selection has changed for the specified |browser|. | ||||||
|  |   // |selected_text| is the currently selected text and |selected_range| is the | ||||||
|  |   // character range. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_text_selection_changed)( | ||||||
|  |       struct _cef_render_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       const cef_string_t* selected_text, | ||||||
|  |       const cef_range_t* selected_range); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when an on-screen keyboard should be shown or hidden for the | ||||||
|  |   // specified |browser|. |input_mode| specifies what kind of keyboard should be | ||||||
|  |   // opened. If |input_mode| is CEF_TEXT_INPUT_MODE_NONE, any existing keyboard | ||||||
|  |   // for this browser should be hidden. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_virtual_keyboard_requested)( | ||||||
|  |       struct _cef_render_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       cef_text_input_mode_t input_mode); | ||||||
| } cef_render_handler_t; | } cef_render_handler_t; | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=04ddf8c8cc5e09610a6cd6dbee96194eb6567b41$ | // $hash=4ebf99611a11cc8714d710c37417fbd9f50f0618$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_RENDER_PROCESS_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_RENDER_PROCESS_HANDLER_CAPI_H_ | ||||||
| @@ -64,16 +64,6 @@ typedef struct _cef_render_process_handler_t { | |||||||
|   /// |   /// | ||||||
|   cef_base_ref_counted_t base; |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Called after the render process main thread has been created. |extra_info| |  | ||||||
|   // is a read-only value originating from |  | ||||||
|   // cef_browser_process_handler_t::on_render_process_thread_created(). Do not |  | ||||||
|   // keep a reference to |extra_info| outside of this function. |  | ||||||
|   /// |  | ||||||
|   void(CEF_CALLBACK* on_render_thread_created)( |  | ||||||
|       struct _cef_render_process_handler_t* self, |  | ||||||
|       struct _cef_list_value_t* extra_info); |  | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called after WebKit has been initialized. |   // Called after WebKit has been initialized. | ||||||
|   /// |   /// | ||||||
| @@ -83,11 +73,16 @@ typedef struct _cef_render_process_handler_t { | |||||||
|   /// |   /// | ||||||
|   // Called after a browser has been created. When browsing cross-origin a new |   // Called after a browser has been created. When browsing cross-origin a new | ||||||
|   // browser will be created before the old browser with the same identifier is |   // browser will be created before the old browser with the same identifier is | ||||||
|   // destroyed. |   // destroyed. |extra_info| is an optional read-only value originating from | ||||||
|  |   // cef_browser_host_t::cef_browser_host_create_browser(), | ||||||
|  |   // cef_browser_host_t::cef_browser_host_create_browser_sync(), | ||||||
|  |   // cef_life_span_handler_t::on_before_popup() or | ||||||
|  |   // cef_browser_view_t::cef_browser_view_create(). | ||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* on_browser_created)( |   void(CEF_CALLBACK* on_browser_created)( | ||||||
|       struct _cef_render_process_handler_t* self, |       struct _cef_render_process_handler_t* self, | ||||||
|       struct _cef_browser_t* browser); |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_dictionary_value_t* extra_info); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called before a browser is destroyed. |   // Called before a browser is destroyed. | ||||||
| @@ -102,19 +97,6 @@ typedef struct _cef_render_process_handler_t { | |||||||
|   struct _cef_load_handler_t*(CEF_CALLBACK* get_load_handler)( |   struct _cef_load_handler_t*(CEF_CALLBACK* get_load_handler)( | ||||||
|       struct _cef_render_process_handler_t* self); |       struct _cef_render_process_handler_t* self); | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Called before browser navigation. Return true (1) to cancel the navigation |  | ||||||
|   // or false (0) to allow the navigation to proceed. The |request| object |  | ||||||
|   // cannot be modified in this callback. |  | ||||||
|   /// |  | ||||||
|   int(CEF_CALLBACK* on_before_navigation)( |  | ||||||
|       struct _cef_render_process_handler_t* self, |  | ||||||
|       struct _cef_browser_t* browser, |  | ||||||
|       struct _cef_frame_t* frame, |  | ||||||
|       struct _cef_request_t* request, |  | ||||||
|       cef_navigation_type_t navigation_type, |  | ||||||
|       int is_redirect); |  | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called immediately after the V8 context for a frame has been created. To |   // Called immediately after the V8 context for a frame has been created. To | ||||||
|   // retrieve the JavaScript 'window' object use the |   // retrieve the JavaScript 'window' object use the | ||||||
| @@ -168,12 +150,13 @@ typedef struct _cef_render_process_handler_t { | |||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called when a new message is received from a different process. Return true |   // Called when a new message is received from a different process. Return true | ||||||
|   // (1) if the message was handled or false (0) otherwise. Do not keep a |   // (1) if the message was handled or false (0) otherwise. It is safe to keep a | ||||||
|   // reference to or attempt to access the message outside of this callback. |   // reference to |message| outside of this callback. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* on_process_message_received)( |   int(CEF_CALLBACK* on_process_message_received)( | ||||||
|       struct _cef_render_process_handler_t* self, |       struct _cef_render_process_handler_t* self, | ||||||
|       struct _cef_browser_t* browser, |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_frame_t* frame, | ||||||
|       cef_process_id_t source_process, |       cef_process_id_t source_process, | ||||||
|       struct _cef_process_message_t* message); |       struct _cef_process_message_t* message); | ||||||
| } cef_render_process_handler_t; | } cef_render_process_handler_t; | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
 | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved.
 | ||||||
| //
 | //
 | ||||||
| // Redistribution and use in source and binary forms, with or without
 | // Redistribution and use in source and binary forms, with or without
 | ||||||
| // modification, are permitted provided that the following conditions are
 | // modification, are permitted provided that the following conditions are
 | ||||||
| @@ -33,11 +33,11 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for
 | // by hand. See the translator.README.txt file in the tools directory for
 | ||||||
| // more information.
 | // more information.
 | ||||||
| //
 | //
 | ||||||
| // $hash=3ae57ba897d73f3fcccc955c827379746b6203af$
 | // $hash=273af5bd01c6ab5d4df8efb2af2b4e2da9c21760$
 | ||||||
| //
 | //
 | ||||||
| 
 | 
 | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_GEOLOCATION_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CALLBACK_CAPI_H_ | ||||||
| #define CEF_INCLUDE_CAPI_CEF_GEOLOCATION_CAPI_H_ | #define CEF_INCLUDE_CAPI_CEF_REQUEST_CALLBACK_CAPI_H_ | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include "include/capi/cef_base_capi.h" | #include "include/capi/cef_base_capi.h" | ||||||
| @@ -47,33 +47,28 @@ extern "C" { | |||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| ///
 | ///
 | ||||||
| // Implement this structure to receive geolocation updates. The functions of
 | // Callback structure used for asynchronous continuation of url requests.
 | ||||||
| // this structure will be called on the browser process UI thread.
 |  | ||||||
| ///
 | ///
 | ||||||
| typedef struct _cef_get_geolocation_callback_t { | typedef struct _cef_request_callback_t { | ||||||
|   ///
 |   ///
 | ||||||
|   // Base structure.
 |   // Base structure.
 | ||||||
|   ///
 |   ///
 | ||||||
|   cef_base_ref_counted_t base; |   cef_base_ref_counted_t base; | ||||||
| 
 | 
 | ||||||
|   ///
 |   ///
 | ||||||
|   // Called with the 'best available' location information or, if the location
 |   // Continue the url request. If |allow| is true (1) the request will be
 | ||||||
|   // update failed, with error information.
 |   // continued. Otherwise, the request will be canceled.
 | ||||||
|   ///
 |   ///
 | ||||||
|   void(CEF_CALLBACK* on_location_update)( |   void(CEF_CALLBACK* cont)(struct _cef_request_callback_t* self, int allow); | ||||||
|       struct _cef_get_geolocation_callback_t* self, |  | ||||||
|       const struct _cef_geoposition_t* position); |  | ||||||
| } cef_get_geolocation_callback_t; |  | ||||||
| 
 | 
 | ||||||
| ///
 |   ///
 | ||||||
| // Request a one-time geolocation update. This function bypasses any user
 |   // Cancel the url request.
 | ||||||
| // permission checks so should only be used by code that is allowed to access
 |   ///
 | ||||||
| // location information.
 |   void(CEF_CALLBACK* cancel)(struct _cef_request_callback_t* self); | ||||||
| ///
 | } cef_request_callback_t; | ||||||
| CEF_EXPORT int cef_get_geolocation(cef_get_geolocation_callback_t* callback); |  | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #endif  // CEF_INCLUDE_CAPI_CEF_GEOLOCATION_CAPI_H_
 | #endif  // CEF_INCLUDE_CAPI_CEF_REQUEST_CALLBACK_CAPI_H_
 | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=e4d28f171862beea61f00e46d7acb8ee4154b077$ | // $hash=a5e9055958c3588d583d4d128a5d7c8639f39946$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CAPI_H_ | ||||||
| @@ -136,6 +136,27 @@ typedef struct _cef_request_t { | |||||||
|   void(CEF_CALLBACK* set_header_map)(struct _cef_request_t* self, |   void(CEF_CALLBACK* set_header_map)(struct _cef_request_t* self, | ||||||
|                                      cef_string_multimap_t headerMap); |                                      cef_string_multimap_t headerMap); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the first header value for |name| or an NULL string if not found. | ||||||
|  |   // Will not return the Referer value if any. Use GetHeaderMap instead if | ||||||
|  |   // |name| might have multiple values. | ||||||
|  |   /// | ||||||
|  |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
|  |   cef_string_userfree_t(CEF_CALLBACK* get_header_by_name)( | ||||||
|  |       struct _cef_request_t* self, | ||||||
|  |       const cef_string_t* name); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Set the header |name| to |value|. If |overwrite| is true (1) any existing | ||||||
|  |   // values will be replaced with the new value. If |overwrite| is false (0) any | ||||||
|  |   // existing values will not be overwritten. The Referer value cannot be set | ||||||
|  |   // using this function. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* set_header_by_name)(struct _cef_request_t* self, | ||||||
|  |                                          const cef_string_t* name, | ||||||
|  |                                          const cef_string_t* value, | ||||||
|  |                                          int overwrite); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Set all values at one time. |   // Set all values at one time. | ||||||
|   /// |   /// | ||||||
| @@ -158,7 +179,7 @@ typedef struct _cef_request_t { | |||||||
|   void(CEF_CALLBACK* set_flags)(struct _cef_request_t* self, int flags); |   void(CEF_CALLBACK* set_flags)(struct _cef_request_t* self, int flags); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Set the URL to the first party for cookies used in combination with |   // Get the URL to the first party for cookies used in combination with | ||||||
|   // cef_urlrequest_t. |   // cef_urlrequest_t. | ||||||
|   /// |   /// | ||||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
| @@ -166,7 +187,7 @@ typedef struct _cef_request_t { | |||||||
|       struct _cef_request_t* self); |       struct _cef_request_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Get the URL to the first party for cookies used in combination with |   // Set the URL to the first party for cookies used in combination with | ||||||
|   // cef_urlrequest_t. |   // cef_urlrequest_t. | ||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* set_first_party_for_cookies)(struct _cef_request_t* self, |   void(CEF_CALLBACK* set_first_party_for_cookies)(struct _cef_request_t* self, | ||||||
| @@ -189,8 +210,8 @@ typedef struct _cef_request_t { | |||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Returns the globally unique identifier for this request or 0 if not |   // Returns the globally unique identifier for this request or 0 if not | ||||||
|   // specified. Can be used by cef_request_tHandler implementations in the |   // specified. Can be used by cef_resource_request_handler_t implementations in | ||||||
|   // browser process to track a single request across multiple callbacks. |   // the browser process to track a single request across multiple callbacks. | ||||||
|   /// |   /// | ||||||
|   uint64(CEF_CALLBACK* get_identifier)(struct _cef_request_t* self); |   uint64(CEF_CALLBACK* get_identifier)(struct _cef_request_t* self); | ||||||
| } cef_request_t; | } cef_request_t; | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=791231acc78a2b601257fb0b86d904eace796d63$ | // $hash=2e42334fc22050e207e5a0af6fe290a592e4105f$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_CAPI_H_ | ||||||
| @@ -42,17 +42,20 @@ | |||||||
|  |  | ||||||
| #include "include/capi/cef_callback_capi.h" | #include "include/capi/cef_callback_capi.h" | ||||||
| #include "include/capi/cef_cookie_capi.h" | #include "include/capi/cef_cookie_capi.h" | ||||||
| #include "include/capi/cef_request_context_handler_capi.h" | #include "include/capi/cef_extension_capi.h" | ||||||
|  | #include "include/capi/cef_extension_handler_capi.h" | ||||||
|  | #include "include/capi/cef_media_router_capi.h" | ||||||
| #include "include/capi/cef_values_capi.h" | #include "include/capi/cef_values_capi.h" | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| extern "C" { | extern "C" { | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | struct _cef_request_context_handler_t; | ||||||
| struct _cef_scheme_handler_factory_t; | struct _cef_scheme_handler_factory_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Callback structure for cef_request_tContext::ResolveHost. | // Callback structure for cef_request_context_t::ResolveHost. | ||||||
| /// | /// | ||||||
| typedef struct _cef_resolve_callback_t { | typedef struct _cef_resolve_callback_t { | ||||||
|   /// |   /// | ||||||
| @@ -61,9 +64,9 @@ typedef struct _cef_resolve_callback_t { | |||||||
|   cef_base_ref_counted_t base; |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called after the ResolveHost request has completed. |result| will be the |   // Called on the UI thread after the ResolveHost request has completed. | ||||||
|   // result code. |resolved_ips| will be the list of resolved IP addresses or |   // |result| will be the result code. |resolved_ips| will be the list of | ||||||
|   // NULL if the resolution failed. |   // resolved IP addresses or NULL if the resolution failed. | ||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* on_resolve_completed)(struct _cef_resolve_callback_t* self, |   void(CEF_CALLBACK* on_resolve_completed)(struct _cef_resolve_callback_t* self, | ||||||
|                                            cef_errorcode_t result, |                                            cef_errorcode_t result, | ||||||
| @@ -128,14 +131,11 @@ typedef struct _cef_request_context_t { | |||||||
|       struct _cef_request_context_t* self); |       struct _cef_request_context_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Returns the default cookie manager for this object. This will be the global |   // Returns the cookie manager for this object. If |callback| is non-NULL it | ||||||
|   // cookie manager if this object is the global request context. Otherwise, |   // will be executed asnychronously on the UI thread after the manager's | ||||||
|   // this will be the default cookie manager used when this request context does |   // storage has been initialized. | ||||||
|   // not receive a value via cef_request_tContextHandler::get_cookie_manager(). |  | ||||||
|   // If |callback| is non-NULL it will be executed asnychronously on the IO |  | ||||||
|   // thread after the manager's storage has been initialized. |  | ||||||
|   /// |   /// | ||||||
|   struct _cef_cookie_manager_t*(CEF_CALLBACK* get_default_cookie_manager)( |   struct _cef_cookie_manager_t*(CEF_CALLBACK* get_cookie_manager)( | ||||||
|       struct _cef_request_context_t* self, |       struct _cef_request_context_t* self, | ||||||
|       struct _cef_completion_callback_t* callback); |       struct _cef_completion_callback_t* callback); | ||||||
|  |  | ||||||
| @@ -169,7 +169,7 @@ typedef struct _cef_request_context_t { | |||||||
|   // Tells all renderer processes associated with this context to throw away |   // Tells all renderer processes associated with this context to throw away | ||||||
|   // their plugin list cache. If |reload_pages| is true (1) they will also |   // their plugin list cache. If |reload_pages| is true (1) they will also | ||||||
|   // reload all pages with plugins. |   // reload all pages with plugins. | ||||||
|   // cef_request_tContextHandler::OnBeforePluginLoad may be called to rebuild |   // cef_request_context_handler_t::OnBeforePluginLoad may be called to rebuild | ||||||
|   // the plugin list cache. |   // the plugin list cache. | ||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* purge_plugin_list_cache)( |   void(CEF_CALLBACK* purge_plugin_list_cache)( | ||||||
| @@ -229,7 +229,7 @@ typedef struct _cef_request_context_t { | |||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Clears all certificate exceptions that were added as part of handling |   // Clears all certificate exceptions that were added as part of handling | ||||||
|   // cef_request_tHandler::on_certificate_error(). If you call this it is |   // cef_request_handler_t::on_certificate_error(). If you call this it is | ||||||
|   // recommended that you also call close_all_connections() or you risk not |   // recommended that you also call close_all_connections() or you risk not | ||||||
|   // being prompted again for server certificates if you reconnect quickly. If |   // being prompted again for server certificates if you reconnect quickly. If | ||||||
|   // |callback| is non-NULL it will be executed on the UI thread after |   // |callback| is non-NULL it will be executed on the UI thread after | ||||||
| @@ -239,6 +239,15 @@ typedef struct _cef_request_context_t { | |||||||
|       struct _cef_request_context_t* self, |       struct _cef_request_context_t* self, | ||||||
|       struct _cef_completion_callback_t* callback); |       struct _cef_completion_callback_t* callback); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Clears all HTTP authentication credentials that were added as part of | ||||||
|  |   // handling GetAuthCredentials. If |callback| is non-NULL it will be executed | ||||||
|  |   // on the UI thread after completion. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* clear_http_auth_credentials)( | ||||||
|  |       struct _cef_request_context_t* self, | ||||||
|  |       struct _cef_completion_callback_t* callback); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Clears all active and idle connections that Chromium currently has. This is |   // Clears all active and idle connections that Chromium currently has. This is | ||||||
|   // only recommended if you have released all other CEF objects but don't yet |   // only recommended if you have released all other CEF objects but don't yet | ||||||
| @@ -258,15 +267,102 @@ typedef struct _cef_request_context_t { | |||||||
|                                    struct _cef_resolve_callback_t* callback); |                                    struct _cef_resolve_callback_t* callback); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Attempts to resolve |origin| to a list of associated IP addresses using |   // Load an extension. | ||||||
|   // cached data. |resolved_ips| will be populated with the list of resolved IP |   // | ||||||
|   // addresses or NULL if no cached data is available. Returns ERR_NONE on |   // If extension resources will be read from disk using the default load | ||||||
|   // success. This function must be called on the browser process IO thread. |   // implementation then |root_directory| should be the absolute path to the | ||||||
|  |   // extension resources directory and |manifest| should be NULL. If extension | ||||||
|  |   // resources will be provided by the client (e.g. via cef_request_handler_t | ||||||
|  |   // and/or cef_extension_handler_t) then |root_directory| should be a path | ||||||
|  |   // component unique to the extension (if not absolute this will be internally | ||||||
|  |   // prefixed with the PK_DIR_RESOURCES path) and |manifest| should contain the | ||||||
|  |   // contents that would otherwise be read from the "manifest.json" file on | ||||||
|  |   // disk. | ||||||
|  |   // | ||||||
|  |   // The loaded extension will be accessible in all contexts sharing the same | ||||||
|  |   // storage (HasExtension returns true (1)). However, only the context on which | ||||||
|  |   // this function was called is considered the loader (DidLoadExtension returns | ||||||
|  |   // true (1)) and only the loader will receive cef_request_context_handler_t | ||||||
|  |   // callbacks for the extension. | ||||||
|  |   // | ||||||
|  |   // cef_extension_handler_t::OnExtensionLoaded will be called on load success | ||||||
|  |   // or cef_extension_handler_t::OnExtensionLoadFailed will be called on load | ||||||
|  |   // failure. | ||||||
|  |   // | ||||||
|  |   // If the extension specifies a background script via the "background" | ||||||
|  |   // manifest key then cef_extension_handler_t::OnBeforeBackgroundBrowser will | ||||||
|  |   // be called to create the background browser. See that function for | ||||||
|  |   // additional information about background scripts. | ||||||
|  |   // | ||||||
|  |   // For visible extension views the client application should evaluate the | ||||||
|  |   // manifest to determine the correct extension URL to load and then pass that | ||||||
|  |   // URL to the cef_browser_host_t::CreateBrowser* function after the extension | ||||||
|  |   // has loaded. For example, the client can look for the "browser_action" | ||||||
|  |   // manifest key as documented at | ||||||
|  |   // https://developer.chrome.com/extensions/browserAction. Extension URLs take | ||||||
|  |   // the form "chrome-extension://<extension_id>/<path>". | ||||||
|  |   // | ||||||
|  |   // Browsers that host extensions differ from normal browsers as follows: | ||||||
|  |   //  - Can access chrome.* JavaScript APIs if allowed by the manifest. Visit | ||||||
|  |   //    chrome://extensions-support for the list of extension APIs currently | ||||||
|  |   //    supported by CEF. | ||||||
|  |   //  - Main frame navigation to non-extension content is blocked. | ||||||
|  |   //  - Pinch-zooming is disabled. | ||||||
|  |   //  - CefBrowserHost::GetExtension returns the hosted extension. | ||||||
|  |   //  - CefBrowserHost::IsBackgroundHost returns true for background hosts. | ||||||
|  |   // | ||||||
|  |   // See https://developer.chrome.com/extensions for extension implementation | ||||||
|  |   // and usage documentation. | ||||||
|   /// |   /// | ||||||
|   cef_errorcode_t(CEF_CALLBACK* resolve_host_cached)( |   void(CEF_CALLBACK* load_extension)(struct _cef_request_context_t* self, | ||||||
|  |                                      const cef_string_t* root_directory, | ||||||
|  |                                      struct _cef_dictionary_value_t* manifest, | ||||||
|  |                                      struct _cef_extension_handler_t* handler); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if this context was used to load the extension identified | ||||||
|  |   // by |extension_id|. Other contexts sharing the same storage will also have | ||||||
|  |   // access to the extension (see HasExtension). This function must be called on | ||||||
|  |   // the browser process UI thread. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* did_load_extension)(struct _cef_request_context_t* self, | ||||||
|  |                                         const cef_string_t* extension_id); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if this context has access to the extension identified by | ||||||
|  |   // |extension_id|. This may not be the context that was used to load the | ||||||
|  |   // extension (see DidLoadExtension). This function must be called on the | ||||||
|  |   // browser process UI thread. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* has_extension)(struct _cef_request_context_t* self, | ||||||
|  |                                    const cef_string_t* extension_id); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Retrieve the list of all extensions that this context has access to (see | ||||||
|  |   // HasExtension). |extension_ids| will be populated with the list of extension | ||||||
|  |   // ID values. Returns true (1) on success. This function must be called on the | ||||||
|  |   // browser process UI thread. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* get_extensions)(struct _cef_request_context_t* self, | ||||||
|  |                                     cef_string_list_t extension_ids); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the extension matching |extension_id| or NULL if no matching | ||||||
|  |   // extension is accessible in this context (see HasExtension). This function | ||||||
|  |   // must be called on the browser process UI thread. | ||||||
|  |   /// | ||||||
|  |   struct _cef_extension_t*(CEF_CALLBACK* get_extension)( | ||||||
|       struct _cef_request_context_t* self, |       struct _cef_request_context_t* self, | ||||||
|       const cef_string_t* origin, |       const cef_string_t* extension_id); | ||||||
|       cef_string_list_t resolved_ips); |  | ||||||
|  |   /// | ||||||
|  |   // Returns the MediaRouter object associated with this context.  If |callback| | ||||||
|  |   // is non-NULL it will be executed asnychronously on the UI thread after the | ||||||
|  |   // manager's context has been initialized. | ||||||
|  |   /// | ||||||
|  |   struct _cef_media_router_t*(CEF_CALLBACK* get_media_router)( | ||||||
|  |       struct _cef_request_context_t* self, | ||||||
|  |       struct _cef_completion_callback_t* callback); | ||||||
| } cef_request_context_t; | } cef_request_context_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=9359e227c9d534c9c612d2ede790136461836501$ | // $hash=fa148db8a0ecd79966814086fb92e439687be701$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_HANDLER_CAPI_H_ | ||||||
| @@ -41,7 +41,10 @@ | |||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #include "include/capi/cef_base_capi.h" | #include "include/capi/cef_base_capi.h" | ||||||
| #include "include/capi/cef_cookie_capi.h" | #include "include/capi/cef_browser_capi.h" | ||||||
|  | #include "include/capi/cef_frame_capi.h" | ||||||
|  | #include "include/capi/cef_request_capi.h" | ||||||
|  | #include "include/capi/cef_resource_request_handler_capi.h" | ||||||
| #include "include/capi/cef_web_plugin_capi.h" | #include "include/capi/cef_web_plugin_capi.h" | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| @@ -60,12 +63,12 @@ typedef struct _cef_request_context_handler_t { | |||||||
|   cef_base_ref_counted_t base; |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called on the browser process IO thread to retrieve the cookie manager. If |   // Called on the browser process UI thread immediately after the request | ||||||
|   // this function returns NULL the default cookie manager retrievable via |   // context has been initialized. | ||||||
|   // cef_request_tContext::get_default_cookie_manager() will be used. |  | ||||||
|   /// |   /// | ||||||
|   struct _cef_cookie_manager_t*(CEF_CALLBACK* get_cookie_manager)( |   void(CEF_CALLBACK* on_request_context_initialized)( | ||||||
|       struct _cef_request_context_handler_t* self); |       struct _cef_request_context_handler_t* self, | ||||||
|  |       struct _cef_request_context_t* request_context); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called on multiple browser process threads before a plugin instance is |   // Called on multiple browser process threads before a plugin instance is | ||||||
| @@ -84,7 +87,7 @@ typedef struct _cef_request_context_handler_t { | |||||||
|   // |plugin_policy| to PLUGIN_POLICY_DISABLED may be cached when |   // |plugin_policy| to PLUGIN_POLICY_DISABLED may be cached when | ||||||
|   // |top_origin_url| is NULL. To purge the plugin list cache and potentially |   // |top_origin_url| is NULL. To purge the plugin list cache and potentially | ||||||
|   // trigger new calls to this function call |   // trigger new calls to this function call | ||||||
|   // cef_request_tContext::PurgePluginListCache. |   // cef_request_context_t::PurgePluginListCache. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* on_before_plugin_load)( |   int(CEF_CALLBACK* on_before_plugin_load)( | ||||||
|       struct _cef_request_context_handler_t* self, |       struct _cef_request_context_handler_t* self, | ||||||
| @@ -94,6 +97,35 @@ typedef struct _cef_request_context_handler_t { | |||||||
|       const cef_string_t* top_origin_url, |       const cef_string_t* top_origin_url, | ||||||
|       struct _cef_web_plugin_info_t* plugin_info, |       struct _cef_web_plugin_info_t* plugin_info, | ||||||
|       cef_plugin_policy_t* plugin_policy); |       cef_plugin_policy_t* plugin_policy); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the browser process IO thread before a resource request is | ||||||
|  |   // initiated. The |browser| and |frame| values represent the source of the | ||||||
|  |   // request, and may be NULL for requests originating from service workers or | ||||||
|  |   // cef_urlrequest_t. |request| represents the request contents and cannot be | ||||||
|  |   // modified in this callback. |is_navigation| will be true (1) if the resource | ||||||
|  |   // request is a navigation. |is_download| will be true (1) if the resource | ||||||
|  |   // request is a download. |request_initiator| is the origin (scheme + domain) | ||||||
|  |   // of the page that initiated the request. Set |disable_default_handling| to | ||||||
|  |   // true (1) to disable default handling of the request, in which case it will | ||||||
|  |   // need to be handled via cef_resource_request_handler_t::GetResourceHandler | ||||||
|  |   // or it will be canceled. To allow the resource load to proceed with default | ||||||
|  |   // handling return NULL. To specify a handler for the resource return a | ||||||
|  |   // cef_resource_request_handler_t object. This function will not be called if | ||||||
|  |   // the client associated with |browser| returns a non-NULL value from | ||||||
|  |   // cef_request_handler_t::GetResourceRequestHandler for the same request | ||||||
|  |   // (identified by cef_request_t::GetIdentifier). | ||||||
|  |   /// | ||||||
|  |   struct _cef_resource_request_handler_t*( | ||||||
|  |       CEF_CALLBACK* get_resource_request_handler)( | ||||||
|  |       struct _cef_request_context_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_frame_t* frame, | ||||||
|  |       struct _cef_request_t* request, | ||||||
|  |       int is_navigation, | ||||||
|  |       int is_download, | ||||||
|  |       const cef_string_t* request_initiator, | ||||||
|  |       int* disable_default_handling); | ||||||
| } cef_request_context_handler_t; | } cef_request_context_handler_t; | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=b6cbe39a8124a961036205864e7e6b2e1eb0bf6b$ | // $hash=1d8b3f540a8305ce1738c5fe7c716434062c67b0$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_HANDLER_CAPI_H_ | ||||||
| @@ -44,10 +44,9 @@ | |||||||
| #include "include/capi/cef_base_capi.h" | #include "include/capi/cef_base_capi.h" | ||||||
| #include "include/capi/cef_browser_capi.h" | #include "include/capi/cef_browser_capi.h" | ||||||
| #include "include/capi/cef_frame_capi.h" | #include "include/capi/cef_frame_capi.h" | ||||||
|  | #include "include/capi/cef_request_callback_capi.h" | ||||||
| #include "include/capi/cef_request_capi.h" | #include "include/capi/cef_request_capi.h" | ||||||
| #include "include/capi/cef_resource_handler_capi.h" | #include "include/capi/cef_resource_request_handler_capi.h" | ||||||
| #include "include/capi/cef_response_capi.h" |  | ||||||
| #include "include/capi/cef_response_filter_capi.h" |  | ||||||
| #include "include/capi/cef_ssl_info_capi.h" | #include "include/capi/cef_ssl_info_capi.h" | ||||||
| #include "include/capi/cef_x509_certificate_capi.h" | #include "include/capi/cef_x509_certificate_capi.h" | ||||||
|  |  | ||||||
| @@ -55,27 +54,6 @@ | |||||||
| extern "C" { | extern "C" { | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /// |  | ||||||
| // Callback structure used for asynchronous continuation of url requests. |  | ||||||
| /// |  | ||||||
| typedef struct _cef_request_callback_t { |  | ||||||
|   /// |  | ||||||
|   // Base structure. |  | ||||||
|   /// |  | ||||||
|   cef_base_ref_counted_t base; |  | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Continue the url request. If |allow| is true (1) the request will be |  | ||||||
|   // continued. Otherwise, the request will be canceled. |  | ||||||
|   /// |  | ||||||
|   void(CEF_CALLBACK* cont)(struct _cef_request_callback_t* self, int allow); |  | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Cancel the url request. |  | ||||||
|   /// |  | ||||||
|   void(CEF_CALLBACK* cancel)(struct _cef_request_callback_t* self); |  | ||||||
| } cef_request_callback_t; |  | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Callback structure used to select a client certificate for authentication. | // Callback structure used to select a client certificate for authentication. | ||||||
| /// | /// | ||||||
| @@ -112,12 +90,15 @@ typedef struct _cef_request_handler_t { | |||||||
|   // If the navigation is allowed cef_load_handler_t::OnLoadStart and |   // If the navigation is allowed cef_load_handler_t::OnLoadStart and | ||||||
|   // cef_load_handler_t::OnLoadEnd will be called. If the navigation is canceled |   // cef_load_handler_t::OnLoadEnd will be called. If the navigation is canceled | ||||||
|   // cef_load_handler_t::OnLoadError will be called with an |errorCode| value of |   // cef_load_handler_t::OnLoadError will be called with an |errorCode| value of | ||||||
|   // ERR_ABORTED. |   // ERR_ABORTED. The |user_gesture| value will be true (1) if the browser | ||||||
|  |   // navigated via explicit user gesture (e.g. clicking a link) or false (0) if | ||||||
|  |   // it navigated automatically (e.g. via the DomContentLoaded event). | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* on_before_browse)(struct _cef_request_handler_t* self, |   int(CEF_CALLBACK* on_before_browse)(struct _cef_request_handler_t* self, | ||||||
|                                       struct _cef_browser_t* browser, |                                       struct _cef_browser_t* browser, | ||||||
|                                       struct _cef_frame_t* frame, |                                       struct _cef_frame_t* frame, | ||||||
|                                       struct _cef_request_t* request, |                                       struct _cef_request_t* request, | ||||||
|  |                                       int user_gesture, | ||||||
|                                       int is_redirect); |                                       int is_redirect); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
| @@ -145,92 +126,39 @@ typedef struct _cef_request_handler_t { | |||||||
|       int user_gesture); |       int user_gesture); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called on the IO thread before a resource request is loaded. The |request| |   // Called on the browser process IO thread before a resource request is | ||||||
|   // object may be modified. Return RV_CONTINUE to continue the request |   // initiated. The |browser| and |frame| values represent the source of the | ||||||
|   // immediately. Return RV_CONTINUE_ASYNC and call cef_request_tCallback:: |   // request. |request| represents the request contents and cannot be modified | ||||||
|   // cont() at a later time to continue or cancel the request asynchronously. |   // in this callback. |is_navigation| will be true (1) if the resource request | ||||||
|   // Return RV_CANCEL to cancel the request immediately. |   // is a navigation. |is_download| will be true (1) if the resource request is | ||||||
|   // |   // a download. |request_initiator| is the origin (scheme + domain) of the page | ||||||
|  |   // that initiated the request. Set |disable_default_handling| to true (1) to | ||||||
|  |   // disable default handling of the request, in which case it will need to be | ||||||
|  |   // handled via cef_resource_request_handler_t::GetResourceHandler or it will | ||||||
|  |   // be canceled. To allow the resource load to proceed with default handling | ||||||
|  |   // return NULL. To specify a handler for the resource return a | ||||||
|  |   // cef_resource_request_handler_t object. If this callback returns NULL the | ||||||
|  |   // same function will be called on the associated | ||||||
|  |   // cef_request_context_handler_t, if any. | ||||||
|   /// |   /// | ||||||
|   cef_return_value_t(CEF_CALLBACK* on_before_resource_load)( |   struct _cef_resource_request_handler_t*( | ||||||
|  |       CEF_CALLBACK* get_resource_request_handler)( | ||||||
|       struct _cef_request_handler_t* self, |       struct _cef_request_handler_t* self, | ||||||
|       struct _cef_browser_t* browser, |       struct _cef_browser_t* browser, | ||||||
|       struct _cef_frame_t* frame, |       struct _cef_frame_t* frame, | ||||||
|       struct _cef_request_t* request, |       struct _cef_request_t* request, | ||||||
|       struct _cef_request_callback_t* callback); |       int is_navigation, | ||||||
|  |       int is_download, | ||||||
|   /// |       const cef_string_t* request_initiator, | ||||||
|   // Called on the IO thread before a resource is loaded. To allow the resource |       int* disable_default_handling); | ||||||
|   // to load normally return NULL. To specify a handler for the resource return |  | ||||||
|   // a cef_resource_handler_t object. The |request| object should not be |  | ||||||
|   // modified in this callback. |  | ||||||
|   /// |  | ||||||
|   struct _cef_resource_handler_t*(CEF_CALLBACK* get_resource_handler)( |  | ||||||
|       struct _cef_request_handler_t* self, |  | ||||||
|       struct _cef_browser_t* browser, |  | ||||||
|       struct _cef_frame_t* frame, |  | ||||||
|       struct _cef_request_t* request); |  | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Called on the IO thread when a resource load is redirected. The |request| |  | ||||||
|   // parameter will contain the old URL and other request-related information. |  | ||||||
|   // The |response| parameter will contain the response that resulted in the |  | ||||||
|   // redirect. The |new_url| parameter will contain the new URL and can be |  | ||||||
|   // changed if desired. The |request| object cannot be modified in this |  | ||||||
|   // callback. |  | ||||||
|   /// |  | ||||||
|   void(CEF_CALLBACK* on_resource_redirect)(struct _cef_request_handler_t* self, |  | ||||||
|                                            struct _cef_browser_t* browser, |  | ||||||
|                                            struct _cef_frame_t* frame, |  | ||||||
|                                            struct _cef_request_t* request, |  | ||||||
|                                            struct _cef_response_t* response, |  | ||||||
|                                            cef_string_t* new_url); |  | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Called on the IO thread when a resource response is received. To allow the |  | ||||||
|   // resource to load normally return false (0). To redirect or retry the |  | ||||||
|   // resource modify |request| (url, headers or post body) and return true (1). |  | ||||||
|   // The |response| object cannot be modified in this callback. |  | ||||||
|   /// |  | ||||||
|   int(CEF_CALLBACK* on_resource_response)(struct _cef_request_handler_t* self, |  | ||||||
|                                           struct _cef_browser_t* browser, |  | ||||||
|                                           struct _cef_frame_t* frame, |  | ||||||
|                                           struct _cef_request_t* request, |  | ||||||
|                                           struct _cef_response_t* response); |  | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Called on the IO thread to optionally filter resource response content. |  | ||||||
|   // |request| and |response| represent the request and response respectively |  | ||||||
|   // and cannot be modified in this callback. |  | ||||||
|   /// |  | ||||||
|   struct _cef_response_filter_t*(CEF_CALLBACK* get_resource_response_filter)( |  | ||||||
|       struct _cef_request_handler_t* self, |  | ||||||
|       struct _cef_browser_t* browser, |  | ||||||
|       struct _cef_frame_t* frame, |  | ||||||
|       struct _cef_request_t* request, |  | ||||||
|       struct _cef_response_t* response); |  | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Called on the IO thread when a resource load has completed. |request| and |  | ||||||
|   // |response| represent the request and response respectively and cannot be |  | ||||||
|   // modified in this callback. |status| indicates the load completion status. |  | ||||||
|   // |received_content_length| is the number of response bytes actually read. |  | ||||||
|   /// |  | ||||||
|   void(CEF_CALLBACK* on_resource_load_complete)( |  | ||||||
|       struct _cef_request_handler_t* self, |  | ||||||
|       struct _cef_browser_t* browser, |  | ||||||
|       struct _cef_frame_t* frame, |  | ||||||
|       struct _cef_request_t* request, |  | ||||||
|       struct _cef_response_t* response, |  | ||||||
|       cef_urlrequest_status_t status, |  | ||||||
|       int64 received_content_length); |  | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called on the IO thread when the browser needs credentials from the user. |   // Called on the IO thread when the browser needs credentials from the user. | ||||||
|   // |isProxy| indicates whether the host is a proxy server. |host| contains the |   // |origin_url| is the origin making this authentication request. |isProxy| | ||||||
|   // hostname and |port| contains the port number. |realm| is the realm of the |   // indicates whether the host is a proxy server. |host| contains the hostname | ||||||
|   // challenge and may be NULL. |scheme| is the authentication scheme used, such |   // and |port| contains the port number. |realm| is the realm of the challenge | ||||||
|   // as "basic" or "digest", and will be NULL if the source of the request is an |   // and may be NULL. |scheme| is the authentication scheme used, such as | ||||||
|  |   // "basic" or "digest", and will be NULL if the source of the request is an | ||||||
|   // FTP server. Return true (1) to continue the request and call |   // FTP server. Return true (1) to continue the request and call | ||||||
|   // cef_auth_callback_t::cont() either in this function or at a later time when |   // cef_auth_callback_t::cont() either in this function or at a later time when | ||||||
|   // the authentication information is available. Return false (0) to cancel the |   // the authentication information is available. Return false (0) to cancel the | ||||||
| @@ -239,7 +167,7 @@ typedef struct _cef_request_handler_t { | |||||||
|   int(CEF_CALLBACK* get_auth_credentials)( |   int(CEF_CALLBACK* get_auth_credentials)( | ||||||
|       struct _cef_request_handler_t* self, |       struct _cef_request_handler_t* self, | ||||||
|       struct _cef_browser_t* browser, |       struct _cef_browser_t* browser, | ||||||
|       struct _cef_frame_t* frame, |       const cef_string_t* origin_url, | ||||||
|       int isProxy, |       int isProxy, | ||||||
|       const cef_string_t* host, |       const cef_string_t* host, | ||||||
|       int port, |       int port, | ||||||
| @@ -252,8 +180,8 @@ typedef struct _cef_request_handler_t { | |||||||
|   // size via the webkitStorageInfo.requestQuota function. |origin_url| is the |   // size via the webkitStorageInfo.requestQuota function. |origin_url| is the | ||||||
|   // origin of the page making the request. |new_size| is the requested quota |   // origin of the page making the request. |new_size| is the requested quota | ||||||
|   // size in bytes. Return true (1) to continue the request and call |   // size in bytes. Return true (1) to continue the request and call | ||||||
|   // cef_request_tCallback::cont() either in this function or at a later time to |   // cef_request_callback_t::cont() either in this function or at a later time | ||||||
|   // grant or deny the request. Return false (0) to cancel the request |   // to grant or deny the request. Return false (0) to cancel the request | ||||||
|   // immediately. |   // immediately. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* on_quota_request)(struct _cef_request_handler_t* self, |   int(CEF_CALLBACK* on_quota_request)(struct _cef_request_handler_t* self, | ||||||
| @@ -262,21 +190,9 @@ typedef struct _cef_request_handler_t { | |||||||
|                                       int64 new_size, |                                       int64 new_size, | ||||||
|                                       struct _cef_request_callback_t* callback); |                                       struct _cef_request_callback_t* callback); | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Called on the UI thread to handle requests for URLs with an unknown |  | ||||||
|   // protocol component. Set |allow_os_execution| to true (1) to attempt |  | ||||||
|   // execution via the registered OS protocol handler, if any. SECURITY WARNING: |  | ||||||
|   // YOU SHOULD USE THIS METHOD TO ENFORCE RESTRICTIONS BASED ON SCHEME, HOST OR |  | ||||||
|   // OTHER URL ANALYSIS BEFORE ALLOWING OS EXECUTION. |  | ||||||
|   /// |  | ||||||
|   void(CEF_CALLBACK* on_protocol_execution)(struct _cef_request_handler_t* self, |  | ||||||
|                                             struct _cef_browser_t* browser, |  | ||||||
|                                             const cef_string_t* url, |  | ||||||
|                                             int* allow_os_execution); |  | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Called on the UI thread to handle requests for URLs with an invalid SSL |   // Called on the UI thread to handle requests for URLs with an invalid SSL | ||||||
|   // certificate. Return true (1) and call cef_request_tCallback::cont() either |   // certificate. Return true (1) and call cef_request_callback_t::cont() either | ||||||
|   // in this function or at a later time to continue or cancel the request. |   // in this function or at a later time to continue or cancel the request. | ||||||
|   // Return false (0) to cancel the request immediately. If |   // Return false (0) to cancel the request immediately. If | ||||||
|   // CefSettings.ignore_certificate_errors is set all invalid certificates will |   // CefSettings.ignore_certificate_errors is set all invalid certificates will | ||||||
| @@ -337,6 +253,14 @@ typedef struct _cef_request_handler_t { | |||||||
|       struct _cef_request_handler_t* self, |       struct _cef_request_handler_t* self, | ||||||
|       struct _cef_browser_t* browser, |       struct _cef_browser_t* browser, | ||||||
|       cef_termination_status_t status); |       cef_termination_status_t status); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the browser process UI thread when the window.document object of | ||||||
|  |   // the main frame has been created. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_document_available_in_main_frame)( | ||||||
|  |       struct _cef_request_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser); | ||||||
| } cef_request_handler_t; | } cef_request_handler_t; | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=82f2ce6f2ea3a8268ac69e33d304ace1a0e192b2$ | // $hash=ffe0de3b50e0a612bd1b055b873c265b030e721d$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_CAPI_H_ | ||||||
| @@ -41,6 +41,7 @@ | |||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #include "include/capi/cef_base_capi.h" | #include "include/capi/cef_base_capi.h" | ||||||
|  | #include "include/capi/cef_values_capi.h" | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| extern "C" { | extern "C" { | ||||||
| @@ -48,7 +49,7 @@ extern "C" { | |||||||
|  |  | ||||||
| /// | /// | ||||||
| // Structure used for retrieving resources from the resource bundle (*.pak) | // Structure used for retrieving resources from the resource bundle (*.pak) | ||||||
| // files loaded by CEF during startup or via the cef_resource_bundle_tHandler | // files loaded by CEF during startup or via the cef_resource_bundle_handler_t | ||||||
| // returned from cef_app_t::GetResourceBundleHandler. See CefSettings for | // returned from cef_app_t::GetResourceBundleHandler. See CefSettings for | ||||||
| // additional options related to resource bundle loading. The functions of this | // additional options related to resource bundle loading. The functions of this | ||||||
| // structure may be called on any thread unless otherwise indicated. | // structure may be called on any thread unless otherwise indicated. | ||||||
| @@ -70,34 +71,25 @@ typedef struct _cef_resource_bundle_t { | |||||||
|       int string_id); |       int string_id); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Retrieves the contents of the specified scale independent |resource_id|. If |   // Returns a cef_binary_value_t containing the decompressed contents of the | ||||||
|   // the value is found then |data| and |data_size| will be populated and this |   // specified scale independent |resource_id| or NULL if not found. Include | ||||||
|   // function will return true (1). If the value is not found then this function |   // cef_pack_resources.h for a listing of valid resource ID values. | ||||||
|   // will return false (0). The returned |data| pointer will remain resident in |  | ||||||
|   // memory and should not be freed. Include cef_pack_resources.h for a listing |  | ||||||
|   // of valid resource ID values. |  | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* get_data_resource)(struct _cef_resource_bundle_t* self, |   struct _cef_binary_value_t*(CEF_CALLBACK* get_data_resource)( | ||||||
|                                        int resource_id, |       struct _cef_resource_bundle_t* self, | ||||||
|                                        void** data, |       int resource_id); | ||||||
|                                        size_t* data_size); |  | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Retrieves the contents of the specified |resource_id| nearest the scale |   // Returns a cef_binary_value_t containing the decompressed contents of the | ||||||
|   // factor |scale_factor|. Use a |scale_factor| value of SCALE_FACTOR_NONE for |   // specified |resource_id| nearest the scale factor |scale_factor| or NULL if | ||||||
|   // scale independent resources or call GetDataResource instead. If the value |   // not found. Use a |scale_factor| value of SCALE_FACTOR_NONE for scale | ||||||
|   // is found then |data| and |data_size| will be populated and this function |   // independent resources or call GetDataResource instead.Include | ||||||
|   // will return true (1). If the value is not found then this function will |   // cef_pack_resources.h for a listing of valid resource ID values. | ||||||
|   // return false (0). The returned |data| pointer will remain resident in |  | ||||||
|   // memory and should not be freed. Include cef_pack_resources.h for a listing |  | ||||||
|   // of valid resource ID values. |  | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* get_data_resource_for_scale)( |   struct _cef_binary_value_t*(CEF_CALLBACK* get_data_resource_for_scale)( | ||||||
|       struct _cef_resource_bundle_t* self, |       struct _cef_resource_bundle_t* self, | ||||||
|       int resource_id, |       int resource_id, | ||||||
|       cef_scale_factor_t scale_factor, |       cef_scale_factor_t scale_factor); | ||||||
|       void** data, |  | ||||||
|       size_t* data_size); |  | ||||||
| } cef_resource_bundle_t; | } cef_resource_bundle_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=cd94d8670c26bf17082629e5297407a716f01503$ | // $hash=b9723e0dfe6d03c24665eac2264396743a5254df$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_HANDLER_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=cd9c4ed153ad4425ff43d640a81693e3c83817d2$ | // $hash=a9598f4e94a864e749b425aa62bc519589f5753e$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_HANDLER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_HANDLER_CAPI_H_ | ||||||
| @@ -51,9 +51,48 @@ | |||||||
| extern "C" { | extern "C" { | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Callback for asynchronous continuation of cef_resource_handler_t::skip(). | ||||||
|  | /// | ||||||
|  | typedef struct _cef_resource_skip_callback_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Callback for asynchronous continuation of skip(). If |bytes_skipped| > 0 | ||||||
|  |   // then either skip() will be called again until the requested number of bytes | ||||||
|  |   // have been skipped or the request will proceed. If |bytes_skipped| <= 0 the | ||||||
|  |   // request will fail with ERR_REQUEST_RANGE_NOT_SATISFIABLE. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* cont)(struct _cef_resource_skip_callback_t* self, | ||||||
|  |                            int64 bytes_skipped); | ||||||
|  | } cef_resource_skip_callback_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Callback for asynchronous continuation of cef_resource_handler_t::read(). | ||||||
|  | /// | ||||||
|  | typedef struct _cef_resource_read_callback_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Callback for asynchronous continuation of read(). If |bytes_read| == 0 the | ||||||
|  |   // response will be considered complete. If |bytes_read| > 0 then read() will | ||||||
|  |   // be called again until the request is complete (based on either the result | ||||||
|  |   // or the expected content length). If |bytes_read| < 0 then the request will | ||||||
|  |   // fail and the |bytes_read| value will be treated as the error code. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* cont)(struct _cef_resource_read_callback_t* self, | ||||||
|  |                            int bytes_read); | ||||||
|  | } cef_resource_read_callback_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Structure used to implement a custom request handler structure. The functions | // Structure used to implement a custom request handler structure. The functions | ||||||
| // of this structure will always be called on the IO thread. | // of this structure will be called on the IO thread unless otherwise indicated. | ||||||
| /// | /// | ||||||
| typedef struct _cef_resource_handler_t { | typedef struct _cef_resource_handler_t { | ||||||
|   /// |   /// | ||||||
| @@ -61,12 +100,29 @@ typedef struct _cef_resource_handler_t { | |||||||
|   /// |   /// | ||||||
|   cef_base_ref_counted_t base; |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Open the response stream. To handle the request immediately set | ||||||
|  |   // |handle_request| to true (1) and return true (1). To decide at a later time | ||||||
|  |   // set |handle_request| to false (0), return true (1), and execute |callback| | ||||||
|  |   // to continue or cancel the request. To cancel the request immediately set | ||||||
|  |   // |handle_request| to true (1) and return false (0). This function will be | ||||||
|  |   // called in sequence but not from a dedicated thread. For backwards | ||||||
|  |   // compatibility set |handle_request| to false (0) and return false (0) and | ||||||
|  |   // the ProcessRequest function will be called. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* open)(struct _cef_resource_handler_t* self, | ||||||
|  |                           struct _cef_request_t* request, | ||||||
|  |                           int* handle_request, | ||||||
|  |                           struct _cef_callback_t* callback); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Begin processing the request. To handle the request return true (1) and |   // Begin processing the request. To handle the request return true (1) and | ||||||
|   // call cef_callback_t::cont() once the response header information is |   // call cef_callback_t::cont() once the response header information is | ||||||
|   // available (cef_callback_t::cont() can also be called from inside this |   // available (cef_callback_t::cont() can also be called from inside this | ||||||
|   // function if header information is available immediately). To cancel the |   // function if header information is available immediately). To cancel the | ||||||
|   // request return false (0). |   // request return false (0). | ||||||
|  |   // | ||||||
|  |   // WARNING: This function is deprecated. Use Open instead. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* process_request)(struct _cef_resource_handler_t* self, |   int(CEF_CALLBACK* process_request)(struct _cef_resource_handler_t* self, | ||||||
|                                      struct _cef_request_t* request, |                                      struct _cef_request_t* request, | ||||||
| @@ -80,20 +136,59 @@ typedef struct _cef_resource_handler_t { | |||||||
|   // (0) or the specified number of bytes have been read. Use the |response| |   // (0) or the specified number of bytes have been read. Use the |response| | ||||||
|   // object to set the mime type, http status code and other optional header |   // object to set the mime type, http status code and other optional header | ||||||
|   // values. To redirect the request to a new URL set |redirectUrl| to the new |   // values. To redirect the request to a new URL set |redirectUrl| to the new | ||||||
|   // URL. If an error occured while setting up the request you can call |   // URL. |redirectUrl| can be either a relative or fully qualified URL. It is | ||||||
|   // set_error() on |response| to indicate the error condition. |   // also possible to set |response| to a redirect http status code and pass the | ||||||
|  |   // new URL via a Location header. Likewise with |redirectUrl| it is valid to | ||||||
|  |   // set a relative or fully qualified URL as the Location header value. If an | ||||||
|  |   // error occured while setting up the request you can call set_error() on | ||||||
|  |   // |response| to indicate the error condition. | ||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* get_response_headers)(struct _cef_resource_handler_t* self, |   void(CEF_CALLBACK* get_response_headers)(struct _cef_resource_handler_t* self, | ||||||
|                                            struct _cef_response_t* response, |                                            struct _cef_response_t* response, | ||||||
|                                            int64* response_length, |                                            int64* response_length, | ||||||
|                                            cef_string_t* redirectUrl); |                                            cef_string_t* redirectUrl); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Skip response data when requested by a Range header. Skip over and discard | ||||||
|  |   // |bytes_to_skip| bytes of response data. If data is available immediately | ||||||
|  |   // set |bytes_skipped| to the number of bytes skipped and return true (1). To | ||||||
|  |   // read the data at a later time set |bytes_skipped| to 0, return true (1) and | ||||||
|  |   // execute |callback| when the data is available. To indicate failure set | ||||||
|  |   // |bytes_skipped| to < 0 (e.g. -2 for ERR_FAILED) and return false (0). This | ||||||
|  |   // function will be called in sequence but not from a dedicated thread. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* skip)(struct _cef_resource_handler_t* self, | ||||||
|  |                           int64 bytes_to_skip, | ||||||
|  |                           int64* bytes_skipped, | ||||||
|  |                           struct _cef_resource_skip_callback_t* callback); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Read response data. If data is available immediately copy up to | ||||||
|  |   // |bytes_to_read| bytes into |data_out|, set |bytes_read| to the number of | ||||||
|  |   // bytes copied, and return true (1). To read the data at a later time keep a | ||||||
|  |   // pointer to |data_out|, set |bytes_read| to 0, return true (1) and execute | ||||||
|  |   // |callback| when the data is available (|data_out| will remain valid until | ||||||
|  |   // the callback is executed). To indicate response completion set |bytes_read| | ||||||
|  |   // to 0 and return false (0). To indicate failure set |bytes_read| to < 0 | ||||||
|  |   // (e.g. -2 for ERR_FAILED) and return false (0). This function will be called | ||||||
|  |   // in sequence but not from a dedicated thread. For backwards compatibility | ||||||
|  |   // set |bytes_read| to -1 and return false (0) and the ReadResponse function | ||||||
|  |   // will be called. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* read)(struct _cef_resource_handler_t* self, | ||||||
|  |                           void* data_out, | ||||||
|  |                           int bytes_to_read, | ||||||
|  |                           int* bytes_read, | ||||||
|  |                           struct _cef_resource_read_callback_t* callback); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Read response data. If data is available immediately copy up to |   // Read response data. If data is available immediately copy up to | ||||||
|   // |bytes_to_read| bytes into |data_out|, set |bytes_read| to the number of |   // |bytes_to_read| bytes into |data_out|, set |bytes_read| to the number of | ||||||
|   // bytes copied, and return true (1). To read the data at a later time set |   // bytes copied, and return true (1). To read the data at a later time set | ||||||
|   // |bytes_read| to 0, return true (1) and call cef_callback_t::cont() when the |   // |bytes_read| to 0, return true (1) and call cef_callback_t::cont() when the | ||||||
|   // data is available. To indicate response completion return false (0). |   // data is available. To indicate response completion return false (0). | ||||||
|  |   // | ||||||
|  |   // WARNING: This function is deprecated. Use Skip and Read instead. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* read_response)(struct _cef_resource_handler_t* self, |   int(CEF_CALLBACK* read_response)(struct _cef_resource_handler_t* self, | ||||||
|                                    void* data_out, |                                    void* data_out, | ||||||
| @@ -101,21 +196,6 @@ typedef struct _cef_resource_handler_t { | |||||||
|                                    int* bytes_read, |                                    int* bytes_read, | ||||||
|                                    struct _cef_callback_t* callback); |                                    struct _cef_callback_t* callback); | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Return true (1) if the specified cookie can be sent with the request or |  | ||||||
|   // false (0) otherwise. If false (0) is returned for any cookie then no |  | ||||||
|   // cookies will be sent with the request. |  | ||||||
|   /// |  | ||||||
|   int(CEF_CALLBACK* can_get_cookie)(struct _cef_resource_handler_t* self, |  | ||||||
|                                     const struct _cef_cookie_t* cookie); |  | ||||||
|  |  | ||||||
|   /// |  | ||||||
|   // Return true (1) if the specified cookie returned with the response can be |  | ||||||
|   // set or false (0) otherwise. |  | ||||||
|   /// |  | ||||||
|   int(CEF_CALLBACK* can_set_cookie)(struct _cef_resource_handler_t* self, |  | ||||||
|                                     const struct _cef_cookie_t* cookie); |  | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Request processing has been canceled. |   // Request processing has been canceled. | ||||||
|   /// |   /// | ||||||
|   | |||||||
							
								
								
									
										254
									
								
								include/capi/cef_resource_request_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										254
									
								
								include/capi/cef_resource_request_handler_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,254 @@ | |||||||
|  | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
|  | // | ||||||
|  | // Redistribution and use in source and binary forms, with or without | ||||||
|  | // modification, are permitted provided that the following conditions are | ||||||
|  | // met: | ||||||
|  | // | ||||||
|  | //    * Redistributions of source code must retain the above copyright | ||||||
|  | // notice, this list of conditions and the following disclaimer. | ||||||
|  | //    * Redistributions in binary form must reproduce the above | ||||||
|  | // copyright notice, this list of conditions and the following disclaimer | ||||||
|  | // in the documentation and/or other materials provided with the | ||||||
|  | // distribution. | ||||||
|  | //    * Neither the name of Google Inc. nor the name Chromium Embedded | ||||||
|  | // Framework nor the names of its contributors may be used to endorse | ||||||
|  | // or promote products derived from this software without specific prior | ||||||
|  | // written permission. | ||||||
|  | // | ||||||
|  | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  | // | ||||||
|  | // --------------------------------------------------------------------------- | ||||||
|  | // | ||||||
|  | // This file was generated by the CEF translator tool and should not edited | ||||||
|  | // by hand. See the translator.README.txt file in the tools directory for | ||||||
|  | // more information. | ||||||
|  | // | ||||||
|  | // $hash=aec52d0efc8407495fe1fc4821616673da7ed17a$ | ||||||
|  | // | ||||||
|  |  | ||||||
|  | #ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_REQUEST_HANDLER_CAPI_H_ | ||||||
|  | #define CEF_INCLUDE_CAPI_CEF_RESOURCE_REQUEST_HANDLER_CAPI_H_ | ||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | #include "include/capi/cef_base_capi.h" | ||||||
|  | #include "include/capi/cef_browser_capi.h" | ||||||
|  | #include "include/capi/cef_frame_capi.h" | ||||||
|  | #include "include/capi/cef_request_callback_capi.h" | ||||||
|  | #include "include/capi/cef_request_capi.h" | ||||||
|  | #include "include/capi/cef_resource_handler_capi.h" | ||||||
|  | #include "include/capi/cef_response_capi.h" | ||||||
|  | #include "include/capi/cef_response_filter_capi.h" | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | extern "C" { | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | struct _cef_cookie_access_filter_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Implement this structure to handle events related to browser requests. The | ||||||
|  | // functions of this structure will be called on the IO thread unless otherwise | ||||||
|  | // indicated. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_resource_request_handler_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the IO thread before a resource request is loaded. The |browser| | ||||||
|  |   // and |frame| values represent the source of the request, and may be NULL for | ||||||
|  |   // requests originating from service workers or cef_urlrequest_t. To | ||||||
|  |   // optionally filter cookies for the request return a | ||||||
|  |   // cef_cookie_access_filter_t object. The |request| object cannot not be | ||||||
|  |   // modified in this callback. | ||||||
|  |   /// | ||||||
|  |   struct _cef_cookie_access_filter_t*(CEF_CALLBACK* get_cookie_access_filter)( | ||||||
|  |       struct _cef_resource_request_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_frame_t* frame, | ||||||
|  |       struct _cef_request_t* request); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the IO thread before a resource request is loaded. The |browser| | ||||||
|  |   // and |frame| values represent the source of the request, and may be NULL for | ||||||
|  |   // requests originating from service workers or cef_urlrequest_t. To redirect | ||||||
|  |   // or change the resource load optionally modify |request|. Modification of | ||||||
|  |   // the request URL will be treated as a redirect. Return RV_CONTINUE to | ||||||
|  |   // continue the request immediately. Return RV_CONTINUE_ASYNC and call | ||||||
|  |   // cef_request_callback_t:: cont() at a later time to continue or cancel the | ||||||
|  |   // request asynchronously. Return RV_CANCEL to cancel the request immediately. | ||||||
|  |   // | ||||||
|  |   /// | ||||||
|  |   cef_return_value_t(CEF_CALLBACK* on_before_resource_load)( | ||||||
|  |       struct _cef_resource_request_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_frame_t* frame, | ||||||
|  |       struct _cef_request_t* request, | ||||||
|  |       struct _cef_request_callback_t* callback); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the IO thread before a resource is loaded. The |browser| and | ||||||
|  |   // |frame| values represent the source of the request, and may be NULL for | ||||||
|  |   // requests originating from service workers or cef_urlrequest_t. To allow the | ||||||
|  |   // resource to load using the default network loader return NULL. To specify a | ||||||
|  |   // handler for the resource return a cef_resource_handler_t object. The | ||||||
|  |   // |request| object cannot not be modified in this callback. | ||||||
|  |   /// | ||||||
|  |   struct _cef_resource_handler_t*(CEF_CALLBACK* get_resource_handler)( | ||||||
|  |       struct _cef_resource_request_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_frame_t* frame, | ||||||
|  |       struct _cef_request_t* request); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the IO thread when a resource load is redirected. The |browser| | ||||||
|  |   // and |frame| values represent the source of the request, and may be NULL for | ||||||
|  |   // requests originating from service workers or cef_urlrequest_t. The | ||||||
|  |   // |request| parameter will contain the old URL and other request-related | ||||||
|  |   // information. The |response| parameter will contain the response that | ||||||
|  |   // resulted in the redirect. The |new_url| parameter will contain the new URL | ||||||
|  |   // and can be changed if desired. The |request| and |response| objects cannot | ||||||
|  |   // be modified in this callback. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_resource_redirect)( | ||||||
|  |       struct _cef_resource_request_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_frame_t* frame, | ||||||
|  |       struct _cef_request_t* request, | ||||||
|  |       struct _cef_response_t* response, | ||||||
|  |       cef_string_t* new_url); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the IO thread when a resource response is received. The |browser| | ||||||
|  |   // and |frame| values represent the source of the request, and may be NULL for | ||||||
|  |   // requests originating from service workers or cef_urlrequest_t. To allow the | ||||||
|  |   // resource load to proceed without modification return false (0). To redirect | ||||||
|  |   // or retry the resource load optionally modify |request| and return true (1). | ||||||
|  |   // Modification of the request URL will be treated as a redirect. Requests | ||||||
|  |   // handled using the default network loader cannot be redirected in this | ||||||
|  |   // callback. The |response| object cannot be modified in this callback. | ||||||
|  |   // | ||||||
|  |   // WARNING: Redirecting using this function is deprecated. Use | ||||||
|  |   // OnBeforeResourceLoad or GetResourceHandler to perform redirects. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* on_resource_response)( | ||||||
|  |       struct _cef_resource_request_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_frame_t* frame, | ||||||
|  |       struct _cef_request_t* request, | ||||||
|  |       struct _cef_response_t* response); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the IO thread to optionally filter resource response content. The | ||||||
|  |   // |browser| and |frame| values represent the source of the request, and may | ||||||
|  |   // be NULL for requests originating from service workers or cef_urlrequest_t. | ||||||
|  |   // |request| and |response| represent the request and response respectively | ||||||
|  |   // and cannot be modified in this callback. | ||||||
|  |   /// | ||||||
|  |   struct _cef_response_filter_t*(CEF_CALLBACK* get_resource_response_filter)( | ||||||
|  |       struct _cef_resource_request_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_frame_t* frame, | ||||||
|  |       struct _cef_request_t* request, | ||||||
|  |       struct _cef_response_t* response); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the IO thread when a resource load has completed. The |browser| | ||||||
|  |   // and |frame| values represent the source of the request, and may be NULL for | ||||||
|  |   // requests originating from service workers or cef_urlrequest_t. |request| | ||||||
|  |   // and |response| represent the request and response respectively and cannot | ||||||
|  |   // be modified in this callback. |status| indicates the load completion | ||||||
|  |   // status. |received_content_length| is the number of response bytes actually | ||||||
|  |   // read. This function will be called for all requests, including requests | ||||||
|  |   // that are aborted due to CEF shutdown or destruction of the associated | ||||||
|  |   // browser. In cases where the associated browser is destroyed this callback | ||||||
|  |   // may arrive after the cef_life_span_handler_t::OnBeforeClose callback for | ||||||
|  |   // that browser. The cef_frame_t::IsValid function can be used to test for | ||||||
|  |   // this situation, and care should be taken not to call |browser| or |frame| | ||||||
|  |   // functions that modify state (like LoadURL, SendProcessMessage, etc.) if the | ||||||
|  |   // frame is invalid. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_resource_load_complete)( | ||||||
|  |       struct _cef_resource_request_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_frame_t* frame, | ||||||
|  |       struct _cef_request_t* request, | ||||||
|  |       struct _cef_response_t* response, | ||||||
|  |       cef_urlrequest_status_t status, | ||||||
|  |       int64 received_content_length); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the IO thread to handle requests for URLs with an unknown | ||||||
|  |   // protocol component. The |browser| and |frame| values represent the source | ||||||
|  |   // of the request, and may be NULL for requests originating from service | ||||||
|  |   // workers or cef_urlrequest_t. |request| cannot be modified in this callback. | ||||||
|  |   // Set |allow_os_execution| to true (1) to attempt execution via the | ||||||
|  |   // registered OS protocol handler, if any. SECURITY WARNING: YOU SHOULD USE | ||||||
|  |   // THIS METHOD TO ENFORCE RESTRICTIONS BASED ON SCHEME, HOST OR OTHER URL | ||||||
|  |   // ANALYSIS BEFORE ALLOWING OS EXECUTION. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_protocol_execution)( | ||||||
|  |       struct _cef_resource_request_handler_t* self, | ||||||
|  |       struct _cef_browser_t* browser, | ||||||
|  |       struct _cef_frame_t* frame, | ||||||
|  |       struct _cef_request_t* request, | ||||||
|  |       int* allow_os_execution); | ||||||
|  | } cef_resource_request_handler_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Implement this structure to filter cookies that may be sent or received from | ||||||
|  | // resource requests. The functions of this structure will be called on the IO | ||||||
|  | // thread unless otherwise indicated. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_cookie_access_filter_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the IO thread before a resource request is sent. The |browser| | ||||||
|  |   // and |frame| values represent the source of the request, and may be NULL for | ||||||
|  |   // requests originating from service workers or cef_urlrequest_t. |request| | ||||||
|  |   // cannot be modified in this callback. Return true (1) if the specified | ||||||
|  |   // cookie can be sent with the request or false (0) otherwise. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* can_send_cookie)(struct _cef_cookie_access_filter_t* self, | ||||||
|  |                                      struct _cef_browser_t* browser, | ||||||
|  |                                      struct _cef_frame_t* frame, | ||||||
|  |                                      struct _cef_request_t* request, | ||||||
|  |                                      const struct _cef_cookie_t* cookie); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called on the IO thread after a resource response is received. The | ||||||
|  |   // |browser| and |frame| values represent the source of the request, and may | ||||||
|  |   // be NULL for requests originating from service workers or cef_urlrequest_t. | ||||||
|  |   // |request| cannot be modified in this callback. Return true (1) if the | ||||||
|  |   // specified cookie returned with the response can be saved or false (0) | ||||||
|  |   // otherwise. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* can_save_cookie)(struct _cef_cookie_access_filter_t* self, | ||||||
|  |                                      struct _cef_browser_t* browser, | ||||||
|  |                                      struct _cef_frame_t* frame, | ||||||
|  |                                      struct _cef_request_t* request, | ||||||
|  |                                      struct _cef_response_t* response, | ||||||
|  |                                      const struct _cef_cookie_t* cookie); | ||||||
|  | } cef_cookie_access_filter_t; | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #endif  // CEF_INCLUDE_CAPI_CEF_RESOURCE_REQUEST_HANDLER_CAPI_H_ | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=3f0ed89d2320677780c2fd526be7fe6312580cd8$ | // $hash=8202bbf8e7f7ae474182c483f0f599b13f6914eb$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_RESPONSE_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_RESPONSE_CAPI_H_ | ||||||
| @@ -109,12 +109,36 @@ typedef struct _cef_response_t { | |||||||
|   void(CEF_CALLBACK* set_mime_type)(struct _cef_response_t* self, |   void(CEF_CALLBACK* set_mime_type)(struct _cef_response_t* self, | ||||||
|                                     const cef_string_t* mimeType); |                                     const cef_string_t* mimeType); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Get the response charset. | ||||||
|  |   /// | ||||||
|  |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
|  |   cef_string_userfree_t(CEF_CALLBACK* get_charset)( | ||||||
|  |       struct _cef_response_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Set the response charset. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* set_charset)(struct _cef_response_t* self, | ||||||
|  |                                   const cef_string_t* charset); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Get the value for the specified response header field. |   // Get the value for the specified response header field. | ||||||
|   /// |   /// | ||||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
|   cef_string_userfree_t(CEF_CALLBACK* get_header)(struct _cef_response_t* self, |   cef_string_userfree_t(CEF_CALLBACK* get_header_by_name)( | ||||||
|                                                   const cef_string_t* name); |       struct _cef_response_t* self, | ||||||
|  |       const cef_string_t* name); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Set the header |name| to |value|. If |overwrite| is true (1) any existing | ||||||
|  |   // values will be replaced with the new value. If |overwrite| is false (0) any | ||||||
|  |   // existing values will not be overwritten. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* set_header_by_name)(struct _cef_response_t* self, | ||||||
|  |                                          const cef_string_t* name, | ||||||
|  |                                          const cef_string_t* value, | ||||||
|  |                                          int overwrite); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Get all response header fields. |   // Get all response header fields. | ||||||
| @@ -127,6 +151,18 @@ typedef struct _cef_response_t { | |||||||
|   /// |   /// | ||||||
|   void(CEF_CALLBACK* set_header_map)(struct _cef_response_t* self, |   void(CEF_CALLBACK* set_header_map)(struct _cef_response_t* self, | ||||||
|                                      cef_string_multimap_t headerMap); |                                      cef_string_multimap_t headerMap); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Get the resolved URL after redirects or changed as a result of HSTS. | ||||||
|  |   /// | ||||||
|  |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
|  |   cef_string_userfree_t(CEF_CALLBACK* get_url)(struct _cef_response_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Set the resolved URL after redirects or changed as a result of HSTS. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* set_url)(struct _cef_response_t* self, | ||||||
|  |                               const cef_string_t* url); | ||||||
| } cef_response_t; | } cef_response_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=c7126418fc448f9f75e770fda8434613eed0930d$ | // $hash=cdadf516dc77455c5a3d6633bfb12e1cb276b9bb$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_RESPONSE_FILTER_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_RESPONSE_FILTER_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=a920e25c5ca348dcc45965d53389c16a8a29b0ed$ | // $hash=9384e0b2bc27ccbdd7ebb1a86f213c28fd2784a1$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_SCHEME_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_SCHEME_CAPI_H_ | ||||||
| @@ -66,56 +66,7 @@ typedef struct _cef_scheme_registrar_t { | |||||||
|   // Register a custom scheme. This function should not be called for the built- |   // Register a custom scheme. This function should not be called for the built- | ||||||
|   // in HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes. |   // in HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes. | ||||||
|   // |   // | ||||||
|   // If |is_standard| is true (1) the scheme will be treated as a standard |   // See cef_scheme_options_t for possible values for |options|. | ||||||
|   // scheme. Standard schemes are subject to URL canonicalization and parsing |  | ||||||
|   // rules as defined in the Common Internet Scheme Syntax RFC 1738 Section 3.1 |  | ||||||
|   // available at http://www.ietf.org/rfc/rfc1738.txt |  | ||||||
|   // |  | ||||||
|   // In particular, the syntax for standard scheme URLs must be of the form: |  | ||||||
|   // <pre> |  | ||||||
|   //  [scheme]://[username]:[password]@[host]:[port]/[url-path] |  | ||||||
|   // </pre> Standard scheme URLs must have a host component that is a fully |  | ||||||
|   // qualified domain name as defined in Section 3.5 of RFC 1034 [13] and |  | ||||||
|   // Section 2.1 of RFC 1123. These URLs will be canonicalized to |  | ||||||
|   // "scheme://host/path" in the simplest case and |  | ||||||
|   // "scheme://username:password@host:port/path" in the most explicit case. For |  | ||||||
|   // example, "scheme:host/path" and "scheme:///host/path" will both be |  | ||||||
|   // canonicalized to "scheme://host/path". The origin of a standard scheme URL |  | ||||||
|   // is the combination of scheme, host and port (i.e., "scheme://host:port" in |  | ||||||
|   // the most explicit case). |  | ||||||
|   // |  | ||||||
|   // For non-standard scheme URLs only the "scheme:" component is parsed and |  | ||||||
|   // canonicalized. The remainder of the URL will be passed to the handler as- |  | ||||||
|   // is. For example, "scheme:///some%20text" will remain the same. Non-standard |  | ||||||
|   // scheme URLs cannot be used as a target for form submission. |  | ||||||
|   // |  | ||||||
|   // If |is_local| is true (1) the scheme will be treated with the same security |  | ||||||
|   // rules as those applied to "file" URLs. Normal pages cannot link to or |  | ||||||
|   // access local URLs. Also, by default, local URLs can only perform |  | ||||||
|   // XMLHttpRequest calls to the same URL (origin + path) that originated the |  | ||||||
|   // request. To allow XMLHttpRequest calls from a local URL to other URLs with |  | ||||||
|   // the same origin set the CefSettings.file_access_from_file_urls_allowed |  | ||||||
|   // value to true (1). To allow XMLHttpRequest calls from a local URL to all |  | ||||||
|   // origins set the CefSettings.universal_access_from_file_urls_allowed value |  | ||||||
|   // to true (1). |  | ||||||
|   // |  | ||||||
|   // If |is_display_isolated| is true (1) the scheme can only be displayed from |  | ||||||
|   // other content hosted with the same scheme. For example, pages in other |  | ||||||
|   // origins cannot create iframes or hyperlinks to URLs with the scheme. For |  | ||||||
|   // schemes that must be accessible from other schemes set this value to false |  | ||||||
|   // (0), set |is_cors_enabled| to true (1), and use CORS "Access-Control-Allow- |  | ||||||
|   // Origin" headers to further restrict access. |  | ||||||
|   // |  | ||||||
|   // If |is_secure| is true (1) the scheme will be treated with the same |  | ||||||
|   // security rules as those applied to "https" URLs. For example, loading this |  | ||||||
|   // scheme from other secure schemes will not trigger mixed content warnings. |  | ||||||
|   // |  | ||||||
|   // If |is_cors_enabled| is true (1) the scheme can be sent CORS requests. This |  | ||||||
|   // value should be true (1) in most cases where |is_standard| is true (1). |  | ||||||
|   // |  | ||||||
|   // If |is_csp_bypassing| is true (1) the scheme can bypass Content-Security- |  | ||||||
|   // Policy (CSP) checks. This value should be false (0) in most cases where |  | ||||||
|   // |is_standard| is true (1). |  | ||||||
|   // |   // | ||||||
|   // This function may be called on any thread. It should only be called once |   // This function may be called on any thread. It should only be called once | ||||||
|   // per unique |scheme_name| value. If |scheme_name| is already registered or |   // per unique |scheme_name| value. If |scheme_name| is already registered or | ||||||
| @@ -123,12 +74,7 @@ typedef struct _cef_scheme_registrar_t { | |||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* add_custom_scheme)(struct _cef_scheme_registrar_t* self, |   int(CEF_CALLBACK* add_custom_scheme)(struct _cef_scheme_registrar_t* self, | ||||||
|                                        const cef_string_t* scheme_name, |                                        const cef_string_t* scheme_name, | ||||||
|                                        int is_standard, |                                        int options); | ||||||
|                                        int is_local, |  | ||||||
|                                        int is_display_isolated, |  | ||||||
|                                        int is_secure, |  | ||||||
|                                        int is_cors_enabled, |  | ||||||
|                                        int is_csp_bypassing); |  | ||||||
| } cef_scheme_registrar_t; | } cef_scheme_registrar_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
| @@ -148,7 +94,7 @@ typedef struct _cef_scheme_handler_factory_t { | |||||||
|   // will be the browser window and frame respectively that originated the |   // will be the browser window and frame respectively that originated the | ||||||
|   // request or NULL if the request did not originate from a browser window (for |   // request or NULL if the request did not originate from a browser window (for | ||||||
|   // example, if the request came from cef_urlrequest_t). The |request| object |   // example, if the request came from cef_urlrequest_t). The |request| object | ||||||
|   // passed to this function will not contain cookie data. |   // passed to this function cannot be modified. | ||||||
|   /// |   /// | ||||||
|   struct _cef_resource_handler_t*(CEF_CALLBACK* create)( |   struct _cef_resource_handler_t*(CEF_CALLBACK* create)( | ||||||
|       struct _cef_scheme_handler_factory_t* self, |       struct _cef_scheme_handler_factory_t* self, | ||||||
| @@ -169,9 +115,9 @@ typedef struct _cef_scheme_handler_factory_t { | |||||||
| // function may be called multiple times to change or remove the factory that | // function may be called multiple times to change or remove the factory that | ||||||
| // matches the specified |scheme_name| and optional |domain_name|. Returns false | // matches the specified |scheme_name| and optional |domain_name|. Returns false | ||||||
| // (0) if an error occurs. This function may be called on any thread in the | // (0) if an error occurs. This function may be called on any thread in the | ||||||
| // browser process. Using this function is equivalent to calling cef_request_tCo | // browser process. Using this function is equivalent to calling cef_request_con | ||||||
| // ntext::cef_request_context_get_global_context()->register_scheme_handler_fact | // text_t::cef_request_context_get_global_context()->register_scheme_handler_fac | ||||||
| // ory(). | // tory(). | ||||||
| /// | /// | ||||||
| CEF_EXPORT int cef_register_scheme_handler_factory( | CEF_EXPORT int cef_register_scheme_handler_factory( | ||||||
|     const cef_string_t* scheme_name, |     const cef_string_t* scheme_name, | ||||||
| @@ -182,8 +128,8 @@ CEF_EXPORT int cef_register_scheme_handler_factory( | |||||||
| // Clear all scheme handler factories registered with the global request | // Clear all scheme handler factories registered with the global request | ||||||
| // context. Returns false (0) on error. This function may be called on any | // context. Returns false (0) on error. This function may be called on any | ||||||
| // thread in the browser process. Using this function is equivalent to calling c | // thread in the browser process. Using this function is equivalent to calling c | ||||||
| // ef_request_tContext::cef_request_context_get_global_context()->clear_scheme_h | // ef_request_context_t::cef_request_context_get_global_context()->clear_scheme_ | ||||||
| // andler_factories(). | // handler_factories(). | ||||||
| /// | /// | ||||||
| CEF_EXPORT int cef_clear_scheme_handler_factories(); | CEF_EXPORT int cef_clear_scheme_handler_factories(); | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										327
									
								
								include/capi/cef_server_capi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										327
									
								
								include/capi/cef_server_capi.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,327 @@ | |||||||
|  | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
|  | // | ||||||
|  | // Redistribution and use in source and binary forms, with or without | ||||||
|  | // modification, are permitted provided that the following conditions are | ||||||
|  | // met: | ||||||
|  | // | ||||||
|  | //    * Redistributions of source code must retain the above copyright | ||||||
|  | // notice, this list of conditions and the following disclaimer. | ||||||
|  | //    * Redistributions in binary form must reproduce the above | ||||||
|  | // copyright notice, this list of conditions and the following disclaimer | ||||||
|  | // in the documentation and/or other materials provided with the | ||||||
|  | // distribution. | ||||||
|  | //    * Neither the name of Google Inc. nor the name Chromium Embedded | ||||||
|  | // Framework nor the names of its contributors may be used to endorse | ||||||
|  | // or promote products derived from this software without specific prior | ||||||
|  | // written permission. | ||||||
|  | // | ||||||
|  | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  | // | ||||||
|  | // --------------------------------------------------------------------------- | ||||||
|  | // | ||||||
|  | // This file was generated by the CEF translator tool and should not edited | ||||||
|  | // by hand. See the translator.README.txt file in the tools directory for | ||||||
|  | // more information. | ||||||
|  | // | ||||||
|  | // $hash=37b3332057dbcf705b61a51cf14640d171d18a74$ | ||||||
|  | // | ||||||
|  |  | ||||||
|  | #ifndef CEF_INCLUDE_CAPI_CEF_SERVER_CAPI_H_ | ||||||
|  | #define CEF_INCLUDE_CAPI_CEF_SERVER_CAPI_H_ | ||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | #include "include/capi/cef_base_capi.h" | ||||||
|  | #include "include/capi/cef_callback_capi.h" | ||||||
|  | #include "include/capi/cef_request_capi.h" | ||||||
|  | #include "include/capi/cef_task_capi.h" | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | extern "C" { | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | struct _cef_server_handler_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Structure representing a server that supports HTTP and WebSocket requests. | ||||||
|  | // Server capacity is limited and is intended to handle only a small number of | ||||||
|  | // simultaneous connections (e.g. for communicating between applications on | ||||||
|  | // localhost). The functions of this structure are safe to call from any thread | ||||||
|  | // in the brower process unless otherwise indicated. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_server_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the task runner for the dedicated server thread. | ||||||
|  |   /// | ||||||
|  |   struct _cef_task_runner_t*(CEF_CALLBACK* get_task_runner)( | ||||||
|  |       struct _cef_server_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Stop the server and shut down the dedicated server thread. See | ||||||
|  |   // cef_server_handler_t::OnServerCreated documentation for a description of | ||||||
|  |   // server lifespan. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* shutdown)(struct _cef_server_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if the server is currently running and accepting incoming | ||||||
|  |   // connections. See cef_server_handler_t::OnServerCreated documentation for a | ||||||
|  |   // description of server lifespan. This function must be called on the | ||||||
|  |   // dedicated server thread. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* is_running)(struct _cef_server_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the server address including the port number. | ||||||
|  |   /// | ||||||
|  |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
|  |   cef_string_userfree_t(CEF_CALLBACK* get_address)(struct _cef_server_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if the server currently has a connection. This function | ||||||
|  |   // must be called on the dedicated server thread. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* has_connection)(struct _cef_server_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if |connection_id| represents a valid connection. This | ||||||
|  |   // function must be called on the dedicated server thread. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* is_valid_connection)(struct _cef_server_t* self, | ||||||
|  |                                          int connection_id); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Send an HTTP 200 "OK" response to the connection identified by | ||||||
|  |   // |connection_id|. |content_type| is the response content type (e.g. | ||||||
|  |   // "text/html"), |data| is the response content, and |data_size| is the size | ||||||
|  |   // of |data| in bytes. The contents of |data| will be copied. The connection | ||||||
|  |   // will be closed automatically after the response is sent. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* send_http200response)(struct _cef_server_t* self, | ||||||
|  |                                            int connection_id, | ||||||
|  |                                            const cef_string_t* content_type, | ||||||
|  |                                            const void* data, | ||||||
|  |                                            size_t data_size); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Send an HTTP 404 "Not Found" response to the connection identified by | ||||||
|  |   // |connection_id|. The connection will be closed automatically after the | ||||||
|  |   // response is sent. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* send_http404response)(struct _cef_server_t* self, | ||||||
|  |                                            int connection_id); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Send an HTTP 500 "Internal Server Error" response to the connection | ||||||
|  |   // identified by |connection_id|. |error_message| is the associated error | ||||||
|  |   // message. The connection will be closed automatically after the response is | ||||||
|  |   // sent. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* send_http500response)(struct _cef_server_t* self, | ||||||
|  |                                            int connection_id, | ||||||
|  |                                            const cef_string_t* error_message); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Send a custom HTTP response to the connection identified by | ||||||
|  |   // |connection_id|. |response_code| is the HTTP response code sent in the | ||||||
|  |   // status line (e.g. 200), |content_type| is the response content type sent as | ||||||
|  |   // the "Content-Type" header (e.g. "text/html"), |content_length| is the | ||||||
|  |   // expected content length, and |extra_headers| is the map of extra response | ||||||
|  |   // headers. If |content_length| is >= 0 then the "Content-Length" header will | ||||||
|  |   // be sent. If |content_length| is 0 then no content is expected and the | ||||||
|  |   // connection will be closed automatically after the response is sent. If | ||||||
|  |   // |content_length| is < 0 then no "Content-Length" header will be sent and | ||||||
|  |   // the client will continue reading until the connection is closed. Use the | ||||||
|  |   // SendRawData function to send the content, if applicable, and call | ||||||
|  |   // CloseConnection after all content has been sent. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* send_http_response)(struct _cef_server_t* self, | ||||||
|  |                                          int connection_id, | ||||||
|  |                                          int response_code, | ||||||
|  |                                          const cef_string_t* content_type, | ||||||
|  |                                          int64 content_length, | ||||||
|  |                                          cef_string_multimap_t extra_headers); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Send raw data directly to the connection identified by |connection_id|. | ||||||
|  |   // |data| is the raw data and |data_size| is the size of |data| in bytes. The | ||||||
|  |   // contents of |data| will be copied. No validation of |data| is performed | ||||||
|  |   // internally so the client should be careful to send the amount indicated by | ||||||
|  |   // the "Content-Length" header, if specified. See SendHttpResponse | ||||||
|  |   // documentation for intended usage. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* send_raw_data)(struct _cef_server_t* self, | ||||||
|  |                                     int connection_id, | ||||||
|  |                                     const void* data, | ||||||
|  |                                     size_t data_size); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Close the connection identified by |connection_id|. See SendHttpResponse | ||||||
|  |   // documentation for intended usage. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* close_connection)(struct _cef_server_t* self, | ||||||
|  |                                        int connection_id); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Send a WebSocket message to the connection identified by |connection_id|. | ||||||
|  |   // |data| is the response content and |data_size| is the size of |data| in | ||||||
|  |   // bytes. The contents of |data| will be copied. See | ||||||
|  |   // cef_server_handler_t::OnWebSocketRequest documentation for intended usage. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* send_web_socket_message)(struct _cef_server_t* self, | ||||||
|  |                                               int connection_id, | ||||||
|  |                                               const void* data, | ||||||
|  |                                               size_t data_size); | ||||||
|  | } cef_server_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Create a new server that binds to |address| and |port|. |address| must be a | ||||||
|  | // valid IPv4 or IPv6 address (e.g. 127.0.0.1 or ::1) and |port| must be a port | ||||||
|  | // number outside of the reserved range (e.g. between 1025 and 65535 on most | ||||||
|  | // platforms). |backlog| is the maximum number of pending connections. A new | ||||||
|  | // thread will be created for each CreateServer call (the "dedicated server | ||||||
|  | // thread"). It is therefore recommended to use a different cef_server_handler_t | ||||||
|  | // instance for each CreateServer call to avoid thread safety issues in the | ||||||
|  | // cef_server_handler_t implementation. The | ||||||
|  | // cef_server_handler_t::OnServerCreated function will be called on the | ||||||
|  | // dedicated server thread to report success or failure. See | ||||||
|  | // cef_server_handler_t::OnServerCreated documentation for a description of | ||||||
|  | // server lifespan. | ||||||
|  | /// | ||||||
|  | CEF_EXPORT void cef_server_create(const cef_string_t* address, | ||||||
|  |                                   uint16 port, | ||||||
|  |                                   int backlog, | ||||||
|  |                                   struct _cef_server_handler_t* handler); | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Implement this structure to handle HTTP server requests. A new thread will be | ||||||
|  | // created for each cef_server_t::CreateServer call (the "dedicated server | ||||||
|  | // thread"), and the functions of this structure will be called on that thread. | ||||||
|  | // It is therefore recommended to use a different cef_server_handler_t instance | ||||||
|  | // for each cef_server_t::CreateServer call to avoid thread safety issues in the | ||||||
|  | // cef_server_handler_t implementation. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_server_handler_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when |server| is created. If the server was started successfully | ||||||
|  |   // then cef_server_t::IsRunning will return true (1). The server will continue | ||||||
|  |   // running until cef_server_t::Shutdown is called, after which time | ||||||
|  |   // OnServerDestroyed will be called. If the server failed to start then | ||||||
|  |   // OnServerDestroyed will be called immediately after this function returns. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_server_created)(struct _cef_server_handler_t* self, | ||||||
|  |                                         struct _cef_server_t* server); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when |server| is destroyed. The server thread will be stopped after | ||||||
|  |   // this function returns. The client should release any references to |server| | ||||||
|  |   // when this function is called. See OnServerCreated documentation for a | ||||||
|  |   // description of server lifespan. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_server_destroyed)(struct _cef_server_handler_t* self, | ||||||
|  |                                           struct _cef_server_t* server); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when a client connects to |server|. |connection_id| uniquely | ||||||
|  |   // identifies the connection. Each call to this function will have a matching | ||||||
|  |   // call to OnClientDisconnected. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_client_connected)(struct _cef_server_handler_t* self, | ||||||
|  |                                           struct _cef_server_t* server, | ||||||
|  |                                           int connection_id); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when a client disconnects from |server|. |connection_id| uniquely | ||||||
|  |   // identifies the connection. The client should release any data associated | ||||||
|  |   // with |connection_id| when this function is called and |connection_id| | ||||||
|  |   // should no longer be passed to cef_server_t functions. Disconnects can | ||||||
|  |   // originate from either the client or the server. For example, the server | ||||||
|  |   // will disconnect automatically after a cef_server_t::SendHttpXXXResponse | ||||||
|  |   // function is called. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_client_disconnected)(struct _cef_server_handler_t* self, | ||||||
|  |                                              struct _cef_server_t* server, | ||||||
|  |                                              int connection_id); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when |server| receives an HTTP request. |connection_id| uniquely | ||||||
|  |   // identifies the connection, |client_address| is the requesting IPv4 or IPv6 | ||||||
|  |   // client address including port number, and |request| contains the request | ||||||
|  |   // contents (URL, function, headers and optional POST data). Call cef_server_t | ||||||
|  |   // functions either synchronously or asynchronusly to send a response. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_http_request)(struct _cef_server_handler_t* self, | ||||||
|  |                                       struct _cef_server_t* server, | ||||||
|  |                                       int connection_id, | ||||||
|  |                                       const cef_string_t* client_address, | ||||||
|  |                                       struct _cef_request_t* request); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when |server| receives a WebSocket request. |connection_id| uniquely | ||||||
|  |   // identifies the connection, |client_address| is the requesting IPv4 or IPv6 | ||||||
|  |   // client address including port number, and |request| contains the request | ||||||
|  |   // contents (URL, function, headers and optional POST data). Execute | ||||||
|  |   // |callback| either synchronously or asynchronously to accept or decline the | ||||||
|  |   // WebSocket connection. If the request is accepted then OnWebSocketConnected | ||||||
|  |   // will be called after the WebSocket has connected and incoming messages will | ||||||
|  |   // be delivered to the OnWebSocketMessage callback. If the request is declined | ||||||
|  |   // then the client will be disconnected and OnClientDisconnected will be | ||||||
|  |   // called. Call the cef_server_t::SendWebSocketMessage function after | ||||||
|  |   // receiving the OnWebSocketConnected callback to respond with WebSocket | ||||||
|  |   // messages. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_web_socket_request)(struct _cef_server_handler_t* self, | ||||||
|  |                                             struct _cef_server_t* server, | ||||||
|  |                                             int connection_id, | ||||||
|  |                                             const cef_string_t* client_address, | ||||||
|  |                                             struct _cef_request_t* request, | ||||||
|  |                                             struct _cef_callback_t* callback); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called after the client has accepted the WebSocket connection for |server| | ||||||
|  |   // and |connection_id| via the OnWebSocketRequest callback. See | ||||||
|  |   // OnWebSocketRequest documentation for intended usage. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_web_socket_connected)( | ||||||
|  |       struct _cef_server_handler_t* self, | ||||||
|  |       struct _cef_server_t* server, | ||||||
|  |       int connection_id); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called when |server| receives an WebSocket message. |connection_id| | ||||||
|  |   // uniquely identifies the connection, |data| is the message content and | ||||||
|  |   // |data_size| is the size of |data| in bytes. Do not keep a reference to | ||||||
|  |   // |data| outside of this function. See OnWebSocketRequest documentation for | ||||||
|  |   // intended usage. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* on_web_socket_message)(struct _cef_server_handler_t* self, | ||||||
|  |                                             struct _cef_server_t* server, | ||||||
|  |                                             int connection_id, | ||||||
|  |                                             const void* data, | ||||||
|  |                                             size_t data_size); | ||||||
|  | } cef_server_handler_t; | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #endif  // CEF_INCLUDE_CAPI_CEF_SERVER_CAPI_H_ | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=7489f3078e15407c3984f0b2393df3b0ddc045b0$ | // $hash=aefb3b63aba8f5df6ab6dc11e2029820c75c36cf$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_SSL_INFO_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_SSL_INFO_CAPI_H_ | ||||||
| @@ -71,16 +71,10 @@ typedef struct _cef_sslinfo_t { | |||||||
| } cef_sslinfo_t; | } cef_sslinfo_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Returns true (1) if the certificate status has any error, major or minor. | // Returns true (1) if the certificate status represents an error. | ||||||
| /// | /// | ||||||
| CEF_EXPORT int cef_is_cert_status_error(cef_cert_status_t status); | CEF_EXPORT int cef_is_cert_status_error(cef_cert_status_t status); | ||||||
|  |  | ||||||
| /// |  | ||||||
| // Returns true (1) if the certificate status represents only minor errors (e.g. |  | ||||||
| // failure to verify certificate revocation). |  | ||||||
| /// |  | ||||||
| CEF_EXPORT int cef_is_cert_status_minor_error(cef_cert_status_t status); |  | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=2aa604a0520a802ae3b10f5922d4a7ca48078785$ | // $hash=93eb2bc0f51da08a41fb906436654b3452b74fb3$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_SSL_STATUS_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_SSL_STATUS_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=4e127106e9b5fada6bf05ea6e29bc502bb2a1e0d$ | // $hash=61ff7a4ebc917482bad5daba7089b92cc62bada8$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_STREAM_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_STREAM_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=2e8edddfd49aea615c7adf8d0d092a4865b79229$ | // $hash=30d4a63d53bce310ad641cbe5096ae126a664076$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_STRING_VISITOR_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_STRING_VISITOR_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=344ba415349b4cc305f51cb9e22563b232433e25$ | // $hash=a8b2162b7c3b7cede392e8531c46a1277e990689$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_TASK_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_TASK_CAPI_H_ | ||||||
| @@ -132,19 +132,19 @@ CEF_EXPORT cef_task_runner_t* cef_task_runner_get_for_thread( | |||||||
|  |  | ||||||
| /// | /// | ||||||
| // Returns true (1) if called on the specified thread. Equivalent to using | // Returns true (1) if called on the specified thread. Equivalent to using | ||||||
| // cef_task_tRunner::GetForThread(threadId)->belongs_to_current_thread(). | // cef_task_runner_t::GetForThread(threadId)->belongs_to_current_thread(). | ||||||
| /// | /// | ||||||
| CEF_EXPORT int cef_currently_on(cef_thread_id_t threadId); | CEF_EXPORT int cef_currently_on(cef_thread_id_t threadId); | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Post a task for execution on the specified thread. Equivalent to using | // Post a task for execution on the specified thread. Equivalent to using | ||||||
| // cef_task_tRunner::GetForThread(threadId)->PostTask(task). | // cef_task_runner_t::GetForThread(threadId)->PostTask(task). | ||||||
| /// | /// | ||||||
| CEF_EXPORT int cef_post_task(cef_thread_id_t threadId, cef_task_t* task); | CEF_EXPORT int cef_post_task(cef_thread_id_t threadId, cef_task_t* task); | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Post a task for delayed execution on the specified thread. Equivalent to | // Post a task for delayed execution on the specified thread. Equivalent to | ||||||
| // using cef_task_tRunner::GetForThread(threadId)->PostDelayedTask(task, | // using cef_task_runner_t::GetForThread(threadId)->PostDelayedTask(task, | ||||||
| // delay_ms). | // delay_ms). | ||||||
| /// | /// | ||||||
| CEF_EXPORT int cef_post_delayed_task(cef_thread_id_t threadId, | CEF_EXPORT int cef_post_delayed_task(cef_thread_id_t threadId, | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=d844086fc675680bfae12c3fa12a6886cc804816$ | // $hash=9a471c97e43ad3d1d042ba3dc6d887f2f4b0d851$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_THREAD_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_THREAD_CAPI_H_ | ||||||
| @@ -49,7 +49,7 @@ extern "C" { | |||||||
|  |  | ||||||
| /// | /// | ||||||
| // A simple thread abstraction that establishes a message loop on a new thread. | // A simple thread abstraction that establishes a message loop on a new thread. | ||||||
| // The consumer uses cef_task_tRunner to execute code on the thread's message | // The consumer uses cef_task_runner_t to execute code on the thread's message | ||||||
| // loop. The thread is terminated when the cef_thread_t object is destroyed or | // loop. The thread is terminated when the cef_thread_t object is destroyed or | ||||||
| // stop() is called. All pending tasks queued on the thread's message loop will | // stop() is called. All pending tasks queued on the thread's message loop will | ||||||
| // run to completion before the thread is terminated. cef_thread_create() can be | // run to completion before the thread is terminated. cef_thread_create() can be | ||||||
| @@ -65,7 +65,7 @@ typedef struct _cef_thread_t { | |||||||
|   cef_base_ref_counted_t base; |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Returns the cef_task_tRunner that will execute code on this thread's |   // Returns the cef_task_runner_t that will execute code on this thread's | ||||||
|   // message loop. This function is safe to call from any thread. |   // message loop. This function is safe to call from any thread. | ||||||
|   /// |   /// | ||||||
|   struct _cef_task_runner_t*(CEF_CALLBACK* get_task_runner)( |   struct _cef_task_runner_t*(CEF_CALLBACK* get_task_runner)( | ||||||
| @@ -98,8 +98,8 @@ typedef struct _cef_thread_t { | |||||||
| // identify the thread. |priority| is the thread execution priority. | // identify the thread. |priority| is the thread execution priority. | ||||||
| // |message_loop_type| indicates the set of asynchronous events that the thread | // |message_loop_type| indicates the set of asynchronous events that the thread | ||||||
| // can process. If |stoppable| is true (1) the thread will stopped and joined on | // can process. If |stoppable| is true (1) the thread will stopped and joined on | ||||||
| // destruction or when stop() is called; otherwise, the the thread cannot be | // destruction or when stop() is called; otherwise, the thread cannot be stopped | ||||||
| // stopped and will be leaked on shutdown. On Windows the |com_init_mode| value | // and will be leaked on shutdown. On Windows the |com_init_mode| value | ||||||
| // specifies how COM will be initialized for the thread. If |com_init_mode| is | // specifies how COM will be initialized for the thread. If |com_init_mode| is | ||||||
| // set to COM_INIT_MODE_STA then |message_loop_type| must be set to ML_TYPE_UI. | // set to COM_INIT_MODE_STA then |message_loop_type| must be set to ML_TYPE_UI. | ||||||
| /// | /// | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=2684497985a960a8699e6c24aeb17370cf318e88$ | // $hash=99779f8a728d2e1a0b87d6d6b89bd28e5da16d4c$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_TRACE_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_TRACE_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=d0ac53d1df275f9ea9cf19a6a07f8dce88f2b151$ | // $hash=11c227079ec0687adeaa8a085aeec37c89346ee7$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_URLREQUEST_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_URLREQUEST_CAPI_H_ | ||||||
| @@ -99,6 +99,12 @@ typedef struct _cef_urlrequest_t { | |||||||
|   struct _cef_response_t*(CEF_CALLBACK* get_response)( |   struct _cef_response_t*(CEF_CALLBACK* get_response)( | ||||||
|       struct _cef_urlrequest_t* self); |       struct _cef_urlrequest_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns true (1) if the response body was served from the cache. This | ||||||
|  |   // includes responses for which revalidation was required. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* response_was_cached)(struct _cef_urlrequest_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Cancel the request. |   // Cancel the request. | ||||||
|   /// |   /// | ||||||
| @@ -106,19 +112,18 @@ typedef struct _cef_urlrequest_t { | |||||||
| } cef_urlrequest_t; | } cef_urlrequest_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Create a new URL request. Only GET, POST, HEAD, DELETE and PUT request | // Create a new URL request that is not associated with a specific browser or | ||||||
| // functions are supported. Multiple post data elements are not supported and | // frame. Use cef_frame_t::CreateURLRequest instead if you want the request to | ||||||
| // elements of type PDE_TYPE_FILE are only supported for requests originating | // have this association, in which case it may be handled differently (see | ||||||
| // from the browser process. Requests originating from the render process will | // documentation on that function). A request created with this function may | ||||||
| // receive the same handling as requests originating from Web content -- if the | // only originate from the browser process, and will behave as follows: | ||||||
| // response contains Content-Disposition or Mime-Type header values that would | //   - It may be intercepted by the client via CefResourceRequestHandler or | ||||||
| // not normally be rendered then the response may receive special handling | //     CefSchemeHandlerFactory. | ||||||
| // inside the browser (for example, via the file download code path instead of | //   - POST data may only contain only a single element of type PDE_TYPE_FILE | ||||||
| // the URL request code path). The |request| object will be marked as read-only | //     or PDE_TYPE_BYTES. | ||||||
| // after calling this function. In the browser process if |request_context| is | //   - If |request_context| is empty the global request context will be used. | ||||||
| // NULL the global request context will be used. In the render process | // | ||||||
| // |request_context| must be NULL and the context associated with the current | // The |request| object will be marked as read-only after calling this function. | ||||||
| // renderer process' browser will be used. |  | ||||||
| /// | /// | ||||||
| CEF_EXPORT cef_urlrequest_t* cef_urlrequest_create( | CEF_EXPORT cef_urlrequest_t* cef_urlrequest_create( | ||||||
|     struct _cef_request_t* request, |     struct _cef_request_t* request, | ||||||
| @@ -181,9 +186,11 @@ typedef struct _cef_urlrequest_client_t { | |||||||
|   // |isProxy| indicates whether the host is a proxy server. |host| contains the |   // |isProxy| indicates whether the host is a proxy server. |host| contains the | ||||||
|   // hostname and |port| contains the port number. Return true (1) to continue |   // hostname and |port| contains the port number. Return true (1) to continue | ||||||
|   // the request and call cef_auth_callback_t::cont() when the authentication |   // the request and call cef_auth_callback_t::cont() when the authentication | ||||||
|   // information is available. Return false (0) to cancel the request. This |   // information is available. If the request has an associated browser/frame | ||||||
|   // function will only be called for requests initiated from the browser |   // then returning false (0) will result in a call to GetAuthCredentials on the | ||||||
|   // process. |   // cef_request_handler_t associated with that browser, if any. Otherwise, | ||||||
|  |   // returning false (0) will cancel the request immediately. This function will | ||||||
|  |   // only be called for requests initiated from the browser process. | ||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* get_auth_credentials)( |   int(CEF_CALLBACK* get_auth_credentials)( | ||||||
|       struct _cef_urlrequest_client_t* self, |       struct _cef_urlrequest_client_t* self, | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=aecaacd4f1b5294258f4e78883bcfec0a5c5677f$ | // $hash=23dc3ab761547687a491e5d7303b73b2d0d54e7a$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_V8_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_V8_CAPI_H_ | ||||||
| @@ -355,6 +355,25 @@ typedef struct _cef_v8exception_t { | |||||||
|   int(CEF_CALLBACK* get_end_column)(struct _cef_v8exception_t* self); |   int(CEF_CALLBACK* get_end_column)(struct _cef_v8exception_t* self); | ||||||
| } cef_v8exception_t; | } cef_v8exception_t; | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Callback structure that is passed to cef_v8value_t::CreateArrayBuffer. | ||||||
|  | /// | ||||||
|  | typedef struct _cef_v8array_buffer_release_callback_t { | ||||||
|  |   /// | ||||||
|  |   // Base structure. | ||||||
|  |   /// | ||||||
|  |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Called to release |buffer| when the ArrayBuffer JS object is garbage | ||||||
|  |   // collected. |buffer| is the value that was passed to CreateArrayBuffer along | ||||||
|  |   // with this object. | ||||||
|  |   /// | ||||||
|  |   void(CEF_CALLBACK* release_buffer)( | ||||||
|  |       struct _cef_v8array_buffer_release_callback_t* self, | ||||||
|  |       void* buffer); | ||||||
|  | } cef_v8array_buffer_release_callback_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Structure representing a V8 value handle. V8 handles can only be accessed | // Structure representing a V8 value handle. V8 handles can only be accessed | ||||||
| // from the thread on which they are created. Valid threads for creating a V8 | // from the thread on which they are created. Valid threads for creating a V8 | ||||||
| @@ -425,6 +444,11 @@ typedef struct _cef_v8value_t { | |||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* is_array)(struct _cef_v8value_t* self); |   int(CEF_CALLBACK* is_array)(struct _cef_v8value_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // True if the value type is an ArrayBuffer. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* is_array_buffer)(struct _cef_v8value_t* self); | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // True if the value type is function. |   // True if the value type is function. | ||||||
|   /// |   /// | ||||||
| @@ -639,6 +663,25 @@ typedef struct _cef_v8value_t { | |||||||
|   /// |   /// | ||||||
|   int(CEF_CALLBACK* get_array_length)(struct _cef_v8value_t* self); |   int(CEF_CALLBACK* get_array_length)(struct _cef_v8value_t* self); | ||||||
|  |  | ||||||
|  |   // ARRAY BUFFER METHODS - These functions are only available on ArrayBuffers. | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Returns the ReleaseCallback object associated with the ArrayBuffer or NULL | ||||||
|  |   // if the ArrayBuffer was not created with CreateArrayBuffer. | ||||||
|  |   /// | ||||||
|  |   struct _cef_v8array_buffer_release_callback_t*( | ||||||
|  |       CEF_CALLBACK* get_array_buffer_release_callback)( | ||||||
|  |       struct _cef_v8value_t* self); | ||||||
|  |  | ||||||
|  |   /// | ||||||
|  |   // Prevent the ArrayBuffer from using it's memory block by setting the length | ||||||
|  |   // to zero. This operation cannot be undone. If the ArrayBuffer was created | ||||||
|  |   // with CreateArrayBuffer then | ||||||
|  |   // cef_v8array_buffer_release_callback_t::ReleaseBuffer will be called to | ||||||
|  |   // release the underlying buffer. | ||||||
|  |   /// | ||||||
|  |   int(CEF_CALLBACK* neuter_array_buffer)(struct _cef_v8value_t* self); | ||||||
|  |  | ||||||
|   // FUNCTION METHODS - These functions are only available on functions. |   // FUNCTION METHODS - These functions are only available on functions. | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
| @@ -751,6 +794,21 @@ CEF_EXPORT cef_v8value_t* cef_v8value_create_object( | |||||||
| /// | /// | ||||||
| CEF_EXPORT cef_v8value_t* cef_v8value_create_array(int length); | CEF_EXPORT cef_v8value_t* cef_v8value_create_array(int length); | ||||||
|  |  | ||||||
|  | /// | ||||||
|  | // Create a new cef_v8value_t object of type ArrayBuffer which wraps the | ||||||
|  | // provided |buffer| of size |length| bytes. The ArrayBuffer is externalized, | ||||||
|  | // meaning that it does not own |buffer|. The caller is responsible for freeing | ||||||
|  | // |buffer| when requested via a call to cef_v8array_buffer_release_callback_t:: | ||||||
|  | // ReleaseBuffer. This function should only be called from within the scope of a | ||||||
|  | // cef_render_process_handler_t, cef_v8handler_t or cef_v8accessor_t callback, | ||||||
|  | // or in combination with calling enter() and exit() on a stored cef_v8context_t | ||||||
|  | // reference. | ||||||
|  | /// | ||||||
|  | CEF_EXPORT cef_v8value_t* cef_v8value_create_array_buffer( | ||||||
|  |     void* buffer, | ||||||
|  |     size_t length, | ||||||
|  |     cef_v8array_buffer_release_callback_t* release_callback); | ||||||
|  |  | ||||||
| /// | /// | ||||||
| // Create a new cef_v8value_t object of type function. This function should only | // Create a new cef_v8value_t object of type function. This function should only | ||||||
| // be called from within the scope of a cef_render_process_handler_t, | // be called from within the scope of a cef_render_process_handler_t, | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=4119ecd62e8c308a5876e6a7ac92cf3ff7df6425$ | // $hash=d9074be0e6960c69cfe2c39b92b4dd6f529210d1$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_VALUES_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_VALUES_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=a8fdbd327fff7769353b0aba47c74cba61333144$ | // $hash=ed698ff6cb09ee2ed87614e2733c742db827ed4f$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_WAITABLE_EVENT_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_WAITABLE_EVENT_CAPI_H_ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| // Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved. | // Copyright (c) 2021 Marshall A. Greenblatt. All rights reserved. | ||||||
| // | // | ||||||
| // Redistribution and use in source and binary forms, with or without | // Redistribution and use in source and binary forms, with or without | ||||||
| // modification, are permitted provided that the following conditions are | // modification, are permitted provided that the following conditions are | ||||||
| @@ -33,7 +33,7 @@ | |||||||
| // by hand. See the translator.README.txt file in the tools directory for | // by hand. See the translator.README.txt file in the tools directory for | ||||||
| // more information. | // more information. | ||||||
| // | // | ||||||
| // $hash=95dbecaa1c2b67c99e32d29e7bcd3aff4d126baf$ | // $hash=f74bf4d33914d56d760f1bf5aadcf2651740c711$ | ||||||
| // | // | ||||||
|  |  | ||||||
| #ifndef CEF_INCLUDE_CAPI_CEF_WEB_PLUGIN_CAPI_H_ | #ifndef CEF_INCLUDE_CAPI_CEF_WEB_PLUGIN_CAPI_H_ | ||||||
| @@ -58,7 +58,7 @@ typedef struct _cef_web_plugin_info_t { | |||||||
|   cef_base_ref_counted_t base; |   cef_base_ref_counted_t base; | ||||||
|  |  | ||||||
|   /// |   /// | ||||||
|   // Returns the plugin name (i.e. Flash). |   // Returns the plugin name. | ||||||
|   /// |   /// | ||||||
|   // The resulting string must be freed by calling cef_string_userfree_free(). |   // The resulting string must be freed by calling cef_string_userfree_free(). | ||||||
|   cef_string_userfree_t(CEF_CALLBACK* get_name)( |   cef_string_userfree_t(CEF_CALLBACK* get_name)( | ||||||
| @@ -202,9 +202,6 @@ CEF_EXPORT void cef_is_web_plugin_unstable( | |||||||
| //   2. widevinecdm file from the CDM binary distribution (e.g. | //   2. widevinecdm file from the CDM binary distribution (e.g. | ||||||
| //      widevinecdm.dll on on Windows, libwidevinecdm.dylib on OS X, | //      widevinecdm.dll on on Windows, libwidevinecdm.dylib on OS X, | ||||||
| //      libwidevinecdm.so on Linux). | //      libwidevinecdm.so on Linux). | ||||||
| //   3. widevidecdmadapter file from the CEF binary distribution (e.g. |  | ||||||
| //      widevinecdmadapter.dll on Windows, widevinecdmadapter.plugin on OS X, |  | ||||||
| //      libwidevinecdmadapter.so on Linux). |  | ||||||
| // | // | ||||||
| // If any of these files are missing or if the manifest file has incorrect | // If any of these files are missing or if the manifest file has incorrect | ||||||
| // contents the registration will fail and |callback| will receive a |result| | // contents the registration will fail and |callback| will receive a |result| | ||||||
| @@ -217,7 +214,7 @@ CEF_EXPORT void cef_is_web_plugin_unstable( | |||||||
| //   D. "x-cdm-interface-versions": Interface API version (e.g. "8"). | //   D. "x-cdm-interface-versions": Interface API version (e.g. "8"). | ||||||
| //   E. "x-cdm-host-versions": Host API version (e.g. "8"). | //   E. "x-cdm-host-versions": Host API version (e.g. "8"). | ||||||
| //   F. "version": CDM version (e.g. "1.4.8.903"). | //   F. "version": CDM version (e.g. "1.4.8.903"). | ||||||
| //   G. "x-cdm-codecs": List of supported codecs (e.g. "vp8,vp9.0,avc1"). | //   G. "x-cdm-codecs": List of supported codecs (e.g. "vp8,vp09,avc1"). | ||||||
| // | // | ||||||
| // A through E are used to verify compatibility with the current Chromium | // A through E are used to verify compatibility with the current Chromium | ||||||
| // version. If the CDM is not compatible the registration will fail and | // version. If the CDM is not compatible the registration will fail and | ||||||
|   | |||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user