<h3 dir="auto">Preflight Checklist</h3>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have read the <a href="https://github.com/electron/electron/blob/master/CONTRIBUTING.md">Contributing Guidelines</a> for this project.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I agree to follow the <a href="https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md">Code of Conduct</a> that this project adheres to.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the issue tracker for an issue that matches the one I want to file, without success.</li>
</ul>
<h3 dir="auto">Issue Details</h3>
<ul dir="auto">
<li><strong>Electron Version:</strong>
<ul dir="auto">
<li>v9.0.4</li>
</ul>
</li>
<li><strong>Operating System:</strong>
<ul dir="auto">
<li>Windows 10 (1903), macOS 10.15.5, SparkyLinux 5.11 (Debian Buster)</li>
</ul>
</li>
<li><strong>Last Known Working Electron version:</strong>
<ul dir="auto">
<li>Unknown</li>
</ul>
</li>
</ul>
<h3 dir="auto">Expected Behavior</h3>
<p dir="auto">Use either <code class="notranslate">setSize</code> or <code class="notranslate">setBounds</code> to resize a window to the dimensions of the background image (explicit dimensions passed).</p>
<h3 dir="auto">Actual Behavior</h3>
<p dir="auto">In Linux, this behavior works as expected. In Windows and macOS, it does not work as expected. When running <code class="notranslate">getBounds</code>, it matches what is set with <code class="notranslate">setBounds</code>, however, the background image (which has identical dimensions) is cut off.</p>
<h3 dir="auto">To Reproduce</h3>
<p dir="auto">Occurs in my repo <a href="https://github.com/slashinfty/nincid">here</a>. The code is specifically:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="const win = require(&quot;electron&quot;).remote.BrowserWindow.getFocusedWindow();
win.setMinimumSize(skinJson.width, skinJson.height)
win.setBounds({width: skinJson.width, height: skinJson.height})"><pre class="notranslate"><span class="pl-k">const</span> <span class="pl-s1">win</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">"electron"</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-c1">remote</span><span class="pl-kos">.</span><span class="pl-c1">BrowserWindow</span><span class="pl-kos">.</span><span class="pl-en">getFocusedWindow</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-s1">win</span><span class="pl-kos">.</span><span class="pl-en">setMinimumSize</span><span class="pl-kos">(</span><span class="pl-s1">skinJson</span><span class="pl-kos">.</span><span class="pl-c1">width</span><span class="pl-kos">,</span> <span class="pl-s1">skinJson</span><span class="pl-kos">.</span><span class="pl-c1">height</span><span class="pl-kos">)</span>
<span class="pl-s1">win</span><span class="pl-kos">.</span><span class="pl-en">setBounds</span><span class="pl-kos">(</span><span class="pl-kos">{</span><span class="pl-c1">width</span>: <span class="pl-s1">skinJson</span><span class="pl-kos">.</span><span class="pl-c1">width</span><span class="pl-kos">,</span> <span class="pl-c1">height</span>: <span class="pl-s1">skinJson</span><span class="pl-kos">.</span><span class="pl-c1">height</span><span class="pl-kos">}</span><span class="pl-kos">)</span></pre></div>
<p dir="auto">Where <code class="notranslate">skinJson.width</code> and <code class="notranslate">skinJson.height</code> are the dimensions of the background image.</p>
<h3 dir="auto">Screenshots</h3>
<p dir="auto"><a href="https://clips.twitch.tv/ThankfulNastyDonutAMPTropPunch" rel="nofollow">Here is an example</a> of it working correctly in Linux.</p>
<p dir="auto"><a href="https://clips.twitch.tv/ComfortableImportantSwallowOneHand" rel="nofollow">Here is an example</a> of not working correctly in Windows and <a href="https://clips.twitch.tv/VibrantCredulousGooseDoritosChip" rel="nofollow">an example in macOS</a>.</p>
<h3 dir="auto">Additional Information</h3>
<p dir="auto">This is closest to <a href="https://github.com/electron/electron/issues/16711" data-hovercard-type="issue" data-hovercard-url="/electron/electron/issues/16711/hovercard">#16711</a>, but it was closed for being a duplicate of <a href="https://github.com/electron/electron/issues/15560" data-hovercard-type="issue" data-hovercard-url="/electron/electron/issues/15560/hovercard">#15560</a>, but that's not the case. With regards to the latter, the workaround of <code class="notranslate">setMinimumSize</code> works to resize smaller. However, <code class="notranslate">setSize</code> and <code class="notranslate">setBounds</code> (tested both) work differently in Windows and macOS than it does in Linux. Having <code class="notranslate">resizeable</code> be true or false has no impact on it's functionality (however I ended up setting it to true just to allow users to fit the background image, but that's not a desirable outcome).</p>
<h3 dir="auto">Preflight Checklist</h3>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have read the <a href="https://github.com/electron/electron/blob/master/CONTRIBUTING.md">Contributing Guidelines</a> for this project.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I agree to follow the <a href="https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md">Code of Conduct</a> that this project adheres to.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://www.github.com/electron/electron/issues">issue tracker</a> for a feature request that matches the one I want to file, without success.</li>
</ul>
<h3 dir="auto">Electron Version</h3>
<p dir="auto">11.x, 12.x, 13.x</p>
<h3 dir="auto">What operating system are you using?</h3>
<p dir="auto">Windows</p>
<h3 dir="auto">Operating System Version</h3>
<p dir="auto">Windows 10 Pro (10.0.19042 Build 19042)</p>
<h3 dir="auto">What arch are you using?</h3>
<p dir="auto">x64</p>
<h3 dir="auto">Last Known Working Electron version</h3>
<p dir="auto">N/A</p>
<h3 dir="auto">Expected Behavior</h3>
<p dir="auto">This revives <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="174331157" data-permission-text="Title is private" data-url="https://github.com/electron/electron/issues/7049" data-hovercard-type="issue" data-hovercard-url="/electron/electron/issues/7049/hovercard" href="https://github.com/electron/electron/issues/7049">#7049</a> for recent versions of electron.</p>
<p dir="auto">When using 32bit electron on 64bit windows, the renderer should not crash.</p>
<h3 dir="auto">Actual Behavior</h3>
<p dir="auto">Loading certain pages will cause the web contents to crash if 32bit electron is installed on a 64bit windows machine. A few examples:</p>
<ul dir="auto">
<li><a href="https://www.similarweb.com/" rel="nofollow">https://www.similarweb.com/</a></li>
<li><a href="https://www.calm.com/" rel="nofollow">https://www.calm.com/</a></li>
</ul>
<h3 dir="auto">Testcase Gist URL</h3>
<p dir="auto"><em>No response</em></p>
<h3 dir="auto">Additional Information</h3>
<p dir="auto">Here's a minimally reproducible example which crashes with a stack overflow on 64bit windows:</p>
<p dir="auto"><a href="https://github.com/electron/electron/files/6572362/32bit-electron-demo.zip">32bit-electron-demo.zip</a></p>
<p dir="auto">To run:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="npm install --arch=ia32 electron
node_modules/.bin/electron main.js"><pre class="notranslate">npm install --arch=ia32 electron
node_modules/.bin/electron main.js</pre></div>
<p dir="auto">It can take up to 20s for the crash to happen.</p>