Title: [214713] trunk
Revision
214713
Author
[email protected]
Date
2017-04-01 00:47:17 -0700 (Sat, 01 Apr 2017)

Log Message

Rolling back http://trac.webkit.org/r214663 - memory corruption

Source/WebCore:

* Modules/streams/ReadableByteStreamInternals.js:
(cloneArrayBuffer):
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::addBuiltinGlobals):
* bindings/js/StructuredClone.cpp:
(WebCore::structuredCloneArrayBuffer):
(WebCore::cloneArrayBufferImpl): Deleted.
(WebCore::cloneArrayBuffer): Deleted.
* bindings/js/StructuredClone.h:
* bindings/js/WebCoreBuiltinNames.h:
* testing/Internals.cpp:
(WebCore::markerTypeFrom):
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::isLoadingFromMemoryCache):
(WebCore::Internals::setImageFrameDecodingDuration):
(WebCore::deferredStyleRulesCountForList):
(WebCore::deferredGroupRulesCountForList):
(WebCore::deferredKeyframesRulesCountForList):
(WebCore::Internals::eventThrottlingBehaviorOverride):
(WebCore::Internals::enableMockSpeechSynthesizer):
(WebCore::Internals::rangeForDictionaryLookupAtLocation):
(WebCore::Internals::nodesFromRect):
(WebCore::Internals::layerIDForElement):
(WebCore::Internals::setElementUsesDisplayListDrawing):
(WebCore::Internals::setElementTracksDisplayListReplay):
(WebCore::Internals::styleRecalcCount):
(WebCore::Internals::compositingUpdateCount):
(WebCore::Internals::setCaptionDisplayMode):
(WebCore::Internals::endMediaSessionInterruption):
(WebCore::Internals::postRemoteControlCommand):
(WebCore::appendOffsets):
(WebCore::Internals::scrollSnapOffsets):
(WebCore::Internals::setShowAllPlugins):
(WebCore::Internals::cloneArrayBuffer): Deleted.
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

* streams/readable-stream-byob-request-expected.txt:
* streams/readable-stream-byob-request.js:
(self.importScripts.test): Deleted.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (214712 => 214713)


--- trunk/LayoutTests/ChangeLog	2017-04-01 06:30:00 UTC (rev 214712)
+++ trunk/LayoutTests/ChangeLog	2017-04-01 07:47:17 UTC (rev 214713)
@@ -1,3 +1,11 @@
+2017-04-01  Alexey Proskuryakov  <[email protected]>
+
+        Rolling back http://trac.webkit.org/r214663 - memory corruption
+
+        * streams/readable-stream-byob-request-expected.txt:
+        * streams/readable-stream-byob-request.js:
+        (self.importScripts.test): Deleted.
+
 2017-03-31  Zalan Bujtas  <[email protected]>
 
         <table>: Including <caption>, <thead> or <tbody> causes clipping across page breaks

Modified: trunk/LayoutTests/streams/readable-stream-byob-request-expected.txt (214712 => 214713)


--- trunk/LayoutTests/streams/readable-stream-byob-request-expected.txt	2017-04-01 06:30:00 UTC (rev 214712)
+++ trunk/LayoutTests/streams/readable-stream-byob-request-expected.txt	2017-04-01 07:47:17 UTC (rev 214713)
@@ -10,7 +10,6 @@
 PASS Calling respond() with a bytesWritten value of 0 when stream is closed should succeed 
 PASS Calling respond() with a bytesWritten value greater than autoAllocateChunkSize should fail 
 PASS Calling respond() with a bytesWritten value lower than autoAllocateChunkSize should succeed 
-PASS Test cloneArrayBuffer implementation 
 PASS ReadableStreamBYOBRequest instances should have the correct list of properties 
 PASS By default, byobRequest should be undefined 
 PASS byobRequest.view length should be equal to autoAllocateChunkSize 

Modified: trunk/LayoutTests/streams/readable-stream-byob-request.js (214712 => 214713)


