summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink')
-rw-r--r--chromium/third_party/blink/public/strings/translations/blink_accessibility_strings_de.xtb2
-rw-r--r--chromium/third_party/blink/public/strings/translations/blink_accessibility_strings_ky.xtb2
-rw-r--r--chromium/third_party/blink/public/strings/translations/blink_strings_bs.xtb8
-rw-r--r--chromium/third_party/blink/public/strings/translations/blink_strings_da.xtb2
-rw-r--r--chromium/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc5
-rw-r--r--chromium/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc19
-rw-r--r--chromium/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc3
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;
}
}