Timeline
Mar 6, 2014:
- 11:20 PM Changeset in webkit [165252] by
-
- 2 edits in trunk/Source/WebCore
WebCoreResourceHandleAsOperationQueueDelegate over-retains NSURLRequest.
<https://webkit.org/b/129862>
Don't retain the pointer before assigning it to a RetainPtr, since that
will cause the object to leak.
Reviewed by Alexey Proskuryakov.
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate continueWillSendRequest:]):
- 10:39 PM Changeset in webkit [165251] by
-
- 2 edits in trunk/Source/WebCore
Don’t copy WebInputs.json into the framework.
- WebCore.xcodeproj/project.pbxproj: Removed WebInputs.json from the Copy Bundle Resources
build phase of the WebCore target.
- 10:32 PM Changeset in webkit [165250] by
-
- 4 edits in trunk/Source/WebKit2
[Mac] Allow com.apple.GSSCred in WebKit sandbox profiles
https://bugs.webkit.org/show_bug.cgi?id=129777
<rdar://problem/16050832>
Reviewed by Anders Carlsson.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 10:16 PM Changeset in webkit [165249] by
-
- 10 edits in trunk
If the FTL is build-time enabled then it should be run-time enabled.
Rubber stamped by Geoffrey Garen.
Source/JavaScriptCore:
- runtime/Options.cpp:
(JSC::recomputeDependentOptions):
- runtime/Options.h:
Source/WebKit2:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/mac/WebContextMac.mm:
(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebContext::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Tools:
- Scripts/run-jsc-stress-tests:
- 9:42 PM Changeset in webkit [165248] by
-
- 10 edits in trunk
[WebRTC] Updating RTCPeerConnection.idl
https://bugs.webkit.org/show_bug.cgi?id=129804
Reviewed by Eric Carlson.
Some methods signatures were wrong, marking some arguments as optional when they are mandatory.
Source/WebCore:
Existing tests were updated.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::getStats):
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/mediastream/RTCStatsRequestImpl.cpp:
(WebCore::RTCStatsRequestImpl::create):
(WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
(WebCore::RTCStatsRequestImpl::requestFailed):
- Modules/mediastream/RTCStatsRequestImpl.h:
- platform/mediastream/RTCStatsRequest.h:
LayoutTests:
- fast/mediastream/RTCPeerConnection-stats.html:
- fast/mediastream/RTCPeerConnection-statsSelector.html:
- 9:41 PM Changeset in webkit [165247] by
-
- 3 edits1 add in trunk/Source/WebCore
[WebRTC] Updating RTCIceServer to match spec
https://bugs.webkit.org/show_bug.cgi?id=129844
Reviewed by Eric Carlson.
Move RTCIceServer from RTCConfiguration to its own file.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::validateIceServerURL):
(WebCore::processIceServer):
- platform/mediastream/RTCConfiguration.h:
(WebCore::RTCConfiguration::iceServers):
- platform/mediastream/RTCIceServer.h: Added.
- 9:06 PM Changeset in webkit [165246] by
-
- 7 edits in trunk/Source
[EFL] Move EvasGL classes from WebKit to WebCore namespace.
https://bugs.webkit.org/show_bug.cgi?id=129797
Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-06
Reviewed by Gyuyoung Kim.
Source/WebCore:
Though EvasGLContext and EvasGLSurface files were moved from WebKit2/UIProcess/API/efl/
to WebCore/platform/graphics/efl/, they are still in WebKit namespace.
Patch for namespace changes.
- platform/graphics/efl/EvasGLContext.cpp:
- platform/graphics/efl/EvasGLContext.h:
- platform/graphics/efl/EvasGLSurface.cpp:
- platform/graphics/efl/EvasGLSurface.h:
Source/WebKit2:
- UIProcess/API/efl/EwkView.h: namespace changes for EvasGLContext/Surface.
- 8:21 PM Changeset in webkit [165245] by
-
- 3 edits1 add in trunk/Source/JavaScriptCore
[OS X] Web Inspector: Allow Apps using JavaScriptCore to access "com.apple.webinspector" mach port
https://bugs.webkit.org/show_bug.cgi?id=129852
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-06
Reviewed by Geoffrey Garen.
- framework.sb: Added.
Sandbox extension to allow access to "com.apple.webinspector".
- JavaScriptCore.xcodeproj/project.pbxproj:
Add a Copy Resources build phase and include framework.sb.
- Configurations/JavaScriptCore.xcconfig:
Do not copy framework.sb on iOS.
- 7:29 PM Changeset in webkit [165244] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSGlobalContextRelease incorrectly handles saving/restoring IdentifierTable
https://bugs.webkit.org/show_bug.cgi?id=129858
Reviewed by Mark Lam.
It was correct (but really ugly) prior to the combining of APIEntryShim and JSLock,
but now it ends up overwriting the IdentifierTable that JSLock just restored.
- API/JSContextRef.cpp:
(JSGlobalContextRelease):
- 6:42 PM Changeset in webkit [165243] by
-
- 1 edit2 adds in trunk/LayoutTests
Test that the screen orientation does not change when focusing a <textarea>
https://bugs.webkit.org/show_bug.cgi?id=129847
Reviewed by Enrica Casucci.
- fast/css/orientation-changes-on-textarea-focus-expected.html: Added.
- fast/css/orientation-changes-on-textarea-focus.html: Added.
- 6:23 PM Changeset in webkit [165242] by
-
- 2 edits in trunk/Source/WebCore
CodeGeneratorJS.pm doesn't need to add spaces between consecutive closing template brackets
https://bugs.webkit.org/show_bug.cgi?id=129836
Reviewed by Andreas Kling.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(GetNativeVectorInnerType):
(GetSVGPropertyTypes):
- 6:23 PM Changeset in webkit [165241] by
-
- 3 edits in trunk/Source/WebCore
Remove unused method from BatteryController
https://bugs.webkit.org/show_bug.cgi?id=129850
Reviewed by Gyuyoung Kim.
isActive() method is never called anywhere.
- Modules/battery/BatteryController.cpp:
- Modules/battery/BatteryController.h:
- 6:21 PM Changeset in webkit [165240] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Crash on launch with website restrictions enabled
https://bugs.webkit.org/show_bug.cgi?id=129854
<rdar://problem/16207016>
Reviewed by Simon Fraser.
- platform/mac/ContentFilterMac.mm:
(WebCore::ContentFilter::ContentFilter): Initialize m_neFilterSourceQueue so that we don't
crash in the dtor due to garbage value in the field.
- 6:18 PM Changeset in webkit [165239] by
-
- 2 edits in trunk/Tools
detectFailures in run-jsc-stress-tests can report everything was ok if too many tests fail
https://bugs.webkit.org/show_bug.cgi?id=129837
Reviewed by Michael Saboff.
ls test_fail_* can fail if there are too many files that match. We then swallow that error, which makes everything seem ok.
The fix is to use find instead of ls like we do in shell-runner.sh.
- Scripts/run-jsc-stress-tests:
- 6:16 PM Changeset in webkit [165238] by
-
- 2 edits in trunk/Tools
filter-build-webkit should not strip .o
https://bugs.webkit.org/show_bug.cgi?id=129614
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-06
Reviewed by Dean Jackson.
This makes it much easier to jump from the failing output at
the end back up to the compile errors earlier in the output.
- Scripts/filter-build-webkit:
- 6:14 PM Changeset in webkit [165237] by
-
- 4 edits in trunk/WebKitLibraries
Update WebKitSystemInterface.
<rdar://problem/16256214>
- libWebKitSystemInterfaceLion.a:
- libWebKitSystemInterfaceMavericks.a:
- libWebKitSystemInterfaceMountainLion.a:
- 6:06 PM Changeset in webkit [165236] by
-
- 2 edits in trunk/Source/WebKit2
Remove one more setCustomFixedPositionRect() that I missed.
- UIProcess/DrawingAreaProxy.h:
- 6:01 PM Changeset in webkit [165235] by
-
- 11 edits in trunk/Source/WebKit2
Send the fixed position rect to the WebProcess along with the other rects
https://bugs.webkit.org/show_bug.cgi?id=129856
Reviewed by Benjamin Poulain.
Remove the functions that pass the custom fixed position rect through
the DrawingArea, and replace them by adding this rect to the
VisibleContentRectUpdateInfo, along with the "is stable" flag. We
then set the custom fixed position rect in the web process for
stable updates.
- Shared/VisibleContentRectUpdateInfo.cpp:
(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):
- Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::customFixedPositionRect):
(WebKit::VisibleContentRectUpdateInfo::inStableState):
(WebKit::operator==):
- UIProcess/DrawingAreaProxy.cpp:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
- WebProcess/WebPage/DrawingArea.h:
- WebProcess/WebPage/DrawingArea.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
- 5:31 PM Changeset in webkit [165234] by
-
- 2 edits in trunk/Source/WebKit2
Remove empty class extension in WKContentViewInteraction
https://bugs.webkit.org/show_bug.cgi?id=129849
Reviewed by Enrica Casucci.
This empty class extension is cruft left over from refactoring.
It can be removed.
- UIProcess/ios/WKContentViewInteraction.mm:
- 5:31 PM Changeset in webkit [165233] by
-
- 2 edits in trunk/Source/WebCore
Minor optimization in ScrollingTreeScrollingNodeMac
https://bugs.webkit.org/show_bug.cgi?id=129848
Reviewed by Dean Jackson.
No need to call scrollOffsetForFixedPosition() again if we don't have header
and footer layers.
- page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
- 4:54 PM Changeset in webkit [165232] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix FTL build.
- 4:49 PM Changeset in webkit [165231] by
-
- 8 edits in branches/safari-537.75-branch/Source/WebCore
Merge Merge r159489.
- 4:47 PM Changeset in webkit [165230] by
-
- 2 edits in trunk/Source/WebKit2
[iOS] didUpdateVisibleRect: should use fabs, not abs
https://bugs.webkit.org/show_bug.cgi?id=129843
Reviewed by Benjamin Poulain.
When zooming we sent messages to the web process with an unchanging
zoom scale because of use of abs() rather than fabs().
- UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
- 4:26 PM Changeset in webkit [165229] by
-
- 12 edits in trunk
XMLHttpRequest: status and statusText throw DOM Exception 11 when the state is UNSENT or OPENED.
https://bugs.webkit.org/show_bug.cgi?id=45994
Not reviewed.
Re-landing r161051 (originally by Ryosuke Niwa, reviewed by Alexey Proskuryakov)
since https://bugs.webkit.org/show_bug.cgi?id=126219 is no longer an issue.
Source/WebCore:
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::status):
(WebCore::XMLHttpRequest::statusText):
- xml/XMLHttpRequest.h:
- xml/XMLHttpRequest.idl:
LayoutTests:
- http/tests/xmlhttprequest/exceptions-expected.txt:
- http/tests/xmlhttprequest/exceptions.html:
- http/tests/xmlhttprequest/status-after-abort-expected.txt:
- http/tests/xmlhttprequest/zero-length-response-expected.txt:
- js/dom/dfg-custom-getter-throw-expected.txt:
- js/dom/script-tests/dfg-custom-getter-throw-inlined.js:
(foo):
(bar):
- js/dom/script-tests/dfg-custom-getter-throw.js:
(foo):
(bar):
- 4:06 PM Changeset in webkit [165228] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed build fix after r165128.
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: The SEH flag was not getting set when
performing 'Production' and 'DebugSuffix' type builds.
- 3:50 PM Changeset in webkit [165227] by
-
- 22 edits1 add in trunk/Source/WebCore
Revise Out-of-band VTT support for better integration with AVFoundation engine
https://bugs.webkit.org/show_bug.cgi?id=129749
<rdar://problem/16215701>
Reviewed by Eric Carlson.
Revise the platform handling of out-of-band text tracks so that we can keep AVFoundation
informed of track selections we make. Use a dummy out-of-band child of the existing text
track classes to avoid code duplication.
- WebCore.xcodeproj/project.pbxproj: Add new OutOfBandTextTrackPrivateAVF.h file.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute): Notify player when OOB tracks change.
(WebCore::HTMLMediaElement::outOfBandTrackSources): Also pass track mode to platform backend.
- html/track/TextTrack.cpp:
(WebCore::TextTrack::platformTextTrack): Also pass track mode to constructor.
- html/track/TrackBase.cpp:
(WebCore::TrackBase::TrackBase): Move ownership of track unique identifier to this base class.
- html/track/TrackBase.h:
(WebCore::TrackBase::uniqueId): Ditto.
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::notifyTrackModeChanged): Added stub to pass message to platform player.
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::notifyTrackModeChanged): Stub for most platforms.
- platform/graphics/PlatformTextTrack.h:
(WebCore::PlatformTextTrack::create): Update for revised constructor (with 'mode' argument).
(WebCore::PlatformTextTrack::createOutOfBand): Ditto.
(WebCore::PlatformTextTrack::mode): Added.
(WebCore::PlatformTextTrack::captionMenuOffItem): Use revised constructor arguments.
(WebCore::PlatformTextTrack::captionMenuAutomaticItem): Ditto.
(WebCore::PlatformTextTrack::PlatformTextTrack): Ditto.
- platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Change predicate to return enum indicating the category
of track (out-of-band, legacy closed caption, or in band).
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
(WebCore::MediaPlayerPrivateAVFoundation::notifyTrackModeChanged): Added.
- platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h: Override predicate to return category enum.
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Revise to use new category enum.
- platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h: Override predicate to return category enum.
that this is NOT an out-of-band track.
- platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h: Ditto.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::notifyTrackModeChanged): Added implementation.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): Revise to handle out-of-band
track placeholders.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Modify to inform AVFoundation about any
out-of-band tracks we've selected.
(WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState): Added.
- platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h: Added.
(WebCore::OutOfBandTextTrackPrivateAVF::create):
(WebCore::OutOfBandTextTrackPrivateAVF::processCue):
(WebCore::OutOfBandTextTrackPrivateAVF::resetCueValues):
(WebCore::OutOfBandTextTrackPrivateAVF::mediaSelectionOption):
(WebCore::OutOfBandTextTrackPrivateAVF::OutOfBandTextTrackPrivateAVF):
(WebCore::OutOfBandTextTrackPrivateAVF::processCueAttributes):
- platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h: Override predicate to indicate
that this is NOT an out-of-band track.
- platform/graphics/ios/MediaPlayerPrivateIOS.mm:
(WebCore::MediaPlayerPrivateIOS::setSelectedTextTrack): Correct typo in logging text.
- 3:41 PM Changeset in webkit [165226] by
-
- 14 edits2 adds in trunk
[WebRTC] Updating createOffer and createAnswer methods to match WebRTC editor's draft of 01/27/2014
https://bugs.webkit.org/show_bug.cgi?id=129484
Reviewed by Eric Carlson.
According to the spec, createOffer and createAnswer will no longer have MediaConstraints as an argument,
instead they will have RTCOfferOptions and RTCOfferAnswerOptions, respectively.
Source/WebCore:
Existing tests were updated.
- CMakeLists.txt:
- GNUmakefile.list.am:
- Modules/mediastream/RTCOfferAnswerOptions.cpp: Added.
- Modules/mediastream/RTCOfferAnswerOptions.h: Added.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/RTCPeerConnection.idl:
- platform/mediastream/RTCPeerConnectionHandler.h:
- platform/mock/RTCPeerConnectionHandlerMock.cpp:
(WebCore::RTCPeerConnectionHandlerMock::createOffer):
(WebCore::RTCPeerConnectionHandlerMock::createAnswer):
- platform/mock/RTCPeerConnectionHandlerMock.h:
LayoutTests:
- fast/mediastream/RTCPeerConnection-createAnswer-expected.txt:
- fast/mediastream/RTCPeerConnection-createAnswer.html:
- fast/mediastream/RTCPeerConnection-createOffer-expected.txt:
- fast/mediastream/RTCPeerConnection-createOffer.html:
- 3:40 PM Changeset in webkit [165225] by
-
- 2 edits in trunk/Source/WTF
JSC should disable the JIT when building for ARMv7k
https://bugs.webkit.org/show_bug.cgi?id=129829
Reviewed by Oliver Hunt.
Added WTF_CPU_APPLE_ARMV7K CPU define. Disabled the JITs when
that feature define is set.
- wtf/Platform.h:
- 3:37 PM Changeset in webkit [165224] by
-
- 3 edits in branches/safari-537.75-branch
Merge r164077, r164089: <rdar://problem/16136637>
2014-02-13 Mark Lam <mark.lam@apple.com>
The JSContainerConvertor and ObjcContainerConvertor need to protect JSValueRefs. Part 2.
<https://webkit.org/b/128764>
Reviewed by Mark Hahnenberg.
toJS() is the wrong cast function to use. We need to use toJSForGC() instead.
Also we need to acquire the JSLock to prevent concurrent accesses to the
Strong handle list.
- API/JSValue.mm: (JSContainerConvertor::add): (containerValueToObject): (ObjcContainerConvertor::add): (objectToValue):
2014-02-13 Mark Lam <mark.lam@apple.com>
The JSContainerConvertor and ObjcContainerConvertor need to protect JSValueRefs.
<https://webkit.org/b/128764>
Reviewed by Mark Hahnenberg.
Added a vector of Strong<Unknown> references in the 2 containers, and append
the newly created JSValues to those vectors. This will keep all those JS objects
alive for the duration of the conversion.
- API/JSValue.mm: (JSContainerConvertor::add): (ObjcContainerConvertor::add):
- 3:32 PM Changeset in webkit [165223] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix style in my previous commit.
https://bugs.webkit.org/show_bug.cgi?id=129833
- runtime/JSConsole.cpp:
- 3:19 PM Changeset in webkit [165222] by
-
- 2 edits in trunk/Source/WebCore
Web Replay: premature release() of PassRefPtr in InspectorReplayAgent
https://bugs.webkit.org/show_bug.cgi?id=129827
Reviewed by Timothy Hatcher.
- inspector/InspectorReplayAgent.cpp:
(WebCore::InspectorReplayAgent::didCreateFrontendAndBackend):
- 3:19 PM Changeset in webkit [165221] by
-
- 2 edits in trunk/Source/JavaScriptCore
Build fix: add missing include in JSConole.cpp.
https://bugs.webkit.org/show_bug.cgi?id=129833
Reviewed by Oliver Hunt.
- runtime/JSConsole.cpp:
- 3:13 PM Changeset in webkit [165220] by
-
- 6 edits in trunk
Build WebKit2 before building WebKit
https://bugs.webkit.org/show_bug.cgi?id=129831
<rdar://problem/15920020>
Reviewed by Dan Bernstein.
.:
- Source/Makefile:
- WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme:
- WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:
Tools:
- Scripts/build-webkit:
Always build WebKit2 and make sure to build it before WebKit when building on Mac.
- 3:06 PM Changeset in webkit [165219] by
-
- 3 edits2 copies in branches/safari-537.75-branch
Merge r164249.
- 2:43 PM Changeset in webkit [165218] by
-
- 4 edits in trunk/Source/WebKit2
Remove WebKit1 header includes from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=129824
Reviewed by Dan Bernstein.
- UIProcess/mac/WKFullScreenWindowController.mm:
(makeResponderFirstResponderIfDescendantOfView):
Add a new function instead of calling an NSWindow category method that's defined in WebKit1.
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
Call makeResponderFirstResponderIfDescendantOfView.
- WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
Remove unused WebKit1 header import.
- WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
(WebKit::WebEditorClient::documentFragmentFromAttributedString):
Change a category to be on NSObject instead of WebResource.
- 2:41 PM Changeset in webkit [165217] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix ARMv7
- 2:33 PM Changeset in webkit [165216] by
-
- 8 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r165196.
http://trac.webkit.org/changeset/165196
https://bugs.webkit.org/show_bug.cgi?id=129822
broke arm64 on hardware (Requested by bfulgham on #webkit).
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::lastRegister):
- assembler/MacroAssembler.h:
(JSC::MacroAssembler::isStackRelated):
(JSC::MacroAssembler::firstRealRegister):
(JSC::MacroAssembler::nextRegister):
(JSC::MacroAssembler::secondRealRegister):
- ftl/FTLLocation.cpp:
(JSC::FTL::Location::restoreInto):
- ftl/FTLSaveRestore.cpp:
(JSC::FTL::saveAllRegisters):
(JSC::FTL::restoreAllRegisters):
- ftl/FTLSlowPathCall.cpp:
- jit/RegisterSet.cpp:
(JSC::RegisterSet::specialRegisters):
(JSC::RegisterSet::calleeSaveRegisters):
- jit/RegisterSet.h:
- 2:13 PM Changeset in webkit [165215] by
-
- 3 edits in trunk/Source/WebCore
[iOS] Do not compile fake mouse event handling when iOS Touch Events are enabled
https://bugs.webkit.org/show_bug.cgi?id=129725
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-06
Reviewed by Dan Bernstein.
Bug <rdar://problem/16218636>. The code is #ifdef'ed out to avoid setting up useless objects
and to avoid future mistake.
- page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::~EventHandler):
(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::startAutoHideCursorTimer):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad):
- page/EventHandler.h:
- 1:59 PM Changeset in webkit [165214] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. iOS build fix after r165199.
- rendering/RootInlineBox.cpp:
- 1:56 PM Changeset in webkit [165213] by
-
- 3 edits in trunk/Source/JavaScriptCore
REGRESSION(r165205): broke the CLOOP build (Requested by smfr on #webkit).
<https://webkit.org/b/129813>
Reviewed by Michael Saboff.
Fixed broken C loop LLINT build.
- llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
- offlineasm/cloop.rb:
- 1:55 PM Changeset in webkit [165212] by
-
- 2 edits in trunk/Source/WebKit2
iOS build fix.
Reviewed by Simon Fraser.
- UIProcess/ios/SmartMagnificationController.mm:
- 1:51 PM Changeset in webkit [165211] by
-
- 8 edits in trunk/Source/WebCore
[iOS] Rename the actualVisibleXXXRect to unobscuredContentRect for consistency
https://bugs.webkit.org/show_bug.cgi?id=129773
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-06
Reviewed by Simon Fraser.
- dom/TreeScope.cpp:
(WebCore::nodeFromPoint):
- platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRectInternal):
- platform/ScrollView.h:
- platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::unoscuredContentRect):
- platform/ios/wak/WAKScrollView.h:
- platform/ios/wak/WAKScrollView.mm:
(-[WAKScrollView unoscuredContentRect]):
(-[WAKScrollView description]):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
- 1:33 PM Changeset in webkit [165210] by
-
- 4 edits in branches/safari-537.75-branch/Source/WebCore
Merge r165145.
- 1:27 PM Changeset in webkit [165209] by
-
- 2 edits in trunk
Unreviewed, rolling out r165193.
http://trac.webkit.org/changeset/165193
https://bugs.webkit.org/show_bug.cgi?id=129823
Not specifying libc++ as the stdlib for Clang through CXXFLAGS
env confuses libtool (Requested by zdobersek on #webkit).
- Source/autotools/SetupCompilerFlags.m4:
- 1:27 PM Changeset in webkit [165208] by
-
- 35 edits8 adds in trunk
Support caching of custom setters
https://bugs.webkit.org/show_bug.cgi?id=129519
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This patch adds caching of assignment to properties that
are backed by C functions. This provides most of the leg
work required to start supporting setters, and resolves
the remaining regressions from moving DOM properties up
the prototype chain.
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/PolymorphicPutByIdList.cpp:
(JSC::PutByIdAccess::visitWeak):
(JSC::PolymorphicPutByIdList::PolymorphicPutByIdList):
(JSC::PolymorphicPutByIdList::from):
- bytecode/PolymorphicPutByIdList.h:
(JSC::PutByIdAccess::transition):
(JSC::PutByIdAccess::replace):
(JSC::PutByIdAccess::customSetter):
(JSC::PutByIdAccess::isCustom):
(JSC::PutByIdAccess::oldStructure):
(JSC::PutByIdAccess::chain):
(JSC::PutByIdAccess::stubRoutine):
- bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeForStubInfo):
(JSC::PutByIdStatus::computeFor):
(JSC::PutByIdStatus::dump):
- bytecode/PutByIdStatus.h:
(JSC::PutByIdStatus::PutByIdStatus):
(JSC::PutByIdStatus::takesSlowPath):
(JSC::PutByIdStatus::makesCalls):
- bytecode/StructureStubInfo.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::emitPutById):
(JSC::DFG::ByteCodeParser::handlePutById):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGCommon.h:
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasIdentifier):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIn):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
- jit/JITInlineCacheGenerator.cpp:
(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
- jit/JITInlineCacheGenerator.h:
(JSC::JITGetByIdGenerator::JITGetByIdGenerator):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):
(JSC::emitCustomSetterStub):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):
- jit/SpillRegistersMode.h: Added.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- runtime/Lookup.h:
(JSC::putEntry):
- runtime/PutPropertySlot.h:
(JSC::PutPropertySlot::setCacheableCustomProperty):
(JSC::PutPropertySlot::customSetter):
(JSC::PutPropertySlot::isCacheablePut):
(JSC::PutPropertySlot::isCacheableCustomProperty):
(JSC::PutPropertySlot::cachedOffset):
Source/WebCore:
Add forwarding header
Tests: js/regress/assign-custom-setter-polymorphic.html
js/regress/assign-custom-setter.html
- ForwardingHeaders/jit/SpillRegistersMode.h: Added.
LayoutTests:
Add test cases.
- js/regress/assign-custom-setter-expected.txt: Added.
- js/regress/assign-custom-setter-polymorphic-expected.txt: Added.
- js/regress/assign-custom-setter-polymorphic.html: Added.
- js/regress/assign-custom-setter.html: Added.
- js/regress/script-tests/assign-custom-setter-polymorphic.js: Added.
(test):
- js/regress/script-tests/assign-custom-setter.js: Added.
(test):
- 1:24 PM Changeset in webkit [165207] by
-
- 4 edits1 add in trunk/LayoutTests
Unreviewed EFL gardening
Add test expectations for failing tests and remove crash expectations after r164718.
- 12:57 PM Changeset in webkit [165206] by
-
- 3 edits in trunk/Source/WebCore
Invalid cast in WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients()
<https://bugs.webkit.org/show_bug.cgi?id=121887>
<rdar://problem/15073043>
Clang appears to be optimizing out a branch in RenderObject::node()
when compiling RenderLayer::FilterInfo::updateReferenceFilterClients().
We'll work around this by factoring out the code in question into a
separate member function marked NEVER_INLINE.
No test possible due to <https://bugs.webkit.org/show_bug.cgi?id=129757>.
Reviewed by David Kilzer.
- rendering/RenderLayerFilterInfo.cpp:
(WebCore::RenderLayer::FilterInfo::layerElement):
Code moved from updateReferenceFilterClients(). Returns the Element*
for m_layer.
(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
Use layerElement().
- rendering/RenderLayerFilterInfo.h:
Declared layerElement().
- 12:50 PM BuildingGtk edited by
- Revert previous change as CMake build will be the default soon and … (diff)
- 12:44 PM BuildingGtk edited by
- Add instructions to build with Ninja (diff)
- 12:16 PM Changeset in webkit [165205] by
-
- 9 edits in trunk/Source/JavaScriptCore
FTL arity fixup should work on ARM64
https://bugs.webkit.org/show_bug.cgi?id=129810
Reviewed by Michael Saboff.
- Using regT5 to pass the thunk return address to arityFixup is shady since that's a callee-save.
- The FTL path was assuming X86 conventions for where SP points at the top of the prologue.
This makes some more tests pass.
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileFunction):
- ftl/FTLLink.cpp:
(JSC::FTL::link):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::prologueStackPointerDelta):
- jit/JIT.cpp:
(JSC::JIT::privateCompile):
- jit/ThunkGenerators.cpp:
(JSC::arityFixup):
- llint/LowLevelInterpreter64.asm:
- offlineasm/arm64.rb:
- offlineasm/x86.rb: In addition to the t7 change, make t6 agree with GPRInfo.h.
- 12:15 PM Changeset in webkit [165204] by
-
- 4 edits in branches/safari-537.75-branch
Merge r156716.
- 12:00 PM Changeset in webkit [165203] by
-
- 9 edits in trunk/Source/JavaScriptCore
Fix write barriers in Repatch.cpp for !ENABLE(DFG_JIT) platforms after r165128
https://bugs.webkit.org/show_bug.cgi?id=129760
Reviewed by Geoffrey Garen.
r165128 disabled the write barrier fast path for inline caches on !ENABLE(DFG_JIT) platforms.
The fix is to refactor the write barrier code into AssemblyHelpers and use that everywhere.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::writeBarrier):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::writeBarrier):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::writeBarrier):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::checkMarkByte):
- jit/JIT.h:
- jit/JITPropertyAccess.cpp:
- jit/Repatch.cpp:
(JSC::writeBarrier):
- 12:00 PM Changeset in webkit [165202] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed follow-up fix for Windows for r165199.
Reviewed by NOBODY (OOPS!).
- WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
- 11:51 AM Changeset in webkit [165201] by
-
- 6 edits in branches/safari-537.75-branch
Merge r153788.
- 11:40 AM Changeset in webkit [165200] by
-
- 3 edits in branches/safari-537.75-branch/Source/WebCore
Merge r155071.
- 11:33 AM Changeset in webkit [165199] by
-
- 73 edits2 moves9 adds3 deletes in trunk
Web Inspector: Expose the console object in JSContexts to interact with Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=127944
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Always expose the Console object in JSContexts, just like we
do for web pages. The default behavior will route to an
attached JSContext inspector. This can be overriden by
setting the ConsoleClient on the JSGlobalObject, which WebCore
does to get slightly different behavior.
- CMakeLists.txt:
- GNUmakefile.list.am:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
Update build systems.
- API/tests/testapi.js:
- API/tests/testapi.mm:
Test that "console" exists in C and ObjC contexts.
- runtime/ConsoleClient.cpp: Added.
(JSC::ConsoleClient::printURLAndPosition):
(JSC::ConsoleClient::printMessagePrefix):
(JSC::ConsoleClient::printConsoleMessage):
(JSC::ConsoleClient::printConsoleMessageWithArguments):
(JSC::ConsoleClient::internalMessageWithTypeAndLevel):
(JSC::ConsoleClient::logWithLevel):
(JSC::ConsoleClient::clear):
(JSC::ConsoleClient::dir):
(JSC::ConsoleClient::dirXML):
(JSC::ConsoleClient::table):
(JSC::ConsoleClient::trace):
(JSC::ConsoleClient::assertCondition):
(JSC::ConsoleClient::group):
(JSC::ConsoleClient::groupCollapsed):
(JSC::ConsoleClient::groupEnd):
- runtime/ConsoleClient.h: Added.
(JSC::ConsoleClient::~ConsoleClient):
New private interface for handling the console object's methods.
A lot of the methods funnel through messageWithTypeAndLevel.
- runtime/ConsoleTypes.h: Renamed from Source/JavaScriptCore/inspector/ConsoleTypes.h.
Moved to JSC namespace.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):
Create the "console" object when initializing the environment.
Also set the default console client to be the JS context inspector.
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::setConsoleClient):
(JSC::JSGlobalObject::consoleClient):
Ability to change the console client, so WebCore can set a custom client.
- runtime/ConsolePrototype.cpp: Added.
(JSC::ConsolePrototype::finishCreation):
(JSC::valueToStringWithUndefinedOrNullCheck):
(JSC::consoleLogWithLevel):
(JSC::consoleProtoFuncDebug):
(JSC::consoleProtoFuncError):
(JSC::consoleProtoFuncLog):
(JSC::consoleProtoFuncWarn):
(JSC::consoleProtoFuncClear):
(JSC::consoleProtoFuncDir):
(JSC::consoleProtoFuncDirXML):
(JSC::consoleProtoFuncTable):
(JSC::consoleProtoFuncTrace):
(JSC::consoleProtoFuncAssert):
(JSC::consoleProtoFuncCount):
(JSC::consoleProtoFuncProfile):
(JSC::consoleProtoFuncProfileEnd):
(JSC::consoleProtoFuncTime):
(JSC::consoleProtoFuncTimeEnd):
(JSC::consoleProtoFuncTimeStamp):
(JSC::consoleProtoFuncGroup):
(JSC::consoleProtoFuncGroupCollapsed):
(JSC::consoleProtoFuncGroupEnd):
- runtime/ConsolePrototype.h: Added.
(JSC::ConsolePrototype::create):
(JSC::ConsolePrototype::createStructure):
(JSC::ConsolePrototype::ConsolePrototype):
Define the console object interface. Parse out required / expected
arguments and throw expcetions when methods are misused.
- runtime/JSConsole.cpp: Added.
- runtime/JSConsole.h: Added.
(JSC::JSConsole::createStructure):
(JSC::JSConsole::create):
(JSC::JSConsole::JSConsole):
Empty "console" object. Everything is in the prototype.
- inspector/JSConsoleClient.cpp: Added.
(Inspector::JSConsoleClient::JSGlobalObjectConsole):
(Inspector::JSConsoleClient::count):
(Inspector::JSConsoleClient::profile):
(Inspector::JSConsoleClient::profileEnd):
(Inspector::JSConsoleClient::time):
(Inspector::JSConsoleClient::timeEnd):
(Inspector::JSConsoleClient::timeStamp):
(Inspector::JSConsoleClient::warnUnimplemented):
(Inspector::JSConsoleClient::internalAddMessage):
- inspector/JSConsoleClient.h: Added.
- inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::consoleClient):
- inspector/JSGlobalObjectInspectorController.h:
Default JSContext ConsoleClient implementation. Handle nearly
everything exception profile/profileEnd and timeStamp.
Source/WebCore:
Covered by existing tests.
- CMakeLists.txt:
- DerivedSources.cpp:
- DerivedSources.make:
- ForwardingHeaders/runtime/ConsoleClient.h: Added.
- ForwardingHeaders/runtime/ConsoleTypes.h: Renamed from Source/WebCore/ForwardingHeaders/inspector/ConsoleTypes.h.
- GNUmakefile.list.am:
- PlatformGTK.cmake:
- WebCore.exp.in:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- bindings/gobject/GNUmakefile.am:
Update build systems.
- page/Console.cpp: Removed.
- page/Console.h: Removed.
- page/Console.idl: Removed.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::resetDOMWindowProperties):
- page/DOMWindow.h:
(WebCore::DOMWindow::defaultStatus):
- page/DOMWindow.idl:
Removed the old IDL generated Console object on window.
- page/PageConsole.cpp:
(WebCore::PageConsole::shouldPrintExceptions):
(WebCore::PageConsole::setShouldPrintExceptions):
(WebCore::PageConsole::mute):
(WebCore::PageConsole::unmute):
(WebCore::PageConsole::messageWithTypeAndLevel):
(WebCore::PageConsole::count):
(WebCore::PageConsole::profile):
(WebCore::PageConsole::profileEnd):
(WebCore::PageConsole::time):
(WebCore::PageConsole::timeEnd):
(WebCore::PageConsole::timeStamp):
(WebCore::PageConsole::group):
(WebCore::PageConsole::groupCollapsed):
(WebCore::PageConsole::groupEnd):
(WebCore::PageConsole::clearProfiles):
- page/PageConsole.h:
Move the handling of Console object into PageConsole.
- bindings/js/ScriptCachedFrameData.cpp:
(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::initScript):
Set the PageConsole as the ConsoleClient of the JSGlobalObject
so that WebCore may handle console messages directly. For instance
it may pass messages on to the ChromeClient.
- testing/Internals.cpp:
(WebCore::Internals::consoleProfiles):
To access profiles, go through PageConsole now instead of Console.
- bindings/js/JSDOMWindowBase.cpp:
- bindings/objc/WebScriptObject.mm:
- css/MediaList.cpp:
- dom/ScriptExecutionContext.h:
- dom/UIEvent.cpp:
- dom/ViewportArguments.cpp:
- html/parser/XSSAuditorDelegate.cpp:
- inspector/CommandLineAPIHost.h:
- inspector/InspectorInstrumentation.cpp:
- inspector/InspectorInstrumentation.h:
- inspector/InspectorProfilerAgent.cpp:
- inspector/WebConsoleAgent.cpp:
- loader/FrameLoader.cpp:
- loader/MixedContentChecker.cpp:
- loader/appcache/ApplicationCacheGroup.cpp:
- loader/cache/CachedResourceLoader.cpp:
- page/ChromeClient.h:
- page/ContentSecurityPolicy.cpp:
- page/Page.cpp:
- page/Page.h:
- svg/SVGDocumentExtensions.cpp:
- workers/WorkerMessagingProxy.cpp:
- workers/WorkerReportingProxy.h:
Update includes.
Source/WebKit/gtk:
- WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::addMessageToConsole):
Update namespaces.
Source/WebKit/mac:
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
Update namespaces.
Source/WebKit/win:
- WebCoreSupport/WebChromeClient.h:
Update namespaces.
Source/WebKit/wince:
- WebCoreSupport/ChromeClientWinCE.h:
Update namespaces.
Source/WebKit2:
- WebProcess/WebCoreSupport/WebChromeClient.h:
Update namespaces.
LayoutTests:
- http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
- 11:06 AM Changeset in webkit [165198] by
-
- 2 edits in trunk/Source/WebCore
Fix the !ENABLE(CSS_STICKY_POSITION) build
https://bugs.webkit.org/show_bug.cgi?id=129793
Patch by Zsolt Borbely <borbezs@inf.u-szeged.hu> on 2014-03-06
Reviewed by Simon Fraser.
Add missing ENABLE(CSS_STICKY_POSITION) guard to EditingStyle::convertPositionStyle().
- editing/EditingStyle.cpp:
(WebCore::EditingStyle::convertPositionStyle):
- 10:47 AM Changeset in webkit [165197] by
-
- 4 edits in trunk/Source/JavaScriptCore
Drop unlinked function code on memory pressure.
<https://webkit.org/b/129789>
Make VM::discardAllCode() also drop UnlinkedFunctionCodeBlocks that
are not currently being compiled.
4.5 MB progression on Membuster.
Reviewed by Geoffrey Garen.
- heap/Heap.cpp:
(JSC::Heap::deleteAllUnlinkedFunctionCode):
- heap/Heap.h:
- runtime/VM.cpp:
(JSC::VM::discardAllCode):
- 10:33 AM Changeset in webkit [165196] by
-
- 8 edits in trunk/Source/JavaScriptCore
Clarify how we deal with "special" registers
https://bugs.webkit.org/show_bug.cgi?id=129806
Reviewed by Michael Saboff.
Previously we had two different places that defined what "stack" registers are, a thing
called "specialRegisters" that had unclear meaning, and a really weird "firstRealRegister"/
"secondRealRegister"/"nextRegister" idiom in MacroAssembler that appeared to only be used by
one place and had a baked-in notion of what it meant for a register to be "real" or not.
It's not cool to use words like "real" and "special" to describe registers, especially if you
fail to qualify what that means. This originally made sense on X86 - "real" registers were
the ones that weren't "stack related" (so "real" was the opposite of "stack"). But on ARM64,
you also have to worry about the LR register, which we'd want to say is "not real" but it's
also not a "stack" register. This got super confusing.
So, this patch removes any mention of "real" registers, consolidates the knowledge of what is
a "stack" register, and uses the word special only in places where it's clearly defined and
where no better word comes to mind.
This cleans up the code and fixes what seems like it was probably a harmless ARM64 bug: the
Reg and RegisterSet data structures would sometimes think that FP was Q0. Somehow this
magically didn't break anything because you never need to save/restore either FP or Q0, but
it was still super weird.
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::lastRegister):
- assembler/MacroAssembler.h:
(JSC::MacroAssembler::nextRegister):
- ftl/FTLLocation.cpp:
(JSC::FTL::Location::restoreInto):
- ftl/FTLSaveRestore.cpp:
(JSC::FTL::saveAllRegisters):
(JSC::FTL::restoreAllRegisters):
- ftl/FTLSlowPathCall.cpp:
- jit/RegisterSet.cpp:
(JSC::RegisterSet::reservedHardwareRegisters):
(JSC::RegisterSet::runtimeRegisters):
(JSC::RegisterSet::specialRegisters):
(JSC::RegisterSet::calleeSaveRegisters):
- jit/RegisterSet.h:
- 10:05 AM Changeset in webkit [165195] by
-
- 2 edits in trunk/Source/WebCore
[Mac] Leak: dispatch_semaphore leak allocated in MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange
https://bugs.webkit.org/show_bug.cgi?id=129792
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-06
Reviewed by Anders Carlsson.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
- 9:37 AM Changeset in webkit [165194] by
-
- 5 edits in trunk
Implement VideoTrackList.selectedIndex
https://bugs.webkit.org/show_bug.cgi?id=129770
Reviewed by Eric Carlson.
Source/WebCore:
Tests: media/track/video/video-track-mkv-theora-selected.html
- html/track/VideoTrackList.idl:
LayoutTests:
- media/track/video/video-track-mkv-theora-selected-expected.txt:
- media/track/video/video-track-mkv-theora-selected.html:
- 8:45 AM Changeset in webkit [165193] by
-
- 2 edits in trunk
[GTK][Autotools] Default to libc++ when compiling with Clang
https://bugs.webkit.org/show_bug.cgi?id=129798
Reviewed by Anders Carlsson.
- Source/autotools/SetupCompilerFlags.m4: Default to using libc++ when compiling with the Clang
compiler. This is still overridable if -stdlib=* flag was set through CXXFLAGS, in case people
would for some reason still prefer libstdc++ (i.e. on setups where a functional libc++ is not yet available).
- 8:13 AM Changeset in webkit [165192] by
-
- 2 edits in trunk/Source/WebCore
[GTK][CMake] Fix the GTK+ CMake build
https://bugs.webkit.org/show_bug.cgi?id=129801
Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-03-06
Reviewed by Martin Robinson.
Include missing files for CMake build
- CMakeLists.txt: Add a missing references to DOMURLMediaStream
- 7:55 AM Changeset in webkit [165191] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix build.
- disassembler/ARM64Disassembler.cpp:
- 7:42 AM Changeset in webkit [165190] by
-
- 2 edits in trunk/Source/WebCore
Subpixel rendering: Setting content to opaque on m_graphicsLayer depends on subpixel accumulation.
https://bugs.webkit.org/show_bug.cgi?id=129776
Reviewed by Simon Fraser.
isEmpty() returns true when any of the dimensions is <= 0. Subpixel accumulation could happen
in one direction only. Use isZero() instead().
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
- 7:01 AM Changeset in webkit [165189] by
-
- 2 edits in trunk/Tools
make-3.82 fails to build on ARM/Linux
https://bugs.webkit.org/show_bug.cgi?id=107926
Reviewed by Martin Robinson.
Some ARM/Linux systems don't support PAGE_SIZE macro so that it causes a build failure.
The related bug reporting is here. https://lists.debian.org/debian-kernel/2014/02/msg00274.html
To avoid this, I propose to use sysconf(_SC_PAGESIZE) instead of PAGE_SIZE
where it is not defined. See more details, http://linux.die.net/man/2/getpagesize
- gtk/patches/make-3.82-arg-list-length.patch:
- 6:20 AM Changeset in webkit [165188] by
-
- 5 edits in trunk/Source
Versioning.
- 6:16 AM Changeset in webkit [165187] by
-
- 1 copy in tags/Safari-538.21
New Tag.
- 6:00 AM Changeset in webkit [165186] by
-
- 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r164995 - Optimize StylePropertiesSet::findPropertyIndex() to improve CSS properties performance
https://bugs.webkit.org/show_bug.cgi?id=129605
Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-03-03
Reviewed by Andreas Kling.
Merged from Blink (patch by Mikhail Pozdnyakov):
https://src.chromium.org/viewvc/blink?view=revision&revision=167325
Avoid checking whether 'StylePropertiesSet' is mutable and accesing directly to its
data members to achieve performance improvements
Before the optimization applied:
mean: 3064.8337171934063 runs/s
median: 3097.5899379343855 runs/s
stdev: 66.89274074044187 runs/s
min: 2891.7479324362585 runs/s
max: 3113.288683440125 runs/s
After the optimization applied:
mean: 3343.8356114138105 runs/s
median: 3356.25682957446 runs/s
stdev: 36.297533087489036 runs/s
min: 3238.5468032264243 runs/s
max: 3368.664837531425 runs/s
Performance gain for the average value is approx. 9.1%, in the
range of the 10% - 8.2% for the min and max measured
values (Linux desktop x64).
- css/StyleProperties.cpp:
(WebCore::ImmutableStyleProperties::findPropertyIndex):
(WebCore::MutableStyleProperties::findPropertyIndex):
- css/StyleProperties.h:
(WebCore::toMutableStyleProperties):
(WebCore::toImmutableStyleProperties):
(WebCore::StyleProperties::findPropertyIndex):
- 5:28 AM Changeset in webkit [165185] by
-
- 22 edits in trunk
REGRESSION (r158254): Rubber-banding at Bing image search causes the toolbar to move up and away
https://bugs.webkit.org/show_bug.cgi?id=128873
Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-03-06
Reviewed by Antonio Gomes.
Source/WebCore:
This regression is caused by http://trac.webkit.org/changeset/154614
and http://trac.webkit.org/changeset/156605. So reverting the changes
to make it Web compatible as earlier.
- dom/Element.cpp:
(WebCore::Element::scrollLeft):
(WebCore::Element::scrollTop):
(WebCore::Element::setScrollLeft):
(WebCore::Element::setScrollTop):
Reverting changes as it caused regression.
LayoutTests:
- fast/css/zoom-body-scroll-expected.txt:
- fast/css/zoom-body-scroll.html:
- fast/dom/Element/documentElement-scrollLeft-expected.txt:
- fast/dom/Element/documentElement-scrollLeft.html:
- fast/dom/Element/documentElement-scrollTop-expected.txt:
- fast/dom/Element/documentElement-scrollTop.html:
- fast/dom/Element/scrollLeft-expected.txt:
- fast/dom/Element/scrollLeft.html:
- fast/dom/Element/scrollTop-expected.txt:
- fast/dom/Element/scrollTop.html:
- fast/events/mouse-cursor.html:
- fast/multicol/scrolling-overflow.html:
- http/tests/navigation/anchor-frames-expected.txt:
- http/tests/navigation/anchor-frames-gbk-expected.txt:
- http/tests/navigation/resources/frame-with-anchor-gbk.html:
- http/tests/navigation/resources/frame-with-anchor-same-origin.html:
- http/tests/navigation/resources/frame-with-anchor.html:
- platform/mac-wk2/tiled-drawing/resources/scroll-and-load-page.html:
- platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html:
Reverting changes as it caused regression.
- 4:16 AM Changeset in webkit [165184] by
-
- 4 edits in releases/WebKitGTK/webkit-2.4
Merge r165182 - [GTK] Close the page when the view is disposed instead of when finalized
https://bugs.webkit.org/show_bug.cgi?id=129783
Reviewed by Sergio Villar Senin.
Source/WebKit2:
When a GtkWidget is destroyed, the GObject is disposed, but not
finalized if it has additional references. When the destroyed
widget is leaked by the application, we leak the page proxy and
what is more important the web process in multi-process mode.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDispose): Close the WebPageProxy.
Tools:
Add test case but disabled for now because it's affetected by bug #129684.
- TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:
(testProcessPerWebView):
- 4:14 AM Changeset in webkit [165183] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Tools
Merge r165181 - [GTK] MiniBrowser crashes when opening several urls passed as command line options
https://bugs.webkit.org/show_bug.cgi?id=129738
Reviewed by Sergio Villar Senin.
The problem is that we are calling g_object_unref() for the
WebKitWebSettings everytime we set it to a WebKitWebView, but the
view only increases the reference counter when the settings is not
the same it currently has. We should release our reference once.
- MiniBrowser/gtk/main.c:
(createBrowserWindow):
(main):
- 4:12 AM Changeset in webkit [165182] by
-
- 4 edits in trunk
[GTK] Close the page when the view is disposed instead of when finalized
https://bugs.webkit.org/show_bug.cgi?id=129783
Reviewed by Sergio Villar Senin.
Source/WebKit2:
When a GtkWidget is destroyed, the GObject is disposed, but not
finalized if it has additional references. When the destroyed
widget is leaked by the application, we leak the page proxy and
what is more important the web process in multi-process mode.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDispose): Close the WebPageProxy.
Tools:
Add test case but disabled for now because it's affetected by bug #129684.
- TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:
(testProcessPerWebView):
- 4:06 AM Changeset in webkit [165181] by
-
- 2 edits in trunk/Tools
[GTK] MiniBrowser crashes when opening several urls passed as command line options
https://bugs.webkit.org/show_bug.cgi?id=129738
Reviewed by Sergio Villar Senin.
The problem is that we are calling g_object_unref() for the
WebKitWebSettings everytime we set it to a WebKitWebView, but the
view only increases the reference counter when the settings is not
the same it currently has. We should release our reference once.
- MiniBrowser/gtk/main.c:
(createBrowserWindow):
(main):
- 1:17 AM Changeset in webkit [165180] by
-
- 4 edits in trunk/Source
Use the LLVM disassembler on ARM64 if we are enabling the FTL
https://bugs.webkit.org/show_bug.cgi?id=129785
Source/JavaScriptCore:
Reviewed by Geoffrey Garen.
Our disassembler can't handle some of the code sequences that LLVM emits. LLVM's disassembler
is strictly more capable at this point. Use it if it's available.
- disassembler/ARM64Disassembler.cpp:
(JSC::tryToDisassemble):
Source/WTF:
Reviewed by Geoffrey Garen.
- wtf/Platform.h:
- 1:14 AM Changeset in webkit [165179] by
-
- 40 edits in trunk/Source/WebCore
Move Source/WebCore/html/canvas/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=129668
Reviewed by Anders Carlsson.
Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/html/canvas/ to std::unique_ptr.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::~HTMLCanvasElement):
(WebCore::HTMLCanvasElement::getContext):
- html/HTMLCanvasElement.h:
- html/canvas/ANGLEInstancedArrays.cpp:
- html/canvas/ANGLEInstancedArrays.h:
- html/canvas/CanvasRenderingContext2D.h:
- html/canvas/EXTTextureFilterAnisotropic.cpp:
- html/canvas/EXTTextureFilterAnisotropic.h:
- html/canvas/OESElementIndexUint.cpp:
- html/canvas/OESElementIndexUint.h:
- html/canvas/OESStandardDerivatives.cpp:
- html/canvas/OESStandardDerivatives.h:
- html/canvas/OESTextureFloat.cpp:
- html/canvas/OESTextureFloat.h:
- html/canvas/OESTextureFloatLinear.cpp:
- html/canvas/OESTextureFloatLinear.h:
- html/canvas/OESTextureHalfFloat.cpp:
- html/canvas/OESTextureHalfFloat.h:
- html/canvas/OESTextureHalfFloatLinear.cpp:
- html/canvas/OESTextureHalfFloatLinear.h:
- html/canvas/OESVertexArrayObject.cpp:
- html/canvas/OESVertexArrayObject.h:
- html/canvas/WebGLCompressedTextureATC.cpp:
- html/canvas/WebGLCompressedTextureATC.h:
- html/canvas/WebGLCompressedTexturePVRTC.cpp:
- html/canvas/WebGLCompressedTexturePVRTC.h:
- html/canvas/WebGLCompressedTextureS3TC.cpp:
- html/canvas/WebGLCompressedTextureS3TC.h:
- html/canvas/WebGLDebugRendererInfo.cpp:
- html/canvas/WebGLDebugRendererInfo.h:
- html/canvas/WebGLDebugShaders.cpp:
- html/canvas/WebGLDebugShaders.h:
- html/canvas/WebGLDepthTexture.cpp:
- html/canvas/WebGLDepthTexture.h:
- html/canvas/WebGLDrawBuffers.cpp:
- html/canvas/WebGLDrawBuffers.h:
- html/canvas/WebGLLoseContext.cpp:
- html/canvas/WebGLLoseContext.h:
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::create):
(WebCore::WebGLRenderingContext::getExtension):
- html/canvas/WebGLRenderingContext.h:
- 1:04 AM Changeset in webkit [165178] by
-
- 6 edits in trunk/Source/WebCore
Move Source/WebCore/editing/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=129665
Reviewed by Anders Carlsson.
Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/editing/ with std::unique_ptr.
- editing/EditingStyle.cpp:
(WebCore::htmlElementEquivalents):
(WebCore::EditingStyle::conflictsWithImplicitStyleOfElement):
(WebCore::htmlAttributeEquivalents):
(WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes):
(WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes):
(WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
(WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
- editing/Editor.cpp:
(WebCore::Editor::Editor):
(WebCore::Editor::clear):
- editing/Editor.h:
- page/Frame.cpp:
(WebCore::Frame::Frame):
- page/Frame.h:
- 1:02 AM Changeset in webkit [165177] by
-
- 6 edits in trunk/Source/WebCore
Move to using std::unique_ptr for KeyboardEvent, ScriptExecutionContext::PendingException
https://bugs.webkit.org/show_bug.cgi?id=129061
Reviewed by Eric Carlson.
Replace uses of OwnPtr and PassOwnPtr for KeyboardEvent and ScriptExecutionContext::PendingException
classes with std::unique_ptr. ScriptExecutionContext::Task objects are still handled through OwnPtr,
but this will be addressed later.
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
- dom/KeyboardEvent.h:
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::reportException):
- dom/ScriptExecutionContext.h:
- dom/ScriptRunner.h: Remove an unnecessary PassOwnPtr header inclusion.
- 12:55 AM Changeset in webkit [165176] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r165175.
http://trac.webkit.org/changeset/165175
https://bugs.webkit.org/show_bug.cgi?id=129788
Linking failures on GTK, EFL due to missing gstreamer-tag-1.0
dependency (Requested by zdobersek on #webkit).
- platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):
- 12:02 AM Changeset in webkit [165175] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] human readable language code for tracks
https://bugs.webkit.org/show_bug.cgi?id=124514
Reviewed by Philippe Normand.
- platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Run language codes though gst_tag_get_language_code_iso_639_1() to make sure they're valid.
Mar 5, 2014:
- 10:46 PM Changeset in webkit [165174] by
-
- 2 edits in trunk/Tools
[GTK][CMake] Tarball is created with wrong tarball paths
https://bugs.webkit.org/show_bug.cgi?id=129496
Reviewed by Daniel Bates.
- gtk/make-dist.py:
(Manifest.init): I inadvertently inverted the logic of these checks when
landing the original patch with some suggestions from the reviewer. With the
checks corrected, the tarball path is constructed properly.
- 10:46 PM Changeset in webkit [165173] by
-
- 2 edits in trunk
[CMake] Ninja generator builds fail with "Argument list too long"
https://bugs.webkit.org/show_bug.cgi?id=129771
Reviewed by Daniel Bates.
- Source/cmake/OptionsCommon.cmake: Work around a bug in the Ninja CMake generator,
by forcing the use of response files.
- 9:45 PM Changeset in webkit [165172] by
-
- 5 edits in trunk/Source
Versioning.
- 9:07 PM Changeset in webkit [165171] by
-
- 2 edits in trunk/LayoutTests
Unreviewed EFL gardening.
Mofify the TestExpectaions according to the renamed file name in r164299.
- platform/efl/TestExpectations: copy-paste-converts-sticky-and-fixed.html is renamed
to copy-paste-wraps-position-absolute.html.
- 8:59 PM Changeset in webkit [165170] by
-
- 2 edits in trunk/Source/WebKit2
AX: Support IOS Accessibility in WK2
https://bugs.webkit.org/show_bug.cgi?id=129527
Unreviewed build fix.
- WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
(-[WKAccessibilityWebPageObject accessibilityHitTest:]):
- 8:27 PM Changeset in webkit [165169] by
-
- 2 edits in trunk/Source/JavaScriptCore
Web Inspector: Reduce RWI message frequency
https://bugs.webkit.org/show_bug.cgi?id=129767
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-05
Reviewed by Timothy Hatcher.
This used to be 0.2s and changed by accident to 0.02s.
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::pushListingSoon):
- 8:15 PM Changeset in webkit [165168] by
-
- 3 edits in trunk/Source/WebCore
Remove unused method from Vibration
https://bugs.webkit.org/show_bug.cgi?id=129732
Reviewed by Gyuyoung Kim.
- Modules/vibration/Vibration.cpp:
Removed isActive(), which is never called since r152441.
- Modules/vibration/Vibration.h: Ditto.
- 7:43 PM Changeset in webkit [165167] by
-
- 35 edits8 deletes in trunk
Unreviewed, rolling out r165141, r165157, and r165158.
http://trac.webkit.org/changeset/165141
http://trac.webkit.org/changeset/165157
http://trac.webkit.org/changeset/165158
https://bugs.webkit.org/show_bug.cgi?id=129772
"broke ftl" (Requested by olliej_ on #webkit).
Source/JavaScriptCore:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/PolymorphicPutByIdList.cpp:
(JSC::PutByIdAccess::visitWeak):
(JSC::PolymorphicPutByIdList::PolymorphicPutByIdList):
(JSC::PolymorphicPutByIdList::from):
- bytecode/PolymorphicPutByIdList.h:
(JSC::PutByIdAccess::transition):
(JSC::PutByIdAccess::replace):
(JSC::PutByIdAccess::oldStructure):
(JSC::PutByIdAccess::chain):
(JSC::PutByIdAccess::stubRoutine):
- bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeForStubInfo):
(JSC::PutByIdStatus::computeFor):
(JSC::PutByIdStatus::dump):
- bytecode/PutByIdStatus.h:
(JSC::PutByIdStatus::PutByIdStatus):
(JSC::PutByIdStatus::takesSlowPath):
- bytecode/StructureStubInfo.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::emitPutById):
(JSC::DFG::ByteCodeParser::handlePutById):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGCommon.h:
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasIdentifier):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIn):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps):
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
- jit/JITInlineCacheGenerator.cpp:
(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
- jit/JITInlineCacheGenerator.h:
(JSC::JITGetByIdGenerator::JITGetByIdGenerator):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):
- jit/SpillRegistersMode.h: Removed.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- runtime/Lookup.h:
(JSC::putEntry):
- runtime/PutPropertySlot.h:
(JSC::PutPropertySlot::isCacheable):
(JSC::PutPropertySlot::cachedOffset):
Source/WebCore:
- ForwardingHeaders/jit/SpillRegistersMode.h: Removed.
LayoutTests:
- js/regress/assign-custom-setter-expected.txt: Removed.
- js/regress/assign-custom-setter-polymorphic-expected.txt: Removed.
- js/regress/assign-custom-setter-polymorphic.html: Removed.
- js/regress/assign-custom-setter.html: Removed.
- js/regress/script-tests/assign-custom-setter-polymorphic.js: Removed.
- js/regress/script-tests/assign-custom-setter.js: Removed.
- 7:34 PM Changeset in webkit [165166] by
-
- 2 edits in trunk/Source/WebCore
[GTK][CMake] The GObject DOM bindings should always be built
https://bugs.webkit.org/show_bug.cgi?id=127963
Reviewed by Ryosuke Niwa.
- PlatformGTK.cmake: Make compilation of the WebKitGTK+ GObject DOM bindings
unconditional, instead of conditional on the WebKit2 build.
- 7:29 PM Changeset in webkit [165165] by
-
- 2 edits in trunk/Source/JavaScriptCore
Web Inspector: Prevent possible deadlock in view indication
https://bugs.webkit.org/show_bug.cgi?id=129766
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-05
Reviewed by Geoffrey Garen.
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::receivedIndicateMessage):
- 7:20 PM Changeset in webkit [165164] by
-
- 4 edits in trunk/Source/JavaScriptCore
JSObject::fastGetOwnPropertySlot does a slow check for OverridesGetOwnPropertySlot
https://bugs.webkit.org/show_bug.cgi?id=129754
Reviewed by Geoffrey Garen.
InlineTypeFlags are stored in JSCell, so we can just load those instead of going through the TypeInfo.
- runtime/JSCell.h:
(JSC::JSCell::inlineTypeFlags):
- runtime/JSObject.h:
(JSC::JSObject::fastGetOwnPropertySlot):
- runtime/JSTypeInfo.h:
(JSC::TypeInfo::TypeInfo):
(JSC::TypeInfo::overridesGetOwnPropertySlot):
- 7:19 PM Changeset in webkit [165163] by
-
- 2 edits in trunk/Source/JavaScriptCore
Web Inspector: ASSERTION FAILED: m_javaScriptBreakpoints.isEmpty()
https://bugs.webkit.org/show_bug.cgi?id=129763
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-05
Reviewed by Geoffrey Garen.
Clear the list of all breakpoints, including unresolved breakpoints.
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::clearInspectorBreakpointState):
- 7:17 PM Changeset in webkit [165162] by
-
- 5 edits in trunk
llint_slow_path_check_has_instance() should not adjust PC before accessing operands.
<https://webkit.org/b/129768>
Reviewed by Mark Hahnenberg.
Source/JavaScriptCore:
When evaluating "a instanceof b" where b is an object that ImplementsHasInstance
and OverridesHasInstance (e.g. a bound function), the LLINT will take the slow
path llint_slow_path_check_has_instance(), and execute a code path that does the
following:
- Adjusts the byte code PC to the jump target PC.
- For the purpose of storing the result, get the result registerIndex from the 1st operand using the PC as if the PC is still pointing to op_check_has_instance bytecode.
The result is that whatever value resides after where the jump target PC is will
be used as a result register value. Depending on what that value is, the result
can be:
- the code coincidently works correctly
- memory corruption
- crashes
The fix is to only adjust the byte code PC after we have stored the result.
- llint/LLIntSlowPaths.cpp:
(llint_slow_path_check_has_instance):
LayoutTests:
- js/instanceof-operator-expected.txt:
- js/script-tests/instanceof-operator.js:
- 7:06 PM Changeset in webkit [165161] by
-
- 2 edits in trunk/Tools
Unreviewed. Update my email in contributors.json
- Scripts/webkitpy/common/config/contributors.json:
- 6:56 PM Changeset in webkit [165160] by
-
- 2 edits in trunk/Source/WebCore
[MSE] Crash in SourceBuffer::sourceBufferPrivateDidReceiveSample() - received samples after SourceBuffer was removed.
https://bugs.webkit.org/show_bug.cgi?id=129761
Reviewed by Eric Carlson.
Guard against the possibility that SourceBufferPrivates will continue to generate samples even after
a parse error. Bail out early from sourceBufferPrivateDidReceiveInitializationSegment and
sourceBufferPrivateDidReceiveSample if the SourceBuffer has been removed.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
- 6:51 PM Changeset in webkit [165159] by
-
- 5 edits in trunk/Source/WebKit2
AX: Support IOS Accessibility in WK2
https://bugs.webkit.org/show_bug.cgi?id=129527
Address review comments from Simon noted in bug.
- UIProcess/ios/WKContentView.mm:
(-[WKContentView _accessibilityRegisterUIProcessTokens]):
- WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:
(-[WKAccessibilityWebPageObject init]):
(-[WKAccessibilityWebPageObject dealloc]):
- WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.h:
- WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
(-[WKAccessibilityWebPageObject accessibilityAttributeNames]):
(-[WKAccessibilityWebPageObject accessibilitySetValue:forAttribute:]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
(-[WKAccessibilityWebPageObject accessibilityHitTest:]):
- 6:30 PM Changeset in webkit [165158] by
-
- 2 edits in trunk/Source/JavaScriptCore
Another build fix attempt after r165141.
- ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps):
- 6:26 PM Changeset in webkit [165157] by
-
- 2 edits in trunk/Source/JavaScriptCore
FTL build fix attempt after r165141.
- ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps):
- 6:23 PM Changeset in webkit [165156] by
-
- 2 edits in trunk/Source/WebCore
Build fix, take 2.
- platform/mac/HTMLConverter.mm:
- 6:20 PM Changeset in webkit [165155] by
-
- 2 edits in trunk/Source/WebCore
Build fix.
- platform/mac/HTMLConverter.mm:
- 5:52 PM Changeset in webkit [165154] by
-
- 2 edits in trunk/Source/WebCore
Crash when copying content that contains <sup>.
https://bugs.webkit.org/show_bug.cgi?id=129765
<rdar://problem/16139498>
Reviewed by Benjamin Poulain.
Adding static definition of NSAttributeSuperscriptName.
- platform/mac/HTMLConverter.mm:
- 5:47 PM Changeset in webkit [165153] by
-
- 3 edits in branches/safari-537.75-branch/Source/WebCore
Merge r158802.
- 5:46 PM Changeset in webkit [165152] by
-
- 14 edits in trunk/Source
Source/JavaScriptCore: https://bugs.webkit.org/show_bug.cgi?id=128625
Add fast mapping from StringImpl to JSString
Unreviewed roll-out.
Reverting r164347, r165054, r165066 - not clear the performance tradeoff was right.
- runtime/JSString.cpp:
- runtime/JSString.h:
- runtime/VM.cpp:
(JSC::VM::createLeaked):
- runtime/VM.h:
Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=128625
Add fast mapping from StringImpl to JSString
Unreviewed roll-out.
Reverting r164347, r165054, r165066 - not clear the performance tradeoff was right.
- bindings/js/DOMWrapperWorld.cpp:
(WebCore::DOMWrapperWorld::clearWrappers):
- bindings/js/DOMWrapperWorld.h:
- bindings/js/JSDOMBinding.h:
(WebCore::jsStringWithCache):
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::commonVM):
- bindings/scripts/StaticString.pm:
(GenerateStrings):
Source/WTF: [Win32][LLINT] Crash when running JSC stress tests.
https://bugs.webkit.org/show_bug.cgi?id=129429
Patch by peavo@outlook.com <peavo@outlook.com> on 2014-03-05
Reviewed by Geoffrey Garen.
- wtf/Platform.h: Enable LLINT on Win32.
- 5:37 PM Changeset in webkit [165151] by
-
- 4 edits in trunk/WebKitLibraries
https://bugs.webkit.org/show_bug.cgi?id=129722
Update WKSI, again, to fix the build.
- libWebKitSystemInterfaceLion.a:
- libWebKitSystemInterfaceMavericks.a:
- libWebKitSystemInterfaceMountainLion.a:
- 5:34 PM Changeset in webkit [165150] by
-
- 3 edits2 copies in branches/safari-537.75-branch
Merge r158724.
- 5:28 PM Changeset in webkit [165149] by
-
- 4 edits in trunk
[CMake] Use thin archives if building on Linux for non-shared-core debug builds
https://bugs.webkit.org/show_bug.cgi?id=108330
Reviewed by Martin Robinson.
In order to get non-shared debug builds, this patch applied T option for
thin archives to the flags passed to ar when cmake based ports build on linux.
In addition, applied u option which avoids adding a file twice.
- Source/cmake/OptionsCommon.cmake: Moved archive options from OptionsGTK.cmake.
- Source/cmake/OptionsEfl.cmake:
Removed error messages for non-shared-core debug builds.
- Source/cmake/OptionsGTK.cmake: Moved archive options to OptionsCommon.cmake.
- 5:21 PM Changeset in webkit [165148] by
-
- 13 edits in trunk
[WebGL] Use WKSI to see what the system policy for WebGL is
https://bugs.webkit.org/show_bug.cgi?id=129722
<rdar://problem/15790542>
Reviewed by Tim Horton.
Source/WebKit2:
Use the WebKitSystemInterface methods WKShouldBlockWebGL
and WKShouldSuggestBlockingWebGL to query what the host
system thinks about the hardware. Tell the client about
the result in a new WebPage method setSystemWebGLPolicy.
- UIProcess/API/APILoaderClient.h:
(API::LoaderClient::setSystemWebGLLoadPolicy): New empty definition.
- UIProcess/API/C/WKAPICast.h:
(WebKit::toAPI): Convert a WebGLLoadPolicy into a WKWebGLLoadPolicy.
- UIProcess/API/C/WKPage.cpp: Call setSystemWebGLLoadPolicy.
(WKPageSetPageLoaderClient):
- UIProcess/API/C/WKPageLoaderClient.h: New typedef and entry in client structure.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setSystemWebGLPolicy):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in: Add SetSystemWebGLPolicy.
- Source/WebKit2/Configurations/WebKit2.xcconfig: We have to link against OpenGL now, because WKSI
uses it for hardware detection.
- WebProcess/WebPage/WebPage.cpp: Remove the implementation here, but leave
empty methods for non-Apple platforms.
(WebKit::WebPage::WebPage):
(WebKit::WebPage::webGLPolicyForURL):
(WebKit::WebPage::resolveWebGLPolicyForURL):
- WebProcess/WebPage/WebPage.h: Add m_systemWebGLPolicy.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::webGLPolicyForURL): Moved in from WebPage, but now they call
into WKSI and send the result to the client if necessary.
(WebKit::WebPage::resolveWebGLPolicyForURL):
Tools:
Dummy entry for setSystemWebGLLoadPolicy.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
- 5:21 PM Changeset in webkit [165147] by
-
- 4 edits in branches/safari-537.75-branch
Merged r163599.
- 5:20 PM Changeset in webkit [165146] by
-
- 2 edits in trunk/WebKitLibraries
https://bugs.webkit.org/show_bug.cgi?id=129722
And remember to copy the header file!
- WebKitSystemInterface.h:
- 5:02 PM Changeset in webkit [165145] by
-
- 4 edits in trunk/Source/WebCore
And Alexey Proskuryakov <ap@apple.com>
ASSERT(newestManifest) fails in WebCore::ApplicationCacheGroup::didFinishLoadingManifest()
https://bugs.webkit.org/show_bug.cgi?id=129753
<rdar://problem/12069835>
Reviewed by Alexey Proskuryakov.
Fixes an issue where an assertion failure would occur when visiting a web site whose on-disk
app cache doesn't contain a manifest resource.
For some reason an app cache for a web site may be partially written to disk. In particular, the
app cache may only contain a CacheGroups entry. That is, the manifest resource and origin records
may not be persisted to disk. From looking over the code, we're unclear how such a situation can occur
and hence have been unable to create such an app cache. We were able to reproduce this issue using
an app cache database file that was provided by a person that was affected by this issue.
No test included because it's not straightforward to write a test for this change.
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Assert that m_cacheBeingUpdated->manifestResource()
is non-null. Currently we only document this assumption in a code comment. Also separated a single assertion
expression into two assertion expressions to make it straightforward to identify the failing sub-expression
on failure.
- loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::store): Modified to call ApplicationCacheStorage::deleteCacheGroupRecord()
to remove a cache group and associated cache records (if applicable) before inserting a cache group entry.
This replacement approach will ultimately repair incomplete app cache data for people affected by this bug.
(WebCore::ApplicationCacheStorage::loadCache): Log an error and return nullptr if the cache we loaded doesn't
have a manifest resource.
(WebCore::ApplicationCacheStorage::deleteCacheGroupRecord): Added.
(WebCore::ApplicationCacheStorage::deleteCacheGroup): Extracted deletion logic for cache group record into
ApplicationCacheStorage::deleteCacheGroupRecord().
- loader/appcache/ApplicationCacheStorage.h:
- 4:37 PM Changeset in webkit [165144] by
-
- 3 edits2 copies in branches/safari-537.75-branch
Merge r164170.
- 4:34 PM Changeset in webkit [165143] by
-
- 1 edit in trunk/WebKitLibraries/ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=129722
Update WKSI.
- libWebKitSystemInterfaceLion.a:
- libWebKitSystemInterfaceMavericks.a:
- libWebKitSystemInterfaceMountainLion.a:
- 4:33 PM Changeset in webkit [165142] by
-
- 2 edits in branches/safari-537.75-branch/Source/WebCore
Merge r160065.
- 4:29 PM Changeset in webkit [165141] by
-
- 34 edits8 adds in trunk
Support caching of custom setters
https://bugs.webkit.org/show_bug.cgi?id=129519
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This patch adds caching of assignment to properties that
are backed by C functions. This provides most of the leg
work required to start supporting setters, and resolves
the remaining regressions from moving DOM properties up
the prototype chain.
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/PolymorphicPutByIdList.cpp:
(JSC::PutByIdAccess::visitWeak):
(JSC::PolymorphicPutByIdList::PolymorphicPutByIdList):
(JSC::PolymorphicPutByIdList::from):
- bytecode/PolymorphicPutByIdList.h:
(JSC::PutByIdAccess::transition):
(JSC::PutByIdAccess::replace):
(JSC::PutByIdAccess::customSetter):
(JSC::PutByIdAccess::isCustom):
(JSC::PutByIdAccess::oldStructure):
(JSC::PutByIdAccess::chain):
(JSC::PutByIdAccess::stubRoutine):
- bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeForStubInfo):
(JSC::PutByIdStatus::computeFor):
(JSC::PutByIdStatus::dump):
- bytecode/PutByIdStatus.h:
(JSC::PutByIdStatus::PutByIdStatus):
(JSC::PutByIdStatus::takesSlowPath):
(JSC::PutByIdStatus::makesCalls):
- bytecode/StructureStubInfo.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::emitPutById):
(JSC::DFG::ByteCodeParser::handlePutById):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGCommon.h:
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasIdentifier):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIn):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
- jit/JITInlineCacheGenerator.cpp:
(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
- jit/JITInlineCacheGenerator.h:
(JSC::JITGetByIdGenerator::JITGetByIdGenerator):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):
(JSC::emitCustomSetterStub):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):
- jit/SpillRegistersMode.h: Added.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- runtime/Lookup.h:
(JSC::putEntry):
- runtime/PutPropertySlot.h:
(JSC::PutPropertySlot::setCacheableCustomProperty):
(JSC::PutPropertySlot::customSetter):
(JSC::PutPropertySlot::isCacheablePut):
(JSC::PutPropertySlot::isCacheableCustomProperty):
(JSC::PutPropertySlot::cachedOffset):
Source/WebCore:
Add forwarding header
Tests: js/regress/assign-custom-setter-polymorphic.html
js/regress/assign-custom-setter.html
- ForwardingHeaders/jit/SpillRegistersMode.h: Added.
LayoutTests:
Add test cases.
- js/regress/assign-custom-setter-expected.txt: Added.
- js/regress/assign-custom-setter-polymorphic-expected.txt: Added.
- js/regress/assign-custom-setter-polymorphic.html: Added.
- js/regress/assign-custom-setter.html: Added.
- js/regress/script-tests/assign-custom-setter-polymorphic.js: Added.
(test):
- js/regress/script-tests/assign-custom-setter.js: Added.
(test):
- 4:17 PM Changeset in webkit [165140] by
-
- 3 edits2 copies in branches/safari-537.75-branch
Merge r164367.
- 4:11 PM Changeset in webkit [165139] by
-
- 3 edits2 copies in branches/safari-537.75-branch
Merge r164204.
- 4:05 PM Changeset in webkit [165138] by
-
- 4 edits3 adds in trunk
Fix crash in CompositeEditCommand::cloneParagraphUnderNewElement()
<http://webkit.org/b/129751>
<rdar://problem/16237965>
Reviewed by Jon Honeycutt.
Merged from Blink (patch by Yuta Kitamura):
https://src.chromium.org/viewvc/blink?revision=168160&view=revision
http://crbug.com/345005
The root cause is CompositeEditCommand::moveParagraphWithClones() passing
two positions |start| and |end| which do not follow the document order,
i.e. in some situations |start| is located after |end| because of
the difference in affinity.
This patch fixes this crash by normalizing |end| to |start| in such situations.
It also adds an ASSERT that checks the relationship between |start| and |end|.
Source/WebCore:
Test: editing/execCommand/format-block-crash.html
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
(WebCore::CompositeEditCommand::moveParagraphWithClones):
- editing/CompositeEditCommand.h:
LayoutTests:
- editing/execCommand/format-block-crash-expected.txt: Added.
- editing/execCommand/format-block-crash.html: Added.
- editing/execCommand/resources/format-block-crash-iframe.html: Added.
- 4:03 PM Changeset in webkit [165137] by
-
- 4 edits2 copies in branches/safari-537.75-branch
Merge r157957.
- 3:35 PM Changeset in webkit [165136] by
-
- 8 edits in branches/safari-537.75-branch/Source/WebCore
Merge r153829.
- 3:33 PM Changeset in webkit [165135] by
-
- 19 edits in trunk/Source/JavaScriptCore
JSCell::m_gcData should encode its information differently
https://bugs.webkit.org/show_bug.cgi?id=129741
Reviewed by Geoffrey Garen.
We want to keep track of three GC states for an object:
- Not marked (which implies not in the remembered set)
- Marked but not in the remembered set
- Marked and in the remembered set
Currently we only indicate marked vs. not marked in JSCell::m_gcData. During a write
barrier, we only want to take the slow path if the object being stored to is in state #2.
We'd like to make the test for state #2 as fast as possible, which means making it a
compare against 0.
- dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::osrWriteBarrier):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkMarkByte):
(JSC::DFG::SpeculativeJIT::writeBarrier):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::writeBarrier):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::writeBarrier):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::allocateCell):
(JSC::FTL::LowerDFGToLLVM::emitStoreBarrier):
- heap/Heap.cpp:
(JSC::Heap::clearRememberedSet):
(JSC::Heap::addToRememberedSet):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::checkMarkByte):
- jit/JIT.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::checkMarkByte):
(JSC::JIT::emitWriteBarrier):
- jit/Repatch.cpp:
(JSC::writeBarrier):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/JSCell.h:
(JSC::JSCell::mark):
(JSC::JSCell::remember):
(JSC::JSCell::forget):
(JSC::JSCell::isMarked):
(JSC::JSCell::isRemembered):
- runtime/JSCellInlines.h:
(JSC::JSCell::JSCell):
- runtime/StructureIDBlob.h:
(JSC::StructureIDBlob::StructureIDBlob):
- 3:16 PM Changeset in webkit [165134] by
-
- 2 edits in branches/safari-537.75-branch/Source/WebCore
Merge r159970.
- 2:59 PM Changeset in webkit [165133] by
-
- 3 edits in branches/safari-537.75-branch/Source/WebCore
- 2:41 PM Changeset in webkit [165132] by
-
- 3 edits in branches/safari-537.75-branch/Source/WebCore
Merged r162063.
- 2:31 PM Changeset in webkit [165131] by
-
- 5 edits in branches/safari-537.75-branch
Merged r158697.
- 2:02 PM Changeset in webkit [165130] by
-
- 8 edits12 adds in trunk
[CSS Regions] Scrollable regions
https://bugs.webkit.org/show_bug.cgi?id=129301
Reviewed by David Hyatt.
Source/WebCore:
Named flow fragments do not inherit the overflow property from the fragment container.
When asked if the flow thread content should be clipped, the named flow fragments
will respond using the overflow property of the named flow fragment container.
When painting the flow thread layer inside the region, the scrolled content offset of
the region must be used to offset the flow thread's layer.
Tests: fast/regions/scrollable-last-region.html
fast/regions/scrollable-single-region-bt.html
fast/regions/scrollable-single-region-lr.html
fast/regions/scrollable-single-region-relative-element.html
fast/regions/scrollable-single-region-rl.html
fast/regions/scrollable-single-region.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):
- rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::createStyle):
(WebCore::RenderNamedFlowFragment::shouldClipFlowThreadContent):
- rendering/RenderNamedFlowFragment.h:
- rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):
- rendering/RenderRegion.cpp:
(WebCore::RenderRegion::shouldClipFlowThreadContent):
- rendering/RenderRegion.h:
LayoutTests:
Added tests for scrolling elements flowed into regions.
- fast/regions/scrollable-last-region-expected.html: Added.
- fast/regions/scrollable-last-region.html: Added.
- fast/regions/scrollable-single-region-bt-expected.html: Added.
- fast/regions/scrollable-single-region-bt.html: Added.
- fast/regions/scrollable-single-region-expected.html: Added.
- fast/regions/scrollable-single-region-lr-expected.html: Added.
- fast/regions/scrollable-single-region-lr.html: Added.
- fast/regions/scrollable-single-region-relative-element-expected.html: Added.
- fast/regions/scrollable-single-region-relative-element.html: Added.
- fast/regions/scrollable-single-region-rl-expected.html: Added.
- fast/regions/scrollable-single-region-rl.html: Added.
- fast/regions/scrollable-single-region.html: Added.
- 2:01 PM Changeset in webkit [165129] by
-
- 13 edits in trunk/Source/JavaScriptCore
More FTL ARM fixes
https://bugs.webkit.org/show_bug.cgi?id=129755
Reviewed by Geoffrey Garen.
- Be more defensive about inline caches that have degenerate chains.
- Temporarily switch to allocating all MCJIT memory in the executable pool on non-x86 platforms. The bug tracking the real fix is: https://bugs.webkit.org/show_bug.cgi?id=129756
- Don't even emit intrinsic declarations on non-x86 platforms.
- More debug printing support.
- Don't use vmCall() in the prologue. This should have crashed on all platforms all the time but somehow it gets lucky on x86.
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::appendVariant):
(JSC::GetByIdStatus::computeForChain):
(JSC::GetByIdStatus::computeForStubInfo):
- bytecode/GetByIdStatus.h:
- bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::appendVariant):
(JSC::PutByIdStatus::computeForStubInfo):
- bytecode/PutByIdStatus.h:
- bytecode/StructureSet.h:
(JSC::StructureSet::overlaps):
- ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
- ftl/FTLDataSection.cpp:
(JSC::FTL::DataSection::DataSection):
(JSC::FTL::DataSection::~DataSection):
- ftl/FTLDataSection.h:
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::lower):
- ftl/FTLOutput.h:
(JSC::FTL::Output::doubleSin):
(JSC::FTL::Output::doubleCos):
- runtime/JSCJSValue.cpp:
(JSC::JSValue::dumpInContext):
- runtime/JSCell.h:
(JSC::JSCell::structureID):
- 1:57 PM Changeset in webkit [165128] by
-
- 7 edits in trunk/Source
[Win32][LLINT] Crash when running JSC stress tests.
https://bugs.webkit.org/show_bug.cgi?id=129429
Source/JavaScriptCore:
On Windows the reserved stack space consists of committed memory, a guard page, and uncommitted memory,
where the guard page is a barrier between committed and uncommitted memory.
When data from the guard page is read or written, the guard page is moved, and memory is committed.
This is how the system grows the stack.
When using the C stack on Windows we need to precommit the needed stack space.
Otherwise we might crash later if we access uncommitted stack memory.
This can happen if we allocate stack space larger than the page guard size (4K).
The system does not get the chance to move the guard page, and commit more memory,
and we crash if uncommitted memory is accessed.
The MSVC compiler fixes this by inserting a call to the _chkstk() function,
when needed, see http://support.microsoft.com/kb/100775.
Patch by peavo@outlook.com <peavo@outlook.com> on 2014-03-05
Reviewed by Geoffrey Garen.
- JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh: Enable LLINT.
- jit/Repatch.cpp:
(JSC::writeBarrier): Compile fix when DFG_JIT is not enabled.
- offlineasm/x86.rb: Compile fix, and small simplification.
- runtime/VM.cpp:
(JSC::preCommitStackMemory): Added function to precommit stack memory.
(JSC::VM::updateStackLimit): Call function to precommit stack memory when stack limit is updated.
Source/WTF:
Patch by peavo@outlook.com <peavo@outlook.com> on 2014-03-05
Reviewed by Geoffrey Garen.
- wtf/Platform.h: Enable LLINT on Win32.
- 1:56 PM Changeset in webkit [165127] by
-
- 4 edits2 adds in trunk
Subpixel rendering: Device pixel round accumulated subpixel value when the RenderLayer with transform paints its content.
https://bugs.webkit.org/show_bug.cgi?id=129079
Reviewed by Simon Fraser.
Snap the content to the device pixel position (as opposed to integral position) before
applying the transform. Recalculate the remaining subpixels that need offsetting at painting time.
Source/WebCore:
Test: compositing/hidpi-absolute-subpixel-positioned-transformed-elements.html
- platform/graphics/LayoutPoint.h:
(WebCore::roundedForPainting):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerByApplyingTransform):
LayoutTests:
- compositing/hidpi-absolute-subpixel-positioned-transformed-elements-expected.html: Added.
- compositing/hidpi-absolute-subpixel-positioned-transformed-elements.html: Added.
- 1:40 PM Changeset in webkit [165126] by
-
- 2 edits in trunk/Source/WebKit2
Fix a stupid error in r165118 that caused userVisibleString()
to call itself recursively.
- WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
(WebKit::WebEditorClient::userVisibleString):
- 1:37 PM Changeset in webkit [165125] by
-
- 21 edits in trunk
[iOS] Show external device name/type in placeholder
https://bugs.webkit.org/show_bug.cgi?id=129723
Reviewed by Jer Noble.
Source/WebCore:
Make the name and type of the external device available to the JS based controls.
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::externalDeviceDisplayName):
(WebCore::MediaControlsHost::externalDeviceType):
- Modules/mediacontrols/MediaControlsHost.h:
- Modules/mediacontrols/MediaControlsHost.idl:
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.updateWirelessPlaybackStatus): Display device type-specific infomation
in the placeholder image.
- WebCore.exp.in: Export new WebKitSystemInterface functions.
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::wirelessPlaybackTargetName): Added.
(WebCore::MediaPlayer::wirelessPlaybackTargetType): Ditto.
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetType): Added.
(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetName): Ditto.
- platform/ios/WebCoreSystemInterfaceIOS.mm:
- platform/mac/WebCoreSystemInterface.h:
- platform/mac/WebCoreSystemInterface.mm:
Source/WebKit/mac:
- WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
WebKitLibraries:
- WebKitSystemInterface.h:
- libWebKitSystemInterfaceLion.a:
- libWebKitSystemInterfaceMavericks.a:
- libWebKitSystemInterfaceMountainLion.a:
- 1:30 PM Changeset in webkit [165124] by
-
- 12 edits in trunk/Source
[iOS] Rename the various VisibleExtent variations to exposedContentRect
https://bugs.webkit.org/show_bug.cgi?id=129728
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-05
Reviewed by Simon Fraser.
Source/WebCore:
Rename DocumentVisibleExtent and VisibleExtentContentRect to ExposedContentRect in a desperate
attempt to make things a tiny little bit less confusing.
The name is ExposedContentRect and not ExposedRect as that rect is exposed on ScrollView, while the
rect is in document coordinates (which does not make any difference on WebKit1...).
- WebCore.exp.in:
- platform/ScrollView.h:
- platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::exposedContentRect):
(WebCore::ScrollView::setExposedContentRect):
- platform/ios/wak/WAKScrollView.h:
- platform/ios/wak/WAKScrollView.mm:
(-[WAKScrollView exposedContentRect]):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
(WebCore::RenderLayerCompositor::didChangeVisibleRect):
Source/WebKit2:
- WebProcess/WebPage/DrawingArea.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setExposedContentRect):
- 1:25 PM Changeset in webkit [165123] by
-
- 5 edits2 copies in branches/safari-537.75-branch
Merge r163465.
- 1:13 PM Changeset in webkit [165122] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix the Apple-internal builds.
- Configurations/WebKit2.xcconfig: Add -framework OpenGL.
- 1:01 PM Changeset in webkit [165121] by
-
- 3 edits3 adds in trunk
JSDataViewPrototype::getData() and setData() crash on platforms that don't allow unaligned accesses
https://bugs.webkit.org/show_bug.cgi?id=129746
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Changed to use a union to manually assemble or disassemble the various types
from / to the corresponding bytes. All memory access is now done using
byte accesses.
- runtime/JSDataViewPrototype.cpp:
(JSC::getData):
(JSC::setData):
LayoutTests:
New test to validate proper operation of DataView operations at
various byte offsets using both little and big endian.
- js/arraybuffer-dataview-expected.txt: Added.
- js/arraybuffer-dataview.html: Added.
- js/script-tests/arraybuffer-dataview.js: Added.
(paddedHex):
(byteString):
(clearView):
- 12:34 PM Changeset in webkit [165120] by
-
- 3 edits2 copies in branches/safari-537.75-branch
Merge r164933.
- 12:26 PM Changeset in webkit [165119] by
-
- 5 edits1 add in trunk/Source/JavaScriptCore
FTL loadStructure always generates invalid IR
https://bugs.webkit.org/show_bug.cgi?id=129747
Reviewed by Mark Hahnenberg.
As the comment at the top of FTL::Output states, the FTL doesn't use LLVM's notion
of pointers. LLVM's notion of pointers tries to model C, in the sense that you have
to have a pointer to a type, and you can only load things of that type from that
pointer. Pointer arithmetic is basically not possible except through the bizarre
getelementptr operator. This doesn't fit with how the JS object model works since
the JS object model doesn't consist of nice and tidy C types placed in C arrays.
Also, it would be impossible to use getelementptr and LLVM pointers for accessing
any of JSC's C or C++ objects unless we went through the exercise of redeclaring
all of our fundamental data structures in LLVM IR as LLVM types. Clang could do
this for us, but that would require that to use the FTL, JSC itself would have to
be compiled with clang. Worse, it would have to be compiled with a clang that uses
a version of LLVM that is compatible with the one against which the FTL is linked.
Yuck!
The solution is to NEVER use LLVM pointers. This has always been the case in the
FTL. But it causes some confusion.
Not using LLVM pointers means that if the FTL has a "pointer", it's actually a
pointer-wide integer (m_out.intPtr in FTL-speak). The act of "loading" and
"storing" from or to a pointer involves first bitcasting the intPtr to a real LLVM
pointer that has the type that we want. The load and store operations over pointers
are called Output::load* and Output::store*, where * is one of "8", "16", "32",
"64", "Ptr", "Float", or "Double.
There is unavoidable confusion here. It would be bizarre for the FTL to call its
"pointer-wide integers" anything other than "pointers", since they are, in all
respects that we care about, simply pointers. But they are *not* LLVM pointers and
they never will be that.
There is one exception to this "no pointers" rule. The FTL does use actual LLVM
pointers for refering to LLVM alloca's - i.e. local variables. To try to reduce
confusion, we call these "references". So an "FTL reference" is actually an "LLVM
pointer", while an "FTL pointer" is actually an "LLVM integer". FTL references have
methods for access called Output::get and Output::set. These lower to LLVM load
and store, since FTL references are just LLVM pointers.
This confusion appears to have led to incorrect code in loadStructure().
loadStructure() was using get() and set() to access FTL pointers. But those methods
don't work on FTL pointers and never will, since they are for FTL references.
The worst part of this is that it was previously impossible to have test coverage
for the relevant path (MasqueradesAsUndefined) without writing a DRT test. This
patch fixes this by introducing a Masquerader object to jsc.cpp.
- ftl/FTLAbstractHeapRepository.h: Add an abstract heap for the structure table.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::loadStructure): This was wrong.
- ftl/FTLOutput.h: Add a comment to disuade people from using get() and set().
- jsc.cpp: Give us the power to test for MasqueradesAsUndefined.
(WTF::Masquerader::Masquerader):
(WTF::Masquerader::create):
(WTF::Masquerader::createStructure):
(GlobalObject::finishCreation):
(functionMakeMasquerader):
- tests/stress/equals-masquerader.js: Added.
(foo):
(test):
- 12:16 PM Changeset in webkit [165118] by
-
- 9 edits in trunk/Source
ObjC exception when dropping files into a WKView: drag and drop uses code from WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=129752
Source/WebCore:
Reviewed by Enrica Casucci.
Add C functions for NSURL-related functionality required by WebKit2
- WebCore.exp.in:
- platform/mac/WebCoreNSURLExtras.h:
- platform/mac/WebCoreNSURLExtras.mm:
(WebCore::URLByCanonicalizingURL):
(WebCore::rangeOfURLScheme):
(WebCore::looksLikeAbsoluteURL):
Source/WebKit/mac:
Reviewed by Enrica Casucci.
Call URLByCanonicalizingURL() which is implemented in WebCore.
- Misc/WebNSURLExtras.mm:
(-[NSURL _webkit_canonicalize]):
Source/WebKit2:
Reviewed by Enrica Casucci.
Get WebDragClientMac off of all WebKit headers, and WebEditorClientMac off
all but one by using C functions from WebCoreNSURLExtras.h rather than
the NSURL category.
- WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::declareAndWriteDragImage):
- WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
(WebKit::WebEditorClient::userVisibleString):
(WebKit::WebEditorClient::canonicalizeURL):
(WebKit::WebEditorClient::canonicalizeURLString):
- 12:11 PM Changeset in webkit [165117] by
-
- 46 edits in trunk/Source
Add support for sessions to MemoryCache.
https://bugs.webkit.org/show_bug.cgi?id=127794
Patch by Martin Hock <mhock@apple.com> on 2014-03-05
Reviewed by Sam Weinig.
Source/WebCore:
- WebCore.exp.in:
- editing/DeleteButtonController.cpp:
(WebCore::DeleteButtonController::createDeletionUI): Initialize CachedImage with sessionID.
- html/DOMURL.cpp:
(WebCore::DOMURL::revokeObjectURL): Remove URL from MemoryCache for all sessions.
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::cachedResource): Pass sessionID to MemoryCache.
- inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::replayXHR): Ditto.
- loader/DocumentLoader.cpp:
(WebCore::areAllLoadersPageCacheAcceptable): Ditto.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Ditto.
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement): Initialize CachedImage with sessionID.
- loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create): Pass sessionID to MemoryCache.
- loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Constructor takes sessionID.
- loader/cache/CachedCSSStyleSheet.h:
- loader/cache/CachedFont.cpp: Ditto.
(WebCore::CachedFont::CachedFont):
- loader/cache/CachedFont.h:
- loader/cache/CachedImage.cpp: Ditto.
(WebCore::CachedImage::CachedImage):
- loader/cache/CachedImage.h:
- loader/cache/CachedRawResource.cpp: Ditto.
(WebCore::CachedRawResource::CachedRawResource):
- loader/cache/CachedRawResource.h:
- loader/cache/CachedResource.cpp: Ditto.
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::~CachedResource): Pass sessionID to MemoryCache.
- loader/cache/CachedResource.h:
(WebCore::CachedResource::sessionID):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource): Constructors take sessionID.
(WebCore::CachedResourceLoader::sessionID): Retrieve sessionID from page.
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Pass sessionID to MemoryCache.
(WebCore::CachedResourceLoader::requestResource): Initialize CachedCSSStyleSheet with sessionID.
(WebCore::CachedResourceLoader::revalidateResource): Initialize cached resource with sessionID.
(WebCore::CachedResourceLoader::loadResource): Pass sessionID to MemoryCache and initialize cached resource with sessionID.
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedSVGDocument.cpp: Constructor takes sessionID.
(WebCore::CachedSVGDocument::CachedSVGDocument):
- loader/cache/CachedSVGDocument.h:
- loader/cache/CachedScript.cpp: Ditto.
(WebCore::CachedScript::CachedScript):
- loader/cache/CachedScript.h:
- loader/cache/CachedTextTrack.cpp: Ditto.
(WebCore::CachedTextTrack::CachedTextTrack):
- loader/cache/CachedTextTrack.h:
- loader/cache/CachedXSLStyleSheet.cpp: Ditto.
(WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
- loader/cache/CachedXSLStyleSheet.h:
- loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::getSessionMap): Retrieve CachedResourceMap based on sessionID.
(WebCore::MemoryCache::add): Use sessionID from CachedResource parameter.
(WebCore::MemoryCache::revalidationSucceeded): Add sessionID parameter.
(WebCore::MemoryCache::resourceForURL): Ditto.
(WebCore::MemoryCache::resourceForRequest): Ditto, also move impl into impl method.
(WebCore::MemoryCache::resourceForRequestImpl): Add CachedResourceMap parameter.
(WebCore::MemoryCache::addImageToCache): Use default sessionID.
(WebCore::MemoryCache::removeImageFromCache): Ditto.
(WebCore::MemoryCache::evict): Use sessionID from CachedResource parameter.
(WebCore::MemoryCache::removeResourcesWithOrigin): Iterate through all CachedResourceMaps.
(WebCore::MemoryCache::getOriginsWithCache): Ditto.
(WebCore::MemoryCache::removeUrlFromCache): Add sessionID parameter.
(WebCore::MemoryCache::removeRequestFromCache): Ditto.
(WebCore::MemoryCache::removeRequestFromSessionCaches): Remove request from all CachedResourceMaps, with multithread support.
(WebCore::MemoryCache::removeRequestFromCacheImpl): Add sessionID parameter.
(WebCore::MemoryCache::removeRequestFromSessionCachesImpl): Iterate through all CachedResourceMaps.
(WebCore::MemoryCache::crossThreadRemoveRequestFromCache): Add sessionID parameter.
(WebCore::MemoryCache::crossThreadRemoveRequestFromSessionCaches): Pass on request to removeRequestFromSessionCachesImpl.
(WebCore::MemoryCache::getStatistics): Iterate through all CachedResourceMaps.
(WebCore::MemoryCache::setDisabled): Ditto.
- loader/cache/MemoryCache.h: Create another level for cache.
- platform/CrossThreadCopier.cpp: Allow copying SessionIDs across threads.
(WebCore::SessionID>::copy):
- platform/CrossThreadCopier.h:
- platform/network/cf/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest): Remove trailing whitespace.
- rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::updateSnapshot): Initialize CachedImage with sessionID.
- testing/Internals.cpp:
(WebCore::Internals::isLoadingFromMemoryCache): Pass sessionID to MemoryCache.
Source/WebKit:
- WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Source/WebKit2:
- NetworkProcess/NetworkResourceLoader.h: Add sessionID() method.
(WebKit::NetworkResourceLoader::sessionID):
- NetworkProcess/mac/DiskCacheMonitor.h: Add sessionID member.
- NetworkProcess/mac/DiskCacheMonitor.mm:
(WebKit::DiskCacheMonitor::DiskCacheMonitor): Send sessionID to NetworkProcessConnection::DidCacheResource.
- WebProcess/Network/NetworkProcessConnection.cpp: Add sessionID parameter to didCacheResource and pass to MemoryCache.
(WebKit::NetworkProcessConnection::didCacheResource):
- WebProcess/Network/NetworkProcessConnection.h: Ditto.
- WebProcess/Network/NetworkProcessConnection.messages.in: Ditto.
- 11:48 AM Changeset in webkit [165116] by
-
- 6 edits in trunk/Source/WebKit2
[iOS WebKit2] support multi-select and select with groups for iPhone.
https://bugs.webkit.org/show_bug.cgi?id=129344
<rdar://problem/16206928>
Reviewed by Simon Fraser.
This is the remaining work on select element support on iOS.
This adds multi-select and select with group support with UI
for iPhone that uses UIPickerView.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView resignFirstResponder]):
(-[WKContentView inputAccessoryView]): Removed incorrect early return.
(-[WKContentView _stopAssistingNode]):
- UIProcess/ios/forms/WKFormSelectControl.h:
- UIProcess/ios/forms/WKFormSelectControl.mm:
(adjustedFontSize): Moved here to make it available to both picker and
popover based implementations.
(-[WKFormSelectControl initWithView:]):
- UIProcess/ios/forms/WKFormSelectPicker.mm:
(-[WKOptionPickerCell _isSelectable]):
(-[WKOptionPickerCell initCommon]):
(-[WKOptionPickerCell initWithOptionItem:]):
(-[WKOptionGroupPickerCell initWithOptionItem:]):
(-[WKOptionGroupPickerCell labelWidthForBounds:]):
(-[WKOptionGroupPickerCell layoutSubviews]):
(-[WKMultipleSelectPicker initWithView:]):
(-[WKMultipleSelectPicker dealloc]):
(-[WKMultipleSelectPicker controlView]):
(-[WKMultipleSelectPicker controlBeginEditing]):
(-[WKMultipleSelectPicker controlEndEditing]):
(-[WKMultipleSelectPicker layoutSubviews]):
(-[WKMultipleSelectPicker pickerView:viewForRow:forComponent:reusingView:]):
(-[WKMultipleSelectPicker numberOfComponentsInPickerView:]):
(-[WKMultipleSelectPicker pickerView:numberOfRowsInComponent:]):
(-[WKMultipleSelectPicker findItemIndexAt:]):
(-[WKMultipleSelectPicker pickerView:row:column:checked:]):
(-[WKSelectSinglePicker initWithView:]):
(-[WKSelectSinglePicker controlEndEditing]):
- UIProcess/ios/forms/WKFormSelectPopover.mm:
- 10:59 AM Changeset in webkit [165115] by
-
- 3 edits in trunk/Source/JavaScriptCore
Tweak after r165109 to avoid extra copies
https://bugs.webkit.org/show_bug.cgi?id=129745
Reviewed by Geoffrey Garen.
- heap/Heap.cpp:
(JSC::Heap::visitProtectedObjects):
(JSC::Heap::visitTempSortVectors):
(JSC::Heap::clearRememberedSet):
- heap/Heap.h:
(JSC::Heap::forEachProtectedCell):
- 10:37 AM Changeset in webkit [165114] by
-
- 10 edits1 delete in trunk
[GTK][CMake] Generate documentation for the DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=126211
Reviewed by Carlos Garcia Campos.
Source/WebCore:
- PlatformGTK.cmake: Add some files to the GObjectDOMBindings build, so that the
doc generation succeeds. Have the GObjectDOMBindings_INSTALLED_HEADERS variable contain
all installed headers and use another variable for GIR generation. Create the configuration
file for the gtkdoc generation.
Source/WebKit:
- PlatformGTK.cmake: The list of headers for GIR generation has a better name
now.
Source/WebKit2:
- PlatformGTK.cmake: The list of headers for GIR generation has a better name now.
Tools:
- gtk/GNUmakefile.am: No longer generation sections and SGML files in the makefile.
- gtk/generate-gtkdoc: Call the code from webkitdom.py to generate sections and SGML files.
- gtk/generate-webkitdom-doc-files: Removed.
- gtk/webkitdom.py: Moved WebKit GObject DOM bindings doc generation code here, so
that it can be called by generate-gtkdoc.
- 10:11 AM Changeset in webkit [165113] by
-
- 5 edits2 adds in trunk
Subpixel rendering: Wrong cliprect on absolute positioned elements.
https://bugs.webkit.org/show_bug.cgi?id=129656
Reviewed by Simon Fraser.
outlineBoundsForRepaint() is expected to return the outline repaint rect. Using enclosingIntRect()
to calculate the outline boundaries breaks repaint logic in RenderElement::repaintAfterLayoutIfNeeded().
Since enclosingIntRect() can return bigger rect than repaint rect, the old/new bounds' dimensions could end up
being different which triggers the size change repaint code path.
Source/WebCore:
Test: fast/repaint/hidpi-absolute-positioned-element-wrong-cliprect-after-move.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::outlineBoundsForRepaint):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::repaintAfterLayoutIfNeeded):
- rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
LayoutTests:
- fast/repaint/hidpi-absolute-positioned-element-wrong-cliprect-after-move-expected.txt: Added.
- fast/repaint/hidpi-absolute-positioned-element-wrong-cliprect-after-move.html: Added.
- 9:43 AM Changeset in webkit [165112] by
-
- 2 edits in trunk/Source/JavaScriptCore
DFGStoreBarrierElisionPhase should should GCState directly instead of m_gcClobberSet when calling writesOverlap()
https://bugs.webkit.org/show_bug.cgi?id=129717
Reviewed by Filip Pizlo.
- dfg/DFGStoreBarrierElisionPhase.cpp:
(JSC::DFG::StoreBarrierElisionPhase::StoreBarrierElisionPhase):
(JSC::DFG::StoreBarrierElisionPhase::couldCauseGC):
- 8:52 AM Changeset in webkit [165111] by
-
- 2 edits in trunk/Tools
[GTK][CMake] build-webkit should rerun cmake if the Makefile is missing
https://bugs.webkit.org/show_bug.cgi?id=129380
Reviewed by Philippe Normand.
- Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject): Check for the existence of the Makefile before
skipping CMake execution.
- 8:46 AM Changeset in webkit [165110] by
-
- 2 edits in trunk/Tools
[GTK] The jhbuild environment should have the latest stable release of gtk-doc
https://bugs.webkit.org/show_bug.cgi?id=129651
Reviewed by Philippe Normand.
- gtk/jhbuild.modules: Add gtk-doc to the list of modules.
- 8:46 AM Changeset in webkit [165109] by
-
- 4 edits in trunk/Source/JavaScriptCore
Use range-based loops where possible in Heap methods
https://bugs.webkit.org/show_bug.cgi?id=129513
Reviewed by Mark Lam.
Replace old school iterator based loops with the new range-based loop hotness
for a better tomorrow.
- heap/CodeBlockSet.cpp:
(JSC::CodeBlockSet::~CodeBlockSet):
(JSC::CodeBlockSet::clearMarks):
(JSC::CodeBlockSet::deleteUnmarkedAndUnreferenced):
(JSC::CodeBlockSet::traceMarked):
- heap/Heap.cpp:
(JSC::Heap::visitProtectedObjects):
(JSC::Heap::visitTempSortVectors):
(JSC::Heap::clearRememberedSet):
- heap/Heap.h:
(JSC::Heap::forEachProtectedCell):
- 7:48 AM Changeset in webkit [165108] by
-
- 3 edits in trunk/Tools
[GTK] Give the WebKit GObject DOM bindings API break detection it's own buildbot bubble
https://bugs.webkit.org/show_bug.cgi?id=129637
Reviewed by Carlos Garcia Campos.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunGtkWebKitGObjectDOMBindingsAPIBreakTests): Added this test runner.
(RunGtkWebKitGObjectDOMBindingsAPIBreakTests.commandComplete): Run the breakage test command and scan the output.
(RunGtkWebKitGObjectDOMBindingsAPIBreakTests.evaluateCommand): Return failure if there is missing API (an API break).
New API typically just requires a rebaseline and isn't necessarily a faiulre.
(TestFactory.init): Add the test for GTK+.
- BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Add a unit test for the new bubble.
- 7:16 AM Changeset in webkit [165107] by
-
- 5 edits in trunk
Source/WebCore: [ATK] Expose missing functionalities of AtkTableCell to AT.
https://bugs.webkit.org/show_bug.cgi?id=129492
Reviewed by Mario Sanchez Prada.
Implemented missing API of AtkTableCell.
No new tests. Covered by existing ones.
- accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp:
(webkitAccessibleTableCellGetColumnSpan):
(webkitAccessibleTableCellGetRowSpan):
(webkitAccessibleTableCellGetPosition):
(webkitAccessibleTableCellGetTable):
(webkitAccessibleTableCellInterfaceInit):
Tools: [ATK] Expose missing functionalities of AtkTableCell to AT
https://bugs.webkit.org/show_bug.cgi?id=129492
Reviewed by Mario Sanchez Prada.
Reducing some code by using new API of AtkTableCell.
- DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
- 6:49 AM Changeset in webkit [165106] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] WebSource doesn't need the "iradio-mode" property
https://bugs.webkit.org/show_bug.cgi?id=129685
Reviewed by Philippe Normand.
Removed the "iradio-mode" property from the WK source element
since this was only available for its modification from
playbin/uridecodebin and, as discussed in GStreamer bug #725383,
it was not being set and now is going to be removed.
It is safe just to send always the "icy-metadata" header set and
deal with returning "icy" headers as we were already doing.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcSetProperty):
(webKitWebSrcGetProperty):
(webKitWebSrcStart):
- 6:02 AM Changeset in webkit [165105] by
-
- 5 edits in trunk
Copying wrapping text results in multiple spaces between wrapped lines stripped.
https://bugs.webkit.org/show_bug.cgi?id=129609.
Patch by Chang Shu <cshu@webkit.org> on 2014-03-05
Reviewed by Ryosuke Niwa.
Source/WebCore:
While checking the condition of restoring the missing space, the collapsed spaces
may not be exactly one.
editing/pasteboard/copy-text-with-wrapped-tag.html is enhanced to test this case.
- editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextBox):
LayoutTests:
- editing/pasteboard/copy-text-with-wrapped-tag-expected.txt:
- editing/pasteboard/copy-text-with-wrapped-tag.html:
- 5:26 AM Changeset in webkit [165104] by
-
- 3 edits1 add in trunk/LayoutTests
[EFL] Update baselines and test expectations
https://bugs.webkit.org/show_bug.cgi?id=129737
Unreviewed EFL gardening.
Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-03-05
- TestExpectations:
- platform/efl-wk2/TestExpectations:
- platform/efl/fast/table/col-and-colgroup-offsets-expected.txt: Added.
Test was failing due to platform-specific numeric differences in the computed offsetHeight of the table cells.
- 2:41 AM Changeset in webkit [165103] by
-
- 14 edits in trunk/Source/WebCore
appendChild shouldn't invalidate LiveNodeLists and HTMLCollections if they don't have valid caches
https://bugs.webkit.org/show_bug.cgi?id=129727
Reviewed by Andreas Kling.
Before this patch, invalidateNodeListAndCollectionCachesInAncestors invalidated node lists and HTML
collections on ancestors of a node whenever we're inserting or removing a child node. This patch
makes HTMLCollections and LiveNodeLists register themselves with Document only when they have valid
caches.
Each user of CollectionIndexCache now implements willValidateIndexCache member function that gets
called when CollectionIndexCache caches any state and necessitates the registration with document.
- dom/ChildNodeList.h: Added an empty willValidateIndexCache since child node lists are never
registered with document.
- dom/CollectionIndexCache.h:
(WebCore::CollectionIndexCache::hasValidCache): Added.
(WebCore::CollectionIndexCache::nodeCount): Calls willValidateIndexCache when caching node count.
(WebCore::CollectionIndexCache::nodeAfterCached): Ditto. Also assert that hasValidCache() true in
the cases where we're simply updating our caches or adding more caches.
(WebCore::CollectionIndexCache::nodeAt): Ditto. Also added a code to set the length cache when
we've reached the end of the list. This should be a slight speed up on some cases.
- dom/Document.cpp:
(WebCore::Document::Document): Initializes a variable used by assertions.
(WebCore::Document::unregisterNodeList): Added an early exit for when m_listsInvalidatedAtDocument
is empty since invalidateNodeListAndCollectionCaches swaps out the list.
(WebCore::Document::registerCollection): Removed the boolean hasIdNameMap since we now explicitly
call collectionCachedIdNameMap in HTMLCollection.
(WebCore::Document::unregisterCollection): Ditto. Exit early if m_collectionsInvalidatedAtDocument
is empty since invalidateNodeListAndCollectionCaches swaps out the list.
- dom/Document.h:
- dom/LiveNodeList.cpp:
(WebCore::LiveNodeList::invalidateCache): Unregister the node list with document if we had caches.
- dom/LiveNodeList.h:
(WebCore::LiveNodeList::LiveNodeList):
(WebCore::LiveNodeList::~LiveNodeList): Ditto.
(WebCore::LiveNodeList::invalidateCache): Pass around document. This is necessary since document()
had already moved to the new document inside NodeListsNodeData::invalidateCaches.
(WebCore::LiveNodeList::willValidateIndexCache): Added. Registers itself with document.
- dom/Node.cpp:
(WebCore::Document::invalidateNodeListAndCollectionCaches): Swap the lists since invalidateCache
tries to unregister node lists and HTML collections with document. Since this is the only case in
which node lists and HTML collections being removed may not be in the lists in unregisterNodeList
and unregisterCollection, assert this condition via m_inInvalidateNodeListAndCollectionCaches.
(WebCore::NodeListsNodeData::invalidateCaches):
- dom/NodeRareData.h:
(WebCore::NodeListsNodeData::adoptDocument): Unregister node lists and HTML collections from old
document via invalidateCache. We need to explicitly pass in oldDocument here since owner node's
document had already been changed to newDocument at this point. Since we're invalidating caches,
there is no need to register node lists and HTML collections with newDocument.
- html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::~HTMLCollection): Unregister the node list with document if we had caches.
(WebCore::HTMLCollection::invalidateCache): Ditto.
(WebCore::HTMLCollection::invalidateNamedElementCache):
- html/HTMLCollection.h:
(WebCore::HTMLCollection::invalidateCache): Pass around document as done in LiveNodeList.
(WebCore::HTMLCollection::willValidateIndexCache): Ditto.
- html/HTMLFormControlsCollection.cpp:
(WebCore::HTMLFormControlsCollection::invalidateCache): Ditto.
- html/HTMLFormControlsCollection.h:
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::invalidateSelectedItems): Ditto.
(WebCore::HTMLSelectElement::setRecalcListItems): Ditto.
- 2:35 AM Changeset in webkit [165102] by
-
- 7 edits4 deletes in trunk/LayoutTests
Remove unsupported spelling tests.
https://bugs.webkit.org/show_bug.cgi?id=129482
Reviewed by Ryosuke Niwa.
Remove two spelling tests that require spellchecking of multiple words.
Currently, neither WebKit port is supporting this feature.
Those tests were added by Chromium at r141354.
- editing/spelling/spelling-exactly-selected-multiple-words-expected.txt: Removed.
- editing/spelling/spelling-exactly-selected-multiple-words.html: Removed.
- editing/spelling/spelling-should-select-multiple-words-expected.txt: Removed.
- editing/spelling/spelling-should-select-multiple-words.html: Removed.
- platform/efl-wk2/TestExpectations:
- platform/gtk/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- platform/win/TestExpectations:
- platform/wincairo/TestExpectations:
Clear TestExpectations.
- 2:20 AM Changeset in webkit [165101] by
-
- 7 edits in trunk/LayoutTests
Refactoring spelling-insert-html.html to use asynchronous spellchecking
https://bugs.webkit.org/show_bug.cgi?id=129422
Reviewed by Ryosuke Niwa.
Use asynchronous text checking in spelling-insert-html.html.
Add more logs to the test expectation so that it becomes
more descriptive.
Additionally, the word "foo" was changed to "moo" due to
only Mac had recognized this word as spelled correctly.
- editing/spelling/spelling-insert-html-expected.txt:
- editing/spelling/spelling-insert-html.html:
- platform/efl/TestExpectations:
Remove failing expectation for EFL.
- platform/gtk-wk2/TestExpectations:
- platform/gtk/TestExpectations:
Skip the tests for GTK+ because of missing asynchronous spellchecking.
- platform/mac-wk2/TestExpectations:
Ditto.
- 1:13 AM Changeset in webkit [165100] by
-
- 2 edits in trunk/Source/WebCore
Fix linker error after r165087
https://bugs.webkit.org/show_bug.cgi?id=129730
Reviewed by Csaba Osztrogonác.
- WebCore.exp.in: Remove undefined symbol ZN7WebCore32WebVideoFullscreenChangeObserverD2Ev.