--- trunk/LayoutTests/streams/readable-stream-byob-request.js	2017-04-01 06:30:00 UTC (rev 214712)
+++ trunk/LayoutTests/streams/readable-stream-byob-request.js	2017-04-01 07:47:17 UTC (rev 214713)
@@ -241,22 +241,4 @@
 // FIXME: when ReadableStreamBYOBReader is implemented, add tests with elementSize different from 1
 // so that more code can be covered.
 
-if (!self.importScripts) {
-    // Test only if not Worker.
-    const CloneArrayBuffer = internals.cloneArrayBuffer.bind(internals);
-
-    test(function() {
-        const typedArray = new Uint8Array([3, 5, 7]);
-        const clonedBuffer = CloneArrayBuffer(typedArray.buffer, 1, 1);
-        const otherArray = new Uint8Array(clonedBuffer);
-        assert_equals(otherArray.byteLength, 1);
-        assert_equals(otherArray.byteOffset, 0);
-        assert_equals(otherArray.buffer.byteLength, 1);
-        assert_equals(otherArray[0], 5);
-        // Check that when typedArray is modified, otherArray is not modified.
-        typedArray[1] = 0;
-        assert_equals(otherArray[0], 5);
-    }, "Test cloneArrayBuffer implementation");
-}
-
 done();

Modified: trunk/Source/WebCore/ChangeLog (214712 => 214713)


--- trunk/Source/WebCore/ChangeLog	2017-04-01 06:30:00 UTC (rev 214712)
+++ trunk/Source/WebCore/ChangeLog	2017-04-01 07:47:17 UTC (rev 214713)
@@ -1,3 +1,44 @@
+2017-04-01  Alexey Proskuryakov  <[email protected]>
+
+        Rolling back http://trac.webkit.org/r214663 - memory corruption
+
+        * Modules/streams/ReadableByteStreamInternals.js:
+        (cloneArrayBuffer):
+        * bindings/js/JSDOMGlobalObject.cpp:
+        (WebCore::JSDOMGlobalObject::addBuiltinGlobals):
+        * bindings/js/StructuredClone.cpp:
+        (WebCore::structuredCloneArrayBuffer):
+        (WebCore::cloneArrayBufferImpl): Deleted.
+        (WebCore::cloneArrayBuffer): Deleted.
+        * bindings/js/StructuredClone.h:
+        * bindings/js/WebCoreBuiltinNames.h:
+        * testing/Internals.cpp:
+        (WebCore::markerTypeFrom):
+        (WebCore::Internals::resetToConsistentState):
+        (WebCore::Internals::isLoadingFromMemoryCache):
+        (WebCore::Internals::setImageFrameDecodingDuration):
+        (WebCore::deferredStyleRulesCountForList):
+        (WebCore::deferredGroupRulesCountForList):
+        (WebCore::deferredKeyframesRulesCountForList):
+        (WebCore::Internals::eventThrottlingBehaviorOverride):
+        (WebCore::Internals::enableMockSpeechSynthesizer):
+        (WebCore::Internals::rangeForDictionaryLookupAtLocation):
+        (WebCore::Internals::nodesFromRect):
+        (WebCore::Internals::layerIDForElement):
+        (WebCore::Internals::setElementUsesDisplayListDrawing):
+        (WebCore::Internals::setElementTracksDisplayListReplay):
+        (WebCore::Internals::styleRecalcCount):
+        (WebCore::Internals::compositingUpdateCount):
+        (WebCore::Internals::setCaptionDisplayMode):
+        (WebCore::Internals::endMediaSessionInterruption):
+        (WebCore::Internals::postRemoteControlCommand):
+        (WebCore::appendOffsets):
+        (WebCore::Internals::scrollSnapOffsets):
+        (WebCore::Internals::setShowAllPlugins):
+        (WebCore::Internals::cloneArrayBuffer): Deleted.
+        * testing/Internals.h:
+        * testing/Internals.idl:
+
 2017-03-31  Zalan Bujtas  <[email protected]>
 
         <table>: Including <caption>, <thead> or <tbody> causes clipping across page breaks

Modified: trunk/Source/WebCore/Modules/streams/ReadableByteStreamInternals.js (214712 => 214713)


