diff --git a/dom/canvas/CanvasRenderingContext2D.cpp b/dom/canvas/CanvasRenderingContext2D.cpp index 111519c719..6df51c4c88 100644 --- a/dom/canvas/CanvasRenderingContext2D.cpp +++ b/dom/canvas/CanvasRenderingContext2D.cpp @@ -4558,29 +4558,41 @@ CanvasRenderingContext2D::DrawOrMeasureText(const nsAString& aRawText, gfxFontGroup* CanvasRenderingContext2D::GetCurrentFontStyle() { - // use lazy initilization for the font group since it's rather expensive - if (!CurrentState().fontGroup) { + // Use lazy (re)initialization for the fontGroup since it's rather expensive. + + nsCOMPtr presShell = GetPresShell(); + gfxTextPerfMetrics* tp = nullptr; + if (presShell && !presShell->IsDestroying()) { + tp = presShell->GetPresContext()->GetTextPerfMetrics(); + } + + // If we have a cached fontGroup, check that it is valid for the current + // prescontext; if not, we need to discard and re-create it. + RefPtr& fontGroup = CurrentState().fontGroup; + if (fontGroup && fontGroup->GetTextPerfMetrics() != tp) + fontGroup = nullptr; + + if (!fontGroup) { ErrorResult err; NS_NAMED_LITERAL_STRING(kDefaultFontStyle, "10px sans-serif"); static float kDefaultFontSize = 10.0; - nsCOMPtr presShell = GetPresShell(); - bool fontUpdated = SetFontInternal(kDefaultFontStyle, err); + // If the font has already been set, we're re-creating the fontGroup + // and should re-use the existing font attribute; if not, we initialize + // it to the canvas default. + const nsString& currentFont = CurrentState().font; + bool fontUpdated = SetFontInternal( + currentFont.IsEmpty() ? kDefaultFontStyle : currentFont, err); if (err.Failed() || !fontUpdated) { err.SuppressException(); gfxFontStyle style; style.size = kDefaultFontSize; - gfxTextPerfMetrics* tp = nullptr; - if (presShell && !presShell->IsDestroying()) { - tp = presShell->GetPresContext()->GetTextPerfMetrics(); - } int32_t perDevPixel, perCSSPixel; GetAppUnitsValues(&perDevPixel, &perCSSPixel); gfxFloat devToCssSize = gfxFloat(perDevPixel) / gfxFloat(perCSSPixel); - CurrentState().fontGroup = - gfxPlatform::GetPlatform()->CreateFontGroup(FontFamilyList(eFamily_sans_serif), + fontGroup = gfxPlatform::GetPlatform()->CreateFontGroup(FontFamilyList(eFamily_sans_serif), &style, tp, nullptr, devToCssSize); - if (CurrentState().fontGroup) { + if (fontGroup) { CurrentState().font = kDefaultFontStyle; } else { NS_ERROR("Default canvas font is invalid"); @@ -4588,7 +4600,7 @@ CanvasRenderingContext2D::GetCurrentFontStyle() } } - return CurrentState().fontGroup; + return fontGroup; } // diff --git a/netwerk/dns/effective_tld_names.dat b/netwerk/dns/effective_tld_names.dat index 9236a92919..66db9cf8a8 100644 --- a/netwerk/dns/effective_tld_names.dat +++ b/netwerk/dns/effective_tld_names.dat @@ -4594,15 +4594,17 @@ gob.mx edu.mx net.mx -// my : http://www.mynic.net.my/ +// my : http://www.mynic.my/ +// Available strings: https://mynic.my/resources/domains/buying-a-domain/ my +biz.my com.my -net.my -org.my -gov.my edu.my +gov.my mil.my name.my +net.my +org.my // mz : http://www.uem.mz/ // Submitted by registry @@ -6805,6 +6807,9 @@ yt // xn--90ae ("bg", Bulgarian) : BG бг +// xn--mgbcpq6gpa1a ("albahrain", Arabic) : BH +البحرين + // xn--90ais ("bel", Belarusian/Russian Cyrillic) : BY // Operated by .by registry бел @@ -6937,6 +6942,9 @@ yt // xn--80ao21a ("Kaz", Kazakh) : KZ қаз +// xn--q7ce6a ("Lao", Lao) : LA +ລາວ + // xn--fzc2c9e2c ("Lanka", Sinhalese-Sinhala) : LK // https://nic.lk ලංකා @@ -7062,7 +7070,13 @@ yt xxx // ye : http://www.y.net.ye/services/domain_name.htm -*.ye +ye +com.ye +edu.ye +gov.ye +net.ye +mil.ye +org.ye // za : https://www.zadna.org.za/content/page/domain-information/ ac.za @@ -7111,7 +7125,7 @@ org.zw // newGTLDs -// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2020-12-21T16:35:44Z +// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2021-03-27T15:15:50Z // This list is auto-generated, don't edit it manually. // aaa : 2015-02-26 American Automobile Association, Inc. aaa @@ -7629,9 +7643,6 @@ casa // case : 2015-09-03 CNH Industrial N.V. case -// caseih : 2015-09-03 CNH Industrial N.V. -caseih - // cash : 2014-03-06 Binky Moon, LLC cash @@ -7668,7 +7679,7 @@ cern // cfa : 2014-08-28 CFA Institute cfa -// cfd : 2014-12-11 DotCFD Registry Limited +// cfd : 2014-12-11 ShortDot SA cfd // chanel : 2015-04-09 Chanel International B.V. @@ -8253,9 +8264,6 @@ ftr // fujitsu : 2015-07-30 Fujitsu Limited fujitsu -// fujixerox : 2015-07-23 Xerox DNHC LLC -fujixerox - // fun : 2016-01-14 DotSpace Inc. fun @@ -9126,9 +9134,6 @@ neustar // new : 2014-01-30 Charleston Road Registry Inc. new -// newholland : 2015-09-03 CNH Industrial N.V. -newholland - // news : 2014-12-18 Dog Beach, LLC news @@ -9636,7 +9641,7 @@ saxo // sbi : 2015-03-12 STATE BANK OF INDIA sbi -// sbs : 2014-11-07 SPECIAL BROADCASTING SERVICE CORPORATION +// sbs : 2014-11-07 ShortDot SA sbs // sca : 2014-03-13 SVENSKA CELLULOSA AKTIEBOLAGET SCA (publ) @@ -9978,7 +9983,7 @@ theatre // tiaa : 2015-07-23 Teachers Insurance and Annuity Association of America tiaa -// tickets : 2015-02-05 Accent Media Limited +// tickets : 2015-02-05 XYZ.COM LLC tickets // tienda : 2013-11-14 Binky Moon, LLC @@ -10209,7 +10214,7 @@ wanggou // watch : 2013-11-14 Binky Moon, LLC watch -// watches : 2014-12-22 Richemont DNS Inc. +// watches : 2014-12-22 Afilias Limited watches // weather : 2015-01-08 International Business Machines Corporation @@ -10646,6 +10651,14 @@ ltd.ua // 611coin : https://611project.org/ 611.to +// Aaron Marais' Gitlab pages: https://lab.aaronleem.co.za +// Submitted by Aaron Marais +graphox.us + +// accesso Technology Group, plc. : https://accesso.com/ +// Submitted by accesso Team +*.devcdnaccesso.com + // Adobe : https://www.adobe.com/ // Submitted by Ian Boston adobeaemcloud.com @@ -10716,6 +10729,10 @@ us-west-2.elasticbeanstalk.com *.elb.amazonaws.com *.elb.amazonaws.com.cn +// Amazon Global Accelerator : https://aws.amazon.com/global-accelerator/ +// Submitted by Daniel Massaguer +awsglobalaccelerator.com + // Amazon S3 : https://aws.amazon.com/s3/ // Submitted by Luke Wells s3.amazonaws.com @@ -10786,6 +10803,11 @@ tele.amune.org // Submitted by Apigee Security Team apigee.io +// Appspace : https://www.appspace.com +// Submitted by Appspace Security Team +appspacehosted.com +appspaceusercontent.com + // Aptible : https://www.aptible.com/ // Submitted by Thomas Orozco on-aptible.com @@ -10859,6 +10881,10 @@ of.je // Submitted by Tibor Halter boomla.net +// Boutir : https://www.boutir.com +// Submitted by Eric Ng Ka Ka +boutir.com + // Boxfuse : https://boxfuse.com // Submitted by Axel Fontaine boxfuse.io @@ -10882,6 +10908,10 @@ uk0.bigv.io dh.bytemark.co.uk vm.bytemark.co.uk +// Caf.js Labs LLC : https://www.cafjs.com +// Submitted by Antonio Lain +cafjs.com + // callidomus : https://www.callidomus.com/ // Submitted by Marcus Popp mycd.eu @@ -10956,11 +10986,6 @@ nz.basketball radio.am radio.fm -// Globe Hosting SRL : https://www.globehosting.com/ -// Submitted by Gavin Brown -co.ro -shop.ro - // c.la : http://www.c.la/ c.la @@ -10968,6 +10993,10 @@ c.la // Submitted by B. Blechschmidt certmgr.org +// Cityhost LLC : https://cityhost.ua +// Submitted by Maksym Rivtin +cx.ua + // Civilized Discourse Construction Kit, Inc. : https://www.discourse.org/ // Submitted by Rishabh Nambiar & Michael Brown discourse.group @@ -10982,14 +11011,20 @@ virtueeldomein.nl cleverapps.io // Clerk : https://www.clerk.dev -// Submitted by Colin Sidoti +// Submitted by Colin Sidoti *.lcl.dev +*.lclstage.dev *.stg.dev +*.stgstage.dev // Clic2000 : https://clic2000.fr // Submitted by Mathilde Blanchemanche clic2000.net +// ClickRising : https://clickrising.com/ +// Submitted by Umut Gumeli +clickrising.net + // Cloud66 : https://www.cloud66.com/ // Submitted by Khash Sajadi c66.me @@ -11106,6 +11141,11 @@ cupcake.is // Submitted by Marvin Wiesner curv.dev +// Curvegrid Inc. : https://www.curvegrid.com/ +// Submitted by Pierre Rousset +multibaas.app +multibaas.com + // Customer OCI - Oracle Dyn https://cloud.oracle.com/home https://dyn.com/dns/ // Submitted by Gregory Drake // Note: This is intended to also include customer-oci.com due to wildcards implicitly including the current label @@ -11642,6 +11682,10 @@ tr.eu.org uk.eu.org us.eu.org +// Eurobyte : https://eurobyte.ru +// Submitted by Evgeniy Subbotin +eurodir.ru + // Evennode : http://www.evennode.com/ // Submitted by Michal Kralik eu-1.evennode.com @@ -11752,6 +11796,7 @@ u.channelsdvr.net // Fastly Inc. : http://www.fastly.com/ // Submitted by Fastly Security +edgecompute.app fastly-terrarium.com fastlylb.net map.fastlylb.net @@ -11826,6 +11871,20 @@ shw.io // Submitted by Jonathan Rudenberg flynnhosting.net +// Forgerock : https://www.forgerock.com +// Submitted by Roderick Parr +forgeblocks.com +*.id.forgerock.io + +// Framer : https://www.framer.com +// Submitted by Koen Rouwhorst +framer.app +framercanvas.com + +// RavPage : https://www.ravpage.co.il +// Submitted by Roni Horowitz +ravpage.co.il + // Frederik Braun https://frederik-braun.com // Submitted by Frederik Braun 0e.vc @@ -11843,6 +11902,10 @@ freeboxos.fr // Submitted by Daniel Stone freedesktop.org +// freemyip.com : https://freemyip.com +// Submitted by Cadence +freemyip.com + // FunkFeuer - Verein zur Förderung freier Netze : https://www.funkfeuer.at // Submitted by Daniel A. Maierhofer wien.funkfeuer.at @@ -11878,6 +11941,10 @@ cdn-edges.net // Submitted by Matt Hanley ghost.io +// GignoSystemJapan: http://gsj.bz +// Submitted by GignoSystemJapan +gsj.bz + // GitHub, Inc. // Submitted by Patrick Toomey github.io @@ -11896,12 +11963,17 @@ gitpage.si // Submitted by Mads Hartmann glitch.me +// Globe Hosting SRL : https://www.globehosting.com/ +// Submitted by Gavin Brown +co.ro +shop.ro + // GMO Pepabo, Inc. : https://pepabo.com/ // Submitted by dojineko lolipop.io // GOV.UK Platform as a Service : https://www.cloud.service.gov.uk/ -// Submitted by Tom Whitwell +// Submitted by Tom Whitwell cloudapps.digital london.cloudapps.digital @@ -11940,7 +12012,6 @@ withyoutube.com cloud.goog translate.goog cloudfunctions.net - blogspot.ae blogspot.al blogspot.am @@ -12016,10 +12087,6 @@ blogspot.tw blogspot.ug blogspot.vn -// Aaron Marais' Gitlab pages: https://lab.aaronleem.co.za -// Submitted by Aaron Marais -graphox.us - // Group 53, LLC : https://www.group53.com // Submitted by Tyler Todd awsmppl.com @@ -12100,6 +12167,11 @@ moonscale.net // Submitted by Hannu Aronsson iki.fi +// Impertrix Solutions : +// Submitted by Zhixiang Zhao +impertrixcdn.com +impertrix.com + // Incsub, LLC: https://incsub.com/ // Submitted by Aaron Edwards smushcdn.com @@ -12200,7 +12272,8 @@ vip.jelastic.cloud jele.cloud it1.eur.aruba.jenv-aruba.cloud it1.jenv-aruba.cloud -it1-eur.jenv-arubabiz.cloud +keliweb.cloud +cs.keliweb.cloud oxa.cloud tn.oxa.cloud uk.oxa.cloud @@ -12212,13 +12285,9 @@ us.reclaim.cloud ch.trendhosting.cloud de.trendhosting.cloud jele.club +amscompute.com clicketcloud.com -ams.cloudswitches.com -au.cloudswitches.com -sg.cloudswitches.com dopaas.com -elastyco.com -nv.elastyco.com hidora.com paas.hosted-by-previder.com rag-cloud.hosteur.com @@ -12233,29 +12302,26 @@ lon.wafaicloud.com ryd.wafaicloud.com j.scaleforce.com.cy jelastic.dogado.eu -paas.leviracloud.eu fi.cloudplatform.fi demo.datacenter.fi paas.datacenter.fi jele.host mircloud.host +paas.beebyte.io +sekd1.beebyteapp.io jele.io -ocs.opusinteractive.io -cloud.unispace.io -cloud-de.unispace.io cloud-fr1.unispace.io jc.neen.it cloud.jelastic.open.tim.it jcloud.kz upaas.kazteleport.kz -jl.serv.net.mx cloudjiffy.net fra1-de.cloudjiffy.net west1-us.cloudjiffy.net -ams1.jls.docktera.net jls-sto1.elastx.net jls-sto2.elastx.net jls-sto3.elastx.net +faststacks.net fr-1.paas.massivegrid.net lon-1.paas.massivegrid.net lon-2.paas.massivegrid.net @@ -12266,8 +12332,7 @@ jelastic.saveincloud.net nordeste-idc.saveincloud.net j.scaleforce.net jelastic.tsukaeru.net -atl.jelastic.vps-host.net -njs.jelastic.vps-host.net +sdscloud.pl unicloud.pl mircloud.ru jelastic.regruhosting.ru @@ -12318,6 +12383,11 @@ knightpoint.systems // Submitted by DisposaBoy oya.to +// Katholieke Universiteit Leuven: https://www.kuleuven.be +// Submitted by Abuse KU Leuven +kuleuven.cloud +ezproxy.kuleuven.be + // .KRD : http://nic.krd/data/krd/Registration%20Policy.pdf co.krd edu.krd @@ -12442,15 +12512,29 @@ mayfirst.org // Submitted by Ilya Zaretskiy hb.cldmail.ru +// Mail Transfer Platform : https://www.neupeer.com +// Submitted by Li Hui +cn.vu + +// Maze Play: https://www.mazeplay.com +// Submitted by Adam Humpherys +mazeplay.com + // mcpe.me : https://mcpe.me // Submitted by Noa Heyl mcpe.me // McHost : https://mchost.ru // Submitted by Evgeniy Subbotin +mcdir.me mcdir.ru +mcpre.ru vps.mcdir.ru +// Medicom Health : https://medicomhealth.com +// Submitted by Michael Olson +hra.health + // Memset hosting : https://www.memset.com // Submitted by Tom Whitwell miniserver.com @@ -12491,6 +12575,10 @@ westus2.azurestaticapps.net // Submitted by Robert Böttinger csx.cc +// Mintere : https://mintere.com/ +// Submitted by Ben Aubin +mintere.site + // MobileEducation, LLC : https://joinforte.com // Submitted by Grayson Martin forte.id @@ -12513,8 +12601,11 @@ pp.ru // Submitted by Paul Cammish hostedpi.com customer.mythic-beasts.com +caracal.mythic-beasts.com +fentiger.mythic-beasts.com lynx.mythic-beasts.com ocelot.mythic-beasts.com +oncilla.mythic-beasts.com onza.mythic-beasts.com sphinx.mythic-beasts.com vs.mythic-beasts.com @@ -12569,6 +12660,15 @@ nh-serv.co.uk // Submitted by Jeff Wheelhouse nfshost.com +// Northflank Ltd. : https://northflank.com/ +// Submitted by Marco Suter +*.northflank.app +*.code.run + +// Noticeable : https://noticeable.io +// Submitted by Laurent Pellegrino +noticeable.news + // Now-DNS : https://now-dns.com // Submitted by Steve Russell dnsking.ch @@ -12809,6 +12909,11 @@ skygearapp.com // Submitted by Duarte Santos outsystemscloud.com +// OVHcloud: https://ovhcloud.com +// Submitted by Vincent Cassé +*.webpaas.ovh.net +*.hosting.ovh.net + // OwnProvider GmbH: http://www.ownprovider.com // Submitted by Jan Moennich ownprovider.com @@ -12838,6 +12943,10 @@ pagefrontapp.com // Submitted by Yann Guichard pagexl.com +// Paywhirl, Inc : https://paywhirl.com/ +// Submitted by Daniel Netzer +*.paywhirl.com + // pcarrier.ca Software Inc: https://pcarrier.ca/ // Submitted by Pierre Carrier bar0.net @@ -12883,6 +12992,7 @@ ent.platform.sh eu.platform.sh us.platform.sh *.platformsh.site +*.tst.site // Platter: https://platter.dev // Submitted by Patrick Flor @@ -12933,6 +13043,11 @@ byen.site // Submitted by Kor Nielsen pubtls.org +// PythonAnywhere LLP: https://www.pythonanywhere.com +// Submitted by Giles Thomas +*.pythonanywhere.com +*.eu.pythonanywhere.com + // QOTO, Org. // Submitted by Jeffrey Phillips Freeman qoto.io @@ -12945,6 +13060,10 @@ qualifioapp.com // Submitted by Dani Biro qbuser.com +// Rad Web Hosting: https://radwebhosting.com +// Submitted by Scott Claeys +cloudsite.builders + // Redstar Consultants : https://www.redstarconsultants.com/ // Submitted by Jons Slemmer instantcloud.cn @@ -13008,6 +13127,7 @@ onrender.com // Repl.it : https://repl.it // Submitted by Mason Clayton repl.co +id.repl.co repl.run // Resin.io : https://resin.io @@ -13028,6 +13148,19 @@ wellbeingzone.co.uk // Submitted by Jennifer Herting git-pages.rit.edu +// Rusnames Limited: http://rusnames.ru/ +// Submitted by Sergey Zotov +биз.рус +ком.рус +крым.рус +мир.рус +мск.рус +орг.рус +самара.рус +сочи.рус +спб.рус +я.рус + // Sandstorm Development Group, Inc. : https://sandcats.io/ // Submitted by Asheesh Laroia sandcats.io @@ -13044,6 +13177,7 @@ schokokeks.net // Scottish Government: https://www.gov.scot // Submitted by Martin Ellis gov.scot +service.gov.scot // Scry Security : http://www.scrysec.com // Submitted by Shante Adam @@ -13070,12 +13204,21 @@ seidat.net // Submitted by Felix Mönckemeyer senseering.net +// Service Magnet : https://myservicemagnet.com +// Submitted by Dave Sanders +magnet.page + // Service Online LLC : http://drs.ua/ // Submitted by Serhii Bulakh biz.ua co.ua pp.ua +// Shift Crypto AG : https://shiftcrypto.ch +// Submitted by alex +shiftcrypto.dev +shiftcrypto.io + // ShiftEdit : https://shiftedit.net/ // Submitted by Adam Jimenez shiftedit.io @@ -13122,6 +13265,14 @@ beta.bounty-full.com // Submitted by Aral Balkan small-web.org +// Snowplow Analytics : https://snowplowanalytics.com/ +// Submitted by Ian Streeter +try-snowplow.com + +// SourceHut : https://sourcehut.org +// Submitted by Drew DeVault +srht.site + // Stackhero : https://www.stackhero.io // Submitted by Adrien Gillon stackhero-network.com @@ -13132,6 +13283,13 @@ static.land dev.static.land sites.static.land +// Strategic System Consulting (eApps Hosting): https://www.eapps.com/ +// Submitted by Alex Oancea +vps-host.net +atl.jelastic.vps-host.net +njs.jelastic.vps-host.net +ric.jelastic.vps-host.net + // Sony Interactive Entertainment LLC : https://sie.com/ // Submitted by David Coles playstation-cloud.com @@ -13170,11 +13328,6 @@ user.srcf.net // Submitted by Dan Miller temp-dns.com -// Swisscom Application Cloud: https://developer.swisscom.com -// Submitted by Matthias.Winzeler -applicationcloud.io -scapp.io - // Symfony, SAS : https://symfony.com/ // Submitted by Fabien Potencier *.s5y.io @@ -13243,11 +13396,20 @@ arvo.network azimuth.network tlon.network +// Tor Project, Inc. : https://torproject.org +// Submitted by Antoine Beaupré bloxcms.com townnews-staging.com +// TradableBits: https://tradablebits.com +// Submitted by Dmitry Khrisanov dmitry@tradablebits.com +tbits.me + // TrafficPlex GmbH : https://www.trafficplex.de/ // Submitted by Phillipp Röll 12hp.at @@ -13408,6 +13570,13 @@ fastblog.net // Submitted by Arnold Hendriks *.webhare.dev +// WebHotelier Technologies Ltd: https://www.webhotelier.net/ +// Submitted by Apostolos Tsakpinis +reserve-online.net +reserve-online.com +bookonline.app +hotelwithflight.com + // WeDeploy by Liferay, Inc. : https://www.wedeploy.com // Submitted by Henrique Vicente wedeploy.io @@ -13442,9 +13611,16 @@ diskussionsbereich.de community-pro.net meinforum.net -// www.com.vc : http://www.com.vc -// Submitted by Li Hui -cn.vu +// WP Engine : https://wpengine.com/ +// Submitted by Michael Smith +// Submitted by Brandon DuRette +wpenginepowered.com +js.wpenginepowered.com + +// Wix.com, Inc. : https://www.wix.com +// Submitted by Shahar Talmi +wixsite.com +editorx.io // XenonCloud GbR: https://xenoncloud.net // Submitted by Julian Uphoff @@ -13506,39 +13682,4 @@ basicserver.io virtualserver.io enterprisecloud.nu -// Mintere : https://mintere.com/ -// Submitted by Ben Aubin -mintere.site - -// Cityhost LLC : https://cityhost.ua -// Submitted by Maksym Rivtin -cx.ua - -// WP Engine : https://wpengine.com/ -// Submitted by Michael Smith -// Submitted by Brandon DuRette -wpenginepowered.com -js.wpenginepowered.com - -// Impertrix Solutions : -// Submitted by Zhixiang Zhao -impertrixcdn.com -impertrix.com - -// GignoSystemJapan: http://gsj.bz -// Submitted by GignoSystemJapan -gsj.bz - -// Rusnames Limited: http://rusnames.ru/ -// Submitted by Sergey Zotov -биз.рус -ком.рус -крым.рус -мир.рус -мск.рус -орг.рус -самара.рус -сочи.рус -спб.рус -я.рус // ===END PRIVATE DOMAINS===