Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace smart double quotes w/ regular double quotes #13108

Merged
merged 6 commits into from
Feb 18, 2022
Merged

Replace smart double quotes w/ regular double quotes #13108

merged 6 commits into from
Feb 18, 2022

Conversation

queengooborg
Copy link
Collaborator

This PR is a part of #13094. This PR replaces smart opening and closing double quotes with regular double quotes for all of the files.

This PR is a part of #13094.  This PR replaces smart opening and closing double quotes with regular double quotes for all of the files.
@queengooborg queengooborg requested review from a team as code owners February 18, 2022 09:37
@queengooborg queengooborg requested review from rebloor, wbamberg, Elchi3 and ericwbailey and removed request for a team February 18, 2022 09:37
@github-actions github-actions bot added Content:Accessibility Accessibility docs Content:CSS Cascading Style Sheets docs Content:DevTools Firefox DevTools docs (retired) Content:Glossary Glossary entries Content:HTML Hypertext Markup Language docs Content:HTTP HTTP docs Content:JS JavaScript docs Content:Learn Learning area docs Content:Learn:Django Learning area Django docs Content:Learn:Express Learning area Express docs Content:MathML MathML docs Content:Other Any docs not covered by another "Content:" label Content:wasm WebAssembly docs labels Feb 18, 2022
@github-actions github-actions bot added Content:WebAPI Web API docs Content:WebExt WebExtensions docs labels Feb 18, 2022
@github-actions
Copy link
Contributor

github-actions bot commented Feb 18, 2022

Preview URLs

Flaws

Note! 117 documents with no flaws that don't need to be listed. 🎉

URL: /en-US/docs/WebAssembly/Using_the_JavaScript_API
Title: Using the WebAssembly JavaScript API
on GitHub
Flaw count: 3

  • macros:
    • /en-US/docs/Web/JavaScript/Reference/Global_Objects/Memory/grow does not exist
    • /en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/RangeError does not exist
    • /en-US/docs/Web/JavaScript/Reference/Global_Objects/Memory/grow does not exist

URL: /en-US/docs/Tools/Debugger/How_to/Ignore_a_source
Title: Ignore a source
on GitHub
Flaw count: 1

  • broken_links:
    • Can't resolve /en-US/docs/Tools/Debugger/Settings

URL: /en-US/docs/Tools/Web_Console/Console_messages
Title: Console messages
on GitHub
Flaw count: 4

  • broken_links:
    • No need for the pathname in anchor links if it's the same page
    • No need for the pathname in anchor links if it's the same page
    • Can't resolve /en-US/docs/Mozilla/API/ChromeWorkers
    • No need for the pathname in anchor links if it's the same page

URL: /en-US/docs/Web/Accessibility/ARIA/forms/alerts
Title: Alerts
on GitHub
Flaw count: 1

  • broken_links:
    • Can't resolve /en-US/docs/Mozilla/Tech/XUL/Tutorial/Document_Object_Model

URL: /en-US/docs/Web/Accessibility/Cognitive_accessibility
Title: Cognitive accessibility
on GitHub
Flaw count: 2

  • broken_links:
    • Can't resolve /en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-required_attribute
    • Anchor not lowercase

URL: /en-US/docs/Web/HTML/Global_attributes
Title: Global attributes
on GitHub
Flaw count: 2

  • broken_links:
    • Can't resolve /en-US/docs/Web/HTML/Global_attributes/exportparts
  • bad_bcd_links:
    • no explanation!

URL: /en-US/docs/Web/HTML/Element/p
Title: <p>: The Paragraph element
on GitHub
Flaw count: 6

  • macros:
    • /en-US/docs/Web/HTML/Element/h1 redirects to /en-US/docs/Web/HTML/Element/Heading_Elements
    • /en-US/docs/Web/HTML/Element/h2 redirects to /en-US/docs/Web/HTML/Element/Heading_Elements
    • /en-US/docs/Web/HTML/Element/h3 redirects to /en-US/docs/Web/HTML/Element/Heading_Elements
    • /en-US/docs/Web/HTML/Element/h4 redirects to /en-US/docs/Web/HTML/Element/Heading_Elements
    • /en-US/docs/Web/HTML/Element/h5 redirects to /en-US/docs/Web/HTML/Element/Heading_Elements
    • and 1 more flaws omitted

URL: /en-US/docs/Web/MathML/Element/ms
Title: <ms>
on GitHub
Flaw count: 1

  • broken_links:
    • Can't resolve /en-US/docs/Mozilla/MathML_Project/Fonts

URL: /en-US/docs/Web/HTTP/Headers
Title: HTTP headers
on GitHub
Flaw count: 1

  • macros:
    • wrong xref macro used (consider changing which macro you use)

URL: /en-US/docs/Web/HTTP/CSP/Errors
Title: CSP errors and warnings (Content Security Policy)
on GitHub
Flaw count: 35

  • broken_links:
    • Can't resolve /en-US/docs/Web/HTTP/CSP/Errors/CSPViolationWithURI
    • Can't resolve /en-US/docs/Web/HTTP/CSP/Errors/CSPROViolation
    • Can't resolve /en-US/docs/Web/HTTP/CSP/Errors/CSPROViolationWithURI
    • Can't resolve /en-US/docs/Web/HTTP/CSP/Errors/triedToSendReport
    • Can't resolve /en-US/docs/Web/HTTP/CSP/Errors/couldNotParseReportURI
    • and 30 more flaws omitted

URL: /en-US/docs/Web/Progressive_web_apps/App_structure
Title: Progressive web app structure
on GitHub
Flaw count: 1

  • broken_links:
    • Can't resolve /en-US/docs/Mozilla/Mobile/Viewport_meta_tag

URL: /en-US/docs/Web/Progressive_web_apps/Structural_overview
Title: Structural overview of progressive web apps
on GitHub
Flaw count: 1

  • broken_links:
    • Can't resolve /en-US/docs/Mozilla/Mobile/Viewport_meta_tag

URL: /en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript
Title: A re-introduction to JavaScript (JS tutorial)
on GitHub
Flaw count: 1

  • broken_links:
    • Can't resolve https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model

URL: /en-US/docs/Web/JavaScript/Reference/Errors/Dead_object
Title: TypeError: can't access dead object
on GitHub
Flaw count: 5

  • broken_links:
    • Can't resolve /en-US/docs/Mozilla/Tech/XPCOM/Language_Bindings/Components.utils.getWeakReference
    • Can't resolve /en-US/docs/Mozilla/Tech/XPCOM/Language_Bindings/Components.utils
    • Can't resolve /en-US/docs/Extensions/Common_causes_of_memory_leaks_in_extensions
    • Can't resolve /en-US/docs/Mozilla/Tech/XPCOM/Language_Bindings/Components.utils
    • Can't resolve /en-US/docs/Mozilla/Zombie_compartments

URL: /en-US/docs/Web/JavaScript/Reference/Functions/arguments
Title: The arguments object
on GitHub
Flaw count: 1

  • broken_links:
    • Anchor not lowercase

URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
Title: TypedArray.prototype.toLocaleString()
on GitHub
Flaw count: 1

  • broken_links:
    • Anchor not lowercase

URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
Title: Array
on GitHub
Flaw count: 3

  • bad_bcd_links:
    • no explanation!
    • no explanation!
    • no explanation!

URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toLocaleString
Title: Array.prototype.toLocaleString()
on GitHub
Flaw count: 2

  • macros:
    • /en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat redirects to /en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
    • /en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat redirects to /en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat

URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
Title: Array.isArray()
on GitHub
Flaw count: 1

  • broken_links:
    • Is currently http:// but can become https://

URL: /en-US/docs/Web/CSS/grid-template
Title: grid-template
on GitHub
Flaw count: 1

  • broken_links:
    • Is currently http:// but can become https://

URL: /en-US/docs/Web/CSS/:playing
Title: :playing
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: css.selectors.playing

URL: /en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_Layout_and_Accessibility
Title: CSS Grid Layout and Accessibility
on GitHub
Flaw count: 2

  • broken_links:
    • Is currently http:// but can become https://
    • Is currently http:// but can become https://

URL: /en-US/docs/Web/CSS/text-transform
Title: text-transform
on GitHub
Flaw count: 1

  • broken_links:
    • Anchor not lowercase

URL: /en-US/docs/Web/CSS/CSS_Values_and_Units
Title: CSS values and units
on GitHub
Flaw count: 1

  • macros:
    • /en-US/docs/Web/CSS/toggle does not exist

URL: /en-US/docs/Web/Guide/Mobile/A_hybrid_approach
Title: A hybrid approach
on GitHub
Flaw count: 4

  • broken_links:
    • Is currently http:// but can become https://
    • Is currently http:// but can become https://
    • Is currently http:// but can become https://
    • Is currently http:// but can become https://

URL: /en-US/docs/Web/Guide/Mobile/Mobile-friendliness
Title: Mobile-friendliness
on GitHub
Flaw count: 3

  • broken_links:
    • Is currently http:// but can become https://
    • Is currently http:// but can become https://
    • Is currently http:// but can become https://

URL: /en-US/docs/Web/API/Window/getComputedStyle
Title: Window.getComputedStyle()
on GitHub
Flaw count: 2

  • macros:
    • wrong xref macro used (consider changing which macro you use)
    • wrong xref macro used (consider changing which macro you use)

URL: /en-US/docs/Web/API/Window/postMessage
Title: Window.postMessage()
on GitHub
Flaw count: 2

  • macros:
    • wrong xref macro used (consider changing which macro you use)
    • wrong xref macro used (consider changing which macro you use)

URL: /en-US/docs/Web/API/Streams_API/Using_readable_streams
Title: Using readable streams
on GitHub
Flaw count: 1

  • macros:
    • wrong xref macro used (consider changing which macro you use)

URL: /en-US/docs/Web/API/Element/getAttributeNames
Title: Element.getAttributeNames()
on GitHub
Flaw count: 1

  • macros:
    • wrong xref macro used (consider changing which macro you use)

