WebKit-https.git
6 years agoMake remaining CSSValue constructors return PassRef.
akling@apple.com [Fri, 6 Dec 2013 17:40:29 +0000 (17:40 +0000)]
Make remaining CSSValue constructors return PassRef.
<https://webkit.org/b/125337>

Tweak the remaining CSSValue create() helpers to return PassRef
instead of PassRefPtr in the cases where nullptr is never returned.

Reviewed by Anders Carlsson.

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

6 years agoHook into some shader symbol logic following the ANGLE update in r159533.
roger_fong@apple.com [Fri, 6 Dec 2013 17:28:44 +0000 (17:28 +0000)]
Hook into some shader symbol logic following the ANGLE update in r159533.
https://bugs.webkit.org/show_bug.cgi?id=125332.

Reviewed by Brent Fulgham.

No new functionality added.

* html/canvas/WebGLRenderingContext.cpp: Add some error checking for errors related to
    shader symbols that exist across both vertex and fragment shaders.
(WebCore::WebGLRenderingContext::linkProgram):
* platform/graphics/ANGLEWebKitBridge.cpp: Add logic for handling varyings
    and add new fields to the ANGLEShaderSymbol struct.
(WebCore::getSymbolInfo):
* platform/graphics/ANGLEWebKitBridge.h:
* platform/graphics/GraphicsContext3D.h: Add those same fields to the SymbolInfo struct
    as well so that we can access them from our shader source map.
    Also add a map of varyings along side the uniforms and attributes.
(WebCore::GraphicsContext3D::SymbolInfo::SymbolInfo):
(WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap):
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::areProgramSymbolsValid): Will be filled in later, this method
    will use the shader source map to check for issues with unused varyings and precisions
    mismatches of shader symbols that exist across both the vertex and fragment shaders.

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

6 years agoFix spelling error in style checker: beggining
cfleizach@apple.com [Fri, 6 Dec 2013 17:18:32 +0000 (17:18 +0000)]
Fix spelling error in style checker: beggining
https://bugs.webkit.org/show_bug.cgi?id=125347

Reviewed by Anders Carlsson.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_member_initialization_list):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_member_initialization_list):

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

6 years agoREGRESSION(r160213): Crash in js/dom/JSON-parse.html
msaboff@apple.com [Fri, 6 Dec 2013 14:54:06 +0000 (14:54 +0000)]
REGRESSION(r160213): Crash in js/dom/JSON-parse.html
https://bugs.webkit.org/show_bug.cgi?id=125335

Reviewed by Mark Lam.

Changed _llint_op_catch to materialize the VM via the scope chain instead of
the CodeBlock.  CallFrames always have a scope chain, but may have a null CodeBlock.

* llint/LowLevelInterpreter32_64.asm:
(_llint_op_catch):
* llint/LowLevelInterpreter64.asm:
(_llint_op_catch):

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

6 years ago[ATK] Missing aria roles mappings
commit-queue@webkit.org [Fri, 6 Dec 2013 13:58:38 +0000 (13:58 +0000)]
[ATK] Missing aria roles mappings
https://bugs.webkit.org/show_bug.cgi?id=117729

Patch by Lukasz Gajowy <l.gajowy@samsung.com> on 2013-12-06
Reviewed by Mario Sanchez Prada.

Source/WebCore:

Added a few mappings from ARIA roles to ATK roles.

Test: accessibility/aria-mappings.html

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

Tools:

Added new mappings to AccessibilityUIElementAtk.cpp.

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

LayoutTests:

Added new test, checking whether ARIA roles to ATK roles mappings work properly.

* accessibility/aria-mappings-expected.txt: Added.
* accessibility/aria-mappings.html: Added.
* platform/mac/accessibility/aria-mappings-expected.txt: Added.

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

6 years agoTypo fix after r160218.
ossy@webkit.org [Fri, 6 Dec 2013 12:41:44 +0000 (12:41 +0000)]
Typo fix after r160218.

* Scripts/webkitpy/test/main.py:
(main):

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

6 years agoUnreviewed fix after r160206.
ossy@webkit.org [Fri, 6 Dec 2013 11:29:27 +0000 (11:29 +0000)]
Unreviewed fix after r160206.

* Scripts/webkitpy/test/main.py:
(main): sys.platform can be win32 or cygwin too on Windows.

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

6 years agoBuild fix after r160207, remove the BitmapImage::decodeSize symbol export
commit-queue@webkit.org [Fri, 6 Dec 2013 11:21:23 +0000 (11:21 +0000)]
Build fix after r160207, remove the BitmapImage::decodeSize symbol export
https://bugs.webkit.org/show_bug.cgi?id=125342

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-06
Reviewed by Csaba Osztrogonác.

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

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

6 years ago[GStreamer] webkitwebaudiosrc element needs to emit stream-start, caps and segment...
philn@webkit.org [Fri, 6 Dec 2013 11:20:15 +0000 (11:20 +0000)]
[GStreamer] webkitwebaudiosrc element needs to emit stream-start, caps and segment events
https://bugs.webkit.org/show_bug.cgi?id=123015

Reviewed by Martin Robinson.

When the source element starts emitting buffers send along various
events to notify downstream elements.

No new tests, change covered by existing webaudio tests.

* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webkit_web_audio_src_init): Initialize segment.
(webKitWebAudioSrcConstructed): Give an explicit name to each
queue added in front of the interleave element.
(webKitWebAudioSrcLoop): Before sending the first buffers push
stream-start, caps and segment events on each queue's sinkpad.

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

6 years ago[GTK] Enable web audio by default
berto@igalia.com [Fri, 6 Dec 2013 11:08:03 +0000 (11:08 +0000)]
[GTK] Enable web audio by default
https://bugs.webkit.org/show_bug.cgi?id=124888

Reviewed by Martin Robinson.

When building with ./configure, enable_web_audio defaults to
"no". However the basic functionality has been working for months
so it's safe to enable it now.

* Source/autotools/ReadCommandLineArguments.m4:

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

6 years ago[GStreamer] Audio/Video sink management is incoherent
philn@webkit.org [Fri, 6 Dec 2013 09:06:14 +0000 (09:06 +0000)]
[GStreamer] Audio/Video sink management is incoherent
https://bugs.webkit.org/show_bug.cgi?id=125304

Reviewed by Gustavo Noronha Silva.

Allow subclasses of MediaPlayerPrivateGStreamerBase to create
custom audio/video sinks in a coherent manner using
create{Audio,Video}Sink methods. Convenience getters are also
available. Also removed some un-needed member variables in the
playbin-based player.

No new tests, existing media tests cover this change.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::audioSink):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
(WebCore::MediaPlayerPrivateGStreamerBase::createAudioSink):

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

6 years agoJSC: Simplify interface between throw and catch handler
msaboff@apple.com [Fri, 6 Dec 2013 05:32:06 +0000 (05:32 +0000)]
JSC: Simplify interface between throw and catch handler
https://bugs.webkit.org/show_bug.cgi?id=125328

Reviewed by Geoffrey Garen.

Simplified the throw - catch interface.  The throw side is only responsible for
jumping to the appropriate op_catch handler or returnFromJavaScript for uncaught
exceptions.  The handler uses the exception values like VM.callFrameForThrow
as appropriate and no longer relies on the throw side putting anything in
registers.

* jit/CCallHelpers.h:
(JSC::CCallHelpers::jumpToExceptionHandler):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_catch):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_catch):
* llint/LowLevelInterpreter32_64.asm:
(_llint_op_catch):
(_llint_throw_from_slow_path_trampoline):
* llint/LowLevelInterpreter64.asm:
(_llint_op_catch):
(_llint_throw_from_slow_path_trampoline):

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

6 years agoIntroduce IMAGE_TYPE_CASTS, and use it
gyuyoung.kim@samsung.com [Fri, 6 Dec 2013 05:20:32 +0000 (05:20 +0000)]
Introduce IMAGE_TYPE_CASTS, and use it
https://bugs.webkit.org/show_bug.cgi?id=125330

Reviewed by Ryosuke Niwa.

Source/WebCore:

As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
BitmapImage and SVGImage can use it to generate toFoo() type case helper functions.

No new tests, no behavior changes.

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer):
(WebCore::CachedImage::resumeAnimatingImagesForLoader):
* platform/graphics/BitmapImage.h:
* platform/graphics/Image.h:
* platform/mac/DragImageMac.mm:
(WebCore::createDragImageFromImage):
* svg/graphics/SVGImage.h:

Source/WebKit2:

As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
BitmapImage, SVGImage can use it to generate toFoo() type case helper functions.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pluginSnapshotTimerFired):

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

6 years agoC Loop LLINT layout test regressions.
mark.lam@apple.com [Fri, 6 Dec 2013 05:15:28 +0000 (05:15 +0000)]
C Loop LLINT layout test regressions.
https://bugs.webkit.org/show_bug.cgi?id=125314.

Reviewed by Geoffrey Garen.

The regression was due to the ENABLE_LLINT_C_LOOP flag not being included
in the build of the WebKit and WebKit2 components. As a result, some fields
in JSC::VM were ifdef'ed out in WebCore and JSC, but not in WebKit and
WebKit2. This resulted in VM::m_initializingObjectClass having 2 different
offsets depending on whether it is accessed from WebCore and JSC or from
WebKit and WebKit2, and chaos ensued.

This issue will manifest when we pass --cloop to build-webkit.
The fix is simply to add ENABLE_LLINT_C_LOOP to FEATURE_DEFINES for WebKit
and WebKit2.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

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

6 years agoRemove USE(LOCKFREE_THREADSAFEREFCOUNTED) from Atomics.cpp since it is
commit-queue@webkit.org [Fri, 6 Dec 2013 03:37:25 +0000 (03:37 +0000)]
Remove USE(LOCKFREE_THREADSAFEREFCOUNTED) from Atomics.cpp since it is
no longer defined.
https://bugs.webkit.org/show_bug.cgi?id=124502

Patch by Iain Lane <iain.lane@canonical.com> on 2013-12-05
Reviewed by Anders Carlsson.

* wtf/Atomics.cpp:

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

6 years agoClean up the forwarding headers of RenderBlock.h
zoltan@webkit.org [Fri, 6 Dec 2013 03:18:52 +0000 (03:18 +0000)]
Clean up the forwarding headers of RenderBlock.h
https://bugs.webkit.org/show_bug.cgi?id=125323

Reviewed by Ryosuke Niwa.

In this patch, I removed the unnecessary forwarding headers from RenderBlock.h, and moved some to RenderBlockFlow.h.

No new tests, no behavior change.

* rendering/RenderBlock.h: Remove unnecessary forwarding headers.
* rendering/RenderBlockFlow.h: Moved some forwarding headers from RenderBlock.h

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

6 years agoRefactor static getter function prototype to include thisValue in addition to the...
oliver@apple.com [Fri, 6 Dec 2013 03:03:24 +0000 (03:03 +0000)]
Refactor static getter function prototype to include thisValue in addition to the base object
https://bugs.webkit.org/show_bug.cgi?id=124461

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add thisValue parameter to static getter prototype, and switch
from JSValue to EncodedJSValue for parameters and return value.

Currently none of the static getters use the thisValue, but
separating out the refactoring will prevent future changes
from getting lost in the noise of refactoring.  This means
that this patch does not result in any change in behaviour.

* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
(JSC::::asCallbackObject):
(JSC::::staticFunctionGetter):
(JSC::::callbackGetter):
* jit/JITOperations.cpp:
* runtime/JSActivation.cpp:
(JSC::JSActivation::argumentsGetter):
* runtime/JSActivation.h:
* runtime/JSFunction.cpp:
(JSC::JSFunction::argumentsGetter):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::lengthGetter):
(JSC::JSFunction::nameGetter):
* runtime/JSFunction.h:
* runtime/JSObject.h:
(JSC::PropertySlot::getValue):
* runtime/NumberConstructor.cpp:
(JSC::numberConstructorNaNValue):
(JSC::numberConstructorNegInfinity):
(JSC::numberConstructorPosInfinity):
(JSC::numberConstructorMaxValue):
(JSC::numberConstructorMinValue):
* runtime/PropertySlot.h:
* runtime/RegExpConstructor.cpp:
(JSC::asRegExpConstructor):
(JSC::regExpConstructorDollar1):
(JSC::regExpConstructorDollar2):
(JSC::regExpConstructorDollar3):
(JSC::regExpConstructorDollar4):
(JSC::regExpConstructorDollar5):
(JSC::regExpConstructorDollar6):
(JSC::regExpConstructorDollar7):
(JSC::regExpConstructorDollar8):
(JSC::regExpConstructorDollar9):
(JSC::regExpConstructorInput):
(JSC::regExpConstructorMultiline):
(JSC::regExpConstructorLastMatch):
(JSC::regExpConstructorLastParen):
(JSC::regExpConstructorLeftContext):
(JSC::regExpConstructorRightContext):
* runtime/RegExpObject.cpp:
(JSC::asRegExpObject):
(JSC::regExpObjectGlobal):
(JSC::regExpObjectIgnoreCase):
(JSC::regExpObjectMultiline):
(JSC::regExpObjectSource):

Source/WebCore:

Change bindings codegen to produce static getter functions
with the correct types.  Also update the many custom implementations
to the new type.

