WebKit-https.git
7 years agoRevert a mysterious and inexplicable part of http://trac.webkit.org/changeset/160685
timothy_horton@apple.com [Tue, 17 Dec 2013 02:56:02 +0000 (02:56 +0000)]
Revert a mysterious and inexplicable part of trac.webkit.org/changeset/160685

* platform/KeyedCoding.h:
(WebCore::KeyedEncoder::encodeEnum):
(WebCore::KeyedEncoder::encodeObject):
(WebCore::KeyedEncoder::encodeConditionalObject):
(WebCore::KeyedEncoder::encodeObjects):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160690 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd my Samsung email address.
rwlbuis@webkit.org [Tue, 17 Dec 2013 02:43:52 +0000 (02:43 +0000)]
Add my Samsung email address.

Unreviewed.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160689 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAvoid indirect function calls for custom getters
oliver@apple.com [Tue, 17 Dec 2013 02:43:26 +0000 (02:43 +0000)]
Avoid indirect function calls for custom getters
https://bugs.webkit.org/show_bug.cgi?id=125821

Reviewed by Mark Hahnenberg.

Rather than invoking a helper function to perform an indirect call
through a function pointer, just have the JIT call the function directly.

Unfortunately this only works in JSVALUE64 at the moment as there
is not an obvious way to pass two EncodedJSValues uniformly over
the various effected JITs.

* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArguments):
* jit/Repatch.cpp:
(JSC::generateProtoChainAccessStub):
(JSC::tryBuildGetByIDList):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160688 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove EnumClass.h from WTF
andersca@apple.com [Tue, 17 Dec 2013 02:27:01 +0000 (02:27 +0000)]
Remove EnumClass.h from WTF
https://bugs.webkit.org/show_bug.cgi?id=125820

Reviewed by Darin Adler.

Source/WebCore:

Replace uses of ENUM_CLASS with real enum class declarations.

* Modules/webdatabase/DatabaseBasicTypes.h:
* Modules/webdatabase/DatabaseError.h:
* Modules/webdatabase/SQLTransactionState.h:
* bindings/js/JSSubtleCryptoCustom.cpp:
* bindings/js/SerializedScriptValue.cpp:
* crypto/CryptoAlgorithmIdentifier.h:
* crypto/CryptoAlgorithmParameters.h:
* crypto/CryptoKey.h:
* crypto/CryptoKeyData.h:
* crypto/CryptoKeyType.h:
* crypto/keys/CryptoKeyDataRSAComponents.h:
* inspector/InspectorTimelineAgent.h:

Source/WTF:

All compilers we build on now support real strongly typed enums, so we can remove the ENUM_CLASS version.

* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/CheckedArithmetic.h:
* wtf/EnumClass.h: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160687 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
timothy_horton@apple.com [Tue, 17 Dec 2013 02:16:07 +0000 (02:16 +0000)]
WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
https://bugs.webkit.org/show_bug.cgi?id=125750

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
Remove some accidentally included commented out code.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160686 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
timothy_horton@apple.com [Tue, 17 Dec 2013 02:12:31 +0000 (02:12 +0000)]
WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
https://bugs.webkit.org/show_bug.cgi?id=125750

Reviewed by Simon Fraser.

When you let go of a pinch where you exceeded the maximum or minimum scale,
the view should animate back to the limit instead of snapping back.

* UIProcess/mac/ViewGestureController.cpp:
(WebKit::ViewGestureController::endMagnificationGesture):
Unscrolling the scaled origin here is wrong; we should send the same
value for 'origin' for commitTransientZoom that we do for adjustTransientZoom.
The drawing area can deal with transforming that however it needs to call scalePage().

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::beginTransientZoom):
Drive-by use WebPage::mainFrameView().

(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
Update the shadow layer's bounds, position, and shadow path while zooming,
instead of hiding it.

(WebKit::transientZoomSnapAnimationForKeyPath):
Create a CABasicAnimation that stays applied to its target when it finishes,
lasts for a quarter second, and uses the ease-in-ease-out timing function.

(WebKit::constrainZoomOriginForFrameView):
When we land a transient zoom, there may be overhang areas (linen, in the case of Mac)
visible. During the commit animation, we should move the RenderView layer appropriately
so that the page covers the entire view and there are no overhang areas visible.
Adapt some code from ScrollableArea to constrain the zoom origin to do so.

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
Animate the RenderView layer's transform, and the shadow layer's bounds, position, and path.
When they complete, apply the zoom via scalePage() and flush the layer tree (otherwise there
can be a flash between removing the animations and the next flush with the new scale).

(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
Move the code to land the transient zoom (via scalePage) and to put the shadow back
in the state WebCore left it out into its own function, so it can be called both from the
animation completion callback and from the short-circuit in the case where we don't need to animate.

* WebCore.exp.in:
Export a few things so WebKit2 can use them.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160685 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Fix GTK+ build after r160653.
ryuan.choi@samsung.com [Tue, 17 Dec 2013 02:02:42 +0000 (02:02 +0000)]
Unreviewed. Fix GTK+ build after r160653.

Renamed WebData to API::Data

* GNUmakefile.list.am: Added APIData.cpp and APIData.h
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestReadCallback):
* UIProcess/API/gtk/WebKitWebResource.cpp:
* UIProcess/API/gtk/WebKitWebView.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160684 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix some whitespace issues in inspector code
commit-queue@webkit.org [Tue, 17 Dec 2013 02:00:06 +0000 (02:00 +0000)]
Fix some whitespace issues in inspector code
https://bugs.webkit.org/show_bug.cgi?id=125814

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-12-16
Reviewed by Darin Adler.

Source/JavaScriptCore:

* inspector/protocol/Debugger.json:
* inspector/protocol/Runtime.json:
* inspector/scripts/CodeGeneratorInspector.py:
(Generator.process_command):

Source/WebCore:

* inspector/protocol/DOM.json:
* inspector/protocol/DOMStorage.json:
* inspector/protocol/Timeline.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160683 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: Use JSC::SourceID and JSC::BreakpointID instead of WebCore dups
commit-queue@webkit.org [Tue, 17 Dec 2013 01:36:50 +0000 (01:36 +0000)]
Web Inspector: Use JSC::SourceID and JSC::BreakpointID instead of WebCore dups
https://bugs.webkit.org/show_bug.cgi?id=125818

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-12-16
Reviewed by Mark Lam.

Remove the WebCore typedefs of JSC types. Prefer JSC namespace
prefixed types throughout WebCore's Inspector code.

* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/BreakpointID.h: Removed.
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
(WebCore::ScriptDebugServer::dispatchDidParseSource):
* bindings/js/ScriptDebugServer.h:
* bindings/js/SourceID.h: Removed.
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::parseLocation):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::continueToLocation):
(WebCore::InspectorDebuggerAgent::resolveBreakpoint):
(WebCore::InspectorDebuggerAgent::searchInContent):
(WebCore::InspectorDebuggerAgent::getScriptSource):
(WebCore::InspectorDebuggerAgent::didParseSource):
(WebCore::InspectorDebuggerAgent::didPause):
(WebCore::InspectorDebuggerAgent::clear):
* inspector/InspectorDebuggerAgent.h:
* inspector/ScriptDebugListener.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160682 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2][iOS] WKView sends unscaled scroll position to WKContentView
benjamin@webkit.org [Tue, 17 Dec 2013 01:35:02 +0000 (01:35 +0000)]
[WK2][iOS] WKView sends unscaled scroll position to WKContentView
https://bugs.webkit.org/show_bug.cgi?id=125819

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-16
Reviewed by Anders Carlsson.

WKView was sending untransformed scroll coordinates to WKContentView. The scroll position
seen by WebKit was wrong when the content is scaled.

* UIProcess/API/ios/WKView.mm:
(-[WKView _didScroll]):
(-[WKView scrollViewDidEndDragging:willDecelerate:]):
(-[WKView scrollViewDidEndDecelerating:]):
(-[WKView scrollViewDidScrollToTop:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160681 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd some missing functions to MacroAssembler
mhahnenberg@apple.com [Tue, 17 Dec 2013 01:33:05 +0000 (01:33 +0000)]
Add some missing functions to MacroAssembler
https://bugs.webkit.org/show_bug.cgi?id=125809

Reviewed by Oliver Hunt.

* assembler/AbstractMacroAssembler.h:
* assembler/AssemblerBuffer.h:
* assembler/LinkBuffer.cpp:
* assembler/MacroAssembler.h:
(JSC::MacroAssembler::storePtr):
(JSC::MacroAssembler::andPtr):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::and64):
(JSC::MacroAssemblerARM64::branchTest8):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::branchTest8):
* assembler/X86Assembler.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160680 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS] Upstream WebCore/dom changes
dbates@webkit.org [Tue, 17 Dec 2013 01:32:12 +0000 (01:32 +0000)]
[iOS] Upstream WebCore/dom changes
https://bugs.webkit.org/show_bug.cgi?id=125646

Reviewed by David Kilzer.