URL: /en-US/docs/Web/API/Element/toggleAttribute
Title: Element.toggleAttribute()
on GitHub
Flaw count: 1

  • macros:
    • wrong xref macro used (consider changing which macro you use)

URL: /en-US/docs/Web/API/Navigator/registerProtocolHandler
Title: Navigator.registerProtocolHandler()
on GitHub
Flaw count: 2

  • macros:
    • wrong xref macro used (consider changing which macro you use)
    • wrong xref macro used (consider changing which macro you use)

URL: /en-US/docs/Web/API/PaintWorklet
Title: PaintWorklet
on GitHub
Flaw count: 1

  • broken_links:
    • Can't resolve /en-US/docs/Web/Houdini

URL: /en-US/docs/Web/API/Media_Source_Extensions_API
Title: Media Source API
on GitHub
Flaw count: 4

  • macros:
    • /en-US/docs/Web/API/TextTrack/sourceBuffer does not exist
  • bad_bcd_links:
    • no explanation!
    • no explanation!
    • no explanation!

URL: /en-US/docs/Web/API/HTMLDialogElement/returnValue
Title: HTMLDialogElement.returnValue
on GitHub
Flaw count: 2

  • macros:
    • wrong xref macro used (consider changing which macro you use)
    • wrong xref macro used (consider changing which macro you use)

URL: /en-US/docs/Web/API/Document/characterSet
Title: Document.characterSet
on GitHub
Flaw count: 1

  • macros:
    • wrong xref macro used (consider changing which macro you use)

URL: /en-US/docs/Web/API/WebRTC_API/Simple_RTCDataChannel_sample
Title: A simple RTCDataChannel sample
on GitHub
Flaw count: 1

  • broken_links:
    • Can't resolve /en-US/docs/Archive/Web/JavaScript/New_in_JavaScript/ECMAScript_2015_support_in_Mozilla

URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_conditional_footer
Title: Ember Interactivity: Footer functionality, conditional rendering
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Main_features
Title: Framework main features
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_components
Title: Componentizing our React app
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_refs_focus_management
Title: Focus management with Vue refs
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_Todo_list_beginning
Title: Starting our Svelte to-do list app
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_interactivity_filtering_conditional_rendering
Title: React interactivity: Editing, filtering, conditional rendering
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_interactivity_events_state
Title: React interactivity: Events and state
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_deployment_next
Title: Deployment and next steps
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_todo_list_beginning
Title: Beginning our React todo list
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_getting_started
Title: Getting started with Vue
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview
Title: Client-side tooling overview
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Deployment
Title: Deploying our app
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Package_management
Title: Package management basics
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Introducing_complete_toolchain
Title: Introducing a complete toolchain
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Server-side/First_steps/Introduction
Title: Introduction to the server side
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Server-side/Express_Nodejs/routes
Title: Express Tutorial Part 4: Routes and controllers
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/JavaScript/Client-side_web_APIs/Introduction
Title: Introduction to web APIs
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/JavaScript/Asynchronous/Introducing
Title: Introducing asynchronous JavaScript
on GitHub
Flaw count: 3

  • broken_links:
    • Link points to the page it's already on
    • Can't resolve /en-US/docs/Web/API/XMLHttpRequestEventTarget/onload
    • Link points to the page it's already on

URL: /en-US/docs/Learn/Common_questions/What_is_a_domain_name
Title: What is a Domain Name?
on GitHub
Flaw count: 1

  • macros:
    • /en-US/docs/Glossary/IP does not exist

URL: /en-US/docs/Learn/CSS/Building_blocks/Selectors/Pseudo-classes_and_pseudo-elements
Title: Pseudo-classes and pseudo-elements
on GitHub
Flaw count: 1

  • broken_links:
    • Link points to the page it's already on

URL: /en-US/docs/Learn/CSS/CSS_layout/Legacy_Layout_Methods
Title: Legacy layout methods
on GitHub
Flaw count: 1

  • macros:
    • /en-US/docs/Web/HTML/Element/h1 redirects to /en-US/docs/Web/HTML/Element/Heading_Elements

External URLs

URL: /en-US/docs/Related/IMSC/Using_the_imscJS_polyfill
Title: Using the imscJS polyfill
on GitHub

No new external URLs


URL: /en-US/docs/Related/IMSC/Styling
Title: Styling IMSC documents
on GitHub

No new external URLs


URL: /en-US/docs/WebAssembly/Understanding_the_text_format
Title: Understanding WebAssembly text format
on GitHub

No new external URLs


URL: /en-US/docs/WebAssembly/Using_the_JavaScript_API
Title: Using the WebAssembly JavaScript API
on GitHub

No new external URLs


URL: /en-US/docs/Mozilla/Add-ons/WebExtensions/Work_with_contextual_identities
Title: Work with contextual identities
on GitHub

No new external URLs


URL: /en-US/docs/Mozilla/Add-ons/WebExtensions/Working_with_the_Tabs_API
Title: Working with the Tabs API
on GitHub

No new external URLs


URL: /en-US/docs/Mozilla/Add-ons/WebExtensions/API/userScripts/onBeforeScript
Title: userScripts.onBeforeScript
on GitHub

No new external URLs


URL: /en-US/docs/Mozilla/Add-ons/WebExtensions/Safely_inserting_external_content_into_a_page
Title: Safely inserting external content into a page
on GitHub

No new external URLs


URL: /en-US/docs/Tools/Debugger/How_to/Ignore_a_source
Title: Ignore a source
on GitHub


URL: /en-US/docs/Tools/Debugger/Set_event_listener_breakpoints
Title: Set event listener breakpoints
on GitHub

No new external URLs


URL: /en-US/docs/Tools/Debugger-API
Title: Debugger-API
on GitHub

No new external URLs


URL: /en-US/docs/Tools/Debugger-API/Debugger.Memory
Title: Debugger.Memory
on GitHub

No new external URLs


URL: /en-US/docs/Tools/Debugger-API/Debugger.Script
Title: Debugger.Script
on GitHub

No new external URLs


URL: /en-US/docs/Tools/Debugger-API/Debugger
Title: Debugger
on GitHub

No new external URLs


URL: /en-US/docs/Tools/Debugger-API/Debugger.Source
Title: Debugger.Source
on GitHub

No new external URLs


URL: /en-US/docs/Tools/Debugger-API/Tutorial-Breakpoint
Title: Tutorial: Set a breakpoint
on GitHub

No new external URLs


URL: /en-US/docs/Tools/Debugger-API/Debugger.Frame
Title: Debugger.Frame
on GitHub

No new external URLs


URL: /en-US/docs/Tools/Debugger-API/Debugger.Environment
Title: Debugger.Environment
on GitHub

No new external URLs


URL: /en-US/docs/Tools/Debugger-API/Debugger.Object
Title: Debugger.Object
on GitHub

No new external URLs


URL: /en-US/docs/Tools/Web_Console/Console_messages
Title: Console messages
on GitHub

No new external URLs


URL: /en-US/docs/Web/Privacy/Storage_Access_Policy
Title: Storage access policy: Block cookies from trackers
on GitHub

No new external URLs


URL: /en-US/docs/Web/Privacy/Storage_access_policy/Errors/CookieBlockedAll
Title: Blocked: All storage access requests
on GitHub

No new external URLs


URL: /en-US/docs/Web/Privacy/Storage_access_policy/Errors/CookieBlockedByPermission
Title: Blocked: Custom cookie permission
on GitHub

No new external URLs


URL: /en-US/docs/Web/Privacy/Storage_access_policy/Errors/CookiePartitionedForeign
Title: Partitioned: All third-party storage access requests
on GitHub

No new external URLs


URL: /en-US/docs/Web/Privacy/Storage_access_policy/Errors/CookieBlockedForeign
Title: Blocked: All third-party storage access requests
on GitHub

No new external URLs


URL: /en-US/docs/Web/Privacy/Storage_access_policy/Errors/CookieBlockedTracker
Title: Blocked: Storage access requests from trackers
on GitHub

No new external URLs


URL: /en-US/docs/Web/Privacy/State_Partitioning
Title: State Partitioning
on GitHub

No new external URLs


URL: /en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_status_role
Title: Using the status role
on GitHub

No new external URLs


URL: /en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_log_role
Title: Using the log role
on GitHub

No new external URLs


URL: /en-US/docs/Web/Accessibility/ARIA/forms/alerts
Title: Alerts
on GitHub


URL: /en-US/docs/Web/Accessibility/ARIA/forms/Multipart_labels
Title: Multipart labels: Using ARIA for labels with embedded fields inside them
on GitHub

No new external URLs


URL: /en-US/docs/Web/Accessibility/ARIA/Roles/banner_role
Title: ARIA: banner role
on GitHub

No new external URLs


URL: /en-US/docs/Web/Accessibility/Understanding_Colors_and_Luminance
Title: Web Accessibility: Understanding Colors and Luminance
on GitHub

No new external URLs


URL: /en-US/docs/Web/Accessibility/Accessibility:_What_users_can_to_to_browse_safely
Title: Accessibility: What users can do to browse more safely
on GitHub


URL: /en-US/docs/Web/Accessibility/Cognitive_accessibility
Title: Cognitive accessibility
on GitHub

No new external URLs


URL: /en-US/docs/Web/HTML/Global_attributes
Title: Global attributes
on GitHub

No new external URLs


URL: /en-US/docs/Web/HTML/Global_attributes/lang
Title: lang
on GitHub

No new external URLs


URL: /en-US/docs/Web/HTML/Global_attributes/title
Title: title
on GitHub

No new external URLs


URL: /en-US/docs/Web/HTML/Global_attributes/inputmode
Title: inputmode
on GitHub


URL: /en-US/docs/Web/HTML/Element/p
Title: <p>: The Paragraph element
on GitHub

No new external URLs


URL: /en-US/docs/Web/HTML/Element/a
Title: <a>: The Anchor element
on GitHub

No new external URLs