No change in behaviour.

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
(WebCore::cssPropertyGetterCallback):
* bindings/js/JSDOMBinding.cpp:
(WebCore::objectToStringFunctionGetter):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMMimeTypeArrayCustom.cpp:
(WebCore::JSDOMMimeTypeArray::nameGetter):
* bindings/js/JSDOMPluginArrayCustom.cpp:
(WebCore::JSDOMPluginArray::nameGetter):
* bindings/js/JSDOMPluginCustom.cpp:
(WebCore::JSDOMPlugin::nameGetter):
* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::nameGetter):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::nonCachingStaticFunctionGetter):
(WebCore::childFrameGetter):
(WebCore::indexGetter):
(WebCore::namedItemGetter):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::JSHTMLAllCollection::nameGetter):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::JSHTMLCollection::nameGetter):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
(WebCore::JSHTMLFormControlsCollection::nameGetter):
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::nameGetter):
* bindings/js/JSHTMLFrameSetElementCustom.cpp:
(WebCore::JSHTMLFrameSetElement::nameGetter):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::nonCachingStaticBackFunctionGetter):
(WebCore::nonCachingStaticForwardFunctionGetter):
(WebCore::nonCachingStaticGoFunctionGetter):
* bindings/js/JSJavaScriptCallFrameCustom.cpp:
(WebCore::JSJavaScriptCallFrame::scopeType):
* bindings/js/JSLocationCustom.cpp:
(WebCore::nonCachingStaticReplaceFunctionGetter):
(WebCore::nonCachingStaticReloadFunctionGetter):
(WebCore::nonCachingStaticAssignFunctionGetter):
* bindings/js/JSNamedNodeMapCustom.cpp:
(WebCore::JSNamedNodeMap::nameGetter):
* bindings/js/JSNodeListCustom.cpp:
(WebCore::JSNodeList::nameGetter):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementPropertyGetter):
* bindings/js/JSPluginElementFunctions.h:
* bindings/js/JSRTCStatsResponseCustom.cpp:
(WebCore::JSRTCStatsResponse::nameGetter):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::nameGetter):
* bindings/js/JSStyleSheetListCustom.cpp:
(WebCore::JSStyleSheetList::nameGetter):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateParametersCheck):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::lengthGetter):
(JSC::RuntimeArray::indexGetter):
* bridge/runtime_array.h:
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::lengthGetter):
* bridge/runtime_method.h:
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):
* bridge/runtime_object.h:

Source/WebKit2:

Update the WK2 JSC usage to the new static getter API

* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
(WebKit::callMethod):
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::callNPJSObject):
(WebKit::constructWithConstructor):
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):
* WebProcess/Plugins/Netscape/JSNPObject.h:
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
(WebKit::NPRuntimeObjectMap::finalize):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::frameForContext):
(WebKit::WebFrame::counterValue):

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

6 years agoRemove Image::decodedSize()
timothy_horton@apple.com [Fri, 6 Dec 2013 02:52:12 +0000 (02:52 +0000)]
Remove Image::decodedSize()
https://bugs.webkit.org/show_bug.cgi?id=125327

Reviewed by Sam Weinig.

No new tests, just removing dead code.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::resetAnimation):
* platform/graphics/BitmapImage.h:
* platform/graphics/GeneratedImage.h:
* platform/graphics/Image.h:
* platform/graphics/cg/PDFDocumentImage.cpp:
* platform/graphics/cg/PDFDocumentImage.h:
* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageForContainer.h:

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

6 years agoDisable WebKit2 webkitpy unittests on Windows
ossy@webkit.org [Fri, 6 Dec 2013 01:50:15 +0000 (01:50 +0000)]
Disable WebKit2 webkitpy unittests on Windows
https://bugs.webkit.org/show_bug.cgi?id=125318

Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/test/main.py:
(main):

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

6 years agoFTL should use cvttsd2si directly for double-to-int32 conversions
fpizlo@apple.com [Fri, 6 Dec 2013 01:47:19 +0000 (01:47 +0000)]
FTL should use cvttsd2si directly for double-to-int32 conversions
https://bugs.webkit.org/show_bug.cgi?id=125275

Source/JavaScriptCore:

Reviewed by Michael Saboff.

Wow. This was an ordeal. Using cvttsd2si was actually easy, but I learned, and
sometimes even fixed, some interesting things:

- The llvm.x86.sse2.cvttsd2si intrinsic can actually result in LLVM emitting a
  vcvttsd2si. I guess the intrinsic doesn't actually imply the instruction.

- That whole thing about branchTruncateDoubleToUint32? Yeah we don't need that. It's
  better to use branchTruncateDoubleToInt32 instead. It has the right semantics for
  all of its callers (err, its one-and-only caller), and it's more likely to take
  fast path. This patch kills branchTruncateDoubleToUint32.

- "a[i] = v; v = a[i]". Does this change v? OK, assume that 'a[i]' is a pure-ish
  operation - like an array access with 'i' being an integer index and we're not
  having a bad time. Now does this change v? CSE assumes that it doesn't. That's
  wrong. If 'a' is a typed array - the most sensible and pure kind of array - then
  this can be a truncating cast. For example 'v' could be a double and 'a' could be
  an integer array.

- "v1 = a[i]; v2 = a[i]". Is v1 === v2 assuming that 'a[i]' is pure-ish? The answer
  is no. You could have a different arrayMode in each access. I know this sounds
  weird, but with concurrent JIT that might happen.

This patch adds tests for all of this stuff, except for the first issue (it's weird
but probably doesn't matter) and the last issue (it's too much of a freakshow).

* assembler/MacroAssemblerARM64.h:
* assembler/MacroAssemblerARMv7.h:
* assembler/MacroAssemblerX86Common.h:
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::getByValLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
* ftl/FTLAbbreviations.h:
(JSC::FTL::vectorType):
(JSC::FTL::getUndef):
(JSC::FTL::buildInsertElement):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::doubleToInt32):
(JSC::FTL::LowerDFGToLLVM::doubleToUInt32):
(JSC::FTL::LowerDFGToLLVM::sensibleDoubleToInt32):
* ftl/FTLOutput.h:
(JSC::FTL::Output::insertElement):
(JSC::FTL::Output::hasSensibleDoubleToInt):
(JSC::FTL::Output::sensibleDoubleToInt):

LayoutTests:

Reviewed by Michael Saboff.

* js/regress/double-to-int32-typed-array-expected.txt: Added.
* js/regress/double-to-int32-typed-array-no-inline-expected.txt: Added.
* js/regress/double-to-int32-typed-array-no-inline.html: Added.
* js/regress/double-to-int32-typed-array.html: Added.
* js/regress/double-to-uint32-typed-array-expected.txt: Added.
* js/regress/double-to-uint32-typed-array-no-inline-expected.txt: Added.
* js/regress/double-to-uint32-typed-array-no-inline.html: Added.
* js/regress/double-to-uint32-typed-array.html: Added.
* js/regress/script-tests/double-to-int32-typed-array-no-inline.js: Added.
(foo):
(test):
* js/regress/script-tests/double-to-int32-typed-array.js: Added.
(foo):
(test):
* js/regress/script-tests/double-to-uint32-typed-array-no-inline.js: Added.
(foo):
(test):
* js/regress/script-tests/double-to-uint32-typed-array.js: Added.
(foo):
(test):

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

6 years agoUnreviewed, rolling out r160133.
commit-queue@webkit.org [Fri, 6 Dec 2013 01:19:42 +0000 (01:19 +0000)]
Unreviewed, rolling out r160133.
http://trac.webkit.org/changeset/160133
https://bugs.webkit.org/show_bug.cgi?id=125325

broke bindings tests on all the bots (Requested by thorton on
#webkit).

Source/JavaScriptCore:

* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
(JSC::::staticFunctionGetter):
(JSC::::callbackGetter):
* jit/JITOperations.cpp:
* runtime/JSActivation.cpp:
(JSC::JSActivation::argumentsGetter):
* runtime/JSActivation.h:
* runtime/JSFunction.cpp:
(JSC::JSFunction::argumentsGetter):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::lengthGetter):
(JSC::JSFunction::nameGetter):
* runtime/JSFunction.h:
* runtime/JSObject.h:
(JSC::PropertySlot::getValue):
* runtime/NumberConstructor.cpp:
(JSC::numberConstructorNaNValue):
(JSC::numberConstructorNegInfinity):
(JSC::numberConstructorPosInfinity):
(JSC::numberConstructorMaxValue):
(JSC::numberConstructorMinValue):
* runtime/PropertySlot.h:
* runtime/RegExpConstructor.cpp:
(JSC::regExpConstructorDollar1):
(JSC::regExpConstructorDollar2):
(JSC::regExpConstructorDollar3):
(JSC::regExpConstructorDollar4):
(JSC::regExpConstructorDollar5):
(JSC::regExpConstructorDollar6):
(JSC::regExpConstructorDollar7):
(JSC::regExpConstructorDollar8):
(JSC::regExpConstructorDollar9):
(JSC::regExpConstructorInput):
(JSC::regExpConstructorMultiline):
(JSC::regExpConstructorLastMatch):
(JSC::regExpConstructorLastParen):
(JSC::regExpConstructorLeftContext):
(JSC::regExpConstructorRightContext):
* runtime/RegExpObject.cpp:
(JSC::regExpObjectGlobal):
(JSC::regExpObjectIgnoreCase):
(JSC::regExpObjectMultiline):
(JSC::regExpObjectSource):

Source/WebCore:

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
(WebCore::cssPropertyGetterCallback):
* bindings/js/JSDOMBinding.cpp:
(WebCore::objectToStringFunctionGetter):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMMimeTypeArrayCustom.cpp:
(WebCore::JSDOMMimeTypeArray::nameGetter):
* bindings/js/JSDOMPluginArrayCustom.cpp:
(WebCore::JSDOMPluginArray::nameGetter):
* bindings/js/JSDOMPluginCustom.cpp:
(WebCore::JSDOMPlugin::nameGetter):
* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::nameGetter):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::nonCachingStaticFunctionGetter):
(WebCore::childFrameGetter):
(WebCore::indexGetter):
(WebCore::namedItemGetter):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::JSHTMLAllCollection::nameGetter):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::JSHTMLCollection::nameGetter):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
(WebCore::JSHTMLFormControlsCollection::nameGetter):
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::nameGetter):
* bindings/js/JSHTMLFrameSetElementCustom.cpp:
(WebCore::JSHTMLFrameSetElement::nameGetter):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::nonCachingStaticBackFunctionGetter):
(WebCore::nonCachingStaticForwardFunctionGetter):
(WebCore::nonCachingStaticGoFunctionGetter):
* bindings/js/JSJavaScriptCallFrameCustom.cpp:
(WebCore::JSJavaScriptCallFrame::scopeType):
* bindings/js/JSLocationCustom.cpp:
(WebCore::nonCachingStaticReplaceFunctionGetter):
(WebCore::nonCachingStaticReloadFunctionGetter):
(WebCore::nonCachingStaticAssignFunctionGetter):
* bindings/js/JSNamedNodeMapCustom.cpp:
(WebCore::JSNamedNodeMap::nameGetter):
* bindings/js/JSNodeListCustom.cpp:
(WebCore::JSNodeList::nameGetter):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementPropertyGetter):
* bindings/js/JSPluginElementFunctions.h:
* bindings/js/JSRTCStatsResponseCustom.cpp:
(WebCore::JSRTCStatsResponse::nameGetter):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::nameGetter):
* bindings/js/JSStyleSheetListCustom.cpp:
(WebCore::JSStyleSheetList::nameGetter):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateParametersCheck):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::lengthGetter):
(JSC::RuntimeArray::indexGetter):
* bridge/runtime_array.h:
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::lengthGetter):
* bridge/runtime_method.h:
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):
* bridge/runtime_object.h:

Source/WebKit2:

* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
(WebKit::callMethod):
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::callNPJSObject):
(WebKit::constructWithConstructor):
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):
* WebProcess/Plugins/Netscape/JSNPObject.h:
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
(WebKit::NPRuntimeObjectMap::finalize):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::counterValue):

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

6 years agoWeb Inspector: Remove 'cookiesString' output from Page.getCookies
seokju@webkit.org [Fri, 6 Dec 2013 01:09:09 +0000 (01:09 +0000)]
Web Inspector: Remove 'cookiesString' output from Page.getCookies
https://bugs.webkit.org/show_bug.cgi?id=125268

Reviewed by Timothy Hatcher.

Remove 'cookiesString' output from Page.getCookies protocol.
It is no longer meaningful because it is an unused parameter.

Source/WebCore:

No new tests, no behavior change.

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::getCookies):
* inspector/InspectorPageAgent.h:
* inspector/protocol/Page.json:

Source/WebInspectorUI:

* UserInterface/CookieStorageContentView.js:
(WebInspector.CookieStorageContentView.prototype.update):
* UserInterface/InspectorBackendCommands.js:

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

6 years agoWeb Inspector: expose node and frame snapshot capabilities.
commit-queue@webkit.org [Fri, 6 Dec 2013 00:57:43 +0000 (00:57 +0000)]
Web Inspector: expose node and frame snapshot capabilities.
https://bugs.webkit.org/show_bug.cgi?id=124326

Patch by Brian J. Burg <burg@cs.washington.edu> on 2013-12-05
Reviewed by Joseph Pecoraro.

Source/WebCore:

This adds snapshotRect() and snapshotNode() to the Page domain.
Both methods create snapshots using FrameSnapshotting APIs
and send images to the inspector frontend as a data URL.

Remove the unimplemented Page.captureScreenshot API.

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::snapshotNode): Added.
(WebCore::InspectorPageAgent::snapshotRect): Added.
* inspector/InspectorPageAgent.h:
* inspector/protocol/Page.json: Added new protocol APIs.

Source/WebInspectorUI:

Add method signatures for snapshotNode() and snapshotRect().
Remove method signature for unimplemented Page.captureScreenshot.

* UserInterface/InspectorBackendCommands.js:

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

