gyuyoung.kim@samsung.com [Fri, 1 Nov 2013 12:09:11 +0000 (12:09 +0000)]
Unreviewed, EFL gardening. css3 text tests are failing since r158389
* platform/efl/TestExpectations: Add failure tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158430
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mario@webkit.org [Fri, 1 Nov 2013 11:54:21 +0000 (11:54 +0000)]
Unreviewed GTK gardening. Tests passing after r158273 and r158352
and rebaseline needed after r158195.
* platform/gtk/TestExpectations: Removed tests now passing.
* platform/gtk/accessibility/media-element-expected.txt: Rebaseline.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158429
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mario@webkit.org [Fri, 1 Nov 2013 10:59:33 +0000 (10:59 +0000)]
[ATK] Avoid explicit traversal of text controls and the render tree in AtkText implementation
https://bugs.webkit.org/show_bug.cgi?id=123153
Reviewed by Chris Fleizach.
Source/WebCore:
Remove functions from the AtkText implementation that manually
walk the render tree to compose the text for a exposed objects in
certain cases (e.g. anonymous blocks, text controls).
The reason for this change is that the current implementation
follows an error-prone approach, since by doing things like
manually walking the render tree from here we are not properly
considering all the possible scenarios that might happen when
traversing text. This, however, is a task that is better suited
for the TextIterator, which is already written to consider all
those cases and to emit the proper character in every single
situation: text nodes, replaced objects and so on.
So, by removing all that too specific code (textForObject() and
textForRenderer() mainly) from WebKitAccessibleInterfaceText.cpp
and relying in AccessibilityObject::textUnderElement(), which it
ends up using the TextIterator for certain cases, we have a much
better and robust method of retrieving the text associated with an
instance of AtkObject implementing the AtkText interface.
* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(webkitAccessibleTextGetText): Removed call to textForObject(), now that
we have just removed that function, together with textForRenderer().
Make AccessibilityRenderObject::textUnderElement() able to deal with
anonymous blocks directly, by creating a range based in the boundaries
defined by the first and last child renderers for that block. This will
make possible to treat an anonymous block as a whole instead of having
to rely in the concatenation of each of its children, as it does now.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement): Added a new code
path to deal with anonymous blocks for text renderers, or when including
all the children is explicitly requested.
Modified TextIterator so text for children of replaced objects are
ignored if we are emmiting the special character for those objects.
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleReplacedElement): Make sure no children are
handled a replaced object if m_emitsObjectReplacementCharacters is set.
* editing/TextIterator.h: Updated m_emitsObjectReplacementCharacters
description to reflect the new behavior.
LayoutTests:
Updated test expectations to properly reflect the new reality when it
comes to exposing replaced objects and anymous blocks.
* platform/gtk/accessibility/table-with-rules-expected.txt: Updated to
print <\n> explicitly for the two instances of <BR> that are present in the
test, that will be included as part of an anonymous block.
* platform/efl/accessibility/table-with-rules-expected.txt: Ditto.
* platform/efl-wk2/accessibility/table-with-rules-expected.txt: Ditto.
* platform/efl/accessibility/deleting-iframe-destroys-axcache-expected.txt: Updated
expectations not to expect the text of a button to be shown.
* platform/gtk/accessibility/deleting-iframe-destroys-axcache-expected.txt: Ditto.
* platform/gtk/accessibility/replaced-objects-in-anonymous-blocks-expected.txt: Ditto.
* platform/gtk/TestExpectations: Removed replaced-objects-in-anonymous-blocks.html
from the list of expected failures, as it's now being properly exposed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158428
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Fri, 1 Nov 2013 07:15:45 +0000 (07:15 +0000)]
Add a Mac WebCrypto implementation of HMAC importKey/sign/verify
https://bugs.webkit.org/show_bug.cgi?id=123598
Reviewed by Anders Carlsson.
Source/WebCore:
Test: crypto/subtle/hmac-sign-verify.html
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSSubtleCryptoCustom.cpp: Added property svn:eol-style.
(WebCore::createAlgorithmFromJSValue):
(WebCore::cryptoOperationDataFromJSValue):
(WebCore::cryptoKeyFormatFromJSValue):
(WebCore::cryptoKeyUsagesFromJSValue):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::digest):
(WebCore::JSSubtleCrypto::importKey):
* crypto/SubtleCrypto.idl:
* crypto/algorithms/CryptoAlgorithmHMAC.cpp: Added.
(WebCore::CryptoAlgorithmHMAC::CryptoAlgorithmHMAC):
(WebCore::CryptoAlgorithmHMAC::~CryptoAlgorithmHMAC):
(WebCore::CryptoAlgorithmHMAC::create):
(WebCore::CryptoAlgorithmHMAC::identifier):
(WebCore::CryptoAlgorithmHMAC::importKey):
(WebCore::CryptoAlgorithmHMAC::exportKey):
* crypto/algorithms/CryptoAlgorithmHMAC.h: Added.
* crypto/keys: Added.
* crypto/keys/CryptoKeyHMAC.cpp: Added.
(WebCore::CryptoKeyHMAC::CryptoKeyHMAC):
(WebCore::CryptoKeyHMAC::~CryptoKeyHMAC):
(WebCore::CryptoKeyHMAC::buildAlgorithmDescription):
* crypto/keys/CryptoKeyHMAC.h: Added.
* crypto/mac/CryptoAlgorithmHMACMac.cpp: Added.
(WebCore::getCommonCryptoAlgorithm):
(WebCore::calculateSignature):
(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):
(WebCore::CryptoAlgorithmHMAC::generateKey):
* crypto/mac/CryptoAlgorithmRegistryMac.cpp:
(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
LayoutTests:
* crypto/subtle/hmac-sign-verify-expected.txt: Added.
* crypto/subtle/hmac-sign-verify.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158427
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Fri, 1 Nov 2013 07:15:33 +0000 (07:15 +0000)]
[EFL][WK1] Rendering is broken when scrolled ewk_view_single repeatedly
https://bugs.webkit.org/show_bug.cgi?id=123609
Reviewed by Gyuyoung Kim.
ewk_view_single adds wrong updateRects except last one in scrolls_process,
because previous updateRects are not considered accumulated scrollOffsets.
* ewk/ewk_view_single.cpp:
(_ewk_view_single_smart_scrolls_process):
Merged scrollOffsets to calculate updateRects once.
It will also reduce unnecessary memory copy operations.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158426
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 1 Nov 2013 05:13:49 +0000 (05:13 +0000)]
JavaScript parser bug
https://bugs.webkit.org/show_bug.cgi?id=123506
Reviewed by Mark Lam.
Source/JavaScriptCore:
Add ParserState as an abstraction and use that to save and restore
the parser state around nested functions (We'll need to use this in
more places in future). Also fix a minor error typo this testcases
hit.
* parser/Parser.cpp:
(JSC::::parseFunctionInfo):
(JSC::::parseAssignmentExpression):
* parser/Parser.h:
(JSC::Parser::saveState):
(JSC::Parser::restoreState):
LayoutTests:
Update and add tests
* js/dom/assign-expected.txt:
* js/function-toString-parentheses-expected.txt:
* js/parser-syntax-check-expected.txt:
* js/script-tests/parser-syntax-check.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158425
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 1 Nov 2013 03:28:59 +0000 (03:28 +0000)]
Update the test expectations for the bug 121452.
fast/frames/lots-of-objects.html and lots-of-iframes.html are timing out everywhere on Mac.
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158424
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 1 Nov 2013 02:47:45 +0000 (02:47 +0000)]
Update the Mac test expectation for the mac-future.
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158423
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 1 Nov 2013 02:32:01 +0000 (02:32 +0000)]
Windows build fix attempt after r158421.
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158422
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 1 Nov 2013 02:05:06 +0000 (02:05 +0000)]
Web Inspector: Clean up a few Inspector interfaces
https://bugs.webkit.org/show_bug.cgi?id=123594
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-10-31
Reviewed by Timothy Hatcher.
* WebCore.exp.in:
* inspector/InjectedScriptHost.cpp:
* inspector/InspectorBaseAgent.h:
(WebCore::InspectorBaseAgentInterface::name):
* inspector/InspectorConsoleAgent.cpp:
* inspector/InspectorConsoleAgent.h:
(WebCore::InspectorConsoleAgent::enabled):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::profilerEnabled):
* inspector/InspectorController.h:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorDebuggerAgent.h:
(WebCore::InspectorDebuggerAgent::enabled):
* inspector/InspectorRuntimeAgent.h:
(WebCore::InspectorRuntimeAgent::enabled):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158421
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 1 Nov 2013 01:27:08 +0000 (01:27 +0000)]
Fix a typo/review comment from Dan, in trac.webkit.org/changeset/158413
* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158418
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 1 Nov 2013 01:16:33 +0000 (01:16 +0000)]
Remote Layer Tree: Vend layer contents via IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=123600
Reviewed by Anders Carlsson.
* Configurations/WebKit2.xcconfig:
Link WebKit2 against IOSurface.
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::dumpChangedLayers):
Dump the size of the backing store instead of the pointer of its
SharedBitmap, because that's slightly more useful.
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::commit):
If a layer's backing store uses accelerated drawing, hand the IOSurface
to the CALayer for display.
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::PlatformCALayerRemote):
Initialize contentsScale to 1 to match CA. Other properties will follow.
(PlatformCALayerRemote::ensureBackingStore):
Instead of replacing the RemoteLayerBackingStore when its properties
change, allow it to update them on the fly. Replacing them caused
us to throw away repaint rects when the accelerated drawing
flag was flipped.
(PlatformCALayerRemote::acceleratesDrawing):
(PlatformCALayerRemote::setAcceleratesDrawing):
Store the accelerated drawing flag and mark it dirty when it changes.
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:
* WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
(WebKit::RemoteLayerBackingStore::image):
Rename bitmap() to image() and have it create a CGImageRef from
the ShareableBitmap, ready for direct application to a CALayer.
(WebKit::RemoteLayerBackingStore::surface):
Return a IOSurface ready for direct application to a CALayer.
(WebKit::RemoteLayerBackingStore::acceleratesDrawing):
(WebKit::RemoteLayerBackingStore::hasFrontBuffer):
Return whether or not we have a front buffer/surface.
* WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
Forward-declare some CGIOSurface SPI.
(RemoteLayerBackingStore::RemoteLayerBackingStore):
(RemoteLayerBackingStore::ensureBackingStore):
Throw away our front image and reset flags if needed.
(RemoteLayerBackingStore::encode):
(RemoteLayerBackingStore::decode):
En/decode the front surface instead of the ShareableBitmap if needed,
using CoreIPC::MachPort. Destroy the port on receipt.
(createIOSurfaceContext):
Create a CGIOSurfaceContext from an IOSurface.
(createIOSurface):
Create an IOSurface of the given size.
(RemoteLayerBackingStore::image):
Return a CGImageRef, if we're not using accelerated drawing.
Moved from the header.
(RemoteLayerBackingStore::display):
(RemoteLayerBackingStore::drawInContext):
If using accelerated drawing, create and paint into an IOSurface.
Reorganize some code to make the copying-from-the-front-image code
work for both software and IOSurfaces.
Flush the context when completed, to ensure that any asynchronous
painting is complete before we vend the surface to the UI process.
* WebCore.exp.in:
Export sRGBColorSpaceRef.
* WebCore.xcodeproj/project.pbxproj:
Expose GraphicsContextCG.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158417
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 1 Nov 2013 01:11:54 +0000 (01:11 +0000)]
Remove unused Page::setDebuggerForAllPages
https://bugs.webkit.org/show_bug.cgi?id=123602
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-10-31
Reviewed by Timothy Hatcher.
* page/Page.cpp:
* page/Page.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158416
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 1 Nov 2013 01:07:29 +0000 (01:07 +0000)]
Web Inspector: Remove InspectorState
https://bugs.webkit.org/show_bug.cgi?id=123547
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-10-31
Reviewed by Timothy Hatcher.
Source/WebCore:
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::InspectorAgent):
* inspector/InspectorAgent.h:
(WebCore::InspectorAgent::create):
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
* inspector/InspectorApplicationCacheAgent.h:
(WebCore::InspectorApplicationCacheAgent::create):
* inspector/InspectorBaseAgent.cpp:
(WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
* inspector/InspectorBaseAgent.h:
(WebCore::InspectorBaseAgent::InspectorBaseAgent):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::InspectorCSSAgent):
* inspector/InspectorCSSAgent.h:
(WebCore::InspectorCSSAgent::create):
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
* inspector/InspectorCanvasAgent.h:
(WebCore::InspectorCanvasAgent::create):
* inspector/InspectorClient.h:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
* inspector/InspectorDOMAgent.h:
(WebCore::InspectorDOMAgent::create):
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::create):
(WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
* inspector/InspectorDOMStorageAgent.h:
(WebCore::InspectorDOMStorageAgent::create):
* inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
* inspector/InspectorDatabaseAgent.h:
(WebCore::InspectorDatabaseAgent::create):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorHeapProfilerAgent.cpp:
(WebCore::InspectorHeapProfilerAgent::create):
(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
* inspector/InspectorIndexedDBAgent.h:
(WebCore::InspectorIndexedDBAgent::create):
* inspector/InspectorInputAgent.cpp:
(WebCore::InspectorInputAgent::InspectorInputAgent):
* inspector/InspectorInputAgent.h:
(WebCore::InspectorInputAgent::create):
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
* inspector/InspectorLayerTreeAgent.h:
(WebCore::InspectorLayerTreeAgent::create):
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
(WebCore::InspectorMemoryAgent::create):
* inspector/InspectorMemoryAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::create):
(WebCore::InspectorPageAgent::InspectorPageAgent):
* inspector/InspectorPageAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::PageProfilerAgent::PageProfilerAgent):
(WebCore::InspectorProfilerAgent::create):
(WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::InspectorResourceAgent):
* inspector/InspectorResourceAgent.h:
(WebCore::InspectorResourceAgent::create):
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
* inspector/InspectorRuntimeAgent.h:
* inspector/InspectorState.cpp: Removed.
* inspector/InspectorState.h: Removed.
* inspector/InspectorStateClient.h: Removed.
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
* inspector/InspectorTimelineAgent.h:
(WebCore::InspectorTimelineAgent::create):
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::create):
(WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
* inspector/InspectorWorkerAgent.h:
* inspector/PageConsoleAgent.cpp:
(WebCore::PageConsoleAgent::PageConsoleAgent):
* inspector/PageConsoleAgent.h:
(WebCore::PageConsoleAgent::create):
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::create):
(WebCore::PageDebuggerAgent::PageDebuggerAgent):
* inspector/PageDebuggerAgent.h:
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::PageRuntimeAgent):
* inspector/PageRuntimeAgent.h:
(WebCore::PageRuntimeAgent::create):
* inspector/WorkerConsoleAgent.cpp:
(WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
* inspector/WorkerConsoleAgent.h:
(WebCore::WorkerConsoleAgent::create):
* inspector/WorkerDebuggerAgent.cpp:
(WebCore::WorkerDebuggerAgent::create):
(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
* inspector/WorkerDebuggerAgent.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
(WebCore::WorkerInspectorController::connectFrontend):
(WebCore::WorkerInspectorController::disconnectFrontend):
* inspector/WorkerInspectorController.h:
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
* inspector/WorkerRuntimeAgent.h:
(WebCore::WorkerRuntimeAgent::create):
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerProxy::postMessageToPageInspector):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::postMessageToPageInspector):
* workers/WorkerMessagingProxy.h:
* workers/WorkerReportingProxy.h:
Source/WebKit/blackberry:
* WebCoreSupport/InspectorClientBlackBerry.cpp:
* WebCoreSupport/InspectorClientBlackBerry.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158415
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 1 Nov 2013 01:01:18 +0000 (01:01 +0000)]
Compile fix for VS2012.
https://bugs.webkit.org/show_bug.cgi?id=123599
Patch by Alex Christensen <achristensen@webkit.org> on 2013-10-31
Reviewed by Brent Fulgham.
* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::WebFramePolicyListenerPrivate::WebFramePolicyListenerPrivate):
(WebFrameLoaderClient::cancelPolicyCheck):
(WebFrameLoaderClient::receivedPolicyDecision):
Use nullptr instead of 0 for m_policyFunction, which is a std::function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158414
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 1 Nov 2013 00:48:49 +0000 (00:48 +0000)]
Begin stubbing out the WKRemoteObjectCoder NSCoder subclass
https://bugs.webkit.org/show_bug.cgi?id=123596
Reviewed by Tim Horton.
* Shared/API/Cocoa/WKRemoteObject.mm:
(-[WKRemoteObject forwardInvocation:]):
Call through to the WKRemoteObjectRegistry.
* Shared/API/Cocoa/WKRemoteObjectCoder.h: Added.
* Shared/API/Cocoa/WKRemoteObjectCoder.mm: Added.
(-[WKRemoteObjectEncoder init]):
Create a root WKDictionary.
(-[WKRemoteObjectEncoder dealloc]):
Assert that the current dictionary is the root dictionary; that we're back where we started.
(-[WKRemoteObjectEncoder allowsKeyedCoding]):
Return YES.
(-[WKRemoteObjectEncoder encodeObject:forKey:]):
Check that the object is valid and then encode it.
(-[WKRemoteObjectEncoder _encodeInvocation:forKey:]):
Encode the method type string and invocation selector.
(-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
Create a WKDataRef and add it to the dictionary.
(-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
Create a new dictionary and call the block.
* Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
(-[WKRemoteObjectRegistry _sendInvocation:interface:]):
Create an encoder and encode the invocation and interface.
* Shared/API/Cocoa/WKRemoteObjectRegistryInternal.h: Added.
Add IPI header.
* WebKit2.xcodeproj/project.pbxproj:
Add new files.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158413
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 1 Nov 2013 00:45:47 +0000 (00:45 +0000)]
FTL Int32ToDouble should handle the forward type check case where you need a recovery
https://bugs.webkit.org/show_bug.cgi?id=123605
Reviewed by Mark Hahnenberg.
If you have a Int32ToDouble that needs to do a type check and it's required to do a
forward exit, then it needs to manually pass in a value recovery for itself in the
OSR exit - since this is one of those forward-exiting nodes that doesn't have a
preceding MovHint.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileInt32ToDouble):
(JSC::FTL::LowerDFGToLLVM::forwardTypeCheck):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158412
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 1 Nov 2013 00:31:27 +0000 (00:31 +0000)]
Address review comments.
* Shared/API/Cocoa/WKRemoteObject.h:
* Shared/API/Cocoa/WKRemoteObject.mm:
(-[WKRemoteObject conformsToProtocol:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158410
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 1 Nov 2013 00:05:53 +0000 (00:05 +0000)]
Split PendingDeleteCall into its own header
https://bugs.webkit.org/show_bug.cgi?id=123597
Reviewed by Beth “Okay I guess so, bro” Dakin.
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::deleteDatabase):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
* Modules/indexeddb/IDBPendingDeleteCall.h: Added.
(WebCore::IDBPendingDeleteCall::create):
(WebCore::IDBPendingDeleteCall::callbacks):
(WebCore::IDBPendingDeleteCall::IDBPendingDeleteCall):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 1 Nov 2013 00:01:16 +0000 (00:01 +0000)]
Web Inspector: Convert some InspectorObject member variables to HashSet/HashMap
https://bugs.webkit.org/show_bug.cgi?id=123579
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-10-31
Reviewed by Timothy Hatcher.
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
(WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
(WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
Make m_eventListenerBreakpoints and m_xhrBreakpoints HashSet.
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::disable):
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::removeBreakpoint):
(WebCore::InspectorDebuggerAgent::didParseSource):
Make m_javaScriptBreakpoints a HashMap.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158408
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 31 Oct 2013 23:56:18 +0000 (23:56 +0000)]
Add a WKRemoteObject class
https://bugs.webkit.org/show_bug.cgi?id=123586
Reviewed by Dan Bernstein.
Source/WebKit2:
* Shared/API/Cocoa/WKRemoteObject.h: Added.
* Shared/API/Cocoa/WKRemoteObject.mm: Added.
(-[WKRemoteObject _initWithObjectRegistry:interface:]):
Add designated initializer.
(-[WKRemoteObject conformsToProtocol:]):
Check if the interface protocol conforms to our protocol.
(methodArgumentTypeEncodingForSelector):
Helper function that looks up a method in a given protocol and returns its type encoding.
(-[WKRemoteObject methodSignatureForSelector:]):
Try to find the method argument type encoding for the given selector and return its NSMethodSignature.
(-[WKRemoteObject forwardInvocation:]):
Add stub.
* Shared/API/Cocoa/WKRemoteObjectInterface.mm:
Remove a newline.
* Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
(-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
Establish a mapping between interface identifiers and remote object proxies.
* WebKit2.xcodeproj/project.pbxproj:
Tools:
* TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm:
(TestWebKitAPI::TEST):
Add a conformsToProtocol: test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158407
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 23:23:11 +0000 (23:23 +0000)]
Correct the elapsedTime calculation in SVG animations
https://bugs.webkit.org/show_bug.cgi?id=119289
Patch by Youenn Fablet <youennf@gmail.com> on 2013-10-31
Reviewed by Brent Fulgham.
Blink: https://chromium.googlesource.com/chromium/blink/+/338f9badca7fb7880abdb0cecd5f02493c1f7d2e
Source/WebCore:
Test: svg/animations/getCurrentTime-pause-unpause.html
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::SMILTimeContainer):
(WebCore::SMILTimeContainer::elapsed):
(WebCore::SMILTimeContainer::begin):
(WebCore::SMILTimeContainer::pause):
(WebCore::SMILTimeContainer::resume):
(WebCore::SMILTimeContainer::setElapsed):
* svg/animation/SMILTimeContainer.h:
LayoutTests:
* svg/animations/getCurrentTime-pause-unpause-expected.txt: Added.
* svg/animations/getCurrentTime-pause-unpause.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158405
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 23:12:10 +0000 (23:12 +0000)]
Web Inspector: Breakpoints in auto-formatted JavaScript editors are not working
https://bugs.webkit.org/show_bug.cgi?id=123589
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-10-31
Reviewed by Timothy Hatcher.
The internal this._ignoreCodeMirrorContentDidChangeEvent flag was being used
in two places that could be nested, meaning the flag was deleted while it
was still expected to be set. Change it instead to a counter, to handle nesting.
* UserInterface/TextEditor.js:
(WebInspector.TextEditor):
(WebInspector.TextEditor.prototype.set string):
(WebInspector.TextEditor.prototype.set formatted):
(WebInspector.TextEditor.prototype._contentChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158404
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 31 Oct 2013 22:49:51 +0000 (22:49 +0000)]
FTL should implement InvalidationPoint in terms of llvm.stackmap
https://bugs.webkit.org/show_bug.cgi?id=113647
Reviewed by Mark Hahnenberg.
This is pretty straightforward now that InvalidationPoint has exactly the semantics
that agree with llvm.stackmap.
* ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::LowerDFGToLLVM::callStackmap):
* ftl/FTLOSRExitCompilationInfo.h:
(JSC::FTL::OSRExitCompilationInfo::OSRExitCompilationInfo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Thu, 31 Oct 2013 22:38:05 +0000 (22:38 +0000)]
Source/JavaScriptCore: Implement basic ES6 Math functions
https://bugs.webkit.org/show_bug.cgi?id=123536
Reviewed by Michael Saboff.
Fairly trivial patch to implement the core ES6 Math functions.
This doesn't implement Math.hypot as it is not a trivial function.
I've also skipped Math.sign as I am yet to be convinced the spec
behaviour is good. Everything else is trivial.
* runtime/MathObject.cpp:
(JSC::MathObject::finishCreation):
(JSC::mathProtoFuncACosh):
(JSC::mathProtoFuncASinh):
(JSC::mathProtoFuncATanh):
(JSC::mathProtoFuncCbrt):
(JSC::mathProtoFuncCosh):
(JSC::mathProtoFuncExpm1):
(JSC::mathProtoFuncFround):
(JSC::mathProtoFuncLog1p):
(JSC::mathProtoFuncLog10):
(JSC::mathProtoFuncLog2):
(JSC::mathProtoFuncSinh):
(JSC::mathProtoFuncTanh):
(JSC::mathProtoFuncTrunc):
Source/WTF: Implement basic ES6 Math functions
https://bugs.webkit.org/show_bug.cgi?id=123536
Reviewed by Michael Saboff.
Add basic implementations of necessary methods to MathExtras to
deal with MSVC not supplying them
* wtf/MathExtras.h:
(asinh):
(acosh):
(atanh):
(expm1):
(log1p):
(cbrt):
LayoutTests: Implement ES6 Math functions
https://bugs.webkit.org/show_bug.cgi?id=123536
Reviewed by Michael Saboff.
Add tests for new math functions
* js/Object-getOwnPropertyNames-expected.txt:
* js/math-expected.txt:
* js/script-tests/Object-getOwnPropertyNames.js:
* js/script-tests/math.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 31 Oct 2013 22:29:39 +0000 (22:29 +0000)]
FTL::Location::restoreInto() doesn't handle stack-related registers correctly if you're using it after pushing a new stack frame
https://bugs.webkit.org/show_bug.cgi?id=123591
Reviewed by Mark Hahnenberg.
This gets us to pass more tests with ftlUsesStackmaps.
* ftl/FTLLocation.cpp:
(JSC::FTL::Location::restoreInto):
* ftl/FTLLocation.h:
* ftl/FTLThunks.cpp:
(JSC::FTL::osrExitGenerationWithStackMapThunkGenerator):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Thu, 31 Oct 2013 21:59:49 +0000 (21:59 +0000)]
Manage line-grid RootInlineBox with unique_ptr.
<https://webkit.org/b/123583>
Use smart pointers for the RenderBlockFlow's optional line-grid box
instead of manual new/delete.
Reviewed by Antti Koivisto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158398
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 31 Oct 2013 21:50:01 +0000 (21:50 +0000)]
Enable WebCrypto on Mac
https://bugs.webkit.org/show_bug.cgi?id=123587
Reviewed by Anders Carlsson.
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig: Do it.
Source/WebCore:
* Configurations/FeatureDefines.xcconfig: Enable it.
* bindings/js/JSCryptoAlgorithmDictionary.cpp: Build fix.
* crypto/CryptoAlgorithmRegistry.cpp: (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
Special case empty keys to avoid upsetting HashMap.
* crypto/algorithms/CryptoAlgorithmSHA1.cpp: (WebCore::CryptoAlgorithmSHA1::create):
Build fix. Can't use make_unique, because constructor is private.
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig: Do it.
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig: Do it.
LayoutTests:
* TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
Only skipping on specific platforms now.
* crypto: Added.
* crypto/crypto-gc-expected.txt: Copied from LayoutTests/security/crypto-gc-expected.txt.
* crypto/crypto-gc.html: Copied from LayoutTests/security/crypto-gc.html.
* crypto/crypto-random-values-expected.txt: Copied from LayoutTests/security/crypto-random-values-expected.txt.
* crypto/crypto-random-values-limits-expected.txt: Copied from LayoutTests/security/crypto-random-values-limits-expected.txt.
* crypto/crypto-random-values-limits.html: Copied from LayoutTests/security/crypto-random-values-limits.html.
* crypto/crypto-random-values-types-expected.txt: Copied from LayoutTests/security/crypto-random-values-types-expected.txt.
* crypto/crypto-random-values-types.html: Copied from LayoutTests/security/crypto-random-values-types.html.
* crypto/crypto-random-values.html: Copied from LayoutTests/security/crypto-random-values.html.
* crypto/subtle: Added.
* crypto/subtle/argument-conversion-expected.txt: Copied from LayoutTests/security/crypto-subtle-arguments-expected.txt.
* crypto/subtle/argument-conversion.html: Copied from LayoutTests/security/crypto-subtle-arguments.html.
* crypto/subtle/gc-2-expected.txt: Copied from LayoutTests/security/crypto-subtle-gc-2-expected.txt.
* crypto/subtle/gc-2.html: Copied from LayoutTests/security/crypto-subtle-gc-2.html.
* crypto/subtle/gc-3-expected.txt: Copied from LayoutTests/security/crypto-subtle-gc-3-expected.txt.
* crypto/subtle/gc-3.html: Copied from LayoutTests/security/crypto-subtle-gc-3.html.
* crypto/subtle/gc-expected.txt: Copied from LayoutTests/security/crypto-subtle-gc-expected.txt.
* crypto/subtle/gc.html: Copied from LayoutTests/security/crypto-subtle-gc.html.
* crypto/subtle/resources: Added.
* crypto/subtle/resources/common.js: Copied from LayoutTests/security/resources/common.js.
* crypto/subtle/sha-1-expected.txt: Copied from LayoutTests/security/crypto-subtle-sha1-expected.txt.
* crypto/subtle/sha-1.html: Copied from LayoutTests/security/crypto-subtle-sha1.html.
* security/crypto-gc-expected.txt: Removed.
* security/crypto-gc.html: Removed.
* security/crypto-random-values-expected.txt: Removed.
* security/crypto-random-values-limits-expected.txt: Removed.
* security/crypto-random-values-limits.html: Removed.
* security/crypto-random-values-types-expected.txt: Removed.
* security/crypto-random-values-types.html: Removed.
* security/crypto-random-values.html: Removed.
* security/crypto-subtle-arguments-expected.txt: Removed.
* security/crypto-subtle-arguments.html: Removed.
* security/crypto-subtle-gc-2-expected.txt: Removed.
* security/crypto-subtle-gc-2.html: Removed.
* security/crypto-subtle-gc-3-expected.txt: Removed.
* security/crypto-subtle-gc-3.html: Removed.
* security/crypto-subtle-gc-expected.txt: Removed.
* security/crypto-subtle-gc.html: Removed.
* security/crypto-subtle-sha1-expected.txt: Removed.
* security/crypto-subtle-sha1.html: Removed.
* security/resources/common.js: Removed.
Moved tests from security/ to crypto/.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 31 Oct 2013 21:15:08 +0000 (21:15 +0000)]
build.webkit.org should have a clean build button
https://bugs.webkit.org/show_bug.cgi?id=123559
Reviewed by Darin Adler.
Add a new "clean" forced scheduler. When a build was created by this scheduler, CleanBuildIfScheduled
step executes clean-build script that removes the WebKitBuild directory.
Also added make-passwords-json.py which creates a fake passwords.json from config.json for testing purposes.
* BuildSlaveSupport/build.webkit.org-config/make-passwords-json.py: Added.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(CleanBuildIfScheduled): Added.
(CleanBuildIfScheduled.start): Added. Don't do a clean build if if this build wasn't schecueld by
the clean build scheduler.
(DeleteStaleBuildFiles): Added.
(DeleteStaleBuildFiles.start): Added. Don't delete stale build files if this build was scheduled by
the clean build scheduler since everything in the WebKitBuild directory had already been removed.
(Factory.__init__): Always add CleanBuildIfScheduled. The step itself checks whether to run
clean-build script or hide itself.
(loadBuilderConfig): Added the new clean build scheduler. Also make ForceScheduler future proof; in newer
versions of buildbot, builderNames needs to be a list of regular strings.
* BuildSlaveSupport/clean-build: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 21:14:26 +0000 (21:14 +0000)]
Underline bounds cannot be queried before underline itself is drawn
https://bugs.webkit.org/show_bug.cgi?id=123310
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-10-31
Reviewed by Dean Jackson.
GraphicsContext's drawLineForText function is used to draw underlines,
strikethroughs, and overlines. Before drawing the line, this function
modifies the bounds given to it in order to make underlines crisp. However,
this means that it is impossible to know where an underline will be drawn
before drawing it. This patch pulls out this adjustment computation into
GraphicsContext::computeLineBoundsForText, then passes the result to
drawLineForText
Because there should be no observable difference, no tests need to be updated.
* platform/graphics/GraphicsContext.h: Signature of new computeLineBoundsForText
function
* platform/graphics/blackberry/PathBlackBerry.cpp:
(WebCore::GraphicsContext::computeLineBoundsForText): Implement new function
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::computeLineBoundsForText): Ditto
(WebCore::GraphicsContext::drawLineForText): Use computeLineBoundsForText
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::computeLineBoundsAndAntialiasingModeForText): Static function that
performs the actual bounds computation
(WebCore::GraphicsContext::computeLineBoundsForText): Calls
computeLineBoundsAndAntialiasingModeForText
(WebCore::GraphicsContext::drawLineForText): Use new function
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::computeLineBoundsForText): Implement new function
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Thu, 31 Oct 2013 21:03:15 +0000 (21:03 +0000)]
Repro scrolling crash with scrollbars that use setPresentationValue on the
scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=123549
-and corresponding-
<rdar://problem/
15246606>
Reviewed by Brady Eidson.
Here's another speculative fix. If a scrollbar was removed, we would not properly
inform the scrolling thread. Instead of checking supportsUpdateOnSecondaryThread()
before calling setScrollbarPaintersFromScrollbars(), check it from within
setScrollbarPaintersFromScrollbars(), and this will allow the ScrollbarPainter to
be properly updated.
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
* page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
(WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 31 Oct 2013 20:13:45 +0000 (20:13 +0000)]
Unreviewed typo fix after 158386. (buildfix after r158365)
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::callSuccessHandler):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158390
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 20:11:53 +0000 (20:11 +0000)]
Move CSS3 text decoration implementation behind ENABLE(CSS3_TEXT_DECORATION)
https://bugs.webkit.org/show_bug.cgi?id=123541
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-10-31
Reviewed by Tim Horton.
Source/WebCore:
Enabled CSS3 text decoration tests
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::renderTextDecorationStyleFlagsToCSSValue): Mapping internal
representation to a CSSValue
(WebCore::ComputedStyleExtractor::propertyValue): Ditto
* css/CSSParser.cpp: Moving parsing functions behind new flag
(WebCore::isColorPropertyID):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::addTextDecorationProperty):
(WebCore::CSSParser::parseTextDecorationSkip):
(WebCore::CSSParser::parseTextUnderlinePosition):
* css/CSSParser.h:
* css/CSSPrimitiveValueMappings.h:
* css/CSSPropertyNames.in: Marking the new properties behind new flag
* css/CSSValueKeywords.in: Marking new values behind new flag
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* css/StylePropertyShorthand.cpp:
(WebCore::shorthandForProperty): Move text decoration shorthand
(WebCore::matchingShorthandsForLonghand):
* css/StylePropertyShorthand.h:
* css/StyleResolver.cpp:
(WebCore::isValidVisitedLinkProperty):
(WebCore::StyleResolver::applyProperty):
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setPlatformStrokeStyle):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawLine):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::createPen):
* rendering/InlineFlowBox.cpp:
* rendering/InlineFlowBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::textDecorationStyleToStrokeStyle):
(WebCore::computeUnderlineOffset):
(WebCore::InlineTextBox::paintDecoration):
* rendering/RenderObject.cpp:
(WebCore::decorationColor):
* rendering/RootInlineBox.cpp:
* rendering/RootInlineBox.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
(WebCore::RenderStyle::colorIncludingFallback):
(WebCore::RenderStyle::visitedDependentColor):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
LayoutTests:
* platform/mac/TestExpectations: Enable CSS3 text decoration tests
(since CSS3_TEXT_DECORATION is enabled by default)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 19:50:04 +0000 (19:50 +0000)]
[WK2] Convert SeccompFilters to using unique_ptr instead of OwnPtr/PassOwnPtr
https://bugs.webkit.org/show_bug.cgi?id=122883
Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-10-31
Reviewed by Darin Adler.
* Shared/linux/SeccompFilters/OpenSyscall.cpp:
(WebKit::OpenSyscall::createFromOpenatContext):
(WebKit::OpenSyscall::createFromCreatContext):
(WebKit::OpenSyscall::execute):
* Shared/linux/SeccompFilters/OpenSyscall.h:
* Shared/linux/SeccompFilters/SeccompBroker.cpp:
(WebKit::SIGSYSHandler):
(WebKit::SeccompBrokerClient::dispatch):
(WebKit::SeccompBroker::runLoop):
* Shared/linux/SeccompFilters/SigactionSyscall.cpp:
(WebKit::SigactionSyscall::createFromContext):
* Shared/linux/SeccompFilters/SigactionSyscall.h:
* Shared/linux/SeccompFilters/SigprocmaskSyscall.cpp:
(WebKit::SigprocmaskSyscall::createFromContext):
* Shared/linux/SeccompFilters/SigprocmaskSyscall.h:
* Shared/linux/SeccompFilters/Syscall.cpp:
(WebKit::Syscall::createFromContext):
(WebKit::Syscall::createFromDecoder):
(WebKit::SyscallResult::createFromDecoder):
* Shared/linux/SeccompFilters/Syscall.h:
* Shared/linux/SeccompFilters/SyscallPolicy.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158388
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 31 Oct 2013 19:31:43 +0000 (19:31 +0000)]
[WebCrypto] Add SHA-1
https://bugs.webkit.org/show_bug.cgi?id=123582
Reviewed by Anders Carlsson.
Source/WebCore:
Tests: security/crypto-subtle-arguments.html
security/crypto-subtle-sha1.html
* WebCore.xcodeproj/project.pbxproj: Added new files.
* bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::createAlgorithmFromJSValue):
(WebCore::sequenceOfCryptoOperationDataFromJSValue):
(WebCore::JSSubtleCrypto::digest):
* crypto/SubtleCrypto.idl:
Added bindings for crypto.digest.
* crypto/algorithms: Added.
* crypto/algorithms/CryptoAlgorithmSHA1.cpp: Added.
* crypto/algorithms/CryptoAlgorithmSHA1.h: Added.
* crypto/mac/CryptoAlgorithmRegistryMac.cpp:
(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register SHA-1.
* crypto/mac/CryptoAlgorithmSHA1Mac.cpp: Added.
(WebCore::CryptoAlgorithmSHA1::digest): Performs the work synchronously, because
otherwise we'd have to copy the data first, which is crazy for something as simple
as hashing. We can change to a dispatch queue later if we find that it's actually
better to copy and do the work asynchronously.
LayoutTests:
* security/resources/common.js: Added from Blink.
(importTestKeys):
(asciiToArrayBuffer):
(printRejectedResult):
(printAcceptedResult):
(failAndFinishJSTest):
* security/crypto-subtle-arguments-expected.txt: Added.
* security/crypto-subtle-arguments.html: Added.
Added tests for how bindings treat crazy arguments. Heavily based on a test from Blink.
* security/crypto-subtle-sha1-expected.txt: Added.
* security/crypto-subtle-sha1.html: Added.
Test that SHA-1 works.
* TestExpectations: Skip these tests everywhere for now.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158387
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 31 Oct 2013 19:22:41 +0000 (19:22 +0000)]
One more speculative buildfix after r158365.
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::callSuccessHandler):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 31 Oct 2013 19:20:21 +0000 (19:20 +0000)]
Unreviewed, really remove CachedTranscendentalFunction.h.
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158385
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 31 Oct 2013 19:19:15 +0000 (19:19 +0000)]
Remove CachedTranscendentalFunction because caching math functions is an ugly idea
https://bugs.webkit.org/show_bug.cgi?id=123574
Source/JavaScriptCore:
Reviewed by Mark Hahnenberg.
This is performance-neutral because I also make Math.cos/sin intrinsic. This means that
we gain the "overhead" of actually computing sin and cos but we lose the overhead of
going through the native call thunks.
Caching transcendental functions is a really ugly idea. It works for SunSpider because
that benchmark makes very predictable calls into Math.sin. But I don't believe that this
is representative of any kind of reality, and so for sensible uses of Math.sin/cos all
that this was doing was adding more call overhead and some hashing overhead.
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
* dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::doDoubleVoting):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JITOperations.h:
* runtime/CachedTranscendentalFunction.h: Removed.
* runtime/DateInstanceCache.h:
* runtime/Intrinsic.h:
* runtime/MathObject.cpp:
(JSC::MathObject::finishCreation):
(JSC::mathProtoFuncCos):
(JSC::mathProtoFuncSin):
* runtime/VM.h:
Tools:
Reviewed by Mark Hahnenberg.
Make it easier to see that a test doesn't have an -expected file.
* Scripts/run-jsc-stress-tests:
LayoutTests:
Reviewed by Mark Hahnenberg.
* js/dfg-cos-constant-expected.txt: Added.
* js/dfg-cos-constant.html: Added.
* js/dfg-sin-constant-expected.txt: Added.
* js/dfg-sin-constant.html: Added.
* js/script-tests/dfg-cos-constant.js: Added.
(foo):
* js/script-tests/dfg-sin-constant.js: Added.
(foo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158384
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 19:17:45 +0000 (19:17 +0000)]
REGRESSION(r158348): Breaks Debug build
https://bugs.webkit.org/show_bug.cgi?id=123562
Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-10-31
Reviewed by Brady Eidson.
Remove an unnecessary check that cause compilation failure.
No new tests since this just fixes the build failure.
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158383
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 31 Oct 2013 19:16:57 +0000 (19:16 +0000)]
One more speculative buildfix after r158365.
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::didAddRemoteStream):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 31 Oct 2013 19:08:41 +0000 (19:08 +0000)]
Speculative buildfix after r158365.
* Modules/mediastream/VideoStreamTrack.cpp:
(WebCore::VideoStreamTrack::create):
(WebCore::VideoStreamTrack::VideoStreamTrack):
* Modules/mediastream/VideoStreamTrack.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158381
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 18:47:00 +0000 (18:47 +0000)]
Decorated text sometimes does not draw its decorations
https://bugs.webkit.org/show_bug.cgi?id=123539
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-10-31
Reviewed by Antti Koivisto.
Decorated text should opt-out of the simple line layout, because
SimpleLineLayout::paintFlow doesn't draw decorations
Fixes fast/css3-text/css3-text-decoration/text-decoration-color.html
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158379
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 18:33:47 +0000 (18:33 +0000)]
Web Inspector: Remove last member variable uses of InspectorState from Agents
https://bugs.webkit.org/show_bug.cgi?id=123540
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-10-31
Reviewed by Timothy Hatcher.
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
(WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
(WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
DOMDebuggerAgentState::eventListenerBreakpoints -> m_eventListenerBreakpoints.
DOMDebuggerAgentState::xhrBreakpoints -> m_xhrBreakpoints.
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::disable):
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::removeBreakpoint):
(WebCore::InspectorDebuggerAgent::didParseSource):
DebuggerAgentState::javaScriptBreakpoints -> m_javaScriptBreakpoints.
* inspector/InspectorPageAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
(WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
PageAgentState::pageAgentScriptsToEvaluateOnLoad -> m_scriptsToEvaluateOnLoad.
This is a lazily created InspectorObject member variable.
* inspector/InspectorResourceAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::disable):
(WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
ResourceAgentState::extraRequestHeaders -> m_extraRequestHeaders.
This is a lazily created InspectorObject member variable.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158377
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Thu, 31 Oct 2013 18:29:47 +0000 (18:29 +0000)]
Unreviewed, one more build fix after r158365.
* Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158376
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Thu, 31 Oct 2013 18:26:21 +0000 (18:26 +0000)]
Repro scrolling crash with scrollbars that use setPresentationValue on the
scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=123549
-and corresponding-
<rdar://problem/
15246606>
Reviewed by Darin Adler.
Speculative fix. I think if we retain the ScrollbarPainters, we should avoid this
crash.
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158375
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Thu, 31 Oct 2013 18:18:44 +0000 (18:18 +0000)]
Unreviewed, MediaStream build fix after r158365.
* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::clone):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158374
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 18:13:10 +0000 (18:13 +0000)]
Run tests as if they are expected to pass when --force is given.
https://bugs.webkit.org/show_bug.cgi?id=112890
Patch by Tamas Gergely <gertom@inf.u-szeged.hu> on 2013-10-31
Reviewed by Ryosuke Niwa.
The --force switch of new-run-webkit-tests is now forces all tests to
be run with 'PASS' as expected result.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectations.__init__):
(TestExpectations._add_expectations):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
(_set_up_derived_options):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158373
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Thu, 31 Oct 2013 18:05:25 +0000 (18:05 +0000)]
Change WebPage, WebPageProxy, WebPageCreationParameters to use ViewState
https://bugs.webkit.org/show_bug.cgi?id=123379
Reviewed by Darin Adler.
Visibility state of the Page should be stored and communicated consistently.
Remove individual visibility flags from WebPageProxy, WebPageCreationParameters,
and replace them with a ViewState, and add a ViewState member to WebPage.
Merge together all messages that convey and individual aspect of the ViewState.
Restructure WebPageProxy::viewStateDidChange to break the operation down into
three steps: 1) update m_viewState, 2) send the new ViewState to the WebProcess,
and 3) perform any further work necessary in the UIProcess.
This patch fixes a problem that if the web process crashes m_isVisible &
m_isInWindow in WebPageProxy were not updated, and could have held stale values
on reattach.
In WebPage, add a new message to update the entire ViewState - diff the prior
value against the new one to detect changes, call existing methods accordingly.
* Shared/ViewState.h:
- Add constants 'Reset', 'AllFlags'
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
- Removed boolean visibility flags, added viewState.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
- Constructor calls updateViewState to initialize m_viewState.
(WebKit::WebPageProxy::reattachToWebProcess):
- ViewStaet is not updated while detatched; recalculate.
(WebKit::WebPageProxy::initializeWebPage):
- m_isVisible -> isViewVisible()
(WebKit::WebPageProxy::updateViewState):
- Added, update m_viewState by querying the page client.
(WebKit::WebPageProxy::viewStateDidChange):
- Restructured to use m_viewState, reordered to combine messages.
(WebKit::WebPageProxy::creationParameters):
- Removed boolean visibility flags, added viewState.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::isInWindow):
(WebKit::WebPageProxy::isViewVisible):
- Removed boolean visibility flags, added viewState.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
- initial state now passed as a ViewState.
(WebKit::WebPage::setIsInWindow):
- Remove code to send reply (this is handled by setViewState).
(WebKit::WebPage::setViewState):
- Set m_viewState - diff from prior & call methods to update.
* WebProcess/WebPage/WebPage.h:
- Added setViewState, m_viewState.
* WebProcess/WebPage/WebPage.messages.in:
- Add SetViewState, remove individual messages.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
- initial state now passed as a ViewState.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158372
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Thu, 31 Oct 2013 18:03:41 +0000 (18:03 +0000)]
2013-10-31 Geoffrey Garen <ggaren@apple.com>
Added Mark Lam as a reviewer.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158371
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Thu, 31 Oct 2013 18:02:54 +0000 (18:02 +0000)]
[WIN] Make WebHistory compile without USE(CF)
https://bugs.webkit.org/show_bug.cgi?id=122010
Reviewed by Brent Fulgham.
Add an alternative code path for !USE(CF) to be able to
compile WebHistory without the CoreFoundation library.
* COMVariantSetter.h: Add support for setting a Vector.
* WebHistory.cpp:
(createUserInfoFromArray):
(createUserInfoFromHistoryItem):
(WebHistory::removeAllItems):
(WebHistory::removeItem):
(WebHistory::addItem):
(WebHistory::visitedURL):
* WebHistory.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158370
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Thu, 31 Oct 2013 17:48:33 +0000 (17:48 +0000)]
WebPageCreationParameters should be consistent in Window.open
https://bugs.webkit.org/show_bug.cgi?id=123557
Reviewed by Sam Weinig.
When Window.open in called in WebKit2 the WebProcess sends a synchronous request to open
a page (WebPageProxy::createNewPage). The UIProcess creates a WebpageProxy, and responds
with instructions to the WebProcess to create the WebPage. The initial creation state of
the WebPage is communicated to the WebProcess via two routes (firstly an asynchronous
WebProcess::CreateWebPage message, and secondly in the synchronous response from
WebPageProxy::createNewPage). Unfortunately these responses are inconsistent with each
other. The creationParameters() for the page are calculated twice, and since the WKView
will be added to a window between the async message being sent and the synchronous reply
being returned the visibility state of the page can change.
To fix the inconsistency we can set the creation parameters at the point that the
WebPageProxy is instantiated. This will result in a functional change that is web
visible, since the page will initially be opened in a hidden/blurred state, and may
later become visible/focussed. This change is consistent with the direction we want to
evolve in. Whilst we will still probably require a synchronous message from the
WebProcess to the UIProcess on Window.open, we'll probably make this return much earlier
– having just created the WebPageProxy, but avoiding blocking the WebProcess over the
client delegate callback that opens the new window.
This fix results in a layout test result change, due to the change in behavior (page is
created blurred, and becomes focussed, resulting in a focus event being fired – rather
than the window opening directly into a focussed state). This is reported as a
progression (test is broken in WebKit1, fixed in WebKit2 after this change). In reality
the test is actually slightly broken in DRT/test-runner – the test runs differently than
in browser, since there is is no visible main window. In-browser this patch results in
no change in behavior on dom/Window/mozilla-focus-blur.html (the affected test).
Source/WebKit2:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::initializeWebPage):
- call initializeCreationParameters
(WebKit::WebPageProxy::initializeCreationParameters):
- calculate m_creationParameters
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::creationParameters):
- Added m_creationParameters, initializeCreationParameters,
creationParameters returns m_creationParameters
LayoutTests:
* platform/mac-wk2/fast/dom/Window: Added.
* platform/mac-wk2/fast/dom/Window/mozilla-focus-blur-expected.txt: Added.
- This test now reports a pass on WebKit2
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158369
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 31 Oct 2013 17:41:05 +0000 (17:41 +0000)]
Pass an Element by reference to the PseudoElement constructor
https://bugs.webkit.org/show_bug.cgi?id=123576
Reviewed by Andreas Kling.
* dom/Element.cpp:
(WebCore::Element::createPseudoElementIfNeeded):
* dom/PseudoElement.cpp:
(WebCore::PseudoElement::PseudoElement):
* dom/PseudoElement.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158368
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 31 Oct 2013 17:39:56 +0000 (17:39 +0000)]
Fix a mis-merge.
* WebCore.xcodeproj/project.pbxproj: Remove duplicate CryptoAlgorithmRegistryMac.cpp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158367
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 31 Oct 2013 17:33:08 +0000 (17:33 +0000)]
Add bindings code for crypto algorithm dictionaries
https://bugs.webkit.org/show_bug.cgi?id=123476
Reviewed by Sam Weinig.
JSCryptoAlgorithmDictionary reads the Algorithm, much like JSDictionary does in
simpler cases. We should see about bringing them closer together (perhaps replacing
with autogenerated code).
* crypto/parameters: Added.
* crypto/parameters/CryptoAlgorithmHmacKeyParams.h: Added.
* crypto/parameters/CryptoAlgorithmHmacParams.h: Added.
Added a couple specific dictionaries as an example.
* WebCore.xcodeproj/project.pbxproj: Added JSCryptoAlgorithmDictionary.
* bindings/js/JSCryptoAlgorithmDictionary.cpp: Added.
(WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier):
(WebCore::getHashAlgorithm):
(WebCore::createHmacParams):
(WebCore::createHmacKeyParams):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
* bindings/js/JSCryptoAlgorithmDictionary.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158366
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 31 Oct 2013 17:26:35 +0000 (17:26 +0000)]
Pass ScriptExecutionContext by reference to from the bindings constructors
https://bugs.webkit.org/show_bug.cgi?id=123575
Reviewed by Andreas Kling.
Since we null check the ScriptExecutionContext before creating the c++ class,
we should be passing by reference.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158365
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 17:17:37 +0000 (17:17 +0000)]
Paint the input tag of range type on WinCE port.
https://bugs.webkit.org/show_bug.cgi?id=123199
Patch by Zhuang Zhigang <zhuangzg@cn.fujitsu.com> on 2013-10-31
Reviewed by Brent Fulgham.
* rendering/RenderThemeWinCE.cpp:
(WebCore::RenderThemeWinCE::paintSliderTrack):
(WebCore::RenderThemeWinCE::paintSliderThumb):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158364
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 31 Oct 2013 17:13:49 +0000 (17:13 +0000)]
Add a crypto algorithm abstraction
https://bugs.webkit.org/show_bug.cgi?id=123474
Reviewed by Sam Weinig.
This works slightly differently than WebCrypto implies. We have separate classes
for algorithm and its parameters, while WebCrypto puts them in the same dictionary.
* WebCore.xcodeproj/project.pbxproj: Added new files.
* crypto/CryptoAlgorithm.cpp: Added. As most algorithms don't implement most
operations, default implementations just raise an exception.
* crypto/CryptoAlgorithm.h: Added.
* crypto/CryptoAlgorithmParameters.h: Added. Base class for numerous future parameter
dictionaries, such as HmacParams or HmacKeyParams.
* crypto/CryptoAlgorithmRegistry.cpp: Added.
* crypto/CryptoAlgorithmRegistry.h: Added.
The registry decouples universal bindings code from algorithms that may or may not
be implemented on each platform.
* crypto/mac: Added.
* crypto/mac/CryptoAlgorithmRegistryMac.cpp: Added.
(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Algorithms implemented
on Mac will be registered by this function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158363
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 31 Oct 2013 16:50:03 +0000 (16:50 +0000)]
REGRESSION(r158333): http/tests/xmlhttprequest/response-encoding.html and xmlhttprequest-overridemimetype-content-type-header.html are failing
https://bugs.webkit.org/show_bug.cgi?id=123548
Reviewed by Brady Eidson.
Source/WebCore:
We had code that made sure that cached 200 responses weren't used for conditional
requests. But it didn't work the other way - cached 304 responses got reused for
subsequent unconditional requests!
Adding the test uncovered this bug.
* loader/cache/CachedRawResource.cpp: (WebCore::shouldIgnoreHeaderForCacheReuse):
Should never ignore conditional headers. Code in determineRevalidationPolicy
was already undoing this for conditional requests, but we also shouldn't use
WebCore cache if it holds a 304 response to conditional request.
* loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::determineRevalidationPolicy):
Even though the changed code is only for raw resources, I think that we can never
get a conditional request here any more.
LayoutTests:
* TestExpectations: Unskip tests that used to be affected by response-empty-arraybuffer.html
* http/tests/xmlhttprequest/response-empty-arraybuffer-expected.txt:
* http/tests/xmlhttprequest/response-empty-arraybuffer.html:
Fix a stupid typo. This test actually fully passes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158362
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 31 Oct 2013 16:28:14 +0000 (16:28 +0000)]
CryptoAlgorithmDescriptionBuilder should support producing nested algorithms
https://bugs.webkit.org/show_bug.cgi?id=123461
Reviewed by Darin Adler.
To add a nested algorithm, clone a builder with createEmptyClone(), fill it,
and add it using add().
* bindings/js/JSCryptoAlgorithmBuilder.h:
* crypto/CryptoAlgorithmDescriptionBuilder.h:
* bindings/js/JSCryptoAlgorithmBuilder.cpp:
(WebCore::JSCryptoAlgorithmBuilder::createEmptyClone):
(WebCore::JSCryptoAlgorithmBuilder::add): Keep VM in a local variable for marginally
better performance.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158361
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Thu, 31 Oct 2013 15:35:02 +0000 (15:35 +0000)]
[WK2][GTK] enable-media-stream Setting
https://bugs.webkit.org/show_bug.cgi?id=123145
Reviewed by Anders Carlsson.
Source/WebCore:
* page/Settings.in: new mediaStreamEnabled setting.
Source/WebKit2:
* Shared/WebPreferencesStore.h: New MediaStreamEnabled boolean preference.
* UIProcess/API/C/WKPreferences.cpp: MediaStreamEnabled getter and
setter functions.
(WKPreferencesSetMediaStreamEnabled):
(WKPreferencesGetMediaStreamEnabled):
* UIProcess/API/C/WKPreferences.h:
* UIProcess/API/gtk/WebKitSettings.cpp: Add a enable-media-stream
property to the GTK WebKitSettings class. It will act as a facade
to the MediaStreamEnabled preference.
(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_media_stream):
(webkit_settings_set_enable_media_stream):
* UIProcess/API/gtk/WebKitSettings.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
(testWebKitSettings): Test enable-media-stream websetting.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
Allow WKTR to override the MediaStreamEnabled preference.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Update MediaStreamEnabled
along with the other settings.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158360
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Thu, 31 Oct 2013 15:29:28 +0000 (15:29 +0000)]
Manage SVGPathByteStream through std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=123467
Reviewed by Anders Carlsson.
Manage SVGPathByteStream objects through std::unique_ptr. Constructors for the class are made public
so std::make_unique can be used with the class.
* svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::constructFromString):
(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
* svg/SVGAnimatedType.cpp:
(WebCore::SVGAnimatedType::createPath):
* svg/SVGAnimatedType.h:
* svg/SVGPathByteStream.h:
(WebCore::SVGPathByteStream::SVGPathByteStream): Takes a const Data object that's then copied.
(WebCore::SVGPathByteStream::copy): Made const.
* svg/SVGPathByteStreamBuilder.cpp: Remove an unnecessary include.
* svg/SVGPathByteStreamBuilder.h: Ditto.
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::SVGPathElement):
* svg/SVGPathElement.h:
* svg/SVGPathUtilities.cpp:
(WebCore::appendSVGPathByteStreamFromSVGPathSeg):
(WebCore::addToSVGPathByteStream):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158359
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 15:29:17 +0000 (15:29 +0000)]
[EFL] Rebaselining after r158186
https://bugs.webkit.org/show_bug.cgi?id=123571
Unreviewed gardening.
Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2013-10-31
* platform/efl/editing/deleting/smart-delete-003-expected.txt: Rebaselining after r158186.
* platform/efl/editing/deleting/smart-delete-004-expected.txt: Rebaselining after r158186.
* platform/efl/editing/selection/after-line-wrap-expected.txt: Rebaselining after r157851.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158358
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 14:07:48 +0000 (14:07 +0000)]
Removing m_maxDeadCapacity condition in fast path in MemoryCache::prune().
https://bugs.webkit.org/show_bug.cgi?id=115631
Patch by Marcin Bychawski <m.bychawski@samsung.com> on 2013-10-31
Reviewed by Brent Fulgham.
If the m_maxDeadSize and m_deadSize are both 0, the method unnecessairly tries to prune resources.
No new tests, covered by existing ones.
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::prune):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158357
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 12:02:51 +0000 (12:02 +0000)]
Web Inspector: Remove stale optional native memory instrumentation protocol params
https://bugs.webkit.org/show_bug.cgi?id=123552
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-10-31
Reviewed by Timothy Hatcher.
Source/WebCore:
* inspector/Inspector.json:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::start):
* inspector/InspectorTimelineAgent.h:
Source/WebInspectorUI:
* UserInterface/InspectorBackendCommands.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158356
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Thu, 31 Oct 2013 09:14:49 +0000 (09:14 +0000)]
[GTK] Undefined references to RenderObject::style() when disabling video support
https://bugs.webkit.org/show_bug.cgi?id=123492
Reviewed by Carlos Garcia Campos.
* platform/gtk/RenderThemeGtk2.cpp: Disabling video support removes indirect inclusion of the RenderElement.h
header, causing undefined references to RenderObject::style(). The RenderElement.h header should be included
instead of RenderObject.h as the former defines the RenderObject::style() inline and also includes the latter.
* platform/gtk/RenderThemeGtk3.cpp: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158355
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
g.czajkowski@samsung.com [Thu, 31 Oct 2013 08:55:48 +0000 (08:55 +0000)]
[EFL] Add baselines for spelling tests added in r157900.
Unreviewed gardening.
* platform/efl/editing/spelling/centering-misspelling-dots-expected.png: Added.
* platform/efl/editing/spelling/centering-misspelling-dots-expected.txt: Added.
* platform/efl/editing/spelling/misspelling-dots-dont-extend-beyond-words-expected.png: Added.
* platform/efl/editing/spelling/misspelling-dots-dont-extend-beyond-words-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158354
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Thu, 31 Oct 2013 08:44:43 +0000 (08:44 +0000)]
Unreviewed EFL gardening. Add 5 printing tests to EFL TestExpectations.
EFL port doesn't fully support printing functionality yet.
* platform/efl/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158353
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 08:38:28 +0000 (08:38 +0000)]
[EFL] accessibility/textbox-role-reports-selection.html is failing
https://bugs.webkit.org/show_bug.cgi?id=112017
Patch by Robert Plociennik <r.plociennik@samsung.com> on 2013-10-31
Reviewed by Mario Sanchez Prada.
Source/WebCore:
getSelectionOffsetsForObject() now returns proper start/end offsets for
selections "touching" the object's front border.
No new tests, covered by existing ones.
* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(getSelectionOffsetsForObject):
LayoutTests:
Removed failure expectations.
* platform/efl-wk1/TestExpectations: The test is no longer failing.
* platform/efl-wk2/TestExpectations: The test is no longer failing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158352
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Thu, 31 Oct 2013 07:11:07 +0000 (07:11 +0000)]
.: [EFL][GLES] OpenGL should be an optional
https://bugs.webkit.org/show_bug.cgi?id=123399
Reviewed by Noam Rosenthal.
* Source/cmake/OptionsEfl.cmake:
Refactor the check routine of GL dependencies to use OpenGL as optional.
Source/WebCore: [EFL][GLES] OpenGL should be optional
https://bugs.webkit.org/show_bug.cgi?id=123399
Reviewed by Noam Rosenthal.
* CMakeLists.txt: Make OpenGL dependencies as optional.
* PlatformEfl.cmake:
Move OpenGL macro to OptionsEfl.cmake and make Xcomposite and XRender as optional.
* platform/graphics/OpenGLESShims.h:
Removed GL_COLOR_ATTACHMENT0_EXT because it was added to gl2ext.h since r153064
* platform/graphics/surfaces/GraphicsSurfaceToken.h:
Removed wrong GLX guard.
(WebCore::GraphicsSurfaceToken::GraphicsSurfaceToken):
(WebCore::GraphicsSurfaceToken::operator!=):
(WebCore::GraphicsSurfaceToken::isValid):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
Removed unnecessary OpenGLShims.h
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158351
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 06:41:24 +0000 (06:41 +0000)]
[webcore/editing] remove extra header includes from cpp files.
https://bugs.webkit.org/show_bug.cgi?id=123524
Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-10-30
Reviewed by Ryosuke Niwa.
Removing redundant header files.
* editing/AlternativeTextController.cpp:
* editing/ApplyBlockElementCommand.cpp:
* editing/ApplyStyleCommand.cpp:
* editing/BreakBlockquoteCommand.cpp:
* editing/DeleteButton.cpp:
* editing/DeleteButtonController.cpp:
* editing/DeleteSelectionCommand.cpp:
* editing/DictationCommand.cpp:
* editing/EditCommand.cpp:
* editing/EditingStyle.cpp:
* editing/EditorCommand.cpp:
* editing/FrameSelection.cpp:
* editing/IndentOutdentCommand.cpp:
* editing/InsertLineBreakCommand.cpp:
* editing/InsertParagraphSeparatorCommand.cpp:
* editing/MarkupAccumulator.h:
* editing/RemoveFormatCommand.cpp:
* editing/RenderedPosition.cpp:
* editing/ReplaceSelectionCommand.cpp:
* editing/SpellChecker.cpp:
* editing/SpellingCorrectionCommand.cpp:
* editing/SurroundingText.cpp:
* editing/TextCheckingHelper.cpp:
* editing/TextIterator.cpp:
* editing/TypingCommand.cpp:
* editing/VisibleSelection.cpp:
* editing/VisibleUnits.cpp:
* editing/WrapContentsInDummySpanCommand.cpp:
* editing/htmlediting.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158350
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 06:32:43 +0000 (06:32 +0000)]
Unreviewed, rolling out r158299.
http://trac.webkit.org/changeset/158299
https://bugs.webkit.org/show_bug.cgi?id=123558
caused assertion failures in fast/canvas/canvas-color-
serialization.html and fast/forms/input-text-paste-
maxlength.html (Requested by rniwa on #webkit).
* wtf/text/StringStatics.cpp:
(WTF::StringImpl::empty):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158349
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 31 Oct 2013 06:27:02 +0000 (06:27 +0000)]
IDB Database versions are uint64_t, not int64_t
https://bugs.webkit.org/show_bug.cgi?id=123556
Reviewed by Alexey Proskuryakov.
Source/WebCore:
* Modules/indexeddb/IDBBackingStoreInterface.h:
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::openConnection):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
* Modules/indexeddb/IDBFactoryBackendInterface.h:
* Modules/indexeddb/IDBPendingOpenCall.h:
(WebCore::IDBPendingOpenCall::create):
(WebCore::IDBPendingOpenCall::version):
(WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
(WebCore::IDBFactoryBackendLevelDB::open):
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
Source/WebKit2:
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
(WebKit::WebIDBFactoryBackend::open):
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
* WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
(WebKit::WebProcessIDBDatabaseBackend::openConnection):
* WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158348
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 06:25:12 +0000 (06:25 +0000)]
[Gtk] Build is failing after r158317
https://bugs.webkit.org/show_bug.cgi?id=123544
Patch by Brendan Long <b.long@cablelabs.com> on 2013-10-30
Reviewed by Alexey Proskuryakov.
No new tests since this just fixes the build.
* GNUmakefile.list.am: Add JSCryptoKey.cpp and JSCryptoKey.h
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158347
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Thu, 31 Oct 2013 05:51:52 +0000 (05:51 +0000)]
Manage EllipsisBox objects with unique_ptr.
<https://webkit.org/b/123554>
Use smart pointers to store ellipsis boxes instead of new/delete.
Reviewed by Anders Carlsson.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158346
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 31 Oct 2013 05:37:06 +0000 (05:37 +0000)]
[Gtk] Build is failing after r158317
https://bugs.webkit.org/show_bug.cgi?id=123544
Use a correct style for JSC includes.
* ForwardingHeaders/runtime/JSPromise.h: Added.
* ForwardingHeaders/runtime/JSPromiseResolver.h: Added.
* bindings/js/JSDOMPromise.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158345
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 31 Oct 2013 05:02:03 +0000 (05:02 +0000)]
Add two crash expectations per bug 123555.
* TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158344
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Thu, 31 Oct 2013 04:15:24 +0000 (04:15 +0000)]
Replace InlineBox::destroy() with regular virtual destruction.
<https://webkit.org/b/123550>
Move logic out of destroy() and its overloads into good ol' virtual
destructors instead.
Reviewed by Anders Carlsson.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158343
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 31 Oct 2013 04:11:02 +0000 (04:11 +0000)]
Teach the style checker about ENUM_CLASS
https://bugs.webkit.org/show_bug.cgi?id=123528
Reviewed by Andy Estes.
* Scripts/webkitpy/style/checkers/cpp.py:
(_EnumState.process_clean_line): Make content of an ENUM_CLASS declaration
equivalent to enum content for checking.
(check_braces): Allow semicolon at the end.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(NoNonVirtualDestructorsTest.test_enum_casing):
(NoNonVirtualDestructorsTest.test_enum_trailing_semicolon):
(WebKitStyleTest.test_braces):
Test it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158342
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 31 Oct 2013 03:52:23 +0000 (03:52 +0000)]
Assertion failure in js/dom/global-constructors-attributes-dedicated-worker.html
https://bugs.webkit.org/show_bug.cgi?id=123551
<rdar://problem/
15356238>
Reviewed by Mark Hahnenberg.
WatchpointSets have always had this "fire everything on deletion" policy because it
seemed like a good fail-safe at the time I first implemented WatchpointSets. But
it's actually causing bugs rather than providing safety:
- Everyone who registers Watchpoints with WatchpointSets have separate mechanisms
for either keeping the WatchpointSets alive or noticing when they are collected.
So this wasn't actually providing any safety.
One example of this is Structures, where:
- CodeBlocks that register Watchpoints on Structure's WatchpointSet will also
register weak references to the Structure, and the GC will jettison a CodeBlock
if the Structure(s) it cares about dies.
- StructureStubInfos that register Watchpoints on Structure's WatchpointSet will
also be cleared by GC if the Structures die.
- The WatchpointSet destructor would get invoked from finalization/destruction.
This would then cause CodeBlock::jettison() to be called on a CodeBlock, but that
method requires doing things that access heap objects. This would usually cause
problems on VM destruction, since then the CodeBlocks would still be alive but the
whole heap would be destroyed.
This also ensures that CodeBlock::jettison() cannot cause a GC. This is safe since
that method doesn't really allocate objects, and it is likely necessary because
jettison() may be called from deep in the stack.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::jettison):
* bytecode/Watchpoint.cpp:
(JSC::WatchpointSet::~WatchpointSet):
* bytecode/Watchpoint.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158341
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 31 Oct 2013 03:37:00 +0000 (03:37 +0000)]
Fixed a potential race condition around the initializtion of WKObject’s target.
Reviewed by Mark Rowe.
* Shared/Cocoa/WKObject.mm:
(initializeTargetIfNeeded): Removed the early return if _target is non-nil. As Mark pointed
out, when stores are reordered relative to other stores, it is possible for the early return
to occur while the object _target is pointing to is not yet valid.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 31 Oct 2013 03:07:58 +0000 (03:07 +0000)]
kill-old-processes should kill Web Socket script
https://bugs.webkit.org/show_bug.cgi?id=123546
Reviewed by Benjamin Poulain.
* BuildSlaveSupport/kill-old-processes:
(main):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158339
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 31 Oct 2013 02:36:12 +0000 (02:36 +0000)]
REGRESSION(r158333): http/tests/xmlhttprequest/response-encoding.html and
xmlhttprequest-overridemimetype-content-type-header.html are failing
https://bugs.webkit.org/show_bug.cgi?id=123548
Add the failing test expectation.
* TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158338
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 01:15:20 +0000 (01:15 +0000)]
Simplifying MediaStream and MediStreamDescriptor creation
https://bugs.webkit.org/show_bug.cgi?id=123443
Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-10-30
Reviewed by Eric Carlson.
The internal process of creating a MediaStream and MediaStreamDescriptor was quite confusing and spread.
We can take advantage of the platform implementation of MediaStreamTrack (aka MediaStreamTrackPrivate)
and simplify the whole process.
A new constructor that receives vectors of MediaStreamTrackPrivate objects were added, then the check
if a source already exists or if the tracks are all ended are now made in MediaStreamDescriptor.
No new tests needed.
* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::create): Removed unnecessary variables in one create method and using new
MediaStreamDescriptor::create method that receives vector of MediaStreamTrackPrivate objects as parameter.
* Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode): Removed passing flag to
MediaStreamDescriptor create.
* platform/mediastream/MediaStreamDescriptor.cpp:
(WebCore::MediaStreamDescriptor::create): Removed EndedAtCreationFlag parameter, because this is being
handled inside constructor by analyzing the tracks or sources passed.
(WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Adding new constructor that receives vector of
MediaStreamTrackPrivate as parameter.
(WebCore::MediaStreamDescriptor::addTrack): Changed to store the track's source in the object.
(WebCore::MediaStreamDescriptor::removeTrack):
* platform/mediastream/MediaStreamDescriptor.h:
(WebCore::MediaStreamDescriptor::numberOfAudioTracks):
(WebCore::MediaStreamDescriptor::audioTracks):
(WebCore::MediaStreamDescriptor::numberOfVideoTracks):
(WebCore::MediaStreamDescriptor::videoTracks):
* platform/mock/MockMediaStreamCenter.cpp:
(WebCore::MockMediaStreamCenter::createMediaStream): Removing flag that is being passed to
MediaStreamDescriptor's create method.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158337
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lforschler@apple.com [Thu, 31 Oct 2013 01:07:31 +0000 (01:07 +0000)]
Versioning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158336
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Thu, 31 Oct 2013 00:50:06 +0000 (00:50 +0000)]
[Win] Legible Output callbacks should happen on notification queue
https://bugs.webkit.org/show_bug.cgi?id=123545
Reviewed by Eric Carlson.
Modify the callback creation for Legible Output items so that they
are made on our notification queue. The use of the main queue was a
holdover from some temporary code used during earlier development.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::AVFWrapper): Assert this happens on the main thread.
(WebCore::AVFWrapper::~AVFWrapper): Ditto.
(WebCore::destroyAVFWrapper): Ditto.
(WebCore::AVFWrapper::createPlayer): Ditto.
(WebCore::AVFWrapper::createPlayerItem): Ditto.
Also, instruct LegibleOutput callbacks to happen on our notification
queue, rather than the main thread.
(WebCore::AVFWrapper::createAVCFVideoLayer): Assert this happens on the main thread.
(WebCore::AVFWrapper::destroyVideoLayer): Ditto.
(WebCore::AVFWrapper::createImageGenerator): Ditto.
(WebCore::AVFWrapper::destroyImageGenerator): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158334
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 31 Oct 2013 00:32:58 +0000 (00:32 +0000)]
XHR.response is null when requesting empty file as arraybuffer
https://bugs.webkit.org/show_bug.cgi?id=123457
Source/WebCore:
Reviewed by Sam Weinig.
Test: http/tests/xmlhttprequest/response-empty-arraybuffer.html
* xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseArrayBuffer): Don't do this.
LayoutTests:
Based on a Blink test by yusukesuzuki@chromium.org.
Reviewed by Sam Weinig.
Failures in expected results appear to mean that Blink caches XHR responses in more
cases. It's not directly related to the patch.
* http/tests/xmlhttprequest/response-empty-arraybuffer-expected.txt: Added.
* http/tests/xmlhttprequest/response-empty-arraybuffer.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158333
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
samuel_white@apple.com [Thu, 31 Oct 2013 00:31:43 +0000 (00:31 +0000)]
AX: AXFocused not exposed on ARIA menuitems
https://bugs.webkit.org/show_bug.cgi?id=123494
Reviewed by Chris Fleizach.
Source/WebCore:
ARIA menuitems should expose AXFocused accessibility attribute.
Test: platform/mac/accessibility/aria-menuitem-focus.html
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
LayoutTests:
Adding test to make sure ARIA menuitems expose each piece of their focus state correctly.
* platform/mac/accessibility/aria-menuitem-focus-expected.txt: Added.
* platform/mac/accessibility/aria-menuitem-focus.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158332
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 31 Oct 2013 00:26:12 +0000 (00:26 +0000)]
Web Inspector: Remove basic uses of InspectorState from agents
https://bugs.webkit.org/show_bug.cgi?id=123534
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-10-30
Reviewed by Timothy Hatcher.
* inspector/InspectorAgent.h:
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::InspectorAgent):
(WebCore::InspectorAgent::enable):
(WebCore::InspectorAgent::disable):
(WebCore::InspectorAgent::evaluateForTestInFrontend):
(WebCore::InspectorAgent::inspect):
InspectorAgentState::inspectorAgentEnabled -> m_enabled.
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::enable):
Remove unused state.
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::enable):
(WebCore::InspectorCSSAgent::disable):
(WebCore::InspectorCSSAgent::startSelectorProfiler):
(WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
Remove unused states. Make CSSAgentState::isSelectorProfiling check profile object exists or not.
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::enable):
(WebCore::InspectorCanvasAgent::disable):
Remove unused state, member variable already existed.
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::enable):
(WebCore::InspectorConsoleAgent::disable):
(WebCore::InspectorConsoleAgent::didFinishXHRLoading):
(WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
ConsoleAgentState::consoleMessagesEnabled already had m_enabled.
ConsoleAgentState::monitoringXHR -> m_monitoringXHREnabled.
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::clearFrontend):
(WebCore::InspectorDOMAgent::setDocument):
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
DOMAgentState::documentRequested -> m_documentRequested.
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
(WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
DOMDebuggerAgentState::pauseOnAllXHRs -> m_pauseOnAllXHRsEnabled.
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::enable):
(WebCore::InspectorDOMStorageAgent::disable):
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
DOMStorageAgentState::domStorageAgentEnabled -> m_enabled.
* inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::enable):
(WebCore::InspectorDatabaseAgent::disable):
Remove unused state, m_enabled already existed.
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::enable):
(WebCore::InspectorDebuggerAgent::disable):
(WebCore::InspectorDebuggerAgent::enabled):
(WebCore::InspectorDebuggerAgent::clearFrontend):
(WebCore::InspectorDebuggerAgent::setPauseOnExceptionsImpl):
DebuggerAgentState::pauseOnExceptionsState removed, never read.
DebuggerAgentState::debuggerEnabled -> m_enabled.
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorHeapProfilerAgent.cpp:
(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
(WebCore::InspectorHeapProfilerAgent::clearFrontend):
(WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
HeapProfilerAgentState::profileHeadersRequested -> m_profileHeadersRequested.
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore::InspectorIndexedDBAgent::enable):
(WebCore::InspectorIndexedDBAgent::disable):
Remove unused state, never read.
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::enable):
(WebCore::InspectorLayerTreeAgent::disable):
Remove unused state, did not need to be read.
* inspector/InspectorPageAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::webViewResized):
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::setDeviceMetricsOverride):
(WebCore::InspectorPageAgent::deviceMetricsChanged):
(WebCore::InspectorPageAgent::setShowPaintRects):
(WebCore::InspectorPageAgent::setShowDebugBorders):
(WebCore::InspectorPageAgent::setShowFPSCounter):
(WebCore::InspectorPageAgent::setContinuousPaintingEnabled):
(WebCore::InspectorPageAgent::setScriptExecutionDisabled):
(WebCore::InspectorPageAgent::applyScreenWidthOverride):
(WebCore::InspectorPageAgent::applyScreenHeightOverride):
(WebCore::InspectorPageAgent::didPaint):
(WebCore::InspectorPageAgent::didLayout):
(WebCore::InspectorPageAgent::updateTouchEventEmulationInPage):
(WebCore::InspectorPageAgent::setTouchEmulationEnabled):
(WebCore::InspectorPageAgent::setEmulatedMedia):
(WebCore::InspectorPageAgent::applyEmulatedMedia):
PageAgentState::pageAgentScreenWidthOverride -> m_screenWidthOverride.
PageAgentState::pageAgentScreenHeightOverride -> m_screenHeightOverride.
PageAgentState::pageAgentFontScaleFactorOverride -> m_fontScaleFactorOverride.
PageAgentState::pageAgentFitWindow -> m_fitWindowOverride.
PageAgentState::pageAgentShowPaintRects -> m_showPaintRects.
PageAgentState::pageAgentEmulatedMedia -> m_emulatedMedia.
Remove other unused states.
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::addProfile):
(WebCore::InspectorProfilerAgent::enable):
(WebCore::InspectorProfilerAgent::disable):
(WebCore::InspectorProfilerAgent::getProfileHeaders):
(WebCore::InspectorProfilerAgent::resetFrontendProfiles):
(WebCore::InspectorProfilerAgent::start):
(WebCore::InspectorProfilerAgent::stop):
(WebCore::InspectorProfilerAgent::enabled):
ProfilerAgentState::profileHeadersRequested -> m_profileHeadersRequested.
Remove other unused states.
* inspector/InspectorResourceAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::~InspectorResourceAgent):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::applyUserAgentOverride):
(WebCore::InspectorResourceAgent::enable):
(WebCore::InspectorResourceAgent::disable):
(WebCore::InspectorResourceAgent::setUserAgentOverride):
(WebCore::InspectorResourceAgent::setCacheDisabled):
(WebCore::InspectorResourceAgent::mainFrameNavigated):
(WebCore::InspectorResourceAgent::InspectorResourceAgent):
ResourceAgentState::resourceAgentEnabled -> m_enabled.
ResourceAgentState::cacheDisabled -> m_cacheDisabled.
ResourceAgentState::userAgentOverride -> m_userAgentOverride (this already existed and was unused).
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::start):
(WebCore::InspectorTimelineAgent::stop):
(WebCore::InspectorTimelineAgent::setDOMCounters):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
TimelineAgentState::timelineAgentEnabled -> m_enabled.
TimelineAgentState::includeDomCounters -> m_includeDOMCounters.
Remove other unused states.
* inspector/InspectorWorkerAgent.h:
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::clearFrontend):
(WebCore::InspectorWorkerAgent::enable):
(WebCore::InspectorWorkerAgent::disable):
(WebCore::InspectorWorkerAgent::setAutoconnectToWorkers):
(WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart):
(WebCore::InspectorWorkerAgent::didStartWorkerGlobalScope):
(WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
WorkerAgentState::workerInspectionEnabled -> m_enabled.
WorkerAgentState::autoconnectToWorkers -> m_shouldPauseDedicatedWorkerOnStart.
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::enable):
(WebCore::PageRuntimeAgent::disable):
Remove unused state, not read.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158331
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 31 Oct 2013 00:14:28 +0000 (00:14 +0000)]
Remove code for Mac Lion
https://bugs.webkit.org/show_bug.cgi?id=123542
Reviewed by Anders Carlsson.
Source/WebCore:
Removed the code for Mac OS X 10.7.
* platform/graphics/ImageBuffer.h:
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::context):
(WebCore::ImageBuffer::flushContext):
* platform/graphics/cg/ImageBufferDataCG.h:
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::imageSourceOptions):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::scrollAnimationEnabledForSystem):
* platform/mac/ScrollElasticityController.mm:
(WebCore::reboundDeltaForElasticDelta):
* platform/mac/ThemeMac.mm:
(WebCore::updateStates):
(WebCore::paintCheckbox):
(WebCore::paintRadio):
(WebCore::paintButton):
* platform/mac/WebCoreNSCellExtras.h:
* platform/mac/WebCoreNSCellExtras.m:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::textField):
Source/WebKit/mac:
* WebView/WebHTMLView.mm:
(-[WebHTMLView attachRootLayer:]):
* WebView/WebView.mm:
Source/WebKit2:
* NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
* UIProcess/API/mac/WKView.mm:
(-[WKView viewWillMoveToWindow:]):
* WebProcess/com.apple.WebProcess.sb.in:
Source/WTF:
* wtf/Platform.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158330
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Wed, 30 Oct 2013 23:59:25 +0000 (23:59 +0000)]
Set svn:ignore for .pyc files created for test-webkitpy.
* Scripts/webkitpy/layout_tests/reftests: Added property svn:ignore.
* Scripts/webkitpy/performance_tests: Added property svn:ignore.
* Scripts/webkitpy/to_be_moved: Added property svn:ignore.
* Scripts/webkitpy/w3c: Added property svn:ignore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158329
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 30 Oct 2013 23:50:41 +0000 (23:50 +0000)]
Delete the expected results for Lion.
Rubber-stamped by Anders Carlsson.
* platform/mac-lion: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158328
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Wed, 30 Oct 2013 23:48:35 +0000 (23:48 +0000)]
[iOS] Upstream Source/WebKit/ios/
https://bugs.webkit.org/show_bug.cgi?id=123470
Reviewed by Sam Weinig.
Source/WebKit:
* WebKit.xcodeproj/project.pbxproj:
Source/WebKit/ios:
* DefaultDelegates/WebDefaultFormDelegate.h: Added.
* DefaultDelegates/WebDefaultFormDelegate.m: Added.
* DefaultDelegates/WebDefaultFrameLoadDelegate.h: Added.
* DefaultDelegates/WebDefaultFrameLoadDelegate.m: Added.
* DefaultDelegates/WebDefaultResourceLoadDelegate.h: Added.
* DefaultDelegates/WebDefaultResourceLoadDelegate.m: Added.
* DefaultDelegates/WebDefaultUIKitDelegate.h: Added.
* DefaultDelegates/WebDefaultUIKitDelegate.m: Added.
* Misc/EmojiFallbackFontSelector.cpp: Added.
* Misc/EmojiFallbackFontSelector.h: Added.
* Misc/MemoryMeasure.h: Added.
* Misc/MemoryMeasure.mm: Added.
* Misc/WebGeolocationCoreLocationProvider.h: Added.
* Misc/WebGeolocationCoreLocationProvider.mm: Added.
* Misc/WebGeolocationProviderIOS.h: Added.
* Misc/WebGeolocationProviderIOS.mm: Added.
* Misc/WebNSStringDrawing.h: Added.
* Misc/WebNSStringDrawing.mm: Added.
* Misc/WebNSStringExtrasIOS.h: Added.
* Misc/WebNSStringExtrasIOS.m: Added.
* Misc/WebNSStringExtrasIPhone.h: Added.
* Misc/WebUIKitSupport.h: Added.
* Misc/WebUIKitSupport.mm: Added.
* Storage/WebSQLiteDatabaseTrackerClient.h: Added.
* Storage/WebSQLiteDatabaseTrackerClient.mm: Added.
* WebCoreSupport/PopupMenuIOS.h: Added.
* WebCoreSupport/PopupMenuIOS.mm: Added.
* WebCoreSupport/SearchPopupMenuIOS.cpp: Added.
* WebCoreSupport/SearchPopupMenuIOS.h: Added.
* WebCoreSupport/WebCaretChangeListener.h: Added.
* WebCoreSupport/WebChromeClientIOS.h: Added.
* WebCoreSupport/WebChromeClientIOS.mm: Added.
* WebCoreSupport/WebFixedPositionContent.h: Added.
* WebCoreSupport/WebFixedPositionContent.mm: Added.
* WebCoreSupport/WebFixedPositionContentInternal.h: Added.
* WebCoreSupport/WebFrameIOS.h: Added.
* WebCoreSupport/WebFrameIOS.mm: Added.
* WebCoreSupport/WebFrameIPhone.h: Added.
* WebCoreSupport/WebGeolocation.mm: Added.
* WebCoreSupport/WebGeolocationInternal.h: Added.
* WebCoreSupport/WebGeolocationPrivate.h: Added.
* WebCoreSupport/WebMIMETypeRegistry.h: Added.
* WebCoreSupport/WebMIMETypeRegistry.mm: Added.
* WebCoreSupport/WebSelectionRect.h: Added.
* WebCoreSupport/WebSelectionRect.m: Added.
* WebCoreSupport/WebVisiblePosition.h: Added.
* WebCoreSupport/WebVisiblePosition.mm: Added.
* WebCoreSupport/WebVisiblePositionInternal.h: Added.
* WebKit.iOS.exp: Added.
* WebView/WebFrameViewWAKCompatibility.m: Added.
* WebView/WebMailDelegate.h: Added.
* WebView/WebPDFViewIOS.h: Added.
* WebView/WebPDFViewIOS.mm: Added.
* WebView/WebPDFViewIPhone.h: Added.
* WebView/WebPDFViewPlaceholder.h: Added.
* WebView/WebPDFViewPlaceholder.mm: Added.
* WebView/WebPlainWhiteView.h: Added.
* WebView/WebPlainWhiteView.mm: Added.
* WebView/WebUIKitDelegate.h: Added.
Source/WebKit/mac:
* Configurations/WebKit.xcconfig: Excluded some iOS files from the Mac build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158327
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Wed, 30 Oct 2013 23:43:06 +0000 (23:43 +0000)]
85 inspector tests asserting in DrawingAreaProxyImpl::updateAcceleratedCompositingMode()
when there is a stale WebKitTestRunner preference
https://bugs.webkit.org/show_bug.cgi?id=115115
Reviewed by Darin Adler.
Source/WebCore:
* page/Settings.cpp:
(WebCore::Settings::setMockScrollbarsEnabled):
(WebCore::Settings::setUsesOverlayScrollbars):
Added FIXMEs.
Tools:
Delete stale preferences on launch.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Now that we don't have preferences stored from
the previous run, we need th reinstate them before creating a WKView. Not all preferences
can be applied to an existing view retroactively.
(WTR::TestController::resetPreferencesToConsistentValues): Split out of resetStateToConsistentValues,
because there is no injected bundle yet when calling this function from initialize().
* WebKitTestRunner/mac/main.mm: (setDefaultsToConsistentValuesForTesting): Delete
the preferences.
* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm: (WTR::InjectedBundle::platformInitialize):
Added some FIXMEs.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158326
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Wed, 30 Oct 2013 23:13:49 +0000 (23:13 +0000)]
Try to fix the !WK_API_ENABLED Mac build.
* Shared/Cocoa/APIObject.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158325
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Wed, 30 Oct 2013 22:49:20 +0000 (22:49 +0000)]
[Cocoa] Make all API objects have Cocoa wrappers, and delegate refcounting to those wrappers
https://bugs.webkit.org/show_bug.cgi?id=123394
Reviewed by Darin Adler.
All wrappers conform to a new WKObject protocol and contain the wrapped object inline.
APIObject-derived classes override operator new to call newObject, which allocates the
wrapper and returns a pointer to the inline API object.
There are three kinds of wrapper classes: (a) classes that inherit directly from NSObject
and implement their API by calling the wrapped object (example: WKBackForwardList),
(b) internal classes that inherit from a class cluster, and implement the primitive methods
of the class cluster by calling the wrapped object (example: WKNSArray), and (c) internal
classes that inerit from the new WKObject class, and proxy to an object of some public type,
which is created from the wrapped object (example: WKNSURL).
* Shared/APIObject.h:
(WebKit::APIObject::wrapper): Added this getter.
(WebKit::TypedAPIObject::operator new): Added override that calls newObject.
* Shared/Cocoa/APIObject.mm: Added.
(WebKit::APIObject::ref): Retains the wrapper.
(WebKit::APIObject::deref): Releases the wrapper. When the wrapper is deallocated, it calls
the API object destructor.
(WebKit::APIObject::newObject): Allocates the wrapper and returns a pointer to the API
object inside the wrapper.
* Shared/Cocoa/WKNSArray.h:
(WebKit::wrapper): Added. Returns an ImmutableArray’s wrapper as an NSArray.
Replaced the RefPtr<ImmutableArray> ivar with space for an ImmutableArray to live inside
the wrapper.
(-[WKNSArray dealloc]): Calls the ImmutableArray destructor.
(-[WKNSArray count]): Updated for ivar change.
(-[WKNSArray objectAtIndex:]): Ditto.
(-[WKNSArray _apiObject]): Returns the wrapped ImmutableArray.
* Shared/Cocoa/WKNSObjectExtras.h: Removed.
* Shared/Cocoa/WKNSObjectExtras.mm: Removed.
* Shared/Cocoa/WKNSString.h: Added.
* Shared/Cocoa/WKNSString.mm: Added.
(-[WKNSString _web_createTarget]): Override this WKObject method to create an NSString from
the WebString.
(-[WKNSString copyWithZone:]): Retains self.
* Shared/Cocoa/WKNSURL.h: Added.
* Shared/Cocoa/WKNSURL.mm: Added.
(-[WKNSURL _web_createTarget]): Override this WKObject method to create an NSURL from
the WebURL.
(-[WKNSURL copyWithZone:]): Retains self.
* Shared/Cocoa/WKObject.h: Added.
* Shared/Cocoa/WKObject.mm: Added.
(-[WKObject dealloc]): Calls the destructor of the wrapped object and releases the target
object.
(initializeTargetIfNeeded): Helper function. Tries to create the target exactly once.
(-[WKObject isEqual:]): NSObject override that creates and compares to the target
object if necessary.
(-[WKObject hash]): NSObject override that creates and hashes the target object if
there is one.
(-[WKObject isKindOfClass:]): NSObject override that delegates to the target object.
(-[WKObject isMemberOfClass:]): Ditto.
(-[WKObject respondsToSelector:]): NSObject override that creates the target object if
necessary and returns whether it or self responds to the selector.
(-[WKObject conformsToProtocol:]): Similarly for protocols.
(-[WKObject forwardingTargetForSelector:]): NSObject override that creates the target object
if necessary and returns it as the target.
(-[WKObject description]): NSObject override that creates the target object if necessary and
forwards to it.
(-[WKObject _web_createTarget]): Added. The base implementation returns nil.
(-[WKObject _apiObject]): Returns the wrapped object.
* UIProcess/API/mac/WKBrowsingContextController.mm:
(-[WKBrowsingContextController backForwardList]): Changed to return the existing wrapper.
(didChangeBackForwardList): Changed to use existing wrappers.
Replaced the RefPtr<WebBackForwardList> ivar with space for a WebBackForwardList to live
inside the wrapper.
(-[WKBackForwardList dealloc]): Call the WebBackForwardList destructor.
(toWKBackForwardListItem): Changed to us the existing wrapper.
(-[WKBackForwardList currentItem]): Updated for ivar change.
(-[WKBackForwardList backItem]): Ditto.
(-[WKBackForwardList forwardItem]): Ditto.
(-[WKBackForwardList itemAtIndex:]): Ditto.
(-[WKBackForwardList backListCount]): Ditto.
(-[WKBackForwardList forwardListCount]): Ditto,
(-[WKBackForwardList backListWithLimit:]): Ditto, and also changed to use the
ImmutableArray’s existing wrapper.
(-[WKBackForwardList forwardListWithLimit:]): Ditto.
(-[WKBackForwardList _apiObject]): Returns the WebBackForwardListItem.
* UIProcess/Cocoa/WKBackForwardListInternal.h:
(WebKit::wrapper): Added. Returns a WebBackForwardList’s wrapper as a WKBackForwardList.
* UIProcess/Cocoa/WKBackForwardListItem.mm:
Replaced the RefPtr<WebBackForwardListItem> ivar with space for a WebBackForwardListItem to
live inside the wrapper.
(-[WKBackForwardListItem dealloc]): Call the WebBackForwardListItem destructor.
(-[WKBackForwardListItem URL]): Updated for ivar change, and changed to make an NSURL
directly instead of going through a wrapper.
(-[WKBackForwardListItem title]): Updated for ivar change, and changed to use
String’s operator NSString*.
(-[WKBackForwardListItem originalURL]): Updated for ivar change, and changed to make an
NSURL directly instead of going through a wrapper.
(-[WKBackForwardListItem _apiObject]): Returns the WebBackForwardListItem.
(-[WKBackForwardListItem _item]): Ditto.
* UIProcess/Cocoa/WKBackForwardListItemInternal.h:
(WebKit::wrapper): Added. Returns a WebBackForwardListItem’s wrapper as a
WKBackForwardListItem.
* UIProcess/WebColorPickerResultListenerProxy.h: Changed into a TypedAPIObject.
* UIProcess/WebFormSubmissionListenerProxy.h:
(WebKit::WebFormSubmissionListenerProxy::operator new): Override to call newObject.
* UIProcess/WebFramePolicyListenerProxy.h:
(WebKit::WebFramePolicyListenerProxy::operator new): Ditto.
* WebKit2.xcodeproj/project.pbxproj: Updated for file additions and removals.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158324
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Wed, 30 Oct 2013 22:47:56 +0000 (22:47 +0000)]
Unreviewed, fix C Loop LLINT build.
* bytecode/CodeBlockJettisoningWatchpoint.cpp:
(JSC::CodeBlockJettisoningWatchpoint::fireInternal):
* bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp:
(JSC::ProfiledCodeBlockJettisoningWatchpoint::fireInternal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158323
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 30 Oct 2013 22:34:09 +0000 (22:34 +0000)]
Unreviewed, fix FTL build.
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158322
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Wed, 30 Oct 2013 22:27:59 +0000 (22:27 +0000)]
Take line boxes out of the arena.
<https://webkit.org/b/123533>
Stop arena-allocating line boxes so we can move forward on improving
render tree memory management. This will also allow more rendering
code to take advantage of malloc optimizations.
This will likely regress performance on some micro-benchmarks, but
it's something we want to do sooner rather than later so we have time
to restabilize it. All improvements to the simple line layout's
coverage will help with recouping whatever is regressed.
BiDi runs are the only remaining user of the arena now.
Reviewed by Antti Koivisto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158321
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 30 Oct 2013 22:17:27 +0000 (22:17 +0000)]
Web Inspector: Remove InspectorAgent::restore functionality
https://bugs.webkit.org/show_bug.cgi?id=123525
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-10-30
Reviewed by Timothy Hatcher.
Remove unused InspectorAgent restore functionality.
* inspector/InspectorApplicationCacheAgent.cpp:
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorBaseAgent.cpp:
* inspector/InspectorBaseAgent.h:
* inspector/InspectorCSSAgent.cpp:
* inspector/InspectorCSSAgent.h:
* inspector/InspectorCanvasAgent.cpp:
* inspector/InspectorCanvasAgent.h:
* inspector/InspectorConsoleAgent.cpp:
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorController.cpp:
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDatabaseAgent.cpp:
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorHeapProfilerAgent.cpp:
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorIndexedDBAgent.cpp:
* inspector/InspectorIndexedDBAgent.h:
* inspector/InspectorLayerTreeAgent.cpp:
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorPageAgent.cpp:
* inspector/InspectorPageAgent.h:
* inspector/InspectorProfilerAgent.cpp:
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorResourceAgent.cpp:
* inspector/InspectorResourceAgent.h:
* inspector/InspectorTimelineAgent.cpp:
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWorkerAgent.cpp:
* inspector/InspectorWorkerAgent.h:
* inspector/PageRuntimeAgent.cpp:
* inspector/PageRuntimeAgent.h:
* inspector/WorkerInspectorController.cpp:
* inspector/WorkerInspectorController.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158320
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 30 Oct 2013 22:12:04 +0000 (22:12 +0000)]
Try to fix the 32-bit build.
* TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm:
* TestWebKitAPI/Tests/mac/WKRemoteObjectRegistry_Bundle.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158319
268f45cc-cd09-0410-ab3c-
d52691b4dbfc