--- trunk/Source/WebCore/Modules/streams/ReadableByteStreamInternals.js	2017-04-01 06:30:00 UTC (rev 214712)
+++ trunk/Source/WebCore/Modules/streams/ReadableByteStreamInternals.js	2017-04-01 07:47:17 UTC (rev 214713)
@@ -378,6 +378,17 @@
     }
 }
 
+function cloneArrayBuffer(srcBuffer, srcByteOffset, srcLength)
+{
+    "use strict";
+
+    // FIXME: Below implementation returns the appropriate data but does not perform
+    // exactly what is described by ECMAScript CloneArrayBuffer operation. This should
+    // be fixed in a follow up patch implementing cloneArrayBuffer in JSC (similarly to
+    // structuredCloneArrayBuffer implementation).
+    return srcBuffer.slice(srcByteOffset, srcByteOffset + srcLength);
+}
+
 function readableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor)
 {
     "use strict";

Modified: trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp (214712 => 214713)


--- trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp	2017-04-01 06:30:00 UTC (rev 214712)
+++ trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp	2017-04-01 07:47:17 UTC (rev 214713)
@@ -142,8 +142,6 @@
             JSFunction::create(vm, this, 2, String(), makeThisTypeErrorForBuiltins), DontDelete | ReadOnly),
         JSDOMGlobalObject::GlobalPropertyInfo(clientData.builtinNames().makeGetterTypeErrorPrivateName(),
             JSFunction::create(vm, this, 2, String(), makeGetterTypeErrorForBuiltins), DontDelete | ReadOnly),