URL: /en-US/docs/Web/MathML/Element/ms
Title: <ms>
on GitHub

No new external URLs


URL: /en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
Title: Data URLs
on GitHub


URL: /en-US/docs/Web/HTTP/Headers
Title: HTTP headers
on GitHub

No new external URLs


URL: /en-US/docs/Web/HTTP/Headers/Cache-Control
Title: Cache-Control
on GitHub

No new external URLs


URL: /en-US/docs/Web/HTTP/Authentication
Title: HTTP authentication
on GitHub


URL: /en-US/docs/Web/HTTP/CSP/Errors
Title: CSP errors and warnings (Content Security Policy)
on GitHub

No new external URLs


URL: /en-US/docs/Web/HTTP/CORS
Title: Cross-Origin Resource Sharing (CORS)
on GitHub


URL: /en-US/docs/Web/Progressive_web_apps
Title: Progressive web apps (PWAs)
on GitHub


URL: /en-US/docs/Web/Progressive_web_apps/App_structure
Title: Progressive web app structure
on GitHub

No new external URLs


URL: /en-US/docs/Web/Progressive_web_apps/Installing
Title: Installing and uninstalling web apps
on GitHub


URL: /en-US/docs/Web/Progressive_web_apps/Structural_overview
Title: Structural overview of progressive web apps
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript
Title: A re-introduction to JavaScript (JS tutorial)
on GitHub


URL: /en-US/docs/Web/JavaScript/Reference/Errors/Illegal_character
Title: SyntaxError: illegal character
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Reference/Errors/Dead_object
Title: TypeError: can't access dead object
on GitHub


URL: /en-US/docs/Web/JavaScript/Reference/Functions/arguments
Title: The arguments object
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Reference/Functions/get
Title: getter
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Reference/Template_literals
Title: Template literals (Template strings)
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
Title: Operator precedence
on GitHub


URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/Object
Title: Object
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
Title: Object.defineProperty()
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
Title: Promise
on GitHub


URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURI
Title: decodeURI()
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split
Title: String.prototype.split()
on GitHub


URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString
Title: TypedArray.prototype.toLocaleString()
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_VALUE
Title: Number.MIN_VALUE
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
Title: Array
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toLocaleString
Title: Array.prototype.toLocaleString()
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
Title: Array.prototype.reduce()
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
Title: Array.isArray()
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators
Title: Expressions and operators
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Guide/Text_formatting
Title: Text formatting
on GitHub

No new external URLs


URL: /en-US/docs/Web/JavaScript/Guide/Grammar_and_types
Title: Grammar and types
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/:focus-visible
Title: :focus-visible
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/grid-template
Title: grid-template
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/:playing
Title: :playing
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/hanging-punctuation
Title: hanging-punctuation
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Columns/Styling_Columns
Title: Styling Columns
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Flexible_Box_Layout
Title: CSS Flexible Box Layout
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Backwards_Compatibility_of_Flexbox
Title: Backwards Compatibility of Flexbox
on GitHub


URL: /en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Relationship_of_Flexbox_to_Other_Layout_Methods
Title: Relationship of flexbox to other layout methods
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Ordering_Flex_Items
Title: Ordering Flex Items
on GitHub


URL: /en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Mastering_Wrapping_of_Flex_Items
Title: Mastering Wrapping of Flex Items
on GitHub


URL: /en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Controlling_Ratios_of_Flex_Items_Along_the_Main_Ax
Title: Controlling Ratios of Flex Items Along the Main Axis
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Aligning_Items_in_a_Flex_Container
Title: Aligning Items in a Flex Container
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_Layout_and_Accessibility
Title: CSS Grid Layout and Accessibility
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Grid_Layout/Layout_using_Named_Grid_Lines
Title: Layout using named grid lines
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Grid_Layout/Relationship_of_Grid_Layout
Title: Relationship of grid layout to other layout methods
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Grid_Layout/Realizing_common_layouts_using_CSS_Grid_Layout
Title: Realizing common layouts using CSS Grid Layout
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Grid_Layout/Auto-placement_in_CSS_Grid_Layout
Title: Auto-placement in CSS Grid Layout
on GitHub


URL: /en-US/docs/Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout
Title: Basic Concepts of grid layout
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Grid_Layout/Grid_Template_Areas
Title: Grid template areas
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/font-size-adjust
Title: font-size-adjust
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Animations/Using_CSS_animations
Title: Using CSS animations
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/Layout_cookbook/Grid_wrapper
Title: Grid wrapper
on GitHub


URL: /en-US/docs/Web/CSS/text-transform
Title: text-transform
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/@media/forced-colors
Title: forced-colors
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/@media/prefers-reduced-motion
Title: prefers-reduced-motion
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Flow_Layout/Flow_Layout_and_Writing_Modes
Title: Flow Layout and Writing Modes
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Flow_Layout/Block_and_Inline_Layout_in_Normal_Flow
Title: Block and inline layout in normal flow
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/length
Title: <length>
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/white-space
Title: white-space
on GitHub


URL: /en-US/docs/Web/CSS/color_value
Title: <color>
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/color_value/hsla()
Title: hsla()
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/color_value/hsl()
Title: hsl()
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/caret-color
Title: caret-color
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Box_Alignment
Title: CSS Box Alignment
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/CSS_Values_and_Units
Title: CSS values and units
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/text-indent
Title: text-indent
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/font-size
Title: font-size
on GitHub

No new external URLs


URL: /en-US/docs/Web/CSS/::first-letter
Title: ::first-letter (:first-letter)
on GitHub

No new external URLs


URL: /en-US/docs/Web/Guide/Writing_forward-compatible_websites
Title: Writing forward-compatible websites
on GitHub

No new external URLs


URL: /en-US/docs/Web/Guide/Mobile/A_hybrid_approach
Title: A hybrid approach
on GitHub

No new external URLs


URL: /en-US/docs/Web/Guide/Mobile/Mobile-friendliness
Title: Mobile-friendliness
on GitHub

No new external URLs


URL: /en-US/docs/Web/Guide/CSS/CSS_Layout
Title: CSS Layout
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/File_System_Access_API
Title: File System Access API
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/console/timeLog
Title: console.timeLog()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Push_API/Best_Practices
Title: Web Push API Notifications best practices
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/VideoEncoder/VideoEncoder
Title: VideoEncoder.VideoEncoder()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Window/getComputedStyle
Title: Window.getComputedStyle()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Window/postMessage
Title: Window.postMessage()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Streams_API/Using_readable_streams
Title: Using readable streams
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Element/getAttributeNames
Title: Element.getAttributeNames()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Element/toggleAttribute
Title: Element.toggleAttribute()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Web_Workers_API/Using_web_workers
Title: Using Web Workers
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Keyboard_API
Title: Keyboard API
on GitHub


URL: /en-US/docs/Web/API/Navigator/registerProtocolHandler
Title: Navigator.registerProtocolHandler()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Response/type
Title: Response.type
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/PaintWorklet
Title: PaintWorklet
on GitHub


URL: /en-US/docs/Web/API/Media_Source_Extensions_API
Title: Media Source API
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/HTMLDialogElement/returnValue
Title: HTMLDialogElement.returnValue
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Document/requestStorageAccess
Title: Document.requestStorageAccess()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Document/characterSet
Title: Document.characterSet
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/WebRTC_API/Session_lifetime
Title: Lifetime of a WebRTC session
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/WebRTC_API/Simple_RTCDataChannel_sample
Title: A simple RTCDataChannel sample
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/XMLHttpRequest/XMLHttpRequest
Title: XMLHttpRequest()
on GitHub


URL: /en-US/docs/Glossary/Progressive_Enhancement
Title: Progressive Enhancement
on GitHub


URL: /en-US/docs/Glossary/Doctype
Title: Doctype
on GitHub

No new external URLs


URL: /en-US/docs/Glossary/Canonical_order
Title: Canonical order
on GitHub


URL: /en-US/docs/Glossary/Pixel
Title: Pixel
on GitHub

No new external URLs


URL: /en-US/docs/Glossary/Whitespace
Title: Whitespace
on GitHub


URL: /en-US/docs/Learn/HTML/Multimedia_and_embedding/Other_embedding_technologies
Title: From object to iframe — other embedding technologies
on GitHub


URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks
Title: Understanding client-side JavaScript frameworks
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_conditional_footer
Title: Ember Interactivity: Footer functionality, conditional rendering
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Main_features
Title: Framework main features
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_components
Title: Componentizing our React app
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_refs_focus_management
Title: Focus management with Vue refs
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_Todo_list_beginning
Title: Starting our Svelte to-do list app
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_interactivity_filtering_conditional_rendering
Title: React interactivity: Editing, filtering, conditional rendering
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_interactivity_events_state
Title: React interactivity: Events and state
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_deployment_next
Title: Deployment and next steps
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_todo_list_beginning
Title: Beginning our React todo list
on GitHub


URL: /en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_getting_started
Title: Getting started with Vue
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview
Title: Client-side tooling overview
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line
Title: Command line crash course
on GitHub


URL: /en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Deployment
Title: Deploying our app
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Package_management
Title: Package management basics
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Introducing_complete_toolchain
Title: Introducing a complete toolchain
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Server-side/First_steps/Introduction
Title: Introduction to the server side
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Server-side/Express_Nodejs/mongoose
Title: Express Tutorial Part 3: Using a Database (with Mongoose)
on GitHub


URL: /en-US/docs/Learn/Server-side/Express_Nodejs/routes
Title: Express Tutorial Part 4: Routes and controllers
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Server-side/Express_Nodejs/forms/Create_author_form
Title: Create Author form
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Server-side/Django/Introduction
Title: Django introduction
on GitHub


URL: /en-US/docs/Learn/JavaScript/Client-side_web_APIs/Introduction
Title: Introduction to web APIs
on GitHub

No new external URLs


