WebKit-https.git
5 years ago[Win] Correct Cygwin Path Confusion in WebInspectorUI Build
bfulgham@apple.com [Mon, 12 May 2014 22:19:35 +0000 (22:19 +0000)]
[Win] Correct Cygwin Path Confusion in WebInspectorUI Build
https://bugs.webkit.org/show_bug.cgi?id=132826

Reviewed by Joseph Pecoraro.

* Scripts/copy-user-interface-resources.pl: If the build is running
under Cygwin, be sure to use '/usr/bin/python', instead of just
'python' to avoid build errors.

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

5 years agoProgress on web timing.
achristensen@apple.com [Mon, 12 May 2014 21:38:02 +0000 (21:38 +0000)]
Progress on web timing.
https://bugs.webkit.org/show_bug.cgi?id=132574

Reviewed by Alexey Proskuryakov.

Source/WebCore:
* CMakeLists.txt:
Removed ResourceLoadTiming.cpp.
* WebCore.exp.in:
Added linker symbols for ResourceLoadTiming.
* WebCore.xcodeproj/project.pbxproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
Removed ResourceLoadTiming.cpp.
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForTiming):
* inspector/protocol/Network.json:
Updated ResourceTiming structure.
* loader/DocumentLoadTiming.cpp:
(WebCore::DocumentLoadTiming::setNavigationStart):
* loader/DocumentLoadTiming.h:
 Deleted unused setNavigationStart function.
* page/Performance.idl:
Updated spec URL.
* page/PerformanceResourceTiming.cpp:
(WebCore::PerformanceResourceTiming::domainLookupStart):
(WebCore::PerformanceResourceTiming::domainLookupEnd):
(WebCore::PerformanceResourceTiming::connectStart):
(WebCore::PerformanceResourceTiming::secureConnectionStart):
(WebCore::PerformanceResourceTiming::responseEnd):
Updated ResourceLoadTiming member variable names.
(WebCore::PerformanceResourceTiming::responseStart):
* page/PerformanceResourceTiming.h:
* page/PerformanceResourceTiming.idl:
Deleted responseStart because it is not in the spec.
* page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::domainLookupStart):
(WebCore::PerformanceTiming::domainLookupEnd):
(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::secureConnectionStart):
(WebCore::PerformanceTiming::requestStart):
(WebCore::PerformanceTiming::responseStart):
Updated ResourceLoadTiming member variable names.
(WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
Use navigationStart as base for resource load times.
* page/PerformanceTiming.idl:
Updated spec URL.
* platform/network/HTTPParsers.h:
Removed unused class declarations.
* platform/network/ResourceHandle.h:
Moved soup request time from ResourceLoadTiming to ResourceHandle.
* platform/network/ResourceLoadTiming.cpp: Removed.
* platform/network/ResourceLoadTiming.h:
(WebCore::ResourceLoadTiming::deepCopy):
(WebCore::ResourceLoadTiming::operator==):
(WebCore::ResourceLoadTiming::ResourceLoadTiming):
Updated ResourceLoadTiming member variable names.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::createNSURLConnection):
Collect timing data.
* platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
Save timing data to a ResourceLoadTiming on the ResourceResponse.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::gotHeadersCallback):
(WebCore::restartedCallback):
(WebCore::milisecondsSinceRequest):
(WebCore::ResourceHandle::didStartRequest):
(WebCore::networkEventCallback):
(WebCore::createSoupMessageForHandleAndRequest):
(WebCore::ResourceHandle::sendPendingRequest):
Updated ResourceLoadTiming member variable names.
(WebCore::wroteBodyCallback): Deleted.

Source/WebKit2:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ResourceResponse>::encode):
(IPC::ArgumentCoder<ResourceResponse>::decode):
Transfer ResourceLoadTiming values if they exist.

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

5 years ago[Cocoa] Expose WebPage::usesEphemeralSession to the bundle
mitz@apple.com [Mon, 12 May 2014 21:34:06 +0000 (21:34 +0000)]
[Cocoa] Expose WebPage::usesEphemeralSession to the bundle
https://bugs.webkit.org/show_bug.cgi?id=132836

Reviewed by Anders Carlsson.

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _usesNonPersistentWebsiteDataStore]):
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:

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

5 years agoSVG outline property is broken and inefficient
krit@webkit.org [Mon, 12 May 2014 21:18:24 +0000 (21:18 +0000)]
SVG outline property is broken and inefficient
https://bugs.webkit.org/show_bug.cgi?id=113666

Reviewed by Dean Jackson.

Source/WebCore:
"[SVG2] css 'outline' property should apply to svg elements

The 'outline' property was only partially working in SVG before
this patch, this makes it work on text and text content child
elements too.

This makes SVG render the outlines as part of the foreground paint
phase.

Partly based on Florin Malita's webkit patch https://bugs.webkit.org/show_bug.cgi?id=113666#c12."

Tests: svg/custom/outline-stacking-expected.svg
       svg/custom/outline-stacking.svg
       svg/custom/rgba-color-outline.svg
       svg/text/text-outline-expected.svg
       svg/text/text-outline-rgba.html
       svg/text/text-outline.html
       svg/text/textpath-outline-expected.svg
       svg/text/textpath-outline.svg
       svg/text/tspan-multiple-outline.svg
       svg/text/tspan-outline-2-expected.svg
       svg/text/tspan-outline-2.svg
       svg/text/tspan-outline-expected.svg
       svg/text/tspan-outline.html

* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::paint): Draw outline in forground
    paint phase.
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint): Draw outline in forground
    paint phase.
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paintReplaced): Pass paint offset.
* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::paint): Draw outline in forground
    paint phase.
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::paint): Draw outline in forground
    paint phase.
* rendering/svg/SVGInlineFlowBox.cpp:
(WebCore::SVGInlineFlowBox::paint): Pass paint offset.
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paint): Draw outline in forground
    paint phase.
* rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::paint): Pass paint offset.

LayoutTests:
Test stacking for outline properties. 'outline' should
not draw above overlapping content anymore.
Test outline drawing for text elements.

* svg/custom/outline-stacking-expected.svg: Added.
* svg/custom/outline-stacking.svg: Added.
* svg/custom/rgba-color-outline-expected.html: Added.
* svg/custom/rgba-color-outline.svg: Added.
* svg/text/text-outline-expected.svg: Added.
* svg/text/text-outline-rgba-expected.html: Added.
* svg/text/text-outline-rgba.html: Added.
* svg/text/text-outline.html: Added.
* svg/text/textpath-outline-expected.svg: Added.
* svg/text/textpath-outline.svg: Added.
* svg/text/tspan-multiple-outline-expected.html: Added.
* svg/text/tspan-multiple-outline.svg: Added.
* svg/text/tspan-outline-2-expected.svg: Added.
* svg/text/tspan-outline-2.svg: Added.
* svg/text/tspan-outline-expected.svg: Added.
* svg/text/tspan-outline.html: Added.

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

5 years agoLayer for bottom overhang area needs to be offset by the topContentInset
bdakin@apple.com [Mon, 12 May 2014 21:06:53 +0000 (21:06 +0000)]
Layer for bottom overhang area needs to be offset by the topContentInset
https://bugs.webkit.org/show_bug.cgi?id=132835
-and corresponding-
<rdar://problem/16641115>

Reviewed by Simon Fraser.

Push this layer down by the topContentInset in addition to the root layer height,
footer height, and header height.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):

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

5 years ago[Win] Enum type with value zero is compatible with void*, potential cause of crashes.
commit-queue@webkit.org [Mon, 12 May 2014 20:42:24 +0000 (20:42 +0000)]
[Win] Enum type with value zero is compatible with void*, potential cause of crashes.
https://bugs.webkit.org/show_bug.cgi?id=132772

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-05-12
Reviewed by Geoffrey Garen.

Using the MSVC compiler, an instance of an enum type with value zero, is compatible with void* (see bug 132683 for a code example).
This has caused crashes on Windows on two occasions (bug 132683, and bug 121001).
This patch tries to prevent these type of crashes by using a type with explicit constructors instead of void*.
The void* parameter in the loadDouble and storeDouble methods are replaced with TrustedImmPtr.

* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::loadDouble):
(JSC::MacroAssemblerARM::storeDouble):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::loadDouble):
(JSC::MacroAssemblerARM64::storeDouble):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::loadDouble):
(JSC::MacroAssemblerARMv7::storeDouble):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::loadDouble):
(JSC::MacroAssemblerMIPS::storeDouble):
* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::loadDouble):
(JSC::MacroAssemblerSH4::storeDouble):
* assembler/MacroAssemblerX86.h:
(JSC::MacroAssemblerX86::storeDouble):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::absDouble):
(JSC::MacroAssemblerX86Common::negateDouble):
(JSC::MacroAssemblerX86Common::loadDouble):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::silentFill):
(JSC::DFG::compileClampDoubleToByte):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::compile):
* jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::purifyNaN):
* jit/JITInlines.h:
(JSC::JIT::emitLoadDouble):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitFloatTypedArrayGetByVal):
* jit/ThunkGenerators.cpp:
(JSC::floorThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::powThunkGenerator):

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

5 years agoREGRESSION (r167818): editing/inserting/typing-space-to-trigger-smart-link.html fails...
jhoneycutt@apple.com [Mon, 12 May 2014 20:31:29 +0000 (20:31 +0000)]
REGRESSION (r167818): editing/inserting/typing-space-to-trigger-smart-link.html fails on WebKit1 bots

<https://bugs.webkit.org/show_bug.cgi?id=132207>
<rdar://problem/16730393>

Source/WebCore:
Reverts the previous workaround in favor of a more specific fix for the
null dereference.

Reviewed by Darin Adler.

* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
Check whether the run's start and end are still in the document, as
removeConflictingInlineStyleFromRun() may have removed them.

* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::apply):
Reverted previous workaround.
(WebCore::ApplyEditCommand::ReentrancyGuard::isRecursiveCall): Deleted.
(WebCore::ApplyEditCommand::ReentrancyGuard::Scope::Scope): Deleted.
(WebCore::ApplyEditCommand::ReentrancyGuard::Scope::~Scope): Deleted.

LayoutTests:
Reviewed by Darin Adler.

* editing/apply-style-iframe-crash-expected.txt:
Rebased test result has one fewer new line.
* platform/mac-wk1/TestExpectations:
Remove test from list of expected failures.

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

5 years agoClean up CrossThreadTask
zandobersek@gmail.com [Mon, 12 May 2014 20:16:43 +0000 (20:16 +0000)]
Clean up CrossThreadTask
https://bugs.webkit.org/show_bug.cgi?id=132800

Reviewed by Darin Adler.

Remove the createCallbackTask overloads and the related CrossThreadTask helper classes.

Instead, have one simple CrossThreadTask class that derives from ScriptExecutionContext::Task.
Its templated constructor takes in the method and the variadic pack of parameters. The cross-thread
copies of the parameters are then bound to that method and the resulting bind expression is used to
initialize the base class. The bind expression is constructed with a placeholder for the
ScriptExecutionContext* parameter that's provided through ScriptExecutionContext::Task::performTask().

* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
(WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Peer::send):
(WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
* dom/CrossThreadTask.h:
(WebCore::CrossThreadTask::CrossThreadTask):
(WebCore::CrossThreadTask1::CrossThreadTask1): Deleted.
(WebCore::CrossThreadTask1::performTask): Deleted.
(WebCore::CrossThreadTask2::CrossThreadTask2): Deleted.
(WebCore::CrossThreadTask2::performTask): Deleted.
(WebCore::CrossThreadTask3::CrossThreadTask3): Deleted.
(WebCore::CrossThreadTask3::performTask): Deleted.
(WebCore::CrossThreadTask4::CrossThreadTask4): Deleted.
(WebCore::CrossThreadTask4::performTask): Deleted.
(WebCore::CrossThreadTask5::CrossThreadTask5): Deleted.
(WebCore::CrossThreadTask5::performTask): Deleted.
(WebCore::CrossThreadTask6::CrossThreadTask6): Deleted.
(WebCore::CrossThreadTask6::performTask): Deleted.
(WebCore::CrossThreadTask7::CrossThreadTask7): Deleted.
(WebCore::CrossThreadTask7::performTask): Deleted.
(WebCore::CrossThreadTask8::CrossThreadTask8): Deleted.
(WebCore::CrossThreadTask8::performTask): Deleted.
(WebCore::createCallbackTask): Deleted.
* fileapi/FileReader.cpp:
(WebCore::FileReader::abort):
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
(WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
(WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
* loader/WorkerThreadableLoader.h:
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::removeRequestFromCache):
(WebCore::MemoryCache::removeRequestFromSessionCaches):
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
(WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::workerObjectDestroyed):
(WebCore::WorkerMessagingProxy::connectToInspector):
(WebCore::WorkerMessagingProxy::disconnectFromInspector):
(WebCore::WorkerMessagingProxy::sendMessageToInspector):

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

5 years agoImplement EXT_shader_texture_lod in WebGL.
commit-queue@webkit.org [Mon, 12 May 2014 20:13:44 +0000 (20:13 +0000)]
Implement EXT_shader_texture_lod in WebGL.
https://bugs.webkit.org/show_bug.cgi?id=128985
<rdar://problem/16111396>

Source/WebCore:
Based on Chromium patch by bajones@chromium.org.
https://src.chromium.org/viewvc/blink?revision=171465&view=revision

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-12
Reviewed by Dean Jackson.

Test: webgl/conformance/extensions/ext-shader-texture-lod.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
Added new EXTShaderTextureLOD files.
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
Added EXTShaderTextureLOD.
* html/canvas/EXTShaderTextureLOD.cpp: Added.
(WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):
(WebCore::EXTShaderTextureLOD::~EXTShaderTextureLOD):
(WebCore::EXTShaderTextureLOD::getName):
* html/canvas/EXTShaderTextureLOD.h: Added.
* html/canvas/EXTShaderTextureLOD.idl: Added.
* html/canvas/WebGLExtension.h:
Added EXTShaderTextureLODName.
* html/canvas/WebGLObject.cpp:
Removed unused inclusion of EXTTextureFilterAnisotropic.h.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
Added EXT_shader_texture_lod.
* html/canvas/WebGLRenderingContext.h:
Added a EXTShaderTextureLOD member variable.

LayoutTests:
Based on Firefox patch by Vladimir Vukicevic.
https://bug965848.bugzilla.mozilla.org/attachment.cgi?id=8367994

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-12
Reviewed by Dean Jackson.

* webgl/conformance/extensions/ext-shader-texture-lod-expected.txt: Added.
* webgl/conformance/extensions/ext-shader-texture-lod.html: Added.
* webgl/resources/webgl_test_files/conformance/extensions/ext-shader-texture-lod.html: Added.

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

5 years agoREGRESSION(168625): [GTK] build broken due to WKContextSetLocalStorageDirectory
commit-queue@webkit.org [Mon, 12 May 2014 19:54:38 +0000 (19:54 +0000)]
REGRESSION(168625): [GTK] build broken due to WKContextSetLocalStorageDirectory
https://bugs.webkit.org/show_bug.cgi?id=132831

Unreviewed GTK build fix.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-12

* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformDefaultLocalStorageDirectory):
This is now a static member function.

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

5 years agoWKWebViewConfiguration should fill in the blanks
andersca@apple.com [Mon, 12 May 2014 19:53:28 +0000 (19:53 +0000)]
WKWebViewConfiguration should fill in the blanks
https://bugs.webkit.org/show_bug.cgi?id=132832
<rdar://problem/16886408>

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration _validate]):
* UIProcess/API/Cocoa/WKWebViewConfigurationInternal.h:

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

