summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorne (Richard Coles) <torne@google.com>2014-05-15 12:16:45 +0100
committerTorne (Richard Coles) <torne@google.com>2014-05-15 12:16:45 +0100
commitf523d2789ac2f83c4eca0ee4d5161bfdb5f2d052 (patch)
tree655c14b07cadee37be23f1295426516f91661b12
parentc5c15faba7af2dbeec27cba941ae85b25b1cc893 (diff)
downloadWebKit-f523d2789ac2f83c4eca0ee4d5161bfdb5f2d052.tar.gz
Merge from Chromium at DEPS revision 269467
This commit was generated by merge_to_master.py. Change-Id: Ibe4bf25b1e1d66aba1e13e7c79b3c608dc0db399
-rw-r--r--Source/bindings/individual_generated_bindings.target.darwin-arm.mk2
-rw-r--r--Source/bindings/individual_generated_bindings.target.darwin-arm64.mk2
-rw-r--r--Source/bindings/individual_generated_bindings.target.darwin-mips.mk2
-rw-r--r--Source/bindings/individual_generated_bindings.target.darwin-x86.mk2
-rw-r--r--Source/bindings/individual_generated_bindings.target.darwin-x86_64.mk2
-rw-r--r--Source/bindings/individual_generated_bindings.target.linux-arm.mk2
-rw-r--r--Source/bindings/individual_generated_bindings.target.linux-arm64.mk2
-rw-r--r--Source/bindings/individual_generated_bindings.target.linux-mips.mk2
-rw-r--r--Source/bindings/individual_generated_bindings.target.linux-x86.mk2
-rw-r--r--Source/bindings/individual_generated_bindings.target.linux-x86_64.mk2
-rw-r--r--Source/core/accessibility/AXListBox.cpp2
-rw-r--r--Source/core/accessibility/AXListBoxOption.cpp2
-rw-r--r--Source/core/accessibility/AXMenuListPopup.cpp2
-rw-r--r--Source/core/accessibility/AXNodeObject.cpp2
-rw-r--r--Source/core/accessibility/AXRenderObject.cpp2
-rw-r--r--Source/core/animation/AnimationClock.cpp38
-rw-r--r--Source/core/animation/AnimationClock.h30
-rw-r--r--Source/core/animation/AnimationClockTest.cpp102
-rw-r--r--Source/core/animation/DocumentAnimations.cpp2
-rw-r--r--Source/core/animation/css/TransitionTimeline.cpp1
-rw-r--r--Source/core/dom/Document.cpp2
-rw-r--r--Source/core/dom/Document.h6
-rw-r--r--Source/core/dom/IdTargetObserver.cpp15
-rw-r--r--Source/core/dom/IdTargetObserver.h8
-rw-r--r--Source/core/dom/IdTargetObserverRegistry.cpp18
-rw-r--r--Source/core/dom/IdTargetObserverRegistry.h17
-rw-r--r--Source/core/dom/TreeScope.cpp1
-rw-r--r--Source/core/dom/TreeScope.h2
-rw-r--r--Source/core/html/FormAssociatedElement.cpp11
-rw-r--r--Source/core/html/HTMLFormElement.cpp13
-rw-r--r--Source/core/html/HTMLFormElement.h4
-rw-r--r--Source/core/html/HTMLInputElement.cpp22
-rw-r--r--Source/core/html/HTMLInputElement.h4
-rw-r--r--Source/core/html/HTMLKeygenElement.cpp4
-rw-r--r--Source/core/html/HTMLOptionElement.cpp4
-rw-r--r--Source/core/html/HTMLOptionsCollection.cpp6
-rw-r--r--Source/core/html/HTMLOptionsCollection.h6
-rw-r--r--Source/core/html/HTMLSelectElement.cpp74
-rw-r--r--Source/core/html/HTMLSelectElement.h9
-rw-r--r--Source/core/html/forms/FormController.cpp16
-rw-r--r--Source/core/html/forms/FormController.h8
-rw-r--r--Source/core/html/forms/InputTypeView.cpp2
-rw-r--r--Source/core/html/forms/InputTypeView.h2
-rw-r--r--Source/core/html/parser/HTMLConstructionSite.cpp14
-rw-r--r--Source/core/html/parser/HTMLConstructionSite.h4
-rw-r--r--Source/core/loader/FormState.cpp10
-rw-r--r--Source/core/loader/FormState.h10
-rw-r--r--Source/core/loader/FormSubmission.cpp5
-rw-r--r--Source/core/loader/FormSubmission.h4
-rw-r--r--Source/core/loader/FrameLoadRequest.h6
-rw-r--r--Source/core/loader/FrameLoader.cpp2
-rw-r--r--Source/core/loader/FrameLoader.h2
-rw-r--r--Source/core/make_core_generated.target.darwin-arm.mk2
-rw-r--r--Source/core/make_core_generated.target.darwin-arm64.mk2
-rw-r--r--Source/core/make_core_generated.target.darwin-mips.mk2
-rw-r--r--Source/core/make_core_generated.target.darwin-x86.mk2
-rw-r--r--Source/core/make_core_generated.target.darwin-x86_64.mk2
-rw-r--r--Source/core/make_core_generated.target.linux-arm.mk2
-rw-r--r--Source/core/make_core_generated.target.linux-arm64.mk2
-rw-r--r--Source/core/make_core_generated.target.linux-mips.mk2
-rw-r--r--Source/core/make_core_generated.target.linux-x86.mk2
-rw-r--r--Source/core/make_core_generated.target.linux-x86_64.mk2
-rw-r--r--Source/core/rendering/RenderListBox.cpp14
-rw-r--r--Source/core/rendering/RenderMenuList.cpp22
-rw-r--r--Source/core/webcore_dom.target.darwin-arm.mk2
-rw-r--r--Source/core/webcore_dom.target.darwin-arm64.mk2
-rw-r--r--Source/core/webcore_dom.target.darwin-mips.mk2
-rw-r--r--Source/core/webcore_dom.target.darwin-x86.mk2
-rw-r--r--Source/core/webcore_dom.target.darwin-x86_64.mk2
-rw-r--r--Source/core/webcore_dom.target.linux-arm.mk2
-rw-r--r--Source/core/webcore_dom.target.linux-arm64.mk2
-rw-r--r--Source/core/webcore_dom.target.linux-mips.mk2
-rw-r--r--Source/core/webcore_dom.target.linux-x86.mk2
-rw-r--r--Source/core/webcore_dom.target.linux-x86_64.mk2
-rw-r--r--Source/core/webcore_generated.target.darwin-arm.mk2
-rw-r--r--Source/core/webcore_generated.target.darwin-arm64.mk2
-rw-r--r--Source/core/webcore_generated.target.darwin-mips.mk2
-rw-r--r--Source/core/webcore_generated.target.darwin-x86.mk2
-rw-r--r--Source/core/webcore_generated.target.darwin-x86_64.mk2
-rw-r--r--Source/core/webcore_generated.target.linux-arm.mk2
-rw-r--r--Source/core/webcore_generated.target.linux-arm64.mk2
-rw-r--r--Source/core/webcore_generated.target.linux-mips.mk2
-rw-r--r--Source/core/webcore_generated.target.linux-x86.mk2
-rw-r--r--Source/core/webcore_generated.target.linux-x86_64.mk2
-rw-r--r--Source/core/webcore_html.target.darwin-arm.mk2
-rw-r--r--Source/core/webcore_html.target.darwin-arm64.mk2
-rw-r--r--Source/core/webcore_html.target.darwin-mips.mk2
-rw-r--r--Source/core/webcore_html.target.darwin-x86.mk2
-rw-r--r--Source/core/webcore_html.target.darwin-x86_64.mk2
-rw-r--r--Source/core/webcore_html.target.linux-arm.mk2
-rw-r--r--Source/core/webcore_html.target.linux-arm64.mk2
-rw-r--r--Source/core/webcore_html.target.linux-mips.mk2
-rw-r--r--Source/core/webcore_html.target.linux-x86.mk2
-rw-r--r--Source/core/webcore_html.target.linux-x86_64.mk2
-rw-r--r--Source/core/webcore_remaining.target.darwin-arm.mk2
-rw-r--r--Source/core/webcore_remaining.target.darwin-arm64.mk2
-rw-r--r--Source/core/webcore_remaining.target.darwin-mips.mk2
-rw-r--r--Source/core/webcore_remaining.target.darwin-x86.mk2
-rw-r--r--Source/core/webcore_remaining.target.darwin-x86_64.mk2
-rw-r--r--Source/core/webcore_remaining.target.linux-arm.mk2
-rw-r--r--Source/core/webcore_remaining.target.linux-arm64.mk2
-rw-r--r--Source/core/webcore_remaining.target.linux-mips.mk2
-rw-r--r--Source/core/webcore_remaining.target.linux-x86.mk2
-rw-r--r--Source/core/webcore_remaining.target.linux-x86_64.mk2
-rw-r--r--Source/core/webcore_rendering.target.darwin-arm.mk2
-rw-r--r--Source/core/webcore_rendering.target.darwin-arm64.mk2
-rw-r--r--Source/core/webcore_rendering.target.darwin-mips.mk2
-rw-r--r--Source/core/webcore_rendering.target.darwin-x86.mk2
-rw-r--r--Source/core/webcore_rendering.target.darwin-x86_64.mk2
-rw-r--r--Source/core/webcore_rendering.target.linux-arm.mk2
-rw-r--r--Source/core/webcore_rendering.target.linux-arm64.mk2
-rw-r--r--Source/core/webcore_rendering.target.linux-mips.mk2
-rw-r--r--Source/core/webcore_rendering.target.linux-x86.mk2
-rw-r--r--Source/core/webcore_rendering.target.linux-x86_64.mk2
-rw-r--r--Source/core/webcore_svg.target.darwin-arm.mk2
-rw-r--r--Source/core/webcore_svg.target.darwin-arm64.mk2
-rw-r--r--Source/core/webcore_svg.target.darwin-mips.mk2
-rw-r--r--Source/core/webcore_svg.target.darwin-x86.mk2
-rw-r--r--Source/core/webcore_svg.target.darwin-x86_64.mk2
-rw-r--r--Source/core/webcore_svg.target.linux-arm.mk2
-rw-r--r--Source/core/webcore_svg.target.linux-arm64.mk2
-rw-r--r--Source/core/webcore_svg.target.linux-mips.mk2
-rw-r--r--Source/core/webcore_svg.target.linux-x86.mk2
-rw-r--r--Source/core/webcore_svg.target.linux-x86_64.mk2
-rw-r--r--Source/devtools/devtools_html.target.darwin-arm.mk2
-rw-r--r--Source/devtools/devtools_html.target.darwin-arm64.mk2
-rw-r--r--Source/devtools/devtools_html.target.darwin-mips.mk2
-rw-r--r--Source/devtools/devtools_html.target.darwin-x86.mk2
-rw-r--r--Source/devtools/devtools_html.target.darwin-x86_64.mk2
-rw-r--r--Source/devtools/devtools_html.target.linux-arm.mk2
-rw-r--r--Source/devtools/devtools_html.target.linux-arm64.mk2
-rw-r--r--Source/devtools/devtools_html.target.linux-mips.mk2
-rw-r--r--Source/devtools/devtools_html.target.linux-x86.mk2
-rw-r--r--Source/devtools/devtools_html.target.linux-x86_64.mk2
-rw-r--r--Source/modules/modules.target.darwin-arm.mk2
-rw-r--r--Source/modules/modules.target.darwin-arm64.mk2
-rw-r--r--Source/modules/modules.target.darwin-mips.mk2
-rw-r--r--Source/modules/modules.target.darwin-x86.mk2
-rw-r--r--Source/modules/modules.target.darwin-x86_64.mk2
-rw-r--r--Source/modules/modules.target.linux-arm.mk2
-rw-r--r--Source/modules/modules.target.linux-arm64.mk2
-rw-r--r--Source/modules/modules.target.linux-mips.mk2
-rw-r--r--Source/modules/modules.target.linux-x86.mk2
-rw-r--r--Source/modules/modules.target.linux-x86_64.mk2
-rw-r--r--Source/modules/websockets/NewWebSocketChannelImpl.cpp9
-rw-r--r--Source/platform/blink_arm_neon.target.darwin-arm.mk2
-rw-r--r--Source/platform/blink_arm_neon.target.linux-arm.mk2
-rw-r--r--Source/platform/blink_common.target.darwin-arm.mk2
-rw-r--r--Source/platform/blink_common.target.darwin-arm64.mk2
-rw-r--r--Source/platform/blink_common.target.darwin-mips.mk2
-rw-r--r--Source/platform/blink_common.target.darwin-x86.mk2
-rw-r--r--Source/platform/blink_common.target.darwin-x86_64.mk2
-rw-r--r--Source/platform/blink_common.target.linux-arm.mk2
-rw-r--r--Source/platform/blink_common.target.linux-arm64.mk2
-rw-r--r--Source/platform/blink_common.target.linux-mips.mk2
-rw-r--r--Source/platform/blink_common.target.linux-x86.mk2
-rw-r--r--Source/platform/blink_common.target.linux-x86_64.mk2
-rw-r--r--Source/platform/blink_heap_asm_stubs.target.darwin-arm.mk2
-rw-r--r--Source/platform/blink_heap_asm_stubs.target.darwin-arm64.mk2
-rw-r--r--Source/platform/blink_heap_asm_stubs.target.darwin-mips.mk2
-rw-r--r--Source/platform/blink_heap_asm_stubs.target.darwin-x86.mk2
-rw-r--r--Source/platform/blink_heap_asm_stubs.target.darwin-x86_64.mk2
-rw-r--r--Source/platform/blink_heap_asm_stubs.target.linux-arm.mk2
-rw-r--r--Source/platform/blink_heap_asm_stubs.target.linux-arm64.mk2
-rw-r--r--Source/platform/blink_heap_asm_stubs.target.linux-mips.mk2
-rw-r--r--Source/platform/blink_heap_asm_stubs.target.linux-x86.mk2
-rw-r--r--Source/platform/blink_heap_asm_stubs.target.linux-x86_64.mk2
-rw-r--r--Source/platform/blink_platform.target.darwin-arm.mk2
-rw-r--r--Source/platform/blink_platform.target.darwin-arm64.mk2
-rw-r--r--Source/platform/blink_platform.target.darwin-mips.mk2
-rw-r--r--Source/platform/blink_platform.target.darwin-x86.mk2
-rw-r--r--Source/platform/blink_platform.target.darwin-x86_64.mk2
-rw-r--r--Source/platform/blink_platform.target.linux-arm.mk2
-rw-r--r--Source/platform/blink_platform.target.linux-arm64.mk2
-rw-r--r--Source/platform/blink_platform.target.linux-mips.mk2
-rw-r--r--Source/platform/blink_platform.target.linux-x86.mk2
-rw-r--r--Source/platform/blink_platform.target.linux-x86_64.mk2
-rw-r--r--Source/platform/heap/Heap.cpp132
-rw-r--r--Source/platform/heap/Heap.h204
-rw-r--r--Source/platform/heap/HeapTest.cpp9
-rw-r--r--Source/platform/heap/ThreadState.cpp65
-rw-r--r--Source/platform/heap/ThreadState.h2
-rw-r--r--Source/web/WebKit.cpp8
-rw-r--r--Source/web/WebSearchableFormData.cpp6
-rw-r--r--Source/web/WebSelectElement.cpp4
-rw-r--r--Source/web/blink_web.target.darwin-arm.mk2
-rw-r--r--Source/web/blink_web.target.darwin-arm64.mk2
-rw-r--r--Source/web/blink_web.target.darwin-mips.mk2
-rw-r--r--Source/web/blink_web.target.darwin-x86.mk2
-rw-r--r--Source/web/blink_web.target.darwin-x86_64.mk2
-rw-r--r--Source/web/blink_web.target.linux-arm.mk2
-rw-r--r--Source/web/blink_web.target.linux-arm64.mk2
-rw-r--r--Source/web/blink_web.target.linux-mips.mk2
-rw-r--r--Source/web/blink_web.target.linux-x86.mk2
-rw-r--r--Source/web/blink_web.target.linux-x86_64.mk2
-rw-r--r--Source/wtf/LinkedHashSet.h2
-rw-r--r--Source/wtf/ListHashSet.h38
-rw-r--r--Source/wtf/wtf.target.darwin-arm.mk2
-rw-r--r--Source/wtf/wtf.target.darwin-arm64.mk2
-rw-r--r--Source/wtf/wtf.target.darwin-mips.mk2
-rw-r--r--Source/wtf/wtf.target.darwin-x86.mk2
-rw-r--r--Source/wtf/wtf.target.darwin-x86_64.mk2
-rw-r--r--Source/wtf/wtf.target.linux-arm.mk2
-rw-r--r--Source/wtf/wtf.target.linux-arm64.mk2
-rw-r--r--Source/wtf/wtf.target.linux-mips.mk2
-rw-r--r--Source/wtf/wtf.target.linux-x86.mk2
-rw-r--r--Source/wtf/wtf.target.linux-x86_64.mk2
207 files changed, 842 insertions, 471 deletions
diff --git a/Source/bindings/individual_generated_bindings.target.darwin-arm.mk b/Source/bindings/individual_generated_bindings.target.darwin-arm.mk
index aadbd519b..8cd971679 100644
--- a/Source/bindings/individual_generated_bindings.target.darwin-arm.mk
+++ b/Source/bindings/individual_generated_bindings.target.darwin-arm.mk
@@ -7588,6 +7588,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -7673,6 +7674,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/bindings/individual_generated_bindings.target.darwin-arm64.mk b/Source/bindings/individual_generated_bindings.target.darwin-arm64.mk
index ef1bb6a34..9cfe27024 100644
--- a/Source/bindings/individual_generated_bindings.target.darwin-arm64.mk
+++ b/Source/bindings/individual_generated_bindings.target.darwin-arm64.mk
@@ -7585,6 +7585,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -7666,6 +7667,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/bindings/individual_generated_bindings.target.darwin-mips.mk b/Source/bindings/individual_generated_bindings.target.darwin-mips.mk
index 9de995ee0..9cd107ae5 100644
--- a/Source/bindings/individual_generated_bindings.target.darwin-mips.mk
+++ b/Source/bindings/individual_generated_bindings.target.darwin-mips.mk
@@ -7589,6 +7589,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -7675,6 +7676,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/bindings/individual_generated_bindings.target.darwin-x86.mk b/Source/bindings/individual_generated_bindings.target.darwin-x86.mk
index e3ec0d2ab..f67abc2e2 100644
--- a/Source/bindings/individual_generated_bindings.target.darwin-x86.mk
+++ b/Source/bindings/individual_generated_bindings.target.darwin-x86.mk
@@ -7589,6 +7589,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -7674,6 +7675,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/bindings/individual_generated_bindings.target.darwin-x86_64.mk b/Source/bindings/individual_generated_bindings.target.darwin-x86_64.mk
index 518fc0c16..1e82dab31 100644
--- a/Source/bindings/individual_generated_bindings.target.darwin-x86_64.mk
+++ b/Source/bindings/individual_generated_bindings.target.darwin-x86_64.mk
@@ -7589,6 +7589,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -7674,6 +7675,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/bindings/individual_generated_bindings.target.linux-arm.mk b/Source/bindings/individual_generated_bindings.target.linux-arm.mk
index aadbd519b..8cd971679 100644
--- a/Source/bindings/individual_generated_bindings.target.linux-arm.mk
+++ b/Source/bindings/individual_generated_bindings.target.linux-arm.mk
@@ -7588,6 +7588,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -7673,6 +7674,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/bindings/individual_generated_bindings.target.linux-arm64.mk b/Source/bindings/individual_generated_bindings.target.linux-arm64.mk
index ef1bb6a34..9cfe27024 100644
--- a/Source/bindings/individual_generated_bindings.target.linux-arm64.mk
+++ b/Source/bindings/individual_generated_bindings.target.linux-arm64.mk
@@ -7585,6 +7585,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -7666,6 +7667,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/bindings/individual_generated_bindings.target.linux-mips.mk b/Source/bindings/individual_generated_bindings.target.linux-mips.mk
index 9de995ee0..9cd107ae5 100644
--- a/Source/bindings/individual_generated_bindings.target.linux-mips.mk
+++ b/Source/bindings/individual_generated_bindings.target.linux-mips.mk
@@ -7589,6 +7589,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -7675,6 +7676,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/bindings/individual_generated_bindings.target.linux-x86.mk b/Source/bindings/individual_generated_bindings.target.linux-x86.mk
index e3ec0d2ab..f67abc2e2 100644
--- a/Source/bindings/individual_generated_bindings.target.linux-x86.mk
+++ b/Source/bindings/individual_generated_bindings.target.linux-x86.mk
@@ -7589,6 +7589,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -7674,6 +7675,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/bindings/individual_generated_bindings.target.linux-x86_64.mk b/Source/bindings/individual_generated_bindings.target.linux-x86_64.mk
index 518fc0c16..1e82dab31 100644
--- a/Source/bindings/individual_generated_bindings.target.linux-x86_64.mk
+++ b/Source/bindings/individual_generated_bindings.target.linux-x86_64.mk
@@ -7589,6 +7589,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -7674,6 +7675,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/core/accessibility/AXListBox.cpp b/Source/core/accessibility/AXListBox.cpp
index 6ac49d143..432302b6c 100644
--- a/Source/core/accessibility/AXListBox.cpp
+++ b/Source/core/accessibility/AXListBox.cpp
@@ -61,7 +61,7 @@ void AXListBox::addChildren()
m_haveChildren = true;
- const Vector<HTMLElement*>& listItems = toHTMLSelectElement(selectNode)->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = toHTMLSelectElement(selectNode)->listItems();
unsigned length = listItems.size();
for (unsigned i = 0; i < length; i++) {
// The cast to HTMLElement below is safe because the only other possible listItem type
diff --git a/Source/core/accessibility/AXListBoxOption.cpp b/Source/core/accessibility/AXListBoxOption.cpp
index 8858d8858..8e2471257 100644
--- a/Source/core/accessibility/AXListBoxOption.cpp
+++ b/Source/core/accessibility/AXListBoxOption.cpp
@@ -209,7 +209,7 @@ int AXListBoxOption::listBoxOptionIndex() const
if (!selectElement)
return -1;
- const Vector<HTMLElement*>& listItems = selectElement->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement->listItems();
unsigned length = listItems.size();
for (unsigned i = 0; i < length; i++) {
if (listItems[i] == m_optionElement)
diff --git a/Source/core/accessibility/AXMenuListPopup.cpp b/Source/core/accessibility/AXMenuListPopup.cpp
index b5641a5d4..b616e4726 100644
--- a/Source/core/accessibility/AXMenuListPopup.cpp
+++ b/Source/core/accessibility/AXMenuListPopup.cpp
@@ -99,7 +99,7 @@ void AXMenuListPopup::addChildren()
m_haveChildren = true;
- const Vector<HTMLElement*>& listItems = toHTMLSelectElement(selectNode)->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = toHTMLSelectElement(selectNode)->listItems();
unsigned length = listItems.size();
for (unsigned i = 0; i < length; i++) {
AXMenuListOption* option = menuListOptionAXObject(listItems[i]);
diff --git a/Source/core/accessibility/AXNodeObject.cpp b/Source/core/accessibility/AXNodeObject.cpp
index 0e53248ac..6410e9caf 100644
--- a/Source/core/accessibility/AXNodeObject.cpp
+++ b/Source/core/accessibility/AXNodeObject.cpp
@@ -1013,7 +1013,7 @@ String AXNodeObject::stringValue() const
if (isHTMLSelectElement(*node)) {
HTMLSelectElement& selectElement = toHTMLSelectElement(*node);
int selectedIndex = selectElement.selectedIndex();
- const Vector<HTMLElement*> listItems = selectElement.listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement.listItems();
if (selectedIndex >= 0 && static_cast<size_t>(selectedIndex) < listItems.size()) {
const AtomicString& overriddenDescription = listItems[selectedIndex]->fastGetAttribute(aria_labelAttr);
if (!overriddenDescription.isNull())
diff --git a/Source/core/accessibility/AXRenderObject.cpp b/Source/core/accessibility/AXRenderObject.cpp
index 9b024295b..99c6da4e3 100644
--- a/Source/core/accessibility/AXRenderObject.cpp
+++ b/Source/core/accessibility/AXRenderObject.cpp
@@ -876,7 +876,7 @@ String AXRenderObject::stringValue() const
// This has to be overridden in the case where the selected item has an ARIA label.
HTMLSelectElement* selectElement = toHTMLSelectElement(m_renderer->node());
int selectedIndex = selectElement->selectedIndex();
- const Vector<HTMLElement*> listItems = selectElement->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement->listItems();
if (selectedIndex >= 0 && static_cast<size_t>(selectedIndex) < listItems.size()) {
const AtomicString& overriddenDescription = listItems[selectedIndex]->fastGetAttribute(aria_labelAttr);
if (!overriddenDescription.isNull())
diff --git a/Source/core/animation/AnimationClock.cpp b/Source/core/animation/AnimationClock.cpp
index 304136c4b..649220690 100644
--- a/Source/core/animation/AnimationClock.cpp
+++ b/Source/core/animation/AnimationClock.cpp
@@ -28,54 +28,26 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <math.h>
#include "config.h"
#include "core/animation/AnimationClock.h"
-#include "wtf/CurrentTime.h"
-
-namespace {
-
-// FIXME: This is an approximation of time between frames, used when
-// ticking the animation clock outside of animation frame callbacks.
-// Ideally this would be generated by the compositor.
-const double approximateFrameTime = 1 / 60.0;
-
-}
namespace WebCore {
-unsigned AnimationClock::s_currentTask = 0;
-
void AnimationClock::updateTime(double time)
{
if (time > m_time)
m_time = time;
- m_currentTask = s_currentTask;
+ m_frozen = true;
}
double AnimationClock::currentTime()
{
- if (m_currentTask != s_currentTask) {
- const double currentTime = m_monotonicallyIncreasingTime();
- if (m_time < currentTime) {
- // Advance to the first estimated frame after the current time.
- const double frameShift = fmod(currentTime - m_time, approximateFrameTime);
- const double newTime = currentTime + approximateFrameTime - frameShift;
- ASSERT(newTime > currentTime);
- ASSERT(newTime <= currentTime + approximateFrameTime);
- updateTime(newTime);
- } else {
- m_currentTask = s_currentTask;
- }
+ if (!m_frozen) {
+ double newTime = m_monotonicallyIncreasingTime();
+ if (newTime >= m_time + minTimeBeforeUnsynchronizedAnimationClockTick)
+ m_time = newTime;
}
return m_time;
}
-void AnimationClock::resetTimeForTesting()
-{
- m_time = 0;
- m_currentTask = 0;
- s_currentTask = 0;
-}
-
}
diff --git a/Source/core/animation/AnimationClock.h b/Source/core/animation/AnimationClock.h
index e5a3bdbff..540dfbeb2 100644
--- a/Source/core/animation/AnimationClock.h
+++ b/Source/core/animation/AnimationClock.h
@@ -31,34 +31,40 @@
#ifndef AnimationClock_h
#define AnimationClock_h
-#include <limits>
#include "wtf/CurrentTime.h"
#include "wtf/PassOwnPtr.h"
-#include "wtf/Noncopyable.h"
namespace WebCore {
+// FIXME: This value is used to suppress updates when time is required outside of a frame.
+// The purpose of allowing the clock to update during such periods is to allow animations
+// to have an appropriate start time and for getComputedStyle to attempt to catch-up to a
+// compositor animation. However a more accurate system might be to attempt to phase-lock
+// with the frame clock.
+const double minTimeBeforeUnsynchronizedAnimationClockTick = 0.005;
+
class AnimationClock {
- WTF_MAKE_NONCOPYABLE(AnimationClock);
public:
- explicit AnimationClock(WTF::TimeFunction monotonicallyIncreasingTime = WTF::monotonicallyIncreasingTime)
- : m_monotonicallyIncreasingTime(monotonicallyIncreasingTime)
- , m_time(0)
- , m_currentTask(std::numeric_limits<unsigned>::max())
+ static PassOwnPtr<AnimationClock> create(WTF::TimeFunction monotonicallyIncreasingTime = WTF::monotonicallyIncreasingTime)
{
+ return adoptPtr(new AnimationClock(monotonicallyIncreasingTime));
}
void updateTime(double time);
double currentTime();
- void resetTimeForTesting();
-
- static void notifyTaskStart() { ++s_currentTask; }
+ void unfreeze() { m_frozen = false; }
+ void resetTimeForTesting() { m_time = 0; m_frozen = true; }
private:
+ AnimationClock(WTF::TimeFunction monotonicallyIncreasingTime)
+ : m_monotonicallyIncreasingTime(monotonicallyIncreasingTime)
+ , m_time(0)
+ , m_frozen(false)
+ {
+ }
WTF::TimeFunction m_monotonicallyIncreasingTime;
double m_time;
- unsigned m_currentTask;
- static unsigned s_currentTask;
+ bool m_frozen;
};
} // namespace WebCore
diff --git a/Source/core/animation/AnimationClockTest.cpp b/Source/core/animation/AnimationClockTest.cpp
index 2823fb1bd..7e54cde98 100644
--- a/Source/core/animation/AnimationClockTest.cpp
+++ b/Source/core/animation/AnimationClockTest.cpp
@@ -39,15 +39,11 @@ using namespace WebCore;
namespace {
class AnimationAnimationClockTest : public ::testing::Test {
-public:
- AnimationAnimationClockTest()
- : animationClock(mockTimeFunction)
- {}
protected:
virtual void SetUp()
{
- mockTime = 0;
- animationClock.resetTimeForTesting();
+ animationClock = AnimationClock::create(mockTimeFunction);
+ mockTime = 200;
}
static double mockTimeFunction()
@@ -56,88 +52,36 @@ protected:
}
static double mockTime;
- AnimationClock animationClock;
+ OwnPtr<AnimationClock> animationClock;
};
double AnimationAnimationClockTest::mockTime;
-TEST_F(AnimationAnimationClockTest, TimeIsGreaterThanZeroForUnitTests)
+TEST_F(AnimationAnimationClockTest, CurrentTime)
{
- AnimationClock clock;
- // unit tests outside core/animation shouldn't need to do anything to get
- // a non-zero currentTime().
- EXPECT_GT(clock.currentTime(), 0);
-}
-
-TEST_F(AnimationAnimationClockTest, TimeDoesNotChange)
-{
- animationClock.updateTime(100);
- EXPECT_EQ(100, animationClock.currentTime());
- EXPECT_EQ(100, animationClock.currentTime());
-}
-
-TEST_F(AnimationAnimationClockTest, TimeAdvancesWhenUpdated)
-{
- animationClock.updateTime(100);
- EXPECT_EQ(100, animationClock.currentTime());
+ // Current time should not advance until minTimeBeforeUnsynchronizedTick has elapsed
+ EXPECT_EQ(200, animationClock->currentTime());
+ mockTime = 200 + minTimeBeforeUnsynchronizedAnimationClockTick / 2.0;
+ EXPECT_EQ(200, animationClock->currentTime());
- animationClock.updateTime(200);
- EXPECT_EQ(200, animationClock.currentTime());
+ mockTime = 200 + minTimeBeforeUnsynchronizedAnimationClockTick;
+ EXPECT_EQ(mockTime, animationClock->currentTime());
}
-TEST_F(AnimationAnimationClockTest, TimeAdvancesToTaskTime)
+TEST_F(AnimationAnimationClockTest, UpdateTime)
{
- animationClock.updateTime(100);
- EXPECT_EQ(100, animationClock.currentTime());
-
- mockTime = 150;
- AnimationClock::notifyTaskStart();
- EXPECT_GE(animationClock.currentTime(), mockTime);
-}
-
-TEST_F(AnimationAnimationClockTest, TimeAdvancesToTaskTimeOnlyWhenRequired)
-{
- animationClock.updateTime(100);
- EXPECT_EQ(100, animationClock.currentTime());
-
- AnimationClock::notifyTaskStart();
- animationClock.updateTime(125);
- EXPECT_EQ(125, animationClock.currentTime());
-}
-
-TEST_F(AnimationAnimationClockTest, UpdateTimeIsMonotonic)
-{
- animationClock.updateTime(100);
- EXPECT_EQ(100, animationClock.currentTime());
-
- // Update can't go backwards.
- animationClock.updateTime(50);
- EXPECT_EQ(100, animationClock.currentTime());
-
- mockTime = 50;
- AnimationClock::notifyTaskStart();
- EXPECT_EQ(100, animationClock.currentTime());
-
- mockTime = 150;
- AnimationClock::notifyTaskStart();
- EXPECT_GE(animationClock.currentTime(), mockTime);
-
- // Update can't go backwards after advance to estimate.
- animationClock.updateTime(100);
- EXPECT_GE(animationClock.currentTime(), mockTime);
-}
-
-TEST_F(AnimationAnimationClockTest, CurrentTimeUpdatesTask)
-{
- animationClock.updateTime(100);
- EXPECT_EQ(100, animationClock.currentTime());
-
- mockTime = 100;
- AnimationClock::notifyTaskStart();
- EXPECT_EQ(100, animationClock.currentTime());
-
- mockTime = 150;
- EXPECT_EQ(100, animationClock.currentTime());
+ animationClock->updateTime(100);
+ EXPECT_EQ(100, animationClock->currentTime());
+ mockTime = 200;
+ EXPECT_EQ(100, animationClock->currentTime());
+
+ animationClock->unfreeze();
+ EXPECT_EQ(200, animationClock->currentTime());
+
+ animationClock->updateTime(300);
+ EXPECT_EQ(300, animationClock->currentTime());
+ mockTime = 400;
+ EXPECT_EQ(300, animationClock->currentTime());
}
}
diff --git a/Source/core/animation/DocumentAnimations.cpp b/Source/core/animation/DocumentAnimations.cpp
index 7fe6e3efe..16815bb5d 100644
--- a/Source/core/animation/DocumentAnimations.cpp
+++ b/Source/core/animation/DocumentAnimations.cpp
@@ -92,6 +92,8 @@ void DocumentAnimations::startPendingAnimations(Document& document)
ASSERT(document.view());
document.view()->scheduleAnimation();
}
+
+ document.animationClock().unfreeze();
}
} // namespace WebCore
diff --git a/Source/core/animation/css/TransitionTimeline.cpp b/Source/core/animation/css/TransitionTimeline.cpp
index 0952326e7..9680f9817 100644
--- a/Source/core/animation/css/TransitionTimeline.cpp
+++ b/Source/core/animation/css/TransitionTimeline.cpp
@@ -45,6 +45,7 @@ TransitionTimeline::TransitionTimeline(Document* document, PassOwnPtr<PlatformTi
: DocumentTimeline(document, timing)
{
setZeroTime(document->animationClock().currentTime());
+ document->animationClock().unfreeze();
}
} // namespace WebCore
diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp
index 4b89020e1..d99f5d004 100644
--- a/Source/core/dom/Document.cpp
+++ b/Source/core/dom/Document.cpp
@@ -42,6 +42,7 @@
#include "bindings/v8/ExceptionStatePlaceholder.h"
#include "bindings/v8/ScriptController.h"
#include "core/accessibility/AXObjectCache.h"
+#include "core/animation/AnimationClock.h"
#include "core/animation/DocumentAnimations.h"
#include "core/animation/DocumentTimeline.h"
#include "core/animation/css/TransitionTimeline.h"
@@ -475,6 +476,7 @@ Document::Document(const DocumentInit& initializer, DocumentClassFlags documentC
#ifndef NDEBUG
, m_didDispatchViewportPropertiesChanged(false)
#endif
+ , m_animationClock(AnimationClock::create())
, m_timeline(DocumentTimeline::create(this))
, m_transitionTimeline(TransitionTimeline::create(this))
, m_templateDocumentHost(nullptr)
diff --git a/Source/core/dom/Document.h b/Source/core/dom/Document.h
index ef6c24a16..48d4e117a 100644
--- a/Source/core/dom/Document.h
+++ b/Source/core/dom/Document.h
@@ -30,7 +30,6 @@
#include "bindings/v8/ExceptionStatePlaceholder.h"
#include "bindings/v8/ScriptValue.h"
-#include "core/animation/AnimationClock.h"
#include "core/animation/CompositorPendingAnimations.h"
#include "core/dom/ContainerNode.h"
#include "core/dom/DocumentEncodingData.h"
@@ -65,6 +64,7 @@
namespace WebCore {
class AXObjectCache;
+class AnimationClock;
class Attr;
class CDATASection;
class CSSFontSelector;
@@ -1022,7 +1022,7 @@ public:
// Return a Locale for the default locale if the argument is null or empty.
Locale& getCachedLocale(const AtomicString& locale = nullAtom);
- AnimationClock& animationClock() { return m_animationClock; }
+ AnimationClock& animationClock() { return *m_animationClock; }
DocumentTimeline& timeline() const { return *m_timeline; }
DocumentTimeline& transitionTimeline() const { return *m_transitionTimeline; }
CompositorPendingAnimations& compositorPendingAnimations() { return m_compositorPendingAnimations; }
@@ -1369,7 +1369,7 @@ private:
typedef HashMap<AtomicString, OwnPtr<Locale> > LocaleIdentifierToLocaleMap;
LocaleIdentifierToLocaleMap m_localeCache;
- AnimationClock m_animationClock;
+ OwnPtr<AnimationClock> m_animationClock;
RefPtr<DocumentTimeline> m_timeline;
RefPtr<DocumentTimeline> m_transitionTimeline;
CompositorPendingAnimations m_compositorPendingAnimations;
diff --git a/Source/core/dom/IdTargetObserver.cpp b/Source/core/dom/IdTargetObserver.cpp
index 50294e4db..c821d7803 100644
--- a/Source/core/dom/IdTargetObserver.cpp
+++ b/Source/core/dom/IdTargetObserver.cpp
@@ -30,24 +30,29 @@
namespace WebCore {
-IdTargetObserver::IdTargetObserver(IdTargetObserverRegistry& registry, const AtomicString& id)
- : m_registry(registry)
+IdTargetObserver::IdTargetObserver(IdTargetObserverRegistry& observerRegistry, const AtomicString& id)
+ : m_registry(&observerRegistry)
, m_id(id)
{
- m_registry.addObserver(m_id, this);
+ registry().addObserver(m_id, this);
}
IdTargetObserver::~IdTargetObserver()
{
#if !ENABLE(OILPAN)
- m_registry.removeObserver(m_id, this);
+ registry().removeObserver(m_id, this);
#endif
}
+void IdTargetObserver::trace(Visitor* visitor)
+{
+ visitor->trace(m_registry);
+}
+
void IdTargetObserver::unregister()
{
#if ENABLE(OILPAN)
- m_registry.removeObserver(m_id, this);
+ registry().removeObserver(m_id, this);
#endif
}
diff --git a/Source/core/dom/IdTargetObserver.h b/Source/core/dom/IdTargetObserver.h
index 1fc4cd6f5..71ee604cd 100644
--- a/Source/core/dom/IdTargetObserver.h
+++ b/Source/core/dom/IdTargetObserver.h
@@ -26,15 +26,17 @@
#ifndef IdTargetObserver_h
#define IdTargetObserver_h
+#include "platform/heap/Handle.h"
#include "wtf/text/AtomicString.h"
namespace WebCore {
class IdTargetObserverRegistry;
-class IdTargetObserver {
+class IdTargetObserver : public NoBaseWillBeGarbageCollectedFinalized<IdTargetObserver> {
public:
virtual ~IdTargetObserver();
+ virtual void trace(Visitor*);
virtual void idTargetChanged() = 0;
virtual void unregister();
@@ -42,7 +44,9 @@ protected:
IdTargetObserver(IdTargetObserverRegistry&, const AtomicString& id);
private:
- IdTargetObserverRegistry& m_registry;
+ IdTargetObserverRegistry& registry() { return *m_registry; }
+
+ RawPtrWillBeMember<IdTargetObserverRegistry> m_registry;
AtomicString m_id;
};
diff --git a/Source/core/dom/IdTargetObserverRegistry.cpp b/Source/core/dom/IdTargetObserverRegistry.cpp
index 80bd6b33f..36e7f60c8 100644
--- a/Source/core/dom/IdTargetObserverRegistry.cpp
+++ b/Source/core/dom/IdTargetObserverRegistry.cpp
@@ -30,9 +30,15 @@
namespace WebCore {
-PassOwnPtr<IdTargetObserverRegistry> IdTargetObserverRegistry::create()
+PassOwnPtrWillBeRawPtr<IdTargetObserverRegistry> IdTargetObserverRegistry::create()
{
- return adoptPtr(new IdTargetObserverRegistry());
+ return adoptPtrWillBeNoop(new IdTargetObserverRegistry());
+}
+
+void IdTargetObserverRegistry::trace(Visitor* visitor)
+{
+ visitor->trace(m_registry);
+ visitor->trace(m_notifyingObserversInSet);
}
void IdTargetObserverRegistry::addObserver(const AtomicString& id, IdTargetObserver* observer)
@@ -42,7 +48,7 @@ void IdTargetObserverRegistry::addObserver(const AtomicString& id, IdTargetObser
IdToObserverSetMap::AddResult result = m_registry.add(id.impl(), nullptr);
if (result.isNewEntry)
- result.storedValue->value = adoptPtr(new ObserverSet());
+ result.storedValue->value = adoptPtrWillBeNoop(new ObserverSet());
result.storedValue->value->add(observer);
}
@@ -69,9 +75,9 @@ void IdTargetObserverRegistry::notifyObserversInternal(const AtomicString& id)
if (!m_notifyingObserversInSet)
return;
- Vector<IdTargetObserver*> copy;
+ WillBeHeapVector<RawPtrWillBeMember<IdTargetObserver> > copy;
copyToVector(*m_notifyingObserversInSet, copy);
- for (Vector<IdTargetObserver*>::const_iterator it = copy.begin(); it != copy.end(); ++it) {
+ for (WillBeHeapVector<RawPtrWillBeMember<IdTargetObserver> >::const_iterator it = copy.begin(); it != copy.end(); ++it) {
if (m_notifyingObserversInSet->contains(*it))
(*it)->idTargetChanged();
}
@@ -79,7 +85,7 @@ void IdTargetObserverRegistry::notifyObserversInternal(const AtomicString& id)
if (m_notifyingObserversInSet->isEmpty())
m_registry.remove(id.impl());
- m_notifyingObserversInSet = 0;
+ m_notifyingObserversInSet = nullptr;
}
bool IdTargetObserverRegistry::hasObservers(const AtomicString& id) const
diff --git a/Source/core/dom/IdTargetObserverRegistry.h b/Source/core/dom/IdTargetObserverRegistry.h
index 2f047ecb3..cb191e35c 100644
--- a/Source/core/dom/IdTargetObserverRegistry.h
+++ b/Source/core/dom/IdTargetObserverRegistry.h
@@ -26,6 +26,7 @@
#ifndef IdTargetObserverRegistry_h
#define IdTargetObserverRegistry_h
+#include "platform/heap/Handle.h"
#include "wtf/Forward.h"
#include "wtf/HashMap.h"
#include "wtf/HashSet.h"
@@ -36,24 +37,26 @@ namespace WebCore {
class IdTargetObserver;
-class IdTargetObserverRegistry {
- WTF_MAKE_NONCOPYABLE(IdTargetObserverRegistry); WTF_MAKE_FAST_ALLOCATED;
+class IdTargetObserverRegistry FINAL : public NoBaseWillBeGarbageCollectedFinalized<IdTargetObserverRegistry> {
+ WTF_MAKE_NONCOPYABLE(IdTargetObserverRegistry);
+ WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
friend class IdTargetObserver;
public:
- static PassOwnPtr<IdTargetObserverRegistry> create();
+ static PassOwnPtrWillBeRawPtr<IdTargetObserverRegistry> create();
+ void trace(Visitor*);
void notifyObservers(const AtomicString& id);
bool hasObservers(const AtomicString& id) const;
private:
- IdTargetObserverRegistry() : m_notifyingObserversInSet(0) { }
+ IdTargetObserverRegistry() : m_notifyingObserversInSet(nullptr) { }
void addObserver(const AtomicString& id, IdTargetObserver*);
void removeObserver(const AtomicString& id, IdTargetObserver*);
void notifyObserversInternal(const AtomicString& id);
- typedef HashSet<IdTargetObserver*> ObserverSet;
- typedef HashMap<StringImpl*, OwnPtr<ObserverSet> > IdToObserverSetMap;
+ typedef WillBeHeapHashSet<RawPtrWillBeMember<IdTargetObserver> > ObserverSet;
+ typedef WillBeHeapHashMap<StringImpl*, OwnPtrWillBeMember<ObserverSet> > IdToObserverSetMap;
IdToObserverSetMap m_registry;
- ObserverSet* m_notifyingObserversInSet;
+ RawPtrWillBeMember<ObserverSet> m_notifyingObserversInSet;
};
inline void IdTargetObserverRegistry::notifyObservers(const AtomicString& id)
diff --git a/Source/core/dom/TreeScope.cpp b/Source/core/dom/TreeScope.cpp
index efe9c5045..709033ae3 100644
--- a/Source/core/dom/TreeScope.cpp
+++ b/Source/core/dom/TreeScope.cpp
@@ -542,6 +542,7 @@ void TreeScope::trace(Visitor* visitor)
visitor->trace(m_rootNode);
visitor->trace(m_document);
visitor->trace(m_parentTreeScope);
+ visitor->trace(m_idTargetObserverRegistry);
visitor->trace(m_selection);
}
diff --git a/Source/core/dom/TreeScope.h b/Source/core/dom/TreeScope.h
index 78ad612a3..a3ea521c7 100644
--- a/Source/core/dom/TreeScope.h
+++ b/Source/core/dom/TreeScope.h
@@ -186,7 +186,7 @@ private:
OwnPtr<DocumentOrderedMap> m_imageMapsByName;
OwnPtr<DocumentOrderedMap> m_labelsByForAttribute;
- OwnPtr<IdTargetObserverRegistry> m_idTargetObserverRegistry;
+ OwnPtrWillBeMember<IdTargetObserverRegistry> m_idTargetObserverRegistry;
mutable RefPtrWillBeMember<DOMSelection> m_selection;
};
diff --git a/Source/core/html/FormAssociatedElement.cpp b/Source/core/html/FormAssociatedElement.cpp
index 6a809afb5..5304066ac 100644
--- a/Source/core/html/FormAssociatedElement.cpp
+++ b/Source/core/html/FormAssociatedElement.cpp
@@ -36,12 +36,11 @@ namespace WebCore {
using namespace HTMLNames;
-// FIXME: Oilpan: IdTargetObserver should be on-heap.
-class FormAttributeTargetObserver : public NoBaseWillBeGarbageCollectedFinalized<FormAttributeTargetObserver>, public IdTargetObserver {
+class FormAttributeTargetObserver : public IdTargetObserver {
WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
public:
static PassOwnPtrWillBeRawPtr<FormAttributeTargetObserver> create(const AtomicString& id, FormAssociatedElement*);
- void trace(Visitor* visitor) { visitor->trace(m_element); }
+ virtual void trace(Visitor*) OVERRIDE;
virtual void idTargetChanged() OVERRIDE;
private:
@@ -338,6 +337,12 @@ FormAttributeTargetObserver::FormAttributeTargetObserver(const AtomicString& id,
{
}
+void FormAttributeTargetObserver::trace(Visitor* visitor)
+{
+ visitor->trace(m_element);
+ IdTargetObserver::trace(visitor);
+}
+
void FormAttributeTargetObserver::idTargetChanged()
{
m_element->formAttributeTargetChanged();
diff --git a/Source/core/html/HTMLFormElement.cpp b/Source/core/html/HTMLFormElement.cpp
index 69b2e0028..f8bf106da 100644
--- a/Source/core/html/HTMLFormElement.cpp
+++ b/Source/core/html/HTMLFormElement.cpp
@@ -94,6 +94,7 @@ HTMLFormElement::~HTMLFormElement()
void HTMLFormElement::trace(Visitor* visitor)
{
#if ENABLE(OILPAN)
+ visitor->trace(m_pastNamesMap);
visitor->trace(m_associatedElements);
#endif
HTMLElement::trace(visitor);
@@ -269,7 +270,7 @@ bool HTMLFormElement::validateInteractively(Event* event)
// has !renderer()->needsLayout() assertion.
document().updateLayoutIgnorePendingStylesheets();
- RefPtr<HTMLFormElement> protector(this);
+ RefPtrWillBeRawPtr<HTMLFormElement> protector(this);
// Focus on the first focusable control and show a validation message.
for (unsigned i = 0; i < unhandledInvalidControls.size(); ++i) {
FormAssociatedElement* unhandledAssociatedElement = unhandledInvalidControls[i].get();
@@ -299,7 +300,7 @@ bool HTMLFormElement::validateInteractively(Event* event)
void HTMLFormElement::prepareForSubmission(Event* event)
{
- RefPtr<HTMLFormElement> protector(this);
+ RefPtrWillBeRawPtr<HTMLFormElement> protector(this);
LocalFrame* frame = document().frame();
if (!frame)
return;
@@ -655,7 +656,7 @@ bool HTMLFormElement::checkValidity()
bool HTMLFormElement::checkInvalidControlsAndCollectUnhandled(WillBeHeapVector<RefPtrWillBeMember<FormAssociatedElement> >* unhandledInvalidControls)
{
- RefPtr<HTMLFormElement> protector(this);
+ RefPtrWillBeRawPtr<HTMLFormElement> protector(this);
// Copy associatedElements because event handlers called from
// HTMLFormControlElement::checkValidity() might change associatedElements.
const FormAssociatedElement::List& associatedElements = this->associatedElements();
@@ -699,7 +700,7 @@ void HTMLFormElement::addToPastNamesMap(Element* element, const AtomicString& pa
if (pastName.isEmpty())
return;
if (!m_pastNamesMap)
- m_pastNamesMap = adoptPtr(new PastNamesMap);
+ m_pastNamesMap = adoptPtrWillBeNoop(new PastNamesMap);
m_pastNamesMap->set(pastName, element);
}
@@ -709,8 +710,8 @@ void HTMLFormElement::removeFromPastNamesMap(HTMLElement& element)
return;
PastNamesMap::iterator end = m_pastNamesMap->end();
for (PastNamesMap::iterator it = m_pastNamesMap->begin(); it != end; ++it) {
- if (it->value == &element) {
- it->value = 0;
+ if (it->value.get() == &element) {
+ it->value = nullptr;
// Keep looping. Single element can have multiple names.
}
}
diff --git a/Source/core/html/HTMLFormElement.h b/Source/core/html/HTMLFormElement.h
index 5ea8a7a4a..743997f2c 100644
--- a/Source/core/html/HTMLFormElement.h
+++ b/Source/core/html/HTMLFormElement.h
@@ -154,10 +154,10 @@ private:
void addToPastNamesMap(Element*, const AtomicString& pastName);
void removeFromPastNamesMap(HTMLElement&);
- typedef HashMap<AtomicString, Element*> PastNamesMap;
+ typedef WillBeHeapHashMap<AtomicString, RawPtrWillBeMember<Element> > PastNamesMap;
FormSubmission::Attributes m_attributes;
- OwnPtr<PastNamesMap> m_pastNamesMap;
+ OwnPtrWillBeMember<PastNamesMap> m_pastNamesMap;
RadioButtonGroupScope m_radioButtonGroupScope;
diff --git a/Source/core/html/HTMLInputElement.cpp b/Source/core/html/HTMLInputElement.cpp
index c24197a4d..6e13bc0d9 100644
--- a/Source/core/html/HTMLInputElement.cpp
+++ b/Source/core/html/HTMLInputElement.cpp
@@ -83,15 +83,16 @@ namespace WebCore {
using namespace HTMLNames;
class ListAttributeTargetObserver : public IdTargetObserver {
- WTF_MAKE_FAST_ALLOCATED;
+ WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
public:
- static PassOwnPtr<ListAttributeTargetObserver> create(const AtomicString& id, HTMLInputElement*);
+ static PassOwnPtrWillBeRawPtr<ListAttributeTargetObserver> create(const AtomicString& id, HTMLInputElement*);
+ virtual void trace(Visitor*) OVERRIDE;
virtual void idTargetChanged() OVERRIDE;
private:
ListAttributeTargetObserver(const AtomicString& id, HTMLInputElement*);
- HTMLInputElement* m_element;
+ RawPtrWillBeMember<HTMLInputElement> m_element;
};
// FIXME: According to HTML4, the length attribute's value can be arbitrarily
@@ -140,6 +141,7 @@ void HTMLInputElement::trace(Visitor* visitor)
{
visitor->trace(m_inputType);
visitor->trace(m_inputTypeView);
+ visitor->trace(m_listAttributeTargetObserver);
HTMLTextFormControlElement::trace(visitor);
}
@@ -1161,7 +1163,7 @@ void HTMLInputElement::defaultEventHandler(Event* evt)
if (wasChangedSinceLastFormControlChangeEvent())
dispatchFormControlChangeEvent();
- RefPtr<HTMLFormElement> formForSubmission = m_inputTypeView->formForSubmission();
+ RefPtrWillBeRawPtr<HTMLFormElement> formForSubmission = m_inputTypeView->formForSubmission();
// Form may never have been present, or may have been destroyed by code responding to the change event.
if (formForSubmission)
formForSubmission->submitImplicitly(evt, canTriggerImplicitSubmission());
@@ -1507,7 +1509,7 @@ bool HTMLInputElement::hasValidDataListOptions() const
return false;
}
-void HTMLInputElement::setListAttributeTargetObserver(PassOwnPtr<ListAttributeTargetObserver> newObserver)
+void HTMLInputElement::setListAttributeTargetObserver(PassOwnPtrWillBeRawPtr<ListAttributeTargetObserver> newObserver)
{
if (m_listAttributeTargetObserver)
m_listAttributeTargetObserver->unregister();
@@ -1762,9 +1764,9 @@ void HTMLInputElement::setWidth(unsigned width)
setUnsignedIntegralAttribute(widthAttr, width);
}
-PassOwnPtr<ListAttributeTargetObserver> ListAttributeTargetObserver::create(const AtomicString& id, HTMLInputElement* element)
+PassOwnPtrWillBeRawPtr<ListAttributeTargetObserver> ListAttributeTargetObserver::create(const AtomicString& id, HTMLInputElement* element)
{
- return adoptPtr(new ListAttributeTargetObserver(id, element));
+ return adoptPtrWillBeNoop(new ListAttributeTargetObserver(id, element));
}
ListAttributeTargetObserver::ListAttributeTargetObserver(const AtomicString& id, HTMLInputElement* element)
@@ -1773,6 +1775,12 @@ ListAttributeTargetObserver::ListAttributeTargetObserver(const AtomicString& id,
{
}
+void ListAttributeTargetObserver::trace(Visitor* visitor)
+{
+ visitor->trace(m_element);
+ IdTargetObserver::trace(visitor);
+}
+
void ListAttributeTargetObserver::idTargetChanged()
{
m_element->listAttributeTargetChanged();
diff --git a/Source/core/html/HTMLInputElement.h b/Source/core/html/HTMLInputElement.h
index 6c4f20eed..7980046e3 100644
--- a/Source/core/html/HTMLInputElement.h
+++ b/Source/core/html/HTMLInputElement.h
@@ -361,7 +361,7 @@ private:
virtual void subtreeHasChanged() OVERRIDE FINAL;
- void setListAttributeTargetObserver(PassOwnPtr<ListAttributeTargetObserver>);
+ void setListAttributeTargetObserver(PassOwnPtrWillBeRawPtr<ListAttributeTargetObserver>);
void resetListAttributeTargetObserver();
void parseMaxLengthAttribute(const AtomicString&);
void updateValueIfNeeded();
@@ -401,7 +401,7 @@ private:
// that it lives as long as its owning element lives. If we move the loader into
// the ImageInput object we may delete the loader while this element lives on.
OwnPtr<HTMLImageLoader> m_imageLoader;
- OwnPtr<ListAttributeTargetObserver> m_listAttributeTargetObserver;
+ OwnPtrWillBeMember<ListAttributeTargetObserver> m_listAttributeTargetObserver;
};
} //namespace
diff --git a/Source/core/html/HTMLKeygenElement.cpp b/Source/core/html/HTMLKeygenElement.cpp
index 0fb9dc103..73a583420 100644
--- a/Source/core/html/HTMLKeygenElement.cpp
+++ b/Source/core/html/HTMLKeygenElement.cpp
@@ -57,10 +57,10 @@ void HTMLKeygenElement::didAddUserAgentShadowRoot(ShadowRoot& root)
getSupportedKeySizes(locale(), keys);
// Create a select element with one option element for each key size.
- RefPtr<HTMLSelectElement> select = HTMLSelectElement::create(document());
+ RefPtrWillBeRawPtr<HTMLSelectElement> select = HTMLSelectElement::create(document());
select->setShadowPseudoId(keygenSelectPseudoId);
for (size_t i = 0; i < keys.size(); ++i) {
- RefPtr<HTMLOptionElement> option = HTMLOptionElement::create(document());
+ RefPtrWillBeRawPtr<HTMLOptionElement> option = HTMLOptionElement::create(document());
option->appendChild(Text::create(document(), keys[i]));
select->appendChild(option);
}
diff --git a/Source/core/html/HTMLOptionElement.cpp b/Source/core/html/HTMLOptionElement.cpp
index 5311478d6..29512a1a4 100644
--- a/Source/core/html/HTMLOptionElement.cpp
+++ b/Source/core/html/HTMLOptionElement.cpp
@@ -162,12 +162,12 @@ int HTMLOptionElement::index() const
int optionIndex = 0;
- const Vector<HTMLElement*>& items = selectElement->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = selectElement->listItems();
size_t length = items.size();
for (size_t i = 0; i < length; ++i) {
if (!isHTMLOptionElement(*items[i]))
continue;
- if (items[i] == this)
+ if (items[i].get() == this)
return optionIndex;
++optionIndex;
}
diff --git a/Source/core/html/HTMLOptionsCollection.cpp b/Source/core/html/HTMLOptionsCollection.cpp
index 867b7bf70..fdf20fe71 100644
--- a/Source/core/html/HTMLOptionsCollection.cpp
+++ b/Source/core/html/HTMLOptionsCollection.cpp
@@ -69,12 +69,12 @@ PassRefPtr<HTMLOptionsCollection> HTMLOptionsCollection::create(ContainerNode& s
return adoptRef(new HTMLOptionsCollection(select));
}
-void HTMLOptionsCollection::add(PassRefPtr<HTMLOptionElement> element, ExceptionState& exceptionState)
+void HTMLOptionsCollection::add(PassRefPtrWillBeRawPtr<HTMLOptionElement> element, ExceptionState& exceptionState)
{
add(element, length(), exceptionState);
}
-void HTMLOptionsCollection::add(PassRefPtr<HTMLOptionElement> element, int index, ExceptionState& exceptionState)
+void HTMLOptionsCollection::add(PassRefPtrWillBeRawPtr<HTMLOptionElement> element, int index, ExceptionState& exceptionState)
{
HTMLOptionElement* newOption = element.get();
@@ -142,7 +142,7 @@ void HTMLOptionsCollection::namedGetter(const AtomicString& name, bool& returnVa
returnValue0 = NamedNodesCollection::create(namedItems);
}
-bool HTMLOptionsCollection::anonymousIndexedSetter(unsigned index, PassRefPtr<HTMLOptionElement> value, ExceptionState& exceptionState)
+bool HTMLOptionsCollection::anonymousIndexedSetter(unsigned index, PassRefPtrWillBeRawPtr<HTMLOptionElement> value, ExceptionState& exceptionState)
{
HTMLSelectElement& base = toHTMLSelectElement(ownerNode());
if (!value) { // undefined or null
diff --git a/Source/core/html/HTMLOptionsCollection.h b/Source/core/html/HTMLOptionsCollection.h
index 6927922f4..73adce94f 100644
--- a/Source/core/html/HTMLOptionsCollection.h
+++ b/Source/core/html/HTMLOptionsCollection.h
@@ -36,8 +36,8 @@ class HTMLOptionsCollection FINAL : public HTMLCollection {
public:
static PassRefPtr<HTMLOptionsCollection> create(ContainerNode&, CollectionType);
- void add(PassRefPtr<HTMLOptionElement>, ExceptionState&);
- void add(PassRefPtr<HTMLOptionElement>, int index, ExceptionState&);
+ void add(PassRefPtrWillBeRawPtr<HTMLOptionElement>, ExceptionState&);
+ void add(PassRefPtrWillBeRawPtr<HTMLOptionElement>, int index, ExceptionState&);
void remove(int index);
void remove(HTMLOptionElement*);
@@ -46,7 +46,7 @@ public:
void setLength(unsigned, ExceptionState&);
void namedGetter(const AtomicString& name, bool&, RefPtr<NodeList>&, bool&, RefPtr<Element>&);
- bool anonymousIndexedSetter(unsigned, PassRefPtr<HTMLOptionElement>, ExceptionState&);
+ bool anonymousIndexedSetter(unsigned, PassRefPtrWillBeRawPtr<HTMLOptionElement>, ExceptionState&);
private:
explicit HTMLOptionsCollection(ContainerNode&);
diff --git a/Source/core/html/HTMLSelectElement.cpp b/Source/core/html/HTMLSelectElement.cpp
index f51d4f025..b038e0fb7 100644
--- a/Source/core/html/HTMLSelectElement.cpp
+++ b/Source/core/html/HTMLSelectElement.cpp
@@ -229,7 +229,7 @@ void HTMLSelectElement::remove(int optionIndex)
String HTMLSelectElement::value() const
{
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
for (unsigned i = 0; i < items.size(); i++) {
if (isHTMLOptionElement(items[i]) && toHTMLOptionElement(items[i])->selected())
return toHTMLOptionElement(items[i])->value();
@@ -245,7 +245,7 @@ void HTMLSelectElement::setValue(const String &value, bool sendEvents)
optionIndex = -1;
} else {
// Find the option with value() matching the given parameter and make it the current selection.
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
for (unsigned i = 0; i < items.size(); i++) {
if (isHTMLOptionElement(items[i])) {
if (toHTMLOptionElement(items[i])->value() == value)
@@ -270,7 +270,7 @@ void HTMLSelectElement::setValue(const String &value, bool sendEvents)
String HTMLSelectElement::suggestedValue() const
{
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
for (unsigned i = 0; i < items.size(); ++i) {
if (isHTMLOptionElement(items[i]) && m_suggestedIndex >= 0) {
if (i == static_cast<unsigned>(m_suggestedIndex))
@@ -287,7 +287,7 @@ void HTMLSelectElement::setSuggestedValue(const String& value)
return;
}
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
unsigned optionIndex = 0;
for (unsigned i = 0; i < items.size(); ++i) {
if (isHTMLOptionElement(items[i])) {
@@ -482,7 +482,7 @@ void HTMLSelectElement::setLength(unsigned newLen, ExceptionState& exceptionStat
break;
} while (++diff);
} else {
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
// Removing children fires mutation events, which might mutate the DOM further, so we first copy out a list
// of elements that we intend to remove then attempt to remove them one at a time.
@@ -517,7 +517,7 @@ bool HTMLSelectElement::isRequiredFormControl() const
int HTMLSelectElement::nextValidIndex(int listIndex, SkipDirection direction, int skip) const
{
ASSERT(direction == -1 || direction == 1);
- const Vector<HTMLElement*>& listItems = this->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = this->listItems();
int lastGoodIndex = listIndex;
int size = listItems.size();
for (listIndex += direction; listIndex >= 0 && listIndex < size; listIndex += direction) {
@@ -546,7 +546,7 @@ int HTMLSelectElement::previousSelectableListIndex(int startIndex) const
int HTMLSelectElement::firstSelectableListIndex() const
{
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
int index = nextValidIndex(items.size(), SkipBackwards, INT_MAX);
if (static_cast<size_t>(index) == items.size())
return -1;
@@ -561,7 +561,7 @@ int HTMLSelectElement::lastSelectableListIndex() const
// Returns the index of the next valid item one page away from |startIndex| in direction |direction|.
int HTMLSelectElement::nextSelectableListIndexPageAway(int startIndex, SkipDirection direction) const
{
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
// Can't use m_size because renderer forces a minimum size.
int pageSize = 0;
if (renderer()->isListBox())
@@ -602,7 +602,7 @@ void HTMLSelectElement::saveLastSelection()
}
m_lastOnChangeSelection.clear();
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
for (unsigned i = 0; i < items.size(); ++i) {
HTMLElement* element = items[i];
m_lastOnChangeSelection.append(isHTMLOptionElement(*element) && toHTMLOptionElement(element)->selected());
@@ -617,7 +617,7 @@ void HTMLSelectElement::setActiveSelectionAnchorIndex(int index)
// selection pivots around this anchor index.
m_cachedStateForActiveSelection.clear();
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
for (unsigned i = 0; i < items.size(); ++i) {
HTMLElement* element = items[i];
m_cachedStateForActiveSelection.append(isHTMLOptionElement(*element) && toHTMLOptionElement(element)->selected());
@@ -637,7 +637,7 @@ void HTMLSelectElement::updateListBoxSelection(bool deselectOtherOptions)
unsigned start = min(m_activeSelectionAnchorIndex, m_activeSelectionEndIndex);
unsigned end = max(m_activeSelectionAnchorIndex, m_activeSelectionEndIndex);
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
for (unsigned i = 0; i < items.size(); ++i) {
HTMLElement* element = items[i];
if (!isHTMLOptionElement(*element) || toHTMLOptionElement(element)->isDisabledFormControl() || toHTMLOptionElement(element)->isDisplayNone())
@@ -660,7 +660,7 @@ void HTMLSelectElement::listBoxOnChange()
{
ASSERT(!usesMenuList() || m_multiple);
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
// If the cached selection list is empty, or the size has changed, then fire
// dispatchFormControlChangeEvent, and return early.
@@ -681,7 +681,7 @@ void HTMLSelectElement::listBoxOnChange()
}
if (fireOnChange) {
- RefPtr<HTMLSelectElement> protector(this);
+ RefPtrWillBeRawPtr<HTMLSelectElement> protector(this);
dispatchInputEvent();
dispatchFormControlChangeEvent();
}
@@ -695,7 +695,7 @@ void HTMLSelectElement::dispatchInputAndChangeEventForMenuList(bool requiresUser
if (m_lastOnChangeIndex != selected && (!requiresUserGesture || m_isProcessingUserDrivenChange)) {
m_lastOnChangeIndex = selected;
m_isProcessingUserDrivenChange = false;
- RefPtr<HTMLSelectElement> protector(this);
+ RefPtrWillBeRawPtr<HTMLSelectElement> protector(this);
dispatchInputEvent();
dispatchFormControlChangeEvent();
}
@@ -720,13 +720,13 @@ void HTMLSelectElement::setOptionsChangedOnRenderer()
}
}
-const Vector<HTMLElement*>& HTMLSelectElement::listItems() const
+const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& HTMLSelectElement::listItems() const
{
if (m_shouldRecalcListItems)
recalcListItems();
else {
#if !ASSERT_DISABLED
- Vector<HTMLElement*> items = m_listItems;
+ WillBeHeapVector<RawPtrWillBeMember<HTMLElement> > items = m_listItems;
recalcListItems(false);
ASSERT(items == m_listItems);
#endif
@@ -829,7 +829,7 @@ int HTMLSelectElement::selectedIndex() const
unsigned index = 0;
// Return the number of the first option selected.
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
for (size_t i = 0; i < items.size(); ++i) {
HTMLElement* element = items[i];
if (isHTMLOptionElement(*element)) {
@@ -878,7 +878,7 @@ void HTMLSelectElement::selectOption(int optionIndex, SelectOptionFlags flags)
{
bool shouldDeselect = !m_multiple || (flags & DeselectOtherOptions);
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
int listIndex = optionToListIndex(optionIndex);
HTMLElement* element = 0;
@@ -921,7 +921,7 @@ void HTMLSelectElement::selectOption(int optionIndex, SelectOptionFlags flags)
int HTMLSelectElement::optionToListIndex(int optionIndex) const
{
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
int listSize = static_cast<int>(items.size());
if (optionIndex < 0 || optionIndex >= listSize)
return -1;
@@ -940,7 +940,7 @@ int HTMLSelectElement::optionToListIndex(int optionIndex) const
int HTMLSelectElement::listToOptionIndex(int listIndex) const
{
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
if (listIndex < 0 || listIndex >= static_cast<int>(items.size()) || !isHTMLOptionElement(*items[listIndex]))
return -1;
@@ -975,7 +975,7 @@ void HTMLSelectElement::dispatchBlurEvent(Element* newFocusedElement)
void HTMLSelectElement::deselectItemsWithoutValidation(HTMLElement* excludeElement)
{
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
for (unsigned i = 0; i < items.size(); ++i) {
HTMLElement* element = items[i];
if (element != excludeElement && isHTMLOptionElement(*element))
@@ -985,7 +985,7 @@ void HTMLSelectElement::deselectItemsWithoutValidation(HTMLElement* excludeEleme
FormControlState HTMLSelectElement::saveFormControlState() const
{
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
size_t length = items.size();
FormControlState state;
for (unsigned i = 0; i < length; ++i) {
@@ -1003,7 +1003,7 @@ FormControlState HTMLSelectElement::saveFormControlState() const
size_t HTMLSelectElement::searchOptionsForValue(const String& value, size_t listIndexStart, size_t listIndexEnd) const
{
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
size_t loopEndIndex = std::min(items.size(), listIndexEnd);
for (size_t i = listIndexStart; i < loopEndIndex; ++i) {
if (!isHTMLOptionElement(items[i]))
@@ -1018,7 +1018,7 @@ void HTMLSelectElement::restoreFormControlState(const FormControlState& state)
{
recalcListItems();
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
size_t itemsSize = items.size();
if (!itemsSize)
return;
@@ -1067,7 +1067,7 @@ bool HTMLSelectElement::appendFormData(FormDataList& list, bool)
return false;
bool successful = false;
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
for (unsigned i = 0; i < items.size(); ++i) {
HTMLElement* element = items[i];
@@ -1088,7 +1088,7 @@ void HTMLSelectElement::resetImpl()
HTMLOptionElement* firstOption = 0;
HTMLOptionElement* selectedOption = 0;
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
for (unsigned i = 0; i < items.size(); ++i) {
HTMLElement* element = items[i];
if (!isHTMLOptionElement(*element))
@@ -1166,7 +1166,7 @@ void HTMLSelectElement::menuListDefaultEventHandler(Event* event)
const String& keyIdentifier = toKeyboardEvent(event)->keyIdentifier();
bool handled = true;
- const Vector<HTMLElement*>& listItems = this->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = this->listItems();
int listIndex = optionToListIndex(selectedIndex());
if (keyIdentifier == "Down" || keyIdentifier == "Right")
@@ -1337,7 +1337,7 @@ void HTMLSelectElement::updateSelectedState(int listIndex, bool multi, bool shif
void HTMLSelectElement::listBoxDefaultEventHandler(Event* event)
{
- const Vector<HTMLElement*>& listItems = this->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = this->listItems();
if (event->type() == EventTypeNames::gesturetap && event->isGestureEvent()) {
focus();
// Calling focus() may cause us to lose our renderer or change the render type, in which case do not want to handle the event.
@@ -1536,7 +1536,7 @@ void HTMLSelectElement::defaultEventHandler(Event* event)
int HTMLSelectElement::lastSelectedListIndex() const
{
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
for (size_t i = items.size(); i;) {
HTMLElement* element = items[--i];
if (isHTMLOptionElement(*element) && toHTMLOptionElement(element)->selected())
@@ -1557,7 +1557,7 @@ int HTMLSelectElement::optionCount() const
String HTMLSelectElement::optionAtIndex(int index) const
{
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
HTMLElement* element = items[index];
if (!isHTMLOptionElement(*element) || toHTMLOptionElement(element)->isDisabledFormControl())
@@ -1592,7 +1592,7 @@ void HTMLSelectElement::accessKeySetSelectedIndex(int index)
accessKeyAction(false);
// If this index is already selected, unselect. otherwise update the selected index.
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
int listIndex = optionToListIndex(index);
if (listIndex >= 0) {
HTMLElement* element = items[listIndex];
@@ -1616,7 +1616,7 @@ unsigned HTMLSelectElement::length() const
{
unsigned options = 0;
- const Vector<HTMLElement*>& items = listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& items = listItems();
for (unsigned i = 0; i < items.size(); ++i) {
if (isHTMLOptionElement(*items[i]))
++options;
@@ -1631,7 +1631,7 @@ void HTMLSelectElement::finishParsingChildren()
updateListItemSelectedStates();
}
-bool HTMLSelectElement::anonymousIndexedSetter(unsigned index, PassRefPtr<HTMLOptionElement> value, ExceptionState& exceptionState)
+bool HTMLSelectElement::anonymousIndexedSetter(unsigned index, PassRefPtrWillBeRawPtr<HTMLOptionElement> value, ExceptionState& exceptionState)
{
if (!value) { // undefined or null
remove(index);
@@ -1656,4 +1656,12 @@ void HTMLSelectElement::updateListOnRenderer()
setOptionsChangedOnRenderer();
}
+void HTMLSelectElement::trace(Visitor* visitor)
+{
+#if ENABLE(OILPAN)
+ visitor->trace(m_listItems);
+#endif
+ HTMLFormControlElementWithState::trace(visitor);
+}
+
} // namespace
diff --git a/Source/core/html/HTMLSelectElement.h b/Source/core/html/HTMLSelectElement.h
index 926d22484..6b76380ae 100644
--- a/Source/core/html/HTMLSelectElement.h
+++ b/Source/core/html/HTMLSelectElement.h
@@ -82,7 +82,7 @@ public:
void invalidateSelectedItems();
void updateListItemSelectedStates();
- const Vector<HTMLElement*>& listItems() const;
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems() const;
virtual void accessKeyAction(bool sendMouseEvents) OVERRIDE;
void accessKeySetSelectedIndex(int);
@@ -114,9 +114,12 @@ public:
// For use in the implementation of HTMLOptionElement.
void optionSelectionStateChanged(HTMLOptionElement*, bool optionIsSelected);
- bool anonymousIndexedSetter(unsigned, PassRefPtr<HTMLOptionElement>, ExceptionState&);
+ bool anonymousIndexedSetter(unsigned, PassRefPtrWillBeRawPtr<HTMLOptionElement>, ExceptionState&);
void updateListOnRenderer();
+
+ virtual void trace(Visitor*) OVERRIDE;
+
protected:
HTMLSelectElement(Document&, HTMLFormElement*);
@@ -198,7 +201,7 @@ private:
virtual String optionAtIndex(int index) const OVERRIDE;
// m_listItems contains HTMLOptionElement, HTMLOptGroupElement, and HTMLHRElement objects.
- mutable Vector<HTMLElement*> m_listItems;
+ mutable WillBeHeapVector<RawPtrWillBeMember<HTMLElement> > m_listItems;
Vector<bool> m_lastOnChangeSelection;
Vector<bool> m_cachedStateForActiveSelection;
TypeAhead m_typeAhead;
diff --git a/Source/core/html/forms/FormController.cpp b/Source/core/html/forms/FormController.cpp
index fa7e90135..8d4aadc24 100644
--- a/Source/core/html/forms/FormController.cpp
+++ b/Source/core/html/forms/FormController.cpp
@@ -288,19 +288,20 @@ Vector<String> SavedFormState::getReferencedFilePaths() const
// ----------------------------------------------------------------------------
-class FormKeyGenerator {
+class FormKeyGenerator FINAL : public NoBaseWillBeGarbageCollectedFinalized<FormKeyGenerator> {
WTF_MAKE_NONCOPYABLE(FormKeyGenerator);
- WTF_MAKE_FAST_ALLOCATED;
+ WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
public:
- static PassOwnPtr<FormKeyGenerator> create() { return adoptPtr(new FormKeyGenerator); }
+ static PassOwnPtrWillBeRawPtr<FormKeyGenerator> create() { return adoptPtrWillBeNoop(new FormKeyGenerator); }
+ void trace(Visitor* visitor) { visitor->trace(m_formToKeyMap); }
const AtomicString& formKey(const HTMLFormControlElementWithState&);
void willDeleteForm(HTMLFormElement*);
private:
FormKeyGenerator() { }
- typedef HashMap<HTMLFormElement*, AtomicString> FormToKeyMap;
+ typedef WillBeHeapHashMap<RawPtrWillBeMember<HTMLFormElement>, AtomicString> FormToKeyMap;
typedef HashMap<String, unsigned> FormSignatureToNextIndexMap;
FormToKeyMap m_formToKeyMap;
FormSignatureToNextIndexMap m_formSignatureToNextIndexMap;
@@ -379,9 +380,7 @@ PassRefPtrWillBeRawPtr<DocumentState> DocumentState::create()
return adoptRefWillBeNoop(new DocumentState);
}
-DocumentState::~DocumentState()
-{
-}
+DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(DocumentState)
void DocumentState::trace(Visitor* visitor)
{
@@ -411,7 +410,7 @@ static String formStateSignature()
Vector<String> DocumentState::toStateVector()
{
- OwnPtr<FormKeyGenerator> keyGenerator = FormKeyGenerator::create();
+ OwnPtrWillBeRawPtr<FormKeyGenerator> keyGenerator = FormKeyGenerator::create();
OwnPtr<SavedFormStateMap> stateMap = adoptPtr(new SavedFormStateMap);
for (FormElementListHashSet::const_iterator it = m_formControls.begin(); it != m_formControls.end(); ++it) {
HTMLFormControlElementWithState* control = (*it).get();
@@ -451,6 +450,7 @@ FormController::~FormController()
void FormController::trace(Visitor* visitor)
{
visitor->trace(m_documentState);
+ visitor->trace(m_formKeyGenerator);
}
DocumentState* FormController::formElementsState() const
diff --git a/Source/core/html/forms/FormController.h b/Source/core/html/forms/FormController.h
index d2e15867f..0671fe8a2 100644
--- a/Source/core/html/forms/FormController.h
+++ b/Source/core/html/forms/FormController.h
@@ -74,10 +74,10 @@ inline void FormControlState::append(const String& value)
typedef HashMap<AtomicString, OwnPtr<SavedFormState> > SavedFormStateMap;
-class DocumentState : public RefCountedWillBeGarbageCollectedFinalized<DocumentState> {
+class DocumentState FINAL : public RefCountedWillBeGarbageCollected<DocumentState> {
+ DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(DocumentState);
public:
static PassRefPtrWillBeRawPtr<DocumentState> create();
- ~DocumentState();
void trace(Visitor*);
void addControl(HTMLFormControlElementWithState*);
@@ -89,7 +89,7 @@ private:
FormElementListHashSet m_formControls;
};
-class FormController : public NoBaseWillBeGarbageCollectedFinalized<FormController> {
+class FormController FINAL : public NoBaseWillBeGarbageCollectedFinalized<FormController> {
WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
public:
static PassOwnPtrWillBeRawPtr<FormController> create()
@@ -121,7 +121,7 @@ private:
RadioButtonGroupScope m_radioButtonGroupScope;
RefPtrWillBeMember<DocumentState> m_documentState;
SavedFormStateMap m_savedFormStateMap;
- OwnPtr<FormKeyGenerator> m_formKeyGenerator;
+ OwnPtrWillBeMember<FormKeyGenerator> m_formKeyGenerator;
};
} // namespace WebCore
diff --git a/Source/core/html/forms/InputTypeView.cpp b/Source/core/html/forms/InputTypeView.cpp
index 74a71bb3c..ce48e891b 100644
--- a/Source/core/html/forms/InputTypeView.cpp
+++ b/Source/core/html/forms/InputTypeView.cpp
@@ -92,7 +92,7 @@ bool InputTypeView::shouldSubmitImplicitly(Event* event)
return false;
}
-PassRefPtr<HTMLFormElement> InputTypeView::formForSubmission() const
+PassRefPtrWillBeRawPtr<HTMLFormElement> InputTypeView::formForSubmission() const
{
return element().form();
}
diff --git a/Source/core/html/forms/InputTypeView.h b/Source/core/html/forms/InputTypeView.h
index 8ff949a1d..73e66997b 100644
--- a/Source/core/html/forms/InputTypeView.h
+++ b/Source/core/html/forms/InputTypeView.h
@@ -87,7 +87,7 @@ public:
virtual void handleTouchEvent(TouchEvent*);
virtual void forwardEvent(Event*);
virtual bool shouldSubmitImplicitly(Event*);
- virtual PassRefPtr<HTMLFormElement> formForSubmission() const;
+ virtual PassRefPtrWillBeRawPtr<HTMLFormElement> formForSubmission() const;
virtual bool hasCustomFocusLogic() const;
virtual void handleFocusEvent(Element* oldFocusedElement, FocusType);
virtual void handleBlurEvent();
diff --git a/Source/core/html/parser/HTMLConstructionSite.cpp b/Source/core/html/parser/HTMLConstructionSite.cpp
index 1b72f2200..4ed34652a 100644
--- a/Source/core/html/parser/HTMLConstructionSite.cpp
+++ b/Source/core/html/parser/HTMLConstructionSite.cpp
@@ -596,12 +596,12 @@ void HTMLConstructionSite::insertHTMLBodyElement(AtomicHTMLToken* token)
void HTMLConstructionSite::insertHTMLFormElement(AtomicHTMLToken* token, bool isDemoted)
{
- RefPtr<Element> element = createHTMLElement(token);
+ RefPtrWillBeRawPtr<Element> element = createHTMLElement(token);
ASSERT(isHTMLFormElement(element));
m_form = static_pointer_cast<HTMLFormElement>(element.release());
m_form->setDemoted(isDemoted);
- attachLater(currentNode(), m_form);
- m_openElements.push(HTMLStackItem::create(m_form, token));
+ attachLater(currentNode(), m_form.get());
+ m_openElements.push(HTMLStackItem::create(m_form.get(), token));
}
void HTMLConstructionSite::insertHTMLElement(AtomicHTMLToken* token)
@@ -731,7 +731,7 @@ inline Document& HTMLConstructionSite::ownerDocumentForCurrentNode()
return currentNode()->document();
}
-PassRefPtr<Element> HTMLConstructionSite::createHTMLElement(AtomicHTMLToken* token)
+PassRefPtrWillBeRawPtr<Element> HTMLConstructionSite::createHTMLElement(AtomicHTMLToken* token)
{
Document& document = ownerDocumentForCurrentNode();
// Only associate the element with the current form if we're creating the new element
@@ -740,7 +740,13 @@ PassRefPtr<Element> HTMLConstructionSite::createHTMLElement(AtomicHTMLToken* tok
// FIXME: This can't use HTMLConstructionSite::createElement because we
// have to pass the current form element. We should rework form association
// to occur after construction to allow better code sharing here.
+#if ENABLE(OILPAN)
+ // FIXME: Oilpan: HTMLElementFactory::createHTMLElement should return a raw
+ // pointer.
+ RawPtr<Element> element = HTMLElementFactory::createHTMLElement(token->name(), document, form, true).get();
+#else
RefPtr<Element> element = HTMLElementFactory::createHTMLElement(token->name(), document, form, true);
+#endif
setAttributes(element.get(), token, m_parserContentPolicy);
ASSERT(element->isHTMLElement());
return element.release();
diff --git a/Source/core/html/parser/HTMLConstructionSite.h b/Source/core/html/parser/HTMLConstructionSite.h
index 06b577fc6..85a5aebc0 100644
--- a/Source/core/html/parser/HTMLConstructionSite.h
+++ b/Source/core/html/parser/HTMLConstructionSite.h
@@ -213,7 +213,7 @@ private:
void findFosterSite(HTMLConstructionSiteTask&);
- PassRefPtr<Element> createHTMLElement(AtomicHTMLToken*);
+ PassRefPtrWillBeRawPtr<Element> createHTMLElement(AtomicHTMLToken*);
PassRefPtr<Element> createElement(AtomicHTMLToken*, const AtomicString& namespaceURI);
void mergeAttributesFromTokenIntoElement(AtomicHTMLToken*, Element*);
@@ -230,7 +230,7 @@ private:
ContainerNode* m_attachmentRoot;
RefPtr<HTMLStackItem> m_head;
- RefPtr<HTMLFormElement> m_form;
+ RefPtrWillBePersistent<HTMLFormElement> m_form;
mutable HTMLElementStack m_openElements;
mutable HTMLFormattingElementList m_activeFormattingElements;
diff --git a/Source/core/loader/FormState.cpp b/Source/core/loader/FormState.cpp
index affecfbfa..11c5d5c23 100644
--- a/Source/core/loader/FormState.cpp
+++ b/Source/core/loader/FormState.cpp
@@ -40,9 +40,15 @@ inline FormState::FormState(HTMLFormElement& form, FormSubmissionTrigger formSub
{
}
-PassRefPtr<FormState> FormState::create(HTMLFormElement& form, FormSubmissionTrigger formSubmissionTrigger)
+PassRefPtrWillBeRawPtr<FormState> FormState::create(HTMLFormElement& form, FormSubmissionTrigger formSubmissionTrigger)
{
- return adoptRef(new FormState(form, formSubmissionTrigger));
+ return adoptRefWillBeNoop(new FormState(form, formSubmissionTrigger));
+}
+
+void FormState::trace(Visitor* visitor)
+{
+ visitor->trace(m_form);
+ visitor->trace(m_sourceDocument);
}
}
diff --git a/Source/core/loader/FormState.h b/Source/core/loader/FormState.h
index 675a98760..6fd7d5361 100644
--- a/Source/core/loader/FormState.h
+++ b/Source/core/loader/FormState.h
@@ -29,6 +29,7 @@
#ifndef FormState_h
#define FormState_h
+#include "platform/heap/Handle.h"
#include "wtf/RefCounted.h"
#include "wtf/RefPtr.h"
@@ -42,9 +43,10 @@ namespace WebCore {
NotSubmittedByJavaScript
};
- class FormState : public RefCounted<FormState> {
+ class FormState FINAL : public RefCountedWillBeGarbageCollected<FormState> {
public:
- static PassRefPtr<FormState> create(HTMLFormElement&, FormSubmissionTrigger);
+ static PassRefPtrWillBeRawPtr<FormState> create(HTMLFormElement&, FormSubmissionTrigger);
+ void trace(Visitor*);
HTMLFormElement* form() const { return m_form.get(); }
Document* sourceDocument() const { return m_sourceDocument.get(); }
@@ -53,8 +55,8 @@ namespace WebCore {
private:
FormState(HTMLFormElement&, FormSubmissionTrigger);
- RefPtr<HTMLFormElement> m_form;
- RefPtr<Document> m_sourceDocument;
+ RefPtrWillBeMember<HTMLFormElement> m_form;
+ RefPtrWillBeMember<Document> m_sourceDocument;
FormSubmissionTrigger m_formSubmissionTrigger;
};
diff --git a/Source/core/loader/FormSubmission.cpp b/Source/core/loader/FormSubmission.cpp
index 139f820c9..283b54c19 100644
--- a/Source/core/loader/FormSubmission.cpp
+++ b/Source/core/loader/FormSubmission.cpp
@@ -143,7 +143,7 @@ void FormSubmission::Attributes::copyFrom(const Attributes& other)
m_acceptCharset = other.m_acceptCharset;
}
-inline FormSubmission::FormSubmission(Method method, const KURL& action, const AtomicString& target, const AtomicString& contentType, PassRefPtr<FormState> state, PassRefPtr<FormData> data, const String& boundary, PassRefPtrWillBeRawPtr<Event> event)
+inline FormSubmission::FormSubmission(Method method, const KURL& action, const AtomicString& target, const AtomicString& contentType, PassRefPtrWillBeRawPtr<FormState> state, PassRefPtr<FormData> data, const String& boundary, PassRefPtrWillBeRawPtr<Event> event)
: m_method(method)
, m_action(action)
, m_target(target)
@@ -243,8 +243,7 @@ PassRefPtr<FormSubmission> FormSubmission::create(HTMLFormElement* form, const A
formData->setIdentifier(generateFormDataIdentifier());
formData->setContainsPasswordData(containsPasswordData);
AtomicString targetOrBaseTarget = copiedAttributes.target().isEmpty() ? document.baseTarget() : copiedAttributes.target();
- RefPtr<FormState> formState = FormState::create(*form, trigger);
- return adoptRef(new FormSubmission(copiedAttributes.method(), actionURL, targetOrBaseTarget, encodingType, formState.release(), formData.release(), boundary, event));
+ return adoptRef(new FormSubmission(copiedAttributes.method(), actionURL, targetOrBaseTarget, encodingType, FormState::create(*form, trigger), formData.release(), boundary, event));
}
KURL FormSubmission::requestURL() const
diff --git a/Source/core/loader/FormSubmission.h b/Source/core/loader/FormSubmission.h
index 192c4c4fb..46fcd82ef 100644
--- a/Source/core/loader/FormSubmission.h
+++ b/Source/core/loader/FormSubmission.h
@@ -113,7 +113,7 @@ public:
const String& result() const { return m_result; }
private:
- FormSubmission(Method, const KURL& action, const AtomicString& target, const AtomicString& contentType, PassRefPtr<FormState>, PassRefPtr<FormData>, const String& boundary, PassRefPtrWillBeRawPtr<Event>);
+ FormSubmission(Method, const KURL& action, const AtomicString& target, const AtomicString& contentType, PassRefPtrWillBeRawPtr<FormState>, PassRefPtr<FormData>, const String& boundary, PassRefPtrWillBeRawPtr<Event>);
// FormSubmission for DialogMethod
FormSubmission(const String& result);
@@ -122,7 +122,7 @@ private:
KURL m_action;
AtomicString m_target;
AtomicString m_contentType;
- RefPtr<FormState> m_formState;
+ RefPtrWillBePersistent<FormState> m_formState;
RefPtr<FormData> m_formData;
String m_boundary;
RefPtrWillBePersistent<Event> m_event;
diff --git a/Source/core/loader/FrameLoadRequest.h b/Source/core/loader/FrameLoadRequest.h
index cce34bcb7..2e01a0161 100644
--- a/Source/core/loader/FrameLoadRequest.h
+++ b/Source/core/loader/FrameLoadRequest.h
@@ -95,20 +95,20 @@ public:
void setTriggeringEvent(PassRefPtrWillBeRawPtr<Event> triggeringEvent) { m_triggeringEvent = triggeringEvent; }
FormState* formState() const { return m_formState.get(); }
- void setFormState(PassRefPtr<FormState> formState) { m_formState = formState; }
+ void setFormState(PassRefPtrWillBeRawPtr<FormState> formState) { m_formState = formState; }
ShouldSendReferrer shouldSendReferrer() const { return m_shouldSendReferrer; }
void setShouldSendReferrer(ShouldSendReferrer shouldSendReferrer) { m_shouldSendReferrer = shouldSendReferrer; }
private:
- RefPtr<Document> m_originDocument;
+ RefPtrWillBePersistent<Document> m_originDocument;
ResourceRequest m_resourceRequest;
AtomicString m_frameName;
SubstituteData m_substituteData;
bool m_lockBackForwardList;
ClientRedirectPolicy m_clientRedirect;
RefPtrWillBePersistent<Event> m_triggeringEvent;
- RefPtr<FormState> m_formState;
+ RefPtrWillBePersistent<FormState> m_formState;
ShouldSendReferrer m_shouldSendReferrer;
};
diff --git a/Source/core/loader/FrameLoader.cpp b/Source/core/loader/FrameLoader.cpp
index d602d080c..37c2dcdbc 100644
--- a/Source/core/loader/FrameLoader.cpp
+++ b/Source/core/loader/FrameLoader.cpp
@@ -1219,7 +1219,7 @@ bool FrameLoader::shouldClose()
return shouldClose;
}
-void FrameLoader::loadWithNavigationAction(const NavigationAction& action, FrameLoadType type, PassRefPtr<FormState> formState, const SubstituteData& substituteData, ClientRedirectPolicy clientRedirect, const AtomicString& overrideEncoding)
+void FrameLoader::loadWithNavigationAction(const NavigationAction& action, FrameLoadType type, PassRefPtrWillBeRawPtr<FormState> formState, const SubstituteData& substituteData, ClientRedirectPolicy clientRedirect, const AtomicString& overrideEncoding)
{
ASSERT(m_client->hasWebView());
if (m_frame->document()->pageDismissalEventBeingDispatched() != Document::NoDismissal)
diff --git a/Source/core/loader/FrameLoader.h b/Source/core/loader/FrameLoader.h
index 04c348766..79339298a 100644
--- a/Source/core/loader/FrameLoader.h
+++ b/Source/core/loader/FrameLoader.h
@@ -211,7 +211,7 @@ private:
bool checkLoadCompleteForThisFrame();
// Calls continueLoadAfterNavigationPolicy
- void loadWithNavigationAction(const NavigationAction&, FrameLoadType, PassRefPtr<FormState>,
+ void loadWithNavigationAction(const NavigationAction&, FrameLoadType, PassRefPtrWillBeRawPtr<FormState>,
const SubstituteData&, ClientRedirectPolicy = NotClientRedirect, const AtomicString& overrideEncoding = nullAtom);
void detachFromParent();
diff --git a/Source/core/make_core_generated.target.darwin-arm.mk b/Source/core/make_core_generated.target.darwin-arm.mk
index 24b552f12..6276f1231 100644
--- a/Source/core/make_core_generated.target.darwin-arm.mk
+++ b/Source/core/make_core_generated.target.darwin-arm.mk
@@ -557,6 +557,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -643,6 +644,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/Source/core/make_core_generated.target.darwin-arm64.mk b/Source/core/make_core_generated.target.darwin-arm64.mk
index 69b90b8c1..c0fa58923 100644
--- a/Source/core/make_core_generated.target.darwin-arm64.mk
+++ b/Source/core/make_core_generated.target.darwin-arm64.mk
@@ -554,6 +554,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -636,6 +637,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/Source/core/make_core_generated.target.darwin-mips.mk b/Source/core/make_core_generated.target.darwin-mips.mk
index 373137ff0..9b25f4286 100644
--- a/Source/core/make_core_generated.target.darwin-mips.mk
+++ b/Source/core/make_core_generated.target.darwin-mips.mk
@@ -557,6 +557,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -643,6 +644,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/Source/core/make_core_generated.target.darwin-x86.mk b/Source/core/make_core_generated.target.darwin-x86.mk
index 824aa83e4..35f59ca06 100644
--- a/Source/core/make_core_generated.target.darwin-x86.mk
+++ b/Source/core/make_core_generated.target.darwin-x86.mk
@@ -558,6 +558,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -644,6 +645,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/Source/core/make_core_generated.target.darwin-x86_64.mk b/Source/core/make_core_generated.target.darwin-x86_64.mk
index ab272d54b..ca0d31756 100644
--- a/Source/core/make_core_generated.target.darwin-x86_64.mk
+++ b/Source/core/make_core_generated.target.darwin-x86_64.mk
@@ -558,6 +558,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -644,6 +645,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/Source/core/make_core_generated.target.linux-arm.mk b/Source/core/make_core_generated.target.linux-arm.mk
index 24b552f12..6276f1231 100644
--- a/Source/core/make_core_generated.target.linux-arm.mk
+++ b/Source/core/make_core_generated.target.linux-arm.mk
@@ -557,6 +557,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -643,6 +644,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/Source/core/make_core_generated.target.linux-arm64.mk b/Source/core/make_core_generated.target.linux-arm64.mk
index 69b90b8c1..c0fa58923 100644
--- a/Source/core/make_core_generated.target.linux-arm64.mk
+++ b/Source/core/make_core_generated.target.linux-arm64.mk
@@ -554,6 +554,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -636,6 +637,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/Source/core/make_core_generated.target.linux-mips.mk b/Source/core/make_core_generated.target.linux-mips.mk
index 373137ff0..9b25f4286 100644
--- a/Source/core/make_core_generated.target.linux-mips.mk
+++ b/Source/core/make_core_generated.target.linux-mips.mk
@@ -557,6 +557,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -643,6 +644,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/Source/core/make_core_generated.target.linux-x86.mk b/Source/core/make_core_generated.target.linux-x86.mk
index 824aa83e4..35f59ca06 100644
--- a/Source/core/make_core_generated.target.linux-x86.mk
+++ b/Source/core/make_core_generated.target.linux-x86.mk
@@ -558,6 +558,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -644,6 +645,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/Source/core/make_core_generated.target.linux-x86_64.mk b/Source/core/make_core_generated.target.linux-x86_64.mk
index ab272d54b..ca0d31756 100644
--- a/Source/core/make_core_generated.target.linux-x86_64.mk
+++ b/Source/core/make_core_generated.target.linux-x86_64.mk
@@ -558,6 +558,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -644,6 +645,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/Source/core/rendering/RenderListBox.cpp b/Source/core/rendering/RenderListBox.cpp
index a9eb086d9..b01811b35 100644
--- a/Source/core/rendering/RenderListBox.cpp
+++ b/Source/core/rendering/RenderListBox.cpp
@@ -120,7 +120,7 @@ void RenderListBox::updateFromElement()
{
FontCachePurgePreventer fontCachePurgePreventer;
if (m_optionsChanged) {
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
int size = static_cast<int>(listItems.size());
float width = 0;
@@ -373,7 +373,7 @@ void RenderListBox::addFocusRingRects(Vector<IntRect>& rects, const LayoutPoint&
// No selected items, find the first non-disabled item.
int size = numItems();
- const Vector<HTMLElement*>& listItems = select->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = select->listItems();
for (int i = 0; i < size; ++i) {
HTMLElement* element = listItems[renderListBoxIndexToListIndex(i)];
if (isHTMLOptionElement(*element) && !element->isDisabledFormControl()) {
@@ -431,7 +431,7 @@ void RenderListBox::paintItemForeground(PaintInfo& paintInfo, const LayoutPoint&
HTMLSelectElement* select = selectElement();
- const Vector<HTMLElement*>& listItems = select->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = select->listItems();
HTMLElement* element = listItems[renderListBoxIndexToListIndex(listIndex)];
RenderStyle* itemStyle = element->renderStyle();
@@ -480,7 +480,7 @@ void RenderListBox::paintItemForeground(PaintInfo& paintInfo, const LayoutPoint&
void RenderListBox::paintItemBackground(PaintInfo& paintInfo, const LayoutPoint& paintOffset, int listIndex)
{
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
HTMLElement* element = listItems[renderListBoxIndexToListIndex(listIndex)];
Color backColor;
@@ -736,7 +736,7 @@ bool RenderListBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& re
{
if (!RenderBlockFlow::nodeAtPoint(request, result, locationInContainer, accumulatedOffset, hitTestAction))
return false;
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
int size = numItems();
LayoutPoint adjustedLocation = accumulatedOffset + location();
@@ -975,7 +975,7 @@ void RenderListBox::setHasVerticalScrollbar(bool hasScrollbar)
int RenderListBox::renderListBoxIndexToListIndex(int index) const
{
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
const int size = static_cast<int>(listItems.size());
if (size == numItems())
@@ -998,7 +998,7 @@ int RenderListBox::renderListBoxIndexToListIndex(int index) const
int RenderListBox::listIndexToRenderListBoxIndex(int index) const
{
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
const int size = static_cast<int>(listItems.size());
if (size == numItems())
diff --git a/Source/core/rendering/RenderMenuList.cpp b/Source/core/rendering/RenderMenuList.cpp
index 21aa13615..23602087d 100644
--- a/Source/core/rendering/RenderMenuList.cpp
+++ b/Source/core/rendering/RenderMenuList.cpp
@@ -162,7 +162,7 @@ void RenderMenuList::styleDidChange(StyleDifference diff, const RenderStyle* old
void RenderMenuList::updateOptionsWidth()
{
float maxOptionWidth = 0;
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
int size = listItems.size();
FontCachePurgePreventer fontCachePurgePreventer;
@@ -214,7 +214,7 @@ void RenderMenuList::updateFromElement()
void RenderMenuList::setTextFromOption(int optionIndex)
{
HTMLSelectElement* select = selectElement();
- const Vector<HTMLElement*>& listItems = select->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = select->listItems();
int size = listItems.size();
int i = select->optionToListIndex(optionIndex);
@@ -398,7 +398,7 @@ void RenderMenuList::didUpdateActiveOption(int optionIndex)
String RenderMenuList::itemText(unsigned listIndex) const
{
HTMLSelectElement* select = selectElement();
- const Vector<HTMLElement*>& listItems = select->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = select->listItems();
if (listIndex >= listItems.size())
return String();
@@ -416,7 +416,7 @@ String RenderMenuList::itemText(unsigned listIndex) const
String RenderMenuList::itemAccessibilityText(unsigned listIndex) const
{
// Allow the accessible name be changed if necessary.
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
if (listIndex >= listItems.size())
return String();
return listItems[listIndex]->fastGetAttribute(aria_labelAttr);
@@ -424,7 +424,7 @@ String RenderMenuList::itemAccessibilityText(unsigned listIndex) const
String RenderMenuList::itemToolTip(unsigned listIndex) const
{
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
if (listIndex >= listItems.size())
return String();
return listItems[listIndex]->title();
@@ -432,7 +432,7 @@ String RenderMenuList::itemToolTip(unsigned listIndex) const
bool RenderMenuList::itemIsEnabled(unsigned listIndex) const
{
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
if (listIndex >= listItems.size())
return false;
HTMLElement* element = listItems[listIndex];
@@ -452,7 +452,7 @@ bool RenderMenuList::itemIsEnabled(unsigned listIndex) const
PopupMenuStyle RenderMenuList::itemStyle(unsigned listIndex) const
{
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
if (listIndex >= listItems.size()) {
// If we are making an out of bounds access, then we want to use the style
// of a different option element (index 0). However, if there isn't an option element
@@ -477,7 +477,7 @@ PopupMenuStyle RenderMenuList::itemStyle(unsigned listIndex) const
void RenderMenuList::getItemBackgroundColor(unsigned listIndex, Color& itemBackgroundColor, bool& itemHasCustomBackgroundColor) const
{
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
if (listIndex >= listItems.size()) {
itemBackgroundColor = resolveColor(CSSPropertyBackgroundColor);
itemHasCustomBackgroundColor = false;
@@ -553,19 +553,19 @@ void RenderMenuList::popupDidHide()
bool RenderMenuList::itemIsSeparator(unsigned listIndex) const
{
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
return listIndex < listItems.size() && isHTMLHRElement(*listItems[listIndex]);
}
bool RenderMenuList::itemIsLabel(unsigned listIndex) const
{
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
return listIndex < listItems.size() && isHTMLOptGroupElement(*listItems[listIndex]);
}
bool RenderMenuList::itemIsSelected(unsigned listIndex) const
{
- const Vector<HTMLElement*>& listItems = selectElement()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement()->listItems();
if (listIndex >= listItems.size())
return false;
HTMLElement* element = listItems[listIndex];
diff --git a/Source/core/webcore_dom.target.darwin-arm.mk b/Source/core/webcore_dom.target.darwin-arm.mk
index 4fac3146e..cc04876f7 100644
--- a/Source/core/webcore_dom.target.darwin-arm.mk
+++ b/Source/core/webcore_dom.target.darwin-arm.mk
@@ -259,6 +259,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -413,6 +414,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_dom.target.darwin-arm64.mk b/Source/core/webcore_dom.target.darwin-arm64.mk
index 6ee8e8ff7..3661cda30 100644
--- a/Source/core/webcore_dom.target.darwin-arm64.mk
+++ b/Source/core/webcore_dom.target.darwin-arm64.mk
@@ -256,6 +256,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -403,6 +404,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_dom.target.darwin-mips.mk b/Source/core/webcore_dom.target.darwin-mips.mk
index 864474d0b..510521852 100644
--- a/Source/core/webcore_dom.target.darwin-mips.mk
+++ b/Source/core/webcore_dom.target.darwin-mips.mk
@@ -259,6 +259,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -410,6 +411,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_dom.target.darwin-x86.mk b/Source/core/webcore_dom.target.darwin-x86.mk
index c7d54654c..0e146913b 100644
--- a/Source/core/webcore_dom.target.darwin-x86.mk
+++ b/Source/core/webcore_dom.target.darwin-x86.mk
@@ -260,6 +260,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -414,6 +415,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_dom.target.darwin-x86_64.mk b/Source/core/webcore_dom.target.darwin-x86_64.mk
index 91f5f0a66..362de9908 100644
--- a/Source/core/webcore_dom.target.darwin-x86_64.mk
+++ b/Source/core/webcore_dom.target.darwin-x86_64.mk
@@ -260,6 +260,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -414,6 +415,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_dom.target.linux-arm.mk b/Source/core/webcore_dom.target.linux-arm.mk
index 4fac3146e..cc04876f7 100644
--- a/Source/core/webcore_dom.target.linux-arm.mk
+++ b/Source/core/webcore_dom.target.linux-arm.mk
@@ -259,6 +259,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -413,6 +414,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_dom.target.linux-arm64.mk b/Source/core/webcore_dom.target.linux-arm64.mk
index 6ee8e8ff7..3661cda30 100644
--- a/Source/core/webcore_dom.target.linux-arm64.mk
+++ b/Source/core/webcore_dom.target.linux-arm64.mk
@@ -256,6 +256,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -403,6 +404,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_dom.target.linux-mips.mk b/Source/core/webcore_dom.target.linux-mips.mk
index 864474d0b..510521852 100644
--- a/Source/core/webcore_dom.target.linux-mips.mk
+++ b/Source/core/webcore_dom.target.linux-mips.mk
@@ -259,6 +259,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -410,6 +411,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_dom.target.linux-x86.mk b/Source/core/webcore_dom.target.linux-x86.mk
index c7d54654c..0e146913b 100644
--- a/Source/core/webcore_dom.target.linux-x86.mk
+++ b/Source/core/webcore_dom.target.linux-x86.mk
@@ -260,6 +260,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -414,6 +415,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_dom.target.linux-x86_64.mk b/Source/core/webcore_dom.target.linux-x86_64.mk
index 91f5f0a66..362de9908 100644
--- a/Source/core/webcore_dom.target.linux-x86_64.mk
+++ b/Source/core/webcore_dom.target.linux-x86_64.mk
@@ -260,6 +260,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -414,6 +415,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_generated.target.darwin-arm.mk b/Source/core/webcore_generated.target.darwin-arm.mk
index ac98d683b..ff31c4bfa 100644
--- a/Source/core/webcore_generated.target.darwin-arm.mk
+++ b/Source/core/webcore_generated.target.darwin-arm.mk
@@ -393,6 +393,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -552,6 +553,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_generated.target.darwin-arm64.mk b/Source/core/webcore_generated.target.darwin-arm64.mk
index febc13e1f..072521df3 100644
--- a/Source/core/webcore_generated.target.darwin-arm64.mk
+++ b/Source/core/webcore_generated.target.darwin-arm64.mk
@@ -390,6 +390,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -542,6 +543,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_generated.target.darwin-mips.mk b/Source/core/webcore_generated.target.darwin-mips.mk
index 1547579ba..a79dd3fbf 100644
--- a/Source/core/webcore_generated.target.darwin-mips.mk
+++ b/Source/core/webcore_generated.target.darwin-mips.mk
@@ -393,6 +393,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -549,6 +550,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_generated.target.darwin-x86.mk b/Source/core/webcore_generated.target.darwin-x86.mk
index 79776317e..a7f64df9b 100644
--- a/Source/core/webcore_generated.target.darwin-x86.mk
+++ b/Source/core/webcore_generated.target.darwin-x86.mk
@@ -394,6 +394,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -553,6 +554,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_generated.target.darwin-x86_64.mk b/Source/core/webcore_generated.target.darwin-x86_64.mk
index 7a02a02dc..aeed93eba 100644
--- a/Source/core/webcore_generated.target.darwin-x86_64.mk
+++ b/Source/core/webcore_generated.target.darwin-x86_64.mk
@@ -394,6 +394,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -553,6 +554,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_generated.target.linux-arm.mk b/Source/core/webcore_generated.target.linux-arm.mk
index ac98d683b..ff31c4bfa 100644
--- a/Source/core/webcore_generated.target.linux-arm.mk
+++ b/Source/core/webcore_generated.target.linux-arm.mk
@@ -393,6 +393,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -552,6 +553,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_generated.target.linux-arm64.mk b/Source/core/webcore_generated.target.linux-arm64.mk
index febc13e1f..072521df3 100644
--- a/Source/core/webcore_generated.target.linux-arm64.mk
+++ b/Source/core/webcore_generated.target.linux-arm64.mk
@@ -390,6 +390,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -542,6 +543,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_generated.target.linux-mips.mk b/Source/core/webcore_generated.target.linux-mips.mk
index 1547579ba..a79dd3fbf 100644
--- a/Source/core/webcore_generated.target.linux-mips.mk
+++ b/Source/core/webcore_generated.target.linux-mips.mk
@@ -393,6 +393,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -549,6 +550,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_generated.target.linux-x86.mk b/Source/core/webcore_generated.target.linux-x86.mk
index 79776317e..a7f64df9b 100644
--- a/Source/core/webcore_generated.target.linux-x86.mk
+++ b/Source/core/webcore_generated.target.linux-x86.mk
@@ -394,6 +394,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -553,6 +554,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_generated.target.linux-x86_64.mk b/Source/core/webcore_generated.target.linux-x86_64.mk
index 7a02a02dc..aeed93eba 100644
--- a/Source/core/webcore_generated.target.linux-x86_64.mk
+++ b/Source/core/webcore_generated.target.linux-x86_64.mk
@@ -394,6 +394,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -553,6 +554,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_html.target.darwin-arm.mk b/Source/core/webcore_html.target.darwin-arm.mk
index 9daf6d3c4..c4849fcee 100644
--- a/Source/core/webcore_html.target.darwin-arm.mk
+++ b/Source/core/webcore_html.target.darwin-arm.mk
@@ -348,6 +348,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -502,6 +503,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_html.target.darwin-arm64.mk b/Source/core/webcore_html.target.darwin-arm64.mk
index 90a466eed..f7b544a8a 100644
--- a/Source/core/webcore_html.target.darwin-arm64.mk
+++ b/Source/core/webcore_html.target.darwin-arm64.mk
@@ -345,6 +345,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -492,6 +493,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_html.target.darwin-mips.mk b/Source/core/webcore_html.target.darwin-mips.mk
index ed2c2e308..77af9c619 100644
--- a/Source/core/webcore_html.target.darwin-mips.mk
+++ b/Source/core/webcore_html.target.darwin-mips.mk
@@ -348,6 +348,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -499,6 +500,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_html.target.darwin-x86.mk b/Source/core/webcore_html.target.darwin-x86.mk
index 1686a11ef..5aa96eb04 100644
--- a/Source/core/webcore_html.target.darwin-x86.mk
+++ b/Source/core/webcore_html.target.darwin-x86.mk
@@ -349,6 +349,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -503,6 +504,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_html.target.darwin-x86_64.mk b/Source/core/webcore_html.target.darwin-x86_64.mk
index b2fa15cf5..5b7b3d017 100644
--- a/Source/core/webcore_html.target.darwin-x86_64.mk
+++ b/Source/core/webcore_html.target.darwin-x86_64.mk
@@ -349,6 +349,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -503,6 +504,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_html.target.linux-arm.mk b/Source/core/webcore_html.target.linux-arm.mk
index 9daf6d3c4..c4849fcee 100644
--- a/Source/core/webcore_html.target.linux-arm.mk
+++ b/Source/core/webcore_html.target.linux-arm.mk
@@ -348,6 +348,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -502,6 +503,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_html.target.linux-arm64.mk b/Source/core/webcore_html.target.linux-arm64.mk
index 90a466eed..f7b544a8a 100644
--- a/Source/core/webcore_html.target.linux-arm64.mk
+++ b/Source/core/webcore_html.target.linux-arm64.mk
@@ -345,6 +345,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -492,6 +493,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_html.target.linux-mips.mk b/Source/core/webcore_html.target.linux-mips.mk
index ed2c2e308..77af9c619 100644
--- a/Source/core/webcore_html.target.linux-mips.mk
+++ b/Source/core/webcore_html.target.linux-mips.mk
@@ -348,6 +348,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -499,6 +500,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_html.target.linux-x86.mk b/Source/core/webcore_html.target.linux-x86.mk
index 1686a11ef..5aa96eb04 100644
--- a/Source/core/webcore_html.target.linux-x86.mk
+++ b/Source/core/webcore_html.target.linux-x86.mk
@@ -349,6 +349,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -503,6 +504,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_html.target.linux-x86_64.mk b/Source/core/webcore_html.target.linux-x86_64.mk
index b2fa15cf5..5b7b3d017 100644
--- a/Source/core/webcore_html.target.linux-x86_64.mk
+++ b/Source/core/webcore_html.target.linux-x86_64.mk
@@ -349,6 +349,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -503,6 +504,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_remaining.target.darwin-arm.mk b/Source/core/webcore_remaining.target.darwin-arm.mk
index 44797f15c..bd7df5035 100644
--- a/Source/core/webcore_remaining.target.darwin-arm.mk
+++ b/Source/core/webcore_remaining.target.darwin-arm.mk
@@ -623,6 +623,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -778,6 +779,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_remaining.target.darwin-arm64.mk b/Source/core/webcore_remaining.target.darwin-arm64.mk
index 8c1f8103c..e1c26be5e 100644
--- a/Source/core/webcore_remaining.target.darwin-arm64.mk
+++ b/Source/core/webcore_remaining.target.darwin-arm64.mk
@@ -620,6 +620,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -768,6 +769,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_remaining.target.darwin-mips.mk b/Source/core/webcore_remaining.target.darwin-mips.mk
index a02ff308a..c57e4b124 100644
--- a/Source/core/webcore_remaining.target.darwin-mips.mk
+++ b/Source/core/webcore_remaining.target.darwin-mips.mk
@@ -623,6 +623,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -775,6 +776,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_remaining.target.darwin-x86.mk b/Source/core/webcore_remaining.target.darwin-x86.mk
index 1f639e6a3..2648bccc0 100644
--- a/Source/core/webcore_remaining.target.darwin-x86.mk
+++ b/Source/core/webcore_remaining.target.darwin-x86.mk
@@ -624,6 +624,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -779,6 +780,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_remaining.target.darwin-x86_64.mk b/Source/core/webcore_remaining.target.darwin-x86_64.mk
index 192bfd5e5..000291c97 100644
--- a/Source/core/webcore_remaining.target.darwin-x86_64.mk
+++ b/Source/core/webcore_remaining.target.darwin-x86_64.mk
@@ -624,6 +624,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -779,6 +780,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_remaining.target.linux-arm.mk b/Source/core/webcore_remaining.target.linux-arm.mk
index 44797f15c..bd7df5035 100644
--- a/Source/core/webcore_remaining.target.linux-arm.mk
+++ b/Source/core/webcore_remaining.target.linux-arm.mk
@@ -623,6 +623,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -778,6 +779,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_remaining.target.linux-arm64.mk b/Source/core/webcore_remaining.target.linux-arm64.mk
index 8c1f8103c..e1c26be5e 100644
--- a/Source/core/webcore_remaining.target.linux-arm64.mk
+++ b/Source/core/webcore_remaining.target.linux-arm64.mk
@@ -620,6 +620,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -768,6 +769,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_remaining.target.linux-mips.mk b/Source/core/webcore_remaining.target.linux-mips.mk
index a02ff308a..c57e4b124 100644
--- a/Source/core/webcore_remaining.target.linux-mips.mk
+++ b/Source/core/webcore_remaining.target.linux-mips.mk
@@ -623,6 +623,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -775,6 +776,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_remaining.target.linux-x86.mk b/Source/core/webcore_remaining.target.linux-x86.mk
index 1f639e6a3..2648bccc0 100644
--- a/Source/core/webcore_remaining.target.linux-x86.mk
+++ b/Source/core/webcore_remaining.target.linux-x86.mk
@@ -624,6 +624,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -779,6 +780,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_remaining.target.linux-x86_64.mk b/Source/core/webcore_remaining.target.linux-x86_64.mk
index 192bfd5e5..000291c97 100644
--- a/Source/core/webcore_remaining.target.linux-x86_64.mk
+++ b/Source/core/webcore_remaining.target.linux-x86_64.mk
@@ -624,6 +624,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -779,6 +780,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_rendering.target.darwin-arm.mk b/Source/core/webcore_rendering.target.darwin-arm.mk
index 4005608d4..ed3fd5675 100644
--- a/Source/core/webcore_rendering.target.darwin-arm.mk
+++ b/Source/core/webcore_rendering.target.darwin-arm.mk
@@ -242,6 +242,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -396,6 +397,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_rendering.target.darwin-arm64.mk b/Source/core/webcore_rendering.target.darwin-arm64.mk
index 887f0c01a..e6077b8d1 100644
--- a/Source/core/webcore_rendering.target.darwin-arm64.mk
+++ b/Source/core/webcore_rendering.target.darwin-arm64.mk
@@ -239,6 +239,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -386,6 +387,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_rendering.target.darwin-mips.mk b/Source/core/webcore_rendering.target.darwin-mips.mk
index 8071d89a1..addcdf25b 100644
--- a/Source/core/webcore_rendering.target.darwin-mips.mk
+++ b/Source/core/webcore_rendering.target.darwin-mips.mk
@@ -242,6 +242,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -393,6 +394,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_rendering.target.darwin-x86.mk b/Source/core/webcore_rendering.target.darwin-x86.mk
index 87ea78a9c..60b07e302 100644
--- a/Source/core/webcore_rendering.target.darwin-x86.mk
+++ b/Source/core/webcore_rendering.target.darwin-x86.mk
@@ -244,6 +244,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -399,6 +400,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_rendering.target.darwin-x86_64.mk b/Source/core/webcore_rendering.target.darwin-x86_64.mk
index 0539e7b5c..19b732643 100644
--- a/Source/core/webcore_rendering.target.darwin-x86_64.mk
+++ b/Source/core/webcore_rendering.target.darwin-x86_64.mk
@@ -243,6 +243,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -397,6 +398,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_rendering.target.linux-arm.mk b/Source/core/webcore_rendering.target.linux-arm.mk
index 4005608d4..ed3fd5675 100644
--- a/Source/core/webcore_rendering.target.linux-arm.mk
+++ b/Source/core/webcore_rendering.target.linux-arm.mk
@@ -242,6 +242,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -396,6 +397,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_rendering.target.linux-arm64.mk b/Source/core/webcore_rendering.target.linux-arm64.mk
index 887f0c01a..e6077b8d1 100644
--- a/Source/core/webcore_rendering.target.linux-arm64.mk
+++ b/Source/core/webcore_rendering.target.linux-arm64.mk
@@ -239,6 +239,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -386,6 +387,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_rendering.target.linux-mips.mk b/Source/core/webcore_rendering.target.linux-mips.mk
index 8071d89a1..addcdf25b 100644
--- a/Source/core/webcore_rendering.target.linux-mips.mk
+++ b/Source/core/webcore_rendering.target.linux-mips.mk
@@ -242,6 +242,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -393,6 +394,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_rendering.target.linux-x86.mk b/Source/core/webcore_rendering.target.linux-x86.mk
index 87ea78a9c..60b07e302 100644
--- a/Source/core/webcore_rendering.target.linux-x86.mk
+++ b/Source/core/webcore_rendering.target.linux-x86.mk
@@ -244,6 +244,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -399,6 +400,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_rendering.target.linux-x86_64.mk b/Source/core/webcore_rendering.target.linux-x86_64.mk
index 0539e7b5c..19b732643 100644
--- a/Source/core/webcore_rendering.target.linux-x86_64.mk
+++ b/Source/core/webcore_rendering.target.linux-x86_64.mk
@@ -243,6 +243,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -397,6 +398,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_svg.target.darwin-arm.mk b/Source/core/webcore_svg.target.darwin-arm.mk
index 0e2a41400..73ae1e855 100644
--- a/Source/core/webcore_svg.target.darwin-arm.mk
+++ b/Source/core/webcore_svg.target.darwin-arm.mk
@@ -306,6 +306,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -460,6 +461,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_svg.target.darwin-arm64.mk b/Source/core/webcore_svg.target.darwin-arm64.mk
index b63847b5a..0c3924ada 100644
--- a/Source/core/webcore_svg.target.darwin-arm64.mk
+++ b/Source/core/webcore_svg.target.darwin-arm64.mk
@@ -303,6 +303,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -450,6 +451,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_svg.target.darwin-mips.mk b/Source/core/webcore_svg.target.darwin-mips.mk
index e5917a0db..c425afa20 100644
--- a/Source/core/webcore_svg.target.darwin-mips.mk
+++ b/Source/core/webcore_svg.target.darwin-mips.mk
@@ -306,6 +306,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -457,6 +458,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_svg.target.darwin-x86.mk b/Source/core/webcore_svg.target.darwin-x86.mk
index 8fc3d454a..51d1196dd 100644
--- a/Source/core/webcore_svg.target.darwin-x86.mk
+++ b/Source/core/webcore_svg.target.darwin-x86.mk
@@ -307,6 +307,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -461,6 +462,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_svg.target.darwin-x86_64.mk b/Source/core/webcore_svg.target.darwin-x86_64.mk
index f2c1200c3..16ef18bcb 100644
--- a/Source/core/webcore_svg.target.darwin-x86_64.mk
+++ b/Source/core/webcore_svg.target.darwin-x86_64.mk
@@ -307,6 +307,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -461,6 +462,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_svg.target.linux-arm.mk b/Source/core/webcore_svg.target.linux-arm.mk
index 0e2a41400..73ae1e855 100644
--- a/Source/core/webcore_svg.target.linux-arm.mk
+++ b/Source/core/webcore_svg.target.linux-arm.mk
@@ -306,6 +306,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -460,6 +461,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_svg.target.linux-arm64.mk b/Source/core/webcore_svg.target.linux-arm64.mk
index b63847b5a..0c3924ada 100644
--- a/Source/core/webcore_svg.target.linux-arm64.mk
+++ b/Source/core/webcore_svg.target.linux-arm64.mk
@@ -303,6 +303,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -450,6 +451,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_svg.target.linux-mips.mk b/Source/core/webcore_svg.target.linux-mips.mk
index e5917a0db..c425afa20 100644
--- a/Source/core/webcore_svg.target.linux-mips.mk
+++ b/Source/core/webcore_svg.target.linux-mips.mk
@@ -306,6 +306,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -457,6 +458,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_svg.target.linux-x86.mk b/Source/core/webcore_svg.target.linux-x86.mk
index 8fc3d454a..51d1196dd 100644
--- a/Source/core/webcore_svg.target.linux-x86.mk
+++ b/Source/core/webcore_svg.target.linux-x86.mk
@@ -307,6 +307,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -461,6 +462,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/core/webcore_svg.target.linux-x86_64.mk b/Source/core/webcore_svg.target.linux-x86_64.mk
index f2c1200c3..16ef18bcb 100644
--- a/Source/core/webcore_svg.target.linux-x86_64.mk
+++ b/Source/core/webcore_svg.target.linux-x86_64.mk
@@ -307,6 +307,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -461,6 +462,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/devtools/devtools_html.target.darwin-arm.mk b/Source/devtools/devtools_html.target.darwin-arm.mk
index 1fa050781..f8281cbd2 100644
--- a/Source/devtools/devtools_html.target.darwin-arm.mk
+++ b/Source/devtools/devtools_html.target.darwin-arm.mk
@@ -93,6 +93,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -178,6 +179,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/devtools/devtools_html.target.darwin-arm64.mk b/Source/devtools/devtools_html.target.darwin-arm64.mk
index 1af2d658d..f3ef78dff 100644
--- a/Source/devtools/devtools_html.target.darwin-arm64.mk
+++ b/Source/devtools/devtools_html.target.darwin-arm64.mk
@@ -90,6 +90,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -171,6 +172,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/devtools/devtools_html.target.darwin-mips.mk b/Source/devtools/devtools_html.target.darwin-mips.mk
index fef159905..4c85b5a4f 100644
--- a/Source/devtools/devtools_html.target.darwin-mips.mk
+++ b/Source/devtools/devtools_html.target.darwin-mips.mk
@@ -94,6 +94,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -180,6 +181,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/devtools/devtools_html.target.darwin-x86.mk b/Source/devtools/devtools_html.target.darwin-x86.mk
index 8052262e3..919048541 100644
--- a/Source/devtools/devtools_html.target.darwin-x86.mk
+++ b/Source/devtools/devtools_html.target.darwin-x86.mk
@@ -94,6 +94,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -179,6 +180,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/devtools/devtools_html.target.darwin-x86_64.mk b/Source/devtools/devtools_html.target.darwin-x86_64.mk
index f8a3e0f40..ef8ac3e9b 100644
--- a/Source/devtools/devtools_html.target.darwin-x86_64.mk
+++ b/Source/devtools/devtools_html.target.darwin-x86_64.mk
@@ -94,6 +94,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -179,6 +180,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/devtools/devtools_html.target.linux-arm.mk b/Source/devtools/devtools_html.target.linux-arm.mk
index 1fa050781..f8281cbd2 100644
--- a/Source/devtools/devtools_html.target.linux-arm.mk
+++ b/Source/devtools/devtools_html.target.linux-arm.mk
@@ -93,6 +93,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -178,6 +179,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/devtools/devtools_html.target.linux-arm64.mk b/Source/devtools/devtools_html.target.linux-arm64.mk
index 1af2d658d..f3ef78dff 100644
--- a/Source/devtools/devtools_html.target.linux-arm64.mk
+++ b/Source/devtools/devtools_html.target.linux-arm64.mk
@@ -90,6 +90,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -171,6 +172,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/devtools/devtools_html.target.linux-mips.mk b/Source/devtools/devtools_html.target.linux-mips.mk
index fef159905..4c85b5a4f 100644
--- a/Source/devtools/devtools_html.target.linux-mips.mk
+++ b/Source/devtools/devtools_html.target.linux-mips.mk
@@ -94,6 +94,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -180,6 +181,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/devtools/devtools_html.target.linux-x86.mk b/Source/devtools/devtools_html.target.linux-x86.mk
index 8052262e3..919048541 100644
--- a/Source/devtools/devtools_html.target.linux-x86.mk
+++ b/Source/devtools/devtools_html.target.linux-x86.mk
@@ -94,6 +94,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -179,6 +180,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/devtools/devtools_html.target.linux-x86_64.mk b/Source/devtools/devtools_html.target.linux-x86_64.mk
index f8a3e0f40..ef8ac3e9b 100644
--- a/Source/devtools/devtools_html.target.linux-x86_64.mk
+++ b/Source/devtools/devtools_html.target.linux-x86_64.mk
@@ -94,6 +94,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -179,6 +180,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/modules/modules.target.darwin-arm.mk b/Source/modules/modules.target.darwin-arm.mk
index 5f8938cac..79e2a8089 100644
--- a/Source/modules/modules.target.darwin-arm.mk
+++ b/Source/modules/modules.target.darwin-arm.mk
@@ -435,6 +435,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -576,6 +577,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/modules/modules.target.darwin-arm64.mk b/Source/modules/modules.target.darwin-arm64.mk
index 7b4d95baf..ef9acd00d 100644
--- a/Source/modules/modules.target.darwin-arm64.mk
+++ b/Source/modules/modules.target.darwin-arm64.mk
@@ -432,6 +432,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -566,6 +567,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/modules/modules.target.darwin-mips.mk b/Source/modules/modules.target.darwin-mips.mk
index 0f905c494..8a7ac4d02 100644
--- a/Source/modules/modules.target.darwin-mips.mk
+++ b/Source/modules/modules.target.darwin-mips.mk
@@ -435,6 +435,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -573,6 +574,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/modules/modules.target.darwin-x86.mk b/Source/modules/modules.target.darwin-x86.mk
index 1fa88a653..51d8c6290 100644
--- a/Source/modules/modules.target.darwin-x86.mk
+++ b/Source/modules/modules.target.darwin-x86.mk
@@ -436,6 +436,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -577,6 +578,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/modules/modules.target.darwin-x86_64.mk b/Source/modules/modules.target.darwin-x86_64.mk
index b5172566a..f8ac6905d 100644
--- a/Source/modules/modules.target.darwin-x86_64.mk
+++ b/Source/modules/modules.target.darwin-x86_64.mk
@@ -436,6 +436,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -577,6 +578,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/modules/modules.target.linux-arm.mk b/Source/modules/modules.target.linux-arm.mk
index 5f8938cac..79e2a8089 100644
--- a/Source/modules/modules.target.linux-arm.mk
+++ b/Source/modules/modules.target.linux-arm.mk
@@ -435,6 +435,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -576,6 +577,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/modules/modules.target.linux-arm64.mk b/Source/modules/modules.target.linux-arm64.mk
index 7b4d95baf..ef9acd00d 100644
--- a/Source/modules/modules.target.linux-arm64.mk
+++ b/Source/modules/modules.target.linux-arm64.mk
@@ -432,6 +432,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -566,6 +567,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/modules/modules.target.linux-mips.mk b/Source/modules/modules.target.linux-mips.mk
index 0f905c494..8a7ac4d02 100644
--- a/Source/modules/modules.target.linux-mips.mk
+++ b/Source/modules/modules.target.linux-mips.mk
@@ -435,6 +435,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -573,6 +574,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/modules/modules.target.linux-x86.mk b/Source/modules/modules.target.linux-x86.mk
index 1fa88a653..51d8c6290 100644
--- a/Source/modules/modules.target.linux-x86.mk
+++ b/Source/modules/modules.target.linux-x86.mk
@@ -436,6 +436,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -577,6 +578,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/modules/modules.target.linux-x86_64.mk b/Source/modules/modules.target.linux-x86_64.mk
index b5172566a..f8ac6905d 100644
--- a/Source/modules/modules.target.linux-x86_64.mk
+++ b/Source/modules/modules.target.linux-x86_64.mk
@@ -436,6 +436,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -577,6 +578,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/modules/websockets/NewWebSocketChannelImpl.cpp b/Source/modules/websockets/NewWebSocketChannelImpl.cpp
index cc23b77c4..904494eec 100644
--- a/Source/modules/websockets/NewWebSocketChannelImpl.cpp
+++ b/Source/modules/websockets/NewWebSocketChannelImpl.cpp
@@ -184,8 +184,7 @@ WebSocketChannel::SendResult NewWebSocketChannelImpl::send(const String& message
// FIXME: Change the inspector API to show the entire message instead
// of individual frames.
CString data = message.utf8();
- WebSocketFrame frame(WebSocketFrame::OpCodeText, data.data(), data.length(), WebSocketFrame::Final | WebSocketFrame::Masked);
- InspectorInstrumentation::didSendWebSocketFrame(document(), m_identifier, frame.opCode, frame.masked, frame.payload, frame.payloadLength);
+ InspectorInstrumentation::didSendWebSocketFrame(document(), m_identifier, WebSocketFrame::OpCodeText, true, data.data(), data.length());
}
m_messages.append(Message(message));
sendInternal();
@@ -201,8 +200,7 @@ WebSocketChannel::SendResult NewWebSocketChannelImpl::send(PassRefPtr<BlobDataHa
// FIXME: We can't access the data here.
// Since Binary data are not displayed in Inspector, this does not
// affect actual behavior.
- WebSocketFrame frame(WebSocketFrame::OpCodeBinary, "", 0, WebSocketFrame::Final | WebSocketFrame::Masked);
- InspectorInstrumentation::didSendWebSocketFrame(document(), m_identifier, frame.opCode, frame.masked, frame.payload, frame.payloadLength);
+ InspectorInstrumentation::didSendWebSocketFrame(document(), m_identifier, WebSocketFrame::OpCodeBinary, true, "", 0);
}
m_messages.append(Message(blobDataHandle));
sendInternal();
@@ -215,8 +213,7 @@ WebSocketChannel::SendResult NewWebSocketChannelImpl::send(const ArrayBuffer& bu
if (m_identifier) {
// FIXME: Change the inspector API to show the entire message instead
// of individual frames.
- WebSocketFrame frame(WebSocketFrame::OpCodeBinary, static_cast<const char*>(buffer.data()) + byteOffset, byteLength, WebSocketFrame::Final | WebSocketFrame::Masked);
- InspectorInstrumentation::didSendWebSocketFrame(document(), m_identifier, frame.opCode, frame.masked, frame.payload, frame.payloadLength);
+ InspectorInstrumentation::didSendWebSocketFrame(document(), m_identifier, WebSocketFrame::OpCodeBinary, true, static_cast<const char*>(buffer.data()) + byteOffset, byteLength);
}
// buffer.slice copies its contents.
m_messages.append(buffer.slice(byteOffset, byteOffset + byteLength));
diff --git a/Source/platform/blink_arm_neon.target.darwin-arm.mk b/Source/platform/blink_arm_neon.target.darwin-arm.mk
index 4e48b4dcc..c145db77c 100644
--- a/Source/platform/blink_arm_neon.target.darwin-arm.mk
+++ b/Source/platform/blink_arm_neon.target.darwin-arm.mk
@@ -81,6 +81,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
@@ -199,6 +200,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
diff --git a/Source/platform/blink_arm_neon.target.linux-arm.mk b/Source/platform/blink_arm_neon.target.linux-arm.mk
index 4e48b4dcc..c145db77c 100644
--- a/Source/platform/blink_arm_neon.target.linux-arm.mk
+++ b/Source/platform/blink_arm_neon.target.linux-arm.mk
@@ -81,6 +81,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
@@ -199,6 +200,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
diff --git a/Source/platform/blink_common.target.darwin-arm.mk b/Source/platform/blink_common.target.darwin-arm.mk
index dfaec33da..1167dbddb 100644
--- a/Source/platform/blink_common.target.darwin-arm.mk
+++ b/Source/platform/blink_common.target.darwin-arm.mk
@@ -82,6 +82,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -212,6 +213,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_common.target.darwin-arm64.mk b/Source/platform/blink_common.target.darwin-arm64.mk
index e83b26a9f..2f5d49cc0 100644
--- a/Source/platform/blink_common.target.darwin-arm64.mk
+++ b/Source/platform/blink_common.target.darwin-arm64.mk
@@ -79,6 +79,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -203,6 +204,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_common.target.darwin-mips.mk b/Source/platform/blink_common.target.darwin-mips.mk
index fb5d627b0..4b6cdf73e 100644
--- a/Source/platform/blink_common.target.darwin-mips.mk
+++ b/Source/platform/blink_common.target.darwin-mips.mk
@@ -82,6 +82,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -210,6 +211,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_common.target.darwin-x86.mk b/Source/platform/blink_common.target.darwin-x86.mk
index 71f101d77..308938a6e 100644
--- a/Source/platform/blink_common.target.darwin-x86.mk
+++ b/Source/platform/blink_common.target.darwin-x86.mk
@@ -83,6 +83,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -213,6 +214,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_common.target.darwin-x86_64.mk b/Source/platform/blink_common.target.darwin-x86_64.mk
index f9d4c17e2..868f22dc0 100644
--- a/Source/platform/blink_common.target.darwin-x86_64.mk
+++ b/Source/platform/blink_common.target.darwin-x86_64.mk
@@ -83,6 +83,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -213,6 +214,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_common.target.linux-arm.mk b/Source/platform/blink_common.target.linux-arm.mk
index dfaec33da..1167dbddb 100644
--- a/Source/platform/blink_common.target.linux-arm.mk
+++ b/Source/platform/blink_common.target.linux-arm.mk
@@ -82,6 +82,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -212,6 +213,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_common.target.linux-arm64.mk b/Source/platform/blink_common.target.linux-arm64.mk
index e83b26a9f..2f5d49cc0 100644
--- a/Source/platform/blink_common.target.linux-arm64.mk
+++ b/Source/platform/blink_common.target.linux-arm64.mk
@@ -79,6 +79,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -203,6 +204,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_common.target.linux-mips.mk b/Source/platform/blink_common.target.linux-mips.mk
index fb5d627b0..4b6cdf73e 100644
--- a/Source/platform/blink_common.target.linux-mips.mk
+++ b/Source/platform/blink_common.target.linux-mips.mk
@@ -82,6 +82,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -210,6 +211,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_common.target.linux-x86.mk b/Source/platform/blink_common.target.linux-x86.mk
index 71f101d77..308938a6e 100644
--- a/Source/platform/blink_common.target.linux-x86.mk
+++ b/Source/platform/blink_common.target.linux-x86.mk
@@ -83,6 +83,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -213,6 +214,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_common.target.linux-x86_64.mk b/Source/platform/blink_common.target.linux-x86_64.mk
index f9d4c17e2..868f22dc0 100644
--- a/Source/platform/blink_common.target.linux-x86_64.mk
+++ b/Source/platform/blink_common.target.linux-x86_64.mk
@@ -83,6 +83,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -213,6 +214,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_COMMON_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_heap_asm_stubs.target.darwin-arm.mk b/Source/platform/blink_heap_asm_stubs.target.darwin-arm.mk
index b9fa04050..e1fcbf106 100644
--- a/Source/platform/blink_heap_asm_stubs.target.darwin-arm.mk
+++ b/Source/platform/blink_heap_asm_stubs.target.darwin-arm.mk
@@ -81,6 +81,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -166,6 +167,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/platform/blink_heap_asm_stubs.target.darwin-arm64.mk b/Source/platform/blink_heap_asm_stubs.target.darwin-arm64.mk
index 4e71aa489..268ed0aea 100644
--- a/Source/platform/blink_heap_asm_stubs.target.darwin-arm64.mk
+++ b/Source/platform/blink_heap_asm_stubs.target.darwin-arm64.mk
@@ -78,6 +78,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -159,6 +160,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/platform/blink_heap_asm_stubs.target.darwin-mips.mk b/Source/platform/blink_heap_asm_stubs.target.darwin-mips.mk
index aef0bb9b7..1cc044050 100644
--- a/Source/platform/blink_heap_asm_stubs.target.darwin-mips.mk
+++ b/Source/platform/blink_heap_asm_stubs.target.darwin-mips.mk
@@ -82,6 +82,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -168,6 +169,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/platform/blink_heap_asm_stubs.target.darwin-x86.mk b/Source/platform/blink_heap_asm_stubs.target.darwin-x86.mk
index 24d053dd5..bce75a842 100644
--- a/Source/platform/blink_heap_asm_stubs.target.darwin-x86.mk
+++ b/Source/platform/blink_heap_asm_stubs.target.darwin-x86.mk
@@ -96,6 +96,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -181,6 +182,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/platform/blink_heap_asm_stubs.target.darwin-x86_64.mk b/Source/platform/blink_heap_asm_stubs.target.darwin-x86_64.mk
index a23bb65ee..248ef9dab 100644
--- a/Source/platform/blink_heap_asm_stubs.target.darwin-x86_64.mk
+++ b/Source/platform/blink_heap_asm_stubs.target.darwin-x86_64.mk
@@ -96,6 +96,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -181,6 +182,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/platform/blink_heap_asm_stubs.target.linux-arm.mk b/Source/platform/blink_heap_asm_stubs.target.linux-arm.mk
index b9fa04050..e1fcbf106 100644
--- a/Source/platform/blink_heap_asm_stubs.target.linux-arm.mk
+++ b/Source/platform/blink_heap_asm_stubs.target.linux-arm.mk
@@ -81,6 +81,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -166,6 +167,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/platform/blink_heap_asm_stubs.target.linux-arm64.mk b/Source/platform/blink_heap_asm_stubs.target.linux-arm64.mk
index 4e71aa489..268ed0aea 100644
--- a/Source/platform/blink_heap_asm_stubs.target.linux-arm64.mk
+++ b/Source/platform/blink_heap_asm_stubs.target.linux-arm64.mk
@@ -78,6 +78,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -159,6 +160,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/platform/blink_heap_asm_stubs.target.linux-mips.mk b/Source/platform/blink_heap_asm_stubs.target.linux-mips.mk
index aef0bb9b7..1cc044050 100644
--- a/Source/platform/blink_heap_asm_stubs.target.linux-mips.mk
+++ b/Source/platform/blink_heap_asm_stubs.target.linux-mips.mk
@@ -82,6 +82,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -168,6 +169,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/platform/blink_heap_asm_stubs.target.linux-x86.mk b/Source/platform/blink_heap_asm_stubs.target.linux-x86.mk
index 24d053dd5..bce75a842 100644
--- a/Source/platform/blink_heap_asm_stubs.target.linux-x86.mk
+++ b/Source/platform/blink_heap_asm_stubs.target.linux-x86.mk
@@ -96,6 +96,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -181,6 +182,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/platform/blink_heap_asm_stubs.target.linux-x86_64.mk b/Source/platform/blink_heap_asm_stubs.target.linux-x86_64.mk
index a23bb65ee..248ef9dab 100644
--- a/Source/platform/blink_heap_asm_stubs.target.linux-x86_64.mk
+++ b/Source/platform/blink_heap_asm_stubs.target.linux-x86_64.mk
@@ -96,6 +96,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
@@ -181,6 +182,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-DANDROID' \
diff --git a/Source/platform/blink_platform.target.darwin-arm.mk b/Source/platform/blink_platform.target.darwin-arm.mk
index 2787eae64..798069d73 100644
--- a/Source/platform/blink_platform.target.darwin-arm.mk
+++ b/Source/platform/blink_platform.target.darwin-arm.mk
@@ -475,6 +475,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -623,6 +624,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_platform.target.darwin-arm64.mk b/Source/platform/blink_platform.target.darwin-arm64.mk
index 1b12da5c3..03c6b3451 100644
--- a/Source/platform/blink_platform.target.darwin-arm64.mk
+++ b/Source/platform/blink_platform.target.darwin-arm64.mk
@@ -471,6 +471,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -612,6 +613,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_platform.target.darwin-mips.mk b/Source/platform/blink_platform.target.darwin-mips.mk
index 72c4ffe61..46be01082 100644
--- a/Source/platform/blink_platform.target.darwin-mips.mk
+++ b/Source/platform/blink_platform.target.darwin-mips.mk
@@ -474,6 +474,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -619,6 +620,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_platform.target.darwin-x86.mk b/Source/platform/blink_platform.target.darwin-x86.mk
index 32783b430..00525f87d 100644
--- a/Source/platform/blink_platform.target.darwin-x86.mk
+++ b/Source/platform/blink_platform.target.darwin-x86.mk
@@ -475,6 +475,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -623,6 +624,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_platform.target.darwin-x86_64.mk b/Source/platform/blink_platform.target.darwin-x86_64.mk
index a8aaca719..dc047e252 100644
--- a/Source/platform/blink_platform.target.darwin-x86_64.mk
+++ b/Source/platform/blink_platform.target.darwin-x86_64.mk
@@ -475,6 +475,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -623,6 +624,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_platform.target.linux-arm.mk b/Source/platform/blink_platform.target.linux-arm.mk
index 2787eae64..798069d73 100644
--- a/Source/platform/blink_platform.target.linux-arm.mk
+++ b/Source/platform/blink_platform.target.linux-arm.mk
@@ -475,6 +475,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -623,6 +624,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_platform.target.linux-arm64.mk b/Source/platform/blink_platform.target.linux-arm64.mk
index 1b12da5c3..03c6b3451 100644
--- a/Source/platform/blink_platform.target.linux-arm64.mk
+++ b/Source/platform/blink_platform.target.linux-arm64.mk
@@ -471,6 +471,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -612,6 +613,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_platform.target.linux-mips.mk b/Source/platform/blink_platform.target.linux-mips.mk
index 72c4ffe61..46be01082 100644
--- a/Source/platform/blink_platform.target.linux-mips.mk
+++ b/Source/platform/blink_platform.target.linux-mips.mk
@@ -474,6 +474,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -619,6 +620,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_platform.target.linux-x86.mk b/Source/platform/blink_platform.target.linux-x86.mk
index 32783b430..00525f87d 100644
--- a/Source/platform/blink_platform.target.linux-x86.mk
+++ b/Source/platform/blink_platform.target.linux-x86.mk
@@ -475,6 +475,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -623,6 +624,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/blink_platform.target.linux-x86_64.mk b/Source/platform/blink_platform.target.linux-x86_64.mk
index a8aaca719..dc047e252 100644
--- a/Source/platform/blink_platform.target.linux-x86_64.mk
+++ b/Source/platform/blink_platform.target.linux-x86_64.mk
@@ -475,6 +475,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -623,6 +624,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_PLATFORM_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/platform/heap/Heap.cpp b/Source/platform/heap/Heap.cpp
index a22210a99..01b16804b 100644
--- a/Source/platform/heap/Heap.cpp
+++ b/Source/platform/heap/Heap.cpp
@@ -131,6 +131,7 @@ public:
WARN_UNUSED_RETURN bool commit()
{
+ ASSERT(Heap::heapDoesNotContainCacheIsEmpty());
#if OS(POSIX)
int err = mprotect(m_base, m_size, PROT_READ | PROT_WRITE);
if (!err) {
@@ -204,6 +205,7 @@ public:
// unmap the excess memory before returning.
size_t allocationSize = payloadSize + 2 * osPageSize() + blinkPageSize;
+ ASSERT(Heap::heapDoesNotContainCacheIsEmpty());
#if OS(POSIX)
Address base = static_cast<Address>(mmap(0, allocationSize, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0));
RELEASE_ASSERT(base != MAP_FAILED);
@@ -426,16 +428,15 @@ bool LargeHeapObject<Header>::isMarked()
}
template<typename Header>
-bool LargeHeapObject<Header>::checkAndMarkPointer(Visitor* visitor, Address address)
+void LargeHeapObject<Header>::checkAndMarkPointer(Visitor* visitor, Address address)
{
- if (contains(address)) {
+ ASSERT(contains(address));
+ if (!objectContains(address))
+ return;
#if ENABLE(GC_TRACING)
- visitor->setHostInfo(&address, "stack");
+ visitor->setHostInfo(&address, "stack");
#endif
- mark(visitor);
- return true;
- }
- return false;
+ mark(visitor);
}
template<>
@@ -558,13 +559,10 @@ BaseHeapPage* ThreadHeap<Header>::heapPageFromAddress(Address address)
if (page->contains(address))
return page;
}
- return 0;
-}
-
-template<typename Header>
-BaseHeapPage* ThreadHeap<Header>::largeHeapObjectFromAddress(Address address)
-{
for (LargeHeapObject<Header>* current = m_firstLargeHeapObject; current; current = current->next()) {
+ // Check that large pages are blinkPageSize aligned (modulo the
+ // osPageSize for the guard page).
+ ASSERT(reinterpret_cast<Address>(current) - osPageSize() == roundToBlinkPageStart(reinterpret_cast<Address>(current)));
if (current->contains(address))
return current;
}
@@ -584,16 +582,6 @@ const GCInfo* ThreadHeap<Header>::findGCInfoOfLargeHeapObject(Address address)
#endif
template<typename Header>
-bool ThreadHeap<Header>::checkAndMarkLargeHeapObject(Visitor* visitor, Address address)
-{
- for (LargeHeapObject<Header>* current = m_firstLargeHeapObject; current; current = current->next()) {
- if (current->checkAndMarkPointer(visitor, address))
- return true;
- }
- return false;
-}
-
-template<typename Header>
void ThreadHeap<Header>::addToFreeList(Address address, size_t size)
{
ASSERT(heapPageFromAddress(address));
@@ -647,6 +635,7 @@ Address ThreadHeap<Header>::allocateLargeObject(size_t size, const GCInfo* gcInf
#endif
if (threadState()->shouldGC())
threadState()->setGCRequested();
+ Heap::flushHeapDoesNotContainCache();
PageMemory* pageMemory = PageMemory::allocate(allocationSize);
Address largeObjectAddress = pageMemory->writableStart();
Address headerAddress = largeObjectAddress + sizeof(LargeHeapObject<Header>) + headerPadding<Header>();
@@ -668,6 +657,7 @@ Address ThreadHeap<Header>::allocateLargeObject(size_t size, const GCInfo* gcInf
template<typename Header>
void ThreadHeap<Header>::freeLargeObject(LargeHeapObject<Header>* object, LargeHeapObject<Header>** previousNext)
{
+ flushHeapContainsCache();
object->unlink(previousNext);
object->finalize();
@@ -704,6 +694,7 @@ void ThreadHeap<Header>::clearPagePool()
template<typename Header>
PageMemory* ThreadHeap<Header>::takePageFromPool()
{
+ Heap::flushHeapDoesNotContainCache();
while (PagePoolEntry* entry = m_pagePool) {
m_pagePool = entry->next();
PageMemory* storage = entry->storage();
@@ -722,6 +713,7 @@ PageMemory* ThreadHeap<Header>::takePageFromPool()
template<typename Header>
void ThreadHeap<Header>::addPageToPool(HeapPage<Header>* unused)
{
+ flushHeapContainsCache();
PageMemory* storage = unused->storage();
PagePoolEntry* entry = new PagePoolEntry(storage, m_pagePool);
m_pagePool = entry;
@@ -731,7 +723,7 @@ void ThreadHeap<Header>::addPageToPool(HeapPage<Header>* unused)
template<typename Header>
void ThreadHeap<Header>::allocatePage(const GCInfo* gcInfo)
{
- heapContainsCache()->flush();
+ Heap::flushHeapDoesNotContainCache();
PageMemory* pageMemory = takePageFromPool();
if (!pageMemory) {
pageMemory = PageMemory::allocate(blinkPagePayloadSize());
@@ -782,6 +774,7 @@ void ThreadHeap<Header>::sweep()
bool pagesRemoved = false;
while (page) {
if (page->isEmpty()) {
+ flushHeapContainsCache();
HeapPage<Header>* unused = page;
page = page->next();
HeapPage<Header>::unlink(unused, previous);
@@ -793,7 +786,7 @@ void ThreadHeap<Header>::sweep()
}
}
if (pagesRemoved)
- heapContainsCache()->flush();
+ flushHeapContainsCache();
LargeHeapObject<Header>** previousNext = &m_firstLargeHeapObject;
for (LargeHeapObject<Header>* current = m_firstLargeHeapObject; current;) {
@@ -867,7 +860,7 @@ void ThreadHeap<Header>::clearMarks()
template<typename Header>
void ThreadHeap<Header>::deletePages()
{
- heapContainsCache()->flush();
+ flushHeapContainsCache();
// Add all pages in the pool to the heap's list of pages before deleting
clearPagePool();
@@ -1079,11 +1072,12 @@ Header* HeapPage<Header>::findHeaderFromAddress(Address address)
}
template<typename Header>
-bool HeapPage<Header>::checkAndMarkPointer(Visitor* visitor, Address address)
+void HeapPage<Header>::checkAndMarkPointer(Visitor* visitor, Address address)
{
+ ASSERT(contains(address));
Header* header = findHeaderFromAddress(address);
if (!header)
- return false;
+ return;
#if ENABLE(GC_TRACING)
visitor->setHostInfo(&address, "stack");
@@ -1092,7 +1086,6 @@ bool HeapPage<Header>::checkAndMarkPointer(Visitor* visitor, Address address)
visitor->markConservatively(header);
else
visitor->mark(header, traceCallback(header));
- return true;
}
#if ENABLE(GC_TRACING)
@@ -1174,18 +1167,18 @@ void LargeHeapObject<Header>::getStats(HeapStats& stats)
stats.increaseObjectSpace(payloadSize());
}
-HeapContainsCache::HeapContainsCache()
- : m_entries(adoptArrayPtr(new Entry[HeapContainsCache::numberOfEntries]))
-{
-}
-
-void HeapContainsCache::flush()
+template<typename Entry>
+void HeapExtentCache<Entry>::flush()
{
- for (int i = 0; i < numberOfEntries; i++)
- m_entries[i] = Entry();
+ if (m_hasEntries) {
+ for (int i = 0; i < numberOfEntries; i++)
+ m_entries[i] = Entry();
+ m_hasEntries = false;
+ }
}
-size_t HeapContainsCache::hash(Address address)
+template<typename Entry>
+size_t HeapExtentCache<Entry>::hash(Address address)
{
size_t value = (reinterpret_cast<size_t>(address) >> blinkPageSizeLog2);
value ^= value >> numberOfEntriesLog2;
@@ -1194,31 +1187,46 @@ size_t HeapContainsCache::hash(Address address)
return value & ~1; // Returns only even number.
}
-bool HeapContainsCache::lookup(Address address, BaseHeapPage** page)
+template<typename Entry>
+typename Entry::LookupResult HeapExtentCache<Entry>::lookup(Address address)
{
- ASSERT(page);
size_t index = hash(address);
ASSERT(!(index & 1));
Address cachePage = roundToBlinkPageStart(address);
- if (m_entries[index].address() == cachePage) {
- *page = m_entries[index].containingPage();
- return true;
- }
- if (m_entries[index + 1].address() == cachePage) {
- *page = m_entries[index + 1].containingPage();
- return true;
- }
- *page = 0;
- return false;
+ if (m_entries[index].address() == cachePage)
+ return m_entries[index].result();
+ if (m_entries[index + 1].address() == cachePage)
+ return m_entries[index + 1].result();
+ return 0;
}
-void HeapContainsCache::addEntry(Address address, BaseHeapPage* page)
+template<typename Entry>
+void HeapExtentCache<Entry>::addEntry(Address address, typename Entry::LookupResult entry)
{
+ m_hasEntries = true;
size_t index = hash(address);
ASSERT(!(index & 1));
Address cachePage = roundToBlinkPageStart(address);
m_entries[index + 1] = m_entries[index];
- m_entries[index] = Entry(cachePage, page);
+ m_entries[index] = Entry(cachePage, entry);
+}
+
+// These should not be needed, but it seems impossible to persuade clang to
+// instantiate the template functions and export them from a shared library, so
+// we add these in the non-templated subclass, which does not have that issue.
+void HeapContainsCache::addEntry(Address address, BaseHeapPage* page)
+{
+ HeapExtentCache<PositiveEntry>::addEntry(address, page);
+}
+
+BaseHeapPage* HeapContainsCache::lookup(Address address)
+{
+ return HeapExtentCache<PositiveEntry>::lookup(address);
+}
+
+void Heap::flushHeapDoesNotContainCache()
+{
+ s_heapDoesNotContainCache->flush();
}
void CallbackStack::init(CallbackStack** first)
@@ -1492,6 +1500,7 @@ void Heap::init()
ThreadState::init();
CallbackStack::init(&s_markingStack);
CallbackStack::init(&s_weakCallbackStack);
+ s_heapDoesNotContainCache = new HeapDoesNotContainCache();
s_markingVisitor = new MarkingVisitor();
}
@@ -1511,6 +1520,8 @@ void Heap::doShutdown()
ASSERT(!ThreadState::attachedThreads().size());
delete s_markingVisitor;
s_markingVisitor = 0;
+ delete s_heapDoesNotContainCache;
+ s_heapDoesNotContainCache = 0;
CallbackStack::shutdown(&s_weakCallbackStack);
CallbackStack::shutdown(&s_markingStack);
ThreadState::shutdown();
@@ -1531,16 +1542,28 @@ BaseHeapPage* Heap::contains(Address address)
Address Heap::checkAndMarkPointer(Visitor* visitor, Address address)
{
ASSERT(ThreadState::isAnyThreadInGC());
- if (!address)
+
+#ifdef NDEBUG
+ if (s_heapDoesNotContainCache->lookup(address))
return 0;
+#endif
ThreadState::AttachedThreadStateSet& threads = ThreadState::attachedThreads();
for (ThreadState::AttachedThreadStateSet::iterator it = threads.begin(), end = threads.end(); it != end; ++it) {
if ((*it)->checkAndMarkPointer(visitor, address)) {
- // Pointer found and marked.
+ // Pointer was in a page of that thread. If it actually pointed
+ // into an object then that object was found and marked.
+ ASSERT(!s_heapDoesNotContainCache->lookup(address));
return address;
}
}
+
+#ifdef NDEBUG
+ s_heapDoesNotContainCache->addEntry(address, true);
+#else
+ if (!s_heapDoesNotContainCache->lookup(address))
+ s_heapDoesNotContainCache->addEntry(address, true);
+#endif
return 0;
}
@@ -1701,5 +1724,6 @@ template class ThreadHeap<HeapObjectHeader>;
Visitor* Heap::s_markingVisitor;
CallbackStack* Heap::s_markingStack;
CallbackStack* Heap::s_weakCallbackStack;
+HeapDoesNotContainCache* Heap::s_heapDoesNotContainCache;
bool Heap::s_shutdownCalled = false;
}
diff --git a/Source/platform/heap/Heap.h b/Source/platform/heap/Heap.h
index 79d2ac8e5..04e3895aa 100644
--- a/Source/platform/heap/Heap.h
+++ b/Source/platform/heap/Heap.h
@@ -90,6 +90,11 @@ inline Address roundToBlinkPageStart(Address address)
return reinterpret_cast<Address>(reinterpret_cast<uintptr_t>(address) & blinkPageBaseMask);
}
+inline Address roundToBlinkPageEnd(Address address)
+{
+ return reinterpret_cast<Address>(reinterpret_cast<uintptr_t>(address - 1) & blinkPageBaseMask) + blinkPageSize;
+}
+
// Compute the amount of padding we have to add to a header to make
// the size of the header plus the padding a multiple of 8 bytes.
template<typename Header>
@@ -136,17 +141,15 @@ public:
ASSERT(isPageHeaderAddress(reinterpret_cast<Address>(this)));
}
- // Check if the given address could point to an object in this
+ // Check if the given address points to an object in this
// heap page. If so, find the start of that object and mark it
- // using the given Visitor.
- //
- // Returns true if the object was found and marked, returns false
- // otherwise.
+ // using the given Visitor. Otherwise do nothing. The pointer must
+ // be within the same aligned blinkPageSize as the this-pointer.
//
// This is used during conservative stack scanning to
// conservatively mark all objects that could be referenced from
// the stack.
- virtual bool checkAndMarkPointer(Visitor*, Address) = 0;
+ virtual void checkAndMarkPointer(Visitor*, Address) = 0;
#if ENABLE(GC_TRACING)
virtual const GCInfo* findGCInfo(Address) = 0;
@@ -156,6 +159,7 @@ public:
PageMemory* storage() const { return m_storage; }
ThreadState* threadState() const { return m_threadState; }
const GCInfo* gcInfo() { return m_gcInfo; }
+ virtual bool isLargeObject() { return false; }
private:
// Accessor to silence unused warnings.
@@ -187,11 +191,14 @@ public:
COMPILE_ASSERT(!(sizeof(LargeHeapObject<Header>) & allocationMask), large_heap_object_header_misaligned);
}
- virtual bool checkAndMarkPointer(Visitor*, Address);
+ virtual void checkAndMarkPointer(Visitor*, Address) OVERRIDE;
+ virtual bool isLargeObject() OVERRIDE { return true; }
#if ENABLE(GC_TRACING)
- virtual const GCInfo* findGCInfo(Address)
+ virtual const GCInfo* findGCInfo(Address address)
{
+ if (!objectContains(address))
+ return 0;
return gcInfo();
}
#endif
@@ -207,9 +214,19 @@ public:
*previousNext = m_next;
}
+ // The LargeHeapObject pseudo-page contains one actual object. Determine
+ // whether the pointer is within that object.
+ bool objectContains(Address object)
+ {
+ return (payload() <= object) && (object < address() + size());
+ }
+
+ // Returns true for any address that is on one of the pages that this
+ // large object uses. That ensures that we can use a negative result to
+ // populate the negative page cache.
bool contains(Address object)
{
- return (address() <= object) && (object <= (address() + size()));
+ return roundToBlinkPageStart(address()) <= object && object < roundToBlinkPageEnd(address() + size());
}
LargeHeapObject<Header>* next()
@@ -238,7 +255,6 @@ public:
void finalize();
private:
- friend class Heap;
friend class ThreadHeap<Header>;
LargeHeapObject<Header>* m_next;
@@ -441,10 +457,14 @@ public:
bool isEmpty();
+ // Returns true for the whole blinkPageSize page that the page is on, even
+ // for the header, and the unmapped guard page at the start. That ensures
+ // the result can be used to populate the negative page cache.
bool contains(Address addr)
{
Address blinkPageStart = roundToBlinkPageStart(address());
- return blinkPageStart <= addr && (blinkPageStart + blinkPageSize) > addr;
+ ASSERT(blinkPageStart = address() - osPageSize()); // Page is at aligned address plus guard page size.
+ return blinkPageStart <= addr && addr < blinkPageStart + blinkPageSize;
}
HeapPage* next() { return m_next; }
@@ -466,7 +486,7 @@ public:
void sweep();
void clearObjectStartBitMap();
void finalize(Header*);
- virtual bool checkAndMarkPointer(Visitor*, Address);
+ virtual void checkAndMarkPointer(Visitor*, Address) OVERRIDE;
#if ENABLE(GC_TRACING)
const GCInfo* findGCInfo(Address) OVERRIDE;
#endif
@@ -490,77 +510,115 @@ protected:
friend class ThreadHeap<Header>;
};
-// A HeapContainsCache provides a fast way of taking an arbitrary
+class AddressEntry {
+public:
+ AddressEntry() : m_address(0) { }
+
+ explicit AddressEntry(Address address) : m_address(address) { }
+
+ Address address() const { return m_address; }
+
+private:
+ Address m_address;
+};
+
+class PositiveEntry : public AddressEntry {
+public:
+ PositiveEntry()
+ : AddressEntry()
+ , m_containingPage(0)
+ {
+ }
+
+ PositiveEntry(Address address, BaseHeapPage* containingPage)
+ : AddressEntry(address)
+ , m_containingPage(containingPage)
+ {
+ }
+
+ BaseHeapPage* result() const { return m_containingPage; }
+
+ typedef BaseHeapPage* LookupResult;
+
+private:
+ BaseHeapPage* m_containingPage;
+};
+
+class NegativeEntry : public AddressEntry {
+public:
+ NegativeEntry() : AddressEntry() { }
+
+ NegativeEntry(Address address, bool) : AddressEntry(address) { }
+
+ bool result() const { return true; }
+
+ typedef bool LookupResult;
+};
+
+// A HeapExtentCache provides a fast way of taking an arbitrary
// pointer-sized word, and determining whether it can be interpreted
// as a pointer to an area that is managed by the garbage collected
// Blink heap. There is a cache of 'pages' that have previously been
-// determined to be either wholly inside or wholly outside the
-// heap. The size of these pages must be smaller than the allocation
-// alignment of the heap pages. We determine on-heap-ness by rounding
-// down the pointer to the nearest page and looking up the page in the
-// cache. If there is a miss in the cache we ask the heap to determine
-// the status of the pointer by iterating over all of the heap. The
-// result is then cached in the two-way associative page cache.
+// determined to be wholly inside the heap. The size of these pages must be
+// smaller than the allocation alignment of the heap pages. We determine
+// on-heap-ness by rounding down the pointer to the nearest page and looking up
+// the page in the cache. If there is a miss in the cache we can ask the heap
+// to determine the status of the pointer by iterating over all of the heap.
+// The result is then cached in the two-way associative page cache.
//
-// A HeapContainsCache is both a positive and negative
-// cache. Therefore, it must be flushed both when new memory is added
-// and when memory is removed from the Blink heap.
-class HeapContainsCache {
+// A HeapContainsCache is a positive cache. Therefore, it must be flushed when
+// memory is removed from the Blink heap. The HeapDoesNotContainCache is a
+// negative cache, so it must be flushed when memory is added to the heap.
+template<typename Entry>
+class HeapExtentCache {
public:
- HeapContainsCache();
+ HeapExtentCache()
+ : m_entries(adoptArrayPtr(new Entry[HeapExtentCache::numberOfEntries]))
+ , m_hasEntries(false)
+ {
+ }
void flush();
bool contains(Address);
+ bool isEmpty() { return !m_hasEntries; }
// Perform a lookup in the cache.
//
- // If lookup returns false the argument address was not found in
+ // If lookup returns null/false the argument address was not found in
// the cache and it is unknown if the address is in the Blink
// heap.
//
- // If lookup returns true the argument address was found in the
- // cache. In that case, the address is in the heap if the base
- // heap page out parameter is different from 0 and is not in the
- // heap if the base heap page out parameter is 0.
- bool lookup(Address, BaseHeapPage**);
-
- // Add an entry to the cache. Use a 0 base heap page pointer to
- // add a negative entry.
- void addEntry(Address, BaseHeapPage*);
-
-private:
- class Entry {
- public:
- Entry()
- : m_address(0)
- , m_containingPage(0)
- {
- }
-
- Entry(Address address, BaseHeapPage* containingPage)
- : m_address(address)
- , m_containingPage(containingPage)
- {
- }
-
- BaseHeapPage* containingPage() { return m_containingPage; }
- Address address() { return m_address; }
+ // If lookup returns true/a page, the argument address was found in the
+ // cache. For the HeapContainsCache this means the address is in the heap.
+ // For the HeapDoesNotContainCache this means the address is not in the
+ // heap.
+ PLATFORM_EXPORT typename Entry::LookupResult lookup(Address);
- private:
- Address m_address;
- BaseHeapPage* m_containingPage;
- };
+ // Add an entry to the cache.
+ PLATFORM_EXPORT void addEntry(Address, typename Entry::LookupResult);
+private:
static const int numberOfEntriesLog2 = 12;
static const int numberOfEntries = 1 << numberOfEntriesLog2;
static size_t hash(Address);
- WTF::OwnPtr<HeapContainsCache::Entry[]> m_entries;
+ WTF::OwnPtr<Entry[]> m_entries;
+ bool m_hasEntries;
friend class ThreadState;
};
+// Normally these would be typedefs instead of subclasses, but that makes them
+// very hard to forward declare.
+class HeapContainsCache : public HeapExtentCache<PositiveEntry> {
+public:
+ BaseHeapPage* lookup(Address);
+ void addEntry(Address, BaseHeapPage*);
+};
+
+class HeapDoesNotContainCache : public HeapExtentCache<NegativeEntry> { };
+
// FIXME: This is currently used by the WebAudio code.
// We should attempt to restructure the WebAudio code so that the main thread
// alone determines life-time and receives messages about life-time from the
@@ -681,27 +739,10 @@ public:
// page in this thread heap.
virtual BaseHeapPage* heapPageFromAddress(Address) = 0;
- // Find the large object in this thread heap containing the given
- // address. Returns 0 if the address is not contained in any
- // page in this thread heap.
- virtual BaseHeapPage* largeHeapObjectFromAddress(Address) = 0;
-
#if ENABLE(GC_TRACING)
virtual const GCInfo* findGCInfoOfLargeHeapObject(Address) = 0;
#endif
- // Check if the given address could point to an object in this
- // heap. If so, find the start of that object and mark it using
- // the given Visitor.
- //
- // Returns true if the object was found and marked, returns false
- // otherwise.
- //
- // This is used during conservative stack scanning to
- // conservatively mark all objects that could be referenced from
- // the stack.
- virtual bool checkAndMarkLargeHeapObject(Visitor*, Address) = 0;
-
// Sweep this part of the Blink heap. This finalizes dead objects
// and builds freelists for all the unused memory.
virtual void sweep() = 0;
@@ -744,11 +785,9 @@ public:
virtual ~ThreadHeap();
virtual BaseHeapPage* heapPageFromAddress(Address);
- virtual BaseHeapPage* largeHeapObjectFromAddress(Address);
#if ENABLE(GC_TRACING)
virtual const GCInfo* findGCInfoOfLargeHeapObject(Address);
#endif
- virtual bool checkAndMarkLargeHeapObject(Visitor*, Address);
virtual void sweep();
virtual void assertEmpty();
virtual void clearFreeLists();
@@ -762,7 +801,10 @@ public:
ThreadState* threadState() { return m_threadState; }
HeapStats& stats() { return m_threadState->stats(); }
- HeapContainsCache* heapContainsCache() { return m_threadState->heapContainsCache(); }
+ void flushHeapContainsCache()
+ {
+ m_threadState->heapContainsCache()->flush();
+ }
inline Address allocate(size_t, const GCInfo*);
void addToFreeList(Address, size_t);
@@ -906,11 +948,17 @@ public:
static bool isConsistentForGC();
static void makeConsistentForGC();
+ static void flushHeapDoesNotContainCache();
+ static bool heapDoesNotContainCacheIsEmpty() { return s_heapDoesNotContainCache->isEmpty(); }
+
+private:
static Visitor* s_markingVisitor;
static CallbackStack* s_markingStack;
static CallbackStack* s_weakCallbackStack;
+ static HeapDoesNotContainCache* s_heapDoesNotContainCache;
static bool s_shutdownCalled;
+ friend class ThreadState;
};
// The NoAllocationScope class is used in debug mode to catch unwanted
diff --git a/Source/platform/heap/HeapTest.cpp b/Source/platform/heap/HeapTest.cpp
index 09443de18..814e3a4a1 100644
--- a/Source/platform/heap/HeapTest.cpp
+++ b/Source/platform/heap/HeapTest.cpp
@@ -1853,6 +1853,15 @@ TEST(HeapTest, LargeObjects)
{
int slack = 8; // LargeObject points to an IntWrapper that is also allocated.
Persistent<LargeObject> object = LargeObject::create();
+ EXPECT_TRUE(ThreadState::current()->contains(object));
+ EXPECT_TRUE(ThreadState::current()->contains(reinterpret_cast<char*>(object.get()) + sizeof(LargeObject) - 1));
+#if ENABLE(GC_TRACING)
+ const GCInfo* info = ThreadState::current()->findGCInfo(reinterpret_cast<Address>(object.get()));
+ EXPECT_NE(reinterpret_cast<const GCInfo*>(0), info);
+ EXPECT_EQ(info, ThreadState::current()->findGCInfo(reinterpret_cast<Address>(object.get()) + sizeof(LargeObject) - 1));
+ EXPECT_NE(info, ThreadState::current()->findGCInfo(reinterpret_cast<Address>(object.get()) + sizeof(LargeObject)));
+ EXPECT_NE(info, ThreadState::current()->findGCInfo(reinterpret_cast<Address>(object.get()) - 1));
+#endif
HeapStats afterAllocation;
clearOutOldGarbage(&afterAllocation);
{
diff --git a/Source/platform/heap/ThreadState.cpp b/Source/platform/heap/ThreadState.cpp
index f26a40994..6ddefb098 100644
--- a/Source/platform/heap/ThreadState.cpp
+++ b/Source/platform/heap/ThreadState.cpp
@@ -490,14 +490,18 @@ bool ThreadState::checkAndMarkPointer(Visitor* visitor, Address address)
if (m_isCleaningUp)
return false;
+ // This checks for normal pages and for large objects which span the extent
+ // of several normal pages.
BaseHeapPage* page = heapPageFromAddress(address);
- if (page)
- return page->checkAndMarkPointer(visitor, address);
- // Not in heap pages, check large objects
- for (int i = 0; i < NumberOfHeaps; i++) {
- if (m_heaps[i]->checkAndMarkLargeHeapObject(visitor, address))
- return true;
+ if (page) {
+ page->checkAndMarkPointer(visitor, address);
+ // Whether or not the pointer was within an object it was certainly
+ // within a page that is part of the heap, so we don't want to ask the
+ // other other heaps or put this address in the
+ // HeapDoesNotContainCache.
+ return true;
}
+
return false;
}
@@ -508,12 +512,6 @@ const GCInfo* ThreadState::findGCInfo(Address address)
if (page) {
return page->findGCInfo(address);
}
-
- // Not in heap pages, check large objects
- for (int i = 0; i < NumberOfHeaps; i++) {
- if (const GCInfo* info = m_heaps[i]->findGCInfoOfLargeHeapObject(address))
- return info;
- }
return 0;
}
#endif
@@ -675,37 +673,28 @@ void ThreadState::prepareForGC()
BaseHeapPage* ThreadState::heapPageFromAddress(Address address)
{
- BaseHeapPage* page;
- bool found = heapContainsCache()->lookup(address, &page);
- if (found)
- return page;
-
- for (int i = 0; i < NumberOfHeaps; i++) {
- page = m_heaps[i]->heapPageFromAddress(address);
-#ifndef NDEBUG
- Address blinkPageAddr = roundToBlinkPageStart(address);
+ BaseHeapPage* cachedPage = heapContainsCache()->lookup(address);
+#ifdef NDEBUG
+ if (cachedPage)
+ return cachedPage;
#endif
- ASSERT(page == m_heaps[i]->heapPageFromAddress(blinkPageAddr));
- ASSERT(page == m_heaps[i]->heapPageFromAddress(blinkPageAddr + blinkPageSize - 1));
- if (page)
- break;
- }
- heapContainsCache()->addEntry(address, page);
- return page; // 0 if not found.
-}
-BaseHeapPage* ThreadState::contains(Address address)
-{
- // Check heap contains cache first.
- BaseHeapPage* page = heapPageFromAddress(address);
- if (page)
- return page;
- // If no heap page was found check large objects.
for (int i = 0; i < NumberOfHeaps; i++) {
- page = m_heaps[i]->largeHeapObjectFromAddress(address);
- if (page)
+ BaseHeapPage* page = m_heaps[i]->heapPageFromAddress(address);
+ if (page) {
+ // Asserts that make sure heapPageFromAddress takes addresses from
+ // the whole aligned blinkPageSize memory area. This is necessary
+ // for the negative cache to work.
+ ASSERT(page->isLargeObject() || page == m_heaps[i]->heapPageFromAddress(roundToBlinkPageStart(address)));
+ if (roundToBlinkPageStart(address) != roundToBlinkPageEnd(address))
+ ASSERT(page->isLargeObject() || page == m_heaps[i]->heapPageFromAddress(roundToBlinkPageEnd(address) - 1));
+ ASSERT(!cachedPage || page == cachedPage);
+ if (!cachedPage)
+ heapContainsCache()->addEntry(address, page);
return page;
+ }
}
+ ASSERT(!cachedPage);
return 0;
}
diff --git a/Source/platform/heap/ThreadState.h b/Source/platform/heap/ThreadState.h
index 836251347..e11e88ba5 100644
--- a/Source/platform/heap/ThreadState.h
+++ b/Source/platform/heap/ThreadState.h
@@ -467,7 +467,7 @@ public:
// address ranges for the Blink heap. If the address is in the Blink
// heap the containing heap page is returned.
HeapContainsCache* heapContainsCache() { return m_heapContainsCache.get(); }
- BaseHeapPage* contains(Address);
+ BaseHeapPage* contains(Address address) { return heapPageFromAddress(address); }
BaseHeapPage* contains(void* pointer) { return contains(reinterpret_cast<Address>(pointer)); }
BaseHeapPage* contains(const void* pointer) { return contains(const_cast<void*>(pointer)); }
diff --git a/Source/web/WebKit.cpp b/Source/web/WebKit.cpp
index 371a507b3..e2615483f 100644
--- a/Source/web/WebKit.cpp
+++ b/Source/web/WebKit.cpp
@@ -35,7 +35,6 @@
#include "bindings/v8/V8Binding.h"
#include "bindings/v8/V8Initializer.h"
#include "core/Init.h"
-#include "core/animation/AnimationClock.h"
#include "core/dom/Microtask.h"
#include "core/frame/Settings.h"
#include "core/page/Page.h"
@@ -67,11 +66,8 @@ namespace {
class EndOfTaskRunner : public WebThread::TaskObserver {
public:
- virtual void willProcessTask() OVERRIDE
- {
- WebCore::AnimationClock::notifyTaskStart();
- }
- virtual void didProcessTask() OVERRIDE
+ virtual void willProcessTask() { }
+ virtual void didProcessTask()
{
WebCore::Microtask::performCheckpoint();
}
diff --git a/Source/web/WebSearchableFormData.cpp b/Source/web/WebSearchableFormData.cpp
index 32f98b74c..0c78ee4a1 100644
--- a/Source/web/WebSearchableFormData.cpp
+++ b/Source/web/WebSearchableFormData.cpp
@@ -99,9 +99,9 @@ HTMLFormControlElement* GetButtonToActivate(HTMLFormElement* form)
// selected state.
bool IsSelectInDefaultState(HTMLSelectElement* select)
{
- const Vector<HTMLElement*>& listItems = select->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = select->listItems();
if (select->multiple() || select->size() > 1) {
- for (Vector<HTMLElement*>::const_iterator i(listItems.begin()); i != listItems.end(); ++i) {
+ for (WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >::const_iterator i(listItems.begin()); i != listItems.end(); ++i) {
if (!(*i)->hasLocalName(HTMLNames::optionTag))
continue;
HTMLOptionElement* optionElement = toHTMLOptionElement(*i);
@@ -114,7 +114,7 @@ bool IsSelectInDefaultState(HTMLSelectElement* select)
// The select is rendered as a combobox (called menulist in WebKit). At
// least one item is selected, determine which one.
HTMLOptionElement* initialSelected = 0;
- for (Vector<HTMLElement*>::const_iterator i(listItems.begin()); i != listItems.end(); ++i) {
+ for (WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >::const_iterator i(listItems.begin()); i != listItems.end(); ++i) {
if (!(*i)->hasLocalName(HTMLNames::optionTag))
continue;
HTMLOptionElement* optionElement = toHTMLOptionElement(*i);
diff --git a/Source/web/WebSelectElement.cpp b/Source/web/WebSelectElement.cpp
index ec0c8ce00..4cec61667 100644
--- a/Source/web/WebSelectElement.cpp
+++ b/Source/web/WebSelectElement.cpp
@@ -43,10 +43,10 @@ namespace blink {
WebVector<WebElement> WebSelectElement::listItems() const
{
- const Vector<HTMLElement*>& sourceItems = constUnwrap<HTMLSelectElement>()->listItems();
+ const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& sourceItems = constUnwrap<HTMLSelectElement>()->listItems();
WebVector<WebElement> items(sourceItems.size());
for (size_t i = 0; i < sourceItems.size(); ++i)
- items[i] = WebElement(sourceItems[i]);
+ items[i] = WebElement(sourceItems[i].get());
return items;
}
diff --git a/Source/web/blink_web.target.darwin-arm.mk b/Source/web/blink_web.target.darwin-arm.mk
index e0ad8f15a..d630b02c6 100644
--- a/Source/web/blink_web.target.darwin-arm.mk
+++ b/Source/web/blink_web.target.darwin-arm.mk
@@ -314,6 +314,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -455,6 +456,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/web/blink_web.target.darwin-arm64.mk b/Source/web/blink_web.target.darwin-arm64.mk
index 061136300..09b706956 100644
--- a/Source/web/blink_web.target.darwin-arm64.mk
+++ b/Source/web/blink_web.target.darwin-arm64.mk
@@ -311,6 +311,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -445,6 +446,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/web/blink_web.target.darwin-mips.mk b/Source/web/blink_web.target.darwin-mips.mk
index cb79848ad..c295fd026 100644
--- a/Source/web/blink_web.target.darwin-mips.mk
+++ b/Source/web/blink_web.target.darwin-mips.mk
@@ -314,6 +314,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -452,6 +453,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/web/blink_web.target.darwin-x86.mk b/Source/web/blink_web.target.darwin-x86.mk
index a7bf5f179..c0316bc4d 100644
--- a/Source/web/blink_web.target.darwin-x86.mk
+++ b/Source/web/blink_web.target.darwin-x86.mk
@@ -315,6 +315,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -456,6 +457,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/web/blink_web.target.darwin-x86_64.mk b/Source/web/blink_web.target.darwin-x86_64.mk
index b47821432..3e6f917a9 100644
--- a/Source/web/blink_web.target.darwin-x86_64.mk
+++ b/Source/web/blink_web.target.darwin-x86_64.mk
@@ -315,6 +315,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -456,6 +457,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/web/blink_web.target.linux-arm.mk b/Source/web/blink_web.target.linux-arm.mk
index e0ad8f15a..d630b02c6 100644
--- a/Source/web/blink_web.target.linux-arm.mk
+++ b/Source/web/blink_web.target.linux-arm.mk
@@ -314,6 +314,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -455,6 +456,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/web/blink_web.target.linux-arm64.mk b/Source/web/blink_web.target.linux-arm64.mk
index 061136300..09b706956 100644
--- a/Source/web/blink_web.target.linux-arm64.mk
+++ b/Source/web/blink_web.target.linux-arm64.mk
@@ -311,6 +311,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -445,6 +446,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/web/blink_web.target.linux-mips.mk b/Source/web/blink_web.target.linux-mips.mk
index cb79848ad..c295fd026 100644
--- a/Source/web/blink_web.target.linux-mips.mk
+++ b/Source/web/blink_web.target.linux-mips.mk
@@ -314,6 +314,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -452,6 +453,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/web/blink_web.target.linux-x86.mk b/Source/web/blink_web.target.linux-x86.mk
index a7bf5f179..c0316bc4d 100644
--- a/Source/web/blink_web.target.linux-x86.mk
+++ b/Source/web/blink_web.target.linux-x86.mk
@@ -315,6 +315,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -456,6 +457,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/web/blink_web.target.linux-x86_64.mk b/Source/web/blink_web.target.linux-x86_64.mk
index b47821432..3e6f917a9 100644
--- a/Source/web/blink_web.target.linux-x86_64.mk
+++ b/Source/web/blink_web.target.linux-x86_64.mk
@@ -315,6 +315,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
@@ -456,6 +457,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DBLINK_IMPLEMENTATION=1' \
'-DINSIDE_BLINK' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
diff --git a/Source/wtf/LinkedHashSet.h b/Source/wtf/LinkedHashSet.h
index 9b8fb79c1..eb235d4ee 100644
--- a/Source/wtf/LinkedHashSet.h
+++ b/Source/wtf/LinkedHashSet.h
@@ -177,6 +177,8 @@ public:
LinkedHashSet();
LinkedHashSet(const LinkedHashSet&);
LinkedHashSet& operator=(const LinkedHashSet&);
+
+ // Needs finalization. The anchor needs to unlink itself from the chain.
~LinkedHashSet();
static void finalize(void* pointer) { reinterpret_cast<LinkedHashSet*>(pointer)->~LinkedHashSet(); }
diff --git a/Source/wtf/ListHashSet.h b/Source/wtf/ListHashSet.h
index 12b83451e..2a40d49c0 100644
--- a/Source/wtf/ListHashSet.h
+++ b/Source/wtf/ListHashSet.h
@@ -56,10 +56,29 @@ namespace WTF {
template<typename HashArg> struct ListHashSetNodeHashFunctions;
template<typename HashArg> struct ListHashSetTranslator;
+ // Don't declare a destructor for HeapAllocated ListHashSet.
+ template<typename Derived, typename Allocator, bool isGarbageCollected>
+ class ListHashSetDestructorBase;
+
+ template<typename Derived, typename Allocator>
+ class ListHashSetDestructorBase<Derived, Allocator, true> {
+ protected:
+ typename Allocator::AllocatorProvider m_allocatorProvider;
+ };
+
+ template<typename Derived, typename Allocator>
+ class ListHashSetDestructorBase<Derived, Allocator, false> {
+ public:
+ ~ListHashSetDestructorBase() { static_cast<Derived*>(this)->finalize(); }
+ protected:
+ typename Allocator::AllocatorProvider m_allocatorProvider;
+ };
+
// Note that for a ListHashSet you cannot specify the HashTraits as a
// template argument. It uses the default hash traits for the ValueArg
// type.
- template<typename ValueArg, size_t inlineCapacity = 256, typename HashArg = typename DefaultHash<ValueArg>::Hash, typename AllocatorArg = ListHashSetAllocator<ValueArg, inlineCapacity> > class ListHashSet {
+ template<typename ValueArg, size_t inlineCapacity = 256, typename HashArg = typename DefaultHash<ValueArg>::Hash, typename AllocatorArg = ListHashSetAllocator<ValueArg, inlineCapacity> > class ListHashSet
+ : public ListHashSetDestructorBase<ListHashSet<ValueArg, inlineCapacity, HashArg, AllocatorArg>, AllocatorArg, AllocatorArg::isGarbageCollected> {
typedef AllocatorArg Allocator;
WTF_USE_ALLOCATOR(ListHashSet, Allocator);
@@ -98,7 +117,7 @@ namespace WTF {
ListHashSet();
ListHashSet(const ListHashSet&);
ListHashSet& operator=(const ListHashSet&);
- ~ListHashSet();
+ void finalize();
void swap(ListHashSet&);
@@ -171,9 +190,9 @@ namespace WTF {
void prependNode(Node*);
void insertNodeBefore(Node* beforeNode, Node* newNode);
void deleteAllNodes();
- Allocator* allocator() const { return m_allocatorProvider.get(); }
- void createAllocatorIfNeeded() { m_allocatorProvider.createAllocatorIfNeeded(); }
- void deallocate(Node* node) const { m_allocatorProvider.deallocate(node); }
+ Allocator* allocator() const { return this->m_allocatorProvider.get(); }
+ void createAllocatorIfNeeded() { this->m_allocatorProvider.createAllocatorIfNeeded(); }
+ void deallocate(Node* node) const { this->m_allocatorProvider.deallocate(node); }
iterator makeIterator(Node* position) { return iterator(this, position); }
const_iterator makeConstIterator(Node* position) const { return const_iterator(this, position); }
@@ -185,7 +204,6 @@ namespace WTF {
ImplType m_impl;
Node* m_head;
Node* m_tail;
- typename Allocator::AllocatorProvider m_allocatorProvider;
};
// ListHashSetNode has this base class to hold the members because the MSVC
@@ -669,14 +687,14 @@ namespace WTF {
m_impl.swap(other.m_impl);
std::swap(m_head, other.m_head);
std::swap(m_tail, other.m_tail);
- m_allocatorProvider.swap(other.m_allocatorProvider);
+ this->m_allocatorProvider.swap(other.m_allocatorProvider);
}
template<typename T, size_t inlineCapacity, typename U, typename V>
- inline ListHashSet<T, inlineCapacity, U, V>::~ListHashSet()
+ inline void ListHashSet<T, inlineCapacity, U, V>::finalize()
{
- if (!Allocator::isGarbageCollected)
- deleteAllNodes();
+ COMPILE_ASSERT(!Allocator::isGarbageCollected, FinalizeOnHeapAllocatedListHashSetShouldNeverBeCalled);
+ deleteAllNodes();
}
template<typename T, size_t inlineCapacity, typename U, typename V>
diff --git a/Source/wtf/wtf.target.darwin-arm.mk b/Source/wtf/wtf.target.darwin-arm.mk
index 511776484..c32e67f29 100644
--- a/Source/wtf/wtf.target.darwin-arm.mk
+++ b/Source/wtf/wtf.target.darwin-arm.mk
@@ -156,6 +156,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
@@ -257,6 +258,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
diff --git a/Source/wtf/wtf.target.darwin-arm64.mk b/Source/wtf/wtf.target.darwin-arm64.mk
index 077a83605..773eeffcf 100644
--- a/Source/wtf/wtf.target.darwin-arm64.mk
+++ b/Source/wtf/wtf.target.darwin-arm64.mk
@@ -153,6 +153,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
@@ -248,6 +249,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
diff --git a/Source/wtf/wtf.target.darwin-mips.mk b/Source/wtf/wtf.target.darwin-mips.mk
index 0ed078fd1..57dddd4c9 100644
--- a/Source/wtf/wtf.target.darwin-mips.mk
+++ b/Source/wtf/wtf.target.darwin-mips.mk
@@ -156,6 +156,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
@@ -255,6 +256,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
diff --git a/Source/wtf/wtf.target.darwin-x86.mk b/Source/wtf/wtf.target.darwin-x86.mk
index 9b008265b..a6cfbb4ef 100644
--- a/Source/wtf/wtf.target.darwin-x86.mk
+++ b/Source/wtf/wtf.target.darwin-x86.mk
@@ -157,6 +157,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
@@ -258,6 +259,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
diff --git a/Source/wtf/wtf.target.darwin-x86_64.mk b/Source/wtf/wtf.target.darwin-x86_64.mk
index 299fdb1c0..b361e1d13 100644
--- a/Source/wtf/wtf.target.darwin-x86_64.mk
+++ b/Source/wtf/wtf.target.darwin-x86_64.mk
@@ -157,6 +157,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
@@ -258,6 +259,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
diff --git a/Source/wtf/wtf.target.linux-arm.mk b/Source/wtf/wtf.target.linux-arm.mk
index 511776484..c32e67f29 100644
--- a/Source/wtf/wtf.target.linux-arm.mk
+++ b/Source/wtf/wtf.target.linux-arm.mk
@@ -156,6 +156,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
@@ -257,6 +258,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
diff --git a/Source/wtf/wtf.target.linux-arm64.mk b/Source/wtf/wtf.target.linux-arm64.mk
index 077a83605..773eeffcf 100644
--- a/Source/wtf/wtf.target.linux-arm64.mk
+++ b/Source/wtf/wtf.target.linux-arm64.mk
@@ -153,6 +153,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
@@ -248,6 +249,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
diff --git a/Source/wtf/wtf.target.linux-mips.mk b/Source/wtf/wtf.target.linux-mips.mk
index 0ed078fd1..57dddd4c9 100644
--- a/Source/wtf/wtf.target.linux-mips.mk
+++ b/Source/wtf/wtf.target.linux-mips.mk
@@ -156,6 +156,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
@@ -255,6 +256,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
diff --git a/Source/wtf/wtf.target.linux-x86.mk b/Source/wtf/wtf.target.linux-x86.mk
index 9b008265b..a6cfbb4ef 100644
--- a/Source/wtf/wtf.target.linux-x86.mk
+++ b/Source/wtf/wtf.target.linux-x86.mk
@@ -157,6 +157,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
@@ -258,6 +259,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
diff --git a/Source/wtf/wtf.target.linux-x86_64.mk b/Source/wtf/wtf.target.linux-x86_64.mk
index 299fdb1c0..b361e1d13 100644
--- a/Source/wtf/wtf.target.linux-x86_64.mk
+++ b/Source/wtf/wtf.target.linux-x86_64.mk
@@ -157,6 +157,7 @@ MY_DEFS_Debug := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \
@@ -258,6 +259,7 @@ MY_DEFS_Release := \
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DWTF_IMPLEMENTATION=1' \
'-DENABLE_CUSTOM_SCHEME_HANDLER=0' \
'-DENABLE_SVG_FONTS=1' \