-        JSDOMGlobalObject::GlobalPropertyInfo(clientData.builtinNames().cloneArrayBufferPrivateName(),
-            JSFunction::create(vm, this, 3, String(), cloneArrayBuffer), DontDelete | ReadOnly),
         JSDOMGlobalObject::GlobalPropertyInfo(clientData.builtinNames().structuredCloneArrayBufferPrivateName(),
             JSFunction::create(vm, this, 1, String(), structuredCloneArrayBuffer), DontDelete | ReadOnly),
         JSDOMGlobalObject::GlobalPropertyInfo(clientData.builtinNames().structuredCloneArrayBufferViewPrivateName(),

Modified: trunk/Source/WebCore/bindings/js/StructuredClone.cpp (214712 => 214713)


--- trunk/Source/WebCore/bindings/js/StructuredClone.cpp	2017-04-01 06:30:00 UTC (rev 214712)
+++ trunk/Source/WebCore/bindings/js/StructuredClone.cpp	2017-04-01 07:47:17 UTC (rev 214713)
@@ -35,9 +35,7 @@
 
 namespace WebCore {
 
-EncodedJSValue JSC_HOST_CALL cloneArrayBufferImpl(ExecState*, bool);
-
-EncodedJSValue JSC_HOST_CALL cloneArrayBufferImpl(ExecState* state, bool isPartialClone)
+EncodedJSValue JSC_HOST_CALL structuredCloneArrayBuffer(ExecState* state)
 {
     ASSERT(state);
     ASSERT(state->argumentCount());
@@ -50,25 +48,9 @@
         throwDataCloneError(*state, scope);
         return { };
     }
-    if (isPartialClone) {
-        ASSERT(state->argumentCount() == 3);
-        int srcByteOffset = static_cast<int>(state->uncheckedArgument(1).toNumber(state));
-        int srcLength = static_cast<int>(state->uncheckedArgument(2).toNumber(state));
-        buffer = buffer->slice(srcByteOffset, srcByteOffset + srcLength).get();
-    }
     return JSValue::encode(JSArrayBuffer::create(state->vm(), state->lexicalGlobalObject()->arrayBufferStructure(ArrayBufferSharingMode::Default), ArrayBuffer::tryCreate(buffer->data(), buffer->byteLength())));
 }
 
-EncodedJSValue JSC_HOST_CALL cloneArrayBuffer(ExecState* state)
-{
-    return cloneArrayBufferImpl(state, true);
-}
-
-EncodedJSValue JSC_HOST_CALL structuredCloneArrayBuffer(ExecState* state)
-{
-    return cloneArrayBufferImpl(state, false);
-}
-
 EncodedJSValue JSC_HOST_CALL structuredCloneArrayBufferView(ExecState* state)
 {
     ASSERT(state);

Modified: trunk/Source/WebCore/bindings/js/StructuredClone.h (214712 => 214713)


--- trunk/Source/WebCore/bindings/js/StructuredClone.h	2017-04-01 06:30:00 UTC (rev 214712)
+++ trunk/Source/WebCore/bindings/js/StructuredClone.h	2017-04-01 07:47:17 UTC (rev 214713)
@@ -31,7 +31,6 @@
 
 namespace WebCore {
 
-JSC::EncodedJSValue JSC_HOST_CALL cloneArrayBuffer(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL structuredCloneArrayBuffer(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL structuredCloneArrayBufferView(JSC::ExecState*);
 

Modified: trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h (214712 => 214713)


--- trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h	2017-04-01 06:30:00 UTC (rev 214712)
+++ trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h	2017-04-01 07:47:17 UTC (rev 214713)
@@ -39,7 +39,6 @@
     macro(body) \
     macro(byobRequest) \
     macro(cancel) \
-    macro(cloneArrayBuffer) \
     macro(cloneForJS) \
     macro(closeRequested) \
     macro(closedPromiseCapability) \

Modified: trunk/Source/WebCore/testing/Internals.cpp (214712 => 214713)


--- trunk/Source/WebCore/testing/Internals.cpp	2017-04-01 06:30:00 UTC (rev 214712)
+++ trunk/Source/WebCore/testing/Internals.cpp	2017-04-01 07:47:17 UTC (rev 214713)
@@ -351,7 +351,7 @@
 #endif
     else
         return false;
-
+    
     return true;
 }
 
@@ -391,9 +391,9 @@
     page.setPaginationLineGridEnabled(false);
 
     page.setDefersLoading(false);
-
+    
     page.mainFrame().setTextZoomFactor(1.0f);
-
+    
     FrameView* mainFrameView = page.mainFrame().view();
     if (mainFrameView) {
         mainFrameView->setHeaderHeight(0);
@@ -596,7 +596,7 @@
 
     ResourceRequest request(contextDocument()->completeURL(url));
     request.setDomainForCachePartition(contextDocument()->topOrigin().domainForCachePartition());
-
+    
     CachedResource* resource = MemoryCache::singleton().resourceForRequest(request, contextDocument()->page()->sessionID());
     return resource && resource->status() == CachedResource::Cached;
 }
@@ -724,11 +724,11 @@
     auto* cachedImage = element.cachedImage();
     if (!cachedImage)
         return;
-
+    
     auto* image = cachedImage->image();
     if (!is<BitmapImage>(image))
         return;
-
+    
     downcast<BitmapImage>(*image).setFrameDecodingDurationForTesting(duration);
 }
 
@@ -988,7 +988,7 @@
                 count++;
             continue;
         }
-
+        
         StyleRuleGroup* groupRule = nullptr;
         if (is<StyleRuleMedia>(rule.get()))
             groupRule = downcast<StyleRuleMedia>(rule.get());
@@ -996,11 +996,11 @@
             groupRule = downcast<StyleRuleSupports>(rule.get());
         if (!groupRule)
             continue;
-
+        
         auto* groupChildRules = groupRule->childRulesWithoutDeferredParsing();
         if (!groupChildRules)
             continue;
-
+        
         count += deferredStyleRulesCountForList(*groupChildRules);
     }
 
@@ -1023,7 +1023,7 @@
             groupRule = downcast<StyleRuleSupports>(rule.get());
         if (!groupRule)
             continue;
-
+        
         auto* groupChildRules = groupRule->childRulesWithoutDeferredParsing();
         if (!groupChildRules)
             count++;
@@ -1048,7 +1048,7 @@
                 count++;
             continue;
         }
-
+        
         StyleRuleGroup* groupRule = nullptr;
         if (is<StyleRuleMedia>(rule.get()))
             groupRule = downcast<StyleRuleMedia>(rule.get());