* WebCore.exp.in: Added symbol __ZN7WebCore8Settings17setLayoutIntervalEi and removed symbol
__ZN7WebCore24cLayoutScheduleThresholdE.
* dom/ActiveDOMObject.h: Add suspension reason DocumentWillBePaused.
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument): Opt-out of ENABLE(VIDEO) logic when
building for iOS.
* dom/DeviceMotionClient.h: Made class non-copyable.
(WebCore::DeviceMotionClient::DeviceMotionClient): Added;
* dom/DeviceMotionController.cpp: Added FIXME comment to reconcile iOS and OpenSource differences.
(WebCore::DeviceMotionController::suspendUpdates): Added; guarded by PLATFORM(IOS).
(WebCore::DeviceMotionController::resumeUpdates): Added; guarded by PLATFORM(IOS).
* dom/DeviceMotionController.h: Added FIXME comment to reconcile iOS and OpenSource differences.
* dom/DeviceOrientationClient.h: Made class non-copyable.
(WebCore::DeviceOrientationClient::DeviceOrientationClient): Added.
* dom/DeviceOrientationController.cpp: Added FIXME comment to reconcile iOS and OpenSource differences.
(WebCore::DeviceOrientationController::DeviceOrientationController):
(WebCore::DeviceOrientationController::suspendUpdates): Added; guarded by PLATFORM(IOS).
(WebCore::DeviceOrientationController::resumeUpdates): Added; guarded by PLATFORM(IOS).
* dom/DeviceOrientationController.h: Added FIXME comment to reconcile iOS and OpenSource differences.
* dom/DeviceOrientationData.cpp:
(WebCore::DeviceOrientationData::create): Added; iOS-specific. Added FIXME comment.
(WebCore::DeviceOrientationData::DeviceOrientationData): Added iOS-specific code.
(WebCore::DeviceOrientationData::compassHeading): Added; guarded by PLATFORM(IOS).
(WebCore::DeviceOrientationData::compassAccuracy): Added; guarded by PLATFORM(IOS).
(WebCore::DeviceOrientationData::canProvideCompassHeading): Added; guarded by PLATFORM(IOS).
(WebCore::DeviceOrientationData::canProvideCompassAccuracy): Added; guarded by PLATFORM(IOS).
* dom/DeviceOrientationData.h:
* dom/DeviceOrientationEvent.idl: Added iOS-specific code.
* dom/Document.cpp: Moved constant cLayoutScheduleThreshold to Settings.cpp and renamed it
layoutScheduleThreshold towards allowing a port to configure the layout interval.
(WebCore::Document::Document): Added optional argument isSynthesized, defaults false.
(WebCore::Document::~Document): Added iOS-specific code to destroy the device motion
and device orientation controllers.
(WebCore::Document::didBecomeCurrentDocumentInFrame): Added iOS-specific code with FIXME comment.
(WebCore::Document::prepareForDestruction): Added iOS-specific touch event code.
(WebCore::Document::removeAllEventListeners): Ditto.
(WebCore::Document::platformSuspendOrStopActiveDOMObjects): Added; compiles to an empty function on
non-iOS port.
(WebCore::Document::suspendActiveDOMObjects): Modified to call platformSuspendOrStopActiveDOMObjects().
(WebCore::Document::resumeActiveDOMObjects): Ditto.
(WebCore::Document::stopActiveDOMObjects): Added.
(WebCore::Document::implicitClose): Modified to query Settings::layoutInterval().
(WebCore::Document::minimumLayoutDelay): Ditto.
(WebCore::Document::processViewport): Added iOS-specific code.
(WebCore::Document::updateViewportArguments): Ditto.
(WebCore::setParserFeature): Added; guarded by PLATFORM(IOS).
(WebCore::Document::processFormatDetection): Added; guarded by PLATFORM(IOS).
(WebCore::Document::processWebAppOrientations): Added; guarded by PLATFORM(IOS).
(WebCore::Document::isTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
(WebCore::Document::setIsTelephoneNumberParsingAllowed): Added; guarded by PLATFORM(IOS).
(WebCore::Document::isTelephoneNumberParsingAllowed): Added; guarded by PLATFORM(IOS).
(WebCore::Document::initSecurityContext): Added iOS-specific code.
(WebCore::Document::suspendScheduledTasks): Added; guarded by PLATFORM(IOS).
(WebCore::Document::deviceMotionController): Added; iOS-specific.
(WebCore::Document::deviceOrientationController): Added; iOS-specific.
(WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale): Added iOS-specific code.
(WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale): Added iOS-specific code.
* dom/Document.h: Register gesture events gesture{change, end, start}; guarded by ENABLE(IOS_GESTURE_EVENTS).
(WebCore::Document::isSynthesized): Added.
(WebCore::Document::platformSuspendOrStopActiveDOMObjects): Added.
* dom/Document.idl:
* dom/DocumentMarker.h: Added iOS-specific changes. We should look to reconcile the differences between
iOS and OpenSource. See <rdar://problem/11306422>.
(WebCore::DocumentMarker::AllMarkers::AllMarkers):
(WebCore::DocumentMarker::DocumentMarker): Added; iOS-specific.
(WebCore::DocumentMarker::alternatives): Added; iOS-specific.
(WebCore::DocumentMarker::setAlternative): Added; iOS-specific.
(WebCore::DocumentMarker::metadata): Added; iOS-specific.
(WebCore::DocumentMarker::setMetadata): Added; iOS-specific.
* dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::addMarker):
(WebCore::DocumentMarkerController::addDictationPhraseWithAlternativesMarker):
(WebCore::DocumentMarkerController::addDictationResultMarker):
(WebCore::DocumentMarkerController::shiftMarkers):
* dom/DocumentMarkerController.h:
* dom/Element.cpp:
(WebCore::Element::focus): Add iOS-specific workaround for <rdar://problem/6699741>.
* dom/Element.h: Register gesture events gesture{change, end, start}; guarded by ENABLE(IOS_GESTURE_EVENTS).
* dom/EventContext.cpp: Opt-out of ENABLE(TOUCH_EVENTS)-guarded code when building the iOS port.
* dom/EventContext.h: Ditto.
* dom/EventDispatcher.cpp:
(WebCore::EventRelatedNodeResolver::EventRelatedNodeResolver): Ditto.
(WebCore::EventDispatcher::dispatchEvent): Ditto.
(WebCore::EventPath::EventPath): Ditto.
* dom/EventNames.h: Added events webkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}
and gesture{change, end, start}.
* dom/EventNames.in: Added event names GestureEvent and WebKitPlaybackTargetAvailabilityEvent conditioned on
the macro defines ENABLE_IOS_GESTURE_EVENTS and ENABLE_IOS_AIRPLAY.
* dom/MouseRelatedEvent.cpp:
(WebCore::contentsScrollOffset): Added iOS-specific code.
(WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.
* dom/Node.cpp:
(WebCore::Node::willBeDeletedFrom): Ditto.
(WebCore::Node::isDescendantOf): Fixed style issue in function prototype; moved '*' to the left side.
(WebCore::Node::isDescendantOrShadowDescendantOf): Added.
(WebCore::tryAddEventListener): Added iOS-specific code; also added FIXME comment.
(WebCore::tryRemoveEventListener): Ditto.
(WebCore::Node::dispatchEvent): Opt-out of ENABLE(TOUCH_EVENTS)-guarded code when building the iOS port.
(WebCore::Node::defaultEventHandler): Added iOS-specific code.
(WebCore::Node::willRespondToMouseMoveEvents): Added iOS-specific code; also added FIXME comment.
(WebCore::Node::willRespondToMouseClickEvents): Added iOS-specific code; also added FIXME comment.
(WebCore::Node::willRespondToMouseWheelEvents): Added.
* dom/Node.h:
* dom/Position.h:
(WebCore::operator<): Added.
(WebCore::operator>): Added.
(WebCore::operator>=): Added.
(WebCore::operator<=): Added.
* dom/Range.cpp:
(WebCore::Range::create): Added iOS-specific code; also added FIXME comment.
(WebCore::intervalsSufficientlyOverlap): Added; guarded by PLATFORM(IOS).
(WebCore::printRects): Added; guarded by PLATFORM(IOS).
(WebCore::adjustLineHeightOfSelectionRects): Added; guarded by PLATFORM(IOS).
(WebCore::coalesceSelectionRects): Added; guarded by PLATFORM(IOS).
(WebCore::Range::collectSelectionRects): Added; guarded by PLATFORM(IOS).
* dom/Range.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects): Added iOS-specific code.
(WebCore::ScriptExecutionContext::dispatchErrorEvent): Ditto.
* dom/TreeScope.cpp:
(WebCore::nodeFromPoint): Ditto.
* dom/ViewportArguments.cpp:
(WebCore::computeViewportAttributes): Ditto.
(WebCore::setViewportFeature): Added iOS-specific code.
(WebCore::finalizeViewportArguments): Added; iOS-specific.
* dom/ViewportArguments.h:
* dom/make_names.pl: Added support to find the path to gcc with respect to the environment
variable SDKROOT.
* html/HTMLMediaElement.cpp:
(HTMLMediaElement::suspend):
* page/Settings.cpp:
(WebCore::Settings::Settings): Initialize setting m_layoutInterval to layoutScheduleThreshold.
(WebCore::Settings::setLayoutInterval): Added.
* page/Settings.h:
(WebCore::Settings::layoutInterval): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160679 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDatabaseProcess: Plumb through messaging for the 4 basic transaction operations
beidson@apple.com [Tue, 17 Dec 2013 01:12:23 +0000 (01:12 +0000)]
DatabaseProcess: Plumb through messaging for the 4 basic transaction operations
https://bugs.webkit.org/show_bug.cgi?id=125816

Reviewed by Alexey Proskuryakov.

The messaging begins and ends in the WebProcess:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::beginTransaction):
(WebKit::WebIDBServerConnection::didBeginTransaction):
(WebKit::WebIDBServerConnection::commitTransaction):
(WebKit::WebIDBServerConnection::didCommitTransaction):
(WebKit::WebIDBServerConnection::resetTransaction):
(WebKit::WebIDBServerConnection::didResetTransaction):
(WebKit::WebIDBServerConnection::rollbackTransaction):
(WebKit::WebIDBServerConnection::didRollbackTransaction):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

It travels from the WebProcess to the DatabaseProcess connection:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::beginTransaction):
(WebKit::DatabaseProcessIDBConnection::commitTransaction):
(WebKit::DatabaseProcessIDBConnection::resetTransaction):
(WebKit::DatabaseProcessIDBConnection::rollbackTransaction):
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

It travels from the connection to the appropriate UniqueIDBDatabase:
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::openTransaction):
(WebKit::UniqueIDBDatabase::beginTransaction):
(WebKit::UniqueIDBDatabase::commitTransaction):
(WebKit::UniqueIDBDatabase::resetTransaction):
(WebKit::UniqueIDBDatabase::rollbackTransaction):
(WebKit::UniqueIDBDatabase::postTransactionOperation):
(WebKit::UniqueIDBDatabase::didCompleteTransactionOperation):
(WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::beginBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::commitBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

The UniqueIDBDatabase object performs the operation with the backing store:
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::commitTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction):
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

And the SQLite backing store calls the appropriate method on the SQLite transaction:
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
(WebKit::SQLiteIDBTransaction::begin): Stubbed for now.
(WebKit::SQLiteIDBTransaction::commit): Ditto.
(WebKit::SQLiteIDBTransaction::reset): Ditto.
(WebKit::SQLiteIDBTransaction::rollback): Ditto.
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160678 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAttempt to fix the Windows build after r160672.
simon.fraser@apple.com [Tue, 17 Dec 2013 00:55:47 +0000 (00:55 +0000)]
Attempt to fix the Windows build after r160672.

* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::PlatformCALayerWin):
* platform/graphics/ca/win/PlatformCALayerWin.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160677 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix on EFL port after r160653
ryuan.choi@samsung.com [Tue, 17 Dec 2013 00:44:37 +0000 (00:44 +0000)]
Unreviewed build fix on EFL port after r160653

Rename WebData to API::Data

* CMakeLists.txt: Added APIData.cpp to include list.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::sessionStateData):
(WebKit::WebPageProxy::restoreFromSessionStateData):
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest):
* UIProcess/soup/WebSoupRequestManagerProxy.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160676 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWKView.magnification should include magnification due to the active gesture
timothy_horton@apple.com [Tue, 17 Dec 2013 00:35:23 +0000 (00:35 +0000)]
WKView.magnification should include magnification due to the active gesture
https://bugs.webkit.org/show_bug.cgi?id=125813

Reviewed by Simon Fraser.

Make WKView.magnification respect active pinch-zoom gestures.

* UIProcess/API/mac/WKView.mm:
(-[WKView magnification]):
If we have a ViewGestureController, defer to it for the current magnification.

* UIProcess/mac/ViewGestureController.cpp:
(WebKit::ViewGestureController::magnification):
Return either the current pinch-zoom magnification, if we're in the middle of a gesture,
or the pageScaleFactor, if we're not.

* UIProcess/mac/ViewGestureController.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160675 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Win] Unreviewed build fix.
bfulgham@apple.com [Tue, 17 Dec 2013 00:29:40 +0000 (00:29 +0000)]
[Win] Unreviewed build fix.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Correct typo that added a '\' at the
end of a line of the file.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160674 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2] Remove the constraint that highlight rects must be smaller than the scrollview...
benjamin@webkit.org [Tue, 17 Dec 2013 00:24:57 +0000 (00:24 +0000)]
[WK2] Remove the constraint that highlight rects must be smaller than the scrollview bounds
https://bugs.webkit.org/show_bug.cgi?id=125812

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-16
Reviewed by Dan Bernstein.

Currently, _scrollView is never set on WKInteractionView and all highlight rects are discarded.

Eventually, the constraint rect should be computed from the useful area of ScrollView and the scale
of the document. In the meantime, the constraint code is just causing troubles.

The issue is tracked by <rdar://problem/15673655>.

* UIProcess/API/ios/WKInteractionView.mm:
(-[WKInteractionView _didGetTapHighlightForRequest:color:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160673 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoApply overhang shadow and linen to UI-side layers
simon.fraser@apple.com [Tue, 17 Dec 2013 00:13:38 +0000 (00:13 +0000)]
Apply overhang shadow and linen to UI-side layers
https://bugs.webkit.org/show_bug.cgi?id=125807

Source/WebCore:

Reviewed by Tim Horton.

With UI-side compositing, we need to apply the overhang shadow and linen
background to layers in the UI process. Achieve this by setting a "custom
appearance" flag on layers that need a shadow or linen background, and
migrating this flag to the UI process. Static functions on ScrollbarThemeMac
are exposed to do the actual setting.

* WebCore.exp.in: Export ScrollbarThemeMac and GraphicsLayerCA functions.
* WebCore.xcodeproj/project.pbxproj: ScrollbarThemeMac.h and ScrollbarThemeComposite.h
need to be Private.
* platform/graphics/GraphicsLayer.cpp: Initialize m_customAppearance.
(WebCore::GraphicsLayer::GraphicsLayer):
* platform/graphics/GraphicsLayer.h: Getter/setter for CustomAppearance.
(WebCore::GraphicsLayer::setCustomAppearance):
(WebCore::GraphicsLayer::customAppearance):
* platform/graphics/ca/GraphicsLayerCA.cpp: Update CustomAppearanceChanged as
we do other properties.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateCustomAppearance):
(WebCore::GraphicsLayerCA::setCustomAppearance):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/mac/PlatformCALayerMac.h:
* platform/graphics/ca/mac/PlatformCALayerMac.mm: When we have a custom
appearance, use ScrollbarThemeMac functions to update the layer. Ensure
that if the bounds change, we update the shadow (whose path depends on the bounds).
(PlatformCALayerMac::PlatformCALayerMac):
(PlatformCALayerMac::clone):
(PlatformCALayerMac::setBounds):
(PlatformCALayerMac::requiresCustomAppearanceUpdateOnBoundsChange):
(PlatformCALayerMac::updateCustomAppearance):
* platform/mac/ScrollbarThemeMac.h: Export some static functions.
* platform/mac/ScrollbarThemeMac.mm: Change code to use static functions.
(WebCore::ScrollbarThemeMac::setUpOverhangAreaBackground):
(WebCore::ScrollbarThemeMac::removeOverhangAreaBackground):
(WebCore::ScrollbarThemeMac::setUpOverhangAreaShadow):
(WebCore::ScrollbarThemeMac::removeOverhangAreaShadow):
(WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
(WebCore::ScrollbarThemeMac::setUpContentShadowLayer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateRootLayerPosition): No need to call
setUpContentShadowLayer() now when size changes; PlatformCALayer takes
care of that.
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers): Now set
custom appearance via GraphicsLayer.

Source/WebKit2:

Reviewed by Tim Horton.

With UI-side compositing, we need to apply the overhang shadow and linen
background to layers in the UI process. Achieve this by setting a "custom
appearance" flag on layers that need a shadow or linen background, and
migrating this flag to the UI process. Static functions on ScrollbarThemeMac
are exposed to do the actual setting.

* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::updateCustomAppearance): Use ScrollbarThemeMac to update the
appearance.
(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::dumpChangedLayers):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::setBounds): If the bounds change, also set the
CustomAppearanceChanged bit so that the UI side updates the shadow bounds
(done here because the UI side is not stateful).
(PlatformCALayerRemote::requiresCustomAppearanceUpdateOnBoundsChange):
(PlatformCALayerRemote::customAppearance):
(PlatformCALayerRemote::updateCustomAppearance):
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160672 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSource/JavaScriptCore: [Win] Remove dead code after conversion to VS2013
bfulgham@apple.com [Tue, 17 Dec 2013 00:06:20 +0000 (00:06 +0000)]
Source/JavaScriptCore: [Win] Remove dead code after conversion to VS2013
https://bugs.webkit.org/show_bug.cgi?id=125795

