Timeline



Mar 6, 2014:

11:20 PM Changeset in webkit [165252] by akling@apple.com
  • 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 mitz@apple.com
  • 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 ap@apple.com
  • 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 fpizlo@apple.com
  • 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 thiago.lacerda@openbossa.org
  • 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 thiago.lacerda@openbossa.org
  • 3 edits
    1 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 commit-queue@webkit.org
  • 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 commit-queue@webkit.org
  • 3 edits
    1 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".

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 mhahnenberg@apple.com
  • 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 aestes@apple.com
  • 1 edit
    2 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 BJ Burg
  • 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 jinwoo7.song@samsung.com
  • 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 psolanki@apple.com
  • 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 mhahnenberg@apple.com
  • 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 commit-queue@webkit.org
  • 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 dino@apple.com
  • 4 edits in trunk/WebKitLibraries

Update WebKitSystemInterface.
<rdar://problem/16256214>

  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
6:06 PM Changeset in webkit [165236] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Remove one more setCustomFixedPositionRect() that I missed.

  • UIProcess/DrawingAreaProxy.h:
6:01 PM Changeset in webkit [165235] by Simon Fraser
  • 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 Simon Fraser
  • 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 Simon Fraser
  • 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 oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix FTL build.

4:49 PM Changeset in webkit [165231] by matthew_hanson@apple.com
  • 8 edits in branches/safari-537.75-branch/Source/WebCore

Merge Merge r159489.

4:47 PM Changeset in webkit [165230] by Simon Fraser
  • 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 mark.lam@apple.com
  • 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 Brent Fulgham
  • 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 Brent Fulgham
  • 22 edits
    1 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 thiago.lacerda@openbossa.org
  • 14 edits
    2 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 msaboff@apple.com
  • 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 mark.lam@apple.com
  • 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 Julien Brianceau
  • 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 BJ Burg
  • 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 Julien Brianceau
  • 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 andersca@apple.com
  • 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 matthew_hanson@apple.com
  • 3 edits
    2 copies in branches/safari-537.75-branch

Merge r164249.

2:43 PM Changeset in webkit [165218] by andersca@apple.com
  • 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 oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix ARMv7

2:33 PM Changeset in webkit [165216] by commit-queue@webkit.org
  • 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 benjamin@webkit.org
  • 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 psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. iOS build fix after r165199.

  • rendering/RootInlineBox.cpp:
1:56 PM Changeset in webkit [165213] by mark.lam@apple.com
  • 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 jonlee@apple.com
  • 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 benjamin@webkit.org
  • 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 matthew_hanson@apple.com
  • 4 edits in branches/safari-537.75-branch/Source/WebCore

Merge r165145.

1:27 PM Changeset in webkit [165209] by commit-queue@webkit.org
  • 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 oliver@apple.com
  • 35 edits
    8 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 Michał Pakuła vel Rutka
  • 4 edits
    1 add in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing tests and remove crash expectations after r164718.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/compositing/layer-creation/overlap-animation-container-expected.txt: Added after r164449.
  • platform/efl/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt: Rebaseline after r164867.
12:57 PM Changeset in webkit [165206] by jhoneycutt@apple.com
  • 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 Manuel Rego Casasnovas
Revert previous change as CMake build will be the default soon and … (diff)
12:44 PM BuildingGtk edited by Manuel Rego Casasnovas
Add instructions to build with Ninja (diff)
12:16 PM Changeset in webkit [165205] by fpizlo@apple.com
  • 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 matthew_hanson@apple.com
  • 4 edits in branches/safari-537.75-branch

Merge r156716.

12:00 PM Changeset in webkit [165203] by mhahnenberg@apple.com
  • 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 Joseph Pecoraro
  • 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 matthew_hanson@apple.com
  • 6 edits in branches/safari-537.75-branch

Merge r153788.

11:40 AM Changeset in webkit [165200] by matthew_hanson@apple.com
  • 3 edits in branches/safari-537.75-branch/Source/WebCore

Merge r155071.

11:33 AM Changeset in webkit [165199] by Joseph Pecoraro
  • 73 edits
    2 moves
    9 adds
    3 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.

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 commit-queue@webkit.org
  • 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 akling@apple.com
  • 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 fpizlo@apple.com
  • 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 commit-queue@webkit.org
  • 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 b.long@cablelabs.com
  • 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 zandobersek@gmail.com
  • 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 commit-queue@webkit.org
  • 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 fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix build.

  • disassembler/ARM64Disassembler.cpp:
7:42 AM Changeset in webkit [165190] by Alan Bujtas
  • 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 ChangSeok Oh
  • 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 Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

6:16 AM Changeset in webkit [165187] by Lucas Forschler
  • 1 copy in tags/Safari-538.21

New Tag.

6:00 AM Changeset in webkit [165186] by Carlos Garcia Campos
  • 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 commit-queue@webkit.org
  • 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 Carlos Garcia Campos
  • 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 Carlos Garcia Campos
  • 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 Carlos Garcia Campos
  • 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 Carlos Garcia Campos
  • 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 fpizlo@apple.com
  • 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 zandobersek@gmail.com
  • 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 zandobersek@gmail.com
  • 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 zandobersek@gmail.com
  • 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 commit-queue@webkit.org
  • 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 b.long@cablelabs.com
  • 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 Martin Robinson
  • 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 Martin Robinson
  • 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 Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

9:07 PM Changeset in webkit [165171] by jinwoo7.song@samsung.com
  • 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 Chris Fleizach
  • 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 commit-queue@webkit.org
  • 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 ryuan.choi@samsung.com
  • 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 commit-queue@webkit.org
  • 35 edits
    8 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 Martin Robinson
  • 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 commit-queue@webkit.org
  • 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 mhahnenberg@apple.com
  • 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 commit-queue@webkit.org
  • 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 mark.lam@apple.com
  • 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:

  1. Adjusts the byte code PC to the jump target PC.
  2. 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:

  1. the code coincidently works correctly
  2. memory corruption
  3. 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 jaepark@webkit.org
  • 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 jer.noble@apple.com
  • 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 Chris Fleizach
  • 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 rniwa@webkit.org
  • 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 rniwa@webkit.org
  • 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 enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix, take 2.

  • platform/mac/HTMLConverter.mm:
6:20 PM Changeset in webkit [165155] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix.

  • platform/mac/HTMLConverter.mm:
5:52 PM Changeset in webkit [165154] by enrica@apple.com
  • 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 matthew_hanson@apple.com
  • 3 edits in branches/safari-537.75-branch/Source/WebCore

Merge r158802.

5:46 PM Changeset in webkit [165152] by barraclough@apple.com
  • 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 dino@apple.com
  • 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 matthew_hanson@apple.com
  • 3 edits
    2 copies in branches/safari-537.75-branch

Merge r158724.

5:28 PM Changeset in webkit [165149] by ryuan.choi@samsung.com
  • 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 dino@apple.com
  • 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 matthew_hanson@apple.com
  • 4 edits in branches/safari-537.75-branch

Merged r163599.

5:20 PM Changeset in webkit [165146] by dino@apple.com
  • 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 dbates@webkit.org
  • 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 matthew_hanson@apple.com
  • 3 edits
    2 copies in branches/safari-537.75-branch

Merge r164170.

4:34 PM Changeset in webkit [165143] by dino@apple.com
  • 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 matthew_hanson@apple.com
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

Merge r160065.

4:29 PM Changeset in webkit [165141] by oliver@apple.com
  • 34 edits
    8 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 matthew_hanson@apple.com
  • 3 edits
    2 copies in branches/safari-537.75-branch

Merge r164367.

4:11 PM Changeset in webkit [165139] by matthew_hanson@apple.com
  • 3 edits
    2 copies in branches/safari-537.75-branch

Merge r164204.

4:05 PM Changeset in webkit [165138] by ddkilzer@apple.com
  • 4 edits
    3 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 matthew_hanson@apple.com
  • 4 edits
    2 copies in branches/safari-537.75-branch

Merge r157957.

3:35 PM Changeset in webkit [165136] by matthew_hanson@apple.com
  • 8 edits in branches/safari-537.75-branch/Source/WebCore

Merge r153829.

3:33 PM Changeset in webkit [165135] by mhahnenberg@apple.com
  • 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:

  1. Not marked (which implies not in the remembered set)
  2. Marked but not in the remembered set
  3. 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 matthew_hanson@apple.com
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

Merge r159970.

2:59 PM Changeset in webkit [165133] by matthew_hanson@apple.com
  • 3 edits in branches/safari-537.75-branch/Source/WebCore

Merge r159974 and r159986.

2:41 PM Changeset in webkit [165132] by matthew_hanson@apple.com
  • 3 edits in branches/safari-537.75-branch/Source/WebCore

Merged r162063.

2:31 PM Changeset in webkit [165131] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.75-branch

Merged r158697.

2:02 PM Changeset in webkit [165130] by stavila@adobe.com
  • 8 edits
    12 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 fpizlo@apple.com
  • 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.



  • 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 commit-queue@webkit.org
  • 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 Alan Bujtas
  • 4 edits
    2 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 Simon Fraser
  • 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 eric.carlson@apple.com
  • 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 benjamin@webkit.org
  • 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 matthew_hanson@apple.com
  • 5 edits
    2 copies in branches/safari-537.75-branch

Merge r163465.

1:13 PM Changeset in webkit [165122] by dino@apple.com
  • 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 msaboff@apple.com
  • 3 edits
    3 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 matthew_hanson@apple.com
  • 3 edits
    2 copies in branches/safari-537.75-branch

Merge r164933.

12:26 PM Changeset in webkit [165119] by fpizlo@apple.com
  • 5 edits
    1 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 Simon Fraser
  • 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 commit-queue@webkit.org
  • 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 enrica@apple.com
  • 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 andersca@apple.com
  • 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 Martin Robinson
  • 10 edits
    1 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 Alan Bujtas
  • 5 edits
    2 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 mhahnenberg@apple.com
  • 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 Martin Robinson
  • 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 Martin Robinson
  • 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 mhahnenberg@apple.com
  • 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 Martin Robinson
  • 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 k.czech@samsung.com
  • 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 Andres Gomez
  • 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 commit-queue@webkit.org
  • 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 commit-queue@webkit.org
  • 3 edits
    1 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 rniwa@webkit.org
  • 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 g.czajkowski@samsung.com
  • 7 edits
    4 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 g.czajkowski@samsung.com
  • 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 jonlee@apple.com
  • 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.

Mar 4, 2014:

11:41 PM Changeset in webkit [165099] by fpizlo@apple.com
  • 18 edits
    8 adds in trunk

DFG and FTL should specialize for and support CompareStrictEq over Misc (i.e. boolean, undefined, or null)
https://bugs.webkit.org/show_bug.cgi?id=129563

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Rolling this back in after fixing an assertion failure. speculateMisc() should have
said DFG_TYPE_CHECK instead of typeCheck.

This adds a specialization of CompareStrictEq over Misc. I noticed the need for this
when I saw that we didn't support CompareStrictEq(Untyped) in FTL but that the main
user of this was EarleyBoyer, and in that benchmark what it was really doing was
comparing undefined, null, and booleans to each other.

This also adds support for miscellaneous things that I needed to make my various test
cases work. This includes comparison over booleans and the various Throw-related node
types.

This also improves constant folding of CompareStrictEq and CompareEq.

Also found a bug where we were claiming that GetByVals on typed arrays are OutOfBounds
based on profiling, which caused some downstream badness. We don't actually support
compiling OutOfBounds GetByVals on typed arrays. The DFG would ignore the flag and just
emit a bounds check, but in the FTL path, the SSA lowering phase would assume that it
shouldn't factor out the bounds check since the access is not InBounds but then the
backend would ignore the flag and assume that the bounds check was already emitted.
This showed up on an existing test but I added a test for this explicitly to have more
certain coverage. The fix is to not mark something as OutOfBounds if the semantics are
that we'll have a bounds check anyway.

This is a 1% speed-up on Octane mostly because of raytrace, but also because of just
general progressions across the board. No speed-up yet on EarleyBoyer, since there is
still a lot more coverage work to be done there.

  • bytecode/SpeculatedType.cpp:

(JSC::speculationToAbbreviatedString):
(JSC::leastUpperBoundOfStrictlyEquivalentSpeculations):
(JSC::valuesCouldBeEqual):

  • bytecode/SpeculatedType.h:

(JSC::isMiscSpeculation):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::refine):

  • dfg/DFGArrayMode.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::attemptToMakeGetArrayLength):

  • dfg/DFGNode.h:

(JSC::DFG::Node::shouldSpeculateMisc):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::SafeToExecuteEdge::operator()):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::speculateMisc):
(JSC::DFG::SpeculativeJIT::speculate):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compileMiscStrictEq):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileMiscStrictEq):

  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compileThrow):
(JSC::FTL::LowerDFGToLLVM::isNotMisc):
(JSC::FTL::LowerDFGToLLVM::isMisc):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::speculateMisc):

  • tests/stress/float32-array-out-of-bounds.js: Added.
  • tests/stress/weird-equality-folding-cases.js: Added.

LayoutTests:

Reviewed by Geoffrey Garen.

  • js/regress/fold-strict-eq-expected.txt: Added.
  • js/regress/fold-strict-eq.html: Added.
  • js/regress/misc-strict-eq-expected.txt: Added.
  • js/regress/misc-strict-eq.html: Added.
  • js/regress/script-tests/fold-strict-eq.js: Added.

(foo):
(test):

  • js/regress/script-tests/misc-strict-eq.js: Added.
11:25 PM Changeset in webkit [165098] by commit-queue@webkit.org
  • 18 edits
    8 deletes in trunk

Unreviewed, rolling out r165085.
http://trac.webkit.org/changeset/165085
https://bugs.webkit.org/show_bug.cgi?id=129729

Broke imported/w3c/html-templates/template-element/template-
content.html (Requested by ap on #webkit).

Source/JavaScriptCore:

  • bytecode/SpeculatedType.cpp:

(JSC::speculationToAbbreviatedString):

  • bytecode/SpeculatedType.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::refine):

  • dfg/DFGArrayMode.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::attemptToMakeGetArrayLength):

  • dfg/DFGNode.h:

(JSC::DFG::Node::shouldSpeculateBoolean):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::SafeToExecuteEdge::operator()):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::speculate):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:
  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::speculate):

  • tests/stress/float32-array-out-of-bounds.js: Removed.
  • tests/stress/weird-equality-folding-cases.js: Removed.

LayoutTests:

  • js/regress/fold-strict-eq-expected.txt: Removed.
  • js/regress/fold-strict-eq.html: Removed.
  • js/regress/misc-strict-eq-expected.txt: Removed.
  • js/regress/misc-strict-eq.html: Removed.
  • js/regress/script-tests/fold-strict-eq.js: Removed.
  • js/regress/script-tests/misc-strict-eq.js: Removed.
10:24 PM Changeset in webkit [165097] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Preparing to run layout tests on Wincairo.
https://bugs.webkit.org/show_bug.cgi?id=129709

Patch by Alex Christensen <achristensen@webkit.org> on 2014-03-04
Reviewed by Brent Fulgham.

  • Scripts/webkitdirs.pm:

(setPathForRunningWebKitApp):
Add GStreamer directory for WinCairo running layout tests.

  • win/DLLLauncher/DLLLauncherMain.cpp:

(modifyPath):
Added the WinCairo bin32 or bin64 directory for running WinLauncher.

9:55 PM Changeset in webkit [165096] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix the build after r165095

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-04

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):

9:37 PM Changeset in webkit [165095] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Account for the keyboard when computing the unobscuredRect
https://bugs.webkit.org/show_bug.cgi?id=129660

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-04
Reviewed by Enrica Casucci.

Adjust the unobscuredRect when a docked keyboard is on screen.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateVisibleContentRectsWithStableState:]):
(-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):

9:30 PM Changeset in webkit [165094] by Alan Bujtas
  • 15 edits
    2 adds in trunk

Enable device pixel repaint rect tracking.
https://bugs.webkit.org/show_bug.cgi?id=129712

Reviewed by Simon Fraser.

Tracked repaint rects are device pixel snapped now to support hiDPI test cases.

Source/WebCore:

Test: fast/repaint/hidpi-device-pixel-based-repaint-rect-tracking.html

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::addTrackedRepaintRect):
(WebCore::FrameView::trackedRepaintRectsAsText): Print them as LayoutUnits to get
trailing zeros cut off.

  • page/FrameView.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::setContentsNeedDisplay):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):

  • rendering/RenderView.cpp:

(WebCore::RenderView::repaintViewRectangle):

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::trackedRepaintRects):

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::trackedRepaintRects):

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView trackedRepaintRects]): Keep existing behavior for now.

LayoutTests:

  • fast/repaint/hidpi-device-pixel-based-repaint-rect-tracking-expected.txt: Added.
  • fast/repaint/hidpi-device-pixel-based-repaint-rect-tracking.html: Added.
8:44 PM Changeset in webkit [165093] by BJ Burg
  • 5 edits in trunk/Source

Inspector does not restore breakpoints after a page reload
https://bugs.webkit.org/show_bug.cgi?id=129655

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Fix a regression introduced by r162096 that erroneously removed
the inspector backend's mapping of files to breakpoints whenever the
global object was cleared.

The inspector's breakpoint mappings should only be cleared when the
debugger agent is disabled or destroyed. We should only clear the
debugger's breakpoint state when the global object is cleared.

To make it clearer what state is being cleared, the two cases have
been split into separate methods.

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::disable):
(Inspector::InspectorDebuggerAgent::clearInspectorBreakpointState):
(Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState):
(Inspector::InspectorDebuggerAgent::didClearGlobalObject):

  • inspector/agents/InspectorDebuggerAgent.h:

Source/WebInspectorUI:

Fix some console asserts that fire when breakpoints resolve.

  • UserInterface/Controllers/DebuggerManager.js:

(WebInspector.DebuggerManager.prototype.breakpointResolved):
This had a typo, it should be breakpoint.identifier.
(WebInspector.DebuggerManager.prototype.scriptDidParse):
Sometimes the url parameter is empty instead of null.

7:48 PM Changeset in webkit [165092] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS][WebKit2] Exclude plug-in sandbox profiles from the build
https://bugs.webkit.org/show_bug.cgi?id=129719

Reviewed by Simon Fraser.

  • Configurations/WebKit2.xcconfig:
6:54 PM Changeset in webkit [165091] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Don't clamp scrolling node offsets when the offset is changed by delegated scrolling
https://bugs.webkit.org/show_bug.cgi?id=129724

Reviewed by Sam Weinig.

Call setScrollPositionWithoutContentEdgeConstraints() from
ScrollingTree::scrollPositionChangedViaDelegatedScrolling() so that
layers are not clamped during rubber-banding.

This requires making setScrollPositionWithoutContentEdgeConstraints()
a pure virtual function on the base class.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):

  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
6:35 PM Changeset in webkit [165090] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Streamline JSValue::get().
<https://webkit.org/b/129720>

Fetch each Structure and VM only once when walking the prototype chain
in JSObject::getPropertySlot(), then pass it along to the functions
we call from there, so they don't have to re-fetch it.

Reviewed by Geoff Garen.

  • runtime/JSObject.h:

(JSC::JSObject::inlineGetOwnPropertySlot):
(JSC::JSObject::fastGetOwnPropertySlot):
(JSC::JSObject::getPropertySlot):

6:14 PM Changeset in webkit [165089] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] WKScrollView should be able to cancel touches in content view
https://bugs.webkit.org/show_bug.cgi?id=129711

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-04
Reviewed by Simon Fraser.

  • UIProcess/ios/WKScrollView.mm:

We should not override UIWebScrollView behavior regarding touch cancellation otherwise we force
other gesture recognizers to fail if delayed touches have been dispatched.

6:13 PM Changeset in webkit [165088] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Consider the entire view state on update to find if a change is stable or not
https://bugs.webkit.org/show_bug.cgi?id=129721

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-04
Reviewed by Simon Fraser.

Changes in scroll, zoom and obscuredRect can happen simultaneously. To compute if the current state
is stable or not, we should consider the complete picture from all the type of updates.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didFinishScrolling]):
(-[WKWebView scrollViewDidScroll:]):
(-[WKWebView scrollViewDidZoom:]):
(-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _updateVisibleContentRects]):
(-[WKWebView _setObscuredInsets:]):
(-[WKWebView _endInteractiveObscuredInsetsChange]):

