summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/events
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-02-13 16:23:34 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-02-14 10:37:21 +0000
commit38a9a29f4f9436cace7f0e7abf9c586057df8a4e (patch)
treec4e8c458dc595bc0ddb435708fa2229edfd00bd4 /chromium/third_party/blink/renderer/core/events
parente684a3455bcc29a6e3e66a004e352dea4e1141e7 (diff)
downloadqtwebengine-chromium-38a9a29f4f9436cace7f0e7abf9c586057df8a4e.tar.gz
BASELINE: Update Chromium to 73.0.3683.37
Change-Id: I08c9af2948b645f671e5d933aca1f7a90ea372f2 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/core/events')
-rw-r--r--chromium/third_party/blink/renderer/core/events/BUILD.gn6
-rw-r--r--chromium/third_party/blink/renderer/core/events/after_print_event.h34
-rw-r--r--chromium/third_party/blink/renderer/core/events/animation_event.h23
-rw-r--r--chromium/third_party/blink/renderer/core/events/animation_playback_event.h16
-rw-r--r--chromium/third_party/blink/renderer/core/events/application_cache_error_event.cc22
-rw-r--r--chromium/third_party/blink/renderer/core/events/application_cache_error_event.h29
-rw-r--r--chromium/third_party/blink/renderer/core/events/before_print_event.h34
-rw-r--r--chromium/third_party/blink/renderer/core/events/before_text_inserted_event.h5
-rw-r--r--chromium/third_party/blink/renderer/core/events/before_unload_event.h14
-rw-r--r--chromium/third_party/blink/renderer/core/events/clipboard_event.h10
-rw-r--r--chromium/third_party/blink/renderer/core/events/composition_event.h15
-rw-r--r--chromium/third_party/blink/renderer/core/events/composition_event.idl10
-rw-r--r--chromium/third_party/blink/renderer/core/events/error_event.idl4
-rw-r--r--chromium/third_party/blink/renderer/core/events/event_type_names.json55
-rw-r--r--chromium/third_party/blink/renderer/core/events/input_event.cc3
-rw-r--r--chromium/third_party/blink/renderer/core/events/message_event.idl16
-rw-r--r--chromium/third_party/blink/renderer/core/events/mouse_event.idl30
-rw-r--r--chromium/third_party/blink/renderer/core/events/mutation_event.idl16
-rw-r--r--chromium/third_party/blink/renderer/core/events/navigator_events.idl2
-rw-r--r--chromium/third_party/blink/renderer/core/events/overscroll_event.cc25
-rw-r--r--chromium/third_party/blink/renderer/core/events/overscroll_event.h42
-rw-r--r--chromium/third_party/blink/renderer/core/events/overscroll_event.idl13
-rw-r--r--chromium/third_party/blink/renderer/core/events/overscroll_event_init.idl10
-rw-r--r--chromium/third_party/blink/renderer/core/events/pointer_event.h4
-rw-r--r--chromium/third_party/blink/renderer/core/events/pointer_event_factory.cc40
-rw-r--r--chromium/third_party/blink/renderer/core/events/pointer_event_factory.h51
-rw-r--r--chromium/third_party/blink/renderer/core/events/portal_activate_event.cc32
-rw-r--r--chromium/third_party/blink/renderer/core/events/portal_activate_event.h35
-rw-r--r--chromium/third_party/blink/renderer/core/events/portal_activate_event.idl9
-rw-r--r--chromium/third_party/blink/renderer/core/events/text_event.idl10
-rw-r--r--chromium/third_party/blink/renderer/core/events/touch_event_test.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/events/ui_event.idl10
-rw-r--r--chromium/third_party/blink/renderer/core/events/web_input_event_conversion_test.cc85
-rw-r--r--chromium/third_party/blink/renderer/core/events/wheel_event.cc15
34 files changed, 475 insertions, 202 deletions
diff --git a/chromium/third_party/blink/renderer/core/events/BUILD.gn b/chromium/third_party/blink/renderer/core/events/BUILD.gn
index f7facc6bd6a..b6f51c73afe 100644
--- a/chromium/third_party/blink/renderer/core/events/BUILD.gn
+++ b/chromium/third_party/blink/renderer/core/events/BUILD.gn
@@ -6,12 +6,14 @@ import("//third_party/blink/renderer/core/core.gni")
blink_core_sources("events") {
sources = [
+ "after_print_event.h",
"animation_event.cc",
"animation_event.h",
"animation_playback_event.cc",
"animation_playback_event.h",
"application_cache_error_event.cc",
"application_cache_error_event.h",
+ "before_print_event.h",
"before_text_inserted_event.cc",
"before_text_inserted_event.h",
"before_unload_event.cc",
@@ -46,6 +48,8 @@ blink_core_sources("events") {
"mutation_event.h",
"navigator_events.cc",
"navigator_events.h",
+ "overscroll_event.cc",
+ "overscroll_event.h",
"page_transition_event.cc",
"page_transition_event.h",
"picture_in_picture_control_event.cc",
@@ -56,6 +60,8 @@ blink_core_sources("events") {
"pointer_event_factory.h",
"pop_state_event.cc",
"pop_state_event.h",
+ "portal_activate_event.cc",
+ "portal_activate_event.h",
"progress_event.cc",
"progress_event.h",
"promise_rejection_event.cc",
diff --git a/chromium/third_party/blink/renderer/core/events/after_print_event.h b/chromium/third_party/blink/renderer/core/events/after_print_event.h
new file mode 100644
index 00000000000..5fad32c6555
--- /dev/null
+++ b/chromium/third_party/blink/renderer/core/events/after_print_event.h
@@ -0,0 +1,34 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_AFTER_PRINT_EVENT_H_
+#define THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_AFTER_PRINT_EVENT_H_
+
+#include "third_party/blink/renderer/core/dom/events/event.h"
+#include "third_party/blink/renderer/core/event_type_names.h"
+
+namespace blink {
+
+class AfterPrintEvent final : public Event {
+ public:
+ static AfterPrintEvent* Create() {
+ return MakeGarbageCollected<AfterPrintEvent>();
+ }
+
+ AfterPrintEvent()
+ : Event(event_type_names::kAfterprint, Bubbles::kNo, Cancelable::kNo) {}
+ ~AfterPrintEvent() override = default;
+
+ // beforeprint/afterprint events need to be dispatched while the execution
+ // context is paused. When printing, window.print() invoked by beforeprint/
+ // afterprint event listeners should have no effect, hence the event dispatch
+ // needs to be done during the pause.
+ bool ShouldDispatchEvenWhenExecutionContextIsPaused() const override {
+ return true;
+ }
+};
+
+} // namespace blink
+
+#endif // THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_AFTER_PRINT_EVENT_H_
diff --git a/chromium/third_party/blink/renderer/core/events/animation_event.h b/chromium/third_party/blink/renderer/core/events/animation_event.h
index 199d47f182a..9f468caeccf 100644
--- a/chromium/third_party/blink/renderer/core/events/animation_event.h
+++ b/chromium/third_party/blink/renderer/core/events/animation_event.h
@@ -35,19 +35,27 @@ class AnimationEvent final : public Event {
DEFINE_WRAPPERTYPEINFO();
public:
- static AnimationEvent* Create() { return new AnimationEvent; }
+ static AnimationEvent* Create() {
+ return (MakeGarbageCollected<AnimationEvent>());
+ }
static AnimationEvent* Create(const AtomicString& type,
const String& animation_name,
double elapsed_time,
const String& pseudo_element) {
- return new AnimationEvent(type, animation_name, elapsed_time,
- pseudo_element);
+ return MakeGarbageCollected<AnimationEvent>(type, animation_name,
+ elapsed_time, pseudo_element);
}
static AnimationEvent* Create(const AtomicString& type,
const AnimationEventInit* initializer) {
- return new AnimationEvent(type, initializer);
+ return MakeGarbageCollected<AnimationEvent>(type, initializer);
}
+ AnimationEvent();
+ AnimationEvent(const AtomicString& type,
+ const String& animation_name,
+ double elapsed_time,
+ const String& pseudo_element);
+ AnimationEvent(const AtomicString&, const AnimationEventInit*);
~AnimationEvent() override;
const String& animationName() const;
@@ -59,13 +67,6 @@ class AnimationEvent final : public Event {
void Trace(blink::Visitor*) override;
private:
- AnimationEvent();
- AnimationEvent(const AtomicString& type,
- const String& animation_name,
- double elapsed_time,
- const String& pseudo_element);
- AnimationEvent(const AtomicString&, const AnimationEventInit*);
-
String animation_name_;
double elapsed_time_;
String pseudo_element_;
diff --git a/chromium/third_party/blink/renderer/core/events/animation_playback_event.h b/chromium/third_party/blink/renderer/core/events/animation_playback_event.h
index ed953d6998b..c69886eedb8 100644
--- a/chromium/third_party/blink/renderer/core/events/animation_playback_event.h
+++ b/chromium/third_party/blink/renderer/core/events/animation_playback_event.h
@@ -18,14 +18,20 @@ class AnimationPlaybackEvent final : public Event {
static AnimationPlaybackEvent* Create(const AtomicString& type,
double current_time,
double timeline_time) {
- return new AnimationPlaybackEvent(type, current_time, timeline_time);
+ return MakeGarbageCollected<AnimationPlaybackEvent>(type, current_time,
+ timeline_time);
}
static AnimationPlaybackEvent* Create(
const AtomicString& type,
const AnimationPlaybackEventInit* initializer) {
- return new AnimationPlaybackEvent(type, initializer);
+ return MakeGarbageCollected<AnimationPlaybackEvent>(type, initializer);
}
+ AnimationPlaybackEvent(const AtomicString& type,
+ double current_time,
+ double timeline_time);
+ AnimationPlaybackEvent(const AtomicString&,
+ const AnimationPlaybackEventInit*);
~AnimationPlaybackEvent() override;
double currentTime(bool& is_null) const;
@@ -36,12 +42,6 @@ class AnimationPlaybackEvent final : public Event {
void Trace(blink::Visitor*) override;
private:
- AnimationPlaybackEvent(const AtomicString& type,
- double current_time,
- double timeline_time);
- AnimationPlaybackEvent(const AtomicString&,
- const AnimationPlaybackEventInit*);
-
base::Optional<double> current_time_;
base::Optional<double> timeline_time_;
};
diff --git a/chromium/third_party/blink/renderer/core/events/application_cache_error_event.cc b/chromium/third_party/blink/renderer/core/events/application_cache_error_event.cc
index 561ed3ace45..545095351ca 100644
--- a/chromium/third_party/blink/renderer/core/events/application_cache_error_event.cc
+++ b/chromium/third_party/blink/renderer/core/events/application_cache_error_event.cc
@@ -4,12 +4,12 @@
#include "third_party/blink/renderer/core/events/application_cache_error_event.h"
+#include "third_party/blink/public/mojom/appcache/appcache.mojom-blink.h"
#include "third_party/blink/renderer/core/event_type_names.h"
namespace blink {
-static const String& ErrorReasonToString(
- WebApplicationCacheHost::ErrorReason reason) {
+static const String& ErrorReasonToString(mojom::AppCacheErrorReason reason) {
DEFINE_STATIC_LOCAL(String, error_manifest, ("manifest"));
DEFINE_STATIC_LOCAL(String, error_signature, ("signature"));
DEFINE_STATIC_LOCAL(String, error_resource, ("resource"));
@@ -20,21 +20,21 @@ static const String& ErrorReasonToString(
DEFINE_STATIC_LOCAL(String, error_unknown, ("unknown"));
switch (reason) {
- case WebApplicationCacheHost::kManifestError:
+ case mojom::AppCacheErrorReason::APPCACHE_MANIFEST_ERROR:
return error_manifest;
- case WebApplicationCacheHost::kSignatureError:
+ case mojom::AppCacheErrorReason::APPCACHE_SIGNATURE_ERROR:
return error_signature;
- case WebApplicationCacheHost::kResourceError:
+ case mojom::AppCacheErrorReason::APPCACHE_RESOURCE_ERROR:
return error_resource;
- case WebApplicationCacheHost::kChangedError:
+ case mojom::AppCacheErrorReason::APPCACHE_CHANGED_ERROR:
return error_changed;
- case WebApplicationCacheHost::kAbortError:
+ case mojom::AppCacheErrorReason::APPCACHE_ABORT_ERROR:
return error_abort;
- case WebApplicationCacheHost::kQuotaError:
+ case mojom::AppCacheErrorReason::APPCACHE_QUOTA_ERROR:
return error_quota;
- case WebApplicationCacheHost::kPolicyError:
+ case mojom::AppCacheErrorReason::APPCACHE_POLICY_ERROR:
return error_policy;
- case WebApplicationCacheHost::kUnknownError:
+ case mojom::AppCacheErrorReason::APPCACHE_UNKNOWN_ERROR:
return error_unknown;
}
NOTREACHED();
@@ -42,7 +42,7 @@ static const String& ErrorReasonToString(
}
ApplicationCacheErrorEvent::ApplicationCacheErrorEvent(
- WebApplicationCacheHost::ErrorReason reason,
+ mojom::AppCacheErrorReason reason,
const String& url,
int status,
const String& message)
diff --git a/chromium/third_party/blink/renderer/core/events/application_cache_error_event.h b/chromium/third_party/blink/renderer/core/events/application_cache_error_event.h
index c4822d2dfc1..a36022cabfc 100644
--- a/chromium/third_party/blink/renderer/core/events/application_cache_error_event.h
+++ b/chromium/third_party/blink/renderer/core/events/application_cache_error_event.h
@@ -5,6 +5,7 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_APPLICATION_CACHE_ERROR_EVENT_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_APPLICATION_CACHE_ERROR_EVENT_H_
+#include "third_party/blink/public/mojom/appcache/appcache.mojom-blink.h"
#include "third_party/blink/public/platform/web_application_cache_host_client.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
#include "third_party/blink/renderer/core/event_interface_names.h"
@@ -17,20 +18,27 @@ class ApplicationCacheErrorEvent final : public Event {
DEFINE_WRAPPERTYPEINFO();
public:
+ ApplicationCacheErrorEvent(mojom::AppCacheErrorReason,
+ const String& url,
+ int status,
+ const String& message);
+ ApplicationCacheErrorEvent(const AtomicString& event_type,
+ const ApplicationCacheErrorEventInit* initializer);
~ApplicationCacheErrorEvent() override;
- static ApplicationCacheErrorEvent* Create(
- WebApplicationCacheHost::ErrorReason reason,
- const String& url,
- int status,
- const String& message) {
- return new ApplicationCacheErrorEvent(reason, url, status, message);
+ static ApplicationCacheErrorEvent* Create(mojom::AppCacheErrorReason reason,
+ const String& url,
+ int status,
+ const String& message) {
+ return MakeGarbageCollected<ApplicationCacheErrorEvent>(reason, url, status,
+ message);
}
static ApplicationCacheErrorEvent* Create(
const AtomicString& event_type,
const ApplicationCacheErrorEventInit* initializer) {
- return new ApplicationCacheErrorEvent(event_type, initializer);
+ return MakeGarbageCollected<ApplicationCacheErrorEvent>(event_type,
+ initializer);
}
const String& reason() const { return reason_; }
@@ -45,13 +53,6 @@ class ApplicationCacheErrorEvent final : public Event {
void Trace(blink::Visitor*) override;
private:
- ApplicationCacheErrorEvent(WebApplicationCacheHost::ErrorReason,
- const String& url,
- int status,
- const String& message);
- ApplicationCacheErrorEvent(const AtomicString& event_type,
- const ApplicationCacheErrorEventInit* initializer);
-
String reason_;
String url_;
int status_;
diff --git a/chromium/third_party/blink/renderer/core/events/before_print_event.h b/chromium/third_party/blink/renderer/core/events/before_print_event.h
new file mode 100644
index 00000000000..20b02b73593
--- /dev/null
+++ b/chromium/third_party/blink/renderer/core/events/before_print_event.h
@@ -0,0 +1,34 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_BEFORE_PRINT_EVENT_H_
+#define THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_BEFORE_PRINT_EVENT_H_
+
+#include "third_party/blink/renderer/core/dom/events/event.h"
+#include "third_party/blink/renderer/core/event_type_names.h"
+
+namespace blink {
+
+class BeforePrintEvent final : public Event {
+ public:
+ static BeforePrintEvent* Create() {
+ return MakeGarbageCollected<BeforePrintEvent>();
+ }
+
+ BeforePrintEvent()
+ : Event(event_type_names::kBeforeprint, Bubbles::kNo, Cancelable::kNo) {}
+ ~BeforePrintEvent() override = default;
+
+ // beforeprint/afterprint events need to be dispatched while the execution
+ // context is paused. When printing, window.print() invoked by beforeprint/
+ // afterprint event listeners should have no effect, hence the event dispatch
+ // needs to be done during the pause.
+ bool ShouldDispatchEvenWhenExecutionContextIsPaused() const override {
+ return true;
+ }
+};
+
+} // namespace blink
+
+#endif // THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_BEFORE_PRINT_EVENT_H_
diff --git a/chromium/third_party/blink/renderer/core/events/before_text_inserted_event.h b/chromium/third_party/blink/renderer/core/events/before_text_inserted_event.h
index 13a5d2628c6..d593f9e9946 100644
--- a/chromium/third_party/blink/renderer/core/events/before_text_inserted_event.h
+++ b/chromium/third_party/blink/renderer/core/events/before_text_inserted_event.h
@@ -32,10 +32,11 @@ namespace blink {
class BeforeTextInsertedEvent final : public Event {
public:
+ explicit BeforeTextInsertedEvent(const String&);
~BeforeTextInsertedEvent() override;
static BeforeTextInsertedEvent* Create(const String& text) {
- return new BeforeTextInsertedEvent(text);
+ return MakeGarbageCollected<BeforeTextInsertedEvent>(text);
}
const AtomicString& InterfaceName() const override;
@@ -47,8 +48,6 @@ class BeforeTextInsertedEvent final : public Event {
void Trace(blink::Visitor*) override;
private:
- explicit BeforeTextInsertedEvent(const String&);
-
String text_;
};
diff --git a/chromium/third_party/blink/renderer/core/events/before_unload_event.h b/chromium/third_party/blink/renderer/core/events/before_unload_event.h
index 6d735418639..2782808c164 100644
--- a/chromium/third_party/blink/renderer/core/events/before_unload_event.h
+++ b/chromium/third_party/blink/renderer/core/events/before_unload_event.h
@@ -34,9 +34,12 @@ class BeforeUnloadEvent final : public Event {
DEFINE_WRAPPERTYPEINFO();
public:
+ BeforeUnloadEvent();
~BeforeUnloadEvent() override;
- static BeforeUnloadEvent* Create() { return new BeforeUnloadEvent; }
+ static BeforeUnloadEvent* Create() {
+ return MakeGarbageCollected<BeforeUnloadEvent>();
+ }
bool IsBeforeUnloadEvent() const override;
@@ -49,11 +52,16 @@ class BeforeUnloadEvent final : public Event {
return event_interface_names::kBeforeUnloadEvent;
}
+ // A confirmation dialog for leaving a page is expected to be shown
+ // regardless of the state of the page. So, beforeunload's event
+ // listeners should always run regardless of pause.
+ bool ShouldDispatchEvenWhenExecutionContextIsPaused() const override {
+ return true;
+ }
+
void Trace(blink::Visitor*) override;
private:
- BeforeUnloadEvent();
-
String return_value_;
};
diff --git a/chromium/third_party/blink/renderer/core/events/clipboard_event.h b/chromium/third_party/blink/renderer/core/events/clipboard_event.h
index a0a8afbf758..a0f55a6099c 100644
--- a/chromium/third_party/blink/renderer/core/events/clipboard_event.h
+++ b/chromium/third_party/blink/renderer/core/events/clipboard_event.h
@@ -35,16 +35,18 @@ class ClipboardEvent final : public Event {
DEFINE_WRAPPERTYPEINFO();
public:
+ ClipboardEvent(const AtomicString& type, DataTransfer* clipboard_data);
+ ClipboardEvent(const AtomicString& type, const ClipboardEventInit*);
~ClipboardEvent() override;
static ClipboardEvent* Create(const AtomicString& type,
DataTransfer* data_transfer) {
- return new ClipboardEvent(type, data_transfer);
+ return MakeGarbageCollected<ClipboardEvent>(type, data_transfer);
}
static ClipboardEvent* Create(const AtomicString& type,
const ClipboardEventInit* initializer) {
- return new ClipboardEvent(type, initializer);
+ return MakeGarbageCollected<ClipboardEvent>(type, initializer);
}
DataTransfer* clipboardData() const { return clipboard_data_.Get(); }
@@ -52,10 +54,6 @@ class ClipboardEvent final : public Event {
void Trace(blink::Visitor*) override;
private:
- ClipboardEvent(const AtomicString& type,
- DataTransfer* clipboard_data);
- ClipboardEvent(const AtomicString& type, const ClipboardEventInit*);
-
const AtomicString& InterfaceName() const override;
bool IsClipboardEvent() const override;
diff --git a/chromium/third_party/blink/renderer/core/events/composition_event.h b/chromium/third_party/blink/renderer/core/events/composition_event.h
index 6588fe28977..ec3bc420141 100644
--- a/chromium/third_party/blink/renderer/core/events/composition_event.h
+++ b/chromium/third_party/blink/renderer/core/events/composition_event.h
@@ -36,19 +36,24 @@ class CompositionEvent final : public UIEvent {
DEFINE_WRAPPERTYPEINFO();
public:
- static CompositionEvent* Create() { return new CompositionEvent; }
+ static CompositionEvent* Create() {
+ return MakeGarbageCollected<CompositionEvent>();
+ }
static CompositionEvent* Create(const AtomicString& type,
AbstractView* view,
const String& data) {
- return new CompositionEvent(type, view, data);
+ return MakeGarbageCollected<CompositionEvent>(type, view, data);
}
static CompositionEvent* Create(const AtomicString& type,
const CompositionEventInit* initializer) {
- return new CompositionEvent(type, initializer);
+ return MakeGarbageCollected<CompositionEvent>(type, initializer);
}
+ CompositionEvent();
+ CompositionEvent(const AtomicString& type, AbstractView*, const String&);
+ CompositionEvent(const AtomicString& type, const CompositionEventInit*);
~CompositionEvent() override;
void initCompositionEvent(const AtomicString& type,
@@ -66,10 +71,6 @@ class CompositionEvent final : public UIEvent {
void Trace(blink::Visitor*) override;
private:
- CompositionEvent();
- CompositionEvent(const AtomicString& type, AbstractView*, const String&);
- CompositionEvent(const AtomicString& type, const CompositionEventInit*);
-
String data_;
};
diff --git a/chromium/third_party/blink/renderer/core/events/composition_event.idl b/chromium/third_party/blink/renderer/core/events/composition_event.idl
index 891ba598387..fd8a17947b0 100644
--- a/chromium/third_party/blink/renderer/core/events/composition_event.idl
+++ b/chromium/third_party/blink/renderer/core/events/composition_event.idl
@@ -34,9 +34,9 @@
// https://w3c.github.io/uievents/#idl-interface-CompositionEvent-initializers
// TODO(foolip): None of the initCompositionEvent() arguments should be
// optional, and the spec has a locale argument after data.
- [Measure] void initCompositionEvent([Default=Undefined] optional DOMString type,
- [Default=Undefined] optional boolean bubbles,
- [Default=Undefined] optional boolean cancelable,
- [Default=Undefined] optional Window? view,
- [Default=Undefined] optional DOMString data);
+ [Measure] void initCompositionEvent([DefaultValue=Undefined] optional DOMString type,
+ [DefaultValue=Undefined] optional boolean bubbles,
+ [DefaultValue=Undefined] optional boolean cancelable,
+ [DefaultValue=Undefined] optional Window? view,
+ [DefaultValue=Undefined] optional DOMString data);
};
diff --git a/chromium/third_party/blink/renderer/core/events/error_event.idl b/chromium/third_party/blink/renderer/core/events/error_event.idl
index d6298b109c8..89d3b0cde09 100644
--- a/chromium/third_party/blink/renderer/core/events/error_event.idl
+++ b/chromium/third_party/blink/renderer/core/events/error_event.idl
@@ -32,8 +32,8 @@
[
Constructor(DOMString type, optional ErrorEventInit eventInitDict),
- ConstructorCallWith=ScriptState
- // TODO(foolip): Exposed=(Window,Worker)
+ ConstructorCallWith=ScriptState,
+ Exposed=(Window,Worker)
] interface ErrorEvent : Event {
readonly attribute DOMString message;
readonly attribute DOMString filename;
diff --git a/chromium/third_party/blink/renderer/core/events/event_type_names.json5 b/chromium/third_party/blink/renderer/core/events/event_type_names.json5
index 7ccc7fe8402..dcf0c8b722c 100644
--- a/chromium/third_party/blink/renderer/core/events/event_type_names.json5
+++ b/chromium/third_party/blink/renderer/core/events/event_type_names.json5
@@ -30,6 +30,7 @@
"addsourcebuffer",
"addstream",
"addtrack",
+ "advertisementreceived",
"afterprint",
"animationend",
"animationiteration",
@@ -105,6 +106,7 @@
"dragstart",
"drop",
"durationchange",
+ "elementtimingbufferfull",
"emptied",
"encrypted",
"end",
@@ -191,6 +193,7 @@
"online",
"open",
"orientationchange",
+ "overscroll",
"pagehide",
"pageshow",
"paste",
@@ -214,6 +217,7 @@
"pointerrawmove",
"pointerup",
"popstate",
+ "portalactivate",
"progress",
"processorerror",
"push",
@@ -233,6 +237,7 @@
"result",
"resume",
"scroll",
+ "scrollend",
"search",
"securitypolicyviolation",
"seeked",
diff --git a/chromium/third_party/blink/renderer/core/events/input_event.cc b/chromium/third_party/blink/renderer/core/events/input_event.cc
index 26f60649ea8..9b4eb5304bd 100644
--- a/chromium/third_party/blink/renderer/core/events/input_event.cc
+++ b/chromium/third_party/blink/renderer/core/events/input_event.cc
@@ -4,6 +4,7 @@
#include "third_party/blink/renderer/core/events/input_event.h"
+#include "base/stl_util.h"
#include "third_party/blink/public/platform/web_editing_command_type.h"
#include "third_party/blink/renderer/core/dom/events/event_dispatcher.h"
#include "third_party/blink/renderer/core/dom/range.h"
@@ -59,7 +60,7 @@ const struct {
};
static_assert(
- arraysize(kInputTypeStringNameMap) ==
+ base::size(kInputTypeStringNameMap) ==
static_cast<size_t>(InputEvent::InputType::kNumberOfInputTypes),
"must handle all InputEvent::InputType");
diff --git a/chromium/third_party/blink/renderer/core/events/message_event.idl b/chromium/third_party/blink/renderer/core/events/message_event.idl
index 317eda18574..250ed2ce591 100644
--- a/chromium/third_party/blink/renderer/core/events/message_event.idl
+++ b/chromium/third_party/blink/renderer/core/events/message_event.idl
@@ -40,14 +40,14 @@
[CachedAttribute=isPortsDirty] readonly attribute FrozenArray<MessagePort> ports;
[RuntimeEnabled=UserActivationAPI] readonly attribute UserActivation? userActivation;
- // TODO(foolip): none of the arguments should have [Default=Undefined] (they
+ // TODO(foolip): none of the arguments should have [DefaultValue=Undefined] (they
// have other default values in the spec) and |sourceArg|'s type is wrong.
[Custom, MeasureAs=InitMessageEvent] void initMessageEvent(DOMString typeArg,
- [Default=Undefined] optional boolean canBubbleArg,
- [Default=Undefined] optional boolean cancelableArg,
- [Default=Undefined] optional any dataArg,
- [Default=Undefined] optional DOMString originArg,
- [Default=Undefined] optional DOMString lastEventIdArg,
- [Default=Undefined] optional EventTarget sourceArg,
- [Default=Undefined] optional sequence<MessagePort> portsArg);
+ [DefaultValue=Undefined] optional boolean canBubbleArg,
+ [DefaultValue=Undefined] optional boolean cancelableArg,
+ [DefaultValue=Undefined] optional any dataArg,
+ [DefaultValue=Undefined] optional DOMString originArg,
+ [DefaultValue=Undefined] optional DOMString lastEventIdArg,
+ [DefaultValue=Undefined] optional EventTarget sourceArg,
+ [DefaultValue=Undefined] optional sequence<MessagePort> portsArg);
};
diff --git a/chromium/third_party/blink/renderer/core/events/mouse_event.idl b/chromium/third_party/blink/renderer/core/events/mouse_event.idl
index 8dc2e487a73..3135644e421 100644
--- a/chromium/third_party/blink/renderer/core/events/mouse_event.idl
+++ b/chromium/third_party/blink/renderer/core/events/mouse_event.idl
@@ -39,21 +39,21 @@
// https://w3c.github.io/uievents/#idl-interface-MouseEvent-initializers
// TODO(foolip): None of the initMouseEvent() arguments should be optional.
- [CallWith=ScriptState, Measure] void initMouseEvent([Default=Undefined] optional DOMString type,
- [Default=Undefined] optional boolean bubbles,
- [Default=Undefined] optional boolean cancelable,
- [Default=Undefined] optional Window? view,
- [Default=Undefined] optional long detail,
- [Default=Undefined] optional long screenX,
- [Default=Undefined] optional long screenY,
- [Default=Undefined] optional long clientX,
- [Default=Undefined] optional long clientY,
- [Default=Undefined] optional boolean ctrlKey,
- [Default=Undefined] optional boolean altKey,
- [Default=Undefined] optional boolean shiftKey,
- [Default=Undefined] optional boolean metaKey,
- [Default=Undefined] optional unsigned short button,
- [Default=Undefined] optional EventTarget? relatedTarget);
+ [CallWith=ScriptState, Measure] void initMouseEvent([DefaultValue=Undefined] optional DOMString type,
+ [DefaultValue=Undefined] optional boolean bubbles,
+ [DefaultValue=Undefined] optional boolean cancelable,
+ [DefaultValue=Undefined] optional Window? view,
+ [DefaultValue=Undefined] optional long detail,
+ [DefaultValue=Undefined] optional long screenX,
+ [DefaultValue=Undefined] optional long screenY,
+ [DefaultValue=Undefined] optional long clientX,
+ [DefaultValue=Undefined] optional long clientY,
+ [DefaultValue=Undefined] optional boolean ctrlKey,
+ [DefaultValue=Undefined] optional boolean altKey,
+ [DefaultValue=Undefined] optional boolean shiftKey,
+ [DefaultValue=Undefined] optional boolean metaKey,
+ [DefaultValue=Undefined] optional unsigned short button,
+ [DefaultValue=Undefined] optional EventTarget? relatedTarget);
readonly attribute double pageX;
readonly attribute double pageY;
diff --git a/chromium/third_party/blink/renderer/core/events/mutation_event.idl b/chromium/third_party/blink/renderer/core/events/mutation_event.idl
index c377ae55fd9..562049599e0 100644
--- a/chromium/third_party/blink/renderer/core/events/mutation_event.idl
+++ b/chromium/third_party/blink/renderer/core/events/mutation_event.idl
@@ -31,12 +31,12 @@ interface MutationEvent : Event {
readonly attribute DOMString attrName;
readonly attribute unsigned short attrChange;
// TODO(foolip): None of the initMutationEvent() arguments should be optional.
- [Measure] void initMutationEvent([Default=Undefined] optional DOMString type,
- [Default=Undefined] optional boolean bubbles,
- [Default=Undefined] optional boolean cancelable,
- [Default=Undefined] optional Node? relatedNode,
- [Default=Undefined] optional DOMString prevValue,
- [Default=Undefined] optional DOMString newValue,
- [Default=Undefined] optional DOMString attrName,
- [Default=Undefined] optional unsigned short attrChange);
+ [Measure] void initMutationEvent([DefaultValue=Undefined] optional DOMString type,
+ [DefaultValue=Undefined] optional boolean bubbles,
+ [DefaultValue=Undefined] optional boolean cancelable,
+ [DefaultValue=Undefined] optional Node? relatedNode,
+ [DefaultValue=Undefined] optional DOMString prevValue,
+ [DefaultValue=Undefined] optional DOMString newValue,
+ [DefaultValue=Undefined] optional DOMString attrName,
+ [DefaultValue=Undefined] optional unsigned short attrChange);
};
diff --git a/chromium/third_party/blink/renderer/core/events/navigator_events.idl b/chromium/third_party/blink/renderer/core/events/navigator_events.idl
index 0bc89e285f8..da8d0e7af72 100644
--- a/chromium/third_party/blink/renderer/core/events/navigator_events.idl
+++ b/chromium/third_party/blink/renderer/core/events/navigator_events.idl
@@ -33,5 +33,5 @@
[
ImplementedAs=NavigatorEvents
] partial interface Navigator {
- readonly attribute long maxTouchPoints;
+ [HighEntropy, MeasureAs=NavigatorMaxTouchPoints] readonly attribute long maxTouchPoints;
};
diff --git a/chromium/third_party/blink/renderer/core/events/overscroll_event.cc b/chromium/third_party/blink/renderer/core/events/overscroll_event.cc
new file mode 100644
index 00000000000..d171cb08091
--- /dev/null
+++ b/chromium/third_party/blink/renderer/core/events/overscroll_event.cc
@@ -0,0 +1,25 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "third_party/blink/renderer/core/events/overscroll_event.h"
+
+namespace blink {
+OverscrollEvent::OverscrollEvent(const AtomicString& type,
+ double delta_x,
+ double delta_y)
+ : Event(type, Bubbles::kNo, Cancelable::kNo),
+ delta_x_(delta_x),
+ delta_y_(delta_y) {}
+
+OverscrollEvent::OverscrollEvent(const AtomicString& type,
+ const OverscrollEventInit* initializer)
+ : Event(type, Bubbles::kNo, Cancelable::kNo),
+ delta_x_(initializer->deltaX()),
+ delta_y_(initializer->deltaY()) {}
+
+void OverscrollEvent::Trace(blink::Visitor* visitor) {
+ Event::Trace(visitor);
+}
+
+} // namespace blink
diff --git a/chromium/third_party/blink/renderer/core/events/overscroll_event.h b/chromium/third_party/blink/renderer/core/events/overscroll_event.h
new file mode 100644
index 00000000000..ab7cffe0ab6
--- /dev/null
+++ b/chromium/third_party/blink/renderer/core/events/overscroll_event.h
@@ -0,0 +1,42 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_OVERSCROLL_EVENT_H_
+#define THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_OVERSCROLL_EVENT_H_
+
+#include "third_party/blink/renderer/core/dom/events/event.h"
+#include "third_party/blink/renderer/core/events/overscroll_event_init.h"
+
+namespace blink {
+
+class OverscrollEvent final : public Event {
+ DEFINE_WRAPPERTYPEINFO();
+
+ public:
+ static OverscrollEvent* Create(const AtomicString& type,
+ double delta_x,
+ double delta_y) {
+ return MakeGarbageCollected<OverscrollEvent>(type, delta_x, delta_y);
+ }
+ static OverscrollEvent* Create(const AtomicString& type,
+ const OverscrollEventInit* initializer) {
+ return MakeGarbageCollected<OverscrollEvent>(type, initializer);
+ }
+
+ OverscrollEvent(const AtomicString&, double delta_x, double delta_y);
+ OverscrollEvent(const AtomicString&, const OverscrollEventInit*);
+
+ double deltaX() const { return delta_x_; }
+ double deltaY() const { return delta_y_; }
+
+ void Trace(blink::Visitor*) override;
+
+ private:
+ double delta_x_ = 0;
+ double delta_y_ = 0;
+};
+
+} // namespace blink
+
+#endif // THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_OVERSCROLL_EVENT_H_
diff --git a/chromium/third_party/blink/renderer/core/events/overscroll_event.idl b/chromium/third_party/blink/renderer/core/events/overscroll_event.idl
new file mode 100644
index 00000000000..a29ed0f7b85
--- /dev/null
+++ b/chromium/third_party/blink/renderer/core/events/overscroll_event.idl
@@ -0,0 +1,13 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// TODO(sahel): Add link to w3c. https://crbugs.com/907601
+
+[
+ Constructor(DOMString type, optional OverscrollEventInit eventInitDict),
+ RuntimeEnabled=OverscrollCustomization
+] interface OverscrollEvent : Event {
+ readonly attribute double deltaX;
+ readonly attribute double deltaY;
+};
diff --git a/chromium/third_party/blink/renderer/core/events/overscroll_event_init.idl b/chromium/third_party/blink/renderer/core/events/overscroll_event_init.idl
new file mode 100644
index 00000000000..6d9e286b916
--- /dev/null
+++ b/chromium/third_party/blink/renderer/core/events/overscroll_event_init.idl
@@ -0,0 +1,10 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// TODO(sahel): Add link to w3c. https://crbugs.com/907601
+
+dictionary OverscrollEventInit : EventInit {
+ double deltaX = 0.0;
+ double deltaY = 0.0;
+};
diff --git a/chromium/third_party/blink/renderer/core/events/pointer_event.h b/chromium/third_party/blink/renderer/core/events/pointer_event.h
index 22626408581..8b90668588b 100644
--- a/chromium/third_party/blink/renderer/core/events/pointer_event.h
+++ b/chromium/third_party/blink/renderer/core/events/pointer_event.h
@@ -29,7 +29,7 @@ class CORE_EXPORT PointerEvent final : public MouseEvent {
const PointerEventInit*,
TimeTicks platform_time_stamp);
- int32_t pointerId() const { return pointer_id_; }
+ PointerId pointerId() const { return pointer_id_; }
double width() const { return width_; }
double height() const { return height_; }
float pressure() const { return pressure_; }
@@ -70,7 +70,7 @@ class CORE_EXPORT PointerEvent final : public MouseEvent {
void Trace(blink::Visitor*) override;
private:
- int32_t pointer_id_;
+ PointerId pointer_id_;
double width_;
double height_;
float pressure_;
diff --git a/chromium/third_party/blink/renderer/core/events/pointer_event_factory.cc b/chromium/third_party/blink/renderer/core/events/pointer_event_factory.cc
index 7b57f3554c0..12d5f4503fc 100644
--- a/chromium/third_party/blink/renderer/core/events/pointer_event_factory.cc
+++ b/chromium/third_party/blink/renderer/core/events/pointer_event_factory.cc
@@ -181,10 +181,10 @@ HeapVector<Member<PointerEvent>> PointerEventFactory::CreateEventSequence(
return result;
}
-const int PointerEventFactory::kInvalidId = 0;
+const PointerId PointerEventFactory::kInvalidId = 0;
// Mouse id is 1 to behave the same as MS Edge for compatibility reasons.
-const int PointerEventFactory::kMouseId = 1;
+const PointerId PointerEventFactory::kMouseId = 1;
PointerEventInit* PointerEventFactory::ConvertIdTypeButtonsEvent(
const WebPointerEvent& web_pointer_event) {
@@ -220,8 +220,8 @@ PointerEventInit* PointerEventFactory::ConvertIdTypeButtonsEvent(
pointer_event_init->setButtons(buttons);
const IncomingId incoming_id(pointer_type, web_pointer_event.id);
- int pointer_id = AddIdAndActiveButtons(incoming_id, buttons != 0,
- web_pointer_event.hovering);
+ PointerId pointer_id = AddIdAndActiveButtons(incoming_id, buttons != 0,
+ web_pointer_event.hovering);
pointer_event_init->setPointerId(pointer_id);
pointer_event_init->setPointerType(
PointerTypeNameForWebPointPointerType(pointer_type));
@@ -460,9 +460,9 @@ void PointerEventFactory::Clear() {
current_id_ = PointerEventFactory::kMouseId + 1;
}
-int PointerEventFactory::AddIdAndActiveButtons(const IncomingId p,
- bool is_active_buttons,
- bool hovering) {
+PointerId PointerEventFactory::AddIdAndActiveButtons(const IncomingId p,
+ bool is_active_buttons,
+ bool hovering) {
// Do not add extra mouse pointer as it was added in initialization
if (p.GetPointerType() == WebPointerProperties::PointerType::kMouse) {
pointer_id_mapping_.Set(kMouseId,
@@ -471,14 +471,14 @@ int PointerEventFactory::AddIdAndActiveButtons(const IncomingId p,
}
if (pointer_incoming_id_mapping_.Contains(p)) {
- int mapped_id = pointer_incoming_id_mapping_.at(p);
+ PointerId mapped_id = pointer_incoming_id_mapping_.at(p);
pointer_id_mapping_.Set(mapped_id,
PointerAttributes(p, is_active_buttons, hovering));
return mapped_id;
}
int type_int = p.PointerTypeInt();
// We do not handle the overflow of m_currentId as it should be very rare
- int mapped_id = current_id_++;
+ PointerId mapped_id = current_id_++;
if (!id_count_[type_int])
primary_id_[type_int] = mapped_id;
id_count_[type_int]++;
@@ -488,7 +488,7 @@ int PointerEventFactory::AddIdAndActiveButtons(const IncomingId p,
return mapped_id;
}
-bool PointerEventFactory::Remove(const int mapped_id) {
+bool PointerEventFactory::Remove(const PointerId mapped_id) {
// Do not remove mouse pointer id as it should always be there
if (mapped_id == kMouseId || !pointer_id_mapping_.Contains(mapped_id))
return false;
@@ -504,12 +504,13 @@ bool PointerEventFactory::Remove(const int mapped_id) {
return true;
}
-Vector<int> PointerEventFactory::GetPointerIdsOfNonHoveringPointers() const {
- Vector<int> mapped_ids;
+Vector<PointerId> PointerEventFactory::GetPointerIdsOfNonHoveringPointers()
+ const {
+ Vector<PointerId> mapped_ids;
for (auto iter = pointer_id_mapping_.begin();
iter != pointer_id_mapping_.end(); ++iter) {
- int mapped_id = iter->key;
+ PointerId mapped_id = iter->key;
if (!iter->value.hovering)
mapped_ids.push_back(mapped_id);
}
@@ -519,7 +520,7 @@ Vector<int> PointerEventFactory::GetPointerIdsOfNonHoveringPointers() const {
return mapped_ids;
}
-bool PointerEventFactory::IsPrimary(int mapped_id) const {
+bool PointerEventFactory::IsPrimary(PointerId mapped_id) const {
if (!pointer_id_mapping_.Contains(mapped_id))
return false;
@@ -527,7 +528,7 @@ bool PointerEventFactory::IsPrimary(int mapped_id) const {
return primary_id_[p.PointerTypeInt()] == mapped_id;
}
-bool PointerEventFactory::IsActive(const int pointer_id) const {
+bool PointerEventFactory::IsActive(const PointerId pointer_id) const {
return pointer_id_mapping_.Contains(pointer_id);
}
@@ -542,24 +543,25 @@ bool PointerEventFactory::IsPrimary(
if (!id_count_[static_cast<int>(properties.pointer_type)])
return true;
- int pointer_id = GetPointerEventId(properties);
+ PointerId pointer_id = GetPointerEventId(properties);
return (pointer_id != PointerEventFactory::kInvalidId &&
IsPrimary(pointer_id));
}
-bool PointerEventFactory::IsActiveButtonsState(const int pointer_id) const {
+bool PointerEventFactory::IsActiveButtonsState(
+ const PointerId pointer_id) const {
return pointer_id_mapping_.Contains(pointer_id) &&
pointer_id_mapping_.at(pointer_id).is_active_buttons;
}
WebPointerProperties::PointerType PointerEventFactory::GetPointerType(
- int pointer_id) const {
+ PointerId pointer_id) const {
if (!IsActive(pointer_id))
return WebPointerProperties::PointerType::kUnknown;
return pointer_id_mapping_.at(pointer_id).incoming_id.GetPointerType();
}
-int PointerEventFactory::GetPointerEventId(
+PointerId PointerEventFactory::GetPointerEventId(
const WebPointerProperties& properties) const {
if (properties.pointer_type == WebPointerProperties::PointerType::kMouse)
return PointerEventFactory::kMouseId;
diff --git a/chromium/third_party/blink/renderer/core/events/pointer_event_factory.h b/chromium/third_party/blink/renderer/core/events/pointer_event_factory.h
index 67413673980..6592a2b4ffb 100644
--- a/chromium/third_party/blink/renderer/core/events/pointer_event_factory.h
+++ b/chromium/third_party/blink/renderer/core/events/pointer_event_factory.h
@@ -35,9 +35,8 @@ class CORE_EXPORT PointerEventFactory {
const Vector<WebPointerEvent>& predicted_events,
LocalDOMWindow* view);
- PointerEvent* CreatePointerCancelEvent(
- const int pointer_id,
- TimeTicks platfrom_time_stamp);
+ PointerEvent* CreatePointerCancelEvent(const PointerId pointer_id,
+ TimeTicks platfrom_time_stamp);
// For creating raw move events in chorded button case.
PointerEvent* CreatePointerRawMoveEvent(PointerEvent*);
@@ -56,16 +55,16 @@ class CORE_EXPORT PointerEventFactory {
// When a particular pointerId is removed, the id is considered free even
// though there might have been other PointerEvents that were generated with
// the same id before.
- bool Remove(const int);
+ bool Remove(const PointerId);
// Returns all ids of pointers that are not hovering.
- Vector<int> GetPointerIdsOfNonHoveringPointers() const;
+ Vector<PointerId> GetPointerIdsOfNonHoveringPointers() const;
// Returns whether a pointer id exists and active.
- bool IsActive(const int) const;
+ bool IsActive(const PointerId) const;
// Returns whether a pointer id exists and has at least one pressed button.
- bool IsActiveButtonsState(const int) const;
+ bool IsActiveButtonsState(const PointerId) const;
// Returns the id of the pointer event corresponding to the given pointer
// properties if exists otherwise s_invalidId.
@@ -73,24 +72,23 @@ class CORE_EXPORT PointerEventFactory {
// Returns pointerType of for the given pointerId if such id is active.
// Otherwise it returns WebPointerProperties::PointerType::Unknown.
- WebPointerProperties::PointerType GetPointerType(int pointer_id) const;
+ WebPointerProperties::PointerType GetPointerType(PointerId pointer_id) const;
// Returns whether a WebPoinerProperties is primary pointer.
bool IsPrimary(const WebPointerProperties&) const;
- static const int kMouseId;
+ static const PointerId kMouseId;
// Removes pointer_id from the map.
- void RemoveLastPosition(const int pointer_id);
+ void RemoveLastPosition(const PointerId pointer_id);
// Returns last_position of for the given pointerId if such id is active.
// Otherwise it returns the PositionInScreen of the given events, so we will
// get movement = 0 when there is no last position.
- FloatPoint GetLastPointerPosition(int pointer_id,
+ FloatPoint GetLastPointerPosition(PointerId pointer_id,
const WebPointerProperties& event) const;
private:
- typedef WTF::UnsignedWithZeroKeyHashTraits<int> UnsignedHash;
typedef struct IncomingId : public std::pair<int, int> {
IncomingId() = default;
IncomingId(WebPointerProperties::PointerType pointer_type, int raw_id)
@@ -115,10 +113,10 @@ class CORE_EXPORT PointerEventFactory {
hovering(hovering) {}
} PointerAttributes;
- int AddIdAndActiveButtons(const IncomingId,
- bool is_active_buttons,
- bool hovering);
- bool IsPrimary(const int) const;
+ PointerId AddIdAndActiveButtons(const IncomingId,
+ bool is_active_buttons,
+ bool hovering);
+ bool IsPrimary(const PointerId) const;
PointerEventInit* ConvertIdTypeButtonsEvent(const WebPointerEvent&);
void SetEventSpecificFields(PointerEventInit*, const AtomicString& type);
@@ -134,17 +132,21 @@ class CORE_EXPORT PointerEventFactory {
const Vector<WebPointerEvent>& event_list,
LocalDOMWindow* view);
- void SetLastPosition(int pointer_id, const WebPointerProperties& event);
+ void SetLastPosition(PointerId pointer_id, const WebPointerProperties& event);
- static const int kInvalidId;
+ static const PointerId kInvalidId;
- int current_id_;
+ PointerId current_id_;
HashMap<IncomingId,
- int,
+ PointerId,
WTF::PairHash<int, int>,
- WTF::PairHashTraits<UnsignedHash, UnsignedHash>>
+ WTF::PairHashTraits<WTF::UnsignedWithZeroKeyHashTraits<int>,
+ WTF::UnsignedWithZeroKeyHashTraits<int>>>
pointer_incoming_id_mapping_;
- HashMap<int, PointerAttributes, WTF::IntHash<int>, UnsignedHash>
+ HashMap<PointerId,
+ PointerAttributes,
+ WTF::IntHash<PointerId>,
+ WTF::UnsignedWithZeroKeyHashTraits<PointerId>>
pointer_id_mapping_;
int primary_id_[static_cast<int>(
WebPointerProperties::PointerType::kLastEntry) +
@@ -153,7 +155,10 @@ class CORE_EXPORT PointerEventFactory {
WebPointerProperties::PointerType::kLastEntry) +
1];
- HashMap<int, FloatPoint, WTF::IntHash<int>, UnsignedHash>
+ HashMap<PointerId,
+ FloatPoint,
+ WTF::IntHash<PointerId>,
+ WTF::UnsignedWithZeroKeyHashTraits<PointerId>>
pointer_id_last_position_mapping_;
};
diff --git a/chromium/third_party/blink/renderer/core/events/portal_activate_event.cc b/chromium/third_party/blink/renderer/core/events/portal_activate_event.cc
new file mode 100644
index 00000000000..5d7ddae0ea5
--- /dev/null
+++ b/chromium/third_party/blink/renderer/core/events/portal_activate_event.cc
@@ -0,0 +1,32 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "third_party/blink/renderer/core/events/portal_activate_event.h"
+
+#include "third_party/blink/renderer/core/event_type_names.h"
+#include "third_party/blink/renderer/platform/wtf/time.h"
+
+namespace blink {
+
+PortalActivateEvent* PortalActivateEvent::Create() {
+ return MakeGarbageCollected<PortalActivateEvent>();
+}
+
+PortalActivateEvent::PortalActivateEvent()
+ : Event(event_type_names::kPortalactivate,
+ Bubbles::kNo,
+ Cancelable::kNo,
+ CurrentTimeTicks()) {}
+
+PortalActivateEvent::~PortalActivateEvent() = default;
+
+void PortalActivateEvent::Trace(blink::Visitor* visitor) {
+ Event::Trace(visitor);
+}
+
+const AtomicString& PortalActivateEvent::InterfaceName() const {
+ return event_type_names::kPortalactivate;
+}
+
+} // namespace blink
diff --git a/chromium/third_party/blink/renderer/core/events/portal_activate_event.h b/chromium/third_party/blink/renderer/core/events/portal_activate_event.h
new file mode 100644
index 00000000000..8936f89d54f
--- /dev/null
+++ b/chromium/third_party/blink/renderer/core/events/portal_activate_event.h
@@ -0,0 +1,35 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_PORTAL_ACTIVATE_EVENT_H_
+#define THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_PORTAL_ACTIVATE_EVENT_H_
+
+#include "third_party/blink/renderer/platform/heap/heap.h"
+
+#include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/core/dom/events/event.h"
+#include "third_party/blink/renderer/core/dom/events/event_target.h"
+
+namespace blink {
+
+class CORE_EXPORT PortalActivateEvent : public Event {
+ DEFINE_WRAPPERTYPEINFO();
+
+ public:
+ static PortalActivateEvent* Create();
+
+ PortalActivateEvent();
+ ~PortalActivateEvent() override;
+
+ void Trace(blink::Visitor*) override;
+
+ // Event overrides
+ const AtomicString& InterfaceName() const override;
+
+ private:
+};
+
+} // namespace blink
+
+#endif // THIRD_PARTY_BLINK_RENDERER_CORE_EVENTS_PORTAL_ACTIVATE_EVENT_H_
diff --git a/chromium/third_party/blink/renderer/core/events/portal_activate_event.idl b/chromium/third_party/blink/renderer/core/events/portal_activate_event.idl
new file mode 100644
index 00000000000..74e22f914fb
--- /dev/null
+++ b/chromium/third_party/blink/renderer/core/events/portal_activate_event.idl
@@ -0,0 +1,9 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// https://wicg.github.io/portals/#the-portalactivateevent-interface
+
+[Exposed=Window, RuntimeEnabled=Portals]
+interface PortalActivateEvent : Event {
+};
diff --git a/chromium/third_party/blink/renderer/core/events/text_event.idl b/chromium/third_party/blink/renderer/core/events/text_event.idl
index 2ae52eb0a1a..37ea2536407 100644
--- a/chromium/third_party/blink/renderer/core/events/text_event.idl
+++ b/chromium/third_party/blink/renderer/core/events/text_event.idl
@@ -35,10 +35,10 @@ interface TextEvent : UIEvent {
[Measure] readonly attribute DOMString data;
- [Measure] void initTextEvent([Default=Undefined] optional DOMString type,
- [Default=Undefined] optional boolean bubbles,
- [Default=Undefined] optional boolean cancelable,
- [Default=Undefined] optional Window? view,
- [Default=Undefined] optional DOMString data);
+ [Measure] void initTextEvent([DefaultValue=Undefined] optional DOMString type,
+ [DefaultValue=Undefined] optional boolean bubbles,
+ [DefaultValue=Undefined] optional boolean cancelable,
+ [DefaultValue=Undefined] optional Window? view,
+ [DefaultValue=Undefined] optional DOMString data);
};
diff --git a/chromium/third_party/blink/renderer/core/events/touch_event_test.cc b/chromium/third_party/blink/renderer/core/events/touch_event_test.cc
index 652db736442..b987a51cf00 100644
--- a/chromium/third_party/blink/renderer/core/events/touch_event_test.cc
+++ b/chromium/third_party/blink/renderer/core/events/touch_event_test.cc
@@ -47,7 +47,7 @@ class ConsoleCapturingChromeClient : public EmptyChromeClient {
class TouchEventTest : public PageTestBase {
public:
void SetUp() override {
- chrome_client_ = new ConsoleCapturingChromeClient();
+ chrome_client_ = MakeGarbageCollected<ConsoleCapturingChromeClient>();
Page::PageClients clients;
FillWithEmptyClients(clients);
clients.chrome_client = chrome_client_.Get();
diff --git a/chromium/third_party/blink/renderer/core/events/ui_event.idl b/chromium/third_party/blink/renderer/core/events/ui_event.idl
index 20e8fc95224..ed34dba7c05 100644
--- a/chromium/third_party/blink/renderer/core/events/ui_event.idl
+++ b/chromium/third_party/blink/renderer/core/events/ui_event.idl
@@ -29,11 +29,11 @@
// https://w3c.github.io/uievents/#idl-interface-UIEvent-initializers
// TODO(foolip): None of the initUIEvent() arguments should be optional.
- [Measure] void initUIEvent([Default=Undefined] optional DOMString type,
- [Default=Undefined] optional boolean bubbles,
- [Default=Undefined] optional boolean cancelable,
- [Default=Undefined] optional Window? view,
- [Default=Undefined] optional long detail);
+ [Measure] void initUIEvent([DefaultValue=Undefined] optional DOMString type,
+ [DefaultValue=Undefined] optional boolean bubbles,
+ [DefaultValue=Undefined] optional boolean cancelable,
+ [DefaultValue=Undefined] optional Window? view,
+ [DefaultValue=Undefined] optional long detail);
readonly attribute unsigned long which;
};
diff --git a/chromium/third_party/blink/renderer/core/events/web_input_event_conversion_test.cc b/chromium/third_party/blink/renderer/core/events/web_input_event_conversion_test.cc
index ae1d84dfb87..93f5fe7822d 100644
--- a/chromium/third_party/blink/renderer/core/events/web_input_event_conversion_test.cc
+++ b/chromium/third_party/blink/renderer/core/events/web_input_event_conversion_test.cc
@@ -123,7 +123,7 @@ TEST(WebInputEventConversionTest, InputEventsScaling) {
web_view->GetSettings()->SetViewportEnabled(true);
int page_width = 640;
int page_height = 480;
- web_view->Resize(WebSize(page_width, page_height));
+ web_view->MainFrameWidget()->Resize(WebSize(page_width, page_height));
web_view->MainFrameWidget()->UpdateAllLifecyclePhases(
WebWidget::LifecycleUpdateReason::kTest);
@@ -337,12 +337,11 @@ TEST(WebInputEventConversionTest, InputEventsTransform) {
web_view->GetSettings()->SetViewportEnabled(true);
int page_width = 640;
int page_height = 480;
- web_view->Resize(WebSize(page_width, page_height));
+ web_view->MainFrameWidget()->Resize(WebSize(page_width, page_height));
web_view->MainFrameWidget()->UpdateAllLifecyclePhases(
WebWidget::LifecycleUpdateReason::kTest);
web_view->SetPageScaleFactor(2);
- web_view->MainFrameImpl()->SetInputEventsScaleForEmulation(1.5);
LocalFrameView* view = ToLocalFrame(web_view->GetPage()->MainFrame())->View();
@@ -359,8 +358,8 @@ TEST(WebInputEventConversionTest, InputEventsTransform) {
TransformWebMouseEvent(view, web_mouse_event);
FloatPoint position = transformed_event.PositionInRootFrame();
- EXPECT_FLOAT_EQ(30, position.X());
- EXPECT_FLOAT_EQ(30, position.Y());
+ EXPECT_FLOAT_EQ(45, position.X());
+ EXPECT_FLOAT_EQ(45, position.Y());
EXPECT_EQ(90, transformed_event.PositionInScreen().x);
EXPECT_EQ(90, transformed_event.PositionInScreen().y);
EXPECT_EQ(60, transformed_event.movement_x);
@@ -392,8 +391,8 @@ TEST(WebInputEventConversionTest, InputEventsTransform) {
EXPECT_EQ(events.size(), coalescedevents.size());
FloatPoint position = coalescedevents[0].PositionInRootFrame();
- EXPECT_FLOAT_EQ(30, position.X());
- EXPECT_FLOAT_EQ(30, position.Y());
+ EXPECT_FLOAT_EQ(45, position.X());
+ EXPECT_FLOAT_EQ(45, position.Y());
EXPECT_EQ(90, coalescedevents[0].PositionInScreen().x);
EXPECT_EQ(90, coalescedevents[0].PositionInScreen().y);
@@ -401,8 +400,8 @@ TEST(WebInputEventConversionTest, InputEventsTransform) {
EXPECT_EQ(60, coalescedevents[0].movement_y);
position = coalescedevents[1].PositionInRootFrame();
- EXPECT_FLOAT_EQ(30, position.X());
- EXPECT_FLOAT_EQ(40, position.Y());
+ EXPECT_FLOAT_EQ(45, position.X());
+ EXPECT_FLOAT_EQ(60, position.Y());
EXPECT_EQ(90, coalescedevents[1].PositionInScreen().x);
EXPECT_EQ(120, coalescedevents[1].PositionInScreen().y);
@@ -424,12 +423,12 @@ TEST(WebInputEventConversionTest, InputEventsTransform) {
TransformWebGestureEvent(view, web_gesture_event);
FloatPoint position = scaled_gesture_event.PositionInRootFrame();
- EXPECT_FLOAT_EQ(30, position.X());
- EXPECT_FLOAT_EQ(30, position.Y());
+ EXPECT_FLOAT_EQ(45, position.X());
+ EXPECT_FLOAT_EQ(45, position.Y());
EXPECT_EQ(90, scaled_gesture_event.PositionInScreen().x);
EXPECT_EQ(90, scaled_gesture_event.PositionInScreen().y);
- EXPECT_EQ(20, scaled_gesture_event.DeltaXInRootFrame());
- EXPECT_EQ(20, scaled_gesture_event.DeltaYInRootFrame());
+ EXPECT_EQ(30, scaled_gesture_event.DeltaXInRootFrame());
+ EXPECT_EQ(30, scaled_gesture_event.DeltaYInRootFrame());
}
{
@@ -443,8 +442,8 @@ TEST(WebInputEventConversionTest, InputEventsTransform) {
WebGestureEvent scaled_gesture_event =
TransformWebGestureEvent(view, web_gesture_event);
IntSize area = FlooredIntSize(scaled_gesture_event.TapAreaInRootFrame());
- EXPECT_EQ(10, area.Width());
- EXPECT_EQ(10, area.Height());
+ EXPECT_EQ(15, area.Width());
+ EXPECT_EQ(15, area.Height());
}
{
@@ -458,8 +457,8 @@ TEST(WebInputEventConversionTest, InputEventsTransform) {
WebGestureEvent scaled_gesture_event =
TransformWebGestureEvent(view, web_gesture_event);
IntSize area = FlooredIntSize(scaled_gesture_event.TapAreaInRootFrame());
- EXPECT_EQ(10, area.Width());
- EXPECT_EQ(10, area.Height());
+ EXPECT_EQ(15, area.Width());
+ EXPECT_EQ(15, area.Height());
}
{
@@ -473,8 +472,8 @@ TEST(WebInputEventConversionTest, InputEventsTransform) {
WebGestureEvent scaled_gesture_event =
TransformWebGestureEvent(view, web_gesture_event);
IntSize area = FlooredIntSize(scaled_gesture_event.TapAreaInRootFrame());
- EXPECT_EQ(10, area.Width());
- EXPECT_EQ(10, area.Height());
+ EXPECT_EQ(15, area.Width());
+ EXPECT_EQ(15, area.Height());
}
{
@@ -488,8 +487,8 @@ TEST(WebInputEventConversionTest, InputEventsTransform) {
WebGestureEvent scaled_gesture_event =
TransformWebGestureEvent(view, web_gesture_event);
IntSize area = FlooredIntSize(scaled_gesture_event.TapAreaInRootFrame());
- EXPECT_EQ(10, area.Width());
- EXPECT_EQ(10, area.Height());
+ EXPECT_EQ(15, area.Width());
+ EXPECT_EQ(15, area.Height());
}
{
@@ -503,8 +502,8 @@ TEST(WebInputEventConversionTest, InputEventsTransform) {
WebGestureEvent scaled_gesture_event =
TransformWebGestureEvent(view, web_gesture_event);
IntSize area = FlooredIntSize(scaled_gesture_event.TapAreaInRootFrame());
- EXPECT_EQ(10, area.Width());
- EXPECT_EQ(10, area.Height());
+ EXPECT_EQ(15, area.Width());
+ EXPECT_EQ(15, area.Height());
}
{
@@ -518,8 +517,8 @@ TEST(WebInputEventConversionTest, InputEventsTransform) {
WebGestureEvent scaled_gesture_event =
TransformWebGestureEvent(view, web_gesture_event);
IntSize area = FlooredIntSize(scaled_gesture_event.TapAreaInRootFrame());
- EXPECT_EQ(10, area.Width());
- EXPECT_EQ(10, area.Height());
+ EXPECT_EQ(15, area.Width());
+ EXPECT_EQ(15, area.Height());
}
{
@@ -536,10 +535,10 @@ TEST(WebInputEventConversionTest, InputEventsTransform) {
EXPECT_FLOAT_EQ(90, transformed_event.PositionInScreen().x);
EXPECT_FLOAT_EQ(90, transformed_event.PositionInScreen().y);
- EXPECT_FLOAT_EQ(30, transformed_event.PositionInWidget().x);
- EXPECT_FLOAT_EQ(30, transformed_event.PositionInWidget().y);
- EXPECT_FLOAT_EQ(10, transformed_event.width);
- EXPECT_FLOAT_EQ(10, transformed_event.height);
+ EXPECT_FLOAT_EQ(45, transformed_event.PositionInWidget().x);
+ EXPECT_FLOAT_EQ(45, transformed_event.PositionInWidget().y);
+ EXPECT_FLOAT_EQ(15, transformed_event.width);
+ EXPECT_FLOAT_EQ(15, transformed_event.height);
}
{
@@ -569,18 +568,18 @@ TEST(WebInputEventConversionTest, InputEventsTransform) {
coalescedevents[0].WebPointerEventInRootFrame();
EXPECT_FLOAT_EQ(90, transformed_event.PositionInScreen().x);
EXPECT_FLOAT_EQ(90, transformed_event.PositionInScreen().y);
- EXPECT_FLOAT_EQ(30, transformed_event.PositionInWidget().x);
- EXPECT_FLOAT_EQ(30, transformed_event.PositionInWidget().y);
- EXPECT_FLOAT_EQ(10, transformed_event.width);
- EXPECT_FLOAT_EQ(10, transformed_event.height);
+ EXPECT_FLOAT_EQ(45, transformed_event.PositionInWidget().x);
+ EXPECT_FLOAT_EQ(45, transformed_event.PositionInWidget().y);
+ EXPECT_FLOAT_EQ(15, transformed_event.width);
+ EXPECT_FLOAT_EQ(15, transformed_event.height);
transformed_event = coalescedevents[1].WebPointerEventInRootFrame();
EXPECT_FLOAT_EQ(120, transformed_event.PositionInScreen().x);
EXPECT_FLOAT_EQ(90, transformed_event.PositionInScreen().y);
- EXPECT_FLOAT_EQ(40, transformed_event.PositionInWidget().x);
- EXPECT_FLOAT_EQ(30, transformed_event.PositionInWidget().y);
- EXPECT_FLOAT_EQ(20, transformed_event.width);
- EXPECT_FLOAT_EQ(10, transformed_event.height);
+ EXPECT_FLOAT_EQ(60, transformed_event.PositionInWidget().x);
+ EXPECT_FLOAT_EQ(45, transformed_event.PositionInWidget().y);
+ EXPECT_FLOAT_EQ(30, transformed_event.width);
+ EXPECT_FLOAT_EQ(15, transformed_event.height);
}
}
@@ -594,7 +593,7 @@ TEST(WebInputEventConversionTest, InputEventsConversions) {
web_view_helper.InitializeAndLoad(base_url + file_name);
int page_width = 640;
int page_height = 480;
- web_view->Resize(WebSize(page_width, page_height));
+ web_view->MainFrameWidget()->Resize(WebSize(page_width, page_height));
web_view->MainFrameWidget()->UpdateAllLifecyclePhases(
WebWidget::LifecycleUpdateReason::kTest);
@@ -632,7 +631,7 @@ TEST(WebInputEventConversionTest, VisualViewportOffset) {
web_view_helper.InitializeAndLoad(base_url + file_name);
int page_width = 640;
int page_height = 480;
- web_view->Resize(WebSize(page_width, page_height));
+ web_view->MainFrameWidget()->Resize(WebSize(page_width, page_height));
web_view->MainFrameWidget()->UpdateAllLifecyclePhases(
WebWidget::LifecycleUpdateReason::kTest);
@@ -731,14 +730,14 @@ TEST(WebInputEventConversionTest, ElasticOverscroll) {
web_view_helper.InitializeAndLoad(base_url + file_name);
int page_width = 640;
int page_height = 480;
- web_view->Resize(WebSize(page_width, page_height));
+ web_view->MainFrameWidget()->Resize(WebSize(page_width, page_height));
web_view->MainFrameWidget()->UpdateAllLifecyclePhases(
WebWidget::LifecycleUpdateReason::kTest);
LocalFrameView* view = ToLocalFrame(web_view->GetPage()->MainFrame())->View();
gfx::Vector2dF elastic_overscroll(10, -20);
- web_view->ApplyViewportChanges(
+ web_view->MainFrameWidget()->ApplyViewportChanges(
{gfx::ScrollOffset(), elastic_overscroll, 1.0f, 0.0f});
// Just elastic overscroll.
@@ -807,12 +806,12 @@ TEST(WebInputEventConversionTest, ElasticOverscrollWithPageReload) {
web_view_helper.InitializeAndLoad(base_url + file_name);
int page_width = 640;
int page_height = 480;
- web_view->Resize(WebSize(page_width, page_height));
+ web_view->MainFrameWidget()->Resize(WebSize(page_width, page_height));
web_view->MainFrameWidget()->UpdateAllLifecyclePhases(
WebWidget::LifecycleUpdateReason::kTest);
gfx::Vector2dF elastic_overscroll(10, -20);
- web_view->ApplyViewportChanges(
+ web_view->MainFrameWidget()->ApplyViewportChanges(
{gfx::ScrollOffset(), elastic_overscroll, 1.0f, 0.0f});
frame_test_helpers::ReloadFrame(
web_view_helper.GetWebView()->MainFrameImpl());
diff --git a/chromium/third_party/blink/renderer/core/events/wheel_event.cc b/chromium/third_party/blink/renderer/core/events/wheel_event.cc
index c7cb037aef2..2fa4989abf4 100644
--- a/chromium/third_party/blink/renderer/core/events/wheel_event.cc
+++ b/chromium/third_party/blink/renderer/core/events/wheel_event.cc
@@ -26,6 +26,7 @@
#include "third_party/blink/renderer/core/clipboard/data_transfer.h"
#include "third_party/blink/renderer/core/dom/events/event_dispatcher.h"
#include "third_party/blink/renderer/core/event_interface_names.h"
+#include "third_party/blink/renderer/core/frame/intervention.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/use_counter.h"
@@ -122,10 +123,22 @@ bool WheelEvent::IsWheelEvent() const {
void WheelEvent::preventDefault() {
MouseEvent::preventDefault();
+ PassiveMode passive_mode = HandlingPassive();
+ if (passive_mode == PassiveMode::kPassiveForcedDocumentLevel) {
+ String id = "PreventDefaultPassive";
+ String message =
+ "Unable to preventDefault inside passive event listener due to "
+ "target being treated as passive. See "
+ "https://www.chromestatus.com/features/6662647093133312";
+ if (view() && view()->IsLocalDOMWindow() && view()->GetFrame()) {
+ Intervention::GenerateReport(ToLocalDOMWindow(view())->GetFrame(), id,
+ message);
+ }
+ }
+
if (!currentTarget() || !currentTarget()->IsTopLevelNode())
return;
- PassiveMode passive_mode = HandlingPassive();
if (passive_mode == PassiveMode::kPassiveForcedDocumentLevel ||
passive_mode == PassiveMode::kNotPassiveDefault) {
if (ExecutionContext* context = currentTarget()->GetExecutionContext()) {