Reviewed by Darin Adler.

* API/tests/testapi.c: Remove local nan implementation

Source/WebCore: [Win] Remove dead code after converstion to VS2013
https://bugs.webkit.org/show_bug.cgi?id=125795

Reviewed by Darin Adler.

* WebCorePrefix.h: Remove VS2012 include kludge.
* loader/FTPDirectoryParser.cpp: Remove gmtime workaround code.
* page/DOMWindow.cpp: Remove older pointer-based open implementation.
* page/DOMWindow.h: Ditto
* platform/text/TextEncodingRegistry.cpp:
(WebCore::TextEncodingNameHash::equal): Remove optimization bug workaround
* testing/Internals.cpp:
(WebCore::Internals::openDummyInspectorFrontend): Remove compiler workaround

Source/WebKit: [Win] Remove dead code after conversion to VS2013
https://bugs.webkit.org/show_bug.cgi?id=125795

Reviewed by Darin Adler.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Remove unused function exports.

Source/WTF: [Win] Remove dead code after conversion to VS2013
https://bugs.webkit.org/show_bug.cgi?id=125795

Reviewed by Darin Adler.

* wtf/Assertions.h: Include <inttypes.h> now that it exists.
* wtf/Compiler.h: Update compiler checks for VS2013, and
enable support for NEVER_INLINE
* wtf/HashFunctions.h:
(WTF::PtrHash::hash): Remove compiler workaround.
* wtf/MathExtras.h: Remove C99 functions that are now supplied
by the MS runtime library.
* wtf/Platform.h: Remove old MSVC support flags.
* wtf/StdLibExtras.h: Remove old MSVC workaround code.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160671 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCache getters and custom accessors on the prototype chain
oliver@apple.com [Tue, 17 Dec 2013 00:01:01 +0000 (00:01 +0000)]
Cache getters and custom accessors on the prototype chain
https://bugs.webkit.org/show_bug.cgi?id=125602

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Support caching of custom getters and accessors on the prototype chain.
This is relatively trivial and just requires a little work compared to
the direct access mode as we're under more register pressure.

* bytecode/StructureStubInfo.h:
  Removed the unsued initGetByIdProto as it was confusing to still have it present.
* jit/Repatch.cpp:
(JSC::generateProtoChainAccessStub):
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):

Tools:

Make sure bencher scripts also make noInline exist

* Scripts/bencher:

LayoutTests:

Added a bunch of new tests

* js/regress/chain-custom-getter-expected.txt: Added.
* js/regress/chain-custom-getter.html: Added.
* js/regress/chain-getter-access-expected.txt: Added.
* js/regress/chain-getter-access.html: Added.
* js/regress/proto-custom-getter-expected.txt: Added.
* js/regress/proto-custom-getter.html: Added.
* js/regress/proto-getter-access-expected.txt: Added.
* js/regress/proto-getter-access.html: Added.
* js/regress/resources/regress-pre.js:
  Made sure that noInline always exists (either using testRunner.neverInlineFunction
  or a no-op function if nothing else is available)
* js/regress/script-tests/chain-custom-getter.js: Added.
(foo):
* js/regress/script-tests/chain-getter-access.js: Added.
(o.get value):
(foo):
* js/regress/script-tests/proto-custom-getter.js: Added.
(foo):
* js/regress/script-tests/proto-getter-access.js: Added.
(o.get value):
(foo):
* js/regress/script-tests/simple-custom-getter.js: Added.
(cycles.30000.numberObject.Number.foo):
* js/regress/script-tests/simple-getter-access.js: Added.
(o.get value):
(foo):
* js/regress/simple-custom-getter-expected.txt: Added.
* js/regress/simple-custom-getter.html: Added.
* js/regress/simple-getter-access-expected.txt: Added.
* js/regress/simple-getter-access.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160670 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS] Upstream WebCore/history changes
dbates@webkit.org [Mon, 16 Dec 2013 23:54:09 +0000 (23:54 +0000)]
[iOS] Upstream WebCore/history changes
https://bugs.webkit.org/show_bug.cgi?id=125769

Reviewed by Darin Adler.

* history/BackForwardClient.h:
* history/BackForwardList.cpp:
(WebCore::BackForwardList::current): Added; guard by PLATFORM(IOS). Also added FIXME comment.
(WebCore::BackForwardList::setCurrent): Added; guard by PLATFORM(IOS). Also added FIXME comment.
(WebCore::BackForwardList::clearAllPageCaches): Added; guarded by PLATFORM(IOS).
* history/BackForwardList.h:
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore): Added iOS-specific code.
(WebCore::CachedFrame::CachedFrame): Ditto.
* history/CachedPage.cpp:
(WebCore::CachedPage::restore): Ditto.
* history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem): Ditto.
* history/HistoryItem.h:
(WebCore::HistoryItem::scale): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::scaleIsInitial): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::setScale): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::viewportArguments): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::setViewportArguments): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::bookmarkID): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::setBookmarkID): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::sharedLinkUniqueIdentifier): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::setSharedLinkUniqueIdentifier): Added; guarded by PLATFORM(IOS).
* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision): Added iOS-specific code.
(WebCore::logCanCachePageDecision): Ditto.
(WebCore::PageCache::canCachePageContainingThisFrame): Ditto.
(WebCore::PageCache::canCache): Ditto.
(WebCore::PageCache::pruneToCapacityNow): Added.
* history/PageCache.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160669 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS] Upstream WebCore/svg changes
dbates@webkit.org [Mon, 16 Dec 2013 23:25:31 +0000 (23:25 +0000)]
[iOS] Upstream WebCore/svg changes
https://bugs.webkit.org/show_bug.cgi?id=125784

Reviewed by Darin Adler.

* svg/SVGAElement.cpp:
(WebCore::SVGAElement::willRespondToMouseClickEvents): Added.
* svg/SVGAElement.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::parseAttribute): Added attribute listeners for touch{cancel, end, move, start},
and gesture{change, end, start}.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160668 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDatabaseProcess: Implement openTransaction()
beidson@apple.com [Mon, 16 Dec 2013 23:23:34 +0000 (23:23 +0000)]
DatabaseProcess: Implement openTransaction()
https://bugs.webkit.org/show_bug.cgi?id=125794

Reviewed by Darin Adler.

This patch hooks up all of the necessary infrastructure to open a uniquely
identified transaction in the DatabaseProcess backing store.

The transaction itself is not yet functional.

Add openTransaction messaging to the WebProcess side:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::isClosed):
(WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::openTransaction):
(WebKit::WebIDBServerConnection::didOpenTransaction):
(WebKit::WebIDBServerConnection::deleteObjectStore):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

Add openTransaction messaging to the DatabaseProcess side:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::openTransaction):
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

Add a hashable identifier that represents a connection/transactionID pair:
* DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h: Added.
(WebKit::IDBTransactionIdentifier::IDBTransactionIdentifier):
(WebKit::IDBTransactionIdentifier::isolatedCopy):
(WebKit::IDBTransactionIdentifier::isEmpty):
(WebKit::IDBTransactionIdentifier::hash):
(WebKit::IDBTransactionIdentifier::operator==):
(WebKit::IDBTransactionIdentifier::isHashTableDeletedValue):
(WebKit::IDBTransactionIdentifierHash::hash):
(WebKit::IDBTransactionIdentifierHash::equal):
(WebKit::IDBTransactionIdentifierHashTraits::isEmptyValue):

Allow that identifier to be cross-thread copied:
* Shared/WebCrossThreadCopier.cpp:
(WebCore::::copy):
* Shared/WebCrossThreadCopier.h:

Ask the backing store to open this uniquely identified transaction:
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::openTransaction):
(WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::didOpenBackingStoreTransaction):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

Add the backing store implementation for opening a transaction:
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

Object to represent the backing store transaction itself, to be used in future patches:
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
(WebKit::SQLiteIDBTransaction::SQLiteIDBTransaction):
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
(WebKit::SQLiteIDBTransaction::create):
(WebKit::SQLiteIDBTransaction::identifier):

* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160667 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoChange slow path result to take a void* instead of a ExecState*.
mark.lam@apple.com [Mon, 16 Dec 2013 22:52:36 +0000 (22:52 +0000)]
Change slow path result to take a void* instead of a ExecState*.
https://bugs.webkit.org/show_bug.cgi?id=125802.

Reviewed by Filip Pizlo.

This is in preparation for C Stack OSR entry work that is coming soon.
In the OSR entry case, we'll be returning a topOfFrame pointer value
instead of the ExecState*.

* offlineasm/cloop.rb:
* runtime/CommonSlowPaths.h:
(JSC::encodeResult):
(JSC::decodeResult):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160665 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix crash when trying to load a null HTML string
andersca@apple.com [Mon, 16 Dec 2013 22:51:00 +0000 (22:51 +0000)]
Fix crash when trying to load a null HTML string
https://bugs.webkit.org/show_bug.cgi?id=125801

Reviewed by Dan Bernstein.

Source/WebKit2:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadString):
Check that the string is not null before calling is8Bit(). Also, Use the latin1 encoding for
8-bit strings, since Latin 1 strings are not necessarily valid UTF-8 strings.

Tools:

* TestWebKitAPI/Tests/WebKit2/WillLoad.cpp:
(TestWebKitAPI::TEST_F):
Update test results.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160664 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Mac] Cache partitioning asserts when associated NSURLRequest is nil
jpfau@apple.com [Mon, 16 Dec 2013 22:41:56 +0000 (22:41 +0000)]
[Mac] Cache partitioning asserts when associated NSURLRequest is nil
https://bugs.webkit.org/show_bug.cgi?id=125716

Reviewed by Darin Adler.

* platform/network/mac/ResourceRequestMac.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160663 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Cocoa] Expose whether the page contains only secure content
mitz@apple.com [Mon, 16 Dec 2013 22:17:24 +0000 (22:17 +0000)]
[Cocoa] Expose whether the page contains only secure content
https://bugs.webkit.org/show_bug.cgi?id=125758

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController hasOnlySecureContent]): Added a getter that calls
PageLoadState::hasOnlySecureContent.
* UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: Declared new property.

* UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::commitChanges): Notify observers of hasOnlySecureContent() changes.
(WebKit::PageLoadState::reset): Reset hasInsecureContent in the uncommitted state.
(WebKit::PageLoadState::hasOnlySecureContent): Added. Returns true if there is no insecure
content and the URL is an HTTPS URL.
(WebKit::PageLoadState::didCommitLoad): Set hasInsecureContent to false in the uncommitted
state.
(WebKit::PageLoadState::didDisplayOrRunInsecureContent): Set hasInsecureContent to true in
the uncommitted state.
* UIProcess/PageLoadState.h:
(WebKit::PageLoadState::Data::Data): Added hasInsecureContent member.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didDisplayInsecureContentForFrame): Call
PageLoadState::didDisplayOrRunInsecureContent and commit the change before calling out to
the client.
(WebKit::WebPageProxy::didRunInsecureContentForFrame): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160662 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2] The NetworkProcess tries to load SecItemShim.dylib on iOS
benjamin@webkit.org [Mon, 16 Dec 2013 22:07:18 +0000 (22:07 +0000)]
[WK2] The NetworkProcess tries to load SecItemShim.dylib on iOS
https://bugs.webkit.org/show_bug.cgi?id=125800

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-16
Reviewed by Dan Bernstein.

Give the NetworkService its own Info.plist configured without the Shim.

* Configurations/NetworkService.xcconfig:
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: Renamed from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160661 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDatabaseProcess: Fix a few bugs with opening an IDB connection
beidson@apple.com [Mon, 16 Dec 2013 21:26:59 +0000 (21:26 +0000)]
DatabaseProcess: Fix a few bugs with opening an IDB connection
https://bugs.webkit.org/show_bug.cgi?id=125798

