Jak korzystać z funkcji canvas drawWindow w dodatku utworzonym przy użyciu dodatku sdk?

Stworzyłem dodatek Firefox za pomocąaddon sdk. Próbuję użyćcanvas drawWindow funkcjonować.

Mam następujący kod do korzystania z funkcji, gdzie ctx odnosi się do kontekstu płótna, który otrzymałemcanvas.getContext("2d").

ctx.drawWindow(window, 0, 0, 100, 200, "rgb(255,255,255)");

Kiedy uruchamiam ten kod, w skrypcie, który jest dołączony przy użyciu

tabs.activeTab.attach({
    contentScriptFile: data.url("app.js") // app.js contains the above line of code
});

Otrzymuję następujący błąd:

TypeError: ctx.drawWindow is not a function

Ten błąd nie występuje, gdy wywołam funkcje takie jak strokeRect i fillRect na tym samym obiekcie ctx.

Dokumenty nata strona mówi, że do korzystania z kodu potrzebne są uprawnienia chromowane, więc może to być problem. Spodziewałbym się innego błędu na podstawiekod dla funkcji.

Dowiedziałem się, że mogę zahaczyć o przywileje w moim dodatkuto, ale co mam zrobić przy użyciu ctx.drawWindow?

Również, gdy uruchomiłem kod wto pytanie, z notatnika na stronie, a nie z dodatku, zamiast „Błąd: operacja jest niebezpieczna”, otrzymuję to samo „Wyjątek: ctx.drawWindow nie jest funkcją”.

Więc w zasadzie to, o co pytam, w jaki sposób mogę przejść do korzystania z canvas drawWindow w dodatku utworzonym przy użyciu addon sdk?

Edytować: Próbuję to zrobić, ponieważ potrzebuję metody dostępu do poszczególnych pikseli renderowanej strony. Mam nadzieję narysować stronę na płótnie, a następnie uzyskać dostęp do pikseligetImageData. Jeśli istnieją inne metody uzyskiwania dostępu do poszczególnych pikseli (w dodatku do Firefoksa), byłoby to również pomocne.

questionAnswers(1)

yourAnswerToTheQuestion