diff --git a/third_party/blink/renderer/core/events/event_type_names.json5 b/third_party/blink/renderer/core/events/event_type_names.json5 index ce539efd0b9e32..ef4697ad80708d 100644 --- a/third_party/blink/renderer/core/events/event_type_names.json5 +++ b/third_party/blink/renderer/core/events/event_type_names.json5 @@ -233,6 +233,7 @@ "quotachange", "ratechange", "reading", + "readingerror", "readystatechange", "reflectionchange", "rejectionhandled", diff --git a/third_party/blink/renderer/modules/nfc/ndef_reader.cc b/third_party/blink/renderer/modules/nfc/ndef_reader.cc index 82d73c042325b1..da91ed882a342d 100644 --- a/third_party/blink/renderer/modules/nfc/ndef_reader.cc +++ b/third_party/blink/renderer/modules/nfc/ndef_reader.cc @@ -8,13 +8,12 @@ #include "services/device/public/mojom/nfc.mojom-blink.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" -#include "third_party/blink/renderer/bindings/core/v8/source_location.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_ndef_scan_options.h" #include "third_party/blink/renderer/core/dom/abort_signal.h" #include "third_party/blink/renderer/core/dom/dom_exception.h" -#include "third_party/blink/renderer/core/events/error_event.h" #include "third_party/blink/renderer/core/frame/local_dom_window.h" #include "third_party/blink/renderer/core/frame/local_frame.h" +#include "third_party/blink/renderer/core/inspector/console_message.h" #include "third_party/blink/renderer/modules/event_target_modules.h" #include "third_party/blink/renderer/modules/nfc/ndef_message.h" #include "third_party/blink/renderer/modules/nfc/ndef_reading_event.h" @@ -198,10 +197,11 @@ void NDEFReader::OnReading(const String& serial_number, MakeGarbageCollected(message))); } -void NDEFReader::OnError(const String& message) { - ErrorEvent* event = ErrorEvent::Create( - message, SourceLocation::Capture(GetExecutionContext()), nullptr); - DispatchEvent(*event); +void NDEFReader::OnReadingError(const String& message) { + DispatchEvent(*Event::Create(event_type_names::kReadingerror)); + GetExecutionContext()->AddConsoleMessage(MakeGarbageCollected( + mojom::blink::ConsoleMessageSource::kJavaScript, + mojom::blink::ConsoleMessageLevel::kInfo, message)); } void NDEFReader::OnMojoConnectionError() { @@ -212,9 +212,6 @@ void NDEFReader::OnMojoConnectionError() { kNotSupportedOrPermissionDenied)); resolver_.Clear(); } - - // Dispatches an error event. - OnError(kNotSupportedOrPermissionDenied); } void NDEFReader::ContextDestroyed() { diff --git a/third_party/blink/renderer/modules/nfc/ndef_reader.h b/third_party/blink/renderer/modules/nfc/ndef_reader.h index ee1a93d9d4dbc6..cf3edc5126f52c 100644 --- a/third_party/blink/renderer/modules/nfc/ndef_reader.h +++ b/third_party/blink/renderer/modules/nfc/ndef_reader.h @@ -41,8 +41,8 @@ class MODULES_EXPORT NDEFReader : public EventTargetWithInlineData, // ActiveScriptWrappable overrides. bool HasPendingActivity() const override; - DEFINE_ATTRIBUTE_EVENT_LISTENER(error, kError) DEFINE_ATTRIBUTE_EVENT_LISTENER(reading, kReading) + DEFINE_ATTRIBUTE_EVENT_LISTENER(readingerror, kReadingerror) ScriptPromise scan(ScriptState*, const NDEFScanOptions*, ExceptionState&); void Trace(Visitor*) const override; @@ -50,7 +50,7 @@ class MODULES_EXPORT NDEFReader : public EventTargetWithInlineData, // Called by NFCProxy for dispatching events. virtual void OnReading(const String& serial_number, const device::mojom::blink::NDEFMessage&); - virtual void OnError(const String& message); + virtual void OnReadingError(const String& message); // Called by NFCProxy for notification about connection error. void OnMojoConnectionError(); diff --git a/third_party/blink/renderer/modules/nfc/ndef_reader.idl b/third_party/blink/renderer/modules/nfc/ndef_reader.idl index 280ebf5ac6ec4c..2359a7a20701a4 100644 --- a/third_party/blink/renderer/modules/nfc/ndef_reader.idl +++ b/third_party/blink/renderer/modules/nfc/ndef_reader.idl @@ -12,7 +12,7 @@ ] interface NDEFReader : EventTarget { [CallWith=ExecutionContext] constructor(); attribute EventHandler onreading; - attribute EventHandler onerror; + attribute EventHandler onreadingerror; [CallWith=ScriptState, RaisesException] Promise scan( optional NDEFScanOptions options={}); diff --git a/third_party/blink/renderer/modules/nfc/nfc_proxy.cc b/third_party/blink/renderer/modules/nfc/nfc_proxy.cc index 2cf4c852dc3e7d..fb380ee6b5645f 100644 --- a/third_party/blink/renderer/modules/nfc/nfc_proxy.cc +++ b/third_party/blink/renderer/modules/nfc/nfc_proxy.cc @@ -115,11 +115,11 @@ void NFCProxy::OnWatch(const Vector& watch_ids, void NFCProxy::OnError(device::mojom::blink::NDEFErrorPtr error) { // Dispatch the event to all readers. We iterate on a copy of |readers_| - // because a reader's onerror event handler may remove itself from |readers_| - // just during the iteration process. + // because a reader's onreadingerror event handler may remove itself from + // |readers_| just during the iteration process. ReaderMap copy = readers_; for (auto& pair : copy) { - pair.key->OnError(error->error_message); + pair.key->OnReadingError(error->error_message); } } diff --git a/third_party/blink/web_tests/NeverFixTests b/third_party/blink/web_tests/NeverFixTests index ea8e9cb03f001d..71cc2afec0dc28 100644 --- a/third_party/blink/web_tests/NeverFixTests +++ b/third_party/blink/web_tests/NeverFixTests @@ -1855,6 +1855,8 @@ external/wpt/visual-viewport/viewport-scale-manual.html [ Skip ] external/wpt/visual-viewport/viewport-scroll-event-manual.html [ Skip ] external/wpt/visual-viewport/viewport-url-bar-changes-height-manual.html [ Skip ] external/wpt/screen-wake-lock/wakelock-document-hidden-manual.https.html [ Skip ] +external/wpt/web-nfc/NDEFReader-document-hidden-manual.https.html [ Skip ] +external/wpt/web-nfc/NDEFWriter-document-hidden-manual.https.html [ Skip ] external/wpt/web-share/share-cancel-manual.https.html [ Skip ] external/wpt/web-share/share-extra-argument-manual.https.html [ Skip ] external/wpt/web-share/share-extra-field-manual.https.html [ Skip ] diff --git a/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl b/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl index 14df65c6cecc75..bdf0324d96d692 100644 --- a/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl +++ b/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl @@ -55,8 +55,8 @@ interface NDEFWriter { interface NDEFReader : EventTarget { constructor(); - attribute EventHandler onerror; attribute EventHandler onreading; + attribute EventHandler onreadingerror; Promise scan(optional NDEFScanOptions options={}); }; diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFReader-document-hidden-manual.https-expected.txt b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFReader-document-hidden-manual.https-expected.txt deleted file mode 100644 index e2f23777367848..00000000000000 --- a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFReader-document-hidden-manual.https-expected.txt +++ /dev/null @@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Test NDEFReader.onreading is not fired when document is hidden assert_equals: Expected reading event, but got error event instead expected "reading" but got "error" -Harness: the test ran to completion. - diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFReader-document-hidden-manual.https.html b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFReader-document-hidden-manual.https.html index f2027dc99d1dad..ffbd7ebc45618a 100644 --- a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFReader-document-hidden-manual.https.html +++ b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFReader-document-hidden-manual.https.html @@ -9,12 +9,13 @@