Reviewed by Alexey Proskuryakov.

Source/WebCore:

* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::processPendingCalls): As the comment says, we should only
  early return when there *are* pending delete calls. The logic here was backwards,
  preventing the backend from ever getting to processPendingOpenCalls().

Source/WebKit2:

Database metadata always needs a non-zero database identifier, unique at runtime.

* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::generateDatabaseId):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160659 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUserData should encode and decode API::Data objects
andersca@apple.com [Mon, 16 Dec 2013 20:47:00 +0000 (20:47 +0000)]
UserData should encode and decode API::Data objects
https://bugs.webkit.org/show_bug.cgi?id=125799

Reviewed by Beth Dakin.

* Shared/APIData.cpp: Added.
(API::Data::encode):
(API::Data::decode):
* Shared/APIData.h:
* Shared/UserData.cpp:
(WebKit::UserData::encode):
(WebKit::UserData::decode):
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160657 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFixed Win64 build on VS2013.
commit-queue@webkit.org [Mon, 16 Dec 2013 20:44:01 +0000 (20:44 +0000)]
Fixed Win64 build on VS2013.
https://bugs.webkit.org/show_bug.cgi?id=125753

Patch by Alex Christensen <achristensen@webkit.org> on 2013-12-16
Reviewed by Brent Fulgham.

Source/JavaScriptCore:

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCoreGenerated.vcxproj:
* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/LLIntAssembly.vcxproj:
* JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/LLIntDesiredOffsets.vcxproj:
* JavaScriptCore.vcxproj/LLInt/LLIntOffsetsExtractor/LLIntOffsetsExtractor.vcxproj:
* JavaScriptCore.vcxproj/jsc/jsc.vcxproj:
* JavaScriptCore.vcxproj/testRegExp/testRegExp.vcxproj:
* JavaScriptCore.vcxproj/testapi/testapi.vcxproj:
Added correct PlatformToolset for 64-bit builds.

Source/ThirdParty/ANGLE:

* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/preprocessor.vcxproj:
* ANGLE.vcxproj/translator_common.vcxproj:
* ANGLE.vcxproj/translator_glsl.vcxproj:
* ANGLE.vcxproj/translator_hlsl.vcxproj:
Added correct PlatformToolset for 64-bit builds.

Source/WebCore:

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCoreTestSupport.vcxproj:
Added correct PlatformToolset for 64-bit builds.

Source/WebInspectorUI:

* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
Added 64-bit configuration.

Source/WebKit:

* WebKit.vcxproj/WebKit.sln:
Use new 64-bit WebInspectorUI configurations.
* WebKit.vcxproj/Interfaces/Interfaces.vcxproj:
* WebKit.vcxproj/WebKit/WebKit.vcxproj:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj:
* WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj:
Added correct PlatformToolset for 64-bit builds.

Source/WTF:

* WTF.vcxproj/WTF.vcxproj:
Added correct PlatformToolset for 64-bit builds.

Tools:

* DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTree.vcxproj:
* DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreeLauncher.vcxproj:
* DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiff.vcxproj:
* DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiffLauncher.vcxproj:
* DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePlugin.vcxproj:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
* WinLauncher/WinLauncher.vcxproj/WinLauncher.vcxproj:
* WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:
* win/record-memory/record-memory.vcxproj:
Added correct PlatformToolset for 64-bit builds.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160655 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd a menu option to MiniBrowser to enable UI-side compositing
simon.fraser@apple.com [Mon, 16 Dec 2013 20:41:03 +0000 (20:41 +0000)]
Add a menu option to MiniBrowser to enable UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=125793

Reviewed by Anders Carlsson.

Make it possible to test UI-side compositing in MiniBrowser WK2 windows.

* MiniBrowser/mac/BrowserWindowController.h: Add optional protocol method
to toggle UI-side compositing.
* MiniBrowser/mac/MainMenu.xib: Add menu item to Debug menu.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController isUISideCompositingEnabled]):
(-[WK2BrowserWindowController toggleUISideCompositing:]):
(-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]):
Adjust the window title to indicate whether the window is using UI-side compositing.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160654 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRename WebData to API::Data
andersca@apple.com [Mon, 16 Dec 2013 20:21:24 +0000 (20:21 +0000)]
Rename WebData to API::Data
https://bugs.webkit.org/show_bug.cgi?id=125797

Reviewed by Beth Dakin.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
(-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]):
* Shared/API/c/WKData.cpp:
(WKDataGetTypeID):
(WKDataCreate):
* Shared/API/c/WKSharedAPICast.h:
* Shared/API/c/mac/WKWebArchive.cpp:
(WKWebArchiveCopyData):
* Shared/API/c/mac/WKWebArchiveResource.cpp:
(WKWebArchiveResourceCopyData):
* Shared/APIData.h: Renamed from Source/WebKit2/Shared/WebData.h.
(API::Data::createWithoutCopying):
(API::Data::create):
(API::Data::~Data):
(API::Data::bytes):
(API::Data::size):
(API::Data::dataReference):
(API::Data::Data):
(API::Data::fastFreeBytes):
* Shared/Cocoa/WKNSData.h:
(WebKit::wrapper):
* Shared/Cocoa/WKNSData.mm:
(-[WKNSData dealloc]):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):
* Shared/WebArchive.cpp:
(WebKit::WebArchive::create):
(WebKit::WebArchive::WebArchive):
(WebKit::WebArchive::data):
* Shared/WebArchive.h:
* Shared/WebArchiveResource.cpp:
(WebKit::WebArchiveResource::create):
(WebKit::WebArchiveResource::WebArchiveResource):
(WebKit::WebArchiveResource::data):
* Shared/WebArchiveResource.h:
* UIProcess/API/C/WKPage.cpp:
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
* UIProcess/API/mac/WKPrintingView.mm:
(pageDidDrawToPDF):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::createData):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::didCancel):
* UIProcess/Downloads/DownloadProxy.h:
(WebKit::DownloadProxy::resumeData):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadData):
(WebKit::WebPageProxy::loadWebArchiveData):
(WebKit::WebPageProxy::dataCallback):
(WebKit::WebPageProxy::saveDataToFileInDownloadsFolder):
(WebKit::WebPageProxy::savePDFToFileInDownloadsFolder):
* UIProcess/WebPageProxy.h:
* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::saveDataToFileInDownloadsFolder):
* UIProcess/WebUIClient.h:
* UIProcess/cf/WebPageProxyCF.cpp:
(WebKit::WebPageProxy::sessionStateData):
(WebKit::WebPageProxy::restoreFromSessionStateData):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleCreateWKDataFromUInt8Array):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::createWebDataFromUint8Array):
* WebProcess/InjectedBundle/InjectedBundle.h:
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
(WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadDataImpl):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160653 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPackage up some data about scrollability into a struct for use in the scrolling tree
simon.fraser@apple.com [Mon, 16 Dec 2013 19:57:27 +0000 (19:57 +0000)]
Package up some data about scrollability into a struct for use in the scrolling tree
https://bugs.webkit.org/show_bug.cgi?id=125792

Reviewed by Beth Dakin.

Both scrolling state nodes and scrolling nodes share a set of parameters
relating to scrollability and rubberbanding, so package them into a struct
for re-use. Send the struct wholesale to the scrolling thread.

* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollableAreaParameters::ScrollableAreaParameters): New struct.
(WebCore::ScrollableAreaParameters::operator==):
* page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): Reordering.
(WebCore::ScrollingStateScrollingNode::setScrollOrigin): Moved.
(WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters): Set the parameters all at once.
(WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
* page/scrolling/ScrollingStateScrollingNode.h: Getters access the struct. Reorder member variables.
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
* page/scrolling/ScrollingTreeScrollingNode.h:
(WebCore::ScrollingTreeScrollingNode::scrollOrigin):
(WebCore::ScrollingTreeScrollingNode::horizontalScrollElasticity):
(WebCore::ScrollingTreeScrollingNode::verticalScrollElasticity):
(WebCore::ScrollingTreeScrollingNode::hasEnabledHorizontalScrollbar):
(WebCore::ScrollingTreeScrollingNode::hasEnabledVerticalScrollbar):
(WebCore::ScrollingTreeScrollingNode::canHaveScrollbars):
* page/scrolling/mac/ScrollingCoordinatorMac.h:
* page/scrolling/mac/ScrollingCoordinatorMac.mm: Removed setScrollParametersForNode().
(WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated): Set the params in this
function. Reordering.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160652 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCTTE: Convert more of SVG to use references
commit-queue@webkit.org [Mon, 16 Dec 2013 19:23:24 +0000 (19:23 +0000)]
CTTE: Convert more of SVG to use references
https://bugs.webkit.org/show_bug.cgi?id=125762

Patch by Sam Weinig <sam@webkit.org> on 2013-12-16
Reviewed by Darin Adler.

* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::imageChanged):
* rendering/svg/RenderSVGResource.cpp:
(WebCore::removeFromCacheAndInvalidateDependencies):
(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
* rendering/svg/RenderSVGResource.h:
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::removeClientFromCache):
* rendering/svg/RenderSVGResourceClipper.h:
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
(WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):
(WebCore::RenderSVGResourceContainer::markClientForInvalidation):
(WebCore::RenderSVGResourceContainer::removeClient):
* rendering/svg/RenderSVGResourceContainer.h:
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::removeClientFromCache):
(WebCore::RenderSVGResourceFilter::postApplyResource):
(WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
* rendering/svg/RenderSVGResourceFilter.h:
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::removeClientFromCache):
* rendering/svg/RenderSVGResourceGradient.h:
* rendering/svg/RenderSVGResourceMarker.cpp:
(WebCore::RenderSVGResourceMarker::removeClientFromCache):
* rendering/svg/RenderSVGResourceMarker.h:
* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::removeClientFromCache):
* rendering/svg/RenderSVGResourceMasker.h:
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::removeClientFromCache):
* rendering/svg/RenderSVGResourcePattern.h:
* rendering/svg/RenderSVGResourceSolidColor.h:
(WebCore::RenderSVGResourceSolidColor::removeClientFromCache):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::invalidateResourcesOfChildren):
* rendering/svg/SVGResources.cpp:
(WebCore::SVGResources::removeClientFromCache):
* rendering/svg/SVGResources.h:
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientLayoutChanged):
(WebCore::SVGResourcesCache::clientStyleChanged):
(WebCore::SVGResourcesCache::clientWasAddedToTree):
(WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
(WebCore::SVGResourcesCache::clientDestroyed):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::applyResultsToTarget):
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged):
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::notifyFinished):
* svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::childrenChanged):
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::invalidateFilterPrimitiveParent):
* svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
(WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::svgAttributeChanged):
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::svgAttributeChanged):
* svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::svgAttributeChanged):
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::svgAttributeChanged):
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::svgAttributeChanged):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::svgAttributeChanged):
(WebCore::SVGPathElement::invalidateMPathDependencies):
(WebCore::SVGPathElement::pathSegListChanged):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::svgAttributeChanged):
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::svgAttributeChanged):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::svgAttributeChanged):
(WebCore::SVGSVGElement::setupInitialView):
* svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::svgAttributeChanged):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::svgAttributeChanged):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::svgAttributeChanged):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::svgAttributeChanged):
* svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::svgAttributeChanged):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::svgAttributeChanged):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160651 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r160645.
commit-queue@webkit.org [Mon, 16 Dec 2013 19:08:56 +0000 (19:08 +0000)]
Unreviewed, rolling out r160645.
http://trac.webkit.org/changeset/160645
https://bugs.webkit.org/show_bug.cgi?id=125787