URL: /en-US/docs/Learn/JavaScript/Asynchronous/Introducing
Title: Introducing asynchronous JavaScript
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Common_questions/Checking_that_your_web_site_is_working_properly
Title: How do you make sure your website works properly?
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Common_questions/HTML_features_for_accessibility
Title: What HTML features promote accessibility?
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Common_questions/How_much_does_it_cost
Title: How much does it cost to do something on the Web?
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Common_questions/What_is_a_domain_name
Title: What is a Domain Name?
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Common_questions/Upload_files_to_a_web_server
Title: How do you upload your files to a web server?
on GitHub

No new external URLs


URL: /en-US/docs/Learn/Common_questions/Design_for_all_types_of_users
Title: How can we design for all types of users?
on GitHub

No new external URLs


URL: /en-US/docs/Learn/CSS/Building_blocks/Selectors/Pseudo-classes_and_pseudo-elements
Title: Pseudo-classes and pseudo-elements
on GitHub

No new external URLs


URL: /en-US/docs/Learn/CSS/CSS_layout/Legacy_Layout_Methods
Title: Legacy layout methods
on GitHub

No new external URLs


URL: /en-US/docs/MDN/MDN_Product_Advisory_Board/Membership
Title: Product Advisory Board Charter & Membership
on GitHub

No new external URLs


URL: /en-US/docs/MDN/MDN_Product_Advisory_Board/Members
Title: Product Advisory Board Members
on GitHub

No new external URLs

(this comment was updated 2022-02-18 11:36:53.995355)

@teoli2003
Copy link
Member

@queengooborg There are some conflicts to solve.

@queengooborg
Copy link
Collaborator Author

All fixed up now!

Copy link
Member