6 years agoSource/WebCore: [CSS Shapes] Enable CSS Shapes on Windows
betravis@adobe.com [Thu, 5 Dec 2013 23:48:06 +0000 (23:48 +0000)]
Source/WebCore:     [CSS Shapes] Enable CSS Shapes on Windows
    https://bugs.webkit.org/show_bug.cgi?id=89957

    Reviewed by Brent Fulgham.

    * css/CSSPropertyNames.in: Tweak to ensure shapes properties are regenerated.

WebKitLibraries: [CSS Shapes] Enable CSS Shapes on Windows
https://bugs.webkit.org/show_bug.cgi?id=89957

Reviewed by Brent Fulgham.

Turn on CSS_SHAPES on Windows now that bug 121883 has been fixed.

* win/tools/vsprops/FeatureDefines.props:
* win/tools/vsprops/FeatureDefinesCairo.props:

LayoutTests: [CSS Shapes] Enable CSS Shapes on Windows
https://bugs.webkit.org/show_bug.cgi?id=89957

Reviewed by Brent Fulgham.

Turning shapes tests back on on Windows builds.

* platform/win/TestExpectations: Enable shapes tests.

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

6 years ago[WebGL] Make sure we satisfy uniform and varying packing restrictions.
roger_fong@apple.com [Thu, 5 Dec 2013 23:45:28 +0000 (23:45 +0000)]
[WebGL] Make sure we satisfy uniform and varying packing restrictions.
https://bugs.webkit.org/show_bug.cgi?id=125124.
<rdar://problem/15203291>

Reviewed by Brent Fulgham.

Tests covered by WebGL Khronos conformance tests:
webgl/1.0.2/conformance/glsl/misc/shader-uniform-packing-restrictions.html
webgl/1.0.2/conformance/glsl/misc/shader-varying-packing-restrictions.html

* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
* src/compiler/Compiler.cpp:
Add a check to enforcePackingRestrictions to ensure we make sure packing restrictions for varyings are satisfied as well.
(TCompiler::TCompiler):
(TCompiler::Init):
(TCompiler::compile):
(TCompiler::enforcePackingRestrictions):
* src/compiler/ShHandle.h: Keep track of maximum varying vectors.
* platform/mac/TestExpectations: Unskip some 1.0.2 WebGL conformance tests that should now be passing.
Skip conformance/ogles/GL/build/build_009_to_016.html which is a faulty test and has too many varyings in one shader.

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

6 years agoWeb Inspector: [CSS Regions] Show a list of containing regions when clicking a node...
achicu@adobe.com [Thu, 5 Dec 2013 23:37:08 +0000 (23:37 +0000)]
Web Inspector: [CSS Regions] Show a list of containing regions when clicking a node that is part of a flow
https://bugs.webkit.org/show_bug.cgi?id=124614

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

Added a new function in DOMTreeManager called getNodeContentFlowInfo that can be used
to retrieve an object with the following structure:
{
     "regionFlow": <Reference to the ContentFlow object referenced by the -webkit-flow-from property of the node>,
     "contentFlow": <Reference to the ContentFlow object referenced by the -webkit-flow-into property of
                     the node or a parent of the node>,
     "regions": [ list of DOMNodes representing the regions containers of the node. The node is split across all these regions. ]
}

Also, used this method to display a two new sections in the Computed Styles panel.
1. Section "Flows": can have up to two Simple Rows: "Region Flow" and "Content Flow".
2. Section "Container Regions" contains a DOMTreeDataGrid with the list of regions.

The sections are only visible when there's content to display.

Next to the "Region Flow" simple row I've added an arrow that will take the user to the "ContentFlowDOMTreeContentView" of the
ContentFlow. The same happens for the "Content Flow", but in this case the element will also be highlighted.

Part of the patch I've added the DOMTreeDataGridNode. LayerTreeDataGrid has a lot of CSS in common with it, so I
will make another patch to refactor LayerTreeDataGrid to use DOMTreeDataGridNode as a base class.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/ComputedStyleDetailsPanel.css: Added.
(.details-section > .content > .group > .row.simple.content-flow-link > .label):
(.details-section > .content > .group > .row.simple.content-flow-link > .value):
(.details-section > .content > .group > .row.simple.content-flow-link > .value > div):
(.details-section > .content > .group > .row.simple.content-flow-link > .value > div > .icon):
(.details-section > .content > .group > .row.simple.content-flow-link > .value > div > span):
(.details-section > .content > .group > .row.simple.content-flow-link > .value > div > .go-to-arrow):
(.details-section > .content > .group > .row.simple.content-flow-link:hover > .value > div > .go-to-arrow):
* UserInterface/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel):
(WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.set regionFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.set contentFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions):
(WebInspector.ComputedStyleDetailsPanel.prototype.set containerRegions):
(WebInspector.ComputedStyleDetailsPanel.prototype.refresh):
(WebInspector.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
(WebInspector.ComputedStyleDetailsPanel.prototype._resetFlowDetails):
(WebInspector.ComputedStyleDetailsPanel.prototype._refreshFlowDetails.contentFlowInfoReady):
(WebInspector.ComputedStyleDetailsPanel.prototype._refreshFlowDetails):
(WebInspector.ComputedStyleDetailsPanel.prototype._goToRegionFlowArrowWasClicked):
(WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
* UserInterface/DOMTreeDataGrid.css: Added.
(.dom-tree-data-grid .data-grid):
(.dom-tree-data-grid .data-grid table.data):
(.dom-tree-data-grid .data-container):
(.dom-tree-data-grid .data-container tr):
(.dom-tree-data-grid .data-container td > div):
(.dom-tree-data-grid .data-container .name-column):
(.dom-tree-data-grid .data-container .name-column .icon):
(.dom-tree-data-grid .data-container .name-column .label):
(.dom-tree-data-grid .data-container tr:hover .name-column .label):
(.dom-tree-data-grid .data-container .go-to-arrow):
(.dom-tree-data-grid .data-container tr:hover .go-to-arrow):
(.dom-tree-data-grid .data-container tbody > tr:nth-child(2n)):
(.dom-tree-data-grid .data-container tbody > tr:nth-child(2n+1)):
* UserInterface/DOMTreeDataGrid.js: Added.
(WebInspector.DOMTreeDataGrid):
(WebInspector.DOMTreeDataGrid.prototype._onmousemove):
(WebInspector.DOMTreeDataGrid.prototype._onmouseout):
* UserInterface/DOMTreeDataGridNode.js: Added.
(WebInspector.DOMTreeDataGridNode):
(WebInspector.DOMTreeDataGridNode.prototype.get domNode):
(WebInspector.DOMTreeDataGridNode.prototype.createCellContent):
(WebInspector.DOMTreeDataGridNode.prototype._updateNodeName):
(WebInspector.DOMTreeDataGridNode.prototype._makeNameCell):
(WebInspector.DOMTreeDataGridNode.prototype._updateNameCellData):
(WebInspector.DOMTreeDataGridNode.prototype._goToArrowWasClicked):
* UserInterface/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement):
(WebInspector.DOMTreeManager.prototype.nodeRequested):
(WebInspector.DOMTreeManager.prototype._coerceRemoteArrayOfDOMNodes):
(WebInspector.DOMTreeManager.prototype.domNodeResolved):
(WebInspector.DOMTreeManager.prototype.regionNodesAvailable):
(WebInspector.DOMTreeManager.prototype.get if):
(WebInspector.DOMTreeManager.prototype.get var):
(WebInspector.DOMTreeManager.prototype.backendFunction.getComputedProperty):
(WebInspector.DOMTreeManager.prototype.backendFunction.getContentFlowName):
(WebInspector.DOMTreeManager.prototype.):
* UserInterface/DataGrid.css:
(.data-grid.no-header > table.header):
(.data-grid.no-header .data-container):
* UserInterface/DetailsSection.js:
(WebInspector.DetailsSection):
* UserInterface/InspectorBackend.js:
(InspectorBackendClass.prototype._wrap):
* UserInterface/Main.html:
* UserInterface/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype.showContentFlowDOMTree):
* UserInterface/RuntimeManager.js:
(WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
(WebInspector.RuntimeManager.prototype.getPropertiesForRemoteObject):

LayoutTests:

Added a new test to check the new WebInspector function called DOMTreeManager.getNodeContentFlowInfo.

* http/tests/inspector-protocol/resources/InspectorTest.js:
When testing the inspector code, we want to catch and log any uncaught exceptions or console.errors/asserts.
(InspectorTest.importInspectorScripts.console.error.window.onerror):
(InspectorTest.importInspectorScripts.console.assert):
(InspectorTest.importInspectorScripts):
* inspector-protocol/model/content-node-region-info-expected.txt: Added.
* inspector-protocol/model/content-node-region-info.html: Added.

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

6 years agoAX: Seed: safari extension installation crashes safari under voice over and freezes...
cfleizach@apple.com [Thu, 5 Dec 2013 23:33:10 +0000 (23:33 +0000)]
AX: Seed: safari extension installation crashes safari under voice over and freezes voice over
https://bugs.webkit.org/show_bug.cgi?id=125308

Reviewed by Anders Carlsson.

Much like Javascript alerts, we need to allow accessibility clients to continue to interact with the WebProcess thread
when using dispatchDecidePolicyResponses.

* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::sendSync):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

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

6 years ago32bit buildfix after r160151
commit-queue@webkit.org [Thu, 5 Dec 2013 23:12:47 +0000 (23:12 +0000)]
32bit buildfix after r160151
https://bugs.webkit.org/show_bug.cgi?id=125298

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-05
Reviewed by Csaba Osztrogonác.

* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(StreamingClient::handleDataReceived):

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

6 years agoFix ANGLE build failures by re-comitting the changes in http://trac.webkit.org/change...
matthew_hanson@apple.com [Thu, 5 Dec 2013 22:55:38 +0000 (22:55 +0000)]
Fix ANGLE build failures by re-comitting the changes in trac.webkit.org/changeset/154223
on top of the library updates introduced by http://trac.webkit.org/changeset/159533.

Rubber-stamped by Babak Shafiei.

* src/compiler/glslang.l:
* src/compiler/glslang_lex.cpp:
* src/compiler/preprocessor/Tokenizer.cpp:
* src/compiler/preprocessor/Tokenizer.l:

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

6 years ago"Use Selection for Find" doesn't work in PDF viewed in Safari
andersca@apple.com [Thu, 5 Dec 2013 22:30:40 +0000 (22:30 +0000)]
"Use Selection for Find" doesn't work in PDF viewed in Safari
https://bugs.webkit.org/show_bug.cgi?id=125319
<rdar://problem/15486983>

Reviewed by Tim Horton.

* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]):
Pass NSGeneralPboard to writeItemsToPasteboard.

(WebKit::PDFPlugin::handleEditingCommand):
Handle takeFindStringFromSelection by getting the current selection string and writing it to the find pasteboard.

(WebKit::PDFPlugin::isEditingCommandEnabled):
Handle takeFindStringFromSelection.

(WebKit::PDFPlugin::writeItemsToPasteboard):
Update this to take a pasteboard name.

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

6 years agoWebKit2 API should use weak ownership for delegate properties rather than assign
andersca@apple.com [Thu, 5 Dec 2013 21:38:09 +0000 (21:38 +0000)]
WebKit2 API should use weak ownership for delegate properties rather than assign
https://bugs.webkit.org/show_bug.cgi?id=125316
<rdar://problem/15560614>

Reviewed by Dan Bernstein.

Use WeakObjCPtr for the delegates.

* UIProcess/API/Cocoa/WKBrowsingContextController.h:
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(didStartProvisionalLoadForFrame):
(didReceiveServerRedirectForProvisionalLoadForFrame):
(didFailProvisionalLoadWithErrorForFrame):
(didCommitLoadForFrame):
(didFinishLoadForFrame):
(didFailLoadWithErrorForFrame):
(didStartProgress):
(didChangeProgress):
(didFinishProgress):
(didChangeBackForwardList):
(setUpPagePolicyClient):
(-[WKBrowsingContextController loadDelegate]):
(-[WKBrowsingContextController setLoadDelegate:]):
(-[WKBrowsingContextController policyDelegate]):
(-[WKBrowsingContextController setPolicyDelegate:]):
(-[WKBrowsingContextController historyDelegate]):
(-[WKBrowsingContextController setHistoryDelegate:]):
* UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
* UIProcess/API/Cocoa/WKConnection.mm:
(didReceiveMessage):
(didClose):
(-[WKConnection delegate]):
(-[WKConnection setDelegate:]):
* UIProcess/API/Cocoa/WKProcessGroup.mm:
(didCreateConnection):
(getInjectedBundleInitializationUserData):
(didNavigateWithNavigationData):
(didPerformClientRedirect):
(didPerformServerRedirect):
(didUpdateHistoryTitle):
(-[WKProcessGroup delegate]):
(-[WKProcessGroup setDelegate:]):

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

6 years agoCropping and drawing ImageBuffers results in uninitialized data being shown
commit-queue@webkit.org [Thu, 5 Dec 2013 20:44:41 +0000 (20:44 +0000)]
Cropping and drawing ImageBuffers results in uninitialized data being shown
https://bugs.webkit.org/show_bug.cgi?id=125271

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-05
Reviewed by Simon Fraser.

createCroppedImageIfNecessary() crops to the bottom left of the ImageBuffer
backing store instead of the top left. In addition, ImageBuffer::draw()
draws the entire ImageBuffer's backing store instead of just the relevant
portion of it.

No new tests are necessary because the existing tests already test this
functionality

* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::createCroppedImageIfNecessary): Crop to the top left of the
backing store
(WebCore::ImageBuffer::draw): Draw only the logical portion of the
backing store

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

