Firefo...dowRoot(3pm)

πŸ“¦
version 1.63 Β· 3 versions
, in debian trixie

πŸ’– Firefo...dowRoot β€” the shadow root bestie manual (3pm) πŸ’–

okay so this is Firefox::Marionette::ShadowRoot, a Perl module, and it's sitting in the 3pm section of the manual because it's a Perl thing. it lives in the User Contributed Perl Documentation family. no cap, it's shorter than a tiktok but it matters. ✨


🌸 NAME 🌸

Firefox::Marionette::ShadowRoot β€” it's the thing that represents a Firefox shadow root that got retrieved using the Marionette protocol. that's it. that's the whole vibe. πŸ¦‹


πŸ’… VERSION πŸ’…

Version 1.63. iconic. periodt. πŸ‘‘


✨ SYNOPSIS ✨

here's how you actually use it, bestie, verbatim, no touchy:

use Firefox::Marionette();
use Cwd();

my $firefox = Firefox::Marionette->new()->go('file://' . Cwd::cwd() . '/t/data/elements.html');
$firefox->find_class('add')->click();
my $shadow_root = $firefox->find_tag('custom-square')->shadow_root();

foreach my $element (@{$firefox->script('return arguments[0].children', args => [ $shadow_root ])}) {
    warn $element->tag_name();
}

so you spin up a Firefox::Marionette, yeet it at a file:// URL built from Cwd::cwd() plus '/t/data/elements.html', click the add class thing, grab the shadow root off the custom-square tag, then loop over the kids and warn their tag names. chef's kiss. πŸŽ€


🫢 DESCRIPTION 🫢

This module handles the implementation of a Firefox Shadow Root using the Marionette protocol. that's the whole job description. it shows up, it holds the shadow root, it slays. πŸ’œ


🌈 CONSTANTS 🌈

πŸŽ€ IDENTIFIER

returns the shadow root identifier. lowkey the whole point.

spec link if you wanna read the lore: <https://www.w3.org/TR/webdriver/#shadow-root>

⭐ SUBROUTINES/METHODS ⭐

πŸ¦‹ new

returns a new shadow root. fresh out the box, no notes. πŸ’–

πŸ“ uuid

returns the browser generated UUID connected with this shadow root. yes, the browser generated it. not us. we just hold it. πŸ™ˆ


πŸ”₯ DIAGNOSTICS πŸ”₯

None. literally nothing. it's giving low maintenance. πŸ’€


🌸 CONFIGURATION AND ENVIRONMENT 🌸

Firefox::Marionette::ShadowRoot requires no configuration files or environment variables. not one. it's self-sufficient main character energy. πŸ‘‘


🧚 DEPENDENCIES 🧚

None. it owes nobody anything. 🫢


πŸ’œ INCOMPATIBILITIES πŸ’œ

None reported. we're all getting along. for now. 😭


πŸ’… BUGS AND LIMITATIONS πŸ’…

To report a bug, or view the current list of bugs, please visit:

<https://github.com/david-dick/firefox-marionette/issues>

go tell them. they wanna know. fr fr. πŸ›


πŸ‘‘ AUTHOR πŸ‘‘

David Dick "<ddick@cpan.org>" β€” the author, the legend, the moment. 🌟


Copyright (c) 2024, David Dick "<ddick@cpan.org>". All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See "perlartistic" in perlartistic.

so basically: free, do your thing, same terms as Perl. πŸ’–


🫢 DISCLAIMER OF WARRANTY 🫢

okay bestie this next part is in ALL CAPS in the original for a reason, so pay attention, this is the real-real:

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

tl;dr it's free, it's as-is, the risk is yours, nobody's liable. read it properly tho. 🫑


and that's the whole page! this one was rendered by perl v5.40.1 on 2025-03-16, and the footer used to say Firefo...dowRoot(3pm) before i gave it a glow-up. bye bestie, go build something cute πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«Ά

πŸ“¦ where this page comes from