{"abstract":[{"text":"Released March 25, 2019 — Version 12.1 (14607.1.40)","type":"text"}],"hierarchy":{"paths":[["doc:\/\/com.apple.documentation\/documentation\/technologies","doc:\/\/com.apple.Safari-Release-Notes\/documentation\/safari-release-notes"]]},"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/com.apple.Safari-Release-Notes\/documentation\/Safari-Release-Notes\/safari-12_1-release-notes"},"kind":"article","legalNotices":{"copyright":"Copyright &copy; 2026 Apple Inc. All rights reserved.","privacyPolicy":"https:\/\/www.apple.com\/privacy\/privacy-policy","termsOfUse":"https:\/\/www.apple.com\/legal\/internet-services\/terms\/site.html"},"metadata":{"availableLanguages":["de-DE","en-US","es-419","fr-FR","it-IT","ja-JP","ko-KR","pt-BR","zh-CN"],"role":"article","roleHeading":"Article","title":"Safari 12.1 Release Notes"},"primaryContentSections":[{"content":[{"anchor":"Overview","level":2,"text":"Overview","type":"heading"},{"inlineContent":[{"text":"Safari 12.1 ships with iOS 12.2 and macOS 10.14.4. It’s also available for macOS 10.13.6 and 10.12.6.","type":"text"}],"type":"paragraph"},{"inlineContent":[{"text":"New features of Safari 12.1 include:","type":"text"}],"type":"paragraph"},{"items":[{"content":[{"inlineContent":[{"inlineContent":[{"text":"Dark Mode for the Web.","type":"text"}],"type":"strong"},{"text":" The ability to enable color scheme customizations for websites while in Dark Mode.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"inlineContent":[{"text":"Intelligent Tracking Prevention.","type":"text"}],"type":"strong"},{"text":" New permission requirements for third-party cookies and new limits for long-term tracking.","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"anchor":"General","level":3,"text":"General","type":"heading"},{"anchor":"New-Features","level":4,"text":"New Features","type":"heading"},{"items":[{"content":[{"inlineContent":[{"text":"Updated the push notification prompt for Safari on macOS to require a user gesture.","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"anchor":"Resolved-Issues","level":4,"text":"Resolved Issues","type":"heading"},{"items":[{"content":[{"inlineContent":[{"text":"Updated the behavior of websites saved to the home screen on iOS to pause in the background instead of relaunching each time.","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"anchor":"Authentication-and-Passwords","level":3,"text":"Authentication and Passwords","type":"heading"},{"anchor":"New-Features","level":4,"text":"New Features","type":"heading"},{"items":[{"content":[{"inlineContent":[{"text":"Updated Password AutoFill to sign in automatically to websites after filling in the credentials.","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"anchor":"Security-and-Privacy","level":3,"text":"Security and Privacy","type":"heading"},{"anchor":"New-Features","level":4,"text":"New Features","type":"heading"},{"items":[{"content":[{"inlineContent":[{"text":"Added warnings displayed to the user when loading insecure pages in both Safari and in ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariViewController","isActive":true,"type":"reference"},{"text":".","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added Motion & Orientation settings on iOS to enable the ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/webkitjs\/devicemotionevent","isActive":true,"type":"reference"},{"text":" and ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/webkitjs\/deviceorientationevent","isActive":true,"type":"reference"},{"text":" events.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Removed support for the expired Do Not Track standard to prevent potential use as a fingerprinting variable.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Updated the link behavior for ","type":"text"},{"code":"\"target=_blank\"","type":"codeVoice"},{"text":" to include ","type":"text"},{"code":"rel=\"noopener\" implicitly","type":"codeVoice"},{"text":".","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"anchor":"Intelligent-Tracking-Prevention","level":3,"text":"Intelligent Tracking Prevention","type":"heading"},{"anchor":"New-Features","level":4,"text":"New Features","type":"heading"},{"items":[{"content":[{"inlineContent":[{"text":"Removed support for partitioned cookies for domains with cross-site tracking capabilities. The Storage Access API now provides third-party access to cookies.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Improved Intelligent Tracking Prevention to limit long-term tracking based on client-side first-party cookies and to verify partitioned cache entries.","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"anchor":"Web-API","level":3,"text":"Web API","type":"heading"},{"anchor":"New-Features","level":4,"text":"New Features","type":"heading"},{"items":[{"content":[{"inlineContent":[{"text":"Added a ","type":"text"},{"code":"supported-color-schemes","type":"codeVoice"},{"text":" meta tag to indicate a website supports ","type":"text"},{"code":"light","type":"codeVoice"},{"text":" and ","type":"text"},{"code":"dark","type":"codeVoice"},{"text":" color schemes.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added support for the Intersection Observer API, which detects the intersection of visible elements relative to other elements. Elements include the viewport of the top-level document.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added support for the Web Share API to invoke the native share dialog provided by the system.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added support for ","type":"text"},{"code":"<input type=\"color\">","type":"codeVoice"},{"text":".","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added support for the ","type":"text"},{"code":"<datalist>","type":"codeVoice"},{"text":" element.","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"anchor":"Payment-Request-API","level":3,"text":"Payment Request API","type":"heading"},{"anchor":"New-Features","level":4,"text":"New Features","type":"heading"},{"items":[{"content":[{"inlineContent":[{"text":"Added support for granular errors.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added support in Wallet & Apple Pay preferences for using the default contact information for the shipping address, email, and phone. On iOS, set preferences in the Transaction Defaults category in Settings > Wallet & Apple Pay. On Mac, set preferences in System Preferences > Wallet & Apple Pay > Contacts and Shipping.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added support for the default addresses and contacts configured in the Contacts and Shipping in the Wallet system preferences on iOS and macOS.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added support for special fields for Japan including ","type":"text"},{"code":"phoneticName","type":"codeVoice"},{"text":", ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/ApplePayontheWeb\/ApplePayPaymentContact\/subLocality","isActive":true,"type":"reference"},{"text":", and ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/ApplePayontheWeb\/ApplePayPaymentContact\/subAdministrativeArea","isActive":true,"type":"reference"},{"text":".","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"anchor":"CSS-and-Text","level":3,"text":"CSS and Text","type":"heading"},{"anchor":"New-Features","level":4,"text":"New Features","type":"heading"},{"items":[{"content":[{"inlineContent":[{"text":"Added support for the CSS media queries ","type":"text"},{"code":"prefers-color-scheme: light","type":"codeVoice"},{"text":" and ","type":"text"},{"code":"prefers-color-scheme: dark","type":"codeVoice"},{"text":".","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added support for CSS rules to customize text decorations like underlines and dashed underlines.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added support for new ","type":"text"},{"code":"rgb()","type":"codeVoice"},{"text":" color functions from the CSS Color 4 specification.","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"anchor":"Media","level":3,"text":"Media","type":"heading"},{"anchor":"New-Features","level":4,"text":"New Features","type":"heading"},{"items":[{"content":[{"inlineContent":[{"text":"Added support for H.264 simulcast and VP8 in WebRTC to improve support for multi-party video conferencing.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Enabled cross-browser Encrypted Media Extensions (EME) by adding APIs without the ","type":"text"},{"code":"webkit","type":"codeVoice"},{"text":" prefix.","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"anchor":"Safari-App-Extension-API","level":3,"text":"Safari App Extension API","type":"heading"},{"anchor":"New-Features","level":4,"text":"New Features","type":"heading"},{"items":[{"content":[{"inlineContent":[{"text":"Added ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariApplication\/getAllWindows(completionHandler:)","isActive":true,"type":"reference"},{"text":" and ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariWindow\/getAllTabs(completionHandler:)","isActive":true,"type":"reference"},{"text":" for iterating over all open windows and tabs.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariPage\/getContainingTab(completionHandler:)","isActive":true,"type":"reference"},{"text":" and ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariTab\/getContainingWindow(completionHandler:)","isActive":true,"type":"reference"},{"text":" access to the containing tab and window objects.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added a ","type":"text"},{"code":"close","type":"codeVoice"},{"text":" method to ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariWindow","isActive":true,"type":"reference"},{"text":" and ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariTab","isActive":true,"type":"reference"},{"text":" for closing windows and tabs.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariTab\/navigate(to:)","isActive":true,"type":"reference"},{"text":" for changing the URL of a tab.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariPage\/getScreenshotOfVisibleArea(completionHandler:)","isActive":true,"type":"reference"},{"text":" for taking a screenshot of the visible contents of a page.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariToolbarItem\/showPopover()","isActive":true,"type":"reference"},{"text":" and ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariExtensionViewController\/dismissPopover()","isActive":true,"type":"reference"},{"text":" for showing and dismissing extension popovers.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Added ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariExtension\/getBaseURI(completionHandler:)","isActive":true,"type":"reference"},{"text":" for retrieving the base URI in the app extension process.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Improved support for navigating backwards and forwards.","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"},{"anchor":"Web-Inspector-and-Tools","level":3,"text":"Web Inspector and Tools","type":"heading"},{"anchor":"New-Features","level":4,"text":"New Features","type":"heading"},{"items":[{"content":[{"inlineContent":[{"text":"Added support for multiple selection of DOM tree nodes and of entries in the Cookies table.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Improved styles editing with multiple selection support.","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Updated Timelines to include media events.","type":"text"}],"type":"paragraph"}]}],"type":"unorderedList"}],"kind":"content"}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"seeAlsoSections":[{"anchor":"Version-12","generated":true,"identifiers":["doc:\/\/com.apple.Safari-Release-Notes\/documentation\/Safari-Release-Notes\/safari-12-release-notes"],"title":"Version 12"}],"references":{"doc://com.apple.Safari-Release-Notes/documentation/Safari-Release-Notes/safari-12-release-notes":{"abstract":[{"text":"Released September 17, 2018 — Version 12 (14606.1.36)","type":"text"}],"identifier":"doc:\/\/com.apple.Safari-Release-Notes\/documentation\/Safari-Release-Notes\/safari-12-release-notes","kind":"article","role":"article","title":"Safari 12 Release Notes","type":"topic","url":"\/documentation\/safari-release-notes\/safari-12-release-notes"},"doc://com.apple.Safari-Release-Notes/documentation/safari-release-notes":{"abstract":[{"text":"Learn about changes for Safari and Safari View Controller for iOS, iPadOS, macOS, and in visionOS; WKWebView for iOS, iPadOS, macOS, watchOS, and in visionOS; and Web Inspector on macOS.","type":"text"}],"identifier":"doc:\/\/com.apple.Safari-Release-Notes\/documentation\/safari-release-notes","kind":"article","role":"collection","title":"Safari Release Notes","type":"topic","url":"\/documentation\/safari-release-notes"},"doc://com.apple.documentation/documentation/ApplePayontheWeb/ApplePayPaymentContact/subAdministrativeArea":{"abstract":[{"text":"The subadministrative area (such as a county or other region) in a postal address.","type":"text"}],"fragments":[{"kind":"typeIdentifier","text":"DOMString"},{"kind":"text","text":" "},{"kind":"text","text":"subAdministrativeArea"},{"kind":"text","text":";"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/ApplePayontheWeb\/ApplePayPaymentContact\/subAdministrativeArea","kind":"symbol","role":"symbol","title":"subAdministrativeArea","type":"topic","url":"\/documentation\/applepayontheweb\/applepaypaymentcontact\/subadministrativearea"},"doc://com.apple.documentation/documentation/ApplePayontheWeb/ApplePayPaymentContact/subLocality":{"abstract":[{"text":"Additional information associated with the location, typically defined at the city or town level (such as district or neighborhood), in a postal address.","type":"text"}],"fragments":[{"kind":"typeIdentifier","text":"DOMString"},{"kind":"text","text":" "},{"kind":"text","text":"subLocality"},{"kind":"text","text":";"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/ApplePayontheWeb\/ApplePayPaymentContact\/subLocality","kind":"symbol","role":"symbol","title":"subLocality","type":"topic","url":"\/documentation\/applepayontheweb\/applepaypaymentcontact\/sublocality"},"doc://com.apple.documentation/documentation/SafariServices/SFSafariApplication/getAllWindows(completionHandler:)":{"abstract":[],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getAllWindows"},{"kind":"text","text":"("},{"kind":"externalParam","text":"completionHandler"},{"kind":"text","text":": (["},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)SFSafariWindow","text":"SFSafariWindow"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:s4Voida","text":"Void"},{"kind":"text","text":")"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariApplication\/getAllWindows(completionHandler:)","kind":"symbol","role":"symbol","title":"getAllWindows(completionHandler:)","type":"topic","url":"\/documentation\/safariservices\/sfsafariapplication\/getallwindows(completionhandler:)"},"doc://com.apple.documentation/documentation/SafariServices/SFSafariExtension/getBaseURI(completionHandler:)":{"abstract":[],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getBaseURI"},{"kind":"text","text":"("},{"kind":"externalParam","text":"completionHandler"},{"kind":"text","text":": ("},{"kind":"typeIdentifier","preciseIdentifier":"s:10Foundation3URLV","text":"URL"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:s4Voida","text":"Void"},{"kind":"text","text":")"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariExtension\/getBaseURI(completionHandler:)","kind":"symbol","role":"symbol","title":"getBaseURI(completionHandler:)","type":"topic","url":"\/documentation\/safariservices\/sfsafariextension\/getbaseuri(completionhandler:)"},"doc://com.apple.documentation/documentation/SafariServices/SFSafariExtensionViewController/dismissPopover()":{"abstract":[],"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"dismissPopover"},{"kind":"text","text":"()"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariExtensionViewController\/dismissPopover()","kind":"symbol","role":"symbol","title":"dismissPopover()","type":"topic","url":"\/documentation\/safariservices\/sfsafariextensionviewcontroller\/dismisspopover()"},"doc://com.apple.documentation/documentation/SafariServices/SFSafariPage/getContainingTab(completionHandler:)":{"abstract":[],"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getContainingTab"},{"kind":"text","text":"("},{"kind":"externalParam","text":"completionHandler"},{"kind":"text","text":": ("},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)SFSafariTab","text":"SFSafariTab"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:s4Voida","text":"Void"},{"kind":"text","text":")"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariPage\/getContainingTab(completionHandler:)","kind":"symbol","role":"symbol","title":"getContainingTab(completionHandler:)","type":"topic","url":"\/documentation\/safariservices\/sfsafaripage\/getcontainingtab(completionhandler:)"},"doc://com.apple.documentation/documentation/SafariServices/SFSafariPage/getScreenshotOfVisibleArea(completionHandler:)":{"abstract":[],"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getScreenshotOfVisibleArea"},{"kind":"text","text":"("},{"kind":"externalParam","text":"completionHandler"},{"kind":"text","text":": ("},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)NSImage","text":"NSImage"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:s4Voida","text":"Void"},{"kind":"text","text":")"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariPage\/getScreenshotOfVisibleArea(completionHandler:)","kind":"symbol","role":"symbol","title":"getScreenshotOfVisibleArea(completionHandler:)","type":"topic","url":"\/documentation\/safariservices\/sfsafaripage\/getscreenshotofvisiblearea(completionhandler:)"},"doc://com.apple.documentation/documentation/SafariServices/SFSafariTab":{"abstract":[{"text":"A proxy for a tab in a Safari window.","type":"text"}],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"SFSafariTab"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariTab","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"SFSafariTab"}],"role":"symbol","title":"SFSafariTab","type":"topic","url":"\/documentation\/safariservices\/sfsafaritab"},"doc://com.apple.documentation/documentation/SafariServices/SFSafariTab/getContainingWindow(completionHandler:)":{"abstract":[],"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getContainingWindow"},{"kind":"text","text":"("},{"kind":"externalParam","text":"completionHandler"},{"kind":"text","text":": ("},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)SFSafariWindow","text":"SFSafariWindow"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:s4Voida","text":"Void"},{"kind":"text","text":")"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariTab\/getContainingWindow(completionHandler:)","kind":"symbol","role":"symbol","title":"getContainingWindow(completionHandler:)","type":"topic","url":"\/documentation\/safariservices\/sfsafaritab\/getcontainingwindow(completionhandler:)"},"doc://com.apple.documentation/documentation/SafariServices/SFSafariTab/navigate(to:)":{"abstract":[],"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"navigate"},{"kind":"text","text":"("},{"kind":"externalParam","text":"to"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:10Foundation3URLV","text":"URL"},{"kind":"text","text":")"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariTab\/navigate(to:)","kind":"symbol","role":"symbol","title":"navigate(to:)","type":"topic","url":"\/documentation\/safariservices\/sfsafaritab\/navigate(to:)"},"doc://com.apple.documentation/documentation/SafariServices/SFSafariToolbarItem/showPopover()":{"abstract":[],"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"showPopover"},{"kind":"text","text":"()"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariToolbarItem\/showPopover()","kind":"symbol","role":"symbol","title":"showPopover()","type":"topic","url":"\/documentation\/safariservices\/sfsafaritoolbaritem\/showpopover()"},"doc://com.apple.documentation/documentation/SafariServices/SFSafariViewController":{"abstract":[{"text":"An object that provides a visible standard interface for browsing the web.","type":"text"}],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"SFSafariViewController"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariViewController","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"SFSafariViewController"}],"role":"symbol","title":"SFSafariViewController","type":"topic","url":"\/documentation\/safariservices\/sfsafariviewcontroller"},"doc://com.apple.documentation/documentation/SafariServices/SFSafariWindow":{"abstract":[{"text":"A proxy for a Safari window.","type":"text"}],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"SFSafariWindow"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariWindow","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"SFSafariWindow"}],"role":"symbol","title":"SFSafariWindow","type":"topic","url":"\/documentation\/safariservices\/sfsafariwindow"},"doc://com.apple.documentation/documentation/SafariServices/SFSafariWindow/getAllTabs(completionHandler:)":{"abstract":[],"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getAllTabs"},{"kind":"text","text":"("},{"kind":"externalParam","text":"completionHandler"},{"kind":"text","text":": (["},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)SFSafariTab","text":"SFSafariTab"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:s4Voida","text":"Void"},{"kind":"text","text":")"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/SafariServices\/SFSafariWindow\/getAllTabs(completionHandler:)","kind":"symbol","role":"symbol","title":"getAllTabs(completionHandler:)","type":"topic","url":"\/documentation\/safariservices\/sfsafariwindow\/getalltabs(completionhandler:)"},"doc://com.apple.documentation/documentation/technologies":{"abstract":[],"identifier":"doc:\/\/com.apple.documentation\/documentation\/technologies","kind":"technologies","role":"overview","title":"Technologies","type":"topic","url":"\/documentation\/technologies"},"doc://com.apple.documentation/documentation/webkitjs/devicemotionevent":{"abstract":[{"text":"An instance of ","type":"text"},{"code":"DeviceMotionEvent","type":"codeVoice"},{"text":" is created when significant change in motion occurs. The event object encapsulates the measurements of the interval, rotation rate, and acceleration of a device. ","type":"text"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/webkitjs\/devicemotionevent","kind":"symbol","role":"symbol","title":"DeviceMotionEvent","type":"topic","url":"\/documentation\/webkitjs\/devicemotionevent"},"doc://com.apple.documentation/documentation/webkitjs/deviceorientationevent":{"abstract":[{"text":"Instances of the ","type":"text"},{"code":"DeviceOrientationEvent","type":"codeVoice"},{"text":" class are fired only when the device has a gyroscope and while the user is changing the orientation. The ","type":"text"},{"code":"DeviceOrientationEvent","type":"codeVoice"},{"text":" class encapsulates the angles of rotation in degrees and heading. ","type":"text"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/webkitjs\/deviceorientationevent","kind":"symbol","role":"symbol","title":"DeviceOrientationEvent","type":"topic","url":"\/documentation\/webkitjs\/deviceorientationevent"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariApplication~1getAllWindows(completionHandler:)\/title","value":"getAllWindowsWithCompletionHandler:"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariApplication~1getAllWindows(completionHandler:)\/fragments","value":[{"kind":"text","text":"+ "},{"kind":"identifier","text":"getAllWindowsWithCompletionHandler:"}]},{"op":"add","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariApplication~1getAllWindows(completionHandler:)\/navigatorTitle","value":[{"kind":"text","text":"+ "},{"kind":"identifier","text":"getAllWindowsWithCompletionHandler:"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariExtension~1getBaseURI(completionHandler:)\/title","value":"getBaseURIWithCompletionHandler:"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariExtension~1getBaseURI(completionHandler:)\/fragments","value":[{"kind":"text","text":"+ "},{"kind":"identifier","text":"getBaseURIWithCompletionHandler:"}]},{"op":"add","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariExtension~1getBaseURI(completionHandler:)\/navigatorTitle","value":[{"kind":"text","text":"+ "},{"kind":"identifier","text":"getBaseURIWithCompletionHandler:"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariExtensionViewController~1dismissPopover()\/title","value":"dismissPopover"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariExtensionViewController~1dismissPopover()\/fragments","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"dismissPopover"}]},{"op":"add","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariExtensionViewController~1dismissPopover()\/navigatorTitle","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"dismissPopover"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariPage~1getContainingTab(completionHandler:)\/title","value":"getContainingTabWithCompletionHandler:"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariPage~1getContainingTab(completionHandler:)\/fragments","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"getContainingTabWithCompletionHandler:"}]},{"op":"add","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariPage~1getContainingTab(completionHandler:)\/navigatorTitle","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"getContainingTabWithCompletionHandler:"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariPage~1getScreenshotOfVisibleArea(completionHandler:)\/title","value":"getScreenshotOfVisibleAreaWithCompletionHandler:"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariPage~1getScreenshotOfVisibleArea(completionHandler:)\/fragments","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"getScreenshotOfVisibleAreaWithCompletionHandler:"}]},{"op":"add","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariPage~1getScreenshotOfVisibleArea(completionHandler:)\/navigatorTitle","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"getScreenshotOfVisibleAreaWithCompletionHandler:"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariTab\/fragments","value":[{"kind":"identifier","text":"SFSafariTab"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariTab~1getContainingWindow(completionHandler:)\/title","value":"getContainingWindowWithCompletionHandler:"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariTab~1getContainingWindow(completionHandler:)\/fragments","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"getContainingWindowWithCompletionHandler:"}]},{"op":"add","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariTab~1getContainingWindow(completionHandler:)\/navigatorTitle","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"getContainingWindowWithCompletionHandler:"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariTab~1navigate(to:)\/title","value":"navigateToURL:"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariTab~1navigate(to:)\/fragments","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"navigateToURL:"}]},{"op":"add","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariTab~1navigate(to:)\/navigatorTitle","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"navigateToURL:"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariToolbarItem~1showPopover()\/title","value":"showPopover"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariToolbarItem~1showPopover()\/fragments","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"showPopover"}]},{"op":"add","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariToolbarItem~1showPopover()\/navigatorTitle","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"showPopover"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariViewController\/fragments","value":[{"kind":"identifier","text":"SFSafariViewController"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariWindow\/fragments","value":[{"kind":"identifier","text":"SFSafariWindow"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariWindow~1getAllTabs(completionHandler:)\/title","value":"getAllTabsWithCompletionHandler:"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariWindow~1getAllTabs(completionHandler:)\/fragments","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"getAllTabsWithCompletionHandler:"}]},{"op":"add","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1SafariServices~1SFSafariWindow~1getAllTabs(completionHandler:)\/navigatorTitle","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"getAllTabsWithCompletionHandler:"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}