6 years ago[Win] Avoid copying compiled-in resources to DSTROOT
bfulgham@apple.com [Thu, 5 Dec 2013 20:42:13 +0000 (20:42 +0000)]
[Win] Avoid copying compiled-in resources to DSTROOT
https://bugs.webkit.org/show_bug.cgi?id=125309

Reviewed by Jer Noble.

* WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Only copy Info.plist to the final WebKit.resource bundle.
The PNG and RC files are compiled into the WebKit.dll library.

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

6 years agoTweak WeakObjCPtr
andersca@apple.com [Thu, 5 Dec 2013 20:40:21 +0000 (20:40 +0000)]
Tweak WeakObjCPtr
https://bugs.webkit.org/show_bug.cgi?id=125311

Reviewed by Darin Adler.

Source/WebKit2:

Make it possible to use WeakObjCPtr with pointer types such as id. Also,
add a getAutoreleased() member that will load the weak pointer and retain + autorelease it.

* Shared/mac/WeakObjCPtr.h:
(WebKit::WeakObjCPtr::WeakObjCPtr):
(WebKit::WeakObjCPtr::operator=):
(WebKit::WeakObjCPtr::get):
(WebKit::WeakObjCPtr::getAutoreleased):

Tools:

Split up tests into more logical groups. Add new tests for new functionality.

* TestWebKitAPI/Tests/WebKit2/mac/WeakObjCPtr.mm:

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

6 years agoMake the C Loop LLINT work with callToJavaScript.
mark.lam@apple.com [Thu, 5 Dec 2013 20:33:35 +0000 (20:33 +0000)]
Make the C Loop LLINT work with callToJavaScript.
https://bugs.webkit.org/show_bug.cgi?id=125294.

Reviewed by Michael Saboff.

1. Changed the C Loop LLINT to dispatch to an Executable via its JITCode
   instance which is consistent with how the ASM LLINT works.
2. Changed CLoop::execute() to take an Opcode instead of an OpcodeID.
   This makes it play nice with the use of JITCode for dispatching.
3. Introduce a callToJavaScript and callToNativeFunction for the C Loop
   LLINT. These will call JSStack::pushFrame() and popFrame() to setup
   and teardown the CallFrame.
4. Also introduced a C Loop returnFromJavaScript which is just a
   replacement for ctiOpThrowNotCaught which had the same function.
5. Remove a lot of #if ENABLE(LLINT_C_LOOP) code now that the dispatch
   mechanism is consistent.

This patch has been tested with both configurations of COMPUTED_GOTOs
on and off.

* interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
(JSC::CachedCall::call):
(JSC::CachedCall::setArgument):
* interpreter/CallFrameClosure.h:
(JSC::CallFrameClosure::setThis):
(JSC::CallFrameClosure::setArgument):
(JSC::CallFrameClosure::resetCallFrame):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
* interpreter/Interpreter.h:
* interpreter/JSStack.h:
* interpreter/JSStackInlines.h:
(JSC::JSStack::pushFrame):
* interpreter/ProtoCallFrame.h:
(JSC::ProtoCallFrame::scope):
(JSC::ProtoCallFrame::callee):
(JSC::ProtoCallFrame::thisValue):
(JSC::ProtoCallFrame::argument):
(JSC::ProtoCallFrame::setArgument):
* jit/JITCode.cpp:
(JSC::JITCode::execute):
* jit/JITCode.h:
* jit/JITExceptions.cpp:
(JSC::genericUnwind):
* llint/LLIntCLoop.cpp:
(JSC::LLInt::CLoop::initialize):
* llint/LLIntCLoop.h:
* llint/LLIntEntrypoint.cpp:
(JSC::LLInt::setFunctionEntrypoint):
(JSC::LLInt::setEvalEntrypoint):
(JSC::LLInt::setProgramEntrypoint):
- Inverted the check for vm.canUseJIT(). This allows the JIT case to be
  #if'd out nicely when building the C Loop LLINT.
* llint/LLIntOpcode.h:
* llint/LLIntThunks.cpp:
(JSC::doCallToJavaScript):
(JSC::executeJS):
(JSC::callToJavaScript):
(JSC::executeNative):
(JSC::callToNativeFunction):
* llint/LLIntThunks.h:
* llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
* runtime/Executable.h:
(JSC::ExecutableBase::offsetOfNumParametersFor):
(JSC::ExecutableBase::hostCodeEntryFor):
(JSC::ExecutableBase::jsCodeEntryFor):
(JSC::ExecutableBase::jsCodeWithArityCheckEntryFor):
(JSC::NativeExecutable::create):
(JSC::NativeExecutable::finishCreation):
(JSC::ProgramExecutable::generatedJITCode):
* runtime/JSArray.cpp:
(JSC::AVLTreeAbstractorForArrayCompare::compare_key_key):
* runtime/StringPrototype.cpp:
(JSC::replaceUsingRegExpSearch):
* runtime/VM.cpp:
(JSC::VM::getHostFunction):

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

6 years ago[CSS Shapes] Update negative-arguments inset parsing test to test for the argument...
zoltan@webkit.org [Thu, 5 Dec 2013 20:27:59 +0000 (20:27 +0000)]
[CSS Shapes] Update negative-arguments inset parsing test to test for the argument not for the commas
https://bugs.webkit.org/show_bug.cgi?id=125310

Reviewed by Rob Buis.

Fix typo in the negative-arguments inset tests, remove commas.

* fast/shapes/parsing/parsing-shape-lengths-expected.txt:
* fast/shapes/parsing/parsing-shape-lengths.html:

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

6 years ago[Win] Exiting from Media Full Screen mode via 'escape' key does not work properly
bfulgham@apple.com [Thu, 5 Dec 2013 20:14:48 +0000 (20:14 +0000)]
[Win] Exiting from Media Full Screen mode via 'escape' key does not work properly
https://bugs.webkit.org/show_bug.cgi?id=125272

Reviewed by Jer Noble.

* WebView.cpp:
(WebView::fullScreenClientWillExitFullScreen): Change to webkitCancelFullScreen method call
to more closely match Media Control behavior.

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

6 years agoRemove stale ScriptGlobalObject methods
commit-queue@webkit.org [Thu, 5 Dec 2013 19:48:33 +0000 (19:48 +0000)]
Remove stale ScriptGlobalObject methods
https://bugs.webkit.org/show_bug.cgi?id=125276

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-12-05
Reviewed by Sam Weinig.

* bindings/js/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::set):
* bindings/js/ScriptObject.h:

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

6 years agoChange how the form element pointer affects parsing template elements, to reduce...
rniwa@webkit.org [Thu, 5 Dec 2013 19:45:29 +0000 (19:45 +0000)]
Change how the form element pointer affects parsing template elements, to reduce weirdness in templates
https://bugs.webkit.org/show_bug.cgi?id=125279

Reviewed by Antti Koivisto.

Source/WebCore:

Faithfully update the HTML5 parser after http://html5.org/tools/web-apps-tracker?from=8330&to=8331.

Test: fast/dom/HTMLTemplateElement/no-form-association-2.html

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLFormElement): Don't the form element pointer if the context
element or its ancestor is a template element.
(WebCore::HTMLConstructionSite::insideTemplateElement): Added.
(WebCore::HTMLConstructionSite::createHTMLElement): Renamed openElementsContainTemplateElement to
insideTemplateElement to reflect the true semantics of the boolean.

* html/parser/HTMLConstructionSite.h:

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ignore the form element pointer if there
is a template element on the stack of open elements. This faithfully reflects what's being said in the
specification. We should probably make isParsingTemplateContents more efficient by storing a boolean
and then wrap from() in some helper function but that should probbaly happen in a separate patch.
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInBody): Don't unset or rely on the form element pointer
when there is a template element on the stack of open elements.

* html/parser/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::isParsingTemplateContents): Added a trivial implementation for when
TEMPLATE_ELEMENT is disabled.
(WebCore::HTMLTreeBuilder::isParsingFragmentOrTemplateContents): Merged two implementations.

LayoutTests:

Added a regression test. Someone should port this test into web-platform-tests once the latest spec.
change has been refelcted to a working draft version of the HTML5 specification.

* fast/dom/HTMLTemplateElement/no-form-association-2-expected.txt: Added.
* fast/dom/HTMLTemplateElement/no-form-association-2.html: Added.

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

6 years ago[MediaStream] Firing negotiationneeded event upon track add/remove on MediaStream
commit-queue@webkit.org [Thu, 5 Dec 2013 19:23:03 +0000 (19:23 +0000)]
[MediaStream] Firing negotiationneeded event upon track add/remove on MediaStream
https://bugs.webkit.org/show_bug.cgi?id=125243

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-12-05
Reviewed by Eric Carlson.

Spec states that: In particular, if an RTCPeerConnection object is consuming a MediaStream on which a track is
added, by, e.g., the addTrack() method being invoked, the RTCPeerConnection object must fire the
"negotiationneeded" event. Removal of media components must also trigger "negotiationneeded".

Source/WebCore:

Existing tests updated.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::addTrack):
(WebCore::MediaStream::removeTrack):
(WebCore::MediaStream::addObserver):
(WebCore::MediaStream::removeObserver):
* Modules/mediastream/MediaStream.h:
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::~RTCPeerConnection):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::removeStream):
(WebCore::RTCPeerConnection::didAddOrRemoveTrack):
* Modules/mediastream/RTCPeerConnection.h:
* platform/mock/RTCPeerConnectionHandlerMock.cpp:
(WebCore::RTCPeerConnectionHandlerMock::addStream):

LayoutTests:

* fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt:
* fast/mediastream/RTCPeerConnection-AddRemoveStream.html:
* fast/mediastream/RTCPeerConnection-onnegotiationneeded-expected.txt:
* fast/mediastream/RTCPeerConnection-onnegotiationneeded.html:

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

6 years ago[Unreviewed] Turn on executable bits of Tools/Scripts/run-nix-tests and Tools/Scripts...
hugo.lima@openbossa.org [Thu, 5 Dec 2013 18:32:44 +0000 (18:32 +0000)]
[Unreviewed] Turn on executable bits of Tools/Scripts/run-nix-tests and Tools/Scripts/update-webkitnix-libs

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

6 years agoBad repaints on twitter when the tile cache has a margin
bdakin@apple.com [Thu, 5 Dec 2013 17:57:26 +0000 (17:57 +0000)]
Bad repaints on twitter when the tile cache has a margin
https://bugs.webkit.org/show_bug.cgi?id=125263
-and corresponding-
<rdar://problem/15576884>

Reviewed by Tim Horton.

When tiles that used to be margin tiles become real-content tiles, they need to be
invalidated.

Two new helper functions will make it so that we don’t have to manually factor out
the margin from the bounds in more than one place in the code.
* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::boundsWithoutMargin):
(WebCore::TileController::boundsAtLastRevalidateWithoutMargin):

 Here is one existing place where we used to factor out the margin, but now we can
call boundsWithoutMargin().
(WebCore::TileController::adjustRectAtTileIndexForMargin):

And here is where we invalidate the formerly-margin tiles.
(WebCore::TileController::revalidateTiles):

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

6 years agoRemove the forward declaration of BidiContext class from RenderBlock.h
zoltan@webkit.org [Thu, 5 Dec 2013 17:54:48 +0000 (17:54 +0000)]
Remove the forward declaration of BidiContext class from RenderBlock.h
https://bugs.webkit.org/show_bug.cgi?id=125265

Reviewed by Csaba Osztrogonác.

No new tests, no behavior change.

* rendering/RenderBlock.h: BidiContext is not used in RenderBlock.h

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

6 years ago[Cairo] Avoid extra copy when drawing images
commit-queue@webkit.org [Thu, 5 Dec 2013 17:18:18 +0000 (17:18 +0000)]
[Cairo] Avoid extra copy when drawing images
https://bugs.webkit.org/show_bug.cgi?id=124209

Patch by Aloisio Almeida Jr <aloisio.almeida@openbossa.org> on 2013-12-05
Reviewed by Carlos Garcia Campos.

This commit applies some changes proposed after the original patch has
been landed. It fixes the logic to create the subsurface (as it was
inverted). It also remove an unnecessary RefPtr variable to hold the
subsurface.

No new tests. It's an enhancement. Already covered by existing tests.

* platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::drawSurfaceToContext):

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

6 years ago[CSS Shapes] Fix inset when only a subset of the arguments are defined
zoltan@webkit.org [Thu, 5 Dec 2013 16:48:06 +0000 (16:48 +0000)]
[CSS Shapes] Fix inset when only a subset of the arguments are defined
https://bugs.webkit.org/show_bug.cgi?id=125277

Reviewed by David Hyatt.

Source/WebCore:

       I thought Length's default value is fixed-0, but actually it's auto-0. For the optional arguments
       of inset shape, we need to use fixed-0, so I updated the code and the tests to use that explicitly.

No new tests, I updated the old ones.

* css/BasicShapeFunctions.cpp:
(WebCore::basicShapeForValue):

LayoutTests:

* fast/shapes/shape-outside-floats/shape-outside-floats-inset.html:

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

6 years agoFix JavaScriptCore build if cloop is enabled after r160094
commit-queue@webkit.org [Thu, 5 Dec 2013 16:27:21 +0000 (16:27 +0000)]
Fix JavaScriptCore build if cloop is enabled after r160094
https://bugs.webkit.org/show_bug.cgi?id=125292

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-05
Reviewed by Michael Saboff.

Move ProtoCallFrame outside the JIT guard.

* jit/JITCode.h:

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

6 years ago[GTK] Do not use deprecated gtk-doc 'Rename to' tag
carlosgc@webkit.org [Thu, 5 Dec 2013 14:50:57 +0000 (14:50 +0000)]
[GTK] Do not use deprecated gtk-doc 'Rename to' tag
https://bugs.webkit.org/show_bug.cgi?id=125303