Change breaks test-webkitpy (Requested by bfulgham on
#webkit).

* Scripts/prepare-ChangeLog:
(get_selector_line_ranges_for_css):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160650 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[ASAN] WebKitLauncher: Include libasancrashreporter.dylib in DYLD_INSERT_LIBRARIES...
dfarler@apple.com [Mon, 16 Dec 2013 18:17:01 +0000 (18:17 +0000)]
[ASAN] WebKitLauncher: Include libasancrashreporter.dylib in DYLD_INSERT_LIBRARIES if it exists
https://bugs.webkit.org/show_bug.cgi?id=124610

Reviewed by Mark Rowe.

* WebKitLauncher/WebKitNightlyEnabler.m:
(enableWebKitNightlyBehaviour):
Add libasancrashreporter.dylib to DYLD_INSERT_LIBRARIES.
* WebKitLauncher/main.m:
(main):
Include both libasancrashreporter and the nightly enabler to
the list of libraries to insert.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160649 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDelete RVCT related code parts.
commit-queue@webkit.org [Mon, 16 Dec 2013 18:10:58 +0000 (18:10 +0000)]
Delete RVCT related code parts.
https://bugs.webkit.org/show_bug.cgi?id=125626

Patch by Peter Szanka <h868064@stud.u-szeged.hu> on 2013-12-16
Reviewed by Darin Adler.

Source/JavaScriptCore:

* assembler/ARMAssembler.cpp:
* assembler/ARMAssembler.h:
(JSC::ARMAssembler::cacheFlush):
* assembler/MacroAssemblerARM.cpp:
(JSC::isVFPPresent):
* jit/JITStubsARM.h:
* jit/JITStubsARMv7.h:

Source/WebKit/blackberry:

* WebKitSupport/AboutData.cpp:
(BlackBerry::WebKit::configPage):

Source/WTF:

* wtf/Assertions.h:
* wtf/Compiler.h:
* wtf/FastMalloc.h:
* wtf/Platform.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160648 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoResolve inconsistant style warning caused by r160319.
commit-queue@webkit.org [Mon, 16 Dec 2013 18:04:13 +0000 (18:04 +0000)]
Resolve inconsistant style warning caused by r160319.
https://bugs.webkit.org/show_bug.cgi?id=125772

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-12-16
Reviewed by Darin Adler.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_for_extra_new_line_at_eof):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_newline_at_eof):
(CppStyleTest.test_extra_newlines_at_eof):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160647 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove mock_drt.py: parse_options() - --test-shell and --pixel-tests=<path>
commit-queue@webkit.org [Mon, 16 Dec 2013 18:01:07 +0000 (18:01 +0000)]
Remove mock_drt.py: parse_options() - --test-shell and --pixel-tests=<path>
https://bugs.webkit.org/show_bug.cgi?id=125780

Patch by Eva Balazsfalvi <balazsfalvi.eva@stud.u-szeged.hu> on 2013-12-16
Reviewed by Darin Adler.

* Scripts/webkitpy/port/mock_drt.py:
(main):
(parse_options):
(MockDRT.write_test_output):
* Scripts/webkitpy/port/mock_drt_unittest.py:
(MockDRTTest.assertTest):
(MockDRTTest.test_reftest_mismatch):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160646 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoprepare-Changelog treats CSS keyframes as mismatched parentheses.
commit-queue@webkit.org [Mon, 16 Dec 2013 17:58:16 +0000 (17:58 +0000)]
prepare-Changelog treats CSS keyframes as mismatched parentheses.
https://bugs.webkit.org/show_bug.cgi?id=125435

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-12-16
Reviewed by Darin Adler.

* Scripts/prepare-ChangeLog:
(get_selector_line_ranges_for_css):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160645 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Shapes] Add support for the computing the included intervals for a BoxShape
hmuller@adobe.com [Mon, 16 Dec 2013 17:55:37 +0000 (17:55 +0000)]
[CSS Shapes] Add support for the computing the included intervals for a BoxShape
https://bugs.webkit.org/show_bug.cgi?id=124605

Reviewed by Andreas Kling.

Source/WebCore:

Setting shape-inside to content-box now works.

Changed FloatRoundedRect::xInterceptsAtY() to include the bottom edge of
the rectangle and to check for the special cases where any or all of the
corner radii are empty.

Test: fast/shapes/shape-inside/shape-inside-content-box.html

* platform/graphics/FloatRoundedRect.cpp:
(WebCore::FloatRoundedRect::xInterceptsAtY):
* rendering/shapes/BoxShape.cpp:
(WebCore::BoxShape::getIncludedIntervals): Replaced the stub implementation with logic that's similar to getExcludedIntervals().
* rendering/shapes/ShapeInfo.cpp:
(WebCore::::computedShape): Removed a meaningless assert.
* rendering/shapes/ShapeInsideInfo.cpp:
(WebCore::ShapeInsideInfo::isEnabledFor):

LayoutTests:

Check that shape-inside:content-box works with and without border radii.

* fast/shapes/shape-inside/shape-inside-content-box-expected.html: Added.
* fast/shapes/shape-inside/shape-inside-content-box.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160644 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix build warning in files including DrawingAreaProxy.h
m.pakula@samsung.com [Mon, 16 Dec 2013 17:01:37 +0000 (17:01 +0000)]
Fix build warning in files including DrawingAreaProxy.h
https://bugs.webkit.org/show_bug.cgi?id=125778

Reviewed by Anders Carlsson.

Remove unused parameters from method declaration.

* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::adjustTransientZoom):
(WebKit::DrawingAreaProxy::commitTransientZoom):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160643 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPrettyPatch.rb doesn't handle diffs where lines matching /^--/ are missing properly
commit-queue@webkit.org [Mon, 16 Dec 2013 16:45:11 +0000 (16:45 +0000)]
PrettyPatch.rb doesn't handle diffs where lines matching /^--/ are missing properly
https://bugs.webkit.org/show_bug.cgi?id=54928

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-16
Reviewed by Adam Roben.

PrettyPatch will now check if the next line after /^--- / matches /^+++ /, and if not,
then it's just a normal line

* PrettyPatch/PrettyPatch.rb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160642 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[ATK] Expose accessibility objects for more WAI-ARIA roles
mario.prada@samsung.com [Mon, 16 Dec 2013 16:18:30 +0000 (16:18 +0000)]
[ATK] Expose accessibility objects for more WAI-ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=125596

Reviewed by Chris Fleizach.

Source/WebCore:

Exposed accessibility objects with the proper AtkRoles, some of
them to be provided by the next stable release of ATK.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):

Tools:

Add mappings to DRT & WKTR for the newly exposed roles.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

Update test to update expectations.

* platform/gtk/accessibility/roles-exposed-expected.txt:
* platform/gtk/accessibility/roles-exposed.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160641 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix QuickTime plug-in replacement scripting bugs
eric.carlson@apple.com [Mon, 16 Dec 2013 16:04:50 +0000 (16:04 +0000)]
Fix QuickTime plug-in replacement scripting bugs
https://bugs.webkit.org/show_bug.cgi?id=125717

Reviewed by Sam Weinig.

Source/WebCore:

No new tests, existing test updated.

* Modules/plugins/QuickTimePluginReplacement.js:
(Replacement): Change '' to "" to avoid "Empty character constant" warning when creating
    Derived Sources.
(Replacement.prototype.createVideoElement): Handle qtsrc attribute. Remember base url.
(Replacement.prototype.setURL): Resolve urls relative to base.

LayoutTests:

* plugins/quicktime-plugin-replacement-expected.txt:
* plugins/quicktime-plugin-replacement.html: Update to test 'qtsrc' attribute, and to check
    that relative urls are resolved correctly.
* plugins/resources/yellow.mov: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160640 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCatch callers who forget to use initializeStyle
darin@apple.com [Mon, 16 Dec 2013 16:00:42 +0000 (16:00 +0000)]
Catch callers who forget to use initializeStyle
https://bugs.webkit.org/show_bug.cgi?id=125763

Reviewed by Andreas Kling.

A recent fix was because a caller used setStyle first rather than using
initializeStyle. This patch adds an assertion to catch cases where we do
that so we see the mistake right away instead of indirectly later.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::initializeStyle): Simplified an assertion.
(WebCore::RenderElement::setStyle): Added an assertion that m_hasInitializedStyle
is true, with an exception for RenderView, which needs to be created before we
have the correct style computed for it (at least for now). Also broke out an
assertion that was using &&, since we would prefer to know which clause failed,
making separate assertions more useful than a combined assertion.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160639 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[ATK] Expose accessibility objects with ATK_ROLE_CHECK_MENU_ITEM
mario.prada@samsung.com [Mon, 16 Dec 2013 15:58:34 +0000 (15:58 +0000)]
[ATK] Expose accessibility objects with ATK_ROLE_CHECK_MENU_ITEM
https://bugs.webkit.org/show_bug.cgi?id=125594

Reviewed by Chris Fleizach.

Source/WebCore:

Exposed accessibility objects with checkmenuitem role with the
proper AtkRole, to be provided by the next stable release of ATK.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):

Tools:

Add mappings to DRT & WKTR for checkmenuitem role.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

Update test to update expectations.

* platform/gtk/accessibility/roles-exposed-expected.txt:
* platform/gtk/accessibility/roles-exposed.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160638 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[ATK] Expose accessibility objects with ATK_ROLE_ARTICLE
mario.prada@samsung.com [Mon, 16 Dec 2013 15:17:58 +0000 (15:17 +0000)]
[ATK] Expose accessibility objects with ATK_ROLE_ARTICLE
https://bugs.webkit.org/show_bug.cgi?id=125587

Reviewed by Chris Fleizach.

Source/WebCore:

Exposed accessibility objects with article role with the proper
AtkRole, to be provided by the next stable release of ATK.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):

Tools:

Add mappings to DRT & WKTR for article roles.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

Update test to unskip article objects and update expectations.

* accessibility/aria-mappings-expected.txt:
* platform/gtk/accessibility/roles-exposed-expected.txt:
* platform/gtk/accessibility/roles-exposed.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160637 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[FTL] Allow EFL to build FTL with the build-jsc script.
commit-queue@webkit.org [Mon, 16 Dec 2013 15:08:27 +0000 (15:08 +0000)]
[FTL] Allow EFL to build FTL with the build-jsc script.
https://bugs.webkit.org/show_bug.cgi?id=125774

Patch by Dániel Bátyai <dbatyai.u-szeged@partner.samsung.com> on 2013-12-16
Reviewed by Zoltan Herczeg.

* Scripts/build-jsc:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160636 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Fix GTK+ build after r160549.
carlosgc@webkit.org [Mon, 16 Dec 2013 14:56:43 +0000 (14:56 +0000)]
Unreviewed. Fix GTK+ build after r160549.

* GNUmakefile.am: Fix the include paths to make sure we include
the WebKit2 config.h file when building libWebKit2Platform.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160635 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd myself as a committer
k.czech@samsung.com [Mon, 16 Dec 2013 13:19:20 +0000 (13:19 +0000)]
Add myself as a committer

Unreviewed.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160634 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Grid Layout] Fix the preferred logical widths code to work with spanning grid...
svillar@igalia.com [Mon, 16 Dec 2013 12:08:32 +0000 (12:08 +0000)]
[CSS Grid Layout] Fix the preferred logical widths code to work with spanning grid items
https://bugs.webkit.org/show_bug.cgi?id=123994

Reviewed by Andreas Kling.

From Blink r159189 by <jchaffraix@chromium.org>

Source/WebCore:

There was no definition in the specs for the intrinsic / preferred
logical widths on the grid element. The following was proposed to
the WG and later accepted:
- The sum of the grid tracks' UsedBreadth is the minimum logical width
- The sum of the grid tracks' MaxBreadth is the maximum logical width

http://lists.w3.org/Archives/Public/www-style/2013Oct/0054.html
for more information.

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
(WebCore::RenderGrid::minContentForChild):
(WebCore::RenderGrid::maxContentForChild):
* rendering/RenderGrid.h:

LayoutTests:

Extended the test case to include spanning grid items.

* fast/css-grid-layout/grid-preferred-logical-widths-expected.txt:
* fast/css-grid-layout/grid-preferred-logical-widths.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160633 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] can't build from trunk: WebKitCookieManager: 'WebString' was not declared in...
svillar@igalia.com [Mon, 16 Dec 2013 11:15:54 +0000 (11:15 +0000)]
[GTK] can't build from trunk: WebKitCookieManager: 'WebString' was not declared in this scope
https://bugs.webkit.org/show_bug.cgi?id=125759

Reviewed by Carlos Garcia Campos.

Renamed WebString to API::String after r160608.

* UIProcess/API/gtk/WebKitCookieManager.cpp:
(webkitCookieManagerGetDomainsWithCookiesCallback):
* UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
(webkit_file_chooser_request_get_mime_types):
(webkit_file_chooser_request_get_mime_types_filter):
(webkit_file_chooser_request_get_selected_files):
* UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
(webkit_form_submission_request_get_text_fields):
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_set_web_extensions_directory):
(webkit_web_context_prefetch_dns):
* UIProcess/API/gtk/WebKitWebViewGroup.cpp:
(toAPIArray):
* WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
(webkitWebExtensionDidReceiveMessage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160632 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd support for maction@toggle
commit-queue@webkit.org [Mon, 16 Dec 2013 06:53:38 +0000 (06:53 +0000)]
Add support for maction@toggle
https://bugs.webkit.org/show_bug.cgi?id=120059

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-12-15
Reviewed by Chris Fleizach.

Source/WebCore:

Test: mathml/presentation/maction-toggle.html

* mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::getSelectedChildAndIndex):
(WebCore::MathMLSelectElement::updateSelectedChild):
(WebCore::MathMLSelectElement::defaultEventHandler):
(WebCore::MathMLSelectElement::willRespondToMouseClickEvents):
(WebCore::MathMLSelectElement::toggle):
* mathml/MathMLSelectElement.h:

LayoutTests:

* mathml/presentation/maction-toggle-expected.html: Added.
* mathml/presentation/maction-toggle.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160631 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWebKit2 View Gestures: Can't pinch in past the maximum scale
timothy_horton@apple.com [Mon, 16 Dec 2013 06:39:18 +0000 (06:39 +0000)]
WebKit2 View Gestures: Can't pinch in past the maximum scale
https://bugs.webkit.org/show_bug.cgi?id=125749