5 years agoDisallow drag and drop of non-displayable resources.
mhock@apple.com [Mon, 12 May 2014 19:47:12 +0000 (19:47 +0000)]
Disallow drag and drop of non-displayable resources.
https://bugs.webkit.org/show_bug.cgi?id=132745
<rdar://problem/10562662>

Reviewed by Alexey Proskuryakov.

Source/WebCore:
Test: http/tests/security/drag-drop-local-file.html

* page/DragController.cpp:
(WebCore::DragController::startDrag):

LayoutTests:
* http/tests/security/drag-drop-local-file-expected.txt: Added.
* http/tests/security/drag-drop-local-file.html: Added.

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

5 years ago0.4% of PLT3 in JSCell::structure() below JSObject::visitChildren().
akling@apple.com [Mon, 12 May 2014 18:26:17 +0000 (18:26 +0000)]
0.4% of PLT3 in JSCell::structure() below JSObject::visitChildren().
<https://webkit.org/b/132828>
<rdar://problem/16886285>

Reviewed by Michael Saboff.

* runtime/JSObject.cpp:
(JSC::JSObject::visitButterfly):
(JSC::JSObject::visitChildren):

    Use JSCell::structure(VM&) to reduce the number of hoops we jump
    through to find Structures during marking.

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

5 years agofast/multicol/newmulticol/first-letter-create.html is very flaky
stavila@adobe.com [Mon, 12 May 2014 18:19:36 +0000 (18:19 +0000)]
fast/multicol/newmulticol/first-letter-create.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=132744

Reviewed by Antti Koivisto.

Modified test to not display anything as its only purpose is to ensure it doesn't crash.

* TestExpectations:
* fast/multicol/newmulticol/first-letter-create-expected.html:
* fast/multicol/newmulticol/first-letter-create.html:

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

5 years agoWKWebView should default to _backgroundExtendsBeyondPage = YES
andersca@apple.com [Mon, 12 May 2014 18:18:53 +0000 (18:18 +0000)]
WKWebView should default to _backgroundExtendsBeyondPage = YES
https://bugs.webkit.org/show_bug.cgi?id=132829
<rdar://problem/16886364>

Reviewed by Beth Dakin.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):

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

5 years agoPass local storage directory to StorageManager::create
andersca@apple.com [Mon, 12 May 2014 18:12:18 +0000 (18:12 +0000)]
Pass local storage directory to StorageManager::create
https://bugs.webkit.org/show_bug.cgi?id=132827

Reviewed by Tim Horton.

Since we know the local storage directory at creation time and we know it never changes,
we can get rid of setLocalStorageDirectory and just pass the local storage directory at creation time.

* UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::create):
(WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
(WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker):
(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory): Deleted.
(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal): Deleted.
* UIProcess/Storage/LocalStorageDatabaseTracker.h:
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::create):
(WebKit::StorageManager::StorageManager):
(WebKit::StorageManager::setLocalStorageDirectory): Deleted.
* UIProcess/Storage/StorageManager.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):

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

5 years agoWinCairo buildfix after r168611
commit-queue@webkit.org [Mon, 12 May 2014 18:00:58 +0000 (18:00 +0000)]
WinCairo buildfix after r168611
https://bugs.webkit.org/show_bug.cgi?id=132825

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-05-12
Reviewed by Darin Adler.

* platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownloadManager::downloadThread):
(WebCore::CurlDownload::didReceiveHeader):
(WebCore::CurlDownload::didReceiveData):

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

5 years agoReplace WKContextSetLocalStorageDirectory with a context configuration getter/setter
andersca@apple.com [Mon, 12 May 2014 17:56:42 +0000 (17:56 +0000)]
Replace WKContextSetLocalStorageDirectory with a context configuration getter/setter
https://bugs.webkit.org/show_bug.cgi?id=132809

Reviewed by Dan Bernstein.

Source/WebKit2:
* UIProcess/API/C/WKContext.cpp:
(WKContextSetLocalStorageDirectory): Deleted.

* UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationCopyLocalStorageDirectory):
(WKContextConfigurationSetLocalStorageDirectory):
* UIProcess/API/C/WKContextConfigurationRef.h:
Add getters and setters for the local storage directory.

* UIProcess/API/C/WKContextPrivate.h:
Remove WKContextSetLocalStorageDirectory.

* UIProcess/API/Cocoa/WKProcessGroup.mm:
(-[WKProcessGroup initWithInjectedBundleURL:]):
Call WebContext::applyPlatformSpecificConfigurationDefaults.

* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _initWithConfiguration:]):
Call WebContext::applyPlatformSpecificConfigurationDefaults (for now).

* UIProcess/APIContextConfiguration.cpp:
(API::ContextConfiguration::webContextConfiguration):
Set the local storage. Also, call WebContext::applyPlatformSpecificConfigurationDefaults.

* UIProcess/APIContextConfiguration.h:
(API::ContextConfiguration::injectedBundlePath):
This should be const.

(API::ContextConfiguration::localStorageDirectory):
(API::ContextConfiguration::setLocalStorageDirectory):
Add getter and setter.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::setLocalStorageDirectory):
ASSERT that the path isn't null.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::applyPlatformSpecificConfigurationDefaults):
New helper function that will fill in platform specific defaults for empty parameters.

(WebKit::WebContext::WebContext):
Get the local storage directory from the configuration.

(WebKit::WebContext::setLocalStorageDirectory): Deleted.
(WebKit::WebContext::localStorageDirectory): Deleted.
These are no longer needed.

* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformDefaultLocalStorageDirectory):
This should be a static member function.

Tools:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
Set the local storage directory using WKContextConfigurationSetLocalStorageDirectory.

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

5 years agoREGRESSION (r159560): Text clips on tile border if line-height < font-size
antti@apple.com [Mon, 12 May 2014 17:56:17 +0000 (17:56 +0000)]
REGRESSION (r159560): Text clips on tile border if line-height < font-size
https://bugs.webkit.org/show_bug.cgi?id=132822

Reviewed by Andreas Kling.

Source/WebCore:

The first line of simple line layout run range was miscomputed.

Test: fast/text/simple-lines-range-low-line-height.html

* rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):

    Lines may overlap if line-height < font-size. Apply different adjustment when searching for range begin
    so that overflowing earlier lines are taken into account.

(WebCore::SimpleLineLayout::RunResolver::rangeForRect):

LayoutTests:

* fast/text/simple-lines-range-low-line-height-expected.html: Added.
* fast/text/simple-lines-range-low-line-height.html: Added.

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

5 years agoTypo fix in generate-forwarding-headers
commit-queue@webkit.org [Mon, 12 May 2014 16:04:56 +0000 (16:04 +0000)]
Typo fix in generate-forwarding-headers
https://bugs.webkit.org/show_bug.cgi?id=132820

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-12
Reviewed by Anders Carlsson.

* Scripts/generate-forwarding-headers.pl:
(collectFrameworkHeaderPaths):

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

5 years ago[EFL] Rebaseline after adding tests in r168350
commit-queue@webkit.org [Mon, 12 May 2014 16:00:07 +0000 (16:00 +0000)]
[EFL] Rebaseline after adding tests in r168350
https://bugs.webkit.org/show_bug.cgi?id=132824

Unreviewed gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-05-12

* platform/efl/TestExpectations:
* platform/efl/fast/multicol/client-rects-expected.txt:
* platform/efl/fast/multicol/client-rects-spanners-complex-expected.txt:
* platform/efl/fast/multicol/client-rects-spanners-expected.txt:
* platform/efl/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
* platform/efl/fast/multicol/span/span-margin-collapsing-expected.txt:
* platform/efl/svg/zoom/page/zoom-foreignObject-expected.txt:
* platform/efl/svg/zoom/page/zoom-svg-as-relative-image-expected.png:
* platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
* platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
* platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
* platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
* platform/efl/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.png:
* platform/efl/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
* platform/efl/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/efl/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
* platform/efl/svg/zoom/text/zoom-foreignObject-expected.txt:

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

5 years agoInvalid information remaining in lineToRegion map of RenderFlowThread.
stavila@adobe.com [Mon, 12 May 2014 15:23:34 +0000 (15:23 +0000)]
Invalid information remaining in lineToRegion map of RenderFlowThread.
https://bugs.webkit.org/show_bug.cgi?id=132690

Reviewed by Antti Koivisto.

Source/WebCore:
Test: fast/multicol/newmulticol/lines-region-map-crash.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::deleteLines):
* rendering/RenderFlowThread.h:

LayoutTests:
Added test for crash caused by invalid information in the lineToRegion map.

* fast/multicol/newmulticol/lines-region-map-crash-expected.html: Added.
* fast/multicol/newmulticol/lines-region-map-crash.html: Added.

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

5 years ago[EFL][WK1] Enable region based columns
commit-queue@webkit.org [Mon, 12 May 2014 14:30:51 +0000 (14:30 +0000)]
[EFL][WK1] Enable region based columns
https://bugs.webkit.org/show_bug.cgi?id=132646

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-05-12
Reviewed by Gyuyoung Kim.

Enable new multi-column mode as it was enabled in WK2 (r168046).

* ewk/ewk_view.cpp:
(_ewk_view_priv_new):

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

5 years ago[EFL] TLSErrors do not cause page load to fail when not ignored
pmolnar.u-szeged@partner.samsung.com [Mon, 12 May 2014 12:48:54 +0000 (12:48 +0000)]
[EFL] TLSErrors do not cause page load to fail when not ignored
https://bugs.webkit.org/show_bug.cgi?id=131104

Reviewed by Gyuyoung Kim.

Added EFL unit test for the bug https://bugs.webkit.org/show_bug.cgi?id=121548

* UIProcess/API/efl/tests/test_ewk2_ssl.cpp: Added new test: ewk_ssl_bad_cert_redirect_https_to_http

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

5 years ago[cmake] Add missing FTL source files to the build system.
ossy@webkit.org [Mon, 12 May 2014 11:58:32 +0000 (11:58 +0000)]
[cmake] Add missing FTL source files to the build system.

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-05-12
Reviewed by Csaba Osztrogonác.

* CMakeLists.txt:

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

5 years agoUnreviewed. Bump version numbers.
carlosgc@webkit.org [Mon, 12 May 2014 11:32:08 +0000 (11:32 +0000)]
Unreviewed. Bump version numbers.

* Source/cmake/OptionsGTK.cmake:

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

5 years ago[CSS Blending] Adjust blending pixel test expectations
commit-queue@webkit.org [Mon, 12 May 2014 09:20:13 +0000 (09:20 +0000)]
[CSS Blending] Adjust blending pixel test expectations
https://bugs.webkit.org/show_bug.cgi?id=132737

Patch by Ion Rosca <rosca@adobe.com> on 2014-05-12
Reviewed by Mihnea Ovidenie.

Changing failing gif file with with one pixel base64 data and make them different for the two tests,
otherwise they might get cached and the gif animation is shared among multiple tests.
Changing the incorrect expectations for *gif-color-2* and adjusting test expectation for *gif-color-1*
* css3/blending/background-blend-mode-gif-color-2.html:
* css3/blending/background-blend-mode-gif-color.html:
* css3/blending/resources/squares.gif: Removed.
* platform/mac/css3/blending/background-blend-mode-gif-color-2-expected.png:
* platform/mac/css3/blending/background-blend-mode-gif-color-expected.png:

* platform/mac-wk1/TestExpectations:
The background-blend-mode-gif-color-2 does not pass on WK1: the git animation doesn't get started.

* platform/mac/TestExpectations: Adding bugs to the excepted blending tests.

Adjusting this test to avoid scrollbars. Adjusting test expectations.
* css3/blending/blend-mode-overflow-expected.txt: Removed.
* css3/blending/blend-mode-overflow.html:
* platform/mac/css3/blending/blend-mode-overflow-expected.png:
* platform/mac/css3/blending/blend-mode-overflow-expected.txt:

Adding pixel expectations for newly added tests:
* platform/mac/css3/blending/blend-mode-isolation-flags-append-non-stacking-context-blending-expected.png: Added.
* platform/mac/css3/blending/blend-mode-isolation-flags-append-stacking-context-blending-expected.png: Added.
* platform/mac/css3/blending/blend-mode-isolation-flags-remove-non-stacking-context-blending-expected.png: Added.
* platform/mac/css3/blending/blend-mode-isolation-flags-remove-stacking-context-blending-expected.png: Added.
* platform/mac/css3/blending/blend-mode-isolation-flags-turn-off-blending-expected.png: Added.
* platform/mac/css3/blending/blend-mode-isolation-flags-turn-off-blending-no-isolation-expected.png: Added.
* platform/mac/css3/blending/blend-mode-isolation-flags-turn-off-stacking-context-expected.png: Added.
* platform/mac/css3/blending/blend-mode-isolation-flags-turn-on-blending-expected.png: Added.
* platform/mac/css3/blending/blend-mode-isolation-flags-turn-on-stacking-context-expected.png: Added.
* platform/mac/css3/blending/blend-mode-isolation-turn-off-self-painting-layer-expected.png: Added.
* platform/mac/css3/blending/blend-mode-isolation-turn-off-self-painting-layer1-expected.png: Added.
* platform/mac/css3/blending/blend-mode-isolation-turn-off-self-painting-layer2-expected.png: Added.
* platform/mac/css3/blending/blend-mode-isolation-turn-on-self-painting-layer-expected.png: Added.