5:51 PM Changeset in webkit [165087] by commit-queue@webkit.org
  • 16 edits in trunk/Source

WebVideoFullscreen, should make the hand off of the video layer explicit.
https://bugs.webkit.org/show_bug.cgi?id=128844

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-03-04
Reviewed by Simon Fraser.

Source/WebCore:

This change introduces a more explicit hand-off of the video layer.
This describes the interactions between WebVideoFullscreenInterface and WebVideoFullscreenModel
WebVideoFullscreenModel <-> WebVideoFullscreenInterface

enterFullScreen(*) ->

<- borrowVideoLayer

willLendVideoLayer ->

didLendVideoLayer ->

<- didEnterFullscreen
...
<- requestExitFullscreen

exitFullscreen ->

<- returnVideoLayer
<- didExitFullscreen

(*) enterFullScreen actually comes from WebVideoFullscreenControllerAVKit.

  • WebCore.exp.in:

Export new functions in WebVideoFullscreenInterfaceAVKit, WebVideoFullscreenModelMediaElement, etc.

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

Add WebVideoFullscreenControllerChangeObserver to forward fullscreen callbacks to WebVideoFullscreenController

(WebVideoFullscreenControllerChangeObserver::setTarget):
Sets obj-c target of fullscreen change callbacks.

(-[WebVideoFullscreenController init]):
Point _changeObserver's target at self.

(-[WebVideoFullscreenController dealloc]):
Clear _changeObserver's target.

(-[WebVideoFullscreenController enterFullscreen:]):
Retain self to prevent dealloc during animation or while fullscreen.
Connect _interface to _changeObserver.

(-[WebVideoFullscreenController exitFullscreen]):
Remove use of completion move cleanup to -didExitFullscreen.

(-[WebVideoFullscreenController didEnterFullscreen]):
Nothing to see here.

(-[WebVideoFullscreenController didExitFullscreen]):
Move clean up code that was in a completion to here.

  • platform/ios/WebVideoFullscreenInterface.h:

Add delarations for more explicit hand-off of video layer.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:

Add WebVideoFullscreenChangeObserver to notify when fullscreen animations complete.
Add declarations for more explicit hand-off of video layer.
Add WebAVPlayerLayer now always wraps the m_videoLayer to prevent default behavior
of AVPlayerLayer.

(WebCore::WebVideoFullscreenChangeObserver::~WebVideoFullscreenChangeObserver):
Add empty virtual destructor.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

Include AVKit headers instead of declaring everything locally.
AVPlayerLayer protocol renamed to AVVideoLayer per AVKit.

(-[WebAVPlayerController dealloc]):
Don't refer to self.

(-[WebAVPlayerController playerViewController:shouldDismissWithReason:]):
Pause before requesting exit fullscreen.

(-[WebAVPlayerLayer setPlayerController:]):
This is required by AVVideoLayer, but we don't need it.

(WebVideoFullscreenInterfaceAVKit::playerController):
White space.

(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenChangeObserver):
Set observer to forward fullscreen changes to.

(WebVideoFullscreenInterfaceAVKit::enterFullscreen):
Use more explicit video layer hand-off.

(WebVideoFullscreenInterfaceAVKit::doEnterFullscreen):
Move enterFullscreen logic here.
AVPlayerViewController now takes the video layer at init time.
Always provide a video layer wrapped in a WebAVPlayerLayer.

(WebVideoFullscreenInterfaceAVKit::willLendVideoLayer):
Use more explicit video layer hand-off.

(WebVideoFullscreenInterfaceAVKit::didLendVideoLayer):
Use more explicit video layer hand-off.

(WebVideoFullscreenInterfaceAVKit::exitFullscreen):
Use more explicit video layer hand-off.

  • platform/ios/WebVideoFullscreenModel.h:

Add functions for more explicit video layer hand-off.

  • platform/ios/WebVideoFullscreenModelMediaElement.h:

Mark virtual functions as virtual.
Add changes for WebVideoFullscreenModel.

  • platform/ios/WebVideoFullscreenModelMediaElement.mm:

Use more explicit video layer hand-off.

(WebVideoFullscreenModelMediaElement::setMediaElement):
Don't push the video layer. Wait for a request for it.

(WebVideoFullscreenModelMediaElement::handleEvent):
Make sure m_videoFullscreenInterface is valid.

(WebVideoFullscreenModelMediaElement::borrowVideoLayer):
Use more explicit video layer hand-off.
Lend videoLayer in request to a request to borrow the videoLayer.
Make sure to retain the video layer before it is removed from the layer tree.

(WebVideoFullscreenModelMediaElement::returnVideoLayer):
Use more explicit video layer hand-off.

(WebVideoFullscreenModelMediaElement::requestExitFullscreen):
Don't clear the mediaElement reference until completely exited from fullscreen.

Source/WebKit2:

This change introduces a more explicit hand-off of the video layer and fullscreen transition.
This describes the interactions between WebVideoFullscreenInterface and WebVideoFullscreenModel
WebVideoFullscreenModel <-> WebVideoFullscreenInterface

enterFullScreen(*) ->

<- borrowVideoLayer

willLendVideoLayer ->

didLendVideoLayer ->

<- didEnterFullscreen
...
<- requestExitFullscreen

exitFullscreen ->

<- returnVideoLayer
<- didExitFullscreen

(*) enterFullScreen actually comes from WebVideoFullscreenControllerAVKit.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:

Implement WebVideoFullscreenChangeObserver.
Add support for explicit video layer hand-off.
Add m_videoView to retain the videoLayer's UIView.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:

WillLendVideoLayerWithID replaces SetVideoLayerID

  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

Adopt new methods for explicit video layer hand-off.

(WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
Observe fullscreen changes.

(WebKit::WebVideoFullscreenManagerProxy::didCommitLayerTree):
Pending fullscreen transition now does didLendVideoLayer instead of calling enter fullscreen.
It also removes the videoView from it's super view now that it is safe to do so.

(WebKit::WebVideoFullscreenManagerProxy::willLendVideoLayerWithID):
This replaces setVideoLayerID. It retains the UIView for the layer to keep it alive before it is unparented.

(WebKit::WebVideoFullscreenManagerProxy::requestExitFullscreen):
Adopt more explicit fullscreen transition.

(WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
Adopt more explicit fullscreen transition.

(WebKit::WebVideoFullscreenManagerProxy::didEnterFullscreen):
Adopt more explicit fullscreen transition.

(WebKit::WebVideoFullscreenManagerProxy::borrowVideoLayer):
Adopt more explicit video layer hand-off.

(WebKit::WebVideoFullscreenManagerProxy::returnVideoLayer):
Adopt more explicit video layer hand-off.

  • WebProcess/ios/WebVideoFullscreenManager.cpp:

Manage state of fullscreen transition more competently. Wait till an animation is complete to begin the next one.

(WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
Init three new state members.

(WebKit::WebVideoFullscreenManager::enterFullscreenForNode):
Update animation state. Don't procede if animation is in progress.

(WebKit::WebVideoFullscreenManager::exitFullscreenForNode):
Update animation state. Don't procede if animation is in progress.

(WebKit::WebVideoFullscreenManager::willLendVideoLayer):
Adopt more explicit video layer hand-off.
This replaces SetVideoLayer.

(WebKit::WebVideoFullscreenManager::didLendVideoLayer):
This is a no-op as this will be sent through a RemoteLayerTreeTransaction.

(WebKit::WebVideoFullscreenManager::didEnterFullscreen):
Adopt more explicit fullscreen transition.

(WebKit::WebVideoFullscreenManager::didExitFullscreen):
Adopt more explicit fullscreen transition.

  • WebProcess/ios/WebVideoFullscreenManager.h:

Adopt more explicit fullscreen transition.

  • WebProcess/ios/WebVideoFullscreenManager.messages.in:

Adopt more explicit fullscreen/video layer transition.

5:24 PM Changeset in webkit [165086] by Simon Fraser
  • 10 edits in trunk/Source

Source/WebCore: Get position:fixed working slightly better on iOS
https://bugs.webkit.org/show_bug.cgi?id=129714

Reviewed by Benjamin Poulain.

Send the scroll position as a FloatPoint, rather than an IntPoint.

  • WebCore.exp.in:
  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):

  • page/scrolling/ScrollingTree.h:

Source/WebKit2: Get position:fixed working slightly better on iOS WK2
https://bugs.webkit.org/show_bug.cgi?id=129714

Reviewed by Benjamin Poulain.

Start telling the RemoteScrollingCoordinatorProxy about scroll position changes
again, so it can update fixed and sticky layers.

Send the scroll position as a FloatPoint, rather than an IntPoint.

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChangedViaDelegatedScrolling):
(WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
Tell the RemoteScrollingCoordinatorProxy about the scroll update.
Only update the customFixedPositionRect if we've finished scrolling or zooming.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::updateVisibleContentRects): Return a bool indicating
whether the visible rects changed.

5:03 PM Changeset in webkit [165085] by fpizlo@apple.com
  • 18 edits
    8 adds in trunk

DFG and FTL should specialize for and support CompareStrictEq over Misc (i.e. boolean, undefined, or null)
https://bugs.webkit.org/show_bug.cgi?id=129563

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

This adds a specialization of CompareStrictEq over Misc. I noticed the need for this
when I saw that we didn't support CompareStrictEq(Untyped) in FTL but that the main
user of this was EarleyBoyer, and in that benchmark what it was really doing was
comparing undefined, null, and booleans to each other.

This also adds support for miscellaneous things that I needed to make my various test
cases work. This includes comparison over booleans and the various Throw-related node
types.

This also improves constant folding of CompareStrictEq and CompareEq.

Also found a bug where we were claiming that GetByVals on typed arrays are OutOfBounds
based on profiling, which caused some downstream badness. We don't actually support
compiling OutOfBounds GetByVals on typed arrays. The DFG would ignore the flag and just
emit a bounds check, but in the FTL path, the SSA lowering phase would assume that it
shouldn't factor out the bounds check since the access is not InBounds but then the
backend would ignore the flag and assume that the bounds check was already emitted.
This showed up on an existing test but I added a test for this explicitly to have more
certain coverage. The fix is to not mark something as OutOfBounds if the semantics are
that we'll have a bounds check anyway.

This is a 1% speed-up on Octane mostly because of raytrace, but also because of just
general progressions across the board. No speed-up yet on EarleyBoyer, since there is
still a lot more coverage work to be done there.

  • bytecode/SpeculatedType.cpp:

(JSC::speculationToAbbreviatedString):
(JSC::leastUpperBoundOfStrictlyEquivalentSpeculations):
(JSC::valuesCouldBeEqual):

  • bytecode/SpeculatedType.h:

(JSC::isMiscSpeculation):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::shouldSpeculateMisc):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::SafeToExecuteEdge::operator()):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::speculateMisc):
(JSC::DFG::SpeculativeJIT::speculate):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compileMiscStrictEq):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileMiscStrictEq):

  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compileThrow):
(JSC::FTL::LowerDFGToLLVM::isNotMisc):
(JSC::FTL::LowerDFGToLLVM::isMisc):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::speculateMisc):

  • tests/stress/float32-array-out-of-bounds.js: Added.
  • tests/stress/weird-equality-folding-cases.js: Added.

LayoutTests:

Reviewed by Geoffrey Garen.

  • js/regress/fold-strict-eq-expected.txt: Added.
  • js/regress/fold-strict-eq.html: Added.
  • js/regress/misc-strict-eq-expected.txt: Added.
  • js/regress/misc-strict-eq.html: Added.
  • js/regress/script-tests/fold-strict-eq.js: Added.

(foo):
(test):

  • js/regress/script-tests/misc-strict-eq.js: Added.
4:33 PM Changeset in webkit [165084] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Fixed Windows build without MEDIA_CONTROLS_SCRIPT enabled.
https://bugs.webkit.org/show_bug.cgi?id=129701

Patch by Alex Christensen <achristensen@webkit.org> on 2014-03-04
Reviewed by Jer Noble.

  • WebCore.vcxproj/WebCore.vcxproj:
  • DerivedSources.cpp:

Moved UserAgentScriptsData.cpp to DerivedSources.cpp to only be built if MEDIA_CONTROLS_SCRIPT is enabled.

  • DerivedSources.make:

Only generate UserAgentScripts.cpp/h when USER_AGENT_SCRIPTS is non-empty.

  • rendering/RenderThemeWin.cpp:

Only include UserAgentScripts.h when MEDIA_CONTROLS_SCRIPT is enabled.

4:26 PM Changeset in webkit [165083] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

WKPage's pageExtendedBackgroundColor API exposed through WKView/WKWebView should support NSColor
https://bugs.webkit.org/show_bug.cgi?id=129704

Patch by Conrad Shultz <Conrad Shultz> on 2014-03-04
Reviewed by Beth Dakin.

Add NSColor-returning methods to complement the existing UIColor-returning methods.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Declare _pageExtendedBackgroundColor for non-TARGET_OS_IPHONE.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _pageExtendedBackgroundColor]):
Return an NSColor created from the pageExtendedBackgroundColor.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Declare _pageExtendedBackgroundColor for non-TARGET_OS_IPHONE.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _pageExtendedBackgroundColor]):
Return an NSColor created from the pageExtendedBackgroundColor.

4:07 PM Changeset in webkit [165082] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Web Inspector: Give WebProcess private RWI entitlement
https://bugs.webkit.org/show_bug.cgi?id=129710

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-04
Reviewed by Timothy Hatcher.

  • Configurations/WebContent-iOS.entitlements:

Add entitlements to "WebProcess" when code signing.

  • Configurations/WebContentProcess.xcconfig:

Add the private RWI entitlement.

2:52 PM Changeset in webkit [165081] by enrica@apple.com
  • 7 edits in trunk/Source/WebKit2

[iOS WebKit2]: Next/Prev button in the accessory bar do not work.
https://bugs.webkit.org/show_bug.cgi?id=129690
<rdar://problem/16073569>

Reviewed by Simon Fraser.

Adding support for Next and Previous buttons in the accessory bar.
When the request is processed by the WebProcess, we identify the next
focusable node that needs to be assisted and we call focus() on the element
letting the focus changing machinery take care of updating the assisted node.
This change also add support for the Clear button, when appropriate and hooks up
the call to the WebProcess.

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView accessoryTab:]):
(-[WKContentView accessoryClear]):
(-[WKContentView _updateAccessory]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::focusNextAssistedNode):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::nextFocusableElement):
(WebKit::hasFocusableElement):
(WebKit::WebPage::focusNextAssistedNode):
(WebKit::WebPage::getAssistedNodeInformation):

2:48 PM Changeset in webkit [165080] by Simon Fraser
  • 8 edits in trunk/Source

Allow iOS DumpRenderTree crashes to show application-specific information
https://bugs.webkit.org/show_bug.cgi?id=129705

Source/WebCore:

Reviewed by David Kilzer.

Make the WKSI function SetCrashReportApplicationSpecificInformation available
in iOS simulator builds.

  • WebCore.exp.in:
  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:

Source/WebKit/mac:

Reviewed by David Kilzer.

Make the WKSI function SetCrashReportApplicationSpecificInformation available
in iOS simulator builds.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKit2:

Reviewed by David Kilzer.

Make the WKSI function SetCrashReportApplicationSpecificInformation available
in iOS simulator builds.

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

2:42 PM Changeset in webkit [165079] by akling@apple.com
  • 17 edits in trunk/Source

Spam static branch prediction hints on JS bindings.
<https://webkit.org/b/129703>

Source/JavaScriptCore:

Add LIKELY hint to jsDynamicCast since it's always used in a context
where we expect it to succeed and takes an error path when it doesn't.

Reviewed by Geoff Garen.

  • runtime/JSCell.h:

(JSC::jsDynamicCast):

Source/WebCore:

Add UNLIKELY hints to all !castedThis and exec->hadException() paths
in the JS bindings since they are almost always going to get skipped.

Reviewed by Geoff Garen.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
(GenerateParametersCheck):
(GenerateImplementationFunctionCall):
(GenerateConstructorDefinition):

2:40 PM Changeset in webkit [165078] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Get to Structures more efficiently in JSCell::methodTable().
<https://webkit.org/b/129702>

In JSCell::methodTable(), get the VM once and pass that along to
structure(VM&) instead of using the heavier structure().

In JSCell::methodTable(VM&), replace calls to structure() with
calls to structure(VM&).

Reviewed by Mark Hahnenberg.

  • runtime/JSCellInlines.h:

(JSC::JSCell::methodTable):

2:40 PM Changeset in webkit [165077] by cavalcantii@gmail.com
  • 3 edits in trunk/Source/WebCore

Remove unused StdDeviation from Gaussian Blur effect
https://bugs.webkit.org/show_bug.cgi?id=129693

Reviewed by Simon Fraser.

No new tests, no change on behavior.

  • platform/graphics/filters/FEGaussianBlur.cpp:
  • platform/graphics/filters/FEGaussianBlur.h:
2:23 PM Changeset in webkit [165076] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Add a Document::updateStyleIfNeededForNode(Node&).
<https://webkit.org/b/129689>

Generalize the mechanism that computed style uses to avoid doing full
style updates when the node we're interested in isn't actually dirty.

Reviewed by Antti Koivisto.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • dom/Document.cpp:

(WebCore::nodeOrItsAncestorNeedsStyleRecalc):
(WebCore::Document::updateStyleIfNeededForNode):

  • dom/Document.h:
  • editing/htmlediting.cpp:

(WebCore::isEditablePosition):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::defaultEventHandler):

2:15 PM Changeset in webkit [165075] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Web Inspector: Listen for the XPC_ERROR_CONNECTION_INVALID event to deref
https://bugs.webkit.org/show_bug.cgi?id=129697

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-04
Reviewed by Timothy Hatcher.

  • inspector/remote/RemoteInspectorXPCConnection.mm:

(Inspector::RemoteInspectorXPCConnection::RemoteInspectorXPCConnection):
(Inspector::RemoteInspectorXPCConnection::handleEvent):

1:38 PM Changeset in webkit [165074] by mhahnenberg@apple.com
  • 40 edits
    2 deletes in trunk/Source

Merge API shims and JSLock
https://bugs.webkit.org/show_bug.cgi?id=129650

Reviewed by Mark Lam.

Source/JavaScriptCore:

JSLock is now taking on all of APIEntryShim's responsibilities since there is never a reason
to take just the JSLock. Ditto for DropAllLocks and APICallbackShim.

  • API/APICallbackFunction.h:

(JSC::APICallbackFunction::call):
(JSC::APICallbackFunction::construct):

  • API/APIShims.h: Removed.
  • API/JSBase.cpp:

(JSEvaluateScript):
(JSCheckScriptSyntax):
(JSGarbageCollect):
(JSReportExtraMemoryCost):
(JSSynchronousGarbageCollectForDebugging):

  • API/JSCallbackConstructor.cpp:
  • API/JSCallbackFunction.cpp:
  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::init):
(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
(JSC::JSCallbackObject<Parent>::put):
(JSC::JSCallbackObject<Parent>::putByIndex):
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::construct):
(JSC::JSCallbackObject<Parent>::customHasInstance):
(JSC::JSCallbackObject<Parent>::call):
(JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames):
(JSC::JSCallbackObject<Parent>::getStaticValue):
(JSC::JSCallbackObject<Parent>::callbackGetter):

  • API/JSContext.mm:

(-[JSContext setException:]):
(-[JSContext wrapperForObjCObject:]):
(-[JSContext wrapperForJSObject:]):

  • API/JSContextRef.cpp:

(JSContextGroupRelease):
(JSContextGroupSetExecutionTimeLimit):
(JSContextGroupClearExecutionTimeLimit):
(JSGlobalContextCreateInGroup):
(JSGlobalContextRetain):
(JSGlobalContextRelease):
(JSContextGetGlobalObject):
(JSContextGetGlobalContext):
(JSGlobalContextCopyName):
(JSGlobalContextSetName):

  • API/JSManagedValue.mm:

(-[JSManagedValue value]):

  • API/JSObjectRef.cpp:

(JSObjectMake):
(JSObjectMakeFunctionWithCallback):
(JSObjectMakeConstructor):
(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeError):
(JSObjectMakeRegExp):
(JSObjectGetPrototype):
(JSObjectSetPrototype):
(JSObjectHasProperty):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectGetPropertyAtIndex):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectGetPrivateProperty):
(JSObjectSetPrivateProperty):
(JSObjectDeletePrivateProperty):
(JSObjectIsFunction):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):
(JSObjectCopyPropertyNames):
(JSPropertyNameArrayRelease):
(JSPropertyNameAccumulatorAddName):

  • API/JSScriptRef.cpp:
  • API/JSValue.mm:

(isDate):
(isArray):
(containerValueToObject):
(valueToArray):
(valueToDictionary):
(objectToValue):

  • API/JSValueRef.cpp:

(JSValueGetType):
(JSValueIsUndefined):
(JSValueIsNull):
(JSValueIsBoolean):
(JSValueIsNumber):
(JSValueIsString):
(JSValueIsObject):
(JSValueIsObjectOfClass):
(JSValueIsEqual):
(JSValueIsStrictEqual):
(JSValueIsInstanceOfConstructor):
(JSValueMakeUndefined):
(JSValueMakeNull):
(JSValueMakeBoolean):
(JSValueMakeNumber):
(JSValueMakeString):
(JSValueMakeFromJSONString):
(JSValueCreateJSONString):
(JSValueToBoolean):
(JSValueToNumber):
(JSValueToStringCopy):
(JSValueToObject):
(JSValueProtect):
(JSValueUnprotect):

  • API/JSVirtualMachine.mm:

(-[JSVirtualMachine addManagedReference:withOwner:]):
(-[JSVirtualMachine removeManagedReference:withOwner:]):

  • API/JSWeakObjectMapRefPrivate.cpp:
  • API/JSWrapperMap.mm:

(constructorHasInstance):
(makeWrapper):
(tryUnwrapObjcObject):

  • API/ObjCCallbackFunction.mm:

(JSC::objCCallbackFunctionCallAsFunction):
(JSC::objCCallbackFunctionCallAsConstructor):
(objCCallbackFunctionForInvocation):

  • CMakeLists.txt:
  • ForwardingHeaders/JavaScriptCore/APIShims.h: Removed.
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGWorklist.cpp:
  • heap/DelayedReleaseScope.h:

(JSC::DelayedReleaseScope::~DelayedReleaseScope):

  • heap/HeapTimer.cpp:

(JSC::HeapTimer::timerDidFire):
(JSC::HeapTimer::timerEvent):

  • heap/IncrementalSweeper.cpp:
  • inspector/InjectedScriptModule.cpp:

(Inspector::InjectedScriptModule::ensureInjected):

  • jsc.cpp:

(jscmain):

  • runtime/GCActivityCallback.cpp:

(JSC::DefaultGCActivityCallback::doWork):

  • runtime/JSGlobalObjectDebuggable.cpp:

(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::disconnect):
(JSC::JSGlobalObjectDebuggable::dispatchMessageFromRemoteFrontend):

  • runtime/JSLock.cpp:

(JSC::JSLock::lock):
(JSC::JSLock::didAcquireLock):
(JSC::JSLock::unlock):
(JSC::JSLock::willReleaseLock):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • runtime/JSLock.h:
  • testRegExp.cpp:

(realMain):

Source/WebCore:

No new tests.

JSLock is now taking on all of APIEntryShim's responsibilities since there is never a reason
to take just the JSLock. Ditto for DropAllLocks and APICallbackShim.

  • bindings/js/DOMRequestState.h:

(WebCore::DOMRequestState::Scope::Scope):

  • bindings/js/JSDOMPromise.h:

(WebCore::DeferredWrapper::resolve):
(WebCore::DeferredWrapper::reject):
(WebCore::DeferredWrapper::resolve<String>):
(WebCore::DeferredWrapper::resolve<bool>):
(WebCore::char>>):
(WebCore::DeferredWrapper::reject<String>):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::deserialize):

Source/WebKit/mac:

JSLock is now taking on all of APIEntryShim's responsibilities since there is never a reason
to take just the JSLock. Ditto for DropAllLocks and APICallbackShim.

  • WebView/WebFrame.mm:

(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):

Source/WebKit2:

JSLock is now taking on all of APIEntryShim's responsibilities since there is never a reason
to take just the JSLock. Ditto for DropAllLocks and APICallbackShim.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):

1:30 PM Changeset in webkit [165073] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r164812.
http://trac.webkit.org/changeset/164812
https://bugs.webkit.org/show_bug.cgi?id=129699

it made things run slower (Requested by pizlo on #webkit).

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • jsc.cpp:

(GlobalObject::finishCreation):

  • runtime/BatchedTransitionOptimizer.h:

(JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
(JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):

1:27 PM Changeset in webkit [165072] by fpizlo@apple.com
  • 5 edits
    4 adds in trunk/Source/JavaScriptCore

GetMyArgumentByVal in FTL
https://bugs.webkit.org/show_bug.cgi?id=128850

Reviewed by Oliver Hunt.

This would have been easy if the OSR exit compiler's arity checks hadn't been wrong.
They checked arity by doing "exec->argumentCount == codeBlock->numParameters", which
caused it to think that the arity check had failed if the caller had passed more
arguments than needed. This would cause the call frame copying to sort of go into
reverse (because the amount-by-which-we-failed-arity would have opposite sign,
throwing off a bunch of math) and the stack would end up being corrupted.

The bug was revealed by two existing tests although as far as I could tell, neither
test was intending to cover this case directly. So, I added a new test.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):
(JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated):
(JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLState.h:
  • tests/stress/exit-from-ftl-when-caller-passed-extra-args-then-use-function-dot-arguments.js: Added.
  • tests/stress/ftl-get-my-argument-by-val-inlined-and-not-inlined.js: Added.
  • tests/stress/ftl-get-my-argument-by-val-inlined.js: Added.
  • tests/stress/ftl-get-my-argument-by-val.js: Added.
1:08 PM Changeset in webkit [165071] by Lucas Forschler
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

1:06 PM Changeset in webkit [165070] by Lucas Forschler
  • 1 copy in tags/Safari-537.75.6

New Tag.

12:22 PM Changeset in webkit [165069] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

REGRESSION: Overlay scrollbars that have grown are sometimes askew in the track
https://bugs.webkit.org/show_bug.cgi?id=129691
-and corresponding-
<rdar://problem/15666846>

Reviewed by Simon Fraser.

This regression started happening after we adopted the setPresentationValue
ScrollbarPainter API which allows us to update the position of the scrollbar knob
from our secondary scrolling thread. The bug occurs when the scrollbar grows while
it still thinks it is in presentation-value mode. Whenever the scrollbar grows, it
should be in non-presentation value mode.

If the wheel event has ended or been cancelled, we can switch out of presentation
value mode.

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):

Sometimes we will grow the scrollbar before we have received a wheel event with
the end or cancelled phase, and so automatically switch out of presentation-value
mode whenever we start one of these animations.

  • platform/mac/ScrollAnimatorMac.mm:

(-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):

12:15 PM Changeset in webkit [165068] by zandobersek@gmail.com
  • 17 edits in trunk/Source/WebCore

Move Source/WebCore/html/track/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=129666

Reviewed by Eric Carlson.

Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/html/track/ with std::unique_ptr.

  • html/track/AudioTrack.h:
  • html/track/InbandWebVTTTextTrack.cpp:

(WebCore::InbandWebVTTTextTrack::parseWebVTTCueData):

  • html/track/InbandWebVTTTextTrack.h:
  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::loadTimerFired):
(WebCore::LoadableTextTrack::newCuesAvailable):
(WebCore::LoadableTextTrack::cueLoadingCompleted):
(WebCore::LoadableTextTrack::newRegionsAvailable):

  • html/track/LoadableTextTrack.h:
  • html/track/TextTrack.h:
  • html/track/TextTrackCue.h:
  • html/track/TextTrackRegion.h:
  • html/track/VTTCue.cpp:

(WebCore::VTTCue::createWebVTTNodeTree):
(WebCore::VTTCue::markFutureAndPastNodes):

  • html/track/VTTCue.h:
  • html/track/VideoTrack.h:
  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::WebVTTParser):

  • html/track/WebVTTParser.h:
  • html/track/WebVTTTokenizer.h:
  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::processNewCueData):

  • loader/TextTrackLoader.h:
12:12 PM Changeset in webkit [165067] by zandobersek@gmail.com
  • 8 edits in trunk

[GTK] Build the Udis86 disassembler
https://bugs.webkit.org/show_bug.cgi?id=129679

Reviewed by Michael Saboff.

.:

  • GNUmakefile.am: Add the Udis86_nosources variable.
  • Source/cmake/OptionsGTK.cmake: Enable the Udis86 disassembler.

Source/JavaScriptCore:

  • GNUmakefile.am: Generate the Udis86-related derived sources. Distribute the required files.
  • GNUmakefile.list.am: Add the Udis86 disassembler files to the build.

Source/WTF:

  • wtf/Platform.h: Also enable the Udis86 disassembler for the GTK port on Linux.
11:56 AM Changeset in webkit [165066] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix too-narrow assertion I added in r165054.

It's okay for a 1-character string to come in here. This will happen
if the VM small string optimization doesn't apply (ch > 0xFF)

  • runtime/JSString.h:

(JSC::jsStringWithWeakOwner):

11:53 AM Changeset in webkit [165065] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Subpixel rendering: Make border-radius painting device pixel aware.
https://bugs.webkit.org/show_bug.cgi?id=129558

Reviewed by Simon Fraser.

Snap rounded rects to device pixels right before passing them to GraphicsContext.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::clipRoundedInnerRect):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::paintBorder):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::paint):

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paint):

11:43 AM Changeset in webkit [165064] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Crashes and assertions running iOS compositing tests
https://bugs.webkit.org/show_bug.cgi?id=129688

Reviewed by Dean Jackson.

When a layer is no longer composited, we need to unregister it
from the scrolling coordinator, and remove it from m_scrollCoordinatedLayers.

Tested by compositing tests on iOS.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking):

11:31 AM Changeset in webkit [165063] by zoltan@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[CSS Shapes] Add test for adjusted lineTop position between left and right shape-outside floats
https://bugs.webkit.org/show_bug.cgi?id=128696

Reviewed by David Hyatt.

  • fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjusted-between-left-right-floats-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjusted-between-left-right-floats.html: Added.
11:11 AM Changeset in webkit [165062] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Update bindings test results after r165046.

  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_set_reflected_string_attr):
(webkit_dom_test_obj_set_reflected_url_attr):
(webkit_dom_test_obj_set_reflected_custom_url_attr):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):

  • bindings/scripts/test/ObjC/DOMTestObj.mm:

(-[DOMTestObj setReflectedStringAttr:]):
(-[DOMTestObj setReflectedURLAttr:]):
(-[DOMTestObj setReflectedCustomURLAttr:]):

11:01 AM Changeset in webkit [165061] by BJ Burg
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Skip inspector tests that are still flaky.

Skip inspector-protocol/dom/dom-search-crash.html (tracked by https://webkit.org/b/129639).
Skip inspector/test-harness-trivially-works.html (tracked by https://webkit.org/b/129642).

10:43 AM Changeset in webkit [165060] by Martin Robinson
  • 9 edits
    2 adds
    2 deletes in trunk

[GTK] Simplify the GObject DOM bindings API break check into one step
https://bugs.webkit.org/show_bug.cgi?id=129571

Reviewed by Carlos Garcia Campos.

.:

  • Source/PlatformGTK.cmake: We don't need to run the API break check before gtkdoc generation.

Add the check to 'make check.'

Source/WebCore:

  • bindings/gobject/GNUmakefile.am: We no longer generate the webkitdom.symbols file in the

DerivedSources directory. All the logic is handled internally in the script now.

  • bindings/scripts/gobject-run-api-break-test: Removed.

Tools:

  • GNUmakefile.am: Add the API break check to 'make check.'
  • gtk/check-for-webkitdom-api-breaks: Added. A combination of the two removed scripts.
  • gtk/check-gdom-symbols: Removed.
  • gtk/webkitdom.py: Added.

(header_name_list_from_gtkdoc_config_file): Gets the names of all headers from the gtkdoc config file.
(get_all_webkitdom_symbol_files): Find the symbol files from the names.

10:35 AM Changeset in webkit [165059] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.20.1/Source/JavaScriptCore

Merged r165038.

10:20 AM Changeset in webkit [165058] by Martin Robinson
  • 2 edits in trunk

[GTK][CMake] ENABLE_NAVIGATOR_CONTENT_UTILS is mistakenly enabled for the CMake build
https://bugs.webkit.org/show_bug.cgi?id=129502

Reviewed by Carlos Garcia Campos.

  • Source/cmake/OptionsGTK.cmake: Disable the option for GTK+.
10:05 AM Changeset in webkit [165057] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Build fix for iOS.

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::addRoundedBorderClip):
(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):

9:16 AM Changeset in webkit [165056] by Brent Fulgham
  • 1 edit
    2 adds in branches/safari-537.75-branch/Source/WebCore

Unreviewed build fix after bad merge of r154146.
<rdar://problem/16223155>

Two files were ommitted from the prior commit.

  • platform/win/WebCoreBundleWin.cpp: Added.

(WebCore::createWebKitBundle):
(WebCore::webKitBundle):

  • platform/win/WebCoreBundleWin.h: Added.
9:06 AM Changeset in webkit [165055] by Alan Bujtas
  • 27 edits in trunk/Source

Subpixel rendering: Make GraphicsLayer::fillRect FloatRoundedRect based and cleanup dependencies.
https://bugs.webkit.org/show_bug.cgi?id=129557

Reviewed by Simon Fraser.

This is the preparation for snapping rounded rects to device pixel position. It enables
device pixel aware border-radius painting.

No change in functionality.

Source/WebCore:

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::paintMediaSliderThumb):

  • platform/graphics/FloatRoundedRect.cpp:

(WebCore::FloatRoundedRect::FloatRoundedRect):
(WebCore::FloatRoundedRect::isRenderable):

  • platform/graphics/FloatRoundedRect.h:
  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::clipRoundedRect):
(WebCore::GraphicsContext::clipOutRoundedRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/Path.cpp:

(WebCore::Path::addRoundedRect):

  • platform/graphics/Path.h:
  • platform/graphics/RoundedRect.cpp:

(WebCore::RoundedRect::pixelSnappedRoundedRectForPainting):

  • platform/graphics/RoundedRect.h:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ShadowBlur::drawRectShadow):
(WebCore::ShadowBlur::drawInsetShadow):
(WebCore::ShadowBlur::drawRectShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::drawRectShadowWithTiling):

  • platform/graphics/ShadowBlur.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::platformFillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::platformFillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):

  • platform/graphics/wince/GraphicsContextWinCE.cpp:

(WebCore::GraphicsContext::fillRoundedRect):

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::borderRadiiFromStyle):
(WebCore::RenderThemeGtk::paintMediaSliderTrack):
(WebCore::RenderThemeGtk::paintMediaSliderThumb):
(WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):

  • platform/win/DragImageWin.cpp:

(WebCore::createDragImageForLink):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::clipRoundedInnerRect):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::clipBorderSideForComplexInnerPath):
(WebCore::RenderBoxModelObject::paintBoxShadow):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::clipToRect):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSliderTrack):
(WebCore::RenderThemeIOS::paintProgressBar):
(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintSliderTrack):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::paintMenuListButtonGradients):
(WebCore::RenderThemeSafari::paintSliderTrack):

  • rendering/shapes/BoxShape.cpp:

(WebCore::BoxShape::buildDisplayPaths):

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShapeInset::path):

Source/WebKit/win:

  • FullscreenVideoController.cpp:

(HUDSlider::draw):
(FullscreenVideoController::draw):

9:05 AM Changeset in webkit [165054] by akling@apple.com
  • 4 edits in trunk/Source

Micro-optimize Strings in JS bindings.
<https://webkit.org/b/129673>

Source/JavaScriptCore:

Make jsStringWithWeakOwner() take a StringImpl& instead of a String.
This avoids branches in length() and operator[].

Also call JSString::create() directly instead of jsString() and just
assert that the string length is >1. This way we don't duplicate the
optimizations for empty and single-character strings.

Reviewed by Ryosuke Niwa.

  • runtime/JSString.h:

(JSC::jsStringWithWeakOwner):

Source/WebCore:

Tweaked for new jsStringWithWeakOwner signature. This patch removes
36 bytes of code from every wrapper getter that returns a DOMString.

Reviewed by Ryosuke Niwa.

  • bindings/js/JSDOMBinding.h:

(WebCore::jsStringWithCache):

9:02 AM Changeset in webkit [165053] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

SVGPropertyTearOffs should detachChildren before deleting its value.
<http://webkit.org/b/129618>
<rdar://problem/15661617>

Reviewed by Maciej Stachowiak.

Merged from Blink (patch by kouhei@chromium.org):
https://src.chromium.org/viewvc/blink?revision=158563&view=revision
http://crbug.com/296276

Test: svg/transforms/svg-matrix-tearoff-crash.html

NOTE: The test does not reproduce a crash on WebKit using
JavaScriptCore.

  • svg/properties/SVGPropertyTearOff.h:

(WebCore::SVGPropertyTearOff::setValue):
(WebCore::SVGPropertyTearOff::~SVGPropertyTearOff):

  • Call detachChildren() if m_value is a copy. The original Blink patch did not modify the destructor code path, although that seems obvious via code inspection.
8:32 AM Changeset in webkit [165052] by commit-queue@webkit.org
  • 3 edits
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: Remove WebInspector.EventHandler in favor of WebInspector.EventListenerSet
https://bugs.webkit.org/show_bug.cgi?id=129185

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-03-04
Reviewed by Timothy Hatcher.

  • UserInterface/Base/EventHandler.js: Removed.
  • UserInterface/Main.html: Don't include EventHandler.js.
  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._dismissPopover):
(WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):
Use EventListenerSet instead of EventHandler.

8:22 AM Changeset in webkit [165051] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2] Selection remains after reload.
https://bugs.webkit.org/show_bug.cgi?id=129648
<rdar://problem/16207547>

Reviewed by Sam Weinig.

We normally clear the selection when resigninig first responder but
that doesn't get called when reloading the page or when navigating with
back/forward buttons. The correct place to do this is when we get
_didCommitLoadForMainFrame where we already stop assisting the node.
The method we call into webselectionassistant is resignedFirstResponder
which takes care of clearing the selection and removing the selection view.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _stopAssistingNode]):

8:17 AM Changeset in webkit [165050] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Subpixel rendering: Incorrect repaint rect cuts off content's right edge after move.
https://bugs.webkit.org/show_bug.cgi?id=129652

Reviewed by Simon Fraser.

When repaint rect is adjusted in order to take the distance from renderer into account,
the accumulated fraction value need to be added too. This is always a positive value.

Source/WebCore:

Test: fast/borders/hidpi-border-clipping-right-after-move.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):

LayoutTests:

  • fast/borders/hidpi-border-clipping-right-after-move-expected.html: Added.
  • fast/borders/hidpi-border-clipping-right-after-move.html: Added.
5:19 AM Changeset in webkit [165049] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebCore

Remove unused member variable of NetworkInfoController
https://bugs.webkit.org/show_bug.cgi?id=129674

Reviewed by Gyuyoung Kim.

  • Modules/networkinfo/NetworkInfoController.cpp:

(WebCore::NetworkInfoController::NetworkInfoController):
(WebCore::NetworkInfoController::create):
(WebCore::provideNetworkInfoTo):

  • Modules/networkinfo/NetworkInfoController.h: Removed m_page which is not really used.
4:36 AM Changeset in webkit [165048] by svillar@igalia.com
  • 15 edits in trunk

[CSS Grid Layout] Percentages of indefinite sizes should compute to auto
https://bugs.webkit.org/show_bug.cgi?id=128173

Reviewed by Darin Adler.

Source/WebCore:

We should treat percentages of indefinite sizes as auto as
mandated by the spec. Otherwise we would end up calculating a
percentage of -1, the value we use to represent infinite.

Added some test cases to the current tests.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::gridTrackSize):

  • rendering/style/GridTrackSize.h:

(WebCore::GridTrackSize::isPercentage):

LayoutTests:

Added a grid with indefinite sizes to check that we use auto to
compute the track breadths instead of the specified percentages.

  • fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
  • fast/css-grid-layout/grid-columns-rows-get-set.html:
  • fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
  • fast/css-grid-layout/grid-element-repeat-get-set.html:
  • fast/css-grid-layout/named-grid-line-get-set-expected.txt:
  • fast/css-grid-layout/named-grid-line-get-set.html:
  • fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
  • fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
  • fast/css-grid-layout/resources/grid.css:

(.indefiniteSizeGrid):

3:27 AM Changeset in webkit [165047] by Dániel Bátyai
  • 5 edits
    3 adds in trunk

Implement Number.prototype.clz()
https://bugs.webkit.org/show_bug.cgi?id=129479

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Implemented Number.prototype.clz() as specified in the ES6 standard.

  • runtime/NumberPrototype.cpp:

(JSC::numberProtoFuncClz):

LayoutTests:

Added/updated tests to account for Number.prototype.clz().

  • js/number-clz.html: Added.
  • js/number-clz-expected.txt: Added.
  • js/Object-getOwnPropertyNames-expected.txt:
  • js/script-tests/number-clz.js: Added.
  • js/script-tests/Object-getOwnPropertyNames.js:
2:48 AM Changeset in webkit [165046] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

Don't synchronize attributes in reflect setters when we don't need to
https://bugs.webkit.org/show_bug.cgi?id=129662

Reviewed by Andreas Kling.

The vast majority of attributes don't need synchronization. Avoid calling synchronizeAttribute in setters
for those content attributes generated by "Reflect" keyword in IDL.

  • bindings/scripts/CodeGenerator.pm:

(SetterExpression):

  • dom/Element.cpp:

(WebCore::Element::setAttributeWithoutSynchronization): Added.

  • dom/Element.h:
2:28 AM Changeset in webkit [165045] by akling@apple.com
  • 10 edits in trunk/Source/WebCore

Remove Document::idAttributeName().
<https://webkit.org/b/129663>

Reviewed by Ryosuke "DYEB" Niwa.

This abstraction is not actually used and causes unnecessary indirection
in some pretty hot code paths.

Replace it with hard-coded HTMLNames::idAttr instead which is a compile
time constant pointer. We can revisit this in the future if we wish to
implement support for custom id attributes.

  • dom/Attr.cpp:

(WebCore::Attr::isId):

  • dom/Document.cpp:

(WebCore::Document::Document):

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::Element::attributeChanged):
(WebCore::Element::willModifyAttribute):

  • dom/Element.h:

(WebCore::Element::getIdAttribute):
(WebCore::Element::getNameAttribute):
(WebCore::Element::setIdAttribute):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::parseAttribute):

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::parseAttribute):

  • html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::parseAttribute):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::attributeChanged):
(WebCore::SVGElement::isKnownAttribute):
(WebCore::SVGElement::svgAttributeChanged):

1:45 AM Changeset in webkit [165044] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION(r164856): Use after free in WebCore::QualifiedName::operator== / WebCore::StyledElement::attributeChanged
https://bugs.webkit.org/show_bug.cgi?id=129550

Reviewed by Andreas Kling.

Source/WebCore:

We can't store a reference to QualifiedName here because ensureUniqueElementData could delete QualifiedName inside Attribute.

Test: fast/dom/uniquing-attributes-via-setAttribute.html

  • dom/Element.cpp:

(WebCore::Element::setAttributeInternal):

LayoutTests:

Added a regression test.

  • fast/dom/uniquing-attributes-via-setAttribute-expected.txt: Added.
  • fast/dom/uniquing-attributes-via-setAttribute.html: Added.
12:26 AM Changeset in webkit [165043] by commit-queue@webkit.org
  • 4 edits
    4 moves in trunk/Source

Move EvasGLContext and EvasGLSurface files into the efl common directory.
https://bugs.webkit.org/show_bug.cgi?id=129603

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-04
Reviewed by Gyuyoung Kim.

Source/WebCore:

EFL port will use EvasGLContext and EvasGLSurface files in both WK1 and WK2.

No new tests, just refactorings.

  • PlatformEfl.cmake:
  • platform/graphics/efl/EvasGLContext.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLContext.cpp.

(WebKit::EvasGLContext::EvasGLContext):
(WebKit::EvasGLContext::~EvasGLContext):

  • platform/graphics/efl/EvasGLContext.h: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLContext.h.

(WebKit::EvasGLContext::create):
(WebKit::EvasGLContext::context):

  • platform/graphics/efl/EvasGLSurface.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLSurface.cpp.

(WebKit::EvasGLSurface::EvasGLSurface):
(WebKit::EvasGLSurface::~EvasGLSurface):

  • platform/graphics/efl/EvasGLSurface.h: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLSurface.h.

(WebKit::EvasGLSurface::create):
(WebKit::EvasGLSurface::surface):

Source/WebKit2:

  • PlatformEfl.cmake: Update for removed files.

Mar 3, 2014:

11:36 PM Changeset in webkit [165042] by Martin Robinson
  • 4 edits in trunk/Source/WebKit/gtk

[GTK] Fix some simple gtkdoc warnings for WebKit1
https://bugs.webkit.org/show_bug.cgi?id=129659

Reviewed by Carlos Garcia Campos.

  • docs/webkitgtk-sections.txt: Make public some enum documentation that is used

in public APIs.

  • webkit/webkitwebview.cpp: Fix typos and add documentation for enums previously

marked as private.
(webkit_web_view_class_init):

  • webkit/webkitwebview.h: Ditto.
11:35 PM Changeset in webkit [165041] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

Fix the GTK+ CMake build

  • PlatformGTK.cmake: Add a missing file to the source list.
10:57 PM Changeset in webkit [165040] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Web Inspector: Avoid too early deref caused by RemoteInspectorXPCConnection::close
https://bugs.webkit.org/show_bug.cgi?id=129631

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-03
Reviewed by Timothy Hatcher.

Avoid deref() too early if a client calls close(). The xpc_connection_close
will cause another XPC_ERROR event to come in from the queue, deref then.
Likewise, protect multithreaded access to m_client. If a client calls
close() we want to immediately clear the pointer to prevent calls to it.

Overall the multi-threading aspects of RemoteInspectorXPCConnection are
growing too complicated for probably little benefit. We may want to
clean this up later.

  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::xpcConnectionFailed):

  • inspector/remote/RemoteInspectorXPCConnection.h:
  • inspector/remote/RemoteInspectorXPCConnection.mm:

(Inspector::RemoteInspectorXPCConnection::RemoteInspectorXPCConnection):
(Inspector::RemoteInspectorXPCConnection::close):
(Inspector::RemoteInspectorXPCConnection::closeOnQueue):
(Inspector::RemoteInspectorXPCConnection::deserializeMessage):
(Inspector::RemoteInspectorXPCConnection::handleEvent):
(Inspector::RemoteInspectorXPCConnection::sendMessage):

10:52 PM Changeset in webkit [165039] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Match color of regex in source view with a popover
https://bugs.webkit.org/show_bug.cgi?id=129645

Patch by Jonathan Wells <jonowells@apple.com> on 2014-03-03
Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.css:

(.console-formatted-string):
(.console-formatted-regexp):

10:38 PM Changeset in webkit [165038] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

AbstractMacroAssembler::CachedTempRegister should start out invalid
https://bugs.webkit.org/show_bug.cgi?id=129657

Reviewed by Filip Pizlo.

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::AbstractMacroAssembler):

  • Invalidate all cached registers in constructor as we don't know the contents of any register at the entry to the code we are going to generate.
10:37 PM Changeset in webkit [165037] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk

:active style is not cleared when its display property is set to none before mouse released.
https://bugs.webkit.org/show_bug.cgi?id=129465

Patch by Sanghyup Lee <sh53.lee@samsung.com> on 2014-03-03
Reviewed by Antonio Gomes.

Source/WebCore:

We currently clearing the :active style when element has a renderer.
This patch makes elements clear its active style regardless of renderer.

  • dom/Document.cpp:

(WebCore::Document::updateHoverActiveState):

LayoutTests:

  • fast/css/active-display-none-expected.txt: Added.
  • fast/css/active-display-none.html: Added.
8:21 PM Changeset in webkit [165036] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

StructureOrOffset should be fastmalloced.
<https://webkit.org/b/129640>

Reviewed by Geoffrey Garen.

  • runtime/StructureIDTable.h:
8:11 PM Changeset in webkit [165035] by rniwa@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Use DYEBench v0.9 by default.

Rubber-stamped by Benjamin Poulain.

  • perf/DoYouEvenBench/index.html:
7:24 PM Changeset in webkit [165034] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] WebPage::updateVisibleContentRects can set the position directly instead of using programmatic scrolling
https://bugs.webkit.org/show_bug.cgi?id=129649

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-03
Reviewed by Sam Weinig.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):
Update my workaround from r165003. We should not use programmatic scrolling when the scroll position is changed
from the UI.

7:23 PM Changeset in webkit [165033] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Update UIScrollView's contentSize when a new layer tree is committed
https://bugs.webkit.org/show_bug.cgi?id=129641

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-03
Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:WebKit::]):
Previously, we relied on [UIScrollView setZoomScale:] to reset the contentSize for us.
In the cases where we would not go through [UIScrollView setZoomScale:], the UIScrollView's contentSize
did not match the actual WKContentView's area on screen.

6:22 PM Changeset in webkit [165032] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Remove 2 unnecessary includes from JSDOMBinding.h
<https://webkit.org/b/129619>

Reviewed by Antti Koivisto.

  • bindings/js/JSDOMBinding.h:
6:00 PM Changeset in webkit [165031] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

GraphicsContext::drawLineForText needs to be exported from WebCore.dylib for iOS builds
https://bugs.webkit.org/show_bug.cgi?id=129647

Reviewed by NOBODY (This is a build fix).

Fixing after r165025 and r165016.

No new tests as this is a build fix.

  • WebCore.exp.in:
5:53 PM Changeset in webkit [165030] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Start playback button misplaced
https://bugs.webkit.org/show_bug.cgi?id=129628

Reviewed by Simon Fraser.

On YouTube embeds, while the video is loading it is placed into the DOM with a 0x0 size.
This causes the start playback button to be visible in the upper-left corner of the embed
area. The button wasn't visible previously (in plugin mode) because the plugin clipped its
drawing to its bounds, and so the <video> shadow should do the same.

  • Modules/mediacontrols/mediaControlsiOS.css:

(::-webkit-media-controls):

5:45 PM Changeset in webkit [165029] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix for iOS simulator.

  • WebCore.exp.in:
5:29 PM Changeset in webkit [165028] by commit-queue@webkit.org
  • 12 edits in trunk/Source

Forward application suspend resume notifications to the web process.
https://bugs.webkit.org/show_bug.cgi?id=129356

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-03-03
Reviewed by Eric Carlson.

Source/WebCore:

  • platform/audio/ios/MediaSessionManagerIOS.mm:

(-[WebMediaSessionHelper initWithCallback:]):
Observe UIApplicationDidBecomeActiveNotification,
WebUIApplicationDidBecomeActiveNotification,
WebUIApplicationWillEnterForegroundNotification, and
WebUIApplicationWillResignActiveNotification

(-[WebMediaSessionHelper applicationDidBecomeActive:]):
Resume session.

Source/WebKit2:

Repost UIApplicationWillEnterForegroundNotification,
UIApplicationDidBecomeActiveNotification and
UIApplicationWillResignActiveNotification from UIProcess to WebProcess.
As WebUIApplicationWillEnterForegroundNotification,
WebUIApplicationDidBecomeActiveNotification, and
WebUIApplicationWillResignActiveNotification

  • UIProcess/WebPageProxy.h:

Add applicationWillEnterForeground()
applicationWillResignActive()
applicationDidBecomeActive()

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::]):
Observe notifications.

(-[WKContentView dealloc]):
Stop observing notifications.

(-[WKContentView _applicationWillResignActive:]):
Notify WebPageProxy of the event.

(-[WKContentView _applicationWillEnterForeground:]):
Notify WebPageProxy of the event.

(-[WKContentView _applicationDidBecomeActive:]):
Notify WebPageProxy of the event.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::applicationWillEnterForeground):
Send corresponding Message to WebPage.

(WebKit::WebPageProxy::applicationWillResignActive):
Send corresponding Message to WebPage.

(WebKit::WebPageProxy::applicationDidBecomeActive):
Send corresponding Message to WebPage.

  • WebProcess/WebPage/WebPage.h:

Add applicationWillEnterForeground()
applicationWillResignActive()
applicationDidBecomeActive()

  • WebProcess/WebPage/WebPage.messages.in:

Add applicationWillEnterForeground()
applicationWillResignActive()
applicationDidBecomeActive()

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::applicationWillResignActive):
Post corresponding NSNotification.

(WebKit::WebPage::applicationWillEnterForeground):
Post corresponding NSNotification.

(WebKit::WebPage::applicationDidBecomeActive):
Post corresponding NSNotification.

5:22 PM Changeset in webkit [165027] by commit-queue@webkit.org
  • 46 edits in trunk/Source

Unreviewed, rolling out r165013.
http://trac.webkit.org/changeset/165013
https://bugs.webkit.org/show_bug.cgi?id=129646

New code is not thread safe, asserting on a worker test
(Requested by ap on #webkit).

Source/WebCore:

  • WebCore.exp.in:
  • editing/DeleteButtonController.cpp:

(WebCore::DeleteButtonController::createDeletionUI):

  • html/DOMURL.cpp:

(WebCore::DOMURL::revokeObjectURL):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResource):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::replayXHR):

  • loader/DocumentLoader.cpp:

(WebCore::areAllLoadersPageCacheAcceptable):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement):

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):

  • loader/cache/CachedCSSStyleSheet.h:
  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::CachedFont):

  • loader/cache/CachedFont.h:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::CachedImage):

  • loader/cache/CachedImage.h:
  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::CachedRawResource):

  • loader/cache/CachedRawResource.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::~CachedResource):

  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::createResource):
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::revalidateResource):
(WebCore::CachedResourceLoader::loadResource):

  • loader/cache/CachedResourceLoader.h:
  • loader/cache/CachedSVGDocument.cpp:

(WebCore::CachedSVGDocument::CachedSVGDocument):

  • loader/cache/CachedSVGDocument.h:
  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::CachedScript):

  • loader/cache/CachedScript.h:
  • loader/cache/CachedTextTrack.cpp:

(WebCore::CachedTextTrack::CachedTextTrack):

  • loader/cache/CachedTextTrack.h:
  • loader/cache/CachedXSLStyleSheet.cpp:

(WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):

  • loader/cache/CachedXSLStyleSheet.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::add):
(WebCore::MemoryCache::revalidationSucceeded):
(WebCore::MemoryCache::resourceForURL):
(WebCore::MemoryCache::resourceForRequest):
(WebCore::MemoryCache::addImageToCache):
(WebCore::MemoryCache::removeImageFromCache):
(WebCore::MemoryCache::evict):
(WebCore::MemoryCache::removeResourcesWithOrigin):
(WebCore::MemoryCache::getOriginsWithCache):
(WebCore::MemoryCache::removeUrlFromCache):
(WebCore::MemoryCache::removeRequestFromCache):
(WebCore::MemoryCache::removeRequestFromCacheImpl):
(WebCore::MemoryCache::crossThreadRemoveRequestFromCache):
(WebCore::MemoryCache::getStatistics):
(WebCore::MemoryCache::setDisabled):

  • loader/cache/MemoryCache.h:
  • platform/CrossThreadCopier.cpp:
  • platform/CrossThreadCopier.h:
  • platform/network/cf/ResourceRequest.h:

(WebCore::ResourceRequest::ResourceRequest):

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::updateSnapshot):

  • testing/Internals.cpp:

(WebCore::Internals::isLoadingFromMemoryCache):

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/mac/DiskCacheMonitor.h:
  • NetworkProcess/mac/DiskCacheMonitor.mm:

(WebKit::DiskCacheMonitor::DiskCacheMonitor):

  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didCacheResource):

  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Network/NetworkProcessConnection.messages.in:
5:20 PM Changeset in webkit [165026] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Better Debugger popovers for RegExp values
https://bugs.webkit.org/show_bug.cgi?id=129633

Patch by Jonathan Wells <jonowells@apple.com> on 2014-03-03
Reviewed by Timothy Hatcher.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression.populate):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForRegExp):

5:20 PM Changeset in webkit [165025] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS Simulator build.

  • WebCore.exp.in:
5:13 PM Changeset in webkit [165024] by Lucas Forschler
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

5:11 PM Changeset in webkit [165023] by Lucas Forschler
  • 1 copy in tags/Safari-537.75.5

New Tag.

5:00 PM Changeset in webkit [165022] by enrica@apple.com
  • 8 edits in trunk/Source/WebKit2

[iOS WebKit2]: Text fields don't zoom in when focused
https://bugs.webkit.org/show_bug.cgi?id=129632
<rdar://problem/16185230>

Reviewed by Benjamin Poulain.

When focusing the node we need to zoom and center it and possibly
scroll to make it visible.
On iPad we only scroll, without zooming.

  • Shared/AssistedNodeInformation.cpp:

(WebKit::AssistedNodeInformation::encode):
(WebKit::AssistedNodeInformation::decode):

  • Shared/AssistedNodeInformation.h:

(WebKit::AssistedNodeInformation::AssistedNodeInformation):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _scrollToRect:withOrigin:minimumScrollDistance:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _displayFormNodeInputView]):
(-[WKContentView _startAssistingNode:]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getAssistedNodeInformation):

4:49 PM Changeset in webkit [165021] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Crash in JIT code while watching a video @ storyboard.tumblr.com
https://bugs.webkit.org/show_bug.cgi?id=129635

Reviewed by Filip Pizlo.

Clear m_set before we set bits in the TempRegisterSet(const RegisterSet& other)
construtor.

  • jit/TempRegisterSet.cpp:

(JSC::TempRegisterSet::TempRegisterSet): Clear map before setting it.

  • jit/TempRegisterSet.h:

(JSC::TempRegisterSet::TempRegisterSet): Use new clearAll() helper.
(JSC::TempRegisterSet::clearAll): New private helper.

4:45 PM Changeset in webkit [165020] by Brent Fulgham
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

Unreviewed build fix.
<rdar://problem/16197002>

  • WebCore.vcxproj/WebCore.vcxproj: Exclude 64-bit assembly code when building

32-bit DebugSuffix target.

4:44 PM Changeset in webkit [165019] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix ASSERT and leaks introduced in recent "Support IOS Accessibility in WK2" patch

Reviewed by Simon Fraser.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _accessibilityRegisterUIProcessTokens]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformInitializeAccessibility):

4:24 PM Changeset in webkit [165018] by Brent Fulgham
  • 2 edits in branches/safari-537.75-branch/Source/JavaScriptCore

Unreviewed build fix.
<rdar://problem/16197002>

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Exclude 64-bit assembly code when building

32-bit DebugSuffix target.

4:08 PM Changeset in webkit [165017] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Don't try to parse legacy CSS gradients -- we don't support them.

https://bugs.webkit.org/show_bug.cgi?id=129623

Reviewed by Joseph Pecoraro.

  • UserInterface/Models/Gradient.js:

(WebInspector.Gradient.stopsWithComponents): Fix a possible exception on malformed stops.
(WebInspector.LinearGradient.linearGradientWithComponents): Return early for legacy gradients.

3:55 PM BuildBot edited by Martin Robinson
Remove references to nonexistent ports (diff)
3:49 PM Changeset in webkit [165016] by mmaxfield@apple.com
  • 7 edits
    2 adds in trunk

Space between double underlines does not scale with font size
https://bugs.webkit.org/show_bug.cgi?id=129521

Reviewed by Simon Fraser.

Source/WebCore:

This patch moves the logic about how far to draw the second underline (when text-decoration-style: double
is specified) from InlineTextBox to GraphicsContext, because GraphicsContext is the authoritative source
about how thick underlines should be. The space between the two underlines is set to the thickness of
each of the underlines.

This patch also deletes some unused code in InlineTextBox that was never getting triggered, in addition
to unifying drawLineForText with drawLinesForText. This didn't have any performance impact in my testing.

Test: fast/css3-text/css3-text-decoration/text-decoration-style-double-space-scales.html

  • platform/graphics/GraphicsContext.h: drawLineForText takes a boolean for if we should draw double

underlines.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::drawLinesForText):

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::drawLineForText):

  • platform/graphics/wince/GraphicsContextWinCE.cpp:

(WebCore::GraphicsContext::drawLineForText):

  • rendering/InlineTextBox.cpp: Use new boolean argument

(WebCore::drawSkipInkUnderline):
(WebCore::InlineTextBox::paintDecoration):