Reviewed by Anders Carlsson.

Pinching in past the maximum scale should result in the zoom resisting, but continuing.

* UIProcess/mac/ViewGestureController.cpp:
(WebKit::resistanceForDelta):
Clean up the logic and apply resistance to pinching in past the maximum.

(WebKit::ViewGestureController::handleMagnificationGesture):
(WebKit::ViewGestureController::endMagnificationGesture):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160630 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMore nullptr in RenderElement
darin@apple.com [Mon, 16 Dec 2013 06:34:24 +0000 (06:34 +0000)]
More nullptr in RenderElement
https://bugs.webkit.org/show_bug.cgi?id=125764

Reviewed by Andreas Kling.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::uncachedFirstLineStyle):
(WebCore::RenderElement::updateShapeImage):
(WebCore::RenderElement::destroyLeftoverChildren):
(WebCore::RenderElement::findNextLayer):
Use nullptr in a few more places.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160629 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION: 2x regression on Dromaeo DOM query tests
rniwa@webkit.org [Mon, 16 Dec 2013 05:56:25 +0000 (05:56 +0000)]
REGRESSION: 2x regression on Dromaeo DOM query tests
https://bugs.webkit.org/show_bug.cgi?id=125377

Reviewed by Filip Pizlo.

PerformanceTests:

Added a micro-benchmark for updating a named property on document.

* Bindings/update-name-getter.html: Added.
* Skipped:

Source/JavaScriptCore:

The bug was caused by JSC not JIT'ing property access on "document" due to its type info having
HasImpureGetOwnPropertySlot flag.

Fixed the bug by new type info flag NewImpurePropertyFiresWatchpoints, which allows the baseline
JIT to generate byte code for access properties on an object with named properties (a.k.a.
custom name getter) in DOM. When a new named property appears on the object, VM is notified via
VM::addImpureProperty and fires StructureStubClearingWatchpoint added during the repatch.

* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt): Take the slow path if we have any object with impure
properties in the prototype chain.
(JSC::GetByIdStatus::computeForChain): Ditto.

* jit/Repatch.cpp:
(JSC::repatchByIdSelfAccess): Throw away the byte code when a new impure property is added on any
object in the prototype chain via StructureStubClearingWatchpoint.
(JSC::generateProtoChainAccessStub): Ditto.
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):
(JSC::tryRepatchIn): Ditto.

* runtime/JSTypeInfo.h: Added NewImpurePropertyFiresWatchpoints.
(JSC::TypeInfo::newImpurePropertyFiresWatchpoints): Added.

* runtime/Operations.h:
(JSC::normalizePrototypeChainForChainAccess): Don't exit early if VM will be notified of new
impure property even if the object had impure properties.

* runtime/Structure.h:
(JSC::Structure::takesSlowPathInDFGForImpureProperty): Added. Wraps hasImpureGetOwnPropertySlot and
asserts that newImpurePropertyFiresWatchpoints is true whenever hasImpureGetOwnPropertySlot is true.

* runtime/VM.cpp:
(JSC::VM::registerWatchpointForImpureProperty): Added.
(JSC::VM::addImpureProperty): Added. HTMLDocument calls it to notify JSC of a new impure property.

* runtime/VM.h:

Source/WebCore:

The bug was caused by JSC not JIT'ing property accesses on document because of its having
custom named getter (named properties).  This resulted in resolution of methods on document
such as getElementById to happen inside the interpreter.

Fixed the bug by using the new JSC type info flag which tells JSC to JIT property access on
document, and then notifying JSC whenever a new named property appeared on document.

Tests: js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html
       js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
       js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html
       js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html
       js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
       js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html

* bindings/js/JSDOMBinding.cpp:
(WebCore::addImpureProperty): Wraps VM::addImpureProperty.
* bindings/js/JSDOMBinding.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader): Added the support for NewImpurePropertyFiresWatchpoints.
* bindings/scripts/IDLAttributes.txt: Ditto.
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::addDocumentNamedItem): Calls addImpureProperty.
* html/HTMLDocument.idl: Added NewImpurePropertyFiresWatchpoints.

LayoutTests:

Added more regression tests for throwing away byte code when a new named property appears.

* js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-expected: Rebaselined.
* js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps.html: Fixed the test to use dfgShouldBe.
* js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-2-expected.txt: Added.
* js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html: Added.
* js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-3-expected.txt: Added.
* js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html: Added.
* js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4-expected.txt: Added.
* js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html: Added.
* js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-5-expected.txt: Added.
* js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-5.html: Added.
* js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-2-expected.txt: Added.
* js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html: Added.
* js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-3-expected.txt: Added.
* js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html: Added.
* js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4-expected.txt: Added.
* js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html: Added.
* js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5-expected.txt: Added.
* js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5.html: Added.
* js/dom/script-tests/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps.js: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160628 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRefactor option handling in WebKitTestRunner.
commit-queue@webkit.org [Mon, 16 Dec 2013 04:58:10 +0000 (04:58 +0000)]
Refactor option handling in WebKitTestRunner.
https://bugs.webkit.org/show_bug.cgi?id=123185

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-15
Reviewed by Darin Adler.

Option handling is refactored (according to the FIXME) that allows
to automatically generate the help message.

* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/GNUmakefile.am:
* WebKitTestRunner/Options.cpp: Added.
(WTR::Options::Options):
(WTR::handleOptionTimeout):
(WTR::handleOptionNoTimeout):
(WTR::handleOptionNoTimeoutAtAll):
(WTR::handleOptionVerbose):
(WTR::handleOptionGcBetweenTests):
(WTR::handleOptionPixelTests):
(WTR::handleOptionPrintSupportedFeatures):
(WTR::handleOptionComplexText):
(WTR::handleOptionAcceleratedDrawing):
(WTR::handleOptionRemoteLayerTree):
(WTR::handleOptionUnmatched):
(WTR::OptionsHandler::OptionsHandler):
(WTR::Option::Option):
(WTR::Option::matches):
(WTR::OptionsHandler::parse):
(WTR::OptionsHandler::printHelp):
* WebKitTestRunner/Options.h: Added.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160627 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Cocoa] Expose the certificate chain for the main frame
mitz@apple.com [Mon, 16 Dec 2013 04:04:10 +0000 (04:04 +0000)]
[Cocoa] Expose the certificate chain for the main frame
https://bugs.webkit.org/show_bug.cgi?id=125760

Reviewed by Sam Weinig.

* UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared certificateChain property.
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController certificateChain]): Added this getter, which calls through
to WebFrameProxy::certificateInfo.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160626 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WIn] Unreviewed build fix after r160599
bfulgham@apple.com [Mon, 16 Dec 2013 03:28:52 +0000 (03:28 +0000)]
[WIn] Unreviewed build fix after r160599

* rendering/RenderMediaControls.cpp:
(WebCore::determineState): RenderObject::theme now returns
a reference.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160625 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSource/WebCore: [Win] Unreviewed build fix
bfulgham@apple.com [Mon, 16 Dec 2013 02:28:06 +0000 (02:28 +0000)]
Source/WebCore: [Win] Unreviewed build fix

The build system continues to attempt to build QTMovieWin, even
though it is excluded from the build solution. I'm actually
removing the project files to prevent this.

* WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Removed.
* WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj.filters: Removed.

Source/WebKit: [Win] Unreviewed build fix.

* WebKit.vcxproj/WebKit.sln: Remove reference to QTMovieWin,
which we do not wish to build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160624 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Shapes] shape-outside animation does not handle 'auto' well
rwlbuis@webkit.org [Sun, 15 Dec 2013 22:34:08 +0000 (22:34 +0000)]
[CSS Shapes] shape-outside animation does not handle 'auto' well
https://bugs.webkit.org/show_bug.cgi?id=125700

Reviewed by Dirk Schulze.

Source/WebCore:

Handle the case where we are blending/animating with a null ShapeValue due to 'auto'.

Adapted LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation.html for testing this.

* page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):

LayoutTests:

Test a shape-outside animation where one keyframe uses 'auto'.

* fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
* fast/shapes/shape-outside-floats/shape-outside-animation.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160623 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS] Upstream changes to WebKit Public and Private headers
aestes@apple.com [Sun, 15 Dec 2013 21:13:54 +0000 (21:13 +0000)]
[iOS] Upstream changes to WebKit Public and Private headers
https://bugs.webkit.org/show_bug.cgi?id=125745

Reviewed by Dan Bernstein.

* Configurations/WebKit.xcconfig: Ignore headers that are completely
excluded on iOS. This prevents empty headers from being installed into
the iOS SDK.
* DOM/WebDOMOperationsPrivate.h: Upstream iOS changes.
* History/WebBackForwardListPrivate.h: Ditto.
* History/WebHistoryItem.h: Ditto.
* History/WebHistoryItemPrivate.h: Ditto.
* Misc/WebCache.h: Ditto.
* Misc/WebIconDatabase.h: Ditto.
* Misc/WebIconDatabasePrivate.h: Ditto.
* Misc/WebKitNSStringExtras.h: Ditto.
* Misc/WebLocalizableStrings.h: Ditto.
* Misc/WebNSEventExtras.h: Ditto.
* Misc/WebNSFileManagerExtras.h: Ditto.
* Misc/WebNSPasteboardExtras.h: Ditto.
* Misc/WebNSURLExtras.h: Ditto.
* Misc/WebNSViewExtras.h: Ditto.
* Misc/WebNSWindowExtras.h: Ditto.
* Panels/WebPanelAuthenticationHandler.h: Ditto.
* Plugins/WebPlugin.h: Ditto.
* Plugins/WebPluginContainer.h: Ditto.
* Plugins/WebPluginContainerPrivate.h: Ditto.
* Plugins/WebPluginDatabase.h: Ditto.
* Plugins/WebPluginPrivate.h: Ditto.
* Plugins/WebPluginViewFactory.h: Ditto.
* Plugins/WebPluginsPrivate.h: Ditto.
* Storage/WebDatabaseManagerPrivate.h: Ditto.
* WebCoreSupport/WebApplicationCache.h: Ditto.
* WebCoreSupport/WebJavaScriptTextInputPanel.h: Ditto.
* WebCoreSupport/WebKeyGenerator.h: Ditto.
* WebCoreSupport/WebSecurityOriginPrivate.h: Ditto.
* WebView/WebDashboardRegion.h: Ditto.
* WebView/WebDataSource.h: Ditto.
* WebView/WebDataSourcePrivate.h: Ditto.
* WebView/WebDocument.h: Ditto.
* WebView/WebDocumentPrivate.h: Ditto.
* WebView/WebDynamicScrollBarsView.h: Ditto.
* WebView/WebEditingDelegate.h: Ditto.
* WebView/WebEditingDelegatePrivate.h: Ditto.
* WebView/WebFormDelegate.h: Ditto.
* WebView/WebFrameLoadDelegate.h: Ditto.
* WebView/WebFramePrivate.h: Ditto.
* WebView/WebFrameView.h: Ditto.
* WebView/WebFrameViewPrivate.h: Ditto.
* WebView/WebHTMLRepresentation.h: Ditto.
* WebView/WebHTMLView.h: Ditto.
* WebView/WebHTMLViewPrivate.h: Ditto.
* WebView/WebPolicyDelegate.h: Ditto.
* WebView/WebPreferenceKeysPrivate.h: Ditto.
* WebView/WebPreferences.h: Ditto.
* WebView/WebPreferencesPrivate.h: Ditto.
* WebView/WebRenderLayer.h: Ditto.
* WebView/WebResourceLoadDelegatePrivate.h: Ditto.
* WebView/WebResourcePrivate.h: Ditto.
* WebView/WebUIDelegate.h: Ditto.
* WebView/WebUIDelegatePrivate.h: Ditto.
* WebView/WebView.h: Ditto.
* WebView/WebViewPrivate.h: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160622 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS] Upstream changes to FeatureDefines.xcconfig
aestes@apple.com [Sun, 15 Dec 2013 21:08:51 +0000 (21:08 +0000)]
[iOS] Upstream changes to FeatureDefines.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=125742

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160621 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago32-bit build fix.
mitz@apple.com [Sun, 15 Dec 2013 18:27:54 +0000 (18:27 +0000)]
32-bit build fix.

* TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.h:
* TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160620 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBuild fix for 32-bit clients.
mitz@apple.com [Sun, 15 Dec 2013 18:16:25 +0000 (18:16 +0000)]
Build fix for 32-bit clients.

* UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160619 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCrash in CSSImageGeneratorValue and RenderScrollbar
darin@apple.com [Sun, 15 Dec 2013 16:40:48 +0000 (16:40 +0000)]
Crash in CSSImageGeneratorValue and RenderScrollbar
https://bugs.webkit.org/show_bug.cgi?id=125702