Reviewed by Philippe Normand.

GObject introspection rename-to annotation is available in
since version 0.6.3 so we should use that instead.

* bindings/gobject/WebKitDOMEventTarget.h:

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

6 years ago[GTK] Fix gtk-doc warnings when generating DOM bindings API docs
carlosgc@webkit.org [Thu, 5 Dec 2013 14:32:46 +0000 (14:32 +0000)]
[GTK] Fix gtk-doc warnings when generating DOM bindings API docs
https://bugs.webkit.org/show_bug.cgi?id=125302

Reviewed by Philippe Normand.

* gtk/generate-webkitdom-doc-files:
(WebKitDOMDocGeneratorSections.write_footer): Add a new section
containing a private subsection for WEBKIT_API, WEBKIT_DEPRECATED
and WEBKIT_DEPRECATED_FOR macros.

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

6 years ago[GTK] Add missing symbols to WebKitDOMDeprecated.symbols
carlosgc@webkit.org [Thu, 5 Dec 2013 13:31:02 +0000 (13:31 +0000)]
[GTK] Add missing symbols to WebKitDOMDeprecated.symbols
https://bugs.webkit.org/show_bug.cgi?id=125300

Reviewed by Philippe Normand.

Add webkit_dom_html_element_get_id and
webkit_dom_html_element_set_id to the symbols files.

* bindings/gobject/WebKitDOMDeprecated.symbols:
* bindings/gobject/webkitdom.symbols:

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

6 years ago[GTK] Fix GObject introspection warnings in webkitspellchecker
carlosgc@webkit.org [Thu, 5 Dec 2013 13:28:37 +0000 (13:28 +0000)]
[GTK] Fix GObject introspection warnings in webkitspellchecker
https://bugs.webkit.org/show_bug.cgi?id=125299

Reviewed by Philippe Normand.

* webkit/webkitspellchecker.cpp: Add missing ':' after some
gobject-introspection annotations.

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

6 years agoFix cross compilation on x86
commit-queue@webkit.org [Thu, 5 Dec 2013 12:38:15 +0000 (12:38 +0000)]
Fix cross compilation on x86
https://bugs.webkit.org/show_bug.cgi?id=125295

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-05
Reviewed by Zoltan Herczeg.

Certain compiler flags should not be added when cross compilation is enabled.

* Scripts/webkitdirs.pm:
(runAutogenForAutotoolsProjectIfNecessary):
(generateBuildSystemFromCMakeProject):

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

6 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Thu, 5 Dec 2013 12:34:06 +0000 (12:34 +0000)]
Unreviewed EFL gardening

After bumping GStreamer version to 1.2.1 in r160151 some video related WebGL conformance test started to pass.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

6 years agoUnreviewed. Update GObject DOM bindings symbols file after r159711.
carlosgc@webkit.org [Thu, 5 Dec 2013 12:14:16 +0000 (12:14 +0000)]
Unreviewed. Update GObject DOM bindings symbols file after r159711.

* bindings/gobject/webkitdom.symbols:

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

6 years agoRemove duplicated/dead code from cpp style checker unit tests.
commit-queue@webkit.org [Thu, 5 Dec 2013 12:00:50 +0000 (12:00 +0000)]
Remove duplicated/dead code from cpp style checker unit tests.
https://bugs.webkit.org/show_bug.cgi?id=125226

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-05
Reviewed by Ryosuke Niwa.

Remove the first definition of OrderOfIncludesTest class as it is
overwritten by the second. Remove a duplicated assert statement
from the second class.

* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(OrderOfIncludesTest.setUp):
(OrderOfIncludesTest.test_try_drop_common_suffixes):
  The last assert was duplicated.

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

6 years agoRemove Scripts/generate-qt-inspector-resource.
commit-queue@webkit.org [Thu, 5 Dec 2013 11:07:11 +0000 (11:07 +0000)]
Remove Scripts/generate-qt-inspector-resource.
https://bugs.webkit.org/show_bug.cgi?id=125288

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-05
Reviewed by Andreas Kling.

* Scripts/generate-qt-inspector-resource: Removed. There is no QT anymore.
We don't need this file.

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

6 years agoRemove certain methods from TestExpectations and use TestExpectationsModel instead...
commit-queue@webkit.org [Thu, 5 Dec 2013 10:32:13 +0000 (10:32 +0000)]
Remove certain methods from TestExpectations and use TestExpectationsModel instead of them
https://bugs.webkit.org/show_bug.cgi?id=125218

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-05
Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder.skip_tests):
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.run_tests):
(LayoutTestRunner._update_summary_with_result):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._test_is_slow):
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator._insert_failure_summaries):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectations.get_rebaselining_failures):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(assert_exp):
(MiscTests.test_multiple_results):
(MiscTests.test_category_expectations):
(MiscTests.test_get_modifiers):
(MiscTests.test_get_expectations_string):
(MiscTests.test_expectation_to_string):
(MiscTests.test_get_test_set):
(MiscTests.test_more_specific_override_resets_skip):
(SkippedTests.check):
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.__init__):
(summarize_results):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineExpectations._tests_to_rebaseline):

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

6 years ago[GTK] Move platform sources free of layering violations under libPlatform
zandobersek@gmail.com [Thu, 5 Dec 2013 08:49:18 +0000 (08:49 +0000)]
[GTK] Move platform sources free of layering violations under libPlatform
https://bugs.webkit.org/show_bug.cgi?id=117509

Reviewed by Carlos Garcia Campos.

* GNUmakefile.list.am: Move additional source files located in the platform layer under libPlatform.
All moved sources are free of layering violations and thus ready for the migration.

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

6 years agoRemove bridge/testqtbindings.cpp.
commit-queue@webkit.org [Thu, 5 Dec 2013 08:47:51 +0000 (08:47 +0000)]
Remove bridge/testqtbindings.cpp.
https://bugs.webkit.org/show_bug.cgi?id=125287

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-05
Reviewed by Alexey Proskuryakov.

* bridge/testqtbindings.cpp: Removed. There is no QT anymore.
We don't need this file.

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

6 years ago[GTK][WK2] Clean up WorkQueueGtk
zandobersek@gmail.com [Thu, 5 Dec 2013 08:47:45 +0000 (08:47 +0000)]
[GTK][WK2] Clean up WorkQueueGtk
https://bugs.webkit.org/show_bug.cgi?id=125177

Reviewed by Carlos Garcia Campos.

Clean up the GTK implementation of the WorkQueue class a bit.
- registerSocketEventHandler doesn't take a condition argument anymore -- G_IO_IN was the only condition ever passed into
that method so that is now the hard-coded default.
- Clean up the declarations of GTK-specific bits in the WorkQueue header file. SocketEventSourceIterator typedef is removed
and auto will be used instead.
- WorkQueue::dispatchOnTermination and WorkQueue::SocketEventSource::performWorkOnTermination methods were unused and now removed.
- WorkQueue::SocketEventSource doesn't expect a GIO condition anymore, and WorkQueue::SocketEventSource::checkCondition is removed.
G_IO_IN condition was the only one used is now hard-coded into the check in WorkQueue::SocketEventSource::eventCallback.
- Removed an unnecessary non-null assertion for the heap-allocated SocketEventSource.
- Removed a technically duplicated assertion that a file descriptor is already present in the event sources map. Moved the
assertion before the HashMap::find() call.
- Removed two unnecessary assertions that non-null values are being returned by g_idle_source_new() and g_timeout_source_new().
Both functions are guaranteed to return non-null values.

* Platform/CoreIPC/unix/ConnectionUnix.cpp:
(CoreIPC::Connection::open):
* Platform/WorkQueue.h:
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::SocketEventSource::SocketEventSource):
(WorkQueue::SocketEventSource::eventCallback):
(WorkQueue::registerSocketEventHandler):
(WorkQueue::unregisterSocketEventHandler):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):

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

6 years agoReport error when #else is used in message receiver generator's input.
commit-queue@webkit.org [Thu, 5 Dec 2013 07:41:26 +0000 (07:41 +0000)]
Report error when #else is used in message receiver generator's input.
https://bugs.webkit.org/show_bug.cgi?id=124147

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-12-04
Reviewed by Csaba Osztrogonác.

* Scripts/webkit2/messages_unittest.py:
(UnsupportedPrecompilerDirectiveTest):
(UnsupportedPrecompilerDirectiveTest.test_error_at_else):
(UnsupportedPrecompilerDirectiveTest.test_error_at_elif):
* Scripts/webkit2/parser.py:
(parse):

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

6 years agoLayout Test platform/mac/accessibility/search-predicate-element-count.html is flaky
samuel_white@apple.com [Thu, 5 Dec 2013 06:44:39 +0000 (06:44 +0000)]
Layout Test platform/mac/accessibility/search-predicate-element-count.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=125195

Reviewed by Chris Fleizach.

Our test checks for AccessibilityObject::isOnscreen which makes sure an element is currently scrolled to a visible
location onscreen. This test was flaky because sometimes elements we thought would be visible weren't. To resolve
this I've moved the elements that are tested for visibility to the very top of the document so they have a tiny
vertical offset and will ALWAYS be visible.

* platform/mac/TestExpectations:
* platform/mac/accessibility/search-predicate-element-count-expected.txt:
* platform/mac/accessibility/search-predicate-element-count.html:

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

6 years ago% unit heights don't work if parent block height is set in vh
commit-queue@webkit.org [Thu, 5 Dec 2013 05:11:06 +0000 (05:11 +0000)]
% unit heights don't work if parent block height is set in vh
https://bugs.webkit.org/show_bug.cgi?id=118516

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2013-12-04
Reviewed by Simon Fraser.

From Blink r156449 by <srinivasa.ragavan.venkateswaran@intel.com>

Source/WebCore:

An element having height as percentage needs to have the
containingblock's height or availableheight to calculate its
own height. The containing block having a height set in vh
unit was not being considered for calculating the child's
height.

Tests: fast/css/viewport-percentage-compute-box-height.html
       fast/css/viewport-percentage-compute-box-width.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computePercentageLogicalHeight):
Correct child's height(in pecentage) was not being calculated
incase of parent having height set in vh unit. Added condition
to calculate the containing block height in terms of viewport size.

LayoutTests:

* fast/css/viewport-percentage-compute-box-height-expected.html: Added.
* fast/css/viewport-percentage-compute-box-height.html: Added.
* fast/css/viewport-percentage-compute-box-width-expected.html: Added.
* fast/css/viewport-percentage-compute-box-width.html: Added.
Added new tests for verifying that percentage unit height/width works
if parent block height/width is set in vh/vw units.

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

6 years ago[Windows] Unreviewed build fix. Copy headers from rendering/line to build directory.
roger_fong@apple.com [Thu, 5 Dec 2013 04:35:49 +0000 (04:35 +0000)]
[Windows] Unreviewed build fix. Copy headers from rendering/line to build directory.

* WebCore.vcxproj/copyForwardingHeaders.cmd:

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

6 years agobgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are...
rniwa@webkit.org [Thu, 5 Dec 2013 03:57:12 +0000 (03:57 +0000)]
bgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are useless
https://bugs.webkit.org/show_bug.cgi?id=125208

Rubber-stamped by Anders Carlsson.

Address Darin's comment to use fastGetAttribute instead of getAttribute.

* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::bgColor):
(WebCore::HTMLDocument::fgColor):
(WebCore::HTMLDocument::alinkColor):
(WebCore::HTMLDocument::linkColor):
(WebCore::HTMLDocument::vlinkColor):

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

6 years agoEnable HTMLTemplateElement by default
rniwa@webkit.org [Thu, 5 Dec 2013 03:42:15 +0000 (03:42 +0000)]
Enable HTMLTemplateElement by default
https://bugs.webkit.org/show_bug.cgi?id=123851

Reviewed by Antti Koivisto.

.:

* Source/autotools/SetupWebKitFeatures.m4:
* Source/cmake/WebKitFeatures.cmake:

Source/WTF:

* wtf/FeatureDefines.h:

Tools:

* Scripts/webkitperl/FeatureList.pm:

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

6 years agoVersioning.
matthew_hanson@apple.com [Thu, 5 Dec 2013 03:36:35 +0000 (03:36 +0000)]
Versioning.

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

6 years agoVersioning.
matthew_hanson@apple.com [Thu, 5 Dec 2013 03:23:22 +0000 (03:23 +0000)]
Versioning.

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

6 years agoConsolidate various frame snapshot capabilities.
commit-queue@webkit.org [Thu, 5 Dec 2013 03:08:40 +0000 (03:08 +0000)]
Consolidate various frame snapshot capabilities.
https://bugs.webkit.org/show_bug.cgi?id=124325

Patch by Brian J. Burg <burg@cs.washington.edu> on 2013-12-04
Reviewed by Darin Adler.

Source/WebCore:

Various snapshot creation methods had duplicated code and were split
between Frame, DragImage, and platform-specific implementationss.
This patch puts WebCore snapshot methods into FrameSnapshotting
and removes platform implementations where possible.

DragImage methods reuse snapshot methods where possible. Inspector
will be able to take snapshots without using drag images.