LayoutTests:

This test renders large text with a double underline, but then barely clips off the bottom underline
using overflow: hidden. It makes sure that this is exactly the same as a single underline. If the
space between the two underlines does not scale with font size, it will appear as though there is a
single thick underline (because they will be drawn on top of each other) and will thus fail this test.

  • fast/css3-text/css3-text-decoration/text-decoration-style-double-space-scales-expected.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-style-double-space-scales.html: Added.
3:36 PM Changeset in webkit [165015] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Composited masks not working on iOS after r164890
https://bugs.webkit.org/show_bug.cgi?id=129630

Reviewed by Jer Noble.

Fix typo in UIView-related masks code; set the mask layer
on the view, not the maskView.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::RemoteLayerTreePropertyApplier::applyProperties):

3:30 PM Changeset in webkit [165014] by Chris Fleizach
  • 19 edits
    2 copies
    4 adds in trunk

AX: Support IOS Accessibility in WK2
https://bugs.webkit.org/show_bug.cgi?id=129527

Reviewed by Sam Weinig.

Source/WebCore:

Update the iOS wrapper so that it can convert points to screen space in WebKit2.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
(-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]):

Source/WebKit2:

Implement enough AX hooks so that accessibility can work in WebKit2.

  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.cpp:

(IPC::Connection::identifier):

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _updateForScreen:]):
(-[WKContentView _setAccessibilityWebProcessToken:]):
(-[WKContentView _accessibilityRegisterUIProcessTokens]):
(-[WKContentView _didRelaunchProcess]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
(WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:
  • WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.h: Added.
  • WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm: Added.

(-[WKAccessibilityWebPageObject init]):
(-[WKAccessibilityWebPageObject _accessibilityCategoryInstalled:]):
(-[WKAccessibilityWebPageObject pageScale]):
(-[WKAccessibilityWebPageObject dealloc]):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::platformInitializeAccessibility):
(WebKit::WebPage::accessibilityObjectForMainFramePlugin):
(WebKit::WebPage::registerUIProcessAccessibilityTokens):

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.h: Copied from Source/WebKit2/WebProcess/WebPage/mac/WKAccessibilityWebPageObject.h.
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm: Copied from Source/WebKit2/WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm.

(-[WKAccessibilityWebPageObjectBase accessibilityFocusedUIElement]):

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.h: Added.
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm: Added.

(-[WKAccessibilityWebPageObject accessibilityIsIgnored]):
(-[WKAccessibilityWebPageObject accessibilityAttributeNames]):
(-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
(-[WKAccessibilityWebPageObject accessibilityIsAttributeSettable:]):
(-[WKAccessibilityWebPageObject accessibilitySetValue:forAttribute:]):
(-[WKAccessibilityWebPageObject convertScreenPointToRootView:]):
(-[WKAccessibilityWebPageObject accessibilityActionNames]):
(-[WKAccessibilityWebPageObject accessibilityChildren]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
(-[WKAccessibilityWebPageObject accessibilityShouldUseUniqueId]):
(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

  • WebProcess/WebPage/mac/WebPageMac.mm:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeProcess):

3:07 PM Changeset in webkit [165013] by commit-queue@webkit.org
  • 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-03
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::removeRequestFromCacheImpl): Ditto.
(WebCore::MemoryCache::removeRequestFromSessionCaches): Iterate through all CachedResourceMaps.
(WebCore::MemoryCache::crossThreadRemoveRequestFromCache): Add sessionID parameter.
(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.
3:04 PM Changeset in webkit [165012] by timothy@apple.com
  • 3 edits in trunk/Source/WebInspectorUI

Remove an innocuous error message and support default views for Resource and Debugger sidebars.

https://bugs.webkit.org/show_bug.cgi?id=129622

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView): Added.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView): Added.
(WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Don't log an error
if the tree element isn't a Script. We try to find any represented object, and it can fail.

2:42 PM Changeset in webkit [165011] by Simon Fraser
  • 2 edits in trunk/Tools

Add Jeremy Jones to the contributors list as a contributor.

  • Scripts/webkitpy/common/config/contributors.json:
2:34 PM Changeset in webkit [165010] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Remove unused DataView code from JSDOMBinding.h
<https://webkit.org/b/129616>

Reviewed by Antti Koivisto.

  • bindings/js/JSDOMBinding.h:
2:28 PM Changeset in webkit [165009] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[x86] Improve code generation of byte test
https://bugs.webkit.org/show_bug.cgi?id=129597

Reviewed by Geoffrey Garen.

When possible, test the 8 bit register to itself instead of comparing it
to a literal.

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::test32):

2:12 PM Changeset in webkit [165008] by mark.lam@apple.com
  • 5 edits
    2 adds in trunk

Web Inspector: debugger statements do not break.
<https://webkit.org/b/129524>

Reviewed by Geoff Garen.

Source/JavaScriptCore:

Since we no longer call op_debug hooks unless there is a debugger request
made on the CodeBlock, the op_debug for the debugger statement never gets
serviced.

With this fix, we check in the CodeBlock constructor if any debugger
statements are present. If so, we set a m_hasDebuggerStatement flag that
causes the CodeBlock to show as having debugger requests. Hence,
breaking at debugger statements is now restored.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::hasDebuggerRequests):
(JSC::CodeBlock::clearDebuggerRequests):

LayoutTests:

  • inspector-protocol/debugger/debugger-statement-expected.txt: Added.
  • inspector-protocol/debugger/debugger-statement.html: Added.
  • inspector-protocol/debugger/resources/breakpoint.js:

(debuggerStatement):

1:52 PM Changeset in webkit [165007] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Fix an exception caused by trying to access the DOM before it is loaded.

https://bugs.webkit.org/show_bug.cgi?id=129617

Reviewed by Andreas Kling.

  • UserInterface/Base/Main.js:

(WebInspector.loaded): Move global event listeners from here...
(WebInspector.contentLoaded): ... to here.

1:45 PM Changeset in webkit [165006] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Allow overflow-scroll to be one-finger scrolled until we hook up UIScrollViews
https://bugs.webkit.org/show_bug.cgi?id=129621

Reviewed by Benjamin Poulain.

Temporary change to allow overflow:scroll to be scrolled in iOS WK2.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hasAcceleratedTouchScrolling):

1:39 PM Changeset in webkit [165005] by mark.lam@apple.com
  • 16 edits in trunk/Source/JavaScriptCore

ASSERTION FAILED: m_numBreakpoints >= numBreakpoints when deleting breakpoints.
<https://webkit.org/b/129393>

Reviewed by Geoffrey Garen.

The issue manifests because the debugger will iterate all CodeBlocks in
the heap when setting / clearing breakpoints, but it is possible for a
CodeBlock to have been instantiate but is not yet registered with the
debugger. This can happen because of the following:

  1. DFG worklist compilation is still in progress, and the target codeBlock is not ready for installation in its executable yet.
  1. DFG compilation failed and we have a codeBlock that will never be installed in its executable, and the codeBlock has not been cleaned up by the GC yet.

The code for installing the codeBlock in its executable is the same code
that registers it with the debugger. Hence, these codeBlocks are not
registered with the debugger, and any pending breakpoints that would map
to that CodeBlock is as yet unset or will never be set. As such, an
attempt to remove a breakpoint in that CodeBlock will fail that assertion.

To fix this, we do the following:

  1. We'll eagerly clean up any zombie CodeBlocks due to failed DFG / FTL compilation. This is achieved by providing a DeferredCompilationCallback::compilationDidComplete() that does this clean up, and have all sub classes call it at the end of their compilationDidComplete() methods.
  1. Before the debugger or profiler iterates CodeBlocks in the heap, they will wait for all compilations to complete before proceeding. This ensures that:
    1. any zombie CodeBlocks would have been cleaned up, and won't be seen by the debugger or profiler.
    2. all CodeBlocks that the debugger and profiler needs to operate on will be "ready" for whatever needs to be done to them e.g. jettison'ing of DFG codeBlocks.
  • bytecode/DeferredCompilationCallback.cpp:

(JSC::DeferredCompilationCallback::compilationDidComplete):

  • bytecode/DeferredCompilationCallback.h:
  • Provide default implementation method to clean up zombie CodeBlocks.
  • debugger/Debugger.cpp:

(JSC::Debugger::forEachCodeBlock):

  • Utility function to iterate CodeBlocks. It ensures that all compilations are complete before proceeding.

(JSC::Debugger::setSteppingMode):
(JSC::Debugger::toggleBreakpoint):
(JSC::Debugger::recompileAllJSFunctions):
(JSC::Debugger::clearBreakpoints):
(JSC::Debugger::clearDebuggerRequests):

  • Use the utility iterator function.
  • debugger/Debugger.h:
  • dfg/DFGOperations.cpp:
  • Added an assert to ensure that zombie CodeBlocks will be imminently cleaned up.
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::finalizeWithoutNotifyingCallback):

  • Remove unneeded code (that was not the best solution anyway) for ensuring that we don't generate new DFG codeBlocks after enabling the debugger or profiler. Now that we wait for compilations to complete before proceeding with debugger and profiler work, this scenario will never happen.
  • dfg/DFGToFTLDeferredCompilationCallback.cpp:

(JSC::DFG::ToFTLDeferredCompilationCallback::compilationDidComplete):

  • Call the super class method to clean up zombie codeBlocks.
  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:

(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::compilationDidComplete):

  • Call the super class method to clean up zombie codeBlocks.
  • heap/CodeBlockSet.cpp:

(JSC::CodeBlockSet::remove):

  • heap/CodeBlockSet.h:
  • heap/Heap.h:

(JSC::Heap::removeCodeBlock):

  • New method to remove a codeBlock from the codeBlock set.
  • jit/JITOperations.cpp:
  • Added an assert to ensure that zombie CodeBlocks will be imminently cleaned up.
  • jit/JITToDFGDeferredCompilationCallback.cpp:

(JSC::JITToDFGDeferredCompilationCallback::compilationDidComplete):

  • Call the super class method to clean up zombie codeBlocks.
  • runtime/VM.cpp:

(JSC::VM::waitForCompilationsToComplete):

  • Renamed from prepareToDiscardCode() to be clearer about what it does.

(JSC::VM::discardAllCode):
(JSC::VM::releaseExecutableMemory):
(JSC::VM::setEnabledProfiler):

  • Wait for compilation to complete before enabling the profiler.
  • runtime/VM.h:
1:33 PM Changeset in webkit [165004] by BJ Burg
  • 2 edits in trunk/LayoutTests

Inspector test dom/dom-search-crash.html times out in release builds
https://bugs.webkit.org/show_bug.cgi?id=129462

Reviewed by Timothy Hatcher.

This test passes now, so stop skipping it.

1:32 PM Changeset in webkit [165003] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Regression: ScrollView's scroll offset is never set after r164702
https://bugs.webkit.org/show_bug.cgi?id=129620

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-03
Reviewed by Simon Fraser.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):

1:11 PM Changeset in webkit [165002] by Antti Koivisto
  • 7 edits
    4 adds in trunk

Find results on simple lines are not marked correctly
https://bugs.webkit.org/show_bug.cgi?id=129586

Reviewed by Andreas Kling.

Source/WebCore:

Tests: editing/text-iterator/count-mark-lineboxes.html

editing/text-iterator/count-mark-simple-lines.html


TextIterator operating on simple lines failed to take the end of the range into account.
This also causes performance issues on long documents as range traversals would miss the end
node and end up going through the entire document.

  • editing/TextIterator.cpp:

(WebCore::TextIterator::handleTextNode):

Stop when hitting the range end on simple text nodes.

(WebCore::SimplifiedBackwardsTextIterator::handleTextNode):

Use hasRenderedText test instead of linebox-only firstTextBox.

  • testing/Internals.cpp:

(WebCore::Internals::countMatchesForText):

  • testing/Internals.h:
  • testing/Internals.idl:


Add testing interface for counting and marking matches.

LayoutTests:

  • editing/text-iterator/count-mark-lineboxes-expected.txt: Added.
  • editing/text-iterator/count-mark-lineboxes.html: Added.
  • editing/text-iterator/count-mark-simple-lines-expected.txt: Added.
  • editing/text-iterator/count-mark-simple-lines.html: Added.
12:57 PM Changeset in webkit [165001] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

SelectorQuery failing RightMostWithIdMatch are compiling their selectors for each execution
https://bugs.webkit.org/show_bug.cgi?id=129601

Reviewed by Andreas Kling.

This caused a regression after r164924 for documents in quirks mode. Since those always fail
selectorForIdLookup(), they ended up compiling the selector every time they were called.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::execute):

12:47 PM Changeset in webkit [165000] by jer.noble@apple.com
  • 6 edits in trunk/Source/WebCore

[Mac] Crash in MediaPlayer::rateChanged()
https://bugs.webkit.org/show_bug.cgi?id=129548

Reviewed by Darin Adler.

WTF::bind will automatically ref the parameters added to it. But MediaPlayerPrivate-
AVFoundation and -MediaSOurceAVFObjC are not RefCounted, so by the time the bound
function is called, the underlying objects may have been freed.

Replace or augment callOnMainThread arguments with lambdas and weakPtrs so that
if the argument has been destroyed, its methods will not be called.

Make the MediaPlayerPrivateAVFoundation::Notification function type a std::function:

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification):
(WebCore::MediaPlayerPrivateAVFoundation::Notification::function):

Make createWeakPtr() public so that it can be called from non-class methods:

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createWeakPtr):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createWeakPtr):

Use a weakPtr to abort callOnMainThread() if the object has been destroyed:

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::CMTimebaseEffectiveRateChangedCallback):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):

12:47 PM Changeset in webkit [164999] by jer.noble@apple.com
  • 8 edits
    2 adds in trunk

[MSE] YouTube videos fail to play
https://bugs.webkit.org/show_bug.cgi?id=129525

Reviewed by Darin Adler.

Source/WebCore:

Test: media/media-source/media-source-fudge-factor.html

Add a very simple playability metric to SourceBuffer. Track the number of seconds buffered
and use that metric to determine whether the MediaSource has buffered enough data to play
through.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::currentTime): Added simple accessor.
(WebCore::MediaSource::monitorSourceBuffers): Replace the functor-based iterators with lambdas.
(WebCore::MediaSource::addSourceBuffer): Drive-by fix; only add new source buffers to the

activeSourceBuffers list if those buffers are actually active.

  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::SourceBuffer): Initialize new ivars.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Measure the number of seconds buffered.
(WebCore::SourceBuffer::monitorBufferingRate): Use a simple Exponential moving average to

track the buffering rate.

(WebCore::SourceBuffer::hasCurrentTime): Return true if the current time is within 1/24 s

of a buffered range.

(WebCore::SourceBuffer::hasFutureTime): Moved from MediaSource.
(WebCore::SourceBuffer::canPlayThrough): Return true if the buffering rate is > 1s per

second, or if the rate is sufficient to keep up over the remaining time.

  • Modules/mediasource/SourceBuffer.h:

LayoutTests:

  • media/media-source/media-source-addsourcebuffer.html: Updated.
  • media/media-source/media-source-addsourcebuffer-expected.txt: Updated.
  • media/media-source/media-source-fudge-factor-expected.txt: Added.
  • media/media-source/media-source-fudge-factor.html: Added.
12:24 PM Changeset in webkit [164998] by betravis@adobe.com
  • 8 edits in trunk

[CSS Shapes] Serialize circle positions
https://bugs.webkit.org/show_bug.cgi?id=129404

Reviewed by Dirk Schulze.

Source/WebCore:

Circle positions should always be present when serialized, and should
only have the 2 or 4-valued form. Keywords are converted to percentages
and simplified where possible. This patch adds some additional processing
that converts the parsed position into the serialized format, before
converting it to text. See http://dev.w3.org/csswg/css-shapes/#basic-shape-serialization.

Updated existing parsing tests.

  • css/CSSBasicShapes.cpp:

(WebCore::serializePositionOffset): Convert a position offset to a serialized string.
The offset must be a pair, as generated by buildSerializablePositionOffset.
(WebCore::buildSerializablePositionOffset): Generates a keyword + offset pair for each
position offset. The keywords may later be dropped during serialization.
(WebCore::CSSBasicShapeCircle::cssText): Use the new serialization methods.

LayoutTests:

Modify each circle test to have a correctly serialized position.

  • fast/masking/parsing-clip-path-shape-expected.html: Updated result.
  • fast/masking/parsing-clip-path-shape.html: Updated test.
  • fast/shapes/parsing/parsing-shape-inside-expected.txt: Updated results.
  • fast/shapes/parsing/parsing-shape-outside-expected.txt: Updated results.
  • fast/shapes/parsing/parsing-test-utils.js: Updated serialization results.
12:01 PM Changeset in webkit [164997] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Crash when going into video fullscreen on iOS
https://bugs.webkit.org/show_bug.cgi?id=129613

Reviewed by Dean Jackson.

We shouldn't reparent a UIView's layer without unparenting
the view first.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerID):

11:30 AM Changeset in webkit [164996] by Lucas Forschler
  • 2 edits in tags/Safari-538.20.1/Source/WebCore

Merged r164873.

11:18 AM AddingFiles edited by BJ Burg
details on adding code generators for win and mac (diff)
11:07 AM Changeset in webkit [164995] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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):

11:02 AM Changeset in webkit [164994] by Lucas Forschler
  • 5 edits in tags/Safari-538.20.1/Source

Versioning.

11:00 AM Changeset in webkit [164993] by Lucas Forschler
  • 1 copy in tags/Safari-538.20.1

New Tag.

10:32 AM Changeset in webkit [164992] by krit@webkit.org
  • 6 edits
    6 copies
    2 moves
    3 adds
    23 deletes in trunk/LayoutTests

Transform CSS clip-path pixel tests to ref tests
https://bugs.webkit.org/show_bug.cgi?id=129607

Reviewed by Andreas Kling.

  • css3/masking/clip-path-border-box.html:
  • css3/masking/clip-path-circle-filter-expected.txt: Removed.
  • css3/masking/clip-path-circle-overflow-expected.txt: Removed.
  • css3/masking/clip-path-circle-overflow-hidden-expected.txt: Removed.
  • css3/masking/clip-path-circle-overflow-hidden.html: Removed.
  • css3/masking/clip-path-circle-relative-overflow-expected.txt: Removed.
  • css3/masking/clip-path-ellipse-expected.html: Renamed from LayoutTests/css3/masking/clip-path-circle-filter.html.
  • css3/masking/clip-path-ellipse-expected.txt: Removed.
  • css3/masking/clip-path-ellipse.html:
  • css3/masking/clip-path-filter-expected.html: Added.
  • css3/masking/clip-path-filter.html: Added.
  • css3/masking/clip-path-inset-expected.html: Copied from LayoutTests/css3/masking/clip-path-ellipse.html.
  • css3/masking/clip-path-inset-expected.txt: Removed.
  • css3/masking/clip-path-overflow-expected.html: Copied from LayoutTests/css3/masking/clip-path-circle-overflow.html.
  • css3/masking/clip-path-overflow-hidden-expected.html: Copied from LayoutTests/css3/masking/clip-path-ellipse.html.
  • css3/masking/clip-path-overflow-hidden.html: Renamed from LayoutTests/css3/masking/clip-path-circle-overflow.html.
  • css3/masking/clip-path-overflow.html: Copied from LayoutTests/css3/masking/clip-path-ellipse.html.
  • css3/masking/clip-path-polygon-evenodd-expected.html: Added.
  • css3/masking/clip-path-polygon-evenodd-expected.txt: Removed.
  • css3/masking/clip-path-polygon-evenodd.html:
  • css3/masking/clip-path-polygon-expected.html: Copied from LayoutTests/css3/masking/clip-path-ellipse.html.
  • css3/masking/clip-path-polygon-expected.txt: Removed.
  • css3/masking/clip-path-polygon-nonzero-expected.html: Copied from LayoutTests/css3/masking/clip-path-ellipse.html.
  • css3/masking/clip-path-polygon-nonzero-expected.txt: Removed.
  • css3/masking/clip-path-polygon-nonzero.html:
  • css3/masking/clip-path-polygon.html:
  • platform/efl/css3/masking/clip-path-circle-overflow-expected.png: Removed.
  • platform/efl/css3/masking/clip-path-circle-overflow-hidden-expected.png: Removed.
  • platform/efl/css3/masking/clip-path-ellipse-expected.png: Removed.
  • platform/gtk/css3/masking/clip-path-circle-overflow-expected.png: Removed.
  • platform/gtk/css3/masking/clip-path-circle-overflow-hidden-expected.png: Removed.
  • platform/gtk/css3/masking/clip-path-ellipse-expected.png: Removed.
  • platform/mac/css3/masking/clip-path-circle-overflow-expected.png: Removed.
  • platform/mac/css3/masking/clip-path-circle-overflow-hidden-expected.png: Removed.
  • platform/mac/css3/masking/clip-path-ellipse-expected.png: Removed.
  • platform/mac/css3/masking/clip-path-inset-expected.png: Removed.
  • platform/mac/css3/masking/clip-path-polygon-evenodd-expected.png: Removed.
  • platform/mac/css3/masking/clip-path-polygon-expected.png: Removed.
  • platform/mac/css3/masking/clip-path-polygon-nonzero-expected.png: Removed.