@teoli2003 teoli2003 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are almost good to go. A few places where we overcorrected, but else looks good.

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 918 774" width="1224" height="1032"><defs><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="a" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#000"><path d="M8 0L0-3v6z" fill="currentColor" stroke="currentColor"/></marker></defs><g fill="none"><path fill="#fff" d="M0 0h918v774H0z"/><path fill="#7465dc" fill-opacity=".5" d="M9 81h360v657H9z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M9 81h360v657H9z"/><path fill="#62d6ac" fill-opacity=".5" d="M549 81h360v657H549z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M549 81h360v657H549z"/><path fill="#be844a" fill-opacity=".5" d="M369 81h180v657H369z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M369 81h180v657H369z"/><path fill="#62d6ac" fill-opacity=".5" d="M549 9h360v72H549z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M549 9h360v72H549z"/><text transform="translate(554 31.5)" fill="#000"><tspan font-family="Open Sans" font-size="20" font-weight="bold" x="109.692" y="21" textLength="130.615">Priya (Callee)</tspan></text><path fill="#be844a" fill-opacity=".5" d="M369 9h180v72H369z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M369 9h180v72H369z"/><text transform="translate(374 31.5)" fill="#000"><tspan font-family="Open Sans" font-size="20" font-weight="bold" x="5.161" y="21" textLength="159.678">Signaling Server</tspan></text><path fill="#7465dc" fill-opacity=".5" d="M9 9h360v72H9z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M9 9h360v72H9z"/><text transform="translate(14 31.5)" fill="#000"><tspan font-family="Open Sans" font-size="20" font-weight="bold" x="103.428" y="21" textLength="143.145">Naomi (Caller)</tspan></text><path fill="#fff" fill-opacity=".503" d="M189 81h180v657H189z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M189 81h180v657H189z"/><path fill="#fff" fill-opacity=".503" d="M549 81h180v657H549z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M549 81h180v657H549z"/><path fill="#c9ffff" d="M27 280.68h144v80H27z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M27 280.68h144v80H27z"/><text transform="translate(32 285.68)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="129.526">Receives the candidate and </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="25" textLength="74.072">sends it to Priya</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="73.975" y="25" textLength="1.699">’</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="75.376" y="25" textLength="35.063">s client </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="39" textLength="13.75">thr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="13.55" y="39" textLength="119.78">ough the signaling server </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="53" textLength="21.089">as a </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="21.089" y="53" textLength="54.009">"new-ice-</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="0" y="67" textLength="60.01">candidate"</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="60.01" y="67" textLength="43.701"> message</tspan></text><path fill="#fff5c8" d="M27 261h144v19.68H27z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M27 261h144v19.68H27z"/><text transform="translate(32 265.84)" fill="#000"><tspan font-family="Courier" font-size="8" font-weight="500" x="6.99" y="8" textLength="120.02">handleICECandidateEvent()</tspan></text><path fill="#c9ffff" d="M207 126h144v52H207z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M207 126h144v52H207z"/><text transform="translate(212 131)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="28.721">Gener</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="28.521" y="11" textLength="97.397">ate an ICE candidate </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="25" textLength="4.082">r</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="3.882" y="25" textLength="15.82">epr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="19.502" y="25" textLength="46.123">esented b</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="65.425" y="25" textLength="43.33">y an SDP </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="39" textLength="26.528">string</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1,4" d="M207 178l-100.15 76.967"/><text transform="translate(59 194)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="31.108">Event: </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="31.108" y="11" textLength="72.012">icecandidate</tspan></text><path fill="#c9ffff" d="M387 279h144v66H387z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M387 279h144v66H387z"/><text transform="translate(392 284)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="35.313">Receive</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="35.313" y="11" textLength="60.01"> "new-ice-</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="0" y="25" textLength="60.01">candidate"</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="60.01" y="25" textLength="66.724"> message and </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="39" textLength="30.933">forwar</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="30.732" y="39" textLength="52.783">d it to Priya</tspan></text><path fill="#fff5c8" d="M387 261h144v18H387z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M387 261h144v18H387z"/><text transform="translate(392 264)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="500" x="30.994" y="10" textLength="72.012">on.message()</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4,4" d="M171 270.84l206.1-.802"/><text transform="translate(197.427 268.103)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x=".446" y="11" textLength="46.089">Message: </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="46.535" y="11" textLength="114.019">"new-ice-candidate"</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4,4" d="M531 270h206.1"/><text transform="translate(560 267.56)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x=".196" y="11" textLength="46.089">Message: </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="46.285" y="11" textLength="108.018">"new-ice-candidate</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="154.303" y="11" textLength="3.501">"</tspan></text><path fill="#c9ffff" d="M747 279h144v144H747z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M747 279h144v144H747z"/><text transform="translate(752 284)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="1" y="11" textLength="8.379">1.</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="11" y="11" textLength="10.391">Cr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="21.19" y="11" textLength="37.207">eate an </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="10.95" y="25" textLength="90.015">RTCIceCandidate</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="100.965" y="25" textLength="33.794"> object </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="39" textLength="77.134">using the SDP pr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="87.884" y="39" textLength="6.04">o</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="93.723" y="39" textLength="39.268">vided in </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="53" textLength="66.484">the candidate.</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="1" y="67" textLength="8.379">2.</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="11" y="67" textLength="113.848">Deliver the candidate to </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="81" textLength="23.232">Priya</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="34.085" y="81" textLength="1.699">’</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="35.486" y="81" textLength="56.172">s ICE layer b</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="91.458" y="81" textLength="7.637">y </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="95" textLength="58.799">passing it to </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="10.95" y="108" textLength="120.02">RTCPeerConnection.ad</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="10.95" y="120" textLength="90.015">dIceCandidate()</tspan></text><path fill="#fff5c8" d="M747 261h144v18H747z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M747 261h144v18H747z"/><text transform="translate(752 265)" fill="#000"><tspan font-family="Courier" font-size="8" font-weight="500" x="4.59" y="8" textLength="124.82">handleNewIceCandidateMsg()</tspan></text><path fill="#c9ffff" d="M747 586.68h144v80H747z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M747 586.68h144v80H747z"/><text transform="translate(752 591.68)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="129.526">Receives the candidate and </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="25" textLength="83.511">sends it to Naomi’</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="83.213" y="25" textLength="35.063">s client </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="39" textLength="13.75">thr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="13.55" y="39" textLength="119.78">ough the signaling server </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="53" textLength="21.089">as a </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="21.089" y="53" textLength="54.009">"new-ice-</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="0" y="67" textLength="60.01">candidate"</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="60.01" y="67" textLength="43.701"> message</tspan></text><path fill="#fff5c8" d="M747 567h144v19.68H747z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M747 567h144v19.68H747z"/><text transform="translate(752 571.84)" fill="#000"><tspan font-family="Courier" font-size="8" font-weight="500" x="6.99" y="8" textLength="120.02">handleICECandidateEvent()</tspan></text><path fill="#c9ffff" d="M567 441h144v52H567z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M567 441h144v52H567z"/><text transform="translate(572 446)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="28.721">Gener</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="28.521" y="11" textLength="97.397">ate an ICE candidate </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="25" textLength="4.082">r</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="3.882" y="25" textLength="15.82">epr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="19.502" y="25" textLength="46.123">esented b</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="65.425" y="25" textLength="43.33">y an SDP </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="39" textLength="26.528">string</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1,4" d="M711 493l99.833 68.404"/><text transform="translate(761 500)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="31.108">Event: </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="31.108" y="11" textLength="72.012">icecandidate</tspan></text><path fill="#c9ffff" d="M387 585h144v66H387z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M387 585h144v66H387z"/><text transform="translate(392 590)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="37.91">Receive </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="37.91" y="11" textLength="54.009">"new-ice-</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="0" y="25" textLength="60.01">candidate"</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="60.01" y="25" textLength="66.724"> message and </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="39" textLength="30.933">forwar</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="30.732" y="39" textLength="60.522">d it to Naomi</tspan></text><path fill="#fff5c8" d="M387 567h144v18H387z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M387 567h144v18H387z"/><text transform="translate(392 570)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="500" x="30.994" y="10" textLength="72.012">on.message()</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4,4" d="M747 576.84l-206.1-.802"/><text transform="translate(559.573 574.103)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x=".446" y="11" textLength="46.089">Message: </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="46.535" y="11" textLength="114.019">"new-ice-candidate"</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4,4" d="M387 576H171.9"/><text transform="translate(194 573.56)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x=".446" y="11" textLength="46.089">Message: </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="46.535" y="11" textLength="114.019">"new-ice-candidate"</tspan></text><path fill="#c9ffff" d="M18 585h144v144H18z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M18 585h144v144H18z"/><text transform="translate(23 590)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="1" y="11" textLength="8.379">1.</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="11" y="11" textLength="10.391">Cr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="21.19" y="11" textLength="37.207">eate an </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="10.95" y="25" textLength="90.015">RTCIceCandidate</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="100.965" y="25" textLength="33.794"> object </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="39" textLength="77.134">using the SDP pr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="87.884" y="39" textLength="6.04">o</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="93.723" y="39" textLength="39.268">vided in </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="53" textLength="66.484">the candidate.</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="1" y="67" textLength="8.379">2.</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="11" y="67" textLength="113.848">Deliver the candidate to </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="81" textLength="32.671">Naomi’</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="43.323" y="81" textLength="56.172">s ICE layer b</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="99.295" y="81" textLength="7.637">y </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="95" textLength="58.799">passing it to </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="10.95" y="108" textLength="120.02">RTCPeerConnection.ad</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="10.95" y="120" textLength="90.015">dIceCandidate()</tspan></text><path fill="#fff5c8" d="M18 567h144v18H18z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M18 567h144v18H18z"/><text transform="translate(23 571)" fill="#000"><tspan font-family="Courier" font-size="8" font-weight="500" x="4.59" y="8" textLength="124.82">handleNewIceCandidateMsg()</tspan></text><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M9 81h180v27H9z"/><text transform="translate(14 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="50.664" y="17" textLength="15.133">W</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="65.477" y="17" textLength="53.859">eb App</tspan></text><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M189 81h180v27H189z"/><text transform="translate(194 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="34.137" y="17" textLength="15.133">W</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="48.949" y="17" textLength="40.805">eb Br</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="89.434" y="17" textLength="9.773">o</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="98.887" y="17" textLength="36.977">wser</tspan></text><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M549 81h180v27H549z"/><text transform="translate(554 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="34.137" y="17" textLength="15.133">W</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="48.949" y="17" textLength="40.805">eb Br</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="89.434" y="17" textLength="9.773">o</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="98.887" y="17" textLength="36.977">wser</tspan></text><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M729 81h180v27H729z"/><text transform="translate(734 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="50.664" y="17" textLength="15.133">W</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="65.477" y="17" textLength="53.859">eb App</tspan></text><path fill="#da456b" fill-opacity=".503" d="M9 738h900v27H9z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M9 738h900v27H9z"/><text transform="translate(14 740.5)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="500" x="227.586" y="17" textLength="16.164">Pr</tspan><tspan font-family="Open Sans" font-size="16" font-weight="500" x="243.43" y="17" textLength="52.211">ocess r</tspan><tspan font-family="Open Sans" font-size="16" font-weight="500" x="295.32" y="17" textLength="230.836">epeats until both ICE layers agr</tspan><tspan font-family="Open Sans" font-size="16" font-weight="500" x="525.836" y="17" textLength="136.578">ee on a candidate.</tspan></text></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 918 774" width="1224" height="1032"><defs><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="a" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#000"><path d="M8 0L0-3v6z" fill="currentColor" stroke="currentColor"/></marker></defs><g fill="none"><path fill="#fff" d="M0 0h918v774H0z"/><path fill="#7465dc" fill-opacity=".5" d="M9 81h360v657H9z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M9 81h360v657H9z"/><path fill="#62d6ac" fill-opacity=".5" d="M549 81h360v657H549z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M549 81h360v657H549z"/><path fill="#be844a" fill-opacity=".5" d="M369 81h180v657H369z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M369 81h180v657H369z"/><path fill="#62d6ac" fill-opacity=".5" d="M549 9h360v72H549z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M549 9h360v72H549z"/><text transform="translate(554 31.5)" fill="#000"><tspan font-family="Open Sans" font-size="20" font-weight="bold" x="109.692" y="21" textLength="130.615">Priya (Callee)</tspan></text><path fill="#be844a" fill-opacity=".5" d="M369 9h180v72H369z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M369 9h180v72H369z"/><text transform="translate(374 31.5)" fill="#000"><tspan font-family="Open Sans" font-size="20" font-weight="bold" x="5.161" y="21" textLength="159.678">Signaling Server</tspan></text><path fill="#7465dc" fill-opacity=".5" d="M9 9h360v72H9z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M9 9h360v72H9z"/><text transform="translate(14 31.5)" fill="#000"><tspan font-family="Open Sans" font-size="20" font-weight="bold" x="103.428" y="21" textLength="143.145">Naomi (Caller)</tspan></text><path fill="#fff" fill-opacity=".503" d="M189 81h180v657H189z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M189 81h180v657H189z"/><path fill="#fff" fill-opacity=".503" d="M549 81h180v657H549z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M549 81h180v657H549z"/><path fill="#c9ffff" d="M27 280.68h144v80H27z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M27 280.68h144v80H27z"/><text transform="translate(32 285.68)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="129.526">Receives the candidate and </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="25" textLength="74.072">sends it to Priya</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="73.975" y="25" textLength="1.699">'</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="75.376" y="25" textLength="35.063">s client </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="39" textLength="13.75">thr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="13.55" y="39" textLength="119.78">ough the signaling server </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="53" textLength="21.089">as a </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="21.089" y="53" textLength="54.009">"new-ice-</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="0" y="67" textLength="60.01">candidate"</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="60.01" y="67" textLength="43.701"> message</tspan></text><path fill="#fff5c8" d="M27 261h144v19.68H27z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M27 261h144v19.68H27z"/><text transform="translate(32 265.84)" fill="#000"><tspan font-family="Courier" font-size="8" font-weight="500" x="6.99" y="8" textLength="120.02">handleICECandidateEvent()</tspan></text><path fill="#c9ffff" d="M207 126h144v52H207z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M207 126h144v52H207z"/><text transform="translate(212 131)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="28.721">Gener</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="28.521" y="11" textLength="97.397">ate an ICE candidate </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="25" textLength="4.082">r</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="3.882" y="25" textLength="15.82">epr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="19.502" y="25" textLength="46.123">esented b</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="65.425" y="25" textLength="43.33">y an SDP </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="39" textLength="26.528">string</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1,4" d="M207 178l-100.15 76.967"/><text transform="translate(59 194)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="31.108">Event: </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="31.108" y="11" textLength="72.012">icecandidate</tspan></text><path fill="#c9ffff" d="M387 279h144v66H387z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M387 279h144v66H387z"/><text transform="translate(392 284)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="35.313">Receive</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="35.313" y="11" textLength="60.01"> "new-ice-</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="0" y="25" textLength="60.01">candidate"</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="60.01" y="25" textLength="66.724"> message and </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="39" textLength="30.933">forwar</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="30.732" y="39" textLength="52.783">d it to Priya</tspan></text><path fill="#fff5c8" d="M387 261h144v18H387z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M387 261h144v18H387z"/><text transform="translate(392 264)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="500" x="30.994" y="10" textLength="72.012">on.message()</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4,4" d="M171 270.84l206.1-.802"/><text transform="translate(197.427 268.103)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x=".446" y="11" textLength="46.089">Message: </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="46.535" y="11" textLength="114.019">"new-ice-candidate"</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4,4" d="M531 270h206.1"/><text transform="translate(560 267.56)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x=".196" y="11" textLength="46.089">Message: </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="46.285" y="11" textLength="108.018">"new-ice-candidate</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="154.303" y="11" textLength="3.501">"</tspan></text><path fill="#c9ffff" d="M747 279h144v144H747z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M747 279h144v144H747z"/><text transform="translate(752 284)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="1" y="11" textLength="8.379">1.</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="11" y="11" textLength="10.391">Cr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="21.19" y="11" textLength="37.207">eate an </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="10.95" y="25" textLength="90.015">RTCIceCandidate</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="100.965" y="25" textLength="33.794"> object </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="39" textLength="77.134">using the SDP pr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="87.884" y="39" textLength="6.04">o</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="93.723" y="39" textLength="39.268">vided in </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="53" textLength="66.484">the candidate.</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="1" y="67" textLength="8.379">2.</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="11" y="67" textLength="113.848">Deliver the candidate to </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="81" textLength="23.232">Priya</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="34.085" y="81" textLength="1.699">'</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="35.486" y="81" textLength="56.172">s ICE layer b</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="91.458" y="81" textLength="7.637">y </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="95" textLength="58.799">passing it to </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="10.95" y="108" textLength="120.02">RTCPeerConnection.ad</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="10.95" y="120" textLength="90.015">dIceCandidate()</tspan></text><path fill="#fff5c8" d="M747 261h144v18H747z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M747 261h144v18H747z"/><text transform="translate(752 265)" fill="#000"><tspan font-family="Courier" font-size="8" font-weight="500" x="4.59" y="8" textLength="124.82">handleNewIceCandidateMsg()</tspan></text><path fill="#c9ffff" d="M747 586.68h144v80H747z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M747 586.68h144v80H747z"/><text transform="translate(752 591.68)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="129.526">Receives the candidate and </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="25" textLength="83.511">sends it to Naomi'</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="83.213" y="25" textLength="35.063">s client </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="39" textLength="13.75">thr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="13.55" y="39" textLength="119.78">ough the signaling server </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="53" textLength="21.089">as a </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="21.089" y="53" textLength="54.009">"new-ice-</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="0" y="67" textLength="60.01">candidate"</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="60.01" y="67" textLength="43.701"> message</tspan></text><path fill="#fff5c8" d="M747 567h144v19.68H747z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M747 567h144v19.68H747z"/><text transform="translate(752 571.84)" fill="#000"><tspan font-family="Courier" font-size="8" font-weight="500" x="6.99" y="8" textLength="120.02">handleICECandidateEvent()</tspan></text><path fill="#c9ffff" d="M567 441h144v52H567z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M567 441h144v52H567z"/><text transform="translate(572 446)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="28.721">Gener</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="28.521" y="11" textLength="97.397">ate an ICE candidate </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="25" textLength="4.082">r</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="3.882" y="25" textLength="15.82">epr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="19.502" y="25" textLength="46.123">esented b</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="65.425" y="25" textLength="43.33">y an SDP </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="39" textLength="26.528">string</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1,4" d="M711 493l99.833 68.404"/><text transform="translate(761 500)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="31.108">Event: </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="31.108" y="11" textLength="72.012">icecandidate</tspan></text><path fill="#c9ffff" d="M387 585h144v66H387z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M387 585h144v66H387z"/><text transform="translate(392 590)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="11" textLength="37.91">Receive </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="37.91" y="11" textLength="54.009">"new-ice-</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="0" y="25" textLength="60.01">candidate"</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="60.01" y="25" textLength="66.724"> message and </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="0" y="39" textLength="30.933">forwar</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="30.732" y="39" textLength="60.522">d it to Naomi</tspan></text><path fill="#fff5c8" d="M387 567h144v18H387z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M387 567h144v18H387z"/><text transform="translate(392 570)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="500" x="30.994" y="10" textLength="72.012">on.message()</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4,4" d="M747 576.84l-206.1-.802"/><text transform="translate(559.573 574.103)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x=".446" y="11" textLength="46.089">Message: </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="46.535" y="11" textLength="114.019">"new-ice-candidate"</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4,4" d="M387 576H171.9"/><text transform="translate(194 573.56)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x=".446" y="11" textLength="46.089">Message: </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="46.535" y="11" textLength="114.019">"new-ice-candidate"</tspan></text><path fill="#c9ffff" d="M18 585h144v144H18z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M18 585h144v144H18z"/><text transform="translate(23 590)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="500" x="1" y="11" textLength="8.379">1.</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="11" y="11" textLength="10.391">Cr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="21.19" y="11" textLength="37.207">eate an </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="10.95" y="25" textLength="90.015">RTCIceCandidate</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="100.965" y="25" textLength="33.794"> object </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="39" textLength="77.134">using the SDP pr</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="87.884" y="39" textLength="6.04">o</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="93.723" y="39" textLength="39.268">vided in </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="53" textLength="66.484">the candidate.</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="1" y="67" textLength="8.379">2.</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="11" y="67" textLength="113.848">Deliver the candidate to </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="81" textLength="32.671">Naomi'</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="43.323" y="81" textLength="56.172">s ICE layer b</tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="99.295" y="81" textLength="7.637">y </tspan><tspan font-family="Open Sans" font-size="10" font-weight="500" x="10.95" y="95" textLength="58.799">passing it to </tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="10.95" y="108" textLength="120.02">RTCPeerConnection.ad</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="10.95" y="120" textLength="90.015">dIceCandidate()</tspan></text><path fill="#fff5c8" d="M18 567h144v18H18z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M18 567h144v18H18z"/><text transform="translate(23 571)" fill="#000"><tspan font-family="Courier" font-size="8" font-weight="500" x="4.59" y="8" textLength="124.82">handleNewIceCandidateMsg()</tspan></text><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M9 81h180v27H9z"/><text transform="translate(14 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="50.664" y="17" textLength="15.133">W</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="65.477" y="17" textLength="53.859">eb App</tspan></text><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M189 81h180v27H189z"/><text transform="translate(194 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="34.137" y="17" textLength="15.133">W</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="48.949" y="17" textLength="40.805">eb Br</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="89.434" y="17" textLength="9.773">o</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="98.887" y="17" textLength="36.977">wser</tspan></text><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M549 81h180v27H549z"/><text transform="translate(554 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="34.137" y="17" textLength="15.133">W</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="48.949" y="17" textLength="40.805">eb Br</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="89.434" y="17" textLength="9.773">o</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="98.887" y="17" textLength="36.977">wser</tspan></text><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M729 81h180v27H729z"/><text transform="translate(734 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="50.664" y="17" textLength="15.133">W</tspan><tspan font-family="Open Sans" font-size="16" font-weight="bold" x="65.477" y="17" textLength="53.859">eb App</tspan></text><path fill="#da456b" fill-opacity=".503" d="M9 738h900v27H9z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M9 738h900v27H9z"/><text transform="translate(14 740.5)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="500" x="227.586" y="17" textLength="16.164">Pr</tspan><tspan font-family="Open Sans" font-size="16" font-weight="500" x="243.43" y="17" textLength="52.211">ocess r</tspan><tspan font-family="Open Sans" font-size="16" font-weight="500" x="295.32" y="17" textLength="230.836">epeats until both ICE layers agr</tspan><tspan font-family="Open Sans" font-size="16" font-weight="500" x="525.836" y="17" textLength="136.578">ee on a candidate.</tspan></text></g></svg>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think svg files should be touched.

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="17.5 8.5 901 1117" width="901" height="1117"><defs><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="a" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#000"><path d="M8 0L0-3v6z" fill="currentColor" stroke="currentColor"/></marker></defs><g fill="none"><path fill="#887ee3" fill-opacity=".5" d="M18 81.165h360V1125H18z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M18 81.165h360V1125H18z"/><path fill="#71dcba" fill-opacity=".5" d="M558 81.165h360V1125H558z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M558 81.165h360V1125H558z"/><path fill="#cb965c" fill-opacity=".5" d="M378 81.165h180V1125H378z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M378 81.165h180V1125H378z"/><path fill="#71dcba" fill-opacity=".5" d="M558 9h360v72.165H558z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M558 9h360v72.165H558z"/><text transform="translate(563 31.583)" fill="#000"><tspan font-family="Open Sans" font-size="20" font-weight="700" x="109.692" y="21">Priya (Callee)</tspan></text><path fill="#cb965c" fill-opacity=".5" d="M378 9h180v72.165H378z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M378 9h180v72.165H378z"/><text transform="translate(383 31.583)" fill="#000"><tspan font-family="Open Sans" font-size="20" font-weight="700" x="5.161" y="21">Signaling Server</tspan></text><path fill="#887ee3" fill-opacity=".5" d="M18 9h360v72.165H18z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M18 9h360v72.165H18z"/><text transform="translate(23 31.583)" fill="#000"><tspan font-family="Open Sans" font-size="20" font-weight="700" x="103.428" y="21">Naomi (Caller)</tspan></text><path fill="#fff" fill-opacity=".503" d="M558 108h180v1017H558z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M558 108h180v1017H558zM18 81h180v27H18z"/><text transform="translate(23 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="600" x="50.664" y="17">Web App</tspan></text><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M558 81h180v27H558z"/><text transform="translate(563 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="600" x="34.137" y="17">Web Browser</tspan></text><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M738 81h180v27H738z"/><text transform="translate(743 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="600" x="50.664" y="17">Web App</tspan></text><path fill="#d2ffff" d="M36 144h144v180H36z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M36 144h144v180H36z"/><text transform="translate(41 149)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="11">1. Create an </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="24">RTCPeerConnection</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="37">2. Call </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="37">getUserMedia()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="37"> to </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="51">access the webcam and </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="65">microphone</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="79">3. Promise fulfilled: add the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="93">local stream’s tracks by </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="107">calling </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="120">RTCPeerConnection.ad</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="132">dTrack()</tspan></text><path fill="#fff6d2" d="M36 126h144v18H36z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M36 126h144v18H36z"/><text transform="translate(41 129)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="400" x="42.996" y="10">invite()</tspan></text><path fill="#fff" fill-opacity=".503" d="M198 108h180v1017H198z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M198 108h180v1017H198zm0-27h180v27H198z"/><text transform="translate(203 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="600" x="34.137" y="17">Web Browser</tspan></text><path fill="#d2ffff" d="M36 398.5h144v210H36z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M36 398.5h144v210H36z"/><text transform="translate(41 403.5)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="11">1. Create an SDP offer by </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="25">calling </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="38">RTCPeerConnection.cr</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="50">eateOffer()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="63">3. Promise fulfilled: set the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="77">description of Naomi’s </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="91">end of the call by calling </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="104">RTCPeerConnection.se</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="116">tLocalDescription()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="129">4. Promise fulfilled: send the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="143">offer through the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="157">signaling server to Priya in </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="171">a message of type </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="184">"video-offer"</tspan></text><path fill="#fff6d2" d="M36 380.5h144v18H36z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M36 380.5h144v18H36z"/><text transform="translate(41 385.5)" fill="#000"><tspan font-family="Courier" font-size="7" font-weight="400" x="3.99" y="6">handleNegotiationNeededEvent()</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" d="M180 503.5l206.1.477"/><text transform="rotate(.133 -216390.778 97669.229)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x=".449" y="11">Message: </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="11">"video-offer"</tspan></text><path d="M234.773 689.8c-23.273-5.8-13.992-54.632 23.134-46.3 3.444-16.242 46.617-13.606 46.335 0 27.07-17.402 61.665 17.297 38.46 34.7 27.845 8.436-.35 53.893-23.202 46.3-1.829 12.657-42.68 17.086-46.266 0-23.132 18.247-71.366-9.809-38.46-34.7z" fill="#71dcba"/><path d="M234.773 689.8c-23.273-5.8-13.992-54.632 23.134-46.3 3.444-16.242 46.617-13.606 46.335 0 27.07-17.402 61.665 17.297 38.46 34.7 27.845 8.436-.35 53.893-23.202 46.3-1.829 12.657-42.68 17.086-46.266 0-23.132 18.247-71.366-9.809-38.46-34.7z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text transform="translate(242.6 663)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.94" y="11">ICE layer starts </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x=".346" y="25">sending candidates </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="27.7" y="39">to Priya</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M108 608.5l119.276 34.352"/><path fill="#d2ffff" d="M756 513h144v496H756z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M756 513h144v496H756z"/><text transform="translate(761 518)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="11">1. Create an </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="24">RTCPeerConnection</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="37">2. Create an </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="50">RTCSessionDescriptio</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="63">n</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="63"> using the received SDP </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="77">offer</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="91">3. Call </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="104">RTCPeerConnection.se</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="117">tRemoteDescription()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="117"> </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="131">to tell WebRTC about </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="145">Naomi’s configuration.</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="159">4. Call </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="159">getUserMedia()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="159"> to </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="173">access the webcam and </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="187">microphone</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="201">5. Promise fulfilled: add the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="215">local stream’s tracks by </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="229">calling </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="242">RTCPeerConnection.ad</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="254">dTrack()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="267">6. Promise fulfilled: call </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="280">RTCPeerConnection.cr</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="293">eateAnswer()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="293"> to create </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="307">an SDP answer to send to </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="321">Naomi</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="335">7. Promise fulfilled: </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="349">configure Priya’s end of </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="363">the connection by match </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="377">the generated answer by </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="391">calling </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="404">RTCPeerConnection.se</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="416">tLocalDescription()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="429">8. Promise fulfilled: send the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="443">SDP answer through the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="457">signaling server to Naomi </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="471">in a message of type </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="484">"video-answer"</tspan></text><path fill="#fff6d2" d="M756 495h144v18H756z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M756 495h144v18H756z"/><text transform="translate(761 498)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="400" x="3.99" y="10">handleVideoOfferMsg()</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" d="M540 504h206.1"/><text transform="translate(585.5 501.56)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x=".449" y="11">Message: </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="11">"video-offer"</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" d="M756 761l-206.103-4.771"/><text transform="rotate(1.326 -32309.396 25547.84)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x=".449" y="11">Message: </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="11">"video-answer"</tspan></text><path d="M594.773 1058.8c-23.273-5.8-13.992-54.632 23.134-46.3 3.444-16.242 46.617-13.606 46.335 0 27.07-17.402 61.665 17.297 38.46 34.7 27.845 8.436-.35 53.893-23.202 46.3-1.829 12.657-42.68 17.086-46.266 0-23.132 18.247-71.366-9.809-38.46-34.7z" fill="#887ee3"/><path d="M594.773 1058.8c-23.273-5.8-13.992-54.632 23.134-46.3 3.444-16.242 46.617-13.606 46.335 0 27.07-17.402 61.665 17.297 38.46 34.7 27.845 8.436-.35 53.893-23.202 46.3-1.829 12.657-42.68 17.086-46.266 0-23.132 18.247-71.366-9.809-38.46-34.7z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text transform="translate(602.6 1032)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.94" y="11">ICE layer starts </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x=".346" y="25">sending candidates </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="23.83" y="39">to Naomi</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M756 1009l-37.442 37.038"/><path fill="#d2ffff" d="M36 765h144v188H36z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M36 765h144v188H36z"/><text transform="translate(41 770)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="11">1. Create an </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="24">RTCSessionDescriptio</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="37">n</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="37"> using the received SDP </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="51">answer</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="65">2. Pass the session </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="79">description to </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="92">RTCPeerConnection.se</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="105">tRemoteDescription()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="105"> </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="119">to configure Naomi’s </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="133">WebRTC layer to know </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="147">how Priya’s end of the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="161">connection is configured</tspan></text><path fill="#fff6d2" d="M36 747h144v18H36z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M36 747h144v18H36z"/><text transform="translate(41 750)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="400" x=".989" y="10">handleVideoAnswerMsg()</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" d="M396 756H189.9"/><text transform="translate(224 753.56)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x=".199" y="11">Message: </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="11">"video-answer</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="11">"</tspan></text><path fill="#d2ffff" d="M396 513h144v66H396z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M396 513h144v66H396z"/><text transform="translate(401 518)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="0" y="11">Receive</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="11"> "video-offer" </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="0" y="25">message and forward it to </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="0" y="39">Priya</tspan></text><path fill="#fff6d2" d="M396 495h144v18H396z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M396 495h144v18H396z"/><text transform="translate(401 498)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="400" x="30.994" y="10">on.message()</tspan></text><path fill="#d2ffff" d="M396 765h144v66H396z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M396 765h144v66H396z"/><text transform="translate(401 770)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="0" y="11">Receive </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="11">"video-answer"</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="11"> </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="0" y="25">message and forward it to </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="0" y="39">Naomi</tspan></text><path fill="#fff6d2" d="M396 747h144v18H396z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M396 747h144v18H396z"/><text transform="translate(401 750)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="400" x="30.994" y="10">on.message()</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1.0,4.0" d="M288 303.202L187.423 391.95"/><text transform="rotate(-41.425 606.24 -55.815)" fill="#000"><tspan font-family="Helvetica Neue" font-size="10" font-weight="400" x=".117" y="10">Event: </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="10">negotiationneeded</tspan></text><path d="M234.773 257.8c-23.273-5.8-13.992-54.632 23.134-46.3 3.444-16.242 46.617-13.606 46.335 0 27.07-17.402 61.665 17.297 38.46 34.7 27.845 8.436-.35 53.893-23.202 46.3-1.829 12.657-42.68 17.086-46.266 0-23.132 18.247-71.366-9.809-38.46-34.7z" fill="#71dcba"/><path d="M234.773 257.8c-23.273-5.8-13.992-54.632 23.134-46.3 3.444-16.242 46.617-13.606 46.335 0 27.07-17.402 61.665 17.297 38.46 34.7 27.845 8.436-.35 53.893-23.202 46.3-1.829 12.657-42.68 17.086-46.266 0-23.132 18.247-71.366-9.809-38.46-34.7z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text transform="translate(242.6 231)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x=".517" y="11">Ready to negotiate, </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="2.048" y="25">so ask the caller to </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="13.503" y="39">start doing so</tspan></text></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="17.5 8.5 901 1117" width="901" height="1117"><defs><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="a" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#000"><path d="M8 0L0-3v6z" fill="currentColor" stroke="currentColor"/></marker></defs><g fill="none"><path fill="#887ee3" fill-opacity=".5" d="M18 81.165h360V1125H18z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M18 81.165h360V1125H18z"/><path fill="#71dcba" fill-opacity=".5" d="M558 81.165h360V1125H558z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M558 81.165h360V1125H558z"/><path fill="#cb965c" fill-opacity=".5" d="M378 81.165h180V1125H378z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M378 81.165h180V1125H378z"/><path fill="#71dcba" fill-opacity=".5" d="M558 9h360v72.165H558z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M558 9h360v72.165H558z"/><text transform="translate(563 31.583)" fill="#000"><tspan font-family="Open Sans" font-size="20" font-weight="700" x="109.692" y="21">Priya (Callee)</tspan></text><path fill="#cb965c" fill-opacity=".5" d="M378 9h180v72.165H378z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M378 9h180v72.165H378z"/><text transform="translate(383 31.583)" fill="#000"><tspan font-family="Open Sans" font-size="20" font-weight="700" x="5.161" y="21">Signaling Server</tspan></text><path fill="#887ee3" fill-opacity=".5" d="M18 9h360v72.165H18z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M18 9h360v72.165H18z"/><text transform="translate(23 31.583)" fill="#000"><tspan font-family="Open Sans" font-size="20" font-weight="700" x="103.428" y="21">Naomi (Caller)</tspan></text><path fill="#fff" fill-opacity=".503" d="M558 108h180v1017H558z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M558 108h180v1017H558zM18 81h180v27H18z"/><text transform="translate(23 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="600" x="50.664" y="17">Web App</tspan></text><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M558 81h180v27H558z"/><text transform="translate(563 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="600" x="34.137" y="17">Web Browser</tspan></text><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M738 81h180v27H738z"/><text transform="translate(743 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="600" x="50.664" y="17">Web App</tspan></text><path fill="#d2ffff" d="M36 144h144v180H36z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M36 144h144v180H36z"/><text transform="translate(41 149)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="11">1. Create an </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="24">RTCPeerConnection</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="37">2. Call </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="37">getUserMedia()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="37"> to </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="51">access the webcam and </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="65">microphone</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="79">3. Promise fulfilled: add the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="93">local stream's tracks by </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="107">calling </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="120">RTCPeerConnection.ad</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="132">dTrack()</tspan></text><path fill="#fff6d2" d="M36 126h144v18H36z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M36 126h144v18H36z"/><text transform="translate(41 129)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="400" x="42.996" y="10">invite()</tspan></text><path fill="#fff" fill-opacity=".503" d="M198 108h180v1017H198z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M198 108h180v1017H198zm0-27h180v27H198z"/><text transform="translate(203 86)" fill="#000"><tspan font-family="Open Sans" font-size="16" font-weight="600" x="34.137" y="17">Web Browser</tspan></text><path fill="#d2ffff" d="M36 398.5h144v210H36z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M36 398.5h144v210H36z"/><text transform="translate(41 403.5)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="11">1. Create an SDP offer by </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="25">calling </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="38">RTCPeerConnection.cr</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="50">eateOffer()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="63">3. Promise fulfilled: set the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="77">description of Naomi's </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="91">end of the call by calling </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="104">RTCPeerConnection.se</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="116">tLocalDescription()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="129">4. Promise fulfilled: send the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="143">offer through the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="157">signaling server to Priya in </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="171">a message of type </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="184">"video-offer"</tspan></text><path fill="#fff6d2" d="M36 380.5h144v18H36z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M36 380.5h144v18H36z"/><text transform="translate(41 385.5)" fill="#000"><tspan font-family="Courier" font-size="7" font-weight="400" x="3.99" y="6">handleNegotiationNeededEvent()</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" d="M180 503.5l206.1.477"/><text transform="rotate(.133 -216390.778 97669.229)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x=".449" y="11">Message: </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="11">"video-offer"</tspan></text><path d="M234.773 689.8c-23.273-5.8-13.992-54.632 23.134-46.3 3.444-16.242 46.617-13.606 46.335 0 27.07-17.402 61.665 17.297 38.46 34.7 27.845 8.436-.35 53.893-23.202 46.3-1.829 12.657-42.68 17.086-46.266 0-23.132 18.247-71.366-9.809-38.46-34.7z" fill="#71dcba"/><path d="M234.773 689.8c-23.273-5.8-13.992-54.632 23.134-46.3 3.444-16.242 46.617-13.606 46.335 0 27.07-17.402 61.665 17.297 38.46 34.7 27.845 8.436-.35 53.893-23.202 46.3-1.829 12.657-42.68 17.086-46.266 0-23.132 18.247-71.366-9.809-38.46-34.7z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text transform="translate(242.6 663)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.94" y="11">ICE layer starts </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x=".346" y="25">sending candidates </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="27.7" y="39">to Priya</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M108 608.5l119.276 34.352"/><path fill="#d2ffff" d="M756 513h144v496H756z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M756 513h144v496H756z"/><text transform="translate(761 518)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="11">1. Create an </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="24">RTCPeerConnection</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="37">2. Create an </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="50">RTCSessionDescriptio</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="63">n</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="63"> using the received SDP </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="77">offer</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="91">3. Call </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="104">RTCPeerConnection.se</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="117">tRemoteDescription()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="117"> </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="131">to tell WebRTC about </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="145">Naomi's configuration.</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="159">4. Call </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="159">getUserMedia()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="159"> to </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="173">access the webcam and </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="187">microphone</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="201">5. Promise fulfilled: add the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="215">local stream's tracks by </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="229">calling </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="242">RTCPeerConnection.ad</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="254">dTrack()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="267">6. Promise fulfilled: call </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="280">RTCPeerConnection.cr</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="293">eateAnswer()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="293"> to create </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="307">an SDP answer to send to </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="321">Naomi</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="335">7. Promise fulfilled: </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="349">configure Priya's end of </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="363">the connection by match </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="377">the generated answer by </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="391">calling </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="404">RTCPeerConnection.se</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="416">tLocalDescription()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="429">8. Promise fulfilled: send the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="443">SDP answer through the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="457">signaling server to Naomi </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="471">in a message of type </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="484">"video-answer"</tspan></text><path fill="#fff6d2" d="M756 495h144v18H756z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M756 495h144v18H756z"/><text transform="translate(761 498)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="400" x="3.99" y="10">handleVideoOfferMsg()</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" d="M540 504h206.1"/><text transform="translate(585.5 501.56)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x=".449" y="11">Message: </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="11">"video-offer"</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" d="M756 761l-206.103-4.771"/><text transform="rotate(1.326 -32309.396 25547.84)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x=".449" y="11">Message: </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="11">"video-answer"</tspan></text><path d="M594.773 1058.8c-23.273-5.8-13.992-54.632 23.134-46.3 3.444-16.242 46.617-13.606 46.335 0 27.07-17.402 61.665 17.297 38.46 34.7 27.845 8.436-.35 53.893-23.202 46.3-1.829 12.657-42.68 17.086-46.266 0-23.132 18.247-71.366-9.809-38.46-34.7z" fill="#887ee3"/><path d="M594.773 1058.8c-23.273-5.8-13.992-54.632 23.134-46.3 3.444-16.242 46.617-13.606 46.335 0 27.07-17.402 61.665 17.297 38.46 34.7 27.845 8.436-.35 53.893-23.202 46.3-1.829 12.657-42.68 17.086-46.266 0-23.132 18.247-71.366-9.809-38.46-34.7z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text transform="translate(602.6 1032)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.94" y="11">ICE layer starts </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x=".346" y="25">sending candidates </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="23.83" y="39">to Naomi</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M756 1009l-37.442 37.038"/><path fill="#d2ffff" d="M36 765h144v188H36z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M36 765h144v188H36z"/><text transform="translate(41 770)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="11">1. Create an </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="24">RTCSessionDescriptio</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="37">n</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="37"> using the received SDP </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="51">answer</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="1" y="65">2. Pass the session </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="79">description to </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="92">RTCPeerConnection.se</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" x="10.95" y="105">tRemoteDescription()</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="105"> </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="119">to configure Naomi's </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="133">WebRTC layer to know </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="147">how Priya's end of the </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="10.95" y="161">connection is configured</tspan></text><path fill="#fff6d2" d="M36 747h144v18H36z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M36 747h144v18H36z"/><text transform="translate(41 750)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="400" x=".989" y="10">handleVideoAnswerMsg()</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" d="M396 756H189.9"/><text transform="translate(224 753.56)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x=".199" y="11">Message: </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="11">"video-answer</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="11">"</tspan></text><path fill="#d2ffff" d="M396 513h144v66H396z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M396 513h144v66H396z"/><text transform="translate(401 518)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="0" y="11">Receive</tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="11"> "video-offer" </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="0" y="25">message and forward it to </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="0" y="39">Priya</tspan></text><path fill="#fff6d2" d="M396 495h144v18H396z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M396 495h144v18H396z"/><text transform="translate(401 498)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="400" x="30.994" y="10">on.message()</tspan></text><path fill="#d2ffff" d="M396 765h144v66H396z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M396 765h144v66H396z"/><text transform="translate(401 770)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x="0" y="11">Receive </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="11">"video-answer"</tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" y="11"> </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="0" y="25">message and forward it to </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="0" y="39">Naomi</tspan></text><path fill="#fff6d2" d="M396 747h144v18H396z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M396 747h144v18H396z"/><text transform="translate(401 750)" fill="#000"><tspan font-family="Courier" font-size="10" font-weight="400" x="30.994" y="10">on.message()</tspan></text><path marker-end="url(#a)" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1.0,4.0" d="M288 303.202L187.423 391.95"/><text transform="rotate(-41.425 606.24 -55.815)" fill="#000"><tspan font-family="Helvetica Neue" font-size="10" font-weight="400" x=".117" y="10">Event: </tspan> <tspan font-family="Courier" font-size="10" font-weight="400" y="10">negotiationneeded</tspan></text><path d="M234.773 257.8c-23.273-5.8-13.992-54.632 23.134-46.3 3.444-16.242 46.617-13.606 46.335 0 27.07-17.402 61.665 17.297 38.46 34.7 27.845 8.436-.35 53.893-23.202 46.3-1.829 12.657-42.68 17.086-46.266 0-23.132 18.247-71.366-9.809-38.46-34.7z" fill="#71dcba"/><path d="M234.773 257.8c-23.273-5.8-13.992-54.632 23.134-46.3 3.444-16.242 46.617-13.606 46.335 0 27.07-17.402 61.665 17.297 38.46 34.7 27.845 8.436-.35 53.893-23.202 46.3-1.829 12.657-42.68 17.086-46.266 0-23.132 18.247-71.366-9.809-38.46-34.7z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text transform="translate(242.6 231)" fill="#000"><tspan font-family="Open Sans" font-size="10" font-weight="400" x=".517" y="11">Ready to negotiate, </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="2.048" y="25">so ask the caller to </tspan> <tspan font-family="Open Sans" font-size="10" font-weight="400" x="13.503" y="39">start doing so</tspan></text></g></svg>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think svg files should be touched.