@@ -1056,14 +1056,14 @@
             groupRule = downcast<StyleRuleSupports>(rule.get());
         if (!groupRule)
             continue;
-
+        
         auto* groupChildRules = groupRule->childRulesWithoutDeferredParsing();
         if (!groupChildRules)
             continue;
-
+        
         count += deferredKeyframesRulesCountForList(*groupChildRules);
     }
-
+    
     return count;
 }
 
@@ -1136,7 +1136,7 @@
     auto behavior = document->page()->eventThrottlingBehaviorOverride();
     if (!behavior)
         return std::nullopt;
-
+    
     switch (behavior.value()) {
     case WebCore::EventThrottlingBehavior::Responsive:
         return Internals::EventThrottlingBehavior::Responsive;
@@ -1201,7 +1201,7 @@
     SpeechSynthesis* synthesis = DOMWindowSpeechSynthesis::speechSynthesis(*document->domWindow());
     if (!synthesis)
         return;
-
+    
     synthesis->setPlatformSynthesizer(std::make_unique<PlatformSpeechSynthesizerMock>(synthesis));
 }
 
@@ -1633,7 +1633,7 @@
         return Exception { INVALID_ACCESS_ERR };
 
     document->updateLayoutIgnorePendingStylesheets();
-
+    
     HitTestResult result = document->frame()->mainFrame().eventHandler().hitTestResultAtPoint(IntPoint(x, y));
     NSDictionary *options = nullptr;
     return DictionaryLookup::rangeAtHitTestResult(result, &options);
@@ -1789,7 +1789,7 @@
     } else {
         HitTestResult result(point, topPadding, rightPadding, bottomPadding, leftPadding);
         renderView->hitTest(request, result);
-
+        
         const HitTestResult::NodeSet& nodeSet = result.rectBasedTestResult();
         matches.reserveInitialCapacity(nodeSet.size());
         for (auto& node : nodeSet)
@@ -1910,7 +1910,7 @@
 
     return document->frame()->editor().selectionStartHasMarkerFor(DocumentMarker::Spelling, from, length);
 }
-
+    
 bool Internals::hasAutocorrectedMarker(int from, int length)
 {
     Document* document = contextDocument();
@@ -2163,7 +2163,7 @@
 
     return count;
 }
-
+    
 ExceptionOr<bool> Internals::isPageBoxVisible(int pageNumber)
 {
     Document* document = contextDocument();
@@ -2216,7 +2216,7 @@
     auto& layerModelObject = downcast<RenderLayerModelObject>(*element.renderer());
     if (!layerModelObject.layer()->isComposited())
         return Exception { NOT_FOUND_ERR };
-
+    
     auto* backing = layerModelObject.layer()->backing();
     return backing->graphicsLayer()->primaryLayerID();
 }
@@ -2285,11 +2285,11 @@
 
     if (!element.renderer()->hasLayer())
         return Exception { INVALID_ACCESS_ERR };
-
+    
     RenderLayer* layer = downcast<RenderLayerModelObject>(element.renderer())->layer();
     if (!layer->isComposited())
         return Exception { INVALID_ACCESS_ERR };
-
+    
     layer->backing()->setUsesDisplayListDrawing(usesDisplayListDrawing);
     return { };
 }
@@ -2314,7 +2314,7 @@
     RenderLayer* layer = downcast<RenderLayerModelObject>(element.renderer())->layer();
     if (!layer->isComposited())
         return Exception { INVALID_ACCESS_ERR };
-
+    
     layer->backing()->setIsTrackingDisplayListReplay(isTrackingReplay);
     return { };
 }
@@ -2554,7 +2554,7 @@
 
     document->view()->setFooterHeight(height);
 }
-
+    
 void Internals::setTopContentInset(float contentInset)
 {
     Document* document = contextDocument();
@@ -2698,7 +2698,7 @@
     Document* document = contextDocument();
     if (!document)
         return Exception { INVALID_ACCESS_ERR };
-
+    
     return document->styleRecalcCount();
 }
 