No new tests, this is a refactoring.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOM.mm:
(-[DOMNode renderedImage]):
(-[DOMRange renderedImageForcingBlackText:]):
* dom/Clipboard.cpp:
(WebCore::Clipboard::createDragImage):
* dom/ClipboardMac.mm:
(WebCore::Clipboard::createDragImage):
* page/DragController.cpp:
(WebCore::DragController::startDrag):
* page/Frame.cpp:
* page/Frame.h:
* page/FrameSnapshotting.cpp: Added.
(WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
(WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
(WebCore::snapshotFrameRect): Move most buffer logic to here.
(WebCore::snapshotSelection): Moved from Frame.
(WebCore::snapshotNode): Moved from Frame.
* page/FrameSnapshotting.h: Added.
* page/mac/FrameMac.mm: Removed.
* page/mac/FrameSnapshottingMac.h: Removed.
* page/mac/FrameSnapshottingMac.mm: Removed.
* page/win/FrameWin.cpp: remove duplicate implementation.
* page/win/FrameWin.h: Fix an incorrect parameter name.
* platform/DragImage.cpp:
(WebCore::ScopedNodeDragState::ScopedNodeDragState):
(WebCore::ScopedNodeDragState::~ScopedNodeDragState):
(WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
(WebCore::createDragImageForNode):
(WebCore::createDragImageForSelection):
(WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
(WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
(WebCore::createDragImageForRange): Moved from Frame.
(WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
(WebCore::createDragImageForLink): use nullptr.

Source/WebKit/ios:

* WebCoreSupport/WebFrameIOS.mm: use new header file.

Source/WebKit/mac:

Use new platform-independent methods instead of Mac methods.

* WebView/WebHTMLView.mm:
(-[WebHTMLView _selectionDraggingImage]):
(-[WebHTMLView selectionImageForcingBlackText:]):

Source/WebKit/win:

* DOMCoreClasses.cpp:
(DOMElement::renderedImage): use createDragImageForNode.

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

6 years ago[EFL] Bumping GStreamer version to 1.2.1
commit-queue@webkit.org [Thu, 5 Dec 2013 03:05:40 +0000 (03:05 +0000)]
[EFL] Bumping GStreamer version to 1.2.1
https://bugs.webkit.org/show_bug.cgi?id=125155

Patch by Jozsef Berta <jberta@inf.u-szeged.hu> on 2013-12-04
Reviewed by Gyuyoung Kim.

* efl/jhbuild.modules: Set the GStreamer version to 1.2.1

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

6 years agoFold constant typed arrays
fpizlo@apple.com [Thu, 5 Dec 2013 02:05:35 +0000 (02:05 +0000)]
Fold constant typed arrays
https://bugs.webkit.org/show_bug.cgi?id=125205

Source/JavaScriptCore:

Reviewed by Oliver Hunt and Mark Hahnenberg.

If by some other mechanism we have a typed array access on a compile-time constant
typed array pointer, then fold:

- Array bounds checks. Specifically, fold the load of length.

- Loading the vector.

This needs to install a watchpoint on the array itself because of the possibility of
neutering. Neutering is ridiculous. We do this without bloating the size of
ArrayBuffer or JSArrayBufferView in the common case (i.e. the case where you
allocated an array that didn't end up becoming a compile-time constant). To install
the watchpoint, we slowDownAndWasteMemory and then create an incoming reference to
the ArrayBuffer, where that incoming reference is from a watchpoint object. The
ArrayBuffer already knows about such incoming references and can fire the
watchpoints that way.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGDesiredWatchpoints.cpp:
(JSC::DFG::ArrayBufferViewWatchpointAdaptor::add):
(JSC::DFG::DesiredWatchpoints::addLazily):
* dfg/DFGDesiredWatchpoints.h:
(JSC::DFG::GenericSetAdaptor::add):
(JSC::DFG::GenericSetAdaptor::hasBeenInvalidated):
(JSC::DFG::ArrayBufferViewWatchpointAdaptor::hasBeenInvalidated):
(JSC::DFG::GenericDesiredWatchpoints::reallyAdd):
(JSC::DFG::GenericDesiredWatchpoints::areStillValid):
(JSC::DFG::GenericDesiredWatchpoints::isStillValid):
(JSC::DFG::GenericDesiredWatchpoints::shouldAssumeMixedState):
(JSC::DFG::DesiredWatchpoints::isStillValid):
(JSC::DFG::DesiredWatchpoints::shouldAssumeMixedState):
(JSC::DFG::DesiredWatchpoints::isValidOrMixed):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::tryGetFoldableView):
* dfg/DFGGraph.h:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpForTypedArrayOutOfBounds):
(JSC::DFG::SpeculativeJIT::emitTypedArrayBoundsCheck):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compileConstantIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGWatchpointCollectionPhase.cpp:
(JSC::DFG::WatchpointCollectionPhase::handle):
(JSC::DFG::WatchpointCollectionPhase::addLazily):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetIndexedPropertyStorage):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::typedArrayLength):
* runtime/ArrayBuffer.cpp:
(JSC::ArrayBuffer::transfer):
* runtime/ArrayBufferNeuteringWatchpoint.cpp: Added.
(JSC::ArrayBufferNeuteringWatchpoint::ArrayBufferNeuteringWatchpoint):
(JSC::ArrayBufferNeuteringWatchpoint::~ArrayBufferNeuteringWatchpoint):
(JSC::ArrayBufferNeuteringWatchpoint::finishCreation):
(JSC::ArrayBufferNeuteringWatchpoint::destroy):
(JSC::ArrayBufferNeuteringWatchpoint::create):
(JSC::ArrayBufferNeuteringWatchpoint::createStructure):
* runtime/ArrayBufferNeuteringWatchpoint.h: Added.
(JSC::ArrayBufferNeuteringWatchpoint::set):
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:

LayoutTests:

Reviewed by Oliver Hunt and Mark Hahnenberg.

* js/regress/fixed-typed-array-storage-expected.txt: Added.
* js/regress/fixed-typed-array-storage-var-index-expected.txt: Added.
* js/regress/fixed-typed-array-storage-var-index.html: Added.
* js/regress/fixed-typed-array-storage.html: Added.
* js/regress/script-tests/fixed-typed-array-storage-var-index.js: Added.
(foo):
* js/regress/script-tests/fixed-typed-array-storage.js: Added.
(foo):

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

6 years agoUpdate jhbuild revision.
commit-queue@webkit.org [Thu, 5 Dec 2013 02:03:52 +0000 (02:03 +0000)]
Update jhbuild revision.
https://bugs.webkit.org/show_bug.cgi?id=124966

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-04
Reviewed by Gyuyoung Kim.

Used version of Jhbuild failed to create directories and caused
update-webkitefl-libs to fail. Latest Jhbuild version has it fixed.

* jhbuild/jhbuild-wrapper:

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

6 years ago[Cocoa] Make WKConnection work with WKObject wrapping
weinig@apple.com [Thu, 5 Dec 2013 01:43:49 +0000 (01:43 +0000)]
[Cocoa] Make WKConnection work with WKObject wrapping
https://bugs.webkit.org/show_bug.cgi?id=125266

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKConnection.mm:
(-[WKConnection dealloc]):
(didReceiveMessage):
(didClose):
(setUpClient):
(-[WKConnection delegate]):
(-[WKConnection setDelegate:]):
(-[WKConnection sendMessageWithName:body:]):
(-[WKConnection remoteObjectRegistry]):
(-[WKConnection API::]):
* UIProcess/API/Cocoa/WKConnectionInternal.h:
(WebKit::wrapper):
* UIProcess/API/Cocoa/WKProcessGroup.mm:
(didCreateConnection):
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
(-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
(-[WKWebProcessPlugInController connection]):
(-[WKWebProcessPlugInController _bundleRef]):

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

6 years agoRemove spaces on a blank line to have ResourceHandleCFNet.cpp identical to iOS
benjamin@webkit.org [Thu, 5 Dec 2013 01:30:00 +0000 (01:30 +0000)]
Remove spaces on a blank line to have ResourceHandleCFNet.cpp identical to iOS

Unreviewed.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-04

* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::platformLoadResourceSynchronously):

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

6 years agoAdd a WeakObjCPtr class
andersca@apple.com [Thu, 5 Dec 2013 01:26:14 +0000 (01:26 +0000)]
Add a WeakObjCPtr class
https://bugs.webkit.org/show_bug.cgi?id=125267

Reviewed by Geoffrey Garen.

Source/WebKit2:

WeakObjCPtr is a zeroing weak reference class template that will be used for delegates.

* Shared/mac/WeakObjCPtr.h: Added.
(WebKit::WeakObjCPtr::WeakObjCPtr):
(WebKit::WeakObjCPtr::~WeakObjCPtr):
(WebKit::WeakObjCPtr::operator=):
(WebKit::WeakObjCPtr::get):
* WebKit2.xcodeproj/project.pbxproj:

Tools:

Add API tests for WeakObjCPtr.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/mac/WeakObjCPtr.mm: Added.
(TEST):

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

6 years agoWeb Inspector: ColorWheel uses old Color constructor
graouts@apple.com [Thu, 5 Dec 2013 00:52:36 +0000 (00:52 +0000)]
Web Inspector: ColorWheel uses old Color constructor
https://bugs.webkit.org/show_bug.cgi?id=125260

Reviewed by Joseph Pecoraro.

Update to new WebInspector.Color constructor signature and use a clear color.

* UserInterface/ColorWheel.js:
(WebInspector.ColorWheel.prototype.get tintedColor):
(WebInspector.ColorWheel.prototype.get rawColor):

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

6 years agoWeb Inspector: color picker doesn't work with "blue"
graouts@apple.com [Thu, 5 Dec 2013 00:17:54 +0000 (00:17 +0000)]
Web Inspector: color picker doesn't work with "blue"
https://bugs.webkit.org/show_bug.cgi?id=125262

Reviewed by Joseph Pecoraro.

Under certain circumstances rounding issues would have us compare
two equal numbers that differ by 0.00000001 and sometime trip this
if statement and yield a null color. We now add a little fudge to
the test and also return a clear color rather than null to match what
we do in the getters for "tintedColor" and "rawColor".

* UserInterface/ColorWheel.js:
(WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):

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

6 years agoWeb Inspector: use only two decimals for opacity in rgba/hsla colors
graouts@apple.com [Thu, 5 Dec 2013 00:17:21 +0000 (00:17 +0000)]
Web Inspector: use only two decimals for opacity in rgba/hsla colors
https://bugs.webkit.org/show_bug.cgi?id=125261

Reviewed by Joseph Pecoraro.

* UserInterface/ColorPicker.js:
(WebInspector.ColorPicker.prototype._updateColor):

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

6 years agoUnreviewed EFL build fix after r160135
ryuan.choi@samsung.com [Thu, 5 Dec 2013 00:13:48 +0000 (00:13 +0000)]
Unreviewed EFL build fix after r160135

* CMakeLists.txt: Added rendering/line to include lists.

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

6 years agoUnreviewed, rolling out r160116.
commit-queue@webkit.org [Thu, 5 Dec 2013 00:06:13 +0000 (00:06 +0000)]
Unreviewed, rolling out r160116.
http://trac.webkit.org/changeset/160116
https://bugs.webkit.org/show_bug.cgi?id=125264

Change doesn't work as intended. See bug comments for details.
(Requested by bfulgham on #webkit).

* runtime/InitializeThreading.cpp:
(JSC::initializeThreading):

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

6 years agoMove pseudo element construction out from Element
antti@apple.com [Thu, 5 Dec 2013 00:03:00 +0000 (00:03 +0000)]
Move pseudo element construction out from Element
https://bugs.webkit.org/show_bug.cgi?id=125257

Reviewed by Anders Carlsson.

This is logically part of the style resolve/render tree construction. This will make future
refactoring easier.

* dom/Element.cpp:
* dom/Element.h:
* style/StyleResolveTree.cpp:
(WebCore::Style::beforeOrAfterPseudoElement):
(WebCore::Style::setBeforeOrAfterPseudoElement):
(WebCore::Style::clearBeforeOrAfterPseudoElement):
(WebCore::Style::needsPseudeElement):
(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
(WebCore::Style::attachRenderTree):
(WebCore::Style::updateBeforeOrAfterPseudoElement):
(WebCore::Style::resolveTree):

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

6 years agoMake the estimatedProgress property observable using KVO
andersca@apple.com [Wed, 4 Dec 2013 23:43:37 +0000 (23:43 +0000)]
Make the estimatedProgress property observable using KVO
https://bugs.webkit.org/show_bug.cgi?id=125259

Reviewed by Dan Bernstein.

Source/WebKit2:

* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
* UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::PageLoadState):
(WebKit::PageLoadState::reset):
(WebKit::PageLoadState::activeURL):
(WebKit::PageLoadState::estimatedProgress):
(WebKit::PageLoadState::setPendingAPIRequestURL):
(WebKit::PageLoadState::clearPendingAPIRequestURL):
(WebKit::PageLoadState::didStartProgress):
(WebKit::PageLoadState::didChangeProgress):
(WebKit::PageLoadState::didFinishProgress):
* UIProcess/PageLoadState.h:
Move m_estimatedProgress to the page load state and call the observers when it changes.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::estimatedProgress):
(WebKit::WebPageProxy::didStartProgress):
(WebKit::WebPageProxy::didChangeProgress):
(WebKit::WebPageProxy::didFinishProgress):
(WebKit::WebPageProxy::resetState):
Call through to m_pageLoadState.

* UIProcess/WebPageProxy.h:

Tools:

Bind the progress indicator value to the "estimatedProgress" property.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController awakeFromNib]):

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

6 years ago[WK2] Including SecItemShim.h should be guarded by ENABLE(SEC_ITEM_SHIM)
commit-queue@webkit.org [Wed, 4 Dec 2013 23:26:33 +0000 (23:26 +0000)]
[WK2] Including SecItemShim.h should be guarded by ENABLE(SEC_ITEM_SHIM)
https://bugs.webkit.org/show_bug.cgi?id=125255

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-04
Reviewed by Anders Carlsson.

* UIProcess/WebProcessProxy.cpp:
* WebProcess/WebProcess.cpp:

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

6 years agoMove TrailingObjects class into its own h/cpp
zoltan@webkit.org [Wed, 4 Dec 2013 23:21:42 +0000 (23:21 +0000)]
Move TrailingObjects class into its own h/cpp
https://bugs.webkit.org/show_bug.cgi?id=124956

Reviewed by David Hyatt.

Since I moved space-ignoring inline functions into MidpointState in r160074,
I can nicely separate TrailingObjects class from BreakingContextInlineHeader.h.
This change improves the readability, and it's part of the RenderBlockLineLayout
refactoring campaign, which is tracked under bug #121261.

No new tests, no behavior change.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.h:
* rendering/line/BreakingContextInlineHeaders.h:
* rendering/line/TrailingObjects.cpp: Added.
(WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
* rendering/line/TrailingObjects.h: Added.
(WebCore::TrailingObjects::TrailingObjects):
(WebCore::TrailingObjects::setTrailingWhitespace):
(WebCore::TrailingObjects::clear):
(WebCore::TrailingObjects::appendBoxIfNeeded):

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

6 years agoWeb Inspector: "data detectors" menu on hover for actionable tokens
graouts@apple.com [Wed, 4 Dec 2013 23:20:54 +0000 (23:20 +0000)]
Web Inspector: "data detectors" menu on hover for actionable tokens
https://bugs.webkit.org/show_bug.cgi?id=124363

Reviewed by Timothy Hatcher.

Add a new WebInspector.HoverMenu class to display an overlay menu that is presented
with respect to a target frame that it draws itself around adding a customizable
action button to its right. The menu uses fade animations as it's presented and
dismissed and a single delegation method is fired when the button is pressed. Finally,
just like a popover, it automatically dismisses itself upon scrolling anywhere
outside of its bounds.

* UserInterface/HoverMenu.css: Added.
* UserInterface/HoverMenu.js: Added.
(WebInspector.HoverMenu):
(WebInspector.HoverMenu.prototype.get element):
(WebInspector.HoverMenu.prototype.dismiss):
(WebInspector.HoverMenu.prototype.handleEvent):
(WebInspector.HoverMenu.prototype._handleClickEvent):
* UserInterface/Images/HoverMenuButton.png: Added.
* UserInterface/Images/HoverMenuButton@2x.png: Added.
* UserInterface/Main.html:

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

6 years agoRefactor static getter function prototype to include thisValue in addition to the...
oliver@apple.com [Wed, 4 Dec 2013 23:20:48 +0000 (23:20 +0000)]
Refactor static getter function prototype to include thisValue in addition to the base object
https://bugs.webkit.org/show_bug.cgi?id=124461

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add thisValue parameter to static getter prototype, and switch
from JSValue to EncodedJSValue for parameters and return value.

Currently none of the static getters use the thisValue, but
separating out the refactoring will prevent future changes
from getting lost in the noise of refactoring.  This means
that this patch does not result in any change in behaviour.

* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
(JSC::::asCallbackObject):
(JSC::::staticFunctionGetter):
(JSC::::callbackGetter):
* jit/JITOperations.cpp:
* runtime/JSActivation.cpp:
(JSC::JSActivation::argumentsGetter):
* runtime/JSActivation.h:
* runtime/JSFunction.cpp:
(JSC::JSFunction::argumentsGetter):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::lengthGetter):
(JSC::JSFunction::nameGetter):
* runtime/JSFunction.h:
* runtime/JSObject.h:
(JSC::PropertySlot::getValue):
* runtime/NumberConstructor.cpp:
(JSC::numberConstructorNaNValue):
(JSC::numberConstructorNegInfinity):
(JSC::numberConstructorPosInfinity):
(JSC::numberConstructorMaxValue):
(JSC::numberConstructorMinValue):
* runtime/PropertySlot.h:
* runtime/RegExpConstructor.cpp:
(JSC::asRegExpConstructor):
(JSC::regExpConstructorDollar1):
(JSC::regExpConstructorDollar2):
(JSC::regExpConstructorDollar3):
(JSC::regExpConstructorDollar4):
(JSC::regExpConstructorDollar5):
(JSC::regExpConstructorDollar6):
(JSC::regExpConstructorDollar7):
(JSC::regExpConstructorDollar8):
(JSC::regExpConstructorDollar9):
(JSC::regExpConstructorInput):
(JSC::regExpConstructorMultiline):
(JSC::regExpConstructorLastMatch):
(JSC::regExpConstructorLastParen):
(JSC::regExpConstructorLeftContext):
(JSC::regExpConstructorRightContext):
* runtime/RegExpObject.cpp:
(JSC::asRegExpObject):
(JSC::regExpObjectGlobal):
(JSC::regExpObjectIgnoreCase):
(JSC::regExpObjectMultiline):
(JSC::regExpObjectSource):

Source/WebCore:

Change bindings codegen to produce static getter functions
with the correct types.  Also update the many custom implementations
to the new type.

No change in behaviour.

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
(WebCore::cssPropertyGetterCallback):
* bindings/js/JSDOMBinding.cpp:
(WebCore::objectToStringFunctionGetter):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMMimeTypeArrayCustom.cpp:
(WebCore::JSDOMMimeTypeArray::nameGetter):
* bindings/js/JSDOMPluginArrayCustom.cpp:
(WebCore::JSDOMPluginArray::nameGetter):
* bindings/js/JSDOMPluginCustom.cpp:
(WebCore::JSDOMPlugin::nameGetter):
* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::nameGetter):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::nonCachingStaticFunctionGetter):
(WebCore::childFrameGetter):
(WebCore::indexGetter):
(WebCore::namedItemGetter):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::JSHTMLAllCollection::nameGetter):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::JSHTMLCollection::nameGetter):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
(WebCore::JSHTMLFormControlsCollection::nameGetter):
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::nameGetter):
* bindings/js/JSHTMLFrameSetElementCustom.cpp:
(WebCore::JSHTMLFrameSetElement::nameGetter):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::nonCachingStaticBackFunctionGetter):
(WebCore::nonCachingStaticForwardFunctionGetter):
(WebCore::nonCachingStaticGoFunctionGetter):
* bindings/js/JSJavaScriptCallFrameCustom.cpp:
(WebCore::JSJavaScriptCallFrame::scopeType):
* bindings/js/JSLocationCustom.cpp:
(WebCore::nonCachingStaticReplaceFunctionGetter):
(WebCore::nonCachingStaticReloadFunctionGetter):
(WebCore::nonCachingStaticAssignFunctionGetter):
* bindings/js/JSNamedNodeMapCustom.cpp:
(WebCore::JSNamedNodeMap::nameGetter):
* bindings/js/JSNodeListCustom.cpp:
(WebCore::JSNodeList::nameGetter):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementPropertyGetter):
* bindings/js/JSPluginElementFunctions.h:
* bindings/js/JSRTCStatsResponseCustom.cpp:
(WebCore::JSRTCStatsResponse::nameGetter):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::nameGetter):
* bindings/js/JSStyleSheetListCustom.cpp:
(WebCore::JSStyleSheetList::nameGetter):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateParametersCheck):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::lengthGetter):
(JSC::RuntimeArray::indexGetter):
* bridge/runtime_array.h:
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::lengthGetter):
* bridge/runtime_method.h:
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):
* bridge/runtime_object.h:

Source/WebKit2:

Update the WK2 JSC usage to the new static getter API

* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
(WebKit::callMethod):
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::callNPJSObject):
(WebKit::constructWithConstructor):
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):
* WebProcess/Plugins/Netscape/JSNPObject.h:
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
(WebKit::NPRuntimeObjectMap::finalize):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::frameForContext):
(WebKit::WebFrame::counterValue):

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

6 years agoWeb Inspector: edited color should serialize back to original format when possible
graouts@apple.com [Wed, 4 Dec 2013 23:16:59 +0000 (23:16 +0000)]
Web Inspector: edited color should serialize back to original format when possible
https://bugs.webkit.org/show_bug.cgi?id=125244

Reviewed by Joseph Pecoraro.

Profoundly reworked WebInspector.Color to be more efficient and more flexible when
serializing the color to the various supported formats.

* UserInterface/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
Use new WebInspector.Color.fromString() factory and check for a null return value
rather than an exception to identify invalid color tokens.

* UserInterface/Color.js:
(WebInspector.Color):
Rewrote WebInspector.Color such that it would have, at all times, a canonical
representation in terms of either RGBA or HSLA depending on the format used to
create the color. The new constructor parameters lets the user pass a format
and the RGBA or HSLA components, allowing to bypass the string-only creation
system which was sub-optimal for the new color picker. Additionally, the toString()
method now can provide the most accurate serialization of the color based on the
provided format with a fallback mechanism to RGB/RGBA in cases where the desired
format would incur a loss of fidelity. Finally, simplified the API to only feature
essential features.

(WebInspector.Color.fromString):
New factory method used to create a color from a string.

* UserInterface/ColorPicker.js:
(WebInspector.ColorPicker.prototype.set color):
Keep track of the original color format so that we can use it as the preferred format
when serializing the updated color in _updateColor().

(WebInspector.ColorPicker.prototype._updateColor):
Use the original color format as the prefered formation for color serialization. Also,
use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory.

(WebInspector.ColorPicker.prototype._updateSliders):
Use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory.

* UserInterface/ColorWheel.js:
(WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
Use the new WebInspector.Color constructor in lieu of the removed .fromRGB factory.

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

6 years ago[iOS] Enable Objective-C ARC when building JSC tools for iOS simulator
dbates@webkit.org [Wed, 4 Dec 2013 23:07:04 +0000 (23:07 +0000)]
[iOS] Enable Objective-C ARC when building JSC tools for iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=125170

Reviewed by Geoffrey Garen.

* API/tests/testapi.mm:
* Configurations/ToolExecutable.xcconfig:

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

6 years ago[CSS Shapes] Support inset for shape-outside
zoltan@webkit.org [Wed, 4 Dec 2013 22:53:24 +0000 (22:53 +0000)]
[CSS Shapes] Support inset for shape-outside
<https://webkit.org/b/125112>

Reviewed by David Hyatt.

Source/WebCore:

This patch adds inset support for shape-outside. Parsing has previously landed in r159968.
Specification: http://dev.w3.org/csswg/css-shapes/#supported-basic-shapes

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left.html
       fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right.html
       fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left.html
       fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right.html
       fast/shapes/shape-outside-floats/shape-outside-floats-inset.html

* platform/LengthSize.h:
(WebCore::LengthSize::floatSize): Add conversion to FloatSize.
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape): Handle inset case.

LayoutTests:

* fast/shapes/resources/rounded-rectangle.js: Add support to generate partially rounded rectangles.
(scanConvertRoundedRectangleOutside):
(genLeftRoundedRectFloatShapeOutsideRefTest):
(genRightRoundedRectFloatShapeOutsideRefTest):
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-inset.html: Added.

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

6 years agoAdd a loading property to WKBrowsingContextController
andersca@apple.com [Wed, 4 Dec 2013 22:51:37 +0000 (22:51 +0000)]
Add a loading property to WKBrowsingContextController
https://bugs.webkit.org/show_bug.cgi?id=125256

Reviewed by Dan Bernstein.

Source/WebKit2:

* UIProcess/API/Cocoa/WKBrowsingContextController.h:
Add loading property.

* UIProcess/API/Cocoa/WKBrowsingContextConteroller.mm:
Implement willChangeIsLoading and didChangeIsLoading and call the relevant KVO methods.

(-[WKBrowsingContextController isLoading]):
Call through to the PageLoadState.

* UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::reset):
Use setState.

(WebKit::PageLoadState::isLoading):
Call isLoadingState.

(WebKit::PageLoadState::didStartProvisionalLoad):
Use setState.

(WebKit::PageLoadState::didFailProvisionalLoad):
Use setState.

(WebKit::PageLoadState::didCommitLoad):
Use setState.

(WebKit::PageLoadState::didFinishLoad):
Use setState.

(WebKit::PageLoadState::didFailLoad):
Use setState.

(WebKit::PageLoadState::isLoadingState):
Helper function for determining whether a state is a loading state or not.

(WebKit::PageLoadState::setState):
If setting the state will cause "isLoading" to change, call out to the observers.

* UIProcess/PageLoadState.h:

Tools:

Bind the progress indicator visibility to the "loading" property.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController didStartProgress]):
(-[WK2BrowserWindowController didFinishProgress]):

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

6 years agoSource/WebKit2: [EFL][GTK][WK2] Remove unnecessary reinterpret_casts when setting...
commit-queue@webkit.org [Wed, 4 Dec 2013 22:42:46 +0000 (22:42 +0000)]
Source/WebKit2: [EFL][GTK][WK2] Remove unnecessary reinterpret_casts when setting API clients
https://bugs.webkit.org/show_bug.cgi?id=125231

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-04
Reviewed by Anders Carlsson.

After r159988, WKClients have to be instantiated with a specific
version of that client and its Base field has to used when setting it.
Eg:

    WKFullScreenClientV0 wkClient = {
        {
            0, // version
            this, // clientInfo
        },
            willEnterFullScreen,
            willExitFullScreen
    };
    WKViewSetFullScreenClientGtk(this, &wkClient.base);

So we don't need the reinterpret_casts introduced in r160075.