10:24 AM Changeset in webkit [164991] by BJ Burg
  • 2 edits in trunk/Source/JavaScriptCore

Another unreviewed build fix attempt for Windows after r164986.

We never told Visual Studio to copy over the web replay code generator scripts
and the generated headers for JavaScriptCore replay inputs as if they were
private headers.

10:20 AM Changeset in webkit [164990] by cavalcantii@gmail.com
  • 2 edits in trunk/Tools

Update the email.

9:46 AM Changeset in webkit [164989] by BJ Burg
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for Windows after r164986.

  • WebCore.vcxproj/build-generated-files.sh: Export WebReplayScripts

so that the build system knows how to find CodeGeneratorReplayInputs.py.

9:16 AM Changeset in webkit [164988] by abucur@adobe.com
  • 21 edits in trunk

[CSS Regions] Overset computation is incorrect in some cases
https://bugs.webkit.org/show_bug.cgi?id=129032

Reviewed by Mihnea Ovidenie.

Source/WebCore:

This patch reworks the way overset is computed for regions and named flows.

  1. Regions overflow no longer trigger an overset changed event. This is because

the overflow of a box is contained within the region range of the box. The content
edge should be considered the logical bottom position of the content inside the
flow thread.

  1. The regions events logic was moved from RenderFlowThread to RenderNamedFlowThread

and from RenderRegion to RenderNamedFlowFragment (including the regionOverset property).

  1. The overset value of the named flow is no longer stored in the named flow. It is

extracted from the overset of the last region in the chain.

  1. The regions overset is not computed every time the flow thread is laid out which

should improve performance for flows with many regions. With the patch, each region
computes the overset value during its layout when the flow thread is in the overflow
or the final layout phase.

  1. The overset changed event is dispatched only at the end of the layout of the named flows,

after all the region overset changes have been considered. This means that the overset
event can't be dispatched in the middle of the auto-height processing algorithm that
requires multiple layout passes for the flow threads.

However, the region layout update event dispatch timing was not changed, it is dispatched
every time the flow thread has a layout. This preserves the current behavior of the event.

Tests: The old tests were modified to take into account the change.

  • dom/Element.cpp:

(WebCore::Element::webkitRegionOverset):

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::overset):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::buildArrayForRegions):

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::updateFlowThreadsIntoMeasureContentPhase):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeOverflow):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::layout):

  • rendering/RenderFlowThread.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::layoutBlock):
(WebCore::RenderNamedFlowFragment::setRegionOversetState):
(WebCore::RenderNamedFlowFragment::regionOversetState):
(WebCore::RenderNamedFlowFragment::updateOversetState):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::computeOverflow):
(WebCore::RenderNamedFlowThread::layout):
(WebCore::RenderNamedFlowThread::dispatchNamedFlowEvents):
(WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEventIfNeeded):
(WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEventIfNeeded):

  • rendering/RenderNamedFlowThread.h:

There's a new field called m_flowContentBottom that tracks the content bottom of the flow thread
after layout. This value is used to compute the overset value of the regions because it's not
affected by relative positioning or visual overflow such as shadows.

  • rendering/RenderRegion.cpp:
  • rendering/RenderRegion.h:

LayoutTests:

Adjust the tests to cope with the overset changes.

  • fast/regions/cssom/element-region-overset-state-expected.txt:
  • fast/regions/cssom/element-region-overset-state-vertical-rl-expected.txt:
  • fast/regions/cssom/element-region-overset-state-vertical-rl.html:
  • fast/regions/cssom/element-region-overset-state.html:

This test has a new case that verifies region clamping is correctly taken into account.

  • fast/regions/cssom/webkit-named-flow-overset-expected.txt:
  • fast/regions/cssom/webkit-named-flow-overset.html:
9:06 AM Changeset in webkit [164987] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] CodeGeneratorGObject.pm remove usage of undefined variable
https://bugs.webkit.org/show_bug.cgi?id=129602

Patch by Tomas Popela <tpopela@redhat.com> on 2014-03-03
Reviewed by Martin Robinson.

Remove usage of undefined variable hdrPropIncludes in CodeGeneratorGObject.pm

  • bindings/scripts/CodeGeneratorGObject.pm:

(WriteData):

9:01 AM Changeset in webkit [164986] by BJ Burg
  • 18 edits
    11 copies
    14 adds in trunk/Source

Web Replay: upstream input storage, capture/replay machinery, and inspector domain
https://bugs.webkit.org/show_bug.cgi?id=128782

Source/JavaScriptCore:

Reviewed by Timothy Hatcher.

Alter the replay inputs code generator so that it knows when it is necessary to
to include headers for HEAVY_SCALAR types such as WTF::String and WebCore::URL.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • replay/scripts/CodeGeneratorReplayInputs.py:

(Framework.fromString):
(Frameworks): Add WTF as an allowed framework for code generation.
(Generator.generate_includes): Include headers for HEAVY_SCALAR types in the header file.
(Generator.generate_includes.declaration):
(Generator.generate_includes.or):
(Generator.generate_type_forward_declarations): Skip HEAVY_SCALAR types.

Source/WebCore:

Reviewed by Timothy Hatcher, Joseph Pecoraro, and Andreas Kling.

No new tests yet, as they rely on infrastructure tracked in https://webkit.org/b/129190.

Replayable executions are organized into ReplaySessions, which can
contain several ReplaySessionSegments that divide overall execution
at main frame navigation boundaries. NondeterministicInput subclasses
are stored in SegmentedInputStorage according to the input's InputQueue.

Capture and playback are controlled at the page granularity by the Page's
ReplayController. The controller knows how to create new segments, replay to
arbitrary positions in the ReplaySession, and track the active InputCursor.

The capturing and replaying input cursor subclasses encapsulate state for
storing new inputs and loading/dispatching saved inputs, respectively.

The ReplayAgent and associated inspector protocol domain is the friendly
public API for programmatically capturing and replaying sessions.

  • DerivedSources.make: Add replay inputs code generation target. Add the

replay domain specification to the list of inspector domains.

  • ForwardingHeaders/replay/EncodedValue.h: Added.
  • WebCore.xcodeproj/project.pbxproj: Add many files, and export

WebReplayScripts environment variable to DerivedSources.make.

  • inspector/InspectorController.cpp: Add the replay agent.

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorInstrumentation.cpp:

Add events for segment lifecycle events, and loading/unloading of sessions
and segments, and capture/replay progress events. The replay controller
also needs to know about detached and committed frames.

(WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::sessionCreatedImpl):
(WebCore::InspectorInstrumentation::sessionLoadedImpl):
(WebCore::InspectorInstrumentation::sessionModifiedImpl):
(WebCore::InspectorInstrumentation::segmentCreatedImpl):
(WebCore::InspectorInstrumentation::segmentCompletedImpl):
(WebCore::InspectorInstrumentation::segmentLoadedImpl):
(WebCore::InspectorInstrumentation::segmentUnloadedImpl):
(WebCore::InspectorInstrumentation::captureStartedImpl):
(WebCore::InspectorInstrumentation::captureStoppedImpl):
(WebCore::InspectorInstrumentation::playbackStartedImpl):
(WebCore::InspectorInstrumentation::playbackPausedImpl):
(WebCore::InspectorInstrumentation::playbackHitPositionImpl):
(WebCore::InspectorInstrumentation::replayAgentEnabled):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::replayAgentEnabled):
(WebCore::InspectorInstrumentation::sessionCreated):
(WebCore::InspectorInstrumentation::sessionLoaded):
(WebCore::InspectorInstrumentation::sessionModified):
(WebCore::InspectorInstrumentation::segmentCreated):
(WebCore::InspectorInstrumentation::segmentCompleted):
(WebCore::InspectorInstrumentation::segmentLoaded):
(WebCore::InspectorInstrumentation::segmentUnloaded):
(WebCore::InspectorInstrumentation::captureStarted):
(WebCore::InspectorInstrumentation::captureStopped):
(WebCore::InspectorInstrumentation::playbackStarted):
(WebCore::InspectorInstrumentation::playbackPaused):
(WebCore::InspectorInstrumentation::playbackHitPosition):

  • inspector/InspectorReplayAgent.cpp: Added.

(WebCore::buildInspectorObjectForPosition):
(WebCore::buildInspectorObjectForInput):
(WebCore::buildInspectorObjectForSession):
(WebCore::SerializeInputToJSONFunctor::SerializeInputToJSONFunctor):
(WebCore::SerializeInputToJSONFunctor::~SerializeInputToJSONFunctor):
(WebCore::SerializeInputToJSONFunctor::operator()):
(WebCore::SerializeInputToJSONFunctor::returnValue):
(WebCore::buildInspectorObjectForSegment):
(WebCore::InspectorReplayAgent::InspectorReplayAgent):
(WebCore::InspectorReplayAgent::~InspectorReplayAgent):
(WebCore::InspectorReplayAgent::sessionState):
(WebCore::InspectorReplayAgent::didCreateFrontendAndBackend):
(WebCore::InspectorReplayAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorReplayAgent::frameNavigated):
(WebCore::InspectorReplayAgent::frameDetached):
(WebCore::InspectorReplayAgent::sessionCreated):
(WebCore::InspectorReplayAgent::sessionModified):
(WebCore::InspectorReplayAgent::sessionLoaded):
(WebCore::InspectorReplayAgent::segmentCreated):
(WebCore::InspectorReplayAgent::segmentCompleted):
(WebCore::InspectorReplayAgent::segmentLoaded):
(WebCore::InspectorReplayAgent::segmentUnloaded):
(WebCore::InspectorReplayAgent::captureStarted):
(WebCore::InspectorReplayAgent::captureStopped):
(WebCore::InspectorReplayAgent::playbackStarted):
(WebCore::InspectorReplayAgent::playbackPaused):
(WebCore::InspectorReplayAgent::playbackHitPosition):
(WebCore::InspectorReplayAgent::startCapturing):
(WebCore::InspectorReplayAgent::stopCapturing):
(WebCore::InspectorReplayAgent::replayToPosition):
(WebCore::InspectorReplayAgent::replayToCompletion):
(WebCore::InspectorReplayAgent::pausePlayback):
(WebCore::InspectorReplayAgent::cancelPlayback):
(WebCore::InspectorReplayAgent::switchSession):
(WebCore::InspectorReplayAgent::insertSessionSegment):
(WebCore::InspectorReplayAgent::removeSessionSegment):
Provide a public API for modifying sessions. This is the backend support
for user editing of replay sessions to add/remove specific segments.

(WebCore::InspectorReplayAgent::findSession):
(WebCore::InspectorReplayAgent::findSegment):
(WebCore::InspectorReplayAgent::getAvailableSessions):
(WebCore::InspectorReplayAgent::getSerializedSession):
(WebCore::InspectorReplayAgent::getSerializedSegment):
Most of the replay protocol domain speaks in terms of sesssion and
segment identifiers. These functions return the actual data associated
with these identifiers.

  • inspector/InspectorReplayAgent.h: Added.
  • inspector/InstrumentingAgents.cpp:

(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):

  • inspector/InstrumentingAgents.h:

(WebCore::InstrumentingAgents::inspectorReplayAgent): Added.
(WebCore::InstrumentingAgents::setInspectorReplayAgent): Added.

  • inspector/protocol/Replay.json: Added.
  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:

(WebCore::Page::replayController): Added.

  • platform/Logging.h: Add WebReplay logging channel.
  • replay/AllReplayInputs.h: Added. Simplifies importing all input definitions.
  • replay/CapturingInputCursor.cpp: Added.

(WebCore::CapturingInputCursor::CapturingInputCursor):
(WebCore::CapturingInputCursor::~CapturingInputCursor):
(WebCore::CapturingInputCursor::create):
(WebCore::CapturingInputCursor::storeInput):
(WebCore::CapturingInputCursor::loadInput):
(WebCore::CapturingInputCursor::uncheckedLoadInput):

  • replay/CapturingInputCursor.h: Added.
  • replay/EventLoopInput.h:

(WebCore::EventLoopInputBase::EventLoopInputBase):
(WebCore::EventLoopInputBase::timestamp):
(WebCore::EventLoopInputBase::setTimestamp): Support deserialization.

  • replay/EventLoopInputDispatcher.cpp: Added. This class encapsulates the timers

and measurements used to dispatch event loop inputs during replay.

(WebCore::EventLoopInputDispatcher::EventLoopInputDispatcher):
(WebCore::EventLoopInputDispatcher::run):
(WebCore::EventLoopInputDispatcher::pause):
(WebCore::EventLoopInputDispatcher::timerFired):
(WebCore::EventLoopInputDispatcher::dispatchInputSoon):
(WebCore::EventLoopInputDispatcher::dispatchInput):

  • replay/EventLoopInputDispatcher.h: Added.

(WebCore::EventLoopInputDispatcherClient::EventLoopInputDispatcherClient):
(WebCore::EventLoopInputDispatcherClient::~EventLoopInputDispatcherClient):

  • replay/FunctorInputCursor.h: Added.

(WebCore::FunctorInputCursor::~FunctorInputCursor):
(WebCore::FunctorInputCursor::forEachInputInQueue):
(WebCore::FunctorInputCursor::FunctorInputCursor):
(WebCore::FunctorInputCursor::storeInput):
(WebCore::FunctorInputCursor::loadInput):
(WebCore::FunctorInputCursor::uncheckedLoadInput):

  • replay/ReplayController.cpp: Added.

(WebCore::ReplayController::ReplayController):
(WebCore::ReplayController::switchSession):
(WebCore::ReplayController::createSegment):
(WebCore::ReplayController::completeSegment):
(WebCore::ReplayController::loadSegment):
(WebCore::ReplayController::unloadSegment):
(WebCore::ReplayController::startCapturing):
(WebCore::ReplayController::stopCapturing):
(WebCore::ReplayController::startPlayback):
(WebCore::ReplayController::pausePlayback):
(WebCore::ReplayController::cancelPlayback):
(WebCore::ReplayController::replayToPosition):
(WebCore::ReplayController::frameDetached):
(WebCore::ReplayController::frameNavigated):
(WebCore::ReplayController::loadedSession):
(WebCore::ReplayController::loadedSegment):
(WebCore::ReplayController::activeInputCursor):
(WebCore::ReplayController::dispatcher):
(WebCore::ReplayController::willDispatchInput):
(WebCore::ReplayController::didDispatchInput):
(WebCore::ReplayController::didDispatchFinalInput):

  • replay/ReplayController.h: Added.

(WebCore::ReplayPosition::ReplayPosition):
(WebCore::ReplayPosition::operator<):
(WebCore::ReplayPosition::operator==):

  • replay/ReplayInputCreationMethods.cpp: Added.

Static factory implementations for inputs belong here.
(WebCore::InitialNavigation::createFromPage):

  • replay/ReplayInputDispatchMethods.cpp: Added.

All dispatch() implementations for generated replay inputs belong here.
(WebCore::BeginSegmentSentinel::dispatch):
(WebCore::EndSegmentSentinel::dispatch):
(WebCore::InitialNavigation::dispatch):

  • replay/ReplayInputTypes.cpp:

(WebCore::ReplayInputTypes::ReplayInputTypes):

  • replay/ReplayInputTypes.h: Define strings for WebCore inputs.
  • replay/ReplaySession.cpp: Added.

(WebCore::ReplaySession::create):
(WebCore::ReplaySession::ReplaySession):
(WebCore::ReplaySession::~ReplaySession):
(WebCore::ReplaySession::appendSegment):
(WebCore::ReplaySession::insertSegment):
(WebCore::ReplaySession::removeSegment):

  • replay/ReplaySession.h: Added.

(WebCore::ReplaySession::identifier):
(WebCore::ReplaySession::timestamp):
(WebCore::ReplaySession::size):
(WebCore::ReplaySession::at):
(WebCore::ReplaySession::begin):
(WebCore::ReplaySession::end):

  • replay/ReplaySessionSegment.cpp: Added.

(WebCore::ReplaySessionSegment::create):
(WebCore::ReplaySessionSegment::ReplaySessionSegment):
(WebCore::ReplaySessionSegment::~ReplaySessionSegment):
(WebCore::ReplaySessionSegment::createCapturingCursor):
(WebCore::ReplaySessionSegment::createReplayingCursor):
(WebCore::ReplaySessionSegment::createFunctorCursor):

  • replay/ReplaySessionSegment.h: Added.

(WebCore::ReplaySessionSegment::identifier):
(WebCore::ReplaySessionSegment::timestamp):

  • replay/ReplayingInputCursor.cpp: Added.

(WebCore::ReplayingInputCursor::ReplayingInputCursor):
(WebCore::ReplayingInputCursor::~ReplayingInputCursor):
(WebCore::ReplayingInputCursor::create):
(WebCore::ReplayingInputCursor::storeInput):
(WebCore::ReplayingInputCursor::loadInput):
(WebCore::ReplayingInputCursor::uncheckedLoadInput):

  • replay/ReplayingInputCursor.h: Added.
  • replay/SegmentedInputStorage.cpp: Added.

(WebCore::queueTypeToLogPrefix):
(WebCore::jsonStringForInput):
(WebCore::offsetForInputQueue):
(WebCore::SegmentedInputStorage::SegmentedInputStorage):
(WebCore::SegmentedInputStorage::~SegmentedInputStorage):
(WebCore::SegmentedInputStorage::load):
(WebCore::SegmentedInputStorage::store):
(WebCore::SegmentedInputStorage::queueSize):

  • replay/SegmentedInputStorage.h: Added.
  • replay/SerializationMethods.cpp: Added.

Specializations of EncodingTraits for WebCore types belong here.

(JSC::EncodingTraits<NondeterministicInputBase>::encodeValue):
(JSC::EncodingTraits<NondeterministicInputBase>::decodeValue):
(JSC::EncodingTraits<SecurityOrigin>::encodeValue):
(JSC::EncodingTraits<SecurityOrigin>::decodeValue):
(JSC::EncodingTraits<URL>::encodeValue):
(JSC::EncodingTraits<URL>::decodeValue):

  • replay/SerializationMethods.h: Added.
  • replay/WebInputs.json: Added.

In this inital patch, we define BeginSegmentSentinel,
EndSegmentSentinel, and InitialNavigation inputs.

5:47 AM Changeset in webkit [164985] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.3.91

Tagging the WebKitGTK+ 2.3.91 release

4:59 AM Changeset in webkit [164984] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Unreviewed. Update NEWS and Versions.m4 for 2.3.91 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.3.91.
3:57 AM Changeset in webkit [164983] by graouts@webkit.org
  • 5 edits in trunk/Source/WebCore

Respect SVG fragment identifiers in <img> src attribute
https://bugs.webkit.org/show_bug.cgi?id=129387

Reviewed by Dirk Schulze.

Following Dirk Schulze's suggestion, we set the URL on the SVGImage itself and handle the URL's
fragment identifier at draw time in the SVGImage itself, which will provide a sounder base for
handling of fragment identifier in SVG resource URLs in CSS properties, and should also deal
with the crasher reported in http://webkit.org/b/129498 since there is a guaranteed Frame at the
time we call SVGImage::draw().

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::draw):

  • svg/graphics/SVGImage.h:
  • svg/graphics/SVGImageForContainer.cpp:
  • svg/graphics/SVGImageForContainer.h:
2:32 AM Changeset in webkit [164982] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r164980 - [GTK] webkit_dom_range_compare_boundary_points fails when 0 is passed as how parameter
https://bugs.webkit.org/show_bug.cgi?id=129145

