CINXE.COM

Chromium Blog: March 2016

<!DOCTYPE html> <html class='v2 list-page' dir='ltr' itemscope='' itemtype='http://schema.org/Blog' lang='en' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'> <head> <link href='https://www.blogger.com/static/v1/widgets/3566091532-css_bundle_v2.css' rel='stylesheet' type='text/css'/> <title> Chromium Blog: March 2016 </title> <meta content='width=device-width, height=device-height, initial-scale=1.0' name='viewport'/> <meta content='IE=Edge' http-equiv='X-UA-Compatible'/> <meta content='Chromium Blog' property='og:title'/> <meta content='en_US' property='og:locale'/> <meta content='https://blog.chromium.org/2016/03/' property='og:url'/> <meta content='Chromium Blog' property='og:site_name'/> <!-- Twitter Card properties --> <meta content='Chromium Blog' property='og:title'/> <meta content='summary' name='twitter:card'/> <meta content='@ChromiumDev' name='twitter:creator'/> <link href='https://fonts.googleapis.com/css?family=Roboto:400italic,400,500,500italic,700,700italic' rel='stylesheet' type='text/css'/> <link href='https://fonts.googleapis.com/icon?family=Material+Icons' rel='stylesheet'/> <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js' type='text/javascript'></script> <!-- End --> <style id='page-skin-1' type='text/css'><!-- /* <Group description="Header Color" selector="header"> <Variable name="header.background.color" description="Header Background" type="color" default="#ffffff"/> </Group> */ .header-outer { border-bottom: 1px solid #e0e0e0; background: #ffffff; } html, .Label h2, #sidebar .rss a, .BlogArchive h2, .FollowByEmail h2.title, .widget .post h2 { font-family: Roboto, sans-serif; } .plusfollowers h2.title, .post h2.title, .widget h2.title { font-family: Roboto, sans-serif; } .widget-item-control { height: 100%; } .widget.Header, #header { position: relative; height: 100%; width: 100%; } } .widget.Header .header-logo1 { float: left; margin-right: 15px; padding-right: 15px; border-right: 1px solid #ddd; } .header-title h2 { color: rgba(0,0,0,.54); display: inline-block; font-size: 40px; font-family: Roboto, sans-serif; font-weight: normal; line-height: 76px; vertical-align: top; } .header-inner { background-repeat: no-repeat; background-position: right 0px; } .post-author, .byline-author { font-size: 14px; font-weight: normal; color: #757575; color: rgba(0,0,0,.54); } .post-content .img-border { border: 1px solid rgb(235, 235, 235); padding: 4px; } .header-title a { text-decoration: none !important; } pre { border: 1px solid #bbbbbb; margin-top: 1em 0 0 0; padding: 0.99em; overflow-x: auto; overflow-y: auto; } pre, code { font-size: 9pt; background-color: #fafafa; line-height: 125%; font-family: monospace; } pre, code { color: #060; font: 13px/1.54 "courier new",courier,monospace; } .header-left .header-logo1 { width: 128px !important; } .header-desc { line-height: 20px; margin-top: 8px; } .fb-custom img, .twitter-custom img, .gplus-share img { cursor: pointer; opacity: 0.54; } .fb-custom img:hover, .twitter-custom img:hover, .gplus-share img:hover { opacity: 0.87; } .fb-like { width: 80px; } .post .share { float: right; } #twitter-share{ border: #CCC solid 1px; border-radius: 3px; background-image: -webkit-linear-gradient(top,#ffffff,#dedede); } .twitter-follow { background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimKBWDeRb1pqsbNiP9AFLyFDZHzXGYEJZRELMrZ6iI0yz4KeMPH_7tPsrMq9PpJ3H6riC_UohpWMn83_Z1N2sTuTTrVL7i6TrNzpO9oFg4e8VFK4zFJb1rfamWfc8RxG8Fhz2RgRgHN10u/s1600/twitter-bird.png) no-repeat left center; padding-left: 18px; font: normal normal normal 11px/18px 'Helvetica Neue',Arial,sans-serif; font-weight: bold; text-shadow: 0 1px 0 rgba(255,255,255,.5); cursor: pointer; margin-bottom: 10px; } .twitter-fb { padding-top: 2px; } .fb-follow-button { background: -webkit-linear-gradient(#4c69ba, #3b55a0); background: -moz-linear-gradient(#4c69ba, #3b55a0); background: linear-gradient(#4c69ba, #3b55a0); border-radius: 2px; height: 18px; padding: 4px 0 0 3px; width: 57px; border: #4c69ba solid 1px; } .fb-follow-button a { text-decoration: none !important; text-shadow: 0 -1px 0 #354c8c; text-align: center; white-space: nowrap; font-size: 11px; color: white; vertical-align: top; } .fb-follow-button a:visited { color: white; } .fb-follow { padding: 0px 5px 3px 0px; width: 14px; vertical-align: bottom; } .gplus-wrapper { margin-top: 3px; display: inline-block; vertical-align: top; } .twitter-custom, .gplus-share { margin-right: 12px; } .fb-follow-button{ margin: 10px auto; } /** CUSTOM CODE **/ --></style> <style id='template-skin-1' type='text/css'><!-- .header-outer { clear: both; } .header-inner { margin: auto; padding: 0px; } .footer-outer { background: #f5f5f5; clear: both; margin: 0; } .footer-inner { margin: auto; padding: 0px; } .footer-inner-2 { /* Account for right hand column elasticity. */ max-width: calc(100% - 248px); } .google-footer-outer { clear: both; } .cols-wrapper, .google-footer-outer, .footer-inner, .header-inner { max-width: 978px; margin-left: auto; margin-right: auto; } .cols-wrapper { margin: auto; clear: both; margin-top: 60px; margin-bottom: 60px; overflow: hidden; } .col-main-wrapper { float: left; width: 100%; } .col-main { margin-right: 278px; max-width: 660px; } .col-right { float: right; width: 248px; margin-left: -278px; } /* Tweaks for layout mode. */ body#layout .google-footer-outer { display: none; } body#layout .header-outer, body#layout .footer-outer { background: none; } body#layout .header-inner { height: initial; } body#layout .cols-wrapper { margin-top: initial; margin-bottom: initial; } --></style> <!-- start all head --> <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> <meta content='blogger' name='generator'/> <link href='https://blog.chromium.org/favicon.ico' rel='icon' type='image/x-icon'/> <link href='https://blog.chromium.org/2016/03/' rel='canonical'/> <link rel="alternate" type="application/atom+xml" title="Chromium Blog - Atom" href="https://blog.chromium.org/feeds/posts/default" /> <link rel="alternate" type="application/rss+xml" title="Chromium Blog - RSS" href="https://blog.chromium.org/feeds/posts/default?alt=rss" /> <link rel="service.post" type="application/atom+xml" title="Chromium Blog - Atom" href="https://www.blogger.com/feeds/2471378914199150966/posts/default" /> <!--Can't find substitution for tag [blog.ieCssRetrofitLinks]--> <meta content='https://blog.chromium.org/2016/03/' property='og:url'/> <meta content='Chromium Blog' property='og:title'/> <meta content='News and developments from the open source browser project' property='og:description'/> <!-- end all head --> <base target='_self'/> <style> html { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } body { padding: 0; /* This ensures that the scroll bar is always present, which is needed */ /* because content render happens after page load; otherwise the header */ /* would "bounce" in-between states. */ min-height: 150%; } h2 { font-size: 16px; } h1, h2, h3, h4, h5 { line-height: 2em; } html, h4, h5, h6 { font-size: 14px; } a, a:visited { /* Ensures links meet minimum contrast ratios. */ color: #3974d6; text-decoration: none; } a:focus, a:hover, a:active { text-decoration: none; } .Header { margin-top: 15px; } .Header h1 { font-size: 32px; font-weight: 300; line-height: 32px; height: 42px; } .header-inner .Header .titlewrapper { padding: 0; margin-top: 30px; } .header-inner .Header .descriptionwrapper { padding: 0; margin: 0; } .cols-wrapper { margin-top: 56px; } .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 60px; } .header-inner { height: 256px; position: relative; } html, .header-inner a { color: #212121; color: rgba(0,0,0,.87); } .header-inner .google-logo { display: inline-block; background-size: contain; z-index: 1; height: 70px; overflow: hidden; margin-top: 4px; margin-right: 8px; } .header-left { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); margin-top: 12px; width: 100%; } .google-logo { margin-left: -4px; } .google-logo img{ height:70px; } #google-footer { position: relative; font-size: 13px; list-style: none; text-align: right; } #google-footer a { color: #444; } #google-footer ul { margin: 0; padding: 0; height: 144px; line-height: 144px; } #google-footer ul li { display: inline; } #google-footer ul li:before { color: #999; content: "\00b7"; font-weight: bold; margin: 5px; } #google-footer ul li:first-child:before { content: ''; } #google-footer .google-logo-dark { left: 0; margin-top: -16px; position: absolute; top: 50%; } /** Sitemap links. **/ .footer-inner-2 { font-size: 14px; padding-top: 42px; padding-bottom: 74px; } .footer-inner-2 .HTML h2 { color: #212121; color: rgba(0,0,0,.87); font-size: 14px; font-weight: 500; padding-left: 0; margin: 10px 0; } .footer-inner-2 .HTML ul { font-weight: normal; list-style: none; padding-left: 0; } .footer-inner-2 .HTML li { line-height: 24px; padding: 0; } .footer-inner-2 li a { color: rgba(65,132,243,.87); } /** Archive widget. **/ .BlogArchive { font-size: 13px; font-weight: normal; } .BlogArchive .widget-content { display: none; } .BlogArchive h2, .Label h2 { color: #4184F3; text-decoration: none; } .BlogArchive .hierarchy li { display: inline-block; } /* Specificity needed here to override widget CSS defaults. */ .BlogArchive #ArchiveList ul li, .BlogArchive #ArchiveList ul ul li { margin: 0; padding-left: 0; text-indent: 0; } .BlogArchive .intervalToggle { cursor: pointer; } .BlogArchive .expanded .intervalToggle .new-toggle { -ms-transform: rotate(180deg); transform: rotate(180deg); } .BlogArchive .new-toggle { float: right; padding-top: 3px; opacity: 0.87; } #ArchiveList { text-transform: uppercase; } #ArchiveList .expanded > ul:last-child { margin-bottom: 16px; } #ArchiveList .archivedate { width: 100%; } /* Months */ .BlogArchive .items { max-width: 150px; margin-left: -4px; } .BlogArchive .expanded .items { margin-bottom: 10px; overflow: hidden; } .BlogArchive .items > ul { float: left; height: 32px; } .BlogArchive .items a { padding: 0 4px; } .Label { font-size: 13px; font-weight: normal; } .sidebar-icon { display: inline-block; width: 24px; height: 24px; vertical-align: middle; margin-right: 12px; margin-top: -1px } .Label a { margin-right: 4px; } .Label .widget-content { display: none; } .FollowByEmail { font-size: 13px; font-weight: normal; } .FollowByEmail h2 { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-position: 0 50%; text-indent: 30px; } .FollowByEmail .widget-content { display: none; } .searchBox input { border: 1px solid #eee; color: #212121; color: rgba(0,0,0,.87); font-size: 14px; padding: 8px 8px 8px 40px; width: 164px; font-family: Roboto, sans-serif; background: url("https://www.gstatic.com/images/icons/material/system/1x/search_grey600_24dp.png") 8px center no-repeat; } .searchBox ::-webkit-input-placeholder { /* WebKit, Blink, Edge */ color: rgba(0,0,0,.54); } .searchBox :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #000; opacity: 0.54; } .searchBox ::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #000; opacity: 0.54; } .searchBox :-ms-input-placeholder { /* Internet Explorer 10-11 */ color: #757575; } .widget-item-control { margin-top: 0px; } .section { margin: 0; padding: 0; } #sidebar-top { border: 1px solid #eee; } #sidebar-top > div { margin: 16px 0; } .widget ul { line-height: 1.6; } /*main post*/ .post { margin-bottom:30px; } #main .post .title { margin: 0; } #main .post .title a { color: #212121; color: rgba(0,0,0,.87); font-weight: normal; font-size: 24px; } #main .post .title a:hover { text-decoration:none; color: #3974d6; } .message, #main .post .post-header { margin: 0; padding: 0; } #main .post .post-header .caption, #main .post .post-header .labels-caption, #main .post .post-footer .caption, #main .post .post-footer .labels-caption { color: #444; font-weight: 500; } #main .tr-caption-container td { text-align: left; } #main .post .tr-caption { color: #757575; color: rgba(0,0,0,.54); display: block; max-width: 560px; padding-bottom: 20px; } #main .post .tr-caption-container { line-height: 24px; margin: -1px 0 0 0 !important; padding: 4px 0; text-align: left; } #main .post .post-header .published{ font-size:11px; font-weight:bold; } .post-header .publishdate { font-size: 17px; font-weight:normal; color: #757575; color: rgba(0,0,0,.54); } #main .post .post-footer{ font-size:12px; padding-bottom: 21px; } .label-footer { margin-bottom: 12px; margin-top: 12px; } .comment-img { margin-right: 16px; opacity: 0.54; vertical-align: middle; } #main .post .post-header .published { margin-bottom: 40px; margin-top: -2px; } .post .post-content { color: #212121; color: rgba(0,0,0,.87); font-size: 17px; margin: 25px 0 36px 0; line-height: 32px; } .post-body .post-content ul, .post-body .post-content ol { margin: 16px 0; padding: 0 48px; } .post-summary { display: none; } /* Another old-style caption. */ .post-content div i, .post-content div + i { font-size: 14px; font-style: normal; color: #757575; color: rgba(0,0,0,.54); display: block; line-height: 24px; margin-bottom: 16px; text-align: left; } /* Another old-style caption (with link) */ .post-content a > i { color: #4184F3 !important; } /* Old-style captions for images. */ .post-content .separator + div:not(.separator) { margin-top: -16px; } /* Capture section headers. */ .post-content br + br + b, .post-content .space + .space + b, .post-content .separator + b { display: inline-block; margin-bottom: 8px; margin-top: 24px; } .post-content li { line-height: 32px; } /* Override all post images/videos to left align. */ .post-content .separator, .post-content > div { text-align: left; } .post-content .separator > a, .post-content .separator > span { margin-left: 0 !important; } .post-content img { max-width: 100%; height: auto; width: auto; } .post-content .tr-caption-container img { margin-bottom: 12px; } .post-content iframe, .post-content embed { max-width: 100%; } .post-content .carousel-container { margin-bottom: 48px; } #main .post-content b { font-weight: 500; } /* These are the main paragraph spacing tweaks. */ #main .post-content br { content: ' '; display: block; padding: 4px; } .post-content .space { display: block; height: 8px; } .post-content iframe + .space, .post-content iframe + br { padding: 0 !important; } #main .post .jump-link { margin-bottom:10px; } .post-content img, .post-content iframe { margin: 30px 0 20px 0; } .post-content > img:first-child, .post-content > iframe:first-child { margin-top: 0; } .col-right .section { padding: 0 16px; } #aside { background:#fff; border:1px solid #eee; border-top: 0; } #aside .widget { margin:0; } #aside .widget h2, #ArchiveList .toggle + a.post-count-link { color: #212121; color: rgba(0,0,0,.87); font-weight: 400 !important; margin: 0; } #ArchiveList .toggle { float: right; } #ArchiveList .toggle .material-icons { padding-top: 4px; } #sidebar .tab { cursor: pointer; } #sidebar .tab .arrow { display: inline-block; float: right; } #sidebar .tab .icon { display: inline-block; vertical-align: top; height: 24px; width: 24px; margin-right: 13px; margin-left: -1px; margin-top: 1px; color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget-content > :first-child { padding-top: 8px; } #sidebar .active .tab .arrow { -ms-transform: rotate(180deg); transform: rotate(180deg); } #sidebar .arrow { color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget h2 { font-size: 14px; line-height: 24px; display: inline-block; } #sidebar .widget .BlogArchive { padding-bottom: 8px; } #sidebar .widget { border-bottom: 1px solid #eee; box-shadow: 0px 1px 0 white; margin-bottom: 0; padding: 14px 0; min-height: 20px; } #sidebar .widget:last-child { border-bottom: none; box-shadow: none; margin-bottom: 0; } #sidebar ul { margin: 0; padding: 0; } #sidebar ul li { list-style:none; padding:0; } #sidebar ul li a { line-height: 32px; } #sidebar .archive { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAYAAADzoH0MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE1JREFUeNpiNDY23s9AAWBioBCwYBM8c+YMVsUmJibEGYBNMS5DaeMFfDYSZQA2v9I3FrB5AZeriI4FmnrBccCT8mhmGs1MwyAzAQQYAKEWG9zm9QFEAAAAAElFTkSuQmCC"); height: 24px; line-height: 24px; padding-left: 30px; } #sidebar .labels { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUxJREFUeNpiNDY23s9AAMycOfM7UF05kHkZmzwTMkdSUhKrIcXFxZy3bt3qBjIN8RrS09PDsHnzZjCNDr58+cKQlpbGDjSoHcg1w2oIyAUODg5gARCNzUVIBrUCuVYYhjx//pzhwIEDYAEQDeJjA1CDWIAGNQK59jBxRuSABbkAlwHIgIeHh2HWrFn/1NTU2oDcvSgBS4wBSC5iArqoCsj1YGIgEyAZVMoEchqlBjEB/cZAiUHg2AEGznpKDAImxOeM////B4VLKtBvEUCngZ1ILKivr3/u6+ubBzJAGZQ9gC5aQoqLgAY8BhkAZL4BuQQkxgXE34A4BuiiZEIuAhrwEGhAEZD5DpzYoIaA2UAM4kQADUrHZRDUgAIg8wO2XAwzbQXQa5OweQ1owB10AyA6gS7BgX1u3ry5397eHow3bdo0EyjGi00tQIABANPgyAH1q1eaAAAAAElFTkSuQmCC"); height: 20px; line-height: 20px; padding-left: 30px; } #sidebar .rss a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAX5JREFUeNqsVDGSgkAQHL2rIiIikohIc/EBRkbwAIwuwgfwAXiAD9AHSI7kEkECRCb6AIyINDLx7K0aa6kT7uq0q7YYtnZ7umdnt7darXbr9Zpegeu61DNNc0dvwCcH4/GYJpMJnc9nOhwOVJbl/4hAAokMECZJQtvt9k+kH7qufyEYDAakqqqYxFdRFBqNRmTbNg2HQ0rTlK7XayvR0xqBdDqdkuM4dE/0ULhYLOh4PHYrknG5XGi/31MYhuL/nkwonM1mlGUZ1XXdrsiyLGEDhY7juJEZ1u5tIixDGdYhmYw+B7CAzPP5nDabjdgIAgCksMX1832/3drtdqPT6SQWapomiGEFNkDEdpDMMAzK81ys/7XYy+XyoQgq2WoURSIJ2iIIgp/WZCCTvFm2wgeAU31aI3Q2GhIDMeB53qPYPIcm5VrxXIOIOxsDMStjVawAc1VViRgN22lNBiuQN3GR+SY07hpOoStmFQAKXRRFY93bnpG+fONfedi+BRgAbkS8Fxp7QQIAAAAASUVORK5CYII="); } #sidebar .subscription a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); } #sidebar-bottom { background: #f5f5f5; border-top:1px solid #eee; } #sidebar-bottom .widget { border-bottom: 1px solid #e0e0e0; padding: 15px 0; text-align: center; } #sidebar-bottom > div:last-child { border-bottom: 0; } #sidebar-bottom .text { line-height: 20px; } /* Home, forward, and backward pagination. */ .blog-pager { border-top : 1px #e0e0e0 solid; padding-top: 10px; margin-top: 15px; text-align: right !important; } #blog-pager { margin-botom: 0; margin-top: -14px; padding: 16px 0 0 0; } #blog-pager a { display: inline-block; } .blog-pager i.disabled { opacity: 0.2 !important; } .blog-pager i { color: black; margin-left: 16px; opacity: 0.54; } .blog-pager i:hover, .blog-pager i:active { opacity: 0.87; } #blog-pager-older-link, #blog-pager-newer-link { float: none; } .gplus-profile { background-color: #fafafa; border: 1px solid #eee; overflow: hidden; width: 212px; } .gplus-profile-inner { margin-left: -1px; margin-top: -1px; } /* Sidebar follow buttons. */ .followgooglewrapper { padding: 12px 0 0 0; } .loading { visibility: hidden; } .detail-page .post-footer .cmt_iframe_holder { padding-top: 40px !important; } /** Desktop **/ @media (max-width: 900px) { .col-right { display: none; } .col-main { margin-right: 0; min-width: initial; } .footer-outer { display: none; } .cols-wrapper { min-width: initial; } .google-footer-outer { background-color: #f5f5f5; } } /** Tablet **/ @media (max-width: 712px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 40px; } } /* An extra breakpoint accommodating for long blog titles. */ @media (max-width: 600px) { .header-left { height: 100%; position: initial; top: inherit; margin-top: 0; -webkit-transform: initial; transform: initial; } .header-title { margin-top: 18px; } .header-inner { height: auto; margin-bottom: 32px; margin-top: 32px; } .header-desc { margin-top: 12px; } .header-inner .google-logo { height: 70px; margin-top: 3px; } .header-inner .google-logo img { height: 70px; } .header-title h2 { font-size: 32px; line-height: 76px; } } /** Mobile/small desktop window; also landscape. **/ @media (max-width: 480px), (max-height: 480px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 16px; } .cols-wrapper { margin-top: 0; } .post-header .publishdate, .post .post-content { font-size: 16px; } .post .post-content { line-height: 28px; margin-bottom: 30px; } .post { margin-top: 30px; } .byline-author { display: block; font-size: 12px; line-height: 24px; margin-top: 6px; } #main .post .title a { font-weight: 500; color: #4c4c4c; color: rgba(0,0,0,.70); } #main .post .post-header { padding-bottom: 12px; } #main .post .post-header .published { margin-bottom: -8px; margin-top: 3px; } .post .read-more { display: block; margin-top: 14px; } .post .tr-caption { font-size: 12px; } #main .post .title a { font-size: 20px; line-height: 30px; } .post-content iframe { /* iframe won't keep aspect ratio when scaled down. */ max-height: 240px; } .post-content .separator img, .post-content .tr-caption-container img, .post-content iframe { margin-left: -16px; max-width: inherit; width: calc(100% + 32px); } .post-content table, .post-content td { width: 100%; } #blog-pager { margin: 0; padding: 16px 0; } /** List page tweaks. **/ .list-page .post-original { display: none; } .list-page .post-summary { display: block; } .list-page .comment-container { display: none; } .list-page #blog-pager { padding-top: 0; border: 0; margin-top: -8px; } .list-page .label-footer { display: none; } .list-page #main .post .post-footer { border-bottom: 1px solid #eee; margin: -16px 0 0 0; padding: 0 0 20px 0; } .list-page .post .share { display: none; } /** Detail page tweaks. **/ .detail-page .post-footer .cmt_iframe_holder { padding-top: 32px !important; } .detail-page .label-footer { margin-bottom: 0; } .detail-page #main .post .post-footer { padding-bottom: 0; } .detail-page #comments { display: none; } } [data-about-pullquote], [data-is-preview], [data-about-syndication] { display: none; } </style> <noscript> <style> .loading { visibility: visible }</style> </noscript> <script type='text/javascript'> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-37592578-1', 'auto', 'blogger'); ga('blogger.send', 'pageview'); </script> <link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=2471378914199150966&amp;zx=3a5e6827-7ceb-4daf-b12c-bebbc55c1d22' media='none' onload='if(media!=&#39;all&#39;)media=&#39;all&#39;' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=2471378914199150966&amp;zx=3a5e6827-7ceb-4daf-b12c-bebbc55c1d22' rel='stylesheet'/></noscript> <meta name='google-adsense-platform-account' content='ca-host-pub-1556223355139109'/> <meta name='google-adsense-platform-domain' content='blogspot.com'/> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?display=swap&family=Roboto"></head> <body> <script type='text/javascript'> //<![CDATA[ var axel = Math.random() + ""; var a = axel * 10000000000000; document.write('<iframe src="https://2542116.fls.doubleclick.net/activityi;src=2542116;type=gblog;cat=googl0;ord=ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>'); //]]> </script> <noscript> <img alt='' height='1' src='https://ad.doubleclick.net/ddm/activity/src=2542116;type=gblog;cat=googl0;ord=1?' width='1'/> </noscript> <!-- Header --> <div class='header-outer'> <div class='header-inner'> <div class='section' id='header'><div class='widget Header' data-version='1' id='Header1'> <div class='header-left'> <div class='header-title'> <a class='google-logo' href='https://blog.chromium.org/'> <img alt="Chromium Blog" height="50" src="//1.bp.blogspot.com/-vkF7AFJOwBk/VkQxeAGi1mI/AAAAAAAARYo/57denvsQ8zA/s1600-r/logo_chromium.png"> </a> <a href='/.'> <h2> Chromium Blog </h2> </a> </div> <div class='header-desc'> News and developments from the open source browser project </div> </div> </div></div> </div> </div> <!-- all content wrapper start --> <div class='cols-wrapper loading'> <div class='col-main-wrapper'> <div class='col-main'> <div class='section' id='main'><div class='widget Blog' data-version='1' id='Blog1'> <div class='post' data-id='2481252516720375987' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://blog.chromium.org/2016/03/retiring-chrome-app-launcher.html' itemprop='url' title='Retiring the Chrome app launcher'> Retiring the Chrome app launcher </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Tuesday, March 22, 2016 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The app launcher makes Chrome apps easy to open outside the browser, but we&#8217;ve</span><span style="background-color: white; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> found that users on Windows, Mac, and Linux prefer to launch their apps from within Chrome.</span><span style="background-color: white; color: #333333; font-family: Arial; font-size: 13.333333333333332px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">With Chrome&#8217;s continued emphasis on simplicity and </span><a href="http://blog.chromium.org/2015/10/streamlining-notifications-on-desktop.html" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">streamlining browser features</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, the launcher will be removed from those platforms. It will remain unchanged on Chrome OS.</span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;">The removal process will take place over the next several months. Beginning in a few weeks, Chrome will no longer enable the launcher when users first install a Chrome app. Anyone who currently has the launcher will receive a notice informing them that the launcher will be going away. In July, existing instances of the launcher will be removed.&nbsp;</span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">Chrome apps can still be accessed by clicking the apps shortcut in the bookmarks bar or typing chrome://apps in the omnibox. Learn more about opening Chrome apps by visiting the </span><a href="https://support.google.com/chrome/answer/3060053?hl=en" style="line-height: 1.38; text-decoration: none;"><span style="color: #1155cc; font-family: Arial; font-size: 14.6667px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">help center</span></a><span style="font-family: Arial; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">.</span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;">Posted by Marc Pawliger, Engineering Director</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The app launcher makes Chrome apps easy to open outside the browser, but we&#8217;ve</span><span style="background-color: white; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> found that users on Windows, Mac, and Linux prefer to launch their apps from within Chrome.</span><span style="background-color: white; color: #333333; font-family: Arial; font-size: 13.333333333333332px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">With Chrome&#8217;s continued emphasis on simplicity and </span><a href="http://blog.chromium.org/2015/10/streamlining-notifications-on-desktop.html" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">streamlining browser features</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, the launcher will be removed from those platforms. It will remain unchanged on Chrome OS.</span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;">The removal process will take place over the next several months. Beginning in a few weeks, Chrome will no longer enable the launcher when users first install a Chrome app. Anyone who currently has the launcher will receive a notice informing them that the launcher will be going away. In July, existing instances of the launcher will be removed.&nbsp;</span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">Chrome apps can still be accessed by clicking the apps shortcut in the bookmarks bar or typing chrome://apps in the omnibox. Learn more about opening Chrome apps by visiting the </span><a href="https://support.google.com/chrome/answer/3060053?hl=en" style="line-height: 1.38; text-decoration: none;"><span style="color: #1155cc; font-family: Arial; font-size: 14.6667px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">help center</span></a><span style="font-family: Arial; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">.</span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: Arial; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;">Posted by Marc Pawliger, Engineering Director</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Chromium Blog:Retiring the Chrome app launcher&url=https://blog.chromium.org/2016/03/retiring-chrome-app-launcher.html&via=ChromiumDev'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://blog.chromium.org/2016/03/retiring-chrome-app-launcher.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://blog.chromium.org/2016/03/retiring-chrome-app-launcher.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> </div> </div> </div> <div class='post' data-id='5051365180659971938' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://blog.chromium.org/2016/03/chrome-50-beta-push-notification.html' itemprop='url' title='Chrome 50 Beta: Push notification improvements and declarative preload'> Chrome 50 Beta: Push notification improvements and declarative preload </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, March 17, 2016 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 13.333333333333332px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Unless otherwise noted, changes described below apply to the newest Chrome </span><a href="https://www.google.com/landing/chrome/beta/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.333333333333332px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Beta</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 13.333333333333332px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> channel release for Android, Chrome OS, Linux, Mac, and Windows.</span></div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; line-height: 1.3; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <br /> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; line-height: 1.3; white-space: pre-wrap;">Push notification improvements</span><br /> <span style="background-color: white; color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Push notifications allow a site to trigger system-level notifications in the same way that native applications do. The initial version of push notifications relied on service workers to proactively fetch the information for a notification from the server</span><span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">. This led to problems when there were multiple messages in flight or when the device was on a flaky network connection. The latest version of Chrome allows sites to include notification data payloads with their push messages to eliminate the final server check. To protect user privacy, push notification payloads </span><a href="http://github.com/googlechrome/push-encryption-node" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">must be encrypted</span></a><span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">. </span><a href="https://developers.google.com/web/updates/2016/03/web-push-encryption?hl=en" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Push notification payloads</span></a><span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> are part of the </span><a href="https://w3c.github.io/push-api/" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Push API spec</span></a><span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> and already supported in Firefox.</span></div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"><br /></span> <span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">In addition to payloads, sites can now detect when a </span><a href="https://developers.google.com/web/updates/2016/03/notifications?hl=en" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">notification is closed by the user</span></a><span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, enabling better analytics and allowing cross-device notification dismissal. Sites can also control the look of notifications more finely, setting custom timestamps and icons for notification actions. When updating a notification, sites can specify whether the device should alert the user with sound or vibration, or remain silent.</span></div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 13.333333333333332px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div class="separator" style="clear: both; text-align: center;"> </div> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyh1nX4IrPOTQL1C9cXObQY1EFj-Y5VhKi6qtrofvCXYM7EepBxBQy-pjuF0Tn7rT8gkChIEKeHNMFl1ohjAfq337TbwaiELiA_zJoORy-85I9vxqpUkr13_9SAxuBPYB_i1FRUYqbnMuA/s1600/kitty.png" imageanchor="1" style="display: block; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="155" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyh1nX4IrPOTQL1C9cXObQY1EFj-Y5VhKi6qtrofvCXYM7EepBxBQy-pjuF0Tn7rT8gkChIEKeHNMFl1ohjAfq337TbwaiELiA_zJoORy-85I9vxqpUkr13_9SAxuBPYB_i1FRUYqbnMuA/s320/kitty.png" width="320" /></a> <br /> <div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"> <span style="font-size: 13.3333px; font-style: italic; line-height: 1.3; white-space: pre-wrap;">In Chrome 50, notification actions support custom icons.</span></div> </div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"> <br /> <div style="text-align: left;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; line-height: 1.3; white-space: pre-wrap;">Declarative preload</span></div> <div style="text-align: left;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Sometimes there are </span><a href="http://w3c.github.io/preload/#use-cases" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">resources needed to fully display a page</span></a><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> that Chrome doesn&#8217;t know about until other resources are loaded. For example, a large JavaScript file may require a particular stylesheet, but Chrome doesn&#8217;t know to load the CSS until the JavaScript has run. Chrome </span><a href="https://developers.google.com/web/updates/2016/03/link-rel-preload?hl=en" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">now supports</span></a><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> the </span><span id="docs-internal-guid-58de8230-815c-acdb-5254-410992850041"><a href="https://w3c.github.io/preload/" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">&lt;link rel='preload'&gt;</span></a></span><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> attribute, allowing developers to </span><a href="https://www.smashingmagazine.com/2016/02/preload-what-is-it-good-for/" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">specify resources that should be downloaded preemptively</span></a><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> and reducing the time to get meaningful content in front of users.</span></div> </div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"> <div style="text-align: left;"> <div style="line-height: 1.3;"> <br /></div> <div class="separator" style="clear: both; line-height: 1.3; text-align: center;"> <iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/vRXOTeKtbvY/0.jpg" frameborder="0" height="480" src="https://www.youtube.com/embed/vRXOTeKtbvY?feature=player_embedded" width="853"></iframe></div> <div class="separator" style="clear: both; line-height: 1.3; text-align: center;"> </div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"> <span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 13.333333333333332px; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Chrome 50 (left) loading a page with preload vs. Chrome 49 (right) loading the page without.</span></div> <h1 dir="ltr" style="line-height: 1.3; margin-bottom: 6pt; margin-top: 20pt;"> <span id="docs-internal-guid-4243f639-8168-6b62-e20f-f24646304076" style="font-weight: normal;"><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Other features in this release</span></span></h1> <div style="line-height: 1.3;"> <ul style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"><span id="docs-internal-guid-570409c1-8168-a07c-baf0-69341833c140"> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <a href="https://html.spec.whatwg.org/multipage/embedded-content.html#dom-media-play" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">HTMLMediaElement.play()</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> now returns a promise, allowing </span><a href="https://developers.google.com/web/updates/2016/03/play-returns-promise?hl=en" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">sites to react more easily if automatic playback fails</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Sites can process the image stored in a </span><span style="font-family: &quot;source code pro&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">canvas</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> element </span><a href="https://developers.google.com/web/updates/2016/03/canvas-toblob-in-chrome-50" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">as a blob file</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> using </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">HTMLCanvasElement.toBlob()</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Chrome supports the creation of </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">ImageBitmap</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> objects, which can be </span><a href="https://developers.google.com/web/updates/2016/03/createimagebitmap-in-chrome-50" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">quickly and asynchronously written to a </span><span style="color: #1155cc; font-family: &quot;source code pro&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">canvas</span><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> element</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <a href="https://developers.google.com/web/updates/2016/03/device-orientation-changes" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Absolute device orientation</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> can be accessed via </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">AbsoluteDeviceOrientation</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> while </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">DeviceOrientation</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> now </span><a href="https://github.com/w3c/deviceorientation/issues/21" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">returns relative values</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> that don&#8217;t use the magnetometer, preventing drift caused by nearby metallic objects when tracking head motion in VR. </span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">The </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">DOMTokenList</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> </span><a href="https://dom.spec.whatwg.org/#concept-supported-tokens" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">supported tokens</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> feature now </span><a href="https://developers.google.com/web/updates/2016/03/domtokenlist-validation-added-in-chrome-50?hl=en" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">enables developers to detect sandbox options</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> or link relations on elements.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">The </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/FormData" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">FormData</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> object, which allows programmatic creation of web form data, now </span><a href="https://developers.google.com/web/updates/2016/03/formdata-methods-for-inspection-and-modification?hl=en" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">allows sites to inspect and modify data in addition to writing values</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Developers can now use the ES2015 </span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Parameters" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Unicode regex flag </span><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">u</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, as well as the </span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Regular_expression_symbols" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">regex well-known symbols</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">@@match</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">@@replace</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">@@search</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, and </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">@@split</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, for better control over regular expression matching.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <a href="https://developers.google.com/web/updates/2016/03/mse-sourcebuffer" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Sites can now buffer audio and video streams without gaps</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> using the </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/SourceBuffer/mode" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">SourceBuffer.mode</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> attribute and the </span><a href="http://w3c.github.io/media-source/#idl-def-AppendMode.sequence" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">'sequence'</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> option.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Presentation connections can be </span><a href="http://w3c.github.io/presentation-api/#event-handlers-1" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">managed more robustly</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> with </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">PresentationConnectionCloseEvent</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> and </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">PresentationConnectionCloseReason</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> instead of the deprecated </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">PresentationConnection.onStateChange</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Sites can now </span><a href="https://developers.google.com/web/updates/2016/03/focus-start-point" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">control the first focus target</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> when the user presses tab or shift-tab while nothing is focused.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <a href="https://developers.google.com/web/updates/2016/03/web-animations-improvements" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">To improve</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> </span><a href="https://w3c.github.io/web-animations/" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Web Animation</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> spec compliance, </span><a href="https://w3c.github.io/web-animations/#cancel-event" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Cancel</span><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> events</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://w3c.github.io/web-animations/#dom-animation-id" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Animation.id</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> are now supported, </span><a href="https://w3c.github.io/web-animations/#pause-an-animation" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">pause()</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> uses a pause state instead of idle, and dashed-names as keys in keyframes have been deprecated.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Parameter automation of </span><a href="http://webaudio.github.io/web-audio-api/#AudioParam" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Web Audio</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">BiquadFilter</span><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> nodes</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> is now evaluated every sample frame, rather than once every 128 frames, making resonant filter sweeps smoother.</span></div> </li> </span> <li><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Chrome no longer supports TLS version fallbacks, which allowed attackers to </span><a href="https://groups.google.com/a/chromium.org/forum/#!searchin/blink-dev/tls$20fallback/blink-dev/yz1lU9YTeys/yCsK50I3CQAJ" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">force all sites to use an older version of TLS</span></a><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">.</span></li> <li><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; line-height: normal; white-space: normal; widows: 1;">Chrome no longer supports geolocation services over non secure connections.</span></span></li> </ul> </div> <div style="line-height: 1.3;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div style="line-height: 1.3;"> <span id="docs-internal-guid-274779c9-8168-c982-7712-e0c21665b4c0"><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Minor changes</span></span></div> <div> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"></span><br /> <ul style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"><span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Chrome now supports the </span><a href="https://tools.ietf.org/html/draft-ietf-tls-curve25519-01" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">X25519 curve</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> for TLS, allowing faster, simpler encryption.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <a href="https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/doc/uid/TP30001266--webkit-background-composite" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">-webkit-background-composite</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> has been removed since it was nonstandard and had low usage.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">The </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">SVGZoomEvent</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, which was a no-op in Chrome, has been deprecated to improve </span><a href="https://svgwg.org/svg2-draft/" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">spec</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> compliance.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">The </span><a href="https://w3c.github.io/webrtc-pc/#idl-def-RTCPeerConnection" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">RTCPeerConnection</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> methods </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">createOffer()</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> and </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">createAnswer()</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> have been deprecated to enable promise-based implementations.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">&lt;link rel='subresource'&gt;</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> has been deprecated in favor of </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">&lt;link rel='preload'&gt;</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, as described above.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">XMLHTTPRequestProgressEvent</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> has been removed in favor of </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">ProgressEvent</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> to improve spec compliance.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">The </span><a href="https://github.com/whatwg/dom/issues/58" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Document.defaultCharset</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> attribute has been removed to improve spec compliance.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">KeyboardEvent.prototype.keyLocation</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> has been removed in favor of </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">KeyboardEvent.prototype.location</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, which is supported across more browsers.</span></div> </li> <li><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">The </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">SVGElement.offset*</span><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> methods have been removed from all elements except </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">HTMLElement</span><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> to improve </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/SVGElement" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">spec</span></a><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> compliance.</span></li> </span></ul> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"> </span> <br /> <div> <br /> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"><span id="docs-internal-guid-570409c1-8169-1aca-121c-7e0bb73bba12"> </span></span> <br /> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"><span id="docs-internal-guid-570409c1-8169-1aca-121c-7e0bb73bba12"><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Posted by Peter Beverloo and Nico</span><span style="background-color: white; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">lás Satragno</span><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, Notification Knights</span></span></span></div> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"><span id="docs-internal-guid-570409c1-8169-1aca-121c-7e0bb73bba12"> </span></span> <br /> <div> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"><span id="docs-internal-guid-570409c1-8169-1aca-121c-7e0bb73bba12"><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></span></div> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"><span id="docs-internal-guid-570409c1-8169-1aca-121c-7e0bb73bba12"> </span></span></div> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"> </span></div> <div style="line-height: 1.3;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div style="line-height: 1.3;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div style="line-height: 1.3;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div style="line-height: 1.3;"> <span style="font-weight: normal;"><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></div> </div> </div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"> <br /></div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"> <br /></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 13.333333333333332px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Unless otherwise noted, changes described below apply to the newest Chrome </span><a href="https://www.google.com/landing/chrome/beta/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.333333333333332px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Beta</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 13.333333333333332px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> channel release for Android, Chrome OS, Linux, Mac, and Windows.</span></div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; line-height: 1.3; white-space: pre-wrap;"><br /></span></div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <br /> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; line-height: 1.3; white-space: pre-wrap;">Push notification improvements</span><br /> <span style="background-color: white; color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Push notifications allow a site to trigger system-level notifications in the same way that native applications do. The initial version of push notifications relied on service workers to proactively fetch the information for a notification from the server</span><span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">. This led to problems when there were multiple messages in flight or when the device was on a flaky network connection. The latest version of Chrome allows sites to include notification data payloads with their push messages to eliminate the final server check. To protect user privacy, push notification payloads </span><a href="http://github.com/googlechrome/push-encryption-node" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">must be encrypted</span></a><span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">. </span><a href="https://developers.google.com/web/updates/2016/03/web-push-encryption?hl=en" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Push notification payloads</span></a><span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> are part of the </span><a href="https://w3c.github.io/push-api/" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Push API spec</span></a><span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> and already supported in Firefox.</span></div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"><br /></span> <span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">In addition to payloads, sites can now detect when a </span><a href="https://developers.google.com/web/updates/2016/03/notifications?hl=en" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">notification is closed by the user</span></a><span style="color: black; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, enabling better analytics and allowing cross-device notification dismissal. Sites can also control the look of notifications more finely, setting custom timestamps and icons for notification actions. When updating a notification, sites can specify whether the device should alert the user with sound or vibration, or remain silent.</span></div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 13.333333333333332px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div class="separator" style="clear: both; text-align: center;"> </div> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyh1nX4IrPOTQL1C9cXObQY1EFj-Y5VhKi6qtrofvCXYM7EepBxBQy-pjuF0Tn7rT8gkChIEKeHNMFl1ohjAfq337TbwaiELiA_zJoORy-85I9vxqpUkr13_9SAxuBPYB_i1FRUYqbnMuA/s1600/kitty.png" imageanchor="1" style="display: block; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="155" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyh1nX4IrPOTQL1C9cXObQY1EFj-Y5VhKi6qtrofvCXYM7EepBxBQy-pjuF0Tn7rT8gkChIEKeHNMFl1ohjAfq337TbwaiELiA_zJoORy-85I9vxqpUkr13_9SAxuBPYB_i1FRUYqbnMuA/s320/kitty.png" width="320" /></a> <br /> <div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"> <span style="font-size: 13.3333px; font-style: italic; line-height: 1.3; white-space: pre-wrap;">In Chrome 50, notification actions support custom icons.</span></div> </div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"> <br /> <div style="text-align: left;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; line-height: 1.3; white-space: pre-wrap;">Declarative preload</span></div> <div style="text-align: left;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Sometimes there are </span><a href="http://w3c.github.io/preload/#use-cases" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">resources needed to fully display a page</span></a><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> that Chrome doesn&#8217;t know about until other resources are loaded. For example, a large JavaScript file may require a particular stylesheet, but Chrome doesn&#8217;t know to load the CSS until the JavaScript has run. Chrome </span><a href="https://developers.google.com/web/updates/2016/03/link-rel-preload?hl=en" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">now supports</span></a><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> the </span><span id="docs-internal-guid-58de8230-815c-acdb-5254-410992850041"><a href="https://w3c.github.io/preload/" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">&lt;link rel='preload'&gt;</span></a></span><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> attribute, allowing developers to </span><a href="https://www.smashingmagazine.com/2016/02/preload-what-is-it-good-for/" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">specify resources that should be downloaded preemptively</span></a><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> and reducing the time to get meaningful content in front of users.</span></div> </div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"> <div style="text-align: left;"> <div style="line-height: 1.3;"> <br /></div> <div class="separator" style="clear: both; line-height: 1.3; text-align: center;"> <iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/vRXOTeKtbvY/0.jpg" frameborder="0" height="480" src="https://www.youtube.com/embed/vRXOTeKtbvY?feature=player_embedded" width="853"></iframe></div> <div class="separator" style="clear: both; line-height: 1.3; text-align: center;"> </div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"> <span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 13.333333333333332px; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Chrome 50 (left) loading a page with preload vs. Chrome 49 (right) loading the page without.</span></div> <h1 dir="ltr" style="line-height: 1.3; margin-bottom: 6pt; margin-top: 20pt;"> <span id="docs-internal-guid-4243f639-8168-6b62-e20f-f24646304076" style="font-weight: normal;"><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Other features in this release</span></span></h1> <div style="line-height: 1.3;"> <ul style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"><span id="docs-internal-guid-570409c1-8168-a07c-baf0-69341833c140"> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <a href="https://html.spec.whatwg.org/multipage/embedded-content.html#dom-media-play" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">HTMLMediaElement.play()</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> now returns a promise, allowing </span><a href="https://developers.google.com/web/updates/2016/03/play-returns-promise?hl=en" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">sites to react more easily if automatic playback fails</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Sites can process the image stored in a </span><span style="font-family: &quot;source code pro&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">canvas</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> element </span><a href="https://developers.google.com/web/updates/2016/03/canvas-toblob-in-chrome-50" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">as a blob file</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> using </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">HTMLCanvasElement.toBlob()</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Chrome supports the creation of </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">ImageBitmap</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> objects, which can be </span><a href="https://developers.google.com/web/updates/2016/03/createimagebitmap-in-chrome-50" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">quickly and asynchronously written to a </span><span style="color: #1155cc; font-family: &quot;source code pro&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">canvas</span><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> element</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <a href="https://developers.google.com/web/updates/2016/03/device-orientation-changes" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Absolute device orientation</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> can be accessed via </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">AbsoluteDeviceOrientation</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> while </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">DeviceOrientation</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> now </span><a href="https://github.com/w3c/deviceorientation/issues/21" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">returns relative values</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> that don&#8217;t use the magnetometer, preventing drift caused by nearby metallic objects when tracking head motion in VR. </span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">The </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">DOMTokenList</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> </span><a href="https://dom.spec.whatwg.org/#concept-supported-tokens" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">supported tokens</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> feature now </span><a href="https://developers.google.com/web/updates/2016/03/domtokenlist-validation-added-in-chrome-50?hl=en" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">enables developers to detect sandbox options</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> or link relations on elements.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">The </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/FormData" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">FormData</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> object, which allows programmatic creation of web form data, now </span><a href="https://developers.google.com/web/updates/2016/03/formdata-methods-for-inspection-and-modification?hl=en" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">allows sites to inspect and modify data in addition to writing values</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Developers can now use the ES2015 </span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Parameters" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Unicode regex flag </span><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">u</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, as well as the </span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Regular_expression_symbols" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">regex well-known symbols</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">@@match</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">@@replace</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">@@search</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, and </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">@@split</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, for better control over regular expression matching.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <a href="https://developers.google.com/web/updates/2016/03/mse-sourcebuffer" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Sites can now buffer audio and video streams without gaps</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> using the </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/SourceBuffer/mode" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">SourceBuffer.mode</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> attribute and the </span><a href="http://w3c.github.io/media-source/#idl-def-AppendMode.sequence" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">'sequence'</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> option.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Presentation connections can be </span><a href="http://w3c.github.io/presentation-api/#event-handlers-1" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">managed more robustly</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> with </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">PresentationConnectionCloseEvent</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> and </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">PresentationConnectionCloseReason</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> instead of the deprecated </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">PresentationConnection.onStateChange</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Sites can now </span><a href="https://developers.google.com/web/updates/2016/03/focus-start-point" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">control the first focus target</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> when the user presses tab or shift-tab while nothing is focused.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <a href="https://developers.google.com/web/updates/2016/03/web-animations-improvements" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">To improve</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> </span><a href="https://w3c.github.io/web-animations/" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Web Animation</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> spec compliance, </span><a href="https://w3c.github.io/web-animations/#cancel-event" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Cancel</span><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> events</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://w3c.github.io/web-animations/#dom-animation-id" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Animation.id</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> are now supported, </span><a href="https://w3c.github.io/web-animations/#pause-an-animation" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">pause()</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> uses a pause state instead of idle, and dashed-names as keys in keyframes have been deprecated.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Parameter automation of </span><a href="http://webaudio.github.io/web-audio-api/#AudioParam" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Web Audio</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">BiquadFilter</span><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> nodes</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> is now evaluated every sample frame, rather than once every 128 frames, making resonant filter sweeps smoother.</span></div> </li> </span> <li><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Chrome no longer supports TLS version fallbacks, which allowed attackers to </span><a href="https://groups.google.com/a/chromium.org/forum/#!searchin/blink-dev/tls$20fallback/blink-dev/yz1lU9YTeys/yCsK50I3CQAJ" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">force all sites to use an older version of TLS</span></a><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">.</span></li> <li><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; line-height: normal; white-space: normal; widows: 1;">Chrome no longer supports geolocation services over non secure connections.</span></span></li> </ul> </div> <div style="line-height: 1.3;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div style="line-height: 1.3;"> <span id="docs-internal-guid-274779c9-8168-c982-7712-e0c21665b4c0"><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Minor changes</span></span></div> <div> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"></span><br /> <ul style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"><span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Chrome now supports the </span><a href="https://tools.ietf.org/html/draft-ietf-tls-curve25519-01" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">X25519 curve</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> for TLS, allowing faster, simpler encryption.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <a href="https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/doc/uid/TP30001266--webkit-background-composite" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">-webkit-background-composite</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> has been removed since it was nonstandard and had low usage.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">The </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">SVGZoomEvent</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, which was a no-op in Chrome, has been deprecated to improve </span><a href="https://svgwg.org/svg2-draft/" style="text-decoration: none;"><span style="color: #1155cc; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">spec</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> compliance.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">The </span><a href="https://w3c.github.io/webrtc-pc/#idl-def-RTCPeerConnection" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">RTCPeerConnection</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> methods </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">createOffer()</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> and </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">createAnswer()</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> have been deprecated to enable promise-based implementations.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">&lt;link rel='subresource'&gt;</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> has been deprecated in favor of </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">&lt;link rel='preload'&gt;</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, as described above.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">XMLHTTPRequestProgressEvent</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> has been removed in favor of </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">ProgressEvent</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> to improve spec compliance.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">The </span><a href="https://github.com/whatwg/dom/issues/58" style="text-decoration: none;"><span style="color: #1155cc; font-family: &quot;courier new&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Document.defaultCharset</span></a><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> attribute has been removed to improve spec compliance.</span></div> </li> <li dir="ltr" style="font-family: Arial; font-size: 13.3333px; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">KeyboardEvent.prototype.keyLocation</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> has been removed in favor of </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">KeyboardEvent.prototype.location</span><span style="font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, which is supported across more browsers.</span></div> </li> <li><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">The </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">SVGElement.offset*</span><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> methods have been removed from all elements except </span><span style="font-family: &quot;courier new&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">HTMLElement</span><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> to improve </span><a href="https://developer.mozilla.org/en-US/docs/Web/API/SVGElement" style="line-height: 1.3; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 13.3333px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">spec</span></a><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"> compliance.</span></li> </span></ul> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"> </span> <br /> <div> <br /> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"><span id="docs-internal-guid-570409c1-8169-1aca-121c-7e0bb73bba12"> </span></span> <br /> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt;"> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"><span id="docs-internal-guid-570409c1-8169-1aca-121c-7e0bb73bba12"><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">Posted by Peter Beverloo and Nico</span><span style="background-color: white; font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">lás Satragno</span><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;">, Notification Knights</span></span></span></div> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"><span id="docs-internal-guid-570409c1-8169-1aca-121c-7e0bb73bba12"> </span></span> <br /> <div> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"><span id="docs-internal-guid-570409c1-8169-1aca-121c-7e0bb73bba12"><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></span></div> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"><span id="docs-internal-guid-570409c1-8169-1aca-121c-7e0bb73bba12"> </span></span></div> <span id="docs-internal-guid-570409c1-8168-e738-e060-620422fea027"> </span></div> <div style="line-height: 1.3;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div style="line-height: 1.3;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div style="line-height: 1.3;"> <span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div> <div style="line-height: 1.3;"> <span style="font-weight: normal;"><span style="font-family: &quot;arial&quot;; font-size: 13.3333px; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></div> </div> </div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"> <br /></div> <div dir="ltr" style="line-height: 1.3; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"> <br /></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Chromium Blog:Chrome 50 Beta: Push notification improvements and declarative preload&url=https://blog.chromium.org/2016/03/chrome-50-beta-push-notification.html&via=ChromiumDev'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://blog.chromium.org/2016/03/chrome-50-beta-push-notification.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://blog.chromium.org/2016/03/chrome-50-beta-push-notification.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://blog.chromium.org/search/label/beta' rel='tag'> beta </a> </span> </div> </div> </div> <div class='blog-pager' id='blog-pager'> <a class='home-link' href='https://blog.chromium.org/'> <i class='material-icons'> &#59530; </i> </a> <span id='blog-pager-newer-link'> <a class='blog-pager-newer-link' href='https://blog.chromium.org/search?updated-max=2016-06-29T09:35:00-07:00&max-results=7&reverse-paginate=true' id='Blog1_blog-pager-newer-link' title='Newer Posts'> <i class='material-icons'> &#58820; </i> </a> </span> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='https://blog.chromium.org/search?updated-max=2016-03-17T09:58:00-07:00&max-results=7' id='Blog1_blog-pager-older-link' title='Older Posts'> <i class='material-icons'> &#58824; </i> </a> </span> </div> <div class='clear'></div> </div></div> </div> </div> <div class='col-right'> <div class='section' id='sidebar-top'><div class='widget HTML' data-version='1' id='HTML8'> <div class='widget-content'> <div class='searchBox'> <input type='text' title='Search This Blog' placeholder='Search blog ...' /> </div> </div> <div class='clear'></div> </div></div> <div id='aside'> <div class='section' id='sidebar'><div class='widget Label' data-version='1' id='Label1'> <div class='tab'> <img class='sidebar-icon' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYpJREFUeNrs2aFuwzAQBmAvKRkMKRjZA4QMDJaWFgyMjuzFRg37DIUlA3uFkoGQSaWzJU+tpri5O9+l/zSfdFJlpe59yTmyVedq1PjfcZMZ70NuQnaF8w8htyE/rABtpviXkLcK88c5HhLkMBfgVan43zfFBNGMjHVGT/s55KP2pAvidbGHd+nzKt1RKSLG3rKF1iPFv6UWiPke8i7kEqGdGsI1O+LYVdqJAjgirwkKYD0ytkJBUNbAMvX8V3q9PhUsYvU1sWD8SO/sQvx2ahxOiNoJCSBCoAHYCEQAC4EKICOQASQEOmAS8RcAFxFN5hiIiugpgC3wk9hQAHH/70EBHXUN7IER5EWMiBgo2+nzOKQv9SCAeEM/OQAkhE/ncccFICB87qzQMia5FsJfOui0zMnmRvipU1ormHQuxGTxUsAcCFLxJQBLBLn4UoAFglW8BkATwS5eC6CBEBWvCShBiIvXBkgQRcVbADiI4uKtABSESvGWgB9EzHt3+tNwyO0qa9SoIYtvAQYAqDJhaWWeMecAAAAASUVORK5CYII='/> <h2> Labels </h2> <i class='material-icons arrow'> &#58821; </i> </div> <div class='widget-content list-label-widget-content'> <ul> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/%24200K'> $200K </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/10th%20birthday'> 10th birthday </a> <span dir='ltr'> 4 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/abusive%20ads'> abusive ads </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/abusive%20notifications'> abusive notifications </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/accessibility'> accessibility </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/ad%20blockers'> ad blockers </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/ad%20blocking'> ad blocking </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/advanced%20capabilities'> advanced capabilities </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/android'> android </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/anti%20abuse'> anti abuse </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/anti-deception'> anti-deception </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/background%20periodic%20sync'> background periodic sync </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/badging'> badging </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/benchmarks'> benchmarks </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/beta'> beta </a> <span dir='ltr'> 83 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/better%20ads%20standards'> better ads standards </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/billing'> billing </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/birthday'> birthday </a> <span dir='ltr'> 4 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/blink'> blink </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/browser'> browser </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/browser%20interoperability'> browser interoperability </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/bundles'> bundles </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/capabilities'> capabilities </a> <span dir='ltr'> 6 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/capable%20web'> capable web </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/cds'> cds </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/cds18'> cds18 </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/cds2018'> cds2018 </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome'> chrome </a> <span dir='ltr'> 35 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%2081'> chrome 81 </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%2083'> chrome 83 </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%2084'> chrome 84 </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20ads'> chrome ads </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20apps'> chrome apps </a> <span dir='ltr'> 5 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Chrome%20dev'> Chrome dev </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20dev%20summit'> chrome dev summit </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20dev%20summit%202018'> chrome dev summit 2018 </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20dev%20summit%202019'> chrome dev summit 2019 </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20developer'> chrome developer </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Chrome%20Developer%20Center'> Chrome Developer Center </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20developer%20summit'> chrome developer summit </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20devtools'> chrome devtools </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Chrome%20extension'> Chrome extension </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20extensions'> chrome extensions </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Chrome%20Frame'> Chrome Frame </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Chrome%20lite'> Chrome lite </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Chrome%20on%20Android'> Chrome on Android </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20on%20ios'> chrome on ios </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Chrome%20on%20Mac'> Chrome on Mac </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Chrome%20OS'> Chrome OS </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20privacy'> chrome privacy </a> <span dir='ltr'> 4 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20releases'> chrome releases </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20security'> chrome security </a> <span dir='ltr'> 10 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chrome%20web%20store'> chrome web store </a> <span dir='ltr'> 32 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chromedevtools'> chromedevtools </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chromeframe'> chromeframe </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chromeos'> chromeos </a> <span dir='ltr'> 4 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chromeos.dev'> chromeos.dev </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/chromium'> chromium </a> <span dir='ltr'> 9 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/cloud%20print'> cloud print </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/coalition'> coalition </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/coalition%20for%20better%20ads'> coalition for better ads </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/contact%20picker'> contact picker </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/content%20indexing'> content indexing </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/cookies'> cookies </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/core%20web%20vitals'> core web vitals </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/csrf'> csrf </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/css'> css </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/cumulative%20layout%20shift'> cumulative layout shift </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/custom%20tabs'> custom tabs </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/dart'> dart </a> <span dir='ltr'> 8 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/dashboard'> dashboard </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Data%20Saver'> Data Saver </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Data%20saver%20desktop%20extension'> Data saver desktop extension </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/day%202'> day 2 </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/deceptive%20installation'> deceptive installation </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/declarative%20net%20request%20api'> declarative net request api </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/design'> design </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/developer%20dashboard'> developer dashboard </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Developer%20Program%20Policy'> Developer Program Policy </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/developer%20website'> developer website </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/devtools'> devtools </a> <span dir='ltr'> 13 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/digital%20event'> digital event </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/discoverability'> discoverability </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/DNS-over-HTTPS'> DNS-over-HTTPS </a> <span dir='ltr'> 4 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/DoH'> DoH </a> <span dir='ltr'> 4 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/emoji'> emoji </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/emscriptem'> emscriptem </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/enterprise'> enterprise </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/extensions'> extensions </a> <span dir='ltr'> 27 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Fast%20badging'> Fast badging </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/faster%20web'> faster web </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/features'> features </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/feedback'> feedback </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/field%20data'> field data </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/first%20input%20delay'> first input delay </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Follow'> Follow </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/fonts'> fonts </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/form%20controls'> form controls </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/frameworks'> frameworks </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/fugu'> fugu </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/fund'> fund </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/funding'> funding </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/gdd'> gdd </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/google%20earth'> google earth </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/google%20event'> google event </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/google%20io%202019'> google io 2019 </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/google%20web%20developer'> google web developer </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/googlechrome'> googlechrome </a> <span dir='ltr'> 12 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/harmful%20ads'> harmful ads </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/html5'> html5 </a> <span dir='ltr'> 11 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/HTTP%2F3'> HTTP/3 </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/HTTPS'> HTTPS </a> <span dir='ltr'> 4 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/iframes'> iframes </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/images'> images </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/incognito'> incognito </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/insecure%20forms'> insecure forms </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/intent%20to%20explain'> intent to explain </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/ios'> ios </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/ios%20Chrome'> ios Chrome </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/issue%20tracker'> issue tracker </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/jank'> jank </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/javascript'> javascript </a> <span dir='ltr'> 5 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/lab%20data'> lab data </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/labelling'> labelling </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/largest%20contentful%20paint'> largest contentful paint </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/launch'> launch </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/lazy-loading'> lazy-loading </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/lighthouse'> lighthouse </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/linux'> linux </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Lite%20Mode'> Lite Mode </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Lite%20pages'> Lite pages </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/loading%20interventions'> loading interventions </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/loading%20optimizations'> loading optimizations </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/lock%20icon'> lock icon </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/long-tail'> long-tail </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/mac'> mac </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/manifest%20v3'> manifest v3 </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/metrics'> metrics </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/microsoft%20edge'> microsoft edge </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/mixed%20forms'> mixed forms </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/mobile'> mobile </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/na'> na </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/native%20client'> native client </a> <span dir='ltr'> 8 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/native%20file%20system'> native file system </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/New%20Features'> New Features </a> <span dir='ltr'> 5 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/notifications'> notifications </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/octane'> octane </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/open%20web'> open web </a> <span dir='ltr'> 4 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/origin%20trials'> origin trials </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/pagespeed%20insights'> pagespeed insights </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/pagespeedinsights'> pagespeedinsights </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/passwords'> passwords </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/payment%20handler'> payment handler </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/payment%20request'> payment request </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/payments'> payments </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/performance'> performance </a> <span dir='ltr'> 20 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/performance%20tools'> performance tools </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/permission%20UI'> permission UI </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/permissions'> permissions </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/play%20store'> play store </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/portals'> portals </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/prefetching'> prefetching </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/privacy'> privacy </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/privacy%20sandbox'> privacy sandbox </a> <span dir='ltr'> 4 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/private%20prefetch%20proxy'> private prefetch proxy </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/profile%20guided%20optimization'> profile guided optimization </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/progressive%20web%20apps'> progressive web apps </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Project%20Strobe'> Project Strobe </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/protection'> protection </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/pwa'> pwa </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/QUIC'> QUIC </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/quieter%20permissions'> quieter permissions </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/releases'> releases </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/removals'> removals </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/rlz'> rlz </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/root%20program'> root program </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/safe%20browsing'> safe browsing </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/Secure%20DNS'> Secure DNS </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/security'> security </a> <span dir='ltr'> 36 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/site%20isolation'> site isolation </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/slow%20loading'> slow loading </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/sms%20receiver'> sms receiver </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/spam%20policy'> spam policy </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/spdy'> spdy </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/spectre'> spectre </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/speed'> speed </a> <span dir='ltr'> 4 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/ssl'> ssl </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/store%20listing'> store listing </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/strobe'> strobe </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/subscription%20pages'> subscription pages </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/suspicious%20site%20reporter%20extension'> suspicious site reporter extension </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/TCP'> TCP </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/the%20fast%20and%20the%20curious'> the fast and the curious </a> <span dir='ltr'> 23 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/TLS'> TLS </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/tools'> tools </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/tracing'> tracing </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/transparency'> transparency </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/trusted%20web%20activities'> trusted web activities </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/twa'> twa </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/user%20agent%20string'> user agent string </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/user%20data%20policy'> user data policy </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/v8'> v8 </a> <span dir='ltr'> 6 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/video'> video </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/wasm'> wasm </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/web'> web </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/web%20apps'> web apps </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/web%20assembly'> web assembly </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/web%20developers'> web developers </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/web%20intents'> web intents </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/web%20packaging'> web packaging </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/web%20payments'> web payments </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/web%20platform'> web platform </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/web%20request%20api'> web request api </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/web%20vitals'> web vitals </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/web.dev'> web.dev </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/web.dev%20live'> web.dev live </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/webapi'> webapi </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/webassembly'> webassembly </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/webaudio'> webaudio </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/webgl'> webgl </a> <span dir='ltr'> 7 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/webkit'> webkit </a> <span dir='ltr'> 5 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/WebM'> WebM </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/webmaster'> webmaster </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/webp'> webp </a> <span dir='ltr'> 5 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/webrtc'> webrtc </a> <span dir='ltr'> 6 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/websockets'> websockets </a> <span dir='ltr'> 5 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/webtiming'> webtiming </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/writable-files'> writable-files </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://blog.chromium.org/search/label/yerba%20beuna%20center%20for%20the%20arts'> yerba beuna center for the arts </a> <span dir='ltr'> 1 </span> </li> </ul> <div class='clear'></div> </div> </div><div class='widget BlogArchive' data-version='1' id='BlogArchive1'> <div class='tab'> <i class='material-icons icon'> &#58055; </i> <h2> Archive </h2> <i class='material-icons arrow'> &#58821; </i> </div> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2024/'> 2024 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2024/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2024/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2024/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2024/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2024/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2024/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2023/'> 2023 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2023/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2023/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2023/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2023/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2023/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2023/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2023/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2023/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2022/'> 2022 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2022/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2022/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2022/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2022/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2022/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2022/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2022/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2022/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2022/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2021/'> 2021 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2021/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2021/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2021/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2021/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2021/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2021/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2021/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2021/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2021/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2021/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2021/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2021/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2020/'> 2020 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2020/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2020/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2020/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2020/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2020/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2020/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2020/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2020/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2020/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2020/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2020/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2020/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2019/'> 2019 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2019/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2019/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2019/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2019/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2019/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2019/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2019/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2019/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2019/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2019/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2019/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2019/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2018/'> 2018 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2018/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2018/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2018/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2018/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2018/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2018/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2018/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2018/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2018/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2018/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2018/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2018/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2017/'> 2017 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2017/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2017/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2017/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2017/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2017/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2017/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2017/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2017/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2017/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2017/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2017/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2017/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate expanded'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy toggle-open'> <i class='material-icons'> &#58823; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2016/'> 2016 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2016/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2016/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2016/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2016/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2016/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2016/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2016/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2016/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate expanded'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2016/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2016/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2016/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2015/'> 2015 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2015/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2015/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2015/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2015/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2015/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2015/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2015/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2015/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2015/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2015/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2015/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2015/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2014/'> 2014 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2014/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2014/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2014/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2014/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2014/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2014/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2014/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2014/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2014/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2014/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2014/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2014/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2013/'> 2013 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2013/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2013/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2013/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2013/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2013/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2013/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2013/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2013/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2013/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2013/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2013/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2013/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2012/'> 2012 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2012/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2012/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2012/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2012/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2012/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2012/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2012/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2012/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2012/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2012/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2012/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2012/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2011/'> 2011 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2011/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2011/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2011/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2011/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2011/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2011/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2011/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2011/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2011/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2011/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2011/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2011/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2010/'> 2010 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2010/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2010/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2010/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2010/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2010/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2010/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2010/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2010/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2010/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2010/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2010/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2010/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2009/'> 2009 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2009/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2009/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2009/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2009/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2009/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2009/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2009/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2009/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2009/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2009/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2009/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://blog.chromium.org/2008/'> 2008 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2008/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2008/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2008/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://blog.chromium.org/2008/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> </div> </div> <div class='clear'></div> </div> </div><div class='widget HTML' data-version='1' id='HTML6'> <div class='widget-content'> <a href="http://blog.chromium.org/atom.xml"> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAihJREFUeNrsWa9Pw0AU7viRMDFRBAkzJDMIBIhJJhCzk7NILIqMv4AEhdz+BCY3OYssAlGBoAJREpZwAlHEBO8lr8nSvNeVbu1dyX3JlzTrXfa+u/e9d7c5joWFhYVO1Fa8PwH2gK6m+BRwAvSlAdsrgr8E1jUuMH73GTAEzrkBWymTewZlihhLmgDXIAFuHgGVQOUF7OSYM1p6PgTuA1vAZlUEvAnPdapcMY0VICECekQ0XRfYrqoHsAGNgXfAoMomRiFDEhOZkkL3S88hMaB2LwXp0bj+ps2edpToZpjfoIDQtBeU+xjoDzP2G/gCPKZ5f8WsCAFJoJgOCcFdWSTeL9YQMSvTA1h9BkI5jaiXhLpSCL/8mVZY0UpyJ9ZdOkniu1dmJ96BpzQu9w6s28gcOq9j6pwLdR8/36NK5CQKwJSMrb2MhhSglBpt4UjsrdsnNu0B3J0HCozbCc4TjyY2srEgos/4RQljCzNxl4ireQD8FOq+T+W0mTB2g7njhlR+Sy2jsXFvU658U8YTbeaGpdIu7mWkEAq5ZtIjIhFZdtfX7QHckSvB2B6zC3VdAkZk0kAQwaXTk/CzTXK3wjIExCs6ZJpTnE4uY1KV+KzFzA3KTiFPENHJkOPcsfpLhwe4btoSuvUqAR+6TOxlCE6ZfKUsJLgsqGW8OpqAGx2X+sLxrwUog+JUeQRMDBIwyXOcnlPtPnL0/UsT/8LnOxYWFhZG4leAAQAAQHEaYuzHbAAAAABJRU5ErkJggg==" class="sidebar-icon" /> <h2>Feed</h2> </a> </div> <div class='clear'></div> </div></div> <div class='section' id='sidebar-bottom'><div class='widget HTML' data-version='1' id='HTML4'> <div class='widget-content'> <div class="share followgooglewrapper"> <button data-href="https://twitter.com/intent/follow?original_referer=http://blog.chromium.org/&amp;screen_name=ChromiumDev" onclick='sharingPopup(this);' id='twitter-share'><span class="twitter-follow">Follow @ChromiumDev</span></button> <script> function sharingPopup (button) { var url = button.getAttribute("data-href"); window.open( url,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); } </script> </div> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML1'> <div class='widget-content'> Give us feedback in our <a href="http://support.google.com/bin/static.py?hl=en&page=portal_groups.cs">Product Forums</a>. </div> <div class='clear'></div> </div></div> </div> </div> <div style='clear:both;'></div> </div> <!-- Footer --> <div class='google-footer-outer loading'> <div id='google-footer'> <a href='//www.google.com/'> <img class='google-logo-dark' height='36' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAABICAYAAABFoT/eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACLVJREFUeNrsXd+L20YQ3vOprdLqiMXFXE2qB7dcwEcTSB7ykIc+9A/PQx/yEMq1TWhNuYIpJriNr7XpmZ5IxFEvmW2EKs3Ornb1w50PxIFP0kiz387OzM6uhGAwGAxGP3Ho+f7x7ri1O7LdccPqZjSNA4dEHsLfaHcEFedJom93x9Xu2OyOFTcBo6sED3fHZHeMEELrkAHJF0B8Rr+gDFsZ5n0luLTQ95AXs4W06D/tjpR50xtM4CjD0y48YGB4rnyZxNOzyA7zBHr+nLnDaJLg0mo/ALekCasg3Z4XbM0ZdTEgnDPeHY8bIne+Qz2GvwyGNwsuyT218KWvIIBMcwGpLiipcolecjMxfBDchNyS1EvxLiOSIecp31q6IJ/C3yrIrMqMm4jhg+AxkdwbIO3aUO4KjqqMjCT3uaazMBhWBJfuxH3CtRfiXf66DhSRZWbmlMnNaILgZxrXJQO/eO3wORZwvwm4JUxuhheCjzVBYAbW1ces45YDSoZrFNOEE835M8FT6oyeEnws8Fz3QnBxFKPHBMem4GU+m6fPGb0leCTwWcM5B36MPgeZI01gudyDdw3hPeXfo8L/rmCUWnuMMdqUL2WqWeRbhf+twfVsO7YagZGNC79fw7OthEVtkiJ4jJzTd3KPwf3CRqhhiTu23AP5sl0/0xiwISQXpNwLIJK87mHF+U8ddzzdmgKlGzlPYjyxGJQouIhNT4k9AqWEFkqfguIvagTWbcq3KW1WE3xS3m8NtA9WS451xofwjKT5kkDoK/b6mDk5FfXr1lWDL4BofZEv2/SRsK/EHGlGdBdu8QNRb8HMCFwt7Yy3DDI/QP7fx5z3VLhdlJEIs4rKNuXXJXdxZPdB7kfCzWqwCO4V1LHgLjInX3tQ1KzCR52Cz+vDj1dydeRuS74rcvs2Pi6fT5H8OaaUQPQPYcWwRSGXyhhscn5dpAnEFMkuEZetbfkTAnlSuH4DxisE+aMGeJAQ3lFl7C4LJE6QWCaCd583ORQ1jYAwjFctal7nOs2ZZvicwvlZx+RHGrcoAwKUVX8uwcc/9TT65INeDOr5shL9LDRB6QTeIy3zwfdh3WOi6axLCEhSjXU7F3h6LqggUtvyJxpynwu8tDkD98fXApOxRj8zoZ9MnGveYVIVZKaGrkBXCY65BCYNN9NkjpKOyQ81Q79JgdxS+Jn3SDTEXRI7SWzaiSTB32oI3nU3BvMfM0urhOVYgwKhuiAfc4tM07wXwm1ZRoQYSl2NUwiu01fEAHVcpixd745FvVz4dzUUc0o8rwoLy8ZSwU6CyFx1RP5II9+1bFPEFs9HWbNLiimDXE+vCm7u1CS47cofzD3aEhVY57mxRo5zlqdt+RFC1JUH2S7bcVXg4liTMakaBZZVxiTICRoivcn1sEUBlk24JmaC6kxUbYmWoqvyfck2xZGGnDFYa9MMzkYQ1ijkCX6qidybrgePiQ0QIQqoi6qRLeqQfIoRsEHaQJLBdHOnLGetSdm/IPcymJuS1PAnbQPH0MOw/39C1vL11DiLOqIsbDI8QcHvGiLnySi2qUXBicaqUSxN5LEB0g7Jt3ENXJLPJ5S1tnaZBoWbpRqrmjRE7qHmpSmNHdQcYrEUadoh+TbBnc9ri7iycI1kzPeNcLDIvbiqXpez9Tmdq6zGREPuzECBoxrPMiI2WtvyNwhJba2wy3JZ6ky5dD1lSvmZS3e4SPA1wcf1VTFHKX+cGwZzdUYcqpvUtvwrD/InDttVlyZeAKlNN5MKbAiurHhKIPlUuJvlTCCiDjSKSCsUmCFWbGLZwCESfK07JB8LvMYWVtw0D00JEHV8Mq2HkqPbE0oHLvvK2g0o8ETg+4cfwTlZDT9JDoWygu4uQQE/ivIvtcnfPkaCqhiupz7jWOAzqL/vjtcdkv9G4MVMt+EaylfuImiPAXEUjRF3pjjaHiPPZ6If9TGGAO4ZY0am6jOCb+DQ+ZCqLkIpOIPrdNfIjnFPY6nyFut7TS/fanrziOBOKMupKw94WaLMtuVnSFt9CPrWWdJE6PeltCX432DEBoh+5Dv8RRhdis8YAv9uyq4/JAwtlEApgBe9Cw9xDD3tdk4Jn0MDfiHwPHcRPxBePCMER3GuIx7kGlv9fkZ4V9lolx2Uv4X7hEj7qJ3LDoAMGbTRMRibu4L2xQ8bgt8AyU+Q+x7nYrvDnH4iuO5LxKsYwPVbkPMvKF9Zky9wXzRfVWizi62r9X5VHf55h+WHhDjGBZ4WRhyTr6z5SlCoLMxLSpBZFsQ9F80uQFbF/6aFWi+Ev51vzzsuX+msyzuQXXjUz8zEBy+zpq9yweXAoxJW4JbYrDS6gYDqGHxPl+TKeiBfxj9/EBIElPYeOA4y8/qRQfknjvSzgRgtq0Pw/M1eQeMdOSb2Bnrhr6Led+1vcp2x7oTFHMnedFW+Ivlty062BUt74oHgSj+vHepnhunn0JJAMtBZgDI/qmGtMujRv8DDpo47zBJ8UtPOuAR/7rKn8t9AJ0tBdmBAmJ/Fu71yxp4I3qh+DhyRqbi5Y1ShVPlSb8X7bRNcfgZFl+WRGYo7uecrWq1r8X5bhmzP5OdlDwsGRm1suSxkg5rYm7ConyGQ3Zl+DgSD8V/kPwrWBMG9YcBtyShBnTLdTiHgttw7qAW7cqh/ZnmPKr/6ignOaKsdyxbsToT5UkPsW00bJjijDXficcX/JsLs6w2BwGtherdckH3w/kNXRPVI0OqJQoHX42/66IMfMj/2huRjxIidgKV/W0JS+bsstDoTeAHcrI8E5zTh/sDkqxL5rZup55/3USlswfcHf4IrQplVDgW9XFlOqnwr6pVPMMEZTuC60EttvdzbLbaZ4PsFVa3nohhO+vW+yn/ZB2fUhpysmQrzBcTSai9EszuZMcEZ1lCFVrp9zGXhm69iLyY4oxFIa178lPe12I/P2DAYDAaDwWAwGAwGg8FgMBgMBoPBYDD2Cf8IMADDRGoQTe+E9AAAAABJRU5ErkJggg==' style='margin-top: -16px;' width='92'/> </a> <ul> <li> <a href='//www.google.com/'> Google </a> </li> <li> <a href='//www.google.com/policies/privacy/'> Privacy </a> </li> <li> <a href='//www.google.com/policies/terms/'> Terms </a> </li> </ul> </div> </div> <script type='text/javascript'> //<![CDATA[ // Social sharing popups. var postEl = document.getElementsByClassName('social-wrapper'); var postCount = postEl.length; for(i=0; i<postCount;i++){ postEl[i].addEventListener("click", function(event){ var postUrl = this.getAttribute("data-href"); window.open( postUrl,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); });} //]]> </script> <script type='text/javascript'> //<![CDATA[ var BreakpointHandler = function() { this.initted = false; this.isHomePage = false; this.isMobile = false; }; BreakpointHandler.prototype.finalizeSummary = function(summaryHtml, lastNode) { // Use $.trim for IE8 compatibility summaryHtml = $.trim(summaryHtml).replace(/(<br>|\s)+$/,''); if (lastNode.nodeType == 3) { var lastChar = summaryHtml.slice(-1); if (!lastChar.match(/[.”"?]/)) { if (!lastChar.match(/[A-Za-z]/)) { summaryHtml = summaryHtml.slice(0, -1); } summaryHtml += ' ...'; } } else if (lastNode.nodeType == 1 && (lastNode.nodeName == 'I' || lastNode.nodeName == 'A')) { summaryHtml += ' ...'; } return summaryHtml; }; BreakpointHandler.prototype.generateSummaryFromContent = function(content, numWords) { var seenWords = 0; var summaryHtml = ''; for (var i=0; i < content.childNodes.length; i++) { var node = content.childNodes[i]; var nodeText; if (node.nodeType == 1) { if (node.hasAttribute('data-about-pullquote')) { continue; } nodeText = node.textContent; if (nodeText === undefined) { // innerText for IE8 nodeText = node.innerText; } if (node.nodeName == 'DIV' || node.nodeName == 'B') { // Don't end early if we haven't seen enough words. if (seenWords < 10) { continue; } if (i > 0) { summaryHtml = this.finalizeSummary(summaryHtml, content.childNodes[i-1]); } break; } summaryHtml += node.outerHTML; } else if (node.nodeType == 3) { nodeText = node.nodeValue; summaryHtml += nodeText + ' '; } var words = nodeText.match(/\S+\s*/g); if (!words) { continue; } var remain = numWords - seenWords; if (words.length >= remain) { summaryHtml = this.finalizeSummary(summaryHtml, node); break; } seenWords += words.length; } return summaryHtml; }; BreakpointHandler.prototype.detect = function() { var match, pl = /\+/g, search = /([^&=]+)=?([^&]*)/g, decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, query = window.location.search.substring(1); var urlParams = {}; while (match = search.exec(query)) urlParams[decode(match[1])] = decode(match[2]); this.isListPage = $('html').hasClass('list-page'); this.isMobile = urlParams['m'] === '1'; this.isHomePage = window.location.pathname == '/'; }; BreakpointHandler.prototype.initContent = function() { var self = this; $('.post').each(function(index) { var body = $(this).children('.post-body')[0]; var content = $(body).children('.post-content')[0]; $(content).addClass('post-original'); var data = $(content).children('script').html(); data = self.rewriteForSSL(data); // If exists, extract specified editor's preview. var match = data.match(/([\s\S]+?)<div data-is-preview.+?>([\s\S]+)<\/div>/m); if (match) { data = match[1]; } // Prevent big images from loading when they aren't needed. // This must be done as a pre-injection step, since image loading can't be // canceled once embedded into the DOM. if (self.isListPage && self.isMobile) { data = data.replace(/<(img|iframe) .+?>/g, ''); } // Insert template to be rendered as nodes. content.innerHTML = data; if (self.isListPage) { var summary = document.createElement('div'); $(summary).addClass('post-content'); $(summary).addClass('post-summary'); body.insertBefore(summary, content); if (match) { // Use provided summary. summary.innerHTML = match[2]; } else { // Generate a summary. // Summary generation relies on DOM, so it must occur after content is // inserted into the page. summary.innerHTML = self.generateSummaryFromContent(content, 30); } // Add read more link to summary. var titleAnchor = $(this).find('.title a')[0]; var link = titleAnchor.cloneNode(true); link.innerHTML = 'Read More'; $(link).addClass('read-more'); summary.appendChild(link); } }); // Firefox does not allow for proper styling of BR. if (navigator.userAgent.indexOf('Firefox') > -1) { $('.post-content br').replaceWith('<span class="space"></span>'); } $('.loading').removeClass('loading'); }; BreakpointHandler.prototype.process = function() { if (!this.initted) { var makeInsecureImageRegex = function(hosts) { var whitelist = hosts.join('|').replace(/\./g,'\\.'); // Normal image tags, plus input images (yes, this is possible!) return new RegExp('(<(img|input)[^>]+?src=("|\'))http:\/\/(' + whitelist +')', 'g'); }; this.sslImageRegex = makeInsecureImageRegex(BreakpointHandler.KNOWN_HTTPS_HOSTS); this.sslImageCurrentDomainRegex = makeInsecureImageRegex([window.location.hostname]); this.detect(); this.initContent(); this.initted = true; } }; BreakpointHandler.KNOWN_HTTPS_HOSTS = [ "www.google.org", "www.google.com", "services.google.com", "blogger.com", "draft.blogger.com", "www.blogger.com", "photos1.blogger.com", "photos2.blogger.com", "photos3.blogger.com", "blogblog.com", "img1.blogblog.com", "img2.blogblog.com", "www.blogblog.com", "www1.blogblog.com", "www2.blogblog.com", "0.bp.blogspot.com", "1.bp.blogspot.com", "2.bp.blogspot.com", "3.bp.blogspot.com", "4.bp.blogspot.com", "lh3.googleusercontent.com", "lh4.googleusercontent.com", "lh5.googleusercontent.com", "lh6.googleusercontent.com", "themes.googleusercontent.com", ]; BreakpointHandler.prototype.rewriteForSSL = function(html) { // Handle HTTP -> HTTPS source replacement of images, movies, and other embedded content. return html.replace(this.sslImageRegex, '$1https://$4') .replace(this.sslImageCurrentDomainRegex, '$1//$4') .replace(/(<(embed|iframe)[^>]+?src=("|'))http:\/\/([^"']*?(youtube|picasaweb\.google)\.com)/g, '$1https://$4') // Slideshow SWF takes a image host, so we need to rewrite that parameter. .replace(/(<embed[^>]+?feed=http(?=[^s]))/g, '$1s'); }; $(document).ready(function() { var handler = new BreakpointHandler(); handler.process(); // Top-level navigation. $(".BlogArchive .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); $(".Label .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); // Blog archive year expansion. $('.BlogArchive .intervalToggle').click(function(ev) { ev.preventDefault(); if ($(this).parent().hasClass('collapsed')) { $(this).parent().removeClass('collapsed'); $(this).parent().addClass('expanded'); } else { $(this).parent().removeClass('expanded'); $(this).parent().addClass('collapsed'); } }); // Reverse order of months. $('.BlogArchive .intervalToggle + div').each(function(_, items) { var year = $(this); year.children().each(function(_, month) { year.prepend(month); }); }); // Set anchors to open in new tab. $('.post-content img').parent().each(function(_, node) { if (node.nodeName == 'A') { $(this).attr('target', '_blank'); } }); // Process search requests. $('.searchBox input').on("keypress", function(ev) { if (ev.which == 13) { window.location.href = 'https://www.google.com/search?q=site%3A' + window.location.hostname + '%20' + encodeURIComponent ($(this).val()); } }); }); //]]> </script> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/984859869-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'AOuZoY6YX2QQhK1Mbhr4F--oT3wMDiyf0Q:1732392147862';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d2471378914199150966','//blog.chromium.org/2016/03/','2471378914199150966'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '2471378914199150966', 'title': 'Chromium Blog', 'url': 'https://blog.chromium.org/2016/03/', 'canonicalUrl': 'https://blog.chromium.org/2016/03/', 'homepageUrl': 'https://blog.chromium.org/', 'searchUrl': 'https://blog.chromium.org/search', 'canonicalHomepageUrl': 'https://blog.chromium.org/', 'blogspotFaviconUrl': 'https://blog.chromium.org/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': true, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': 'UA-37592578-1', 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Chromium Blog - Atom\x22 href\x3d\x22https://blog.chromium.org/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Chromium Blog - RSS\x22 href\x3d\x22https://blog.chromium.org/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Chromium Blog - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/2471378914199150966/posts/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/d78375fb222d99b3', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': 'Read more', 'pageType': 'archive', 'pageName': 'March 2016', 'pageTitle': 'Chromium Blog: March 2016'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'Custom', 'isResponsive': false, 'isAlternateRendering': false, 'isCustom': true}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Chromium Blog', 'description': 'News and developments from the open source browser project', 'url': 'https://blog.chromium.org/2016/03/', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': true, 'isLabelSearch': false, 'archive': {'year': 2016, 'month': 3, 'rangeMessage': 'Showing posts from March, 2016'}}}]); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML8', 'sidebar-top', document.getElementById('HTML8'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar', document.getElementById('Label1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML6', 'sidebar', document.getElementById('HTML6'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML4', 'sidebar-bottom', document.getElementById('HTML4'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar-bottom', document.getElementById('HTML1'), {}, 'displayModeFull')); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10