Reviewed by Alexey Proskuryakov.

Source/WebCore:

This crash had two causes at two different levels. The crash fixes both.

At the RenderScrollbar level, we were setting up a new renderer, a
RenderScrollbarPart, and never calling initializeStyle. This meant that
we did not do proper style setup, which meant we did not end up calling
CSSImageGeneratorValue::addClient and so had a removeClient that was not
properly balanced by an addClient. This is the primary bug.

At the CSSImageGeneratorValue level, the addClient and removeClient
functions were not properly handling possibly-mismatched calls. It was
easy to fix the functions to work even if the calls are not perfectly
matched up, which makes the consequences of a missed addClient call
much less dire, no longer messing up reference counting. Fixing this
mitigates the risk if we made this same mistake elsewhere, although I
could not find any other places with some quick searches.

Test: fast/css/scrollbar-image-crash.html

* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::addClient): Only call ref if this will
add the first client.
(WebCore::CSSImageGeneratorValue::removeClient): Only call deref if this
removes the last client. Also added an assertion that can fire if we call
removeClient without first calling addClient, which is illegal. However,
the function handles that case without over-deref'ing itself.

* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::updateScrollbarPart): Simplify the logic for
needRenderer a bit. Use initializeStyle rather than setStyle when first
creating the RenderScrollbarPart. Also use add and take properly so we
don't do extra hash lookups the old code did with get/set and get/remove.

LayoutTests:

* fast/css/scrollbar-image-crash-expected.txt: Added.
* fast/css/scrollbar-image-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160618 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed EFL build fix after r160608.
m.pakula@samsung.com [Sun, 15 Dec 2013 12:48:45 +0000 (12:48 +0000)]
Unreviewed EFL build fix after r160608.

* UIProcess/WebGrammarDetail.cpp:
(WebKit::WebGrammarDetail::WebGrammarDetail):
(WebKit::WebGrammarDetail::guesses):
* UIProcess/WebTextCheckerClient.cpp:
(WebKit::WebTextCheckerClient::guessesForWord):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160617 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd page load delegate for WebProcessPlugInBrowsingContextController.
commit-queue@webkit.org [Sun, 15 Dec 2013 06:32:27 +0000 (06:32 +0000)]
Add page load delegate for WebProcessPlugInBrowsingContextController.
https://bugs.webkit.org/show_bug.cgi?id=125697

Add page load delegate for WebProcessPlugInBrowsingContextController so that a
WebProcess injected bundle can listen to page load events.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-12-14
Reviewed by Sam Weinig.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Added.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(didStartProvisionalLoadForFrame):
(didFinishLoadForFrame):
(globalObjectIsAvailableForFrame):
(setUpPageLoaderClient):
(-[WKWebProcessPlugInBrowserContextController loadDelegate]):
(-[WKWebProcessPlugInBrowserContextController setLoadDelegate:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160616 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCTTE: SVGResourcesCache::cachedResourcesForRenderObject() should take a reference
commit-queue@webkit.org [Sun, 15 Dec 2013 06:20:05 +0000 (06:20 +0000)]
CTTE: SVGResourcesCache::cachedResourcesForRenderObject() should take a reference
https://bugs.webkit.org/show_bug.cgi?id=125743

Patch by Sam Weinig <sam@webkit.org> on 2013-12-14
Reviewed by Dan Bernstein.

* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::selfWillPaint):
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::imageChanged):
* rendering/svg/RenderSVGResource.cpp:
(WebCore::requestPaintingResource):
(WebCore::removeFromCacheAndInvalidateDependencies):
(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paintReplaced):
* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
(WebCore::RenderSVGShape::markerRect):
(WebCore::RenderSVGShape::drawMarkers):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::invalidateResourcesOfChildren):
(WebCore::SVGRenderSupport::layoutChildren):
(WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
(WebCore::SVGRenderSupport::filtersForceContainerLayout):
(WebCore::SVGRenderSupport::pointInClippingArea):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
(WebCore::SVGResourcesCache::clientLayoutChanged):
(WebCore::SVGResourcesCache::clientDestroyed):
* rendering/svg/SVGResourcesCache.h:
* rendering/svg/SVGResourcesCycleSolver.cpp:
(WebCore::SVGResourcesCycleSolver::resourceContainsCycles):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160615 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Win] Unreviewed build fix
bfulgham@apple.com [Sun, 15 Dec 2013 05:56:16 +0000 (05:56 +0000)]
[Win] Unreviewed build fix

QTMovieWin should not be build at the moment, but some builders
are continuing to attempt it. This change marks the project
file as excluded from building.

* WebKit.vcxproj/WebKit.sln: Mark QTMovieWin as excluded from build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160614 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFTL should *really* know when things are flushed
fpizlo@apple.com [Sun, 15 Dec 2013 05:41:44 +0000 (05:41 +0000)]
FTL should *really* know when things are flushed
https://bugs.webkit.org/show_bug.cgi?id=125747

Reviewed by Sam Weinig.

Fix more codegen badness. This makes V8v7's crypto am3() function run faster in the FTL
than in DFG. This means that even if we just compile those functions in V8v7 that don't
make calls, the FTL gives us a 2% speed-up over the DFG. That's pretty good considering
that we have still more optimizations to fix and we can make calls work.

* dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
* ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160613 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Win] Disable media tests while we sort out QTSDK issues.
bfulgham@apple.com [Sun, 15 Dec 2013 05:29:19 +0000 (05:29 +0000)]
[Win] Disable media tests while we sort out QTSDK issues.
Unreviewed patch to get test bots green

* platform/win/TestExpectations

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160612 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agostylebot should warn when FeatureDefines differ
timothy_horton@apple.com [Sun, 15 Dec 2013 04:47:06 +0000 (04:47 +0000)]
stylebot should warn when FeatureDefines differ
https://bugs.webkit.org/show_bug.cgi?id=125748

Reviewed by Dan Bernstein.

Add a stylebot checker that ensures that FeatureDefines.xcconfig files
are always exactly equal (and warns people adding new FeatureDefines.xcconfig files,
an unlikely occurrance, to add them to the list).

It's a bit nontraditional for stylebot because it will warn on existing errors in the tree,
but that is the most straightforward way to implement it (and we're at zero diffs right now).

* Scripts/webkitpy/style/checker.py:
(_all_categories):
(FileType):
(CheckerDispatcher._file_type):
(CheckerDispatcher._create_checker):
* Scripts/webkitpy/style/checkers/featuredefines.py: Added.
(FeatureDefinesChecker):
(FeatureDefinesChecker.__init__):
(FeatureDefinesChecker.check):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160611 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS] Implement NetworkProcess::allowSpecificHTTPSCertificateForHost
mitz@apple.com [Sun, 15 Dec 2013 01:16:50 +0000 (01:16 +0000)]
[iOS] Implement NetworkProcess::allowSpecificHTTPSCertificateForHost
https://bugs.webkit.org/show_bug.cgi?id=125744

Reviewed by Sam Weinig.

* NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): Implemented by calling
+[NSURLRequest setAllowsSpecificHTTPSCertificate:forHost:].

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160609 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2] Rename WebString to API::String
weinig@apple.com [Sun, 15 Dec 2013 01:09:47 +0000 (01:09 +0000)]
[WK2] Rename WebString to API::String
https://bugs.webkit.org/show_bug.cgi?id=125726

Reviewed by Anders Carlsson.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
* Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
* Shared/API/c/WKPluginInformation.cpp:
* Shared/API/c/WKSharedAPICast.h:
* Shared/API/c/WKString.cpp:
* Shared/API/c/cf/WKStringCF.mm:
* Shared/APIArray.cpp:
* Shared/APIArray.h:
* Shared/APIString.h: Copied from Source/WebKit2/Shared/WebString.h.
* Shared/Cocoa/WKNSString.h:
* Shared/Cocoa/WKNSString.mm:
* Shared/ImmutableDictionary.cpp:
* Shared/Plugins/Netscape/PluginInformation.cpp:
* Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
* Shared/UserData.cpp:
* Shared/UserMessageCoders.h:
* Shared/WebArchiveResource.h:
* Shared/WebOpenPanelParameters.cpp:
* Shared/WebRenderLayer.cpp:
* Shared/WebRenderObject.cpp:
* Shared/WebString.h: Removed.
* UIProcess/API/C/WKCredential.cpp:
* UIProcess/API/C/WKDatabaseManager.cpp:
* UIProcess/API/C/WKPage.cpp:
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
* UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
* UIProcess/APINavigationData.h:
* UIProcess/Authentication/WebCredential.h:
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
* UIProcess/Plugins/PlugInAutoStartProvider.cpp:
* UIProcess/Plugins/WebPluginSiteDataManager.cpp:
* UIProcess/WebContext.cpp:
* UIProcess/WebDatabaseManagerProxy.cpp:
* UIProcess/WebFormClient.cpp:
* UIProcess/WebLoaderClient.cpp:
* UIProcess/WebPageGroup.cpp:
* UIProcess/WebUIClient.cpp:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160608 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoClean up the project after r160487
mitz@apple.com [Sun, 15 Dec 2013 00:21:25 +0000 (00:21 +0000)]
Clean up the project after r160487

* WebCore.xcodeproj/project.pbxproj: Moved reference to Security.framework from the top
level of the project to the Frameworks group, and made it SDK-relative.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160606 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnify FeatureDefines.xcconfig
aestes@apple.com [Sun, 15 Dec 2013 00:11:10 +0000 (00:11 +0000)]
Unify FeatureDefines.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=125741

Rubber-stamped by Dan Bernstein.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Enable ENABLE_MEDIA_SOURCE.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Remove a stray space in
FEATURE_DEFINES.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Remove a space in
FEATURE_DEFINES and fix a typo in ENABLE_CSS3_TEXT_DECORATION.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160605 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoiOS build fix.
mitz@apple.com [Sat, 14 Dec 2013 23:57:53 +0000 (23:57 +0000)]
iOS build fix.

* UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared
observedRenderingProgressEvents as nonatomic.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160604 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Cocoa] Expose WebContext::allowSpecificHTTPSCertificateForHost
mitz@apple.com [Sat, 14 Dec 2013 23:28:18 +0000 (23:28 +0000)]
[Cocoa] Expose WebContext::allowSpecificHTTPSCertificateForHost
https://bugs.webkit.org/show_bug.cgi?id=125738

Reviewed by Mark Rowe.

* UIProcess/API/Cocoa/WKProcessGroup.mm:
(-[WKProcessGroup _setAllowsSpecificHTTPSCertificate:forHost:]): Added. Calls through to
WebContext::allowSpecificHTTPSCertificateForHost.
* UIProcess/API/Cocoa/WKProcessGroupPrivate.h: Declared new method.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160603 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Cocoa] Expose some layout milestones
mitz@apple.com [Sat, 14 Dec 2013 23:24:47 +0000 (23:24 +0000)]
[Cocoa] Expose some layout milestones
https://bugs.webkit.org/show_bug.cgi?id=125721

Reviewed by Sam Weinig.

* UIProcess/API/Cocoa/WKBrowsingContextController.h:
(WKRenderingProgressEvents): Declared new enum.
(@interface WKBrowsingContextController): Declared new observedRenderingProgressEvents
property.
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(layoutMilestones): Added helper to translate rendering progress events into layout
milestones.
(-[WKBrowsingContextController setObservedRenderingProgressEvents:]): Added this setter.
Sets the ivar and calls WebPageProxy::listenForLayoutMilestones.
(renderingProgressEvents): Added helper to translate layout milestones into rendering
progress events.
(didLayout): Implemented this WKPageLoaderClient callback by calling the load delegate.
(setUpPageLoaderClient): Set the above callback in the client structure.
* UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Declared new delegate method.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160602 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoClarify Owners’ role
mitz@apple.com [Sat, 14 Dec 2013 21:49:19 +0000 (21:49 +0000)]
Clarify Owners’ role
https://bugs.webkit.org/show_bug.cgi?id=125739

Reviewed by Anders Carlsson.

* Owners: Clarify that a patch authored by an Owner does not have to be reviewed by one, as
decided during the 2013 WebKit Contributors Meeting.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160601 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPage::theme() should return a reference.
akling@apple.com [Sat, 14 Dec 2013 18:58:48 +0000 (18:58 +0000)]
Page::theme() should return a reference.
<https://webkit.org/b/125737>

There's always a RenderTheme, and not a single call site was checking
for null pointers anyway. Updated RenderObject::theme() as well.

Reviewed by Antti Koivisto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160599 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCTTE: Convert Element and RenderObject iterator usage to use range-based for loops
weinig@apple.com [Sat, 14 Dec 2013 18:05:45 +0000 (18:05 +0000)]
CTTE: Convert Element and RenderObject iterator usage to use range-based for loops
https://bugs.webkit.org/show_bug.cgi?id=125731

Reviewed by Andreas Kling.

