<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WebKit</title>
	<atom:link href="https://webkit.org/feed/" rel="self" type="application/rss+xml" />
	<link>https://webkit.org</link>
	<description>Open Source Web Browser Engine</description>
	<lastBuildDate>Fri, 13 Sep 2019 02:46:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.2.2</generator>
	<item>
		<title>WebGPU and WSL in Safari</title>
		<link>https://webkit.org/blog/9528/webgpu-and-wsl-in-safari/</link>
				<pubDate>Thu, 12 Sep 2019 17:00:42 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">https://webkit.org/?p=9528</guid>
				<description><![CDATA[WebGPU is a new API being developed by Apple and others in the W3C which enables high-performance 3D graphics and data-parallel computation on the Web.]]></description>
								<content:encoded><![CDATA[<p>WebGPU is a new API <a href="https://github.com/gpuweb/gpuweb">being developed</a> by Apple and others in the W3C which enables high-performance 3D graphics and <a href="https://en.wikipedia.org/wiki/Data_parallelism">data-parallel computation</a> on the Web. This API represents a significant improvement over the existing WebGL API in both performance and ease of use. Starting in <a href="https://developer.apple.com/safari/technology-preview/">Safari Technology Preview</a> release 91, beta support is available for WebGPU API and WSL, our proposal for the WebGPU shading language.</p>
<p>A few months ago we discussed a <a href="https://webkit.org/blog/8482/web-high-level-shading-language/">proposal</a> for a new shading language called Web High-Level Shading Language, and began implementation as a proof of concept. Since then, we’ve shifted our approach to this new language, which I will discuss a little later in this post. With help from our friends at <a href="https://www.babylonjs.com/">Babylon.js</a> we were able to adapt a demo to work with WebGPU and Web Shading Language (WSL):</p>
<figure><video autoplay loop src="https://webkit.org/wp-content/uploads/WebGPUDemoVideo.mp4" style="width: 100%"></video></figure>
<p>You can <a href="https://webkit.org/demos/webgpu/babylon/oneHelmetWebGPU.html">see the demo in action</a> with Safari Technology Preview 91 or later, and with the WebGPU experimental feature enabled.<a name="footnoteOne" href="#footnotes" class="footnote">1</a> The demo utilizes many of the best features of WebGPU. Let&#8217;s dig in to see what make WebGPU work so well, and why we think WSL is a great choice for WebGPU.</p>
<h2>WebGPU JavaScript API</h2>
<p>Just like WebGL, the WebGPU API is accessed through JavaScript because most Web developers are already familiar with working in JavaScript. We expect to create a WebGPU API that is accessed through WebAssembly in the future.</p>
<h3>Pipeline State Objects and Bind Groups</h3>
<p>Most 3D applications render more than a single object. In WebGL, each of those objects requires a collection of state-changing calls before that object could be rendered. For example, rendering a single object in WebGL might look like:</p>
<pre><code class="js"><span class="identifier">gl</span>.<span class="identifier">UseProgram</span>(<span class="identifier">program1</span>);
<span class="identifier">gl</span>.<span class="identifier">frontFace</span>(<span class="identifier">gl</span>.<span class="identifier">CW</span>);
<span class="identifier">gl</span>.<span class="identifier">cullFace</span>(<span class="identifier">gl</span>.<span class="identifier">FRONT</span>);
<span class="identifier">gl</span>.<span class="identifier">blendEquationSeparate</span>(<span class="identifier">gl</span>.<span class="identifier">FUNC_ADD</span>, <span class="identifier">gl</span>.<span class="identifier">FUNC_MIN</span>);
<span class="identifier">gl</span>.<span class="identifier">blendFuncSeparate</span>(<span class="identifier">gl</span>.<span class="identifier">SRC_COLOR</span>, <span class="identifier">gl</span>.<span class="identifier">ZERO</span>, <span class="identifier">gl</span>.<span class="identifier">SRC_ALPHA</span>, <span class="identifier">gl</span>.<span class="identifier">ZERO</span>);
<span class="identifier">gl</span>.<span class="identifier">colorMask</span>(<span class="keyword literal">true</span>, <span class="keyword literal">false</span>, <span class="keyword literal">true</span>, <span class="keyword literal">true</span>);
<span class="identifier">gl</span>.<span class="identifier">depthMask</span>(<span class="keyword literal">true</span>);
<span class="identifier">gl</span>.<span class="identifier">stencilMask</span>(<span class="number">1</span>);
<span class="identifier">gl</span>.<span class="identifier">depthFunc</span>(<span class="identifier">gl</span>.<span class="identifier">GREATER</span>);
<span class="identifier">gl</span>.<span class="identifier">drawArrays</span>(<span class="identifier">gl</span>.<span class="identifier">TRIANGLES</span>, <span class="number">0</span>, <span class="identifier">count</span>);
</code></pre>
<p>On the other hand, rendering a single object in WebGPU might look like:</p>
<pre><code class="js"><span class="identifier">encoder</span>.<span class="identifier">setPipeline</span>(<span class="identifier">renderPipeline</span>);
<span class="identifier">encoder</span>.<span class="identifier">draw</span>(<span class="identifier">count</span>, <span class="number">1</span>, <span class="number">0</span>, <span class="number">0</span>);
</code></pre>
<p>All the pieces of state in the WebGL example are wrapped up into a single object in WebGPU, named a &#8220;<a href="https://github.com/gpuweb/gpuweb/blob/master/spec/index.bs#L664">pipeline state object</a>.&#8221; Though validating state is expensive, with WebGPU it is done once when the pipeline is created, outside of the core rendering loop. As a result, we can avoid performing expensive state analysis inside the draw call. Also, setting an entire pipeline state is a single function call, reducing the amount of &#8220;chatting&#8221; between Javascript and WebKit’s C++ browser engine.</p>
<p>Resources have a similar story. Most rendering algorithms require a set of resources in order to draw a particular material. In WebGL, each resource would be bound one-by-one, leading to code that looks like:</p>
<pre><code class="js"><span class="identifier">gl</span>.<span class="identifier">bindBufferRange</span>(<span class="identifier">gl</span>.<span class="identifier">UNIFORM_BUFFER</span>, <span class="number">0</span>, <span class="identifier">materialBuffer1</span>, <span class="number">0</span>, <span class="identifier">size1</span>);
<span class="identifier">gl</span>.<span class="identifier">bindBufferRange</span>(<span class="identifier">gl</span>.<span class="identifier">UNIFORM_BUFFER</span>, <span class="number">1</span>, <span class="identifier">materialBuffer2</span>, <span class="number">0</span>, <span class="identifier">size2</span>);
<span class="identifier">gl</span>.<span class="identifier">activeTexture</span>(<span class="number">0</span>);
<span class="identifier">gl</span>.<span class="identifier">bindTexture</span>(<span class="identifier">gl</span>.<span class="identifier">TEXTURE_2D</span>, <span class="identifier">materialTexture1</span>);
<span class="identifier">gl</span>.<span class="identifier">activeTexture</span>(<span class="number">1</span>);
<span class="identifier">gl</span>.<span class="identifier">bindTexture</span>(<span class="identifier">gl</span>.<span class="identifier">TEXTURE_2D</span>, <span class="identifier">materialTexture2</span>);
</code></pre>
<p>However, in WebGPU, resources are batched up into &#8220;<a href="https://github.com/gpuweb/gpuweb/blob/master/spec/index.bs#L572">bind groups</a>.&#8221; When using WebGPU, the behavior of the above code is represented as simply:</p>
<pre><code class="js"><span class="identifier">encoder</span>.<span class="identifier">setBindGroup</span>(<span class="number">0</span>, <span class="identifier">bindGroup</span>);
</code></pre>
<p>In both of these examples, multiple objects are gathered up together and baked into a hardware-dependent format, which is when the browser performs validation. Being able to separate object validation from object use means the application author has more control over when expensive operations occur in the lifecycle of their application.</p>
<h3>Run-time Performance</h3>
<p>We expect WebGPU to perform faster and handle larger workloads than WebGL. To measure performance, we adopted the test harness from our 2D graphics benchmark <a href="https://browserbench.org/MotionMark1.1/">MotionMark</a> and wrote two versions of a performance test that had a simple yet realistic workload, one in <a href="https://browserbench.org/MotionMark1.1/developer.html?test-interval=30&amp;display=minimal&amp;tiles=big&amp;controller=ramp&amp;frame-rate=50&amp;kalman-process-error=1&amp;kalman-measurement-error=4&amp;time-measurement=performance&amp;suite-name=3DGraphics&amp;test-name=TrianglesWebGL">WebGL</a> and the other in <a href="https://browserbench.org/MotionMark1.1/developer.html?test-interval=10&amp;display=minimal&amp;tiles=big&amp;controller=ramp&amp;frame-rate=50&amp;kalman-process-error=1&amp;kalman-measurement-error=4&amp;time-measurement=performance&amp;suite-name=3DGraphics&amp;test-name=TrianglesWebGPU">WebGPU</a>.</p>
<p>The test measures how many triangles with different properties can be drawn while maintaining 60 frames per second. Each triangle renders with a different draw call and bind group; this mimics the way many games render objects (like characters, explosions, bullets, or environment objects) in different draw calls with different resources. Because much of the validation logic in WebGPU is performed during the creation of the bind group instead of inside the draw call, both of these calls execute much faster than the equivalent calls in WebGL.</p>
<figure class="widescreen mattewhite"><img src="https://webkit.org/wp-content/uploads/WSLTrianglesBenchmark.png" alt=""  class="wp-image-9534" srcset="https://webkit.org/wp-content/uploads/WSLTrianglesBenchmark.png 1210w, https://webkit.org/wp-content/uploads/WSLTrianglesBenchmark-300x125.png 300w, https://webkit.org/wp-content/uploads/WSLTrianglesBenchmark-768x321.png 768w, https://webkit.org/wp-content/uploads/WSLTrianglesBenchmark-1024x428.png 1024w" sizes="(max-width: 1210px) 100vw, 1210px" /></figure>
<h2>Web Shading Language</h2>
<p>The WebGPU community group is actively discussing which shading language or languages should be supported by the specification. Last year, we <a href="https://webkit.org/blog/8482/web-high-level-shading-language/">proposed</a> a new shading language for WebGPU. We are pleased to announce that a beta version of this language is available in Safari Technology Preview 91.</p>
<p>Because of community feedback, our approach toward designing the language has evolved. Previously, we designed the language to be source-compatible with HLSL, but we realized this compatibility was not what the community was asking for. Many wanted the shading language to be as simple and as low-level as possible. That would make it an easier compile target for whichever language their development shop uses.</p>
<p>There are many Web developers using GLSL today in WebGL, so a potential browser accepting a different high level language, like HLSL, wouldn&#8217;t suit their needs well. In addition, a high-level language such as HLSL can&#8217;t be executed faithfully on every platform and graphics API that WebGPU is designed to execute on.</p>
<p>So, we decided to make the language more simple, low-level, and fast to compile, and renamed the language to Web Shading Language to match this pursuit.<a name="footnoteTwo" href="#footnotes" class="footnote">2</a></p>
<p>The name change reflects a shift in our approach, but the major tenets of WSL have not changed. It&#8217;s still a language that is high-performance. It&#8217;s still text-based, which integrates well with existing web technologies and culture. WSL&#8217;s semantics still bake in safety and portability. It still works great as a compile target. As expected for every web technology, the language is well-defined with a <a href="https://gpuweb.github.io/WSL/">robust specification</a>. And because the WebGPU Community Group owns the language, it matures in concert with the WebGPU API.</p>
<p>In an upcoming post, we’ll talk more about the technical details of this language update. Here, let’s discuss further about WSL’s performance characteristics.</p>
<h3>Wire Size</h3>
<p>The Babylon.js demo above demonstrates an area where WSL really shines. The shaders in the demo use complex <a href="https://en.wikipedia.org/wiki/Physically_based_rendering">physically-based</a> algorithms to draw with the highest realism possible. Babylon.js creates these complex shading algorithms by stitching together snippets of shader source code at run-time. This way, Babylon&#8217;s shaders are tuned at run-time to the specific type of content the application contains. Since WSL is a textual language like GLSL, this kind of workflow can be accomplished simply with string concatenation.</p>
<p>Building shaders by string concatenation and compiling them directly is a dramatic improvement over languages which cannot do this kind of manipulation easily, like bytecode-based languages. For these other languages, generation of shaders at run-time requires the execution of an additional compiler, written in JavaScript or WebAssembly, to compile the generated source text into the bytecode form.</p>
<p>This extra step slows down performance in two ways. First, the execution of the additional compiler takes time. Second, the compiler source would have to be served with the rest of the web page’s resources, which increases the page size and lengthens the loading time of the web page. On the other hand, since WSL’s format is textual, there’s no additional compile step; you can just write it and run it!</p>
<p>As a point of comparison, let’s take the Babylon.js demo shown above. Babylon.js renders scenes by joining GLSL shader snippets at runtime. When using WSL, Babylon.js would simply serve the WSL snippets just like they’re serving GLSL snippets today. To do the same with SPIR-V, Babylon.js would serve their shader snippets along with a compiler that compiles these textual snippets down to SPIR-V. Chrome recently <a href="https://www.youtube.com/watch?v=K2JzIUIHIhc">announced</a> their support for WebGPU with SPIR-V using the same demo. Here is a comparison of the gzipped wire sizes for the shaders as WSL, and that of the shaders as GLSL and the SPIR-V compiler:</p>
<figure class="widescreen mattewhite"><img src="https://webkit.org/wp-content/uploads/WSLGzippedWireSize.png" alt="" class="wp-image-9535" srcset="https://webkit.org/wp-content/uploads/WSLGzippedWireSize.png 1132w, https://webkit.org/wp-content/uploads/WSLGzippedWireSize-300x128.png 300w, https://webkit.org/wp-content/uploads/WSLGzippedWireSize-768x328.png 768w, https://webkit.org/wp-content/uploads/WSLGzippedWireSize-1024x438.png 1024w" sizes="(max-width: 1132px) 100vw, 1132px" /></figure>
<p>The top bar shows the wire size if Babylon.js used WSL directly. The middle bar shows the wire size of the GLSL source, plus the compiler that Babylon.js uses to compile their snippets into SPIR-V. The bottom bar shows the wire size if Babylon.js simply served the results of their SPIR-V compilation. Because of the dynamic nature of Babylon.js’s shaders, they assemble their shaders at runtime and compile them dynamically, so they require the SPIR-V compiler. However, other websites’ shaders may be more static, in which case they wouldn’t need the compiler and could serve the SPIR-V directly, like in the bottom bar in the graph above.</p>
<h3>Compilation Performance</h3>
<p>We&#8217;ve heard from developers that shader compilation performance is extremely important. One way the community group addressed this was designing WebGPU to support asynchronous compilation, which avoids blocking successive rendering commands. Asynchronous compilation isn’t a magic bullet, though. If the next rendering command uses a shader currently being compiled, that rendering command must wait for the compilation complete. So, we&#8217;ve put significant effort into making WSL compilation times fast.</p>
<p>The WebGPU community created a compute shader to demonstrate the flocking characteristics of &#8220;boids,&#8221; and we turned that sample into a <a href="https://webkit.org/demos/webgpu/compute-boids-compile.html">compiler performance benchmark</a>. Here we compare the compilation time of WSL with the run-time of the GLSL compiler to SPIR-V running as a WebAssembly library:</p>
<figure class="widescreen mattewhite"><img src="https://webkit.org/wp-content/uploads/WSLCompilationTime.png" alt="" class="wp-image-9536" srcset="https://webkit.org/wp-content/uploads/WSLCompilationTime.png 1082w, https://webkit.org/wp-content/uploads/WSLCompilationTime-300x131.png 300w, https://webkit.org/wp-content/uploads/WSLCompilationTime-768x335.png 768w, https://webkit.org/wp-content/uploads/WSLCompilationTime-1024x447.png 1024w" sizes="(max-width: 1082px) 100vw, 1082px" /></figure>
<p>As you can see, we’re continuing to optimize compilation performance, and it’s been increasing both throughout and after STP 91’s release.</p>
<h2>Give WebGPU a try!</h2>
<p>We&#8217;re very excited to have implemented a beta version of WebGPU and WSL in the latest version of Safari Technology Preview. Try it out and let us know how well it works for you! We&#8217;re interested in feedback so we can evolve the WebGPU and WSL language to better suit everyone&#8217;s needs.</p>
<p>And be sure to check out our <a href="https://webkit.org/demos/webgpu/">gallery of WebGPU samples</a>. We&#8217;ll be keeping this page updated with the latest demos. Many thanks to Sebastien Vandenberghe and David Catuhe from Babylon.js for their help with Babylon.js in Safari.</p>
<p>For more information, you can contact me at <a href="mailto:mmaxfield@apple.com">mmaxfield@apple.com</a> or <a href="http://twitter.com/Litherum">@Litherum</a>, or you can contact our evangelist, <a href="mailto:jond@apple.com">Jonathan Davis</a>.</p>
<p><a name="footnotes" class="footnote"></a><br />
<a href="#footnoteOne">1</a> To enable WebGPU beta support, in Develop menu, select Experimental Features > WebGPU.<br />
<a href="#footnoteTwo">2</a> We still pronounce it “whistle”, though.</p>
]]></content:encoded>
							<enclosure url="https://webkit.org/wp-content/uploads/WebGPUDemoVideo.mp4" length="2410187" type="video/mp4" />
			</item>
		<item>
		<title>Release Notes for Safari Technology Preview 91</title>
		<link>https://webkit.org/blog/9526/release-notes-for-safari-technology-preview-91/</link>
				<pubDate>Wed, 04 Sep 2019 17:00:52 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[Safari Technology Preview]]></category>

		<guid isPermaLink="false">https://webkit.org/?p=9526</guid>
				<description><![CDATA[Safari Technology Preview Release 91 is now available for download for macOS Mojave and the macOS Catalina beta.]]></description>
								<content:encoded><![CDATA[<p><a href="https://webkit.org/blog/6017/introducing-safari-technology-preview/">Safari Technology Preview</a> Release 91 is now <a href="https://webkit.org/downloads/">available for download</a> for macOS Mojave and the macOS Catalina beta. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS.</p>
<p>This release covers WebKit revisions <a href="https://trac.webkit.org/log?stop_rev=248705&amp;&amp;rev=249190&amp;limit=999">248705-249190</a>.</p>
<h3>Security</h3>
<ul>
<li>Disabled legacy TLS 1.0 and TLS 1.1 (<a href="https://trac.webkit.org/changeset/249019/webkit/">r249019</a>)</li>
</ul>
<h3>JavaScript API</h3>
<ul>
<li>Added a public API for unhandled promise rejections (<a href="https://trac.webkit.org/changeset/249058/webkit/">r249058</a>)</li>
<li>Added support for hashbang in ESNext (<a href="https://trac.webkit.org/changeset/248826/webkit/">r248826</a>)</li>
<li>Implemented optional chaining in ESNext (<a href="https://trac.webkit.org/changeset/248829/webkit/">r248829</a>)</li>
<li>Implemented <code>StaticRange</code> constructor (<a href="https://trac.webkit.org/changeset/249079/webkit/">r249079</a>)</li>
<li>Fixed <code>Date.prototype.toJSON</code> to not throw an exception if <code>toISOString</code> returns an object (<a href="https://trac.webkit.org/changeset/248876/webkit/">r248876</a>)</li>
<li>Fixed more missing exception checks in <code>String.prototype</code> (<a href="https://trac.webkit.org/changeset/248716/webkit/">r248716</a>)</li>
<li>Fixed a bad error message when <code>for-await-of</code> is used in a non-async function (<a href="https://trac.webkit.org/changeset/248711/webkit/">r248711</a>)</li>
<li>Fixed ProxyObject to not allow access to its target&#8217;s private properties (<a href="https://trac.webkit.org/changeset/248796/webkit/">r248796</a>)</li>
<li>Updated the Promise constructor to check argument before `Construct?&#8220; (<a href="https://trac.webkit.org/changeset/248787/webkit/">r248787</a>)</li>
<li>Updated <code>Promise.prototype.finally</code> to accept non-promise objects (<a href="https://trac.webkit.org/changeset/248793/webkit/">r248793</a>)</li>
</ul>
<h3>JavaScript Performance</h3>
<ul>
<li>Changed to avoid looking up the <code>join</code> function each time <code>Array.prototype.toString</code> is called (<a href="https://trac.webkit.org/changeset/248906/webkit/">r248906</a>)</li>
<li>Ensured <code>x?.y ?? z</code> is fast (<a href="https://trac.webkit.org/changeset/249117/webkit/">r249117</a>)</li>
</ul>
<h3>Media</h3>
<ul>
<li>Fixed firing <code>webkitpresentationmodechanged</code> twice when exiting picture-in-picture (<a href="https://trac.webkit.org/changeset/249141/webkit/">r249141</a>)</li>
<li>Updated to stop <code>MediaDevices</code> timer when stopping <code>MediaDevices</code> (<a href="https://trac.webkit.org/changeset/248853/webkit/">r248853</a>)</li>
<li>Fixed removing fullscreen element in a <code>requestAnimationFrame()</code> callback after <code>requestFullscreen()</code> leaving fullscreen in an inconsistent state (<a href="https://trac.webkit.org/changeset/249147/webkit/">r249147</a>)</li>
<li>Disabled devices should not be taken into account when searching for a capture device (<a href="https://trac.webkit.org/changeset/249154/webkit/">r249154</a>)</li>
</ul>
<h3>Web API</h3>
<ul>
<li>Started to expose Geolocation interfaces (<code>GeolocationPosition</code>, <code>GeolocationPositionError, and</code> <code>GeolocationCoordinates</code>) on the global <code>Window</code> object (<a href="https://trac.webkit.org/changeset/249066/webkit/">r249066</a>)</li>
<li>Fixed Emoji with variation selectors to be rendered in emoji style, not text style (<a href="https://trac.webkit.org/changeset/248815/webkit/">r248815</a>)</li>
<li>Changed SVG elements to become focusable when <code>focus</code> and <code>key</code> event listeners are added (<a href="https://trac.webkit.org/changeset/248983/webkit/">r248983</a>)</li>
<li>Changed the default tab index of <code>output</code> and <code>fieldset</code> to be -1 (<a href="https://trac.webkit.org/changeset/248914/webkit/">r248914</a>)</li>
</ul>
<h3>Rendering</h3>
<ul>
<li>Fixed drawing an animated image to a canvas via <code>drawImage</code> to draw the first frame (<a href="https://trac.webkit.org/changeset/249162/webkit/">r249162</a>)</li>
</ul>
<h3>Pointer Events</h3>
<ul>
<li>Fixed removing the capture element preventing future pointer events from being dispatched on macOS (<a href="https://trac.webkit.org/changeset/248855/webkit/">r248855</a>)</li>
</ul>
<h3>WebDriver</h3>
<ul>
<li>Fixed mouse buttons to be correctly printed in <code>SimulatedInputDispatcher</code> logging (<a href="https://trac.webkit.org/changeset/248715/webkit/">r248715</a>)</li>
</ul>
<h3>Web Inspector</h3>
<ul>
<li>Elements
<ul>
<li>Fixed issue where &#8220;Copy Rule&#8221; menu item copied commented out properties incorrectly (<a href="https://trac.webkit.org/changeset/249089/webkit/">r249089</a>)</li>
<li>Changed to automatically enable the event listener when setting a breakpoint on it in the Node details sidebar (<a href="https://trac.webkit.org/changeset/248765/webkit/">r248765</a>)</li>
<li>Changed the DOM tree to always be LTR, even in RTL mode (<a href="https://trac.webkit.org/changeset/248991/webkit/">r248991</a>)</li>
</ul>
</li>
<li>Network
<ul>
<li>Changed the Headers pane to always be LTR, even in RTL mode (<a href="https://trac.webkit.org/changeset/248889/webkit/">r248889</a>)</li>
</ul>
</li>
<li>Resources
<ul>
<li>Added syntax highlighting for more CSS media queries (<a href="https://trac.webkit.org/changeset/248810/webkit/">r248810</a>)</li>
<li>Added syntax highlighting for JavaScript <code>BigInt</code> (<a href="https://trac.webkit.org/changeset/248898/webkit/">r248898</a>, <a href="https://trac.webkit.org/changeset/248908/webkit/">r248908</a>)</li>
<li>Added pretty printing support for more modern JavaScript language features (<a href="https://trac.webkit.org/changeset/248760/webkit/">r248760</a>, <a href="https://trac.webkit.org/changeset/248785/webkit/">r248785</a>, <a href="https://trac.webkit.org/changeset/248922/webkit/">r248922</a>, <a href="https://trac.webkit.org/changeset/248923/webkit/">r248923</a>)</li>
<li>Fixed a CodeMirror issue where tabs were still used even when the &#8220;Prefer indent using&#8221; setting is set to &#8220;Spaces&#8221; (<a href="https://trac.webkit.org/changeset/248739/webkit/">r248739</a>)</li>
</ul>
</li>
<li>Debugger
<ul>
<li>Added a global breakpoint for pausing in the next microtask (<a href="https://trac.webkit.org/changeset/248894/webkit/">r248894</a>)</li>
<li>Fixed an issue where the Assertion Failures breakpoint didn’t work when inspecting a JSContext (<a href="https://trac.webkit.org/changeset/248891/webkit/">r248891</a>)</li>
</ul>
</li>
<li>Console
<ul>
<li>Implemented <code>queryHolders</code> Command Line API function (<a href="https://trac.webkit.org/changeset/248925/webkit/">r248925</a>)</li>
<li>Updated <code>console.dir</code> to start out expanded when given an object (<a href="https://trac.webkit.org/changeset/249034/webkit/">r249034</a>)</li>
<li>Created additional Command Line API functions for other <code>console</code> methods (<a href="https://trac.webkit.org/changeset/249078/webkit/">r249078</a>)</li>
<li>Changed the Console to always be LTR, even in RTL mode (<a href="https://trac.webkit.org/changeset/248766/webkit/">r248766</a>)</li>
</ul>
</li>
<li>Sources (Experimental)
<ul>
<li>Fixed an issue where the gear icon would move to the second line when the navigation sidebar is narrow (<a href="https://trac.webkit.org/changeset/248818/webkit/">r248818</a>)</li>
<li>Fixed an issue where the &#8220;No Filter Results&#8221; message was displayed on top of all of the other content, preventing any interaction (<a href="https://trac.webkit.org/changeset/248737/webkit/">r248737</a>)</li>
<li>Gave Origins their own icon in the navigation sidebar (<a href="https://trac.webkit.org/changeset/248912/webkit/">r248912</a>)</li>
<li>Moved the resource type scope bar to be next to the filter in the navigation sidebar (<a href="https://trac.webkit.org/changeset/248916/webkit/">r248916</a>, <a href="https://trac.webkit.org/changeset/248940/webkit/">r248940</a>)</li>
<li>Provided a way to create an arbitrary Inspector Style Sheet (<a href="https://trac.webkit.org/changeset/248753/webkit/">r248753</a>)</li>
</ul>
</li>
<li>Layers (Experimental)
<ul>
<li>Fixed the background of the 3D area not updating when transitioning to/from Dark Mode (<a href="https://trac.webkit.org/changeset/248735/webkit/">r248735</a>)</li>
</ul>
</li>
</ul>
<h3>WebGPU</h3>
<ul>
<li>Added unary plus (<a href="https://trac.webkit.org/changeset/248756/webkit/">r248756</a>)</li>
<li>Changed enums to not be shadowed by local variables (<a href="https://trac.webkit.org/changeset/248812/webkit/">r248812</a>)</li>
<li>Fixed WebGPU layers not showing up sometimes (<a href="https://trac.webkit.org/changeset/248879/webkit/">r248879</a>)</li>
<li>Implemented GPUErrors for and relax GPUBuffer validation rules (<a href="https://trac.webkit.org/changeset/249183/webkit/">r249183</a>)</li>
<li>Made <code>operator==</code> native and added bool matrices (<a href="https://trac.webkit.org/changeset/248795/webkit/">r248795</a>)</li>
<li>Updated matrices to have constructors that take a flattened list of scalars (<a href="https://trac.webkit.org/changeset/248754/webkit/">r248754</a>)</li>
<li>Updated vertex shader and fragment shader to be able to come from two different programs (<a href="https://trac.webkit.org/changeset/248993/webkit/">r248993</a>)</li>
</ul>
]]></content:encoded>
										</item>
		<item>
		<title>How Web Content Can Affect Power Usage</title>
		<link>https://webkit.org/blog/8970/how-web-content-can-affect-power-usage/</link>
				<pubDate>Tue, 27 Aug 2019 17:00:58 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[Web Inspector]]></category>

		<guid isPermaLink="false">https://webkit.org/?p=8970</guid>
				<description><![CDATA[Users spend a large proportion of their online time on mobile devices, and a significant fraction of the rest is users on untethered laptop computers.]]></description>
								<content:encoded><![CDATA[<style>@media (prefers-color-scheme:dark) { figure picture img { filter: none; } }</style>
<p>Users spend a large proportion of their online time on mobile devices, and a significant fraction of the rest is users on untethered laptop computers. For both, battery life is critical. In this post, we&#8217;ll talk about factors that affect battery life, and how you, as a web developer, can make your pages more power efficient so that users can spend more time engaged with your content.</p>
<h2>What Draws Power?</h2>
<p>Most of the energy on mobile devices is consumed by a few major components:</p>
<ul>
<li>CPU (Main processor)</li>
<li>GPU (Graphics processing)</li>
<li>Networking (Wi-Fi and cellular radio chips)</li>
<li>Screen</li>
</ul>
<p>Screen power consumption is relatively constant and mostly under the user&#8217;s control (via screen on-time and brightness), but the other components, the CPU, GPU and networking hardware have high dynamic range when it comes to power consumption.</p>
<p>The system adapts the CPU and GPU performance based on the current tasks being processed, including, of course, rendering web pages that the user is interacting with in their web browser and other apps using web content. This is done through turning some components on or off, and by changing their <a href="https://en.wikipedia.org/wiki/Clock_rate">clock frequency</a>. In broad terms, the more performance that is required from the chips, the lower their power-efficiency. The hardware can ramp up to high performance very quickly (but at a large power cost), then rapidly go back to a more efficient <a href="https://software.intel.com/en-us/articles/power-management-states-p-states-c-states-and-package-c-states">low-power state</a>.</p>
<h2>General Principles for Good Power Usage</h2>
<p>To maximize battery life, you therefore want to reduce the amount of time spent in high-power states, and let the hardware go back to idle as much as possible.</p>
<p>For web developers, there are three states of interaction to think about:</p>
<ul>
<li>When the user is actively interacting with the content.</li>
<li>When the page is the frontmost, but the user is not interacting with it.</li>
<li>When the page is not the frontmost content.</li>
</ul>
<h3>Efficient user interaction</h3>
<p>Obviously it&#8217;s good to expend power at times when the user is interacting with the page. You want the page to load fast and respond quickly to touch. In many cases, the same optimizations that reduce time to first paint and time to user interactive will also reduce power usage. However, be cautious about continuing to load resources and to run script after the initial page load. The goal should be to get back to idle as fast as possible. In general, the less JavaScript that runs, the more power-efficient the page will be, because script is work on top of what the browser has already done to layout and paint the page.</p>
<p>Once the page has loaded, user interactions like scrolling and tapping will also ramp up the hardware power (mainly the CPU and GPU), which again makes sense, but make sure to go back to idle as soon as the user stops interacting. Also, try to stay on the browser &#8220;fast paths&#8221; — for example, normal page scrolling will be much more power-efficient than custom scrolling implemented in JavaScript.</p>
<h3>Drive idle power usage towards zero</h3>
<p>When the user is not interacting with the page, try to make the page use as little power as possible. For example:</p>
<ul>
<li>Minimize the use of timers to avoid waking up the CPU. Try to coalesce timer-based work into a few, infrequent timers. Lots of uncoordinated timers which trigger frequent CPU wake-ups are much worse than gathering that work into fewer chunks.</li>
<li>Minimize continually animating content, like animated images and auto-playing video. Be particularly vigilant to avoid &#8220;loading&#8221; spinner GIFs or CSS animations that continually trigger painting, even if you can&#8217;t see them. <a href="https://webkit.org/blog/8582/intersectionobserver-in-webkit/">IntersectionObserver</a> can be used to runs animations only when they are visible.</li>
<li>Use declarative animations (CSS <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/animation">Animations</a> and <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions">Transitions</a>) where possible. The browser can optimize these away when the animating content is not visible, and they are more efficient than script-driven animation.</li>
<li>Avoid network polling to obtain periodic updates from a server. Use <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API">WebSockets</a> or <a href="https://webkit.org/blog/7521/a-few-words-on-fetching-bytes/">Fetch</a> with a persistent connection, instead of polling.</li>
</ul>
<p>A page that is doing work when it should be idle will also be less responsive to user interaction, so minimizing background activity also improves responsiveness as well as battery life.</p>
<h3>Zero CPU usage while in the background</h3>
<p>There are various scenarios where a page becomes inactive (not the user&#8217;s primary focus), for instance:</p>
<ul>
<li>The user switches to a different tab.</li>
<li>The user switches to a different app.</li>
<li>The browser window is minimized.</li>
<li>The browser window is visible but is not the focused window.</li>
<li>The browser window is behind another window.</li>
<li>The space the window is on is not the current space.</li>
</ul>
<p>When a page becomes inactive, WebKit automatically takes steps to save power:</p>
<ul>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame"><code>requestAnimationFrame</code></a> is stopped.</li>
<li>CSS and SVG Animations are suspended.</li>
<li>Timers are throttled.</li>
</ul>
<p>In addition, WebKit takes advantage of features provided by the operating system to maximize efficiency:</p>
<ul>
<li>on iOS, tabs are completely suspended when possible.</li>
<li>on macOS, tabs participate in <a href="https://developer.apple.com/library/archive/documentation/Performance/Conceptual/power_efficiency_guidelines_osx/AppNap.html">App Nap</a>, which means that the web process for a tab that is not visually updating gets lower priority and has its timers throttled.</li>
</ul>
<p>However, pages can trigger CPU wake-ups via timers (<code>setTimeout</code> and <code>setInterval</code>), messages, network events, etc. You should avoid these when in the background as much as possible. There are two APIs that are useful for this:</p>
<ul>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API" target="_blank" rel="noopener noreferrer">Page Visibility API</a> provides a way to respond to a page transitioning to be in the background or foreground. This is a good way to avoid updating the UI while the page is in the background, then using the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilitychange_event"><code>visibilitychange</code> event</a> to update the content when the page becomes visible.</li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event" target="_blank" rel="noopener noreferrer"><code>blur</code> events</a> are sent whenever the page is no longer focused. In that case, a page may still be visible but it is not the currently focused window. Depending on the page, it can be a good idea to stop animations.</li>
</ul>
<p>The easiest way to find problems is Web Inspector’s Timelines. The recording should not show any event happening while the page is in the background.</p>
<h2>Hunting Power Inefficiencies</h2>
<p>Now that we know the main causes of power use by web pages and have given some general rules about creating power-efficient content, let&#8217;s talk about how to identify and fix issues that cause excessive power drain.</p>
<h3>Scripting</h3>
<p>As mentioned above, modern CPUs can ramp power use from very low, when the device is idle, to very high to meet the demands of user interaction and other tasks. Because of this, the CPU is a leading cause of battery life variance. CPU usage during page loading is a combination of work the browser engine does to load, parse and render resources, and in executing JavaScript. On many modern web pages, time spent executing JavaScript far exceeds the time spent by the browser in the rest of the loading process, so minimizing JavaScript execution time will have the biggest benefits for power.</p>
<p>The best way to measure CPU usage is with Web Inspector. As we showed in a previous post, the <a href="https://webkit.org/blog/8993/cpu-timeline-in-web-inspector/">timeline now shows</a> the CPU activity for any selected time range:</p>
<figure class="widescreen mattewhite"><picture><source srcset="https://webkit.org/wp-content/uploads/Web-Inspector-CPU-Timeline-Overview-Dark.png" media="(prefers-color-scheme: dark)" /><img style="width: 100%; max-width: 1189px;" src="https://webkit.org/wp-content/uploads/Web-Inspector-CPU-Timeline-Overview-Light.png" /></picture></figure>
<p>To use the CPU efficiently, WebKit distributes work over multiple cores when possible (and pages using Workers will also be able to make use of multiple cores). Web Inspector provides a breakdown of the threads running concurrently with the page&#8217;s main thread. For example, the following screenshot shows the threads while scrolling a page with complex rendering and video playback:</p>
<figure class="widescreen mattewhite"><picture><source srcset="https://webkit.org/wp-content/uploads/Power-heavy-website-dark.png" media="(prefers-color-scheme: dark)" /><img style="width: 100%; max-width: 1086px;" src="https://webkit.org/wp-content/uploads/Power-heavy-website-light.png" /></picture></figure>
<p>When looking for things to optimize, focus on the main thread, since that&#8217;s where your JavaScript is running (unless you&#8217;re using Workers), and use the &#8220;JavaScript and Events&#8221; timeline to understand what&#8217;s triggering your script. Perhaps you&#8217;re doing too much work in response to user or scroll events, or triggering updates of hidden elements from requestAnimationFrame. Be cognizant of work done by JavaScript libraries and third party scripts that you use on your page. To dig deeper, you can use Web Inspector&#8217;s <a href="https://webkit.org/blog/6539/introducing-jscs-new-sampling-profiler/">JavaScript profiler</a> to see where time is being spent.</p>
<p>Activity in &#8220;WebKit Threads&#8221; is mostly triggered by work related to JavaScript: JIT compilation and garbage collection, so reducing the amount of script that runs, and reducing the churn of JavaScript objects should lower this.</p>
<p>Various other system frameworks invoked by WebKit make use of threads, so &#8220;Other threads&#8221; include work done by those; the largest contributor to &#8220;Other thread&#8221; activity is painting, which we&#8217;ll talk about next.</p>
<h3>Painting</h3>
<p>Main thread CPU usage can also be triggered by lots of layout and painting; these are usually triggered by script, but a CSS animation of a property other than <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/transform"><code>transform</code></a>, <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/opacity"><code>opacity</code></a> and <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/filter"><code>filter</code></a> can also cause them. Looking at the “Layout and Rendering” timeline will help you understand what’s causing activity.</p>
<p>If the &#8220;Layout and Rendering&#8221; timeline shows painting but you can&#8217;t figure out what&#8217;s changing, turn on Paint Flashing:</p>
<figure>
<picture><source srcset="https://webkit.org/wp-content/uploads/Enable-Paint-Flashing-dark.png" media="(prefers-color-scheme: dark)" /><img style="width: 100%; max-width: 350px;" src="https://webkit.org/wp-content/uploads/Enable-Paint-Flashing-light.png" /></picture>
</figure>
<p>This will cause those paints to be briefly highlighted with a red overlay; you might have to scroll the page to see them. Be aware that WebKit keeps some &#8220;overdraw&#8221; tiles to allow for smooth scrolling, so paints that are not visible in the viewport can still be doing work to keep offscreen tiles up-to-date. If a paint shows in the timeline, it&#8217;s doing actual work.</p>
<p>In addition to causing power usage by the CPU, painting usually also triggers GPU work. WebKit on macOS and iOS uses the GPU for painting, and so triggering painting can cause significant increases in power. The additional CPU usage will often show under &#8220;Other threads&#8221; in the CPU Usage timeline.</p>
<p>The GPU is also used for <a href="https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API"><code>&lt;canvas&gt;</code></a> rendering, both 2D canvas and WebGL/WebGPU. To minimize drawing, don&#8217;t call into the <code>&lt;canvas&gt;</code> APIs if the canvas content isn&#8217;t changing, and try to optimize your canvas drawing commands.</p>
<p>Many Mac laptops have two GPUs, an &#8220;integrated&#8221; GPU which is on the same die as the CPU, and is less powerful but more power-efficient, and a more powerful, but more power-hungry &#8220;discrete&#8221; GPU. WebKit will default to using the integrated GPU by default; you can request the discrete GPU using the <a href="https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.2.1"><code>powerPreference</code></a> context creation parameter, but only do this if you can justify the power cost.</p>
<h3>Networking</h3>
<p>Wireless networking can affect battery life in unexpected ways. Phones are the most affected due to their combination of powerful radios (the WiFi and cellular network chips) with a smaller battery. Unfortunately, measuring the power impact of networking is not easy outside of a lab, but can be reduced by following some simple rules.</p>
<p>The most direct way to reduce networking power usage is to maximize the use of the browser&#8217;s cache. All of the best practices for minimizing page load time also benefit the battery by reducing how long the radios need to be powered on.</p>
<p>Another important aspect is to group network requests together temporally. Any time a new request comes, the operating system needs to power on the radio, connect to the base station or cell tower, and transmit the bytes. After transmitting the packets, the radio remains powered for a small amount of time in case more packets are transmitted.</p>
<p>If a page transmits small amounts of data infrequently, the overhead can become larger than the energy required to transmit the data:</p>
<figure class="mattewhite"><img class="wp-image-8984" src="https://webkit.org/wp-content/uploads/Networking-Power-Overhead-of-two-small-transmissions.png" alt="Networking Power Overhead of transmitting 2 packets with a delay between them" srcset="https://webkit.org/wp-content/uploads/Networking-Power-Overhead-of-two-small-transmissions.png 1162w, https://webkit.org/wp-content/uploads/Networking-Power-Overhead-of-two-small-transmissions-300x137.png 300w, https://webkit.org/wp-content/uploads/Networking-Power-Overhead-of-two-small-transmissions-768x350.png 768w, https://webkit.org/wp-content/uploads/Networking-Power-Overhead-of-two-small-transmissions-1024x467.png 1024w" sizes="(max-width: 1162px) 100vw, 1162px" /></figure>
<p>Such issues can be discovered from Web Inspector in the <em>Network Requests</em> Timeline. For example, the following screenshot shows four separate requests (probably analytics) being sent over several seconds:</p>
<figure class="widescreen mattewhite"><picture><source srcset="https://webkit.org/wp-content/uploads/Network-requests-should-be-grouped-dark.png" media="(prefers-color-scheme: dark)" /><img style="width: 100%; max-width: 1076px;" src="https://webkit.org/wp-content/uploads/Network-requests-should-be-grouped-light.png" /></picture></figure>
<p>Sending all the requests at the same time would improve network power efficiency.</p>
<h2>Conclusion</h2>
<p>Webpages can be good citizens of battery life.</p>
<p>It’s important to measure the battery impact in Web Inspector and drive those costs down. Doing so improves the user experience and battery life.</p>
<p>The most direct way to improve battery life is to minimize CPU usage. The new Web Inspector provides a tool to monitor that over time.</p>
<p>To achieve great battery life the goals are:</p>
<ul>
<li>Drive CPU usage to zero in idle</li>
<li>Maximize performance during user interaction to quickly get back to idle</li>
</ul>
<p>If you have any questions, feel free to reach <a href="http://twitter.com/awfulben">me</a>, <a href="https://twitter.com/JosephPecoraro">Joseph Pecoraro</a>, <a href="https://twitter.com/dcrousso">Devin Rousso</a>, and of course <a href="https://twitter.com/jonathandavis">Jon Davis</a>.</p>
]]></content:encoded>
										</item>
		<item>
		<title>Release Notes for Safari Technology Preview 90</title>
		<link>https://webkit.org/blog/9515/release-notes-for-safari-technology-preview-90/</link>
				<pubDate>Wed, 21 Aug 2019 20:00:45 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[Safari Technology Preview]]></category>

		<guid isPermaLink="false">https://webkit.org/?p=9515</guid>
				<description><![CDATA[Safari Technology Preview Release 90 is now available for download for macOS Mojave and the macOS Catalina beta.]]></description>
								<content:encoded><![CDATA[<p><a href="https://webkit.org/blog/6017/introducing-safari-technology-preview/">Safari Technology Preview</a> Release 90 is now <a href="https://webkit.org/downloads/">available for download</a> for macOS Mojave and the macOS Catalina beta. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS.</p>
<p>This release covers WebKit revisions <a href="https://trac.webkit.org/log?stop_rev=248024&amp;&amp;rev=248705&amp;limit=999">248024-248705</a>.</p>
<h3>Web API</h3>
<ul>
<li>Fixed ping loads to not prevent page caching (<a href="https://trac.webkit.org/changeset/248265/webkit/">r248265</a>)</li>
<li>Prevented <code>autofocus</code> for cross-origin iframes (<a href="https://trac.webkit.org/changeset/248491/webkit/">r248491</a>)</li>
<li>Prevented navigations of frames about to get replaced by the result of evaluating javascript: URLs (<a href="https://trac.webkit.org/changeset/248410/webkit/">r248410</a>)</li>
<li>Updated <code>Element.outerHTML</code> to link missing attribute prefixes in some cases in HTML documents (<a href="https://trac.webkit.org/changeset/248042/webkit/">r248042</a>)</li>
<li>Updated the wrapper for <code>navigator.geolocation</code> to not become GC-collectable once its frame is detached (<a href="https://trac.webkit.org/changeset/248276/webkit/">r248276</a>)</li>
</ul>
<h3>Media</h3>
<ul>
<li>Fixed an issue where muted <code>&lt;video&gt;</code> elements could block the display from sleeping (<a href="https://trac.webkit.org/changeset/248387/webkit/">r248387</a>)</li>
</ul>
<h3>WebRTC</h3>
<ul>
<li>Fixed incorrect <code>this</code> in <code>negotiationneeded</code> event (<a href="https://trac.webkit.org/changeset/248267/webkit/">r248267</a>)</li>
</ul>
<h3>WebGPU</h3>
<ul>
<li>Changed WebGPU to not force discrete GPU (<a href="https://trac.webkit.org/changeset/248704/webkit/">r248704</a>)</li>
<li>Improved WHLSL compile-time performance (<a href="https://trac.webkit.org/changeset/248025/webkit/">r248025,</a><a href="https://trac.webkit.org/changeset/248141/webkit/">r248141</a>, <a href="https://trac.webkit.org/changeset/248280/webkit/">r248280</a>, <a href="https://trac.webkit.org/changeset/248310/webkit/">r248310</a>, <a href="https://trac.webkit.org/changeset/248083/webkit/">r248083</a>)</li>
<li>Removed <code>char</code>, <code>short</code>, and <code>half</code> types (<a href="https://trac.webkit.org/changeset/248078/webkit/">r248078</a>)</li>
</ul>
<h3>Web Inspector</h3>
<ul>
<li>Elements
<ul>
<li>Added a way to disable or set a breakpoint on all event listeners for a given DOM node or event type in the Node details sidebar panel (<a href="https://trac.webkit.org/changeset/248052/webkit/">r248052</a>)</li>
<li>Added showing <code>@supports</code> CSS groupings in the Styles details sidebar panel (<a href="https://trac.webkit.org/changeset/248602/webkit/">r248602</a>)</li>
<li>Added experimental quick-action icon buttons to each CSS rule in the Styles details sidebar panel (<a href="https://trac.webkit.org/changeset/248202/webkit/">r248202</a>)</li>
<li>Added display of radius values in Box Model section of the Computed details sidebar panel (<a href="https://trac.webkit.org/changeset/248328/webkit/">r248328</a>)</li>
<li>Fixed an issue where CSS variable swatches were not shown for <code>var()</code> with a fallback in the Styles details sidebar panel (<a href="https://trac.webkit.org/changeset/248279/webkit/">r248279</a>)</li>
<li>Fixed some RTL issues in the Computed details sidebar panel (<a href="https://trac.webkit.org/changeset/248390/webkit/">r248390</a>, <a href="https://trac.webkit.org/changeset/248311/webkit/">r248311</a>)</li>
<li>Moved psuedo-selector rules before inherited rules in the Styles details sidebar panel (<a href="https://trac.webkit.org/changeset/248204/webkit/">r248204</a>)</li>
<li>Moved the Box Model section to the top of the Computed details sidebar panel (<a href="https://trac.webkit.org/changeset/248683/webkit/">r248683</a>)</li>
</ul>
</li>
<li>Resources
<ul>
<li>Fixed brotli-compressed resources to correctly show as being compressed in the Resources details sidebar (<a href="https://trac.webkit.org/changeset/248284/webkit/">r248284</a>)</li>
<li>Fixed to properly handle CSS comments with an escape character when pretty printing (<a href="https://trac.webkit.org/changeset/248197/webkit/">r248197</a>)</li>
</ul>
</li>
<li>Debugger
<ul>
<li>Added a global breakpoint for &#8220;All Events&#8221; which will pause whenever any event listener is about to be fired (<a href="https://trac.webkit.org/changeset/248201/webkit/">r248201</a>)</li>
</ul>
</li>
<li>Timelines
<ul>
<li>Made Heap Snapshots searchable (<a href="https://trac.webkit.org/changeset/248198/webkit/">r248198</a>)</li>
<li>Fixed an issue where <strong>Develop</strong> > <strong>Start Timeline Recording</strong> didn’t work when focused on a detached Web Inspector window (<a href="https://trac.webkit.org/changeset/248177/webkit/">r248177</a>)</li>
</ul>
</li>
<li>Console
<ul>
<li>Changed to always show all navigation items in the header area of the split console (<a href="https://trac.webkit.org/changeset/248180/webkit/">r248180</a>)</li>
<li>Fixed issue where the execution context picker didn’t update when switching to the inferred context from <code>auto</code> (<a href="https://trac.webkit.org/changeset/248196/webkit/">r248196</a>)</li>
<li>Provided a way to set an alias for previous console evaluation values (e.g. <code>$0</code>, <code>$1</code>, &#8230;,  <code>$99</code>) in case the inspected page has variables with the same name (<a href="https://trac.webkit.org/changeset/248287/webkit/">r248287</a>)</li>
<li>Renamed <code>queryObjects</code> console command line API to <code>queryInstances</code> for clarity (<a href="https://trac.webkit.org/changeset/248434/webkit/">r248434</a>)</li>
<li>Supported <code>console.screenshot</code> with dataURL strings (<a href="https://trac.webkit.org/changeset/248688/webkit/">r248688</a>)</li>
</ul>
</li>
<li>Overlay
<ul>
<li>Changed to show page width and height information (<a href="https://trac.webkit.org/changeset/248053/webkit/">r248053</a>)</li>
</ul>
</li>
<li>Settings
<ul>
<li>Added an Engineering pane to expose useful settings for WebKit engineers (<a href="https://trac.webkit.org/changeset/248391/webkit/">r248391</a>)</li>
</ul>
</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Fixed dragging an image from Safari to Notes to correctly appear (<a href="https://trac.webkit.org/changeset/248166/webkit/">r248166</a>)</li>
</ul>
]]></content:encoded>
										</item>
		<item>
		<title>Announcing the WebKit Tracking Prevention Policy</title>
		<link>https://webkit.org/blog/9507/announcing-the-webkit-tracking-prevention-policy/</link>
				<pubDate>Wed, 14 Aug 2019 22:44:55 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">https://webkit.org/?p=9507</guid>
				<description><![CDATA[Today we are publishing the WebKit Tracking Prevention Policy, covering: What types of tracking WebKit will prevent.]]></description>
								<content:encoded><![CDATA[<p>Today we are publishing the <a href="https://webkit.org/tracking-prevention-policy">WebKit Tracking Prevention Policy</a>, covering:</p>
<ul>
<li>What types of tracking WebKit will prevent.</li>
<li>When other tracking countermeasures come into play such as limiting capabilities and informed user consent.</li>
<li>How WebKit handles unintended impact of our tracking prevention.</li>
</ul>
<p>We’d like to thank Mozilla for their <a href="https://wiki.mozilla.org/Security/Anti_tracking_policy">anti-tracking policy</a> which served as inspiration for ours.</p>
<p>Please send us your comments or questions about this policy to <a href="https://twitter.com/webkit">@webkit</a> on Twitter.</p>
]]></content:encoded>
										</item>
		<item>
		<title>Release Notes for Safari Technology Preview 89</title>
		<link>https://webkit.org/blog/9497/release-notes-for-safari-technology-preview-89/</link>
				<pubDate>Wed, 07 Aug 2019 17:00:11 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[Safari Technology Preview]]></category>

		<guid isPermaLink="false">https://webkit.org/?p=9497</guid>
				<description><![CDATA[Safari Technology Preview Release 89 is now available for download for macOS Mojave and the macOS Catalina beta.]]></description>
								<content:encoded><![CDATA[<p><a href="https://webkit.org/blog/6017/introducing-safari-technology-preview/">Safari Technology Preview</a> Release 89 is now <a href="https://webkit.org/downloads/">available for download</a> for macOS Mojave and the macOS Catalina beta. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS.</p>
<p>This release covers WebKit revisions <a href="https://trac.webkit.org/log?stop_rev=247433&amp;&amp;rev=248024&amp;limit=999">247433-248024</a>.</p>
<h3>JavaScript</h3>
<ul>
<li>Implemented nullish coalescing with the <code>??</code> operator for ESNext (<a href="https://trac.webkit.org/changeset/247819/webkit/">r247819</a>)</li>
</ul>
<h3>Web API</h3>
<ul>
<li>Added <code>referrerpolicy</code> attribute support for <code>&lt;script&gt;</code> elements (<a href="https://trac.webkit.org/changeset/247509/webkit/">r247509</a>)</li>
<li>Changed <code>window.openDatabase</code> to be overridable (<a href="https://trac.webkit.org/changeset/247434/webkit/">r247434</a>)</li>
<li>Fixed an IndexedDB error where the starting version change transaction may be neglected (<a href="https://trac.webkit.org/changeset/247649/webkit/">r247649</a>)</li>
<li>Fixed the ability to unbold selected text when the system font is used (<a href="https://trac.webkit.org/changeset/247439/webkit/">r247439</a>)</li>
<li>Made storing cross-origin top-level prefetches in HTTP cache optional (<a href="https://trac.webkit.org/changeset/247860/webkit/">r247860</a>)</li>
<li>Moving right by word boundary right before an object element followed by a <code>&lt;br&gt;</code> element hangs (<a href="https://trac.webkit.org/changeset/247881/webkit/">r247881</a>)</li>
<li>Removed support for <code>beforeload</code> on <code>link=prefetch</code> (<a href="https://trac.webkit.org/changeset/247481/webkit/">r247481</a>)</li>
</ul>
<h3>Compatibility</h3>
<ul>
<li>Fixed Daring Fireball long press highlights that were unnecessarily inflated due to false illegibility (<a href="https://trac.webkit.org/changeset/247792/webkit/">r247792</a>)</li>
<li>Fixed contextual menu actions for YouTube videos (<a href="https://trac.webkit.org/changeset/247901/webkit/">r247901</a>)</li>
</ul>
<h3>Accessibility</h3>
<ul>
<li>Exposed the <code>aria-label</code> attribute for <code>&lt;video&gt;</code> elements (<a href="https://trac.webkit.org/changeset/247891/webkit/">r247891</a>)</li>
</ul>
<h3>Media</h3>
<ul>
<li>Enabled a WebRTC debug mode without encryption (<a href="https://trac.webkit.org/changeset/247438/webkit/">r247438</a>)</li>
<li>Fixed support for FLAC-in-MP4 (<a href="https://trac.webkit.org/changeset/247934/webkit/">r247934</a>)</li>
</ul>
<h3>Web Inspector</h3>
<ul>
<li>Added support for <code>console.screenshot</code> with detached (not in main DOM tree) <code>&lt;img&gt;</code> and <code>&lt;picture&gt;</code> elements (<a href="https://trac.webkit.org/changeset/247814/webkit/">r247814</a>)</li>
<li>Added support for <code>console.screenshot</code> with <code>ImageData</code> and <code>ImageBitmap</code> (<a href="https://trac.webkit.org/changeset/247812/webkit/">r247812</a>)</li>
<li>Added a &#8220;Show Grid&#8221; navigation item for the Images collection in the Resources tab (<a href="https://trac.webkit.org/changeset/248004/webkit/">r248004</a>)</li>
<li>Added an indicator/separator around items in the Images collection in the Resources tab (<a href="https://trac.webkit.org/changeset/248019/webkit/">r248019</a>)</li>
<li>Add special case for <code>about:blank</code> resources to show &#8220;Resource has no content&#8221; message (<a href="https://trac.webkit.org/changeset/247747/webkit/">r247747</a>)</li>
<li>Fixed display of <code>application/xml</code> content for XHR requests (<a href="https://trac.webkit.org/changeset/247533/webkit/">r247533</a>)</li>
<li>Fixed issues toggling multiple breakpoints when they&#8217;re collapsed into one line (<a href="https://trac.webkit.org/changeset/247639/webkit/">r247639</a>)</li>
<li>Fixed Command-X (⌘X) to cut selected properties in the Styles sidebar (<a href="https://trac.webkit.org/changeset/247760/webkit/">r247760</a>)</li>
<li>Made the Changes panel in the Elements Tab render with LTR text direction (<a href="https://trac.webkit.org/changeset/247492/webkit/">r247492</a>)</li>
</ul>
<h3>WebGPU</h3>
<ul>
<li>Implemented errors for GPURenderPipeline creation (<a href="https://trac.webkit.org/changeset/247764/webkit/">r247764</a>)</li>
<li>Added descriptive error messages in WHLSL (<a href="https://trac.webkit.org/changeset/247834/webkit/">r247834</a>)</li>
<li>Changed checker to <code>setError()</code> when a property access node can&#8217;t commit its base type in WHLSL (<a href="https://trac.webkit.org/changeset/247676/webkit/">r247676</a>)</li>
<li>Changed to return the zero-value enum in the enum-from-integer constructor when the integer is not a valid enum value in WHLSL (<a href="https://trac.webkit.org/changeset/247675/webkit/">r247675</a>)</li>
<li>Made enums work in WHLSL (<a href="https://trac.webkit.org/changeset/247666/webkit/">r247666</a>)</li>
<li>Updated matrix memory layout to match HLSL by laying out columns linearly in WHLSL (<a href="https://trac.webkit.org/changeset/247468/webkit/">r247468</a>)</li>
</ul>
]]></content:encoded>
										</item>
		<item>
		<title>Changing Page Settings on iOS Using Web Inspector</title>
		<link>https://webkit.org/blog/9454/changing-page-settings-on-ios-using-web-inspector/</link>
				<pubDate>Fri, 02 Aug 2019 05:56:25 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[Web Inspector]]></category>

		<guid isPermaLink="false">https://webkit.org/?p=9454</guid>
				<description><![CDATA[If you&#8217;ve ever used Web Inspector before, chances are you&#8217;ve used (or are at least familiar with) the Develop menu.]]></description>
								<content:encoded><![CDATA[<style>figure picture img { width: 100%; }</style>
<style>@media (prefers-color-scheme:dark) { figure picture img { filter: none; } }</style>
<p>If you&#8217;ve ever used Web Inspector before, chances are you&#8217;ve used (or are at least familiar with) the <strong>Develop</strong> menu.  It holds action items and toggles for various settings of the browser, like whether local files (e.g. URLs beginning with <code>file://</code>) can be loaded or whether CSS is applied to each page.</p>
<figure class="widescreen mattewhite">
  <picture title="Develop Menu"><source srcset="https://webkit.org/wp-content/uploads/Develop_Menu_Dark.png" media="(prefers-color-scheme: dark)"><img src="https://webkit.org/wp-content/uploads/Develop_Menu_Light.png" style="max-width: 431px">
  </picture>
</figure>
<p>All of these items apply to the entire browser, meaning that if you <strong>Disable Styles</strong> on one page, every other page will be affected.</p>
<p>Additionally, these items have no effect when using Web Inspector to inspect a remote target, like an iOS device or simulator. Checking <strong>Disable Styles</strong> in the <strong>Develop</strong> menu will not have any affect on the remote target.</p>
<p>In order to support this development workflow, Web Inspector has added a device settings menu that allows these settings to be toggled per-page when being remotely inspected.</p>
<p>Clicking on the device settings menu icon will show a popover with many of the same settings as the <strong>Develop</strong> menu.</p>
<figure class="widescreen mattewhite">
  <picture title="Device Settings Menu"><source srcset="https://webkit.org/wp-content/uploads/Device_Settings_Menu_Dark.png" media="(prefers-color-scheme: dark)"><img src="https://webkit.org/wp-content/uploads/Device_Settings_Menu_Light.png" style="max-width: 1000px">
  </picture>
</figure>
<p>Since these settings apply per-page and only on the remote target, the corresponding actions in the <strong>Develop</strong> menu are disabled, as they have no effect on a remote target:</p>
<ul>
<li><strong>Disable Images</strong></li>
<li><strong>Disable Styles</strong></li>
<li><strong>Disable JavaScript</strong></li>
<li><strong>Disable Site-specific Hacks</strong></li>
<li><strong>Disable Cross-Origin Restrictions</strong></li>
<li>WebRTC
<ul>
<li><strong>Allow Media Capture on Insecure Sites</strong></li>
<li><strong>Disable ICE Candidate Restrictions</strong></li>
<li><strong>Use Mock Capture Devices</strong></li>
</ul>
</li>
</ul>
<p>Along these lines, the device settings menu is only shown when using Web Inspector to inspect a remote target.</p>
<p>Device settings are <em>not</em> preserved between Web Inspector sessions.  Closing Web Inspector (or disconnecting the inspected device) will cause all previously set device settings for the inspected page to reset.</p>
<p>Device settings are preserved across navigations, however, so long as Web Inspector stays open/connected.</p>
<h2 id="UserAgent">User Agent</h2>
<p>The first item in the device settings menu is the <strong>User Agent</strong> editor.  It contains a list of <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent">common user agents</a>, as well as an option to input a <a href="https://en.wikipedia.org/wiki/User_agent#Use_in_HTTP">custom user agent</a> (<strong>Other…</strong>).</p>
<p>Each time the <strong>User Agent</strong> is modified, the inspected page will automatically reload so that the new <strong>User Agent</strong> is applied.</p>
<h2 id="Disable">Disable Toggles</h2>
<p>Each of these toggles, when checked, disables a specific piece of functionality in the inspected page.</p>
<ul>
<li><strong>Images</strong> will prevent any not-yet loaded images from loading, but will have no effect on any already loaded images.</li>
<li><strong>Styles</strong> will immediately disable all CSS on the page, including inline <code>&lt;style&gt;</code>s and any <code>style</code> DOM attributes.</li>
<li><strong>JavaScript</strong> will cause the page to ignore any <em>future</em> JavaScript from being run, including new <code>&lt;script&gt;</code> elements (the underlying resource isn&#8217;t even requested) and callbacks for previously added event listeners.</li>
<li><strong>Site-specific Hacks</strong> controls whether workarounds are made by WebKit to support compatibility on certain sites.
<ul>
<li>A list of these sites can be found in <a href="https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/page/Quirks.cpp">Source/WebCore/page/Quirks.cpp</a>.</li>
<li>If you develop a site that is found in that list, we <em>strongly</em> encourage developing and testing with <strong>Site-specific Hacks</strong> <em>disabled</em>.</li>
</ul>
</li>
<li><strong>Cross-Origin Restrictions</strong> controls whether <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS">CORS</a> rules/restrictions are active for any <em>future</em> network requests.</li>
</ul>
<h2 id="WebRTC">WebRTC Toggles</h2>
<p>These toggles focus specifically on functionality related to <a href="https://webrtc.org/">WebRTC</a>.</p>
<ul>
<li><strong>Allow Media Capture on Insecure Sites</strong> will allow <a href="https://webkit.org/blog/7726/announcing-webrtc-and-media-capture/">WebRTC media capture</a> to be used/tested on insecure (e.g. non-https) pages for any <em>future</em> calls of <code>getUserMedia</code>.</li>
<li><strong>Disable ICE Candidate Restrictions</strong> will prevent <a href="https://webkit.org/blog/7763/a-closer-look-into-webrtc/">host ICE candidates from being filtered</a> for <em>new</em> connection attempts.</li>
<li><strong>Use Mock Capture Devices</strong> will replace all <a href="https://webkit.org/blog/7726/announcing-webrtc-and-media-capture/">capture devices</a> with a mock &#8220;Bip-Bop&#8221; device for any <em>future</em> calls of <code>getUserMedia</code>.<br />
<figure style="margin: 0.5em"><img class="preserve-color wp-image-9459" src="https://webkit.org/wp-content/uploads/Mock_Capture_Device.png" title="Mock Capture Device" srcset="https://webkit.org/wp-content/uploads/Mock_Capture_Device.png 2580w, https://webkit.org/wp-content/uploads/Mock_Capture_Device-300x113.png 300w, https://webkit.org/wp-content/uploads/Mock_Capture_Device-768x290.png 768w, https://webkit.org/wp-content/uploads/Mock_Capture_Device-1024x387.png 1024w" sizes="(max-width: 2580px) 100vw, 2580px" /></figure>
</li>
<li><strong>Disable Encryption</strong> will cause <em>future</em> connections to be established and <em>future</em> streams (from those connections) to be transmitted <em>without</em> any form of encryption.</li>
</ul>
<h2>Feedback</h2>
<p>You can try out changing device settings with iOS 12.2 or later. Let us know how it works for you. Send feedback on Twitter (<a href="https://twitter.com/webkit">@webkit</a>, <a href="https://twitter.com/dcrousso">@dcrousso</a>) or by <a href="https://feedbackassistant.apple.com/">filing a bug</a>.</p>
]]></content:encoded>
										</item>
		<item>
		<title>Release Notes for Safari Technology Preview 88</title>
		<link>https://webkit.org/blog/9445/release-notes-for-safari-technology-preview-88/</link>
				<pubDate>Wed, 24 Jul 2019 17:00:59 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[Safari Technology Preview]]></category>

		<guid isPermaLink="false">https://webkit.org/?p=9445</guid>
				<description><![CDATA[Safari Technology Preview Release 88 is now available for download for macOS Mojave and the macOS Catalina beta.]]></description>
								<content:encoded><![CDATA[<p><a href="https://webkit.org/blog/6017/introducing-safari-technology-preview/">Safari Technology Preview</a> Release 88 is now <a href="https://webkit.org/downloads/">available for download</a> for macOS Mojave and the macOS Catalina beta. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS.</p>
<p>This release covers WebKit revisions <a href="https://trac.webkit.org/log?stop_rev=247047&amp;&amp;rev=247433&amp;limit=999">247047-247433</a>.</p>
<h3>JavaScript</h3>
<ul>
<li>Enabled <code>Intl.PluralRules</code> and <code>Intl.NumberFormatToParts</code> by default (<a href="https://trac.webkit.org/changeset/247247/webkit/">r247247</a>)</li>
</ul>
<h3>WebRTC</h3>
<ul>
<li>Registered a MediaStreamTrack as media producer only if it is a capture track (<a href="https://trac.webkit.org/changeset/247208/webkit/">r247208</a>, <a href="https://trac.webkit.org/changeset/247382/webkit/">r247382</a>)</li>
</ul>
<h3>Web API</h3>
<ul>
<li>Fixed XHR CORS requests getting logged twice on the server (<a href="https://trac.webkit.org/changeset/247276/webkit/">r247276</a>)</li>
</ul>
<h3>Pointer Events</h3>
<ul>
<li>Updated to respect pointer capture when dispatching mouse boundary events and updating <code>:hover</code> (<a href="https://trac.webkit.org/changeset/247148/webkit/">r247148</a>)</li>
</ul>
<h3>Rendering</h3>
<ul>
<li>Changed to avoid extra backing store on elements with <code>overflow: scroll</code> and <code>visibility: hidden</code> (<a href="https://trac.webkit.org/changeset/247420/webkit/">r247420</a>)</li>
<li>Changed to trigger a compositing update when a video element is changing (<a href="https://trac.webkit.org/changeset/247187/webkit/">r247187</a>)</li>
</ul>
<h3>Accessibility</h3>
<ul>
<li>Added accessibility announcement notifications to show, dismiss and selection change for the datalist suggestions view (<a href="https://trac.webkit.org/changeset/247418/webkit/">r247418</a>)</li>
<li>Exposed HTML datalist accessibility (<a href="https://trac.webkit.org/changeset/247295/webkit/">r247295</a>)</li>
<li>Enhanced support of <code>aria-haspopup</code> per ARIA 1.1 specification. (<a href="https://trac.webkit.org/changeset/247071/webkit/">r247071</a>)</li>
<li>Implemented support for ARIA roles: insertion, deletion, subscript, superscript, and time (<a href="https://trac.webkit.org/changeset/247349/webkit/">r247349</a>)</li>
<li>Fixed ignored <code>role="presentation"</code> on HTML <code>&lt;table&gt;</code> elements for VoiceOver (<a href="https://trac.webkit.org/changeset/247330/webkit/">r247330</a>)</li>
</ul>
<h3>WebGL</h3>
<ul>
<li>Hooked up WebGL&#8217;s back buffer in ANGLE backend on macOS (<a href="https://trac.webkit.org/changeset/247315/webkit/">r247315</a>)</li>
</ul>
<h3>WebGPU</h3>
<ul>
<li>Added most of the remainder of the standard library (<a href="https://trac.webkit.org/changeset/247174/webkit/">r247174</a>)</li>
<li>Implemented GPUError and error scopes (<a href="https://trac.webkit.org/changeset/247366/webkit/">r247366</a>)</li>
<li>Made the destructor of VariableDeclaration non-virtual (<a href="https://trac.webkit.org/changeset/247124/webkit/">r247124</a>)</li>
<li>Optimized the lexer (<a href="https://trac.webkit.org/changeset/247171/webkit/">r247171</a>)</li>
<li>Removed the phase resolveCallsInFunctions (<a href="https://trac.webkit.org/changeset/247170/webkit/">r247170</a>)</li>
</ul>
<h3>Web Inspector</h3>
<ul>
<li>Added support for pasting copied DOM nodes in the Elements tab (<a href="https://trac.webkit.org/changeset/247054/webkit/">r247054</a>)</li>
<li>Fixed dismissing a blank property to no longer cause the rule to appear in the Changes panel (<a href="https://trac.webkit.org/changeset/247406/webkit/">r247406</a>)</li>
<li>Fixed an issue where unbalanced quotes or parenthesis weren’t displayed as properly closed after editing values (<a href="https://trac.webkit.org/changeset/247196/webkit/">r247196</a>)</li>
<li>Updated descendant DOM breakpoints be enabled, disabled, or deleted from a collapsed parent (<a href="https://trac.webkit.org/changeset/247053/webkit/">r247053</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Fixed paste from Notes into Excel 365 spreadsheet (<a href="https://trac.webkit.org/changeset/247222/webkit/">r247222</a>)</li>
<li>Fixed video playback on xfinity.com/stream on macOS Catalina (<a href="https://trac.webkit.org/changeset/247213/webkit/">r247213</a>)</li>
</ul>
]]></content:encoded>
										</item>
		<item>
		<title>Release Notes for Safari Technology Preview 87</title>
		<link>https://webkit.org/blog/9414/release-notes-for-safari-technology-preview-87/</link>
				<pubDate>Wed, 10 Jul 2019 17:00:51 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[Safari Technology Preview]]></category>

		<guid isPermaLink="false">https://webkit.org/?p=9414</guid>
				<description><![CDATA[Safari Technology Preview Release 87 is now available for download for macOS Mojave and the macOS Catalina beta.]]></description>
								<content:encoded><![CDATA[<p><a href="https://webkit.org/blog/6017/introducing-safari-technology-preview/">Safari Technology Preview</a> Release 87 is now <a href="https://webkit.org/downloads/">available for download</a> for macOS Mojave and the macOS Catalina beta. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS.</p>
<p>This release covers WebKit revisions <a href="https://trac.webkit.org/log?stop_rev=246691&amp;&amp;rev=247047&amp;limit=999">246691-247047</a>.</p>
<h3>Web API</h3>
<ul>
<li>Changed <code>openDatabase</code> to return an empty object when WebSQL is disabled (<a href="https://trac.webkit.org/changeset/246707/webkit/">r246707</a>)</li>
<li>Added an experimental behavior to prevent a 5 second delay for initial paint on pages that are using Google&#8217;s anti-flicker optimization when content blockers are enabled (<a href="https://trac.webkit.org/changeset/246764/webkit/">r246764</a>)</li>
</ul>
<h3>Web Sockets</h3>
<ul>
<li>Added support for sending blob messages when using web sockets platform APIs (<a href="https://trac.webkit.org/changeset/246964/webkit/">r246964</a>)</li>
</ul>
<h3>Payment Request</h3>
<ul>
<li>Changed to set state to Closed when <code>show()</code> is called during an active session (<a href="https://trac.webkit.org/changeset/246863/webkit/">r246863</a>)</li>
</ul>
<h3>Experimental Web Shading Language (WHLSL)</h3>
<ul>
<li>Implemented arrays (<a href="https://trac.webkit.org/changeset/246875/webkit/">r246875</a>)</li>
</ul>
<h3>Rendering</h3>
<ul>
<li>Fixed incorrect clipping with <code>overflow: scroll</code> inside <code>overflow: hidden</code> with <code>border-radius</code> (<a href="https://trac.webkit.org/changeset/246845/webkit/">r246845</a>)</li>
<li>Fixed the preview of a <code>&lt;picture&gt;</code> element to match the element bounds (<a href="https://trac.webkit.org/changeset/246695/webkit/">r246695</a>)</li>
</ul>
<h3>WebGPU</h3>
<ul>
<li>Made WebGPU enabled only on Mojave and later (<a href="https://trac.webkit.org/changeset/246888/webkit/">r246888</a>)</li>
</ul>
<h3>Web Inspector</h3>
<ul>
<li>Implemented <code>console.countReset</code> (<a href="https://trac.webkit.org/changeset/246850/webkit/">r246850</a>)</li>
<li>Implemented <code>console.timeLog</code> (<a href="https://trac.webkit.org/changeset/246798/webkit/">r246798</a>)</li>
<li>Added additional demo audits for other <code>WebInspectorAudit</code> functions (<a href="https://trac.webkit.org/changeset/247042/webkit/">r247042</a>)</li>
<li>Enable the Show Shadow DOM navigation item by default in the Elements tab (<a href="https://trac.webkit.org/changeset/246821/webkit/">r246821</a>)</li>
</ul>
<h3>Known Issues</h3>
<ul>
<li>Open tabs are blank on initial launch after upgrading to Safari Technology Preview 87 and loading all tabs from the last session. To correct this behavior, reload open tabs or relaunch Safari Technology Preview.</li>
</ul>
]]></content:encoded>
										</item>
		<item>
		<title>WebDriver is Coming to Safari in iOS 13</title>
		<link>https://webkit.org/blog/9395/webdriver-is-coming-to-safari-in-ios-13/</link>
				<pubDate>Mon, 08 Jul 2019 17:00:58 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[Web Inspector]]></category>

		<guid isPermaLink="false">https://webkit.org/?p=9395</guid>
				<description><![CDATA[As anyone who has developed a mobile-friendly site can tell you, mobile browsers and desktop browsers are different.]]></description>
								<content:encoded><![CDATA[<p>As anyone who has developed a mobile-friendly site can tell you, mobile browsers and desktop browsers are different. As device capabilities continue to evolve and users move more of their browsing to mobile browsers, web developers are facing an increasing need to write automated tests for the mobile web in the same way that desktop-oriented site content is tested.</p>
<p>Starting in iOS 13, Safari now includes native support for the <a href="https://www.w3.org/TR/webdriver/">W3C WebDriver</a> standard. This feature builds on existing support for WebDriver in desktop Safari, first introduced in Safari 10 and macOS Sierra. This blog post explains how to get started with WebDriver for iOS, how to port your existing desktop-oriented tests, and a few details regarding safeguards and changes in behavior.</p>
<h2>Getting Started</h2>
<p>Control via WebDriver is exposed to developers via the <code>/usr/bin/safaridriver</code> executable, which hosts a driver that handles REST API requests sent by WebDriver test clients. In order to run WebDriver tests on an iOS device, it must be plugged into a macOS host that has a new enough version of safaridriver. Support for hosting iOS-based WebDriver sessions is available in safaridriver included with Safari 13 and later. Older versions of safaridriver do not support iOS WebDriver sessions.</p>
<p>If you&#8217;ve never used safaridriver on macOS before, you&#8217;ll first need to run <code>safaridriver --enable</code> and authenticate as an administrator. Then, you must enable Remote Automation on every device that you intend to use for WebDriver. To do this, toggle the setting in Settings → Safari → Advanced → Remote Automation.</p>
<figure class="widescreen"><picture><source srcset="https://webkit.org/wp-content/uploads/IMG_0010.png" media="(prefers-color-scheme: dark)" /><img class="wp-image-9396" src="https://webkit.org/wp-content/uploads/IMG_0009.png" alt="Remote Automation Setting on iOS" srcset="https://webkit.org/wp-content/uploads/IMG_0009.png 2732w, https://webkit.org/wp-content/uploads/IMG_0009-300x225.png 300w, https://webkit.org/wp-content/uploads/IMG_0009-768x576.png 768w, https://webkit.org/wp-content/uploads/IMG_0009-1024x768.png 1024w" sizes="(max-width: 2732px) 100vw, 2732px" /></picture></figure>
<p>Lastly, to run tests on the device, you&#8217;ll need to plug it into the macOS machine, <a href="https://support.apple.com/en-us/HT202778">trust the host</a>, and ensure that it is unlocked when you try to start the WebDriver session.</p>
<p>Since safaridriver is capable of starting WebDriver sessions using Safari on the macOS host or Safari on an attached iOS device, it needs a little extra hint to know that you want to use a device or a desktop machine. To facilitate this, safaridriver supports many new capabilities that may be provided with a new session request. The most important new capability to use is <strong>&#8216;platformName&#8217;: &#8216;ios&#8217;;</strong> this tells the driver you want an iOS host instead of a macOS host. You can also specify the host(s) you wish to use by specifying device type, device UDID, device name, OS version, OS build, and browser version via standardized and extension capabilities. Lastly, safaridriver supports running WebDriver tests on iOS Simulator devices whose runtime is iOS 13 or later. To use a simulator for testing, add the capability <strong>&#8216;safari:useSimulator&#8217;: true</strong>. For a full list of supported capabilities and their semantics, please consult the safaridriver(1) man page by executing <code>man safaridriver.</code></p>
<h2>Safeguards</h2>
<p>While it’s awesome to be able to write automated tests that run in Safari, a REST API for browser automation introduces a potential vector for malicious software. To support a valuable automation API without sacrificing a user’s privacy or security, Safari’s driver implementation introduces extra safeguards that further restrict browsing in WebDriver sessions. These safeguards also double as extra insurance against “<a href="http://martinfowler.com/articles/nonDeterminism.html">flaky tests</a>” by providing enhanced test isolation. Some of these safeguards are described below.</p>
<p>Just like on macOS, Safari on iOS isolates WebDriver tests by using a separate set of windows, tabs, preferences, and persistent storage. When a WebDriver session is active, existing tabs are hidden and a distinctively-colored WebDriver window is shown instead. Automation windows are easy to recognize by their orange Smart Search field. Similar to browsing in a Private Browsing window, WebDriver tests that run in an Automation window always start from a clean slate and cannot access Safari’s normal browsing history, AutoFill data, or other sensitive information. Aside from the obvious privacy benefits, this restriction also helps to ensure that tests are not affected by a previous test session’s persistent state such as local storage or cookies. When the WebDriver session terminates, the orange window goes away, preexisting tabs are restored, and any state accumulated during the WebDriver session is destroyed.</p>
<p>As a WebDriver test is executing in an Automation window, any attempts to interact with the window or web content could derail the test by unexpectedly changing the state of the page. To prevent this from happening, Safari installs a “glass pane” over the Automation window while the test is running. This blocks any stray interactions (mouse, keyboard, resizing, and so on) from affecting the Automation window. If a running test gets stuck or fails, it’s possible to interrupt the running test by tapping on the screen and choosing to end the session. When an automation session is interrupted, the test’s connection to the browser is permanently severed and cannot be resumed. Notifications and system gestures (i.e., slide in from top/bottom) are also suppressed while WebDriver tests are running in order to avoid flakiness.</p>
<figure><img class="preserve-color wp-image-9410" src="https://webkit.org/wp-content/uploads/webdriver-ios13beta.jpg" alt="Glass Pane" srcset="https://webkit.org/wp-content/uploads/webdriver-ios13beta.jpg 1125w, https://webkit.org/wp-content/uploads/webdriver-ios13beta-139x300.jpg 139w, https://webkit.org/wp-content/uploads/webdriver-ios13beta-768x1663.jpg 768w, https://webkit.org/wp-content/uploads/webdriver-ios13beta-473x1024.jpg 473w" sizes="(max-width: 1125px) 100vw, 1125px" /></figure>
<p>A non-goal of this release is to support general-purpose device automation via the WebDriver API. The W3C WebDriver API focuses on automating interactions with web content, and that is also the focus of the WebDriver support added in iOS 13. Other means exist to change system-level configuration with the <a href="https://developer.apple.com/documentation/xctest">XCTest Framework</a>, and are complimentary to WebDriver. There are other ways in which web content interacts with the rest of iOS, and most of these are suppressed in order to provide a stable testing environment. Safari for iOS does not allow WebDriver-initiated navigations to be handled outside of Safari. In other words, clicking a <code>tel://</code> link will not offer to place a phone call, and clicking an app store link will not redirect the user to the App Store. Similarly, non-Safari content displayed by the system–such as update dialogs, app notifications, incoming calls, etc.–are suppressed while a WebDriver session is active. Lastly, the software keyboard is suppressed when focusing text fields in WebDriver sessions. To simulate text input with WebDriver, use the existing <a href="https://w3c.github.io/webdriver/#perform-actions">Perform Actions endpoint</a> or <a href="https://w3c.github.io/webdriver/#element-send-keys">Element Send Keys endpoint</a>.</p>
<h2>Porting Tests</h2>
<p>A major goal of iOS 13 is to make it easier to develop and consume desktop-like web experiences on mobile devices. Towards that end, a major goal for WebDriver on iOS is to make it easy to port existing desktop-oriented WebDriver tests to work with Desktop-class browsing in Safari on iPadOS. As much as we&#8217;d like to treat macOS and iOS devices the same in our tests, there are important differences that affect how you may want to use WebDriver.</p>
<p>The first notable difference is handling of user input, namely touch and clicks. In this initial version of WebDriver on iOS, simulated input sources include keyboard, mouse, and single-finger touches. The Perform Actions command and <a href="https://w3c.github.io/webdriver/#element-click">Element Click command</a> synthesize touches using mouse inputs. If your existing test uses mouse clicks, double, clicks, and drags, safaridriver converts these interactions into equivalent single finger touches; no code needs to be changed. <em>Multiple touch input sources (i.e., fingers) are not supported in this release</em>. We experimented with offering this via the existing Perform Actions endpoint, but found that it was difficult to author WebDriver commands that performed well-known gestures such as flick, pinch, pan, and so on. This is partly due to the low-level nature of the Actions API, and partly due to the timing-sensitive nature of gesture recognizers used by Safari and WebKit. Apple is working within the W3C WebDriver working group to define a more expressive, intuitive, and stable API for performing gestures in WebDriver tests.</p>
<p>A less surprising difference between macOS and iOS WebDriver is that endpoints to manipulate the OS window are generally not supported by Safari on iOS. Specifically, the Set Window Rect, Minimize Window, and Maximize Window endpoints will return <em>&#8220;unsupported operation&#8221;</em>. For more detailed information concerning which endpoints are supported, see the <a href="https://developer.apple.com/documentation/webkit/about_webdriver_for_safari">W3C WebDriver Commands reference</a>.</p>
<h2>Summary</h2>
<p>With the introduction of native WebDriver support in Safari on iOS 13, it’s now possible to run the same automated tests of desktop-oriented web content on desktop and mobile devices equally. Safari’s support comes with new, exclusive safeguards to simultaneously protect user security and privacy and also help you write more stable and consistent tests. You can try out Safari’s WebDriver support today by installing a beta of <a href="https://developer.apple.com/macos/">macOS Catalina</a> and <a href="https://developer.apple.com/ios/">iOS 13</a>.</p>
<p>If you encounter unexpected behavior in Safari’s WebDriver support, or have other suggestions for improvement, please file a bug at <a href="https://bugreport.apple.com/">https://bugreport.apple.com/</a>. For quick questions or feedback, email <a href="mailto:web-evangelist@apple.com">web-evangelist@apple.com</a> or tweet <a href="https://www.twitter.com/webkit">@webkit</a> on Twitter. Happy testing!</p>
]]></content:encoded>
										</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.246 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2019-09-13 13:00:20 -->
