diff options
Diffstat (limited to 'chromium/third_party/blink')
7 files changed, 26 insertions, 15 deletions
diff --git a/chromium/third_party/blink/public/strings/translations/blink_accessibility_strings_de.xtb b/chromium/third_party/blink/public/strings/translations/blink_accessibility_strings_de.xtb index f2539e770a9..91e735c6801 100644 --- a/chromium/third_party/blink/public/strings/translations/blink_accessibility_strings_de.xtb +++ b/chromium/third_party/blink/public/strings/translations/blink_accessibility_strings_de.xtb @@ -33,7 +33,7 @@ <translation id="3904695548697879411">Twitter-Symbol</translation> <translation id="405782047075994056">Symbol für Linkspfeil, kann „Zurück“ bedeuten</translation> <translation id="4302299849305494927">Lautsprechersymbol, kann „Lautstärke“ bedeuten</translation> -<translation id="4363712632243441817">Streamingsymbol, kann bedeuten, ein Video auf einen Remote-Bildschirm zu übertragen</translation> +<translation id="4363712632243441817">Cast-Symbol, kann bedeuten, ein Video auf einen Remote-Bildschirm zu übertragen</translation> <translation id="4384249794467006333">Dieses Bild hat kein Label. Öffne oben rechts das Menü „Weitere Optionen“, um Bildbeschreibungen zu verwenden.</translation> <translation id="4436211924730548766">Symbol für v-förmigen Pfeil nach links</translation> <translation id="4444765639179266822">Es sieht aus wie: <ph name="OCR_TEXT" /></translation> diff --git a/chromium/third_party/blink/public/strings/translations/blink_accessibility_strings_ky.xtb b/chromium/third_party/blink/public/strings/translations/blink_accessibility_strings_ky.xtb index 35c1d822917..fcf760952ad 100644 --- a/chromium/third_party/blink/public/strings/translations/blink_accessibility_strings_ky.xtb +++ b/chromium/third_party/blink/public/strings/translations/blink_accessibility_strings_ky.xtb @@ -56,7 +56,7 @@ <translation id="5838904342468928321">Булут сүрөтчөсү</translation> <translation id="6054619856758804514">Таштанды кутусунун сүрөтчөсү, Жок кылуу маанисинде колдонулушу мүмкүн</translation> <translation id="6054638203631275602">Бактылуу жүз сүрөтчөсү</translation> -<translation id="608465159662359598">Тиштүү дөңгөлөктүн же ачкычтын сүрөтчөсү, Жөндөөлөр маанисинде колдонулушу мүмкүн</translation> +<translation id="608465159662359598">Тиштүү дөңгөлөктүн же ачкычтын сүрөтчөсү, Параметрлер маанисинде колдонулушу мүмкүн</translation> <translation id="6209276755895393898">Төмөнкү болуп чыкты: <ph name="DESCRIPTION" /></translation> <translation id="6240633443440794881">Конверттин сүрөтчөсү, Почта маанисинде колдонулушу мүмкүн</translation> <translation id="6247212328664111379">Адамдын сүрөтчөсү</translation> diff --git a/chromium/third_party/blink/public/strings/translations/blink_strings_bs.xtb b/chromium/third_party/blink/public/strings/translations/blink_strings_bs.xtb index 33036994be7..19d47c32fac 100644 --- a/chromium/third_party/blink/public/strings/translations/blink_strings_bs.xtb +++ b/chromium/third_party/blink/public/strings/translations/blink_strings_bs.xtb @@ -83,13 +83,13 @@ <translation id="5196716972587102051">2</translation> <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation> <translation id="5272594226096532950">Neoznačeno. <ph name="INDEX" />. opcija od <ph name="COUNT" /> u grupi</translation> -<translation id="5307600278924710095">Unesite dio adrese ispred znaka "<ph name="ATSIGN" />". "<ph name="INVALIDADDRESS" />" nije potpuna e-adresa.</translation> +<translation id="5307600278924710095">Unesite dio ispred znaka "<ph name="ATSIGN" />". Adresa "<ph name="INVALIDADDRESS" />" je nepotpuna.</translation> <translation id="5334352251556557839">Nije moguće reproducirati medijski sadržaj.</translation> <translation id="537648784377940524">Najraniji datum (<ph name="MIN_DATE_OR_TIME" />) mora doći prije najkasnijeg datuma (<ph name="MAX_DATE_OR_TIME" />).</translation> <translation id="5378437566635403538">prošireno, dijaloški okvir je otvoren.</translation> <translation id="5425179576310518467">trenutni datum</translation> <translation id="5466621249238537318">Odaberite jedan ili više fajlova.</translation> -<translation id="5468998798572797635">izlazak iz cijelog zaslona</translation> +<translation id="5468998798572797635">napusti prikaz preko cijelog ekrana</translation> <translation id="5516235301412634559">0,75</translation> <translation id="5537725057119320332">Emitiraj</translation> <translation id="5546461542133609677">uključi zvuk</translation> @@ -102,7 +102,7 @@ <translation id="588258955323874662">Cijeli ekran</translation> <translation id="5888666972993069672">Sada se emitira na uređaj <ph name="DEVICE_FRIENDLY_NAME" /></translation> <translation id="5916664084637901428">Uključeno</translation> -<translation id="5939518447894949180">Ponovno postavi</translation> +<translation id="5939518447894949180">Vrati na zadano</translation> <translation id="5966707198760109579">Sedmica</translation> <translation id="5985507339671257014">0,5</translation> <translation id="6011459053400940133">klizač za jačinu zvuka</translation> @@ -131,7 +131,7 @@ <translation id="6941933287844615239">preuzmi medije</translation> <translation id="698788488269350478">prošireno.</translation> <translation id="6989848892321993519">Produžite ovaj tekst tako da broj znakova bude najmanje <ph name="MIN_CHARACTERS" /> (trenutno koristite 1 znak).</translation> -<translation id="709897737746224366">Udovoljite zadanom formatu.</translation> +<translation id="709897737746224366">Prilagodite da se podudara s traženim formatom.</translation> <translation id="7102274145889307184">trenutna lokacija</translation> <translation id="7263440858009898357">Odaberite stavku s liste.</translation> <translation id="7320576522385648310">učitavanje u međumemoriju</translation> diff --git a/chromium/third_party/blink/public/strings/translations/blink_strings_da.xtb b/chromium/third_party/blink/public/strings/translations/blink_strings_da.xtb index 437e1df2cec..08be7edb33d 100644 --- a/chromium/third_party/blink/public/strings/translations/blink_strings_da.xtb +++ b/chromium/third_party/blink/public/strings/translations/blink_strings_da.xtb @@ -132,7 +132,7 @@ <translation id="698788488269350478">udvidet.</translation> <translation id="6989848892321993519">Forlæng denne tekst til <ph name="MIN_CHARACTERS" /> eller flere tegn (du bruger i øjeblikket ét tegn).</translation> <translation id="709897737746224366">Find et match til det anmodede format.</translation> -<translation id="7102274145889307184">aktuel placering</translation> +<translation id="7102274145889307184">aktuel lokation</translation> <translation id="7263440858009898357">Vælg et punkt på listen.</translation> <translation id="7320576522385648310">gemmer i buffer</translation> <translation id="7341556277900466204">Farvevælger</translation> diff --git a/chromium/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc b/chromium/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc index b7f66c8b22a..e951bf3faa3 100644 --- a/chromium/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc +++ b/chromium/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc @@ -643,10 +643,11 @@ RTCPeerConnection::~RTCPeerConnection() { } void RTCPeerConnection::Dispose() { - // Promptly clears the handler's pointer to |this| + // Promptly clears the handler // so that content/ doesn't access it in a lazy sweeping phase. + // Other references to the handler use a weak pointer, preventing access. if (peer_handler_) { - peer_handler_->CloseAndUnregister(); + peer_handler_.reset(); } } diff --git a/chromium/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc b/chromium/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc index 58168b98601..9f52fca8f30 100644 --- a/chromium/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc +++ b/chromium/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc @@ -713,6 +713,8 @@ class RTCPeerConnectionHandler::WebRtcSetDescriptionObserverImpl if (handler_) { handler_->OnModifySctpTransport(std::move(states.sctp_transport_state)); } + // Since OnSessionDescriptionsUpdated can fire events, it may cause + // garbage collection. Ensure that handler_ is still valid. if (handler_) { handler_->OnModifyTransceivers( states.signaling_state, std::move(states.transceiver_states), @@ -1066,6 +1068,8 @@ bool RTCPeerConnectionHandler::Initialize( CHECK(!initialize_called_); initialize_called_ = true; + // Prevent garbage collection of client_ during processing. + auto* client_on_stack = client_; peer_connection_tracker_ = PeerConnectionTracker::From(*frame); configuration_ = server_configuration; @@ -1104,8 +1108,8 @@ bool RTCPeerConnectionHandler::Initialize( peer_connection_tracker_->RegisterPeerConnection(this, configuration_, frame_); } - - return true; + // Gratuitous usage of client_on_stack to prevent compiler errors. + return !!client_on_stack; } bool RTCPeerConnectionHandler::InitializeForTest( @@ -2066,9 +2070,11 @@ void RTCPeerConnectionHandler::OnSessionDescriptionsUpdated( pending_remote_description, std::unique_ptr<webrtc::SessionDescriptionInterface> current_remote_description) { + // Prevent garbage collection of client_ during processing. + auto* client_on_stack = client_; if (!client_ || is_closed_) return; - client_->DidChangeSessionDescriptions( + client_on_stack->DidChangeSessionDescriptions( pending_local_description ? CreateWebKitSessionDescription(pending_local_description.get()) : nullptr, @@ -2294,8 +2300,12 @@ void RTCPeerConnectionHandler::OnIceCandidate(const String& sdp, int sdp_mline_index, int component, int address_family) { + // In order to ensure that the RTCPeerConnection is not garbage collected + // from under the function, we keep a pointer to it on the stack. + auto* client_on_stack = client_; DCHECK(task_runner_->RunsTasksInCurrentSequence()); TRACE_EVENT0("webrtc", "RTCPeerConnectionHandler::OnIceCandidateImpl"); + // This line can cause garbage collection. auto* platform_candidate = MakeGarbageCollected<RTCIceCandidatePlatform>( sdp, sdp_mid, sdp_mline_index); if (peer_connection_tracker_) { @@ -2315,7 +2325,7 @@ void RTCPeerConnectionHandler::OnIceCandidate(const String& sdp, } } if (!is_closed_) - client_->DidGenerateICECandidate(platform_candidate); + client_on_stack->DidGenerateICECandidate(platform_candidate); } void RTCPeerConnectionHandler::OnIceCandidateError( @@ -2327,7 +2337,6 @@ void RTCPeerConnectionHandler::OnIceCandidateError( const String& error_text) { DCHECK(task_runner_->RunsTasksInCurrentSequence()); TRACE_EVENT0("webrtc", "RTCPeerConnectionHandler::OnIceCandidateError"); - if (peer_connection_tracker_) { peer_connection_tracker_->TrackIceCandidateError( this, address, port, host_candidate, url, error_code, error_text); diff --git a/chromium/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc b/chromium/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc index 72f98ac40a6..c66d232a655 100644 --- a/chromium/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc +++ b/chromium/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc @@ -2610,7 +2610,8 @@ ServiceWorkerGlobalScope::FetchHandlerType() { EventTarget* et = EventTarget::Create(ScriptController()->GetScriptState()); v8::Local<v8::Value> v = To<JSBasedEventListener>(e.Callback())->GetEffectiveFunction(*et); - if (!v.As<v8::Function>()->Experimental_IsNopFunction()) { + if (!v->IsFunction() || + !v.As<v8::Function>()->Experimental_IsNopFunction()) { return mojom::blink::ServiceWorkerFetchHandlerType::kNotSkippable; } } |