@@ -2725,7 +2725,7 @@
     Document* document = contextDocument();
     if (!document || !document->renderView())
         return Exception { INVALID_ACCESS_ERR };
-
+    
     return document->renderView()->compositor().compositingUpdateCount();
 }
 
@@ -3017,10 +3017,10 @@
     Document* document = contextDocument();
     if (!document || !document->page())
         return Exception { INVALID_ACCESS_ERR };
-
+    
 #if ENABLE(VIDEO_TRACK)
     auto& captionPreferences = document->page()->group().captionPreferences();
-
+    
     if (equalLettersIgnoringASCIICase(mode, "automatic"))
         captionPreferences.setCaptionDisplayMode(CaptionUserPreferences::Automatic);
     else if (equalLettersIgnoringASCIICase(mode, "forcedonly"))
@@ -3085,12 +3085,12 @@
 
     return downcast<RenderEmbeddedObject>(*renderer).isReplacementObscured();
 }
-
+    
 bool Internals::isPluginSnapshotted(Element& element)
 {
     return is<HTMLPlugInElement>(element) && downcast<HTMLPlugInElement>(element).displayState() <= HTMLPlugInElement::DisplayingSnapshot;
 }
-
+    
 #if ENABLE(MEDIA_SOURCE)
 
 void Internals::initializeMockMediaSource()
@@ -3108,7 +3108,7 @@
 {
     return buffer.bufferedSamplesForTrackID(trackID);
 }
-
+    
 Vector<String> Internals::enqueuedSamplesForTrackID(SourceBuffer& buffer, const AtomicString& trackID)
 {
     return buffer.enqueuedSamplesForTrackID(trackID);
@@ -3148,7 +3148,7 @@
 
     if (equalLettersIgnoringASCIICase(flagsString, "mayresumeplaying"))
         flags = PlatformMediaSession::MayResumePlaying;
-
+    
     PlatformMediaSessionManager::sharedManager().endInterruption(flags);
 }
 
@@ -3301,7 +3301,7 @@
         command = PlatformMediaSession::SeekToPlaybackPositionCommand;
     else
         return Exception { INVALID_ACCESS_ERR };
-
+    
     PlatformMediaSessionManager::sharedManager().didReceiveRemoteControlCommand(command, &parameter);
     return { };
 }
@@ -3572,12 +3572,12 @@
             builder.appendLiteral(", ");
         else
             justStarting = false;
-
+        
         builder.append(String::number(coordinate.toUnsigned()));
     }
     builder.appendLiteral(" }");
 }