Adjusting pixel tests after removing non separable blend modes.
* platform/mac/css3/blending/blend-mode-simple-composited-expected.png:
* platform/mac/css3/blending/blend-mode-simple-expected.png:
* platform/mac/css3/blending/effect-background-blend-mode-expected.png:
* platform/mac/css3/blending/effect-background-blend-mode-tiled-expected.png:

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

5 years agoREGRESSION(CMAKE): [GTK] JavaScriptCore API tests are not built anymore
carlosgc@webkit.org [Mon, 12 May 2014 08:57:58 +0000 (08:57 +0000)]
REGRESSION(CMAKE): [GTK] JavaScriptCore API tests are not built anymore
https://bugs.webkit.org/show_bug.cgi?id=132739

Reviewed Anders Carlsson.

* TestWebKitAPI/CMakeLists.txt: Add missing includes required by
the JSC unit tests.
* TestWebKitAPI/PlatformGTK.cmake: Bring back JavaScriptCore unit tests.

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

5 years agoAdd potential illustrations for a potential future blog post about the viewport meta tag
benjamin@webkit.org [Mon, 12 May 2014 07:23:17 +0000 (07:23 +0000)]
Add potential illustrations for a potential future blog post about the viewport meta tag

* blog-files/simple-viewport-configuration: Added.
* blog-files/simple-viewport-configuration/860_viewport.html: Added.
* blog-files/simple-viewport-configuration/blog_with_viewport.png: Added.
* blog-files/simple-viewport-configuration/blog_without_viewport.png: Added.
* blog-files/simple-viewport-configuration/default_viewport.html: Added.
* blog-files/simple-viewport-configuration/horizontal_design.html: Added.
* blog-files/simple-viewport-configuration/inspector.png: Added.
* blog-files/simple-viewport-configuration/report_size.js: Added.

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

5 years agoClean up MainThreadTask
zandobersek@gmail.com [Mon, 12 May 2014 07:04:59 +0000 (07:04 +0000)]
Clean up MainThreadTask
https://bugs.webkit.org/show_bug.cgi?id=132799

Reviewed by Darin Adler.

Only have one simple MainThreadTask class that derives from std::function<void ()>.
Its templated constructor takes in the method and a variadic pack of parameters.
The cross-thread copies of the parameter are then bound to the given method through
std::bind(), with the resulting bind expression used to initialize the base
std::function<void ()> class.

The WebCore::callOnMainThread() functions and the helper classes are removed in favor
of passing MainThreadTask rvalues directly to WTF::callOnMainThread().

* fileapi/AsyncFileStream.cpp:
(WebCore::AsyncFileStream::startOnFileThread):
(WebCore::AsyncFileStream::stopOnFileThread):
(WebCore::AsyncFileStream::getSizeOnFileThread):
(WebCore::AsyncFileStream::openForReadOnFileThread):
(WebCore::AsyncFileStream::openForWriteOnFileThread):
(WebCore::AsyncFileStream::readOnFileThread):
(WebCore::AsyncFileStream::writeOnFileThread):
(WebCore::AsyncFileStream::truncateOnFileThread):
* platform/MainThreadTask.h:
(WebCore::MainThreadTask::MainThreadTask):
(WebCore::MainThreadTaskBase::MainThreadTaskBase): Deleted.
(WebCore::MainThreadTaskBase::~MainThreadTaskBase): Deleted.
(WebCore::MainThreadTask1::create): Deleted.
(WebCore::MainThreadTask1::MainThreadTask1): Deleted.
(WebCore::MainThreadTask2::create): Deleted.
(WebCore::MainThreadTask2::MainThreadTask2): Deleted.
(WebCore::MainThreadTask3::create): Deleted.
(WebCore::MainThreadTask3::MainThreadTask3): Deleted.
(WebCore::MainThreadTask4::create): Deleted.
(WebCore::MainThreadTask4::MainThreadTask4): Deleted.
(WebCore::MainThreadTask5::create): Deleted.
(WebCore::MainThreadTask5::MainThreadTask5): Deleted.
(WebCore::MainThreadTask6::create): Deleted.
(WebCore::MainThreadTask6::MainThreadTask6): Deleted.
(WebCore::MainThreadTask7::create): Deleted.
(WebCore::MainThreadTask7::MainThreadTask7): Deleted.
(WebCore::MainThreadTask8::create): Deleted.
(WebCore::MainThreadTask8::MainThreadTask8): Deleted.
(WebCore::executeMainThreadTask): Deleted.
(WebCore::callOnMainThread): Deleted.

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

5 years agoSimplify FileThread::Task usage
zandobersek@gmail.com [Mon, 12 May 2014 07:01:24 +0000 (07:01 +0000)]
Simplify FileThread::Task usage
https://bugs.webkit.org/show_bug.cgi?id=132798

Reviewed by Darin Adler.

Remove the createFileThreadTask functions and the related FileThreadTask helper classes.

Instead, the FileThread::Task class now has a templated constructor that takes in a pointer
to the object instance, a method, and a variadic pack of parameters. The pointer and the
cross-thread copies of all the parameters are then bound to the given method through std::bind().

Instead of createFileThreadTask, std::make_unique<>() should be used to construct unique pointers
that wrap FileThread::Task objects.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* fileapi/AsyncFileStream.cpp:
(WebCore::AsyncFileStream::create):
(WebCore::AsyncFileStream::stop):
(WebCore::AsyncFileStream::getSize):
(WebCore::AsyncFileStream::openForRead):
(WebCore::AsyncFileStream::openForWrite):
(WebCore::AsyncFileStream::close):
(WebCore::AsyncFileStream::read):
(WebCore::AsyncFileStream::write):
(WebCore::AsyncFileStream::truncate):
* fileapi/FileThread.h:
(WebCore::FileThread::Task::Task):
(WebCore::FileThread::Task::performTask):
(WebCore::FileThread::Task::~Task): Deleted.
* fileapi/FileThreadTask.h: Removed.

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

5 years agoExpose a function to copy favicon data without image conversion.
commit-queue@webkit.org [Mon, 12 May 2014 06:30:37 +0000 (06:30 +0000)]
Expose a function to copy favicon data without image conversion.
https://bugs.webkit.org/show_bug.cgi?id=132805

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2014-05-11
Reviewed by Darin Adler.

* UIProcess/API/C/WKIconDatabase.cpp:
(WKIconDatabaseCopyIconDataForPageURL):
Add a function to copy the data from the image of a favicon for an associated page url.

* UIProcess/API/C/WKIconDatabase.h:
Declare WKIconDatabaseCopyIconDataForPageURL.

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

5 years agoREGRESSION(r168603): [GTK] Build broken.
commit-queue@webkit.org [Mon, 12 May 2014 06:21:47 +0000 (06:21 +0000)]
REGRESSION(r168603): [GTK] Build broken.
https://bugs.webkit.org/show_bug.cgi?id=132810

Patch by Seongjun Kim <isAir@company100.com> on 2014-05-11
Reviewed by Carlos Garcia Campos.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(createDefaultWebContext):
Construct a WebContextConfiguration object and pass it to WebContext::create.

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

5 years agoDo not create a temporary string to append the SVGLength's unit
benjamin@webkit.org [Mon, 12 May 2014 04:54:34 +0000 (04:54 +0000)]
Do not create a temporary string to append the SVGLength's unit
https://bugs.webkit.org/show_bug.cgi?id=132807

Reviewed by Geoffrey Garen.

* svg/SVGLength.cpp:
(WebCore::lengthTypeToString):
The caller just append the string to a number string. The function
lengthTypeToString() was creating a new WTF::String from scratch,
copied the characters to make a new string, and destroyed the WTF::String.

Instead, just append the string literal.

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

5 years agoCSS JIT: reduce cost of computing backtracking height
commit-queue@webkit.org [Mon, 12 May 2014 04:23:12 +0000 (04:23 +0000)]
CSS JIT: reduce cost of computing backtracking height
https://bugs.webkit.org/show_bug.cgi?id=132546

Patch by Yusuke Suzuki <utatane.tea@gmail.com> on 2014-05-11
Reviewed by Benjamin Poulain.

Because compiler previously compute backtracking height for
previous child fragment, by leveraging this, we can limit the
`maxPrefixSize` for `computeBacktrackingHeightFromDescendant`.

For example, consider selector "c>a>b>d>a>b e"'s descendant chain,
"c>a>b>d>a>b".

At the <a> position, we have matching pattern [b, a, d, b, a] and
calculate the backtracking height by following method.

pattern:    [b, a, d, b, a]
candidate0:    [b, a, d, b]  => Not matched.
candidate1:       [b, a, d]  => Not matched.
candidate2:          [b, a]  => Matched against the pattern.

At this time, first candidate0's pattern size is `pattern.size() - 1`.
And get backtracking height from descendant 3, that is
`pattern.size() - candidate.size()`, `5 - 2`.

And next, at the <c> position, we calcucate the backtracking height
for this pattern.

pattern:    [b, a, d, b, a, c]
candidate0:    [b, a, d, b, a]  => Not matched.
candidate1:       [b, a, d, b]  => Not matched.
candidate2:          [b, a, d]  => Not matched.
candidate3:             [b, a]  => Not matched.
candidate4:                [b]  => Not matched.
candidate5:                 []  => Matched against the pattern.

Then, we get the backtracking height, which is 6 (6 - 0).
However, in the above case, we already know that attempts from candidate0
to candidate1 always fail, since parts of these are already tested at
the <b> position trial and we know they don't match.

So in this case, we should start this computation from candidate2,
such as,

pattern:    [b, a, d, b, a, c]
candidate2:          [b, a, d]  => Not matched.
candidate3:             [b, a]  => Not matched.
candidate4:                [b]  => Not matched.
candidate5:                 []  => Matched against the pattern.

We can start computation with candidate size
`pattern.size() - previousChildFragmentBacktrackingHeight`.
In this example, `pattern.size()` is 6 and
`previousChildFragmentBacktrackingHeight` is 3, so candidate size is
3, that is candidate2.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::computeBacktrackingStartHeightFromDescendant):
(WebCore::SelectorCompiler::computeBacktrackingHeightFromDescendant):

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

5 years agoRemove local storage directory and sandbox extension from WebProcessCreationParameters
andersca@apple.com [Mon, 12 May 2014 00:08:02 +0000 (00:08 +0000)]
Remove local storage directory and sandbox extension from WebProcessCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=132808

Reviewed by Beth Dakin.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

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

5 years agoUnreviewed, CMake build fix after r168603
ljaehun.lim@samsung.com [Sun, 11 May 2014 23:44:49 +0000 (23:44 +0000)]
Unreviewed, CMake build fix after r168603

Add APIContextConfiguration.cpp and WKContextConfigurationRef.cpp to the source list.

* CMakeLists.txt:

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

5 years agoAdd a WKContextConfigurationRef object and make the injected bundle path part of...
andersca@apple.com [Sun, 11 May 2014 22:12:17 +0000 (22:12 +0000)]
Add a WKContextConfigurationRef object and make the injected bundle path part of the configuration
https://bugs.webkit.org/show_bug.cgi?id=132806

Source/WebKit2:
<rdar://problem/16830143>

Reviewed by Beth Dakin.

Many setters on WKContextRef really only make sense to set early on, so move to a pattern where we create a
configuration object, a WKContextConfiguration which WKContexts can be created from. Add the injected bundle path
as a configuration property. More setters will follow.

* Shared/API/c/WKBase.h:
Add WKContextConfigurationRef.

* Shared/APIObject.h:
Add ContextConfiguration enum declaration.

* UIProcess/API/C/WKAPICast.h:
Handle WKContextConfigurationRef.

* UIProcess/API/C/WKContext.cpp:
(WKContextCreate):
Create an empty WKContextConfigurationRef object and pass it to WKContextCreateWithConfiguration.

(WKContextCreateWithInjectedBundlePath):
Create a WKContextConfigurationRef object, set its bundle path and pass the configuration to WKContextCreateWithConfiguration.

(WKContextCreateWithConfiguration):
Convert the WKContextConfigurationRef object to a WebContextConfiguration and pass it to WebContext::create.

* UIProcess/API/C/WKContext.h:
Add WKContextCreateWithConfiguration.

* UIProcess/API/C/WKContextConfigurationRef.cpp: Added.
(WKContextConfigurationCreate):
Create an API::ContextConfiguration object.

(WKContextConfigurationCopyInjectedBundlePath):
Return the injected bundle path.

(WKContextConfigurationSetInjectedBundlePath):
Set the injected bundle path.

* UIProcess/API/C/WKContextConfigurationRef.h: Added.
New C SPI header.

* UIProcess/API/Cocoa/WKProcessGroup.mm:
(-[WKProcessGroup initWithInjectedBundleURL:]):
Construct a WebContextConfiguration object and pass it to WebContext::Create.

* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _initWithConfiguration:]):
Construct a WebContextConfiguration object and pass it to WebContext::Create.

* UIProcess/APIContextConfiguration.cpp: Added.
New API::ContextConfiguration object.

(API::ContextConfiguration::webContextConfiguration):
Construct a WebContextConfiguration struct from our current configuration.

* UIProcess/APIContextConfiguration.h: Added.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::create):
Pass the WebContextConfiguration to the constructor.

(WebKit::WebContext::WebContext):
Set the injected bundle path from the WebContextConfiguration object.

* UIProcess/WebContext.h:
Change the WebContext constructor and create function to take a WebContextConfiguration object.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

Tools:

Reviewed by Beth Dakin.

Migrate to WKContextConfiguration.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):

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