Perform straight forward conversions. A few stragglers that do odd things remain.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160598 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSmall string improvements to JSInjectedScriptHost::type and other bindings
commit-queue@webkit.org [Sat, 14 Dec 2013 17:53:05 +0000 (17:53 +0000)]
Small string improvements to JSInjectedScriptHost::type and other bindings
https://bugs.webkit.org/show_bug.cgi?id=125722

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-12-14
Reviewed by Timothy Hatcher.

* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::type):
Use SmallStrings, jsNontrivialString and ASCIILiteral.

* bindings/js/JSJavaScriptCallFrameCustom.cpp:
(WebCore::JSJavaScriptCallFrame::type):
Use jsNontrivialString.

* bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::stringValue):
Use jsNontrivialString and ASCIILiteral.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160597 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMove a couple of inlines from RenderObject to RenderElement.
akling@apple.com [Sat, 14 Dec 2013 12:40:32 +0000 (12:40 +0000)]
Move a couple of inlines from RenderObject to RenderElement.
<https://webkit.org/b/125734>

Take most of the inline functions on RenderObject that call style()
and move them over to RenderElement where style() is branchless.

Reviewed by Antti Koivisto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160596 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRenderElement::rendererForRootBackground() should return a reference.
akling@apple.com [Sat, 14 Dec 2013 12:39:40 +0000 (12:39 +0000)]
RenderElement::rendererForRootBackground() should return a reference.
<https://webkit.org/b/125735>

This function always finds a renderer to return.

Reviewed by Antti Koivisto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160595 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBuild fix after r160557.
mrowe@apple.com [Sat, 14 Dec 2013 10:13:51 +0000 (10:13 +0000)]
Build fix after r160557.

Source/JavaScriptCore:

r160557 added the first generated header to JavaScriptCore that needs to be installed in to
the framework wrapper. Sadly JavaScriptCore's Derived Sources target was not set to generate
headers when invoked as part of the installhdrs action. This resulted in the build failing
due to Xcode being unable to find the header file to install. The fix for this is to configure
the Derived Sources target to use JavaScriptCore.xcconfig, which sets INSTALLHDRS_SCRIPT_PHASE
to YES and allows Xcode to generate derived sources during the installhdrs action.

Enabling INSTALLHDRS_SCRIPT_PHASE required tweaking the Generate Derived Sources script build
phase to skip running code related to offlineasm that depends on JSCLLIntOffsetExtractor
having been compiled, which isn't the case at installhdrs time.

* JavaScriptCore.xcodeproj/project.pbxproj:

Source/WebCore:

* Configurations/WebCore.xcconfig: Find JavaScriptCore.framework below SDKROOT so that we'll pick
up the built version in production builds rather than the system version.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160594 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GStreamer] Use GMutexLocker instead of g_mutex_lock
b.long@cablelabs.com [Sat, 14 Dec 2013 09:03:58 +0000 (09:03 +0000)]
[GStreamer] Use GMutexLocker instead of g_mutex_lock
https://bugs.webkit.org/show_bug.cgi?id=125588

Reviewed by Philippe Normand.

No new tests because this is just code simplification.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkitVideoSinkTimeoutCallback):
(webkitVideoSinkRender):
(unlockBufferMutex):
(webkitVideoSinkUnlockStop):
(webkitVideoSinkStart):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160593 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSome Set and Map prototype functions have incorrect function lengths
commit-queue@webkit.org [Sat, 14 Dec 2013 07:53:44 +0000 (07:53 +0000)]
Some Set and Map prototype functions have incorrect function lengths
https://bugs.webkit.org/show_bug.cgi?id=125732

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-12-13
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

* runtime/MapPrototype.cpp:
(JSC::MapPrototype::finishCreation):
* runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):

LayoutTests:

* js/basic-map-expected.txt:
* js/basic-set-expected.txt:
* js/script-tests/basic-map.js:
* js/script-tests/basic-set.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160592 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMove RenderObject::repaintAfterLayoutIfNeeded() to RenderElement.
akling@apple.com [Sat, 14 Dec 2013 07:29:30 +0000 (07:29 +0000)]
Move RenderObject::repaintAfterLayoutIfNeeded() to RenderElement.
<https://webkit.org/b/125712>

This function is only ever called on RenderElements, so move it there.
Removes some RenderObject::style() branchiness.

Reviewed by Darin Adler.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160590 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: Move Inspector and Debugger protocol domains into JavaScriptCore
joepeck@webkit.org [Sat, 14 Dec 2013 06:50:33 +0000 (06:50 +0000)]
Web Inspector: Move Inspector and Debugger protocol domains into JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=125707

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* inspector/protocol/Debugger.json: Renamed from Source/WebCore/inspector/protocol/Debugger.json.
* inspector/protocol/GenericTypes.json: Added.
* inspector/protocol/InspectorDomain.json: Renamed from Source/WebCore/inspector/protocol/InspectorDomain.json.
Add new files to inspector generation.

* inspector/scripts/CodeGeneratorInspector.py:
(Generator.go):
Only build TypeBuilder output if the domain only has types. Avoid
backend/frontend dispatchers and backend commands.

(TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
(format_setter_value_expression):
(Generator.process_command):
(Generator.generate_send_method):
* inspector/scripts/CodeGeneratorInspectorStrings.py:
Export and name the get{JS,Web}EnumConstant function.

Source/WebCore:

  - Switch TypeBuilder::Page::SearchMatch to TypeBuilder::GenericTypes::SearchMatch
    which comes from InspectorJSTypeBuilders.
  - Remove domains that moved to JavaScriptCore.

No new tests, this only moves code around. There are no functional changes.

* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
Add new files.

* inspector/ContentSearchUtils.cpp:
(WebCore::ContentSearchUtils::buildObjectForSearchMatch):
(WebCore::ContentSearchUtils::searchInTextByLines):
* inspector/ContentSearchUtils.h:
* inspector/InspectorAgent.cpp:
* inspector/InspectorAgent.h:
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::searchInResource):
* inspector/InspectorPageAgent.h:
* inspector/protocol/Page.json:
Update includes and type builder type names.

* inspector/InspectorDebuggerAgent.cpp:
(WebCore::breakpointActionTypeForString):
(WebCore::InspectorDebuggerAgent::searchInContent):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
Use the new getEnum function names.

Source/WebInspectorUI:

* UserInterface/InspectorJSBackendCommands.js:
* UserInterface/InspectorWebBackendCommands.js:
Regenerate now that domains have moved around.

LayoutTests:

* http/tests/inspector-protocol/resources/InspectorTest.js:
(InspectorTest.checkForError):
Since having a protocol error is likely wrong, make the output
for it as detailed as possible.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160588 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGet rid of forward exit on UInt32ToNumber by adding an op_unsigned bytecode instruction
fpizlo@apple.com [Sat, 14 Dec 2013 06:33:42 +0000 (06:33 +0000)]
Get rid of forward exit on UInt32ToNumber by adding an op_unsigned bytecode instruction
https://bugs.webkit.org/show_bug.cgi?id=125553

Reviewed by Oliver Hunt.

UInt32ToNumber was a super complicated node because it had to do a speculation, but it
would do it after we already had computed the urshift. It couldn't just back to the
beginning of the urshift because the inputs to the urshift weren't necessarily live
anymore. We couldn't jump forward to the beginning of the next instruction because the
result of the urshift was not yet unsigned-converted.

For a while we solved this by forward-exiting in UInt32ToNumber. But that's really
gross and I want to get rid of all forward exits. They cause a lot of bugs.

We could also have turned UInt32ToNumber to a backwards exit by forcing the inputs to
the urshift to be live. I figure that this might be a bit too extreme.

So, I just created a new place that we can exit to: I split op_urshift into op_urshift
followed by op_unsigned. op_unsigned is an "unsigned cast" along the lines of what
UInt32ToNumber does. This allows me to get rid of all of the nastyness in the DFG for
forward exiting in UInt32ToNumber.

This patch enables massive code carnage in the DFG and FTL, and brings us closer to
eliminating one of the DFG's most confusing concepts. On the flipside, it does make the
bytecode slightly more complex (one new instruction). This is a profitable trade. We
want the DFG and FTL to trend towards simplicity, since they are both currently too
complicated.

* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
* bytecode/Opcode.h:
(JSC::padOpcodeName):
* bytecode/ValueRecovery.cpp:
(JSC::ValueRecovery::dumpInContext):
* bytecode/ValueRecovery.h:
(JSC::ValueRecovery::gpr):
* bytecompiler/NodesCodegen.cpp:
(JSC::BinaryOpNode::emitBytecode):
(JSC::emitReadModifyAssignment):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::toInt32):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGNodeType.h:
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMovHint):
(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
* dfg/DFGSpeculativeJIT64.cpp:
* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild):
(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild1):
(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild2):
* ftl/FTLFormattedValue.h:
(JSC::FTL::int32Value):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileUInt32ToNumber):
* ftl/FTLValueFormat.cpp:
(JSC::FTL::reboxAccordingToFormat):
(WTF::printInternal):
* ftl/FTLValueFormat.h:
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_urshift):
(JSC::JIT::emitSlow_op_urshift):
(JSC::JIT::emit_op_unsigned):
(JSC::JIT::emitSlow_op_unsigned):
* jit/JITArithmetic32_64.cpp:
(JSC::JIT::emitRightShift):
(JSC::JIT::emitRightShiftSlowCase):
(JSC::JIT::emit_op_unsigned):
(JSC::JIT::emitSlow_op_unsigned):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160587 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: Exception: TypeError: undefined is not a function (evaluating 'marker...
commit-queue@webkit.org [Sat, 14 Dec 2013 04:55:55 +0000 (04:55 +0000)]
Web Inspector: Exception: TypeError: undefined is not a function (evaluating 'marker.find()')
https://bugs.webkit.org/show_bug.cgi?id=125724

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-12-13
Reviewed by Darin Adler.

* UserInterface/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype.):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
The callback changed to returning WebInspector.TextMarkers, however
this class expected a raw CodeMirror marker. Since this class knows
about CodeMirror and expects to access these markers later go
directly to the CodeMirror marker.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160585 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2] Fix the build and enable the NetworkProcess by default on iOS
benjamin@webkit.org [Sat, 14 Dec 2013 04:42:21 +0000 (04:42 +0000)]
[WK2] Fix the build and enable the NetworkProcess by default on iOS
https://bugs.webkit.org/show_bug.cgi?id=125723

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-13
Reviewed by Sam Weinig.

* Configurations/WebKit2.xcconfig:
Fix the list of excluded file to get the processes building.

* NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHosAt):
Update PlatformCertificateInfo->CertificateInfo match the new name after r159647.

* UIProcess/API/Cocoa/WKProcessGroup.mm:
(-[WKProcessGroup initWithInjectedBundleURL:]):
Enable the NetworkProcess by default.

* UIProcess/Network/mac/NetworkProcessProxyMac.mm:
(WebKit::shouldUseXPC):
Use the right macro.

* WebKit2Prefix.h:
Eanble the flags NETWORK_PROCESS and CUSTOM_PROTOCOLS.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160584 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDemoted ActivityAssertion.h to a project header.
mitz@apple.com [Sat, 14 Dec 2013 03:41:59 +0000 (03:41 +0000)]
Demoted ActivityAssertion.h to a project header.

Rubber-stamped by Sam Weinig.

* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160583 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix API tests.
weinig@apple.com [Sat, 14 Dec 2013 03:16:42 +0000 (03:16 +0000)]
Fix API tests.

* TestWebKitAPI/Tests/WebKit2/WillLoad.cpp:
(TestWebKitAPI::TEST_F):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160582 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSource/WebCore: [Win] Remove pre-VS2013 support code.
bfulgham@apple.com [Sat, 14 Dec 2013 03:14:12 +0000 (03:14 +0000)]
Source/WebCore: [Win] Remove pre-VS2013 support code.
https://bugs.webkit.org/show_bug.cgi?id=125693

Reviewed by Darin Adler.

* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::setQuota): Use C99 format arguments
* loader/FTPDirectoryParser.cpp:
(WebCore::parseOneFTPLine): Ditto
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::pruneUnretainedIcons): Ditto
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::setMaximumSize): Ditto

Source/WTF: [Win] Remove Pre-VS2013 support code.
https://bugs.webkit.org/show_bug.cgi?id=125693

Reviewed by Darin Adler.

* wtf/StringPrintStream.cpp:
(WTF::StringPrintStream::vprintf): Use va_copy, like a civilized person.

Tools: [Win] Remove Pre-VS2013 support code.
https://bugs.webkit.org/show_bug.cgi?id=125693

Reviewed by Darin Adler.

* DumpRenderTree/cg/ImageDiffCG.cpp: Remove strtof stub now supplied by
the math library.
* DumpRenderTree/win/ImageDiffCairo.cpp: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160581 268f45cc-cd09-0410-ab3c-d52691b4dbfc