Patch by Tomas Popela <tpopela@redhat.com> on 2014-03-03
Reviewed by Carlos Garcia Campos.

While generating GObject DOM API the generator should skip non pointer
types while generating the g_return_val_if_fail macro.
This will avoid the situation when Range.START_TO_START is defined as 0,
thus the webkit_dom_range_compare_boundary_points function will fail
everytime it is called with 0 as how value.

  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateFunction):

2:32 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:17 AM Changeset in webkit [164981] by lvidacs.u-szeged@partner.samsung.com
  • 4 edits in trunk/Source/WebCore

Move function calls outside loop in dom
https://bugs.webkit.org/show_bug.cgi?id=126525

Reviewed by Csaba Osztrogonác.

Store the result of length() in a local variable and use it in each iteration.

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::isXMLMIMEType):

  • dom/ElementData.cpp:

(WebCore::UniqueElementData::UniqueElementData):

  • dom/EventContext.cpp:

(WebCore::TouchEventContext::checkReachability):

2:16 AM Changeset in webkit [164980] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] webkit_dom_range_compare_boundary_points fails when 0 is passed as how parameter
https://bugs.webkit.org/show_bug.cgi?id=129145

Patch by Tomas Popela <tpopela@redhat.com> on 2014-03-03
Reviewed by Carlos Garcia Campos.

While generating GObject DOM API the generator should skip non pointer
types while generating the g_return_val_if_fail macro.
This will avoid the situation when Range.START_TO_START is defined as 0,
thus the webkit_dom_range_compare_boundary_points function will fail
everytime it is called with 0 as how value.

  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateFunction):

2:15 AM Changeset in webkit [164979] by commit-queue@webkit.org
  • 4 edits in trunk

[cmake] *Names.cpp file should be regenerated after touching StaticString.pm
https://bugs.webkit.org/show_bug.cgi?id=129031

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-03-03
Reviewed by Csaba Osztrogonác.

.:

  • Source/cmake/WebKitMacros.cmake: Added a call for make_names.pm dependencies in GENERATE_FONT_NAMES and GENERATE_DOM_NAMES macros.

Source/WebCore:

  • CMakeLists.txt: Added make_names.pl dependencies: bindings/scripts/Hasher.pm and bindings/scripts/StaticString.pm
1:07 AM Changeset in webkit [164978] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Revert r159999 - "Correct broken build on efl port with --no-netscape-plugin-api"

This reverts commit r159999.

12:43 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:36 AM Changeset in webkit [164977] by calvaris@igalia.com
  • 4 edits in trunk/Source/WebCore

[GTK] Multimedia controls captions icon needs its own metaphor
https://bugs.webkit.org/show_bug.cgi?id=129091

Reviewed by Martin Robinson.

As we got the new icon created, we used it with a fallback to the
old icon to keep run-time compatibility.

No new tests, current ones suffice.

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::paintMediaToggleClosedCaptionsButton):
Replicated RenderThemeGtk::paintMediaButton to check for the
necessary icon first and do the fallback to the old and stock
icons.

  • platform/gtk/RenderThemeGtk2.cpp:

(WebCore::getStockIconForWidgetType): Added ASSERT for non-empty
icon name.
(WebCore::getStockSymbolicIconForWidgetType): Check for non empty
icon name before calling getStockIconForWidgetType. Fixed coding
style.

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::getStockIconForWidgetType): Added ASSERT for non-empty
icon name.
(WebCore::getStockSymbolicIconForWidgetType): Check for non empty
icon name before calling getStockIconForWidgetType. Fixed coding
style.

12:24 AM Changeset in webkit [164976] by Carlos Garcia Campos
  • 4 edits
    1 add in releases/WebKitGTK/webkit-2.4

Merge r164973 - [GTK] WebKit2WebExtension GIR can't be used in vala
https://bugs.webkit.org/show_bug.cgi?id=127179

Reviewed by Martin Robinson.

Add a different pkg-config file for the web extensions API.

.:

  • configure.ac:

Source/WebKit2:

  • GNUmakefile.am:
  • webkit2gtk-web-extension.pc.in: Added.
12:22 AM Changeset in webkit [164975] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r164940 - [GTK] Make impossible to build with <webkit2/webkit2.h> and <webkit2/webkit-web-extension.h> included together
https://bugs.webkit.org/show_bug.cgi?id=129549

Reviewed by Martin Robinson.

Add a compile error to prevent mixing the UI and web process APIs.

  • UIProcess/API/gtk/webkit2.h:
  • WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
12:21 AM Changeset in webkit [164974] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r164939 - [GTK] Remove the include dir of the C API from the WebKit2 pkg-config file
https://bugs.webkit.org/show_bug.cgi?id=129543

Reviewed by Martin Robinson.

We are not installing the C API headers anymore.

  • webkit2gtk.pc.in:
12:07 AM Changeset in webkit [164973] by Carlos Garcia Campos
  • 6 edits
    1 add in trunk

[GTK] WebKit2WebExtension GIR can't be used in vala
https://bugs.webkit.org/show_bug.cgi?id=127179

Reviewed by Martin Robinson.

Add a different pkg-config file for the web extensions API.

.:

  • Source/cmake/OptionsGTK.cmake:
  • configure.ac:

Source/WebKit2:

  • GNUmakefile.am:
  • PlatformGTK.cmake:
  • webkit2gtk-web-extension.pc.in: Added.

Mar 2, 2014:

11:10 PM Changeset in webkit [164972] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Add a fallback path for compiling the remaining attribute checkers
https://bugs.webkit.org/show_bug.cgi?id=129580

Reviewed by Darin Adler.

The remaining attribute checkers appear to be less common than the simple value match.
This patch adds them to SelectorCompiler for completeness but no attempt is made at optimizing them,
they all default to function calls.

If the assumption that those selectors are not common turn out to be incorrect, we should see
the function calls in profiles and optimize them as needed.

  • css/SelectorChecker.cpp:

(WebCore::attributeValueMatches):
If we get anything but attribute match here, something has gone horribly wrong. Update the code
to fail if that were to happen.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
Add the missing match type to the selector fragment.

Begin, End, Contain cannot match an empty value per specification. We can test that at compile time
and fail immediately. See http://www.w3.org/TR/css3-selectors/#attribute-substrings

List has the extra requirement that a value containing a space does not match anything. It also cannot
match with an empty string. See http://www.w3.org/TR/css3-selectors/#attribute-representation

(WebCore::SelectorCompiler::attributeValueBeginsWith):
(WebCore::SelectorCompiler::attributeValueContains):
(WebCore::SelectorCompiler::attributeValueEndsWith):
(WebCore::SelectorCompiler::attributeValueMatchHyphenRule):
(WebCore::SelectorCompiler::attributeValueSpaceSeparetedListContains):
The slow fallbacks.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):
A generic code generator making function call to match an attribute value.

10:01 PM Changeset in webkit [164971] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

PolymorphicPutByIdList should have a simpler construction API with basically a single entrypoint
https://bugs.webkit.org/show_bug.cgi?id=129591

Reviewed by Michael Saboff.

  • bytecode/PolymorphicPutByIdList.cpp:

(JSC::PutByIdAccess::fromStructureStubInfo): This function can figure out the slow path target for itself.
(JSC::PolymorphicPutByIdList::PolymorphicPutByIdList): This constuctor should be private, only from() should call it.
(JSC::PolymorphicPutByIdList::from):

  • bytecode/PolymorphicPutByIdList.h:

(JSC::PutByIdAccess::stubRoutine):

  • jit/Repatch.cpp:

(JSC::tryBuildPutByIdList): Don't pass the slow path target since it can be derived from the stubInfo.

9:42 PM Changeset in webkit [164970] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Debugging improvements from my gbemu investigation session
https://bugs.webkit.org/show_bug.cgi?id=129599

Reviewed by Mark Lam.

Various improvements from when I was investigating bug 129411.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::optimizationThresholdScalingFactor): Make the dataLog() statement print the actual multiplier.

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionDescribe): Make describe() return a string rather than printing the string.
(functionDescribeArray): Like describe(), but prints details about arrays.

9:33 PM Changeset in webkit [164969] by akling@apple.com
  • 2 edits in trunk/Source/WebKit

Blind Windows build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Tweak JSDOMWindowBase::commonVM() return type to be a reference.

9:10 PM Changeset in webkit [164968] by akling@apple.com
  • 45 edits in trunk/Source

JSDOMWindow::commonVM() should return a reference.
<https://webkit.org/b/129293>

Source/JavaScriptCore:

Added a DropAllLocks constructor that takes VM& without null checks.

Reviewed by Geoff Garen.

Source/WebCore:

Since this function always returns a VM and never null, make it
return a reference instead. There are more VM getters that never
return null, but I tried to keep the patch from snowballing.

Reviewed by Geoff Garen.

8:49 PM Changeset in webkit [164967] by timothy@apple.com
  • 5 edits in trunk

Remove ASSERT in ~IDBRequest since it is firing during legitimate uses in Web Inspector.

Adding the ASSERT back is tracked by https://webkit.org/b/129593.

https://bugs.webkit.org/show_bug.cgi?id=129328

Reviewed by Sam Weinig.

Source/WebCore:

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::~IDBRequest):

LayoutTests:

  • TestExpectations: Remove skipped tests.
  • inspector-protocol/model/probe-manager-add-remove-actions-expected.txt: Rebaselined.
7:42 PM Changeset in webkit [164966] by BJ Burg
  • 4 edits in trunk

Web Inspector model tests load wrong inspector page under WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=129460

Reviewed by Dan Bernstein.

Tools:

Don't unconditionally open the inspector before running an inspector test.
Instead, the test should request that the inspector open when it's ready.

This change was lost during a rebase, but is the same change made to
DumpRenderTree.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke):

LayoutTests:

Stop skipping inspector/test-harness-trivially-works.html.

  • platform/wk2/TestExpectations:
7:24 PM Changeset in webkit [164965] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r164961.
http://trac.webkit.org/changeset/164961
https://bugs.webkit.org/show_bug.cgi?id=129596

Caused many assertion failures (Requested by ap on #webkit).

  • css/SelectorChecker.cpp:

(WebCore::attributeValueMatches):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching):

6:30 PM Changeset in webkit [164964] by Darin Adler
  • 33 edits in trunk/Source

Streamline use of TextIterator, cutting down includes and use of soon-to-be-deleted functions
https://bugs.webkit.org/show_bug.cgi?id=129592

Reviewed by Sam Weinig.

Source/WebCore:

  • WebCore.exp.in: Re-sorted this file. Not sure how it got unsorted.
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::stringForVisiblePositionRange): Call TextIterator::text
instead of TextIterator::length. Also removed unneeded special case for empty string
and exception code.
(WebCore::AccessibilityObject::lengthForVisiblePositionRange): Ditto.

  • accessibility/AccessibilityObject.h: Include TextIteratorBehavior.h instead of

TextIterator.h.

  • accessibility/AccessibilityRenderObject.cpp: Include TextIterator.h.
  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm: Removed unneeded

TextIterator.h include.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): Call
TextIterator::text instead of TextIterator::length.

  • dom/Element.cpp: Include TextIterator.h.
  • dom/Node.cpp: Include Range.h.
  • dom/Position.cpp:

(WebCore::Position::isCandidate): Cast to RenderBlockFlow since that's what the
type check above does. Use a return statement instead of an else for better flow.
(WebCore::Position::leadingWhitespacePosition): Call
deprecatedIsCollapsibleWhitespace by its new name (newly deprecated).
(WebCore::Position::trailingWhitespacePosition): Ditto.

  • dom/Range.cpp:

(WebCore::Range::firstNode): Added a FIXME about code that clearly does not
belong. This is something we really need to fix.

  • editing/AlternativeTextController.cpp: Include TextIterator.h.
  • editing/ApplyStyleCommand.cpp: Ditto.
  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): Call
deprecatedIsCollapsibleWhitespace by its new name (newly deprecated).

  • editing/Editor.h: Include TextIteratorBehavior.h instead of TextIterator.h.
  • editing/HTMLInterchange.cpp:

(WebCore::convertHTMLTextToInterchangeFormat): Call
deprecatedIsCollapsibleWhitespace by its new name (newly deprecated).

  • editing/SpellingCorrectionCommand.cpp: Include TextIterator.h.
  • editing/TextIterator.h: Moved isCollapsibleWhitespace from here into

htmlediting.h and renamed it deprecatedIsCollapsibleWhitespace.

  • editing/TextIterator.cpp: Call

deprecatedIsCollapsibleWhitespace by its new name (newly deprecated).

  • editing/TypingCommand.cpp: Include TextIterator.h.
  • editing/VisibleUnits.cpp:

(WebCore::previousBoundary): Call TextIterator::text instead of
TextIterator::length.
(WebCore::nextBoundary): Ditto.

  • editing/htmlediting.cpp: Include TextIterator.h.
  • editing/htmlediting.h: Removed non-helpful section comments.

Added FIXME about isWhitespace. Added deprecatedIsCollapsibleWhitespace,
formerly not deprecated and in TextIterator.h.

  • editing/markup.cpp: Include TextIterator.h.
  • html/HTMLTextAreaElement.cpp: Include TextIterator.h.
  • page/ContextMenuController.cpp:

(WebCore::selectionContainsPossibleWord): Call TextIterator::text
instead of TextIterator::length and TextIterator::characterAt.

  • page/EventHandler.cpp: Sorted conditional includes alphabetically by condition.
  • platform/mac/HTMLConverter.mm:

(+[WebHTMLConverter editingAttributedStringFromRange:]): Call TextIterator::text
instead of TextIterator::length.

Source/WebKit/win:

  • WebCoreSupport/WebEditorClient.cpp: Added now-needed include.

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp: Added now-needed include.
  • WebProcess/WebPage/WebPage.cpp: Ditto.
6:27 PM Debugging With Xcode edited by BJ Burg
WKTR debugging tips (diff)
6:22 PM Debugging With Xcode edited by BJ Burg
(diff)
6:20 PM Debugging With LLDB or GDB edited by BJ Burg
(diff)
6:15 PM Debugging With Xcode created by BJ Burg
6:11 PM Debugging With LLDB or GDB created by BJ Burg
6:07 PM Changeset in webkit [164963] by enrica@apple.com
  • 7 edits in trunk/Source/WebKit2

[iOS WebKit2] Keyboard deadlock when accepting/dismissing autocorrection.
https://bugs.webkit.org/show_bug.cgi?id=129594
<rdar://problem/16168978>

Reviewed by Sam Weinig.

As a temporary fix, we are using a synchronous
message to accept autocorrection until we implement
a solution that processes these requests on a thread that
is not the main thread.

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView applyAutocorrection:toString:withCompletionHandler:]):
(-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::applyAutocorrection):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::applyAutocorrection):
(WebKit::WebPage::syncApplyAutocorrection):

6:05 PM WikiStart edited by BJ Burg
(diff)
6:03 PM WikiStart edited by BJ Burg
Simplify the different platform debugging page links (diff)
6:00 PM Changeset in webkit [164962] by ljaehun.lim@samsung.com
  • 3 edits in trunk/Source/WTF

[EFL] Remove m_initEfl from RunLoop.
https://bugs.webkit.org/show_bug.cgi?id=129568

Reviewed by Gyuyoung Kim.

We don't use m_initEfl except RunLoop constructor.

  • wtf/RunLoop.h:
  • wtf/efl/RunLoopEfl.cpp:

(WTF::RunLoop::RunLoop):

5:56 PM Debugging With Visual Studio edited by BJ Burg
merge WK2 instructions (diff)
5:52 PM WikiStart edited by BJ Burg
(diff)
5:52 PM Debugging With Visual Studio edited by BJ Burg
Fold in details from separate page about DumpRenderTree + VS (diff)
5:48 PM Changeset in webkit [164961] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Add a fallback path for compiling the remaining attribute checkers
https://bugs.webkit.org/show_bug.cgi?id=129580

Reviewed by Darin Adler.

The remaining attribute checkers appear to be less common than the simple value match.
This patch adds them to SelectorCompiler for completeness but no attempt is made at optimizing them,
they all default to function calls.

If the assumption that those selectors are not common turn out to be incorrect, we should see
the function calls in profiles and optimize them as needed.

  • css/SelectorChecker.cpp:

(WebCore::attributeValueMatches):
If we get anything but attribute match here, something has gone horribly wrong. Update the code
to fail if that were to happen.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
Add the missing match type to the selector fragment.

Begin, End, Contain cannot match an empty value per specification. We can test that at compile time
and fail immediately. See http://www.w3.org/TR/css3-selectors/#attribute-substrings

List has the extra requirement that a value containing a space does not match anything. It also cannot
match with an empty string. See http://www.w3.org/TR/css3-selectors/#attribute-representation

(WebCore::SelectorCompiler::attributeValueBeginsWith):
(WebCore::SelectorCompiler::attributeValueContains):
(WebCore::SelectorCompiler::attributeValueEndsWith):
(WebCore::SelectorCompiler::attributeValueMatchHyphenRule):
(WebCore::SelectorCompiler::attributeValueSpaceSeparetedListContains):
The slow fallbacks.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):
A generic code generator making function call to match an attribute value.

5:44 PM Debugging With Visual Studio edited by BJ Burg
restructure sections into wk1/wk2/test runners/misc. (diff)
5:37 PM Changeset in webkit [164960] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix build for case-sensitive file systems.

  • platform/UserActivity.h: Runloop -> RunLoop.
5:24 PM Changeset in webkit [164959] by barraclough@apple.com
  • 3 edits in trunk/Source/WebCore

HysteresisTimer should use WebCore::Timer
https://bugs.webkit.org/show_bug.cgi?id=129587

Reviewed by Sam Weinig.

  • platform/HysteresisActivity.h:

(WebCore::HysteresisActivity::HysteresisActivity):
(WebCore::HysteresisActivity::hysteresisTimerFired):

  • RunLoop::Timer -> WebCore::Timer.
  • platform/UserActivity.h:
5:16 PM Changeset in webkit [164958] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the 32-bit build.

  • UIProcess/ios/forms/WKFormSelectPopover.mm:

(adjustedFontSize):

5:02 PM Changeset in webkit [164957] by Darin Adler
  • 10 edits
    1 add in trunk

Split TextIteratorBehavior into a separate header
https://bugs.webkit.org/show_bug.cgi?id=129578

Reviewed by Sam Weinig.

Source/WebCore:

This is in preparation to greatly cut down on includes of TextIterator.h.

  • GNUmakefile.list.am: Added new header.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • editing/FindOptions.h: Changed typedef to unsigned char;

there is no reason to store these in a 32-bit integer.

  • editing/TextIterator.h: Added include of TextIteratorBehavior.h

and moved comments about the meanings of flag bits to their definition.

  • editing/TextIteratorBehavior.h: Added.
  • WebCore.exp.in: Updated for type changes.

Tools:

  • Scripts/sort-export-file: Added special cases to the script so you can just paste link errors

from WebKit in and the script will add them in as unconditional exports. This makes the "add"
task easy, but the remove is still a bit of a pain.

4:30 PM Changeset in webkit [164956] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Page Cache is not enabled when using the modern WebKit2 API
https://bugs.webkit.org/show_bug.cgi?id=129585

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool initWithConfiguration:]):
Default to CacheModelPrimaryWebBrowser until there is a way to configure it.

4:19 PM Changeset in webkit [164955] by enrica@apple.com
  • 17 edits
    3 adds in trunk/Source

[iOS WebKit2] Form controls handling
https://bugs.webkit.org/show_bug.cgi?id=129344
<rdar://problem/16053643>

Reviewed by Simon Fraser.

Source/WebCore:

Updates localizable strings and adds some exports.

  • English.lproj/Localizable.strings:
  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

Adding support for select elements on iOS.
There is full support on iPad, while on iPhone it is
still limited to single select with no groups.
The change also fixes the issue of the keyboard appearing
on screen for types of elements that are implemented with
a popover or a picker.

  • Scripts/webkit2/messages.py:
  • Shared/AssistedNodeInformation.cpp:

(WebKit::WKOptionItem::encode):
(WebKit::WKOptionItem::decode):
(WebKit::AssistedNodeInformation::encode):
(WebKit::AssistedNodeInformation::decode):

  • Shared/AssistedNodeInformation.h:

