mmaxfield@apple.com [Thu, 9 Jan 2014 20:30:33 +0000 (20:30 +0000)]
Narrow underlines are too tall
https://bugs.webkit.org/show_bug.cgi?id=126708
Reviewed by Simon Fraser.
Source/WebCore:
I made a typo in r158392 and used was settings the line rect's
height equal to its width. No one noticed because of the subsequent
if statement.
Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-tall-underlines.html
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::computeLineBoundsAndAntialiasingModeForText):
LayoutTests:
This test clips to a region that should not be drawn in, then draws a scaled underline. It then compares
the output to an empty element.
* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-tall-underlines-expected.html: Added.
* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-tall-underlines.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161573
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Thu, 9 Jan 2014 20:22:06 +0000 (20:22 +0000)]
DocumentOrderedMap should use iterator
https://bugs.webkit.org/show_bug.cgi?id=126696
Reviewed by Andreas Kling.
* dom/DocumentOrderedMap.cpp:
(WebCore::keyMatchesId):
(WebCore::keyMatchesName):
(WebCore::keyMatchesMapName):
(WebCore::keyMatchesLowercasedMapName):
(WebCore::keyMatchesLowercasedUsemap):
(WebCore::keyMatchesLabelForAttribute):
(WebCore::keyMatchesWindowNamedItem):
(WebCore::keyMatchesDocumentNamedItem):
Switch to Element references.
(WebCore::DocumentOrderedMap::add):
(WebCore::DocumentOrderedMap::remove):
(WebCore::DocumentOrderedMap::get):
(WebCore::DocumentOrderedMap::getAllElementsById):
Use element iterator instead of ElementTraversal.
* dom/DocumentOrderedMap.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161572
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Thu, 9 Jan 2014 20:20:28 +0000 (20:20 +0000)]
WebKit2 View Gestures: Support plugins that take over the page scale gesture
https://bugs.webkit.org/show_bug.cgi?id=126399
<rdar://problem/
15738928>
Reviewed by Sam Weinig.
Teach ViewGestureController how to handle WebFrame::handlesPageScaleGesture=true,
which is used so that PDFPlugin can deal with magnification itself.
* UIProcess/mac/ViewGestureController.cpp:
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::didCollectGeometryForMagnificationGesture):
(WebKit::ViewGestureController::handleMagnificationGesture):
(WebKit::ViewGestureController::endMagnificationGesture):
(WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
If the WebFrame is going to handle the page scale gesture itself (which currently
simply means that it is a main-frame PDFPlugin), send the magnification information
straight through to it. Also, don't provide smart-zoom in this case, since there
is currently no way to collect geometry information from the plugin.
* UIProcess/mac/ViewGestureController.h:
* UIProcess/mac/ViewGestureController.messages.in:
* WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):
(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
Retrieve WebFrame::handlesPageScaleGesture and return it to the UI process.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161571
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Thu, 9 Jan 2014 20:20:26 +0000 (20:20 +0000)]
Margin tiles are not repainted when background color changes
https://bugs.webkit.org/show_bug.cgi?id=126541
-and corresponding-
<rdar://problem/
15578131>
Reviewed by Simon Fraser.
This patch adds an optional parameter to GraphicsLayer::setNeedsDisplayInRect,
RenderLayerBacking::setContentsNeedDisplay(), and
RenderLayer::setBackingNeedsRepaint() that is used to determine whether or not to
clip the invalidation rect to the size of the layer. Then whenever the margin
needs to be repainted, we can call setNeedsDisplayInRect() with a rect that
includes the margin, and also indicate that it should not be clipped.
GraphicsLayer now takes an optional parameter which is an enum called
ShouldClipToLayer.
* WebCore.exp.in:
* platform/graphics/GraphicsLayer.h:
* platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
(WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
* platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setNeedsDisplayInRect):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setNeedsDisplayInRect):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
Make TileController::bounds() a virtual function, and declare it on TiledBacking
so that we can call it from RenderLayerBacking.
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/mac/TileController.h:
RenderLayer also now takes an optional parameter which is an enum called
ShouldClipToLayer.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
If the margin needs to be repainted, call GraphicsLayer::setNeedsDisplayInRect
with a big enough rect and a ShouldClipToLayer value of DoNotClipToLayer.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::setContentsNeedDisplay):
* rendering/RenderLayerBacking.h:
Whenever all of the root contents need to be repainted the margin will also need
to be repainted, so call setBackingNeedsRepaint() with the new parameter
indicating the the invalidation should NOT be clipped to the layer size.
* rendering/RenderView.cpp:
(WebCore::RenderView::repaintRootContents):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161570
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
betravis@adobe.com [Thu, 9 Jan 2014 20:16:23 +0000 (20:16 +0000)]
[CSS Shapes] Factor the ReferenceBox type out of BasicShapes
https://bugs.webkit.org/show_bug.cgi?id=126648
Reviewed by Dirk Schulze.
Moving ReferenceBox out of BasicShapes and into RenderStyleConstants
as the LayoutBox enum. Most of the changes are removing the BasicShape
namespace.
Refactoring, no new tests.
* css/BasicShapeFunctions.cpp:
(WebCore::valueForBox):
(WebCore::boxForValue):
(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):
* css/BasicShapeFunctions.h:
* css/CSSBasicShapes.cpp:
(WebCore::CSSBasicShapeRectangle::cssText):
(WebCore::CSSBasicShapeRectangle::equals):
(WebCore::CSSBasicShapeCircle::cssText):
(WebCore::CSSBasicShapeCircle::equals):
(WebCore::CSSDeprecatedBasicShapeCircle::cssText):
(WebCore::CSSDeprecatedBasicShapeCircle::equals):
(WebCore::CSSBasicShapeEllipse::cssText):
(WebCore::CSSBasicShapeEllipse::equals):
(WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
(WebCore::CSSDeprecatedBasicShapeEllipse::equals):
(WebCore::CSSBasicShapePolygon::cssText):
(WebCore::CSSBasicShapePolygon::equals):
(WebCore::CSSBasicShapeInsetRectangle::cssText):
(WebCore::CSSBasicShapeInsetRectangle::equals):
(WebCore::CSSBasicShapeInset::cssText):
* css/CSSBasicShapes.h:
(WebCore::CSSBasicShape::layoutBox):
(WebCore::CSSBasicShape::setLayoutBox):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseShapeProperty):
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyClipPath::applyValue):
(WebCore::ApplyPropertyShape::applyValue):
* rendering/ClipPathOperation.h:
(WebCore::ShapeClipPathOperation::setReferenceBox):
(WebCore::ShapeClipPathOperation::referenceBox):
(WebCore::ShapeClipPathOperation::ShapeClipPathOperation):
(WebCore::BoxClipPathOperation::create):
(WebCore::BoxClipPathOperation::referenceBox):
(WebCore::BoxClipPathOperation::BoxClipPathOperation):
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createLayoutBoxShape):
* rendering/shapes/Shape.h:
* rendering/shapes/ShapeInfo.cpp:
(WebCore::ShapeInfo<RenderType>::computedShape):
* rendering/shapes/ShapeInfo.h:
(WebCore::ShapeInfo::setShapeSize):
(WebCore::ShapeInfo::logicalTopOffset):
(WebCore::ShapeInfo::logicalLeftOffset):
* rendering/shapes/ShapeInsideInfo.h:
* rendering/shapes/ShapeOutsideInfo.h:
* rendering/style/BasicShapes.cpp:
(WebCore::BasicShape::canBlend):
(WebCore::BasicShape::referenceBoxSize):
* rendering/style/BasicShapes.h:
(WebCore::BasicShape::layoutBox):
(WebCore::BasicShape::setLayoutBox):
(WebCore::BasicShape::BasicShape):
* rendering/style/RenderStyleConstants.h:
* rendering/style/ShapeValue.h:
(WebCore::ShapeValue::createLayoutBoxValue):
(WebCore::ShapeValue::layoutBox):
(WebCore::ShapeValue::ShapeValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161569
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Thu, 9 Jan 2014 20:14:32 +0000 (20:14 +0000)]
PDFDocumentImage can be very slow to do the initial paint
https://bugs.webkit.org/show_bug.cgi?id=126633
<rdar://problem/
15770980>
Reviewed by Simon Fraser.
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::PDFDocumentImage):
(WebCore::PDFDocumentImage::size):
(WebCore::transformContextForPainting):
(WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
(WebCore::applyRotationForPainting):
(WebCore::PDFDocumentImage::drawPDFPage):
* platform/graphics/cg/PDFDocumentImage.h:
* platform/graphics/mac/PDFDocumentImageMac.mm:
(WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
Store rotation from the PDF in degrees, since it can
only be 0, 90, 180, or 270, and don't do any trig to
perform the rotation, to avoid introducing minor rounding
issues in the size.
Once we're going to paint, if the difference between the
computed scale for each axis is due only to integer rounding
of the image size, use the same scale for both axes, to avoid
a CG slow-path which occurs whenever the scale is nonuniform.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161568
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Thu, 9 Jan 2014 20:09:53 +0000 (20:09 +0000)]
Disconnect child frames iteratively
https://bugs.webkit.org/show_bug.cgi?id=126700
Reviewed by Andreas Kling.
Use descendant iterator instead of recursion for traversal.
* dom/ContainerNode.cpp:
(WebCore::willRemoveChild):
(WebCore::willRemoveChildren):
(WebCore::ContainerNode::disconnectDescendantFrames):
* dom/ContainerNodeAlgorithms.cpp:
(WebCore::assertConnectedSubrameCountIsConsistent):
(WebCore::collectFrameOwners):
(WebCore::disconnectSubframes):
Get rid of the strange ChildFrameDisconnector class in favor of a function.
* dom/ContainerNodeAlgorithms.h:
(WebCore::disconnectSubframesIfNeeded):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161567
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 9 Jan 2014 19:38:41 +0000 (19:38 +0000)]
[Cocoa] Promote WKBackForwardList{,Item}.h to public
https://bugs.webkit.org/show_bug.cgi?id=126707
Reviewed by Sam Weinig.
Source/WebKit2:
* UIProcess/API/Cocoa/WKBackForwardList.h: Stopped including the C API header.
* UIProcess/API/Cocoa/WKBackForwardListItem.h: Ditto.
* WebKit2.xcodeproj/project.pbxproj: Made the headers public.
Tools:
* Scripts/check-for-webkit-framework-include-consistency: Account for stale private headers
left behind in the build products directory after a private header is made public.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161566
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Thu, 9 Jan 2014 19:25:23 +0000 (19:25 +0000)]
Unreviewed Windows build fix for r161563.
Remove reference to removed file.
* bindings/js/JSBindingsAllInOne.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161565
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Thu, 9 Jan 2014 19:14:55 +0000 (19:14 +0000)]
Constructors for Objective-C classes do not work properly with instanceof
https://bugs.webkit.org/show_bug.cgi?id=126670
Reviewed by Oliver Hunt.
This bug is due to the fact that the JS constructors created for Objective-C classes via the JSC
API inherit from JSCallbackObject, which overrides hasInstance with its own customHasInstance.
JSCallbackObject::customHasInstance only checks the JSClassRefs for hasInstance callbacks.
If it doesn't find any callbacks, it returns false.
This patch adds a hasInstance callback to constructors created for Objective-C wrapper classes.
* API/JSWrapperMap.mm:
(constructorHasInstance):
(constructorWithCustomBrand):
(allocateConstructorForCustomClass):
* API/tests/testapi.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161564
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Thu, 9 Jan 2014 19:00:48 +0000 (19:00 +0000)]
Web Inspector: Move InjectedScript classes into JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=126598
Source/JavaScriptCore:
Reviewed by Timothy Hatcher.
Part 1: Extract InspectorInstrumentationCookie class from InspectorInstrumentation.
Part 2: Move InjectedScriptSource and generation into JavaScriptCore.
Part 3: Update CodeGeneratorInspector to avoid inlining virtual destructors.
Part 4: Move all inspector scripts into JavaScriptCore and update generators.
Part 5: Move InjectedScript classes into JavaScriptCore
Part 6: Put it all together. Make WebCore use the JavaScriptCore InjectedScript files.
There are pieces of logic that WebCore wants to hook into in the InjectedScript
execution (e.g. for CommandLineAPIModule and InspectorInstrumentation). Create
hooks for those in a base class called InspectorEnvironment. For now, the
InspectorControllers (Page, JSGlobalObject, Worker) will be the InspectorEnvironments
and provide answers to its hooks.
* inspector/InspectorEnvironment.h: Added.
New hooks needed by WebCore in various places. Mostly stubbed in JavaScriptCore.
* inspector/InjectedScript.cpp: Renamed from Source/WebCore/inspector/InjectedScript.cpp.
* inspector/InjectedScript.h: Added.
* inspector/InjectedScriptBase.cpp: Renamed from Source/WebCore/inspector/InjectedScriptBase.cpp.
* inspector/InjectedScriptBase.h: Renamed from Source/WebCore/inspector/InjectedScriptBase.h.
* inspector/InjectedScriptModule.cpp: Renamed from Source/WebCore/inspector/InjectedScriptModule.cpp.
* inspector/InjectedScriptModule.h: Renamed from Source/WebCore/inspector/InjectedScriptModule.h.
Cleanup the style of these files (nullptr, formatting, whitespace, etc).
Use the InspectorEnvironments call/evaluate function for ScriptFunctionCalls and checking access
* inspector/InjectedScriptManager.cpp: Renamed from Source/WebCore/inspector/InjectedScriptManager.cpp.
* inspector/InjectedScriptManager.h: Renamed from Source/WebCore/inspector/InjectedScriptManager.h.
Take an InspectorEnvironment with multiple hooks, instead of a single hook function.
* inspector/InjectedScriptHost.cpp: Added.
* inspector/InjectedScriptHost.h: Added.
* inspector/JSInjectedScriptHost.cpp: Renamed from Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp.
* inspector/JSInjectedScriptHost.h: Added.
* inspector/JSInjectedScriptHostPrototype.cpp: Added.
* inspector/JSInjectedScriptHostPrototype.h: Added.
Implementation of InjectedScriptHost which is passed into the script (InjectedScriptSource.js)
that we inject into the page. This is mostly copied from the original autogenerated code,
then simplified and cleaned up. InjectedScriptHost can be subclasses to provide specialized
implementations of isHTMLAllCollection and type for Web/DOM types unknown to a pure JS context.
For OS X be sure to export the scripts as if they are private headers.
* GNUmakefile.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* inspector/scripts/cssmin.py: Renamed from Source/WebCore/inspector/Scripts/cssmin.py.
* inspector/scripts/inline-and-minify-stylesheets-and-scripts.py: Renamed from Source/WebCore/inspector/Scripts/inline-and-minify-stylesheets-and-scripts.py.
* inspector/scripts/jsmin.py: Renamed from Source/WebCore/inspector/Scripts/jsmin.py.
* inspector/scripts/xxd.pl: Renamed from Source/WebCore/inspector/xxd.pl.
This avoids build errors about duplicate exported virtual inlined methods
are included from multiple places. Just put empty destructors in the
implementation file instead of inlined.
* inspector/scripts/CodeGeneratorInspector.py:
(Generator):
(Generator.go):
* inspector/scripts/CodeGeneratorInspectorStrings.py:
Move InjectedScriptSource.js and derived sources generation.
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* inspector/InjectedScriptSource.js: Renamed from Source/WebCore/inspector/InjectedScriptSource.js.
Source/WebCore:
Reviewed by Timothy Hatcher.
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.list.am:
* UseJSC.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
Remove old InjectedScript files.
* ForwardingHeaders/inspector/InjectedScript.h: Added.
* ForwardingHeaders/inspector/InjectedScriptBase.h: Added.
* ForwardingHeaders/inspector/InjectedScriptHost.h: Added.
* ForwardingHeaders/inspector/InjectedScriptManager.h: Added.
* ForwardingHeaders/inspector/InjectedScriptModule.h: Added.
* ForwardingHeaders/inspector/InspectorEnvironment.h: Added.
Expose headers to WebCore.
* inspector/InspectorController.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::developerExtrasEnabled):
(WebCore::InspectorController::canAccessInspectedScriptState):
(WebCore::InspectorController::functionCallHandler):
(WebCore::InspectorController::evaluateHandler):
(WebCore::InspectorController::willCallInjectedScriptFunction):
(WebCore::InspectorController::didCallInjectedScriptFunction):
* inspector/WorkerInspectorController.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
(WebCore::WorkerInspectorController::functionCallHandler):
(WebCore::WorkerInspectorController::evaluateHandler):
(WebCore::WorkerInspectorController::willCallInjectedScriptFunction):
(WebCore::WorkerInspectorController::didCallInjectedScriptFunction):
Make both InspectorControllers in WebCore be InspectorEnvironments.
* bindings/js/JSMainThreadExecState.h:
* bindings/js/JSMainThreadExecState.cpp:
(WebCore::evaluateHandlerFromAnyThread):
Make JSC::evaluate wrapper like the existing JSC::call wrapper.
These will be the ScriptFunctionCall implementations when debugging
a WebCore::Page or worker, instead of the pure JSC versions.
* inspector/PageInjectedScriptHost.h: Copied from Source/WebCore/inspector/CommandLineAPIModule.h.
* inspector/PageInjectedScriptHost.cpp: Copied from Source/WebCore/inspector/PageInjectedScriptManager.cpp.
(WebCore::PageInjectedScriptHost::type):
(WebCore::PageInjectedScriptHost::isHTMLAllCollection):
WebCore InjectedScriptHost implementation for DOM type handling.
* inspector/PageInjectedScriptManager.h:
* inspector/PageInjectedScriptManager.cpp:
(WebCore::PageInjectedScriptManager::PageInjectedScriptManager):
(WebCore::PageInjectedScriptManager::discardInjectedScriptsFor):
WebCore InjectedScriptManager implementation for CommandLineAPI and
specialized DOMWindow injected script management.
* bindings/js/JSBindingsAllInOne.cpp:
* inspector/CommandLineAPIHost.cpp:
* inspector/CommandLineAPIHost.h:
* inspector/CommandLineAPIModule.cpp:
(WebCore::CommandLineAPIModule::host):
* inspector/CommandLineAPIModule.h:
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToFrontend):
* inspector/ConsoleMessage.h:
* inspector/InjectedScriptCanvasModule.cpp:
(WebCore::InjectedScriptCanvasModule::InjectedScriptCanvasModule):
* inspector/InjectedScriptCanvasModule.h:
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorCanvasAgent.cpp:
* inspector/InspectorCanvasAgent.h:
(WebCore::InspectorCanvasAgent::create):
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorDOMAgent.h:
(WebCore::InspectorDOMAgent::create):
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorDebuggerAgent.h:
(WebCore::InspectorDebuggerAgent::injectedScriptManager):
* inspector/InspectorHeapProfilerAgent.cpp:
(WebCore::InspectorHeapProfilerAgent::create):
(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorIndexedDBAgent.cpp:
* inspector/InspectorIndexedDBAgent.h:
(WebCore::InspectorIndexedDBAgent::create):
* inspector/InspectorPageAgent.cpp:
* inspector/InspectorPageAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::PageProfilerAgent::PageProfilerAgent):
(WebCore::InspectorProfilerAgent::create):
(WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorRuntimeAgent.cpp:
* inspector/InspectorRuntimeAgent.h:
(WebCore::InspectorRuntimeAgent::injectedScriptManager):
* inspector/PageConsoleAgent.cpp:
(WebCore::PageConsoleAgent::PageConsoleAgent):
* inspector/PageConsoleAgent.h:
(WebCore::PageConsoleAgent::create):
* inspector/PageDebuggerAgent.cpp:
* inspector/PageDebuggerAgent.h:
* inspector/PageRuntimeAgent.cpp:
* inspector/PageRuntimeAgent.h:
(WebCore::PageRuntimeAgent::create):
* inspector/WorkerConsoleAgent.cpp:
(WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
* inspector/WorkerConsoleAgent.h:
(WebCore::WorkerConsoleAgent::create):
* inspector/WorkerDebuggerAgent.cpp:
* inspector/WorkerDebuggerAgent.h:
* inspector/WorkerRuntimeAgent.cpp:
* inspector/WorkerRuntimeAgent.h:
(WebCore::WorkerRuntimeAgent::create):
Switch to using the Inspector namespace and JSC InjectedScript files.
* bindings/js/JSInjectedScriptManager.cpp: Removed.
* inspector/InjectedScript.h: Removed.
* inspector/InjectedScriptHost.cpp: Removed.
* inspector/InjectedScriptHost.h: Removed.
* inspector/InjectedScriptHost.idl: Removed.
With the updated location switch to using the appropriate INSPECTOR_SCRIPTS_DIR
variable which defines where the scripts are.
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
Currently InjectedScriptBase uses InspectorInstrumentation directly
to track calling into JavaScript for timeline purposes. We will remove
the direct call from InjectedScriptBase and extracting the Cookie class
will make that easier.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/InspectorInstrumentationCookie.cpp: Added.
(WebCore::InspectorInstrumentationCookie::InspectorInstrumentationCookie):
(WebCore::InspectorInstrumentationCookie::operator=):
(WebCore::InspectorInstrumentationCookie::~InspectorInstrumentationCookie):
* inspector/InspectorInstrumentationCookie.h: Added.
(WebCore::InspectorInstrumentationCookie::isValid):
(WebCore::InspectorInstrumentationCookie::instrumentingAgents):
(WebCore::InspectorInstrumentationCookie::hasMatchingTimelineAgentId):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161563
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jan 2014 18:46:20 +0000 (18:46 +0000)]
Regression: failing RegExp tests on 32 bit architectures.
https://bugs.webkit.org/show_bug.cgi?id=126699
Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2014-01-09
Reviewed by Michael Saboff.
Fix setRegExpConstructor functions for 32 bit architectures.
* runtime/RegExpConstructor.cpp:
(JSC::setRegExpConstructorInput):
(JSC::setRegExpConstructorMultiline):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161562
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Thu, 9 Jan 2014 18:34:57 +0000 (18:34 +0000)]
Revert back to using the -n option when producing symbolic links to the GTK-specific
API directories under Source/WebKit2/. Removing the option in r161497 resulted in
recursive links being created under those directories since the links were dereferenced.
To actually ensure that the link is created anew, remove it so it is reconstructed.
Rubber-stamped by Carlos Garcia Campos.
* GNUmakefile.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161561
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 9 Jan 2014 18:31:03 +0000 (18:31 +0000)]
REGRESSION (r161429?): Frequent crashes on media/track/media-element-enqueue-event-crash.html
https://bugs.webkit.org/show_bug.cgi?id=117756
* platform/mac/TestExpectations: Skipping the test, it crashes very frequently.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161560
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 9 Jan 2014 17:55:39 +0000 (17:55 +0000)]
Crash when starting a download before the network process has been launched
https://bugs.webkit.org/show_bug.cgi?id=126258
Reviewed by Anders Carlsson.
We need to ensure there's a network process running before
starting a new download like we do when using the web process.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::download): Use ChildProcessProxy::send()
instead of using the connection to make sure messages are queued
if the process is still launching.
(WebKit::WebContext::createDownloadProxy): Call
ensureNetworkProcess() before creating the download proxy.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161559
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jan 2014 17:23:48 +0000 (17:23 +0000)]
Cannot select multiple non-adjacent items in a multiple select control with the keyboard only
https://bugs.webkit.org/show_bug.cgi?id=15816
Patch by Pascal Jacquemart <p.jacquemart@samsung.com> on 2014-01-09
Reviewed by Chris Fleizach.
Source/WebCore:
Test: fast/forms/listbox-non-contiguous-keyboard-selection.html
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::HTMLSelectElement):
New member m_allowsNonContiguousSelection defaults to false
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
Tracking CTRL modifier to start multiple non contiguous selection
* html/HTMLSelectElement.h: New member m_allowsNonContiguousSelection
(WebCore::HTMLSelectElement::allowsNonContiguousSelection): New getter
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::addFocusRingRects):
Following implementation made for spatial navigation
LayoutTests:
* fast/forms/listbox-non-contiguous-keyboard-selection-expected.txt: Added.
* fast/forms/listbox-non-contiguous-keyboard-selection.html: Added.
* platform/mac/TestExpectations:
Multiple non contiguous selection with keyboard not enabled on Mac
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161558
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jan 2014 17:21:02 +0000 (17:21 +0000)]
Unreviewed, rolling out r161540.
http://trac.webkit.org/changeset/161540
https://bugs.webkit.org/show_bug.cgi?id=126704
Caused assertion failures on multiple tests (Requested by ap
on #webkit).
Source/JavaScriptCore:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::visitAggregate):
* bytecode/CodeBlock.h:
(JSC::CodeBlockSet::mark):
* dfg/DFGOperations.cpp:
* heap/CodeBlockSet.cpp:
(JSC::CodeBlockSet::add):
(JSC::CodeBlockSet::traceMarked):
* heap/CodeBlockSet.h:
* heap/CopiedBlockInlines.h:
(JSC::CopiedBlock::reportLiveBytes):
* heap/CopiedSpace.cpp:
* heap/CopiedSpace.h:
* heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::didAbandon):
(JSC::Heap::markRoots):
(JSC::Heap::copyBackingStores):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::collect):
(JSC::Heap::didAllocate):
* heap/Heap.h:
(JSC::Heap::shouldCollect):
(JSC::Heap::isCollecting):
(JSC::Heap::isWriteBarrierEnabled):
(JSC::Heap::writeBarrier):
* heap/HeapOperation.h:
* heap/MarkStack.cpp:
(JSC::MarkStackArray::~MarkStackArray):
* heap/MarkStack.h:
* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::isPagedOut):
(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::addBlock):
(JSC::MarkedAllocator::removeBlock):
* heap/MarkedAllocator.h:
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::reset):
* heap/MarkedBlock.cpp:
* heap/MarkedBlock.h:
(JSC::MarkedBlock::lastChanceToFinalize):
(JSC::MarkedBlock::didConsumeEmptyFreeList):
(JSC::MarkedBlock::clearMarks):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::~MarkedSpace):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::visitWeakSets):
(JSC::MarkedSpace::reapWeakSets):
* heap/MarkedSpace.h:
(JSC::ClearMarks::operator()):
(JSC::MarkedSpace::clearMarks):
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::~SlotVisitor):
* heap/SlotVisitor.h:
(JSC::SlotVisitor::sharedData):
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::internalAppend):
(JSC::SlotVisitor::copyLater):
(JSC::SlotVisitor::reportExtraMemoryUsage):
* jit/Repatch.cpp:
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren):
* runtime/JSPropertyNameIterator.h:
(JSC::StructureRareData::setEnumerationCache):
* runtime/JSString.cpp:
(JSC::JSString::visitChildren):
* runtime/StructureRareDataInlines.h:
(JSC::StructureRareData::setPreviousID):
(JSC::StructureRareData::setObjectToStringValue):
* runtime/WeakMapData.cpp:
(JSC::WeakMapData::visitChildren):
Source/WTF:
* wtf/Bitmap.h:
(WTF::WordType>::count):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161557
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
seokju@webkit.org [Thu, 9 Jan 2014 17:19:34 +0000 (17:19 +0000)]
Web Inspector: Remove unused overriding protocols.
https://bugs.webkit.org/show_bug.cgi?id=126630
Reviewed by Timothy Hatcher.
Source/WebCore:
No new tests, No change in behavior.
Remove unused overriding protocols as these are not used anymore in Frontned.
-Page.setGeolocationOverride
-Page.clearGeolocationOverride
-Page.canOverrideGeolocation
-Page.setDeviceOrientationOverride
-Page.clearDeviceOrientationOverride
-Page.canOverrideGeolocation
-Network.setUserAgentOverride
* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::GeolocationController):
(WebCore::GeolocationController::create):
(WebCore::GeolocationController::positionChanged):
(WebCore::provideGeolocationTo):
* Modules/geolocation/GeolocationController.h:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::DeviceOrientationController):
(WebCore::DeviceOrientationController::create):
(WebCore::DeviceOrientationController::didChangeDeviceOrientation):
(WebCore::provideDeviceOrientationTo):
* dom/DeviceOrientationController.h:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent):
* inspector/InspectorPageAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::disable):
* inspector/InspectorResourceAgent.h:
* inspector/protocol/Network.json:
* inspector/protocol/Page.json:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::userAgent):
Source/WebInspectorUI:
Update InspectorWebBackendCommands.js after removing unused overriding protocols.
* UserInterface/InspectorWebBackendCommands.js:
* UserInterface/Legacy/6.0/InspectorWebBackendCommands.js:
* UserInterface/Legacy/7.0/InspectorWebBackendCommands.js:
* Versions/Inspector-iOS-6.0.json:
* Versions/Inspector-iOS-7.0.json:
LayoutTests:
* http/tests/inspector/extensions-useragent-expected.txt: Removed.
* http/tests/inspector/extensions-useragent.html: Removed.
* inspector/device-orientation-success-expected.txt: Removed.
* inspector/device-orientation-success.html: Removed.
* inspector/geolocation-error-expected.txt: Removed.
* inspector/geolocation-error.html: Removed.
* inspector/geolocation-success-expected.txt: Removed.
* inspector/geolocation-success.html: Removed.
* inspector/geolocation-watchPosition-expected.txt: Removed.
* inspector/geolocation-watchPosition.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161556
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 9 Jan 2014 16:08:48 +0000 (16:08 +0000)]
[SOUP] Partial file left on disk after a download fails or is cancelled in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=126686
Reviewed by Martin Robinson.
Source/WebKit2:
We are currently writing the downloads directly into the
destination, and when a download fails or is cancelled after the
destination has been decided, the partial file is left on the
disk. Deleting the final file is not safe because there might be a
race condition, so we can use an intermediate file like other
browsers do, a file in the same directory than the target
destination but with .wkdownload suffix, that is removed when the
download fails or is cancelled. If the download finishes
successfully the intermediate file is renamed to the final
destination.
* Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::DownloadClient::deleteIntermediateFileInNeeded): Delete
the intermdiate file if it's been created already.
(WebKit::DownloadClient::downloadFailed): Call deleteIntermediateFileInNeeded.
(WebKit::DownloadClient::didReceiveResponse): Do not create a
SoupMessage for the given ResourceResponse that is not used, cache
the ResourceResponse instead. Create the intermediate file and use
it instead of the final destination.
(WebKit::DownloadClient::didReceiveData): Use the cached
ResourceResponse directly.
(WebKit::DownloadClient::didFinishLoading): Rename the
intermediate file to the final destination and write the metadata
in the final target destination.
(WebKit::DownloadClient::cancel): Handle the download cancellation
here, removing the intermediate file is needed and cancelling the
ResourceHandle and the download.
(WebKit::DownloadClient::handleResponseLater):
(WebKit::Download::cancel): Let the client handle the cancellation.
Tools:
Test that partial files are not left on disk after a download has
been cancelled after the destination has been decided. To make
sure the download is cancelled after the destination has been
decided and before the operation finishes, we cancel the download
in the destination decided callback, and we use an infinite
resource that writes chunks to the response body and never
completes the body.
* TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
(addContentDispositionHTTPHeaderToResponse): Helper function to
add the Content-Disposition to the response headers.
(writeNextChunkIdle): Write next chunk to response body.
(writeNextChunk): Write next chunk in an idle to avoid flooding
the network with the inifnite resource.
(serverCallback): Add an inifinite resource.
(testDownloadRemoteFileError): Check that partial file is not
present after the download has been cancelled.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161555
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Thu, 9 Jan 2014 15:50:54 +0000 (15:50 +0000)]
Shrink WatchpointSet.
<https://webkit.org/b/126694>
Reorder the members of WatchpointSet, shrinking it by 8 bytes.
767 kB progression on Membuster3.
Reviewed by Antti Koivisto.
* bytecode/Watchpoint.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161554
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abucur@adobe.com [Thu, 9 Jan 2014 12:06:21 +0000 (12:06 +0000)]
[CSSRegions] Move regions auto-size code into RenderNamedFlowFragment
https://bugs.webkit.org/show_bug.cgi?id=122959
Reviewed by Mihnea Ovidenie.
Move the auto-height logic from RenderRegion to RenderNamedFlowFragment because it's
used only by the CSS Regions implementation.
Bug 126642 covers the auto-height logic move from RenderFlowThread to RenderNamedFlowThread.
Tests: No new tests, just refactorings.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::styleDidChange):
(WebCore::RenderFlowThread::validateRegions):
(WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
(WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight):
(WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
(WebCore::RenderFlowThread::addForcedRegionBreak):
* rendering/RenderMultiColumnSet.h:
* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
(WebCore::RenderNamedFlowFragment::styleDidChange):
(WebCore::RenderNamedFlowFragment::incrementAutoLogicalHeightCount):
(WebCore::RenderNamedFlowFragment::decrementAutoLogicalHeightCount):
(WebCore::RenderNamedFlowFragment::updateRegionHasAutoLogicalHeightFlag):
(WebCore::RenderNamedFlowFragment::updateLogicalHeight):
(WebCore::RenderNamedFlowFragment::pageLogicalHeight):
(WebCore::RenderNamedFlowFragment::layoutBlock):
(WebCore::RenderNamedFlowFragment::attachRegion):
(WebCore::RenderNamedFlowFragment::detachRegion):
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::pageLogicalHeight):
(WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
(WebCore::RenderRegion::isLastRegion):
(WebCore::RenderRegion::styleDidChange):
(WebCore::RenderRegion::attachRegion):
(WebCore::RenderRegion::detachRegion):
* rendering/RenderRegion.h:
* rendering/RenderRegionSet.h:
* rendering/RenderTreeAsText.cpp:
(WebCore::writeRenderRegionList):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161553
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rtakacs@inf.u-szeged.hu [Thu, 9 Jan 2014 10:32:54 +0000 (10:32 +0000)]
Move myself to the committers list.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161552
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Thu, 9 Jan 2014 10:20:39 +0000 (10:20 +0000)]
Switch HTMLTableRowsCollection from Traversal<> to iterators
https://bugs.webkit.org/show_bug.cgi?id=126684
Reviewed by Andreas Kling.
This is the last remaining client of Traversal<> outside the iterator implementation.
* dom/ElementChildIterator.h:
(WebCore::ElementChildIteratorAdapter<ElementType>::find):
(WebCore::ElementChildConstIteratorAdapter<ElementType>::find):
Add find with the same semantics as ElementDescendantIterator::find.
* html/HTMLTableRowsCollection.cpp:
(WebCore::HTMLTableRowsCollection::rowAfter):
(WebCore::HTMLTableRowsCollection::lastRow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161551
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Thu, 9 Jan 2014 08:44:48 +0000 (08:44 +0000)]
Unreviewed GTK gardening. Rebaselining after r161521.
* platform/gtk/css1/text_properties/letter_spacing-expected.png:
* platform/gtk/css1/text_properties/letter_spacing-expected.txt:
* platform/gtk/css1/text_properties/word_spacing-expected.png:
* platform/gtk/css1/text_properties/word_spacing-expected.txt:
* platform/gtk/css2.1/t1604-c542-letter-sp-00-b-a-expected.txt:
* platform/gtk/fast/text/basic/013-expected.png:
* platform/gtk/fast/text/basic/013-expected.txt:
* platform/gtk/fast/text/text-letter-spacing-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt: Added.
* platform/gtk/svg/batik/text/textLayout-expected.txt: Added.
* platform/gtk/svg/custom/text-letter-spacing-expected.png:
* platform/gtk/svg/custom/text-letter-spacing-expected.txt:
* platform/gtk/svg/text/text-spacing-01-b-expected.png:
* platform/gtk/svg/text/text-spacing-01-b-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161550
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 9 Jan 2014 08:05:00 +0000 (08:05 +0000)]
REGRESSION(r161176): http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html is failing on GTK
https://bugs.webkit.org/show_bug.cgi?id=126518
Reviewed by Martin Robinson.
Source/WebCore:
Clear the credentials before calling willSendRequest on the client
to avoid sending the credentials to the API layer, but apply them
again to the request right before creating the new SoupRequest.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::continueAfterWillSendRequest):
(WebCore::doRedirect):
LayoutTests:
Unskip
http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html
and http/tests/security/redirect-BLOCKED-to-localURL.html.
* platform/gtk/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161549
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jinwoo7.song@samsung.com [Thu, 9 Jan 2014 07:14:37 +0000 (07:14 +0000)]
WebKit2 EFL build fix after r161530
https://bugs.webkit.org/show_bug.cgi?id=126678
Reviewed by Tim Horton.
Add PLATFORM(MAC) guards around setExposedRect() and exposedRect()
in DrawingArea and WebFrameLoaderClient.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebProcess/WebPage/DrawingArea.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161548
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
seokju@webkit.org [Thu, 9 Jan 2014 05:41:53 +0000 (05:41 +0000)]
[GTK] Unreviewed build fix after r161522.
* TestWebKitAPI/GNUmakefile.am: Remove WKConnection.cpp and WKConnection_Bundle.cpp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161545
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Thu, 9 Jan 2014 04:25:55 +0000 (04:25 +0000)]
Reverting accidental GC logging
* heap/Heap.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161544
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jan 2014 04:01:48 +0000 (04:01 +0000)]
Stub for Session API
https://bugs.webkit.org/show_bug.cgi?id=126626
Patch by Martin Hock <mhock@apple.com> on 2014-01-08
Reviewed by Sam Weinig.
* Shared/API/c/WKBase.h:
* Shared/API/c/WKSharedAPICast.h:
* Shared/APIObject.h:
* UIProcess/API/C/WKSessionRef.cpp: Added.
(WKSessionGetTypeID):
(WKSessionGetEphemeral):
* UIProcess/API/C/WKSessionRef.h: Added.
* UIProcess/API/Cocoa/WKSession.h: Added.
* UIProcess/API/Cocoa/WKSession.mm: Added.
(-[WKSession dealloc]):
(-[WKSession ephemeral]):
(-[WKSession API::]):
* UIProcess/API/Cocoa/WKSessionInternal.h: Added.
(WebKit::wrapper):
* UIProcess/APISession.cpp: Added.
(API::Session::Session):
(API::Session::create):
(API::Session::isEphemeral):
(API::Session::~Session):
* UIProcess/APISession.h: Added.
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161542
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jan 2014 03:56:47 +0000 (03:56 +0000)]
Unreviewed, rolling out r161532.
http://trac.webkit.org/changeset/161532
https://bugs.webkit.org/show_bug.cgi?id=126677
Caused lots of assertion failures (Requested by ap on
#webkit).
Source/WebCore:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener):
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::abort):
(WebCore::XMLHttpRequest::networkError):
(WebCore::XMLHttpRequest::abortError):
(WebCore::XMLHttpRequest::didSendData):
(WebCore::XMLHttpRequest::didReceiveData):
(WebCore::XMLHttpRequest::didTimeout):
* xml/XMLHttpRequest.h:
* xml/XMLHttpRequestProgressEventThrottle.cpp:
(WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadEnd):
(WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
(WebCore::XMLHttpRequestProgressEventThrottle::fired):
(WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch):
(WebCore::XMLHttpRequestProgressEventThrottle::suspend):
* xml/XMLHttpRequestProgressEventThrottle.h:
* xml/XMLHttpRequestUpload.cpp:
(WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
(WebCore::XMLHttpRequestUpload::dispatchEventAndLoadEnd):
* xml/XMLHttpRequestUpload.h:
LayoutTests:
* fast/xmlhttprequest/xmlhttprequest-get-expected.txt:
* http/tests/xmlhttprequest/loadstart-event-init-expected.txt: Removed.
* http/tests/xmlhttprequest/loadstart-event-init.html: Removed.
* http/tests/xmlhttprequest/onabort-progressevent-attributes-expected.txt: Removed.
* http/tests/xmlhttprequest/onabort-progressevent-attributes.html: Removed.
* http/tests/xmlhttprequest/onload-progressevent-attributes-expected.txt: Removed.
* http/tests/xmlhttprequest/onload-progressevent-attributes.html: Removed.
* http/tests/xmlhttprequest/upload-onabort-progressevent-attributes-expected.txt: Removed.
* http/tests/xmlhttprequest/upload-onabort-progressevent-attributes.html: Removed.
* http/tests/xmlhttprequest/upload-onload-progressevent-attributes-expected.txt: Removed.
* http/tests/xmlhttprequest/upload-onload-progressevent-attributes.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161541
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Thu, 9 Jan 2014 03:49:38 +0000 (03:49 +0000)]
Marking should be generational
https://bugs.webkit.org/show_bug.cgi?id=126552
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Re-marking the same objects over and over is a waste of effort. This patch implements
the sticky mark bit algorithm (along with our already-present write barriers) to reduce
overhead during garbage collection caused by rescanning objects.
There are now two collection modes, EdenCollection and FullCollection. EdenCollections
only visit new objects or objects that were added to the remembered set by a write barrier.
FullCollections are normal collections that visit all objects regardless of their
generation.
In this patch EdenCollections do not do anything in CopiedSpace. This will be fixed in
https://bugs.webkit.org/show_bug.cgi?id=126555.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::visitAggregate):
* bytecode/CodeBlock.h:
(JSC::CodeBlockSet::mark):
* dfg/DFGOperations.cpp:
* heap/CodeBlockSet.cpp:
(JSC::CodeBlockSet::add):
(JSC::CodeBlockSet::traceMarked):
(JSC::CodeBlockSet::rememberCurrentlyExecutingCodeBlocks):
* heap/CodeBlockSet.h:
* heap/CopiedBlockInlines.h:
(JSC::CopiedBlock::reportLiveBytes):
* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::didStartFullCollection):
* heap/CopiedSpace.h:
(JSC::CopiedSpace::heap):
* heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::didAbandon):
(JSC::Heap::markRoots):
(JSC::Heap::copyBackingStores):
(JSC::Heap::addToRememberedSet):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::collect):
(JSC::Heap::didAllocate):
(JSC::Heap::writeBarrier):
* heap/Heap.h:
(JSC::Heap::isInRememberedSet):
(JSC::Heap::operationInProgress):
(JSC::Heap::shouldCollect):
(JSC::Heap::isCollecting):
(JSC::Heap::isWriteBarrierEnabled):
(JSC::Heap::writeBarrier):
* heap/HeapOperation.h:
* heap/MarkStack.cpp:
(JSC::MarkStackArray::~MarkStackArray):
(JSC::MarkStackArray::clear):
(JSC::MarkStackArray::fillVector):
* heap/MarkStack.h:
* heap/MarkedAllocator.cpp:
(JSC::isListPagedOut):
(JSC::MarkedAllocator::isPagedOut):
(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::addBlock):
(JSC::MarkedAllocator::removeBlock):
(JSC::MarkedAllocator::reset):
* heap/MarkedAllocator.h:
(JSC::MarkedAllocator::MarkedAllocator):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::clearMarks):
(JSC::MarkedBlock::clearRememberedSet):
(JSC::MarkedBlock::clearMarksWithCollectionType):
(JSC::MarkedBlock::lastChanceToFinalize):
* heap/MarkedBlock.h: Changed atomSize to 16 bytes because we have no objects smaller
than 16 bytes. This is also to pay for the additional Bitmap for the remembered set.
(JSC::MarkedBlock::didConsumeEmptyFreeList):
(JSC::MarkedBlock::setRemembered):
(JSC::MarkedBlock::clearRemembered):
(JSC::MarkedBlock::atomicClearRemembered):
(JSC::MarkedBlock::isRemembered):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::~MarkedSpace):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::visitWeakSets):
(JSC::MarkedSpace::reapWeakSets):
(JSC::VerifyMarked::operator()):
(JSC::MarkedSpace::clearMarks):
* heap/MarkedSpace.h:
(JSC::ClearMarks::operator()):
(JSC::ClearRememberedSet::operator()):
(JSC::MarkedSpace::didAllocateInBlock):
(JSC::MarkedSpace::clearRememberedSet):
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::~SlotVisitor):
(JSC::SlotVisitor::clearMarkStack):
* heap/SlotVisitor.h:
(JSC::SlotVisitor::markStack):
(JSC::SlotVisitor::sharedData):
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::internalAppend):
(JSC::SlotVisitor::unconditionallyAppend):
(JSC::SlotVisitor::copyLater):
(JSC::SlotVisitor::reportExtraMemoryUsage):
(JSC::SlotVisitor::heap):
* jit/Repatch.cpp:
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren):
* runtime/JSPropertyNameIterator.h:
(JSC::StructureRareData::setEnumerationCache):
* runtime/JSString.cpp:
(JSC::JSString::visitChildren):
* runtime/StructureRareDataInlines.h:
(JSC::StructureRareData::setPreviousID):
(JSC::StructureRareData::setObjectToStringValue):
* runtime/WeakMapData.cpp:
(JSC::WeakMapData::visitChildren):
Source/WTF:
* wtf/Bitmap.h:
(WTF::WordType>::count): Added a cast that became necessary when Bitmap
is used with smaller types than int32_t.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161540
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jinwoo7.song@samsung.com [Thu, 9 Jan 2014 03:47:54 +0000 (03:47 +0000)]
Unreviewed EFL gardening. Rebaseline after r161521.
* platform/efl/css1/text_properties/letter_spacing-expected.png:
* platform/efl/css1/text_properties/letter_spacing-expected.txt:
* platform/efl/css1/text_properties/word_spacing-expected.png:
* platform/efl/css1/text_properties/word_spacing-expected.txt:
* platform/efl/fast/text/basic/013-expected.png:
* platform/efl/fast/text/basic/013-expected.txt:
* platform/efl/fast/text/text-letter-spacing-expected.txt:
* platform/efl/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png:
* platform/efl/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt: Added.
* platform/efl/svg/batik/text/textLayout-expected.txt: Added.
* platform/efl/svg/custom/text-letter-spacing-expected.png: Added.
* platform/efl/svg/custom/text-letter-spacing-expected.txt: Added.
* platform/efl/svg/text/text-spacing-01-b-expected.png:
* platform/efl/svg/text/text-spacing-01-b-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161539
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jan 2014 02:37:58 +0000 (02:37 +0000)]
[JS] Should be able to create a promise by calling the Promise constructor as a function
https://bugs.webkit.org/show_bug.cgi?id=126561
Patch by Sam Weinig <sam@webkit.org> on 2014-01-08
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
* runtime/JSPromiseConstructor.cpp:
(JSC::JSPromiseConstructor::getCallData):
Add support for calling the Promise constructor as a function (e.g. var p = Promise(...), note
the missing "new").
LayoutTests:
* js/dom/Promise-types-expected.txt:
* js/dom/Promise-types.html:
Add test for using calling a Promise constructor as a function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161538
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bburg@apple.com [Thu, 9 Jan 2014 02:21:49 +0000 (02:21 +0000)]
Clean up confusing names and calculations in image-dragging functions
https://bugs.webkit.org/show_bug.cgi?id=126661
Reviewed by Timothy Hatcher.
No new tests.
* page/DragController.cpp:
(WebCore::DragController::doImageDrag): rename variables and
simplify the calculation of the image's scaled origin.
* platform/DragImage.cpp:
(WebCore::fitDragImageToMaxSize): rename variables.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161537
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
csaavedra@igalia.com [Thu, 9 Jan 2014 02:14:46 +0000 (02:14 +0000)]
[GTK] Add xdg.origin.url extended attribute to downloads
https://bugs.webkit.org/show_bug.cgi?id=126638
Reviewed by Carlos Garcia Campos.
This is proposed by fdo in
http://www.freedesktop.org/wiki/CommonExtendedAttributes/
Source/WebKit/gtk:
* webkit/webkitdownload.cpp:
(webkit_download_open_stream_for_uri):
Source/WebKit2:
* Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::DownloadClient::didReceiveResponse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161536
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jan 2014 02:13:07 +0000 (02:13 +0000)]
Missleading style error when mixing system and non-system header include lines.
https://bugs.webkit.org/show_bug.cgi?id=126564
Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2014-01-08
Reviewed by Ryosuke Niwa.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_include_line):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(OrderOfIncludesTest.test_check_alphabetical_include_order):
(OrderOfIncludesTest.test_public_primary_header):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161535
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
seokju@webkit.org [Thu, 9 Jan 2014 02:12:41 +0000 (02:12 +0000)]
Web Inspector: Remove InspectorClient::captureScreenshot()
https://bugs.webkit.org/show_bug.cgi?id=126616
Reviewed by Joseph Pecoraro.
No new tests, No change in behavior.
Remove leftover mothod as Page.captureScreenshot API was removed in r160202.
* inspector/InspectorClient.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161534
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 9 Jan 2014 02:12:17 +0000 (02:12 +0000)]
Make WK2 build when ENABLE(ASYNC_SCROLLING) is not defined
https://bugs.webkit.org/show_bug.cgi?id=126675
Reviewed by Tim Horton.
We need a stub RemoteScrollingCoordinatorTransaction outside
the #ifdef so that RemoteLayerTreeDrawingAreaProxy messages
work.
* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(WebKit::RemoteScrollingCoordinatorTransaction::encode):
(WebKit::RemoteScrollingCoordinatorTransaction::decode):
* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161533
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jan 2014 02:11:59 +0000 (02:11 +0000)]
Source/WebCore: Correctly set XHR loadend attributes (loaded and total).
https://bugs.webkit.org/show_bug.cgi?id=120828
Patch by Youenn Fablet <youennf@gmail.com> on 2014-01-08
Reviewed by Alexey Proskuryakov.
Added correct initialization of lengthComputable, loaded and total attributes
to XHR ProgressEvent events (load, loadstart, loadend, abort, error and timeout).
XMLHttpRequestProgressEventThrottle and XMLHttpRequestUpload now keep persistent knowledge
of m_loaded and m_total values with this patch.
Code refactoring to handle event dispatching in case of error in a single manner.
XMLHttpRequestProgressEventThrottle::dispatchProgressEvent is renamed as dispatchThrottledProgressEvent
XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadend is replaced by dispatchProgressEvent(const AtomicString&)
Tests: http/tests/xmlhttprequest/loadstart-event-init.html
http/tests/xmlhttprequest/onabort-progressevent-attributes.html
http/tests/xmlhttprequest/onload-progressevent-attributes.html
http/tests/xmlhttprequest/upload-onabort-progressevent-attributes.html
http/tests/xmlhttprequest/upload-onload-progressevent-attributes.html
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener): changed readystatechange event from ProgressEvent to Event (not cancellable, not bubblable) to better match the spec
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::abort): code refactoring to handle error event dispatching in a single way
(WebCore::XMLHttpRequest::networkError): code refactoring to handle error event dispatching in a single way
(WebCore::XMLHttpRequest::abortError): code refactoring to handle error event dispatching in a single way
(WebCore::XMLHttpRequest::didSendData):
(WebCore::XMLHttpRequest::didReceiveData):
(WebCore::XMLHttpRequest::dispatchErrorEvents): dispatch progress events in case of error
(WebCore::XMLHttpRequest::didTimeout): code refactoring to handle error event dispatching in a single way
* xml/XMLHttpRequest.h:
* xml/XMLHttpRequestProgressEventThrottle.cpp: before the patch, the fact that a progress event is being throttled is stored indirectly (m_loaded or m_total not equal to zero). With the patch, this information is stored in m_hasThrottledProgressEvent. The m_loaded and m_total values are no longer set back to zero after a progress event is dispatched. This allows using these values to correctly initialize other ProgressEvent events (in particular loadend, abort, timeout...)
(WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchThrottledProgressEvent): always update the new m_loaded and m_total values. If progress event is not sent as part of the function call, store the fact that a progress event is being throttled through m_hasThrottledProgressEvent.
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): used to send any ProgressEvent event that is not be throttled
(WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): after the call, no progress event is throttled anymore
(WebCore::XMLHttpRequestProgressEventThrottle::fired): after the call, no progress event is throttled anymore
(WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch):
(WebCore::XMLHttpRequestProgressEventThrottle::suspend):
* xml/XMLHttpRequestProgressEventThrottle.h: introduced m_hasThrottledProgressEvent which stores whether a progress event is being throttled and m_computableLength which is used to initialize ProgressEvent computableLength
* xml/XMLHttpRequestUpload.cpp:
(WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
(WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
* xml/XMLHttpRequestUpload.h: introduced m_loaded, m_total and m_lengthComputable, similarly to XMLHttpRequestProgressEventThrottle
LayoutTests: Correctly set XHR loadend event attributes (loaded and total).
https://bugs.webkit.org/show_bug.cgi?id=120828
Patch by Youenn Fablet <youennf@gmail.com> on 2014-01-08
Reviewed by Alexey Proskuryakov.
Tests for abort, load, loadstart and loadend ProgressEvent events for XMLHttpRequest and XMLHttpRequestUpload
* fast/xmlhttprequest/xmlhttprequest-get-expected.txt: Changed to correct event values
* http/tests/xmlhttprequest/loadstart-event-init-expected.txt: Added.
* http/tests/xmlhttprequest/loadstart-event-init.html: Added.
* http/tests/xmlhttprequest/onabort-progressevent-attributes-expected.txt: Added.
* http/tests/xmlhttprequest/onabort-progressevent-attributes.html: Added.
* http/tests/xmlhttprequest/onload-progressevent-attributes-expected.txt: Added.
* http/tests/xmlhttprequest/onload-progressevent-attributes.html: Added.
* http/tests/xmlhttprequest/upload-onabort-progressevent-attributes-expected.txt: Added.
* http/tests/xmlhttprequest/upload-onabort-progressevent-attributes.html: Added.
* http/tests/xmlhttprequest/upload-onload-progressevent-attributes-expected.txt: Added.
* http/tests/xmlhttprequest/upload-onload-progressevent-attributes.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161532
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Thu, 9 Jan 2014 01:38:13 +0000 (01:38 +0000)]
TileController can fail to receive exposedRect from the drawing area if set at the wrong time
https://bugs.webkit.org/show_bug.cgi?id=126536
Reviewed by Simon Fraser.
* Configurations/WebKit2.xcconfig:
* UIProcess/API/mac/WKView.mm:
(-[WKView _updateViewExposedRect]):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::DrawingAreaProxy):
(WebKit::DrawingAreaProxy::setExposedRect):
(WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::exposedRect):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
* UIProcess/WebPageProxy.h:
Move exposedRect stuff from WebPageProxy to DrawingAreaProxy.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
Push the exposedRect down into WebCore.
* WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
(WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
Get rid of "clipsToExposedRect", we just use infinite-ness of the rect
to indicate that now.
Don't scroll an infinite rect; it won't work.
* WebCore.exp.in:
Export some things.
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::setExposedRect):
Store the exposed rect on FrameView. When it changes, if the main frame
has a TiledBacking, inform it of the change.
* page/FrameView.h:
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::TileController):
(WebCore::TileController::tilesWouldChangeForVisibleRect):
(WebCore::TileController::computeTileCoverageRect):
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::updateTileCoverageMap):
Make use of the fact that we can test if a rect is infinite
instead of having a separate boolean property for that.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::computeTileCoverage):
Push the FrameView's cached exposed rect down into the TiledBacking when it is created.
We only support clipping for the main frame TileController for now.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161530
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 9 Jan 2014 01:25:52 +0000 (01:25 +0000)]
Add ENABLE(ASYNC_SCROLLING) guards around WK2 scrolling files
https://bugs.webkit.org/show_bug.cgi?id=126672
Reviewed by Tim Horton.
Protected WK2 scrolling files with ENABLE(ASYNC_SCROLLING) guards.
* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
* UIProcess/Scrolling/RemoteScrollingTree.cpp:
* UIProcess/Scrolling/RemoteScrollingTree.h:
* WebProcess/Scrolling/RemoteScrollingCoordinator.h:
* WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in:
* WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161529
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Thu, 9 Jan 2014 01:19:39 +0000 (01:19 +0000)]
[GTK] [CMake] Specify the executable and library output locations in the build
https://bugs.webkit.org/show_bug.cgi?id=126671
Reviewed by Gustavo Noronha Silva.
* Source/cmake/OptionsGTK.cmake: Explicitly specify the output locations.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161528
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Thu, 9 Jan 2014 01:07:05 +0000 (01:07 +0000)]
[EFL][WK2] Add API to execute js script
https://bugs.webkit.org/show_bug.cgi?id=101904
Reviewed by Gyuyoung Kim.
Add ewk_view_script_execute() which provides a way to execute user
script.
* UIProcess/API/efl/ewk_context.cpp:
Added JS Global Contexta which is required to deserialize to the script
value from the callback.
(EwkContext::EwkContext):
(EwkContext::~EwkContext):
(EwkContext::jsGlobalContext):
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Script_Execute_Callback_Context::Ewk_View_Script_Execute_Callback_Context):
(runJavaScriptCallback):
(ewk_view_script_execute):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
Added unit test for ewk_view_script_execute.
(scriptExecuteCallback):
(TEST_F):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161527
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Thu, 9 Jan 2014 00:59:16 +0000 (00:59 +0000)]
[EFL] Merge ewk_view_single into ewk_view
https://bugs.webkit.org/show_bug.cgi?id=126508
Reviewed by Gyuyoung Kim.
Source/WebKit:
* PlatformEfl.cmake: Removed ewk_view_single.cpp.
Source/WebKit/efl:
Since ewk_view_tiled is removed at r161134, we don't need to keep
ewk_view_single out of ewk_view.cpp.
This patch moves the logic of ewk_view_single to ewk_view and refactors it.
In addition, replaces 0.00001 to episilon.
* ewk/ewk_view.cpp:
(_ewk_view_smart_add):
(_ewk_view_smart_resize): Merged with the logic of ewk_view_single.
(_ewk_view_screen_move): Moved from ewk_view_single.cpp.
(_ewk_view_scroll_process): Ditto.
(_ewk_view_smart_scrolls_process): Ditto.
(_ewk_view_smart_repaints_process): Ditto.
(_ewk_view_smart_calculate): Removed unnecessary check routine for scrolls_process.
(_ewk_view_smart_zoom_weak_set):
(_ewk_view_smart_zoom_weak_smooth_scale_set):
(ewk_view_base_smart_set): Merged smart method of ewk_view_single.
(ewk_view_single_smart_set):
(_ewk_view_single_smart_class_new):
(ewk_view_single_add):
(ewk_view_bg_color_set):
(ewk_view_pre_render_region):
(ewk_view_scrolls_process):
* ewk/ewk_view.h:
* ewk/ewk_view_private.h: Removed unncessary functions.
* ewk/ewk_view_single.cpp: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161526
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Thu, 9 Jan 2014 00:35:34 +0000 (00:35 +0000)]
[EFL] Move efl API test binaries to TestWebKitAPI/EWebKit|EWebKit2
https://bugs.webkit.org/show_bug.cgi?id=126615
Reviewed by Martin Robinson.
Now EFL API test binaries created in *bin* directory with other executables.
It would be good to move them to their folder. This patch moves them to
*TestWebKitAPI/EWebKit|EWebKit2* directories.
Source/WebKit:
* PlatformEfl.cmake:
Source/WebKit2:
* PlatformEfl.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161525
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
seokju@webkit.org [Wed, 8 Jan 2014 23:37:11 +0000 (23:37 +0000)]
[EFL] Unreviewed build fix after r161522.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformEfl.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161524
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 8 Jan 2014 22:44:50 +0000 (22:44 +0000)]
Remove WKConnectionRef tests
https://bugs.webkit.org/show_bug.cgi?id=126666
Reviewed by Dan Bernstein.
The WKConnectionRef is poorly designed but thankfully not used anywhere.
Remove the API tests as a first step towards killing the entire thing.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/WKConnection.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WKConnection_Bundle.cpp: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161522
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Wed, 8 Jan 2014 22:22:50 +0000 (22:22 +0000)]
a fractional value of the css letter-spacing property is not rendered as expected
https://bugs.webkit.org/show_bug.cgi?id=20606
Reviewed by Simon Fraser.
Source/WebCore:
This turns on fractional letter-spacing and word-spacing CSS values.
It is taken mostly from Blink r153727 and iOS. Updating the relevant
types is all that is necessary
Existing tests have been updated.
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* platform/graphics/Font.cpp:
(WebCore::Font::Font):
(WebCore::Font::width):
* platform/graphics/Font.h:
(WebCore::Font::wordSpacing):
(WebCore::Font::letterSpacing):
(WebCore::Font::setWordSpacing):
(WebCore::Font::setLetterSpacing):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::wordSpacing):
(WebCore::RenderStyle::letterSpacing):
(WebCore::RenderStyle::setWordSpacing):
(WebCore::RenderStyle::setLetterSpacing):
* rendering/style/RenderStyle.h:
LayoutTests:
Manually verified that these tests are correct after enabling fractional letter-spacing and word spacing
* platform/mac/css1/text_properties/letter_spacing-expected.png:
* platform/mac/css1/text_properties/letter_spacing-expected.txt:
* platform/mac/css1/text_properties/word_spacing-expected.png:
* platform/mac/css1/text_properties/word_spacing-expected.txt:
* platform/mac/fast/text/basic/013-expected.png:
* platform/mac/fast/text/basic/013-expected.txt:
* platform/mac/fast/text/text-letter-spacing-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt:
* platform/mac/svg/batik/text/textLayout-expected.txt:
* platform/mac/svg/custom/text-letter-spacing-expected.png:
* platform/mac/svg/custom/text-letter-spacing-expected.txt:
* platform/mac/svg/text/text-spacing-01-b-expected.png:
* platform/mac/svg/text/text-spacing-01-b-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161521
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Wed, 8 Jan 2014 21:45:36 +0000 (21:45 +0000)]
Unreviewed, rolling out r161512.
http://trac.webkit.org/changeset/161512
https://bugs.webkit.org/show_bug.cgi?id=126655
Broke webkitpy tests (Requested by ap on #webkit).
Patch by Commit Queue <commit-queue@webkit.org> on 2014-01-08
* Scripts/webkitpy/port/gtk.py:
(GtkPort.__init__):
(GtkPort.setup_test_run):
(GtkPort._port_specific_expectations_files):
* Scripts/webkitpy/port/leakdetector_valgrind.py: Removed.
* Scripts/webkitpy/port/leakdetector_valgrind_unittest.py: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161520
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Wed, 8 Jan 2014 21:38:42 +0000 (21:38 +0000)]
Unreviewed, rolling out r161517.
http://trac.webkit.org/changeset/161517
https://bugs.webkit.org/show_bug.cgi?id=126659
The fix didn't completely remove the problem and is now
standing in the way of the rollout of the offending patch
(Requested by zdobersek on #webkit).
Patch by Commit Queue <commit-queue@webkit.org> on 2014-01-08
* Scripts/webkitpy/port/gtk.py:
(GtkPort.__init__):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161519
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 8 Jan 2014 21:19:21 +0000 (21:19 +0000)]
Add WTF::StringView and use it for grammar checking
https://bugs.webkit.org/show_bug.cgi?id=126644
Reviewed by Antti Koivisto.
Source/WebCore:
Use a StringView in TextCheckerClient::checkTextOfParagraph to avoid upconverting strings unnecessarily.
* editing/TextCheckingHelper.cpp:
(WebCore::checkTextOfParagraph):
Pass a StringView to TextCheckerClient::checkTextOfParagraph.
* loader/EmptyClients.h:
Update for TextCheckerClient changes.
* platform/text/TextCheckerClient.h:
Change TextCheckerClient::checkTextOfParagraph to take a StringView.
Source/WebKit/efl:
Update to match WebCore changes.
* WebCoreSupport/EditorClientEfl.h:
(WebCore::EditorClientEfl::checkTextOfParagraph):
Source/WebKit/mac:
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::checkTextOfParagraph):
Update to match the new signature.
(nsStringWithoutCopying):
New function that creates an NSString that references StringView data
without copying the data. (If this function proves to be useful elsewhere, it could
potentially be added to StringView).
Source/WebKit2:
Use a StringView and remove a FIXME.
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::checkTextOfParagraph):
* WebProcess/WebCoreSupport/WebEditorClient.h:
Source/WTF:
Add a new StringView class which is an immutable reference to either an 8-bit or a 16-bit string.
This makes it easier to pass substrings around without having to either copy string data
or upconvert and use UChar pointers.
The StringView class is very loosely based on the std::string_view class which is proposed for a future version of C++,
see http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3609.html for more details.
* GNUmakefile.list.am:
* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/Forward.h:
* wtf/text/StringView.h: Added.
(WTF::StringView::StringView):
(WTF::StringView::empty):
(WTF::StringView::characters8):
(WTF::StringView::characters16):
(WTF::StringView::isEmpty):
(WTF::StringView::length):
(WTF::StringView::is8Bit):
(WTF::StringView::substring):
(WTF::StringView::toString):
(WTF::StringView::toStringWithoutCopying):
(WTF::StringView::encodedCharacters):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161518
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Wed, 8 Jan 2014 21:03:43 +0000 (21:03 +0000)]
Unreviewed. Attempting to fix webkitpy tests after r161512.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.__init__): Construct LeakDetectorValgrin only if leak detection is enabled.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161517
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Wed, 8 Jan 2014 20:44:42 +0000 (20:44 +0000)]
Flaky Test: http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html
https://bugs.webkit.org/show_bug.cgi?id=52016
* platform/mac/TestExpectations: Mark it as such.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161516
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 8 Jan 2014 19:20:17 +0000 (19:20 +0000)]
[WinCairo] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=126534
Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-08
Reviewed by Brent Fulgham.
* WebKitPrefix.h: Define __STDC_LIMIT_MACROS, so INTMAX_MAX will be defined (needed by std C++ library).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161513
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
brian.holt@samsung.com [Wed, 8 Jan 2014 18:30:12 +0000 (18:30 +0000)]
[GTK] Parse Valgrind xml leak files
https://bugs.webkit.org/show_bug.cgi?id=119446
Reviewed by Alejandro G. Castro.
Parse the xml files generated by Valgrind to yield useful
information about the memory leaks.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.__init__):
(GtkPort.setup_test_run): Clear the previous output files before new
run.
(GtkPort.print_leaks_summary):
* Scripts/webkitpy/port/leakdetector_valgrind.py: Added.
Parse the xml files generated by Valgrind and summarise leaks
into an easily understandable list.
(get_text_of):
(get_CDATA_of):
(gather_frames):
(ValgrindError):
(ValgrindError.__init__):
(ValgrindError.__str__):
(ValgrindError.unique_string):
(ValgrindError.error_hash):
(ValgrindError.__hash__):
(ValgrindError.__eq__):
(LeakDetectorValgrind):
(LeakDetectorValgrind.__init__):
(LeakDetectorValgrind._parse_leaks_output):
(LeakDetectorValgrind.leaks_files_in_results_directory):
(LeakDetectorValgrind.clean_leaks_files_from_results_directory):
(LeakDetectorValgrind.parse_and_print_leaks_detail):
* Scripts/webkitpy/port/leakdetector_valgrind_unittest.py: Added.
(make_mock_valgrind_output):
(make_mock_incomplete_valgrind_output):
(make_mock_valgrind_results):
(make_mock_valgrind_results_incomplete):
(make_mock_valgrind_results_empty):
(make_mock_valgrind_results_misformatted):
(LeakDetectorValgrindTest):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_pass):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_incomplete):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_empty):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_misformatted):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_pass):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_incomplete):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_empty):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_misformatted):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161512
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Wed, 8 Jan 2014 18:29:27 +0000 (18:29 +0000)]
Unreviewed build fix.
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add missing
exports needed for Windows build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161511
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 8 Jan 2014 17:48:04 +0000 (17:48 +0000)]
Unreviewed, rolling out r161427.
http://trac.webkit.org/changeset/161427
https://bugs.webkit.org/show_bug.cgi?id=126645
Emits a stye error on any newly added files (Requested by ap
on #webkit).
* Scripts/webkitpy/style/checkers/cpp.py:
(check_style):
(CppChecker):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_other):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161510
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 8 Jan 2014 17:14:02 +0000 (17:14 +0000)]
Remove run-webkit-tests wrapper script as all platform are using NRWT now.
https://bugs.webkit.org/show_bug.cgi?id=126580
Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-08
Reviewed by Csaba Osztrogonác.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKitTests): Passing --debug-rwt-logging here instead of the
run-webkit-tests script.
* Scripts/new-run-webkit-tests: Renamed to run-webkit-tests.
* Scripts/run-webkit-tests: Removed, as it was just a temporary hack.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161509
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 8 Jan 2014 16:17:37 +0000 (16:17 +0000)]
Unreviewed Windows build fix attempt after r161481.
* WebCore.vcxproj/copyForwardingHeaders.cmd:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161506
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
changseok.oh@collabora.com [Wed, 8 Jan 2014 16:02:32 +0000 (16:02 +0000)]
Unreviewed GTK gardening.
setFileInputFiles.html was removed after r161380. string-replacement-outofmemory.html,
toString-and-valueOf-override.html and exceptions-thrown-in-callbacks.html
were moved into other directory.
* platform/gtk-wk2/TestExpectations:
* platform/gtk/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161503
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 8 Jan 2014 15:45:48 +0000 (15:45 +0000)]
Update the list of non-committer u-szeged contributors
https://bugs.webkit.org/show_bug.cgi?id=126640
Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-08
Reviewed by Csaba Osztrogonác.
* Scripts/webkitpy/common/config/contributors.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161502
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Wed, 8 Jan 2014 15:43:52 +0000 (15:43 +0000)]
Deploy RenderPtr in RenderMathMLOperator::updateFromElement().
<https://webkit.org/b/126628>
Reviewed by Antti Koivisto.
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::updateFromElement):
Use RenderPtr/createRenderer for renderer creation.
Removed an unnecessary null check (text is always created.)
Also use RenderStyle::createAnonymousStyleWithDisplay()
helper to shorten down the code a bit.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161501
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
berto@igalia.com [Wed, 8 Jan 2014 15:24:53 +0000 (15:24 +0000)]
Fix some compilation warnings
https://bugs.webkit.org/show_bug.cgi?id=126635
Reviewed by Csaba Osztrogonác.
Source/WebCore:
Remove code that is no longer being used.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
* platform/gtk/PopupMenuGtk.cpp:
* platform/gtk/RedirectedXCompositeWindow.h:
Tools:
* GtkLauncher/main.c:
(createWindow): This function is not supposed to receive any
parameter, yet we are passing one.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161500
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
brian.holt@samsung.com [Wed, 8 Jan 2014 15:23:36 +0000 (15:23 +0000)]
[GTK][WK2] unskip passing unit tests
https://bugs.webkit.org/show_bug.cgi?id=126637
Reviewed by Carlos Garcia Campos.
Unskip TestResources and TestAuthentication unit tests since they
are passing both under Xvfb and X.
* Scripts/run-gtk-tests:
(TestRunner):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161499
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 8 Jan 2014 15:21:27 +0000 (15:21 +0000)]
[EFL] Make FTL buildable
https://bugs.webkit.org/show_bug.cgi?id=125777
Patch by Dániel Bátyai <dbatyai.u-szeged@partner.samsung.com> on 2014-01-08
Reviewed by Csaba Osztrogonác.
.:
* Source/cmake/OptionsEfl.cmake:
* Source/cmakeconfig.h.cmake:
Source/JavaScriptCore:
* CMakeLists.txt:
* ftl/FTLOSREntry.cpp:
* ftl/FTLOSRExitCompiler.cpp:
* llvm/library/config_llvm.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161498
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Wed, 8 Jan 2014 15:13:06 +0000 (15:13 +0000)]
[Automake] Scripts for generated build targets do not necessarily produce their output
https://bugs.webkit.org/show_bug.cgi?id=126378
Reviewed by Carlos Garcia Campos.
Source/JavaScriptCore:
* GNUmakefile.am: Touch the build targets that are generated through helper scripts that don't
assure the output is generated every time the script is invoked, most commonly due to unchanged
input. This assures the build targets are up-to-date and can't be older that their dependencies,
which would result in constant regeneration at every build.
Source/WebCore:
* GNUmakefile.am: Touch the build targets that are generated through helper scripts that don't
assure the output is generated every time the script is invoked, most commonly due to unchanged
* bindings/gobject/GNUmakefile.am: Simply move the gdom-gen-symbols file into the output file
instead of copying it if the contents differ and removing it. This again ensures that the output
file is always newer than its dependencies, even if the input hasn't changed.
Source/WebKit2:
* GNUmakefile.am: Don't pass the -n option to the ln command that links the build's include
directories to actual source directories. This doesn't replace the original symbolic link,
which can lead to the actual link being older than its dependencies and subsequent constant
relinking at every build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161497
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
berto@igalia.com [Wed, 8 Jan 2014 14:35:12 +0000 (14:35 +0000)]
REGRESSION(r160304): [GTK] Disable libtool fast install
https://bugs.webkit.org/show_bug.cgi?id=126381
Reviewed by Gustavo Noronha Silva.
.:
Don't disable the libtool fast-install mode unconditionally by
default.
If the fast-install mode is disabled, binaries are generated ready
to use the libraries directly from the build tree. If we use the
GNU linker, those binaries are then relinked when they are
installed.
However, libtool fails to do it properly when an installation
prefix is set with DESTDIR, and ends up installing the libtool
wrappers instead of the actual binaries.
* Source/autotools/SetupLibtool.m4:
Tools:
Disable the libtool fast-install mode in developer/test builds.
In this mode binaries are generated ready to be used directly from
the build tree. Otherwise they would need to be relinked when they
are executed, which can take a lot of resources, particularly in
debug builds.
* Scripts/webkitdirs.pm:
(runAutogenForAutotoolsProjectIfNecessary):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161496
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 8 Jan 2014 14:22:09 +0000 (14:22 +0000)]
Remove invalid comments from mathtags.ing
https://bugs.webkit.org/show_bug.cgi?id=126629
Patch by Frédéric Wang <fred.wang@free.fr> on 2014-01-08
Reviewed by Chris Fleizach.
* mathml/mathtags.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161495
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gns@gnome.org [Wed, 8 Jan 2014 12:02:15 +0000 (12:02 +0000)]
Updated Brazilian Portuguese translation of WebKitGTK+ - December 30, 2013
https://bugs.webkit.org/show_bug.cgi?id=126315
Patch by Enrico Nicoletto <liverig@gmail.com> on 2014-01-08
Reviewed by Gustavo Noronha.
* pt_BR.po: updated translation.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161494
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Wed, 8 Jan 2014 11:20:11 +0000 (11:20 +0000)]
RenderMathMLRow::createAnonymousWithParentRenderer() should return RenderPtr.
<https://webkit.org/b/126631>
Reviewed by Antti Koivisto.
* rendering/mathml/RenderMathMLRow.h:
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
Tweak to return RenderPtr<RenderMathMLRow> and removed comment(!)
about how this should return a smart pointer. Also take the
parent renderer as a RenderMathMLRoot& instead of a RenderObject*
since that's all we ever pass.
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::addChild):
Updated for new createAnonymousWithParentRenderer() signature.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161493
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mario.prada@samsung.com [Wed, 8 Jan 2014 10:58:37 +0000 (10:58 +0000)]
AX: Make roleValue() return DescriptionListRole for <dl> elements
https://bugs.webkit.org/show_bug.cgi?id=126579
Reviewed by Chris Fleizach.
Implement AccessibilityList::roleValue() so it will return
ListRole or DescriptionListRole depending on the type of list.
No new tests needed, as no new functionality was added and ports
should still be exposing the right role for <dl> elements
* accessibility/AccessibilityList.cpp:
(WebCore::AccessibilityList::roleValue): Implemented.
* accessibility/AccessibilityList.h:
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole): Removed extra checks for objects with ListRole role.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161492
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Wed, 8 Jan 2014 09:47:59 +0000 (09:47 +0000)]
createMathMLOperator() should return RenderPtr.
<https://webkit.org/b/126622>
Reviewed by Antti Koivisto.
* rendering/mathml/RenderMathMLFenced.h:
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::createMathMLOperator):
Make this return a RenderPtr<RenderMathMLOperator>.
(WebCore::RenderMathMLFenced::makeFences):
(WebCore::RenderMathMLFenced::addChild):
Updated for the new createMathMLOperator() signature.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161491
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Wed, 8 Jan 2014 08:45:19 +0000 (08:45 +0000)]
Unreviewed GTK gardening.
* Scripts/run-gtk-tests:
(TestRunner): Skipping the snapshot test case from the TestWebKitWebView test suite.
The test is failing due to issues with Xvfb, with the problem being handled in bug #120404.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161490
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Wed, 8 Jan 2014 08:33:37 +0000 (08:33 +0000)]
REGRESSION: webgl/1.0.2/conformance/textures/tex-image-and-sub-image-2d-with-video-rgb565.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=126624
* platform/mac/TestExpectations: Mark it as such.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161489
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Wed, 8 Jan 2014 08:26:46 +0000 (08:26 +0000)]
Unreviewed GTK gardening.
Add a flaky expectation for perf/accessibility-title-ui-element.html and a failure expectation
for http/tests/media/video-auth.html.
* platform/gtk/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161488
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Wed, 8 Jan 2014 07:33:10 +0000 (07:33 +0000)]
REGRESSION (r161195): Acid2 regression tests frequently fail
https://bugs.webkit.org/show_bug.cgi?id=126432
Source/WebCore:
Reviewed by Anders Carlsson.
We would occasionally dump the render tree before the actual last resource on the page was loaded.
The problematic resource is an image loaded by an <object> tag nested as fallback of another <object>.
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::renderFallbackContent):
Force style recalc when rendering fallback content. The current mechanism for triggering the fallback content load
requires a style recalc.
LayoutTests:
Reviewed by Anders Carlsson.
* TestExpectations: acid2 is no longer flaky.
* fast/overflow/overflow-height-float-not-removed-crash3-expected.txt: whitespace change.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161484
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Wed, 8 Jan 2014 06:42:50 +0000 (06:42 +0000)]
createAnonymousMathMLBlock() should return RenderPtr.
<https://webkit.org/b/126583>
Reviewed by Antti Koivisto.
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
Make this return a RenderPtr<RenderMathMLBlock> and removed the
EDisplay argument since it was always using the default (FLEX.)
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::addChild):
Updated for the new createAnonymousMathMLBlock() signature.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161482
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 8 Jan 2014 05:45:55 +0000 (05:45 +0000)]
Teach MediaSessionManager to manage interruptions
https://bugs.webkit.org/show_bug.cgi?id=126530
Reviewed by Sam Weinig.
Source/WebCore:
Tests: media/video-interruption-active-when-element-created.html
media/video-interruption-with-resume-allowing-play.html
media/video-interruption-with-resume-not-allowing-play.html
* WebCore.exp.in: Export functions needed by Internals.
Add MediaSession and MediaSessionManager.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
Automatically pause/play for interruptions. Move media restriction management to a MediaSession.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Get rid of m_loadInitiatedByUserGesture and m_userStartedPlayback,
they aren't needed.
(WebCore::HTMLMediaElement::load): Ditto.
(WebCore::HTMLMediaElement::loadInternal): Use the media session to manage restrictions.
(WebCore::HTMLMediaElement::play): Remove redundant iOS code. Postpone playback if called
during an interruption.
(WebCore::HTMLMediaElement::pause): Remember to not resume playback when it ends if called during
an interruption.
(WebCore::HTMLMediaElement::potentiallyPlaying): Rearrange code to make it easier to understand.
(WebCore::HTMLMediaElement::couldPlayIfEnoughData): Ditto.
(WebCore::HTMLMediaElement::pausedForUserInteraction): Return true if paused because of an interruption.
(WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Be explicit about
which restrictions are removed.
(WebCore::HTMLMediaElement::mediaType): MediaSessionManager::<Type> -> MediaSession::<Type>.
(WebCore::HTMLMediaElement::beginInterruption): New.
(WebCore::HTMLMediaElement::endInterruption): Ditto.
* html/HTMLMediaElement.h:
Pulled MediaSessionManagerToken out of MediaSessionManager.cpp, added functionality to manage interruptions.
* platform/audio/MediaSession.cpp: Added.
(WebCore::MediaSession::create):
(WebCore::MediaSession::MediaSession):
(WebCore::MediaSession::~MediaSession):
(WebCore::MediaSession::beginInterruption): Inform client of interruption state change.
(WebCore::MediaSession::endInterruption): Ditto.
* platform/audio/MediaSession.h: Added.
* platform/audio/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::MediaSessionManager): Initialize interruption counter.
(WebCore::MediaSessionManager::has): MediaType is defined in MediaSession.
(WebCore::MediaSessionManager::count): Ditto.
(WebCore::MediaSessionManager::beginInterruption): Inform all clients of interruption start if
not already in an interruption.
(WebCore::MediaSessionManager::endInterruption): Inform all clients if interruption has ended.
(WebCore::MediaSessionManager::addSession): Renamed from addToken. Set session interruption state.
(WebCore::MediaSessionManager::removeSession): Renamed from removeToken.
* platform/audio/MediaSessionManager.h:
* platform/audio/mac/AudioDestinationMac.cpp:
(WebCore::AudioDestinationMac::AudioDestinationMac): MediaSessionManagerToken -> MediaSession.
* platform/audio/mac/AudioDestinationMac.h:
* platform/audio/mac/MediaSessionManagerMac.cpp:
(MediaSessionManager::updateSessionState): Ditto.
Make it possible for tests to begin and end interruptions.
* testing/Internals.cpp:
(WebCore::Internals::beginMediaSessionInterruption):
(WebCore::Internals::endMediaSessionInterruption):
* testing/Internals.h:
* testing/Internals.idl:
Source/WebKit:
* CMakeLists.txt: Add ${WEBCORE_DIR}/platform/animation to WebCore include directories.
Source/WebKit2:
* CMakeLists.txt: Add ${WEBCORE_DIR}/platform/animation to WebCore include directories.
LayoutTests:
* media/video-interruption-active-when-element-created-expected.txt: Added.
* media/video-interruption-active-when-element-created.html: Added.
* media/video-interruption-with-resume-allowing-play-expected.txt: Added.
* media/video-interruption-with-resume-allowing-play.html: Added.
* media/video-interruption-with-resume-not-allowing-play-expected.txt: Added.
* media/video-interruption-with-resume-not-allowing-play.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161481
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 8 Jan 2014 03:58:16 +0000 (03:58 +0000)]
DoYouEvenBench: Turn BenchmarkRunner into a real class
https://bugs.webkit.org/show_bug.cgi?id=126613
Reviewed by Stephanie Lewis.
Made BenchmarkRunner an instantiatable class. Made tests.js simply create an array of suite objects
instead of calling BenchmarkRunner.Suite now that we can have mulitple instances of BenchmarkRunner.
* DoYouEvenBench/benchmark.html:
(formatTestName): Moved and renamed from BenchmarkRunner._testName.
(createUIForSuites): Extracted from a giant blob of code.
(startTest): Ditto.
* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkRunner): Added.
(BenchmarkRunner.prototype.waitForElement):
(BenchmarkRunner.prototype._removeFrame):
(BenchmarkRunner.prototype._appendFrame):
(BenchmarkRunner.prototype._waitAndWarmUp):
(BenchmarkRunner.prototype._runTest):
(BenchmarkState.prototype.prepareCurrentSuite):
(BenchmarkRunner.prototype.step):
(BenchmarkRunner.prototype._runTestAndRecordResults):
(BenchmarkRunner.prototype._finalize):
* DoYouEvenBench/resources/tests.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161480
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Wed, 8 Jan 2014 03:26:02 +0000 (03:26 +0000)]
[iOS] Clean up some exported headers
https://bugs.webkit.org/show_bug.cgi?id=126403
Reviewed by Simon Fraser.
Public header files that are completely excluded on iOS don't need
!TARGET_OS_IPHONE guards since they are already listed in
EXCLUDED_SOURCE_FILE_NAMES.
I also took the opportunity to sort EXCLUDED_SOURCE_FILE_NAMES and to
clean up some #imports.
* Configurations/WebKit.xcconfig:
* Misc/WebCache.h:
* Misc/WebIconDatabasePrivate.h:
* Misc/WebLocalizableStrings.h:
* Misc/WebNSEventExtras.h:
* Misc/WebNSPasteboardExtras.h:
* Misc/WebNSWindowExtras.h:
* Panels/WebPanelAuthenticationHandler.h:
* Plugins/WebPluginsPrivate.h:
* Storage/WebDatabaseManagerPrivate.h:
* WebCoreSupport/WebJavaScriptTextInputPanel.h:
* WebCoreSupport/WebKeyGenerator.h:
* WebCoreSupport/WebSecurityOriginPrivate.h:
* WebView/WebDashboardRegion.h:
* WebView/WebDynamicScrollBarsView.h:
* WebView/WebFrameView.h:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebResourceLoadDelegatePrivate.h:
* WebView/WebView.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161479
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jinwoo7.song@samsung.com [Wed, 8 Jan 2014 02:41:59 +0000 (02:41 +0000)]
[EFL][WK2] Fix failing ewk_view_page_contents_get() API test
https://bugs.webkit.org/show_bug.cgi?id=126609
Reviewed by Gyuyoung Kim.
Compare the amount of bytes in the expected result file with
the size of callback data from the API since the 'Date' field
and the boundaries will be different on each case.
Refered the test case of GTK port.
* UIProcess/API/efl/tests/resources/resultMHTML.mht: Added.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(EWK2ViewTest::PageContentsAsMHTMLCallback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161478
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
seokju@webkit.org [Wed, 8 Jan 2014 02:20:46 +0000 (02:20 +0000)]
Web Inspector: Remove leftover 'device metrics' code
https://bugs.webkit.org/show_bug.cgi?id=126607
Reviewed by Joseph Pecoraro.
Source/WebCore:
No new tests, No changes in behavior.
Removes unused code related to 'device metrics'.
* css/MediaQueryEvaluator.cpp:
(WebCore::device_heightMediaFeatureEval):
(WebCore::device_widthMediaFeatureEval):
* inspector/InspectorClient.h:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::didLayout):
* inspector/InspectorPageAgent.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::innerHeight):
(WebCore::DOMWindow::innerWidth):
* page/Screen.cpp:
(WebCore::Screen::height):
(WebCore::Screen::width):
* rendering/TextAutosizer.cpp:
(WebCore::TextAutosizer::processSubtree):
Source/WebKit/blackberry:
Clean up after removing InspectorClient::overrideDeviceMetrics().
* WebCoreSupport/InspectorClientBlackBerry.cpp:
* WebCoreSupport/InspectorClientBlackBerry.h:
Source/WebKit/mac:
* WebKit.order: Update after removing InspectorClient::overrideDeviceMetrics().
Source/WebKit2:
* mac/WebKit2.order: Update after removing InspectorClient::overrideDeviceMetrics().
LayoutTests:
* inspector/styles/override-screen-size-expected.txt: Removed.
* inspector/styles/override-screen-size.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161477
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 8 Jan 2014 01:35:35 +0000 (01:35 +0000)]
Fix the build. The WebKit2 project copied all of WebKit2/Scripts/webkit2 into WebKit2.framework/PrivateHeaders,
but that's bad because there are test result files in there now. Fix by having the project copy specific
.py files into rivateHeaders/webkit2
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161476
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Wed, 8 Jan 2014 01:16:01 +0000 (01:16 +0000)]
Unreviewed test fix: Correct whitespace around ]
* platform/mac/TestExpectations: "Debug]" should be "Debug ]"
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161475
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 8 Jan 2014 01:03:48 +0000 (01:03 +0000)]
Make it possible for MessageReceivers to pass messages to their superclass, and use it for RemoteLayerTreeDrawingAreaProxy
https://bugs.webkit.org/show_bug.cgi?id=126558
Reviewed by Anders Carlsson.
In a message.in file it's now possible to say:
messages -> Subclass : Superclass { ... } and the generated code will
call Superclass::didReceiveMessage().
Use this to have RemoteLayerTreeDrawingAreaProxy pass messages up to
DrawingAreaProxy.
* Scripts/webkit2/messages.py:
(generate_message_handler):
* Scripts/webkit2/model.py:
(MessageReceiver.__init__):
* Scripts/webkit2/parser.py:
(parse):
* UIProcess/DrawingAreaProxy.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161474
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 8 Jan 2014 01:03:46 +0000 (01:03 +0000)]
Add message-generation test for non-legacy message receiver
https://bugs.webkit.org/show_bug.cgi?id=126603
Reviewed by Anders Carlsson.
Add expected output files for a non-legacy message receiver, and add
testing for same.
* Scripts/webkit2/LegacyMessageReceiver-expected.cpp: Copied from Source/WebKit2/Scripts/webkit2/MessageReceiver-expected.cpp.
* Scripts/webkit2/LegacyMessages-expected.h: Added.
* Scripts/webkit2/MessageReceiver-expected.cpp:
(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):
* Scripts/webkit2/messages_unittest.py:
(MessagesTest.setUp):
(ParsingTest.test_receiver):
(HeaderTest.test_header):
(ReceiverImplementationTest.test_receiver_implementation):
* Scripts/webkit2/test-legacy-messages.in: Copied from Source/WebKit2/Scripts/webkit2/test-messages.in.
* Scripts/webkit2/test-messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161473
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 8 Jan 2014 01:03:44 +0000 (01:03 +0000)]
Move expected results out of messages_unittest.py into separate files
https://bugs.webkit.org/show_bug.cgi?id=126602
Reviewed by Anders Carlsson.
Uninline the test input and output from messages_unittest.py to make
it easier to add more tests.
* Scripts/webkit2/MessageReceiver-expected.cpp: Added.
(WebKit::WebPage::didReceiveWebPageMessage):
(WebKit::WebPage::didReceiveSyncWebPageMessage):
* Scripts/webkit2/Messages-expected.h: Added.
* Scripts/webkit2/messages_unittest.py:
(ParsingTest.test_receiver):
* Scripts/webkit2/test-messages.in: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161472
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lforschler@apple.com [Wed, 8 Jan 2014 00:51:30 +0000 (00:51 +0000)]
Add a scheduler for the CLoop bot.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161471
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Wed, 8 Jan 2014 00:42:20 +0000 (00:42 +0000)]
[iOS] Upstream WebKit support for various features
https://bugs.webkit.org/show_bug.cgi?id=126413
Reviewed by Sam Weinig.
Upstream iOS WebKit changes needed for these features:
- ENABLE(DELETION_UI)
- ENABLE(TOUCH_EVENTS)
- USE(QUICK_LOOK)
- USE(UIKIT_EDITING)
- ENABLE(DISK_IMAGE_CACHE)
- ENABLE(IOS_TEXT_AUTOSIZING)
- ENABLE(ICONDATABASE)
- ENABLE(DASHBOARD_SUPPORT)
* DefaultDelegates/WebDefaultEditingDelegate.m:
* Misc/WebCache.mm:
* WebCoreSupport/WebChromeClient.h:
* WebView/WebDataSource.mm:
(-[WebDataSource dealloc]):
* WebView/WebEditingDelegatePrivate.h:
* WebView/WebFrame.mm:
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView maintainsInactiveSelection]):
(-[WebHTMLView touch:]):
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
(-[WebView _cacheFrameLoadDelegateImplementations]):
(-[WebView quickLookContentForURL:]):
(-[WebView _touchEventRegions]):
* WebView/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161470
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Wed, 8 Jan 2014 00:42:18 +0000 (00:42 +0000)]
[iOS] Upstream a bug fix for plugin-backed media elements
https://bugs.webkit.org/show_bug.cgi?id=126412
Reviewed by Eric Carlson.
Media elements backed by plug-ins should outlive being removed from the
document, like their native counterparts do.
* Plugins/WebPluginController.h:
* Plugins/WebPluginController.mm:
(-[NSView isMediaPlugInProxyView]):
(-[NSView setIsMediaPlugInProxyView:]):
(-[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController mediaPlugInProxyViewCreated:]):
(-[WebPluginController destroyPlugin:]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(pluginView):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161469
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Wed, 8 Jan 2014 00:42:15 +0000 (00:42 +0000)]
[iOS] Upstream remainder of minimal-ui viewport changes
https://bugs.webkit.org/show_bug.cgi?id=126410
Reviewed by Sam Weinig.
Source/WebCore:
* dom/ViewportArguments.h:
Source/WebKit/ios:
* WebCoreSupport/WebChromeClientIOS.mm:
(dictionaryForViewportArguments):
* WebKit.iOS.exp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161468
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 8 Jan 2014 00:27:06 +0000 (00:27 +0000)]
DFG fixup phase should be responsible for inserting ValueToInt32's as needed and it should use Phantom to keep the original values alive in case of OSR exit
https://bugs.webkit.org/show_bug.cgi?id=126600
Reviewed by Michael Saboff.
This fixes an embarrassing OSR exit liveness bug. It also simplifies the code. We were
already using FixupPhase as the place where conversion nodes get inserted. ValueToInt32
was the only exception to that rule, and that was one of the reasons why we had this bug.
Henceforth ValueToInt32 is only inserted by FixupPhase, and only when it is necessary:
we have a BitOp that will want a ToInt32 conversion and the operand is not predicted to
already be an int32. If FixupPhase inserts any ValueToInt32's then the BitOp will no
longer appear to use the original operand, which will make OSR exit think that the
original operand is dead. We work around this they way we always do: insert a Phantom on
the original operands right after the BitOp. This ensures that any OSR exit in any of the
ValueToInt32's or in the BitOp itself will have values for the original inputs.
* dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwo):
(JSC::DFG::BackwardsPropagationPhase::propagate):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixIntEdge):
(JSC::DFG::FixupPhase::fixBinaryIntEdges):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* tests/stress/bit-op-value-to-int32-input-liveness.js: Added.
(foo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161465
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 8 Jan 2014 00:12:03 +0000 (00:12 +0000)]
createElementNS handles element name 'xmlns' correctly.
https://bugs.webkit.org/show_bug.cgi?id=126553
Patch by Victor Costan <costan@gmail.com> on 2014-01-07
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Tests: fast/dom/createElementNS-namespace-errors.html
fast/dom/setAttributeNS-namespace-errors.html
* dom/Document.cpp:
(WebCore::Document::hasValidNamespaceForElements): updated to match DOM3/DOM4 spec.
(WebCore::Document::hasValidNamespaceForAttributes): updated to match DOM3/DOM4 spec.
LayoutTests:
* fast/dom/createElementNS-namespace-errors-expected.txt: Added.
* fast/dom/createElementNS-namespace-errors.html: Added. Covers all the corner cases in the DOM4 spec.
* fast/dom/script-tests/setAttributeNS-prefix-and-null-namespace.js: Removed.
* fast/dom/setAttributeNS-expected.txt: Updated to match cleaned up test.
* fast/dom/setAttributeNS-namespace-errors-expected.txt: Added.
* fast/dom/setAttributeNS-namespace-errors.html: Added. Covers all the corner cases in the DOM4 spec.
* fast/dom/setAttributeNS-prefix-and-null-namespace-expected.txt: Removed.
* fast/dom/setAttributeNS-prefix-and-null-namespace.html: Removed. Subsumed by setAttributeNS-namespace-errors.
* fast/dom/setAttributeNS.html: Cleaned up.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161464
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lforschler@apple.com [Wed, 8 Jan 2014 00:09:44 +0000 (00:09 +0000)]
Update buiddir to be unique.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161463
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lforschler@apple.com [Wed, 8 Jan 2014 00:08:42 +0000 (00:08 +0000)]
fix Typo.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161462
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lforschler@apple.com [Wed, 8 Jan 2014 00:04:27 +0000 (00:04 +0000)]
Add buildbot infrasctructure for building and testing JSC cloop
https://bugs.webkit.org/show_bug.cgi?id=126604
Reviewed by Geoffrey Garen.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(CompileCLOOP):
(RunCLOOPTests):
(RunCLOOPTests.countFailures):
(BuildAndTestCLOOP):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161461
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 7 Jan 2014 23:46:26 +0000 (23:46 +0000)]
Web Inspector: Typo "clipboarPrefixString"
https://bugs.webkit.org/show_bug.cgi?id=126595
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-01-07
Reviewed by Sam Weinig.
* UserInterface/ConsoleCommandResult.js:
(WebInspector.ConsoleCommandResult.prototype.toMessageElement):
(WebInspector.ConsoleCommandResult.prototype.get clipboardPrefixString):
* UserInterface/ConsoleMessageImpl.js:
(WebInspector.ConsoleMessageImpl.prototype.get clipboardPrefixString):
(WebInspector.ConsoleMessageImpl.prototype.toClipboardString):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161460
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bburg@apple.com [Tue, 7 Jan 2014 23:37:03 +0000 (23:37 +0000)]
Unreviewed. Add myself as a committer.
* Scripts/webkitpy/common/config/contributors.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161459
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 7 Jan 2014 23:22:22 +0000 (23:22 +0000)]
DoYouEvenBench: Extract tests and runner code from benchmark.js/html
https://bugs.webkit.org/show_bug.cgi?id=126596
Reviewed by Stephanie Lewis.
Extracted benchmark-runner.js and tests.js out of benchmark.js and benchmark.html.
Added a "client" interface to BenchmarkRunner so that benchmark.html could register necessary hooks to
update its UI. Also made BenchmarkRunner store a tree of results so that the serialization of test names
could be isolated from BenchmarkRunner itself in the future.
* DoYouEvenBench/benchmark.html:
Moved the code to instantiate and update UI here from benchmark.js. The test code was moved out of this
file into resources/tests.js.
* DoYouEvenBench/resources/benchmark-runner.js: Renamed from PerformanceTests/DoYouEvenBench/benchmark.js.
(SimplePromise): Moved from benchmark.js
(SimplePromise.prototype.then): Ditto.
(SimplePromise.prototype.resolve): Ditto.
(BenchmarkTestStep): Added. Wraps each test step.
(BenchmarkRunner.suite): Moved from benchmark.js.
(BenchmarkRunner.setClient): Added.
(BenchmarkRunner.waitForElement): Moved.
(BenchmarkRunner._removeFrame): Ditto.
(BenchmarkRunner._appendFrame): Ditto. Set the width and the height of the iframe as they're more than
presentational as they affect performance.
(BenchmarkRunner._waitAndWarmUp): Ditto.
(BenchmarkRunner._runTest): Ditto.
(BenchmarkRunner._testName): Ditto.
(BenchmarkState): Ditto.
(BenchmarkState.prototype.currentSuite): Ditto.
(BenchmarkState.prototype.currentTest): Ditto.
(BenchmarkState.prototype.next): Ditto.
(BenchmarkState.prototype.isFirstTest): Ditto.
(BenchmarkState.prototype.prepareCurrentSuite): Ditto.
(BenchmarkRunner.step): Ditto.
(BenchmarkRunner._runTestAndRecordResults): Ditto. Note the code to update the UI has been move to
benchmark.html. Also moved the code to accumulate the totals here from _finalize.
(BenchmarkRunner._finalize): Moved.
* DoYouEvenBench/resources/tests.js: Copied from PerformanceTests/DoYouEvenBench/benchmark.html.
Uses BenchmarkTestStep instead of an array for each test step.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Tue, 7 Jan 2014 22:31:49 +0000 (22:31 +0000)]
PlatformLayer containing scrollbars does not disappear when setting overflow:hidden on page root, until resize.
https://bugs.webkit.org/show_bug.cgi?id=116051
Reviewed by Simon Fraser.
Move the pre-existing call to addedOrRemovedScrollbar() outside of the else-statement
in updateScrollbars() so that changes made in the if-statement cause the scrollbar
layers to be updated. The scrollbarAddedOrRemoved local variable guarding access to
addedOrRemovedScrollbar() is already being set (but never checked) inside the if-statement.
* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161457
268f45cc-cd09-0410-ab3c-
d52691b4dbfc