Its JavaScript engine, JavascriptCore, also powers the Bun server-side JS runtime,[14] as opposed to V8 used by Node.js, Deno, and Blink. WebKit's C++application programming interface (API) provides a set of classes to display Web content in windows, and implements browser features such as following links when clicked by the user, managing a back-forward list, and managing a history of pages recently visited.
The code that would become WebKit began in 1998 as the KDE HTML (KHTML) layout engine and KDE JavaScript (KJS) engine. The WebKit project was started within Apple by Lisa Melton[17] on June 25, 2001,[18][19] as a fork of KHTML and KJS. Melton explained in an e-mail to KDE developers[1] that KHTML and KJS allowed easier development than other available technologies by virtue of being small (fewer than 140,000 lines of code), cleanly designed and standards-compliant. KHTML and KJS were ported to macOS with the help of an adapter library and renamed WebCore and JavaScriptCore.[1] JavaScriptCore was announced in an e-mail to a KDE mailing list in June 2002, alongside the first release of Apple's changes.[20]
According to Apple, some changes which called for different development tactics involved macOS-specific features that are absent in KDE's KHTML, such as Objective-C, KWQ (pronounced "quack") an implementation of the subset of Qt required to make KHTML work on macOS written in Objective C++, and macOS calls.[21]
Split development
The exchange of code between WebCore and KHTML became increasingly difficult as the code base diverged because both projects had different approaches in coding and code sharing.[22] At one point KHTML developers said they were unlikely to accept Apple's changes and claimed the relationship between the two groups was a "bitter failure".[23] They claimed Apple submitted their changes in large patches containing multiple changes with inadequate documentation, often in relation to future additions to the codebase. Thus, these patches were difficult for the KDE developers to integrate back into KHTML.[24] Also, Apple had demanded that developers sign non-disclosure agreements before looking at Apple's source code and even then they were unable to access Apple's bug database.[25]
During the publicized "divorce" period, KDE developer Kurt Pfeifle (pipitas) posted an article claiming KHTML developers had managed to backport many (but not all) Safari improvements from WebCore to KHTML, and they always appreciated the improvements coming from Apple and still do so. The article also noted Apple had begun to contact KHTML developers about discussing how to improve the mutual relationship and ways of future cooperation.[26] In fact, the KDE project was able to incorporate some of these changes to improve KHTML's rendering speed and add features, including compliance with the Acid2 rendering test.[27]
Following the appearance of a story of the fork in the news, Apple released the source code of the WebKit fork in a public revision-control repository.[28]
The WebKit team had also reversed many Apple-specific changes in the original WebKit code base and implemented platform-specific abstraction layers to make committing the core rendering code to other platforms significantly easier.[29]
In July 2007, Ars Technica reported that the KDE team would move from KHTML to WebKit.[30] Instead, after several years of integration, KDE Development Platform version 4.5.0 was released in August 2010 with support for both WebKit and KHTML, and development of KHTML continued until 2016 before it was officially discontinued in 2023.[31][32]
Open-sourcing
On June 7, 2005, Safari developer Dave Hyatt announced on his weblog that Apple was open-sourcing WebKit (formerly, only WebCore and JavaScriptCore were open source) and opening up access to WebKit's revision control tree and the issue tracker.[28]
WebKit's JavaScriptCore and WebCore components are available under the GNU Lesser General Public License, while the rest of WebKit is available under the BSD 2-Clause license.[8]
Further development
This section needs to be updated. Please help update this article to reflect recent events or newly available information.(July 2015)
Beginning in early 2007, the development team began to implement Cascading Style Sheets (CSS) extensions, including animation, transitions and both 2D and 3D transforms;[34] such extensions were released as working drafts to the World Wide Web Consortium (W3C) in 2009 for standardization.[35]
In November 2007, the project announced that it had added support for media features of the HTML5 draft specification, allowing embedded video to be natively rendered and script-controlled in WebKit.[36]
On June 2, 2008, the WebKit project announced they rewrote JavaScriptCore as "SquirrelFish", a bytecodeinterpreter.[37][38] The project evolved into SquirrelFish Extreme (abbreviated SFX), announced on September 18, 2008, which compiles JavaScript into native machine code, eliminating the need for a bytecode interpreter and thus speeding up JavaScript execution.[39] Initially, the only supported processor architecture for SFX was the x86, but at the end of January 2009, SFX was enabled for macOS on x86-64 as it passes all tests on that platform.[40]
WebKit2
On April 8, 2010, a project named WebKit2 was announced to redesign WebKit. Its goal was to abstract the components that provide web rendering cleanly from their surrounding interface or application shell, creating a situation where, "web content (JavaScript, HTML, layout, etc) lives in a separate process from the application UI". This abstraction was intended to make reuse a more straightforward process for WebKit2 than for WebKit. WebKit2 had "an incompatible API change from the original WebKit", which motivated its name change.[41]
The WebKit2 targets were set to Linux, macOS, Windows, GTK, and MeeGo-Harmattan.[42][43] Safari for macOS switched to the new API with version 5.1.[44] Safari for iOS switched to WebKit2 with iOS 8.[45]
The original WebKit API has been renamed WebKitLegacy API.[46] WebKit2 API has been renamed just plain WebKit API.[47]
Use
WebKit is used as the rendering engine within Safari and was formerly used by Google's Chrome web browser on Windows, macOS, and Android (before version 4.4 KitKat). Chrome used only WebCore, and included its own JavaScript engine named V8 and a multiprocess system.[48] Chrome for iOS continues to use WebKit because Apple requires that web browsers on that platform must do so.[49] Other applications on macOS and iOS make use of WebKit, such as Apple's e-mail client Mail, App Store, and the 2008 version of Microsoft's Entouragepersonal information manager, both of which make use of WebKit to render HTML content.
Installed base
New web browsers have been built around WebKit such as the S60 browser[50] on Symbian mobile phones, BlackBerry Browser (ver 6.0+), Midori, Chrome browser,[51][52] the Android Web browser before version 4.4 KitKat, and the browser used in PlayStation 3 system software from version 4.10.[53] KDE's Rekonq web browser and Plasma Workspaces also use it as the native web rendering engine. WebKit has been adopted as the rendering engine in OmniWeb, iCab and Web (formerly named Epiphany) and Sleipnir, replacing their original rendering engines. GNOME's Web supported both Gecko and WebKit for some time, but the team decided that Gecko's release cycle and future development plans would make it too cumbersome to continue supporting it.[54]webOS uses WebKit as the basis of its application runtime.[55] WebKit is used to render HTML and run JavaScript in the Adobe Integrated Runtime application platform. In Adobe Creative Suite CS5, WebKit is used to render some parts of the user interface. As of the first half of 2010, an analyst estimated the cumulative number of mobile handsets shipped with a WebKit-based browser at 350 million.[56] By mid-April 2015, WebKit browser market share was 50.3%.[57]
Ports
The week after Hyatt announced WebKit's open-sourcing, Nokia announced that it had ported WebKit to the Symbian operating system and was developing a browser based on WebKit for mobile phones running S60. Named Web Browser for S60, it was used on Nokia, Samsung, LG, and other Symbian S60 mobile phones. Apple has also ported WebKit to iOS to run on the iPhone, iPod Touch, and iPad, where it is used to render content in the device's web browser and e-mail software.[58] The Android mobile phone platform used WebKit (and later versions its Blink fork) as the basis of its web browser[59][60][61] and the Palm Pre, announced January 2009, has an interface based on WebKit.[62] The Amazon Kindle 3 includes an experimental WebKit based browser.[63]
In June 2007, Apple announced that WebKit had been ported to Microsoft Windows as part of Safari. Although Safari for Windows was silently discontinued[64] by the company, WebKit's ports to Microsoft's operating system are still actively maintained.[65][66] The Windows port uses Apple's proprietary libraries to function and is used for iCloud[67] and iTunes[68] for Windows, whereas the "WinCairo" port is a fully open-source and redistributable port.[69][70]
WebKit has also been ported to several toolkits that support multiple platforms, such as the GTK toolkit for Linux, under the name WebKitGTK which is used by Eolie,[71]GNOME Web,[72][73]Adobe Integrated Runtime, Enlightenment Foundation Libraries (EFL), and the Clutter toolkit.[74]Qt Software included a WebKit port in the Qt 4.4 release as a module called QtWebKit[75] (since superseded by Qt WebEngine, which uses Blink instead). The Iris Browser on Qt also used WebKit. The Enlightenment Foundation Libraries (EFL) port – EWebKit – was developed (by Samsung and ProFusion[76]) focusing the embedded and mobile systems, for use as stand alone browser, widgets-gadgets, rich text viewer and composer.[citation needed] The Clutter port is developed by Collabora and sponsored by Robert Bosch GmbH.
There was also a project synchronized with WebKit (sponsored by Pleyo)[77] called Origyn Web Browser, which provided a meta-port to an abstract platform with the aim of making porting to embedded or lightweight systems quicker and easier.[78] This port is used for embedded devices such as set-top boxes, PMP and it has been ported into AmigaOS,[79][80]AROS[81] and MorphOS. MorphOS version 1.7 is the first version of Origyn Web Browser (OWB) supporting HTML5 media tags.[82][83]
Web Platform for Embedded
Web Platform for Embedded (WPE) is a WebKit port designed for embedded applications; it further improves the architecture by splitting the basic rendering functional blocks into a general-purpose routines library (libwpe), platform backends, and engine itself (called WPE WebKit).
The GTK port, albeit self-contained, can be built to use these base libraries instead of its internal platform support implementation. The WPE port is currently maintained by Igalia.
Forking by Google
On April 3, 2013, Google announced that it would produce a fork of WebKit's WebCore component, to be named Blink. Chrome's developers decided on the fork to allow greater freedom in implementing WebCore's features in the browser without causing conflicts upstream, and to allow simplifying its codebase by removing code for WebCore components unused by Chrome. In relation to Opera Software's announcement earlier in the year that it would switch to WebKit by means of the Chromium codebase, it was confirmed that the Opera web browser would also switch to Blink.[48] Following the announcement, WebKit developers began discussions on removing Chrome-specific code from the engine to streamline its codebase.[84] WebKit no longer has any Chrome specific code (e.g., buildsystem, V8 JavaScript engine hooks, platform code, etc.).[citation needed]
WebKit passes the Acid2 and Acid3 tests, with pixel-perfect rendering and no timing or smoothness issues on reference hardware.[85]
JavaScriptCore
JavaScriptCore is a framework that provides a JavaScript engine for WebKit implementations, and provides this type of scripting in other contexts within macOS.[20][86] JavaScriptCore is originally derived from KDE's JavaScript engine (KJS) library (which is part of the KDE project) and the PCREregular expression library. Since forking from KJS and PCRE, JavaScriptCore has been improved with many new features and greatly improved performance.[87]
On June 2, 2008, the WebKit project announced they rewrote JavaScriptCore as "SquirrelFish", a bytecodeinterpreter.[37][38] The project evolved into SquirrelFish Extreme (abbreviated SFX, marketed as Nitro), announced on September 18, 2008 further speeding up JavaScript execution.[39]
An optimizing just-in-time (JIT) compiler named FTL was announced on May 13, 2014.[88] It uses LLVM to generate optimized machine code. "FTL" stands for "Fourth-Tier-LLVM", and unofficially for faster-than-light, alluding to its speed.[89] As of February 15, 2016, the backend of FTL JIT is replaced by "Bare Bones Backend" (or B3 for short).[90]
^"StatCounter". StatCounter. Archived from the original on May 26, 2012. Retrieved April 14, 2015.
^Stachowiak, Maciej (January 10, 2007). "The Obligatory iPhone Post". Surfin' Safari weblog. Archived from the original on February 19, 2008. Retrieved January 24, 2008.
^Stachowiak, Maciej (September 25, 2008). "Full Pass Of Acid3". Surfin' Safari – The WebKit Blog. Archived from the original on September 29, 2008. Retrieved September 29, 2008.
Bandar Udara Toronto, Bandar Udara Pearson, dan YYZ beralih ke halaman ini. Untuk bandara lain di Toronto, lihat Daftar bandar udara di Wilayah Toronto Raya. Untuk lapangan terbang di Amerika Serikat, lihat Pearson Field. Untuk lagu instrumental band Rush asal Kanada, lihat YYZ (instrumental). Bandar Udara Internasional Lester B. PearsonAéroport international Lester B. PearsonIATA: YYZICAO: CYYZWMO: 71624InformasiJenisPublikPemilikTransport CanadaPengelolaGreater Toronto Airports AuthorityMelay…
Charles KentKent dalam Photoplay, 1916Lahir(1852-06-18)18 Juni 1852London, InggrisMeninggal21 Mei 1923(1923-05-21) (umur 70)Brooklyn, New York, Amerika SerikatTahun aktif1878–1923 Charles Kent (18 Juni 1852 – 21 Mei 1923) adalah seorang pemeran dan sutradara film bisu Britania Raya-Amerika Serikat. Ia tampil dalam 141 film antara 1908 dan 1923. Ia juga menyutradarai 36 film antara 1908 dan 1913.[1] Sebagian filmografi Antony and Cleopatra (1908) Macbeth (1908)…
В статье не хватает ссылок на источники (см. рекомендации по поиску). Информация должна быть проверяема, иначе она может быть удалена. Вы можете отредактировать статью, добавив ссылки на авторитетные источники в виде сносок. (30 мая 2019) Кириллическая У в сочетании с комбиниру…
عبد الرزاق الحسين معلومات شخصية الميلاد 15 سبتمبر 1986 (العمر 37 سنة)حلب الطول 1.85 م (6 قدم 1 بوصة) مركز اللعب وسط الجنسية سوريا المسيرة الاحترافية1 سنوات فريق م. (هـ.) 2003–2006 الحرية ? (?) 2006–2010 الجيش ? (?) 2010–2011 الكرامة 14 (3) 2011–2012 التعاون 16 (1) 2012 أربيل 18 (4) 2012–2013 دبا الفجيرة 13 (2) …
News programme This article is about the news programme. For the video game, see 60 Seconds! 60 Seconds60 Seconds logo used from 2008–2016Created byBBC NewsCountry of originUnited KingdomOriginal languageEnglishProductionProduction locationsBroadcasting House, LondonRunning time1 minuteOriginal releaseNetwork BBC Choice (2001–2003) BBC Three (2003–2016) Release16 July 2001 (2001-07-16) –16 February 2016 (2016-02-16)RelatedThe 7 O'Clock News 60 Seconds is a short-news p…
Former theological college of the University of Paris See also: Sorbonne (building) and Sorbonne (disambiguation) The College of Sorbonne in 1550 The chapel of the Sorbonne, Paris, in a 17th-century engraving The chapel of the Sorbonne today, from a similar view point as above Facade of the new Sorbonne building (1889) The College of Sorbonne (French: Collège de Sorbonne) was a theological college of the University of Paris, founded in 1253 (confirmed in 1257) by Robert de Sorbon (1201–1274),…
Ne doit pas être confondu avec Catherine de Bragance. Catherine de PortugalTitre de noblesseDuchesseBiographieNaissance 18 janvier 1540LisbonneDécès 15 novembre 1614 (à 74 ans)Vila ViçosaFamille Maison d'AvizPère Édouard de Portugal (en)Mère Isabelle de BraganceFratrie Marie de PortugalEdouard II de Guimarães (en)Conjoint Jean Ier de Bragance (à partir de 1563)Enfants Saraphine de Bragança (d)Théodose II de BraganceFelipe de Bragança (d)Alexandre de Bragança (d)…
Kernavė, sebuah ibu kota abad pertengahan[1] Kadipaten Agung Lituania, kini adalah desa wisata dan arkeologi (berpenduduk 318 sejak 1999) di kotamadya distrik Širvintos di Lituania tenggara. Sebuah tempat pelestarian negara didirikan di Kernavė pada 2003. Informasi geografi Gereja Kernave Kernavė terletak dekat bantaran sungai Neris dan Lembah Pajauta, dekat gumuk historis piliakalnis. Kernavė terletak di bantaran kanan sungai Neris, di teras Neris hulu. Jarak ke Širvintos ialah 21…
Ираклеониты — ученики гностика Ираклеона (II век). Упоминаются как особая секта Епифанием и Августином; при крещении и миропомазании они соблюдали обряд помазания елеем и при этом произносили воззвания на арамейском языке, которые должны были освободить душу от власти …
City in Texas, United StatesNash, TexasCityLocation of Nash, TexasCoordinates: 33°26′30″N 94°7′31″W / 33.44167°N 94.12528°W / 33.44167; -94.12528CountryUnited StatesStateTexasCountyBowieGovernment • TypeCouncil-Manager • City CouncilMayor Robert Bunch Mayor Pro Tem Cranford Graves Charles Underwood John Watwoodi Dale Vickers Brenda Jakubowski • City ManagerDoug BowersArea[1] • Total4.48 sq mi (1…
Military conflict below the intensity of conventional war This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Low-intensity conflict – news · newspapers · books · scholar · JSTOR (February 2023) (Learn how and when to remove this message) South African paratroops conduct a search and destroy operation against insur…
Desert in Afghanistan Rigestan redirects here. For the administrative subdivision of Iran, see Rigestan Rural District. For the area of Samarqand, see Registan. 30°27′12.27″N 65°24′25.58″E / 30.4534083°N 65.4071056°E / 30.4534083; 65.4071056 A caravan in the Registan Desert (Afghanistan) in August 1969 The Registan Desert (Persian: ریگستان), also known as Sistan Desert, is an extremely arid plateau region located between Helmand and Kandahar provinces i…
Legislative branch of the state government of Virginia Virginia General Assembly163rd Virginia General AssemblyTypeTypeBicameral HousesSenateHouse of DelegatesTerm limitsNoneHistoryFoundedJuly 30, 1619 (1619-07-30)LeadershipSenate PresidentWinsome Sears (R) since January 15, 2022 Senate President Pro TemporeLouise Lucas (D) since January 8, 2020 House SpeakerDon Scott (D) since January 10, 2024 StructureSeats14040 senators100 delegatesSenate political groups Demo…
County in Georgia, United States County in GeorgiaJones CountyCountyJones County Courthouse in GrayLocation within the U.S. state of GeorgiaGeorgia's location within the U.S.Coordinates: 33°02′N 83°34′W / 33.03°N 83.57°W / 33.03; -83.57Country United StatesState GeorgiaFoundedDecember 10, 1807; 216 years ago (1807-12-10)Named forJames JonesSeatGrayLargest cityGrayArea • Total395 sq mi (1,020 km2) • …
Association of one output to each input f(x) redirects here. Not to be confused with f(x) (musical group). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Function mathematics – news · newspapers · books · scholar · JSTOR (July 2022) (Learn how and when to remove this message) Functionx ↦ f (x) His…
Medicare Prescription Drug, Improvement, and Modernization ActLong titleAn act to amend title XVIII of the Social Security Act to provide for a voluntary prescription drug benefit under the medicare program and to strengthen and improve the medicare program, and for other purposes.Acronyms (colloquial)Medicare Modernization Act or MMACitationsPublic law108 - 173Legislative historyIntroduced in the House as Medicare Prescription Drug and Modernization Act of 2003 by Dennis Hastert (R–IL) on Jun…
2010 single by LCD SoundsystemI Can ChangeSingle by LCD Soundsystemfrom the album This Is Happening B-sideStereogamous Dub (12)ReleasedJuly 26, 2010GenreSynth-pop[1]new wave[2]Length5:56LabelDFASongwriter(s)Pat MahoneyJames MurphyProducer(s)James MurphyLCD Soundsystem singles chronology Drunk Girls (2010) I Can Change (2010) Throw (2010) I Can Change is a song by American rock band LCD Soundsystem. The song was released as the third official single from the band's third studio al…