(WebKit::WKOptionItem::WKOptionItem):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView inputView]):
(-[WKContentView assistedNodeSelectOptions]):
(-[WKContentView _startAssistingNode:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::setAssistedNodeSelectedIndex):

  • UIProcess/ios/forms/WKFormSelectControl.h:
  • UIProcess/ios/forms/WKFormSelectControl.mm: Added.

(-[WKFormSelectControl initWithView:]):
(+[WKFormSelectControl createPeripheralWithView:]):
(-[WKFormSelectControl assistantView]):
(-[WKFormSelectControl beginEditing]):
(-[WKFormSelectControl endEditing]):

  • UIProcess/ios/forms/WKFormSelectPicker.mm: Added.

(-[WKSelectSinglePicker initWithView:]):
(-[WKSelectSinglePicker dealloc]):
(-[WKSelectSinglePicker controlView]):
(-[WKSelectSinglePicker controlBeginEditing]):
(-[WKSelectSinglePicker controlEndEditing]):
(-[WKSelectSinglePicker numberOfComponentsInPickerView:]):
(stringByTrimmingWhitespaceAndNewlines):
(-[WKSelectSinglePicker pickerView:numberOfRowsInComponent:]):
(-[WKSelectSinglePicker pickerView:attributedTitleForRow:forComponent:]):
(-[WKSelectSinglePicker pickerView:didSelectRow:inComponent:]):

  • UIProcess/ios/forms/WKFormSelectPopover.mm: Added.

(stringWithWritingDirection):
(adjustedFontSize):
(-[WKSelectTableViewController initWithView:hasGroups:]):
(-[WKSelectTableViewController viewWillAppear:]):
(-[WKSelectTableViewController numberOfSectionsInTableView:]):
(-[WKSelectTableViewController tableView:numberOfRowsInSection:]):
(-[WKSelectTableViewController tableView:titleForHeaderInSection:]):
(-[WKSelectTableViewController populateCell:withItem:]):
(-[WKSelectTableViewController findItemIndexAt:]):
(-[WKSelectTableViewController findItemAt:]):
(-[WKSelectTableViewController tableView:cellForRowAtIndexPath:]):
(-[WKSelectTableViewController tableView:didSelectRowAtIndexPath:]):
(-[WKSelectTableViewController hasText]):
(-[WKSelectTableViewController insertText:]):
(-[WKSelectTableViewController deleteBackward]):
(-[WKSelectPopover initWithView:hasGroups:]):
(-[WKSelectPopover dealloc]):
(-[WKSelectPopover controlView]):
(-[WKSelectPopover controlBeginEditing]):
(-[WKSelectPopover controlEndEditing]):
(-[WKSelectPopover _userActionDismissedPopover:]):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::setAssistedNodeSelectedIndex):
(WebKit::innerFrameQuad):
(WebKit::WebPage::getPositionInformation):
(WebKit::hasFocusableNode):
(WebKit::WebPage::getAssistedNodeInformation):
(WebKit::WebPage::elementDidFocus):

4:03 PM Changeset in webkit [164954] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

CodeBlock::hasDebuggerRequests() should returning a bool instead of an int.
<https://webkit.org/b/129584>

Reviewed by Darin Adler.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::hasDebuggerRequests):

3:14 PM Changeset in webkit [164953] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Clean up use of Options::enableConcurrentJIT().
<https://webkit.org/b/129582>

Reviewed by Filip Pizlo.

DFG Driver was conditionally checking Options::enableConcurrentJIT()
only if ENABLE(CONCURRENT_JIT). Otherwise, it bypasses it with a local
enableConcurrentJIT set to false.

Instead we should configure Options::enableConcurrentJIT() to be false
in Options.cpp if !ENABLE(CONCURRENT_JIT), and DFG Driver should always
check Options::enableConcurrentJIT(). This makes the code read a little
cleaner.

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

3:13 PM Changeset in webkit [164952] by benjamin@webkit.org
  • 10 edits in trunk/Source

[iOS][WK2] Pages using tiled compositing layers allocate too many tiles on zoom
https://bugs.webkit.org/show_bug.cgi?id=129471

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-02
Reviewed by Simon Fraser.

Source/WebCore:

A few issues with TileController were causing sublayers of the root layers
to tile incorrect surfaces on zoom.

First, the exposedRect API was not updating the sublayers. The layers go correctly
into tiling mode, but the tiles cover the full document instead of the visible area.

The other major issue was the margins being applied to the coverage size in document
coordinates. Since each margin is 512px, the total coverage size after zoom was
gigantic.

To solve this, this patch switch from the exposedRect API to the generic concept
of VisibleExtentContentRect introduced for iOS WebKit1.

  • WebCore.exp.in:
  • platform/ScrollView.h:

Define a VisibleExtentContentRect on the scrollview itself when there is no
platformWidget().
The case with inside frame is untested due to stability issues :(.
(see <rdar://problem/16199219>)

  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::computeTileCoverageRect):
Remove the margin from the tile coverage.

On iOS, m_tileCoverage is always zero at the moment. Previously, the tile coverage
was artificially extended by the margins. With the margins removed, I temporarily added
a factor of 1.5.
ViewUpdateDispatcher has all the information to compute a great tile coverage, I will need
a follow up patch to fix that.

  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::visibleExtentContentRect):
(WebCore::ScrollView::setVisibleExtentContentRect):

Source/WebKit2:

  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):
A few interesting changes here:
-Now that we do not use setExposedRect, we can pass the exposed area directly

to the drawing area since everything is now in content coordinates :)

-The scale is now converted to float before being compared to the Page's scaleFactor.

The page's scalefactor being a float, the comparison was failing most of the time.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::setVisibleExtentContentRect):

2:35 PM Changeset in webkit [164951] by Darin Adler
  • 5 edits
    1 add in trunk

Sort Mac platform export files so they merge better
https://bugs.webkit.org/show_bug.cgi?id=129581

Reviewed by Sam Weinig.

Source/WebCore:

  • WebCore.exp.in: Ran the new sort-export-file on this.

Source/WebKit/mac:

  • WebKit.exp: Ran the new sort-export-file on this.

Tools:

  • Scripts/sort-export-file: Added. Quickly whipped together script that sorts

Mac export files in a "canonical" order for this project.

2:26 PM Changeset in webkit [164950] by dino@apple.com
  • 5 edits
    2 adds in trunk

Add protected casting to FilterOperation classes.
https://bugs.webkit.org/show_bug.cgi?id=124062

Reviewed by Sam Weinig.

Source/WebCore:

Use the type cast macro generators to produce some toFilterOperation-style
functions, and then use them in our PlatformCA filter code.

Test: css3/filters/animation-from-initial-values-with-color-matrix.html

  • platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Use the toFilterOperation methods, in

some cases removing the unnecessary double cast.
(PlatformCAFilters::filterValueForOperation):
(PlatformCAFilters::colorMatrixValueForFilter):

  • platform/graphics/filters/FilterOperation.cpp:

(WebCore::BasicColorMatrixFilterOperation::blend):
(WebCore::BasicColorMatrixFilterOperation::operator==): Move this to the .cpp file so it can use the casting methods.
(WebCore::BasicComponentTransferFilterOperation::blend):
(WebCore::BasicComponentTransferFilterOperation::operator==): Ditto.

  • platform/graphics/filters/FilterOperation.h: Add the casting macros.

LayoutTests:

  • css3/filters/animation-from-initial-values-with-color-matrix-expected.html: Added.
  • css3/filters/animation-from-initial-values-with-color-matrix.html: Added.
2:22 PM Changeset in webkit [164949] by commit-queue@webkit.org
  • 5 edits
    4 adds in trunk

Fix srcset related bugs
https://bugs.webkit.org/show_bug.cgi?id=129539

Source/WebCore:

Fixed a bug reported against Blink's srcset implementation at https://code.google.com/p/chromium/issues/detail?id=347998
When both src and srcset had only 1x descriptors and the DPR was higher than 1, the src's resource was picked.

Also fixed the invalid descriptor handling, which wasn't aligned with the spec, and therefore was not as forward compatible as it should be.
Invalid descriptors caused the entire resource to be ignored, rather than just the descriptors themselves.

Patch by Yoav Weiss <yoav@yoav.ws> on 2014-03-02
Reviewed by Andreas Kling.

Tests: fast/hidpi/image-srcset-invalid-descriptor.html

fast/hidpi/image-srcset-src-selection-1x-both.html

  • html/parser/HTMLParserIdioms.cpp:

(WebCore::parseDescriptors):
(WebCore::parseImagesWithScaleFromSrcsetAttribute):
(WebCore::bestFitSourceForImageAttributes):

LayoutTests:

These tests make sure that:

  1. Invalid srcset descriptors are handled according to the spec. The invalid descriptors are ignored, but the resource is not.
  2. When both src and srcset have only 1x descriptors and the DPR is higher than 1, the srcset's resource is picked.

I've also fixed the invalid inputs test, which was faulty.

Patch by Yoav Weiss <yoav@yoav.ws> on 2014-03-02
Reviewed by Andreas Kling.

  • fast/hidpi/image-srcset-invalid-descriptor-expected.txt: Added.
  • fast/hidpi/image-srcset-invalid-descriptor.html: Added.
  • fast/hidpi/image-srcset-invalid-inputs-correct-src.html:
  • fast/hidpi/image-srcset-src-selection-1x-both-expected.txt: Added.
  • fast/hidpi/image-srcset-src-selection-1x-both.html: Added.
  • fast/hidpi/resources/srcset-helper.js:

(runTest):

12:44 PM Changeset in webkit [164948] by barraclough@apple.com
  • 11 edits
    1 copy in trunk/Source/WebCore

Split UserActivity, simplify PageThrottler
https://bugs.webkit.org/show_bug.cgi?id=129551

Reviewed by Darin Adler.

The class UserActivity currently implements two things – a hysteresis mechanism, and
an abstraction of NSActivity controlled by that mechanism. PageThrottler implements
its own hysteresis mechanism, which directly controls DOM timer throttling and also
controls a couple of UserActivities, giving a total of 3 separate hysteresis mechanisms,
layered two deep.

Split UserActivity into three, with HysteresisActivity implementing an abstract hysteresis
mechanism, UserActivity::Impl controlling the NSActivity, and then UserActivity combining
these two back together. The interface to UserActivity is unchanged.

Remove PageThrottler's bespoke hysteresis, replacing it with a use of HysteresisActivity.
Replace the two UserActivities with a single UserActivity::Impl, so there are no longer
layered hysteresis mechanisms.

  • WebCore.exp.in:
    • exports changed.
  • WebCore.xcodeproj/project.pbxproj:
    • added HysteresisActivity.h.
  • page/PageThrottler.cpp:

(WebCore::PageThrottler::PageThrottler):

  • if the page starts visible, begin activity. If it starts hidden throttle DOM timers.

(WebCore::PageThrottler::hiddenPageDOMTimerThrottlingStateChanged):

  • when the DOM timer throttling setting changes, make sure we update.

(WebCore::PageThrottler::incrementActivityCount):
(WebCore::PageThrottler::decrementActivityCount):

  • when m_activityCount changes update the hysteresis state.

(WebCore::PageThrottler::updateHysteresis):
(WebCore::PageThrottler::setViewState):

  • when IsVisuallyIdle changes update the hysteresis state.

(WebCore::PageThrottler::started):
(WebCore::PageThrottler::stopped):

  • callbacks from HysteresisActivity, these control m_activity and DOM timer throttling.
  • page/PageThrottler.h:

(WebCore::PageThrottler::didReceiveUserInput):
(WebCore::PageThrottler::pluginDidEvaluate):

  • call impulse to temporarily enable the activity.
  • platform/HysteresisActivity.h: Copied from Source/WebCore/platform/UserActivity.h.

(WebCore::HysteresisActivity::HysteresisActivity):

  • constructor takes a delegate optionally a timeout.

(WebCore::HysteresisActivity::start):

  • start activity immediately. If stopped, call started method on delegate. If in timeout period, cancel the timer.

(WebCore::HysteresisActivity::stop):

  • stop activity after hysteresis. If started, initiate timeout period.

(WebCore::HysteresisActivity::impulse):

  • ensure activity for at least the timeout period.

(WebCore::HysteresisActivity::hysteresisTimerFired):

  • delayed stop - when the timer fires call stopped on the delegate.
  • platform/UserActivity.cpp:

(WebCore::UserActivity::Impl::Impl):
(WebCore::UserActivity::Impl::beginActivity):
(WebCore::UserActivity::Impl::endActivity):

  • nop implementation.

(WebCore::UserActivity::UserActivity):

  • UserActivity maintains existing interface with hysteresis.

(WebCore::UserActivity::started):
(WebCore::UserActivity::stopped):

  • callbacks from HysteresisTimer; forward to Impl.
  • platform/UserActivity.h:
  • platform/mac/UserActivityMac.mm:

(WebCore::UserActivity::Impl::Impl):

  • UserActivity::Impl, abstraction for NSActivity without added hysteresis.

(WebCore::UserActivity::Impl::beginActivity):

  • allocate NSActivity.

(WebCore::UserActivity::Impl::endActivity):

  • release NSActivity.
12:34 PM Changeset in webkit [164947] by BJ Burg
  • 5 edits in trunk/Source/WebCore

DocumentLoader should keep maps of ResourceLoaders instead of sets
https://bugs.webkit.org/show_bug.cgi?id=129388

Reviewed by Darin Adler.

For web replay, we need to be able to pull a ResourceLoader instance by
identifier from the DocumentLoader. This is easy to do if we convert
ResourceLoaderSet to ResourceLoaderMap, keyed by the loader's identifier.

Added assertions whenever adding or removing from the map to ensure
that we don't try to add duplicates or resources with zero identifiers.

No new tests required. No functionality was added.

  • loader/DocumentLoader.cpp:

(WebCore::cancelAll):
(WebCore::setAllDefersLoading):
(WebCore::areAllLoadersPageCacheAcceptable):
(WebCore::DocumentLoader::addSubresourceLoader):
(WebCore::DocumentLoader::removeSubresourceLoader):
(WebCore::DocumentLoader::addPlugInStreamLoader):
(WebCore::DocumentLoader::removePlugInStreamLoader):
(WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):

  • loader/DocumentLoader.h:
  • loader/NetscapePlugInStreamLoader.cpp:

(WebCore::NetscapePlugInStreamLoader::create): Only add the loader
to the document loader's map if it initialized successfully.
The old code was probably leaking resource loaders that failed to
initialize.

  • loader/mac/DocumentLoaderMac.cpp:

(WebCore::scheduleAll):
(WebCore::unscheduleAll):

11:52 AM Changeset in webkit [164946] by krit@webkit.org
  • 9 edits in trunk/LayoutTests

Reactivate SVG mask-type tests for Mac
https://bugs.webkit.org/show_bug.cgi?id=129577

Reviewed by Darin Adler.

Reduce mask-type tests to the minimum to test the feature.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • svg/masking/mask-type-alpha-expected.svg:
  • svg/masking/mask-type-alpha.svg:
  • svg/masking/mask-type-luminance-expected.svg:
  • svg/masking/mask-type-luminance.svg:
  • svg/masking/mask-type-not-set-expected.svg:
  • svg/masking/mask-type-not-set.svg:
11:36 AM Changeset in webkit [164945] by Darin Adler
  • 6 edits in trunk/Source

Change public text iterator API implementations to not depend on 16-bit character pointers
https://bugs.webkit.org/show_bug.cgi?id=129566

Reviewed by Anders Carlsson.

Source/WebKit/mac:

  • WebView/WebTextIterator.mm:

(-[WebTextIterator initWithRange:]): Use make_unique instead of adoptPtr.
(-[WebTextIterator advance]): Clear out the upconverted text since we are moving on to the
next text.
(-[WebTextIterator currentTextPointer]): Upconvert if we have 8-bit text.
(-[WebTextIterator currentTextLength]): Call TextIterator::text().length() since we will
probably be removing TextIterator::length eventually.

Source/WebKit2:

  • WebView/WebTextIterator.mm:

(-[WKDOMTextIterator initWithRange:]): Use make_unique instead of adoptPtr.
(-[WKDOMTextIterator advance]): Clear out the upconverted text since we are moving on to the
next text.
(-[WKDOMTextIterator currentTextPointer]): Upconvert if we have 8-bit text.
(-[WKDOMTextIterator currentTextLength]): Call TextIterator::text().length() since we will
probably be removing TextIterator::length eventually.

  • WebProcess/WebCoreSupport/WebEditorClient.cpp: Removed unneded include of TextIterator.h.
  • WebProcess/WebPage/WebPage.cpp: Ditto.
10:25 AM Changeset in webkit [164944] by krit@webkit.org
  • 5 edits in trunk/LayoutTests

Remove path to non-existent SVG clip-path test from TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=129574

Reviewed by Simon Fraser.

The test was transformed to a ref test and moved to a different location.
It passes on all platforms now.

  • platform/gtk/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wk2/TestExpectations:
9:55 AM Changeset in webkit [164943] by commit-queue@webkit.org
  • 8 edits in trunk

Support ENABLE_ENCRYPTED_MEDIA in cmake builds
https://bugs.webkit.org/show_bug.cgi?id=129575

Patch by Dirkjan Ochtman <d.ochtman@activevideo.com> on 2014-03-02
Reviewed by Philippe Normand.

.:

  • Source/cmake/OptionsEfl.cmake:

Enabled ENABLE_ENCRYPTED_MEDIA{,_V2} usage.

  • Source/cmake/OptionsGTK.cmake:

Enabled ENABLE_ENCRYPTED_MEDIA{,_V2} usage.

  • Source/cmake/WebKitFeatures.cmake:

Enabled ENABLE_ENCRYPTED_MEDIA{,_V2} usage.

  • Source/cmakeconfig.h.cmake:

Added ENABLE_ENCRYPTED_MEDIA{,_V2} flags.

Source/WebCore:

No new tests, only fixes the build.

  • CMakeLists.txt:

Add support for ENABLE_ENCRYPTED_MEDIA.

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::close):
Assign nullptr instead of 0 to OwnPtr to appease gcc-4.7.

9:19 AM Changeset in webkit [164942] by Darin Adler
  • 6 edits in trunk/Source/WTF

Cut down use of OwnPtr within WTF itself
https://bugs.webkit.org/show_bug.cgi?id=129567

Reviewed by Sam Weinig.

  • wtf/RefCounted.h: Removed OwnPtr includes.
  • wtf/StreamBuffer.h: Removed OwnPtr includes and switched to use

std::make_unique and std::unique_ptr instead.

  • wtf/Threading.cpp: Removed OwnPtr includes.
  • wtf/ThreadingPthreads.cpp: Ditto.
  • wtf/Vector.h: Ditto.
7:36 AM Changeset in webkit [164941] by thiago.lacerda@openbossa.org
  • 7 edits
    1 delete in trunk/LayoutTests

Updating some WebRTC and MediaStream LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=129442

Reviewed by Eric Carlson.

Due to changes in JavaScriptCore (in r163562), some LayoutTests in fast/mediastream needed to be updated:

  • MediaStreamTrack.html: checking hasOwnProperty in proto as well, until CustomGetter properties are moved to the prototype chain.
  • RTCIceCandidate.html and RTCSessionDescription.html: JSON.stringify are not considering properties in proto, so remove this for now.
  • fast/mediastream/MediaStreamTrack-expected.txt:
  • fast/mediastream/MediaStreamTrack.html:
  • fast/mediastream/RTCIceCandidate-expected.txt:
  • fast/mediastream/RTCIceCandidate.html:
  • fast/mediastream/RTCPeerConnection-have-local-answer.html: Removed. Other tests already test what this one was

testing

  • fast/mediastream/RTCSessionDescription-expected.txt:
  • fast/mediastream/RTCSessionDescription.html:
6:59 AM Changeset in webkit [164940] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Make impossible to build with <webkit2/webkit2.h> and <webkit2/webkit-web-extension.h> included together
https://bugs.webkit.org/show_bug.cgi?id=129549

Reviewed by Martin Robinson.

Add a compile error to prevent mixing the UI and web process APIs.

  • UIProcess/API/gtk/webkit2.h:
  • WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
6:56 AM Changeset in webkit [164939] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Remove the include dir of the C API from the WebKit2 pkg-config file
https://bugs.webkit.org/show_bug.cgi?id=129543

Reviewed by Martin Robinson.

We are not installing the C API headers anymore.

  • webkit2gtk.pc.in:
Note: See TracTimeline for information about the timeline view.