tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

popover-toggle-source.html (3392B)


      1 <!DOCTYPE html>
      2 <link rel=author href="mailto:jarhar@chromium.org">
      3 <link rel=help href="https://github.com/whatwg/html/issues/9111">
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 <script src="resources/toggle-event-source-test.js"></script>
      7 
      8 <button id=popoversource popovertarget=popover>popovertarget source</button>
      9 <button id=commandsource commandfor=popover command=show-popover>command source</button>
     10 <div id=popover popover=auto>
     11  popover
     12  <button id=popoversourcehide popovertarget=popover>popovertarget source</button>
     13  <button id=commandsourcehide commandfor=popover command=hide-popover>command source</button>
     14 </div>
     15 
     16 <script>
     17 const popoversource = document.getElementById('popoversource');
     18 const popoversourcehide = document.getElementById('popoversourcehide');
     19 const commandsource = document.getElementById('commandsource');
     20 const commandsourcehide = document.getElementById('commandsourcehide');
     21 const popover = document.getElementById('popover');
     22 
     23 let beforetoggleEvent = null;
     24 let toggleEvent = null;
     25 popover.addEventListener('beforetoggle', event => beforetoggleEvent = event);
     26 popover.addEventListener('toggle', event => toggleEvent = event);
     27 
     28 createToggleEventSourceTest({
     29  description: 'ToggleEvent.source on popover elements: showPopover() without source.',
     30  target: popover,
     31  openFunc: async () => popover.showPopover(),
     32  closeFunc: async () => popover.hidePopover(),
     33  openSource: null,
     34  closeSource: null
     35 });
     36 
     37 createToggleEventSourceTest({
     38  description: 'ToggleEvent.source on popover elements: showPopover() with source.',
     39  target: popover,
     40  openFunc: async () => popover.showPopover({source: popoversource}),
     41  closeFunc: async () => popover.hidePopover(),
     42  openSource: popoversource,
     43  closeSource: null
     44 });
     45 
     46 createToggleEventSourceTest({
     47  description: 'ToggleEvent.source on popover elements: Calling click() on a popovertarget button.',
     48  target: popover,
     49  openFunc: async () => popoversource.click(),
     50  closeFunc: async () => popoversourcehide.click(),
     51  openSource: popoversource,
     52  closeSource: popoversourcehide
     53 });
     54 
     55 createToggleEventSourceTest({
     56  description: 'ToggleEvent.source on popover elements: Calling click() on a command button.',
     57  target: popover,
     58  openFunc: async () => commandsource.click(),
     59  closeFunc: async () => commandsourcehide.click(),
     60  openSource: commandsource,
     61  closeSource: commandsourcehide
     62 });
     63 
     64 createToggleEventSourceTest({
     65  description: 'ToggleEvent.source on popover elements: showPopover() then popovertarget button.',
     66  target: popover,
     67  openFunc: async () => popover.showPopover(),
     68  closeFunc: async () => popoversourcehide.click(),
     69  openSource: null,
     70  closeSource: popoversourcehide
     71 });
     72 
     73 createToggleEventSourceTest({
     74  description: 'ToggleEvent.source on popover elements: showPopover(invoker) then popovertarget button.',
     75  target: popover,
     76  openFunc: async () => popover.showPopover({source: popoversource}),
     77  closeFunc: async () => popoversourcehide.click(),
     78  openSource: popoversource,
     79  closeSource: popoversourcehide
     80 });
     81 
     82 createToggleEventSourceTest({
     83  description: 'ToggleEvent.source on popover elements: popovertarget button then hidePopover().',
     84  target: popover,
     85  openFunc: async () => popoversource.click(),
     86  closeFunc: async () => popover.hidePopover(),
     87  openSource: popoversource,
     88  closeSource: null
     89 });
     90 </script>