Timeline



Feb 12, 2014:

10:52 PM Changeset in webkit [164019] by beidson@apple.com
  • 5 edits in trunk/LayoutTests

IDB: TestExpectations batch - "odd-strings.html to structured-clone.html”

Unreviewed.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/removed-expected.txt:
  • storage/indexeddb/request-result-cache-expected.txt:
10:50 PM Changeset in webkit [164018] by mark.lam@apple.com
  • 9 edits in trunk/Source

No need to save reservedZoneSize when dropping the JSLock.
<https://webkit.org/b/128719>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The reservedZoneSize does not change due to the VM being run on a different
thread. Hence, there is no need to save and restore its value. Instead of
calling updateReservedZoneSize() to update the stack limit, we now call
setStackPointerAtVMEntry() to do the job. setStackPointerAtVMEntry()
will update the stackPointerAtVMEntry and delegate to updateStackLimit() to
update the stack limit based on the new stackPointerAtVMEntry.

  • runtime/ErrorHandlingScope.cpp:

(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):

  • Previously, we initialize stackPointerAtVMEntry in VMEntryScope. This means that the stackPointerAtVMEntry may not be initialize when we instantiate the ErrorHandlingScope. And so, we needed to initialize the stackPointerAtVMEntry in the ErrorHandlingScope constructor if it's not already initialized.

Now that we initialize the stackPointerAtVMEntry when we lock the VM JSLock,
we are guaranteed that it will be initialized by the time we instantiate
the ErrorHandlingScope. Hence, we can change the ErrorHandlingScope code
to just assert that the stackPointerAtVMEntry is initialized instead.

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

  • We no longer need to save the reservedZoneSize. Remove the related code.
  • runtime/JSLock.cpp:

(JSC::JSLock::lock):

  • When we grab the JSLock mutex for the first time, there is no reason why the stackPointerAtVMEntry should be initialized. By definition, grabbing the lock for the first time equates to entering the VM for the first time. Hence, we can just assert that stackPointerAtVMEntry is uninitialized, and initialize it unconditionally.

The only exception to this is if we're locking to regrab the JSLock in
grabAllLocks(), but grabAllLocks() will take care of restoring the
stackPointerAtVMEntry in that case after lock() returns. stackPointerAtVMEntry
should still be 0 when we've just locked the JSLock. So, the above assertion
always holds true.

Note: VM::setStackPointerAtVMEntry() will take care of calling
VM::updateStackLimit() based on the new stackPointerAtVMEntry.

  • There is no need to save the reservedZoneSize. The reservedZoneSize is set to Options::reservedZoneSize() when the VM is initialized. Thereafter, the ErrorHandlingScope will change it to Options::errorModeReservedZoneSize() when we're handling an error, and it will restore it afterwards. There is no other reason we should be changing the reservedZoneSize. Hence, we can remove the unnecessary code to save it here.

(JSC::JSLock::unlock):

  • Similarly, when the lockCount reaches 0 in unlock(), it is synonymous with exiting the VM. Hence, we should just clear the stackPointerAtVMEntry and update the stackLimit. Exiting the VM should have no effect on the VM reservedZoneSize. Hence, we can remove the unnecessary code to "restore" it.

(JSC::JSLock::dropAllLocks):

  • When dropping locks, we do not need to save the reservedZoneSize because the reservedZoneSize should remain the same regardless of which thread we are executing JS on. Hence, we can remove the unnecessary code to save the reservedZoneSize here.

(JSC::JSLock::grabAllLocks):

  • When re-grabbing locks, restoring the stackPointerAtVMEntry via VM::setStackPointerAtVMEntry() will take care of updating the stack limit. As explained above, there's no need to save the reservedZoneSize. Hence, there's no need to "restore" it here.
  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::setStackPointerAtVMEntry):

  • Sets the stackPointerAtVMEntry and delegates to updateStackLimit() to update the stack limit based on the new stackPointerAtVMEntry.

(JSC::VM::updateStackLimit):

  • runtime/VM.h:

(JSC::VM::stackPointerAtVMEntry):

  • Renamed stackPointerAtVMEntry to m_stackPointerAtVMEntry and made it private. Added a stackPointerAtVMEntry() function to read the value.

Source/WTF:

  • wtf/WTFThreadData.cpp:

(WTF::WTFThreadData::WTFThreadData):

  • wtf/WTFThreadData.h:
  • removed unnneeded m_savedReservedZoneSize.
10:40 PM Changeset in webkit [164017] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Another Windows test expectations update.

  • platform/win/TestExpectations:
10:31 PM Changeset in webkit [164016] by beidson@apple.com
  • 11 edits in trunk/LayoutTests

IDB: TestExpectations batch - "key-generator.html to objectStore-required-arguments.html"

Unreviewed.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/keypath-arrays-expected.txt:
  • storage/indexeddb/keypath-basics-expected.txt:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keyrange-expected.txt:
  • storage/indexeddb/keyrange-required-arguments-expected.txt:
  • storage/indexeddb/object-lookups-in-versionchange-expected.txt:
  • storage/indexeddb/objectStore-required-arguments-expected.txt:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/objectstore-cursor-expected.txt:
10:04 PM Changeset in webkit [164015] by Antti Koivisto
  • 4 edits in trunk/Source/WebKit2

Return immediately from DestroyPlugin IPC call
https://bugs.webkit.org/show_bug.cgi?id=128712

Reviewed by Anders Carlsson.

In some cases we spend a lot of time waiting for synchronous IPC for plugin termination to complete. Reduce
the delay by returning from IPC immediately when the plugin process receives it. Just using asynchrounous
IPC might introduce undesirable arbitrary delay between the IPC call returning and the destruction actually
starting.

  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::destroyPlugin):

  • PluginProcess/WebProcessConnection.h:
  • PluginProcess/WebProcessConnection.messages.in:
9:52 PM Changeset in webkit [164014] by beidson@apple.com
  • 9 edits in trunk/LayoutTests

IDB: TestExpectations batch - "error-causes-abort-by-default.html to invalid-keys.html"

Unreviewed.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-get-key-argument-required-expected.txt:
  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
  • storage/indexeddb/invalid-keys-expected.txt:
9:39 PM Changeset in webkit [164013] by rniwa@webkit.org
  • 5 edits in trunk/LayoutTests

Update test expectations for Windows.

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
9:29 PM Changeset in webkit [164012] by beidson@apple.com
  • 6 edits in trunk/LayoutTests

IDB: TestExpectations batch - "data-corruption.html to duplicates.html"
https://bugs.webkit.org/show_bug.cgi?id=128711

Reviewed by Alexey Proskuryakov.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/database-basics-expected.txt:
  • storage/indexeddb/database-name-undefined-expected.txt:
  • storage/indexeddb/deleteIndex-bug110792-expected.txt:
  • storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
8:47 PM Changeset in webkit [164011] by beidson@apple.com
  • 6 edits in trunk/LayoutTests

IDB: TestExpectations batch - "cursor-added-bug.html to cursor-value.html"
https://bugs.webkit.org/show_bug.cgi?id=128706

Reviewed by Alexey Proskuryakov.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/cursor-continue-dir-expected.txt:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-finished-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required-expected.txt:
8:43 PM Changeset in webkit [164010] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Pass the related page in the WebPageConfiguration struct
https://bugs.webkit.org/show_bug.cgi?id=128714

Reviewed by Darin Adler.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

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

(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::]):

8:24 PM Changeset in webkit [164009] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

DelayedReleaseScope in MarkedAllocator::tryAllocateHelper is wrong
https://bugs.webkit.org/show_bug.cgi?id=128641

Reviewed by Michael Saboff.

We were improperly handling the case where the DelayedReleaseScope
in tryAllocateHelper would cause us to drop the API lock, allowing
another thread to sneak in and allocate a new block after we had already
concluded that there were no more blocks to allocate out of.

The fix is to call tryAllocateHelper in a loop until we know for sure
that this did not happen.

There was also a race condition with the DelayedReleaseScope in addBlock.
We would add the block to the MarkedBlock's list, sweep it, and then return,
causing us to drop the API lock momentarily. Another thread could then
grab the lock, and allocate out of the new block to the point where the
free list was empty. Then we would return to the original thread, who thinks
it's impossible to not allocate successfully at this point.
Instead we should just let tryAllocate do all the hard work with correctly
sweeping and getting a valid result.

There was another race condition in didFinishIterating. We would call resumeAllocating,
which would create a DelayedReleaseScope. The DelayedReleaseScope would then release
API lock before we set m_isIterating back to false, which would potentially confuse
other threads.

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::tryPopFreeList):
(JSC::MarkedAllocator::tryAllocate):
(JSC::MarkedAllocator::addBlock):

  • heap/MarkedAllocator.h:
8:05 PM Changeset in webkit [164008] by ap@apple.com
  • 7 edits in trunk

Don't crash when SerializedScriptValue deserialization fails
https://bugs.webkit.org/show_bug.cgi?id=128657

Reviewed by Oliver Hunt.

Source/WebCore:

Test: crypto/subtle/postMessage-worker.html

  • bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::data): Added a FIXME.
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneBase::fail): Don't assert on failure.
(WebCore::SerializedScriptValue::deserialize): Never return a null JSValue, these
are not allowed.

LayoutTests:

  • crypto/subtle/postMessage-worker-expected.txt:
  • crypto/subtle/resources/postMessage-worker.js:
  • platform/mac/TestExpectations:

Unskip the test, and land (unimportant) failure results.

7:34 PM Changeset in webkit [164007] by BJ Burg
  • 7 edits
    1 add in trunk/Source/JavaScriptCore

Web Replay: capture and replay nondeterminism of Date.now() and Math.random()
https://bugs.webkit.org/show_bug.cgi?id=128633

Reviewed by Filip Pizlo.

Upstream the only two sources of script-visible nondeterminism in JavaScriptCore.

The random seed for WeakRandom is memoized when the owning JSGlobalObject is
constructed. It is deterministically initialized during replay before any
scripts execute with the global object.

The implementations of Date.now() and new Date() eventually obtain the
current time from jsCurrentTime(). When capturing, we save return values of
jsCurrentTime() into the recording. When replaying, we use memoized values from
the recording instead of obtaining values from the platform-specific currentTime()
implementation. No other code calls jsCurrentTime().

  • DerivedSources.make: Add rules to make JSReplayInputs.h from JSInputs.json.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • replay/JSInputs.json: Added. Includes specifications for replay inputs

"GetCurrentTime" and "SetRandomSeed". Tests will be added for both input
cases once sufficient replay machinery has been added.

  • replay/NondeterministicInput.h: NondeterministicInput should not have

been marked 'final'.

  • runtime/DateConstructor.cpp:

(JSC::deterministicCurrentTime): Added. Load or store the current time depending
on what kind of InputCursor is attached to the JSGlobalObject.

(JSC::constructDate): Use deterministicCurrentTime().
(JSC::dateNow): Use deterministicCurrentTime().

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::setInputCursor): When setting a non-empty input cursor,
immediately store or load the "SetRandomSeed" input and initialize WeakRandom's
random seed with it. The input cursor (and thus random seed) must be set before
any scripts are evaluated with this JSGlobalObject.

  • runtime/WeakRandom.h:

(JSC::WeakRandom::WeakRandom): Add JSGlobalObject as a friend class.
(JSC::WeakRandom::initializeSeed): Extract the seed initialization into a
separate method so it can be called outside of the JSGlobalObject constructor.

7:02 PM Changeset in webkit [164006] by Bem Jones-Bey
  • 11 edits in trunk/Source/WebCore

[CSS Shapes] Rename shapeSize and others to make ShapeInfo and friends easier to understand
https://bugs.webkit.org/show_bug.cgi?id=128685

Reviewed by Alexandru Chiculita.

The ShapeInfo hierarchy has grown organically as the spec has changed,
and the naming has become very stale and confusing. The spec is now in
Last Call, so it seems like a good time to take a stab towards better
naming that matches the spec terminology and is also more consistent
in general.

No new tests, no behavior change.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::imageChanged): Use new names.
(WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange): Ditto.
(WebCore::shapeInfoRequiresRelayout): Ditto.
(WebCore::RenderBlock::computeShapeSize): Ditto.
(WebCore::RenderBlock::updateShapesAfterBlockLayout): Ditto.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::logicalSizeForChild): This method makes it much

cleaner to set the reference box size.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::positionNewFloats): Use new names.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Ditto.
(WebCore::RenderBox::imageChanged): Ditto.

  • rendering/shapes/ShapeInfo.cpp:

(WebCore::getShapeImageMarginRect): Rename variables.
(WebCore::ShapeInfo<RenderType>::computedShape): More renames.

  • rendering/shapes/ShapeInfo.h:

(WebCore::ShapeInfo::setReferenceBoxLogicalSize): Renamed from

setShapeSize.

(WebCore::ShapeInfo::logicalLineTop): Use new names.
(WebCore::ShapeInfo::logicalLineBottom): Ditto.
(WebCore::ShapeInfo::shapeContainingBlockLogicalHeight): Ditto.
(WebCore::ShapeInfo::markShapeAsDirty): Renamed from dirtyShapeSize.
(WebCore::ShapeInfo::isShapeDirty): Renamed from shapeSizeDirty.
(WebCore::ShapeInfo::referenceBoxLogicalSize): Renamed from shapeSize.
(WebCore::ShapeInfo::logicalTopOffset): Use new names.
(WebCore::ShapeInfo::logicalLeftOffset): Ditto.

  • rendering/shapes/ShapeInsideInfo.cpp:

(WebCore::ShapeInsideInfo::updateSegmentsForLine): Ditto.
(WebCore::ShapeInsideInfo::adjustLogicalLineTop): Ditto.
(WebCore::ShapeInsideInfo::computeFirstFitPositionForFloat): Ditto.

  • rendering/shapes/ShapeInsideInfo.h:
  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine): Ditto.

  • rendering/shapes/ShapeOutsideInfo.h:
6:03 PM Changeset in webkit [164005] by matthew_hanson@apple.com
  • 6 edits
    6 copies in branches/safari-537.75-branch

Merge r163579.

5:54 PM Changeset in webkit [164004] by andersca@apple.com
  • 4 edits
    1 copy in trunk/Source/WebKit2

Add relatedWebView property to WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=128707

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration relatedWebView]):
(-[WKWebViewConfiguration setRelatedWebView:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm.
  • WebKit2.xcodeproj/project.pbxproj:
5:40 PM Changeset in webkit [164003] by matthew_hanson@apple.com
  • 15 edits
    2 copies in branches/safari-537.75-branch

Merge r162679 and r162820

5:32 PM Changeset in webkit [164002] by matthew_hanson@apple.com
  • 10 edits in branches/safari-537.75-branch/Source/WebKit2

Merge r162904

5:27 PM Changeset in webkit [164001] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

REGRESSION: Crashing/Broken Tests Due To Unexpected 8-bit Character Data
https://bugs.webkit.org/show_bug.cgi?id=128698

Reviewed by Tim Horton.

  • platform/graphics/win/UniscribeController.cpp:

(WebCore::UniscribeController::advance): Make 16-bit copy when needed.
(WebCore::UniscribeController::shapeAndPlaceItem): Handle 8-bit case when checking
for word boundaries.

5:06 PM Changeset in webkit [164000] by beidson@apple.com
  • 7 edits in trunk/LayoutTests

IDB: TestExpectations batch - "aborted-versionchange-closes.html to createObjectStore-null-name.html"
https://bugs.webkit.org/show_bug.cgi?id=128703

Reviewed by Alexey Proskuryakov.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/aborted-versionchange-closes-expected.txt:
  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/clone-exception-expected.txt:
  • storage/indexeddb/create-and-remove-object-store-expected.txt:
  • storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
4:39 PM Changeset in webkit [163999] by ap@apple.com
  • 8 edits in trunk

[WK2] Add a C API to get WebCrypto master key from a client
https://bugs.webkit.org/show_bug.cgi?id=128702

Reviewed by Anders Carlsson.

Source/WebKit2:

Added a new version of WKContextClient, with a function that returns the key.

  • UIProcess/API/C/WKContext.h:
  • UIProcess/WebContextClient.cpp:

(WebKit::WebContextClient::copyWebCryptoMasterKey):

  • UIProcess/WebContextClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

  • UIProcess/mac/WebPageProxyMac.mm:

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::copyWebCryptoMasterKey):
(WTR::TestController::initialize):
Return a hardcoded key.

4:38 PM Changeset in webkit [163998] by dfarler@apple.com
  • 5 edits in trunk/Tools

Upstream iOS old-run-webkit-tests for use with DumpRenderTree in the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=127694

Reviewed by Simon Fraser.

This is a short-term effort to get layout tests working in the iOS simulator again.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

Pass PLATFORM_NAME to the makefile.

  • DumpRenderTree/ios/PerlSupport/Makefile:

Cleanup.

  • Scripts/old-run-webkit-tests:

Added functions and some exceptions for the simulator.
(installAndLaunchDumpRenderTreeAppUsingNotification):
(openIPhoneSimulator):
(quitDumpRenderTreeAppUsingNotification):
(quitIPhoneSimulator):
(simulatorSessionUUID):
(openDiffTool):
(buildDumpTool):
(openDumpTool):
(closeDumpTool):
(dumpToolDidCrash):
(expectedDirectoryForTest):
(buildPlatformResultHierarchy):

  • Scripts/webkitdirs.pm:

Support functions for old-run-webkit-tests.
(determineIPhoneSimulatorVersion):
(iPhoneSimulatorVersion):

4:17 PM Changeset in webkit [163997] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Add destinationFrame property to WKNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=128700

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKNavigationAction.h:
  • UIProcess/API/Cocoa/WKNavigationAction.mm:

(-[WKNavigationAction destinationFrame]):
(-[WKNavigationAction setDestinationFrame:]):

  • UIProcess/API/Cocoa/WKNavigationActionInternal.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):

3:57 PM Changeset in webkit [163996] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Forward declare WKNavigation in WKNavigationDelegate.h
https://bugs.webkit.org/show_bug.cgi?id=128699

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
3:14 PM Changeset in webkit [163995] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Document::childrenChanged does not necessarily have a page

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-12
Rubber stamped by Enrica Casucci.

  • dom/Document.cpp:

(WebCore::Document::childrenChanged):

3:13 PM Changeset in webkit [163994] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Expose scrollView on the WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128697

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.h:
3:09 PM Changeset in webkit [163993] by timothy@apple.com
  • 2 edits in trunk/Source/WebCore

Add a missing ": " between the URL and exception in STDOUT logs.

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

Reviewed by Joseph Pecoraro.

  • page/PageConsole.cpp:

(WebCore::PageConsole::addMessage): Print ": " after calling
printSourceURLAndPosition now that it does not print it for us.

2:56 PM Changeset in webkit [163992] by andersca@apple.com
  • 4 edits
    1 delete in trunk/Source/WebKit2

Better iOS build fix.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
Make these functions cross platform.

  • UIProcess/mac/WebPageProxyMac.mm:
2:54 PM Changeset in webkit [163991] by mhahnenberg@apple.com
  • 2 edits
    17 adds in trunk/Tools

Basic framework for a modern jsc CLI
https://bugs.webkit.org/show_bug.cgi?id=127435

Rubber stamped by Geoffrey Garen.

  • Scripts/build-jsc:
  • jsc-cli: Added.
  • jsc-cli/jsc-cli: Added.
  • jsc-cli/jsc-cli.xcodeproj: Added.
  • jsc-cli/jsc-cli.xcodeproj/project.pbxproj: Added.
  • jsc-cli/jsc-cli/CLIInstance.h: Added.
  • jsc-cli/jsc-cli/CLIInstance.m: Added.

(-[CLIInstance init]):
(-[CLIInstance loadFile:]):
(-[CLIInstance run]):

  • jsc-cli/jsc-cli/JSModule.h: Added.
  • jsc-cli/jsc-cli/JSModule.m: Added.

(coreModules):
(isCoreModule):
(classForModule):
(coreModuleFullPath):
(resolveModuleAsFile):
(resolveModuleAsDirectory):
(nodeModulePaths):
(resolveAsNodeModule):
(+[JSModule resolve:atPath:]):
(globalModuleCache):
(isCached):
(cachedModule):
(cacheModule):
(+[JSModule require:atPath:]):
(+[JSModule require:atPath:inContext:]):
(-[JSModule platformObjectInContext:]):
(-[JSModule initWithId:filename:context:]):
(-[JSModule dealloc]):
(-[JSModule didStartLoading]):
(-[JSModule didFinishLoading]):
(-[JSModule require:]):
(-[JSModule exports]):

  • jsc-cli/jsc-cli/JSRunLoopThread.h: Added.
  • jsc-cli/jsc-cli/JSRunLoopThread.m: Added.

(jsThreadMain):
(+[JSRunLoopThread threadMain]):
(-[JSRunLoopThread initWithFiles:andContext:]):
(-[JSRunLoopThread startRunLoop]):
(-[JSRunLoopThread start]):
(-[JSRunLoopThread join]):
(-[JSRunLoopThread didReceiveInput:]):
(-[JSRunLoopThread performCallback:withError:]):
(-[JSRunLoopThread performCallback:withArguments:]):
(-[JSRunLoopThread didFinishRunLoopInitialization]):

  • jsc-cli/jsc-cli/ReadEvalPrintLoop.h: Added.
  • jsc-cli/jsc-cli/ReadEvalPrintLoop.m: Added.

(-[ReadEvalPrintLoop initWithJSThread:]):
(prompt):
(escapeStringForOutput):
(-[ReadEvalPrintLoop processNextInput]):
(-[ReadEvalPrintLoop run]):

  • jsc-cli/jsc-cli/RunLoopThread.h: Added.
  • jsc-cli/jsc-cli/RunLoopThread.m: Added.

(+[RunLoopThread threadMain]):
(-[RunLoopThread init]):
(-[RunLoopThread dealloc]):
(-[RunLoopThread didFinishRunLoopInitialization]):
(-[RunLoopThread start]):
(-[RunLoopThread join]):

  • jsc-cli/jsc-cli/ScriptInputSource.h: Added.
  • jsc-cli/jsc-cli/ScriptInputSource.m: Added.

(scriptInputSourceScheduleRoutine):
(scriptInputSourcePerformRoutine):
(scriptInputSourceCancelRoutine):
(-[ScriptInputSource initWithContext:]):
(-[ScriptInputSource dealloc]):
(-[ScriptInputSource addToCurrentRunLoop]):
(-[ScriptInputSource removeFromRemoteRunLoop]):
(-[ScriptInputSource didReceiveScript:]):
(-[ScriptInputSource didReceiveSignal]):
(-[ScriptInputSource runScriptRemotely:]):
(-[ScriptInputSource finishAsyncCallback:withResult:]):

  • jsc-cli/jsc-cli/main.m: Added.

(main):

2:44 PM Changeset in webkit [163990] by rniwa@webkit.org
  • 2 edits in trunk/Tools

One more build fix after r163979.

  • Scripts/webkitpy/port/mac_unittest.py:

(test_baseline_search_path):

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

WK2: coordinate mapping for frames does not work when the page is scrolled.
https://bugs.webkit.org/show_bug.cgi?id=128690
<rdar://problem/16042925>

Reviewed by Simon Fraser.

We should not apply the scroll offset when using delegate scrolling.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::rootViewToContents):
(WebCore::ScrollView::contentsToRootView):
(WebCore::ScrollView::rootViewToTotalContents):

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

Web Inspector: Cleanup JavaScriptCore/inspector
https://bugs.webkit.org/show_bug.cgi?id=128662

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

Now that the code has settled, do a cleanup pass.

  • inspector/ContentSearchUtilities.cpp:
  • inspector/InspectorValues.cpp:

(Inspector::InspectorValue::asObject):
(Inspector::InspectorValue::asArray):
(Inspector::InspectorValue::parseJSON):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::get):

  • inspector/ScriptCallStackFactory.cpp:
  • inspector/ScriptDebugServer.cpp:
  • inspector/agents/JSGlobalObjectConsoleAgent.h:
2:36 PM Changeset in webkit [163987] by commit-queue@webkit.org
  • 22 edits
    4 moves in trunk/Source/WebCore

Web Inspector: Rename PageInjectedScript* to WebInjectedScript*
https://bugs.webkit.org/show_bug.cgi?id=128660

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

Rename the files update build systems and users.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/CommandLineAPIModule.cpp:

(WebCore::CommandLineAPIModule::host):

  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorController.h:
  • inspector/InspectorHeapProfilerAgent.cpp:

(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):

  • inspector/InspectorHeapProfilerAgent.h:
  • inspector/InspectorProfilerAgent.cpp:

(WebCore::PageProfilerAgent::PageProfilerAgent):
(WebCore::InspectorProfilerAgent::create):
(WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):

  • inspector/InspectorProfilerAgent.h:
  • inspector/PageConsoleAgent.cpp:

(WebCore::PageConsoleAgent::PageConsoleAgent):
(WebCore::PageConsoleAgent::addInspectedNode):

  • inspector/PageConsoleAgent.h:
  • inspector/WebConsoleAgent.cpp:

(WebCore::WebConsoleAgent::WebConsoleAgent):
(WebCore::WebConsoleAgent::frameWindowDiscarded):
(WebCore::WebConsoleAgent::addInspectedHeapObject):

  • inspector/WebConsoleAgent.h:
  • inspector/WebInjectedScriptHost.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.cpp.

(WebCore::WebInjectedScriptHost::type):
(WebCore::WebInjectedScriptHost::isHTMLAllCollection):

  • inspector/WebInjectedScriptHost.h: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.h.
  • inspector/WebInjectedScriptManager.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.cpp.

(WebCore::WebInjectedScriptManager::WebInjectedScriptManager):
(WebCore::WebInjectedScriptManager::disconnect):
(WebCore::WebInjectedScriptManager::didCreateInjectedScript):
(WebCore::WebInjectedScriptManager::discardInjectedScriptsFor):

  • inspector/WebInjectedScriptManager.h: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.h.
  • inspector/WorkerConsoleAgent.cpp:

(WebCore::WorkerConsoleAgent::WorkerConsoleAgent):

  • inspector/WorkerConsoleAgent.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • inspector/WorkerInspectorController.h:
2:32 PM Changeset in webkit [163986] by aestes@apple.com
  • 3 edits
    1 add in trunk/Source/WebKit2

Fix the iOS build after r163976

Moved WebPageProxy::{wrap,unwrap}CryptoKey() to a new file built by
both Mac and iOS.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm: Added.

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

  • UIProcess/mac/WebPageProxyMac.mm:
  • WebKit2.xcodeproj/project.pbxproj:
2:16 PM Changeset in webkit [163985] by stavila@adobe.com
  • 1 edit
    2 adds in trunk/LayoutTests

[CSS Regions] Fix layout of floated nested region
https://bugs.webkit.org/show_bug.cgi?id=128367

Reviewed by Mihnea Ovidenie.

Added test for the correct layout of nested, floating regions.

  • fast/regions/nested-floated-region-expected.html: Added.
  • fast/regions/nested-floated-region.html: Added.
2:07 PM Changeset in webkit [163984] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Unreviewed iOS Build fix after r163975.

page/EventHandler.cpp: Use wheel event stubs if !PLATFORM(MAC)
PLATFORM(IOS).
1:56 PM Changeset in webkit [163983] by barraclough@apple.com
  • 10 edits in trunk/Source/WebCore

Clean up PageThrottler interface
https://bugs.webkit.org/show_bug.cgi?id=128677

Reviewed by Benjamin Poulain.

Currently, responsibility for throttling DOM timers & suspending animations is split
between the Page & the PageThrottler. Clarify by making Page responsible for suspending
animations (PageThrottler is now purely related to aspects of timer throttling), and
move all timer throttling policy to the PageThrottler, with a single function on Page to
enable (Page::setTimerThrottlingEnabled).

Also, transmit the full ViewState to the PageThrottler (not just the IsVisuallyIdle flag),
and distinguish between media & page-load activity.

  • WebCore.exp.in:
    • removed setDOMTimerAlignmentInterval.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • createActivityToken -> mediaActivityToken
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::started):

  • createActivityToken -> pageLoadActivityToken
  • page/Page.cpp:

(WebCore::Page::Page):

  • added m_timerThrottlingEnabled, made PageThrottler a member

(WebCore::Page::setIsVisuallyIdleInternal):

  • update animiation suspension.

(WebCore::Page::setTimerThrottlingEnabled):

  • setTimerAlignmentInterval -> setTimerThrottlingEnabled

(WebCore::Page::setViewState):

  • pass viewState to PageThrottler.

(WebCore::Page::setIsVisibleInternal):

  • don't update timer throttling.
  • page/Page.h:

(WebCore::Page::pageThrottler):

  • made PageThrottler a member.

(WebCore::Page::timerAlignmentInterval):

  • inlined.
  • page/PageThrottler.cpp:

(WebCore::PageThrottler::PageThrottler):

  • initialize ViewState.

(WebCore::PageThrottler::~PageThrottler):

  • clean up by calling setTimerThrottlingEnabled directly.

(WebCore::PageThrottler::hiddenPageDOMTimerThrottlingStateChanged):

  • moved from Page.

(WebCore::PageThrottler::mediaActivityToken):
(WebCore::PageThrottler::pageLoadActivityToken):

  • from Page::createActivityToken

(WebCore::PageThrottler::throttlePage):
(WebCore::PageThrottler::unthrottlePage):

  • don't throttle animations here.

(WebCore::PageThrottler::setViewState):
(WebCore::PageThrottler::setIsVisible):

  • added, throttle Dom timers.
  • page/PageThrottler.h:
  • page/Settings.cpp:

(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):

  • removed setDOMTimerAlignmentInterval, hiddenPageDOMTimerThrottlingStateChanged moved to PageThrottler.
  • page/Settings.h:
    • removed setDOMTimerAlignmentInterval.
1:38 PM Changeset in webkit [163982] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • UIProcess/API/Cocoa/WKProcessClass.h:
1:37 PM Changeset in webkit [163981] by beidson@apple.com
  • 4 edits in trunk/LayoutTests

Cleanup mac/mac-wk1/mac-wk2 TestExpectations a little bit
https://bugs.webkit.org/show_bug.cgi?id=128679

Reviewed by Alexey Proskuryakov.

  • platform/mac-wk1/TestExpectations: mac-wk1 specific disables should go here.
  • platform/mac-wk2/TestExpectations: Remove unnecessary re-enabling, and simplify indexeddb/mozilla.
  • platform/mac/TestExpectations: Move some tests from here to mac-wk1.
1:37 PM Changeset in webkit [163980] by benjamin@webkit.org
  • 16 edits in trunk/Source

[WK2][iOS] Add back the special viewport for the old xhtml mobile doctype
https://bugs.webkit.org/show_bug.cgi?id=128639

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-12
Reviewed by Andreas Kling.

Source/WebCore:

  • WebCore.exp.in:
  • dom/Document.cpp:

(WebCore::Document::childrenChanged):
Document::setDocType() has been removed and the doctype update code with it.
Add a call to didReceiveDocType() to ensure the viewport is updated when the doctype is parsed.

  • loader/EmptyClients.h:
  • page/Chrome.cpp:

(WebCore::Chrome::didReceiveDocType):

  • page/ChromeClient.h:
  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::xhtmlMobileParameters):

  • page/ViewportConfiguration.h:

Source/WebKit/ios:

  • WebCoreSupport/WebChromeClientIOS.h:
  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::didReceiveMobileDocType):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:

(WebKit::WebChromeClient::didReceiveMobileDocType):

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

(WebKit::WebPage::didReceiveMobileDocType):

1:27 PM Changeset in webkit [163979] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Add a mac-wk1 platform directory and TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=128676

Build fix. Put mac-wk1 between mac-mountainlion and mac.

  • Scripts/webkitpy/port/mac.py:

(MacPort.default_baseline_search_path):

  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(TestRebaselineTest.test_baseline_directory):

1:22 PM Changeset in webkit [163978] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Mountain Lion build fix.

  • WebCore.exp.in: Only export WebCrypto symbols on 10.9+, because SUBTLE_CRYPTO

is not enabled on 10.8.

1:22 PM Changeset in webkit [163977] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

WKProcessClass.h and WKNavigationResponse.h should be public headers
https://bugs.webkit.org/show_bug.cgi?id=128683

Reviewed by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj:
1:08 PM Changeset in webkit [163976] by ap@apple.com
  • 15 edits
    4 adds in trunk

Wrap WebCrypto keys in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128680

Reviewed by Anders Carlsson.

Source/WebCore:

Test: crypto/subtle/rsa-indexeddb.html

Added Mac code to wrap a key with AES-GCM. We then serialize it into a plist,
because more custom formats would be crazy (even the custom format in SerializedScriptValue
makes me nervous, we'll certainly need to change CryptoKey in the future).

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • crypto/CommonCryptoUtilities.h:
  • crypto/SerializedCryptoKeyWrap.h: Added.
  • crypto/mac/SerializedCryptoKeyWrapMac.mm: Added.

(WebCore::vectorFromNSData):
(WebCore::wrapSerializedCryptoKey):
(WebCore::unwrapSerializedCryptoKey):

Source/WebKit/mac:

Retrieve a master key (placeholder code for now), and use it to wrap key data.

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):

Source/WebKit2:

Retrieve a master key (placeholder code for now), and use it to wrap key data.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

LayoutTests:

  • crypto/subtle/rsa-indexeddb-expected.txt: Added.
  • crypto/subtle/rsa-indexeddb.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
12:40 PM Changeset in webkit [163975] by Brent Fulgham
  • 11 edits in trunk/Source/WebCore

Wheel events don't latch to inner scrollable elements
https://bugs.webkit.org/show_bug.cgi?id=128225
<rdar://problem/12183688>

Reviewed by Simon Fraser

  • WebCore.exp.in: Add declarations for new scrolledToTop, scrolledToBottom, scrolledToLeft, and scrolledToRight.
  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::clear):
(WebCore::findScrollableContainer): New helper function to locate first node
in enclosing region of document that is capable of handling mouse wheel events.
(WebCore::isAtMaxDominantScrollPosition): Predicate to check if the scrollable
area is at the limit we will hit based on scroll direction.
(WebCore::EventHandler::handleWheelEvent): Identify the case where we have hit
the end of a scroll, and treat that as a valid 'handled' case. If the scroll event
is just starting, treat end-of-scroll as unhandled so the parent element can
handle things.

  • page/EventHandler.h:
  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Use new methods
on the PlatformWheelEvent class.
(WebCore::ScrollingTree::setOrClearLatchedNode): Ditto

  • platform/PlatformWheelEvent.h:

(WebCore::PlatformWheelEvent::shouldConsiderLatching): Moved implementation from ScrollingTree.
(WebCore::PlatformWheelEvent::shouldClearLatchedNode): Ditto

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::scrolledToTop): Added
(WebCore::ScrollableArea::scrolledToBottom):Added
(WebCore::ScrollableArea::scrolledToLeft): Added
(WebCore::ScrollableArea::scrolledToRight): Added

  • platform/ScrollableArea.h:
  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::scrolledToTop): Added
(WebCore::RenderListBox::scrolledToBottom): Added
(WebCore::RenderListBox::scrolledToLeft): Added
(WebCore::RenderListBox::scrolledToRight): Added

  • rendering/RenderListBox.h: Changed to public inheritance of ScrollableArea to

allow generic use of this type in scroll wheel logic.

12:39 PM Changeset in webkit [163974] by b.long@cablelabs.com
  • 23 edits
    3 copies
    2 adds in trunk

Implement DataCue for metadata cues
https://bugs.webkit.org/show_bug.cgi?id=128402

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-datacue.html

  • CMakeLists.txt: Add DataCue.
  • DerivedSources.cpp: Add JSDataCue.
  • DerivedSources.make: Same.
  • GNUmakefile.list.am: Add DataCue and JSDataCue.
  • WebCore.vcxproj/WebCore.vcxproj: Add DataCue.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Same.
  • WebCore.xcodeproj/project.pbxproj: Add DataCue and JSDataCue.
  • bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::toJS): Add DataCue wrapper.

  • html/track/DataCue.cpp: Copied from Source/WebCore/html/track/TextTrack.idl.
  • html/track/DataCue.h: Copied from Source/WebCore/html/track/TextTrack.idl.
  • html/track/DataCue.idl: Copied from Source/WebCore/html/track/TextTrack.idl.
  • html/track/InbandGenericTextTrack.cpp:

(WebCore::InbandGenericTextTrack::addGenericCue): Pass ASSERT_NO_EXCEPTION to addCue().

  • html/track/InbandWebVTTTextTrack.cpp:

(WebCore::InbandWebVTTTextTrack::newCuesParsed): Same.

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::addCue): Throw an exception if DataCue is added to a track that isn't kind="metadata".

  • html/track/TextTrack.h: Add exception code parameter to addCue().
  • html/track/TextTrack.idl: Add [RaisesException] to addCue().
  • html/track/TextTrackCue.h: Add Data CueType.

LayoutTests:

  • js/dom/global-constructors-attributes-expected.txt: Add DataCue.
  • media/track/track-datacue-expected.txt: Added.
  • media/track/track-datacue.html: Added.
  • platform/efl/js/dom/global-constructors-attributes-expected.txt: Add DataCue.
  • platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt: Same.
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt: Same.
  • platform/mac/js/dom/global-constructors-attributes-expected.txt: Same.
  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt: Same.
  • platform/win/js/dom/global-constructors-attributes-expected.txt: Same.
12:34 PM Changeset in webkit [163973] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

Subpixel layout: Clean up LayoutPoint class.
https://bugs.webkit.org/show_bug.cgi?id=128515

Reviewed by Simon Fraser.

Remove redundant functions (keep the more explicit ones).

No change in functionality.

  • page/FrameView.cpp:

(WebCore::FrameView::viewportConstrainedVisibleContentRect):

  • platform/graphics/LayoutPoint.h:

(WebCore::toLayoutPoint):
(WebCore::toLayoutSize):
(WebCore::roundedIntPoint):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateContentsRects):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addFocusRingRects):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::offsetFromContainer):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::addFocusRingRects):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPosition):
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):

  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::paintIntoRect):

12:32 PM Changeset in webkit [163972] by zandobersek@gmail.com
  • 6 edits in trunk/Source

[CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function
https://bugs.webkit.org/show_bug.cgi?id=128473

Reviewed by Anders Carlsson.

Source/WebCore:

Move the CoordinatedGraphicsScene class to using std::function instead of WTF::Functional and std::bind
instead of WTF::bind. The function wrapper is now moved through function calls and not passed by reference,
and lambda functions are inlined into the dispatchOnMainThread() calls, with the CoordinatedGraphicsScene
refcount-protected.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::dispatchOnMainThread):
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebCore::CoordinatedGraphicsScene::commitSceneState):
(WebCore::CoordinatedGraphicsScene::syncRemoteContent):
(WebCore::CoordinatedGraphicsScene::purgeGLResources):
(WebCore::CoordinatedGraphicsScene::commitScrollOffset):
(WebCore::CoordinatedGraphicsScene::appendUpdate):
(WebCore::CoordinatedGraphicsScene::setActive):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

Source/WebKit2:

Move the CoordinatedLayerTreeHostProxy class to using std::function instead of WTF::Functional. C++11
lambdas are used to construct the update functions, with the CoordinatedGraphicsScene refcount-protected
throughout the lifetime of the function wrapper.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
(WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
12:29 PM Changeset in webkit [163971] by eric.carlson@apple.com
  • 4 edits in trunk/Source/WebCore

Cleanup the code added for https://bugs.webkit.org/show_bug.cgi?id=128125.

Not reviewed.

  • html/HTMLMediaSession.cpp:

(WebCore::restrictionName): Don't need a "break" after a "return" in a case statement.

  • platform/audio/MediaSession.cpp:

(WebCore::stateName): Ditto.

  • platform/audio/ios/MediaSessionManagerIOS.mm:
12:28 PM Changeset in webkit [163970] by zandobersek@gmail.com
  • 2 edits in trunk

[GDB] Add .gdbinit to the list of files ignored by Git
https://bugs.webkit.org/show_bug.cgi?id=128455

Reviewed by Anders Carlsson.

  • .gitignore: Ignore the .gdbinit file which can be used to perform WebKit-specific GDB initialization

when the debugger is launched in the repository's root directory. Also remove a Chromium-specific comment
that covers already removed entries.

12:15 PM Changeset in webkit [163969] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

RenderNamedFlowThread should only support RenderElement children.
<https://webkit.org/b/128675>

Tighten up flow-thread rendering so that it only supports element
children directly. This means we don't have to worry about text
renderers on this code path.

Reviewed by Antti Koivisto.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::insertedIntoTree):
(WebCore::RenderElement::willBeRemovedFromTree):
(WebCore::RenderElement::willBeDestroyed):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::nextRendererForElement):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):

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

(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::willBeRemovedFromTree):

  • style/StyleResolveTree.cpp:

(WebCore::Style::createRendererIfNeeded):

11:29 AM Changeset in webkit [163968] by beidson@apple.com
  • 5 edits
    2 adds in trunk

Add a mac-wk1 platform directory and TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=128676

Reviewed by Alexey Proskuryakov.

Tools:

  • Scripts/webkitpy/port/mac.py:

(MacPort.default_baseline_search_path): When running WK1 tests on Mac,

make mac-wk1 be the frontmost search path.

LayoutTests:

  • platform/mac-wk1/TestExpectations: Added. Skip IndexedDB here.
  • platform/mac-wk2/TestExpectations: Manage all mac-wk2 IndexedDB expectations here instead of building off the default mac expectations.
  • platform/mac/TestExpectations: Don’t skip IndexedDB here.
10:57 AM Changeset in webkit [163967] by rniwa@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Windows build fix attempt after r163960.

10:50 AM Changeset in webkit [163966] by Lucas Forschler
  • 5 edits in tags/Safari-538.16.4/Source

Versioning.

10:45 AM Changeset in webkit [163965] by Lucas Forschler
  • 1 copy in tags/Safari-538.16.4

New Tag.

10:40 AM Changeset in webkit [163964] by msaboff@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Adjust VM::stackLimit based on the size of the largest FTL stack produced
https://bugs.webkit.org/show_bug.cgi?id=128562

Reviewed by Mark Lam.

Added VM::m_largestFTLStackSize to track the largest stack size of an FTL compiled
function. Added VM::m_ftlStackLimit for FTL functions stack limit. Renamed
VM::updateStackLimitWithReservedZoneSize to VM::updateReservedZoneSize. Renamed
VM::setStackLimit to VM::updateStackLimit and changed it to do the updating of the
stack limits, including taking into account m_largestFTLStackSize.

  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalizeFunction):

  • runtime/ErrorHandlingScope.cpp:

(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):

  • runtime/JSLock.cpp:

(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::grabAllLocks):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::updateReservedZoneSize):
(JSC::VM::updateStackLimit):
(JSC::VM::updateFTLLargestStackSize):

  • runtime/VM.h:
10:17 AM Changeset in webkit [163963] by beidson@apple.com
  • 484 edits
    2 copies
    44 adds in trunk/LayoutTests

IDB: Reimport storage/indexeddb tests from Blink
https://bugs.webkit.org/show_bug.cgi?id=128636

Rubberstamped by Jer Noble.

Take two.

When I did this last night in r163923 the Mozilla tests outputted different results
because one of the logging functions they made had become more verbose.

This time we include the new test expectations for those tests, and update them to
reflect the different exception message outputted in WebKit vs Blink.

  • resources/js-test.js: Added.
  • storage/indexeddb/aborted-versionchange-closes-expected.txt:
  • storage/indexeddb/aborted-versionchange-closes.html:
  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/basics-shared-workers-expected.txt:
  • storage/indexeddb/basics-shared-workers.html:
  • storage/indexeddb/basics-workers-expected.txt:
  • storage/indexeddb/basics-workers.html:
  • storage/indexeddb/basics.html:
  • storage/indexeddb/clone-exception-expected.txt:
  • storage/indexeddb/clone-exception.html:
  • storage/indexeddb/closed-cursor-expected.txt: Added.
  • storage/indexeddb/closed-cursor.html: Added.
  • storage/indexeddb/connection-leak-expected.txt: Added.
  • storage/indexeddb/connection-leak.html: Added.
  • storage/indexeddb/create-and-remove-object-store-expected.txt:
  • storage/indexeddb/create-and-remove-object-store.html:
  • storage/indexeddb/create-object-store-options-expected.txt:
  • storage/indexeddb/create-object-store-options.html:
  • storage/indexeddb/createIndex-after-failure-expected.txt:
  • storage/indexeddb/createIndex-after-failure.html:
  • storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/createObjectStore-name-argument-required.html:
  • storage/indexeddb/createObjectStore-null-name.html:
  • storage/indexeddb/cursor-added-bug.html:
  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/cursor-advance-workers-expected.txt:
  • storage/indexeddb/cursor-advance-workers.html:
  • storage/indexeddb/cursor-advance.html:
  • storage/indexeddb/cursor-basics-expected.txt: Added.
  • storage/indexeddb/cursor-basics.html: Added.
  • storage/indexeddb/cursor-cast-expected.txt: Added.
  • storage/indexeddb/cursor-cast.html: Added.
  • storage/indexeddb/cursor-continue-dir-expected.txt:
  • storage/indexeddb/cursor-continue-dir.html:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-continue-validity-expected.txt:
  • storage/indexeddb/cursor-continue-validity.html:
  • storage/indexeddb/cursor-continue.html:
  • storage/indexeddb/cursor-continueprimarykey-expected.txt: Added.
  • storage/indexeddb/cursor-continueprimarykey.html: Added.
  • storage/indexeddb/cursor-delete.html:
  • storage/indexeddb/cursor-finished-expected.txt:
  • storage/indexeddb/cursor-finished.html:
  • storage/indexeddb/cursor-inconsistency.html:
  • storage/indexeddb/cursor-index-delete.html:
  • storage/indexeddb/cursor-key-order.html:
  • storage/indexeddb/cursor-leak-expected.txt:
  • storage/indexeddb/cursor-leak.html: Added.
  • storage/indexeddb/cursor-overloads-expected.txt:
  • storage/indexeddb/cursor-overloads.html:
  • storage/indexeddb/cursor-prev-no-duplicate.html:
  • storage/indexeddb/cursor-primary-key-order.html:
  • storage/indexeddb/cursor-properties.html:
  • storage/indexeddb/cursor-request-cycle-expected.txt: Added.
  • storage/indexeddb/cursor-request-cycle.html: Added.
  • storage/indexeddb/cursor-reverse-bug.html:
  • storage/indexeddb/cursor-skip-deleted.html:
  • storage/indexeddb/cursor-update-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required.html:
  • storage/indexeddb/cursor-update.html:
  • storage/indexeddb/cursor-value.html:
  • storage/indexeddb/data-corruption-expected.txt:
  • storage/indexeddb/data-corruption.html:
  • storage/indexeddb/database-basics-expected.txt:
  • storage/indexeddb/database-basics.html:
  • storage/indexeddb/database-close-expected.txt:
  • storage/indexeddb/database-close.html:
  • storage/indexeddb/database-closepending-flag-expected.txt:
  • storage/indexeddb/database-closepending-flag.html:
  • storage/indexeddb/database-deletepending-flag.html:
  • storage/indexeddb/database-name-undefined-expected.txt:
  • storage/indexeddb/database-name-undefined.html:
  • storage/indexeddb/database-odd-names.html:
  • storage/indexeddb/database-wrapper-expected.txt:
  • storage/indexeddb/database-wrapper.html:
  • storage/indexeddb/delete-closed-database-object-expected.txt:
  • storage/indexeddb/delete-closed-database-object.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html:
  • storage/indexeddb/delete-range.html:
  • storage/indexeddb/deleteIndex-bug110792-expected.txt:
  • storage/indexeddb/deleteIndex-bug110792.html:
  • storage/indexeddb/deleteIndex-expected.txt:
  • storage/indexeddb/deleteIndex.html:
  • storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/deleteObjectStore-name-argument-required.html:
  • storage/indexeddb/deleteObjectStore-null-name.html:
  • storage/indexeddb/deleted-objects-expected.txt:
  • storage/indexeddb/deleted-objects.html:
  • storage/indexeddb/deletedatabase-blocked.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange.html:
  • storage/indexeddb/deletedatabase-not-blocked.html:
  • storage/indexeddb/deletedatabase-transaction.html:
  • storage/indexeddb/dont-commit-on-blocked.html:
  • storage/indexeddb/dont-wedge.html:
  • storage/indexeddb/duplicates.html:
  • storage/indexeddb/error-causes-abort-by-default.html:
  • storage/indexeddb/events-expected.txt:
  • storage/indexeddb/events.html:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/exception-in-event-aborts.html:
  • storage/indexeddb/exceptions-expected.txt:
  • storage/indexeddb/exceptions.html:
  • storage/indexeddb/factory-basics-expected.txt:
  • storage/indexeddb/factory-basics-workers-expected.txt:
  • storage/indexeddb/factory-basics-workers.html:
  • storage/indexeddb/factory-basics.html:
  • storage/indexeddb/factory-cmp-expected.txt:
  • storage/indexeddb/factory-cmp.html:
  • storage/indexeddb/factory-deletedatabase.html:
  • storage/indexeddb/get-keyrange-expected.txt:
  • storage/indexeddb/get-keyrange.html:
  • storage/indexeddb/index-basics-expected.txt:
  • storage/indexeddb/index-basics-workers-expected.txt:
  • storage/indexeddb/index-basics-workers.html:
  • storage/indexeddb/index-basics.html:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-count.html:
  • storage/indexeddb/index-cursor.html:
  • storage/indexeddb/index-duplicate-keypaths.html:
  • storage/indexeddb/index-get-key-argument-required-expected.txt:
  • storage/indexeddb/index-get-key-argument-required.html:
  • storage/indexeddb/index-multientry.html:
  • storage/indexeddb/index-population.html:
  • storage/indexeddb/index-unique.html:
  • storage/indexeddb/interfaces.html:
  • storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html:
  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/intversion-bad-parameters.html:
  • storage/indexeddb/intversion-blocked.html:
  • storage/indexeddb/intversion-close-between-events.html:
  • storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/intversion-close-in-oncomplete.html:
  • storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
  • storage/indexeddb/intversion-close-in-upgradeneeded.html:
  • storage/indexeddb/intversion-encoding.html:
  • storage/indexeddb/intversion-gated-on-delete.html:
  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/intversion-long-queue.html:
  • storage/indexeddb/intversion-omit-parameter.html:
  • storage/indexeddb/intversion-open-in-upgradeneeded.html:
  • storage/indexeddb/intversion-open-with-version.html:
  • storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-ascending.html: Added.
  • storage/indexeddb/intversion-pending-version-changes-descending-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-descending.html: Added.
  • storage/indexeddb/intversion-pending-version-changes-same-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-same.html: Added.
  • storage/indexeddb/intversion-persistence.html:
  • storage/indexeddb/intversion-revert-on-abort.html:
  • storage/indexeddb/intversion-two-opens-no-versions.html:
  • storage/indexeddb/intversion-upgrades-expected.txt:
  • storage/indexeddb/intversion-upgrades.html:
  • storage/indexeddb/invalid-keys-expected.txt:
  • storage/indexeddb/invalid-keys.html:
  • storage/indexeddb/key-generator.html:
  • storage/indexeddb/key-sort-order-across-types.html:
  • storage/indexeddb/key-sort-order-date.html:
  • storage/indexeddb/key-type-array-expected.txt:
  • storage/indexeddb/key-type-array.html:
  • storage/indexeddb/key-type-binary-expected.txt: Added.
  • storage/indexeddb/key-type-binary.html: Added.
  • storage/indexeddb/key-type-infinity.html:
  • storage/indexeddb/keypath-arrays-expected.txt:
  • storage/indexeddb/keypath-arrays.html:
  • storage/indexeddb/keypath-basics-expected.txt:
  • storage/indexeddb/keypath-basics.html:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keypath-edges.html:
  • storage/indexeddb/keypath-fetch-key.html:
  • storage/indexeddb/keypath-intrinsic-properties.html:
  • storage/indexeddb/keyrange-expected.txt:
  • storage/indexeddb/keyrange-required-arguments-expected.txt:
  • storage/indexeddb/keyrange-required-arguments.html:
  • storage/indexeddb/keyrange.html:
  • storage/indexeddb/lazy-index-population-expected.txt:
  • storage/indexeddb/lazy-index-population.html:
  • storage/indexeddb/lazy-index-types.html:
  • storage/indexeddb/legacy-constants.html:
  • storage/indexeddb/list-ordering.html:
  • storage/indexeddb/metadata-race-expected.txt: Added.
  • storage/indexeddb/metadata-race.html: Added.
  • storage/indexeddb/metadata.html:
  • storage/indexeddb/mozilla/add-twice-failure.html:
  • storage/indexeddb/mozilla/autoincrement-indexes.html:
  • storage/indexeddb/mozilla/bad-keypath-expected.txt:
  • storage/indexeddb/mozilla/bad-keypath.html:
  • storage/indexeddb/mozilla/clear-expected.txt:
  • storage/indexeddb/mozilla/clear.html:
  • storage/indexeddb/mozilla/create-index-unique.html:
  • storage/indexeddb/mozilla/create-index-with-integer-keys.html:
  • storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
  • storage/indexeddb/mozilla/create-objectstore-basics.html:
  • storage/indexeddb/mozilla/create-objectstore-null-name.html:
  • storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html:
  • storage/indexeddb/mozilla/cursor-mutation.html:
  • storage/indexeddb/mozilla/cursor-update-updates-indexes.html:
  • storage/indexeddb/mozilla/cursors-expected.txt:
  • storage/indexeddb/mozilla/cursors.html:
  • storage/indexeddb/mozilla/delete-result.html:
  • storage/indexeddb/mozilla/event-source.html:
  • storage/indexeddb/mozilla/global-data.html:
  • storage/indexeddb/mozilla/index-prev-no-duplicate.html:
  • storage/indexeddb/mozilla/indexes.html:
  • storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-delete-null-key.html:
  • storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-inline-and-passed.html:
  • storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-put-no-key.html:
  • storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-put-null-key.html:
  • storage/indexeddb/mozilla/key-requirements.html:
  • storage/indexeddb/mozilla/object-cursors.html:
  • storage/indexeddb/mozilla/object-identity.html:
  • storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html:
  • storage/indexeddb/mozilla/object-store-remove-values.html:
  • storage/indexeddb/mozilla/objectstorenames.html:
  • storage/indexeddb/mozilla/odd-result-order.html:
  • storage/indexeddb/mozilla/open-database-null-name.html:
  • storage/indexeddb/mozilla/put-get-values.html:
  • storage/indexeddb/mozilla/readonly-transactions-expected.txt:
  • storage/indexeddb/mozilla/readonly-transactions.html:
  • storage/indexeddb/mozilla/readwrite-transactions.html:
  • storage/indexeddb/mozilla/readyState.html:
  • storage/indexeddb/mozilla/remove-index.html:
  • storage/indexeddb/mozilla/remove-objectstore.html:
  • storage/indexeddb/mozilla/resources/add-twice-failure.js:
  • storage/indexeddb/mozilla/resources/autoincrement-indexes.js:
  • storage/indexeddb/mozilla/resources/bad-keypath.js:
  • storage/indexeddb/mozilla/resources/clear.js:
  • storage/indexeddb/mozilla/resources/create-index-unique.js:
  • storage/indexeddb/mozilla/resources/create-index-with-integer-keys.js:
  • storage/indexeddb/mozilla/resources/create-objectstore-basics.js:
  • storage/indexeddb/mozilla/resources/create-objectstore-null-name.js:
  • storage/indexeddb/mozilla/resources/cursor-mutation-objectstore-only.js:
  • storage/indexeddb/mozilla/resources/cursor-mutation.js:
  • storage/indexeddb/mozilla/resources/cursor-update-updates-indexes.js:
  • storage/indexeddb/mozilla/resources/cursors.js:
  • storage/indexeddb/mozilla/resources/delete-result.js:
  • storage/indexeddb/mozilla/resources/event-source.js:
  • storage/indexeddb/mozilla/resources/global-data.js:
  • storage/indexeddb/mozilla/resources/indexes.js:
  • storage/indexeddb/mozilla/resources/key-requirements-delete-null-key.js:
  • storage/indexeddb/mozilla/resources/key-requirements-inline-and-passed.js:
  • storage/indexeddb/mozilla/resources/key-requirements-put-no-key.js:
  • storage/indexeddb/mozilla/resources/key-requirements-put-null-key.js:
  • storage/indexeddb/mozilla/resources/key-requirements.js:
  • storage/indexeddb/mozilla/resources/object-cursors.js:
  • storage/indexeddb/mozilla/resources/object-identity.js:
  • storage/indexeddb/mozilla/resources/object-store-inline-autoincrement-key-added-on-put.js:
  • storage/indexeddb/mozilla/resources/object-store-remove-values.js:
  • storage/indexeddb/mozilla/resources/objectstorenames.js:
  • storage/indexeddb/mozilla/resources/odd-result-order.js:
  • storage/indexeddb/mozilla/resources/open-database-null-name.js:
  • storage/indexeddb/mozilla/resources/put-get-values.js:
  • storage/indexeddb/mozilla/resources/readonly-transactions.js:
  • storage/indexeddb/mozilla/resources/readwrite-transactions.js:
  • storage/indexeddb/mozilla/resources/readyState.js:
  • storage/indexeddb/mozilla/resources/remove-index.js:
  • storage/indexeddb/mozilla/resources/remove-objectstore.js:
  • storage/indexeddb/mozilla/resources/versionchange-abort.js:
  • storage/indexeddb/mozilla/versionchange-abort.html:
  • storage/indexeddb/mutating-cursor.html:
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/object-lookups-in-versionchange-expected.txt:
  • storage/indexeddb/object-lookups-in-versionchange.html:
  • storage/indexeddb/objectStore-required-arguments-expected.txt:
  • storage/indexeddb/objectStore-required-arguments.html:
  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-autoincrement.html:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/objectstore-basics-workers.html:
  • storage/indexeddb/objectstore-basics.html:
  • storage/indexeddb/objectstore-clear.html:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/objectstore-count.html:
  • storage/indexeddb/objectstore-cursor-expected.txt:
  • storage/indexeddb/objectstore-cursor.html:
  • storage/indexeddb/objectstore-keycursor-expected.txt: Added.
  • storage/indexeddb/objectstore-keycursor.html: Added.
  • storage/indexeddb/objectstore-removeobjectstore.html:
  • storage/indexeddb/odd-strings.html:
  • storage/indexeddb/open-bad-versions.html:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/open-cursor.html:
  • storage/indexeddb/open-during-transaction.html:
  • storage/indexeddb/open-ordering.html:
  • storage/indexeddb/open-twice-workers.html:
  • storage/indexeddb/opencursor-key.html:
  • storage/indexeddb/optional-arguments-expected.txt: Added.
  • storage/indexeddb/optional-arguments.html: Added.
  • storage/indexeddb/pending-activity-workers.html:
  • storage/indexeddb/pending-activity.html:
  • storage/indexeddb/pending-version-change-on-exit.html:
  • storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
  • storage/indexeddb/pending-version-change-stuck.html:
  • storage/indexeddb/persistence.html:
  • storage/indexeddb/prefetch-bugfix-108071-expected.txt:
  • storage/indexeddb/prefetch-bugfix-108071.html:
  • storage/indexeddb/prefetch-invalidation-expected.txt: Added.
  • storage/indexeddb/prefetch-invalidation.html: Added.
  • storage/indexeddb/prefetch-race-expected.txt: Added.
  • storage/indexeddb/prefetch-race.html: Added.
  • storage/indexeddb/queued-commands.html:
  • storage/indexeddb/readonly-properties.html:
  • storage/indexeddb/readonly.html:
  • storage/indexeddb/removed-expected.txt:
  • storage/indexeddb/removed.html:
  • storage/indexeddb/request-continue-abort.html:
  • storage/indexeddb/request-event-propagation.html:
  • storage/indexeddb/request-leak-expected.txt: Added.
  • storage/indexeddb/request-leak.html: Added.
  • storage/indexeddb/request-result-cache-expected.txt: Added.
  • storage/indexeddb/request-result-cache.html: Added.
  • storage/indexeddb/resources/aborted-versionchange-closes.js:
  • storage/indexeddb/resources/basics.js:
  • storage/indexeddb/resources/create-and-remove-object-store.js:
  • storage/indexeddb/resources/create-object-store-options.js:
  • storage/indexeddb/resources/createIndex-after-failure.js:
  • storage/indexeddb/resources/createObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/createObjectStore-null-name.js:
  • storage/indexeddb/resources/cursor-added-bug.js:
  • storage/indexeddb/resources/cursor-advance.js:
  • storage/indexeddb/resources/cursor-basics.js: Added.
  • storage/indexeddb/resources/cursor-continue-dir.js:
  • storage/indexeddb/resources/cursor-continue-validity.js:
  • storage/indexeddb/resources/cursor-continue.js:
  • storage/indexeddb/resources/cursor-continueprimarykey.js: Added.
  • storage/indexeddb/resources/cursor-delete.js:
  • storage/indexeddb/resources/cursor-inconsistency.js:
  • storage/indexeddb/resources/cursor-index-delete.js:
  • storage/indexeddb/resources/cursor-key-order.js:
  • storage/indexeddb/resources/cursor-prev-no-duplicate.js:
  • storage/indexeddb/resources/cursor-primary-key-order.js:
  • storage/indexeddb/resources/cursor-properties.js:
  • storage/indexeddb/resources/cursor-reverse-bug.js:
  • storage/indexeddb/resources/cursor-skip-deleted.js:
  • storage/indexeddb/resources/cursor-update-value-argument-required.js:
  • storage/indexeddb/resources/cursor-update.js:
  • storage/indexeddb/resources/cursor-value.js:
  • storage/indexeddb/resources/data-corruption.js:
  • storage/indexeddb/resources/database-basics.js:
  • storage/indexeddb/resources/database-close.js:
  • storage/indexeddb/resources/database-closepending-flag.js:
  • storage/indexeddb/resources/database-deletepending-flag.js:
  • storage/indexeddb/resources/database-name-undefined.js:
  • storage/indexeddb/resources/database-odd-names.js:
  • storage/indexeddb/resources/database-quota.js:
  • storage/indexeddb/resources/database-wrapper.js:
  • storage/indexeddb/resources/delete-closed-database-object.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
  • storage/indexeddb/resources/delete-range.js:
  • storage/indexeddb/resources/deleteIndex.js:
  • storage/indexeddb/resources/deleteObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/deleteObjectStore-null-name.js:
  • storage/indexeddb/resources/deleted-objects.js:
  • storage/indexeddb/resources/deletedatabase-blocked.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:
  • storage/indexeddb/resources/deletedatabase-not-blocked.js:
  • storage/indexeddb/resources/dont-commit-on-blocked-worker.js:
  • storage/indexeddb/resources/dont-wedge.js:
  • storage/indexeddb/resources/duplicates.js:
  • storage/indexeddb/resources/error-causes-abort-by-default.js:
  • storage/indexeddb/resources/events.js:
  • storage/indexeddb/resources/exception-in-event-aborts.js:
  • storage/indexeddb/resources/exceptions.js:
  • storage/indexeddb/resources/factory-basics.js:
  • storage/indexeddb/resources/factory-cmp.js:
  • storage/indexeddb/resources/factory-deletedatabase.js:
  • storage/indexeddb/resources/get-keyrange.js:
  • storage/indexeddb/resources/index-basics.js:
  • storage/indexeddb/resources/index-count.js:
  • storage/indexeddb/resources/index-cursor.js:
  • storage/indexeddb/resources/index-duplicate-keypaths.js:
  • storage/indexeddb/resources/index-get-key-argument-required.js:
  • storage/indexeddb/resources/index-multientry.js:
  • storage/indexeddb/resources/index-population.js:
  • storage/indexeddb/resources/index-unique.js:
  • storage/indexeddb/resources/interfaces.js:
  • storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-bad-parameters.js:
  • storage/indexeddb/resources/intversion-blocked.js:
  • storage/indexeddb/resources/intversion-close-between-events.js:
  • storage/indexeddb/resources/intversion-close-in-oncomplete.js:
  • storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-encoding.js:
  • storage/indexeddb/resources/intversion-gated-on-delete.js:
  • storage/indexeddb/resources/intversion-long-queue.js:
  • storage/indexeddb/resources/intversion-omit-parameter.js:
  • storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-open-with-version.js:
  • storage/indexeddb/resources/intversion-pending-version-changes-ascending.js: Added.
  • storage/indexeddb/resources/intversion-pending-version-changes-descending.js: Added.
  • storage/indexeddb/resources/intversion-pending-version-changes-same.js: Added.
  • storage/indexeddb/resources/intversion-persistence.js:
  • storage/indexeddb/resources/intversion-revert-on-abort.js:
  • storage/indexeddb/resources/intversion-two-opens-no-versions.js:
  • storage/indexeddb/resources/intversion-upgrades.js:
  • storage/indexeddb/resources/invalid-keys.js:
  • storage/indexeddb/resources/key-generator.js:
  • storage/indexeddb/resources/key-sort-order-across-types.js:
  • storage/indexeddb/resources/key-sort-order-date.js:
  • storage/indexeddb/resources/key-type-array.js:
  • storage/indexeddb/resources/key-type-binary.js: Added.
  • storage/indexeddb/resources/key-type-infinity.js:
  • storage/indexeddb/resources/keypath-arrays.js:
  • storage/indexeddb/resources/keypath-basics.js:
  • storage/indexeddb/resources/keypath-edges.js:
  • storage/indexeddb/resources/keypath-fetch-key.js:
  • storage/indexeddb/resources/keypath-intrinsic-properties.js:
  • storage/indexeddb/resources/keyrange-required-arguments.js:
  • storage/indexeddb/resources/keyrange.js:
  • storage/indexeddb/resources/lazy-index-types.js:
  • storage/indexeddb/resources/legacy-constants.js:
  • storage/indexeddb/resources/list-ordering.js:
  • storage/indexeddb/resources/metadata.js:
  • storage/indexeddb/resources/mutating-cursor.js:
  • storage/indexeddb/resources/objectStore-required-arguments.js:
  • storage/indexeddb/resources/objectstore-autoincrement.js:
  • storage/indexeddb/resources/objectstore-basics.js:
  • storage/indexeddb/resources/objectstore-clear.js:
  • storage/indexeddb/resources/objectstore-count.js:
  • storage/indexeddb/resources/objectstore-cursor.js:
  • storage/indexeddb/resources/objectstore-keycursor.js:
  • storage/indexeddb/resources/objectstore-removeobjectstore.js:
  • storage/indexeddb/resources/odd-strings.js:
  • storage/indexeddb/resources/open-cursor.js:
  • storage/indexeddb/resources/open-during-transaction.js:
  • storage/indexeddb/resources/open-ordering.js:
  • storage/indexeddb/resources/open-twice.js:
  • storage/indexeddb/resources/opencursor-key.js:
  • storage/indexeddb/resources/pending-activity.js:
  • storage/indexeddb/resources/pending-version-change-on-exit.js:
  • storage/indexeddb/resources/pending-version-change-stuck.js:
  • storage/indexeddb/resources/persistence.js:
  • storage/indexeddb/resources/prefetch-bugfix-108071.js:
  • storage/indexeddb/resources/queued-commands.js:
  • storage/indexeddb/resources/readonly-properties.js:
  • storage/indexeddb/resources/readonly.js:
  • storage/indexeddb/resources/removed.js:
  • storage/indexeddb/resources/request-continue-abort.js:
  • storage/indexeddb/resources/request-event-propagation.js:
  • storage/indexeddb/resources/set_version_blocked.js:
  • storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
  • storage/indexeddb/resources/setversion-not-blocked.js:
  • storage/indexeddb/resources/shared.js:
  • storage/indexeddb/resources/transaction-abort.js:
  • storage/indexeddb/resources/transaction-active-flag.js:
  • storage/indexeddb/resources/transaction-after-close.js:
  • storage/indexeddb/resources/transaction-and-objectstore-calls.js:
  • storage/indexeddb/resources/transaction-basics.js:
  • storage/indexeddb/resources/transaction-complete-workers.js:
  • storage/indexeddb/resources/transaction-coordination-across-databases.js:
  • storage/indexeddb/resources/transaction-coordination-within-database.js:
  • storage/indexeddb/resources/transaction-crash-on-abort.js:
  • storage/indexeddb/resources/transaction-error.js:
  • storage/indexeddb/resources/transaction-event-propagation.js:
  • storage/indexeddb/resources/transaction-read-only.js:
  • storage/indexeddb/resources/transaction-readwrite-exclusive.js:
  • storage/indexeddb/resources/transaction-rollback.js:
  • storage/indexeddb/resources/transaction-scope-sequencing.js:
  • storage/indexeddb/resources/transaction-starvation.js:
  • storage/indexeddb/resources/transaction-storeNames-required.js:
  • storage/indexeddb/resources/unblocked-version-changes.js:
  • storage/indexeddb/resources/unprefix.js:
  • storage/indexeddb/resources/value-undefined.js:
  • storage/indexeddb/resources/values-odd-types.js:
  • storage/indexeddb/resources/version-change-abort.js:
  • storage/indexeddb/resources/version-change-exclusive.js:
  • storage/indexeddb/resources/versionchangerequest-activedomobject.js:
  • storage/indexeddb/set_version_blocked.html:
  • storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
  • storage/indexeddb/setversion-blocked-by-versionchange-close.html:
  • storage/indexeddb/setversion-not-blocked.html:
  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-abort-expected.txt:
  • storage/indexeddb/transaction-abort.html:
  • storage/indexeddb/transaction-active-flag-expected.txt:
  • storage/indexeddb/transaction-active-flag.html:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-after-close.html:
  • storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
  • storage/indexeddb/transaction-and-objectstore-calls.html:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-basics.html:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-complete-with-js-recursion.html:
  • storage/indexeddb/transaction-complete-workers-expected.txt:
  • storage/indexeddb/transaction-complete-workers.html:
  • storage/indexeddb/transaction-coordination-across-databases.html:
  • storage/indexeddb/transaction-coordination-within-database.html:
  • storage/indexeddb/transaction-crash-in-tasks.html:
  • storage/indexeddb/transaction-crash-on-abort.html:
  • storage/indexeddb/transaction-error-expected.txt:
  • storage/indexeddb/transaction-error.html:
  • storage/indexeddb/transaction-event-propagation.html:
  • storage/indexeddb/transaction-ordering-expected.txt: Added.
  • storage/indexeddb/transaction-ordering.html: Added.
  • storage/indexeddb/transaction-read-only-expected.txt:
  • storage/indexeddb/transaction-read-only.html:
  • storage/indexeddb/transaction-readwrite-exclusive.html:
  • storage/indexeddb/transaction-rollback.html:
  • storage/indexeddb/transaction-scope-sequencing.html:
  • storage/indexeddb/transaction-starvation.html:
  • storage/indexeddb/transaction-storeNames-required-expected.txt:
  • storage/indexeddb/transaction-storeNames-required.html:
  • storage/indexeddb/unblocked-version-changes-expected.txt:
  • storage/indexeddb/unblocked-version-changes.html:
  • storage/indexeddb/unprefix-workers.html:
  • storage/indexeddb/unprefix.html:
  • storage/indexeddb/value-undefined.html:
  • storage/indexeddb/values-odd-types.html:
  • storage/indexeddb/version-change-abort-expected.txt:
  • storage/indexeddb/version-change-abort.html:
  • storage/indexeddb/version-change-exclusive-expected.txt:
  • storage/indexeddb/version-change-exclusive.html:
  • storage/indexeddb/versionchangerequest-activedomobject.html:
10:15 AM Changeset in webkit [163962] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Modernize missed inspector files
https://bugs.webkit.org/show_bug.cgi?id=128661

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-12
Reviewed by Anders Carlsson.

Add final, override, and use nullptr where appropriate.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::asCSSStyleRule):
(WebCore::InspectorCSSAgent::discardAgent):
(WebCore::InspectorCSSAgent::disable):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::elementForId):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::assertStyleSheetForId):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):

  • inspector/InspectorFrontendClientLocal.h:
9:57 AM Changeset in webkit [163961] by mitz@apple.com
  • 8 edits in trunk/Source/WebKit2

Stop using PLATFORM(MAC) in WebKit2/{Database,Network}Process except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128659

Reviewed by Anders Carlsson.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): Changed PLATFORM(MAC) to
OS(DARWIN) around use of Mach-based IPC.
Changed PLATFORM(MAC) to PLATFORM(COCOA) elsewhere in this file.

  • NetworkProcess/NetworkProcess.cpp: Ditto.

(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):

  • NetworkProcess/NetworkProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • NetworkProcess/NetworkProcess.messages.in: Removed PLATFORM(MAC) guard around

SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.

  • NetworkProcess/NetworkResourceLoader.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)

(WebKit::NetworkResourceLoader::continueWillSendRequest):

  • NetworkProcess/NetworkResourceLoader.h: Ditto.
  • NetworkProcess/RemoteNetworkingContext.h: Ditto, matching WebCore::NetworkingContext.
9:14 AM Changeset in webkit [163960] by oliver@apple.com
  • 62 edits
    2 copies
    6 adds in trunk

Make it possible to implement JS builtins in JS
https://bugs.webkit.org/show_bug.cgi?id=127887

Reviewed by Michael Saboff.

.:

  • GNUmakefile.am:
  • Source/cmake/gtest/CMakeLists.txt:

Source/JavaScriptCore:

This patch makes it possible to write builtin functions in JS.
The bindings, generators, and definitions are all created automatically
based on js files in the builtins/ directory. This patch includes one
such case: Array.prototype.js with an implementation of every().

There's a lot of refactoring to make it possible for CommonIdentifiers
to include the output of the generated files (DerivedSources/JSCBuiltins.{h,cpp})
without breaking the offset extractor. The result of this refactoring
is that CommonIdentifiers, and a few other miscellaneous headers now
need to be included directly as they were formerly captured through other
paths.

In addition this adds a flag to the Lookup table's hashentry to indicate
that a static function is actually backed by JS. There is then a lot of
logic to thread the special nature of the functon to where it matters.
This allows toString(), .caller, etc to mimic the behaviour of a host
function.

Notes on writing builtins:

  • Each function is compiled independently of the others, and those implementations cannot currently capture all global properties (as that could be potentially unsafe). If a function does capture a global we will deliberately crash.
  • For those "global" properties that we do want access to, we use the @ prefix, e.g. Object(this) becomes @Object(this). The @ identifiers are private names, and behave just like regular properties, only without the risk of adulteration. Again, in the @Object case, we explicitly duplicate the ObjectConstructor reference on the GlobalObject so that we have guaranteed access to the original version of the constructor.
  • call, apply, eval, and Function are all rejected identifiers, again to prevent anything from accidentally using an adulterated object. Instead @call and @apply are available, and happily they completely drop the neq_ptr instruction as they're defined as always being the original call/apply functions.

These restrictions are just intended to make it harder to accidentally
make changes that are incorrect (for instance calling whatever has been
assigned to global.Object, instead of the original constructor function).
However, making a mistake like this should result in a purely semantic
error as fundamentally these functions are treated as though they were
regular JS code in the host global, and have no more privileges than
any other JS.

The initial proof of concept is Array.prototype.every, this shows a 65%
performance improvement, and that improvement is significantly hurt by
our poor optimisation of op_in.

As this is such a limited function, we have not yet exported all symbols
that we could possibly need, but as we implement more, the likelihood
of encountering missing features will reduce.

  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
(JSC::JSCallbackObject<Parent>::put):
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::getStaticValue):
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):

(every):

  • builtins/BuiltinExecutables.cpp: Added.

(JSC::BuiltinExecutables::BuiltinExecutables):
(JSC::BuiltinExecutables::createBuiltinExecutable):

  • builtins/BuiltinExecutables.h:

(JSC::BuiltinExecutables::create):

  • builtins/BuiltinNames.h: Added.

(JSC::BuiltinNames::BuiltinNames):
(JSC::BuiltinNames::getPrivateName):
(JSC::BuiltinNames::getPublicName):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::ExecutableInfo::ExecutableInfo):
(JSC::UnlinkedFunctionExecutable::create):
(JSC::UnlinkedFunctionExecutable::toStrictness):
(JSC::UnlinkedFunctionExecutable::isBuiltinFunction):
(JSC::UnlinkedCodeBlock::isBuiltinFunction):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::isBuiltinFunction):
(JSC::BytecodeGenerator::makeFunction):

  • bytecompiler/NodesCodegen.cpp:

(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):

  • create_hash_table:
  • generate-js-builtins: Added.

(getCopyright):
(getFunctions):
(generateCode):
(mangleName):
(FunctionExecutable):
(Identifier):
(JSGlobalObject):
(SourceCode):
(UnlinkedFunctionExecutable):
(VM):

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::makeFunctionCallNode):

  • parser/Lexer.cpp:

(JSC::Lexer<T>::Lexer):
(JSC::isSafeBuiltinIdentifier):
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<T>::lex):

  • parser/Lexer.h:

(JSC::isSafeIdentifier):
(JSC::Lexer<T>::lexExpectIdentifier):

  • parser/Nodes.cpp:

(JSC::ProgramNode::setClosedVariables):

  • parser/Nodes.h:

(JSC::ScopeNode::capturedVariables):
(JSC::ScopeNode::setClosedVariables):
(JSC::ProgramNode::closedVariables):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::didFinishParsing):
(JSC::Parser<LexerType>::printUnexpectedTokenText):

  • parser/Parser.h:

(JSC::Scope::getUsedVariables):
(JSC::Parser::closedVariables):
(JSC::parse):

  • parser/ParserModes.h:
  • parser/ParserTokens.h:
  • runtime/ArrayPrototype.cpp:
  • runtime/CodeCache.cpp:

(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/CommonIdentifiers.cpp:

(JSC::CommonIdentifiers::CommonIdentifiers):
(JSC::CommonIdentifiers::~CommonIdentifiers):
(JSC::CommonIdentifiers::getPrivateName):
(JSC::CommonIdentifiers::getPublicName):

  • runtime/CommonIdentifiers.h:

(JSC::CommonIdentifiers::builtinNames):

  • runtime/ExceptionHelpers.cpp:

(JSC::createUndefinedVariableError):

  • runtime/Executable.h:

(JSC::EvalExecutable::executableInfo):
(JSC::ProgramExecutable::executableInfo):
(JSC::FunctionExecutable::isBuiltinFunction):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncToString):

  • runtime/JSActivation.cpp:

(JSC::JSActivation::symbolTableGet):
(JSC::JSActivation::symbolTablePut):
(JSC::JSActivation::symbolTablePutWithAttributes):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::createBuiltinFunction):
(JSC::JSFunction::calculatedDisplayName):
(JSC::JSFunction::sourceCode):
(JSC::JSFunction::isHostOrBuiltinFunction):
(JSC::JSFunction::isBuiltinFunction):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::getOwnNonIndexPropertyNames):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):

  • runtime/JSFunction.h:
  • runtime/JSFunctionInlines.h:

(JSC::JSFunction::nativeFunction):
(JSC::JSFunction::nativeConstructor):
(JSC::isHostFunction):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::objectConstructor):
(JSC::JSGlobalObject::symbolTableHasProperty):

  • runtime/JSObject.cpp:

(JSC::getClassPropertyNames):
(JSC::JSObject::reifyStaticFunctionsForDelete):
(JSC::JSObject::putDirectBuiltinFunction):

  • runtime/JSObject.h:
  • runtime/JSSymbolTableObject.cpp:

(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTableGet):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):

  • runtime/Lookup.cpp:

(JSC::setUpStaticFunctionSlot):

  • runtime/Lookup.h:

(JSC::HashEntry::builtinGenerator):
(JSC::HashEntry::propertyGetter):
(JSC::HashEntry::propertyPutter):
(JSC::HashTable::entry):
(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
(JSC::putEntry):

  • runtime/NativeErrorConstructor.cpp:

(JSC::NativeErrorConstructor::finishCreation):

  • runtime/NativeErrorConstructor.h:
  • runtime/PropertySlot.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

(JSC::VM::builtinExecutables):

Tools:

CMake updates

  • DumpRenderTree/CMakeLists.txt:
  • WebKitTestRunner/CMakeLists.txt:
  • WinCELauncher/CMakeLists.txt:

LayoutTests:

Updated the test results for new error messages (now that they're
actually helpful), and added a js-regress test to track performance.

  • js/array-every-expected.txt:
  • js/dom/array-prototype-properties-expected.txt:
  • js/regress/array-prototype-every-expected.txt: Added.
  • js/regress/array-prototype-every.html: Added.
  • js/regress/script-tests/array-prototype-every.js: Added.

(test1):
(test2):
(test3):

9:10 AM Changeset in webkit [163959] by Brent Fulgham
  • 18 edits in trunk/Source

Remove some unintended copies in ranged for loops
https://bugs.webkit.org/show_bug.cgi?id=128644

Reviewed by Anders Carlsson.

../JavaScriptCore:

  • inspector/InjectedScriptHost.cpp:

(Inspector::InjectedScriptHost::clearAllWrappers): Avoid creating/destroying
a std::pair<> and pointer each loop iteration.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::Parser): Avoid copying object containing a string
each loop iteration.

../WebCore:

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingSVGDocuments): Avoid creating/destroying
RefPtrs in loop.

../WebKit2:

  • Shared/WebCrossThreadCopier.cpp:

(WebCore::Vector<Vector<IDBKeyData>>>::copy): Each iteration copies a vector of
vectors,

  • Shared/mac/RemoteLayerBackingStore.mm:

(RemoteLayerBackingStore::enumerateRectsBeingDrawn): Avoid copying a FloatRect
on each iteration.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): Avoid copying
a LayerProperty object each iteration.

  • UIProcess/GeolocationPermissionRequestManagerProxy.cpp:

(WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): Avoid
copying a pair<int64_t, pointer> each iteration.

  • UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:

(WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): Ditto

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Ditto

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::postMessageToInjectedBundle): Avoid creating/destroying a
RefPtr each loop iteration.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::shouldStartTrackingTouchEvents): Avoid copying a WebPlatformTouchPoint
object each cycle.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::updateLayerTree): Avoid copying a pair each iteration.

  • UIProcess/mac/WindowServerConnection.mm:

(WebKit::WindowServerConnection::WindowServerConnection): Avoid copying the struct
of occlusionNotificationHandlers each iteration.

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::put): Avoid copying a vector-of-vectors each
iteration.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(PlatformCALayerRemote::recursiveBuildTransaction): Avoid creating/destroying a
RefPtr each loop iteration.

6:58 AM Changeset in webkit [163958] by rakuco@webkit.org
  • 17 edits in trunk

Update the HTML Media Capture implementation.
https://bugs.webkit.org/show_bug.cgi?id=118465

Reviewed by Darin Adler.

Make the implementation in WebKit compatible with the 2013-05-09
version of the spec, which makes the "capture" attribute a boolean
instead of an enum.

Source/WebCore:

Covered by fast/forms/file/file-input-capture.html.

  • html/FileInputType.cpp:

(WebCore::FileInputType::handleDOMActivateEvent):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::capture): Renamed to shouldUseMediaCapture().
(WebCore::HTMLInputElement::shouldUseMediaCapture): Return a bool.

  • html/HTMLInputElement.h:
  • html/HTMLInputElement.idl: Turn the `capture' attribute into a

reflective boolean instead of a DOMString.

  • platform/FileChooser.h:

Source/WebKit/efl:

  • ewk/ewk_file_chooser.cpp:

(ewk_file_chooser_capture_get): Return an Eina_Bool now.

  • ewk/ewk_file_chooser.h: Get rid of Ewk_File_Chooser_Capture_Type.

Source/WebKit2:

  • Shared/WebOpenPanelParameters.cpp:

(WebKit::WebOpenPanelParameters::capture): Return a bool.

  • Shared/WebOpenPanelParameters.h: Ditto.
  • UIProcess/API/C/WKOpenPanelParameters.cpp:

(WKOpenPanelParametersCopyCapture): Deprecate, the implementation is
incompatible with the current version of the spec.
(WKOpenPanelParametersGetCaptureEnabled): Add and return a bool.

  • UIProcess/API/C/WKOpenPanelParameters.h:

LayoutTests:

  • fast/forms/file/file-input-capture-expected.txt:
  • fast/forms/file/file-input-capture.html:
5:31 AM Changeset in webkit [163957] by stavila@adobe.com
  • 3 edits in trunk/Source/WebCore

[CSS Regions] Remove unused method in RenderFlowThread
https://bugs.webkit.org/show_bug.cgi?id=128373

Reviewed by Mihnea Ovidenie.

After the landing of https://bugs.webkit.org/show_bug.cgi?id=118665, the
RenderFlowThread::computeRegionClippingRect method is obsolete.

No new tests needed, this patch only removes an unused method.

  • rendering/RenderFlowThread.cpp:
  • rendering/RenderFlowThread.h:
5:21 AM Changeset in webkit [163956] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit2

[GTK] Fails to build if configure is run with its absolute path
https://bugs.webkit.org/show_bug.cgi?id=126693

Reviewed by Gustavo Noronha Silva.

When creating links to the WebKit2 headers in the source tree
don't expect $(WebKit2) to be a relative path.

  • GNUmakefile.am:
4:40 AM Changeset in webkit [163955] by commit-queue@webkit.org
  • 15 edits
    1 copy
    2 moves
    7 adds
    2 deletes in trunk

[CSS Element Blending] Implement the software path of -webkit-blend-mode with Core Graphics.
https://bugs.webkit.org/show_bug.cgi?id=99119

Patch by Mihai Tica <mitica@adobe.com> on 2014-02-12
Reviewed by Simon Fraser.

Source/WebCore:

This patch adds support for -webkit-blend-mode with Core Graphics.
The layer promotion code that forced compositing when blending was detected has been removed.
Remaining work for the software path is to detect and implement isolation of the blending operation:
as stated in the spec, blending should be limited to the parent stacking context.

Tests: css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html

css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html
css3/compositing/blend-mode-simple-composited.html
css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer): Remove CompositingReasonBlending.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::beginTransparencyLayers): Set the blendMode on the GraphicsContext.

  • rendering/RenderLayer.h: paintsWithTransparency should return true when a blendMode is set.
  • rendering/RenderLayerCompositor.cpp: Remove promotion code when a blendMode is detected.

(WebCore::RenderLayerCompositor::requiresCompositingLayer): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::requiresOwnBackingStore): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::reasonsForCompositing): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::logReasonsForCompositing): Remove CompositingReasonBlending reason.

  • rendering/RenderLayerCompositor.h:
  • Remove the requiresCompositingForBlending method
  • Remove the CompositingReasonBlending from the CompositingReasons enum.

LayoutTests:

  • css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt: Copied from LayoutTests/css3/compositing/blend-mode-should-not-have-compositing-layer-expected.txt.
  • css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html: Test if having an overlapping composited sibling forces compositing of a blended element.
  • css3/compositing/blend-mode-layers.html: Update to test both the software and the hardware path.
  • css3/compositing/blend-mode-parent-of-composited-blended-has-layer-expected.txt: Renamed from LayoutTests/css3/compositing/should-have-compositing-layer-expected.txt.
  • css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html: Test if the parent of an accelerated element with -webkit-blend-mode is promoted.
  • css3/compositing/blend-mode-reflection.html: Update to test both the software and the hardware path.
  • css3/compositing/blend-mode-should-not-have-compositing-layer.html: Removed.
  • css3/compositing/blend-mode-simple-composited.html: Test all the blend modes for the hardware path.
  • css3/compositing/blend-mode-with-composited-descendant-should-have-layer-expected.txt: Renamed from LayoutTests/css3/compositing/blend-mode-should-not-have-compositing-layer-expected.txt.
  • css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html: Test to ensure that an element with -webkit-blend-mode and a composited descendant is also accelerated.
  • css3/compositing/should-have-compositing-layer.html: Removed.
  • platform/mac/css3/compositing/blend-mode-layers-expected.png:
  • platform/mac/css3/compositing/blend-mode-layers-expected.txt:
  • platform/mac/css3/compositing/blend-mode-overflow-expected.png:
  • platform/mac/css3/compositing/blend-mode-overflow-expected.txt: Added.
  • platform/mac/css3/compositing/blend-mode-reflection-expected.png:
  • platform/mac/css3/compositing/blend-mode-reflection-expected.txt:
  • platform/mac/css3/compositing/blend-mode-simple-composited-expected.png: Added.
  • platform/mac/css3/compositing/blend-mode-simple-composited-expected.txt: Added.
  • platform/mac/css3/compositing/blend-mode-simple-expected.png:
4:17 AM Changeset in webkit [163954] by berto@igalia.com
  • 2 edits in trunk

'ar T' is not portable and breaks the build on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128596

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-12
Reviewed by Gustavo Noronha Silva.

Create thin archives only if we are using GNU ar.

  • Source/autotools/SetupLibtool.m4:
4:13 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
4:13 AM WebKitGTK/2.2.x edited by berto@igalia.com
(diff)
3:40 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
3:40 AM WebKitGTK/2.2.x edited by berto@igalia.com
(diff)
3:27 AM Changeset in webkit [163953] by Michał Pakuła vel Rutka
  • 4 edits in trunk/LayoutTests

Unreviewed EFL gatdening

Add test expectations for failing tests.

  • platform/efl/TestExpectations:
  • platform/efl/fast/parser/xhtml-alternate-entities-expected.png: Rebaseline after r163475.
  • platform/efl/fast/parser/xhtml-alternate-entities-expected.txt: Ditto.

Feb 11, 2014:

11:59 PM Changeset in webkit [163952] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Undo an accidental change.

  • platform/mac/TestExpectations:
11:06 PM Changeset in webkit [163951] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r163262?): transitions/shorthand-border-transitions.html flakily asserts
https://bugs.webkit.org/show_bug.cgi?id=128283

  • platform/mac/TestExpectations: Updated the expectation to match failure mode.
10:40 PM Changeset in webkit [163950] by fpizlo@apple.com
  • 2 edits in trunk/Source/WebKit2

JIT should be enabled (regression from addition of JIT enabled setting)
https://bugs.webkit.org/show_bug.cgi?id=128653

Reviewed by Tim Horton.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::registerUserDefaultsIfNeeded):

10:03 PM Changeset in webkit [163949] by rniwa@webkit.org
  • 5 edits in trunk/LayoutTests

More Windows test rebaselines.

  • platform/win/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
9:54 PM Changeset in webkit [163948] by rniwa@webkit.org
  • 4 edits in trunk/Source

Source/JavaScriptCore: Debug build fix after r163946.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):

Source/WebKit2: Remove one of includes added in r163943 and r163939.

  • WebProcess/WebPage/WebPage.h:
9:45 PM Changeset in webkit [163947] by mitz@apple.com
  • 2 edits
    1 delete in trunk/Source/WebKit2

<rdar://problem/16044438>: WebKit2.framework (with *Process.app) exists at the top level of the simulator
https://bugs.webkit.org/show_bug.cgi?id=128650

Reviewed by Mark Rowe.

  • Configurations/All-iOS.xcconfig: Removed this unused file.
  • Configurations/All.xcconfig: Set SKIP_INSTALL to YES for this aggregate target, so that

its Copy Files build phase, intended only for engineering builds, doesn’t copy into the
(wrong) install location.

9:42 PM Changeset in webkit [163946] by fpizlo@apple.com
  • 40 edits
    1 add in trunk/Source/JavaScriptCore

Inserting a node with a codeOrigin "like" another node should copy both the codeOrigin and codeOriginForExitTarget
https://bugs.webkit.org/show_bug.cgi?id=128635

Reviewed by Michael Saboff.

Originally nodes just had a codeOrigin. But then we started doing code motion, and we
needed to separate the codeOrigin that designated where to exit from the codeOrigin
that designated everything else. The "everything else" is actually pretty important:
it includes profiling, exception handling, and the actual semantics of the node. For
example some nodes use the origin's global object in some way.

This all sort of worked except for one quirk: the facilities for creating nodes all
assumed that there really was only one origin. LICM would work around this by setting
the codeOriginForExitTarget manually. But, that means that:

  • If we did hoist a node twice, then the second time around, we would forget the node's original exit target.


  • If we did an insertNode() to insert a node before a hoisted node, the inserted node would have the wrong exit target.


Most of the time, if we copy the code origin, we actually want to copy both origins.
So, this patch introduces the notion of a NodeOrigin which has two CodeOrigins: a
forExit code origin that says where to exit, and a semantic code origin for everything
else.

This also (annoyingly?) means that we are always more explicit about which code origin
we refer to. That means that a lot of "node->codeOrigin" expressions had to change to
"node->origin.semantic". This was partly a ploy on my part to ensure that this
refactoring was complete: to get the code to compile I really had to audit all uses of
CodeOrigin. If, in the future, we find that "node->origin.semantic" is too cumbersome
then we can reintroduce the Node::codeOrigin field. For now I kinda like it though.

  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::originalArrayStructure):
(JSC::DFG::ArrayMode::alreadyChecked):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addToGraph):

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::convertToJump):
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
(JSC::DFG::CFGSimplificationPhase::jettisonBlock):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::addPhiSilently):
(JSC::DFG::CPSRethreadingPhase::addPhi):
(JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor):
(JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocalFor):
(JSC::DFG::CPSRethreadingPhase::propagatePhis):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::setLocalStoreElimination):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::notifyCompilingStructureTransition):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):

  • dfg/DFGCriticalEdgeBreakingPhase.cpp:

(JSC::DFG::CriticalEdgeBreakingPhase::breakCriticalEdge):

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::fixupBlock):

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::createDumpList):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::createToString):
(JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion):
(JSC::DFG::FixupPhase::convertStringAddUse):
(JSC::DFG::FixupPhase::fixupToPrimitive):
(JSC::DFG::FixupPhase::fixupToString):
(JSC::DFG::FixupPhase::attemptToMakeFastStringAdd):
(JSC::DFG::FixupPhase::checkArray):
(JSC::DFG::FixupPhase::blessArrayOperation):
(JSC::DFG::FixupPhase::fixEdge):
(JSC::DFG::FixupPhase::insertStoreBarrier):
(JSC::DFG::FixupPhase::fixIntEdge):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):
(JSC::DFG::FixupPhase::truncateConstantToInt32):
(JSC::DFG::FixupPhase::attemptToMakeGetArrayLength):
(JSC::DFG::FixupPhase::attemptToMakeGetTypedArrayByteLength):
(JSC::DFG::FixupPhase::convertToGetArrayLength):
(JSC::DFG::FixupPhase::prependGetArrayLength):
(JSC::DFG::FixupPhase::attemptToMakeGetTypedArrayByteOffset):
(JSC::DFG::FixupPhase::addPhantomsIfNecessary):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dumpCodeOrigin):
(JSC::DFG::Graph::amountOfNodeWhiteSpace):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::dumpBlockHeader):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::hasExitSite):
(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):

  • dfg/DFGInvalidationPointInjectionPhase.cpp:

(JSC::DFG::InvalidationPointInjectionPhase::handle):
(JSC::DFG::InvalidationPointInjectionPhase::insertInvalidationCheck):

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::attemptHoist):

  • dfg/DFGLoopPreHeaderCreationPhase.cpp:

(JSC::DFG::createPreHeader):

  • dfg/DFGNode.h:

(JSC::DFG::Node::Node):
(JSC::DFG::Node::isStronglyProvedConstantIn):

  • dfg/DFGNodeOrigin.h: Added.

(JSC::DFG::NodeOrigin::NodeOrigin):
(JSC::DFG::NodeOrigin::isSet):

  • dfg/DFGOSREntrypointCreationPhase.cpp:

(JSC::DFG::OSREntrypointCreationPhase::run):

  • dfg/DFGResurrectionForValidationPhase.cpp:

(JSC::DFG::ResurrectionForValidationPhase::run):

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGSSALoweringPhase.cpp:

(JSC::DFG::SSALoweringPhase::handleNode):
(JSC::DFG::SSALoweringPhase::lowerBoundsCheck):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIn):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::masqueradesAsUndefinedWatchpointIsStillValid):
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
(JSC::DFG::SpeculativeJIT::appendCallWithCallFrameRollbackOnException):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):
(JSC::DFG::SpeculativeJIT::appendCall):
(JSC::DFG::SpeculativeJIT::speculateStringObjectForStructure):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild):
(JSC::DFG::StrengthReductionPhase::prepareToFoldTypedArray):

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::run):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validateSSA):

  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle):
(JSC::DFG::WatchpointCollectionPhase::handleEdge):
(JSC::DFG::WatchpointCollectionPhase::handleMasqueradesAsUndefined):
(JSC::DFG::WatchpointCollectionPhase::globalObject):

  • ftl/FTLJSCall.cpp:

(JSC::FTL::JSCall::link):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileToThis):
(JSC::FTL::LowerDFGToLLVM::compilePutById):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileNewArray):
(JSC::FTL::LowerDFGToLLVM::compileNewArrayBuffer):
(JSC::FTL::LowerDFGToLLVM::compileNewArrayWithSize):
(JSC::FTL::LowerDFGToLLVM::compileStringCharAt):
(JSC::FTL::LowerDFGToLLVM::compileGetMyScope):
(JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated):
(JSC::FTL::LowerDFGToLLVM::getById):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructure):
(JSC::FTL::LowerDFGToLLVM::masqueradesAsUndefinedWatchpointIsStillValid):
(JSC::FTL::LowerDFGToLLVM::callPreflight):

9:15 PM Changeset in webkit [163945] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

transitions/shorthand-border-transitions.html became flaky. Skip it for now.

  • platform/mac/TestExpectations:
8:50 PM Changeset in webkit [163944] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

Subpixel rendering: Switch repaint rect from IntRect to LayoutRect to be able to
repaint on device pixel boundaries.
https://bugs.webkit.org/show_bug.cgi?id=128477

Reviewed by Simon Fraser.

RenderLayer needs to be able to repaint on device pixel boundaries. RenderView still
repaints on integral position.

No change in functionality.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloats):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::repaintAfterLayoutIfNeeded):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::clearRepaintRects):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):

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

(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::repaint):
(WebCore::RenderObject::repaintRectangle):

  • rendering/RenderObject.h:
8:45 PM Changeset in webkit [163943] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

EFL build fix after r163919.

  • WebProcess/WebPage/WebPage.h:
8:42 PM Changeset in webkit [163942] by rniwa@webkit.org
  • 26 edits
    3 adds in trunk/LayoutTests

Windows rebaselines.

  • platform/win/css1/box_properties/margin_right-expected.txt:
  • platform/win/css1/box_properties/padding-expected.txt:
  • platform/win/css1/box_properties/padding_left-expected.txt:
  • platform/win/css1/box_properties/padding_right-expected.txt:
  • platform/win/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/win/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt:
  • platform/win/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt:
  • platform/win/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
  • platform/win/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/win/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
  • platform/win/fast/css/empty-pseudo-class-expected.txt:
  • platform/win/fast/css/first-child-pseudo-class-expected.txt:
  • platform/win/fast/css/last-child-pseudo-class-expected.txt:
  • platform/win/fast/css/only-child-pseudo-class-expected.txt:
  • platform/win/fast/repaint/reflection-redraw-expected.txt:
  • platform/win/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
  • platform/win/fast/table/multiple-captions-display-expected.txt:
  • platform/win/js/dom/dom-static-property-for-in-iteration-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-shared-worker-expected.txt:
  • platform/win/mathml: Added.
  • platform/win/mathml/presentation: Added.
  • platform/win/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Added.
  • platform/win/tables/mozilla/marvin/body_col-expected.txt:
  • platform/win/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
  • platform/win/tables/mozilla/other/body_col-expected.txt:
8:37 PM Changeset in webkit [163941] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix fix.

  • rendering/RenderElement.cpp:

(WebCore::shouldRepaintForImageAnimation):

8:36 PM Changeset in webkit [163940] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix.

  • rendering/RenderElement.cpp:

(WebCore::shouldRepaintForImageAnimation):

8:25 PM Changeset in webkit [163939] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix after r163919

WKGestureTypes.h needs PLATFORM(IOS) guard.

  • WebProcess/WebPage/WebPage.h:
8:24 PM Changeset in webkit [163938] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix assertions and incorrect codegen for CompareEq(ObjectOrOther:, Object:)
https://bugs.webkit.org/show_bug.cgi?id=128648

Reviewed by Mark Lam.

I did CompareEq(Object:, ObjectOrOther:) correctly but the flipped version wrong.
That's what I get for running tests in release mode. It's hard to write a test for
the incorrect codegen; that's kind of why the assertions are there.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileCompareEq):

8:13 PM Changeset in webkit [163937] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, trivial change to silence FTL assertions

Normally, lowJSValue() should only be used for UntypedUse only. Here we are using it
on ObjectOrOtherUse because we execute the speculation ourselves. The way you're
supposed to do this is by passing ManualOperandSpeculation to tell lowJSValue() not
to assert.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):

8:08 PM Changeset in webkit [163936] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

ContentData equals() methods are not inline-able <http://webkit.org/b/128538>

Reviewed by Darin Adler.

Get rid of pure virtual equals() method in favor of
ContentData::Type enum for runtime type information.
This also lets us devirtualize the isFoo() methods.

  • rendering/style/ContentData.h:

(WebCore::ContentData::type): Add.
(WebCore::ContentData::isCounter): Devirtualize.
(WebCore::ContentData::isImage): Devirtualize.
(WebCore::ContentData::isQuote): Devirtualize.
(WebCore::ContentData::isText): Devirtualize.
(WebCore::ContentData::ContentData): Add. Include
ContentData::Type parameter.
(WebCore::operator==): Add overloaded methods for each subclass.
Stop using pure virtual equals() method, check type(), and use
overloaded subclass operator==() methods.
(WebCore::operator!=): Add overloaded methods for each subclass.

8:06 PM Changeset in webkit [163935] by fpizlo@apple.com
  • 2 edits in trunk/Tools

It should be possible to force copy-webkitlibraries-blahblah to copy things regardless of timestamp
https://bugs.webkit.org/show_bug.cgi?id=128646

Reviewed by Mark Rowe.

  • Scripts/copy-webkitlibraries-to-product-directory:

(unpackIfNecessary):
(dittoHeaders):

7:53 PM Changeset in webkit [163934] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Protect some RenderFlowThread functions.
<https://webkit.org/b/128642>

Make the RenderFlowThread constructor protected and a handful of
member functions private.

Reviewed by Anders Carlsson.

  • rendering/RenderFlowThread.h:
7:51 PM Changeset in webkit [163933] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Don't allocate RenderNamedFlowThread's child list separately.
<https://webkit.org/b/128640>

Since we always create the flow-thread child list, there's no reason
to put it in a separate heap allocation. Also remove the typedef and
use auto instead.

Reviewed by Anders Carlsson.

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::nextRendererForNode):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):

  • rendering/RenderNamedFlowThread.h:
7:45 PM Changeset in webkit [163932] by commit-queue@webkit.org
  • 404 edits
    46 deletes in trunk/LayoutTests

Unreviewed, rolling out r163923.
http://trac.webkit.org/changeset/163923
https://bugs.webkit.org/show_bug.cgi?id=128645

"Mozilla tests shouldn't have changed, but did. Rollout for
now" (Requested by bradeeoh on #webkit).

  • resources/js-test.js: Removed.
  • storage/indexeddb/aborted-versionchange-closes-expected.txt:
  • storage/indexeddb/aborted-versionchange-closes.html:
  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/basics-shared-workers-expected.txt:
  • storage/indexeddb/basics-shared-workers.html:
  • storage/indexeddb/basics-workers-expected.txt:
  • storage/indexeddb/basics-workers.html:
  • storage/indexeddb/basics.html:
  • storage/indexeddb/clone-exception-expected.txt:
  • storage/indexeddb/clone-exception.html:
  • storage/indexeddb/closed-cursor-expected.txt: Removed.
  • storage/indexeddb/closed-cursor.html: Removed.
  • storage/indexeddb/connection-leak-expected.txt: Removed.
  • storage/indexeddb/connection-leak.html: Removed.
  • storage/indexeddb/create-and-remove-object-store-expected.txt:
  • storage/indexeddb/create-and-remove-object-store.html:
  • storage/indexeddb/create-object-store-options-expected.txt:
  • storage/indexeddb/create-object-store-options.html:
  • storage/indexeddb/createIndex-after-failure-expected.txt:
  • storage/indexeddb/createIndex-after-failure.html:
  • storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/createObjectStore-name-argument-required.html:
  • storage/indexeddb/createObjectStore-null-name.html:
  • storage/indexeddb/cursor-added-bug.html:
  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/cursor-advance-workers-expected.txt:
  • storage/indexeddb/cursor-advance-workers.html:
  • storage/indexeddb/cursor-advance.html:
  • storage/indexeddb/cursor-basics-expected.txt: Removed.
  • storage/indexeddb/cursor-basics.html: Removed.
  • storage/indexeddb/cursor-cast-expected.txt: Removed.
  • storage/indexeddb/cursor-cast.html: Removed.
  • storage/indexeddb/cursor-continue-dir-expected.txt:
  • storage/indexeddb/cursor-continue-dir.html:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-continue-validity-expected.txt:
  • storage/indexeddb/cursor-continue-validity.html:
  • storage/indexeddb/cursor-continue.html:
  • storage/indexeddb/cursor-continueprimarykey-expected.txt: Removed.
  • storage/indexeddb/cursor-continueprimarykey.html: Removed.
  • storage/indexeddb/cursor-delete.html:
  • storage/indexeddb/cursor-finished-expected.txt:
  • storage/indexeddb/cursor-finished.html:
  • storage/indexeddb/cursor-inconsistency.html:
  • storage/indexeddb/cursor-index-delete.html:
  • storage/indexeddb/cursor-key-order.html:
  • storage/indexeddb/cursor-leak-expected.txt: Removed.
  • storage/indexeddb/cursor-leak.html: Removed.
  • storage/indexeddb/cursor-overloads-expected.txt:
  • storage/indexeddb/cursor-overloads.html:
  • storage/indexeddb/cursor-prev-no-duplicate.html:
  • storage/indexeddb/cursor-primary-key-order.html:
  • storage/indexeddb/cursor-properties.html:
  • storage/indexeddb/cursor-request-cycle-expected.txt: Removed.
  • storage/indexeddb/cursor-request-cycle.html: Removed.
  • storage/indexeddb/cursor-reverse-bug.html:
  • storage/indexeddb/cursor-skip-deleted.html:
  • storage/indexeddb/cursor-update-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required.html:
  • storage/indexeddb/cursor-update.html:
  • storage/indexeddb/cursor-value.html:
  • storage/indexeddb/data-corruption-expected.txt:
  • storage/indexeddb/data-corruption.html:
  • storage/indexeddb/database-basics-expected.txt:
  • storage/indexeddb/database-basics.html:
  • storage/indexeddb/database-close-expected.txt:
  • storage/indexeddb/database-close.html:
  • storage/indexeddb/database-closepending-flag-expected.txt:
  • storage/indexeddb/database-closepending-flag.html:
  • storage/indexeddb/database-deletepending-flag.html:
  • storage/indexeddb/database-name-undefined-expected.txt:
  • storage/indexeddb/database-name-undefined.html:
  • storage/indexeddb/database-odd-names.html:
  • storage/indexeddb/database-wrapper-expected.txt:
  • storage/indexeddb/database-wrapper.html:
  • storage/indexeddb/delete-closed-database-object-expected.txt:
  • storage/indexeddb/delete-closed-database-object.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html:
  • storage/indexeddb/delete-range.html:
  • storage/indexeddb/deleteIndex-bug110792-expected.txt:
  • storage/indexeddb/deleteIndex-bug110792.html:
  • storage/indexeddb/deleteIndex-expected.txt:
  • storage/indexeddb/deleteIndex.html:
  • storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/deleteObjectStore-name-argument-required.html:
  • storage/indexeddb/deleteObjectStore-null-name.html:
  • storage/indexeddb/deleted-objects-expected.txt:
  • storage/indexeddb/deleted-objects.html:
  • storage/indexeddb/deletedatabase-blocked.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange.html:
  • storage/indexeddb/deletedatabase-not-blocked.html:
  • storage/indexeddb/deletedatabase-transaction.html:
  • storage/indexeddb/dont-commit-on-blocked.html:
  • storage/indexeddb/dont-wedge.html:
  • storage/indexeddb/duplicates.html:
  • storage/indexeddb/error-causes-abort-by-default.html:
  • storage/indexeddb/events-expected.txt:
  • storage/indexeddb/events.html:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/exception-in-event-aborts.html:
  • storage/indexeddb/exceptions-expected.txt:
  • storage/indexeddb/exceptions.html:
  • storage/indexeddb/factory-basics-expected.txt:
  • storage/indexeddb/factory-basics-workers-expected.txt:
  • storage/indexeddb/factory-basics-workers.html:
  • storage/indexeddb/factory-basics.html:
  • storage/indexeddb/factory-cmp-expected.txt:
  • storage/indexeddb/factory-cmp.html:
  • storage/indexeddb/factory-deletedatabase.html:
  • storage/indexeddb/get-keyrange-expected.txt:
  • storage/indexeddb/get-keyrange.html:
  • storage/indexeddb/index-basics-expected.txt:
  • storage/indexeddb/index-basics-workers-expected.txt:
  • storage/indexeddb/index-basics-workers.html:
  • storage/indexeddb/index-basics.html:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-count.html:
  • storage/indexeddb/index-cursor.html:
  • storage/indexeddb/index-duplicate-keypaths.html:
  • storage/indexeddb/index-get-key-argument-required-expected.txt:
  • storage/indexeddb/index-get-key-argument-required.html:
  • storage/indexeddb/index-multientry.html:
  • storage/indexeddb/index-population.html:
  • storage/indexeddb/index-unique.html:
  • storage/indexeddb/interfaces.html:
  • storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html:
  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/intversion-bad-parameters.html:
  • storage/indexeddb/intversion-blocked.html:
  • storage/indexeddb/intversion-close-between-events.html:
  • storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/intversion-close-in-oncomplete.html:
  • storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
  • storage/indexeddb/intversion-close-in-upgradeneeded.html:
  • storage/indexeddb/intversion-encoding.html:
  • storage/indexeddb/intversion-gated-on-delete.html:
  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/intversion-long-queue.html:
  • storage/indexeddb/intversion-omit-parameter.html:
  • storage/indexeddb/intversion-open-in-upgradeneeded.html:
  • storage/indexeddb/intversion-open-with-version.html:
  • storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt: Removed.
  • storage/indexeddb/intversion-pending-version-changes-ascending.html: Removed.
  • storage/indexeddb/intversion-pending-version-changes-descending-expected.txt: Removed.
  • storage/indexeddb/intversion-pending-version-changes-descending.html: Removed.
  • storage/indexeddb/intversion-pending-version-changes-same-expected.txt: Removed.
  • storage/indexeddb/intversion-pending-version-changes-same.html: Removed.
  • storage/indexeddb/intversion-persistence.html:
  • storage/indexeddb/intversion-revert-on-abort.html:
  • storage/indexeddb/intversion-two-opens-no-versions.html:
  • storage/indexeddb/intversion-upgrades-expected.txt:
  • storage/indexeddb/intversion-upgrades.html:
  • storage/indexeddb/invalid-keys-expected.txt:
  • storage/indexeddb/invalid-keys.html:
  • storage/indexeddb/key-generator.html:
  • storage/indexeddb/key-sort-order-across-types.html:
  • storage/indexeddb/key-sort-order-date.html:
  • storage/indexeddb/key-type-array-expected.txt:
  • storage/indexeddb/key-type-array.html:
  • storage/indexeddb/key-type-binary-expected.txt: Removed.
  • storage/indexeddb/key-type-binary.html: Removed.
  • storage/indexeddb/key-type-infinity.html:
  • storage/indexeddb/keypath-arrays-expected.txt:
  • storage/indexeddb/keypath-arrays.html:
  • storage/indexeddb/keypath-basics-expected.txt:
  • storage/indexeddb/keypath-basics.html:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keypath-edges.html:
  • storage/indexeddb/keypath-fetch-key.html:
  • storage/indexeddb/keypath-intrinsic-properties.html:
  • storage/indexeddb/keyrange-expected.txt:
  • storage/indexeddb/keyrange-required-arguments-expected.txt:
  • storage/indexeddb/keyrange-required-arguments.html:
  • storage/indexeddb/keyrange.html:
  • storage/indexeddb/lazy-index-population-expected.txt:
  • storage/indexeddb/lazy-index-population.html:
  • storage/indexeddb/lazy-index-types.html:
  • storage/indexeddb/legacy-constants.html:
  • storage/indexeddb/list-ordering.html:
  • storage/indexeddb/metadata-race-expected.txt: Removed.
  • storage/indexeddb/metadata-race.html: Removed.
  • storage/indexeddb/metadata.html:
  • storage/indexeddb/mutating-cursor.html:
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/object-lookups-in-versionchange-expected.txt:
  • storage/indexeddb/object-lookups-in-versionchange.html:
  • storage/indexeddb/objectStore-required-arguments-expected.txt:
  • storage/indexeddb/objectStore-required-arguments.html:
  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-autoincrement.html:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/objectstore-basics-workers.html:
  • storage/indexeddb/objectstore-basics.html:
  • storage/indexeddb/objectstore-clear.html:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/objectstore-count.html:
  • storage/indexeddb/objectstore-cursor-expected.txt:
  • storage/indexeddb/objectstore-cursor.html:
  • storage/indexeddb/objectstore-keycursor-expected.txt: Removed.
  • storage/indexeddb/objectstore-keycursor.html: Removed.
  • storage/indexeddb/objectstore-removeobjectstore.html:
  • storage/indexeddb/odd-strings.html:
  • storage/indexeddb/open-bad-versions.html:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/open-cursor.html:
  • storage/indexeddb/open-during-transaction.html:
  • storage/indexeddb/open-ordering.html:
  • storage/indexeddb/open-twice-workers.html:
  • storage/indexeddb/opencursor-key.html:
  • storage/indexeddb/optional-arguments-expected.txt: Removed.
  • storage/indexeddb/optional-arguments.html: Removed.
  • storage/indexeddb/pending-activity-workers.html:
  • storage/indexeddb/pending-activity.html:
  • storage/indexeddb/pending-version-change-on-exit.html:
  • storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
  • storage/indexeddb/pending-version-change-stuck.html:
  • storage/indexeddb/persistence.html:
  • storage/indexeddb/prefetch-bugfix-108071-expected.txt:
  • storage/indexeddb/prefetch-bugfix-108071.html:
  • storage/indexeddb/prefetch-invalidation-expected.txt: Removed.
  • storage/indexeddb/prefetch-invalidation.html: Removed.
  • storage/indexeddb/prefetch-race-expected.txt: Removed.
  • storage/indexeddb/prefetch-race.html: Removed.
  • storage/indexeddb/queued-commands.html:
  • storage/indexeddb/readonly-properties.html:
  • storage/indexeddb/readonly.html:
  • storage/indexeddb/removed-expected.txt:
  • storage/indexeddb/removed.html:
  • storage/indexeddb/request-continue-abort.html:
  • storage/indexeddb/request-event-propagation.html:
  • storage/indexeddb/request-leak-expected.txt: Removed.
  • storage/indexeddb/request-leak.html: Removed.
  • storage/indexeddb/request-result-cache-expected.txt: Removed.
  • storage/indexeddb/request-result-cache.html: Removed.
  • storage/indexeddb/resources/aborted-versionchange-closes.js:
  • storage/indexeddb/resources/basics.js:

(test):
(openCallback):

  • storage/indexeddb/resources/create-and-remove-object-store.js:
  • storage/indexeddb/resources/create-object-store-options.js:
  • storage/indexeddb/resources/createIndex-after-failure.js:
  • storage/indexeddb/resources/createObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/createObjectStore-null-name.js:
  • storage/indexeddb/resources/cursor-added-bug.js:
  • storage/indexeddb/resources/cursor-advance.js:
  • storage/indexeddb/resources/cursor-basics.js: Removed.
  • storage/indexeddb/resources/cursor-continue-dir.js:
  • storage/indexeddb/resources/cursor-continue-validity.js:
  • storage/indexeddb/resources/cursor-continue.js:
  • storage/indexeddb/resources/cursor-continueprimarykey.js: Removed.
  • storage/indexeddb/resources/cursor-delete.js:
  • storage/indexeddb/resources/cursor-inconsistency.js:
  • storage/indexeddb/resources/cursor-index-delete.js:
  • storage/indexeddb/resources/cursor-key-order.js:
  • storage/indexeddb/resources/cursor-prev-no-duplicate.js:
  • storage/indexeddb/resources/cursor-primary-key-order.js:
  • storage/indexeddb/resources/cursor-properties.js:
  • storage/indexeddb/resources/cursor-reverse-bug.js:
  • storage/indexeddb/resources/cursor-skip-deleted.js:
  • storage/indexeddb/resources/cursor-update-value-argument-required.js:
  • storage/indexeddb/resources/cursor-update.js:
  • storage/indexeddb/resources/cursor-value.js:
  • storage/indexeddb/resources/data-corruption.js:

(prepareDatabase):

  • storage/indexeddb/resources/database-basics.js:
  • storage/indexeddb/resources/database-close.js:
  • storage/indexeddb/resources/database-closepending-flag.js:
  • storage/indexeddb/resources/database-deletepending-flag.js:
  • storage/indexeddb/resources/database-name-undefined.js:
  • storage/indexeddb/resources/database-odd-names.js:
  • storage/indexeddb/resources/database-quota.js:

(logError):

  • storage/indexeddb/resources/database-wrapper.js:

(onBlocked):

  • storage/indexeddb/resources/delete-closed-database-object.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:

(deleteSuccessCallback):

  • storage/indexeddb/resources/delete-range.js:
  • storage/indexeddb/resources/deleteIndex.js:
  • storage/indexeddb/resources/deleteObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/deleteObjectStore-null-name.js:
  • storage/indexeddb/resources/deleted-objects.js:

(prepareDatabase):

  • storage/indexeddb/resources/deletedatabase-blocked.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:

(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onsuccess):

  • storage/indexeddb/resources/deletedatabase-not-blocked.js:
  • storage/indexeddb/resources/dont-commit-on-blocked-worker.js:
  • storage/indexeddb/resources/dont-wedge.js:
  • storage/indexeddb/resources/duplicates.js:
  • storage/indexeddb/resources/error-causes-abort-by-default.js:
  • storage/indexeddb/resources/events.js:

(test):

  • storage/indexeddb/resources/exception-in-event-aborts.js:

(causeException):

  • storage/indexeddb/resources/exceptions.js:

(testObjectStore):

  • storage/indexeddb/resources/factory-basics.js:

(test):
(getDatabaseNamesSuccess1):
(getDatabaseNamesSuccess2):

  • storage/indexeddb/resources/factory-cmp.js:

(testValidKeys):

  • storage/indexeddb/resources/factory-deletedatabase.js:
  • storage/indexeddb/resources/get-keyrange.js:
  • storage/indexeddb/resources/index-basics.js:

(prepareDatabase):

  • storage/indexeddb/resources/index-count.js:
  • storage/indexeddb/resources/index-cursor.js:
  • storage/indexeddb/resources/index-duplicate-keypaths.js:
  • storage/indexeddb/resources/index-get-key-argument-required.js:
  • storage/indexeddb/resources/index-multientry.js:
  • storage/indexeddb/resources/index-population.js:
  • storage/indexeddb/resources/index-unique.js:
  • storage/indexeddb/resources/interfaces.js:
  • storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-bad-parameters.js:
  • storage/indexeddb/resources/intversion-blocked.js:
  • storage/indexeddb/resources/intversion-close-between-events.js:
  • storage/indexeddb/resources/intversion-close-in-oncomplete.js:
  • storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-encoding.js:
  • storage/indexeddb/resources/intversion-gated-on-delete.js:
  • storage/indexeddb/resources/intversion-long-queue.js:

(connection2UpgradeNeeded):
(connection2Success):
(connection2VersionChangeEvent):
(connection3UpgradeNeeded):
(connection3Success):

  • storage/indexeddb/resources/intversion-omit-parameter.js:
  • storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-open-with-version.js:
  • storage/indexeddb/resources/intversion-pending-version-changes-ascending.js: Removed.
  • storage/indexeddb/resources/intversion-pending-version-changes-descending.js: Removed.
  • storage/indexeddb/resources/intversion-pending-version-changes-same.js: Removed.
  • storage/indexeddb/resources/intversion-persistence.js:
  • storage/indexeddb/resources/intversion-revert-on-abort.js:
  • storage/indexeddb/resources/intversion-two-opens-no-versions.js:
  • storage/indexeddb/resources/intversion-upgrades.js:

(connection2BlockedCallback):
(errorWhenTryingLowVersion):

  • storage/indexeddb/resources/invalid-keys.js:
  • storage/indexeddb/resources/key-generator.js:
  • storage/indexeddb/resources/key-sort-order-across-types.js:
  • storage/indexeddb/resources/key-sort-order-date.js:
  • storage/indexeddb/resources/key-type-array.js:
  • storage/indexeddb/resources/key-type-binary.js: Removed.
  • storage/indexeddb/resources/key-type-infinity.js:
  • storage/indexeddb/resources/keypath-arrays.js:
  • storage/indexeddb/resources/keypath-basics.js:
  • storage/indexeddb/resources/keypath-edges.js:
  • storage/indexeddb/resources/keypath-fetch-key.js:
  • storage/indexeddb/resources/keypath-intrinsic-properties.js:
  • storage/indexeddb/resources/keyrange-required-arguments.js:
  • storage/indexeddb/resources/keyrange.js:
  • storage/indexeddb/resources/lazy-index-types.js:
  • storage/indexeddb/resources/legacy-constants.js:
  • storage/indexeddb/resources/list-ordering.js:
  • storage/indexeddb/resources/metadata.js:
  • storage/indexeddb/resources/mutating-cursor.js:
  • storage/indexeddb/resources/objectStore-required-arguments.js:
  • storage/indexeddb/resources/objectstore-autoincrement.js:
  • storage/indexeddb/resources/objectstore-basics.js:

(prepareDatabase):

  • storage/indexeddb/resources/objectstore-clear.js:
  • storage/indexeddb/resources/objectstore-count.js:
  • storage/indexeddb/resources/objectstore-cursor.js:
  • storage/indexeddb/resources/objectstore-keycursor.js: Removed.
  • storage/indexeddb/resources/objectstore-removeobjectstore.js:
  • storage/indexeddb/resources/odd-strings.js:
  • storage/indexeddb/resources/open-cursor.js:
  • storage/indexeddb/resources/open-during-transaction.js:
  • storage/indexeddb/resources/open-ordering.js:
  • storage/indexeddb/resources/open-twice.js:
  • storage/indexeddb/resources/opencursor-key.js:
  • storage/indexeddb/resources/pending-activity.js:
  • storage/indexeddb/resources/pending-version-change-on-exit.js:
  • storage/indexeddb/resources/pending-version-change-stuck.js:
  • storage/indexeddb/resources/persistence.js:
  • storage/indexeddb/resources/prefetch-bugfix-108071.js:
  • storage/indexeddb/resources/queued-commands.js:
  • storage/indexeddb/resources/readonly-properties.js:
  • storage/indexeddb/resources/readonly.js:
  • storage/indexeddb/resources/removed.js:
  • storage/indexeddb/resources/request-continue-abort.js:
  • storage/indexeddb/resources/request-event-propagation.js:
  • storage/indexeddb/resources/set_version_blocked.js:
  • storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
  • storage/indexeddb/resources/setversion-not-blocked.js:
  • storage/indexeddb/resources/shared.js:

(unexpectedErrorCallback):
(unexpectedAbortCallback):
(evalAndExpectException):

  • storage/indexeddb/resources/transaction-abort.js:
  • storage/indexeddb/resources/transaction-active-flag.js:
  • storage/indexeddb/resources/transaction-after-close.js:
  • storage/indexeddb/resources/transaction-and-objectstore-calls.js:
  • storage/indexeddb/resources/transaction-basics.js:
  • storage/indexeddb/resources/transaction-complete-workers.js:
  • storage/indexeddb/resources/transaction-coordination-across-databases.js:
  • storage/indexeddb/resources/transaction-coordination-within-database.js:
  • storage/indexeddb/resources/transaction-crash-on-abort.js:
  • storage/indexeddb/resources/transaction-error.js:

(testErrorFromRequest.trans.onabort):
(testErrorFromRequest):
(testErrorFromException.trans.onabort):
(testErrorFromException):
(testErrorFromCommit.trans.oncomplete.request.onupgradeneeded.trans.onabort):
(testErrorFromCommit.trans.oncomplete.request.onupgradeneeded):
(testErrorFromCommit.trans.oncomplete):
(testErrorFromCommit):

  • storage/indexeddb/resources/transaction-event-propagation.js:
  • storage/indexeddb/resources/transaction-read-only.js:
  • storage/indexeddb/resources/transaction-readwrite-exclusive.js:
  • storage/indexeddb/resources/transaction-rollback.js:
  • storage/indexeddb/resources/transaction-scope-sequencing.js:
  • storage/indexeddb/resources/transaction-starvation.js:
  • storage/indexeddb/resources/transaction-storeNames-required.js:
  • storage/indexeddb/resources/unblocked-version-changes.js:

(onUpgradeNeeded):

  • storage/indexeddb/resources/unprefix.js:
  • storage/indexeddb/resources/value-undefined.js:
  • storage/indexeddb/resources/values-odd-types.js:
  • storage/indexeddb/resources/version-change-abort.js:
  • storage/indexeddb/resources/version-change-exclusive.js:
  • storage/indexeddb/resources/versionchangerequest-activedomobject.js:
  • storage/indexeddb/set_version_blocked.html:
  • storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
  • storage/indexeddb/setversion-blocked-by-versionchange-close.html:
  • storage/indexeddb/setversion-not-blocked.html:
  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-abort-expected.txt:
  • storage/indexeddb/transaction-abort.html:
  • storage/indexeddb/transaction-active-flag-expected.txt:
  • storage/indexeddb/transaction-active-flag.html:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-after-close.html:
  • storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
  • storage/indexeddb/transaction-and-objectstore-calls.html:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-basics.html:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-complete-with-js-recursion.html:
  • storage/indexeddb/transaction-complete-workers-expected.txt:
  • storage/indexeddb/transaction-complete-workers.html:
  • storage/indexeddb/transaction-coordination-across-databases.html:
  • storage/indexeddb/transaction-coordination-within-database.html:
  • storage/indexeddb/transaction-crash-in-tasks.html:
  • storage/indexeddb/transaction-crash-on-abort.html:
  • storage/indexeddb/transaction-error-expected.txt:
  • storage/indexeddb/transaction-error.html:
  • storage/indexeddb/transaction-event-propagation.html:
  • storage/indexeddb/transaction-ordering-expected.txt: Removed.
  • storage/indexeddb/transaction-ordering.html: Removed.
  • storage/indexeddb/transaction-read-only-expected.txt:
  • storage/indexeddb/transaction-read-only.html:
  • storage/indexeddb/transaction-readwrite-exclusive.html:
  • storage/indexeddb/transaction-rollback.html:
  • storage/indexeddb/transaction-scope-sequencing.html:
  • storage/indexeddb/transaction-starvation.html:
  • storage/indexeddb/transaction-storeNames-required-expected.txt:
  • storage/indexeddb/transaction-storeNames-required.html:
  • storage/indexeddb/unblocked-version-changes-expected.txt:
  • storage/indexeddb/unblocked-version-changes.html:
  • storage/indexeddb/unprefix-workers.html:
  • storage/indexeddb/unprefix.html:
  • storage/indexeddb/value-undefined.html:
  • storage/indexeddb/values-odd-types.html:
  • storage/indexeddb/version-change-abort-expected.txt:
  • storage/indexeddb/version-change-abort.html:
  • storage/indexeddb/version-change-exclusive-expected.txt:
  • storage/indexeddb/version-change-exclusive.html:
  • storage/indexeddb/versionchangerequest-activedomobject.html:
7:28 PM Changeset in webkit [163931] by Alan Bujtas
  • 22 edits in trunk/Source

Subpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel based.
https://bugs.webkit.org/show_bug.cgi?id=128460

Reviewed by Simon Fraser.

GraphicsClient::paintContents takes clipRect as FloatRect now so that we can paint on
subpixel position.

No change in functionality.

Source/WebCore:

  • platform/graphics/GraphicsLayerClient.h:
  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:

(WebCore::CompositingCoordinator::paintContents):

  • platform/graphics/texmap/coordinated/CompositingCoordinator.h:
  • rendering/RenderLayer.cpp:

(WebCore::cornerRect):
(WebCore::RenderLayer::scrollCornerRect):
(WebCore::resizerCornerRect):
(WebCore::RenderLayer::scrollCornerAndResizerRect):
(WebCore::RenderLayer::verticalScrollbarStart):
(WebCore::RenderLayer::horizontalScrollbarStart):
(WebCore::RenderLayer::paintResizer):
(WebCore::RenderLayer::hitTestOverflowControls):

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

(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):

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

(WebCore::RenderLayerCompositor::paintContents):

  • rendering/RenderLayerCompositor.h:
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paint):

Source/WebKit/gtk:

  • WebCoreSupport/AcceleratedCompositingContext.h:
  • WebCoreSupport/AcceleratedCompositingContextGL.cpp:

(WebKit::AcceleratedCompositingContext::paintContents):

Source/WebKit/win:

  • WebView.cpp:

(WebView::paintContents):

  • WebView.h:

Source/WebKit2:

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::paintContents):

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::paintContents):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::paintContents):

7:23 PM Changeset in webkit [163930] by weinig@apple.com
  • 5 edits in trunk/Source/WebKit2

[WebKit2, JSC] Add user default to disable the JIT
https://bugs.webkit.org/show_bug.cgi?id=128643

Reviewed by Filip Pizlo.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebContext::platformInitializeWebProcess):

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

7:16 PM Changeset in webkit [163929] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Use LLVM's dead store elimination
https://bugs.webkit.org/show_bug.cgi?id=128638

Reviewed by Mark Hahnenberg.

DFG's store elimination was being run too soon for comfort on the FTL path. It's
really only sound when run after all other optimizations. Remove it from the FTL
path.

Enable LLVM store elimination. It's both easier to reason about and more
comprehensive.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

6:55 PM Changeset in webkit [163928] by Antti Koivisto
  • 16 edits
    2 adds in trunk

GIF animations should be suspended when outside of viewport
https://bugs.webkit.org/show_bug.cgi?id=128632

Source/WebCore:

Reviewed by Andreas Kling.

Animations are driven by the paint cycle. Speculative tiles keep animations outside the actual viewport going.

Pause animations when they are outside the viewport by not painting them.

Test: fast/repaint/no-animation-outside-viewport.html

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::animationAdvanced):

Call animation specific newImageAnimationFrameAvailable instead of the generic notifyObservers.

  • loader/cache/CachedImage.h:


Removed now unnecessary resumeAnimatingImagesForLoader mechanism.
Remove unnecessary shouldPauseAnimation. Pausing is now always done when by avoiding repaint.

  • loader/cache/CachedImageClient.h:

(WebCore::CachedImageClient::newImageAnimationFrameAvailable):

  • page/FrameView.cpp:

(WebCore::FrameView::scrollPositionChanged):

Check if we have image animations to resume when scroll position changes.

  • page/Page.cpp:

(WebCore::Page::resumeAnimatingImages):

Use the same mechanism when resuming background tabs etc.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::internalAdvanceAnimation):

Remove the shouldPauseAnimation test, always rely on pausing on invalidation.

  • platform/graphics/ImageObserver.h:
  • rendering/RenderBoxModelObject.cpp:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::~RenderElement):
(WebCore::shouldRepaintForImageAnimation):

Factor the pausing conditions to a function. Test that the animation is withing the
visible rect.

(WebCore::RenderElement::newImageAnimationFrameAvailable):

Add renderer to the paused animation set if we don't continue the animation.

(WebCore::RenderElement::repaintForPausedImageAnimationsIfNeeded):

Resume the paused animations by triggering repaint.

  • rendering/RenderElement.h:

(WebCore::RenderElement::setHasPausedImageAnimations):
(WebCore::RenderElement::hasPausedImageAnimations):

  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::addRendererWithPausedImageAnimations):
(WebCore::RenderView::removeRendererWithPausedImageAnimations):
(WebCore::RenderView::resumePausedImageAnimationsIfNeeded):

  • rendering/RenderView.h:

LayoutTests:

Reviewed by Andreas Kling.

  • fast/repaint/no-animation-outside-viewport-expected.txt: Added.
  • fast/repaint/no-animation-outside-viewport.html: Added.
6:52 PM Changeset in webkit [163927] by BJ Burg
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: DOMStorageView should listen for events from DOMStorageObject
https://bugs.webkit.org/show_bug.cgi?id=128620

Reviewed by Timothy Hatcher.

The storage manager used to have a map of DOMStorageViews and delivered events
directly to them. Instead, the DOMStorageObserver should use the manager to
find the appropriate DOMStorageObject and deliver events to it. DOMStorageView
learns about storage updates from DOMStorageObject events.

  • UserInterface/DOMStorageContentView.js:

(WebInspector.DOMStorageContentView): Add event listeners.
(WebInspector.DOMStorageContentView.prototype.reset): Renamed from update().
(WebInspector.DOMStorageContentView.prototype.itemsCleared): Take an event argument.
(WebInspector.DOMStorageContentView.prototype.itemRemoved): Take an event argument.
Use for..of when iterating over nodes.
(WebInspector.DOMStorageContentView.prototype.itemAdded): Take an event argument.
Use for..of when iterating over nodes.
(WebInspector.DOMStorageContentView.prototype.itemUpdated): Take an event argument.
Use for..of when iterating over nodes.

  • UserInterface/DOMStorageObject.js:

(WebInspector.DOMStorageObject.prototype.removeItem): Moved.
(WebInspector.DOMStorageObject.prototype.setItem): Moved.
(WebInspector.DOMStorageObject.prototype.itemsCleared): Added.
(WebInspector.DOMStorageObject.prototype.itemRemoved): Added.
(WebInspector.DOMStorageObject.prototype.itemAdded): Added.
(WebInspector.DOMStorageObject.prototype.itemUpdated): Added.

  • UserInterface/DOMStorageObserver.js: Look up and notify the associated model.

(WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared):
(WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved):
(WebInspector.DOMStorageObserver.prototype.domStorageItemAdded):
(WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated):

  • UserInterface/StorageManager.js: Remove view lookup code. Remove

direct calls to DOMStorageViews.
(WebInspector.StorageManager.prototype.itemsCleared):
(WebInspector.StorageManager.prototype.itemRemoved):
(WebInspector.StorageManager.prototype.itemAdded):
(WebInspector.StorageManager.prototype.itemUpdated):
(WebInspector.StorageManager.prototype.domStorageWasUpdated):
(WebInspector.StorageManager.prototype.inspectDOMStorage):
(WebInspector.StorageManager.prototype._domStorageForIdentifier):
(WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
(WebInspector.StorageManager.prototype._databaseForIdentifier):

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

Merge r161925.

6:01 PM Changeset in webkit [163925] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove unused RenderNamedFlowThread::previousRendererForNode().
<https://webkit.org/b/128637>

Reviewed by Antti Koivisto.

  • rendering/RenderNamedFlowThread.cpp:
  • rendering/RenderNamedFlowThread.h:
5:57 PM Changeset in webkit [163924] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add failing test expectations to asynchronous spellchecking tests.

  • platform/win/TestExpectations:
5:56 PM Changeset in webkit [163923] by beidson@apple.com
  • 404 edits
    2 copies
    44 adds in trunk/LayoutTests

IDB: Reimport storage/indexeddb tests from Blink
https://bugs.webkit.org/show_bug.cgi?id=128636

Reviewed by Tim Horton.

  • resources/js-test.js: Added.
  • storage/indexeddb/aborted-versionchange-closes-expected.txt:
  • storage/indexeddb/aborted-versionchange-closes.html:
  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/basics-shared-workers-expected.txt:
  • storage/indexeddb/basics-shared-workers.html:
  • storage/indexeddb/basics-workers-expected.txt:
  • storage/indexeddb/basics-workers.html:
  • storage/indexeddb/basics.html:
  • storage/indexeddb/clone-exception-expected.txt:
  • storage/indexeddb/clone-exception.html:
  • storage/indexeddb/closed-cursor-expected.txt: Added.
  • storage/indexeddb/closed-cursor.html: Added.
  • storage/indexeddb/connection-leak-expected.txt: Added.
  • storage/indexeddb/connection-leak.html: Added.
  • storage/indexeddb/create-and-remove-object-store-expected.txt:
  • storage/indexeddb/create-and-remove-object-store.html:
  • storage/indexeddb/create-object-store-options-expected.txt:
  • storage/indexeddb/create-object-store-options.html:
  • storage/indexeddb/createIndex-after-failure-expected.txt:
  • storage/indexeddb/createIndex-after-failure.html:
  • storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/createObjectStore-name-argument-required.html:
  • storage/indexeddb/createObjectStore-null-name.html:
  • storage/indexeddb/cursor-added-bug.html:
  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/cursor-advance-workers-expected.txt:
  • storage/indexeddb/cursor-advance-workers.html:
  • storage/indexeddb/cursor-advance.html:
  • storage/indexeddb/cursor-basics-expected.txt: Added.
  • storage/indexeddb/cursor-basics.html: Added.
  • storage/indexeddb/cursor-cast-expected.txt: Added.
  • storage/indexeddb/cursor-cast.html: Added.
  • storage/indexeddb/cursor-continue-dir-expected.txt:
  • storage/indexeddb/cursor-continue-dir.html:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-continue-validity-expected.txt:
  • storage/indexeddb/cursor-continue-validity.html:
  • storage/indexeddb/cursor-continue.html:
  • storage/indexeddb/cursor-continueprimarykey-expected.txt: Added.
  • storage/indexeddb/cursor-continueprimarykey.html: Added.
  • storage/indexeddb/cursor-delete.html:
  • storage/indexeddb/cursor-finished-expected.txt:
  • storage/indexeddb/cursor-finished.html:
  • storage/indexeddb/cursor-inconsistency.html:
  • storage/indexeddb/cursor-index-delete.html:
  • storage/indexeddb/cursor-key-order.html:
  • storage/indexeddb/cursor-leak-expected.txt:
  • storage/indexeddb/cursor-leak.html: Added.
  • storage/indexeddb/cursor-overloads-expected.txt:
  • storage/indexeddb/cursor-overloads.html:
  • storage/indexeddb/cursor-prev-no-duplicate.html:
  • storage/indexeddb/cursor-primary-key-order.html:
  • storage/indexeddb/cursor-properties.html:
  • storage/indexeddb/cursor-request-cycle-expected.txt: Added.
  • storage/indexeddb/cursor-request-cycle.html: Added.
  • storage/indexeddb/cursor-reverse-bug.html:
  • storage/indexeddb/cursor-skip-deleted.html:
  • storage/indexeddb/cursor-update-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required.html:
  • storage/indexeddb/cursor-update.html:
  • storage/indexeddb/cursor-value.html:
  • storage/indexeddb/data-corruption-expected.txt:
  • storage/indexeddb/data-corruption.html:
  • storage/indexeddb/database-basics-expected.txt:
  • storage/indexeddb/database-basics.html:
  • storage/indexeddb/database-close-expected.txt:
  • storage/indexeddb/database-close.html:
  • storage/indexeddb/database-closepending-flag-expected.txt:
  • storage/indexeddb/database-closepending-flag.html:
  • storage/indexeddb/database-deletepending-flag.html:
  • storage/indexeddb/database-name-undefined-expected.txt:
  • storage/indexeddb/database-name-undefined.html:
  • storage/indexeddb/database-odd-names.html:
  • storage/indexeddb/database-wrapper-expected.txt:
  • storage/indexeddb/database-wrapper.html:
  • storage/indexeddb/delete-closed-database-object-expected.txt:
  • storage/indexeddb/delete-closed-database-object.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html:
  • storage/indexeddb/delete-range.html:
  • storage/indexeddb/deleteIndex-bug110792-expected.txt:
  • storage/indexeddb/deleteIndex-bug110792.html:
  • storage/indexeddb/deleteIndex-expected.txt:
  • storage/indexeddb/deleteIndex.html:
  • storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/deleteObjectStore-name-argument-required.html:
  • storage/indexeddb/deleteObjectStore-null-name.html:
  • storage/indexeddb/deleted-objects-expected.txt:
  • storage/indexeddb/deleted-objects.html:
  • storage/indexeddb/deletedatabase-blocked.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange.html:
  • storage/indexeddb/deletedatabase-not-blocked.html:
  • storage/indexeddb/deletedatabase-transaction.html:
  • storage/indexeddb/dont-commit-on-blocked.html:
  • storage/indexeddb/dont-wedge.html:
  • storage/indexeddb/duplicates.html:
  • storage/indexeddb/error-causes-abort-by-default.html:
  • storage/indexeddb/events-expected.txt:
  • storage/indexeddb/events.html:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/exception-in-event-aborts.html:
  • storage/indexeddb/exceptions-expected.txt:
  • storage/indexeddb/exceptions.html:
  • storage/indexeddb/factory-basics-expected.txt:
  • storage/indexeddb/factory-basics-workers-expected.txt:
  • storage/indexeddb/factory-basics-workers.html:
  • storage/indexeddb/factory-basics.html:
  • storage/indexeddb/factory-cmp-expected.txt:
  • storage/indexeddb/factory-cmp.html:
  • storage/indexeddb/factory-deletedatabase.html:
  • storage/indexeddb/get-keyrange-expected.txt:
  • storage/indexeddb/get-keyrange.html:
  • storage/indexeddb/index-basics-expected.txt:
  • storage/indexeddb/index-basics-workers-expected.txt:
  • storage/indexeddb/index-basics-workers.html:
  • storage/indexeddb/index-basics.html:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-count.html:
  • storage/indexeddb/index-cursor.html:
  • storage/indexeddb/index-duplicate-keypaths.html:
  • storage/indexeddb/index-get-key-argument-required-expected.txt:
  • storage/indexeddb/index-get-key-argument-required.html:
  • storage/indexeddb/index-multientry.html:
  • storage/indexeddb/index-population.html:
  • storage/indexeddb/index-unique.html:
  • storage/indexeddb/interfaces.html:
  • storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html:
  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/intversion-bad-parameters.html:
  • storage/indexeddb/intversion-blocked.html:
  • storage/indexeddb/intversion-close-between-events.html:
  • storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/intversion-close-in-oncomplete.html:
  • storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
  • storage/indexeddb/intversion-close-in-upgradeneeded.html:
  • storage/indexeddb/intversion-encoding.html:
  • storage/indexeddb/intversion-gated-on-delete.html:
  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/intversion-long-queue.html:
  • storage/indexeddb/intversion-omit-parameter.html:
  • storage/indexeddb/intversion-open-in-upgradeneeded.html:
  • storage/indexeddb/intversion-open-with-version.html:
  • storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-ascending.html: Added.
  • storage/indexeddb/intversion-pending-version-changes-descending-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-descending.html: Added.
  • storage/indexeddb/intversion-pending-version-changes-same-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-same.html: Added.
  • storage/indexeddb/intversion-persistence.html:
  • storage/indexeddb/intversion-revert-on-abort.html:
  • storage/indexeddb/intversion-two-opens-no-versions.html:
  • storage/indexeddb/intversion-upgrades-expected.txt:
  • storage/indexeddb/intversion-upgrades.html:
  • storage/indexeddb/invalid-keys-expected.txt:
  • storage/indexeddb/invalid-keys.html:
  • storage/indexeddb/key-generator.html:
  • storage/indexeddb/key-sort-order-across-types.html:
  • storage/indexeddb/key-sort-order-date.html:
  • storage/indexeddb/key-type-array-expected.txt:
  • storage/indexeddb/key-type-array.html:
  • storage/indexeddb/key-type-binary-expected.txt: Added.
  • storage/indexeddb/key-type-binary.html: Added.
  • storage/indexeddb/key-type-infinity.html:
  • storage/indexeddb/keypath-arrays-expected.txt:
  • storage/indexeddb/keypath-arrays.html:
  • storage/indexeddb/keypath-basics-expected.txt:
  • storage/indexeddb/keypath-basics.html:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keypath-edges.html:
  • storage/indexeddb/keypath-fetch-key.html:
  • storage/indexeddb/keypath-intrinsic-properties.html:
  • storage/indexeddb/keyrange-expected.txt:
  • storage/indexeddb/keyrange-required-arguments-expected.txt:
  • storage/indexeddb/keyrange-required-arguments.html:
  • storage/indexeddb/keyrange.html:
  • storage/indexeddb/lazy-index-population-expected.txt:
  • storage/indexeddb/lazy-index-population.html:
  • storage/indexeddb/lazy-index-types.html:
  • storage/indexeddb/legacy-constants.html:
  • storage/indexeddb/list-ordering.html:
  • storage/indexeddb/metadata-race-expected.txt: Added.
  • storage/indexeddb/metadata-race.html: Added.
  • storage/indexeddb/metadata.html:
  • storage/indexeddb/mutating-cursor.html:
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/object-lookups-in-versionchange-expected.txt:
  • storage/indexeddb/object-lookups-in-versionchange.html:
  • storage/indexeddb/objectStore-required-arguments-expected.txt:
  • storage/indexeddb/objectStore-required-arguments.html:
  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-autoincrement.html:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/objectstore-basics-workers.html:
  • storage/indexeddb/objectstore-basics.html:
  • storage/indexeddb/objectstore-clear.html:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/objectstore-count.html:
  • storage/indexeddb/objectstore-cursor-expected.txt:
  • storage/indexeddb/objectstore-cursor.html:
  • storage/indexeddb/objectstore-keycursor-expected.txt: Added.
  • storage/indexeddb/objectstore-keycursor.html: Added.
  • storage/indexeddb/objectstore-removeobjectstore.html:
  • storage/indexeddb/odd-strings.html:
  • storage/indexeddb/open-bad-versions.html:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/open-cursor.html:
  • storage/indexeddb/open-during-transaction.html:
  • storage/indexeddb/open-ordering.html:
  • storage/indexeddb/open-twice-workers.html:
  • storage/indexeddb/opencursor-key.html:
  • storage/indexeddb/optional-arguments-expected.txt: Added.
  • storage/indexeddb/optional-arguments.html: Added.
  • storage/indexeddb/pending-activity-workers.html:
  • storage/indexeddb/pending-activity.html:
  • storage/indexeddb/pending-version-change-on-exit.html:
  • storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
  • storage/indexeddb/pending-version-change-stuck.html:
  • storage/indexeddb/persistence.html:
  • storage/indexeddb/prefetch-bugfix-108071-expected.txt:
  • storage/indexeddb/prefetch-bugfix-108071.html:
  • storage/indexeddb/prefetch-invalidation-expected.txt: Added.
  • storage/indexeddb/prefetch-invalidation.html: Added.
  • storage/indexeddb/prefetch-race-expected.txt: Added.
  • storage/indexeddb/prefetch-race.html: Added.
  • storage/indexeddb/queued-commands.html:
  • storage/indexeddb/readonly-properties.html:
  • storage/indexeddb/readonly.html:
  • storage/indexeddb/removed-expected.txt:
  • storage/indexeddb/removed.html:
  • storage/indexeddb/request-continue-abort.html:
  • storage/indexeddb/request-event-propagation.html:
  • storage/indexeddb/request-leak-expected.txt: Added.
  • storage/indexeddb/request-leak.html: Added.
  • storage/indexeddb/request-result-cache-expected.txt: Added.
  • storage/indexeddb/request-result-cache.html: Added.
  • storage/indexeddb/resources/aborted-versionchange-closes.js:
  • storage/indexeddb/resources/basics.js:
  • storage/indexeddb/resources/create-and-remove-object-store.js:
  • storage/indexeddb/resources/create-object-store-options.js:
  • storage/indexeddb/resources/createIndex-after-failure.js:
  • storage/indexeddb/resources/createObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/createObjectStore-null-name.js:
  • storage/indexeddb/resources/cursor-added-bug.js:
  • storage/indexeddb/resources/cursor-advance.js:
  • storage/indexeddb/resources/cursor-basics.js: Added.
  • storage/indexeddb/resources/cursor-continue-dir.js:
  • storage/indexeddb/resources/cursor-continue-validity.js:
  • storage/indexeddb/resources/cursor-continue.js:
  • storage/indexeddb/resources/cursor-continueprimarykey.js: Added.
  • storage/indexeddb/resources/cursor-delete.js:
  • storage/indexeddb/resources/cursor-inconsistency.js:
  • storage/indexeddb/resources/cursor-index-delete.js:
  • storage/indexeddb/resources/cursor-key-order.js:
  • storage/indexeddb/resources/cursor-prev-no-duplicate.js:
  • storage/indexeddb/resources/cursor-primary-key-order.js:
  • storage/indexeddb/resources/cursor-properties.js:
  • storage/indexeddb/resources/cursor-reverse-bug.js:
  • storage/indexeddb/resources/cursor-skip-deleted.js:
  • storage/indexeddb/resources/cursor-update-value-argument-required.js:
  • storage/indexeddb/resources/cursor-update.js:
  • storage/indexeddb/resources/cursor-value.js:
  • storage/indexeddb/resources/data-corruption.js:
  • storage/indexeddb/resources/database-basics.js:
  • storage/indexeddb/resources/database-close.js:
  • storage/indexeddb/resources/database-closepending-flag.js:
  • storage/indexeddb/resources/database-deletepending-flag.js:
  • storage/indexeddb/resources/database-name-undefined.js:
  • storage/indexeddb/resources/database-odd-names.js:
  • storage/indexeddb/resources/database-quota.js:
  • storage/indexeddb/resources/database-wrapper.js:
  • storage/indexeddb/resources/delete-closed-database-object.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
  • storage/indexeddb/resources/delete-range.js:
  • storage/indexeddb/resources/deleteIndex.js:
  • storage/indexeddb/resources/deleteObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/deleteObjectStore-null-name.js:
  • storage/indexeddb/resources/deleted-objects.js:
  • storage/indexeddb/resources/deletedatabase-blocked.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:
  • storage/indexeddb/resources/deletedatabase-not-blocked.js:
  • storage/indexeddb/resources/dont-commit-on-blocked-worker.js:
  • storage/indexeddb/resources/dont-wedge.js:
  • storage/indexeddb/resources/duplicates.js:
  • storage/indexeddb/resources/error-causes-abort-by-default.js:
  • storage/indexeddb/resources/events.js:
  • storage/indexeddb/resources/exception-in-event-aborts.js:
  • storage/indexeddb/resources/exceptions.js:
  • storage/indexeddb/resources/factory-basics.js:
  • storage/indexeddb/resources/factory-cmp.js:
  • storage/indexeddb/resources/factory-deletedatabase.js:
  • storage/indexeddb/resources/get-keyrange.js:
  • storage/indexeddb/resources/index-basics.js:
  • storage/indexeddb/resources/index-count.js:
  • storage/indexeddb/resources/index-cursor.js:
  • storage/indexeddb/resources/index-duplicate-keypaths.js:
  • storage/indexeddb/resources/index-get-key-argument-required.js:
  • storage/indexeddb/resources/index-multientry.js:
  • storage/indexeddb/resources/index-population.js:
  • storage/indexeddb/resources/index-unique.js:
  • storage/indexeddb/resources/interfaces.js:
  • storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-bad-parameters.js:
  • storage/indexeddb/resources/intversion-blocked.js:
  • storage/indexeddb/resources/intversion-close-between-events.js:
  • storage/indexeddb/resources/intversion-close-in-oncomplete.js:
  • storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-encoding.js:
  • storage/indexeddb/resources/intversion-gated-on-delete.js:
  • storage/indexeddb/resources/intversion-long-queue.js:
  • storage/indexeddb/resources/intversion-omit-parameter.js:
  • storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-open-with-version.js:
  • storage/indexeddb/resources/intversion-pending-version-changes-ascending.js: Added.
  • storage/indexeddb/resources/intversion-pending-version-changes-descending.js: Added.
  • storage/indexeddb/resources/intversion-pending-version-changes-same.js: Added.
  • storage/indexeddb/resources/intversion-persistence.js:
  • storage/indexeddb/resources/intversion-revert-on-abort.js:
  • storage/indexeddb/resources/intversion-two-opens-no-versions.js:
  • storage/indexeddb/resources/intversion-upgrades.js:
  • storage/indexeddb/resources/invalid-keys.js:
  • storage/indexeddb/resources/key-generator.js:
  • storage/indexeddb/resources/key-sort-order-across-types.js:
  • storage/indexeddb/resources/key-sort-order-date.js:
  • storage/indexeddb/resources/key-type-array.js:
  • storage/indexeddb/resources/key-type-binary.js: Added.
  • storage/indexeddb/resources/key-type-infinity.js:
  • storage/indexeddb/resources/keypath-arrays.js:
  • storage/indexeddb/resources/keypath-basics.js:
  • storage/indexeddb/resources/keypath-edges.js:
  • storage/indexeddb/resources/keypath-fetch-key.js:
  • storage/indexeddb/resources/keypath-intrinsic-properties.js:
  • storage/indexeddb/resources/keyrange-required-arguments.js:
  • storage/indexeddb/resources/keyrange.js:
  • storage/indexeddb/resources/lazy-index-types.js:
  • storage/indexeddb/resources/legacy-constants.js:
  • storage/indexeddb/resources/list-ordering.js:
  • storage/indexeddb/resources/metadata.js:
  • storage/indexeddb/resources/mutating-cursor.js:
  • storage/indexeddb/resources/objectStore-required-arguments.js:
  • storage/indexeddb/resources/objectstore-autoincrement.js:
  • storage/indexeddb/resources/objectstore-basics.js:
  • storage/indexeddb/resources/objectstore-clear.js:
  • storage/indexeddb/resources/objectstore-count.js:
  • storage/indexeddb/resources/objectstore-cursor.js:
  • storage/indexeddb/resources/objectstore-keycursor.js:
  • storage/indexeddb/resources/objectstore-removeobjectstore.js:
  • storage/indexeddb/resources/odd-strings.js:
  • storage/indexeddb/resources/open-cursor.js:
  • storage/indexeddb/resources/open-during-transaction.js:
  • storage/indexeddb/resources/open-ordering.js:
  • storage/indexeddb/resources/open-twice.js:
  • storage/indexeddb/resources/opencursor-key.js:
  • storage/indexeddb/resources/pending-activity.js:
  • storage/indexeddb/resources/pending-version-change-on-exit.js:
  • storage/indexeddb/resources/pending-version-change-stuck.js:
  • storage/indexeddb/resources/persistence.js:
  • storage/indexeddb/resources/prefetch-bugfix-108071.js:
  • storage/indexeddb/resources/queued-commands.js:
  • storage/indexeddb/resources/readonly-properties.js:
  • storage/indexeddb/resources/readonly.js:
  • storage/indexeddb/resources/removed.js:
  • storage/indexeddb/resources/request-continue-abort.js:
  • storage/indexeddb/resources/request-event-propagation.js:
  • storage/indexeddb/resources/set_version_blocked.js:
  • storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
  • storage/indexeddb/resources/setversion-not-blocked.js:
  • storage/indexeddb/resources/shared.js:
  • storage/indexeddb/resources/transaction-abort.js:
  • storage/indexeddb/resources/transaction-active-flag.js:
  • storage/indexeddb/resources/transaction-after-close.js:
  • storage/indexeddb/resources/transaction-and-objectstore-calls.js:
  • storage/indexeddb/resources/transaction-basics.js:
  • storage/indexeddb/resources/transaction-complete-workers.js:
  • storage/indexeddb/resources/transaction-coordination-across-databases.js:
  • storage/indexeddb/resources/transaction-coordination-within-database.js:
  • storage/indexeddb/resources/transaction-crash-on-abort.js:
  • storage/indexeddb/resources/transaction-error.js:
  • storage/indexeddb/resources/transaction-event-propagation.js:
  • storage/indexeddb/resources/transaction-read-only.js:
  • storage/indexeddb/resources/transaction-readwrite-exclusive.js:
  • storage/indexeddb/resources/transaction-rollback.js:
  • storage/indexeddb/resources/transaction-scope-sequencing.js:
  • storage/indexeddb/resources/transaction-starvation.js:
  • storage/indexeddb/resources/transaction-storeNames-required.js:
  • storage/indexeddb/resources/unblocked-version-changes.js:
  • storage/indexeddb/resources/unprefix.js:
  • storage/indexeddb/resources/value-undefined.js:
  • storage/indexeddb/resources/values-odd-types.js:
  • storage/indexeddb/resources/version-change-abort.js:
  • storage/indexeddb/resources/version-change-exclusive.js:
  • storage/indexeddb/resources/versionchangerequest-activedomobject.js:
  • storage/indexeddb/set_version_blocked.html:
  • storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
  • storage/indexeddb/setversion-blocked-by-versionchange-close.html:
  • storage/indexeddb/setversion-not-blocked.html:
  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-abort-expected.txt:
  • storage/indexeddb/transaction-abort.html:
  • storage/indexeddb/transaction-active-flag-expected.txt:
  • storage/indexeddb/transaction-active-flag.html:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-after-close.html:
  • storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
  • storage/indexeddb/transaction-and-objectstore-calls.html:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-basics.html:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-complete-with-js-recursion.html:
  • storage/indexeddb/transaction-complete-workers-expected.txt:
  • storage/indexeddb/transaction-complete-workers.html:
  • storage/indexeddb/transaction-coordination-across-databases.html:
  • storage/indexeddb/transaction-coordination-within-database.html:
  • storage/indexeddb/transaction-crash-in-tasks.html:
  • storage/indexeddb/transaction-crash-on-abort.html:
  • storage/indexeddb/transaction-error-expected.txt:
  • storage/indexeddb/transaction-error.html:
  • storage/indexeddb/transaction-event-propagation.html:
  • storage/indexeddb/transaction-ordering-expected.txt: Added.
  • storage/indexeddb/transaction-ordering.html: Added.
  • storage/indexeddb/transaction-read-only-expected.txt:
  • storage/indexeddb/transaction-read-only.html:
  • storage/indexeddb/transaction-readwrite-exclusive.html:
  • storage/indexeddb/transaction-rollback.html:
  • storage/indexeddb/transaction-scope-sequencing.html:
  • storage/indexeddb/transaction-starvation.html:
  • storage/indexeddb/transaction-storeNames-required-expected.txt:
  • storage/indexeddb/transaction-storeNames-required.html:
  • storage/indexeddb/unblocked-version-changes-expected.txt:
  • storage/indexeddb/unblocked-version-changes.html:
  • storage/indexeddb/unprefix-workers.html:
  • storage/indexeddb/unprefix.html:
  • storage/indexeddb/value-undefined.html:
  • storage/indexeddb/values-odd-types.html:
  • storage/indexeddb/version-change-abort-expected.txt:
  • storage/indexeddb/version-change-abort.html:
  • storage/indexeddb/version-change-exclusive-expected.txt:
  • storage/indexeddb/version-change-exclusive.html:
  • storage/indexeddb/versionchangerequest-activedomobject.html:
5:55 PM Changeset in webkit [163922] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Move renderNamedFlowThreadWrapper() to RenderElement.
<https://webkit.org/b/128634>

This function is only ever called on RenderElements so move it there
from RenderObject.

Reviewed by Antti Koivisto.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::renderNamedFlowThreadWrapper):

  • rendering/RenderElement.h:
  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h:
5:54 PM Changeset in webkit [163921] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

Position and thickness of underline as text size changes
https://bugs.webkit.org/show_bug.cgi?id=16768

Source/WebCore:

Reviewed by Dean Jackson.

This patch adopts the iOS codepath for underlines. It also reorganizes
drawLineForText to avoid a costly global state save & restore.

Test: fast/css3-text/css3-text-decoration/text-decoration-thickness.html

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::computeLineBoundsAndAntialiasingModeForText):
(WebCore::GraphicsContext::computeLineBoundsForText):
(WebCore::GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::drawLinesForText):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):

LayoutTests:

This test draws underlined text at a very large font size. It then positions and clips
the text so that the underline should fill a box if the underline grows in proportion
to text size. The comparison is to a box that has its background color set.

Reviewed by Dean Jackson.

  • fast/css3-text/css3-text-decoration/text-decoration-thickness-expected.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-thickness.html: Added.
5:53 PM Changeset in webkit [163920] by rniwa@webkit.org
  • 17 edits in trunk/Source

Frame::rectForSelection shouldn't instantiate FrameSelection
https://bugs.webkit.org/show_bug.cgi?id=128587

Reviewed by Enrica Casucci.

Source/WebCore:

Made VisiblePosition::absoluteCaretBounds more interoperable with the one in FrameSelection and made
iOS's Frame::rectForScrollToVisible use that function instead.

The above change allows us to remove:

  • suppressCloseTyping(), restoreCloseTyping(), and m_closeTypingSuppressions in FrameSelection
  • suppressSelectionNotifications() and restoreSelectionNotifications() in EditorClient

See inline comments below for more details.

  • Source/WebCore/WebCore.exp.in:
  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::CaretBase::updateCaretRect):
(WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
(WebCore::DragCaretController::caretRenderer):
(WebCore::repaintCaretForLocalRect):
(WebCore::FrameSelection::recomputeCaretRect): Merged FrameSelection::localCaretRect(). Modified
the code to update caretNode when and only when caret rect is updated. Also added an assertion to
ensure absoluteCaretBounds() on FrameSelection and VisiblePosition yield the same result.

(WebCore::CaretBase::paintCaret):

  • editing/FrameSelection.h:
  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::absoluteCaretBounds): Fixed the bug where the old code wasn't respecting
the convention to use containing block as the renderer to paint caret.

  • editing/htmlediting.cpp:

(WebCore::caretRendersInsideNode): Moved from FrameSelection.cpp.
(WebCore::rendererForCaretPainting): Ditto and renamed from caretRenderer.
(WebCore::localCaretRectInRendererForCaretPainting): Extracted from FrameSelection::updateCaretRect.
(WebCore::absoluteBoundsForLocalCaretRect): Ditto from CaretBase::absoluteBoundsForLocalRect.

  • editing/htmlediting.h:
  • loader/EmptyClients.h:
  • page/EditorClient.h:
  • page/Frame.h:
  • page/ios/FrameIOS.mm:

(WebCore::Frame::rectForScrollToVisible): Reimplemented in its simplest form using VisiblePosition's
absoluteCaretBounds().

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::WebEditorClient):
(WebEditorClient::respondToChangedSelection):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
5:10 PM Changeset in webkit [163919] by enrica@apple.com
  • 7 edits in trunk/Source

Support WebSelections in WK2 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=127015
<rdar://problem/15211964>

Reviewed by Benjamin Poulain.

Source/WebCore:

Adding few exports.

  • WebCore.exp.in:

Source/WebKit2:

First step towards implementing block selections on iOS.
The main logic is in rangeForWebSelectionAtPosition that
decides whether we create a text or a block selection.

  • Shared/ios/WKGestureTypes.h:
  • UIProcess/API/ios/WKInteractionView.mm:

(toUIWKSelectionFlags):
(selectionChangedWithGesture):

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

(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::selectWithGesture):
(WebKit::WebPage::getPositionInformation):

4:22 PM Changeset in webkit [163918] by BJ Burg
  • 5 edits
    59 adds in trunk

Web Replay: upstream replay input code generator and EncodedValue class
https://bugs.webkit.org/show_bug.cgi?id=128215

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Add the replay inputs code generator. Most features of the input generator are
exercised by included generator regression tests, which produce useful but
non-compilable test replay inputs.

Add EncodedValue, the main replay input serialization class that encodes and
decodes inputs and their data between C++ types and the JSON-based replay recording
format. EncodedValue uses EncodingTraits specializations for type-specific encoding.
Relative to other WebKit marshalling mechanisms, EncodedValue is key/value based.
EncodedValue uses InspectorValue subclasses as its backing data structure.

Add some missing numerical conversions to InspectorValue.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/InspectorValues.cpp:

(Inspector::InspectorValue::asNumber):
(Inspector::InspectorBasicValue::asNumber):

  • inspector/InspectorValues.h:
  • replay/EncodedValue.cpp: Added.

(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::ScalarEncodingTraits<bool>::encodeValue):
(JSC::ScalarEncodingTraits<double>::encodeValue):
(JSC::ScalarEncodingTraits<float>::encodeValue):
(JSC::ScalarEncodingTraits<int32_t>::encodeValue):
(JSC::ScalarEncodingTraits<int64_t>::encodeValue):
(JSC::ScalarEncodingTraits<uint32_t>::encodeValue):
(JSC::ScalarEncodingTraits<uint64_t>::encodeValue):
(JSC::long>::encodeValue):
(JSC::EncodedValue::convertTo<bool>):
(JSC::EncodedValue::convertTo<double>):
(JSC::EncodedValue::convertTo<float>):
(JSC::EncodedValue::convertTo<int32_t>):
(JSC::EncodedValue::convertTo<int64_t>):
(JSC::EncodedValue::convertTo<uint32_t>):
(JSC::EncodedValue::convertTo<uint64_t>):
(JSC::long>):
(JSC::EncodedValue::convertTo<String>):
(JSC::EncodedValue::put<EncodedValue>):
(JSC::EncodedValue::append<EncodedValue>):
(JSC::EncodedValue::get<EncodedValue>):

  • replay/EncodedValue.h: Added.

(JSC::EncodedValue::EncodedValue):
(JSC::EncodedValue::createObject):
(JSC::EncodedValue::createArray):
(JSC::EncodedValue::createString):
(JSC::EncodedValue::~EncodedValue):
(JSC::ScalarEncodingTraits::decodeValue):
(JSC::EncodingTraits<String>::encodeValue):
(JSC::EncodedValue::put):
(JSC::EncodedValue::append):
(JSC::EncodedValue::get):

  • replay/scripts/CodeGeneratorReplayInputs.py: Added.

(ParseException):
(TypecheckException):
(Framework):
(Framework.init):
(Framework.setting):
(Framework.fromString):
(Frameworks):
(InputQueue):
(InputQueue.init):
(InputQueue.setting):
(InputQueue.fromString):
(InputQueues):
(Input):
(Input.init):
(Input.setting):
(InputMember):
(InputMember.init):
(InputMember.has_flag):
(TypeMode):
(TypeMode.init):
(TypeMode.fromString):
(TypeModes):
(Type):
(Type.init):
(Type.eq):
(Type.hash):
(Type.has_flag):
(Type.is_struct):
(Type.is_enum):
(Type.is_enum_class):
(Type.declaration_kind):
(Type.qualified_prefix):
(Type.qualified_prefix.is):
(Type.type_name):
(Type.storage_type):
(Type.borrow_type):
(Type.argument_type):
(check_properties):
(VectorType):
(VectorType.init):
(VectorType.has_flag):
(VectorType.is_struct):
(VectorType.is_enum):
(VectorType.is_enum_class):
(VectorType.qualified_prefix):
(VectorType.type_name):
(VectorType.argument_type):
(InputsModel):
(InputsModel.init):
(InputsModel.enum_types):
(InputsModel.get_type_for_member):
(InputsModel.parse_toplevel):
(InputsModel.parse_type_with_framework_name):
(InputsModel.parse_input):
(InputsModel.typecheck):
(InputsModel.typecheck_type):
(InputsModel.typecheck_input):
(InputsModel.typecheck_input_member):
(IncrementalFileWriter):
(IncrementalFileWriter.init):
(IncrementalFileWriter.write):
(IncrementalFileWriter.close):
(lcfirst):
(wrap_with_guard):
(Generator):
(Generator.init):
(Generator.setting):
(Generator.output_filename):
(Generator.write_output_files):
(Generator.generate_header):
(Generator.generate_implementation):
(Generator.generate_license):
(Generator.generate_includes):
(Generator.generate_includes.declaration):
(Generator.generate_includes.declaration.is):
(Generator.generate_type_forward_declarations):
(Generator.generate_type_forward_declarations.is):
(Generator.generate_class_declaration):
(Generator.generate_input_constructor_declaration):
(Generator.generate_input_destructor_declaration):
(Generator.generate_input_member_getter):
(Generator.generate_input_member_declaration):
(Generator.generate_input_member_tuples):
(Generator.qualified_input_name):
(Generator.generate_input_trait_declaration):
(Generator.generate_enum_trait_declaration):
(Generator.generate_for_each_macro):
(Generator.generate_class_implementation):
(Generator.generate_enum_trait_implementation):
(Generator.generate_enum_trait_implementation.is):
(Generator.generate_input_trait_implementation):
(Generator.generate_input_encode_implementation):
(Generator.generate_input_decode_implementation):
(Generator.generate_constructor_initializer_list):
(Generator.generate_constructor_formals_list):
(Generator.generate_member_borrow_expression):
(Generator.generate_member_move_expression):
(Generator.generate_constructor_arguments_list):
(generate_from_specification):

  • replay/scripts/CodeGeneratorReplayInputsTemplates.py: Added.

(Templates):

  • replay/scripts/tests/expected/JSInputs.json-TestReplayInputs.cpp: Added.
  • replay/scripts/tests/expected/JSInputs.json-TestReplayInputs.h: Added.
  • replay/scripts/tests/expected/fail-on-c-style-enum-no-storage.json-error: Added.
  • replay/scripts/tests/expected/fail-on-duplicate-input-names.json-error: Added.
  • replay/scripts/tests/expected/fail-on-duplicate-type-names.json-error: Added.
  • replay/scripts/tests/expected/fail-on-enum-type-missing-values.json-error: Added.
  • replay/scripts/tests/expected/fail-on-missing-input-member-name.json-error: Added.
  • replay/scripts/tests/expected/fail-on-missing-input-name.json-error: Added.
  • replay/scripts/tests/expected/fail-on-missing-input-queue.json-error: Added.
  • replay/scripts/tests/expected/fail-on-missing-type-mode.json-error: Added.
  • replay/scripts/tests/expected/fail-on-missing-type-name.json-error: Added.
  • replay/scripts/tests/expected/fail-on-no-inputs.json-error: Added.
  • replay/scripts/tests/expected/fail-on-no-types.json-error: Added.
  • replay/scripts/tests/expected/fail-on-unknown-input-queue.json-error: Added.
  • replay/scripts/tests/expected/fail-on-unknown-member-type.json-error: Added.
  • replay/scripts/tests/expected/fail-on-unknown-type-mode.json-error: Added.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.cpp: Added.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.h: Added.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp: Added.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h: Added.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-error: Added.
  • replay/scripts/tests/expected/generate-event-loop-shape-types.json-error: Added.
  • replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.cpp: Added.
  • replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.h: Added.
  • replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.cpp: Added.
  • replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.h: Added.
  • replay/scripts/tests/expected/generate-inputs-with-flags.json-error: Added.
  • replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.cpp: Added.
  • replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.h: Added.
  • replay/scripts/tests/fail-on-c-style-enum-no-storage.json: Added.
  • replay/scripts/tests/fail-on-duplicate-input-names.json: Added.
  • replay/scripts/tests/fail-on-duplicate-type-names.json: Added.
  • replay/scripts/tests/fail-on-enum-type-missing-values.json: Added.
  • replay/scripts/tests/fail-on-missing-input-member-name.json: Added.
  • replay/scripts/tests/fail-on-missing-input-name.json: Added.
  • replay/scripts/tests/fail-on-missing-input-queue.json: Added.
  • replay/scripts/tests/fail-on-missing-type-mode.json: Added.
  • replay/scripts/tests/fail-on-missing-type-name.json: Added.
  • replay/scripts/tests/fail-on-no-inputs.json: Added.
  • replay/scripts/tests/fail-on-no-types.json: Added.
  • replay/scripts/tests/fail-on-unknown-input-queue.json: Added.
  • replay/scripts/tests/fail-on-unknown-member-type.json: Added.
  • replay/scripts/tests/fail-on-unknown-type-mode.json: Added.
  • replay/scripts/tests/generate-enum-encoding-helpers-with-guarded-values.json: Added.
  • replay/scripts/tests/generate-enum-encoding-helpers.json: Added.
  • replay/scripts/tests/generate-event-loop-shape-types.json: Added.
  • replay/scripts/tests/generate-input-with-guard.json: Added.
  • replay/scripts/tests/generate-input-with-vector-members.json: Added.
  • replay/scripts/tests/generate-inputs-with-flags.json: Added.
  • replay/scripts/tests/generate-memoized-type-modes.json: Added.

Tools:

Add an executable script to launch the replay input generator tests.
Add a test harness for running the code generator tests, mostly taken
from the bindings test harness (but simplified).

  • Scripts/run-input-generator-tests: Added.

(main):

  • Scripts/webkitpy/replay/init.py: Added.
  • Scripts/webkitpy/replay/main.py: Added.

(InputGeneratorTests):
(InputGeneratorTests.init):
(InputGeneratorTests.generate_from_json):
(InputGeneratorTests.write_error_file):
(InputGeneratorTests.detect_changes):
(InputGeneratorTests.run_tests):
(InputGeneratorTests.main):

4:08 PM Changeset in webkit [163917] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

CTTE: RenderNamedFlowThread always has a WebKitNamedFlow.
<https://webkit.org/b/128623>

Codify the fact that RenderNamedFlowThread always has a corresponding
WebKitNamedFlow by storing it in a Ref, and adding an accessor that
returns a reference to get rid of all the ->'s.

Also removed some unnecessary assertions exposed by this.

Reviewed by Antti Koivisto.

  • dom/NamedFlowCollection.cpp:

(WebCore::NamedFlowCollection::ensureFlowWithName):

  • dom/NamedFlowCollection.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::flowThreadName):
(WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
(WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEvent):
(WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired):
(WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
(WebCore::RenderNamedFlowThread::setMarkForDestruction):
(WebCore::RenderNamedFlowThread::resetMarkForDestruction):
(WebCore::RenderNamedFlowThread::isMarkedForDestruction):

  • rendering/RenderNamedFlowThread.h:
4:06 PM Changeset in webkit [163916] by mmaxfield@apple.com
  • 19 edits
    2 adds in trunk

Source/WebCore: Convert position:fixed property to position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

This adds a Setting and Preference that allows clients to opt-in to this behavior.

This new behavior is only activated if the entire body is copied. If there is a position:fixed
element in the copied selection, it is replaced with position:absolute, and a containing
block (position:relative) is wrapped around the copied text.

This patch originally converted position:-webkit-sticky to position:relative. However, we
currently don't support copying and pasting of position:-webkit-sticky content (See below).
Therefore, this patch only deals with position:fixed.

Right now we don't copy position:-webkit-sticky. This is because:

  1. When copying styled elements, we parse the style properties again
  2. CSSParserContext has a flag which can disable parsing -webkit-sticky
  3. There are two constructors to CSSParserContext: one that takes a document and sets up the

aforementioned flag, and a simple one that doesn't take a document and sets all the enableFoo
flags to false

  1. At the relevant place within copy code, we are far removed from the Document object, so we

instead call the second constructor, thereby disabling parsing of -webkit-sticky

Test: editing/pasteboard/copy-paste-converts-sticky-and-fixed.html

  • WebCore.exp.in: Export the Setting setter
  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::convertFixedAndStickyPosition): Converts a single style

  • editing/EditingStyle.h:
  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Remember if we found
an element which needs the position:relative containing block
(WebCore::StyledMarkupAccumulator::appendElement): Surround with the position:relative
containing block if necessary
(WebCore::createMarkupInternal):

  • page/Settings.cpp:

(WebCore::Settings::Settings): New setting to opt-in to this new behavior
(WebCore::Settings::setConvertPositionStyleOnCopy):

  • page/Settings.h:

(WebCore::Settings::convertPositionStyleOnCopy):

  • testing/InternalSettings.cpp: Allow setting the setting from a Layout Test

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setConvertPositionStyleOnCopy):

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

Source/WebKit/mac: Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences convertPositionStyleOnCopy]):
(-[WebPreferences setConvertPositionStyleOnCopy:]):

  • WebView/WebPreferencesPrivate.h: Opt-in to new behavior
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2: Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetConvertPositionStyleOnCopy):
(WKPreferencesGetConvertPositionStyleOnCopy):

  • UIProcess/API/C/WKPreferencesPrivate.h: Opt-in to new behavior
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests: Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

Checks that the style properties get converted.

  • editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt: Added.
  • editing/pasteboard/copy-paste-converts-sticky-and-fixed.html: Added.
4:02 PM Changeset in webkit [163915] by commit-queue@webkit.org
  • 5 edits in trunk

XMLHttpRequest should not send DNT header
https://bugs.webkit.org/show_bug.cgi?id=128533

Patch by Youenn Fablet <youennf@gmail.com> on 2014-02-11
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Added DNT (Do Not Track) header to the list of forbidden headers.
Updated http/tests/xmlhttprequest/set-dangerous-headers.html to test that header.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):

LayoutTests:

Updated http/tests/xmlhttprequest/set-dangerous-headers.html to test that DNT header is not sent.

  • http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
  • http/tests/xmlhttprequest/set-dangerous-headers.html:
3:07 PM Changeset in webkit [163914] by jpfau@apple.com
  • 8 edits in trunk

Bring third-party app cache blocking behavior in line with private browsing app cache blocking behavior
https://bugs.webkit.org/show_bug.cgi?id=128557

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::cacheForMainRequest):
(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
(WebCore::ApplicationCacheGroup::update):

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::maybeLoadMainResource):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
(WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):

  • loader/appcache/ApplicationCacheHost.h:

LayoutTests:

  • http/tests/security/resources/cross-origin-iframe-for-appcache-allowed.html:
  • http/tests/security/resources/cross-origin-iframe-for-appcache.html:
  • http/tests/security/resources/same-origin-iframe-for-appcache-blocked.html:
3:05 PM Changeset in webkit [163913] by Joseph Pecoraro
  • 2 edits in trunk/Tools

Web Inspector: AX: Accessibility Node Inspection
https://bugs.webkit.org/show_bug.cgi?id=127447

Patch by James Craig <jcraig@apple.com> on 2014-02-11
Reviewed by Chris Fleizach.

Resolving build failure caused by r163891.

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::computedRoleString):

3:01 PM Changeset in webkit [163912] by beidson@apple.com
  • 4 edits in trunk

IDB: The test after storage/indexeddb/mozilla/object-identity.html fails in cleanup code
<rdar://problem/16040663> and https://bugs.webkit.org/show_bug.cgi?id=128621

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Covered by storage/indexeddb/mozilla/object-identity.html.

  • Modules/indexeddb/IDBTransactionBackend.cpp:

(WebCore::IDBTransactionBackend::abort): Clear the m_database pointer before calling the onAbort callback.
(WebCore::IDBTransactionBackend::commit): Don't run the abort code if there's no m_database pointer.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Enabled all of the storage/indexeddb/mozilla tests except 1.
2:56 PM Changeset in webkit [163911] by Manuel Rego Casasnovas
  • 2 edits in trunk/LayoutTests

Unreviewed. Fix typo in layout test introduced in r163811.

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-02-11

  • inspector-protocol/debugger/hit-breakpoint-from-console.html:
2:12 PM Changeset in webkit [163910] by rniwa@webkit.org
  • 3 edits in branches/safari-537.60-branch/Tools

Merge r160726

2013-12-17 Brent Fulgham <Brent Fulgham>

[Win] Revise filter-build-webkit to deal with Windows build logs
https://bugs.webkit.org/show_bug.cgi?id=125866

Reviewed by David Kilzer.

Enhance the script to accept a 'platform' argument. When platform
'win' is provided, use processing for the Windows build file format.
Otherwise, process the files as normal.

  • Scripts/filter-build-webkit: (usageAndExit): Add a 'platform' argument (shouldIgnoreLine): When platform == 'win' use the new Windows rules for processing the build file.
2:00 PM Changeset in webkit [163909] by roger_fong@apple.com
  • 2 edits in trunk/WebKitLibraries

[Windows] Set ENABLE_CSS_SHAPE_INSIDE feature flag on Windows.

  • win/tools/vsprops/FeatureDefines.props:
1:56 PM Changeset in webkit [163908] by benjamin@webkit.org
  • 17 edits in trunk/Source/WebKit2

[WK2] Rename screenToWindow to screenToRootView and windowToScreen to rootViewToScreen
https://bugs.webkit.org/show_bug.cgi?id=128575

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-11
Reviewed by Darin Adler.

In WebKit2, screenToRootView and rootViewToScreen were named screenToWindow and windowToScreen.
Those names were fine on ports were FrameView correspond to the scrollview, but they do not apply on iOS.

This patch renames screenToWindow and windowToScreen to their more generic WebCore counterpart.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/ios/PageClientImplIOS.h:
  • UIProcess/API/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):

  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::screenToRootView):
(WebKit::WebView::rootViewToScreen):

  • UIProcess/CoordinatedGraphics/WebView.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::screenToRootView):
(WebKit::WebPageProxy::rootViewToScreen):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::screenToRootView):
(WebKit::WebChromeClient::rootViewToScreen):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::screenToRootView):
(WebKit::WebPage::rootViewToScreen):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:

(-[WKAccessibilityWebPageObject _convertScreenPointToRootView:]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):

1:50 PM Changeset in webkit [163907] by jer.noble@apple.com
  • 9 edits in trunk/Source/WebCore

[EME][Mac] Move the implementation of CDMPrivateAVFoundation back into MediaPlayerPrivateAVFoundationObjC.
https://bugs.webkit.org/show_bug.cgi?id=128559

Reviewed by Dean Jackson.

To prepare for multiple simultaneous CDMs with muliple MediaPlayer types, move the implementation for
CDMPrivateAVFoundation back into its media engine.

  • Modules/encryptedmedia/CDMPrivateAVFoundation.mm:

(WebCore::MediaKeyExceptionToErrorCode): Added.
(WebCore::CDMSessionAVFoundation::generateKeyRequest): Moved to MediaPlayerPrivateAVFoundationObjC.
(WebCore::CDMSessionAVFoundation::releaseKeys): Ditto.
(WebCore::CDMSessionAVFoundation::update): Ditto.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::generateKeyRequest): Added, pass through to MediaPlayerPrivate.
(WebCore::MediaPlayer::releaseKeys): Ditto.
(WebCore::MediaPlayer::update): Ditto.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::generateKeyRequest): Added.
(WebCore::MediaPlayerPrivateInterface::releaseKeys): Ditto.
(WebCore::MediaPlayerPrivateInterface::update): Ditto.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::generateKeyRequest): Moved from CDMSessionAVFoundation.
(WebCore::MediaPlayerPrivateAVFoundationObjC::releaseKeys): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::update): Ditto.

1:36 PM Changeset in webkit [163906] by jer.noble@apple.com
  • 2 edits
    2 adds in trunk/Source/WebCore

Run UserAgentScripts through jsmin rather than the css preprocessor
https://bugs.webkit.org/show_bug.cgi?id=127559

Reviewed by Tim Horton.

User Agent JavaScript files were being run through the c++ preprocessor to strip out
comments (and presumably to allow #if ENABLE macros, though that feature is entirely
unused). This had the side effect of removing important whitespace, namely newlines where
there would normally be an implicit semicolon.

Instead, .js files will now be run through the jsmin minifier, used by the inspector.
Jsmin will also strip comments and whitespace, but in a syntactically aware way which will
keep newlines when their presence adds an implied semicolon.

  • DerivedSources.make:
  • Scripts/make-js-file-arrays.py: Added.

(stringifyCodepoint):
(chunk):
(main):

1:28 PM Changeset in webkit [163905] by aestes@apple.com
  • 11 edits in trunk/Source

[Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate
https://bugs.webkit.org/show_bug.cgi?id=128583

Reviewed by Anders Carlsson.

The delegate method was removed in Snow Leopard.

Source/WebCore:

  • loader/ResourceLoader.cpp:
  • loader/ResourceLoader.h:
  • platform/network/ResourceHandleClient.h:
  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

Source/WebKit/mac:

  • Misc/WebDownload.mm:

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:
  • NetworkProcess/NetworkResourceLoader.h:
1:28 PM Changeset in webkit [163904] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

[Content Filter] Check for NULL before calling dispatch_release()
https://bugs.webkit.org/show_bug.cgi?id=128576

Reviewed by Darin Adler.

m_neFilterSourceQueue will be NULL if NEFilterSource isn't enabled, and
passing NULL to dispatch_release() is undefined.

  • platform/mac/ContentFilterMac.mm:

(WebCore::ContentFilter::~ContentFilter):

1:23 PM Changeset in webkit [163903] by alex.christensen@flexsim.com
  • 13 edits in trunk

Source/WebKit: Fixed linking on Win64.
https://bugs.webkit.org/show_bug.cgi?id=128211

Reviewed by Brent Fulgham.

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

Corrected Win64 linker symbols.

Source/WebKit/win: Fixed pointer truncation on Win64.
https://bugs.webkit.org/show_bug.cgi?id=128211

Reviewed by Brent Fulgham.

  • WebCoreSupport/EmbeddedWidget.cpp:

(EmbeddedWidget::createWindow):

  • WebCoreSupport/WebContextMenuClient.cpp:

(WebContextMenuClient::customizeMenu):

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::createPlugin):

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::openInspectorFrontend):
(WebInspectorClient::highlight):
(WebInspectorClient::releaseFrontend):
(WebInspectorFrontendClient::setAttachedWindowHeight):
(WebInspectorFrontendClient::closeWindowWithoutNotifications):

  • WebCoreSupport/WebInspectorClient.h:
  • WebDropSource.cpp:

(generateMouseEvent):

  • WebFrame.cpp:

(WebFrame::createSubframeWithOwnerElement):
(WebFrame::initWithWebView):
Removed all casts from &HWND to OLE_HANDLE*.

Tools: Fixed pointer truncation on Win64.
https://bugs.webkit.org/show_bug.cgi?id=128211

Reviewed by Brent Fulgham.

  • DumpRenderTree/win/AccessibilityControllerWin.cpp:

(AccessibilityController::rootElement):

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::setWindowIsKey):
Removed all casts from &HWND to OLE_HANDLE*.

1:14 PM Changeset in webkit [163902] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MediaControls] Allow the media controls script to be debuggable by giving it a generated sourceURL
https://bugs.webkit.org/show_bug.cgi?id=127560

Reviewed by Eric Carlson.

When evaluating a script through ScriptController, if that script does not have an
explicit sourceURL, it will not appear in the resources section of the Web Inspector.
For debug builds only, give the media controls script a generated (i.e. fake) sourceURL.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

1:12 PM Changeset in webkit [163901] by matthew_hanson@apple.com
  • 3 edits
    6 copies in branches/safari-537.75-branch

Merge r158739.

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

Merge r158719.

12:44 PM Changeset in webkit [163899] by Samuel White
  • 20 edits in trunk

AX: Add text replacement activity support to NSAccessibilitySelectTextWithCriteriaParameterizedAttribute.
https://bugs.webkit.org/show_bug.cgi?id=128397

Reviewed by Chris Fleizach.

Source/WebCore:

Added text replacement support for the AXSelectTextWithCriteria parameterized attribute.

No new test. Updated platform/mac/accessibility/select-text.html to test the added functionality.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::selectText):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilitySelectTextCriteria::AccessibilitySelectTextCriteria):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):

Tools:

Updated testing methods to accept a replacement string. This enables us to test text
replacement support for the AXSelectTextWithCriteria parameterized attribute.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(selectTextWithCriteriaCallback):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::selectTextWithCriteria):

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::selectTextWithCriteria):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(selectTextParameterizedAttributeForCriteria):
(AccessibilityUIElement::selectTextWithCriteria):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::selectTextWithCriteria):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::selectTextWithCriteria):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::selectTextWithCriteria):

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::selectTextWithCriteria):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::selectTextParameterizedAttributeForCriteria):
(WTR::AccessibilityUIElement::selectTextWithCriteria):

LayoutTests:

Updated test and expectations to handle text replacement.

  • platform/mac/accessibility/select-text-expected.txt:
  • platform/mac/accessibility/select-text.html:
12:39 PM Changeset in webkit [163898] by matthew_hanson@apple.com
  • 15 edits in branches/safari-537.75-branch

Merge r158447.

12:32 PM Changeset in webkit [163897] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Add Availability Macros to new JSC APIs
https://bugs.webkit.org/show_bug.cgi?id=128615

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-11
Reviewed by Mark Rowe.

  • API/JSContext.h:
  • API/JSContextRef.h:
12:28 PM Changeset in webkit [163896] by fpizlo@apple.com
  • 3 edits
    2 adds in trunk/Source/JavaScriptCore

FTL should support CompareEq(ObjectOrOther:, Object:)
https://bugs.webkit.org/show_bug.cgi?id=127752

Reviewed by Oliver Hunt.

Also introduce some helpers for reasoning about nullness and truthyness.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::speculateTruthyObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isNotNully):
(JSC::FTL::LowerDFGToLLVM::isNully):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):

  • tests/stress/compare-eq-object-or-other-to-object.js: Added.

(foo):
(test):

  • tests/stress/compare-eq-object-to-object-or-other.js: Added.

(foo):
(test):

12:26 PM Changeset in webkit [163895] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

[Windows] Unreviewed. Speculative test fix.

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::pixelSnappingFactor):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::platformInit):

12:12 PM Changeset in webkit [163894] by ddkilzer@apple.com
  • 6 edits in trunk/Tools

[ASan] Fix build failures in Tools due to missing $(inherited) values
<http://webkit.org/b/128485>

Reviewed by Dean Jackson.

  • DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
  • Move $(inherited) from OTHER_LDFLAGS_macosx to OTHER_LDFLAGS.
  • DumpRenderTree/mac/Configurations/ImageDiff.xcconfig:
  • DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig:
  • Add $(inherited) to OTHER_LDFLAGS.
  • WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
  • WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
  • Add $(inherited) to OTHER_LDFLAGS, or move from OTHER_LDFLAGS_BASE to OTHER_LDFLAGS.
  • Extract $(OTHER_LDFLAGS_BASE) from platform-specific settings into OTHER_LDFLAGS.
11:49 AM Changeset in webkit [163893] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix.

  • platform/ios/TileGrid.mm:

(WebCore::TileGrid::dropTilesBetweenRects):
(WebCore::TileGrid::dropDistantTiles):
(WebCore::TileGrid::dropInvalidTiles):

11:31 AM Changeset in webkit [163892] by beidson@apple.com
  • 4 edits in trunk

IndexedDB tests on some bots are flakey (timeouts)
<rdar://problem/16038745> and https://bugs.webkit.org/show_bug.cgi?id=128612

Reviewed by Sam Weinig.

Source/WebKit2:

When messing with JSC VM’s and such, always use APIEntryShim instead of JSLockHolder.
*ESPECIALLY* when dealing with multiple threads.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

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

LayoutTests:

  • platform/mac-wk2/TestExpectations: Reenable the tests.
11:27 AM Changeset in webkit [163891] by commit-queue@webkit.org
  • 28 edits
    2 adds in trunk

Web Inspector: AX: Accessibility Node Inspection
https://bugs.webkit.org/show_bug.cgi?id=127447

Patch by James Craig <jcraig@apple.com> on 2014-02-11
Reviewed by Timothy Hatcher.

Source/WebCore:

New methods supporting WebCore::AccessibilityObject::computedRoleString()
used for Accessibility section in WebInspector Node Inspector. Other updates
support the JSON interface for the WebInspectorUI feature.

Test: accessibility/roles-computedRoleString.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::initializeRoleMap):
(WebCore::ariaRoleMap):
(WebCore::reverseAriaRoleMap):
(WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
(WebCore::AccessibilityObject::computedRoleString):

  • accessibility/AccessibilityObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper computedRoleString]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/InspectorDOMAgent.h:
  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

New Accessibility section in WebInspector Node Inspector.
Version 1.0 only shows computed role. Computed label should come soon.

Removed CSS fixed table layout b/c CSS bug: http://webkit.org/b/128294

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/DOMNode.js:
  • UserInterface/DOMNodeDetailsSidebarPanel.js:
  • UserInterface/DetailsSection.css:
  • UserInterface/InspectorWebBackendCommands.js:

Tools:

New computedRoleString interfaces in DumpRenderTree/WebKitTestRunner
to support LayoutTest coverage of AccessibilityObject::computedRoleString()

  • DumpRenderTree/AccessibilityUIElement.cpp:
  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:
  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

LayoutTests:

New layout verifying AccessibilityObject::computedRoleString()

  • accessibility/roles-computedRoleString-expected.txt: Added.
  • accessibility/roles-computedRoleString.html: Added.
10:59 AM Changeset in webkit [163890] by oliver@apple.com
  • 15 edits in trunk

Stop throwing when attempting to read instance properties directly from the prototype
https://bugs.webkit.org/show_bug.cgi?id=128568

Reviewed by Mark Lam.

Source/WebCore:

A number of websites expect to be able to access instance properties
directly through the prototype. This is broken behavior but if we
throw an exception the entire site breaks. This patch simply makes us
return undefined when reading, and logs the error to the console.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

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

(WebCore::jsTestActiveDOMObjectExcitingAttr):

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

(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):

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

(WebCore::jsTestExceptionName):

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

(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::jsTestInterfaceSupplementalNode):

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

(WebCore::jsTestObjReadOnlyLongAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjConstructorTestSubObj):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjEnumAttr):
(WebCore::jsTestObjByteAttr):
(WebCore::jsTestObjOctetAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjLongAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjCustomAttr):
(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjConditionalAttr4Constructor):
(WebCore::jsTestObjConditionalAttr5Constructor):
(WebCore::jsTestObjConditionalAttr6Constructor):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjAnyAttribute):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjStrawberry):
(WebCore::jsTestObjStrictFloat):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::jsTestObjReplaceableAttribute):
(WebCore::jsTestObjNullableDoubleAttribute):
(WebCore::jsTestObjNullableLongAttribute):
(WebCore::jsTestObjNullableBooleanAttribute):
(WebCore::jsTestObjNullableStringAttribute):
(WebCore::jsTestObjNullableLongSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjAttribute):
(WebCore::jsTestObjAttributeWithReservedEnumType):

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

(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfacePorts):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):

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

(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsAttrWithSetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithSetterException):

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

(WebCore::jsattributeReadonly):

LayoutTests:

Update tests to match required behavior.

  • js/dom/dom-as-prototype-assignment-exception-expected.txt:
  • js/dom/script-tests/dom-as-prototype-assignment-exception.js:
10:37 AM Changeset in webkit [163889] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Animation tests are flaky in Release on EWS, too.

  • platform/mac/TestExpectations: Removed [ Debug ] from several animation test

expectations.

10:25 AM Changeset in webkit [163888] by svillar@igalia.com
  • 18 edits in trunk

[CSS Grid Layout] Support calc() breadth size type
https://bugs.webkit.org/show_bug.cgi?id=103761

Reviewed by Dean Jackson.

Source/WebCore:

We now support using calc() in
-webkit-grid-template-{columns|rows}. This means that we now
match the specification and support all the possible ways to
specify the track breadths.

This includes a fix to CSSCalculationValue that was converting
Length values to CalcExpressionNumber and thus removing all the
info regarding length units (px, em, pt...). That's why things
like calc(10px + 20%) were shown as calc(10 + 20%) in
getComputedStyle() output.

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcPrimitiveValue::toCalcValue):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::zoomAdjustedPixelValueForLength):
(WebCore::specifiedValueForGridTrackBreadth):
(WebCore::specifiedValueForGridTrackSize):

  • css/StyleResolver.cpp:

(WebCore::createGridTrackBreadth):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfMinLength):
(WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
(WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):

LayoutTests:

Added some more tests for track breadths specified with calc().

  • fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
  • fast/css-grid-layout/grid-columns-rows-get-set.html:
  • fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.txt:
  • fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html:
  • fast/css-grid-layout/non-grid-columns-rows-get-set.html:
  • fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
  • fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
  • fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.js:
  • fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:
10:09 AM Changeset in webkit [163887] by mhahnenberg@apple.com
  • 5 edits in trunk/Source

32-bit LLInt writeBarrierOnGlobalObject is wrong
https://bugs.webkit.org/show_bug.cgi?id=128556

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm: Also fixed the value check on 64-bit.

Source/WTF:

  • wtf/Platform.h: Removed OBJECT_MARK_LOGGING from Platform.h since it already exists in FeatureDefines.h
10:00 AM Changeset in webkit [163886] by mitz@apple.com
  • 46 edits
    1 copy
    1 move
    2 adds
    1 delete in trunk/Source/WebKit2

Stop using PLATFORM(MAC) in WebKit2/Shared except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128582

Reviewed by Darin Adler.

  • Shared/API/c/WKContextMenuItem.cpp: Removed workaround for Mac Safari 6 compatibility.

(WKContextMenuItemGetTag):

  • Shared/API/c/WKDeprecatedFunctions.cpp: Added && !PLATFORM(IOS), because these functions

are not needed on iOS.

  • Shared/API/c/WKSharedAPICast.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::toAPI):
(WebKit::toImpl):

  • Shared/APIObject.h: Ditto.
  • Shared/ChildProcess.cpp: Ditto.
  • Shared/ChildProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA) around

setApplicationIsDaemon and setQOS. Changed it to USE(APPKIT) around stopNSAppRunLoop.

  • Shared/CommandLine.h: Changed PLATFORM(MAC) to OS(UNIX) around parse().
  • Shared/DictionaryPopupInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::DictionaryPopupInfo::encode):
(WebKit::DictionaryPopupInfo::decode):

  • Shared/DictionaryPopupInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • Shared/Downloads/Download.h: Ditto.
  • Shared/DrawingAreaInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • Shared/FontInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::FontInfo::encode):
(WebKit::FontInfo::decode):

  • Shared/FontInfo.h: Ditto.
  • Shared/LayerTreeContext.h: Ditto.
  • Shared/NativeWebKeyboardEvent.h: Changed PLATFORM(MAC) to USE(APPKIT) around

forward-declaration of NSView.

  • Shared/NativeWebMouseEvent.h: Ditto.
  • Shared/NativeWebWheelEvent.h: Ditto.
  • Shared/Network/CustomProtocols/Cocoa: Renamed from mac.
  • Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: Renamed from CustomProtocolManagerMac.mm.
  • Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerMac.mm: Removed.
  • Shared/Network/CustomProtocols/CustomProtocolManager.h: Changed PLATFORM(MAC) to

PLATFORM(COCOA).

  • Shared/Network/CustomProtocols/mac: Removed.
  • Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Removed.
  • Shared/PlatformPopupMenuData.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):

  • Shared/PlatformPopupMenuData.h: Ditto.
  • Shared/Plugins/Netscape/PluginInformation.cpp: Ditto.
  • Shared/Plugins/PluginModuleInfo.h: Ditto.
  • Shared/Plugins/PluginProcessCreationParameters.cpp: Ditto.

(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):

  • Shared/Plugins/PluginProcessCreationParameters.h: Ditto.
  • Shared/PrintInfo.h: Changed PLATFORM(MAC) to USE(APPKIT) around forward declaration of

NSPrintInfo.

  • Shared/SandboxInitializationParameters.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • Shared/TextCheckerState.h: Changed PLATFORM(MAC) to USE(APPKIT).
  • Shared/WebArchive.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • Shared/WebArchive.h: Ditto.
  • Shared/WebArchiveResource.cpp: Ditto.
  • Shared/WebArchiveResource.h: Ditto.
  • Shared/WebCoreArgumentCoders.cpp: Ditto.

(IPC::ArgumentCoder<ResourceResponse>::encode):
(IPC::ArgumentCoder<ResourceResponse>::decode):

  • Shared/WebCoreArgumentCoders.h: Ditto.
  • Shared/WebEvent.h: Ditto.
  • Shared/WebEventConversion.cpp: Ditto.

(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):

  • Shared/WebKit2Initialize.cpp: Ditto.

(WebKit::InitializeWebKit2):

  • Shared/WebPageCreationParameters.cpp: Ditto.

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h: Ditto.
  • Shared/WebPreferencesStore.h: Ditto.
  • Shared/WebProcessCreationParameters.cpp: Ditto.

(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h: Ditto.
  • Shared/WebWheelEvent.cpp: Ditto.

(WebKit::WebWheelEvent::WebWheelEvent):
(WebKit::WebWheelEvent::encode):
(WebKit::WebWheelEvent::decode):

  • Shared/cf/ArgumentCodersCF.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION).

(IPC::decode):

  • Shared/mac/CommandLineMac.cpp: Removed.
  • Shared/mac/PDFKitImports.h: Removed PLATFORM(MAC)
  • Shared/posix: Added.
  • Shared/posix/CommandLinePOSIX.cpp: Renamed from mac/CommandLineMac.cpp and removed

comment.

  • WebKit2.xcodeproj/project.pbxproj: Updated for moves and renames.
9:50 AM Changeset in webkit [163885] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

[WinCairo] Compile error related to toString function.
https://bugs.webkit.org/show_bug.cgi?id=128607

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-11
Reviewed by Brent Fulgham.

  • WebView.cpp:

(toString): Added another toString function to make sure we are not trying to use WTF::toString.

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

Merge r158058.

9:36 AM Changeset in webkit [163883] by ap@apple.com
  • 2 edits in trunk/Source/WebKit/mac

iOS build fix.

  • WebCoreSupport/WebChromeClient.mm: Fixed incorrectly nested ifdefs.
9:36 AM Changeset in webkit [163882] by Brent Fulgham
  • 11 edits in trunk/Source/WebCore

Correct some uses of 'auto'
https://bugs.webkit.org/show_bug.cgi?id=128578

Reviewed by Anders Carlsson.

Correct the following instances of "for (auto ...)" to use reference or
const references to avoid copies.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::elementsFromAttribute):

  • css/CSSGridTemplateValue.cpp:

(WebCore::stringForPosition):

  • dom/Node.cpp:

(WebCore::NodeListsNodeData::invalidateCaches):

  • inspector/PageInjectedScriptManager.cpp:

(WebCore::PageInjectedScriptManager::discardInjectedScriptsFor):

  • page/WheelEventDeltaTracker.cpp:

(WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):

  • platform/graphics/mac/WebLayer.mm:

(WebCore::drawLayerContents):

  • platform/ios/TileGrid.mm:

(WebCore::TileGrid::dropTilesBetweenRects):
(WebCore::TileGrid::dropDistantTiles):
(WebCore::TileGrid::dropInvalidTiles):

  • rendering/InlineTextBox.cpp:

(WebCore::translateIntersectionPointsToSkipInkBoundaries):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::restoreTo):

9:34 AM Changeset in webkit [163881] by rgabor@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

LLInt typo error after r139004.
https://bugs.webkit.org/show_bug.cgi?id=128592

Reviewed by Michael Saboff.

  • offlineasm/arm.rb: change immediate to register in the condition
9:33 AM Changeset in webkit [163880] by stavila@adobe.com
  • 1 edit
    6 adds in trunk/LayoutTests

[CSS Regions] clipping rectangle for "overflow: hidden" should be based on the padding box, not the content box
https://bugs.webkit.org/show_bug.cgi?id=119546

Reviewed by Anders Carlsson.

Added tests for the correct painting of region overflow over the region's padding.
This problem was solved by https://bugs.webkit.org/show_bug.cgi?id=118665 and
https://bugs.webkit.org/show_bug.cgi?id=128590.
Two writing modes (horiz-bt and vert-rl) are still not working properly and a separate
issue has been created for them (https://bugs.webkit.org/show_bug.cgi?id=128600).

  • fast/regions/clip-to-padding-box-expected.html: Added.
  • fast/regions/clip-to-padding-box-margins-expected.html: Added.
  • fast/regions/clip-to-padding-box-margins.html: Added.
  • fast/regions/clip-to-padding-box-vertical-lr-expected.html: Added.
  • fast/regions/clip-to-padding-box-vertical-lr.html: Added.
  • fast/regions/clip-to-padding-box.html: Added.
8:57 AM Changeset in webkit [163879] by fpizlo@apple.com
  • 3 edits
    3 adds in trunk

LICM should gracefully handle unprofiled code
https://bugs.webkit.org/show_bug.cgi?id=127848

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::run):

LayoutTests:

  • js/regress/script-tests/unprofiled-licm.js: Added.

(foo):

  • js/regress/unprofiled-licm-expected.txt: Added.
  • js/regress/unprofiled-licm.html: Added.
8:51 AM Changeset in webkit [163878] by hyatt@apple.com
  • 10 edits
    4 adds in trunk

[New Multicolumn] Make columns work with line grids
https://bugs.webkit.org/show_bug.cgi?id=128555

Reviewed by Antti Koivisto.

Added line-snap-into-columns.html and line-snap-inside-columns.html

Source/WebCore:

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/LayoutState.h:

(WebCore::LayoutState::pageOffset):
(WebCore::LayoutState::setLineGridPaginationOrigin):
Change the LayoutState to call into the renderer to compute the line
grid pagination origin instead of doing it directly. Added the
appropriate getters and setters to enable the renderer to do this.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeLineGridPaginationOrigin):

  • rendering/RenderBlock.h:

An implementation for the old multi-column code. The logic is the
same with tweaks made now that the method is on the renderer instead.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::pageLogicalTopForOffset):
Fix a bug with flow threads and pageLogicalTopForOffset. Normal CSS region-based
flow threads are never embedded in an enclosing pagination context, so they
didn't add in the firstPageLogicalTop (or subtract it when computing the region
hit). Multi-column flow threads do need to subtract out the firstPageLogicalTop,
since it can occur somewhere on the page.

Ultimately regions will need to get smarter here too if they want to work with
line grids, but for now I just fixed multi-column.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::isUnsplittableForPagination):
Undo this change, since it prevents the inheritance of line grids into the
multi-column layout.

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::computeLineGridPaginationOrigin):

  • rendering/RenderMultiColumnFlowThread.h:

An implementation for the new multi-column code. The logic is the
same as the old code. Code duplication is ok, since the old multi-column method
in RenderBlock will just be deleted once the new code is turned on, and it's easier
not to intertwine them.

LayoutTests:

  • fast/multicol/newmulticol/line-grid-inside-columns-expected.html: Added.
  • fast/multicol/newmulticol/line-grid-inside-columns.html: Added.
  • fast/multicol/newmulticol/line-grid-into-columns-expected.html: Added.
  • fast/multicol/newmulticol/line-grid-into-columns.html: Added.
8:27 AM Changeset in webkit [163877] by beidson@apple.com
  • 4 edits in trunk

IDB: storage/indexeddb/mozilla/cursor-update-updates-indexes.html ASSERTs
<rdar://problem/16034112> and https://bugs.webkit.org/show_bug.cgi?id=128581

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::getRecordFromBackingStore): Always store keyPath for Index get results.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Add the test to the enabled list.
8:27 AM Changeset in webkit [163876] by mhahnenberg@apple.com
  • 5 edits
    2 adds in trunk/Source/JavaScriptCore

Obj-C API: JSExport doesn't work for methods that contain protocols in their type signature
https://bugs.webkit.org/show_bug.cgi?id=128540

Reviewed by Oliver Hunt.

The bug is in parseObjCType in ObjcRuntimeExtras.h. When we see an '@' in the
type signature of a method, we assume that what follows the '@' is a class name,
so we call objc_getClass, and if that returns nil then we give up on the method
and don't export it.

This assumption doesn't work in the case of id<Protocol> because it's the name
of the protocol that follows the '@', not the name of a class. We should have
another fallback case for protocol names.

There's another case that also doesn't work, and that's the case of a named class
with a specified prototype in a method signature (e.g. NSObject<MyProtocol>).
There the substring of the type signature that represents the class is "NSObject<MyProtocol>",
which will also cause objc_getClass to return nil.

  • API/ObjcRuntimeExtras.h:

(parseObjCType):

  • API/tests/DateTests.mm: Also fixed an issue I noticed where we don't use an autorelease pool

for the DateTests.

  • API/tests/JSExportTests.h: Added.
  • API/tests/JSExportTests.mm: Added.

(-[TruthTeller returnTrue]):
(-[ExportMethodWithIdProtocol methodWithIdProtocol:]):
(-[ExportMethodWithClassProtocol methodWithClassProtocol:]):
(+[JSExportTests exportInstanceMethodWithIdProtocolTest]):
(+[JSExportTests exportInstanceMethodWithClassProtocolTest]):
(runJSExportTests):

8:14 AM Changeset in webkit [163875] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit2

O_CLOEXEC in shm_open does not work on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128572

Reviewed by Darin Adler.

The O_CLOEXEC is not supported by shm_open() and is also not
necessary since FD_CLOEXEC is already set by default when the new
file descriptor is created.

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::create):

8:12 AM Changeset in webkit [163874] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

[WinCairo] Compile error, deleted file in WTF.
https://bugs.webkit.org/show_bug.cgi?id=128601

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-11
Reviewed by Csaba Osztrogonác.

  • WTF.vcxproj/WTF.vcxproj: Removed reference to deleted file.
  • WTF.vcxproj/WTF.vcxproj.filters: Ditto.
8:12 AM Changeset in webkit [163873] by stavila@adobe.com
  • 5 edits
    2 adds in trunk

[CSS Regions] Overflow above the first region is not properly painted for regions with padding
https://bugs.webkit.org/show_bug.cgi?id=128590

Reviewed by Andrei Bucur.

Source/WebCore:

Painting is done using the layer of the region's container, so offsetting using the content box
of the region itself is incorrect.

Test: fast/regions/region-padding-overflow-hidden.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::regionContainer):
(WebCore::RenderRegion::regionContainerLayer):

  • rendering/RenderRegion.h:

LayoutTests:

Added test for the correct painting of overflow above the first region
when the region has padding.

  • fast/regions/region-padding-overflow-hidden-expected.html: Added.
  • fast/regions/region-padding-overflow-hidden.html: Added.
6:30 AM WebKitGTK/2.2.x edited by berto@igalia.com
(diff)
3:10 AM WebKitGTK/2.4.x edited by Philippe Normand
(diff)
2:21 AM Changeset in webkit [163872] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

querySelector() does not use the compiler correctly
https://bugs.webkit.org/show_bug.cgi?id=128588

Reviewed by Andreas Kling.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::execute):
I messed up the refactoring when I landed SelectorQuery. The compiled
code was not used the first time through SelectorDataList::execute.

2:09 AM Changeset in webkit [163871] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

[GStreamer] High playback rate causes crash
https://bugs.webkit.org/show_bug.cgi?id=128453

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-11
Reviewed by Philippe Normand.

Source/WebCore:

To high playback rate passed to GStreamer was causing crash.
Added guard in setRate method.

Test: media/video-extreme-playbackrate-crash.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setRate):

LayoutTests:

Test checks if passing high playback rate causes crash.

  • media/video-extreme-playbackrate-crash-expected.txt: Added.
  • media/video-extreme-playbackrate-crash.html: Added.
12:37 AM Changeset in webkit [163870] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix /webkit2/WebKitWebExtension/isolated-world after r163797.

Use a global variable for the script result.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:

(scriptDialogCallback):
(testWebExtensionIsolatedWorld):

12:32 AM Changeset in webkit [163869] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Skip IndexedDB tests again, they are failing.

  • platform/mac-wk2/TestExpectations:
12:30 AM Changeset in webkit [163868] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add hooks for wrapping CryptoKeys in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128567

  • platform/mac/TestExpectations: Forgot to include this in the patch, skipping a

worker test that no longer works.

Feb 10, 2014:

11:48 PM Changeset in webkit [163867] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r163799 - [GTK] Create the inspector view using the same web process as the inspected page
https://bugs.webkit.org/show_bug.cgi?id=128539

Reviewed by Martin Robinson.

  • UIProcess/API/C/gtk/WKView.cpp:

(WKViewCreate): Pass nullptr as the related page.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreate): Add related page argument and pass it
to webkitWebViewBaseCreateWebPage() instead of nullptr.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage): Pass
m_page as related page to webkitWebViewBaseCreate().

11:48 PM Changeset in webkit [163866] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed, rolling out r163856.
http://trac.webkit.org/changeset/163856
https://bugs.webkit.org/show_bug.cgi?id=128585

The build fix depends on r163848, which has been reverted
(Requested by notbenjamin on #webkit).

  • UIProcess/ios/TextCheckerIOS.mm:

(WebKit::TextChecker::checkTextOfParagraph):
(WebKit::TextChecker::checkSpellingOfString):
(WebKit::TextChecker::checkGrammarOfString):

11:42 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
11:35 PM Changeset in webkit [163865] by Carlos Garcia Campos
  • 65 edits
    4 deletes in releases/WebKitGTK/webkit-2.4

Merge r163797 - [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
https://bugs.webkit.org/show_bug.cgi?id=127554

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Use GUniqueOutPtr instead of GOwnPtr.

  • GNUmakefile.list.am:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:

(WebCore::AudioDestinationGStreamer::handleMessage):

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::handleMessage):

  • platform/glib/BatteryProviderUPower.cpp:

(BatteryProviderUPower::startUpdating):

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::initializeGStreamer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::getTag):

  • platform/graphics/gtk/ImageBufferGtk.cpp:

(WebCore::encodeImage):
(WebCore::ImageBuffer::toDataURL):

  • platform/graphics/gtk/ImageGtk.cpp:

(WebCore::loadResourceSharedBuffer):

  • platform/gtk/DataObjectGtk.cpp:

(WebCore::DataObjectGtk::setURIList):

  • platform/gtk/FileSystemGtk.cpp:

(WebCore::readFromFile):

  • platform/gtk/GamepadsGtk.cpp:

(WebCore::GamepadDeviceGtk::readCallback):

  • platform/gtk/GtkInputMethodFilter.cpp:

(WebCore::GtkInputMethodFilter::handlePreeditChanged):

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::PasteboardHelper::fillDataObjectFromDropData):

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::systemFont):

  • platform/gtk/SharedBufferGtk.cpp:

(WebCore::SharedBuffer::createWithContentsOfFile):

  • platform/network/gtk/CredentialBackingStore.cpp:

(WebCore::credentialForChallengeAsyncReadyCallback):

  • platform/network/soup/GOwnPtrSoup.cpp: Removed.
  • platform/network/soup/GOwnPtrSoup.h: Removed.
  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::redirectSkipCallback):
(WebCore::nextMultipartResponsePartCallback):
(WebCore::sendRequestCallback):
(WebCore::addFileToSoupMessageBody):
(WebCore::createSoupRequestAndMessageForHandle):
(WebCore::readCallback):

  • platform/network/soup/SocketStreamHandleSoup.cpp:

(WebCore::SocketStreamHandle::platformSend):
(WebCore::SocketStreamHandle::platformClose):
(WebCore::connectedCallback):
(WebCore::readReadyCallback):

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::httpProxy):

Source/WebKit/gtk:

Use GUniqueOutPtr instead of GOwnPtr.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::dispatchDidFailLoad):

  • WebCoreSupport/TextCheckerClientGtk.cpp:
  • webkit/webkitdownload.cpp:

(webkit_download_open_stream_for_uri):
(webkit_download_set_destination_uri):
(webkit_download_received_data):

  • webkit/webkitwebplugin.cpp:

(webkit_web_plugin_get_path):

  • webkit/webkitwebview.cpp:

(webkit_web_view_expose_event):

Source/WebKit2:

Use GUniqueOutPtr instead of GOwnPtr.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::getCacheDiskFreeSize):

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::didReceiveResponse):
(WebKit::DownloadClient::didReceiveData):
(WebKit::DownloadClient::didFinishLoading):

  • UIProcess/API/gtk/WebKitFaviconDatabase.cpp:

(processPendingIconsForPageURL):
(webkit_favicon_database_get_favicon):

  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestReadCallback):

  • UIProcess/API/gtk/WebKitWebView.cpp:

(gotFaviconCallback):

  • UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:

(WebKit::WebInspectorServer::platformResourceForPath):

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:

(WebKit::PluginProcessProxy::scanPlugin):

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::getCacheDiskFreeSize):

Source/WTF:

GUniqueOutPtr is a simplified version of GOwnPtr for the cases
where we need the address of the contained pointer. GUniqueOutPtr
uses GUniquePtr to free the contained object and to release the
container pointer. The API is very simple to make sure this is
only used when outPtr() is needed. It can't be constructed with a
pointer, and there's not method to set a new pointer. Another
difference with the old GOwnPtr is that outPtr() can be used
multiple times, because it frees any pointer previously set.

  • GNUmakefile.list.am:
  • wtf/PlatformEfl.cmake:
  • wtf/PlatformGTK.cmake:
  • wtf/gobject/GOwnPtr.cpp: Removed.
  • wtf/gobject/GOwnPtr.h: Removed.
  • wtf/gobject/GUniquePtr.h:

(WTF::GUniqueOutPtr::GUniqueOutPtr):
(WTF::GUniqueOutPtr::~GUniqueOutPtr):
(WTF::GUniqueOutPtr::outPtr):
(WTF::GUniqueOutPtr::reset):
(WTF::GUniqueOutPtr::release):
(WTF::GUniqueOutPtr::operator*):
(WTF::GUniqueOutPtr::operator->):
(WTF::GUniqueOutPtr::get):
(WTF::GUniqueOutPtr::operator!):
(WTF::GUniqueOutPtr::operator UnspecifiedBoolType):

Tools:

Use GUniqueOutPtr instead of GOwnPtr.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:
  • DumpRenderTree/gtk/EventSender.cpp:

(createKeyPressEvent):

  • TestWebKitAPI/Tests/WTF/gobject/GUniquePtr.cpp:

(TestWebKitAPI::returnOutChar):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:

(testInspectorServerPageList):
(openRemoteDebuggingSession):
(sendIncompleteRequest):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:

(testWebExtensionWindowObjectCleared):
(testWebExtensionIsolatedWorld):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewRunJavaScript):
(testWebViewSave):
(testWebViewPageVisibility):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp:

(isStyleSheetInjectedForURLAtPath):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp:
  • TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp:

(TestWebKitAPI::TestInputMethodFilter::sendKeyEventToFilter):

  • TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:

(TestWebKitAPI::doKeyStroke):

  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:
  • TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.cpp:

(WebKitTestBus::run):

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(resourceGetDataCallback):
(WebViewTest::keyStroke):
(onSnapshotReady):

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::EventSenderProxy::keyDown):

10:37 PM Changeset in webkit [163864] by beidson@apple.com
  • 4 edits in trunk

IndexedDB assertion at IDBTransactionBackend::~IDBTransactionBackend()
https://bugs.webkit.org/show_bug.cgi?id=128341

Reviewed by Maciej Stachowiak.

Source/WebCore:

  • Modules/indexeddb/IDBTransactionBackend.cpp:

(WebCore::IDBTransactionBackend::~IDBTransactionBackend): "Finished" is not the only

valid value here - In WK2, "Unused" is also valid. Update the ASSERT.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Reenable the indexeddb tests that are known to pass.
10:32 PM Changeset in webkit [163863] by ap@apple.com
  • 17 edits in trunk/Source

Add hooks for wrapping CryptoKeys in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128567

Reviewed by Anders Carlsson.

Source/WebCore:

  • bindings/js/SerializedScriptValue.cpp: Changed SerializedScriptValue to serialize

wrapped keys. Added a version number to crypto key serialization.

  • dom/Document.cpp:

(WebCore::Document::wrapCryptoKey):
(WebCore::Document::unwrapCryptoKey):

  • dom/Document.h:
  • dom/ScriptExecutionContext.h:
  • page/ChromeClient.h:

(WebCore::ChromeClient::wrapCryptoKey):
(WebCore::ChromeClient::unwrapCryptoKey):
Hand wrapping/unwrapping over to client code.

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::wrapCryptoKey):
(WebCore::WorkerGlobalScope::unwrapCryptoKey):

  • workers/WorkerGlobalScope.h:

Not implemented in workers. SubtleCrypto is currently not exposed in workers. It used
to be possible in WebKit implementation to post a CryptoKey to a worker anyway,
but this doesn't work any more.

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):
Dummy implementation, to be filled in later.

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::wrapCryptoKey):
(WebKit::WebChromeClient::unwrapCryptoKey):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

Dummy implementation, to be filled in later.

10:21 PM Changeset in webkit [163862] by mitz@apple.com
  • 7 edits
    2 moves
    2 adds in trunk/Source/WebKit2

Stop using PLATFORM(MAC) in WebKit2/platform except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128513

Reviewed by Dean Jackson.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::waitForSyncReply): Changed PLATFORM(MAC) to PLATFORM(COCOA) around use of
RunLoop::runForDuration, matching the guard around that function.

  • Platform/Logging.cpp: Deleted unused definition of logLevelString.
  • Platform/Module.cpp:

(WebKit::Module::Module): Changed PLATFORM(MAC) to USE(CF).

  • Platform/Module.h: Changed PLATFORM(MAC) to USE(CF), since the “Mac” implementation is

just a CFBundle-based implementation.

  • Platform/PlatformProcessIdentifier.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). Arguably

this should be OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK).

  • Platform/cf: Added.
  • Platform/cf/ModuleCF.cpp: Renamed from Platform/mac/ModuleMac.mm. This file did not

contain any Objective-C code.

  • Platform/foundation: Added.
  • Platform/foundation/LoggingFoundation.mm: Renamed from Platform/mac/Logging.mac.mm.
  • Platform/mac/Logging.mac.mm: Removed.
  • Platform/mac/ModuleMac.mm: Removed.
  • WebKit2.xcodeproj/project.pbxproj: Updated for renames.
10:20 PM Changeset in webkit [163861] by ap@apple.com
  • 2 edits in trunk/LayoutTests

svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html and svg/css/font-face-crash.html
frequently assert in ComplexTextController::offsetForPosition
https://bugs.webkit.org/show_bug.cgi?id=119747

  • platform/mac/TestExpectations: Skipped the latter test in debug builds.
10:17 PM Changeset in webkit [163860] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

Unreviewed, rolling out r163848.
http://trac.webkit.org/changeset/163848
https://bugs.webkit.org/show_bug.cgi?id=128580

Caused a lot of crashes on tests (Requested by ap on #webkit).

  • Shared/APIString.h:
  • UIProcess/TextChecker.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::checkTextOfParagraph):
(WebKit::WebPageProxy::checkSpellingOfString):
(WebKit::WebPageProxy::checkGrammarOfString):

  • UIProcess/mac/TextCheckerMac.mm:

(WebKit::TextChecker::checkTextOfParagraph):
(WebKit::TextChecker::checkSpellingOfString):
(WebKit::TextChecker::checkGrammarOfString):

9:43 PM Changeset in webkit [163859] by msaboff@apple.com
  • 5 edits in trunk/Source

Re-enable ARM Thumb2 disassembler
https://bugs.webkit.org/show_bug.cgi?id=128577

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Changed signature of tryToDisassemble() to match updates.
Fixed typo in disassembler.

  • disassembler/ARMv7/ARMv7DOpcode.cpp:
  • disassembler/ARMv7Disassembler.cpp:

(JSC::tryToDisassemble):

Source/WTF:

Added definition of WTF_USE_ARMV7_DISASSEMBLER back to Platform.h

  • wtf/Platform.h:
9:24 PM Changeset in webkit [163858] by ChangSeok Oh
  • 6 edits in trunk/Source/WebCore

Support ANGLE_instanced_arrays for linux
https://bugs.webkit.org/show_bug.cgi?id=127465

Reviewed by Martin Robinson.

Support the instanced drawing WebGL extension, ANGLE_instanced_arrays for linux platform.
This is a following patch for r162565. Relevant opengl APIs are exposed
for WebGLRenderingContext to access them.

Covered by fast/canvas/webgl/angle-instanced-arrays.html

  • html/canvas/ANGLEInstancedArrays.cpp:

(WebCore::ANGLEInstancedArrays::supported):

  • platform/graphics/OpenGLShims.cpp:

(WebCore::initializeOpenGLShims):

  • platform/graphics/OpenGLShims.h:
  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::supportsExtension):

  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::drawArraysInstanced):
(WebCore::GraphicsContext3D::drawElementsInstanced):
(WebCore::GraphicsContext3D::vertexAttribDivisor):

9:17 PM Changeset in webkit [163857] by beidson@apple.com
  • 4 edits in trunk

IDB: storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html fails
<rdar://problem/16033286> and https://bugs.webkit.org/show_bug.cgi?id=128574

Reviewed by Maciej Stachowiak.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::getRecordFromBackingStore): If there is no value in an object-store get,

don’t return *any* results.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Add the test (still skipped for now due to unrelated reasons).
9:09 PM Changeset in webkit [163856] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix the iOS build after r163848

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-10

  • UIProcess/ios/TextCheckerIOS.mm:

(WebKit::TextChecker::checkTextOfParagraph):
(WebKit::TextChecker::checkSpellingOfString):
(WebKit::TextChecker::checkGrammarOfString):

8:48 PM Changeset in webkit [163855] by mark.lam@apple.com
  • 6 edits in trunk/Source

Source/JavaScriptCore: Removing limitation on JSLock's lockDropDepth.
<https://webkit.org/b/128570>

Reviewed by Geoffrey Garen.

Now that we've switched to using the C stack, we no longer need to limit
the JSLock::lockDropDepth to 2.

For C loop builds which still use the separate JSStack, the JSLock will
enforce ordering for re-grabbing the lock after dropping it. Re-grabbing
must occur in the reverse order of the dropping of the locks.

Ordering is achieved by JSLock::dropAllLocks() stashing away the
JSLock:: m_lockDropDepth in its DropAllLocks instance's m_dropDepth
before unlocking the lock. Subsequently, JSLock::grabAllLocks() will
ensure that JSLocks::m_lockDropDepth equals its DropAllLocks instance's
m_dropDepth before allowing the lock to be re-grabbed. Otherwise, it
will yield execution and retry again later.

Note: because JSLocks::m_lockDropDepth is protected by the JSLock's
mutex, grabAllLocks() will optimistically lock the JSLock before doing
the check on m_lockDropDepth. If the check fails, it will unlock the
JSLock, yield, and then relock it again later before retrying the check.
This ensures that m_lockDropDepth remains under the protection of the
JSLock's mutex.

  • runtime/JSLock.cpp:

(JSC::JSLock::dropAllLocks):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • runtime/JSLock.h:

(JSC::JSLock::DropAllLocks::setDropDepth):
(JSC::JSLock::DropAllLocks::dropDepth):

Source/WebCore: Removing limitation on JSLock’s lockDropDepth.
<https://webkit.org/b/128570>

Reviewed by Geoffrey Garen.

No new tests.

  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::runEventLoopWhilePaused):

  • platform/ios/wak/WebCoreThread.mm:

(SendDelegateMessage):
(WebThreadRunOnMainThread):

  • No longer need to specify AlwaysDropLocks, because DropAllLocks is now always unconditional.
6:47 PM Changeset in webkit [163854] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Clean up MarkupAccumulator::appendCharactersReplacingEntities
https://bugs.webkit.org/show_bug.cgi?id=128440

Reviewed by Ryosuke Niwa.

Some cleanup:
-Remove the copied code for the loops. Instead, use a template with the loop

parametrized by the characters type.

-Move EntityDescription from the header to the implementation.
-Make the 5 substitution strings compile-time literals. Replacement is not hot enough

to justify the static here.

  • editing/MarkupAccumulator.cpp:

(WebCore::appendCharactersReplacingEntitiesInternal):
(WebCore::MarkupAccumulator::appendCharactersReplacingEntities):

  • editing/MarkupAccumulator.h:
6:46 PM Changeset in webkit [163853] by benjamin@webkit.org
  • 11 edits
    1 add in trunk/Source/WebCore

Add a few pseudo type to the selector compiler through function calls
https://bugs.webkit.org/show_bug.cgi?id=128514

Reviewed by Dean Jackson.

Certain pseudo type checkers rely on virtual function calls. Since those types
are uncommon, and this code generator cannot currently make virtual function calls,
the checker are added by generating a function call to a wrapper function.

To avoid code duplication between SelectorChecker and the compiler, all the relevant checking
code has been moved to a common header, SelectorCheckerTestFunctions.h.
SelectorChecker still inline the functions, while the SelectorCompiler generate local static functions
and generate calls to them as needed.

  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h: Added.

(WebCore::isAutofilled):
(WebCore::isDefaultButtonForForm):
(WebCore::isDisabled):
(WebCore::isEnabled):
(WebCore::isChecked):
(WebCore::isInvalid):
(WebCore::isOptionalFormControl):
(WebCore::isRequiredFormControl):
(WebCore::isValid):
(WebCore::matchesReadOnlyPseudoClass):
(WebCore::matchesReadWritePseudoClass):
(WebCore::shouldAppearIndeterminate):
(WebCore::matchesFullScreenPseudoClass):
(WebCore::matchesFutureCuePseudoClass):
(WebCore::matchesPastCuePseudoClass):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoType):
(WebCore::SelectorCompiler::nonConstTestFunctionWrapper):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementFunctionCallTest):

  • dom/Element.h:

(WebCore::Element::isValidFormControlElement):

  • dom/Node.h:

(WebCore::Node::toInputElement):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::isValidFormControlElement):

  • html/HTMLFormControlElement.h:
6:45 PM Changeset in webkit [163852] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Make it possible to run tests with --llvmSimpleOpt=false
https://bugs.webkit.org/show_bug.cgi?id=128571

Reviewed by Mark Lam.

This also makes it so all run functions for the FTL are safe to call with FTL disabled,
because they do their own $enableFTL check.

  • Scripts/run-jsc-stress-tests:
6:41 PM Changeset in webkit [163851] by fpizlo@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

FTL should support ToThis
https://bugs.webkit.org/show_bug.cgi?id=127751

Reviewed by Oliver Hunt.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileToThis):

  • tests/stress/to-this-polymorphic.js: Added.

(foo):

6:41 PM Changeset in webkit [163850] by benjamin@webkit.org
  • 13 edits
    8 adds in trunk

Add the basic infrastructure to compile attributes matching in selectors
https://bugs.webkit.org/show_bug.cgi?id=128484

Reviewed by Gavin Barraclough.

Source/WebCore:

Tests: fast/selectors/querySelector-attribute-match-with-child-backtracking.html

fast/selectors/querySelector-long-attribute-match-with-child-backtracking.html
fast/selectors/querySelector-long-multiple-attribute-match-with-child-backtracking.html
fast/selectors/querySelector-multiple-attribute-match-with-child-backtracking.html

Add the infrastructure to match attributes. This only add basic support for the 'Set' match
type, the other match types will have to be built on top.

  • cssjit/RegisterAllocator.h:

(WebCore::RegisterAllocator::availableRegisterCount):
(WebCore::RegisterAllocator::allocateRegister):
(WebCore::RegisterAllocator::deallocateRegister):
(WebCore::RegisterAllocator::reserveCalleeSavedRegisters):
(WebCore::RegisterAllocator::restoreCalleeSavedRegisters):
(WebCore::RegisterAllocator::allocatedRegisters):
(WebCore::RegisterAllocator::RegisterAllocator):
(WebCore::RegisterAllocator::~RegisterAllocator):
In the worst case, matching attributes can take up to 10 registers. On x86_64, we have
8 caller-saved registers. The extra 2 registers are simply added by taking callee-saved registers.

RegisterAllocator is modified to know support saving and restoring callee saved registers.
The list of available registers is changed from a vector to a HashSet because the registers
are removed from arbitrary locations in restoreCalleeSavedRegisters(). The m_allocatedRegisters
remain a vector since the allocation/release pattern remain ordered.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):

(WebCore::SelectorCompiler::minimumRegisterRequirements):
This new utility finds the minimum number of registers needed to compile the input. In most
cases we have plenty enough. In rare cases we need to saved a few registers to the stack.

(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
(WebCore::SelectorCompiler::testIsHTMLFlagOnNode):
(WebCore::SelectorCompiler::canMatchStyleAttribute):

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeStyleAttribute):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeAllAnimatedSVGAttribute):
The style attribute and certain SVG attributes can be modified lazily. In those cases,
the element needs to be updated before querying the attributes.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributesMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeMatching):
Generate the attribute matching. For each CSSSelector matching an attribute, we generate
a loop over all the attributes of the element, maching the particular CSSSelector.
This makes no attempt at grouping related queries since those do not seem to happen a lot
in practice.

  • dom/Attribute.h:

(WebCore::Attribute::nameMemoryOffset):
(WebCore::Attribute::nameMatchesFilter):
(WebCore::Attribute::matches):

  • dom/ElementData.h:

(WebCore::ElementData::isUniqueFlag):
(WebCore::ElementData::arraySizeAndFlagsMemoryOffset):
(WebCore::ElementData::styleAttributeIsDirtyFlag):
(WebCore::ElementData::animatedSVGAttributesAreDirtyFlag):
(WebCore::ElementData::arraySizeOffset):
(WebCore::ShareableElementData::attributeArrayMemoryOffset):
(WebCore::UniqueElementData::attributeVectorMemoryOffset):

  • dom/Node.h:

(WebCore::Node::flagIsHTML):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::synchronizeStyleAttributeInternal):

  • dom/StyledElement.h:

(WebCore::StyledElement::synchronizeStyleAttributeInternal):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::synchronizeAllAnimatedSVGAttribute):
(WebCore::SVGElement::synchronizeAnimatedSVGAttribute):

  • svg/SVGElement.h:

Source/WTF:

  • wtf/Vector.h:

(WTF::VectorBufferBase::bufferMemoryOffset):
(WTF::Vector::sizeMemoryOffset):
(WTF::Vector::dataMemoryOffset):
Expose the memory offsets of Vector::size() and the memory buffer pointer for the JIT.

LayoutTests:

Tests the various cases requiring more register than what is available from the caller-saved pool.

  • fast/selectors/querySelector-attribute-match-with-child-backtracking-expected.txt: Added.
  • fast/selectors/querySelector-attribute-match-with-child-backtracking.html: Added.
  • fast/selectors/querySelector-long-attribute-match-with-child-backtracking-expected.txt: Added.
  • fast/selectors/querySelector-long-attribute-match-with-child-backtracking.html: Added.
  • fast/selectors/querySelector-long-multiple-attribute-match-with-child-backtracking-expected.txt: Added.
  • fast/selectors/querySelector-long-multiple-attribute-match-with-child-backtracking.html: Added.
  • fast/selectors/querySelector-multiple-attribute-match-with-child-backtracking-expected.txt: Added.
  • fast/selectors/querySelector-multiple-attribute-match-with-child-backtracking.html: Added.
6:29 PM Changeset in webkit [163849] by beidson@apple.com
  • 11 edits in trunk

IDB: storage/indexeddb/mozilla/indexes.html fails
<rdar://problem/16031590> and https://bugs.webkit.org/show_bug.cgi?id=128563

Reviewed by Tim Horton.

Source/WebCore:

Tested by storage/indexeddb/mozilla/indexes.html (and probably others)

  • Modules/indexeddb/IDBGetResult.h:

(WebCore::IDBGetResult::IDBGetResult): Add a constructor that takes an IDBKeyData argument.

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::onSuccess): If there’s no keyPath then skip the injection step.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::getRecordFromBackingStore): Pass the cursor type to the backing store.

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): If it’s a key-only cursor,

return only the key result.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::getIndexStatement): Fix index statement selection so ascending, unique cursors sort correctly.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Add the test (still skipped for now due to unrelated reasons).
6:12 PM Changeset in webkit [163848] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Remove a couple of deprecatedCharacters() from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=128569

Reviewed by Andreas Kling.

  • Shared/APIString.h:
  • UIProcess/TextChecker.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::checkTextOfParagraph):
(WebKit::WebPageProxy::checkSpellingOfString):
(WebKit::WebPageProxy::checkGrammarOfString):

  • UIProcess/mac/TextCheckerMac.mm:

(WebKit::TextChecker::checkTextOfParagraph):
(WebKit::TextChecker::checkSpellingOfString):
(WebKit::TextChecker::checkGrammarOfString):

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

Speed up DatasetDOMStringMap::item() when the element has multiple attributes
https://bugs.webkit.org/show_bug.cgi?id=128058

Reviewed by Darin Adler.

Accessing data attributes by name through DatasetDOMStringMap involes the conversion
from JavaScript property name to attribute name (done with propertyNameMatchesAttributeName()).

When there is a single data attribute, that method is efficient. When there are several attributes,
comparing names character by character becomes a bottleneck.

This patch add an efficent path for this case: instead of converting the attribute name on the fly,
the JavaScript property name is converted to an attribute name so that it can compared by its
AtomicStringImpl pointer.

This method puts a lot more pressure on convertPropertyNameToAttributeName()'s speed. The method was
improved accordingly to compensate for its new caller.

When enumerating multiple attributes by name, this patch provides about 80% speedup.
I could not measure any slow down on the simple cases.

  • dom/DatasetDOMStringMap.cpp:

(WebCore::convertPropertyNameToAttributeName):
(WebCore::DatasetDOMStringMap::item):

  • dom/ElementData.h:

(WebCore::AttributeIteratorAccessor::attributeCount):

5:56 PM Changeset in webkit [163846] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Address the review comments for r163825.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
(WebCore::positionForIndex):

5:46 PM Changeset in webkit [163845] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Try to fix the 32-bit build.

  • WebCore.exp.in:
5:45 PM Changeset in webkit [163844] by fpizlo@apple.com
  • 388 edits
    1 copy
    1 add in trunk/Source

Rename Operations.h to JSCInlines.h
https://bugs.webkit.org/show_bug.cgi?id=128543

Source/JavaScriptCore:

Rubber stamped by Geoffrey Garen.

Well, what this actually does is it splits Operations.h into a real Operations.h that
actually contains "operations", and JSCInlines.h, which serves the role of being an
inlines umbrella.

  • API/JSBase.cpp:
  • API/JSCTestRunnerUtils.cpp:
  • API/JSCallbackConstructor.cpp:
  • API/JSCallbackFunction.cpp:
  • API/JSCallbackObject.cpp:
  • API/JSClassRef.cpp:
  • API/JSContext.mm:
  • API/JSContextRef.cpp:
  • API/JSManagedValue.mm:
  • API/JSObjectRef.cpp:
  • API/JSScriptRef.cpp:
  • API/JSValue.mm:
  • API/JSValueRef.cpp:
  • API/JSWeakObjectMapRefPrivate.cpp:
  • API/JSWrapperMap.mm:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/LinkBuffer.cpp:
  • bindings/ScriptFunctionCall.cpp:
  • bindings/ScriptObject.cpp:
  • bytecode/ArrayAllocationProfile.cpp:
  • bytecode/ArrayProfile.cpp:
  • bytecode/BytecodeBasicBlock.cpp:
  • bytecode/CallLinkInfo.cpp:
  • bytecode/CallLinkStatus.cpp:
  • bytecode/CodeBlock.cpp:
  • bytecode/CodeBlockJettisoningWatchpoint.cpp:
  • bytecode/CodeOrigin.cpp:
  • bytecode/ExecutionCounter.cpp:
  • bytecode/GetByIdStatus.cpp:
  • bytecode/LazyOperandValueProfile.cpp:
  • bytecode/MethodOfGettingAValueProfile.cpp:
  • bytecode/PreciseJumpTargets.cpp:
  • bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp:
  • bytecode/PutByIdStatus.cpp:
  • bytecode/SamplingTool.cpp:
  • bytecode/SpecialPointer.cpp:
  • bytecode/SpeculatedType.cpp:
  • bytecode/StructureStubClearingWatchpoint.cpp:
  • bytecode/UnlinkedCodeBlock.cpp:
  • bytecode/ValueRecovery.cpp:
  • bytecompiler/BytecodeGenerator.cpp:
  • bytecompiler/NodesCodegen.cpp:
  • debugger/Debugger.cpp:
  • debugger/DebuggerActivation.cpp:
  • debugger/DebuggerCallFrame.cpp:
  • dfg/DFGAbstractHeap.cpp:
  • dfg/DFGAbstractValue.cpp:
  • dfg/DFGArgumentsSimplificationPhase.cpp:
  • dfg/DFGArithMode.cpp:
  • dfg/DFGArrayMode.cpp:
  • dfg/DFGAtTailAbstractState.cpp:
  • dfg/DFGAvailability.cpp:
  • dfg/DFGBackwardsPropagationPhase.cpp:
  • dfg/DFGBasicBlock.cpp:
  • dfg/DFGBinarySwitch.cpp:
  • dfg/DFGBlockInsertionSet.cpp:
  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGCFAPhase.cpp:
  • dfg/DFGCFGSimplificationPhase.cpp:
  • dfg/DFGCPSRethreadingPhase.cpp:
  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGCapabilities.cpp:
  • dfg/DFGClobberSet.cpp:
  • dfg/DFGClobberize.cpp:
  • dfg/DFGCommon.cpp:
  • dfg/DFGCommonData.cpp:
  • dfg/DFGCompilationKey.cpp:
  • dfg/DFGCompilationMode.cpp:
  • dfg/DFGConstantFoldingPhase.cpp:
  • dfg/DFGCriticalEdgeBreakingPhase.cpp:
  • dfg/DFGDCEPhase.cpp:
  • dfg/DFGDesiredIdentifiers.cpp:
  • dfg/DFGDesiredStructureChains.cpp:
  • dfg/DFGDesiredTransitions.cpp:
  • dfg/DFGDesiredWatchpoints.cpp:
  • dfg/DFGDesiredWeakReferences.cpp:
  • dfg/DFGDesiredWriteBarriers.cpp:
  • dfg/DFGDisassembler.cpp:
  • dfg/DFGDominators.cpp:
  • dfg/DFGDriver.cpp:
  • dfg/DFGEdge.cpp:
  • dfg/DFGFailedFinalizer.cpp:
  • dfg/DFGFinalizer.cpp:
  • dfg/DFGFixupPhase.cpp:
  • dfg/DFGFlushFormat.cpp:
  • dfg/DFGFlushLivenessAnalysisPhase.cpp:
  • dfg/DFGFlushedAt.cpp:
  • dfg/DFGGraph.cpp:
  • dfg/DFGGraphSafepoint.cpp:
  • dfg/DFGInPlaceAbstractState.cpp:
  • dfg/DFGInvalidationPointInjectionPhase.cpp:
  • dfg/DFGJITCode.cpp:
  • dfg/DFGJITCompiler.cpp:
  • dfg/DFGJITFinalizer.cpp:
  • dfg/DFGJumpReplacement.cpp:
  • dfg/DFGLICMPhase.cpp:
  • dfg/DFGLazyJSValue.cpp:
  • dfg/DFGLivenessAnalysisPhase.cpp:
  • dfg/DFGLongLivedState.cpp:
  • dfg/DFGLoopPreHeaderCreationPhase.cpp:
  • dfg/DFGMinifiedNode.cpp:
  • dfg/DFGNaturalLoops.cpp:
  • dfg/DFGNode.cpp:
  • dfg/DFGNodeFlags.cpp:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
  • dfg/DFGOSREntry.cpp:
  • dfg/DFGOSREntrypointCreationPhase.cpp:
  • dfg/DFGOSRExit.cpp:
  • dfg/DFGOSRExitBase.cpp:
  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler32_64.cpp:
  • dfg/DFGOSRExitCompiler64.cpp:
  • dfg/DFGOSRExitCompilerCommon.cpp:
  • dfg/DFGOSRExitJumpPlaceholder.cpp:
  • dfg/DFGOSRExitPreparation.cpp:
  • dfg/DFGOperations.cpp:
  • dfg/DFGPhase.cpp:
  • dfg/DFGPlan.cpp:
  • dfg/DFGPredictionInjectionPhase.cpp:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGResurrectionForValidationPhase.cpp:
  • dfg/DFGSSAConversionPhase.cpp:
  • dfg/DFGSSALoweringPhase.cpp:
  • dfg/DFGSafepoint.cpp:
  • dfg/DFGSpeculativeJIT.cpp:
  • dfg/DFGSpeculativeJIT32_64.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:
  • dfg/DFGStackLayoutPhase.cpp:
  • dfg/DFGStoreBarrierElisionPhase.cpp:
  • dfg/DFGStrengthReductionPhase.cpp:
  • dfg/DFGThreadData.cpp:
  • dfg/DFGThunks.cpp:
  • dfg/DFGTierUpCheckInjectionPhase.cpp:
  • dfg/DFGToFTLDeferredCompilationCallback.cpp:
  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
  • dfg/DFGTypeCheckHoistingPhase.cpp:
  • dfg/DFGUnificationPhase.cpp:
  • dfg/DFGUseKind.cpp:
  • dfg/DFGValidate.cpp:
  • dfg/DFGValueSource.cpp:
  • dfg/DFGVariableAccessDataDump.cpp:
  • dfg/DFGVariableEvent.cpp:
  • dfg/DFGVariableEventStream.cpp:
  • dfg/DFGVirtualRegisterAllocationPhase.cpp:
  • dfg/DFGWatchpointCollectionPhase.cpp:
  • dfg/DFGWorklist.cpp:
  • ftl/FTLAbstractHeap.cpp:
  • ftl/FTLAbstractHeapRepository.cpp:
  • ftl/FTLExitValue.cpp:
  • ftl/FTLLink.cpp:
  • ftl/FTLLowerDFGToLLVM.cpp:
  • ftl/FTLOSREntry.cpp:
  • ftl/FTLOSRExit.cpp:
  • ftl/FTLOSRExitCompiler.cpp:
  • ftl/FTLSlowPathCall.cpp:
  • heap/BlockAllocator.cpp:
  • heap/CodeBlockSet.cpp:
  • heap/ConservativeRoots.cpp:
  • heap/CopiedSpace.cpp:
  • heap/CopyVisitor.cpp:
  • heap/DeferGC.cpp:
  • heap/GCThread.cpp:
  • heap/GCThreadSharedData.cpp:
  • heap/HandleSet.cpp:
  • heap/HandleStack.cpp:
  • heap/Heap.cpp:
  • heap/HeapStatistics.cpp:
  • heap/HeapTimer.cpp:
  • heap/IncrementalSweeper.cpp:
  • heap/JITStubRoutineSet.cpp:
  • heap/MachineStackMarker.cpp:
  • heap/MarkStack.cpp:
  • heap/MarkedAllocator.cpp:
  • heap/MarkedBlock.cpp:
  • heap/MarkedSpace.cpp:
  • heap/SlotVisitor.cpp:
  • heap/SuperRegion.cpp:
  • heap/Weak.cpp:
  • heap/WeakBlock.cpp:
  • heap/WeakHandleOwner.cpp:
  • heap/WeakSet.cpp:
  • heap/WriteBarrierBuffer.cpp:
  • heap/WriteBarrierSupport.cpp:
  • inspector/InjectedScript.cpp:
  • inspector/InjectedScriptBase.cpp:
  • inspector/JSGlobalObjectScriptDebugServer.cpp:
  • inspector/JSInjectedScriptHost.cpp:
  • inspector/ScriptArguments.cpp:
  • inspector/ScriptCallStackFactory.cpp:
  • interpreter/AbstractPC.cpp:
  • interpreter/CallFrame.cpp:
  • interpreter/Interpreter.cpp:
  • interpreter/JSStack.cpp:
  • interpreter/ProtoCallFrame.cpp:
  • interpreter/StackVisitor.cpp:
  • interpreter/VMInspector.cpp:
  • jit/ArityCheckFailReturnThunks.cpp:
  • jit/AssemblyHelpers.cpp:
  • jit/ClosureCallStubRoutine.cpp:
  • jit/ExecutableAllocator.cpp:
  • jit/ExecutableAllocatorFixedVMPool.cpp:
  • jit/GCAwareJITStubRoutine.cpp:
  • jit/HostCallReturnValue.cpp:
  • jit/JIT.cpp:
  • jit/JITArithmetic.cpp:
  • jit/JITArithmetic32_64.cpp:
  • jit/JITCall.cpp:
  • jit/JITCall32_64.cpp:
  • jit/JITCode.cpp:
  • jit/JITDisassembler.cpp:
  • jit/JITExceptions.cpp:
  • jit/JITInlineCacheGenerator.cpp:
  • jit/JITInlines.h:
  • jit/JITOperations.cpp:
  • jit/JITOperationsMSVC64.cpp:
  • jit/JITStubRoutine.cpp:
  • jit/JITStubs.cpp:
  • jit/JITThunks.cpp:
  • jit/JITToDFGDeferredCompilationCallback.cpp:
  • jit/RegisterPreservationWrapperGenerator.cpp:
  • jit/RegisterSet.cpp:
  • jit/Repatch.cpp:
  • jit/TempRegisterSet.cpp:
  • jit/ThunkGenerators.cpp:
  • jsc.cpp:
  • llint/LLIntExceptions.cpp:
  • llint/LLIntSlowPaths.cpp:
  • llint/LowLevelInterpreter.cpp:
  • parser/Lexer.cpp:
  • parser/Nodes.cpp:
  • parser/Parser.cpp:
  • parser/ParserArena.cpp:
  • parser/SourceCode.cpp:
  • parser/SourceProvider.cpp:
  • parser/SourceProviderCache.cpp:
  • profiler/LegacyProfiler.cpp:
  • profiler/ProfileGenerator.cpp:
  • profiler/ProfilerBytecode.cpp:
  • profiler/ProfilerBytecodeSequence.cpp:
  • profiler/ProfilerBytecodes.cpp:
  • profiler/ProfilerCompilation.cpp:
  • profiler/ProfilerCompiledBytecode.cpp:
  • profiler/ProfilerDatabase.cpp:
  • profiler/ProfilerOSRExit.cpp:
  • profiler/ProfilerOSRExitSite.cpp:
  • profiler/ProfilerOrigin.cpp:
  • profiler/ProfilerOriginStack.cpp:
  • profiler/ProfilerProfiledBytecodes.cpp:
  • runtime/ArgList.cpp:
  • runtime/Arguments.cpp:
  • runtime/ArgumentsIteratorPrototype.cpp:
  • runtime/ArrayBuffer.cpp:
  • runtime/ArrayBufferNeuteringWatchpoint.cpp:
  • runtime/ArrayConstructor.cpp:
  • runtime/ArrayPrototype.cpp:
  • runtime/BooleanConstructor.cpp:
  • runtime/BooleanObject.cpp:
  • runtime/BooleanPrototype.cpp:
  • runtime/CallData.cpp:
  • runtime/CodeCache.cpp:
  • runtime/CommonSlowPaths.cpp:
  • runtime/CommonSlowPathsExceptions.cpp:
  • runtime/Completion.cpp:
  • runtime/ConstructData.cpp:
  • runtime/DateConstructor.cpp:
  • runtime/DateInstance.cpp:
  • runtime/DatePrototype.cpp:
  • runtime/Error.cpp:
  • runtime/ErrorConstructor.cpp:
  • runtime/ErrorInstance.cpp:
  • runtime/ErrorPrototype.cpp:
  • runtime/ExceptionHelpers.cpp:
  • runtime/Executable.cpp:
  • runtime/FunctionConstructor.cpp:
  • runtime/FunctionPrototype.cpp:
  • runtime/GetterSetter.cpp:
  • runtime/Identifier.cpp:
  • runtime/IntendedStructureChain.cpp:
  • runtime/InternalFunction.cpp:
  • runtime/JSActivation.cpp:
  • runtime/JSArgumentsIterator.cpp:
  • runtime/JSArray.cpp:
  • runtime/JSArrayBuffer.cpp:
  • runtime/JSArrayBufferConstructor.cpp:
  • runtime/JSArrayBufferPrototype.cpp:
  • runtime/JSArrayBufferView.cpp:
  • runtime/JSBoundFunction.cpp:
  • runtime/JSCInlines.h: Copied from Source/JavaScriptCore/runtime/Operations.h.
  • runtime/JSCell.cpp:
  • runtime/JSDataView.cpp:
  • runtime/JSDataViewPrototype.cpp:
  • runtime/JSDateMath.cpp:
  • runtime/JSFunction.cpp:
  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObjectFunctions.cpp:
  • runtime/JSLock.cpp:
  • runtime/JSNameScope.cpp:
  • runtime/JSNotAnObject.cpp:
  • runtime/JSONObject.cpp:
  • runtime/JSObject.cpp:
  • runtime/JSPropertyNameIterator.cpp:
  • runtime/JSPropertyNameIterator.h:
  • runtime/JSProxy.cpp:
  • runtime/JSScope.cpp:
  • runtime/JSSegmentedVariableObject.cpp:
  • runtime/JSString.cpp:
  • runtime/JSStringJoiner.cpp:
  • runtime/JSSymbolTableObject.cpp:
  • runtime/JSTypedArrayConstructors.cpp:
  • runtime/JSTypedArrayPrototypes.cpp:
  • runtime/JSTypedArrays.cpp:
  • runtime/JSVariableObject.cpp:
  • runtime/JSWithScope.cpp:
  • runtime/JSWrapperObject.cpp:
  • runtime/LiteralParser.cpp:
  • runtime/Lookup.cpp:
  • runtime/MathObject.cpp:
  • runtime/NameConstructor.cpp:
  • runtime/NameInstance.cpp:
  • runtime/NamePrototype.cpp:
  • runtime/NativeErrorConstructor.cpp:
  • runtime/NativeErrorPrototype.cpp:
  • runtime/NumberConstructor.cpp:
  • runtime/NumberObject.cpp:
  • runtime/NumberPrototype.cpp:
  • runtime/ObjectConstructor.cpp:
  • runtime/ObjectPrototype.cpp:
  • runtime/Operations.cpp:
  • runtime/Operations.h:
  • runtime/PropertyDescriptor.cpp:
  • runtime/PrototypeMap.cpp:
  • runtime/RegExp.cpp:
  • runtime/RegExpCache.cpp:
  • runtime/RegExpCachedResult.cpp:
  • runtime/RegExpConstructor.cpp:
  • runtime/RegExpMatchesArray.cpp:
  • runtime/RegExpObject.cpp:
  • runtime/RegExpPrototype.cpp:
  • runtime/SimpleTypedArrayController.cpp:
  • runtime/SmallStrings.cpp:
  • runtime/SparseArrayValueMap.cpp:
  • runtime/StrictEvalActivation.cpp:
  • runtime/StringConstructor.cpp:
  • runtime/StringObject.cpp:
  • runtime/StringPrototype.cpp:
  • runtime/StringRecursionChecker.cpp:
  • runtime/Structure.cpp:
  • runtime/StructureChain.cpp:
  • runtime/StructureRareData.cpp:
  • runtime/SymbolTable.cpp:
  • runtime/TestRunnerUtils.cpp:
  • runtime/VM.cpp:
  • testRegExp.cpp:

Source/WebCore:

Rubber stamped by Geoffrey Garen.

No new tests because no change in behavior.

  • ForwardingHeaders/runtime/JSCInlines.h: Added.
  • bindings/js/JSCryptoAlgorithmBuilder.cpp:
  • bindings/js/JSCryptoKeySerializationJWK.cpp:
  • bindings/js/JSCustomXPathNSResolver.h:
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDictionary.h:
  • bindings/js/JSMessagePortCustom.cpp:
  • bindings/js/JSMessagePortCustom.h:
  • bindings/js/JSNodeFilterCondition.h:
  • bindings/js/SerializedScriptValue.cpp:
  • bindings/js/WebCoreTypedArrayController.cpp:
  • bridge/c/c_utility.h:
  • bridge/jsc/BridgeJSC.h:
  • dom/CustomEvent.cpp:
  • dom/Node.cpp:
  • html/HTMLCanvasElement.cpp:
  • html/HTMLImageLoader.cpp:
  • html/canvas/WebGLRenderingContext.cpp:
  • inspector/InspectorDOMAgent.cpp:
  • inspector/WebConsoleAgent.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/filters/FEGaussianBlur.cpp:
  • platform/graphics/filters/FilterEffect.cpp:
  • testing/MockCDM.cpp:
  • xml/XMLHttpRequest.cpp:

Source/WebKit2:

Rubber stamped by Geoffrey Garen.

  • Shared/linux/WebMemorySamplerLinux.cpp:
  • UIProcess/WebContext.cpp:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/efl/WebProcessMainEfl.cpp:
5:41 PM Changeset in webkit [163843] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Removes the inline assert from SpeculativeJIT's ReallocatePropertyStorage
https://bugs.webkit.org/show_bug.cgi?id=128566

Patch by Matthew Mirman <mmirman@apple.com> on 2014-02-10
Reviewed by Filip Pizlo.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):

5:33 PM Changeset in webkit [163842] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Rename getRecordMap to computeRecordMap.

Rubber stamped by Michael Saboff.

"get" is such a weird prefix. It implies a getter. We don't prefix our getters with
anything in WebKit. Also, this isn't a getter. It actually does work to transform
the stackmaps into a hashmap. So, computeRecordMap is a much better name.

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalizeFunction):

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::computeRecordMap):

  • ftl/FTLStackMaps.h:
5:31 PM Changeset in webkit [163841] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

ReallocatePropertyStorage in FTL
https://bugs.webkit.org/show_bug.cgi?id=128352

Patch by Matthew Mirman <mmirman@apple.com> on 2014-02-10
Reviewed by Filip Pizlo.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileReallocatePropertyStorage):

  • tests/stress/ftl-reallocatepropertystorage.js: Added.

(foo):

5:20 PM Changeset in webkit [163840] by dino@apple.com
  • 14 edits in trunk

Update aspect-ratio property to have constraining keywords
https://bugs.webkit.org/show_bug.cgi?id=128262

Reviewed by Simon Fraser.

Source/WebCore:

Add support for "from-dimensions" and "from-intrinsic"
property values to "-webkit-aspect-ratio". I also changed
the default value from "none" to "auto", because "none" doesn't
make sense any more.

Covered by enhancing existing tests.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue): New keywords.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseAspectRatio): Support new keywords.

  • css/CSSValueKeywords.in: Add from-dimensions and from-intrinsic.
  • css/DeprecatedStyleBuilder.cpp: This now has to handle the new

values. I also changed "none" to "auto".
(WebCore::ApplyPropertyAspectRatio::applyInheritValue):
(WebCore::ApplyPropertyAspectRatio::applyInitialValue):
(WebCore::ApplyPropertyAspectRatio::applyValue):

  • rendering/style/RenderStyle.h: hasAspectRatio is now aspectRatioType

and indicates one of the three keywords, or a specified number.

  • rendering/style/RenderStyleConstants.h: New enum.
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:

LayoutTests:

Add tests for new from-intrinsic and from-dimensions
property values.

  • fast/css/aspect-ratio-inheritance-expected.txt:
  • fast/css/aspect-ratio-inheritance.html:
  • fast/css/aspect-ratio-parsing-tests-expected.txt:
  • fast/css/aspect-ratio-parsing-tests.html:
5:10 PM Changeset in webkit [163839] by benjamin@webkit.org
  • 7 edits in trunk/Source

[WK2] Add support for image document viewport configuration
https://bugs.webkit.org/show_bug.cgi?id=128565

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

Source/WebCore:

Add proper default settings for displaying images.

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

(WebCore::ViewportConfiguration::imageDocumentParameters):
(WebCore::ViewportConfiguration::textDocumentParameters):

  • page/ViewportConfiguration.h:

Source/WebKit2:

  • UIProcess/API/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::screenToWindow):
(WebKit::PageClientImpl::windowToScreen):
Add the implementation for ImageDocument.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad):
Use the right default settings when dealing with image documents.

4:47 PM Changeset in webkit [163838] by msaboff@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Fail FTL compilation if the required stack is too big
https://bugs.webkit.org/show_bug.cgi?id=128560

Reviewed by Filip Pizlo.

Added StackSize struct to FTLStackMaps and populated it. Added and updated
related dump functions. Use the stack size found at the end of the compilation
to compare against the value of a new option, llvmMaxStackSize. We fail the
compile if the function's stack size is greater than llvmMaxStackSize.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::StackSize::parse):
(JSC::FTL::StackMaps::StackSize::dump):
(JSC::FTL::StackMaps::parse):
(JSC::FTL::StackMaps::dump):
(JSC::FTL::StackMaps::dumpMultiline):
(JSC::FTL::StackMaps::getStackSize):

  • ftl/FTLStackMaps.h:
  • runtime/Options.h:
4:24 PM Changeset in webkit [163837] by Simon Fraser
  • 7 edits in trunk/Source/WebKit2

Show a debug tile map indicator for UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=128553

Reviewed by Tim Horton.

Implement a tiled scrolling indicator for UI-side compositing.

The indicator is created by making another RemoteLayerTreeHost,
and decoding the transaction in it a second time to create a cloned
layer tree. In that clone commit, we modify some layer properties to
make things easier to see.

The cloned layer tree is hosted in the root layer of the main
RemoteLayerTreeHost.

RemoteLayerTreeHost was changed to not need a pointer to the WebPageProxy,
which it only used in the "root layer changed" case; instead, it now just
returns a bool from updateLayerTree() in that situation.

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: Explanatory comment.
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::setExposedRect):
(WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
(WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicatorPosition):
(WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorScale):
(WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
(WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):

  • UIProcess/mac/RemoteLayerTreeHost.h:

(WebKit::RemoteLayerTreeHost::rootLayer):
(WebKit::RemoteLayerTreeHost::setIsDebugLayerTreeHost):
(WebKit::RemoteLayerTreeHost::isDebugLayerTreeHost):

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
(WebKit::RemoteLayerTreeHost::updateLayerTree):
(WebKit::RemoteLayerTreeHost::createLayer):

4:24 PM Changeset in webkit [163836] by Simon Fraser
  • 4 edits in trunk/Source/WebKit2

Put a delegatesScrolling flag on WebPageProxy so that the UI process knows when scrolling is delegated
https://bugs.webkit.org/show_bug.cgi?id=128429

Reviewed by Sam Weinig.

Add delegatesScrolling() which defaults to false, but is set to true for iOS
by WKContentView.

  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView initWithFrame:configuration:]):
(-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::setDelegatesScrolling):
(WebKit::WebPageProxy::delegatesScrolling):

4:20 PM Changeset in webkit [163835] by Lucas Forschler
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

Merged r162486.

4:19 PM Changeset in webkit [163834] by zoltan@webkit.org
  • 1 edit
    1 add in trunk/PerformanceTests

[CSS Shapes] Add initial performance tests for polygon shape
https://bugs.webkit.org/show_bug.cgi?id=128554

Reviewed by Ryosuke Niwa.

This patch adds performance testing for simple polygon shape-outside.
The Shapes performance tests directory is skipped by default.

  • Layout/Shapes/ShapeOutsideSimplePolygon.html: Added.
4:17 PM Changeset in webkit [163833] by Lucas Forschler
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

Merged r158870.

4:08 PM Changeset in webkit [163832] by Lucas Forschler
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

Merged r154036.

4:03 PM Changeset in webkit [163831] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-537.75-branch

Merged r156082.

3:59 PM Changeset in webkit [163830] by Lucas Forschler
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

Merged r153507.

3:55 PM Changeset in webkit [163829] by mark.lam@apple.com
  • 4 edits in trunk/LayoutTests

REGRESSION(r163660-r163664): js/dom/stack-trace.html fails.
<https://webkit.org/b/128544>

Reviewed by Alexey Proskuryakov.

The failing test is fragile. The test intends to test a recursion pattern
i.e. the top of the stack trace should show a repeated cycle of certain
function calls. However, the test makes a faulty assumption about which
function in that recursion pattern will be the one that overflows the
stack.

The fix is to make the test check for repetition of that recursion pattern
instead of making a specific assumption as to which function within that
recursion pattern will overflow the stack.

(stackTraceLineFor):

  • refactored this code to generated the stack trace line out of printStack.

(printStack):

  • updated to use stackTraceLineFor.

(dumpPattern):

  • utility function to dump the recursion pattern being matched.

(matchesPatternAtLine):
(matchPattern):
(checkStackForPattern):

  • utility functions for testing if the stack trace matches the expected recursion pattern. The pattern is an array of stack trace lines that we should see repeated in the stack trace starting from the top.

The top line of the stack trace may match any line in the pattern.
Thereafter, subsequent lines much patch lines in the pattern starting
with the line after the first match. When we run out of pattern lines,
we'll go back to the first pattern line and continue the matching test
until we run out of stack trace lines to match.

If any mismatch is found, the test fails.

  • js/dom/stack-trace-expected.txt:
  • updates baseline for expected results.
3:48 PM Changeset in webkit [163828] by b.long@cablelabs.com
  • 2 edits in trunk/Source/WebCore

Unreviewed GTK build fix after r163816.

  • GNUmakefile.list.am: Remove HTMLMediaSource.h and HTMLMediaSource.cpp
3:40 PM Changeset in webkit [163827] by Lucas Forschler
  • 3 edits
    3 copies in branches/safari-537.75-branch

Merged r158676.

3:34 PM Changeset in webkit [163826] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed EFL WebKit2 build fix after r163816.

  • CMakeLists.txt: Remove HTMLMediaSource.cpp
3:05 PM Changeset in webkit [163825] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

HTMLTextFormControlElement::setSelectionRange shouldn't use VisiblePosition
https://bugs.webkit.org/show_bug.cgi?id=128478

Reviewed by Darin Adler.

Added positionForIndex to compute Position given a selection index. This function doesn't
synchronously trigger like visiblePositionForIndex.

Also added assertions in visiblePositionForIndex and visiblePositionForIndex to make sure
they are inverse of one another.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange): Use positionForIndex. Also removed
the now tautological assertions since we would never create a position outside the inner text
element.

(WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Fixed the bug where this
function could return a selection index beyond innerTextElement in some types of input
elements such as search fields. fast/forms/search-disabled-readonly.html hits the newly
added assertion without this change. Note we can't use visiblePositionForIndex here as that
would result in a mutual recursion with the assertion in visiblePositionForIndex.

(WebCore::HTMLTextFormControlElement::visiblePositionForIndex): Added an assertion.

(WebCore::positionForIndex): Added. It's here with prototype at the beginning of the file
so that it's right next to HTMLTextFormControlElement::innerText() where we do a similar
DOM traversal to obtain the inner text value.

2:58 PM Changeset in webkit [163824] by ap@apple.com
  • 2 edits in trunk/LayoutTests

svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html frequently asserts
in ComplexTextController::offsetForPosition
https://bugs.webkit.org/show_bug.cgi?id=119747

  • platform/mac/TestExpectations: Skipped it in debug builds.
2:55 PM Changeset in webkit [163823] by jpfau@apple.com
  • 4 edits
    5 adds in trunk

Disable access to application cache when in private browsing
https://bugs.webkit.org/show_bug.cgi?id=128426

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests: http/tests/security/appcache-in-private-browsing.html

http/tests/security/appcache-switching-private-browsing.html

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::cacheForMainRequest):
(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
(WebCore::ApplicationCacheGroup::update):

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::isApplicationCacheEnabled):

LayoutTests:

  • http/tests/security/appcache-in-private-browsing-expected.txt: Added.
  • http/tests/security/appcache-in-private-browsing.html: Added.
  • http/tests/security/appcache-switching-private-browsing-expected.txt: Added.
  • http/tests/security/appcache-switching-private-browsing.html: Added.
  • http/tests/security/resources/frame-for-appcache-in-private-browsing.html: Added.
2:46 PM Changeset in webkit [163822] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Move animation tests that have similar failing behavior in debug builds together,
and mark them as passing in release.

  • platform/mac/TestExpectations:
2:30 PM Changeset in webkit [163821] by barraclough@apple.com
  • 17 edits in trunk

Remove WKPageSetVisibilityState
https://bugs.webkit.org/show_bug.cgi?id=128551

Reviewed by Anders Carlsson.

Source/WebKit2:

Made prerender state automatic. We should move this further
up into WebCore, but this requires refactoring for the Page
construction order.

  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKPageSetVisibilityState):

  • deprecated.
  • UIProcess/API/C/WKPage.cpp:
    • removed WKPageSetVisibilityState.
  • UIProcess/API/C/WKPage.h:
    • removed WKPageSetVisibilityState.
  • UIProcess/WebPageProxy.cpp:
    • removed setVisibilityStatePrerender.
  • UIProcess/WebPageProxy.h:
    • removed setVisibilityStatePrerender.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • removed setVisibilityStatePrerender.
  • When creating a Page, automatically set the prerender state.
  • WebProcess/WebPage/WebPage.h:
    • removed setVisibilityStatePrerender.
  • WebProcess/WebPage/WebPage.messages.in:
    • removed SetVisibilityStatePrerender.

Tools:

  • TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:

(TestWebKitAPI::PageVisibilityStateWithWindowChanges::initializeView):
(TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):

  • visibilityState of offs-creen WKView is automatically prerender.
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::setHidden):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setPageVisibility):
(WTR::TestRunner::resetPageVisibility):

  • WebKitTestRunner/TestController.cpp:
  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

  • removed calls to WKPageSetVisibilityState.
2:27 PM Changeset in webkit [163820] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Change JSLock::dropAllLocks() and friends to use lock() and unlock().
<https://webkit.org/b/128451>

Reviewed by Geoffrey Garen.

Currently, JSLock's dropAllLocks(), dropAllLocksUnconditionally(), and
grabAllLocks() implement locking / unlocking by duplicating the code from
lock() and unlock(). Instead, they should just call lock() and unlock().

  • runtime/JSLock.cpp:

(JSC::JSLock::lock):
(JSC::JSLock::unlock):

  • Modified lock() and unlock() into a version that takes an entry count to lock / unlock. The previous lock() and unlock() now calls these new versions with an entry count of 1.

(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):
(JSC::JSLock::grabAllLocks):

  • Delegate to unlock() and lock() instead of duplicating the lock / unlock code.
  • There a some differences with calling lock() instead of duplicating its code in grabAllLock() i.e. lock() does the following additional work:
  1. lock() does a re-entry check that is not needed by grabAllLocks(). However, this is effectively a no-op since we never own the JSLock before calling grabAllLocks().
  1. set VM stackPointerAtVMEntry.
  2. update VM stackLimit and reservedZoneSize.
  3. set VM lastStackTop. These 3 steps are just busy work which are also effective no-ops because immediately after lock() returns, grabAllLocks() will write over those values with their saved versions in the threadData.
  • runtime/JSLock.h:
2:24 PM Changeset in webkit [163819] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Flaky Test: animations/play-state-suspend.html
https://bugs.webkit.org/show_bug.cgi?id=50959

  • platform/mac/TestExpectations: Marked it as such.
2:19 PM Changeset in webkit [163818] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

IDB: storage/indexeddb/mozilla/object-store-remove-values.html fails
<rdar://problem/16029319> and https://bugs.webkit.org/show_bug.cgi?id=128487

Missed one piece of review feedback before landing.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):

2:15 PM Changeset in webkit [163817] by beidson@apple.com
  • 10 edits in trunk

IDB: storage/indexeddb/mozilla/object-store-remove-values.html fails
<rdar://problem/16029319> and https://bugs.webkit.org/show_bug.cgi?id=128487

Reviewed by Tim Horton.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess):
(WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Update logging.
(WebKit::DatabaseProcessIDBConnection::deleteDatabase): If deleteDatabase succeeds,

also disconnect from the UniqueIDBDatabase so it can be cleaned up properly.

(WebKit::DatabaseProcessIDBConnection::close): New message from the WebProcess to handle

clean closures.

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::shutdown): Move most of the cleanup to didShutdownBackingStore.
(WebKit::UniqueIDBDatabase::didShutdownBackingStore): Execute all remaining mainThreadTasks

(as they represent real results from the backing store thread).

(WebKit::UniqueIDBDatabase::deleteDatabase): Add an ASSERT.
(WebKit::UniqueIDBDatabase::performNextMainThreadTask): Call through to performNextMainThreadTaskWithoutAdoptRef.
(WebKit::UniqueIDBDatabase::performNextMainThreadTaskWithoutAdoptRef): Execute a task,

returning true if there are more tasks left to execute.

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): Properly

handle JSC cleanup.

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::close): Implement this.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Add the now-passing test (skipped because of unrelated flakiness in IDB tests)
2:08 PM Changeset in webkit [163816] by jer.noble@apple.com
  • 23 edits
    1 add
    2 deletes in trunk/Source/WebCore

[MSE] Fix layering violations in MediaSource
https://bugs.webkit.org/show_bug.cgi?id=128546

Reviewed by Eric Carlson.

Code in Modules should be considered part of html/ and should have the
same layering properties. Get rid of HTMLMediaSource (which was intended
to allow Modules/mediasource to be considered part of platform/) and add
a new client interface allowing communication from platform/ ->
Modules/mediasource.

Replace HTMLMediaSource -> MediaSourcePrivateClient:

  • html/HTMLMediaSource.cpp: Removed.
  • html/HTMLMediaSource.h: Removed.
  • platform/graphics/MediaSourcePrivateClient.h: Added.

(WebCore::MediaSourcePrivateClient::~MediaSourcePrivateClient):

Move registry support from HTMLMediaSource -> MediaSource.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::setRegistry): Moved from HTMLMediaSource.cpp.

  • Modules/mediasource/MediaSource.h:

(WebCore::MediaSource::lookup): Ditto.

Update references to HTMLMediaSource -> MediaSource:

  • Modules/mediasource/MediaSourceRegistry.cpp:

(WebCore::MediaSourceRegistry::MediaSourceRegistry):

  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadResource):

  • html/HTMLMediaElement.h:

Update references to HTMLMediaSource -> MediaSourcePrivateClient:

  • platform/graphics/MediaPlayer.cpp:

(WebCore::NullMediaPlayerPrivate::load):
(WebCore::MediaPlayer::load): Ditto.
(WebCore::MediaPlayer::loadWithNextMediaEngine):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::load):

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::load):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaSourceGStreamer.cpp:

(WebCore::MediaSourceGStreamer::open):

  • platform/graphics/gstreamer/MediaSourceGStreamer.h:
  • platform/graphics/ios/MediaPlayerPrivateIOS.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::load):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::load):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
2:04 PM Changeset in webkit [163815] by andersca@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Try to fix the Windows build.

  • heap/UnconditionalFinalizer.h:
  • runtime/SymbolTable.h:
1:57 PM Changeset in webkit [163814] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebKit2

[iOS][WK2] Add empty definition for an API allowing clients to define obscured edges over the scrollview
https://bugs.webkit.org/show_bug.cgi?id=128396

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

ObscuredInset defines the area of the scrollview unusable for positioning content.
The API is unused in this patch.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _obscuredInset]):
(-[WKWebView _setObscuredInset:]):
(-[WKWebView _commitObscuredInset]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _obscuredInset]):
(-[WKView _setObscuredInset:]):
(-[WKView _commitObscuredInset]):

1:45 PM Changeset in webkit [163813] by Bem Jones-Bey
  • 2 edits in trunk/Websites/webkit.org

Change tools.html to say Xcode 5 is required to build
https://bugs.webkit.org/show_bug.cgi?id=128545

Reviewed by Andreas Kling.

The Mac port doesn't build with Xcode 4.6 anymore, so update to tell
people to get Xcode 5. It looks like Xcode 5 doesn't have the command
line tools in the downloads pane anymore, so direct folks to use
xcode-select to install the command line tools as well.

  • building/tools.html:
1:43 PM Changeset in webkit [163812] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Update License copyrights in minified JavaScript
https://bugs.webkit.org/show_bug.cgi?id=128547

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

  • Scripts/copy-user-interface-resources.sh:
1:37 PM Changeset in webkit [163811] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Web Inspector: add test for hitting breakpoints from functions called via console
https://bugs.webkit.org/show_bug.cgi?id=126845

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-02-10
Reviewed by Timothy Hatcher.

  • inspector-protocol/debugger/hit-breakpoint-from-console-expected.txt: Added.
  • inspector-protocol/debugger/hit-breakpoint-from-console.html: Added.
1:37 PM Changeset in webkit [163810] by ap@apple.com
  • 5 edits in trunk/Source/WebCore

Remove some unused functions from SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128407

Reviewed by Oliver Hunt.

Removed functions that used Deprecated::ScriptValue

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::put):

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::deserializeIDBValue):
(WebCore::deserializeIDBValueBuffer):

  • bindings/js/SerializedScriptValue.cpp:
  • bindings/js/SerializedScriptValue.h:
1:11 PM Changeset in webkit [163809] by enrica@apple.com
  • 2 edits in trunk/Source/WTF

copyShortASCIIString crashes on iOS after r163793.
https://bugs.webkit.org/show_bug.cgi?id=128548.

Reviewed by Alexey Proskuryakov.

Adding null check.

  • wtf/unicode/icu/CollatorICU.cpp:

(WTF::copyShortASCIIString):

12:39 PM Changeset in webkit [163808] by akling@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Make the Identifier::add() family return PassRef<StringImpl>.
<https://webkit.org/b/128542>

This knocks one branch off of creating an Identifier from another
string source.

Reviewed by Oliver Hunt.

  • runtime/Identifier.cpp:

(JSC::Identifier::add):
(JSC::Identifier::add8):
(JSC::Identifier::addSlowCase):

  • runtime/Identifier.h:

(JSC::Identifier::add):

  • runtime/Lookup.cpp:

(JSC::HashTable::createTable):

12:18 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:07 PM Changeset in webkit [163807] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

[Windows] Unreviewed test fix.

  • platform/graphics/cg/GraphicsContextCG.cpp: m_pixelSnappingFactor was not set to 1.

(WebCore::GraphicsContext::platformInit):

11:59 AM Changeset in webkit [163806] by mhahnenberg@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Handling of opaque roots is wrong in EdenCollections
https://bugs.webkit.org/show_bug.cgi?id=128210

Reviewed by Geoffrey Garen.

Forgot to svn add the regression tests for this bug.

  • js/generational-opaque-roots-expected.txt: Added.
  • js/script-tests/generational-opaque-roots.js: Added.
11:43 AM Changeset in webkit [163805] by beidson@apple.com
  • 2 edits in trunk/LayoutTests

Skip indexeddb tests for now until somebody can explore 128341.
https://bugs.webkit.org/show_bug.cgi?id=128341

  • platform/mac-wk2/TestExpectations:
11:39 AM Changeset in webkit [163804] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove unnecessary spinLock in JSLock.
<https://webkit.org/b/128450>

Reviewed by Filip Pizlo.

The JSLock's mutex already provides protection for write access to
JSLock's internal state. The only JSLock state that needs to be read
from any thread including threads that don't own the JSLock is
m_ownerThread, which is used in currentThreadIsHoldingLock() to do an
ownership test on the lock.

It is safe for other threads to read from m_ownerThread because they
only need to know whether its value matches their own thread id
(provided by WTF::currentThread()).

Here are the scenarios for how the ownership test can go:

  1. The JSLock has just been initialized and is not owned by any thread.

In this case, m_ownerThread will be 0 and will not match any thread's
thread id. The checking thread will know that it needs to lock the
JSLock before using the VM.

  1. The JSLock was previously locked, but now is unlocked.

When we unlock it in JSLock::unlock(), the owner thread clears
m_ownerThread to 0. Hence, this case is the same as (1) above.

  1. The JSLock is locked by Thread A. Thread B is checking ownership.

In this case, m_ownerThread will contains the Thread A's thread id.
Thread B will see that the thread id does not match its own and will
proceed to block on the JSLock's mutex to wait for its turn to use
the VM.

With Weak Memory Ordering architectures, Thread A's thread id may
not get written out to memory before Thread B inspects m_ownerThread.
However, though Thread B may not see Thread A's thread id in
m_ownerThread, it will see 0 which is the last value written to it
before the JSLock mutex was unlocked. The mutex unlock would have
executed a memory fence which would have flushed the 0 to
m_ownerThread in memory. Hence, Thread B will know that it does not
own the lock.

Apart from removing the unneeded spin lock code, I also changed the
JSLock code to use currentThreadIsHoldingLock() and setOwnerThread()
instead of accessing m_ownerThread directly.

  • runtime/JSLock.cpp:

(JSC::JSLock::JSLock):

(JSC::JSLock::lock):

  • Removed spinLock but left the indentation as is to keep the diff to a minimum for better readability. Will unindent in a subsequent patch.

(JSC::JSLock::unlock):

  • Before unlocking the mutex, clear m_ownerThread to indicate that the lock is no longer owned.

(JSC::JSLock::currentThreadIsHoldingLock):

  • Removed the check of m_lockCount for determining ownership. Checking m_ownerThread is sufficient.

(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):

  • Renamed local locksToDrop to the better name droppedLockCount.
  • Clear m_ownerThread since we're unlocking the JSLock.

(JSC::JSLock::grabAllLocks):

  • Removed unneeded lock ownership test for lock re-entry case because grabAllLocks() is never used to re-enter a locked JSLock.

(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • runtime/JSLock.h:

(JSC::JSLock::setOwnerThread):

11:32 AM Changeset in webkit [163803] by fpizlo@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/ChangeLog

Unbreak ChangeLog after r163802

11:27 AM HackingWebInspector edited by BJ Burg
Update to use new paths, webkit-patch, etc (diff)
11:26 AM Changeset in webkit [163802] by fpizlo@apple.com
  • 91 edits in trunk/Source/JavaScriptCore

Unreviewed, roll out http://trac.webkit.org/changeset/163796

The change was not justified in any way and it has a net negative effect on the code.

  • dfg/DFGAbstractInterpreter.h:
  • dfg/DFGAbstractValue.h:
  • dfg/DFGAdjacencyList.h:
  • dfg/DFGArgumentPosition.h:
  • dfg/DFGArgumentsSimplificationPhase.cpp:
  • dfg/DFGArrayMode.cpp:
  • dfg/DFGArrayifySlowPathGenerator.h:
  • dfg/DFGAtTailAbstractState.h:
  • dfg/DFGAvailability.h:
  • dfg/DFGBackwardsPropagationPhase.cpp:
  • dfg/DFGBasicBlock.h:
  • dfg/DFGBasicBlockInlines.h:
  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGCFAPhase.cpp:
  • dfg/DFGCFGSimplificationPhase.cpp:
  • dfg/DFGCPSRethreadingPhase.cpp:
  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
  • dfg/DFGCapabilities.cpp:
  • dfg/DFGCapabilities.h:
  • dfg/DFGClobberize.h:
  • dfg/DFGCommonData.cpp:
  • dfg/DFGConstantFoldingPhase.cpp:
  • dfg/DFGCriticalEdgeBreakingPhase.cpp:
  • dfg/DFGDCEPhase.cpp:
  • dfg/DFGDominators.h:
  • dfg/DFGDriver.cpp:
  • dfg/DFGDriver.h:
  • dfg/DFGFixupPhase.cpp:
  • dfg/DFGFlushLivenessAnalysisPhase.cpp:
  • dfg/DFGGenerationInfo.h:
  • dfg/DFGGraph.cpp:
  • dfg/DFGGraph.h:
  • dfg/DFGInPlaceAbstractState.cpp:
  • dfg/DFGInPlaceAbstractState.h:
  • dfg/DFGInlineCacheWrapperInlines.h:
  • dfg/DFGInvalidationPointInjectionPhase.cpp:
  • dfg/DFGJITCode.h:
  • dfg/DFGJITCompiler.cpp:
  • dfg/DFGJITCompiler.h:
  • dfg/DFGJITFinalizer.cpp:
  • dfg/DFGJITFinalizer.h:
  • dfg/DFGLICMPhase.cpp:
  • dfg/DFGLivenessAnalysisPhase.cpp:
  • dfg/DFGLoopPreHeaderCreationPhase.cpp:
  • dfg/DFGMinifiedNode.h:
  • dfg/DFGNaturalLoops.h:
  • dfg/DFGNode.cpp:
  • dfg/DFGNode.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
  • dfg/DFGOSREntry.cpp:
  • dfg/DFGOSREntrypointCreationPhase.cpp:
  • dfg/DFGOSRExit.cpp:
  • dfg/DFGOSRExit.h:
  • dfg/DFGOSRExitBase.cpp:
  • dfg/DFGOSRExitCompilationInfo.h:
  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler32_64.cpp:
  • dfg/DFGOSRExitCompiler64.cpp:
  • dfg/DFGOSRExitJumpPlaceholder.cpp:
  • dfg/DFGOperations.cpp:
  • dfg/DFGPhase.h:
  • dfg/DFGPlan.h:
  • dfg/DFGPredictionInjectionPhase.cpp:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGResurrectionForValidationPhase.cpp:
  • dfg/DFGSSAConversionPhase.cpp:
  • dfg/DFGSSALoweringPhase.cpp:
  • dfg/DFGSaneStringGetByValSlowPathGenerator.h:
  • dfg/DFGSlowPathGenerator.h:
  • dfg/DFGSpeculativeJIT.cpp:
  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:
  • dfg/DFGStackLayoutPhase.cpp:
  • dfg/DFGStoreBarrierElisionPhase.cpp:
  • dfg/DFGStrengthReductionPhase.cpp:
  • dfg/DFGThunks.cpp:
  • dfg/DFGTierUpCheckInjectionPhase.cpp:
  • dfg/DFGTypeCheckHoistingPhase.cpp:
  • dfg/DFGUnificationPhase.cpp:
  • dfg/DFGValidate.h:
  • dfg/DFGValueSource.h:
  • dfg/DFGVariableAccessData.h:
  • dfg/DFGVariableAccessDataDump.cpp:
  • dfg/DFGVariableEvent.h:
  • dfg/DFGVariableEventStream.h:
  • dfg/DFGVirtualRegisterAllocationPhase.cpp:
  • dfg/DFGWatchpointCollectionPhase.cpp:
  • dfg/DFGWorklist.cpp:
11:25 AM Changeset in webkit [163801] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for crashing tests.

  • platform/efl-wk2/TestExpectations:
11:03 AM WikiStart edited by BJ Burg
fix Web Inspector link names (diff)
10:59 AM Changeset in webkit [163800] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

Add API for accessing session ephemerality from a page bundle
https://bugs.webkit.org/show_bug.cgi?id=128410

Patch by Martin Hock <mhock@apple.com> on 2014-02-10
Reviewed by Alexey Proskuryakov.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageIsUsingEphemeralSession):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::isUsingEphemeralSession):

  • WebProcess/WebPage/WebPage.h:
10:54 AM Changeset in webkit [163799] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebKit2

[GTK] Create the inspector view using the same web process as the inspected page
https://bugs.webkit.org/show_bug.cgi?id=128539

Reviewed by Martin Robinson.

  • UIProcess/API/C/gtk/WKView.cpp:

(WKViewCreate): Pass nullptr as the related page.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreate): Add related page argument and pass it
to webkitWebViewBaseCreateWebPage() instead of nullptr.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage): Pass
m_page as related page to webkitWebViewBaseCreate().

10:51 AM Changeset in webkit [163798] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION(r163660-r163664): js/dom/stack-trace.html fails
https://bugs.webkit.org/show_bug.cgi?id=128544

10:22 AM Changeset in webkit [163797] by Carlos Garcia Campos
  • 65 edits
    4 deletes in trunk

[GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
https://bugs.webkit.org/show_bug.cgi?id=127554

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Use GUniqueOutPtr instead of GOwnPtr.

  • GNUmakefile.list.am:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:

(WebCore::AudioDestinationGStreamer::handleMessage):

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::handleMessage):

  • platform/glib/BatteryProviderUPower.cpp:

(BatteryProviderUPower::startUpdating):

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::initializeGStreamer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::getTag):

  • platform/graphics/gtk/ImageBufferGtk.cpp:

(WebCore::encodeImage):
(WebCore::ImageBuffer::toDataURL):

  • platform/graphics/gtk/ImageGtk.cpp:

(WebCore::loadResourceSharedBuffer):

  • platform/gtk/DataObjectGtk.cpp:

(WebCore::DataObjectGtk::setURIList):

  • platform/gtk/FileSystemGtk.cpp:

(WebCore::readFromFile):

  • platform/gtk/GamepadsGtk.cpp:

(WebCore::GamepadDeviceGtk::readCallback):

  • platform/gtk/GtkInputMethodFilter.cpp:

(WebCore::GtkInputMethodFilter::handlePreeditChanged):

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::PasteboardHelper::fillDataObjectFromDropData):

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::systemFont):

  • platform/gtk/SharedBufferGtk.cpp:

(WebCore::SharedBuffer::createWithContentsOfFile):

  • platform/network/gtk/CredentialBackingStore.cpp:

(WebCore::credentialForChallengeAsyncReadyCallback):

  • platform/network/soup/GOwnPtrSoup.cpp: Removed.
  • platform/network/soup/GOwnPtrSoup.h: Removed.
  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::redirectSkipCallback):
(WebCore::nextMultipartResponsePartCallback):
(WebCore::sendRequestCallback):
(WebCore::addFileToSoupMessageBody):
(WebCore::createSoupRequestAndMessageForHandle):
(WebCore::readCallback):

  • platform/network/soup/SocketStreamHandleSoup.cpp:

(WebCore::SocketStreamHandle::platformSend):
(WebCore::SocketStreamHandle::platformClose):
(WebCore::connectedCallback):
(WebCore::readReadyCallback):

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::httpProxy):

Source/WebKit/gtk:

Use GUniqueOutPtr instead of GOwnPtr.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::dispatchDidFailLoad):

  • WebCoreSupport/TextCheckerClientGtk.cpp:
  • webkit/webkitdownload.cpp:

(webkit_download_open_stream_for_uri):
(webkit_download_set_destination_uri):
(webkit_download_received_data):

  • webkit/webkitwebplugin.cpp:

(webkit_web_plugin_get_path):

  • webkit/webkitwebview.cpp:

(webkit_web_view_expose_event):

Source/WebKit2:

Use GUniqueOutPtr instead of GOwnPtr.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::getCacheDiskFreeSize):

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::didReceiveResponse):
(WebKit::DownloadClient::didReceiveData):
(WebKit::DownloadClient::didFinishLoading):

  • UIProcess/API/gtk/WebKitFaviconDatabase.cpp:

(processPendingIconsForPageURL):
(webkit_favicon_database_get_favicon):

  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestReadCallback):

  • UIProcess/API/gtk/WebKitWebView.cpp:

(gotFaviconCallback):

  • UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:

(WebKit::WebInspectorServer::platformResourceForPath):

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:

(WebKit::PluginProcessProxy::scanPlugin):

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::getCacheDiskFreeSize):

Source/WTF:

GUniqueOutPtr is a simplified version of GOwnPtr for the cases
where we need the address of the contained pointer. GUniqueOutPtr
uses GUniquePtr to free the contained object and to release the
container pointer. The API is very simple to make sure this is
only used when outPtr() is needed. It can't be constructed with a
pointer, and there's not method to set a new pointer. Another
difference with the old GOwnPtr is that outPtr() can be used
multiple times, because it frees any pointer previously set.

  • GNUmakefile.list.am:
  • wtf/PlatformEfl.cmake:
  • wtf/PlatformGTK.cmake:
  • wtf/gobject/GOwnPtr.cpp: Removed.
  • wtf/gobject/GOwnPtr.h: Removed.
  • wtf/gobject/GUniquePtr.h:

(WTF::GUniqueOutPtr::GUniqueOutPtr):
(WTF::GUniqueOutPtr::~GUniqueOutPtr):
(WTF::GUniqueOutPtr::outPtr):
(WTF::GUniqueOutPtr::reset):
(WTF::GUniqueOutPtr::release):
(WTF::GUniqueOutPtr::operator*):
(WTF::GUniqueOutPtr::operator->):
(WTF::GUniqueOutPtr::get):
(WTF::GUniqueOutPtr::operator!):
(WTF::GUniqueOutPtr::operator UnspecifiedBoolType):

Tools:

Use GUniqueOutPtr instead of GOwnPtr.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:
  • DumpRenderTree/gtk/EventSender.cpp:

(createKeyPressEvent):

  • TestWebKitAPI/Tests/WTF/gobject/GUniquePtr.cpp:

(TestWebKitAPI::returnOutChar):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:

(testInspectorServerPageList):
(openRemoteDebuggingSession):
(sendIncompleteRequest):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:

(testWebExtensionWindowObjectCleared):
(testWebExtensionIsolatedWorld):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewRunJavaScript):
(testWebViewSave):
(testWebViewPageVisibility):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp:

(isStyleSheetInjectedForURLAtPath):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp:
  • TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp:

(TestWebKitAPI::TestInputMethodFilter::sendKeyEventToFilter):

  • TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:

(TestWebKitAPI::doKeyStroke):

  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:
  • TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.cpp:

(WebKitTestBus::run):

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(resourceGetDataCallback):
(WebViewTest::keyStroke):
(onSnapshotReady):

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::EventSenderProxy::keyDown):

10:20 AM Changeset in webkit [163796] by commit-queue@webkit.org
  • 91 edits in trunk/Source/JavaScriptCore

Remove extra includes from DFG
https://bugs.webkit.org/show_bug.cgi?id=126983

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-02-10
Reviewed by Andreas Kling.

  • dfg/DFGAbstractInterpreter.h:
  • dfg/DFGAbstractValue.h:
  • dfg/DFGAdjacencyList.h:
  • dfg/DFGArgumentPosition.h:
  • dfg/DFGArgumentsSimplificationPhase.cpp:
  • dfg/DFGArrayMode.cpp:
  • dfg/DFGArrayifySlowPathGenerator.h:
  • dfg/DFGAtTailAbstractState.h:
  • dfg/DFGAvailability.h:
  • dfg/DFGBackwardsPropagationPhase.cpp:
  • dfg/DFGBasicBlock.h:
  • dfg/DFGBasicBlockInlines.h:
  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGCFAPhase.cpp:
  • dfg/DFGCFGSimplificationPhase.cpp:
  • dfg/DFGCPSRethreadingPhase.cpp:
  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
  • dfg/DFGCapabilities.cpp:
  • dfg/DFGCapabilities.h:
  • dfg/DFGClobberize.h:
  • dfg/DFGCommonData.cpp:
  • dfg/DFGConstantFoldingPhase.cpp:
  • dfg/DFGCriticalEdgeBreakingPhase.cpp:
  • dfg/DFGDCEPhase.cpp:
  • dfg/DFGDominators.h:
  • dfg/DFGDriver.cpp:
  • dfg/DFGDriver.h:
  • dfg/DFGFixupPhase.cpp:
  • dfg/DFGFlushLivenessAnalysisPhase.cpp:
  • dfg/DFGGenerationInfo.h:
  • dfg/DFGGraph.cpp:
  • dfg/DFGGraph.h:
  • dfg/DFGInPlaceAbstractState.cpp:
  • dfg/DFGInPlaceAbstractState.h:
  • dfg/DFGInlineCacheWrapperInlines.h:
  • dfg/DFGInvalidationPointInjectionPhase.cpp:
  • dfg/DFGJITCode.h:
  • dfg/DFGJITCompiler.cpp:
  • dfg/DFGJITCompiler.h:
  • dfg/DFGJITFinalizer.cpp:
  • dfg/DFGJITFinalizer.h:
  • dfg/DFGLICMPhase.cpp:
  • dfg/DFGLivenessAnalysisPhase.cpp:
  • dfg/DFGLoopPreHeaderCreationPhase.cpp:
  • dfg/DFGMinifiedNode.h:
  • dfg/DFGNaturalLoops.h:
  • dfg/DFGNode.cpp:
  • dfg/DFGNode.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
  • dfg/DFGOSREntry.cpp:
  • dfg/DFGOSREntrypointCreationPhase.cpp:
  • dfg/DFGOSRExit.cpp:
  • dfg/DFGOSRExit.h:
  • dfg/DFGOSRExitBase.cpp:
  • dfg/DFGOSRExitCompilationInfo.h:
  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler32_64.cpp:
  • dfg/DFGOSRExitCompiler64.cpp:
  • dfg/DFGOSRExitJumpPlaceholder.cpp:
  • dfg/DFGOperations.cpp:
  • dfg/DFGPhase.h:
  • dfg/DFGPlan.h:
  • dfg/DFGPredictionInjectionPhase.cpp:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGResurrectionForValidationPhase.cpp:
  • dfg/DFGSSAConversionPhase.cpp:
  • dfg/DFGSSALoweringPhase.cpp:
  • dfg/DFGSaneStringGetByValSlowPathGenerator.h:
  • dfg/DFGSlowPathGenerator.h:
  • dfg/DFGSpeculativeJIT.cpp:
  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:
  • dfg/DFGStackLayoutPhase.cpp:
  • dfg/DFGStoreBarrierElisionPhase.cpp:
  • dfg/DFGStrengthReductionPhase.cpp:
  • dfg/DFGThunks.cpp:
  • dfg/DFGTierUpCheckInjectionPhase.cpp:
  • dfg/DFGTypeCheckHoistingPhase.cpp:
  • dfg/DFGUnificationPhase.cpp:
  • dfg/DFGValidate.h:
  • dfg/DFGValueSource.h:
  • dfg/DFGVariableAccessData.h:
  • dfg/DFGVariableAccessDataDump.cpp:
  • dfg/DFGVariableEvent.h:
  • dfg/DFGVariableEventStream.h:
  • dfg/DFGVirtualRegisterAllocationPhase.cpp:
  • dfg/DFGWatchpointCollectionPhase.cpp:
  • dfg/DFGWorklist.cpp:
10:09 AM Changeset in webkit [163795] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

[iOS][wk2] WebKit2 View Gestures (Swipe): Forward swipe gesture
https://bugs.webkit.org/show_bug.cgi?id=128523
<rdar://problem/16020378>

Reviewed by Darin Adler.

We can't install the gesture recognizer on a view that's going to be
reparented during the swipe, because the gesture will be cancelled.
Install the recognizer on the WKView and move the WKView's scrollview
child around instead.

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView setAllowsBackForwardNavigationGestures:]):
We'll install the gesture recognizer on the WKView, but swipe the scrollview.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(-[WKSwipeTransitionController initWithViewGestureController:gestureRecognizerView:]):
Clarify that WKSwipeTransitionController gets handed only the view to install the gesture recognizer on.
(-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]):
Use public enum values so we can get rid of one private header.

(WebKit::ViewGestureController::installSwipeHandler):
Separate out the gesture recognizer view from the one that gets swiped.

(WebKit::ViewGestureController::beginSwipeGesture):
Record a snapshot before beginning the swipe. This is important for the back-then-forward
swipe case, and matches the behavior of the Mac implementation.

(WebKit::ViewGestureController::endSwipeGesture):

  • UIProcess/mac/ViewGestureController.h:

Slight geometry adjustments due to the change in targetted view.

10:02 AM Changeset in webkit [163794] by fpizlo@apple.com
  • 5 edits in trunk/Source

JSC environment variables should override other mechanisms for setting options
https://bugs.webkit.org/show_bug.cgi?id=128511

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • runtime/Options.cpp:

(JSC::Options::setOption):

  • runtime/Options.h:

Source/WebKit2:

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

9:58 AM Changeset in webkit [163793] by Darin Adler
  • 29 edits in trunk/Source/WebCore

Automatically generate isRendererOfType in RENDER_OBJECT_TYPE_CASTS
https://bugs.webkit.org/show_bug.cgi?id=128520

Reviewed by Andreas Kling.

  • rendering/RenderObject.h: Updated the RENDER_OBJECT_TYPE_CASTS macro so

that it generates isRendererOfType specializations as well as type casts
and also have the type casts use the isRendererOfType function. The macro
also now uses an argument name of "renderer" and allows for a predicate
that is more than just a single function call (see RenderTextFragment.h).

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.h:
  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.h:
  • rendering/RenderCounter.h:
  • rendering/RenderElement.h:
  • rendering/RenderFrameSet.h:
  • rendering/RenderLayerModelObject.h:
  • rendering/RenderMenuList.h:
  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderRubyRun.h:
  • rendering/RenderTableSection.h:
  • rendering/RenderText.h:
  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLToken.h:
  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGText.h:

Removed specialization of isRendererOfType, since the RENDER_OBJECT_TYPE_CASTS
macro handles that now. Also removed some unneeded semicolons.

  • rendering/RenderTextFragment.h: Use RENDER_OBJECT_TYPE_CASTS instead of

hand written casts, now that it can handle a non-trivial predicate.

  • rendering/RenderCombineText.h:
  • rendering/RenderDetailsMarker.h:
  • rendering/RenderListMarker.h:
  • rendering/RenderVideo.h:
  • rendering/RenderView.h:
  • rendering/mathml/RenderMathMLFraction.h:
  • rendering/mathml/RenderMathMLScripts.h:
  • rendering/mathml/RenderMathMLSpace.h:

Removed unneeded semicolons.

9:46 AM Changeset in webkit [163792] by Darin Adler
  • 8 edits in trunk/Source

Stop using String::deprecatedCharacters to call WTF::Collator
https://bugs.webkit.org/show_bug.cgi?id=128517

Source/JavaScriptCore:

Reviewed by Alexey Proskuryakov.

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncLocaleCompare): Use the default constructor for Collator, which now
gives the default locale collation rules. Use the new arguments for Collator::collate, which
are now StringView. These two changes together eliminate the need for a separate helper function.

Source/WebCore:

Reviewed by Alexey Proskuryakov.

  • xml/XSLTUnicodeSort.cpp:

(WebCore::xsltUnicodeSortFunction): Create the collator in a single line using the
new constructor that takes a shouldSortLowercaseFirst boolean. Use the new
collateUTF8 function instead of upconverting UTF-8 strings to UTF-16 as the old code did.

Source/WTF:

WTF passes ICU’s deprecated ULOC_REQUESTED_LOCALE to ucol_getLocaleByType()
rdar://problem/15183390

Reviewed by Alexey Proskuryakov.

This patch fixes both bugs above by reworking WTF::Collator.

  • wtf/unicode/Collator.h: Fixed formatting. Got rid of the Collator::Result type,

since the collator uses the same return value scheme as strcmp and as ICU; an int
will do for the return type. Simplified the support for UCONFIG_NO_COLLATION by
using a separate copy of the class definition. (We should check if anyone needs
UCONFIG_NO_COLLATION support, and remove it if not.) Changed the lower-first flag
from a separate function to a constructor argument. Changed the arguments to
the collate function to StringView. Added a collate UTF8 function. Changed the
m_collate data member to no longer be mutable since we no longer allocate it lazily.

  • wtf/unicode/CollatorDefault.cpp:

(WTF::Collator::collate): Rewrote to be simpler.
(WTF::Collator::collateUTF8): Added. Converts from UTF-8 to a String and then calls
the collate function above.

  • wtf/unicode/icu/CollatorICU.cpp: Added a FIXME about the fact that this file

has the wrong name and location. Since we always use ICU, there's no need to mention
it in the file name.
(WTF::copyASCIIString): Added.
(WTF::copyDefaultLocale): Added.
(WTF::resolveDefaultLocale): Added. Maps null locale to a default on Mac and iOS,
since on those platforms ICU does not use the correct default locale when passed null.
(WTF::localesMatch): Added.
(WTF::Collator::Collator): Moved most of the code from createCollator here.
Simplified it by storing the collator configuration along with the collator in globals.
(WTF::Collator::~Collator): Moved most of the code from releaseCollator here.
(WTF::getIndexLatin1): Added.
(WTF::moveLatin1): Added.
(WTF::hasNextLatin1): Added.
(WTF::hasPreviousLatin1): Added.
(WTF::currentLatin1): Added.
(WTF::nextLatin1): Added.
(WTF::previousLatin1): Added.
(WTF::getStateLatin1): Added.
(WTF::setStateLatin1): Added.
(WTF::createLatin1Iterator): Added. Uses the functions above to make a UCharIterator
that works for a WTF::StringView-style Latin-1 string.
(WTF::createIterator): Added. Uses either createLatin1Iterator or uiter_setString to
make a UCharIterator that works for a WTF::StringView.
(WTF::Collator::collate): Changed to use ucol_strcollIter.
(WTF::createIteratorUTF8): Added. Uses uiter_setUTF8.
(WTF::Collator::collateUTF8): Added. Like collate, but for null-terminated UTF-8 strings.

9:37 AM Changeset in webkit [163791] by fpizlo@apple.com
  • 2 edits in trunk/LayoutTests

Skip fast/workers/dedicated-worker-lifecycle
https://bugs.webkit.org/show_bug.cgi?id=128537

9:06 AM Changeset in webkit [163790] by fpizlo@apple.com
  • 2 edits in trunk/PerformanceTests/SunSpider

Unreviewed, revert the accidental change from r163789.

  • tests/v8-v6/v8-deltablue.js:
9:04 AM Changeset in webkit [163789] by fpizlo@apple.com
  • 7 edits
    2 adds in trunk

<1/100 probability FTL failure: v8-v6/v8-deltablue.js.ftl-eager: Exception: TypeError: undefined is not an object (evaluating 'c.isInput')
https://bugs.webkit.org/show_bug.cgi?id=128278

Reviewed by Mark Hahnenberg.

Fix another FTL flake due to bytecode liveness corner cases. Hopefully it's the last
one.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock): Make sure that inside a constructor, the 'this' result is always set. This makes it easier to unify the treatment of 'this' for OSR exit: we just say that it's always live.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::isLiveInBytecode): Assume that 'this' is live. We were already sort of doing this for calls because the callsite would claim it to be live. But we didn't do it for constructors. It's true that *at the callsite* 'this' won't be live, but inside the inlined constructor, it almost certainly will be.

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run): I just noticed this benign bug. We should only return 'true' if we actually injected checks.

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub): Make it easier to just dump disassembly for FTL OSR exits.

  • runtime/Options.h: Ditto.
  • tests/stress/inlined-constructor-this-liveness.js: Added.

(Foo):
(foo):

  • tests/stress/inlined-function-this-liveness.js: Added.

(bar):
(foo):

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

Remove unnecessary comment lines.
https://bugs.webkit.org/show_bug.cgi?id=127894

Patch by Changhun Kang <temoochin@company100.net> on 2014-02-10
Reviewed by Darin Adler.

No new tests. No change in behavior.

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::clientHandshakeRequest):

8:50 AM Changeset in webkit [163787] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Actually register those DFG::Safepoints
https://bugs.webkit.org/show_bug.cgi?id=128521

Reviewed by Mark Hahnenberg.

No test because GC + thread + JIT = ???.

  • dfg/DFGSafepoint.cpp:

(JSC::DFG::Safepoint::~Safepoint):
(JSC::DFG::Safepoint::begin):

8:02 AM Changeset in webkit [163786] by commit-queue@webkit.org
  • 3 edits in trunk

Add the CSS_SHAPE_INSIDE to CMake feature list
https://bugs.webkit.org/show_bug.cgi?id=128530

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-02-10
Reviewed by Gyuyoung Kim.

CSS_SHAPE_INSIDE flag was added in r163333,
this patch is adding this flag to CMake feature list.

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:
7:41 AM Changeset in webkit [163785] by mihnea@adobe.com
  • 1 edit
    4 adds in trunk/LayoutTests

[CSSRegions] Add tests for scrolling composited content
https://bugs.webkit.org/show_bug.cgi?id=128527

Reviewed by Andrei Bucur.

Add tests take simulate scrolling in the context of regions and composited content:

  1. scroll an empty region that is composited
  2. scroll a region that displays composited content
  • compositing/regions/composited-content-fixed-region-scrolled-expected.txt: Added.
  • compositing/regions/composited-content-fixed-region-scrolled.html: Added.
  • compositing/regions/fixed-empty-region-scrolled-expected.txt: Added.
  • compositing/regions/fixed-empty-region-scrolled.html: Added.
7:00 AM Changeset in webkit [163784] by Carlos Garcia Campos
  • 11 edits in releases/WebKitGTK/webkit-2.4

Merge r163781 - [GTK] Add API to create a webview related to another one
https://bugs.webkit.org/show_bug.cgi?id=128498

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Add webkit_web_view_new_with_related_view() to create a new
WebView sharing the same web process as the given one.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextCreatePageForWebView): Use the given related
WebView to pass a related WebPageProxy to webkitWebViewBaseCreateWebPage().

  • UIProcess/API/gtk/WebKitWebContextPrivate.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewConstructed): Pass the related web view to webkitWebContextCreatePageForWebView().
(webkitWebViewSetProperty):
(webkit_web_view_class_init): Add related-view construct-only property.
(webkit_web_view_new_with_related_view): New public method to
create a web view with a related one.

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreate): Pass nullptr as related page to webkitWebViewBaseCreateWebPage().
(webkitWebViewBaseCreateWebPage): Use the given related
WebPageProxy to initialize the web page configuration.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.

Tools:

  • MiniBrowser/gtk/BrowserWindow.c:

(webViewCreate): Use webkit_web_view_new_with_related_view() when
creating a new web view for window.open().

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:

(testMultiprocessWebViewCreateReadyClose): Add test case to check
that window.open() works when creating the new WebView related to
the existing one, and that no new web process is spawned when
using webkit_web_view_new_with_related_view().
(beforeAll):

6:55 AM Changeset in webkit [163783] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r163671 - Simplify web page creation
https://bugs.webkit.org/show_bug.cgi?id=128425

Reviewed by Andreas Kling.

Add a WebPageConfiguration class and stick the page group, preferences, session etc there
instead of adding more and more parameters to the WebPageProxy constructor.

Make WebContext::createWebPage fill in the missing pieces in the WebPageConfiguration object.

  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView initWithFrame:configuration:]):
(-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createWebPage):

  • UIProcess/WebContext.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::create):
(WebKit::WebPageProxy::WebPageProxy):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::createWebPage):

  • UIProcess/WebProcessProxy.h:
6:22 AM Changeset in webkit [163782] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.4

Merge r163698 - [GTK] Make process model names properly meaningful
https://bugs.webkit.org/show_bug.cgi?id=128389

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2014-02-08
Reviewed by Carlos Garcia Campos.

The name WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW
is misleading because there are situations in which web views may
share the same web process even when multi-process mode is enabled;
for example when opening a related view and both interact using JS.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkit_web_context_set_process_model):
(webkit_web_context_get_process_model):
Update names of WebKitProcessModel enum values.

  • UIProcess/API/gtk/WebKitWebContext.h:

Ditto.

Tools:

  • MiniBrowser/gtk/main.c:

(main):
Update usage of WebKitProcessModel enum values.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:

(beforeAll):
Ditto.

6:19 AM WebKitGTK/StartHacking edited by Andres Gomez
(diff)
6:18 AM WebKitGTK/StartHacking edited by Andres Gomez
(diff)
5:46 AM Changeset in webkit [163781] by Carlos Garcia Campos
  • 11 edits in trunk

[GTK] Add API to create a webview related to another one
https://bugs.webkit.org/show_bug.cgi?id=128498

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Add webkit_web_view_new_with_related_view() to create a new
WebView sharing the same web process as the given one.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextCreatePageForWebView): Use the given related
WebView to pass a related WebPageProxy to webkitWebViewBaseCreateWebPage().

  • UIProcess/API/gtk/WebKitWebContextPrivate.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewConstructed): Pass the related web view to webkitWebContextCreatePageForWebView().
(webkitWebViewSetProperty):
(webkit_web_view_class_init): Add related-view construct-only property.
(webkit_web_view_new_with_related_view): New public method to
create a web view with a related one.

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreate): Pass nullptr as related page to webkitWebViewBaseCreateWebPage().
(webkitWebViewBaseCreateWebPage): Use the given related
WebPageProxy to initialize the web page configuration.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.

Tools:

  • MiniBrowser/gtk/BrowserWindow.c:

(webViewCreate): Use webkit_web_view_new_with_related_view() when
creating a new web view for window.open().

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:

(testMultiprocessWebViewCreateReadyClose): Add test case to check
that window.open() works when creating the new WebView related to
the existing one, and that no new web process is spawned when
using webkit_web_view_new_with_related_view().
(beforeAll):

5:16 AM Changeset in webkit [163780] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

If not running on Mac, build-webkit should not print Safari related output
https://bugs.webkit.org/show_bug.cgi?id=127169

Patch by Eva Balazsfalvi <balazsfalvi.eva@stud.u-szeged.hu> on 2014-02-10
Reviewed by Darin Adler.

  • Scripts/build-webkit:

(writeCongrats):

  • Scripts/webkitdirs.pm:

(isAppleWebKit):
(isAppleMacWebKit):
(isAppleWinWebKit):
(launcherName):

5:04 AM Changeset in webkit [163779] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL] Spelling unit tests should use ecore_main_loop_iterate()
https://bugs.webkit.org/show_bug.cgi?id=127427

Patch by Lukasz Bialek <l.bialek@samsung.com> on 2014-02-10
Reviewed by Gyuyoung Kim.

r148670 gets rid of EFL's idlers in a favor of timers to load languages.
ecore_main_loop_iterate() can be used now.

Add function that loads spellchecking languages and waits for loading
to be finished:

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:

(EWK2UnitTest::EWK2UnitTestBase::waitForLanguageLoading):

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:

Apply added function to tests that should wait for languages to be loaded:

  • UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:

(EWK2TextCheckerTest::resetCallbacksExecutionStats):
(TEST_F):

5:02 AM Changeset in webkit [163778] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Minibrowser: During text search, make navigation through list of matched words circular
https://bugs.webkit.org/show_bug.cgi?id=128463

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-02-10
Reviewed by Carlos Garcia Campos.

Initialize search options to WEBKIT_FIND_OPTIONS_WRAP_AROUND to make navigation
circular.

  • MiniBrowser/gtk/BrowserSearchBar.c:

(doSearch):

3:41 AM Changeset in webkit [163777] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Fix EFL build with INSPECTOR disabled
https://bugs.webkit.org/show_bug.cgi?id=125064

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-02-10
Reviewed by Csaba Osztrogonác.

Source/JavaScriptCore:

  • inspector/InjectedScriptManager.h:
  • inspector/ScriptDebugServer.cpp:
  • inspector/agents/InspectorAgent.h:
  • inspector/scripts/CodeGeneratorInspectorStrings.py:

(Inspector):

Source/WebCore:

  • bindings/js/PageScriptDebugServer.cpp:
  • bindings/js/PageScriptDebugServer.h:
  • bindings/js/WorkerScriptDebugServer.cpp:
  • bindings/js/WorkerScriptDebugServer.h:
  • inspector/PageInjectedScriptManager.h:
3:25 AM Changeset in webkit [163776] by commit-queue@webkit.org
  • 4 edits in trunk

Code cleanup: Remove BUILDING_ON / TARGETING definitions.
https://bugs.webkit.org/show_bug.cgi?id=128242

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2014-02-10
Reviewed by Brent Fulgham.

The BUILDING_ON_* and TARGETING_* macros have not been used for a while.
According to the FIXME: they are removed.

Source/WTF:

  • wtf/Platform.h:

Tools:

  • DumpRenderTree/config.h:
1:31 AM Changeset in webkit [163775] by Carlos Garcia Campos
  • 28 edits
    3 copies in releases/WebKitGTK/webkit-2.4

Merge r163749 - [GTK] Enable touch features
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

  • Source/autotools/SetupWebKitFeatures.m4:
  • Source/cmake/OptionsGTK.cmake: set ENABLE_TOUCH_EVENTS to 1 if building with GTK+.

Source/WebCore: [GTK] Add touch-events related code to build
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

Tests in fast/events/touch have been enabled on GTK+ now that touch
support is implemented, and thus all expected bits are there.

  • platform/gtk/GtkTouchContextHelper.cpp:
  • platform/gtk/GtkTouchContextHelper.h: Add helper object to track all touchpoints, handy

when creating WebTouchEvents.

  • GNUmakefile.list.am:
  • PlatformGTK.cmake:
  • bindings/gobject/GNUmakefile.am: Add touch related code and idls to build, those are

necessary now that GTK+ implements touch events.

Source/WebKit/gtk: [GTK] Allow building with touch events enabled
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

Even though WebKit1 GTK code doesn't implement touch events,
Fix build if ENABLE_TOUCH_EVENTS is present for WK2.

  • WebCoreSupport/ChromeClientGtk.h:

(WebKit::ChromeClient::needTouchEvents): Add empty stub

Source/WebKit2: [GTK] Implement support touch events
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

In GTK+ >= 3.4.0, GdkEventTouch is available to inform about multitouch events. Use these to implement
touch events on this platform. If a touch is left unhandled and is the "pointer emulating" one, mouse
events will be generated as a fallback.

  • GNUmakefile.list.am:
  • PlatformGTK.cmake:
  • Shared/gtk/NativeWebTouchEventGtk.cpp:
  • Shared/NativeWebTouchEvent.h:

(WebKit::NativeWebTouchEvent::nativeEvent):
(WebKit::NativeWebTouchEvent::touchContext): Add GTK+ implementation of NativeWebTouchEvent.

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::touchPhaseFromEvents):
(WebKit::WebEventFactory::createWebTouchEvent): Add methods to generate WebTouchEvents out
of GdkEventTouch events, a GtkTouchContextHelper object is used to hold information about all current
touches, in order to build information about all individual touchpoints.

  • Shared/gtk/WebEventFactory.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::doneWithTouchEvent): Implement pointer emulation. If a touch event was unhandled
in DOM and pertains to the touch sequence that emulates pointer events. The event gets transformed to its
mouse event counterpart and handled by the widget again.

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize): Listen for touch events
(webkitWebViewBaseTouchEvent):
(webkit_web_view_base_class_init): Add implementation for the touch_events() handler, this merely
lets the pageProxy handle the NativeWebTouchEvent we create to wrap the GdkEvent received.

Tools: [GTK] Enable touch features
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::updateEventCoordinates):
(WTR::EventSenderProxy::createTouchEvent):
(WTR::EventSenderProxy::addTouchPoint):
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::EventSenderProxy::sendUpdatedTouchEvents):
(WTR::EventSenderProxy::setTouchPointRadius):
(WTR::EventSenderProxy::setTouchModifier): Implement touch event proxying.

LayoutTests: [GTK] Enable touch features
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

  • platform/gtk/TestExpectations: remove fast/events/touch
  • platform/gtk-wk2/TestExpectations: Add new expectations on

fast/events/touch events.

1:08 AM Changeset in webkit [163774] by zandobersek@gmail.com
  • 4 edits in trunk

Fix a few mistakes that landed with r163749.

Rubber-stamped by Carlos Garcia Campos.

Source/WebCore:

  • platform/gtk/GtkTouchContextHelper.cpp:

(WebCore::GtkTouchContextHelper::handleEvent): When handling GDK_TOUCH_BEGIN, the assertion
should ensure that the sequence-to-event map doesn't yet contain pairs with the specific
sequence as the key.

Tools:

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::EventSenderProxy::addTouchPoint): Avoid using the GUniquePtr<GdkEvent> after it's been moved
into the event vector since moving it invalidates the variable.

12:32 AM Changeset in webkit [163773] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Tools

Merge r163375 - [Automake] Add missing $(feature_defines) when generating InjectedBundle bindings
https://bugs.webkit.org/show_bug.cgi?id=128170

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-04
Reviewed by Carlos Garcia Campos.

  • WebKitTestRunner/GNUmakefile.am: Add missing $(feature_defines) when

generating the InjectedBundle bindings. So the various ENABLE_* defines
are available there.

12:28 AM Changeset in webkit [163772] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Tools

Merge r163373 - [GTK] Ensure generated events have given modifiers GDK understands
https://bugs.webkit.org/show_bug.cgi?id=128171

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-04
Reviewed by Carlos Garcia Campos.

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::webkitModifiersToGDKModifiers): Move around
(WTR::EventSenderProxy::createMouseButtonEvent):

12:27 AM Changeset in webkit [163771] by mihnea@adobe.com
  • 1 edit
    2 adds in trunk/LayoutTests

[CSS Regions] Fix Propagating Border and Padding for Inline Replaced Elements Flowed in Regions
https://bugs.webkit.org/show_bug.cgi?id=123143

Reviewed by Andrei Bucur.

Add test to make sure that outlines and borders are properly painted for inline replaced
transformed elements, having margins and paddings, displayed in region.

  • compositing/regions/inline-replaced-transformed-in-region-expected.html: Added.
  • compositing/regions/inline-replaced-transformed-in-region.html: Added.
12:23 AM Changeset in webkit [163770] by ddkilzer@apple.com
  • 6 edits in trunk/Source/WebCore

Add type-safe casts for ContentData subclasses
<http://webkit.org/b/128510>

Reviewed by Darin Adler.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::contentToCSSValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImages):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::createFor):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setContent):

  • Switch to toFooContentData() methods.
  • rendering/style/ContentData.h:
  • Define toFooContentData() methods.
  • Extract FooContentData::equals() methods so that the toFooContentData() methods can be used.
12:15 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:13 AM Changeset in webkit [163769] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r163748 - Unreviewed, rolling out r162768.
http://trac.webkit.org/changeset/162768
https://bugs.webkit.org/show_bug.cgi?id=128495

Causes crashes on GTK WK2 in three fast/forms tests.
(Requested by zdobersek on #webkit).

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::showPopupMenu):

12:10 AM Changeset in webkit [163768] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r163435 - MediaPlayerPrivateGStreamerBase should have virtual destructor
https://bugs.webkit.org/show_bug.cgi?id=128238

Reviewed by Carlos Garcia Campos.

MediaPlayerPrivateGStreamer inherit MediaPlayerPrivateGStreamerBase.
So MediaPlayerPrivateGStreamerBase should have virtual destructor.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Made destructor as virtual.
12:04 AM Changeset in webkit [163767] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r163292 - Fix wrong mix of fcntl commands and flags
https://bugs.webkit.org/show_bug.cgi?id=127842

Reviewed by Darin Adler.

We are mixing the commands to set file descriptor and file status
flags in a couple of fcntl() calls. FD_CLOEXEC must be set using
F_SETFD, and the access mode flags (O_RDONLY, O_WRONLY, O_RDWR)
with F_SETFL.

This combines patches by Guillem Jover and Sergio Correia.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::readBytesFromSocket):

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::createHandle):

12:04 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)

Feb 9, 2014:

11:59 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
11:41 PM Changeset in webkit [163766] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit

Stop relinking WebKit on every build.

  • WebKit.xcodeproj/project.pbxproj: Fix the case on an input file for the Generate Export Files

script phase so it will run only when the inputs change rather than on every build.

11:23 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
11:21 PM Changeset in webkit [163765] by fpizlo@apple.com
  • 16 edits
    7 adds in trunk/Source/JavaScriptCore

GC blocks on FTL and then badness
https://bugs.webkit.org/show_bug.cgi?id=128291

Reviewed by Oliver Hunt.

Introduce the notion of a DFG::Safepoint, which allows you to unlock the rightToRun
mutex for your JIT thread, while supplying the GC with all of the information it would
need to scan you at that moment in time. The default way of using this is
DFG::GraphSafepoint, where you just supply the Graph. There's a lot of machinery in
this patch just to make the Graph scannable.

We then use DFG::GraphSafepoint in just two places for now: (1) while initializing LLVM
and (2) while invoking LLVM' optimizer and backend.

This is a 30% speed-up on Octane/typescript and a 10% speed-up on Octane/gbemu. 2-3%
speed-up overall on Octane.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::visitChildren):

  • dfg/DFGGraph.h:
  • dfg/DFGGraphSafepoint.cpp: Added.

(JSC::DFG::GraphSafepoint::GraphSafepoint):
(JSC::DFG::GraphSafepoint::~GraphSafepoint):

  • dfg/DFGGraphSafepoint.h: Added.
  • dfg/DFGOperations.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPlan.h:
  • dfg/DFGSafepoint.cpp: Added.

(JSC::DFG::Safepoint::Safepoint):
(JSC::DFG::Safepoint::~Safepoint):
(JSC::DFG::Safepoint::add):
(JSC::DFG::Safepoint::begin):
(JSC::DFG::Safepoint::visitChildren):

  • dfg/DFGSafepoint.h: Added.
  • dfg/DFGScannable.h: Added.

(JSC::DFG::Scannable::Scannable):
(JSC::DFG::Scannable::~Scannable):

  • dfg/DFGThreadData.cpp: Added.

(JSC::DFG::ThreadData::ThreadData):
(JSC::DFG::ThreadData::~ThreadData):

  • dfg/DFGThreadData.h: Added.
  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::finishCreation):
(JSC::DFG::Worklist::visitChildren):
(JSC::DFG::Worklist::runThread):

  • dfg/DFGWorklist.h:
  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • heap/SlotVisitor.h:
  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::appendUnbarrieredReadOnlyPointer):
(JSC::SlotVisitor::appendUnbarrieredReadOnlyValue):

10:02 PM Changeset in webkit [163764] by commit-queue@webkit.org
  • 12 edits
    6 adds
    3 deletes in trunk

-webkit-clip-path should support fill, stroke, view-box keywords
https://bugs.webkit.org/show_bug.cgi?id=128393

Source/WebCore:

Patch by Dirk Schulze <dschulze@chromium.org> on 2014-02-09
Reviewed by Dean Jackson.

CSS Masking uses the keywords fill, stroke and view-box for SVG shapes.
This patch updates the parser, style resolver and SVG implementation of
the prefixed clip-path property.

Remove the unexposed and obsolete keyword bounding-box.

Tests: svg/clip-path/clip-path-shape-fill-expected.svg

svg/clip-path/clip-path-shape-fill.svg
svg/clip-path/clip-path-shape-stroke-expected.svg
svg/clip-path/clip-path-shape-stroke.svg
svg/clip-path/clip-path-shape-view-box-expected.svg
svg/clip-path/clip-path-shape-view-box.svg

  • css/CSSParser.cpp: Parse fill, stroke, view-box. Remove bounding-box.

(WebCore::isBoxValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator LayoutBox):

  • css/CSSValueKeywords.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyClipPath::applyValue):

  • rendering/RenderLayer.cpp:

(WebCore::computeReferenceBox):

  • rendering/shapes/ShapeInfo.h:

(WebCore::ShapeInfo::setShapeSize):
(WebCore::ShapeInfo::logicalTopOffset):
(WebCore::ShapeInfo::logicalLeftOffset):

  • rendering/style/RenderStyleConstants.h:
  • rendering/svg/SVGRenderingContext.cpp: Use different reference boxes per keyword.

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

LayoutTests:

Patch by Dirk Schulze <krit@webkit.org> on 2014-02-09
Reviewed by Dean Jackson.

Update or add new tests for changed clip-path keywords.

  • css3/masking/clip-path-circle-bounding-box.html: Removed.
  • fast/masking/parsing-clip-path-shape.html:
  • platform/mac/css3/masking/clip-path-circle-bounding-box-expected.png: Removed.
  • platform/mac/css3/masking/clip-path-circle-bounding-box-expected.txt: Removed.
  • svg/clip-path/clip-path-shape-fill-expected.svg: Added.
  • svg/clip-path/clip-path-shape-fill.svg: Added.
  • svg/clip-path/clip-path-shape-stroke-expected.svg: Added.
  • svg/clip-path/clip-path-shape-stroke.svg: Added.
  • svg/clip-path/clip-path-shape-view-box-expected.svg: Added.
  • svg/clip-path/clip-path-shape-view-box.svg: Added.
9:40 PM Changeset in webkit [163763] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

[WebGL] Remove state restorer code
https://bugs.webkit.org/show_bug.cgi?id=128516

Reviewed by Dirk Schulze.

I'm not sure what the point of the WebGLStateRestorer class was. It was
always constructed with a false parameter, and then wasn't even retained
in local scope (so wouldn't have worked anyway). Meanwhile there were
also LOTS of calls to cleanupAfterGraphicsCall, the majority of which
were a no-op. I replaced the handful of cleanupAfterGraphicsCall(true)
with the call to markContextChanged().

  • html/canvas/OESVertexArrayObject.cpp:

(WebCore::OESVertexArrayObject::bindVertexArrayOES):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::activeTexture):
(WebCore::WebGLRenderingContext::attachShader):
(WebCore::WebGLRenderingContext::bindAttribLocation):
(WebCore::WebGLRenderingContext::bindBuffer):
(WebCore::WebGLRenderingContext::bindFramebuffer):
(WebCore::WebGLRenderingContext::bindRenderbuffer):
(WebCore::WebGLRenderingContext::bindTexture):
(WebCore::WebGLRenderingContext::blendColor):
(WebCore::WebGLRenderingContext::blendEquation):
(WebCore::WebGLRenderingContext::blendEquationSeparate):
(WebCore::WebGLRenderingContext::blendFunc):
(WebCore::WebGLRenderingContext::blendFuncSeparate):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::checkFramebufferStatus):
(WebCore::WebGLRenderingContext::clear):
(WebCore::WebGLRenderingContext::clearColor):
(WebCore::WebGLRenderingContext::clearDepth):
(WebCore::WebGLRenderingContext::clearStencil):
(WebCore::WebGLRenderingContext::colorMask):
(WebCore::WebGLRenderingContext::compileShader):
(WebCore::WebGLRenderingContext::compressedTexImage2D):
(WebCore::WebGLRenderingContext::compressedTexSubImage2D):
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::cullFace):
(WebCore::WebGLRenderingContext::depthFunc):
(WebCore::WebGLRenderingContext::depthMask):
(WebCore::WebGLRenderingContext::depthRange):
(WebCore::WebGLRenderingContext::detachShader):
(WebCore::WebGLRenderingContext::disable):
(WebCore::WebGLRenderingContext::disableVertexAttribArray):
(WebCore::WebGLRenderingContext::validateDrawArrays):
(WebCore::WebGLRenderingContext::drawArrays):
(WebCore::WebGLRenderingContext::validateDrawElements):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::enable):
(WebCore::WebGLRenderingContext::enableVertexAttribArray):
(WebCore::WebGLRenderingContext::finish):
(WebCore::WebGLRenderingContext::flush):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer):
(WebCore::WebGLRenderingContext::framebufferTexture2D):
(WebCore::WebGLRenderingContext::frontFace):
(WebCore::WebGLRenderingContext::generateMipmap):
(WebCore::WebGLRenderingContext::getBufferParameter):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getProgramParameter):
(WebCore::WebGLRenderingContext::getProgramInfoLog):
(WebCore::WebGLRenderingContext::getRenderbufferParameter):
(WebCore::WebGLRenderingContext::getShaderParameter):
(WebCore::WebGLRenderingContext::getShaderInfoLog):
(WebCore::WebGLRenderingContext::getTexParameter):
(WebCore::WebGLRenderingContext::getUniform):
(WebCore::WebGLRenderingContext::getUniformLocation):
(WebCore::WebGLRenderingContext::getVertexAttrib):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::hint):
(WebCore::WebGLRenderingContext::lineWidth):
(WebCore::WebGLRenderingContext::linkProgram):
(WebCore::WebGLRenderingContext::pixelStorei):
(WebCore::WebGLRenderingContext::polygonOffset):
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::releaseShaderCompiler):
(WebCore::WebGLRenderingContext::renderbufferStorage):
(WebCore::WebGLRenderingContext::sampleCoverage):
(WebCore::WebGLRenderingContext::scissor):
(WebCore::WebGLRenderingContext::shaderSource):
(WebCore::WebGLRenderingContext::stencilFunc):
(WebCore::WebGLRenderingContext::stencilFuncSeparate):
(WebCore::WebGLRenderingContext::stencilMask):
(WebCore::WebGLRenderingContext::stencilMaskSeparate):
(WebCore::WebGLRenderingContext::stencilOp):
(WebCore::WebGLRenderingContext::stencilOpSeparate):
(WebCore::WebGLRenderingContext::texImage2DBase):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texParameter):
(WebCore::WebGLRenderingContext::texSubImage2DBase):
(WebCore::WebGLRenderingContext::uniform1f):
(WebCore::WebGLRenderingContext::uniform1fv):
(WebCore::WebGLRenderingContext::uniform1i):
(WebCore::WebGLRenderingContext::uniform1iv):
(WebCore::WebGLRenderingContext::uniform2f):
(WebCore::WebGLRenderingContext::uniform2fv):
(WebCore::WebGLRenderingContext::uniform2i):
(WebCore::WebGLRenderingContext::uniform2iv):
(WebCore::WebGLRenderingContext::uniform3f):
(WebCore::WebGLRenderingContext::uniform3fv):
(WebCore::WebGLRenderingContext::uniform3i):
(WebCore::WebGLRenderingContext::uniform3iv):
(WebCore::WebGLRenderingContext::uniform4f):
(WebCore::WebGLRenderingContext::uniform4fv):
(WebCore::WebGLRenderingContext::uniform4i):
(WebCore::WebGLRenderingContext::uniform4iv):
(WebCore::WebGLRenderingContext::uniformMatrix2fv):
(WebCore::WebGLRenderingContext::uniformMatrix3fv):
(WebCore::WebGLRenderingContext::uniformMatrix4fv):
(WebCore::WebGLRenderingContext::useProgram):
(WebCore::WebGLRenderingContext::validateProgram):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
(WebCore::WebGLRenderingContext::viewport):
(WebCore::WebGLRenderingContext::vertexAttribfImpl):
(WebCore::WebGLRenderingContext::vertexAttribfvImpl):
(WebCore::WebGLRenderingContext::drawArraysInstanced):
(WebCore::WebGLRenderingContext::drawElementsInstanced):

  • html/canvas/WebGLRenderingContext.h:
9:40 PM Changeset in webkit [163762] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Remove unused layer owner from WebGLLayer
https://bugs.webkit.org/show_bug.cgi?id=128512

Reviewed by Dirk Schulze.

The m_layerOwner and ObjC category were not
used anywhere.

  • platform/graphics/mac/WebGLLayer.h:
  • platform/graphics/mac/WebGLLayer.mm:

(-[WebGLLayer display]):

8:10 PM Changeset in webkit [163761] by ryuan.choi@samsung.com
  • 10 edits
    2 deletes in trunk/Source

[EFL] Remove PageClientEfl
https://bugs.webkit.org/show_bug.cgi?id=128508

Reviewed by Andreas Kling.

Source/WebCore:

PageClientEfl was introduced for accelerated compositing of WebKit1, but
it's bad idea because it's layer violation.
Indeed, it has never been used since introduced.

  • platform/Widget.h: Back to PlatformPageClient to Evas_Object.
  • platform/graphics/efl/GraphicsContext3DPrivate.cpp:

Removed empty method which use PageClientEfl.

  • platform/graphics/efl/GraphicsContext3DPrivate.h: Ditto.

Source/WebKit:

  • PlatformEfl.cmake: Removed PageClientEfl.cpp

Source/WebKit/efl:

  • WebCoreSupport/AcceleratedCompositingContextEfl.cpp:

Removed dependencies of PageClientEfl.
(WebCore::AcceleratedCompositingContext::initialize):

  • WebCoreSupport/ChromeClientEfl.cpp:

(WebCore::ChromeClientEfl::platformPageClient):

  • WebCoreSupport/PageClientEfl.cpp: Removed.
  • WebCoreSupport/PageClientEfl.h: Removed.
  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):

6:51 PM Changeset in webkit [163760] by fpizlo@apple.com
  • 181 edits in trunk/Source/JavaScriptCore

Never include *Inlines.h files in interface headers, and never include *Inlines.h when you could include Operations.h instead
https://bugs.webkit.org/show_bug.cgi?id=128505

Reviewed by Mark Hahnenberg and Oliver Hunt.

  • API/JSContextRef.cpp:
  • assembler/LinkBuffer.cpp:
  • bytecode/ArrayProfile.cpp:
  • bytecode/BytecodeBasicBlock.cpp:
  • bytecode/BytecodeLivenessAnalysisInlines.h:
  • bytecode/CallLinkInfo.cpp:
  • bytecode/CodeBlock.cpp:
  • bytecode/CodeBlock.h:
  • bytecode/CodeBlockJettisoningWatchpoint.cpp:
  • bytecode/ExecutionCounter.cpp:
  • bytecode/MethodOfGettingAValueProfile.cpp:
  • bytecode/PreciseJumpTargets.cpp:
  • bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp:
  • bytecode/SamplingTool.cpp:
  • bytecode/SpecialPointer.cpp:
  • bytecode/StructureStubClearingWatchpoint.cpp:
  • debugger/DebuggerCallFrame.cpp:
  • dfg/DFGAbstractHeap.cpp:
  • dfg/DFGAbstractValue.cpp:
  • dfg/DFGArgumentsSimplificationPhase.cpp:
  • dfg/DFGArithMode.cpp:
  • dfg/DFGArrayMode.cpp:
  • dfg/DFGAtTailAbstractState.cpp:
  • dfg/DFGAvailability.cpp:
  • dfg/DFGBackwardsPropagationPhase.cpp:
  • dfg/DFGBasicBlock.cpp:
  • dfg/DFGBinarySwitch.cpp:
  • dfg/DFGBlockInsertionSet.cpp:
  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGCFAPhase.cpp:
  • dfg/DFGCFGSimplificationPhase.cpp:
  • dfg/DFGCPSRethreadingPhase.cpp:
  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGCapabilities.cpp:
  • dfg/DFGClobberSet.cpp:
  • dfg/DFGClobberize.cpp:
  • dfg/DFGCommon.cpp:
  • dfg/DFGCommonData.cpp:
  • dfg/DFGCompilationKey.cpp:
  • dfg/DFGCompilationMode.cpp:
  • dfg/DFGConstantFoldingPhase.cpp:
  • dfg/DFGCriticalEdgeBreakingPhase.cpp:
  • dfg/DFGDCEPhase.cpp:
  • dfg/DFGDesiredIdentifiers.cpp:
  • dfg/DFGDesiredStructureChains.cpp:
  • dfg/DFGDesiredTransitions.cpp:
  • dfg/DFGDesiredWatchpoints.cpp:
  • dfg/DFGDisassembler.cpp:
  • dfg/DFGDisassembler.h:
  • dfg/DFGDominators.cpp:
  • dfg/DFGEdge.cpp:
  • dfg/DFGFailedFinalizer.cpp:
  • dfg/DFGFinalizer.cpp:
  • dfg/DFGFixupPhase.cpp:
  • dfg/DFGFlushFormat.cpp:
  • dfg/DFGFlushLivenessAnalysisPhase.cpp:
  • dfg/DFGFlushedAt.cpp:
  • dfg/DFGGraph.cpp:
  • dfg/DFGInPlaceAbstractState.cpp:
  • dfg/DFGInvalidationPointInjectionPhase.cpp:
  • dfg/DFGJITCode.cpp:
  • dfg/DFGJITCompiler.cpp:
  • dfg/DFGJITCompiler.h:
  • dfg/DFGJITFinalizer.cpp:
  • dfg/DFGJumpReplacement.cpp:
  • dfg/DFGLICMPhase.cpp:
  • dfg/DFGLazyJSValue.cpp:
  • dfg/DFGLivenessAnalysisPhase.cpp:
  • dfg/DFGLongLivedState.cpp:
  • dfg/DFGLoopPreHeaderCreationPhase.cpp:
  • dfg/DFGMinifiedNode.cpp:
  • dfg/DFGNaturalLoops.cpp:
  • dfg/DFGNode.cpp:
  • dfg/DFGNodeFlags.cpp:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
  • dfg/DFGOSREntry.cpp:
  • dfg/DFGOSREntrypointCreationPhase.cpp:
  • dfg/DFGOSRExit.cpp:
  • dfg/DFGOSRExitBase.cpp:
  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler32_64.cpp:
  • dfg/DFGOSRExitCompiler64.cpp:
  • dfg/DFGOSRExitCompilerCommon.cpp:
  • dfg/DFGOSRExitJumpPlaceholder.cpp:
  • dfg/DFGOSRExitPreparation.cpp:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPhase.cpp:
  • dfg/DFGPlan.cpp:
  • dfg/DFGPredictionInjectionPhase.cpp:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGResurrectionForValidationPhase.cpp:
  • dfg/DFGSSAConversionPhase.cpp:
  • dfg/DFGSSALoweringPhase.cpp:
  • dfg/DFGSpeculativeJIT.cpp:
  • dfg/DFGSpeculativeJIT32_64.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:
  • dfg/DFGStackLayoutPhase.cpp:
  • dfg/DFGStoreBarrierElisionPhase.cpp:
  • dfg/DFGStrengthReductionPhase.cpp:
  • dfg/DFGThunks.cpp:
  • dfg/DFGTierUpCheckInjectionPhase.cpp:
  • dfg/DFGToFTLDeferredCompilationCallback.cpp:
  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
  • dfg/DFGTypeCheckHoistingPhase.cpp:
  • dfg/DFGUnificationPhase.cpp:
  • dfg/DFGUseKind.cpp:
  • dfg/DFGValidate.cpp:
  • dfg/DFGValueSource.cpp:
  • dfg/DFGVariableAccessDataDump.cpp:
  • dfg/DFGVariableEvent.cpp:
  • dfg/DFGVariableEventStream.cpp:
  • dfg/DFGVirtualRegisterAllocationPhase.cpp:
  • dfg/DFGWatchpointCollectionPhase.cpp:
  • dfg/DFGWorklist.cpp:
  • disassembler/Disassembler.cpp:
  • ftl/FTLLink.cpp:
  • ftl/FTLOSRExitCompiler.cpp:
  • ftl/FTLSlowPathCall.cpp:
  • ftl/FTLThunks.cpp:

(JSC::FTL::slowPathCallThunkGenerator):

  • heap/BlockAllocator.cpp:
  • heap/CodeBlockSet.cpp:
  • heap/ConservativeRoots.cpp:
  • heap/DeferGC.cpp:
  • heap/GCThread.cpp:
  • heap/GCThreadSharedData.cpp:
  • heap/HeapTimer.cpp:
  • heap/IncrementalSweeper.cpp:
  • heap/JITStubRoutineSet.cpp:
  • heap/MachineStackMarker.cpp:
  • heap/MarkStack.cpp:
  • heap/MarkedAllocator.cpp:
  • heap/MarkedSpace.cpp:
  • heap/SuperRegion.cpp:
  • heap/Weak.cpp:
  • heap/WeakHandleOwner.cpp:
  • heap/WeakSet.cpp:
  • heap/WriteBarrierBuffer.cpp:
  • heap/WriteBarrierSupport.cpp:
  • inspector/ScriptCallStackFactory.cpp:
  • interpreter/AbstractPC.cpp:
  • interpreter/JSStack.cpp:
  • interpreter/ProtoCallFrame.cpp:
  • interpreter/VMInspector.cpp:
  • jit/ArityCheckFailReturnThunks.cpp:
  • jit/AssemblyHelpers.cpp:
  • jit/ExecutableAllocator.cpp:
  • jit/ExecutableAllocatorFixedVMPool.cpp:
  • jit/GCAwareJITStubRoutine.cpp:
  • jit/HostCallReturnValue.cpp:
  • jit/JITDisassembler.cpp:
  • jit/JITDisassembler.h:
  • jit/JITExceptions.cpp:
  • jit/JITInlines.h:
  • jit/JITOperations.cpp:
  • jit/JITOperationsMSVC64.cpp:
  • jit/JITStubRoutine.cpp:
  • jit/JITStubs.cpp:
  • jit/JITToDFGDeferredCompilationCallback.cpp:
  • jit/RegisterPreservationWrapperGenerator.cpp:
  • jit/RegisterSet.cpp:
  • jit/Repatch.cpp:
  • jit/TempRegisterSet.cpp:
  • jsc.cpp:
  • parser/Lexer.cpp:
  • parser/Parser.cpp:
  • parser/ParserArena.cpp:
  • parser/SourceCode.cpp:
  • parser/SourceProvider.cpp:
  • parser/SourceProviderCache.cpp:
  • profiler/ProfileGenerator.cpp:
  • runtime/Arguments.cpp:
  • runtime/ArgumentsIteratorPrototype.cpp:
  • runtime/CommonSlowPathsExceptions.cpp:
  • runtime/JSArgumentsIterator.cpp:
  • runtime/JSFunction.cpp:
  • runtime/JSGlobalObjectFunctions.cpp:
  • runtime/ObjectConstructor.cpp:
  • runtime/Operations.h:
  • runtime/VM.cpp:
5:09 PM Changeset in webkit [163759] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, don't mark isHostFunction() inline in the header file because that really confuses EFL.

  • runtime/JSFunction.h:
4:26 PM Changeset in webkit [163758] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS][wk2] ASSERT(WebThreadIsCurrent()) in [WebDisplayLinkHandler handleDisplayLink:]
https://bugs.webkit.org/show_bug.cgi?id=128490

Reviewed by Simon Fraser.

  • platform/graphics/ios/DisplayRefreshMonitorIOS.mm:

(-[WebDisplayLinkHandler handleDisplayLink:]):
[WebDisplayLinkHandler handleDisplayLink:] has an ASSERT(WebThreadIsCurrent()).

We don't use the Web Thread in WebKit2, but it looks like isMainThread()
does the right thing (main thread if web thread is disabled, web thread
otherwise), so use that instead.

3:52 PM Changeset in webkit [163757] by andersca@apple.com
  • 17 edits in trunk/Source

Add WTF_MAKE_FAST_ALLOCATED to more classes
https://bugs.webkit.org/show_bug.cgi?id=128506

Reviewed by Andreas Kling.

Source/JavaScriptCore:

  • bytecode/UnlinkedInstructionStream.h:
  • runtime/SymbolTable.h:
  • runtime/WriteBarrier.h:

Source/WebCore:

  • dom/Node.h:
  • dom/ScriptElement.h:
  • loader/ImageLoader.h:
  • loader/cache/CachedResourceClient.h:
  • platform/TreeShared.h:
  • platform/graphics/GlyphMetricsMap.h:
  • rendering/InlineBox.h:
  • rendering/RenderLayer.h:
  • rendering/RenderObject.h:

Source/WTF:

  • wtf/Bag.h:
  • wtf/ListHashSet.h:
3:32 PM Changeset in webkit [163756] by mhahnenberg@apple.com
  • 4 edits
    2 adds in trunk/Source/JavaScriptCore

Objective-C API NSDate conversion is off by 1000x (ms vs s)
https://bugs.webkit.org/show_bug.cgi?id=128386

Reviewed by Michael Saboff.

  • API/JSValue.mm:

(valueToObjectWithoutCopy):
(valueToDate):
(objectToValueWithoutCopy):

  • API/tests/DateTests.h: Added.
  • API/tests/DateTests.mm: Added.

(+[DateTests NSDateToJSDateTest]):
(+[DateTests JSDateToNSDateTest]):
(+[DateTests roundTripThroughJSDateTest]):
(+[DateTests roundTripThroughObjCDateTest]):

  • API/tests/testapi.mm:

(checkResult):

1:33 PM Changeset in webkit [163755] by akling@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Pass VM instead of ExecState to JSCell::fastGetOwnProperty().
<https://webkit.org/b/128497>

Knocks off a couple of instructions.

Reviewed by Anders Carlsson.

  • dfg/DFGOperations.cpp:
  • jit/JITOperations.cpp:

(JSC::getByVal):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::getByVal):

  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::fastGetOwnProperty):

1:32 PM Changeset in webkit [163754] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Reduce ref churn in ChildNodesLazySnapshot iteration.
<https://webkit.org/b/128492>

Add a missing release() in ChildNodesLazySnapshot::nextNode()
so we don't have to churn the ref count.

Reviewed by Sam Weinig.

  • dom/ContainerNode.h:

(WebCore::ChildNodesLazySnapshot::nextNode):

1:31 PM Changeset in webkit [163753] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Reduce ref churn in ChildInsertionNotifier.
<https://webkit.org/b/128494>

All callers of notifyNodeInsertedIntoDocument() already hold a strong
reference on the Node, so there's no need to ref it again inside.

Reviewed by Anders Carlsson.

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):

10:47 AM Changeset in webkit [163752] by andersca@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Convert some JSC code over to std::mutex
https://bugs.webkit.org/show_bug.cgi?id=128500

Reviewed by Dan Bernstein.

  • API/JSVirtualMachine.mm:

(wrapperCacheMutex):
(+[JSVMWrapperCache addWrapper:forJSContextGroupRef:]):
(+[JSVMWrapperCache wrapperForJSContextGroupRef:]):

  • heap/GCThreadSharedData.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::mergeOpaqueRoots):

  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::containsOpaqueRootTriState):

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

(Inspector::RemoteInspector::registerDebuggable):
(Inspector::RemoteInspector::unregisterDebuggable):
(Inspector::RemoteInspector::updateDebuggable):
(Inspector::RemoteInspector::sendMessageToRemoteFrontend):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::stop):
(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::xpcConnectionFailed):
(Inspector::RemoteInspector::pushListingSoon):
(Inspector::RemoteInspector::receivedIndicateMessage):

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

(Inspector::RemoteInspectorDebuggableConnection::setup):
(Inspector::RemoteInspectorDebuggableConnection::closeFromDebuggable):
(Inspector::RemoteInspectorDebuggableConnection::close):
(Inspector::RemoteInspectorDebuggableConnection::sendMessageToBackend):

  • jit/ExecutableAllocator.cpp:

(JSC::DemandExecutableAllocator::DemandExecutableAllocator):
(JSC::DemandExecutableAllocator::~DemandExecutableAllocator):
(JSC::DemandExecutableAllocator::bytesAllocatedByAllAllocators):
(JSC::DemandExecutableAllocator::bytesCommittedByAllocactors):
(JSC::DemandExecutableAllocator::dumpProfileFromAllAllocators):
(JSC::DemandExecutableAllocator::allocatorsMutex):

4:11 AM Changeset in webkit [163751] by zandobersek@gmail.com
  • 15 edits in trunk/Source/WebCore

Manage ShadowData through std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128466

Reviewed by Andreas Kling.

Use std::unique_ptr instead of OwnPtr to manage ShadowData objects.

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
(WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
(WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setTextShadow):
(WebCore::RenderStyle::setBoxShadow):

  • rendering/style/RenderStyle.h:
  • rendering/style/SVGRenderStyle.h:

(WebCore::SVGRenderStyle::setShadow):

  • rendering/style/SVGRenderStyleDefs.cpp:

(WebCore::StyleShadowSVGData::StyleShadowSVGData):

  • rendering/style/SVGRenderStyleDefs.h:
  • rendering/style/ShadowData.cpp:

(WebCore::ShadowData::ShadowData):

  • rendering/style/ShadowData.h:

(WebCore::ShadowData::setNext):

  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):

  • rendering/style/StyleRareInheritedData.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

  • rendering/style/StyleRareNonInheritedData.h:
3:39 AM Changeset in webkit [163750] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Fix modifiers on EventSenderProxy::keyDown
https://bugs.webkit.org/show_bug.cgi?id=128496

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::EventSenderProxy::keyDown): do not attempt to doubly transform modifiers
into GTK+ ones.

2:55 AM Changeset in webkit [163749] by commit-queue@webkit.org
  • 28 edits
    3 copies in trunk

.: [GTK] Enable touch features
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

  • Source/autotools/SetupWebKitFeatures.m4:
  • Source/cmake/OptionsGTK.cmake: set ENABLE_TOUCH_EVENTS to 1 if building with GTK+.

Source/WebCore: [GTK] Add touch-events related code to build
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

Tests in fast/events/touch have been enabled on GTK+ now that touch
support is implemented, and thus all expected bits are there.

  • platform/gtk/GtkTouchContextHelper.cpp:
  • platform/gtk/GtkTouchContextHelper.h: Add helper object to track all touchpoints, handy

when creating WebTouchEvents.

  • GNUmakefile.list.am:
  • PlatformGTK.cmake:
  • bindings/gobject/GNUmakefile.am: Add touch related code and idls to build, those are

necessary now that GTK+ implements touch events.

Source/WebKit/gtk: [GTK] Allow building with touch events enabled
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

Even though WebKit1 GTK code doesn't implement touch events,
Fix build if ENABLE_TOUCH_EVENTS is present for WK2.

  • WebCoreSupport/ChromeClientGtk.h:

(WebKit::ChromeClient::needTouchEvents): Add empty stub

Source/WebKit2: [GTK] Implement support touch events
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

In GTK+ >= 3.4.0, GdkEventTouch is available to inform about multitouch events. Use these to implement
touch events on this platform. If a touch is left unhandled and is the "pointer emulating" one, mouse
events will be generated as a fallback.

  • GNUmakefile.list.am:
  • PlatformGTK.cmake:
  • Shared/gtk/NativeWebTouchEventGtk.cpp:
  • Shared/NativeWebTouchEvent.h:

(WebKit::NativeWebTouchEvent::nativeEvent):
(WebKit::NativeWebTouchEvent::touchContext): Add GTK+ implementation of NativeWebTouchEvent.

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::touchPhaseFromEvents):
(WebKit::WebEventFactory::createWebTouchEvent): Add methods to generate WebTouchEvents out
of GdkEventTouch events, a GtkTouchContextHelper object is used to hold information about all current
touches, in order to build information about all individual touchpoints.

  • Shared/gtk/WebEventFactory.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::doneWithTouchEvent): Implement pointer emulation. If a touch event was unhandled
in DOM and pertains to the touch sequence that emulates pointer events. The event gets transformed to its
mouse event counterpart and handled by the widget again.

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize): Listen for touch events
(webkitWebViewBaseTouchEvent):
(webkit_web_view_base_class_init): Add implementation for the touch_events() handler, this merely
lets the pageProxy handle the NativeWebTouchEvent we create to wrap the GdkEvent received.

Tools: [GTK] Enable touch features
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::updateEventCoordinates):
(WTR::EventSenderProxy::createTouchEvent):
(WTR::EventSenderProxy::addTouchPoint):
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::EventSenderProxy::sendUpdatedTouchEvents):
(WTR::EventSenderProxy::setTouchPointRadius):
(WTR::EventSenderProxy::setTouchModifier): Implement touch event proxying.

LayoutTests: [GTK] Enable touch features
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

  • platform/gtk/TestExpectations: remove fast/events/touch
  • platform/gtk-wk2/TestExpectations: Add new expectations on

fast/events/touch events.

2:31 AM Changeset in webkit [163748] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed, rolling out r162768.
http://trac.webkit.org/changeset/162768
https://bugs.webkit.org/show_bug.cgi?id=128495

Causes crashes on GTK WK2 in three fast/forms tests.
(Requested by zdobersek on #webkit).

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::showPopupMenu):

2:28 AM WebKitGTK/2.4.x edited by zandobersek@gmail.com
Add the rollout in r163748 to the list of necessary merges. (diff)
12:58 AM Changeset in webkit [163747] by zandobersek@gmail.com
  • 13 edits in trunk/Source/WebCore

Switch the rest of CSS code from OwnPtr over to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128471

Reviewed by Andreas Kling.

Replace the remaining uses of OwnPtr in the CSS code with std::unique_ptr, covering
the CSSParser, CSSParserSelector and CSSSelector classes and a few additional, closely related classes.

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::parseSheet):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::markSupportsRuleHeaderStart):
(WebCore::CSSParser::createKeyframesRule):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::rewriteSpecifiersWithElementName):
(WebCore::CSSParser::rewriteSpecifiers):

  • css/CSSParser.h:
  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::CSSParserSelector):
(WebCore::CSSParserSelector::~CSSParserSelector):
(WebCore::CSSParserSelector::adoptSelectorVector):
(WebCore::CSSParserSelector::insertTagHistory):
(WebCore::CSSParserSelector::appendTagHistory):
(WebCore::CSSParserSelector::prependTagSelector):

  • css/CSSParserValues.h:

(WebCore::CSSParserSelector::releaseSelector):
(WebCore::CSSParserSelector::setTagHistory):
(WebCore::CSSParserSelector::clearTagHistory):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::setSelectorList):

  • css/CSSSelector.h:
  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::adoptSelectorVector):

  • css/CSSSelectorList.h:
  • css/CSSValueList.cpp:
  • css/StyleRule.cpp:

(WebCore::StyleRuleRegion::StyleRuleRegion):

  • css/StyleRule.h:

(WebCore::StyleRule::parserAdoptSelectorVector):
(WebCore::StyleRulePage::parserAdoptSelectorVector):
(WebCore::StyleRuleRegion::create):

12:33 AM Changeset in webkit [163746] by zandobersek@gmail.com
  • 8 edits in trunk/Source/WebCore

Manage MutationObserverInterestGroup through std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128468

Reviewed by Andreas Kling.

Use std::unique_ptr instead of OwnPtr for managing MutationObserverInterestGroup objects.

  • css/PropertySetCSSStyleDeclaration.cpp:
  • dom/CharacterData.cpp:

(WebCore::CharacterData::dispatchModifiedEvent):

  • dom/ChildListMutationScope.cpp:

(WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator):

  • dom/ChildListMutationScope.h:

(WebCore::ChildListMutationAccumulator::hasObservers):

  • dom/Element.cpp:

(WebCore::Element::willModifyAttribute):

  • dom/MutationObserverInterestGroup.cpp:

(WebCore::MutationObserverInterestGroup::createIfNeeded):

  • dom/MutationObserverInterestGroup.h:

(WebCore::MutationObserverInterestGroup::createForChildListMutation):
(WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
(WebCore::MutationObserverInterestGroup::createForAttributesMutation):

12:19 AM Changeset in webkit [163745] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r163737.
http://trac.webkit.org/changeset/163737
https://bugs.webkit.org/show_bug.cgi?id=128491

Caused 8+ tests to fail on Mavericks and Mountain Lion bots
(Requested by rniwa on #webkit).

  • runtime/JSString.h:

(JSC::jsSingleCharacterString):
(JSC::jsSingleCharacterSubstring):
(JSC::jsString):
(JSC::jsSubstring8):

  • runtime/SmallStrings.cpp:

(JSC::SmallStringsStorage::SmallStringsStorage):
(JSC::SmallStrings::SmallStrings):

12:18 AM Changeset in webkit [163744] by zandobersek@gmail.com
  • 22 edits in trunk/Source/WebCore

Manage MessagePort, MessagePortChannel and friends through std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128467

Reviewed by Andreas Kling.

Use std::unique_ptr instead of OwnPtr to manage MessagePort, MessagePortArray, MessagePortChannel
and MessagePortChannelArray objects.

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::handleInitMessageEvent):

  • dom/MessageEvent.cpp:

(WebCore::MessageEvent::MessageEvent):
(WebCore::MessageEvent::initMessageEvent):

  • dom/MessageEvent.h:

(WebCore::MessageEvent::create):

  • dom/MessagePort.cpp:

(WebCore::MessagePort::postMessage):
(WebCore::MessagePort::disentangle):
(WebCore::MessagePort::entangle):
(WebCore::MessagePort::dispatchMessages):
(WebCore::MessagePort::disentanglePorts):
(WebCore::MessagePort::entanglePorts):

  • dom/MessagePort.h:
  • dom/MessagePortChannel.h:
  • dom/default/PlatformMessagePortChannel.cpp:

(WebCore::PlatformMessagePortChannel::EventData::EventData):
(WebCore::MessagePortChannel::createChannel):
(WebCore::MessagePortChannel::postMessageToRemote):
(WebCore::MessagePortChannel::tryGetMessageFromRemote):

  • dom/default/PlatformMessagePortChannel.h:

(WebCore::PlatformMessagePortChannel::EventData::channels):

  • page/DOMWindow.cpp:

(WebCore::PostMessageTimer::PostMessageTimer):
(WebCore::PostMessageTimer::event):
(WebCore::DOMWindow::postMessage):

  • workers/DedicatedWorkerGlobalScope.cpp:

(WebCore::DedicatedWorkerGlobalScope::postMessage):

  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerConnectTask::create):
(WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
(WebCore::SharedWorkerConnectTask::performTask):
(WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
(WebCore::SharedWorkerScriptLoader::notifyFinished):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
(WebCore::DefaultSharedWorkerRepository::connectToWorker):

  • workers/DefaultSharedWorkerRepository.h:
  • workers/SharedWorker.cpp:

(WebCore::SharedWorker::create):

  • workers/SharedWorkerGlobalScope.cpp:

(WebCore::createConnectEvent):

  • workers/SharedWorkerRepository.cpp:

(WebCore::SharedWorkerRepository::connect):

  • workers/SharedWorkerRepository.h:
  • workers/Worker.cpp:

(WebCore::Worker::postMessage):

  • workers/WorkerGlobalScopeProxy.h:
  • workers/WorkerMessagingProxy.cpp:

(WebCore::MessageWorkerGlobalScopeTask::create):
(WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask):
(WebCore::MessageWorkerGlobalScopeTask::performTask):
(WebCore::MessageWorkerTask::create):
(WebCore::MessageWorkerTask::MessageWorkerTask):
(WebCore::MessageWorkerTask::performTask):
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):

  • workers/WorkerMessagingProxy.h:
  • workers/WorkerObjectProxy.h:

Feb 8, 2014:

11:29 PM Changeset in webkit [163743] by akling@apple.com
  • 2 edits in trunk/Tools

Let Instruments time profiler run until tests finish.
<https://webkit.org/b/128488>

Pass "-T 0" to iprofiler to ensure that we get a time profile of the
entire performance test run instead of just the first 10 seconds.

Reviewed by Brady Eidson.

  • Scripts/webkitpy/common/system/profiler.py:

(IProfiler.attach_to_pid):

10:08 PM Changeset in webkit [163742] by beidson@apple.com
  • 4 edits in trunk

IDB: storage/indexeddb/mozilla/object-cursors.html fails
<rdar://problem/16020585> and https://bugs.webkit.org/show_bug.cgi?id=128479

Reviewed by Dan Bernstein.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Update the IndexInfo

table schema to allow for indexes with the same id/name as previous indexes.
But with different object stores, of course.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Enable the test.
10:07 PM Changeset in webkit [163741] by beidson@apple.com
  • 5 edits in trunk

IDB: storage/indexeddb/mozilla/index-prev-no-duplicate.html fails
<rdar://problem/16018918> and https://bugs.webkit.org/show_bug.cgi?id=128444

Reviewed by Dan Bernstein.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::getIndexStatement): Return different statements for unique cursors that will

sort the values in reverse of the cursor direction, matching expected IndexedDB behavior.

(WebKit::SQLiteIDBCursor::establishStatement):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord): Insert the values as

strings since we need the collation function to be called for proper sorting.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Enable the test.
9:48 PM Changeset in webkit [163740] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit/ios

Build fix after r163739.

  • WebCoreSupport/WebFrameIOS.mm:

(-[WebFrame collapseSelection]):
(-[WebFrame aggressivelyExpandSelectionToWordContainingCaretSelection]):

8:58 PM Changeset in webkit [163739] by rniwa@webkit.org
  • 21 edits in trunk/Source

Cleanup the interface of FrameSelection
https://bugs.webkit.org/show_bug.cgi?id=128481

Reviewed by Andreas Kling.

Source/WebCore:

Removed FrameSelection::end() as intended in r163232, and the stale declaration of
paintDragCaret() which was supposed to be removed when we extracted DragCaretController.

Renamed caretRenderer() to caretRendererWithoutUpdatingLayout() to clarify the contract
as the only caller of this function is RenderBlock::paintCaret. Also renamed bounds()
to selectionBounds() to make it more easily identifiable / grep'able.

In addition, made recomputeCaretRect() and invalidateCaretRect() private.

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

(WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
(WebCore::FrameSelection::selectionBounds):
(WebCore::FrameSelection::revealSelection):

  • editing/FrameSelection.h:

(WebCore::FrameSelection::setCaretVisible):

  • page/DragController.cpp:

(WebCore::dragLocForSelectionDrag):

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotSelection):

  • page/win/FrameWin.cpp:

(WebCore::imageFromSelection):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintCaret):

  • testing/Internals.cpp:

(WebCore::Internals::selectionBounds):

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::selectionRectangle):

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::rectangleForSelection):

Source/WebKit/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
(-[WebHTMLView selectionRect]):
(-[WebHTMLView selectionImageRect]):

Source/WebKit/win:

  • WebView.cpp:

(WebView::selectionRect):

Source/WebKit2:

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::getFindIndicatorBitmapAndRect):
(WebKit::FindController::drawRect):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scaledSnapshotWithOptions):

8:31 PM Changeset in webkit [163738] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Reverted part of r163734, because the assertion it enabled still fails when running
loader/load-defer-resume-crash.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::dataReceived):

7:51 PM Changeset in webkit [163737] by andersca@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Simplify single character substrings in JSC
https://bugs.webkit.org/show_bug.cgi?id=128483

Reviewed by Andreas Kling.

With the recent work to make StringImpl occupy less space, it is actually more
efficient to allocate a single character string that it is to use createSubstringSharingImpl!

  • runtime/JSString.h:

(JSC::jsSingleCharacterString):
(JSC::jsSingleCharacterSubstring):
(JSC::jsString):
(JSC::jsSubstring8):

  • runtime/SmallStrings.cpp:

(JSC::SmallStringsStorage::SmallStringsStorage):
(JSC::SmallStrings::SmallStrings):

7:36 PM Changeset in webkit [163736] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

EFL build fix after r163729.

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::version):

6:56 PM Changeset in webkit [163735] by BJ Burg
  • 11 edits
    8 adds in trunk/Source/WebInspectorUI

Web Inspector: show probe sets for script content views in the details sidebar
https://bugs.webkit.org/show_bug.cgi?id=128333

Reviewed by Timothy Hatcher.

This patch adds a new details sidebar for showing the probes associated with any
breakpoint in the currently visible source file. Each probe set (corresponding to
multiple actions of single breakpoint) gets its own ProbeSetDetailsSection. The
section contains a custom DataGrid subclass to display probe data, and some icons
for clearing samples, deleting the probe, and adding a new probe expression.

The table containing probe data keeps its columns in sync with the probe set's
probe expressions. To support this, DataGrid has been further refactored to support
removing columns, and inserting columns (rather than only appending). With this
capability, probe columns are removed and re-inserted when the expression changes.

The availability of the probe details sidebar is controlled by providing the
probe sets matching the script content view's resource URL as supplemental
represented objects.

Lastly, added the utility EventListenerSet class. This holds a set of event listeners
that should be added and removed together, and takes care of binding thisObject
according to whether the event emitter is a Node or WebInspector.Object.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/BreakpointActionView.js:

(WebInspector.BreakpointActionView):
(WebInspector.BreakpointActionView.prototype._removeAction): Renamed from removeButtonClicked.
(WebInspector.BreakpointActionView.prototype._codeMirrorBlurred): Change the behavior
of CodeMirror-backed editors for probe and evaluate expression actions. If the expression
consists entirely of trimmable whitespace, then delete the action rather than saving it.

  • UserInterface/DataGrid.js:

(WebInspector.DataGrid): Copy over the column data into a map inside insertColumn() instead.
(WebInspector.DataGrid.prototype.insertColumn): Renamed from addColumn. It now takes an
optional insertionIndex argument and splices the column before the element at that index.
Also, convert code to use EventListenerSet for adding/removing per-column event listeners.

(WebInspector.DataGrid.prototype.removeColumn): Added. It splices the column out.
(WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle): Whitespace.

  • UserInterface/EventListenerSet.js: Added.

(WebInspector.EventListenerSet):
(WebInspector.EventListenerSet.prototype.register):
(WebInspector.EventListenerSet.prototype.unregister):
(WebInspector.EventListenerSet.prototype.install):
(WebInspector.EventListenerSet.prototype.uninstall):

  • UserInterface/Images/NavigationItemProbes.pdf: Added.
  • UserInterface/LayerTreeDataGrid.js:

(WebInspector.LayerTreeDataGrid.prototype._updateChildren): Fix a missing column.get().

  • UserInterface/Main.html: Add new JavaScript and CSS files.
  • UserInterface/Main.js:

(WebInspector.contentLoaded): Add the probe details sidebar.

  • UserInterface/ProbeDetailsSidebarPanel.css: Added.

(.sidebar > .panel.probes > .navigation-bar):
(.sidebar > .panel.probes > .content):
(.details-section.probe-set .options > .probe-add):
(.details-section.probe-set .options > .probe-clear-samples):
(.details-section.probe-set .options > .probe-remove):
(.details-section.probe-set .options > input):
(.panel.probes ::-webkit-scrollbar):
(.panel.probes ::-webkit-scrollbar-track):
(.panel.probes ::-webkit-scrollbar-thumb):
(.panel.probes ::-webkit-scrollbar-corner):
(.popover .probe-popover):
(.popover .probe-popover input):

  • UserInterface/ProbeDetailsSidebarPanel.js: Added.

(WebInspector.ProbeDetailsSidebarPanel):
(WebInspector.ProbeDetailsSidebarPanel.prototype.get inspectedProbeSets):
(WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded):

  • UserInterface/ProbeManager.js: Remove unused probeSetForBreakpoint function.
  • UserInterface/ProbeSet.js: Fix erroneous uses of probe.identifier instead of probe.id.

(WebInspector.ProbeSet.prototype.removeProbe):
(WebInspector.ProbeSet.prototype._sampleCollected):

  • UserInterface/ProbeSetDataGrid.css: Added.

(.details-section.probe-set .data-grid .data-container tr.past-value td):
(.details-section.probe-set .data-grid > .data-container td.unknown-value):
(.details-section.probe-set .data-grid .data-container tr.revealed.highlighted):
(@-webkit-keyframes blink-frame-highlight):
(100%):
(.details-section.probe-set .data-grid .data-container tr.separator):
(.details-section.probe-set .data-grid > .data-container tr.data-updated):
(@-webkit-keyframes blink-probe-frame):
(.details-section.probe-set .data-grid .data-container .selected .section *):
(.details-section.probe-set .data-grid .data-container .selected td.unknown-value):
(.details-section.probe-set .data-grid .data-container .section):
(.details-section.probe-set .data-grid th):
(.details-section.probe-set .data-grid th:not(:last-child)):
(.details-section.probe-set .data-grid td):

  • UserInterface/ProbeSetDataGrid.js: Added.

(WebInspector.ProbeSetDataGrid):
(WebInspector.ProbeSetDataGrid.prototype.closed):
(WebInspector.ProbeSetDataGrid.prototype._setupProbe):
(WebInspector.ProbeSetDataGrid.prototype._teardownProbe):
(WebInspector.ProbeSetDataGrid.prototype._setupData):
(WebInspector.ProbeSetDataGrid.prototype._teardownData):
(WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.sortFunction):
(WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.set node):
(WebInspector.ProbeSetDataGrid.prototype._dataFrameInserted):
(WebInspector.ProbeSetDataGrid.prototype._dataSeparatorInserted):
(WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get var):

  • UserInterface/ProbeSetDataGridNode.js: Added.

(WebInspector.ProbeSetDataGridNode):
(WebInspector.ProbeSetDataGridNode.prototype.get element):
(WebInspector.ProbeSetDataGridNode.prototype.get data):
(WebInspector.ProbeSetDataGridNode.prototype.set frame):
(WebInspector.ProbeSetDataGridNode.prototype.get frame):
(WebInspector.ProbeSetDataGridNode.prototype.createCellContent):
(WebInspector.ProbeSetDataGridNode.prototype.updateCellsFromFrame):
(WebInspector.ProbeSetDataGridNode.prototype.updateCellsForSeparator):

  • UserInterface/ProbeSetDataTable.js:

(WebInspector.ProbeSetDataTable.prototype.removeProbe): Fix a typo in for..of loop refactor.

  • UserInterface/ProbeSetDetailsSection.js: Added.

(WebInspector.ProbeSetDetailsSection):
(WebInspector.ProbeSetDetailsSection.prototype.closed):
(WebInspector.ProbeSetDetailsSection.prototype._probeSetPositionTextOrLink):
(WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked):
(WebInspector.ProbeSetDetailsSection.prototype._removeButtonClicked):
(WebInspector.ProbeSetDetailsSection.prototype._clearSamplesButtonClicked):

  • UserInterface/TextResourceContentView.js:

(WebInspector.TextResourceContentView):
(WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects):
Add probe sets whose breakpoint matches the represented object's URL.
(WebInspector.TextResourceContentView.prototype._probeSetsChanged): Tell listeners
to re-fetch supplementalRepresentedObjects when probe sets are added or removed.

6:37 PM Changeset in webkit [163734] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Remove outdated workarounds in DocumentLoader::dataReceived
https://bugs.webkit.org/show_bug.cgi?id=128465

Reviewed by Andreas Kling.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::dataReceived):

5:43 PM Changeset in webkit [163733] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Baseline JIT uses the wrong version of checkMarkWord in emitWriteBarrier
https://bugs.webkit.org/show_bug.cgi?id=128474

Reviewed by Michael Saboff.

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitWriteBarrier):

5:21 PM Changeset in webkit [163732] by ap@apple.com
  • 4 edits in trunk/Source/WebCore

Remove some unused functions from SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128407

Reviewed by Oliver Hunt.

Removed more unused code, particularly in API helpers. Renamed one serialize()
function to create(), because it does the same thing as other create() functions.

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::put):

  • bindings/js/SerializedScriptValue.cpp:

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

  • bindings/js/SerializedScriptValue.h:
5:13 PM Changeset in webkit [163731] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Remove use of PLATFORM(MAC) from WebKit/mac
https://bugs.webkit.org/show_bug.cgi?id=128476

Reviewed by Anders Carlsson.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

4:46 PM Changeset in webkit [163730] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Rename a field and some variables in JSLock to better describe what they contain.
<https://webkit.org/b/128475>

Reviewed by Oliver Hunt.

  • runtime/JSLock.cpp:

(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • runtime/JSLock.h:
4:01 PM Changeset in webkit [163729] by beidson@apple.com
  • 4 edits in trunk

IDB: storage/indexeddb/mozilla/versionchange-abort.html fails
<rdar://problem/16018887> and https://bugs.webkit.org/show_bug.cgi?id=128442

Reviewed by Dan Bernstein.

Source/WebCore:

Tested by storage/indexeddb/mozilla/versionchange-abort.html (and probably others)

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::version): If the version is NoIntVersion, return DefaultIntVersion to script.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Enable the test. Also add all the other storage/indexeddb/mozilla test with expectations as they are what I’m focusing on right now.
4:00 PM Changeset in webkit [163728] by beidson@apple.com
  • 8 edits in trunk

IDB: storage/indexeddb/mozilla/cursors.html fails
<rdar://problem/16017998> and https://bugs.webkit.org/show_bug.cgi?id=128423

Reviewed by Dan Bernstein.

Source/WebCore:

Tested by storage/indexeddb/mozilla/cursors.html (And probably others)

  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::OpenCursorOperation::perform): Distinguish between an error while opening the cursor

and opening a cursor that points to no records.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::SQLiteIDBCursor::internalAdvanceOnce): Store the primary key for object store cursors.
(WebKit::SQLiteIDBCursor::iterate): We’re not supposed to check for equality to the target key.

Depending on the direction of the cursor we should check for the next highest or next lowest key.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Unskip storage/indexeddb/mozilla/cursors.html.

Revert the change to storage/indexeddb/mozilla/clear.html as it is now clear how a
null cursor might be returned from openCursor:

  • storage/indexeddb/mozilla/clear-expected.txt:
  • storage/indexeddb/mozilla/resources/clear.js:
3:31 PM Changeset in webkit [163727] by andersca@apple.com
  • 5 edits in trunk/Source

Stop using getCharactersWithUpconvert in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=128457

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Change substituteBackreferencesSlow to take StringViews and use a StringBuilder instead of upconverting
if the source or replacement strings area 16-bit.

  • runtime/StringPrototype.cpp:

(JSC::substituteBackreferencesSlow):
(JSC::substituteBackreferences):

Source/WTF:

  • wtf/text/StringBuilder.h:

(WTF::StringBuilder::append):
Add a new overload that takes a StringView.

  • wtf/text/StringView.h:

(WTF::StringView::find):
Add new find member function.

2:29 PM Changeset in webkit [163726] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Remove unused ChromeClient::layoutUpdated().
<https://webkit.org/b/128470>

Nobody listens for this callback anymore so remove it.

Reviewed by Anders Carlsson.

  • page/Chrome.cpp:
  • page/Chrome.h:
  • page/ChromeClient.h:
  • page/FrameView.cpp:

(WebCore::FrameView::layout):

2:26 PM Changeset in webkit [163725] by mitz@apple.com
  • 71 edits in trunk/Source/WebCore

Stop using PLATFORM(MAC) in WebCore except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128464

Reviewed by Anders Carlsson.

  • Modules/webaudio/AudioContext.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebCore::AudioContext::constructCommon):

  • accessibility/AccessibilityNodeObject.cpp: Ditto.

(WebCore::AccessibilityNodeObject::visibleText):

  • accessibility/AccessibilityObject.h: Ditto.
  • accessibility/AccessibilityRenderObject.cpp: Ditto.

(WebCore::AccessibilityRenderObject::clickPoint):
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):
(WebCore::AccessibilityRenderObject::addChildren):

  • accessibility/AccessibilityRenderObject.h: Ditto.
  • bindings/js/JSInspectorFrontendHostCustom.cpp:

(WebCore::JSInspectorFrontendHost::platform): Made it explicit that this function returns
"mac" when built for iOS.

  • bindings/js/ScriptController.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebCore::ScriptController::ScriptController):

  • bindings/js/ScriptController.h: Ditto.
  • crypto/CryptoKey.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&

!PLATFORM(GTK) when checking for whether to use CoreCrypto.

  • crypto/keys/CryptoKeyRSA.h: Ditto.
  • dom/Clipboard.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • dom/Document.cpp: Ditto.

(WebCore::Document::implicitClose):

  • dom/KeyboardEvent.h: Ditto.
  • editing/Editor.cpp: Ditto.

(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::copyImage):

  • editing/Editor.h: Ditto.
  • editing/FrameSelection.h: Ditto.
  • editing/TypingCommand.cpp: Ditto.

(WebCore::TypingCommand::typingAddedToOpenCommand):

  • history/HistoryItem.h: Ditto.
  • html/HTMLMediaElement.cpp: Ditto.

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h: Ditto.
  • html/HTMLPlugInElement.cpp: Ditto.

(WebCore::registeredPluginReplacements):

  • html/HTMLPlugInImageElement.cpp: Ditto.

(WebCore::HTMLPlugInImageElement::setDisplayState):

  • html/HTMLSelectElement.cpp: Ditto.

(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):

  • html/shadow/MediaControlElements.cpp: Ditto.

(WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):

  • html/shadow/MediaControlElements.h: Ditto.
  • inspector/InspectorIndexedDBAgent.cpp: Ditto.
  • loader/CookieJar.cpp: Ditto.
  • loader/DocumentLoader.cpp: Ditto.

(WebCore::DocumentLoader::dataReceived):

  • loader/DocumentLoader.h: Ditto.

(WebCore::DocumentLoader::didTellClientAboutLoad):

  • loader/EmptyClients.h: Ditto.
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadArchive): Added !PLATFORM(IOS) around Mac-only workaround.
(WebCore::FrameLoader::defaultObjectContentType): Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebCore::FrameLoader::subresourceCachePolicy): Ditto.

  • loader/ResourceBuffer.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around functions that

are implemented using Foundation.

  • loader/ResourceLoadScheduler.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebCore::ResourceLoadScheduler::scheduleLoad):

  • loader/ResourceLoader.cpp: Ditto.

(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):

  • loader/ResourceLoader.h: Ditto.
  • loader/archive/cf/LegacyWebArchive.cpp: Ditto.
  • loader/cache/CachedResource.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION) around function

that is implemented using other USE(FOUNDATION)-guarded code.

  • loader/cache/CachedResource.h: Ditto.
  • page/Chrome.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • page/ChromeClient.h: Ditto.
  • page/ContextMenuClient.h: Ditto.
  • page/ContextMenuController.cpp: Ditto.

(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::createAndAppendFontSubMenu):
(WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded):

  • page/DragClient.h: Ditto.
  • page/DragController.cpp: Ditto.

(WebCore::dragLocForDHTMLDrag):
(WebCore::dragLocForSelectionDrag):
(WebCore::DragController::startDrag):
(WebCore::DragController::doImageDrag):

  • page/EditorClient.h: Ditto.
  • page/EventHandler.cpp: Ditto.

(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::handleMouseDraggedEvent):
(WebCore::EventHandler::logicalScrollRecursively):
(WebCore::EventHandler::clearDragState):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::defaultWheelEventHandler):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):

  • page/EventHandler.h: Ditto.
  • page/FrameView.cpp: Ditto.

(WebCore::FrameView::layout):

  • page/Page.h: Ditto.
  • page/Settings.cpp: Ditto.
  • page/Settings.h: Ditto.
  • page/scrolling/ScrollingCoordinator.cpp: Ditto.
  • page/scrolling/ScrollingCoordinator.h: Ditto.
  • page/scrolling/ScrollingStateNode.h: Removed unused #include.
  • page/scrolling/ScrollingThread.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebCore::ScrollingThread::createThreadIfNeeded):

  • page/scrolling/ScrollingThread.h: Ditto.
  • platform/network/cf/ResourceRequest.h: Added !PLATFORM(IOS) around

applyWebArchiveHackForMail.

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.

  • platform/network/mac/ResourceRequestMac.mm:

(WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.

  • plugins/PluginViewNone.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
  • rendering/RenderBox.cpp: Ditto.

(WebCore::RenderBox::logicalScroll):

  • rendering/RenderLayerBacking.cpp: Ditto.

(WebCore::RenderLayerBacking::createGraphicsLayer):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):

  • rendering/RenderMenuList.h: Ditto.
  • rendering/RenderText.cpp: Ditto.

(WebCore::RenderText::previousOffsetForBackwardDeletion):

  • rendering/break_lines.cpp: Removed unused #include.
  • testing/js/WebCoreTestSupport.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • xml/XSLStyleSheetLibxslt.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&

!PLATFORM(GTK) around soft-linking libxslt.

  • xml/XSLTExtensions.cpp: Ditto.
  • xml/XSLTProcessorLibxslt.cpp: Ditto.
  • xml/XSLTUnicodeSort.cpp: Ditto.
2:20 PM Changeset in webkit [163724] by akling@apple.com
  • 19 edits in trunk/Source

Remove unused ChromeClient::formStateDidChange().
<https://webkit.org/b/128469>

Nobody listens for this callback anymore so remove it and stop
spamming no-op virtual dispatches in forms code.

Reviewed by Anders Carlsson.

  • html/FileInputType.cpp:

(WebCore::FileInputType::setFiles):

  • html/HTMLFormControlElementWithState.cpp:
  • html/HTMLFormControlElementWithState.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::setValue):
(WebCore::HTMLInputElement::setValueFromRenderer):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::selectOption):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::updateValue):
(WebCore::HTMLTextAreaElement::setValueCommon):

  • loader/EmptyClients.h:
  • page/ChromeClient.h:
2:11 PM Changeset in webkit [163723] by commit-queue@webkit.org
  • 5 edits in trunk

Web Inspector: Find evaluates attributes in a case sensitive manner
https://bugs.webkit.org/show_bug.cgi?id=128405

Patch by Chris J. Shull <chrisjshull@gmail.com> on 2014-02-08
Reviewed by Timothy Hatcher.

Source/WebCore:

Changed matchesAttribute to ignore case.

Updated existing test with additional cases:
inspector-protocol/dom/dom-search.html

  • inspector/InspectorNodeFinder.cpp:

(WebCore::InspectorNodeFinder::matchesAttribute):

LayoutTests:

Added checks for searches where capitalization in the attributes did not match the capitalization in the search. Also fleshed out other search types with checks for valid capitalization differences.

  • inspector-protocol/dom/dom-search-expected.txt:
  • inspector-protocol/dom/resources/dom-search-queries.js:
2:05 PM Changeset in webkit [163722] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove unused FrameLoaderClient::dispatchWillOpenSocketStream().
<https://webkit.org/b/128472>

Nobody listens for this callback anymore so remove it.

Reviewed by Anders Carlsson.

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::willOpenSocketStream):

  • loader/FrameLoaderClient.h:
1:40 PM Changeset in webkit [163721] by rniwa@webkit.org
  • 8 edits in trunk/Source/WebCore

Split UserTriggered into FireSelectEvent and RevealSelection for selection options
https://bugs.webkit.org/show_bug.cgi?id=128441

Reviewed by Darin Adler.

Split UserTriggered by FireSelectEvent and RevealSelection for selection options.

Also added defaultSetSelectionOptions() to abstract away the default options.

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):

  • editing/Editor.cpp:

(WebCore::Editor::unappliedEditing):
(WebCore::Editor::reappliedEditing):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::moveTo):
(WebCore::FrameSelection::setSelectionByMouseIfDifferent): UserTriggered | DoNotRevealSelection
is replaced by FireSelectEvent.
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance): Check options & FireSelectEvent
instead of options & UserTriggered.
(WebCore::FrameSelection::setSelection): Check options & RevealSelection instead of
options & UserTriggered && !(options & DoNotRevealSelection).
(WebCore::FrameSelection::prepareForDestruction):
(WebCore::FrameSelection::setBase):
(WebCore::FrameSelection::setExtent):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::wordSelectionContainingCaretSelection):

  • editing/FrameSelection.h:

(WebCore::FrameSelection::defaultSetSelectionOptions): Added.

  • editing/SpellingCorrectionCommand.cpp:

(WebCore::SpellingCorrectionCommand::doApply):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::selectionChanged): Renamed the argument.

  • html/HTMLTextFormControlElement.h:
12:58 PM Changeset in webkit [163720] by mitz@apple.com
  • 1 edit in trunk/Source/ThirdParty/gtest/xcode/gtest.xcodeproj

Added project.xcworkspace to the svn:ignore property of gtest.xcodeproj.

12:10 PM Changeset in webkit [163719] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebCore

Move TreeScope, IdTargetObserverRegistry to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=127276

Reviewed by Andreas Kling.

Replace uses of OwnPtr in the TreeScope and IdTargetObserverRegistry classes with std::unique_ptr.

  • dom/IdTargetObserverRegistry.cpp:

(WebCore::IdTargetObserverRegistry::addObserver):

  • dom/IdTargetObserverRegistry.h:

(WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::destroyTreeScopeData):
(WebCore::TreeScope::addElementById):
(WebCore::TreeScope::addElementByName):
(WebCore::TreeScope::addImageMap):
(WebCore::TreeScope::labelElementForId):

  • dom/TreeScope.h:

(WebCore::TreeScope::shouldCacheLabelsByForAttribute):

12:02 PM Changeset in webkit [163718] by andersca@apple.com
  • 8 edits in trunk/Source/WebCore

Slight CTTE in PingLoader
https://bugs.webkit.org/show_bug.cgi?id=128462

Reviewed by Dan Bernstein.

PingLoader always wants a non-null frame.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::sendPings):

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::didBlockScript):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::continueAfterPingLoader):

  • loader/PingLoader.cpp:

(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::sendViolationReport):
(WebCore::PingLoader::createPingLoader):
(WebCore::PingLoader::PingLoader):

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

(WebCore::CachedResourceLoader::requestImage):

  • page/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::reportViolation):

11:58 AM Changeset in webkit [163717] by mitz@apple.com
  • 38 edits in trunk

Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
https://bugs.webkit.org/show_bug.cgi?id=128456

Reviewed by Anders Carlsson.

Source/WebCore:

Updated fast/css/getComputedStyle and svg/css results.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue): Removed CSSPropertyWebKitHighlight case.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue): Ditto.

  • css/CSSPropertyNames.in: Removed -webkit-highlight.
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Removed
CSSPropertyWebKitHighlight handler.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty): Removed CSSPropertyWebKitHighlight case.

  • page/Chrome.cpp: Removed customHighlightRect and paintCustomHighlight.
  • page/ChromeClient.h: Ditto.
  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint): Removed painting custom highlight.

  • rendering/InlineTextBox.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns): Removed adding overflow for custom
highlights.

  • rendering/RenderBox.cpp: Removed paintCustomHighlight.
  • rendering/RenderBox.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced): Removed painting custom highlight.

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::paint): Ditto.

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::paintSnapshot): Ditto.

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paint): Ditto.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paint): Ditto.

  • rendering/RootInlineBox.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout): Removed highlight comparison.

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData): Removed initializer.
(WebCore::StyleRareInheritedData::operator==): Removed highlight comparison.

  • rendering/style/StyleRareInheritedData.h: Removed highlight member variable.

Source/WebInspectorUI:

  • UserInterface/CSSKeywordCompletions.js: Removed -webkit-highlight.

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm: Removed customHighlightRect and paintCustomHighlight.
  • WebView/WebHTMLView.mm:

(-[WebHTMLViewPrivate dealloc]): Removed highlighters ivar.
(-[WebHTMLViewPrivate clear]): Ditto.

  • WebView/WebHTMLViewInternal.h: Removed declaration.
  • WebView/WebHTMLViewPrivate.h: Removed WebHTMLHighlighter protocol and method declarations.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.cpp: Removed customHighlightRect and

paintCustomHighlight.

  • WebProcess/WebCoreSupport/WebChromeClient.h:

LayoutTests:

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
10:37 AM Changeset in webkit [163716] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

One more build fix fix.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):

10:35 AM Changeset in webkit [163715] by mitz@apple.com
  • 6 edits in trunk/Source

Source/WebCore: More (and more correct) iOS build fix after r163712.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(AXAttributedStringAppendText):
(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):

  • page/ios/FrameIOS.mm:

(WebCore::Frame::wordsInCurrentParagraph):

Source/WebKit/mac: iOS build fix after r163712.

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:
10:06 AM Changeset in webkit [163714] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix after r163712

  • page/ios/FrameIOS.mm:

(WebCore::Frame::indexCountOfWordPrecedingSelection):
(WebCore::Frame::wordsInCurrentParagraph):

9:08 AM Changeset in webkit [163713] by zandobersek@gmail.com
  • 12 edits
    18 adds
    19 deletes in trunk/LayoutTests

Convert current MHTML tests into reftests
https://bugs.webkit.org/show_bug.cgi?id=116443

Reviewed by Andreas Kling.

Convert the current set of MHTML tests into reference tests. Reference files are copied from the *_original files
where available (with the *_original files removed) or from the source markup and code that's stored in the archive.
Both the archives and the reference files are adjusted to now dump pixel output instead of text.

  • mhtml/check_domain-expected.html: Added.
  • mhtml/check_domain-expected.txt: Removed.
  • mhtml/check_domain.mht:
  • mhtml/frame_4.html_original: Removed.
  • mhtml/multi_frames.html_original: Removed.
  • mhtml/multi_frames_binary-expected.html: Added.
  • mhtml/multi_frames_binary-expected.txt: Removed.
  • mhtml/multi_frames_binary.mht:
  • mhtml/multi_frames_ie-expected.html: Added.
  • mhtml/multi_frames_ie-expected.txt: Removed.
  • mhtml/multi_frames_ie.mht:
  • mhtml/multi_frames_unmht-expected.html: Added.
  • mhtml/multi_frames_unmht-expected.txt: Removed.
  • mhtml/multi_frames_unmht.mht:
  • mhtml/page_with_css_and_js_ie-expected.html: Copied from LayoutTests/mhtml/page_with_css_and_js.html_original.
  • mhtml/page_with_css_and_js_ie-expected.txt: Removed.
  • mhtml/page_with_css_and_js_ie.mht:
  • mhtml/page_with_css_and_js_unmht-expected.html: Renamed from LayoutTests/mhtml/page_with_css_and_js.html_original.
  • mhtml/page_with_css_and_js_unmht-expected.txt: Removed.
  • mhtml/page_with_css_and_js_unmht.mht:
  • mhtml/page_with_image.html_original: Removed.
  • mhtml/page_with_image_ie-expected.html: Added.
  • mhtml/page_with_image_ie-expected.txt: Removed.
  • mhtml/page_with_image_ie.mht:
  • mhtml/page_with_image_unmht-expected.html: Added.
  • mhtml/page_with_image_unmht-expected.txt: Removed.
  • mhtml/page_with_image_unmht.mht:
  • mhtml/resources/frame_0.html: Renamed from LayoutTests/mhtml/frame_0.html_original.
  • mhtml/resources/frame_1.html: Renamed from LayoutTests/mhtml/frame_1.html_original.
  • mhtml/resources/frame_2.html: Renamed from LayoutTests/mhtml/frame_2.html_original.
  • mhtml/resources/frame_4.html: Added.
  • mhtml/resources/hide_image.css: Added.

(#secondDiv):

  • mhtml/resources/remove_image_script.js: Added.

(onLoad):

  • mhtml/resources/style.css: Copied from LayoutTests/mhtml/shared_buffer_bug.mht.

(h1):

  • mhtml/shared_buffer_bug-expected.html: Added.
  • mhtml/shared_buffer_bug-expected.txt: Removed.
  • mhtml/shared_buffer_bug.mht:
  • mhtml/simple_page_ie-expected.html: Copied from LayoutTests/mhtml/simple_page.html_original.
  • mhtml/simple_page_ie-expected.txt: Removed.
  • mhtml/simple_page_ie.mht:
  • mhtml/simple_page_unmht-expected.html: Renamed from LayoutTests/mhtml/simple_page.html_original.
  • mhtml/simple_page_unmht-expected.txt: Removed.
  • mhtml/simple_page_unmht.mht:
8:32 AM Changeset in webkit [163712] by Darin Adler
  • 51 edits
    2 copies in trunk/Source

Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
https://bugs.webkit.org/show_bug.cgi?id=128233

Reviewed by Anders Carlsson.

Source/WebCore:

  • accessibility/AccessibilityNodeObject.cpp: Removed unneeded TextIterator.h include.
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::hasMisspelling): Updated to use StringView for checkSpelling.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXAttributeStringSetSpelling): Changed to take a StringView.
(AXAttributedStringAppendText): Ditto.
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): Pass StringView.

  • editing/Editor.cpp:

(WebCore::Editor::misspelledWordAtCaretOrRange): Pass StringView.
(WebCore::Editor::misspelledSelectionString): Ditto.
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.

  • editing/TextCheckingHelper.cpp:

(WebCore::findGrammaticalErrors): Renamed this function. Changed to use StringView.
(WebCore::findMisspellings): Use StringView.
(WebCore::TextCheckingHelper::findFirstMisspelling): Ditto. Also separated out assertions
that were asserting multiple things with &&.
(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): Ditto.
(WebCore::TextCheckingHelper::findFirstGrammarDetail): Ditto.
(WebCore::TextCheckingHelper::findFirstBadGrammar): Ditto.
(WebCore::TextCheckingHelper::isUngrammatical): Ditto.
(WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Ditto.
(WebCore::checkTextOfParagraph): Ditto.

  • editing/TextCheckingHelper.h: Made TextCheckingParagraph::text public. Deleted

TextCheckingParagraph::textDeprecatedCharacters. Added comments about additional
TextCheckingParagraph refinements. Changed checkTextOfParagraph to take a client
reference instead of pointer and StringView instead of characters pointer with length.

  • editing/TextIterator.cpp:

(WebCore::TextIterator::appendTextToStringBuilder): Use data members directly,
rather than using functions, since we already checked m_textCharacters for null.
(WebCore::CharacterIterator::string): Use text() instead of characters().
(WebCore::WordAwareIterator::WordAwareIterator): Removed initialization of
m_previousText now that it's a StringView rather than a pointer.
(WebCore::WordAwareIterator::advance): Use TextIterator::text instead of
TextIterator::characters. Also added a FIXME about a fundamental problem
with the implementation of this class!
(WebCore::WordAwareIterator::length): Updated for m_previousText change.
(WebCore::WordAwareIterator::text): Replaced WordAwareIterator::characters with this.
(WebCore::SearchBuffer::append): Changed to take a StringView.
(WebCore::SearchBuffer::prependContext): Ditto.
(WebCore::SearchBuffer::isWordStartMatch): Use StringView.
(WebCore::SearchBuffer::search): Ditto.
(WebCore::findPlainText): Ditto.

  • editing/TextIterator.h: Added TextIterator::text that returns a StringView, and

renamed TextIterator::characters to TextIterator::deprecatedTextIteratorCharacters
(easy to search for in source code). Added SimplifiedBackwardsTextIterator::text
and removed SimplifiedBackwardsTextIterator::characters. Added CharacterIterator::text,
and removed CharacterIterator::characters. Added WordAwareIterator::text and removed
WorkdAwareIterator::characters. Changed WordAwareIterator data members to use StringView.

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::appendTrailingWhitespace): Use TextIterator::text instead
of TextIterator::characters.

  • editing/VisibleUnits.cpp:

(WebCore::previousBoundary): Updated to use StringView.
(WebCore::nextBoundary): Ditto.
(WebCore::startWordBoundary): Ditto.
(WebCore::startOfWord): Ditto.
(WebCore::endWordBoundary): Ditto.
(WebCore::endOfWord): Fixed formatting.
(WebCore::previousWordPositionBoundary): Updated to use StringView.
(WebCore::previousWordPosition): Fixed formatting and got rid of local variable.
(WebCore::nextWordPositionBoundary): Updated to use StringView.
(WebCore::nextWordPosition): Fixed formatting and got rid of local variable.
(WebCore::inSameLine): Fixed formatting.
(WebCore::isStartOfLine): Ditto.
(WebCore::isEndOfLine): Ditto.
(WebCore::absoluteLineDirectionPointToLocalPointInBlock): Changed to take a reference.
(WebCore::previousLinePosition): Fixed formatting chand changed to pass a reference.
(WebCore::nextLinePosition): Ditto.
(WebCore::startSentenceBoundary): Updated to use StringView and got rid of a local.
(WebCore::startOfSentence): Fixed formatting.
(WebCore::endSentenceBoundary): Updated to use StringView and got rid of a local.
(WebCore::endOfSentence): Fixed formatting.
(WebCore::previousSentencePositionBoundary): Updated to use StringView and got rid of
a local.
(WebCore::previousSentencePosition): Ditto.
(WebCore::nextSentencePositionBoundary): Ditto.
(WebCore::nextSentencePosition): Fixed formatting.
(WebCore::endOfParagraph): Ditto.
(WebCore::inSameParagraph): Ditto.
(WebCore::isStartOfParagraph): Ditto.
(WebCore::isEndOfParagraph): Ditto.
(WebCore::inSameBlock): Ditto.
(WebCore::isStartOfBlock): Ditto.
(WebCore::isEndOfBlock): Ditto.
(WebCore::startOfDocument): Ditto.
(WebCore::endOfDocument): Ditto.
(WebCore::inSameDocument): Ditto.
(WebCore::isStartOfDocument): Ditto.
(WebCore::isEndOfDocument): Ditto.
(WebCore::isEndOfEditableOrNonEditableContent): Ditto.

  • loader/EmptyClients.h: Use StringView.
  • platform/mac/HTMLConverter.mm:

(+[WebHTMLConverter editingAttributedStringFromRange:]): Use StringView.

  • platform/text/TextBoundaries.cpp:

(WebCore::endOfFirstWordBoundaryContext): Use StringView and unsigned.
(WebCore::startOfLastWordBoundaryContext): Ditto.

  • platform/text/TextBoundaries.h: Change interfaces to use StringView,

and in some cases, unsigned instead of int. All call sites were better off
with unsigned.

  • platform/text/TextCheckerClient.h: Use StringView.
  • platform/text/mac/TextBoundaries.mm: Changed conditionals to say

USE(APPKIT) instead of PLATFORM(IOS), since that's the real issue.
(WebCore::isSkipCharacter): Tweaked formatting.
(WebCore::isWhitespaceCharacter): Ditto.
(WebCore::isWordDelimitingCharacter): Ditto, also removed local variable.
(WebCore::isSymbolCharacter): Ditto.
(WebCore::tokenizerForString): Ditto.
(WebCore::findSimpleWordBoundary): Use StringView. Also changed to mostly
use unsigned instead of int.
(WebCore::findComplexWordBoundary): Use StringView. Also restructured to
be much more readable, with early returns and such.
(WebCore::findWordBoundary): Use StringView and unsigned.
(WebCore::findEndWordBoundary): Removed redudant copy of the findWordBoundary
function and changed this to just call findWordBoundary. The reason this
function exists is to optimize this case for some non-Mac, non-iOS platforms.
We can always do that for Mac and/or iOS later if we like.
(WebCore::findNextWordFromIndex): Use StringView. Also use wordBreakIterator
instead of using UBreakIterator directly so we get a cached iterator instead
of creating and destroying a new one each time this function is called.

  • bindings/objc/DOMUIKitExtensions.mm: Removed unneeded includes.
  • dom/Element.cpp: Ditto.
  • dom/PositionIterator.cpp: Ditto.
  • editing/ApplyBlockElementCommand.cpp: Ditto.
  • editing/IndentOutdentCommand.cpp: Ditto.
  • editing/InsertListCommand.cpp: Ditto.
  • editing/markup.cpp: Ditto.
  • html/HTMLElement.cpp: Ditto.
  • html/HTMLTextAreaElement.cpp: Ditto.
  • page/Frame.cpp: Ditto.
  • rendering/RenderTextControl.cpp: Ditto.

Source/WebKit/efl:

  • WebCoreSupport/EditorClientEfl.cpp:

(WebCore::EditorClientEfl::checkSpellingOfString): Use StringView.
(WebCore::EditorClientEfl::checkGrammarOfString): Ditto.

  • WebCoreSupport/EditorClientEfl.h: Ditto.

Source/WebKit/gtk:

  • WebCoreSupport/TextCheckerClientGtk.cpp:

(WebKit::TextCheckerClientGtk::checkSpellingOfString): Use StringView.
(WebKit::TextCheckerClientGtk::checkGrammarOfString): Ditto.

  • WebCoreSupport/TextCheckerClientGtk.h: Ditto.

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.h: Made most data members private. Moved inlines

for iOS out of the class definition. Fixed formatting. Added missing virtual keyword.
Changed interfaces to use StringView.

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::checkTextOfParagraph): Use the new StringView::createNSStringWithoutCopying
function instead of a similar function that was local in this file.
(WebEditorClient::ignoreWordInSpellDocument): Tweaked formatting.
(WebEditorClient::checkSpellingOfString): Changed to take a StringView.
(WebEditorClient::checkGrammarOfString): Ditto.

  • WebView/WebTextIterator.mm:

(-[WebTextIterator currentTextPointer]): Call TextIterator::deprecatedTextIteratorCharacters.
(-[WebTextIterator currentText]): Convert a the text to an NSString with TextIterator::text
instead of with TextIterator::characters/length.

Source/WebKit/win:

  • WebCoreSupport/WebEditorClient.cpp:

(WebEditorClient::checkSpellingOfString): Use StringView.
(WebEditorClient::checkGrammarOfString): Ditto.

  • WebCoreSupport/WebEditorClient.h: Ditto.

Source/WebKit/wince:

  • WebCoreSupport/EditorClientWinCE.cpp:

(WebKit::EditorClientWinCE::checkSpellingOfString): Use StringView.
(WebKit::EditorClientWinCE::checkGrammarOfString): Ditto.

  • WebCoreSupport/EditorClientWinCE.h: Ditto.

Source/WebKit2:

  • WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:

(-[WKDOMTextIterator currentTextPointer]): Call TextIterator::deprecatedTextIteratorCharacters.

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::checkSpellingOfString): Use StringView.
(WebKit::WebEditorClient::checkGrammarOfString): Ditto.

  • WebProcess/WebCoreSupport/WebEditorClient.h: Ditto.

Source/WTF:

  • WTF.xcodeproj/project.pbxproj: Added new source files.
  • wtf/text/StringView.h: Added operator[], createCFStringWithoutCopying, and

createNSStringWithoutCopying.

  • wtf/text/cf/StringViewCF.cpp:

(WTF::StringView::createCFStringWithoutCopying): Added.

  • wtf/text/mac/StringViewObjC.mm:

(WTF::StringView::createNSString): Added.
(WTF::StringView::createNSStringWithoutCopying): Added.

8:14 AM Changeset in webkit [163711] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Add stdlib include file to fix ImageDiff build with libc++
https://bugs.webkit.org/show_bug.cgi?id=128454

Patch by Rajaram Gaunker <zimbabao@gmail.com> on 2014-02-08
Reviewed by Darin Adler.

  • ImageDiff/gtk/ImageDiff.cpp:
2:33 AM Changeset in webkit [163710] by mrowe@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

<https://webkit.org/b/128452> Don't duplicate the list of input files for postprocess-headers.sh

Reviewed by Dan Bernstein.

  • postprocess-headers.sh: Pull the list of headers to process out of the environment.
2:03 AM Changeset in webkit [163709] by mrowe@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix the iOS build.

  • API/WebKitAvailability.h: Skip the workarounds specific to OS X when we're building for iOS.
1:26 AM Changeset in webkit [163708] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Build break in WebKitWebViewBase.cpp::webkitWebViewBaseCreateWebPage
https://bugs.webkit.org/show_bug.cgi?id=128449

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-08
Reviewed by Carlos Garcia Campos.

Parameter passed to context->createWebPage was inproper.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreateWebPage):

1:01 AM Changeset in webkit [163707] by mrowe@apple.com
  • 5 edits
    1 add in trunk/Source/JavaScriptCore

<https://webkit.org/b/128448> Fix use of availability macros on recently-added APIs

Reviewed by Dan Bernstein.

  • API/JSContext.h: Remove some #ifs.
  • API/JSManagedValue.h: Ditto.
  • API/WebKitAvailability.h: #define the macros that availability macros mentioning

newer OS X versions would expand to when building on older OS versions.

  • JavaScriptCore.xcodeproj/project.pbxproj: Call the new postprocess-headers.sh.
  • postprocess-headers.sh: Extracted from the Xcode project. Updated to remove content

from headers based on the MAC_OS_X_VERSION_MIN_REQUIRED macro, and to
process WebKitAvailability.h.

12:53 AM Changeset in webkit [163706] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove two unused function declarations.

Scrub "highQualityRepaintTimerFired" declarations from RenderImage
and RenderBoxModelObject since they're not actually defined.

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderImage.h:
12:50 AM Changeset in webkit [163705] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

CTTE: SVGTRefTargetEventListener is always owned by SVGTRefElement.
<https://webkit.org/b/128432>

Tighten up the relationship between SVGTRefElement and its internal
event listener helper by storing the listener in a Ref, and making
the listeners backpointer to the element be a reference.

Reviewed by Anders Carlsson.

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefTargetEventListener::create):
(WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):
(WebCore::SVGTRefTargetEventListener::operator==):
(WebCore::SVGTRefTargetEventListener::handleEvent):
(WebCore::SVGTRefElement::SVGTRefElement):

  • svg/SVGTRefElement.h:
12:48 AM Changeset in webkit [163704] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Devirtualize RenderBlockFlowRareData.
<https://webkit.org/b/128427>

This class had a virtual destructor for no reason. Removing it
shrinks RenderBlockFlowRareData by 8 bytes.

Reviewed by Anders Carlsson.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::RenderBlockFlowRareData::~RenderBlockFlowRareData):

12:45 AM Changeset in webkit [163703] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Use renderer iterators in two more places.
<https://webkit.org/b/128371>

Reviewed by Antti Koivisto.

  • dom/Position.cpp:

(WebCore::Position::primaryDirection):

Use lineageOfType instead of walking the parent chain.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::insertOnlyThisLayer):

Use childrenOfType instead of walking the children.

12:42 AM Changeset in webkit [163702] by mitz@apple.com
  • 5 edits in trunk/Source/WebKit2

Font size-related preference values should be CGFloats backed by doubles
https://bugs.webkit.org/show_bug.cgi?id=128445

Reviewed by Filip Pizlo.

  • Shared/WebPreferencesStore.h: Changed minimumFontSize, minimumLogicalFontSize,

defaultFontSize, and defaultFixedFontSize into double-value preferences.

  • UIProcess/API/Cocoa/WKPreferences.h: Changed minimumFontSize into CGFloat.
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences minimumFontSize]): Changed return type.
(-[WKPreferences setMinimumFontSize:]): Changed parameter type.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences): Changed to use double getters.

12:36 AM Changeset in webkit [163701] by akling@apple.com
  • 5 edits in trunk

Remove unused ENABLE(REPAINT_THROTTLING) flag.
<https://webkit.org/b/128329>

Reviewed by Antti Koivisto.

.:

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/WTF:

  • wtf/FeatureDefines.h:
12:27 AM Changeset in webkit [163700] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSLock should not "restore" VM stack values if it did not re-grab locks.
<https://webkit.org/b/128447>

Reviewed by Geoffrey Garen.

In the existing code, if DropAllLocks is instantiate with DontAlwaysDropLocks
in a thread that does not own the JSLock, then a bug will manifest where:

  1. The DropAllLocks constructor will save the VM's stackPointerAtEntry, lastStackTop, and reservedZoneSize even though it will not drop the JSLock.
  2. The DropAllLocks destructor will restore those 3 values to the VM even though the JSLock will not grab its internal lock.

The former only causes busy work but does not impact correctness. The latter
however, will corrupt those 3 VM values which belong to the thread that
actually owns the JSLock.

The fix is to only save the values when the JSLock will actually drop its
internal lock, and only restore the values if it did re-grab the internal lock.

  • runtime/JSLock.cpp:

(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::DropAllLocks::DropAllLocks):

  • Moved the saving of VM stack values to dropAllLocks() and dropAllLocksUnconditionally().

(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • Moved the restoring of VM stack values to grabAllLocks().
12:26 AM Changeset in webkit [163699] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Minibrowser: Matched words of a searched text are not highlighted after reopening search bar
https://bugs.webkit.org/show_bug.cgi?id=128380

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-02-08
Reviewed by Carlos Garcia Campos.

When open the search bar, perform last search if there is any.

  • MiniBrowser/gtk/BrowserSearchBar.c:

(browser_search_bar_open):

12:25 AM Changeset in webkit [163698] by commit-queue@webkit.org
  • 6 edits in trunk

[GTK] Make process model names properly meaningful
https://bugs.webkit.org/show_bug.cgi?id=128389

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2014-02-08
Reviewed by Carlos Garcia Campos.

The name WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW
is misleading because there are situations in which web views may
share the same web process even when multi-process mode is enabled;
for example when opening a related view and both interact using JS.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkit_web_context_set_process_model):
(webkit_web_context_get_process_model):
Update names of WebKitProcessModel enum values.

  • UIProcess/API/gtk/WebKitWebContext.h:

Ditto.

Tools:

  • MiniBrowser/gtk/main.c:

(main):
Update usage of WebKitProcessModel enum values.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:

(beforeAll):
Ditto.

12:24 AM Changeset in webkit [163697] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] build-webkit script always generate-gtk-doc even if '--disable-gtk-doc' param is passed
https://bugs.webkit.org/show_bug.cgi?id=128376

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-02-08
Reviewed by Carlos Garcia Campos.

  • Scripts/webkitdirs.pm:

(buildAutotoolsProject):

12:21 AM Changeset in webkit [163696] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Build break in WebKitSettings
https://bugs.webkit.org/show_bug.cgi?id=128446

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-08
Reviewed by Ryosuke Niwa.

Argument for WebPreferences::create was missing

  • UIProcess/API/gtk/WebKitSettings.cpp:

(_WebKitSettingsPrivate::_WebKitSettingsPrivate):

Note: See TracTimeline for information about the timeline view.