@@ -8,7 +8,7 @@ Unicode is a standard {{Glossary("Character set","character set")}} that numbers

By assigning each character a number, programmers can create {{Glossary("Character encoding","character encodings")}}, to let computers store, process, and transmit any combination of languages in the same file or program.

Before Unicode, it was difficult and error-prone to mix languages in the same data. For example, one character set would store Japanese characters, and another would store the Arabic alphabet. If it was not clearly marked which parts of the data were in which character set, other programs and computers would display the text incorrectly, or damage it during processing. If you've ever seen text where characters like curly quotes (`“”`) were replaced with gibberish like `£`, then you've seen this problem, known as {{Interwiki("wikipedia", "Mojibake")}}.
Before Unicode, it was difficult and error-prone to mix languages in the same data. For example, one character set would store Japanese characters, and another would store the Arabic alphabet. If it was not clearly marked which parts of the data were in which character set, other programs and computers would display the text incorrectly, or damage it during processing. If you've ever seen text where characters like curly quotes (`""`) were replaced with gibberish like `£`, then you've seen this problem, known as {{Interwiki("wikipedia", "Mojibake")}}.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These ones have to stay :-)

@@ -238,13 +238,13 @@ blockquote::after {
}

blockquote::before {
content: '“';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one has to be kept.

top : 0.3rem;
left : 0.9rem;
}