5 years agoHeaders and footers are not positioned correctly with topContentInset
bdakin@apple.com [Sun, 11 May 2014 21:02:52 +0000 (21:02 +0000)]
Headers and footers are not positioned correctly with topContentInset
https://bugs.webkit.org/show_bug.cgi?id=132787
-and corresponding-
<rdar://problem/16641115>

Reviewed by Tim Horton.

Headers and footers need to take the inset into account, and they also need to
factor in the fact that the root layer moves around now too.

The existing yPositionForRootContentLayer() is actually the right calculation for
the header layer. The root content layer wants that value, but pushed down by the
header height. Now there are static functions for both of them and the footer to
avoid duplicated code in the three spots where we need this information.
* page/FrameView.cpp:
(WebCore::FrameView::yPositionForHeaderLayer):
(WebCore::FrameView::yPositionForRootContentLayer):
(WebCore::FrameView::yPositionForFooterLayer):
* page/FrameView.h:

Use the static functions to compute the layer positions.
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

How did headers ever work with this bug?? I don’t know. We need to return that
layer.
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::headerLayerForFrameView):

Use the static functions to compute the layer positions.
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):

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

5 years agoSubpixel rendering[iOS]: <select> decoration is misaligned when the renderer is on...
zalan@apple.com [Sun, 11 May 2014 19:46:53 +0000 (19:46 +0000)]
Subpixel rendering[iOS]: <select> decoration is misaligned when the renderer is on subpixel position.
https://bugs.webkit.org/show_bug.cgi?id=132779
<rdar://problem/16631071>

Reviewed by Simon Fraser.

Push <select> theme decoration's rect to device pixel position to ensure
that the theme bounds are aligned with the renderer's bounds. (in painting terms)
However, as the decoration code paints multiple items, they all need to use snapped
final coordinates for painting : tracked here https://bugs.webkit.org/show_bug.cgi?id=132780
This patch also changes the padding values for <select> [iOS] to compensate for the integer
truncation that happened before subpixel.

Not testable.

* css/html.css:
(select):
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::paintMenuListButtonDecorations):
* platform/efl/RenderThemeEfl.h:
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintMenuListButtonDecorations):
* platform/gtk/RenderThemeGtk.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintDecorations):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintMenuListButtonDecorations):
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::paintMenuListButtonDecorations):
* rendering/RenderThemeSafari.h:
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::paintMenuList):
(WebCore::RenderThemeWin::paintMenuListButtonDecorations):
* rendering/RenderThemeWin.h:

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

5 years agoMove Source/WebCore/workers/ code to std::unique_ptr
zandobersek@gmail.com [Sun, 11 May 2014 19:10:41 +0000 (19:10 +0000)]
Move Source/WebCore/workers/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=132401

Reviewed by Darin Adler.

Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/workers (and related places)
with std::unique_ptr.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
* bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
* bindings/js/ScheduledAction.h:
* page/DOMTimer.cpp:
(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
(WebCore::DOMTimer::didStop):
* page/DOMTimer.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::setTimeout):
(WebCore::DOMWindow::setInterval):
* page/DOMWindow.h:
* workers/WorkerEventQueue.h:
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::setTimeout):
(WebCore::WorkerGlobalScope::setInterval):
* workers/WorkerGlobalScope.h:
(WebCore::WorkerGlobalScope::clearScript):
* workers/WorkerLoaderProxy.h:
* workers/WorkerMessagingProxy.h:
* workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::WorkerRunLoop):
* workers/WorkerRunLoop.h:
* workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
(WebCore::WorkerScriptLoader::createResourceRequest):
* workers/WorkerScriptLoader.h:
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::workerThread):
(WebCore::WorkerThreadStartupData::create): Deleted.
* workers/WorkerThread.h:

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

5 years ago[Mac] [iOS] Underlines are too low
mmaxfield@apple.com [Sun, 11 May 2014 17:35:14 +0000 (17:35 +0000)]
[Mac] [iOS] Underlines are too low
https://bugs.webkit.org/show_bug.cgi?id=132770

Reviewed by Darin Adler.

Source/WebCore:
computeUnderlineOffset() inside InlineTextBox.cpp lowers underlines from text
baseline by a value that is proportional to the font size. However, this
lowering was done a second time in
GraphicsContext::computeLineBoundsAndAntialiasingModeForText(). This patch
removes this second, platform-dependent lowering.

This duplication was caused by merging iOS into open source, where iOS used
the GraphicsContext approach and open source used the InlineTextBox approach.

Covered by fast/css3-text/css3-text-decoration/text-decoration-thickness.html.

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::computeLineBoundsAndAntialiasingModeForText): Remove
redundant lowering code
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration): Clean up textDecorationThickness
variable

LayoutTests:
See per-file descriptions.

* fast/css3-text/css3-text-decoration/text-decoration-style-double-space-scales.html: Made
test more robust so it does not barely clip underlines, but rather gives them a couple
pixels of wiggle room.
* fast/css3-text/css3-text-decoration/text-decoration-thickness.html: Not only does this test
underline thickness, but it also tests underline position. Updated this test to not expect
incorrect results.

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

5 years agoText with simple line layout not getting pushed below float when there is not enough...
antti@apple.com [Sun, 11 May 2014 09:42:47 +0000 (09:42 +0000)]
Text with simple line layout not getting pushed below float when there is not enough space for it
https://bugs.webkit.org/show_bug.cgi?id=126991

Reviewed by Andreas Kling.

Source/WebCore:
Tests: fast/text/simple-lines-intruding-wide-float-dynamic.html
       fast/text/simple-lines-intruding-wide-float.html

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):

    Invalidate the line layout path when floats change. We need to check SimpleLineLayout::canUseFor again as
    intruding floats may make this flow ineligible to use the path.

* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::floatingObjectSet):
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):

    Test the top positions of all floats for case that would push text below the float instead of just testing
    the first line. We may have floats in the middle of the paragraph too.

LayoutTests:
* fast/text/simple-lines-intruding-wide-float-dynamic-expected.html: Added.
* fast/text/simple-lines-intruding-wide-float-dynamic.html: Added.
* fast/text/simple-lines-intruding-wide-float-expected.html: Added.
* fast/text/simple-lines-intruding-wide-float.html: Added.

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

5 years agoWinCairo crashes on acid3 test
commit-queue@webkit.org [Sun, 11 May 2014 07:01:15 +0000 (07:01 +0000)]
WinCairo crashes on acid3 test
https://bugs.webkit.org/show_bug.cgi?id=131364

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

When the 304 (Not-modified) response is received, the Curl backend should look up the cached response,
and call the client method didReceiveResponse with the cached response, instead of the 304 response.
Otherwise the response will contain an empty MIME type, which causes the request to be cancelled, and the client deleted.
When the Curl cache manager then accesses the client afterwards, it is deleted, and we crash.

* platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::didReceiveResponse): Return early if request is cancelled.
(WebCore::CurlCacheManager::getCachedResponse): Added method to get cached response.
* platform/network/curl/CurlCacheManager.h: Ditto.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback): When 304 response is received, look up cached response, and use it.

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

5 years ago[WK2] URTBF after r168585.
ossy@webkit.org [Sun, 11 May 2014 05:30:54 +0000 (05:30 +0000)]
[WK2] URTBF after r168585.

* Platform/IPC/Connection.h:
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::terminate):

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

5 years ago[WKWebView _updateScrollViewBackground] churns UI-and-CGColors while repainting
timothy_horton@apple.com [Sun, 11 May 2014 03:57:05 +0000 (03:57 +0000)]
[WKWebView _updateScrollViewBackground] churns UI-and-CGColors while repainting
https://bugs.webkit.org/show_bug.cgi?id=132793
<rdar://problem/16877870>

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateScrollViewBackground]):
Don't bypass the cache and make a copy of the CGColor just to set its alpha.
Cache the last color and don't bother creating a UIColor nor updating the
color on our views if it hasn't changed.

* WebCore.exp.in:
Export a Color convenience function.

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

5 years agoImplement -forwardingTargetForSelector on WKScrollViewDelegateForwarder
timothy_horton@apple.com [Sun, 11 May 2014 03:32:29 +0000 (03:32 +0000)]
Implement -forwardingTargetForSelector on WKScrollViewDelegateForwarder
https://bugs.webkit.org/show_bug.cgi?id=132790
<rdar://problem/16877802>

Reviewed by Dan Bernstein.

* UIProcess/ios/WKScrollView.mm:
(-[WKScrollViewDelegateForwarder forwardingTargetForSelector:]):
If only one of the delegates will respond to a selector,
we can return it from forwardingTargetForSelector: to avoid
NSInvocation overhead.

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

5 years ago[Mac] Some targets that link or soft-link WebKit.framework don't depend on it
mitz@apple.com [Sun, 11 May 2014 03:02:04 +0000 (03:02 +0000)]
[Mac] Some targets that link or soft-link WebKit.framework don't depend on it
https://bugs.webkit.org/show_bug.cgi?id=132776

Reviewed by Darin Adler.

* WebKit2.xcodeproj/project.pbxproj:

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

5 years ago[GTK][CMake] Unable to do make install
mrobinson@webkit.org [Sun, 11 May 2014 02:14:09 +0000 (02:14 +0000)]
[GTK][CMake] Unable to do make install
https://bugs.webkit.org/show_bug.cgi?id=130188

Reviewed by Carlos Garcia Campos.

Only try to install the HTML documentation if the build is configured to generate it via
the new ENABLE_GTKDOC option. We cannot conditionally install something, so this allows us
to keep the HTML documentation directory as an installation source.

* Source/PlatformGTK.cmake: The gtkdoc target now always builds HTML documentation, but
is only added to the default target when ENABLE_GTKDOC is turned on. gtkdoc-no-html is
now only added to the default target when DEVELOPER_MODE is true and ENABLE_GTKDOC is
false. When both ENABLE_GTKDOC and DEVELOPER_MODE are false, documentation isn't built at all.
* Source/cmake/OptionsGTK.cmake: Add an ENABLE_GTKDOC option to the build.

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

5 years ago[EFL][WK2] Move the ownership of EwkSettings from EwkView to EwkPageGroup
ryuan.choi@samsung.com [Sun, 11 May 2014 01:35:08 +0000 (01:35 +0000)]
[EFL][WK2] Move the ownership of EwkSettings from EwkView to EwkPageGroup
https://bugs.webkit.org/show_bug.cgi?id=132771

Reviewed by Gyuyoung Kim.

Moved ownership of EwkSettings from EwkView to EwkPageGroup.

* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
* UIProcess/API/efl/EwkView.h:
(EwkView::settings): Deleted.
* UIProcess/API/efl/ewk_page_group.cpp:
(EwkPageGroup::EwkPageGroup):
* UIProcess/API/efl/ewk_page_group_private.h:
(EwkPageGroup::settings):
* UIProcess/API/efl/ewk_settings_private.h:
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_settings_get):

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

5 years ago[iOS WebKit2] REGRESSION (r168493): Canvasmark 2013 benchmark always hits the RELEASE...
timothy_horton@apple.com [Sun, 11 May 2014 00:53:31 +0000 (00:53 +0000)]
[iOS WebKit2] REGRESSION (r168493): Canvasmark 2013 benchmark always hits the RELEASE_ASSERT in RemoteLayerTreeDrawingArea::flushLayers()
https://bugs.webkit.org/show_bug.cgi?id=132783
<rdar://problem/16877326>

Reviewed by Anders Carlsson.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::flush):
There's a race window between the BackingStoreFlusher sending the new
layer tree to the UI process and updating m_hasFlushed where we can
get a reply back in (on the Web process main thread) from the UI process
that we committed the new layer tree (didUpdate).
This will cause the RELEASE_ASSERT in flushLayers() to fire incorrectly.
Since the RELEASE_ASSERT is there only to avoid painting garbage, move
our code to set m_hasFlushed=true to after we finish calling CGContextFlush
on all of the contexts, instead of after we send the layer tree commit message,
which will remove the race entirely.

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

5 years agoASSERTION FAILED: !m_connection under RunJavaScriptAlert
andersca@apple.com [Sun, 11 May 2014 00:30:19 +0000 (00:30 +0000)]
ASSERTION FAILED: !m_connection under RunJavaScriptAlert
https://bugs.webkit.org/show_bug.cgi?id=132792
<rdar://problem/16691138>

Reviewed by Dan Bernstein.

Detect if someone implementing a UI delegate method with a completion handler never calls the completion
handler and raise an exception instead of asserting.

* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::CompletionHandlerCallChecker::create):
(WebKit::CompletionHandlerCallChecker::~CompletionHandlerCallChecker):
(WebKit::CompletionHandlerCallChecker::didCallCompletionHandler):
(WebKit::CompletionHandlerCallChecker::CompletionHandlerCallChecker):
(WebKit::CompletionHandlerCallChecker::classImplementingDelegateMethod):
(WebKit::UIDelegate::UIClient::runJavaScriptAlert):
(WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
(WebKit::UIDelegate::UIClient::runJavaScriptPrompt):

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

5 years agoMultiple svg-in-object-placeholder-height tests fail
ap@apple.com [Sun, 11 May 2014 00:09:04 +0000 (00:09 +0000)]
Multiple svg-in-object-placeholder-height tests fail
https://bugs.webkit.org/show_bug.cgi?id=132791

* TestExpectations: Skipped them, the tests take a long time before they fail.

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

5 years agoUnreviewed, rolling out r168578.
commit-queue@webkit.org [Sat, 10 May 2014 22:42:35 +0000 (22:42 +0000)]
Unreviewed, rolling out r168578.
https://bugs.webkit.org/show_bug.cgi?id=132789

Speculative rollout since this appears to break PLT3.
(Requested by kling on #webkit).

Reverted changeset:

"Move Source/WebCore/workers/ code to std::unique_ptr"
https://bugs.webkit.org/show_bug.cgi?id=132401
http://trac.webkit.org/changeset/168578

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

5 years agoUse xpc_connection_kill for killing child processes where appropriate
andersca@apple.com [Sat, 10 May 2014 22:41:17 +0000 (22:41 +0000)]
Use xpc_connection_kill for killing child processes where appropriate
https://bugs.webkit.org/show_bug.cgi?id=132788
<rdar://problem/16664185>

Reviewed by Sam Weinig.

* Platform/IPC/Connection.h:
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::kill):
* Platform/IPC/mac/XPCPtr.h:
(IPC::XPCPtr::operator bool):
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::terminate):

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

