Skip to content

Commit cf36bd1

Browse files
committed
v14.0.2
1 parent 18486e7 commit cf36bd1

File tree

7 files changed

+57
-42
lines changed

7 files changed

+57
-42
lines changed

build/cjs/index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/esm/index.mjs

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "gleap",
3-
"version": "14.0.1",
3+
"version": "14.0.2",
44
"main": "build/cjs/index.js",
55
"module": "build/esm/index.mjs",
66
"exports": {

published/14.0.2/index.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

published/latest/index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/GleapHelper.js

Lines changed: 42 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ export const resizeImage = (base64Str, maxWidth = 400, maxHeight = 400) => {
1212
var MAX_HEIGHT = maxHeight;
1313

1414
// Adjust max width / height based on image props
15-
if (maxWidth > img.width / 4) {
16-
MAX_WIDTH = img.width / 4;
15+
if (maxWidth > img.width / 1.5) {
16+
MAX_WIDTH = img.width / 1.5;
1717
}
1818

19-
if (maxHeight > img.height / 4) {
20-
MAX_HEIGHT = img.height / 4;
19+
if (maxHeight > img.height / 1.5) {
20+
MAX_HEIGHT = img.height / 1.5;
2121
}
2222

2323
var width = img.width;
@@ -38,7 +38,7 @@ export const resizeImage = (base64Str, maxWidth = 400, maxHeight = 400) => {
3838
canvas.height = height;
3939
var ctx = canvas.getContext("2d");
4040
ctx.drawImage(img, 0, 0, width, height);
41-
41+
4242
if (isJPEG) {
4343
resolve(canvas.toDataURL("image/jpeg", 0.7));
4444
} else {
@@ -79,21 +79,31 @@ export const truncateString = (str, num) => {
7979
} else {
8080
return str;
8181
}
82-
}
82+
};
8383

8484
const removeSubDomain = (v) => {
8585
try {
86-
var parts = v.split('.');
86+
var parts = v.split(".");
8787
var is2ndLevelDomain = false;
8888
const secondLevel = parts[parts.length - 2];
89-
if (secondLevel === "co" || secondLevel === "com" || secondLevel === "gv" || secondLevel === "ac" || secondLevel === "edu" || secondLevel === "gov" || secondLevel === "mil" || secondLevel === "net" || secondLevel === "org") {
89+
if (
90+
secondLevel === "co" ||
91+
secondLevel === "com" ||
92+
secondLevel === "gv" ||
93+
secondLevel === "ac" ||
94+
secondLevel === "edu" ||
95+
secondLevel === "gov" ||
96+
secondLevel === "mil" ||
97+
secondLevel === "net" ||
98+
secondLevel === "org"
99+
) {
90100
is2ndLevelDomain = true;
91101
}
92102
parts = parts.slice(is2ndLevelDomain ? -3 : -2);
93-
return parts.join('.');
94-
} catch (exp) { }
103+
return parts.join(".");
104+
} catch (exp) {}
95105
return v;
96-
}
106+
};
97107

98108
export const loadFromGleapCache = (key) => {
99109
try {
@@ -102,7 +112,7 @@ export const loadFromGleapCache = (key) => {
102112
const config = JSON.parse(cachedData);
103113
return config;
104114
}
105-
} catch (exp) { }
115+
} catch (exp) {}
106116
return null;
107117
};
108118

@@ -111,7 +121,7 @@ export const saveToGleapCache = (key, data) => {
111121
if (data) {
112122
try {
113123
localStorage.setItem(k, JSON.stringify(data));
114-
} catch (exp) { }
124+
} catch (exp) {}
115125
} else {
116126
localStorage.removeItem(k);
117127
}
@@ -122,36 +132,40 @@ export const setGleapCookie = (name, value, days) => {
122132
var expires = "";
123133
if (days) {
124134
var date = new Date();
125-
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
135+
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
126136
expires = "; expires=" + date.toUTCString();
127137
}
128138
const host = removeSubDomain(window.location.host.split(":")[0]);
129-
document.cookie = name + "=" + (value || "") + expires + "; path=/; domain=" + host;
130-
} catch (exp) { }
131-
}
139+
document.cookie =
140+
name + "=" + (value || "") + expires + "; path=/; domain=" + host;
141+
} catch (exp) {}
142+
};
132143

133144
export const getGleapCookie = (name) => {
134145
try {
135146
var nameEQ = name + "=";
136-
var ca = document.cookie.split(';');
147+
var ca = document.cookie.split(";");
137148
for (var i = 0; i < ca.length; i++) {
138149
var c = ca[i];
139-
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
150+
while (c.charAt(0) == " ") c = c.substring(1, c.length);
140151
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
141152
}
142-
} catch (exp) { }
153+
} catch (exp) {}
143154
return null;
144-
}
155+
};
145156

