1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
add_task(async function test_fullPageScreenshot() {
await BrowserTestUtils.withNewTab(
{
gBrowser,
url: TEST_GREEN_PAGE,
},
async browser => {
let helper = new ScreenshotsHelper(browser);
let contentInfo = await helper.getContentDimensions();
ok(contentInfo, "Got dimensions back from the content");
await helper.triggerUIFromToolbar();
await helper.clickUIElement(
helper.selector.preselectIframe,
helper.selector.fullPageButton
);
info("Waiting for the preview UI and the copy button");
await helper.waitForUIContent(
helper.selector.previewIframe,
helper.selector.copyButton
);
let deactivatedPromise = helper.waitForToolbarButtonDeactivation();
let clipboardChanged = waitForRawClipboardChange();
await helper.clickUIElement(
helper.selector.previewIframe,
helper.selector.copyButton
);
info("Waiting for clipboard change");
await clipboardChanged;
await deactivatedPromise;
info("Screenshots is deactivated");
let result = await getImageSizeFromClipboard(browser);
is(
result.width,
contentInfo.documentWidth,
"Got expected screenshot width"
);
is(
result.height,
contentInfo.documentHeight,
"Got expected screenshot height"
);
}
);
});
add_task(async function test_visiblePageScreenshot() {
await BrowserTestUtils.withNewTab(
{
gBrowser,
url: TEST_GREEN_PAGE,
},
async browser => {
const DEVICE_PIXEL_RATIO = window.devicePixelRatio;
let helper = new ScreenshotsHelper(browser);
let contentInfo = await helper.getContentDimensions();
ok(contentInfo, "Got dimensions back from the content");
await helper.triggerUIFromToolbar();
await helper.clickUIElement(
helper.selector.preselectIframe,
helper.selector.visiblePageButton
);
info("Waiting for the preview UI and the copy button");
await helper.waitForUIContent(
helper.selector.previewIframe,
helper.selector.copyButton
);
let deactivatedPromise = helper.waitForToolbarButtonDeactivation();
let clipboardChanged = waitForRawClipboardChange();
await helper.clickUIElement(
helper.selector.previewIframe,
helper.selector.copyButton
);
info("Waiting for clipboard change");
await clipboardChanged;
await deactivatedPromise;
info("Screenshots is deactivated");
let result = await getImageSizeFromClipboard(browser);
info("result: " + JSON.stringify(result, null, 2));
info("contentInfo: " + JSON.stringify(contentInfo, null, 2));
is(
result.width,
contentInfo.documentWidth * DEVICE_PIXEL_RATIO,
"Got expected screenshot width"
);
is(
result.height,
contentInfo.clientHeight * DEVICE_PIXEL_RATIO,
"Got expected screenshot height"
);
}
);
});
|