5 years agoWebKit2 is leaking an xpc_connection per web process it creates
andersca@apple.com [Sat, 10 May 2014 22:17:24 +0000 (22:17 +0000)]
WebKit2 is leaking an xpc_connection per web process it creates
https://bugs.webkit.org/show_bug.cgi?id=132785
<rdar://problem/14912160>

Reviewed by Sam Weinig.

Introduce an IPC::XPCPtr smart pointer class and use it for XPC connections inside Connection::Identifier and Connection itself.

Make sure we always adopt any connections that are created.

* DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
(DatabaseServiceInitializer):
* NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
(WebKit::NetworkServiceInitializerDelegate::NetworkServiceInitializerDelegate):
(NetworkServiceInitializer):
* Platform/IPC/Connection.h:
(IPC::Connection::Identifier::Identifier):
(IPC::Connection::xpcConnection):
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::platformInvalidate):
(IPC::Connection::platformInitialize):
(IPC::Connection::getAuditToken):
* Platform/IPC/mac/XPCPtr.h: Added.
(IPC::XPCPtr::XPCPtr):
(IPC::XPCPtr::~XPCPtr):
(IPC::XPCPtr::get):
(IPC::XPCPtr::operator!):
(IPC::XPCPtr::operator=):
(IPC::adoptXPC):
* PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
(WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
(PluginServiceInitializer):
* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
(WebKit::BootstrapMain):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
(WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
(WebKit::XPCServiceInitializer):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::hasEntitlement):
(WebKit::XPCServiceInitializerDelegate::isClientSandboxed):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
(WebKit::XPCServiceEventHandler):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler):
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::didFinishLaunchingProcess):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
(WebContentServiceInitializer):

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

5 years agoSimplify createDataAvailableSource
andersca@apple.com [Sat, 10 May 2014 20:51:20 +0000 (20:51 +0000)]
Simplify createDataAvailableSource
https://bugs.webkit.org/show_bug.cgi?id=132782
<rdar://problem/16815202>

Reviewed by Sam Weinig.

* Platform/IPC/mac/ConnectionMac.mm: Renamed from Source/WebKit2/Platform/IPC/mac/ConnectionMac.cpp.
Rename to make this Objective-C++ so we get the lambda-to-block conversion.

(IPC::createDataAvailableSource):
Make this a function template and just pass the function directly to dispatch_source_set_event_handler.

(IPC::Connection::open):
Use lambdas instead of WTF::bind, so we'll make sure the connection is kept alive.

* WebKit2.xcodeproj/project.pbxproj:
Update for ConnectionMac.cpp to ConnectionMac.mm rename.

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

5 years agoFollow-up fix.
andersca@apple.com [Sat, 10 May 2014 20:20:36 +0000 (20:20 +0000)]
Follow-up fix.

Reviewed by Darin Adler.

* UIProcess/API/Cocoa/WKNavigationResponse.h:
* UIProcess/API/Cocoa/WKNavigationResponse.mm:
(-[WKNavigationResponse isForMainFrame]):
Use a slightly better name.

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

5 years agoMake -[WKNavigationResponse frame] SPI and only expose -[WKNavigationResponse isMainF...
andersca@apple.com [Sat, 10 May 2014 20:11:35 +0000 (20:11 +0000)]
Make -[WKNavigationResponse frame] SPI and only expose -[WKNavigationResponse isMainFrame]
https://bugs.webkit.org/show_bug.cgi?id=132781
<rdar://problem/16868319>

Reviewed by Darin Adler.

* UIProcess/API/Cocoa/WKNavigationResponse.h:
* UIProcess/API/Cocoa/WKNavigationResponse.mm:
(-[WKNavigationResponse description]):
(-[WKNavigationResponse isMainFrameNavigation]):
(-[WKNavigationResponse _frame]):
(-[WKNavigationResponse frame]): Deleted.
(-[WKNavigationResponse setFrame:]): Deleted.
* UIProcess/API/Cocoa/WKNavigationResponseInternal.h:
* UIProcess/API/Cocoa/WKNavigationResponsePrivate.h: Added.
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
* WebKit2.xcodeproj/project.pbxproj:

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

5 years agoREGRESSION (r166853): fast/preloader/document-write.html is very flaky
darin@apple.com [Sat, 10 May 2014 19:50:34 +0000 (19:50 +0000)]
REGRESSION (r166853): fast/preloader/document-write.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=130942

Reviewed by Anders Carlsson.

Source/WebCore:
* style/StyleResolveTree.cpp:
(WebCore::Style::suspendMemoryCacheClientCalls): Use a RefPtr to the main
frame as a weak pointer to a Page that will work unless the page is destroyed.
The old code tried to do it with a RefPtr to a document, but as the FIXME
points out, that won't work if the document is disassociated with its frame.

LayoutTests:
* platform/mac/TestExpectations: Turned the test back on.

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

5 years agoBlock exceptions when trying to convert attributed strings to RTF and RTFD
andersca@apple.com [Sat, 10 May 2014 19:48:50 +0000 (19:48 +0000)]
Block exceptions when trying to convert attributed strings to RTF and RTFD
https://bugs.webkit.org/show_bug.cgi?id=132778
<rdar://problem/16675805>

Reviewed by Darin Adler.

When the iOS WebHTMLConverter was upstreamed, converting some attributed strings to RTF and RTFD
started throwing Objective-C exceptions (see <rdar://problem/16876920>).

In WebKit2, we now crash on unhandled exceptions so work around that crash by adding exception blocking macros.

* editing/ios/EditorIOS.mm:
(WebCore::dataInRTFDFormat):
(WebCore::dataInRTFFormat):
* editing/mac/EditorMac.mm:
(WebCore::dataInRTFDFormat):
(WebCore::dataInRTFFormat):

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

5 years agoMove Source/WebCore/workers/ code to std::unique_ptr
zandobersek@gmail.com [Sat, 10 May 2014 19:14:21 +0000 (19:14 +0000)]
Move Source/WebCore/workers/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=132401

Reviewed by Andreas Kling.

Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/workers (and related places)
with std::unique_ptr.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
* bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
* bindings/js/ScheduledAction.h:
* page/DOMTimer.cpp:
(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
(WebCore::DOMTimer::didStop):
* page/DOMTimer.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::setTimeout):
(WebCore::DOMWindow::setInterval):
* page/DOMWindow.h:
* workers/WorkerEventQueue.h:
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::setTimeout):
(WebCore::WorkerGlobalScope::setInterval):
* workers/WorkerGlobalScope.h:
(WebCore::WorkerGlobalScope::clearScript):
* workers/WorkerLoaderProxy.h:
* workers/WorkerMessagingProxy.h:
* workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::WorkerRunLoop):
* workers/WorkerRunLoop.h:
* workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
(WebCore::WorkerScriptLoader::createResourceRequest):
* workers/WorkerScriptLoader.h:
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::workerThread):
(WebCore::WorkerThreadStartupData::create): Deleted.
* workers/WorkerThread.h:

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

5 years ago-webkit-filter prevents rendering at retina scale
dino@apple.com [Sat, 10 May 2014 09:30:02 +0000 (09:30 +0000)]
-webkit-filter prevents rendering at retina scale
https://bugs.webkit.org/show_bug.cgi?id=93471

Reviewed by Dirk Schulze.

Source/WebCore:
Implement 2x support for filters that go through
the -webkit-filter property. This includes all
shorthand filters, and any referenced SVG-style filters
(as long as they use only the supported subset of
operations - basically the same as is exposed for
the shorthands).

Tests: fast/hidpi/filters-blur.html
       fast/hidpi/filters-hue-rotate.html
       fast/hidpi/filters-invert.html
       fast/hidpi/filters-multiple.html
       fast/hidpi/filters-reference.html
       fast/hidpi/filters-shadow.html

* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::getUnmultipliedImageData): Scale the source rectangle if the method was
called using LogicalCoordinates.
(WebCore::ImageBuffer::getPremultipliedImageData): Ditto.
(WebCore::ImageBuffer::putByteArray): Ditto.

* platform/graphics/filters/FEDropShadow.cpp:
(WebCore::FEDropShadow::platformApplySoftware): Make sure to scale the blur radius by the filter
resolution, and call the byte-array methods with the native coordinate system.
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::calculateUnscaledKernelSize): Fix typo.
(WebCore::FEGaussianBlur::platformApplySoftware): Scale the kernel and paint rectangles
by the filter scale.

* platform/graphics/filters/Filter.h:
(WebCore::Filter::Filter): Initialise the filter scale.
(WebCore::Filter::filterScale): New property which reflects the mapping between logical pixels
and device pixels.
(WebCore::Filter::setFilterScale):

* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::asImageBuffer): Make sure buffer creation takes scale into account.
(WebCore::FilterEffect::asUnmultipliedImage): Ditto.
(WebCore::FilterEffect::asPremultipliedImage): Ditto.
(WebCore::FilterEffect::copyImageBytes): Scale any incoming regions if they are talking about
device pixels rather than logical pixels.
(WebCore::FilterEffect::copyUnmultipliedImage): Ditto.
(WebCore::FilterEffect::copyPremultipliedImage): Ditto.
(WebCore::FilterEffect::createImageBufferResult): Take scale into account when creating byte array.
(WebCore::FilterEffect::createUnmultipliedImageResult): Ditto.
(WebCore::FilterEffect::createPremultipliedImageResult): Ditto.

* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::allocateBackingStoreIfNeeded): Pass filter scale into buffer creation.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer): Make sure to set the filter scale to
the device scale factor, and notice if we ever change scales.

LayoutTests:
New tests for filters at high resolutions. The image used
has a crosshatch at the pixel level, so any scale changes
are visible (such as going from 2x to 1x). All the actual
filters are no-ops so they can be compared to an element
without a filter in the -expected version.

* fast/hidpi/filters-blur-expected.html: Added.
* fast/hidpi/filters-blur.html: Added.
* fast/hidpi/filters-hue-rotate-expected.html: Added.
* fast/hidpi/filters-hue-rotate.html: Added.
* fast/hidpi/filters-invert-expected.html: Added.
* fast/hidpi/filters-invert.html: Added.
* fast/hidpi/filters-multiple-expected.html: Added.
* fast/hidpi/filters-multiple.html: Added.
* fast/hidpi/filters-reference-expected.html: Added.
* fast/hidpi/filters-reference.html: Added.
* fast/hidpi/filters-shadow-expected.html: Added.
* fast/hidpi/filters-shadow.html: Added.
* fast/hidpi/resources/color-grid.png: Added.
* fast/hidpi/resources/ensure-hidpi.js: Added.
(runTest):
(scaleFactorIsSet):
* platform/mac-wk2/TestExpectations: Skip some of these on WK2 Mac.
See webkit.org/b/132766.

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

5 years ago[MediaStream] Rename NavigatorMediaStream as NavigatorUserMedia.
commit-queue@webkit.org [Sat, 10 May 2014 07:30:12 +0000 (07:30 +0000)]
[MediaStream] Rename NavigatorMediaStream as NavigatorUserMedia.
https://bugs.webkit.org/show_bug.cgi?id=132734

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-05-10
Reviewed by Eric Carlson.

Spec: http://www.w3.org/TR/mediacapture-streams/#navigatorusermedia

This patch replaces 'NavigatorMediaStream' with 'NavigatorUserMedia'
throughout the code to be consistent with W3C specifications.
Test cases remain the same as 'Navigator' implies 'NavigatorUserMedia'.

* CMakeLists.txt: Compiles NavigatorUserMedia.cpp
* DerivedSources.make: Compiles NavigatorUserMedia.idl
* Modules/mediastream/NavigatorMediaStream.cpp: Removed.
* Modules/mediastream/NavigatorMediaStream.h: Removed.
* Modules/mediastream/NavigatorMediaStream.idl: Removed.
* Modules/mediastream/NavigatorUserMedia.cpp: Added.
(WebCore::NavigatorUserMedia::NavigatorUserMedia):
(WebCore::NavigatorUserMedia::~NavigatorUserMedia):
(WebCore::NavigatorUserMedia::webkitGetUserMedia):
* Modules/mediastream/NavigatorUserMedia.h: Added.
* Modules/mediastream/NavigatorUserMedia.idl: Added.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSNavigatorCustom.cpp:
(WebCore::JSNavigator::webkitGetUserMedia): NavigatorUserMedia
class is used instead of NavigatorMediaStream.

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

5 years agoSubpixel rendering: Empty rects should remain empty after integrally enclosing them.
zalan@apple.com [Sat, 10 May 2014 07:23:01 +0000 (07:23 +0000)]
Subpixel rendering: Empty rects should remain empty after integrally enclosing them.
https://bugs.webkit.org/show_bug.cgi?id=132753
<rdar://problem/16846801>

Reviewed by Simon Fraser.

This patch ensures that empty LayoutRects remain empty after converting to integral enclosing rect.
LayoutRects with fractional position get expanded even if they are empty. This makes rectangle
operations unreliable and can result in undesired side effects.

Source/WebCore:
No testable/covered by existing tests.

* platform/graphics/LayoutRect.cpp:
(WebCore::enclosingIntRect):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::integralEnclosingRectForSelection): Deleted.

LayoutTests:
1px -> 0px progressions.

* platform/mac-mountainlion/fast/forms/fieldset-align-expected.txt:
* platform/mac-mountainlion/fast/forms/textAreaLineHeight-expected.txt:
* platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
* platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
* platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
* platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
* platform/mac/fast/css/css1_forward_compatible_parsing-expected.txt:
* platform/mac/fast/css/first-line-text-decoration-expected.txt:
* platform/mac/fast/css/h1-in-section-elements-expected.txt:
* platform/mac/fast/css/word-space-extra-expected.txt:
* platform/mac/fast/encoding/utf-16-big-endian-expected.txt:
* platform/mac/fast/encoding/utf-16-little-endian-expected.txt:
* platform/mac/fast/forms/fieldset-align-expected.txt:
* platform/mac/fast/forms/textAreaLineHeight-expected.txt:
* platform/mac/fast/inline/continuation-outlines-expected.txt:
* platform/mac/fast/inline/continuation-outlines-with-layers-expected.txt:
* platform/mac/fast/inline/outline-continuations-expected.txt:
* platform/mac/fast/invalid/nestedh3s-expected.txt:
* platform/mac/fast/multicol/client-rects-expected.txt:
* platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
* platform/mac/fast/multicol/client-rects-spanners-expected.txt:
* platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
* platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
* platform/mac/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
* platform/mac/fast/multicol/span/span-margin-collapsing-expected.txt:
* platform/mac/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
* platform/mac/fast/table/014-expected.txt:
* platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.txt:
* platform/mac/mathml/presentation/mo-stretch-expected.txt:
* platform/mac/svg/custom/use-font-face-crash-expected.txt:
* platform/mac/svg/wicd/rightsizing-grid-expected.txt:
* platform/mac/tables/mozilla/bugs/bug113235-1-expected.txt:
* platform/mac/tables/mozilla/bugs/bug113235-2-expected.txt:
* platform/mac/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
* platform/mac/tables/mozilla/other/wa_table_tr_align-expected.txt:

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

5 years agoREGRESSION(CMAKE): [GTK] WebKit2 C API tests are not longer built in the same binary
carlosgc@webkit.org [Sat, 10 May 2014 07:17:00 +0000 (07:17 +0000)]
REGRESSION(CMAKE): [GTK] WebKit2 C API tests are not longer built in the same binary
https://bugs.webkit.org/show_bug.cgi?id=132685

Reviewed by Martin Robinson.

Use a single TestWebKit2 binary for all WebKit2 C API tests.

* TestWebKitAPI/PlatformGTK.cmake:

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

5 years ago[Cocoa] Remove a deprecated bundle form delegate method now that no one implements it
mitz@apple.com [Sat, 10 May 2014 06:48:51 +0000 (06:48 +0000)]
[Cocoa] Remove a deprecated bundle form delegate method now that no one implements it
https://bugs.webkit.org/show_bug.cgi?id=132769

Reviewed by Sam Weinig.

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):

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

5 years ago[iOS][WK2] Fix bugs exposed by r168556
benjamin@webkit.org [Sat, 10 May 2014 05:14:24 +0000 (05:14 +0000)]
[iOS][WK2] Fix bugs exposed by r168556
https://bugs.webkit.org/show_bug.cgi?id=132768

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-09
Reviewed by Ryosuke Niwa.

Fix two bugs exposed by r168556.
1) We were only changing the page scale factor when the scale was not adjusted by live
   resize. The idea was that the scale would either be the same (responsive content)
   or that it would be defined by the next viewContentRectUpdate.

   Now that we also send resize and scroll events, we must always update the scale since
   it affects some APIs observable from JavaScript (like scrolling bounds).

2) Internally, Page's scaleFactor is stored as a float and not double. The rounding error
   were causing us to send DynamicViewportUpdateChangedTarget() in cases were there is no change
   of target.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::withinEpsilon):
(WebKit::WebPage::dynamicViewportSizeUpdate):

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

5 years ago[EFL][WK2] Close icondatabase when EwkFaviconDatabase is destroyed
ryuan.choi@samsung.com [Sat, 10 May 2014 04:51:49 +0000 (04:51 +0000)]
[EFL][WK2] Close icondatabase when EwkFaviconDatabase is destroyed
https://bugs.webkit.org/show_bug.cgi?id=132767

Reviewed by Gyuyoung Kim.

IconDatabase should be closed explicitly.

* UIProcess/API/efl/ewk_favicon_database.cpp:
(EwkFaviconDatabase::~EwkFaviconDatabase):

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

5 years ago[fullscreen] cursor should auto-hide when over video
dino@apple.com [Sat, 10 May 2014 02:20:37 +0000 (02:20 +0000)]
[fullscreen] cursor should auto-hide when over video
https://bugs.webkit.org/show_bug.cgi?id=132758

Unreviewed followup based on test failure.

* css/fullscreen.css: Append the previous rule - video children of fullscreen elements.

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

5 years agoAnother build fix.
andersca@apple.com [Sat, 10 May 2014 02:18:19 +0000 (02:18 +0000)]
Another build fix.

* mac/MigrateHeadersToWebKit2.make:
Don't migrate the WKPreferences.h header, WebKit2 provides its own header.

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

5 years ago[iOS][WK2] Reset the scroll position on the first frame after didCommitLoad
benjamin@webkit.org [Sat, 10 May 2014 02:09:03 +0000 (02:09 +0000)]
[iOS][WK2] Reset the scroll position on the first frame after didCommitLoad
https://bugs.webkit.org/show_bug.cgi?id=132765

Reviewed by Tim Horton.

Since WebCore does not update our scroll view on load, we need to do that ourself.

In case where we need to restore the state from the history, RemoteLayerTreeDrawingAreaProxy
will always invoke the scrolling after didCommitLayerTree() (since r167916).
Consequently, it is now safe again to reset the scroll position ourself on the first frame.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLoadForMainFrame]):
(-[WKWebView _didCommitLayerTree:WebKit::]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _didCommitLoadForMainFrame]):

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

5 years agoUpdate availability macros
andersca@apple.com [Sat, 10 May 2014 01:49:25 +0000 (01:49 +0000)]
Update availability macros
https://bugs.webkit.org/show_bug.cgi?id=132763
<rdar://problem/15311800>

Reviewed by Dan Bernstein.

* Configurations/WebKit.xcconfig:
* Shared/API/Cocoa/WKBrowsingContextHandle.h:
* Shared/API/Cocoa/WKFoundation.h:
* Shared/API/Cocoa/_WKFrameHandle.h:
* Shared/API/Cocoa/_WKRemoteObjectInterface.h:
* Shared/API/Cocoa/_WKRemoteObjectRegistry.h:
* UIProcess/API/Cocoa/WKBackForwardList.h:
* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKBackForwardListPrivate.h:
* UIProcess/API/Cocoa/WKBrowsingContextController.h:
* UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
* UIProcess/API/Cocoa/WKConnection.h:
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKNavigation.h:
* UIProcess/API/Cocoa/WKNavigationAction.h:
(NS_ENUM):
* UIProcess/API/Cocoa/WKNavigationData.h:
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
(NS_ENUM):
* UIProcess/API/Cocoa/WKNavigationResponse.h:
* UIProcess/API/Cocoa/WKPreferences.h:
* UIProcess/API/Cocoa/WKProcessGroup.h:
* UIProcess/API/Cocoa/WKProcessPool.h:
* UIProcess/API/Cocoa/WKScriptMessage.h:
* UIProcess/API/Cocoa/WKScriptMessageHandler.h:
* UIProcess/API/Cocoa/WKTypeRefWrapper.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKUserContentController.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
(NS_OPTIONS):
(NS_ENUM):
* UIProcess/API/Cocoa/WKWindowFeatures.h:
* UIProcess/API/Cocoa/_WKActivatedElementInfo.h:
(NS_ENUM):
* UIProcess/API/Cocoa/_WKDownload.h:
* UIProcess/API/Cocoa/_WKElementAction.h:
(NS_ENUM):
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKScriptWorld.h:
* UIProcess/API/Cocoa/_WKThumbnailView.h:
* UIProcess/API/Cocoa/_WKVisitedLinkProvider.h:
* UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h:
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
* WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
* WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
* WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
* WebProcess/InjectedBundle/API/mac/WKDOMText.h:
* WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
* mac/rewrite-availability-macros.sh: Added.

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

5 years agoWeb Inspector: Allow Remote Inspector to entitlement check UIProcess through WebProcess
joepeck@webkit.org [Sat, 10 May 2014 01:30:13 +0000 (01:30 +0000)]
Web Inspector: Allow Remote Inspector to entitlement check UIProcess through WebProcess
https://bugs.webkit.org/show_bug.cgi?id=132409

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:
Proxy applications are applications which hold WebViews for other
applications. The WebProcess (Web Content Service) is a proxy application.
For legacy reasons we were supporting a scenario where proxy applications
could potentially host WebViews for more then one other application. That
was never the case for WebProcess and it is now a scenario we don't need
to worry about supporting.

With this change, a proxy application more naturally only holds WebViews
for a single parent / host application. The proxy process can set the
parent pid / audit_token data on the RemoteInspector singleton, and
that data will be sent on to webinspectord later on to be validated.
In the WebProcess<->UIProcess relationship that information is known
and set immediately. In the Legacy iOS case that information is set
soon after, but not immediately known at the point the WebView is created.

This allows us to simplify the RemoteInspectorDebuggable interface.
We no longer need a pid per-Debuggable.

* inspector/remote/RemoteInspector.h:
* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::RemoteInspector):
(Inspector::RemoteInspector::setParentProcessInformation):
(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::listingForDebuggable):
(Inspector::RemoteInspector::receivedProxyApplicationSetupMessage):
Handle new proxy application setup message, and provide an API
for a proxy application to set the parent process information.

* inspector/remote/RemoteInspectorConstants.h:
New setup and response message for proxy applications to pass
their parent / host application information to webinspectord.

* inspector/remote/RemoteInspectorDebuggable.cpp:
(Inspector::RemoteInspectorDebuggable::info):
* inspector/remote/RemoteInspectorDebuggable.h:
(Inspector::RemoteInspectorDebuggableInfo::RemoteInspectorDebuggableInfo):
(Inspector::RemoteInspectorDebuggableInfo::hasParentProcess): Deleted.
pid per debuggable is no longer needed.

Source/WebCore:
* inspector/InspectorClient.h:
(WebCore::InspectorClient::parentProcessIdentifier): Deleted.
* page/PageDebuggable.cpp:
(WebCore::PageDebuggable::parentProcessIdentifier): Deleted.
* page/PageDebuggable.h:
pid per debuggable is no longer needed.

Source/WebKit/mac:
Simplify the legacy iOS UIWebViewController case by passing on
the host process pid and audit_token.

* WebView/WebView.mm:
(-[WebView _setHostApplicationProcessIdentifier:auditToken:]):
(-[WebView setHostApplicationBundleId:name:]): Deleted.
(-[WebView hostApplicationBundleId]): Deleted.
(-[WebView hostApplicationName]): Deleted.
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]):
* WebView/WebViewPrivate.h:

Source/WebKit2:
* WebProcess/WebCoreSupport/WebInspectorClient.h:
* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::parentProcessIdentifier): Deleted.
pid per debuggable is no longer needed.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
Immediately pass the parent process pid and audit_token on
to the RemoteInspector singleton when the process is created
so that it can be sent to webinspectord.

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

5 years agoDYEBench should show 95th percentile right next to the mean with ±
rniwa@webkit.org [Sat, 10 May 2014 01:23:43 +0000 (01:23 +0000)]
DYEBench should show 95th percentile right next to the mean with ±
https://bugs.webkit.org/show_bug.cgi?id=132729

Reviewed by Darin Adler.

Before this patch, Full.html showed the 95th percentile delta for the arthemtic mean in a separate row
but this was confusing for some people. Show it right next to mean in the same row separated by ±.

* DoYouEvenBench/Full.html:

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

5 years agoREGRESSION (WebKit2): Tapping in search field at wikipedia.org doesn’t bring up the...
enrica@apple.com [Sat, 10 May 2014 01:11:27 +0000 (01:11 +0000)]
REGRESSION (WebKit2): Tapping in search field at wikipedia.org doesn’t bring up the keyboard.
https://bugs.webkit.org/show_bug.cgi?id=132761
<rdar://problem/16857491>

Reviewed by Benjamin Poulain.

The interactionAssistant accessor should never create an instance of
UIWKTextInteractionAssistant, but simply return the value of _textInteractionAssistant.
The text interaction assistant should only be created when needed so that the rest of
the code could reliably check if we are interacting with text or not.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView interactionAssistant]):

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

5 years agoFix some issues with scrolling tree logging
simon.fraser@apple.com [Sat, 10 May 2014 01:10:06 +0000 (01:10 +0000)]
Fix some issues with scrolling tree logging
https://bugs.webkit.org/show_bug.cgi?id=132762

Reviewed by Tim Horton.

Only dump viewport constraints when they change, and dump the primary layer on
scrolling nodes.

* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(WebKit::RemoteScrollingTreeTextStream::dump): Dump the primary layer.

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

5 years ago[fullscreen] cursor should auto-hide when over video
dino@apple.com [Sat, 10 May 2014 00:38:09 +0000 (00:38 +0000)]
[fullscreen] cursor should auto-hide when over video
https://bugs.webkit.org/show_bug.cgi?id=132758

Reviewed by Brent Fulgham.

Cursors were not auto-hiding over fullscreen video. There was
a small error in the CSS we load for fullscreen content.

* css/fullscreen.css: Don't hide when video is a child of the fullscreen element - hide when it *is* the fullscreen element.
(video:-webkit-full-screen):
(:-webkit-full-screen video:hover): Deleted.

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

5 years ago[iOS WK2] Fixed elements can go outside the document on pinching
simon.fraser@apple.com [Sat, 10 May 2014 00:11:26 +0000 (00:11 +0000)]
[iOS WK2] Fixed elements can go outside the document on pinching
https://bugs.webkit.org/show_bug.cgi?id=132759
<rdar://problem/16870835>

Reviewed by Benjamin Poulain.

Constrain the rect used to position fixed position objects when pinching (when
the scale goes below the minimumScale). Do so in such a way that there's a smooth
transition between rubber-banding and pinching.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateScrollViewBackground]): Use a nicer form for std::max<>.
(-[WKWebView _updateVisibleContentRects]): Pass the minimum scale.
* UIProcess/API/ios/WKViewIOS.mm:
(-[WKView _updateVisibleContentRects]): Ditto.
* UIProcess/ios/WKContentView.h:
* UIProcess/ios/WKContentView.mm:
(adjustedUnexposedEdge): Helper to adjust the left/top.
(adjustedUnexposedMaxEdge): Helper to adjust the right/bottom.
(fixedPositionRectFromExposedRect):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:minimumScale:inStableState:]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]): Deleted.

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

5 years agoSubpixel rendering[iOS]: Top bar on apple.com/support jiggles when the swoosh animates.
zalan@apple.com [Sat, 10 May 2014 00:08:28 +0000 (00:08 +0000)]
Subpixel rendering[iOS]: Top bar on apple.com/support jiggles when the swoosh animates.
https://bugs.webkit.org/show_bug.cgi?id=132750
<rdar://problem/16803281>

Reviewed by Simon Fraser.

This patch ensures that GraphicsLayer and RemoteLayerBackingStore have the same dimensions.

Remove integral enclosing when we set the size on RemoteLayerBackingStore. It makes the layer's size
different from the backingstore when the passed value is fractional.
We scale and integral round this value to size the shareable bitmap later. Rounding ensures that
the final size value matches what we calculated at GraphicsLayerCA::updateGeometry()

Currently not testable.

Source/WebCore:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::computePixelAlignment): include device scale factor to be able calculate the final content scale.
* platform/graphics/ca/GraphicsLayerCA.h:

Source/WebKit2:
* Shared/mac/RemoteLayerBackingStore.h:
(WebKit::RemoteLayerBackingStore::size):
* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::ensureBackingStore):
(WebKit::RemoteLayerBackingStore::setNeedsDisplay): use enclosing here to ensure we cover the entire backing store.
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::updateBackingStore):

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

5 years agoJSDOMWindow should disable property caching after a certain point
mhahnenberg@apple.com [Sat, 10 May 2014 00:06:51 +0000 (00:06 +0000)]
JSDOMWindow should disable property caching after a certain point
https://bugs.webkit.org/show_bug.cgi?id=132751

Reviewed by Filip Pizlo.

Source/JavaScriptCore:
This is part of removing HasImpureGetOwnPropertySlot from JSDOMWindow. After the lookup in the static
hash table for JSDOMWindow fails we want to disable property caching even if the code that follows thinks
that it has provided a cacheable value.

* runtime/PropertySlot.h:
(JSC::PropertySlot::PropertySlot):
(JSC::PropertySlot::isCacheable):
(JSC::PropertySlot::disableCaching):

Source/WebCore:
No new tests.

This is part of removing HasImpureGetOwnPropertySlot from JSDOMWindow. After the lookup in the static
hash table for JSDOMWindow fails we want to disable property caching even if the code that follows thinks
that it has provided a cacheable value.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):

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

5 years agoFix the export file after r168556
benjamin@webkit.org [Fri, 9 May 2014 23:13:34 +0000 (23:13 +0000)]
Fix the export file after r168556

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-09

* WebCore.exp.in: I forgot to fix the export file before landing.

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

5 years ago[iOS][WK2] Set up the resize events
benjamin@webkit.org [Fri, 9 May 2014 23:08:31 +0000 (23:08 +0000)]
[iOS][WK2] Set up the resize events
https://bugs.webkit.org/show_bug.cgi?id=132726

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-09
Reviewed by Darin Adler and Simon Fraser.

Source/WebCore:
Let the WebKit2 layer override the size used for resize events.

* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::sizeForResizeEvent):
(WebCore::FrameView::sendResizeEventIfNeeded):
(WebCore::FrameView::setCustomSizeForResizeEvent):
* page/FrameView.h:

Source/WebKit2:
Wire the UI Process updates to FrameView to send the resize events appropriately.

* Shared/VisibleContentRectUpdateInfo.cpp:
(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):
* Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::isChangingObscuredInsetsInteractively):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateVisibleContentRects]):
* UIProcess/ios/WKContentView.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:isChangingObscuredInsetsInteractively:]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]): Deleted.
Pass down the status of the content insets with the view update to main frame's FrameView
when needed.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):
On live resize, send the resize event, then the scroll events (if needed).

Since JavaScript now gets two chances to change the content (resize event + scroll event),
we query the actual scroll offset and scale for the DynamicViewportUpdateChangedTarget.

(WebKit::WebPage::viewportConfigurationChanged):
Define the custom size on load before the app gets a chance to send different rects.
If for some reason the app changes its mind about the insets, the content will be notified with a resize event.

(WebKit::WebPage::updateVisibleContentRects):
Send the resize event when the insets are stable.
Also move the scroll event after the resize event for consistency with live resize.

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

5 years ago[iOS] Switch geolocation to an explicit authorization query model
benjamin@webkit.org [Fri, 9 May 2014 21:25:39 +0000 (21:25 +0000)]
[iOS] Switch geolocation to an explicit authorization query model
https://bugs.webkit.org/show_bug.cgi?id=132717

Source/WebKit/ios:
<rdar://problem/16762390>

Reviewed by Sam Weinig.

WebGeolocationCoreLocationProvider is the general WebKit wrapper for CoreLocation.

The old model was to start WebGeolocationCoreLocationProvider and have the start fail or succeed.
The new model is to explicitely ask for authorization through "requestGeolocationAuthorization", and
listen to "geolocationAuthorizationGranted" and "geolocationAuthorizationDenied".

We assume the client of WebGeolocationCoreLocationProvider is well behaved and ask for authorization
before invoking "start".
If "start" is called and the authorization is not granted, we assume geolocation was reset since
the last time authorization was requested, and we reset the client.

WebGeolocationProviderIOS has been adapted to that model. Instead of doing the "warmup" sequence
to get the authorization, it queries WebGeolocationCoreLocationProvider explicitly.

* Misc/WebGeolocationCoreLocationProvider.h:
* Misc/WebGeolocationCoreLocationProvider.mm:
(-[WebGeolocationCoreLocationProvider createLocationManager]):
(-[WebGeolocationCoreLocationProvider dealloc]):
(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]):
(isAuthorizationGranted):
(-[WebGeolocationCoreLocationProvider start]):
(-[WebGeolocationCoreLocationProvider stop]):
(-[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:]):
(-[WebGeolocationCoreLocationProvider setEnableHighAccuracy:]):
(-[WebGeolocationCoreLocationProvider handleExternalAuthorizationStatusChange:]): Deleted.
* Misc/WebGeolocationProviderIOS.mm:
(-[WebGeolocationProviderIOS suspend]):
(-[WebGeolocationProviderIOS resume]):
(-[WebGeolocationProviderIOS registerWebView:]):
(-[WebGeolocationProviderIOS unregisterWebView:]):
(-[WebGeolocationProviderIOS setEnableHighAccuracy:]):
(-[WebGeolocationProviderIOS initializeGeolocationForWebView:listener:]):
(-[WebGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WebGeolocationProviderIOS geolocationAuthorizationDenied]):
(-[WebGeolocationProviderIOS stopTrackingWebView:]):
(-[WebGeolocationProviderIOS resetGeolocation]):
(-[_WebCoreLocationUpdateThreadingProxy geolocationAuthorizationGranted]):
(-[_WebCoreLocationUpdateThreadingProxy geolocationAuthorizationDenied]):
(-[_WebCoreLocationUpdateThreadingProxy positionChanged:WebCore::]):
(-[_WebCoreLocationUpdateThreadingProxy errorOccurred:]):
(-[_WebCoreLocationUpdateThreadingProxy resetGeolocation]):
(-[WebGeolocationProviderIOS _startCoreLocationDelegate]): Deleted.
(-[WebGeolocationProviderIOS _stopCoreLocationDelegateIfNeeded]): Deleted.
(-[WebGeolocationProviderIOS cancelWarmUpForWebView:]): Deleted.
(-[WebGeolocationProviderIOS geolocationDelegateStarted]): Deleted.
(-[WebGeolocationProviderIOS geolocationDelegateUnableToStart]): Deleted.
(-[_WebCoreLocationUpdateThreadingProxy geolocationDelegateStarted]): Deleted.
(-[_WebCoreLocationUpdateThreadingProxy geolocationDelegateUnableToStart]): Deleted.

Source/WebKit/mac:

Reviewed by Sam Weinig.

Since there is no warmup code, WebGeolocationPolicyListener no longer need to know about the provider,
which is awesome :)

* WebCoreSupport/WebGeolocationClient.mm:
(-[WebGeolocationPolicyListener initWithGeolocation:forWebView:]):
(-[WebGeolocationPolicyListener deny]):
(-[WebGeolocationProviderInitializationListener initializationAllowedWebView:]):
(-[WebGeolocationProviderInitializationListener initializationDeniedWebView:]):
(-[WebGeolocationPolicyListener initWithGeolocation:forWebView:provider:]): Deleted.
(-[WebGeolocationProviderInitializationListener initializationAllowedWebView:provider:]): Deleted.
(-[WebGeolocationProviderInitializationListener initializationDeniedWebView:provider:]): Deleted.
* WebView/WebViewPrivate.h:

Source/WebKit2:

Reviewed by Sam Weinig.

Switch WKGeolocationProviderIOS to use the new API of WebGeolocationCoreLocationProvider.

On WebKit2, the whole logic to track requesters is in WebGeolocationManagerProxy.

Without the warmup sequence, WKGeolocationProviderIOS becomes really dumb: it just provides
the two step authorization and forward the start/stop messages to the WebGeolocationCoreLocationProvider.

* UIProcess/ios/WKGeolocationProviderIOS.mm:
(-[WKGeolocationProviderIOS _stopUpdating]):
(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:window:]):
(-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WKGeolocationProviderIOS geolocationAuthorizationDenied]):
(-[WKWebAllowDenyPolicyListener initWithPermissionRequestProxy:]):
(-[WKWebAllowDenyPolicyListener deny]):
(-[WKGeolocationProviderIOS _stopUpdatingIfPossible]): Deleted.
(-[WKGeolocationProviderIOS geolocationDelegateStarted]): Deleted.
(-[WKGeolocationProviderIOS geolocationDelegateUnableToStart]): Deleted.
(-[WKGeolocationProviderIOS permissionDenied:]): Deleted.
(-[WKWebAllowDenyPolicyListener initWithProvider:permissionRequestProxy:]): Deleted.

Tools:

Reviewed by Sam Weinig.

* DumpRenderTree/mac/MockGeolocationProvider.mm:
(-[MockGeolocationProvider initializeGeolocationForWebView:listener:]):
(-[MockGeolocationProvider cancelWarmUpForWebView:]): Deleted.

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

5 years agoREGRESSION (r168518): Multiple tests for workers in blobs assert
ap@apple.com [Fri, 9 May 2014 21:24:01 +0000 (21:24 +0000)]
REGRESSION (r168518): Multiple tests for workers in blobs assert
https://bugs.webkit.org/show_bug.cgi?id=132728

Reviewed by Geoffrey Garen.

Source/WebCore:
Change File serialization to include name, so that we don't have to regenerate anything
on a secondary thread after deserialization.

Files and Blobs can't be stored persistently, because URLs are transient (IndexedDB
has an explicit check, and fails if there were any blob URLs). API doesn't have the
check, but given that anyone who tried to use these to serialize a File would fail,
it seems OK to change the format.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::readFile):
* fileapi/File.cpp:
(WebCore::File::File):
* fileapi/File.h:

LayoutTests:
* platform/mac/TestExpectations: Unskip the tests.

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

5 years agoExpose functions necessary for copying favicon between IconDatabases.
commit-queue@webkit.org [Fri, 9 May 2014 21:20:08 +0000 (21:20 +0000)]
Expose functions necessary for copying favicon between IconDatabases.
https://bugs.webkit.org/show_bug.cgi?id=132709

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2014-05-09
Reviewed by Brady Eidson.

* UIProcess/API/C/WKIconDatabase.cpp:
(WKIconDatabaseSetIconURLForPageURL):
Add C API wrapper for WebIconDatabase::setIconURLForPageURL().

(WKIconDatabaseCopyIconURLForPageURL):
Add C API wrapper for WebIconDatabase::synchronousIconURLForPageURL().

* UIProcess/API/C/WKIconDatabase.h:
Added declarations for wrapper functions above.

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

5 years agoFix the iOS DRT build by including CG headers in WKPreferences.h, which uses CGFloat.
timothy_horton@apple.com [Fri, 9 May 2014 21:01:28 +0000 (21:01 +0000)]
Fix the iOS DRT build by including CG headers in WKPreferences.h, which uses CGFloat.

* UIProcess/API/Cocoa/WKPreferences.h:

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

5 years ago{TelephoneNumber, Selection}ControllerMac implementations dosn't handle tiled drawing...
bfulgham@apple.com [Fri, 9 May 2014 20:57:57 +0000 (20:57 +0000)]
{TelephoneNumber, Selection}ControllerMac implementations dosn't handle tiled drawing properly.
https://bugs.webkit.org/show_bug.cgi?id=132746
<rdar://problem/16789588>

Reviewed by Tim Horton.

Don't try to draw the detector UI if no part of the selection bounds are inside
the current tile. Don't limit the detector UI to the bounds of this tile, or else
it will attempt to squeeze itself into the possibly small space available. Let it
draw as if it had the whole screen, and rely on the context clip region to
avoid overdrawing.

* WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:
(WebKit::TelephoneNumberOverlayController::drawRect): Correct tiled drawing behavior.
* WebProcess/WebPage/mac/SelectionOverlayControllerMac.mm:
(WebKit::SelectionOverlayController::drawRect): Ditto.

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

5 years agoProduction build fix.
andersca@apple.com [Fri, 9 May 2014 20:48:21 +0000 (20:48 +0000)]
Production build fix.

Reviewed by Dan Bernstein.

* Configurations/BaseTarget.xcconfig:
Add SDKROOT in front of UMBRELLA_FRAMEWORKS_DIR for OS X Production builds.

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

5 years ago8.8% spent in Object.prototype.hasOwnProperty() on sbperftest.
akling@apple.com [Fri, 9 May 2014 20:28:41 +0000 (20:28 +0000)]
8.8% spent in Object.prototype.hasOwnProperty() on sbperftest.
<https://webkit.org/b/132749>

Leverage the fast-resolve-to-AtomicString optimization for JSRopeString
in Object.prototype.* by using JSString::toIdentifier() in the cases where
we are converting JSString -> String -> Identifier.

This brings time spent in hasOwnProperty() from 8.8% to 1.3% on
"The Great HTML5 Gaming Performance Test: 2014 edition"
<http://www.scirra.com/demos/c2/sbperftest/>

Reviewed by Oliver Hunt.

* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):

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

5 years agoJSDOMWindow should have a WatchpointSet to fire on window close
mhahnenberg@apple.com [Fri, 9 May 2014 20:26:17 +0000 (20:26 +0000)]
JSDOMWindow should have a WatchpointSet to fire on window close
https://bugs.webkit.org/show_bug.cgi?id=132721

Reviewed by Filip Pizlo.

Source/JavaScriptCore:
This patch allows us to reset the inline caches that assumed they could skip
the first part of JSDOMWindow::getOwnPropertySlot that checks if the window has
been closed. This is part of getting rid of HasImpureGetOwnPropertySlot on JSDOMWindow.

PropertySlot now accepts a WatchpointSet which the inline cache code can look for
to see if it should create a new Watchpoint for that particular inline cache site.

* bytecode/Watchpoint.h:
* jit/Repatch.cpp:
(JSC::generateByIdStub):
(JSC::tryBuildGetByIDList):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):
* runtime/PropertySlot.h:
(JSC::PropertySlot::PropertySlot):
(JSC::PropertySlot::watchpointSet):
(JSC::PropertySlot::setWatchpointSet):

Source/WebCore:
No new tests.

This patch allows us to reset the inline caches that assumed they could skip
the first part of JSDOMWindow::getOwnPropertySlot that checks if the window has
been closed. This is part of getting rid of HasImpureGetOwnPropertySlot on JSDOMWindow.

JSDOMWindowBase now has a WatchpointSet that the underlying DOMWindow fires when its
frame is cleared. In getOwnPropertySlot, we now pass this WatchpointSet to PropertySlot
which will shepherd it back up to the code that generates the inline cache (and the
Watchpoint for clearing it).

* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::frameDestroyed):

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

5 years agocom.apple.iphonesimulator.startSession needs to pass "RuntimeIdentifier"
dfarler@apple.com [Fri, 9 May 2014 20:25:02 +0000 (20:25 +0000)]
com.apple.iphonesimulator.startSession needs to pass "RuntimeIdentifier"
https://bugs.webkit.org/show_bug.cgi?id=132718

Reviewed by David Kilzer.

The simulator may not be able to look up runtimes by SDK paths
and instead will map SDK versions to runtimes instead. In
com.apple.iphonesimulator.startSession notifications,
'runtimeIdentifier' (SDK version string) is preferred over
'sdkRoot' (SDK path) anyway. Include the 'runtimeIdentifier' key
when creating a new DRT or WKTR simulator session.

IPhoneSimulatorNotification.pm filters out keys for this
notification's userInfo with a hard-coded list. There's no harm
in including extra key-value pairs in an NSNotification userInfo
dictionary anyway and the simulator may again change its
userInfo schema for this notification.

* DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/lib/IPhoneSimulatorNotification.pm:
(postStartSessionNotification):
* Scripts/old-run-webkit-tests:
(installAndLaunchDumpToolAppUsingNotification):

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

5 years agoAnother build fix.
andersca@apple.com [Fri, 9 May 2014 20:16:41 +0000 (20:16 +0000)]
Another build fix.

* Scripts/build-webkit:
WebKit2 should always be built for OS X and iOS.

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

5 years agoFollow-up build fix.
andersca@apple.com [Fri, 9 May 2014 19:36:18 +0000 (19:36 +0000)]
Follow-up build fix.

* Scripts/build-webkit:
WebKit2 should no longer be built before WebKit.

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

5 years ago[iOS WebKit2] Flush RemoteLayerBackingStore contexts on a secondary queue
timothy_horton@apple.com [Fri, 9 May 2014 19:31:56 +0000 (19:31 +0000)]
[iOS WebKit2] Flush RemoteLayerBackingStore contexts on a secondary queue
https://bugs.webkit.org/show_bug.cgi?id=132667
<rdar://problem/15349483>

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create):
Address a missed review comment about a missing std::move.

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

5 years agoASSERTION FAILED: object->style()->overflowX() == object->style()->overflowY()
commit-queue@webkit.org [Fri, 9 May 2014 19:05:33 +0000 (19:05 +0000)]
ASSERTION FAILED: object->style()->overflowX() == object->style()->overflowY()
https://bugs.webkit.org/show_bug.cgi?id=121682

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-09
Reviewed by Dirk Schulze.

Source/WebCore:
Add more overflow freedom to the SVG element:
-overflow-x and overflow-y for controlling each scrollbar independently is now supported
-overflow:scroll will display scrollbars regardless of the svg overflowing or not (as required by CSS)
-overflow:hidden will cause overflow to be clipped away and scrollbars to be hidden

Merged from Blink r172126 by <ed@opera.com>

Tests: svg/W3C-SVG-1.1-SE/painting-marker-05-f.svg
       svg/W3C-SVG-1.1-SE/painting-marker-06-f.svg
       svg/animations/animate-viewport-overflow-2.html
       svg/animations/animate-viewport-overflow.html
       svg/in-html/overflow-repaint.html
       svg/in-html/overflow-svg-root-attr.html
       svg/in-html/overflow-svg-root-style.html
       svg/in-html/overflow-svg-root.html
       svg/overflow/overflow-on-outermost-svg-element-horizontal-auto.svg
       svg/overflow/overflow-on-outermost-svg-element-vertical-auto.svg
       svg/overflow/overflow-scroll-on-outermost-svg-element.svg
       svg/overflow/overflow-x-hidden-on-outermost-svg-element-expected.svg
       svg/overflow/overflow-x-hidden-on-outermost-svg-element.svg
       svg/overflow/overflow-y-hidden-on-outermost-svg-element-expected.svg
       svg/overflow/overflow-y-hidden-on-outermost-svg-element.svg

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* page/FrameView.cpp:
(WebCore::FrameView::applyOverflowToViewport):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::shouldApplyViewportClip):
(WebCore::RenderSVGRoot::paintReplaced):
(WebCore::RenderSVGRoot::computeFloatRectForRepaint):
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::isOverflowHidden):

LayoutTests:
Merge Blink r172126 by Erik Dahlström.

* platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt:
* platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png:
* platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt:
* platform/mac/svg/text/non-bmp-positioning-lists-expected.txt: Added.
* svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.png: Added.
* svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.txt: Added.
* svg/W3C-SVG-1.1-SE/painting-marker-05-f.svg: Added.
* svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.png: Added.
* svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.txt: Added.
* svg/W3C-SVG-1.1-SE/painting-marker-06-f.svg: Added.
* svg/animations/animate-viewport-overflow-2-expected.txt: Added.
* svg/animations/animate-viewport-overflow-2.html: Added.
* svg/animations/animate-viewport-overflow-expected.txt: Added.
* svg/animations/animate-viewport-overflow.html: Added.
* svg/in-html/overflow-repaint-expected.txt: Added.
* svg/in-html/overflow-repaint.html: Added.
* svg/in-html/overflow-svg-root-attr-expected.html: Added.
* svg/in-html/overflow-svg-root-attr.html: Added.
* svg/in-html/overflow-svg-root-expected.html: Added.
* svg/in-html/overflow-svg-root-style-expected.html: Added.
* svg/in-html/overflow-svg-root-style.html: Added.
* svg/in-html/overflow-svg-root.html: Added.
* svg/overflow/overflow-on-outermost-svg-element-horizontal-auto-expected.html: Added.
* svg/overflow/overflow-on-outermost-svg-element-horizontal-auto.svg: Added.
* svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.txt:
* svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png:
* svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt: Copied from LayoutTests/platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt.
* svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml:
* svg/overflow/overflow-on-outermost-svg-element-vertical-auto-expected.html: Added.
* svg/overflow/overflow-on-outermost-svg-element-vertical-auto.svg: Added.
* svg/overflow/overflow-scroll-on-outermost-svg-element-expected.txt: Added.
* svg/overflow/overflow-scroll-on-outermost-svg-element.svg: Added.
* svg/overflow/overflow-x-hidden-on-outermost-svg-element-expected.svg: Added.
* svg/overflow/overflow-x-hidden-on-outermost-svg-element.svg: Added.
* svg/overflow/overflow-y-hidden-on-outermost-svg-element-expected.svg: Added.
* svg/overflow/overflow-y-hidden-on-outermost-svg-element.svg: Added.

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

5 years agoREGRESSION (r168448): fast/multicol/newmulticol/first-letter-create.html is very...
ap@apple.com [Fri, 9 May 2014 18:47:47 +0000 (18:47 +0000)]
REGRESSION (r168448): fast/multicol/newmulticol/first-letter-create.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=132744

* TestExpectations: Marked as such.

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

5 years agoRename WebKit2.framework to WebKit.framework
andersca@apple.com [Fri, 9 May 2014 18:39:39 +0000 (18:39 +0000)]
Rename WebKit2.framework to WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=132743
<rdar://problem/15920046>

Reviewed by Dan Bernstein.

.:
* Source/Makefile:
Build WebKit.xcodeproj before WebKit2.xcodeproj.

* WebKit.xcworkspace/xcshareddata/xcschemes/:
Ditto.

Source/WebKit:
* WebKit.xcodeproj/project.pbxproj:
Remove the WebKit framework, it lives inside WebKit2 now.

Source/WebKit2:
* Configurations/BaseLegacyProcess.xcconfig:
Change INSTALL_PATH to WebKit.framework.

* Configurations/BaseTarget.xcconfig:
Change WEBKIT2_FRAMEWORKS_DIR to WEBKIT_FRAMEWORKS_DIR and add WEBKIT_LEGACY_PRIVATE_HEADERS_DIR.

* Configurations/BaseXPCService.xcconfig:
Change WebKit2.framework to WebKit.framework.

* Configurations/WebKit.xcconfig: Copied from Source/WebKit2/Configurations/WebKit2.xcconfig.
New configuration file for WebKit.framework. Re-export WebKitLegacy.framework.

* Configurations/WebKit2.xcconfig:
New configuration file for the WebKit2 shim framework. Re-export WebKit.framework.

* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist:
Update DYLD_INSERT_LIBRARIES to refer to WebKit.framework.

* PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
Update DYLD_INSERT_LIBRARIES to refer to WebKit.framework.

* Shared/API/Cocoa/WKBrowsingContextHandle.h:
* Shared/API/Cocoa/WKRenderingProgressEvents.h:
Update header imports.

* Shared/API/Cocoa/WebKit.h: Renamed from Source/WebKit/mac/WebKitLegacy/WebKit.h.
New umbrella header. Imports the modern WebKit API as well as the legacy API.

* Shared/API/Cocoa/WebKit.m: Renamed from Source/WebKit/mac/WebKitLegacy/WebKit.m.
Export install name symbols on iOS.

* Shared/API/Cocoa/WebKitPrivate.h: Renamed from Source/WebKit/mac/WebKitLegacy/WebKitPrivate.h.
New umbrella SPI header. Imports the modern WebKit SPI.

* Many headers:
Change WebKit2 includes to WebKit includes.

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
(WebKit::XPCServiceEventHandler):
Change bundle identifiers from com.apple.WebKit2 to com.apple.WebKit.

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler):
Change bundle identifier from com.apple.WebKit2 to com.apple.WebKit.

* UIProcess/API/Cocoa/WKPreferences.h:
Stop including WKPreferencesRef.h, we have a WebKit2 header that handles this workaround for us now.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::addDYLDEnvironmentAdditions):
(WebKit::connectToService):
(WebKit::createProcess):
(WebKit::ProcessLauncher::launchProcess):
Change bundle identifiers from com.apple.WebKit2 to com.apple.WebKit.

* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::createPropertyListFile):
Change bundle identifiers from com.apple.WebKit2 to com.apple.WebKit.

* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformDefaultDiskCacheDirectory):
Change bundle identifier from com.apple.WebKit2 to com.apple.WebKit.

* WebKit2.xcodeproj/project.pbxproj:
Copy the python message scripts to the WebKit2 framework.
Rename WebKit2.framework to WebKit.framework everywhere.
Add a new WebKit2 target that builds the shim WebKit2 framework.
Move the build script phase that migrates WebKitLegacy headers to WebKit.
Add a new build script phase that adds forwarding headers from WebKit2 to WebKit.

* WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:
Update DYLD_INSERT_LIBRARIES to refer to WebKit.framework.

* mac/MigrateHeadersFromWebKitLegacy.make: Renamed from Source/WebKit/mac/WebKitLegacy/MigrateHeadersFromWebKitLegacy.make.
Move the makefile that migrates WebKitLegacy headers here. On OS X, it copies the header contents and on iOS it creates forarding headers.

* mac/MigrateHeadersToWebKit2.make:
New makefile that creates forwarding headers for the WebKit2 shim framework.

* mac/WKPreferences.h: Added.
Add WebKit2/WKPreferences.h header that imports WebKit2/WKPreferencesref.h.

* mac/WebKit2.m:
Skeleton for the WebKit2 shim framework.

* mac/Info-WebKit2.plist: Added.
New Info.plist file for the WebKit2 shim framework.

Tools:
* Scripts/check-for-inappropriate-files-in-framework:
Use PRODUCT_NAME instead of PROJECT_NAME when matching frameworks.
Change WebKit2 to WebKit.

* Scripts/check-for-webkit-framework-include-consistency:
Change WebKit to WebKitLegacy.

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

5 years agoFix build warning (uninitialized variable) in DFGFixupPhase.cpp
commit-queue@webkit.org [Fri, 9 May 2014 18:20:39 +0000 (18:20 +0000)]
Fix build warning (uninitialized variable) in DFGFixupPhase.cpp
https://bugs.webkit.org/show_bug.cgi?id=132331

Patch by Tanay C <tanay.c@samsung.com> on 2014-05-09
Reviewed by Darin Adler.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::injectTypeConversionsForEdge):

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

5 years agoRemove GTK+ WK1 EWS from build.webkit.org/dashboard
rego@igalia.com [Fri, 9 May 2014 16:55:16 +0000 (16:55 +0000)]
Remove GTK+ WK1 EWS from build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=132732

Reviewed by Alexey Proskuryakov.

GTK+ WK1 EWS was removed in r166427, so it shouldn't appear in the dashboard.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js:
(EWS): Remove GTK+ WK1 EWS.

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