146157
export const eraseGleapCookie = (name) => {
147158
try {
148159
const host = removeSubDomain(window.location.host.split(":")[0]);
149-
document.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Domain=' + host;
150-
} catch (exp) { }
151-
}
160+
document.cookie =
161+
name + "=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Domain=" + host;
162+
} catch (exp) {}
163+
};
152164

153165
export const getDOMElementDescription = (element, html = true) => {
154-
var innerText = truncateString(element.innerText || '', 40).replace(/(\r\n|\n|\r)/gm, "").replace(/ +(?= )/g, '');
166+
var innerText = truncateString(element.innerText || "", 40)
167+
.replace(/(\r\n|\n|\r)/gm, "")
168+
.replace(/ +(?= )/g, "");
155169
var elementId = "";
156170
var elementClass = "";
157171
if (typeof element.getAttribute !== "undefined") {
@@ -164,7 +178,7 @@ export const getDOMElementDescription = (element, html = true) => {
164178
elementClass = ` class="${elemClass}"`;
165179
}
166180
}
167-
const elementTag = (element.tagName || '').toLowerCase();
181+
const elementTag = (element.tagName || "").toLowerCase();
168182

169183
var htmlPre = "<";
170184
var htmlPost = ">";
@@ -174,7 +188,7 @@ export const getDOMElementDescription = (element, html = true) => {
174188
}
175189

176190
return `${htmlPre}${elementTag}${elementId}${elementClass}${htmlPost}${innerText}${htmlPre}/${elementTag}${htmlPost}`;
177-
}
191+
};
178192

179193
export const runFunctionWhenDomIsReady = (callback) => {
180194
if (
@@ -188,4 +202,4 @@ export const runFunctionWhenDomIsReady = (callback) => {
188202
callback();
189203
});
190204
}
191-
}
205+
};

src/ScreenCapture.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -351,13 +351,13 @@ const handleAdoptedStyleSheets = (doc, clone, shadowNodeId) => {
351351
}
352352
};
353353

354-
const deepClone = (host) => {
354+
const deepClone = async (host) => {
355355
let shadowNodeId = 1;
356356

357357
const cloneNode = async (node, parent, shadowRoot) => {
358-
const walkTree = (nextn, nextp, innerShadowRoot) => {
358+
const walkTree = async (nextn, nextp, innerShadowRoot) => {
359359
while (nextn) {
360-
cloneNode(nextn, nextp, innerShadowRoot);
360+
await cloneNode(nextn, nextp, innerShadowRoot);
361361
nextn = nextn.nextSibling;
362362
}
363363
};
@@ -372,8 +372,8 @@ const deepClone = (host) => {
372372
if (node instanceof HTMLCanvasElement) {
373373
try {
374374
const boundingRect = node.getBoundingClientRect();
375-
const resizedImage = await resizeImage(node.toDataURL(), 900, 900);
376-
375+
const resizedImage = await resizeImage(node.toDataURL(), 1400, 1400);
376+
377377
clone.setAttribute("bb-canvas-data", resizedImage);
378378
clone.setAttribute("bb-canvas-height", boundingRect.height);
379379
clone.setAttribute("bb-canvas-width", boundingRect.width);
@@ -432,19 +432,19 @@ const deepClone = (host) => {
432432
if (node.shadowRoot) {
433433
var rootShadowNodeId = shadowNodeId;
434434
shadowNodeId++;
435-
walkTree(node.shadowRoot.firstChild, clone, rootShadowNodeId);
435+
await walkTree(node.shadowRoot.firstChild, clone, rootShadowNodeId);
436436
handleAdoptedStyleSheets(node.shadowRoot, clone, rootShadowNodeId);
437437

438438
if (typeof clone.setAttribute !== "undefined") {
439439
clone.setAttribute("bb-shadow-parent", rootShadowNodeId);
440440
}
441441
}
442442

443-
walkTree(node.firstChild, clone);
443+
await walkTree(node.firstChild, clone);
444444
};
445445

446446
const fragment = document.createDocumentFragment();
447-
cloneNode(host, fragment);
447+
await cloneNode(host, fragment);
448448

449449
// Work on adopted stylesheets.
450450
var clonedHead = fragment.querySelector("head");
@@ -457,13 +457,13 @@ const deepClone = (host) => {
457457
};
458458

459459
const prepareScreenshotData = (remote) => {
460-
return new Promise((resolve, reject) => {
460+
return new Promise(async (resolve, reject) => {
461461
const styleTags = window.document.querySelectorAll("style, link");
462462
for (var i = 0; i < styleTags.length; ++i) {
463463
styleTags[i].setAttribute("bb-styleid", i);
464464
}
465465

466-
const clone = deepClone(window.document.documentElement);
466+
const clone = await deepClone(window.document.documentElement);
467467

468468
// Fix for web imports (depracted).
469469
const linkImportElems = clone.querySelectorAll("link[rel=import]");

0 commit comments

Comments
 (0)