-
+    
 void Internals::setPlatformMomentumScrollingPredictionEnabled(bool enabled)
 {
     ScrollingMomentumCalculator::setPlatformMomentumScrollingPredictionEnabled(enabled);
@@ -3592,13 +3592,13 @@
 
     RenderBox& box = *element.renderBox();
     ScrollableArea* scrollableArea;
-
+    
     if (box.isBody()) {
         FrameView* frameView = box.frame().mainFrame().view();
         if (!frameView || !frameView->isScrollable())
             return Exception { INVALID_ACCESS_ERR };
         scrollableArea = frameView;
-
+        
     } else {
         if (!box.canBeScrolledAndHasScrollableArea())
             return Exception { INVALID_ACCESS_ERR };
@@ -3607,7 +3607,7 @@
 
     if (!scrollableArea)
         return String();
-
+    
     StringBuilder result;
 
     if (auto* offsets = scrollableArea->horizontalSnapOffsets()) {
@@ -3696,7 +3696,7 @@
     Document* document = contextDocument();
     if (!document)
         return;
-
+    
     Page* page = document->page();
     if (!page)
         return;
@@ -3729,33 +3729,7 @@
     return returnedValue.asBoolean();
 }
 
-#if ENABLE(READABLE_BYTE_STREAM_API)
-
-JSValue Internals::cloneArrayBuffer(JSC::ExecState& state, JSValue buffer, JSValue srcByteOffset, JSValue srcLength)
-{
-    JSGlobalObject* globalObject = state.vmEntryGlobalObject();
-    JSVMClientData* clientData = static_cast<JSVMClientData*>(state.vm().clientData);
-    const Identifier& privateName = clientData->builtinNames().cloneArrayBufferPrivateName();
-    JSValue value;
-    PropertySlot propertySlot(value, PropertySlot::InternalMethodType::Get);
-    globalObject->methodTable()->getOwnPropertySlot(globalObject, &state, privateName, propertySlot);
-    value = propertySlot.getValue(&state, privateName);
-    ASSERT(value.isFunction());
-
-    JSObject* function = value.getObject();
-    CallData callData;
-    CallType callType = JSC::getCallData(function, callData);
-    ASSERT(callType != JSC::CallType::None);
-    MarkedArgumentBuffer arguments;
-    arguments.append(buffer);
-    arguments.append(srcByteOffset);
-    arguments.append(srcLength);
-
-    return JSC::call(&state, function, callType, callData, JSC::jsUndefined(), arguments);
-}
-
 #endif
-#endif
 
 String Internals::resourceLoadStatisticsForOrigin(const String& origin)
 {

Modified: trunk/Source/WebCore/testing/Internals.h (214712 => 214713)


--- trunk/Source/WebCore/testing/Internals.h	2017-04-01 06:30:00 UTC (rev 214712)
+++ trunk/Source/WebCore/testing/Internals.h	2017-04-01 07:47:17 UTC (rev 214713)
@@ -188,14 +188,14 @@
 
     void invalidateFontCache();
     void setFontSmoothingEnabled(bool);
-
+    
     ExceptionOr<void> setLowPowerModeEnabled(bool);
 
     ExceptionOr<void> setScrollViewPosition(int x, int y);
-
+    
     ExceptionOr<Ref<ClientRect>> layoutViewportRect();
     ExceptionOr<Ref<ClientRect>> visualViewportRect();
-
+    
     ExceptionOr<void> setViewBaseBackgroundColor(const String& colorValue);
 
     ExceptionOr<void> setPagination(const String& mode, int gap, int pageLength);
@@ -368,7 +368,7 @@
 
     ExceptionOr<void> startTrackingLayerFlushes();
     ExceptionOr<unsigned> layerFlushCount();
-
+    
     ExceptionOr<void> startTrackingStyleRecalcs();
     ExceptionOr<unsigned> styleRecalcCount();
     unsigned lastStyleUpdateSize() const;
@@ -523,13 +523,10 @@
 
 #if ENABLE(READABLE_STREAM_API)
     bool isReadableStreamDisturbed(JSC::ExecState&, JSC::JSValue);
-#if ENABLE(READABLE_BYTE_STREAM_API)
-    JSC::JSValue cloneArrayBuffer(JSC::ExecState&, JSC::JSValue, JSC::JSValue, JSC::JSValue);
 #endif
-#endif
 
     String composedTreeAsText(Node&);
-
+    
     bool isProcessingUserGesture();
 
     RefPtr<GCObservation> observeGC(JSC::JSValue);
@@ -538,7 +535,7 @@
     void setUserInterfaceLayoutDirection(UserInterfaceLayoutDirection);
 
     bool userPrefersReducedMotion() const;
-
+    
     void reportBacktrace();
 
     enum class BaseWritingDirection { Natural, Ltr, Rtl };

Modified: trunk/Source/WebCore/testing/Internals.idl (214712 => 214713)


--- trunk/Source/WebCore/testing/Internals.idl	2017-04-01 06:30:00 UTC (rev 214712)
+++ trunk/Source/WebCore/testing/Internals.idl	2017-04-01 07:47:17 UTC (rev 214713)
@@ -490,7 +490,6 @@
 
     void setShowAllPlugins(boolean showAll);
 
-    [Conditional=READABLE_STREAM_API&READABLE_BYTE_STREAM_API, CallWith=ScriptState] any cloneArrayBuffer(any buffer, any srcByteOffset, any byteLength);
     [Conditional=READABLE_STREAM_API, CallWith=ScriptState] boolean isReadableStreamDisturbed(any stream);
 
     DOMString resourceLoadStatisticsForOrigin(DOMString domain);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to