blockquote::after {
content: '';
content: '"';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one has to be kept.

@@ -513,7 +513,7 @@ There are a couple of reasons for this.
2. If curly quotes or apostrophes make their way into code snippets—even inline ones—readers may copy and paste them, expecting them to function (which they will not).

- **Correct**: Please don't use "curly quotes."
- **Incorrect**: Please don't use curly quotes.
- **Incorrect**: Please don't use "curly quotes."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one has to be kept!

@@ -102,7 +102,7 @@ This example illustrates the effect of `::first-letter` on special punctuation a
<p>#The beginning of a special punctuation mark.</p>
<p>「特殊的汉字标点符号开头。</p>
<p>《特殊的汉字标点符号开头。</p>
<p>特殊的汉字标点符号开头。</p>
<p>"特殊的汉字标点符号开头。</p>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one was legit.

@teoli2003 teoli2003 merged commit 4264855 into mdn:main Feb 18, 2022
@queengooborg queengooborg deleted the format/double-quotes branch February 18, 2022 11:40
@ddbeck ddbeck removed Content:Learn:Express Learning area Express docs Content:Learn:Django Learning area Django docs labels Mar 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Content:Accessibility Accessibility docs Content:CSS Cascading Style Sheets docs Content:DevTools Firefox DevTools docs (retired) Content:Glossary Glossary entries Content:HTML Hypertext Markup Language docs Content:HTTP HTTP docs Content:JS JavaScript docs Content:Learn Learning area docs Content:MathML MathML docs Content:Other Any docs not covered by another "Content:" label Content:wasm WebAssembly docs Content:WebAPI Web API docs Content:WebExt WebExtensions docs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants