diff options
author | Torne (Richard Coles) <torne@google.com> | 2014-05-15 12:16:45 +0100 |
---|---|---|
committer | Torne (Richard Coles) <torne@google.com> | 2014-05-15 12:16:45 +0100 |
commit | f523d2789ac2f83c4eca0ee4d5161bfdb5f2d052 (patch) | |
tree | 655c14b07cadee37be23f1295426516f91661b12 | |
parent | c5c15faba7af2dbeec27cba941ae85b25b1cc893 (diff) | |
download | WebKit-f523d2789ac2f83c4eca0ee4d5161bfdb5f2d052.tar.gz |
Merge from Chromium at DEPS revision 269467
This commit was generated by merge_to_master.py.
Change-Id: Ibe4bf25b1e1d66aba1e13e7c79b3c608dc0db399
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' \ |