* UIProcess/API/gtk/WebKitFullscreenClient.cpp:
(attachFullScreenClientToView): reinterpret_cast<WKFooClientBase*>(&client) -> &client.base
* UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
(attachRequestManagerClientToContext): Ditto.
* UIProcess/API/gtk/WebKitTextChecker.cpp:
(WebKitTextChecker::WebKitTextChecker): Ditto.
* UIProcess/API/gtk/WebKitWebInspector.cpp:
(webkitWebInspectorCreate): Ditto.
* UIProcess/efl/BatteryProvider.cpp:
(BatteryProvider::BatteryProvider): Ditto.
* UIProcess/efl/NetworkInfoProvider.cpp:
(NetworkInfoProvider::NetworkInfoProvider): Ditto.
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::PageUIClientEfl): Ditto.
* UIProcess/efl/RequestManagerClientEfl.cpp:
(WebKit::RequestManagerClientEfl::RequestManagerClientEfl): Ditto.
* UIProcess/efl/TextCheckerClientEfl.cpp:
(TextCheckerClientEfl::TextCheckerClientEfl): Ditto.
* UIProcess/efl/VibrationClientEfl.cpp:
(VibrationClientEfl::VibrationClientEfl): Ditto.
* UIProcess/efl/ViewClientEfl.cpp:
(WebKit::ViewClientEfl::ViewClientEfl): Ditto.

Tools: [EFL][WK2] Buildfix after r160104
https://bugs.webkit.org/show_bug.cgi?id=125231

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-04
Reviewed by Anders Carlsson.

* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp:
(TestWebKitAPI::TEST): reinterpret_cast<WKFooClientBase*>(&client) -> &client.base
* TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:
(TestWebKitAPI::setViewClient): Ditto.

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

6 years agoWeb Inspector: [CSS Shapes] Support raster shape visualizations
betravis@adobe.com [Wed, 4 Dec 2013 22:24:55 +0000 (22:24 +0000)]
Web Inspector: [CSS Shapes] Support raster shape visualizations
https://bugs.webkit.org/show_bug.cgi?id=124080

Reviewed by Joseph Pecoraro.

Source/WebCore:

Create an inspector visualization for a shape created from an image.
The visualization takes each line of the image, combining where possible.

Test added to inspector-protocol/model/highlight-shape-outside.html

* rendering/shapes/RasterShape.cpp:
(WebCore::RasterShapeIntervals::buildBoundsPath): Create a path representing the
RasterShapeIntervals.
* rendering/shapes/RasterShape.h:

LayoutTests:

Add a test for data sent to the inspector for a raster shape.

* inspector-protocol/model/highlight-shape-outside-expected.txt:
* inspector-protocol/model/highlight-shape-outside.html:

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

6 years ago[CSS Shapes] Remove explicit numbering from BasicShape::Type and CSSBasicShape::Type...
zoltan@webkit.org [Wed, 4 Dec 2013 22:18:43 +0000 (22:18 +0000)]
[CSS Shapes] Remove explicit numbering from BasicShape::Type and CSSBasicShape::Type enums
https://bugs.webkit.org/show_bug.cgi?id=125163

Reviewed by Rob Buis.

I don't see any reason to have explicit numbering for the Type enum in our [CSS]BasicShape classes.
I removed numbering, which will decrease for instance the merge conflicts on Type changes.

No new tests, no behavior change.

* css/CSSBasicShapes.h:
* rendering/style/BasicShapes.h:

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

6 years ago[GTK][WK2] Fix build after r160104
commit-queue@webkit.org [Wed, 4 Dec 2013 22:18:40 +0000 (22:18 +0000)]
[GTK][WK2] Fix build after r160104
https://bugs.webkit.org/show_bug.cgi?id=125240

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-04
Reviewed by Anders Carlsson.

Using specific version of API client when instantiating them.
Applied that same change to the following files:

* UIProcess/API/gtk/WebKitContextMenuClient.cpp:
* UIProcess/API/gtk/WebKitCookieManager.cpp:
* UIProcess/API/gtk/WebKitDownloadClient.cpp:
* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
* UIProcess/API/gtk/WebKitFindController.cpp:
* UIProcess/API/gtk/WebKitFormClient.cpp:
* UIProcess/API/gtk/WebKitGeolocationProvider.cpp:
* UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
* UIProcess/API/gtk/WebKitPolicyClient.cpp:
* UIProcess/API/gtk/WebKitUIClient.cpp:
* WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

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

6 years agocheck-webkit-style detected some ternary statements as initialization lists
commit-queue@webkit.org [Wed, 4 Dec 2013 22:16:30 +0000 (22:16 +0000)]
check-webkit-style detected some ternary statements as initialization lists
https://bugs.webkit.org/show_bug.cgi?id=125246

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-04
Reviewed by Dean Jackson.

The regular expression that check-webkit-tests uses to detect initialization
lists was too broad, resulting in false positives. This patch makes the
regex more specific

* Scripts/webkitpy/style/checkers/cpp.py:
(check_member_initialization_list):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_member_initialization_list):

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

6 years agoFixed the 32-bit Mac build.
mitz@apple.com [Wed, 4 Dec 2013 22:13:17 +0000 (22:13 +0000)]
Fixed the 32-bit Mac build.

* Shared/mac/WebCoreArgumentCodersMac.mm:
(CoreIPC::::encodePlatformData):

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

6 years ago[Mac] When NSError user info is missing NSErrorPeerCertificateChainKey, ArgumentCoder...
mitz@apple.com [Wed, 4 Dec 2013 22:00:35 +0000 (22:00 +0000)]
[Mac] When NSError user info is missing NSErrorPeerCertificateChainKey, ArgumentCoder should extract it from NSURLErrorFailingURLPeerTrustErrorKey
https://bugs.webkit.org/show_bug.cgi?id=125251

Reviewed by Anders Carlsson.

* Shared/mac/WebCoreArgumentCodersMac.mm:
(CoreIPC::::encodePlatformData): If the user info doesn’t include
NSURLErrorFailingURLPeerTrustErrorKey, copy the peer certificate chain from the peer trust
under NSURLErrorFailingURLPeerTrustErrorKey. On the decoding side, it will appear under the
NSURLErrorFailingURLPeerTrustErrorKey, because a trust object can’t be fully serialized.

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

6 years agoAllow ImageBuffer to use an IOSurface that is larger than necessary
commit-queue@webkit.org [Wed, 4 Dec 2013 21:35:38 +0000 (21:35 +0000)]
Allow ImageBuffer to use an IOSurface that is larger than necessary
https://bugs.webkit.org/show_bug.cgi?id=124626

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-04
Reviewed by Simon Fraser.

Source/WebCore:

Because creating ImageBuffer's backing store can be so expensive, it
would be beneficial to have a pool of pre-created backing stores
available. However, this means that ImageBuffer might have to use a
backing store that is larger than the exact dimensions that it needs.
This patch adds a field, m_backingStoreSize, to CG's ImageBufferData
class, and uses this new field when performing ImageBuffer operations
to allow for larger-than-necessary backing stores. Content is always
drawn in the top left corner of the backing store.

No new tests are necessary because there is no behavior change.

* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::baseTransform): The base transform has to put
content at the top left corner instead of bottom left
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::createCroppedImageIfNecessary): Convenience function to figure out
the dimensions of the backing texture in user space
(WebCore::ImageBuffer::ImageBuffer): Set up new m_backingStoreSize member
(WebCore::maybeCropToBounds): Some ImageBuffer API functions require
outputting an image with logical size. This function performs the cropping
(WebCore::ImageBuffer::copyImage): Updated for larger-than-necessary
backing stores
(WebCore::ImageBuffer::copyNativeImage): Ditto
(WebCore::ImageBuffer::draw): Ditto
(WebCore::ImageBuffer::clip): Ditto
(WebCore::ImageBuffer::putByteArray): Ditto
(WebCore::ImageBuffer::toDataURL): Ditto
* platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::ImageBufferData::getData): Ditto
(WebCore::ImageBufferData::putData): Ditto
* platform/graphics/cg/ImageBufferDataCG.h: New m_backingStoreSize field

LayoutTests:

Update tests to be more robust with respect to accelerated vs
non-accelerated ImageBuffers.

* fast/canvas/script-tests/canvas-fillPath-shadow.js: Don't sample a canvas at exactly
the corner of a drawn shape (because the corner might be antialiased). Instead, sample
a single pixel inside the shape
* fast/canvas/script-tests/canvas-scale-shadowBlur.js: Don't sample a canvas at exactly
the edge of the blur radius. Instead, sample a single pixel past the blur radius.
* fast/canvas/script-tests/canvas-scale-strokePath-shadow.js:
(shouldBeAround): Allow this test to be less strict when sampling inside a blurred region
* platform/mac/fast/canvas/canvas-scale-shadowBlur-expected.txt: Matching update w/r/t
canvas-scale-shadowBlur.js

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

6 years agoSource/WebCore: [WebGL] Support for texImage2D of type HALF_FLOAT_OES
dino@apple.com [Wed, 4 Dec 2013 21:25:50 +0000 (21:25 +0000)]
Source/WebCore: [WebGL] Support for texImage2D of type HALF_FLOAT_OES
https://bugs.webkit.org/show_bug.cgi?id=110936

Reviewed by Brent Fulgham.

Add support for the HALF_FLOAT_OES texture format from texImage2D
and texSubImage2D.

A lot of this patch comes from the original patch on the bug
by Nayan Kumar, and the Blink commit:
https://codereview.chromium.org/13842017

Tests: fast/canvas/webgl/oes-texture-half-float-with-canvas.html
       fast/canvas/webgl/oes-texture-half-float-with-image.html
       fast/canvas/webgl/oes-texture-half-float-with-video.html

* html/canvas/OESTextureHalfFloat.idl: New HALF_FLOAT_OES constant value.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateTexFunc): Remove the code that
would bail if half-float values were used.
* platform/graphics/GraphicsContext3D.cpp:
- Return appropriate DataFormats for half floating point types.
- Copy the float -> half-float code from Blink
- New pack functions for half floats
* platform/graphics/GraphicsContext3D.h: New format types.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::texSubImage2D): Use GL_HALF_FLOAT_ARB if we're passed
a HALF_FLOAT_OES.

LayoutTests: [WebGL] Support for texImage2D/texSubImage2D of type HALF_FLOAT_OES
https://bugs.webkit.org/show_bug.cgi?id=110936

Reviewed by Brent Fulgham.

New tests for half-float textures.

* fast/canvas/webgl/oes-texture-half-float-expected.txt:
* fast/canvas/webgl/oes-texture-half-float-not-supported-expected.txt: Removed.
* fast/canvas/webgl/oes-texture-half-float-not-supported.html: Removed.
* fast/canvas/webgl/oes-texture-half-float-with-canvas-expected.txt: Added.
* fast/canvas/webgl/oes-texture-half-float-with-canvas.html: Added.
* fast/canvas/webgl/oes-texture-half-float-with-image-expected.txt: Added.
* fast/canvas/webgl/oes-texture-half-float-with-image.html: Added.
* fast/canvas/webgl/oes-texture-half-float-with-video-expected.txt: Added.
* fast/canvas/webgl/oes-texture-half-float-with-video.html: Added.
* fast/canvas/webgl/oes-texture-half-float.html:

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

6 years ago[Win] Correct WebKit.make copy command to land resources in proper directory.
bfulgham@apple.com [Wed, 4 Dec 2013 21:21:07 +0000 (21:21 +0000)]
[Win] Correct WebKit.make copy command to land resources in proper directory.
https://bugs.webkit.org/show_bug.cgi?id=125249

Reviewed by Tim Horton.

* WebKit.vcxproj/WebKit.make: Correct the copy command.

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

6 years agoReplace USE(SECURITY_FRAMEWORK) with finer-grained defines
mitz@apple.com [Wed, 4 Dec 2013 21:04:31 +0000 (21:04 +0000)]
Replace USE(SECURITY_FRAMEWORK) with finer-grained defines
https://bugs.webkit.org/show_bug.cgi?id=125242

Reviewed by Sam Weinig.

Source/WebKit2:

* Configurations/WebKit2.xcconfig: Removed “-framework Security” from the linker flags, now
that it’s included in the target’s Link Binary with Libraries build phase.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeConnection): Changed to use ENABLE(SEC_ITEM_SHIM).
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcess): Ditto.
* Shared/Authentication/AuthenticationManager.cpp: Changed to use HAVE(SEC_IDENTITY).
* Shared/Authentication/mac/AuthenticationManager.mac.mm: Ditto.
* Shared/cf/ArgumentCodersCF.cpp:
(CoreIPC::typeFromCFTypeRef): Removed use of USE(SECURITY_FRAMEWORK) since all CF platforms
use it. Added HAVE(SEC_KEYCHAIN) where needed.
(CoreIPC::encode): Ditto.
(CoreIPC::decode): Ditto.
* Shared/cf/ArgumentCodersCF.h: Ditto.
* Shared/mac/SecItemShim.cpp: Chanegd to use ENABLE(SEC_ITEM_SHIM).
* Shared/mac/SecItemShim.h: Ditto.
* Shared/mac/SecItemShim.messages.in: Ditto.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::connectionWillOpen): Ditto.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::connectionWillOpen): Ditto.
* UIProcess/mac/SecItemShimProxy.cpp: Ditto.
* UIProcess/mac/SecItemShimProxy.h: Ditto,
* UIProcess/mac/SecItemShimProxy.messages.in: Ditto.
* WebKit2.xcodeproj/project.pbxproj: Link Security.framework unconditionally.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection): Changed to use ENABLE(SEC_ITEM_SHIM).
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeProcess): Ditto.
* config.h: Defined ENABLE_SEC_ITEM_SHIM.

Source/WTF:

* wtf/Platform.h: Removed definitions of WTF_USE_SECURITY_FRAMEWORK, and defined
HAVE_SEC_IDENTITY and HAVE_SEC_KEYCHAIN.

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