WebKit-https.git
6 years agoAttempt to fix the EFL and GTK builds after <http://trac.webkit.org/changeset/169711>
dbates@webkit.org [Mon, 9 Jun 2014 21:23:28 +0000 (21:23 +0000)]
Attempt to fix the EFL and GTK builds after <trac.webkit.org/changeset/169711>
(https://bugs.webkit.org/show_bug.cgi?id=133657)

Rename Shared/API/c/WKError.cpp to Shared/API/c/WKErrorRef.cpp.

* CMakeLists.txt:

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

6 years agoSubpixel rendering: Pixelsnapping empty rounded rect results in NaN radii width/height.
zalan@apple.com [Mon, 9 Jun 2014 21:19:17 +0000 (21:19 +0000)]
Subpixel rendering: Pixelsnapping empty rounded rect results in NaN radii width/height.
https://bugs.webkit.org/show_bug.cgi?id=133654

Reviewed by Simon Fraser.

Empty rounded rects don't need snapping.

Not testable.

* platform/graphics/RoundedRect.cpp:
(WebCore::RoundedRect::pixelSnappedRoundedRectForPainting):

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

6 years agoREGRESSION: missing underline under CJK text
mmaxfield@apple.com [Mon, 9 Jun 2014 21:18:07 +0000 (21:18 +0000)]
REGRESSION: missing underline under CJK text
https://bugs.webkit.org/show_bug.cgi?id=128145

Reviewed by Darin Adler.

Source/WebCore:
This patch refactors the GlyphToPathTranslator which is used to find intersections of
glyphs and underlines. It was modified to allow for querying these pieces of
information:
1) The extents of the glyph. This can be used to make the underlines skip an entire
glyph, wholesale
2) What kind of skipping behavior should be used
3) The Path which represents the glyph
There are three skipping behaviors:
1) (SkipDescenders) The previous behavior
2) (SkipGlyph) Make the underline skip over the entire glyph, using the extents() function
3) (DrawOverGlyph) Make the underline plow through the glyph, ignoring any descenders

Calculating which underlining behavior to use depends on what the base codepoint that
originated that glyph is. This means that we have to map from glyphs to characters,
something which is nontrivial to do. In order to solve this problem, this patch adds
an optional vector to GlyphBuffer which represents the location in the original string
from which a particular glyph originated. Then, when our WidthIterator code adds
glyphs to the GlyphBuffer, we can include the extra information about where we are
in the input string. Once this data is available, the GlyphPathTranslator can look up
the base codepoint from which this glyph originates, and can run ICU functions on that
codepoint.

We can use the ICU ublock_getCode() function to find which Unicode block a particular
codepoint comes from. If the codepoint comes from a CJK block, we will use
DrawOverGlyph; otherwise, we will use SkipDescenders.

Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-cjk.html

* platform/graphics/Font.cpp:
(WebCore::sharedUnderlineType): Look up the base codepoint from which this glyph
originates, call ublock_getCode to get its Unicode block, then return
a GlyphUnderlineType accordingly. This code is shared between SVG and non-SVG.
* platform/graphics/Font.h: New virtual functions in GlyphToPathTranslator, as well as
function signatures for the above two functions.
* platform/graphics/GlyphBuffer.h: Add an optional instance member for the location
from within the original string from which a particular glyph originates.
(WebCore::GlyphBuffer::clear): Updated for new member.
(WebCore::GlyphBuffer::add): Ditto.
(WebCore::GlyphBuffer::saveOffsetsInString): Opt-in to using the new variable
(WebCore::GlyphBuffer::offsetInString): New variable accessor.
* platform/graphics/TextRun.h: SVG needs the TextRun to use sharedUnderlineType.
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal): Use GlyphBuffer's new variable (if present).
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::advance): Use GlyphBuffer's new variable (if present).
* platform/graphics/mac/FontMac.mm: Implement new GlyphToPathTranslator functions.
(WebCore::MacGlyphToPathTranslator::path):
(WebCore::MacGlyphToPathTranslator::extents):
(WebCore::MacGlyphToPathTranslator::underlineType): Calls sharedUnderlineType().
(WebCore::MacGlyphToPathTranslator::moveToNextValidGlyph):
(WebCore::MacGlyphToPathTranslator::increment):
(WebCore::Font::dashesForIntersectionsWithRect): Ask the translator what kind of underline
behavior should be used. React accordingly.
(WebCore::MacGlyphToPathTranslator::nextPath): Deleted.
(WebCore::MacGlyphToPathTranslator::incrementIndex): Deleted.
* platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::shapeAndPlaceItem): Update to new signature of GlyphBuffer::add()
* rendering/svg/SVGTextRunRenderingContext.cpp: Implement new GlyphToPathTranslator functions.
(WebCore::SVGGlyphToPathTranslator::SVGGlyphToPathTranslator):
(WebCore::SVGGlyphToPathTranslator::getCurrentTransform):
(WebCore::SVGGlyphToPathTranslator::path):
(WebCore::SVGGlyphToPathTranslator::extents):
(WebCore::MacGlyphToPathTranslator::underlineType): Calls sharedUnderlineType().
(WebCore::SVGGlyphToPathTranslator::moveToNextValidGlyph):
(WebCore::SVGGlyphToPathTranslator::increment):
(WebCore::SVGTextRunRenderingContext::createGlyphToPathTranslator):
(WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):
(WebCore::SVGGlyphToPathTranslator::nextPath): Deleted.
(WebCore::SVGGlyphToPathTranslator::incrementIndex): Deleted.
* rendering/svg/SVGTextRunRenderingContext.h: SVG needs the TextRun to use sharedUnderlineType.

LayoutTests:
This test makes sure that underlines under CJK text don't skip over descenders.

* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-cjk-expected.html: Added.
* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-cjk.html: Added.

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

6 years ago[iOS WebGL] Implement OES_vertex_array_object for iOS.
commit-queue@webkit.org [Mon, 9 Jun 2014 21:09:09 +0000 (21:09 +0000)]
[iOS WebGL] Implement OES_vertex_array_object for iOS.
https://bugs.webkit.org/show_bug.cgi?id=133629

Patch by Alex Christensen <achristensen@webkit.org> on 2014-06-09
Reviewed by Brady Eidson.

Covered by the Khronos test (and in LayoutTests):
conformance/extensions/oes-vertex-array-object.html

* platform/graphics/ios/GraphicsContext3DIOS.h:
Added OpenGL vertex array function renaming for iOS adding the OES suffix.
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::createVertexArrayOES):
(WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
(WebCore::Extensions3DOpenGL::isVertexArrayOES):
(WebCore::Extensions3DOpenGL::bindVertexArrayOES):
Added isVertexArrayObjectSupported and support for iOS.
(WebCore::Extensions3DOpenGL::supportsExtension):
Added iOS name for GL_OES_vertex_array_object extension.
* platform/graphics/opengl/Extensions3DOpenGL.h:
Added isVertexArrayObjectSupported for iOS.

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

6 years ago[Mac] caption size is not update immediately when system preferences change
eric.carlson@apple.com [Mon, 9 Jun 2014 21:03:22 +0000 (21:03 +0000)]
[Mac] caption size is not update immediately when system preferences change
https://bugs.webkit.org/show_bug.cgi?id=133598

Reviewed by Brent Fulgham.

* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::updateCaptionDisplaySizes): New.
* Modules/mediacontrols/MediaControlsHost.h:

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::captionPreferencesChanged): Tell the controls host to update sizes.

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

6 years agoAddress review feedback.
andersca@apple.com [Mon, 9 Jun 2014 20:58:17 +0000 (20:58 +0000)]
Address review feedback.

* UIProcess/API/Cocoa/WKWebView.h:

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

6 years agoAdd a WKError.h header and rename the existing WKError.h to WKErrorRef.h
andersca@apple.com [Mon, 9 Jun 2014 20:53:11 +0000 (20:53 +0000)]
Add a WKError.h header and rename the existing WKError.h to WKErrorRef.h
https://bugs.webkit.org/show_bug.cgi?id=133657

Reviewed by Dan Bernstein.

* Shared/API/Cocoa/WebKit.h:
* Shared/API/c/WKErrorRef.cpp: Renamed from Source/WebKit2/Shared/API/c/WKError.cpp.
(WKErrorGetTypeID):
(WKErrorCopyWKErrorDomain):
(WKErrorCopyDomain):
(WKErrorGetErrorCode):
(WKErrorCopyFailingURL):
(WKErrorCopyLocalizedDescription):
* Shared/API/c/WKErrorRef.h: Renamed from Source/WebKit2/Shared/API/c/WKError.h.
* UIProcess/API/C/WKPage.h:
* UIProcess/API/C/WKPageLoaderClient.h:
* UIProcess/API/C/WebKit2_C.h:
* UIProcess/API/Cocoa/WKError.h: Copied from Source/WebKit2/Shared/API/Cocoa/WebKit.h.
* UIProcess/API/Cocoa/WKError.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WebKit.h.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:

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

6 years ago[iOS] Amazon app: Cannot interact with product page after tapping on product image
dbates@webkit.org [Mon, 9 Jun 2014 20:39:17 +0000 (20:39 +0000)]
[iOS] Amazon app: Cannot interact with product page after tapping on product image
https://bugs.webkit.org/show_bug.cgi?id=133559
<rdar://problem/16332749>

Reviewed by Oliver Hunt.

Source/WebCore:
As a workaround for issues in the Amazon app, mark the attribute navigator.geolocation as
replaceable so that we don't throw a JavaScript type error when assigning to an instance
attribute that shadows it. At the time of writing the first such assignment to is ignored.
See <https://bugs.webkit.org/show_bug.cgi?id=133648> for more details.

When loading a product page in the Amazon app it overwrites the readonly property geolocation
on an object that extends the Navigator object. In strict mode, this operation is not honored
and is treated as a JavaScript type error, which stops JavaScript execution. Therefore, the
product page does not behave as intended. In contrast, this operation would not be honored in
non-strict mode and would not be treated as a JavaScript type error.

Test: js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw.html

* Modules/geolocation/NavigatorGeolocation.idl:

LayoutTests:
Add a test to ensure that assigning to an instance attribute in strict mode that shadows
navigator.geolocation doesn't cause a JavaScript type error.

* js/dom/script-tests/shadow-navigator-geolocation-in-strict-mode-does-not-throw.js: Added.
(createObjectWithPrototype.F):
(createObjectWithPrototype):
* js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw-expected.txt: Added.
* js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw.html: Added.

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

6 years agoHTML*ListElement wrappers have custom getOwnPropertySlot()s for no good reason.
akling@apple.com [Mon, 9 Jun 2014 20:18:09 +0000 (20:18 +0000)]
HTML*ListElement wrappers have custom getOwnPropertySlot()s for no good reason.
<https://webkit.org/b/133653>

The JavaScript bindings generator was a bit overzealous in forcing every
interface with "List" in the name to have its attributes on the instance.
This caused some elements (HTMLUListElement, etc.) to automatically opt out
of eager prototype attribute reification.

Reviewed by Mark Hahnenberg.

* bindings/scripts/CodeGeneratorJS.pm:
(InterfaceRequiresAttributesOnInstance):

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

6 years agoASSERT(!m_inRemovedLastRefFunction) in Element::addShadowRoot while destroying a...
jer.noble@apple.com [Mon, 9 Jun 2014 20:10:18 +0000 (20:10 +0000)]
ASSERT(!m_inRemovedLastRefFunction) in Element::addShadowRoot while destroying a document
https://bugs.webkit.org/show_bug.cgi?id=133450

Reviewed by Eric Carlson.

ensureUserAgentShadowRoot() is being called when a media element is removed from its document
in HTMLMediaElement::removedFrom() because Node::removedFrom() has not yet run and removed the
InDocument flag from the node.  Rather than calling configureMediaControls() at this point
just expilictly remove the media controls if present.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):

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

6 years agoRebaseline bindings tests after r169703
mhahnenberg@apple.com [Mon, 9 Jun 2014 19:30:54 +0000 (19:30 +0000)]
Rebaseline bindings tests after r169703

* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObjectPrototype::finishCreation):
(WebCore::JSTestActiveDOMObjectPrototype::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestActiveDOMObject.h:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetterPrototype::finishCreation):
(WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorPrototype::finishCreation):
(WebCore::JSTestEventConstructorPrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestEventConstructor::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestEventConstructor.h:
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTargetPrototype::finishCreation):
(WebCore::JSTestEventTargetPrototype::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestEventTarget.h:
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestExceptionPrototype::finishCreation):
(WebCore::JSTestExceptionPrototype::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestException.h:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachablePrototype::finishCreation):
(WebCore::JSTestGenerateIsReachablePrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestGenerateIsReachable::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfacePrototype::finishCreation):
(WebCore::JSTestInterfacePrototype::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerPrototype::finishCreation):
(WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestMediaQueryListListener::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorPrototype::finishCreation):
(WebCore::JSTestNamedConstructorPrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestNamedConstructor::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodePrototype::finishCreation):
(WebCore::JSTestNodePrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestNode::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestNode.h:
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::JSTestNondeterministicPrototype::finishCreation):
(WebCore::JSTestNondeterministicPrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestNondeterministic::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestNondeterministic.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjPrototype::finishCreation):
(WebCore::JSTestObjPrototype::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsPrototype::finishCreation):
(WebCore::JSTestOverloadedConstructorsPrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestOverloadedConstructors::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfacePrototype::finishCreation):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertySlot): Deleted.
(WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsPrototype::finishCreation):
(WebCore::JSTestTypedefsPrototype::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSTestTypedefs.h:
* bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::JSattributePrototype::finishCreation):
(WebCore::JSattributePrototype::getOwnPropertySlot): Deleted.
(WebCore::JSattribute::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSattribute.h:
* bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::JSreadonlyPrototype::finishCreation):
(WebCore::JSreadonlyPrototype::getOwnPropertySlot): Deleted.
(WebCore::JSreadonly::getOwnPropertySlot): Deleted.
* bindings/scripts/test/JS/JSreadonly.h:

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

6 years agoGroup the methods in InternalSettings.idl
simon.fraser@apple.com [Mon, 9 Jun 2014 19:06:51 +0000 (19:06 +0000)]
Group the methods in InternalSettings.idl
https://bugs.webkit.org/show_bug.cgi?id=133652

Reviewed by Tim Horton.

Group methods by topic.

* testing/InternalSettings.idl:

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

6 years agoBuild fix after r169703
mhahnenberg@apple.com [Mon, 9 Jun 2014 19:02:37 +0000 (19:02 +0000)]
Build fix after r169703

* JavaScriptCore.xcodeproj/project.pbxproj:

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

6 years agoDisable button animations in regression tests
ap@apple.com [Mon, 9 Jun 2014 18:57:26 +0000 (18:57 +0000)]
Disable button animations in regression tests
https://bugs.webkit.org/show_bug.cgi?id=133647
<rdar://problem/16677530>

Reviewed by Tim Horton.

* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize):

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

6 years agoEagerly reify DOM prototype attributes
mhahnenberg@apple.com [Mon, 9 Jun 2014 18:53:32 +0000 (18:53 +0000)]
Eagerly reify DOM prototype attributes
https://bugs.webkit.org/show_bug.cgi?id=133558

Reviewed by Oliver Hunt.

Source/JavaScriptCore:
This allows us to get rid of a lot of the additional overhead of pushing DOM attributes up into the prototype.
By eagerly reifying the custom getters and setters into the actual JSObject we avoid having to override
getOwnPropertySlot for all of the DOM prototypes, which is a lot of the overhead of doing property lookups on
DOM wrappers.

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
* llint/LowLevelInterpreter.asm:
* runtime/BatchedTransitionOptimizer.h:
(JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
* runtime/CustomGetterSetter.cpp: Added.
(JSC::callCustomSetter):
* runtime/CustomGetterSetter.h: Added.
(JSC::CustomGetterSetter::create):
(JSC::CustomGetterSetter::getter):
(JSC::CustomGetterSetter::setter):
(JSC::CustomGetterSetter::createStructure):
(JSC::CustomGetterSetter::CustomGetterSetter):
* runtime/JSCJSValue.cpp:
(JSC::JSValue::putToPrimitive):
* runtime/JSCJSValue.h:
* runtime/JSCJSValueInlines.h:
(JSC::JSValue::isCustomGetterSetter):
* runtime/JSCell.h:
* runtime/JSCellInlines.h:
(JSC::JSCell::isCustomGetterSetter):
(JSC::JSCell::canUseFastGetOwnProperty):
* runtime/JSFunction.cpp:
(JSC::JSFunction::isHostOrBuiltinFunction): Deleted.
(JSC::JSFunction::isBuiltinFunction): Deleted.
* runtime/JSFunction.h:
* runtime/JSFunctionInlines.h: Inlined some random functions that appeared hot during profiling.
(JSC::JSFunction::isBuiltinFunction):
(JSC::JSFunction::isHostOrBuiltinFunction):
* runtime/JSObject.cpp:
(JSC::JSObject::put):
(JSC::JSObject::putDirectCustomAccessor):
(JSC::JSObject::fillGetterPropertySlot):
(JSC::JSObject::fillCustomGetterPropertySlot):
(JSC::JSObject::getOwnPropertySlotSlow): Deleted.
* runtime/JSObject.h:
(JSC::JSObject::hasCustomGetterSetterProperties):
(JSC::JSObject::convertToDictionary):
(JSC::JSObject::inlineGetOwnPropertySlot):
(JSC::JSObject::getOwnPropertySlotSlow): Inlined because it looked hot during profiling.
(JSC::JSObject::putOwnDataProperty):
(JSC::JSObject::putDirect):
(JSC::JSObject::putDirectWithoutTransition):
* runtime/JSType.h:
* runtime/Lookup.h:
(JSC::reifyStaticProperties):
* runtime/PropertyDescriptor.h:
(JSC::PropertyDescriptor::PropertyDescriptor):
* runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::nextOutOfLineStorageCapacity): Deleted.
(JSC::Structure::suggestedNewOutOfLineStorageCapacity): Deleted.
(JSC::Structure::get): Deleted.
* runtime/Structure.h:
(JSC::Structure::hasCustomGetterSetterProperties):
(JSC::Structure::setHasCustomGetterSetterProperties):
* runtime/StructureInlines.h:
(JSC::Structure::get): Inlined due to hotness.
(JSC::nextOutOfLineStorageCapacity): Inlined due to hotness.
(JSC::Structure::suggestedNewOutOfLineStorageCapacity): Inlined due to hotness.
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:
* runtime/WriteBarrier.h:
(JSC::WriteBarrierBase<Unknown>::isCustomGetterSetter):

Source/WebCore:
No new tests.

This allows us to get rid of a lot of the additional overhead of pushing DOM attributes up into the prototype.
By eagerly reifying the custom getters and setters into the actual JSObject we avoid having to override
getOwnPropertySlot for all of the DOM prototypes, which is a lot of the overhead of doing property lookups on
DOM wrappers.

* bindings/scripts/CodeGeneratorJS.pm:
(prototypeHashTableAccessor): Changed to pass along the VM.
(AttributeShouldBeOnInstanceForCompatibility): We were being overly conservative in regard to touch events.
This caused us to store the touch event handler getters and setters on the JSElement instance, which caused
us to override getOwnPropertySlot for every JSElement subclass.
(InstanceOverridesGetOwnPropertySlot): This was being overly paranoid about generate a getOwnPropertySlot if
there was going to be a "constructor" property, even though we handled this in another place already.
(GenerateHeader): Generate a finishCreation for prototypes unless it's the JSDOMWindow. We can't correctly
handle the DOMWindow in this version of the patch because reifying the static properties requires a global object,
which hasn't been created yet when the prototype for the window object is being created.
(GenerateImplementation): Generate the finishCreation calls to reifyStaticProperties.

LayoutTests:
Updating a test expectation after this fix.

* js/dom/constructor-attributes-expected.txt:

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

6 years agoUnreviewed, rolling out r169693.
commit-queue@webkit.org [Mon, 9 Jun 2014 18:49:36 +0000 (18:49 +0000)]
Unreviewed, rolling out r169693.
https://bugs.webkit.org/show_bug.cgi?id=133651

This was wrong, just wrong (Requested by ap on #webkit).

Reverted changeset:

"Rebaseline some tests after r169681."
http://trac.webkit.org/changeset/169693

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

6 years agoUse different AppKit API for all services menus
beidson@apple.com [Mon, 9 Jun 2014 18:43:30 +0000 (18:43 +0000)]
Use different AppKit API for all services menus
<rdar://problem/16874403> and https://bugs.webkit.org/show_bug.cgi?id=133649

Reviewed by Tim Horton.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::showContextMenu):

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

6 years agoMove scrolling-related tests to tiled-drawing/scrolling subdirectory, and minor cleanup
simon.fraser@apple.com [Mon, 9 Jun 2014 18:43:22 +0000 (18:43 +0000)]
Move scrolling-related tests to tiled-drawing/scrolling subdirectory, and minor cleanup
https://bugs.webkit.org/show_bug.cgi?id=133650

Reviewed by Tim Horton.

Tools:
No point checking for a Windows-style path in Cocoa code.

* WebKitTestRunner/TestInvocation.cpp:
(WTR::shouldUseThreadedScrolling):

LayoutTests:
Moved files, fixed up relative paths to js-test-pre.js/js-test-post.js and unskipped a couple of fixed/sticky tests.

* platform/mac-wk2/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls.html.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-composited-html-expected.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-composited-html-expected.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-composited-html.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-composited-html.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-negative-z-index-fixed-expected.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-negative-z-index-fixed-expected.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-negative-z-index-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-negative-z-index-fixed.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-no-image.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-removal-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-removal-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-removal.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-removal.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.png.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.png.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-html-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.png.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-html-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-html.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.png.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-html-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.png.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-html-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-html.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.png.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.png.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-html-background.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.png.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/absolute-inside-fixed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/absolute-inside-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-in-overflow-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-in-overflow.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/fixed-position-out-of-view.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-zoomed-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars-zoomed.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/four-bars.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/negative-scroll-offset-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/negative-scroll-offset.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/nested-fixed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/nested-fixed-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/nested-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/nested-fixed.html.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/percentage-inside-fixed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/fixed/percentage-inside-fixed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed.html.
* platform/mac-wk2/tiled-drawing/scrolling/null-parent-back-crash-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/null-parent-back-crash-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/null-parent-back-crash.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/null-parent-back-crash.html.
* platform/mac-wk2/tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/scrolling-tree-after-scroll.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll.html.
* platform/mac-wk2/tiled-drawing/scrolling/scrolling-tree-slow-scrolling-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/scrolling-tree-slow-scrolling.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling.html.
* platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-background-toggle-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-background-toggle-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-background-toggle.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-background-toggle.html.
* platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-hidden-background-toggle-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-hidden-background-toggle-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-hidden-background-toggle.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling-hidden-background-toggle.html.
* platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/slow-scrolling.html.
* platform/mac-wk2/tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/sticky/negative-scroll-offset.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset.html.
* platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-horizontal.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal.html.
* platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-layers-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-layers-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-layers.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-layers.html.
* platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-vertical-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-vertical.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-vertical.html.
* platform/mac/TestExpectations:

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

6 years agoREGRESSION (r169681): Three tests are broken
ap@apple.com [Mon, 9 Jun 2014 18:43:20 +0000 (18:43 +0000)]
REGRESSION (r169681): Three tests are broken
https://bugs.webkit.org/show_bug.cgi?id=133646

Reviewed by Tim Horton.

r169681 removed platformFocusRingMaxWidth() override, which returned either 0 or 9
on Mac. But the cross-platform default is 3, so this changed Mac behavior.

I'm not entirely sure why the cross-platform default is 3 (it was also added in r168397),
but restoring the override to return 0 fixes test cases.

While at it, also added final/override, and removed some functions that were only
needed by subclasses, which we now have none.

* rendering/RenderThemeMac.h:
(WebCore::RenderThemeMac::supportsControlTints): Deleted.
(WebCore::RenderThemeMac::scrollbarControlSizeForPart): Deleted.
(WebCore::RenderThemeMac::supportsSelectionForegroundColors): Deleted.
(WebCore::RenderThemeMac::supportsClosedCaptioning): Deleted.
(WebCore::RenderThemeMac::updateActiveState): Deleted.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::platformFocusRingMaxWidth):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::setSearchCellState):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):

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

6 years agoAdd WKWindowFeatures.h to the umbrella header.
andersca@apple.com [Mon, 9 Jun 2014 18:17:41 +0000 (18:17 +0000)]
Add WKWindowFeatures.h to the umbrella header.

Reviewed by Dan Bernstein.

* Shared/API/Cocoa/WebKit.h:

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

6 years ago[CSS Shapes] Bound RasterShapeInterval size to int
bjonesbe@adobe.com [Mon, 9 Jun 2014 18:16:49 +0000 (18:16 +0000)]
[CSS Shapes] Bound RasterShapeInterval size to int
https://bugs.webkit.org/show_bug.cgi?id=133576

Reviewed by Simon Fraser.

Everything in the code assumes that the interval size will always fit
in an int. However, to make sure there are no negatives, the
RasterShapeInterval constructor takes an unsigned. This clamps that
value to make sure we can't overflow an int later.

* rendering/shapes/RasterShape.h:
(WebCore::RasterShapeIntervals::RasterShapeIntervals):

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

6 years agoAdd -[WKWebView loadHTMLString:baseURL:]
andersca@apple.com [Mon, 9 Jun 2014 18:09:00 +0000 (18:09 +0000)]
Add -[WKWebView loadHTMLString:baseURL:]
https://bugs.webkit.org/show_bug.cgi?id=133645
<rdar://problem/17170649>

Reviewed by Sam Weinig.

* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadHTMLString:baseURL:]):
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::createLoadDataNavigation):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadHTMLString):
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadDataImpl):
(WebKit::WebPage::loadString):
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadHTMLString):
(WebKit::WebPage::loadAlternateHTMLString):
(WebKit::WebPage::loadPlainTextString):
(WebKit::WebPage::loadWebArchiveData):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

6 years agoStructure should initialize its previousID in its constructor.
mark.lam@apple.com [Mon, 9 Jun 2014 18:07:37 +0000 (18:07 +0000)]
Structure should initialize its previousID in its constructor.
<https://webkit.org/b/133606>

Reviewed by Mark Hahnenberg.

Currently, the Structure constructor that takes a previous structure will
initialize its previousID to point to the previous structure's previousID.
This is incorrect.  However, the caller of the Structure::create() factory
method (which instantiated the Structure) will later call setPreviousID()
to set the previousID to the correct previous structure.  This makes the
code confusing to read and more error prone in that the structure relies
on client code to fix its invalid previousID.

This patch fixes this by making the Structure constructor initialize
previousID correctly.

* runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::nonPropertyTransition):
* runtime/Structure.h:
* runtime/StructureInlines.h:
(JSC::Structure::create):

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

6 years agoAdd results for MathML tests added by https://bugs.webkit.org/show_bug.cgi?id=72828.
simon.fraser@apple.com [Mon, 9 Jun 2014 18:07:12 +0000 (18:07 +0000)]
Add results for MathML tests added by https://bugs.webkit.org/show_bug.cgi?id=72828.

* platform/mac/mathml/opentype/horizontal-LatinModern-expected.txt: Added.
* platform/mac/mathml/opentype/horizontal-LatinModern-munderover-expected.txt: Added.
* platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Added.

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

6 years agoRebaseline some tests after r169681.
simon.fraser@apple.com [Mon, 9 Jun 2014 18:04:18 +0000 (18:04 +0000)]
Rebaseline some tests after r169681.

* compositing/geometry/ancestor-overflow-change-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt:
* platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt:

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

6 years agoFix more latched scrolling test flakiness and slowness
simon.fraser@apple.com [Mon, 9 Jun 2014 17:49:32 +0000 (17:49 +0000)]
Fix more latched scrolling test flakiness and slowness
https://bugs.webkit.org/show_bug.cgi?id=133601

Reviewed by Brent Fulgham.

Source/WebKit2:

Latched scrolling tests were flakey for two reasons. First, the EventSender
wheel events were async from the web to the UI process, and the resulting
synthetic events also async from the UI to the web process. Make them sync
for testing.

Secondly, the timer-based scrolling tree commit could result in the scrolling
tree (specifically the frame node's notion of the scrollable area and content
size) not being updated before the scrolling thread starts getting wheel events.
Fix by having WebPage::wheelEventSyncForTesting() commit if necessary.

Finally remove all the now-unnecessary timeouts from the tests.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::wheelEventSyncForTesting):

Tools:

Latched scrolling tests were flakey for two reasons. First, the EventSender
wheel events were async from the web to the UI process, and the resulting
synthetic events also async from the UI to the web process. Make them sync
for testing.

Secondly, the timer-based scrolling tree commit could result in the scrolling
tree (specifically the frame node's notion of the scrollable area and content
size) not being updated before the scrolling thread starts getting wheel events.
Fix by having WebPage::wheelEventSyncForTesting() commit if necessary.

Finally remove all the now-unnecessary timeouts from the tests.

* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):

LayoutTests:

Latched scrolling tests were flakey for two reasons. First, the EventSender
wheel events were async from the web to the UI process, and the resulting
synthetic events also async from the UI to the web process. Make them sync
for testing.

Secondly, the timer-based scrolling tree commit could result in the scrolling
tree (specifically the frame node's notion of the scrollable area and content
size) not being updated before the scrolling thread starts getting wheel events.
Fix by having WebPage::wheelEventSyncForTesting() commit if necessary.

Finally remove all the now-unnecessary timeouts from the tests.

* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html:

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

6 years ago[EFL] Change expectations for four layout tests.
commit-queue@webkit.org [Mon, 9 Jun 2014 17:01:34 +0000 (17:01 +0000)]
[EFL] Change expectations for four layout tests.
https://bugs.webkit.org/show_bug.cgi?id=133643

Unreviewed EFL gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-06-09

* platform/efl-wk2/TestExpectations:
* platform/efl/fullscreen/video-controls-override-expected.txt: Added.
* platform/efl/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Added.

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

6 years ago[iOS] Gaps below and to the right of the video controls on devour.com
zalan@apple.com [Mon, 9 Jun 2014 16:04:31 +0000 (16:04 +0000)]
[iOS] Gaps below and to the right of the video controls on devour.com
https://bugs.webkit.org/show_bug.cgi?id=133607

Reviewed by Simon Fraser.

Non-toplevel compositing layers are device pixel aligned. In order to render the content
to the same position as if the layer was not aligned, the graphics layer needs to be translated.
CALayer::bounds is set to compensate for the shifted layer. However, we should not change the layer's
size as that stretches the content and results in overlaps/gaps/extra fuzziness.

Source/WebCore:
Test: compositing/contents-scale/hidpi-compositing-layer-positioned-on-scaled-context.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::computePixelAlignment): remove old epsilon adjustment code.
* platform/graphics/ca/GraphicsLayerCA.h:

LayoutTests:
* compositing/contents-scale/hidpi-compositing-layer-positioned-on-scaled-context-expected.html: Added.
* compositing/contents-scale/hidpi-compositing-layer-positioned-on-scaled-context.html: Added.

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

6 years ago[SVG] Subpixel rendering: Mask with transformed text does not render.
zalan@apple.com [Mon, 9 Jun 2014 16:01:14 +0000 (16:01 +0000)]
[SVG] Subpixel rendering: Mask with transformed text does not render.
https://bugs.webkit.org/show_bug.cgi?id=133626
<rdar://problem/17123070>

Reviewed by Simon Fraser.

Replace IntRect::infiniteRect() with Layout::infiniteRect(). A transformed IntRect::infiniteRect()
overflows and produces invalid repaint rect. -also remove IntRect::infiniteRect() as no one calls
it anymore.

Source/WebCore:
Tests: svg/masking/mask-transformed-text-missing-expected.svg
       svg/masking/mask-transformed-text-missing.svg

* platform/graphics/IntRect.h:
(WebCore::IntRect::infiniteRect): Deleted.
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):

LayoutTests:
* svg/masking/mask-transformed-text-missing-expected.svg: Added.
* svg/masking/mask-transformed-text-missing.svg: Added.

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

6 years ago[EFL] Add parameter to MiniBrowser to disable web security
commit-queue@webkit.org [Mon, 9 Jun 2014 10:29:46 +0000 (10:29 +0000)]
[EFL] Add parameter to MiniBrowser to disable web security
https://bugs.webkit.org/show_bug.cgi?id=121095

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-06-09
Reviewed by Gyuyoung Kim.

-w (--web-security) commandline allows to disable/enable web security (enabled by default).
The reason for this is to test and debug (using, for example, MiniBrowser) scripts accessing
resources from other domains (cross-domain requests) such as access map location on another server.
Another possibility is to launch in a webkit browser local file tests that will refer to the links
in the http website loaded in an iframe. It will not be possible without deactivation of web security.

Source/WebKit2:
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_web_security_enabled_set):
(ewk_settings_web_security_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):

Tools:
* MiniBrowser/efl/main.c:
(window_create):
(elm_main):

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

6 years agoShare mac/editing/spelling/editing-word-with-marker-2.html with other platforms
g.czajkowski@samsung.com [Mon, 9 Jun 2014 06:58:00 +0000 (06:58 +0000)]
Share mac/editing/spelling/editing-word-with-marker-2.html with other platforms
https://bugs.webkit.org/show_bug.cgi?id=133544

Reviewed by Darin Adler.

Move mac/editing/spelling/editing-word-with-marker-2.html into
common editing/spelling to be available for other platforms.

Additionally, verify spelling markers asynchronously as the sync
path it's likely to be removed.

Add test case which tests spelling markers without any
selection change.

* editing/spelling/editing-word-with-marker-2-expected.txt:
Renamed from platform/mac/editing/spelling/editing-word-with-marker-2-expected.txt.

* editing/spelling/editing-word-with-marker-2.html:
Renamed from platform/mac/editing/spelling/editing-word-with-marker-2.html.

* platform/gtk/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/win/TestExpectations:
Mark editing/spelling/editing-word-with-marker-2.html as failing since those
platforms didn't turn on asynchronous spellchecking.

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

6 years agoUnreviewed EFL gardening. Skip a test which generates "No bad fd found." error.
gyuyoung.kim@samsung.com [Mon, 9 Jun 2014 06:26:27 +0000 (06:26 +0000)]
Unreviewed EFL gardening. Skip a test which generates "No bad fd found." error.

* platform/efl-wk1/TestExpectations:
* platform/efl/http/tests/misc/slow-loading-mask-expected.txt:

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

6 years ago[Mac] checkboxes and radio buttons animate incorrectly
dino@apple.com [Mon, 9 Jun 2014 00:02:00 +0000 (00:02 +0000)]
[Mac] checkboxes and radio buttons animate incorrectly
https://bugs.webkit.org/show_bug.cgi?id=133619
<rdar://problem/16478676>

Reviewed by Sam Weinig.

As many people have noticed, the new checkboxes and radio
buttons jump around during their animation. To fix this
I've added yet another magic set of numbers to our
native form positioning - this time the placement
of the controls when rendering on the animated path.
This is quite annoying, since there doesn't appear
to be any pattern to the offsets (or margins) given
a control size, and this case also needed a sub-pixel
offset to display correctly on retina machines.

* platform/mac/ThemeMac.mm:
(WebCore::checkboxMargins): Add comment so I know what the values mean.
(WebCore::checkboxOffsets): Add the magic translation values for animated states.
(WebCore::radioMargins): Ditto.
(WebCore::radioOffsets):
(WebCore::paintToggleButton): Paint with these new offsets.

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

6 years ago[Cocoa] WKScriptMessage should include the frame the message is from
weinig@apple.com [Sun, 8 Jun 2014 23:21:31 +0000 (23:21 +0000)]
[Cocoa] WKScriptMessage should include the frame the message is from
<rdar://problem/17210226>
https://bugs.webkit.org/show_bug.cgi?id=133623

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKScriptMessage.h:
Add WKFrameInfo property.

* UIProcess/API/Cocoa/WKScriptMessage.mm:
(-[WKScriptMessage _initWithBody:webView:frameInfo:name:]):
Add WKFrameInfo to the initializer.

(-[WKScriptMessage frameInfo]):
Implement frameInfo accessor.

* UIProcess/API/Cocoa/WKScriptMessageInternal.h:
Add WKFrameInfo to the initializer.

* UIProcess/API/Cocoa/WKUserContentController.mm:
Pass the WKFrameInfo to the WKScriptMessage initializer.

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

6 years ago[Cococa] WKWindowFeatures.h is missing from WebKit.framework
mitz@apple.com [Sun, 8 Jun 2014 22:58:38 +0000 (22:58 +0000)]
[Cococa] WKWindowFeatures.h is missing from WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=133622

Reviewed by Sam Weinig.

* WebKit2.xcodeproj/project.pbxproj: Promoted WKWindowFeatures.h to Public.

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

6 years ago<rdar://problem/17208234> [Mac] Client-certificate authentication isn’t working when...
mitz@apple.com [Sun, 8 Jun 2014 19:28:40 +0000 (19:28 +0000)]
<rdar://problem/17208234> [Mac] Client-certificate authentication isn’t working when using the modern API
https://bugs.webkit.org/show_bug.cgi?id=133617

Reviewed by Sam Weinig.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Credential>::encode): Encode certificate credentials on Mac as well.
(IPC::ArgumentCoder<Credential>::decode): Decode certificate credentials on Mac as well.

* Shared/cf/ArgumentCodersCF.cpp:
(IPC::encode): Use OS X API for getting a persistent reference to a key.
(IPC::decode): Use OS X API for getting a key from a persistent reference.

* Shared/cf/ArgumentCodersCF.h: Make identity coding available on Mac as well.

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

6 years agoRegression r168397 - Form layout is incorrect on OS X Yosemite
dino@apple.com [Sat, 7 Jun 2014 23:25:22 +0000 (23:25 +0000)]
Regression r168397 - Form layout is incorrect on OS X Yosemite
https://bugs.webkit.org/show_bug.cgi?id=133612
<rdar://problem/16850492>
<rdar://problem/17016914>

Reviewed by Anders Carlson.

Revision 168397 introduced a new animated style of form controls. Part of
it included extending the margins for the controls to take into account the
focus ring that animates in from a large radius to a small radius. This
caused two problems:

- the incorrect margins broke many layouts
- despite increased margins, there were still some areas
  that did not repaint correctly.

Restore the old margins and (temporarily) turn off focus ring animation.
Bad layout is much worse than a missing animation. Another benefit
of this is that we will use less memory.

* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::drawFocusRingToContextAtTime): Pass in a time far far far in the future to
get the static rendering.
* platform/mac/ThemeMac.mm:
(WebCore::checkboxMargins): Restore correct margins.
(WebCore::radioMargins): Ditto.
(WebCore::drawCellFocusRing): New method that calls WKSI with a future time.
(WebCore::paintToggleButton): Call the new wrapper.
(WebCore::buttonMargins): Restore correct margins.
(WebCore::paintButton): Call the new wrapper.
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuList): Use a future time.
(WebCore::RenderThemeMac::platformFocusRingMaxWidth): Deleted. Use old outline value.

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

6 years agoGet rid of _WKScriptWorld
andersca@apple.com [Sat, 7 Jun 2014 20:32:40 +0000 (20:32 +0000)]
Get rid of _WKScriptWorld
https://bugs.webkit.org/show_bug.cgi?id=133610

Reviewed by Dan Bernstein.

* Shared/API/Cocoa/WebKitPrivate.h:
* UIProcess/API/Cocoa/_WKScriptWorld.h: Removed.
* UIProcess/API/Cocoa/_WKScriptWorld.mm: Removed.
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoHTTPHeaderMap should not derive from HashMap
andersca@apple.com [Sat, 7 Jun 2014 20:17:20 +0000 (20:17 +0000)]
HTTPHeaderMap should not derive from HashMap
https://bugs.webkit.org/show_bug.cgi?id=133392

Reviewed by Darin Adler.

Source/WebCore:
Use a HashMap member variable instead.

* WebCore.exp.in:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived):
* platform/network/HTTPHeaderMap.cpp:
(WebCore::HTTPHeaderMap::copyData):
(WebCore::HTTPHeaderMap::adopt):
(WebCore::HTTPHeaderMap::get):
(WebCore::HTTPHeaderMap::set):
(WebCore::HTTPHeaderMap::add):
(WebCore::HTTPHeaderMap::contains):
(WebCore::HTTPHeaderMap::find):
(WebCore::HTTPHeaderMap::remove):
(WebCore::HTTPHeaderMap::keys):
* platform/network/HTTPHeaderMap.h:
(WebCore::HTTPHeaderMap::isEmpty):
(WebCore::HTTPHeaderMap::size):
(WebCore::HTTPHeaderMap::clear):
(WebCore::HTTPHeaderMap::begin):
(WebCore::HTTPHeaderMap::end):
(WebCore::HTTPHeaderMap::operator==):
(WebCore::HTTPHeaderMap::operator!=):
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::adopt):
* platform/network/ResourceRequestBase.h:
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::adopt):
* platform/network/ResourceResponseBase.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):

Source/WebKit2:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<HTTPHeaderMap>::encode):
(IPC::ArgumentCoder<HTTPHeaderMap>::decode):

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

6 years agoUse C++11 lambdas to construct FileThread::Task objects
zandobersek@gmail.com [Sat, 7 Jun 2014 13:29:31 +0000 (13:29 +0000)]
Use C++11 lambdas to construct FileThread::Task objects
https://bugs.webkit.org/show_bug.cgi?id=133079

Reviewed by Darin Adler.

Have FileThread::Task constructor take in a std::function<void ()>-like object
as the second parameter. Much like with ScriptExecutionContext::Task, the idea here
is to use inlined C++11 lambdas in FileThread::postTask() calls. Because FileThread::Task
also requires an instance pointer, a brace-init list is passed to these calls, passing
in the instance pointer as the first parameter and the C++11 lambda as the second.

FileThread::postTask() now takes in a FileThread::Task rvalue and moves it onto the heap
and into the queue.

In AsyncFileStream.cpp, calls to FileThread::postTask() are updated to use C++11 lambdas.
Uses of MainThreadTask are also replaced by C++11 lambdas. This modernizes the code and
removes a lot of helper functions.

FileThread::Task doesn't use CrossThreadCopier anymore. Instead, we manually produce
thread-safe copies as necessary. At the moment this approach produces another copy when
passing the freshly-copied object into the lambda, but this will be avoidable once we
make C++14 and the lambda capture expression support mandatory.

* fileapi/AsyncFileStream.cpp:
(WebCore::AsyncFileStream::create):
(WebCore::AsyncFileStream::stop):
(WebCore::AsyncFileStream::getSize):
(WebCore::AsyncFileStream::openForRead):
(WebCore::AsyncFileStream::openForWrite):
(WebCore::AsyncFileStream::close):
(WebCore::AsyncFileStream::read):
(WebCore::AsyncFileStream::write):
(WebCore::AsyncFileStream::truncate):
(WebCore::didStart): Deleted.
(WebCore::AsyncFileStream::startOnFileThread): Deleted.
(WebCore::derefProxyOnMainThread): Deleted.
(WebCore::AsyncFileStream::stopOnFileThread): Deleted.
(WebCore::didGetSize): Deleted.
(WebCore::AsyncFileStream::getSizeOnFileThread): Deleted.
(WebCore::didOpen): Deleted.
(WebCore::AsyncFileStream::openForReadOnFileThread): Deleted.
(WebCore::AsyncFileStream::openForWriteOnFileThread): Deleted.
(WebCore::AsyncFileStream::closeOnFileThread): Deleted.
(WebCore::didRead): Deleted.
(WebCore::AsyncFileStream::readOnFileThread): Deleted.
(WebCore::didWrite): Deleted.
(WebCore::AsyncFileStream::writeOnFileThread): Deleted.
(WebCore::didTruncate): Deleted.
(WebCore::AsyncFileStream::truncateOnFileThread): Deleted.
* fileapi/AsyncFileStream.h:
* fileapi/FileThread.cpp:
(WebCore::FileThread::postTask):
* fileapi/FileThread.h:
(WebCore::FileThread::Task::Task):

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

6 years agoPass C++11 lambdas to callOnMainThread() calls in IconDatabase
zandobersek@gmail.com [Sat, 7 Jun 2014 13:10:23 +0000 (13:10 +0000)]
Pass C++11 lambdas to callOnMainThread() calls in IconDatabase
https://bugs.webkit.org/show_bug.cgi?id=133374

Reviewed by Darin Adler.

Use C++11 lambads to inline the main thread tasks into the calling code,
modernizing the look of the code and removing a few static methods and
classes that were used as helpers.

* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::scheduleOrDeferSyncTimer):
(WebCore::IconDatabase::performURLImport):
(WebCore::IconDatabase::dispatchDidImportIconURLForPageURLOnMainThread):
(WebCore::IconDatabase::dispatchDidImportIconDataForPageURLOnMainThread):
(WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread):
(WebCore::IconDatabase::dispatchDidFinishURLImportOnMainThread):
(WebCore::IconDatabase::notifyPendingLoadDecisionsOnMainThread): Deleted.
(WebCore::IconDatabase::performScheduleOrDeferSyncTimer): Deleted.
(WebCore::IconDatabase::performScheduleOrDeferSyncTimerOnMainThread): Deleted.
(WebCore::ClientWorkItem::ClientWorkItem): Deleted.
(WebCore::ClientWorkItem::~ClientWorkItem): Deleted.
(WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem): Deleted.
(WebCore::ImportedIconURLForPageURLWorkItem::~ImportedIconURLForPageURLWorkItem): Deleted.
(WebCore::ImportedIconURLForPageURLWorkItem::performWork): Deleted.
(WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem): Deleted.
(WebCore::ImportedIconDataForPageURLWorkItem::~ImportedIconDataForPageURLWorkItem): Deleted.
(WebCore::ImportedIconDataForPageURLWorkItem::performWork): Deleted.
(WebCore::RemovedAllIconsWorkItem::RemovedAllIconsWorkItem): Deleted.
(WebCore::RemovedAllIconsWorkItem::performWork): Deleted.
(WebCore::FinishedURLImport::FinishedURLImport): Deleted.
(WebCore::FinishedURLImport::performWork): Deleted.
(WebCore::performWorkItem): Deleted.
* loader/icon/IconDatabase.h:

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

6 years agoReplace uses of CrossThreadTask in DefaultSharedWorkerRepository, WorkerMessagingProx...
zandobersek@gmail.com [Sat, 7 Jun 2014 13:06:47 +0000 (13:06 +0000)]
Replace uses of CrossThreadTask in DefaultSharedWorkerRepository, WorkerMessagingProxy with C++11 lambdas
https://bugs.webkit.org/show_bug.cgi?id=133375

Reviewed by Darin Adler.

Uses of CrossThreadTask in the two classes are replaced with C++11 lambdas.
The necessary cross-thread copies are created manually and passed into the
lambdas by value, removing the need for CrossThreadTask and its use of CrossThreadCopier.

Remove the explicit use of this pointer in some lambdas -- it is captured automatically when
capturing by value, so enforcing its capturing through explicit use is not necessary.

* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
(WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
(WebCore::postExceptionTask): Deleted.
(WebCore::postConsoleMessageTask): Deleted.
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::workerObjectDestroyed):
(WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
(WebCore::WorkerMessagingProxy::connectToInspector):
(WebCore::WorkerMessagingProxy::disconnectFromInspector):
(WebCore::WorkerMessagingProxy::sendMessageToInspector):
(WebCore::WorkerMessagingProxy::postMessageToPageInspector):
(WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
(WebCore::WorkerMessagingProxy::reportPendingActivity):
(WebCore::postConsoleMessageTask): Deleted.
(WebCore::WorkerMessagingProxy::workerObjectDestroyedInternal): Deleted.
(WebCore::connectToWorkerGlobalScopeInspectorTask): Deleted.
(WebCore::disconnectFromWorkerGlobalScopeInspectorTask): Deleted.
(WebCore::dispatchOnInspectorBackendTask): Deleted.
* workers/WorkerMessagingProxy.h:

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

6 years ago[iOS] Fix a path used for sandbox profiles
ap@apple.com [Sat, 7 Jun 2014 09:21:21 +0000 (09:21 +0000)]
[iOS] Fix a path used for sandbox profiles
https://bugs.webkit.org/show_bug.cgi?id=133602
<rdar://problem/17212011>

Reviewed by David Kilzer.

* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoAdd tests for dynamic changes in msqrt/mroot
fred.wang@free.fr [Sat, 7 Jun 2014 08:10:43 +0000 (08:10 +0000)]
Add tests for dynamic changes in msqrt/mroot
https://bugs.webkit.org/show_bug.cgi?id=133557

Reviewed by Chris Fleizach.

This patch adds some tests to verify that a MathML msqrt/mroot element to which we applied dynamic additions and removals of children renders the same as its static equivalent and that no crashes happen.
Unfortunately, the existing code does not handle them very well so they are skipped until we do the refactoring of bug 119038.

* TestExpectations: skip the tests.
* mathml/roots-addChild-expected.html: Added.
* mathml/roots-addChild.html: Added.
* mathml/roots-removeChild-expected.html: Added.
* mathml/roots-removeChild.html: Added.

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

6 years agoScheme of content utils should be compared in an ASCII case-insensitive manner
gyuyoung.kim@samsung.com [Sat, 7 Jun 2014 01:29:21 +0000 (01:29 +0000)]
Scheme of content utils should be compared in an ASCII case-insensitive manner
https://bugs.webkit.org/show_bug.cgi?id=133502

Reviewed by Darin Adler.

Source/WebCore:
According to spec, scheme must be compared in an ASCII case-insensitive manner by user agents.

Covered by existing tests.

* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::isProtocolWhitelisted):

LayoutTests:
Tests are updated to compare protocol in ASCII case-insensitive manner.

* fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt:
* fast/dom/NavigatorContentUtils/register-protocol-handler.html:
* fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt:
* fast/dom/NavigatorContentUtils/unregister-protocol-handler.html:
* platform/efl/fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt:
* platform/efl/fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt:

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

6 years agoREGRESSION (iOS WebKit2): backspace key does not repeat beyond a single word.
enrica@apple.com [Sat, 7 Jun 2014 00:30:26 +0000 (00:30 +0000)]
REGRESSION (iOS WebKit2): backspace key does not repeat beyond a single word.
https://bugs.webkit.org/show_bug.cgi?id=133593
<rdar://problem/16352228>

Reviewed by Benjamin Poulain.

We need to provide a way for the keyboard layer to select from
the current position to the beginning of the word moving backwards
and implement the method to know when we have reached the beginning of the document.

* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView selectWordBackward]):
(-[WKContentView _selectionAtDocumentStart]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::selectWordBackward):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::selectWordBackward):

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

6 years agoIndexed getters should return values directly on the PropertySlot.
akling@apple.com [Fri, 6 Jun 2014 23:56:50 +0000 (23:56 +0000)]
Indexed getters should return values directly on the PropertySlot.
<https://webkit.org/b/133586>

Source/JavaScriptCore:
Remove PropertySlot's custom index mode.

Reviewed by Darin Adler.

* runtime/JSObject.h:
(JSC::PropertySlot::getValue):
* runtime/PropertySlot.h:
(JSC::PropertySlot::setCustomIndex): Deleted.

Source/WebCore:
Make indexed getters more efficient by using PropertySlot::setValue()
to pass the value directly back through the slot, instead of giving it
a function pointer that JSC would then immediately call back through
to retrieve the value.

The function pointer approach would make sense if we did inline caching
of indexed getters but since we currently don't, this is pure overhead.

Reviewed by Darin Adler.

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
(WebCore::cssPropertyGetterPixelOrPosPrefixCallback): Deleted.
(WebCore::cssPropertyGetterCallback): Deleted.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::indexGetter): Deleted.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateHeader):
(GetIndexedGetterExpression):
(GenerateImplementation):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::getOwnPropertySlotByIndex):
(JSC::RuntimeArray::indexGetter): Deleted.
* bridge/runtime_array.h:

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

6 years agoGenericCueData elements prematurely removed
bfulgham@apple.com [Fri, 6 Jun 2014 23:18:46 +0000 (23:18 +0000)]
GenericCueData elements prematurely removed
https://bugs.webkit.org/show_bug.cgi?id=133588

Reviewed by Eric Carlson.

Add a 'removeCompletedCues' method instead of using the 'resetCueValues' method
after processing new cues. We do not want to reset cue state if we have pending
cues that are being extended by future updates (such as paint-on cues).

* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::processCue):  Call new 'removeCompletedCues' method.
(WebCore::InbandTextTrackPrivateAVF::removeCompletedCues): Added.
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:

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

6 years agoInitialize a char* that needs to be initialized.
beidson@apple.com [Fri, 6 Jun 2014 23:07:47 +0000 (23:07 +0000)]
Initialize a char* that needs to be initialized.
<rdar://problem/15840022> and https://bugs.webkit.org/show_bug.cgi?id=133585

Reviewed by Mark Rowe.

r152134 (erroneously) removed this initialization.

* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::prepare): tail should start out initialized to 0.

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

6 years agoAdopt the new UIAlertController API to replace UIActionSheet.
enrica@apple.com [Fri, 6 Jun 2014 22:06:25 +0000 (22:06 +0000)]
Adopt the new UIAlertController API to replace UIActionSheet.
https://bugs.webkit.org/show_bug.cgi?id=133582
<rdar://problem/16845223>

Reviewed by Joseph Pecoraro.

UIActionSheet is deprecated. We need to move out action sheets
implementation to UIAlertView.

* UIProcess/API/Cocoa/_WKElementAction.h:
* UIProcess/API/Cocoa/_WKElementAction.mm:
* UIProcess/ios/WKActionSheet.h:
* UIProcess/ios/WKActionSheet.mm:
(-[WKActionSheet presentSheetFromRect:]):
(-[WKActionSheet doneWithSheet]):
(-[WKActionSheet willRotate]):
(-[WKActionSheet updateSheetPosition]):
(-[WKActionSheet _didRotateAndLayout]):
(-[WKActionSheet didRotate]):
* UIProcess/ios/WKActionSheetAssistant.h:
* UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant showDataDetectorsSheet]):
(-[WKActionSheetAssistant cleanupSheet]):
(-[WKActionSheetAssistant actionSheet:clickedButtonAtIndex:]): Deleted.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _longPressRecognized:]):

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

6 years agoShould boost ChildProcesses on iOS
barraclough@apple.com [Fri, 6 Jun 2014 21:43:52 +0000 (21:43 +0000)]
Should boost ChildProcesses on iOS
https://bugs.webkit.org/show_bug.cgi?id=133583

Reviewed by Sam Weinig.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):
    - boost all child processes on iOS.

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

6 years ago32-bit build fix.
simon.fraser@apple.com [Fri, 6 Jun 2014 21:08:34 +0000 (21:08 +0000)]
32-bit build fix.

* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):

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

6 years ago[iOS] Support pasting HTML
ap@apple.com [Fri, 6 Jun 2014 21:04:07 +0000 (21:04 +0000)]
[iOS] Support pasting HTML
https://bugs.webkit.org/show_bug.cgi?id=133581
<rdar://problem/17070305>

Reviewed by Enrica Casucci.

We can probably share a lot of code between Mac and iOS here, but for now, just
implement the unimplemented functions.

* editing/ios/EditorIOS.mm: (WebCore::Editor::WebContentReader::readHTML):
Implemented based on WebArchive reading code above, and on Mac version of readHTML.
Unlike on Mac, we don't need to support Microsoft CF_HTML format, as nothing
generates it.

* platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::read):
(WebCore::Pasteboard::supportedPasteboardTypes):
Added HTML support, as the second preferred format after WebArchive.

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

6 years agoFix builds on 10.8; -firstObject isn't declared on NSArray there.
simon.fraser@apple.com [Fri, 6 Jun 2014 20:59:00 +0000 (20:59 +0000)]
Fix builds on 10.8; -firstObject isn't declared on NSArray there.

* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
* DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController mouseScrollByX:andY:continuously:]):
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]):
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):

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

6 years agoBuild fix after <http://trac.webkit.org/changeset/169655>.
ap@apple.com [Fri, 6 Jun 2014 20:34:26 +0000 (20:34 +0000)]
Build fix after <trac.webkit.org/changeset/169655>.

The SPIs used do not exist on Mac, limit the code to iOS.

* Shared/Authentication/mac/AuthenticationManager.mac.mm:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Credential>::encode):
(IPC::ArgumentCoder<Credential>::decode):
* Shared/cf/ArgumentCodersCF.cpp:
(IPC::typeFromCFTypeRef):
(IPC::encode):
(IPC::decode):
* Shared/cf/ArgumentCodersCF.h:

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

6 years agoTry to fix the build after http://trac.webkit.org/changeset/169655
ap@apple.com [Fri, 6 Jun 2014 20:07:29 +0000 (20:07 +0000)]
Try to fix the build after trac.webkit.org/changeset/169655

Unfortunately, the fix is very fragile, and will likely not work for some SDKs
or possibly local headers - all OS versions have multiple SecBase.h headers with
different definitions for SecIdentityRef.

We'll see.

* WebCore.exp.in:

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

6 years agoSource/WebCore: WebCore part of <rdar://problem/17095692> [iOS] Client-certificate...
mitz@apple.com [Fri, 6 Jun 2014 19:04:10 +0000 (19:04 +0000)]
Source/WebCore: WebCore part of <rdar://problem/17095692> [iOS] Client-certificate authentication isn’t working
https://bugs.webkit.org/show_bug.cgi?id=133527

Reviewed by Darin Adler.

* WebCore.exp.in: Exported some Credential member functions.

Source/WebKit2: <rdar://problem/17095692> [iOS] Client-certificate authentication isn’t working
https://bugs.webkit.org/show_bug.cgi?id=133527

Reviewed by Darin Adler.

* Configurations/Network-iOS.entitlements: Enabled the Network process to access the keys
needed to create identities to authenticate with.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Credential>::encode): Encode the credential type, and if it is a client
certificate, encode the identity and the certificates.
(IPC::ArgumentCoder<Credential>::decode): Decode the credential type. If it is a client
certificate, decode the identity and the certificates and use the proper Credential
constructor.

* Shared/cf/ArgumentCodersCF.cpp:
(IPC::typeFromCFTypeRef): Handle SecIdentityRef.
(IPC::encode): Encode an identity by encoding its certificate and a persistent reference to
its key.
(IPC::decode): Decode a certificate and a persistent reference to a key, find the key, and
create an identity.
* Shared/cf/ArgumentCodersCF.h:

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

6 years ago[iOS WebGL] Float texture extension has a slightly different name
dino@apple.com [Fri, 6 Jun 2014 18:37:08 +0000 (18:37 +0000)]
[iOS WebGL] Float texture extension has a slightly different name
https://bugs.webkit.org/show_bug.cgi?id=133580
<rdar://problem/17113451>

Reviewed by Brady Eidson.

Floating point textures were not available on iOS, because we were
looking for the wrong extension.

Covered by the Khronos test (and in LayoutTests):
conformance/extensions/oes-texture-float.html

* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supportsExtension): Look for GL_OES_texture_float
as well as GL_ARB_texture_float.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::texImage2D): Increase the set of things skipped
on PLATFORM(IOS) since they are supported natively there.

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

6 years agoVersioning.
matthew_hanson@apple.com [Fri, 6 Jun 2014 18:00:04 +0000 (18:00 +0000)]
Versioning.

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

6 years agoREGRESSION: Hit testing of composited elements is broken in new multicolumn layout.
hyatt@apple.com [Fri, 6 Jun 2014 17:57:44 +0000 (17:57 +0000)]
REGRESSION: Hit testing of composited elements is broken in new multicolumn layout.
https://bugs.webkit.org/show_bug.cgi?id=133522 (<rdar://problem/17060556>)

Reviewed by Simon Fraser.

Source/WebCore:
Hit testing for the new columns doesn't care about compositing but does still
need a pagination layer set to work. The old column code didn't care about this
because it was top down (and wrong). The new code lets each layer paint and hit
test its own fragments, so having a pagination layer set suddenly becomes relevant
for composited layers.

The solution is to cache whether or not the pagination layer crosses a compositing
boundary, and then to force call sites of enclosingPaginationLayer to pass an argument
indicating whether compositing layers should be included. Typically painting wants to
exclude them but hit testing wants to include them.

* page/FrameView.cpp:
(WebCore::updateLayerPositionFlags):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updatePagination):
(WebCore::transparencyClipBox):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::enclosingPaginationLayerInSubtree):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):

LayoutTests:
* compositing/columns/hittest-composited-in-paginated-expected.txt:

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

6 years agoLatched scrolling tests are flakey on Mavericks
simon.fraser@apple.com [Fri, 6 Jun 2014 17:41:36 +0000 (17:41 +0000)]
Latched scrolling tests are flakey on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=133578
<rdar://problem/17180591>

Reviewed by Brent Fulgham.

Tools:
The latched scrolling tests rely on synthetic mousewheel events whose coordinates can
be wrong on machines with more than one screen. This is because we use
[NSScreen mainScreen] when computing the global coordinates of the events, but
[NSScreen mainScreen] returns the screen with the key window, not the first screen.

So replace calls to [NSScreen mainScreen] with [[NSScreen screens] firstObject]. Also
add comments clarifying why the coordinate math works (which is not obvious given
the events have no target window).

Some scrolling tests also dispatched events outside the 800x600 test window, so
fix those tests, and add logging that will appear in test output when this happens.

* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
* DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController mouseScrollByX:andY:continuously:]):
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]):
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::continuousMouseScrollBy):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):

LayoutTests:
Fix these tests to not dispatch events outside the window, and correct some of the wording
in the tests.

* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html:

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

6 years agoRun passing WebGL tests on Windows.
commit-queue@webkit.org [Fri, 6 Jun 2014 16:54:18 +0000 (16:54 +0000)]
Run passing WebGL tests on Windows.
https://bugs.webkit.org/show_bug.cgi?id=133563

Patch by Alex Christensen <achristensen@webkit.org> on 2014-06-06
Reviewed by Brent Fulgham.

* platform/win/TestExpectations:
Replaced all WebGL tests with lists of failing and crashing tests to fix.

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

6 years ago[MediaStream] 'get' prefix is missing for capabilities and constraints.
commit-queue@webkit.org [Fri, 6 Jun 2014 16:33:42 +0000 (16:33 +0000)]
[MediaStream] 'get' prefix is missing for capabilities and constraints.
https://bugs.webkit.org/show_bug.cgi?id=133573

Patch by Kiran <kiran.guduru@samsung.com> on 2014-06-06
Reviewed by Eric Carlson.

Source/WebCore:
Modified the existing MediaStreamTrack.html to test the changes.

As per the Media Capture and Streams spec method names constreaints and
capabilities should be prefixed by 'get'. So updated the method names.

* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::getConstraints):
(WebCore::MediaStreamTrack::getCapabilities):
(WebCore::MediaStreamTrack::constraints): Deleted.
(WebCore::MediaStreamTrack::capabilities): Deleted.
* Modules/mediastream/MediaStreamTrack.h:
* Modules/mediastream/MediaStreamTrack.idl:

LayoutTests:
* fast/mediastream/MediaStreamTrack-expected.txt:
* fast/mediastream/MediaStreamTrack.html:

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

6 years agoREGRESSION(169440): Repro crash when playing a video with captions
bfulgham@apple.com [Fri, 6 Jun 2014 16:20:31 +0000 (16:20 +0000)]
REGRESSION(169440): Repro crash when playing a video with captions
https://bugs.webkit.org/show_bug.cgi?id=133459
<rdar://problem/17079081>

Reviewed by Eric Carlson.

The change I made in r169440 introduced a crash for paint-on captions. This
resolves the problem as follows:
1. No longer attempt to modify the start/endTime in the TextTrack implementation.
2. Check for extensions to existing cues when we are about to add new arriving
   cues. If they extend a current pending cue, don't set an end-time for the
   pending cue, and throw away the new duplicate. Otherwise set the end time
   as previously and continue.

* html/track/TextTrack.cpp:
(WebCore::TextTrack::hasCue): Remove 'doesExtendCue' case since this is
no longer possible.
* platform/graphics/InbandTextTrackPrivateClient.h:
(WebCore::GenericCueData::doesExtendCueData): Added.
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::processCue): Check for cues extending
other cues and handle appropriately.

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

6 years ago[GTK] Layout Test accessibility/table-fallback-roles-expose-element-attributes.html...
mario.prada@samsung.com [Fri, 6 Jun 2014 16:19:54 +0000 (16:19 +0000)]
[GTK] Layout Test accessibility/table-fallback-roles-expose-element-attributes.html is failing
https://bugs.webkit.org/show_bug.cgi?id=133519

Reviewed by Chris Fleizach.

Adapted test to play nicely with the different types of
accessibility hierarchies exposed for Mac and ATK.

* accessibility/table-fallback-roles-expose-element-attributes.html:
Updated text to print information of cells from every platform but
only print information of their children in the Mac.

* accessibility/table-fallback-roles-expose-element-attributes-expected.txt:
Updated expectation to match ATK platforms (GTK & EFL).
* platform/mac/accessibility/table-fallback-roles-expose-element-attributes-expected.txt:
Copied from LayoutTests/accessibility/table-fallback-roles-expose-element-attributes-expected.txt.

* platform/gtk/TestExpectations: Removed expected failure.

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

6 years agoROLLOUT: r169630: Caused a retain cycle.
bfulgham@apple.com [Fri, 6 Jun 2014 15:49:08 +0000 (15:49 +0000)]
ROLLOUT: r169630: Caused a retain cycle.
https://bugs.webkit.org/show_bug.cgi?id=133463
<rdar://problem/17098100>

Rolling out this change as it introduced a retain cycle.

* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::setControllerJSObject): Deleted.
* Modules/mediacontrols/MediaControlsHost.h:
(WebCore::MediaControlsHost::controllerJSValue):
(WebCore::MediaControlsHost::setControllerJSValue):
(WebCore::MediaControlsHost::controllerJSObject): Deleted.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):

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

6 years agoAdd test references for horizontal stretchy operators.
fred.wang@free.fr [Fri, 6 Jun 2014 07:37:20 +0000 (07:37 +0000)]
Add test references for horizontal stretchy operators.
https://bugs.webkit.org/show_bug.cgi?id=72828

Unreviewed Win and EFL gardening.

* platform/efl/mathml/opentype/horizontal-LatinModern-expected.txt: Added.
* platform/efl/mathml/opentype/horizontal-LatinModern-munderover-expected.txt: Added.
* platform/efl/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Added.
* platform/win/mathml/opentype/horizontal-LatinModern-expected.txt: Added.
* platform/win/mathml/opentype/horizontal-LatinModern-munderover-expected.txt: Added.
* platform/win/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Added.

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

6 years agoAdd test references for horizontal stretchy operators.
fred.wang@free.fr [Fri, 6 Jun 2014 07:26:32 +0000 (07:26 +0000)]
Add test references for horizontal stretchy operators.
https://bugs.webkit.org/show_bug.cgi?id=72828

Unreviewed Mac gardening.

* platform/mac/mathml/horizontal-LatinModern-expected.txt: Added.
* platform/mac/mathml/horizontal-LatinModern-munderover-expected.txt: Added.
* platform/mac/mathml/opentype-stretchy-horizontal-expected.txt: Added.

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

6 years agoStyleResolver doesn't compile without CSS_GRID_LAYOUT enabled
dino@apple.com [Fri, 6 Jun 2014 06:53:15 +0000 (06:53 +0000)]
StyleResolver doesn't compile without CSS_GRID_LAYOUT enabled
https://bugs.webkit.org/show_bug.cgi?id=133568

Reviewed by Tim Horton.

* css/StyleResolver.cpp:
(WebCore::isDisplayGridBox): Add UNUSED_PARAM.

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

6 years ago[CSSRegions] Region box incorrectly overlaps floating box
mihnea@adobe.com [Fri, 6 Jun 2014 06:44:55 +0000 (06:44 +0000)]
[CSSRegions] Region box incorrectly overlaps floating box
https://bugs.webkit.org/show_bug.cgi?id=133545

Reviewed by David Hyatt.

Source/WebCore:
A region box creates a BFC and it should not overlap a floating box in the same formatting context: http://www.w3.org/TR/CSS21/visuren.html#bfc-next-to-float

Test: fast/regions/region-as-bfc-avoids-float.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::avoidsFloats):

LayoutTests:
Add test to check that a region does not incorrectly overlap a floating
element in the same formatting context.

* fast/regions/region-as-bfc-avoids-float-expected.html: Added.
* fast/regions/region-as-bfc-avoids-float.html: Added.

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

6 years agoAlign srcset parser with recent spec changes
yoav@yoav.ws [Fri, 6 Jun 2014 06:06:15 +0000 (06:06 +0000)]
Align srcset parser with recent spec changes
https://bugs.webkit.org/show_bug.cgi?id=133504

Reviewed by Darin Adler.

Source/WebCore:
New tests were added to fast/hidpi/image-srcset-invalid-descriptor.html

The srcset parser changes align it with the spec:
http://picture.responsiveimages.org/#parse-srcset-attr.
The spec changes are meant to give the parser better future
compatibility, and enable it to work well with the 'w' descriptor, the
soon to be added 'h' descriptor and function descriptors (e.g.
future-descriptor(a, b, c) ).

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate):
(WebCore::HTMLImageElement::parseAttribute):
* html/HTMLImageElement.h:
* html/parser/HTMLParserIdioms.h:
(WebCore::isHTMLSpace):
(WebCore::isComma):
(WebCore::isHTMLSpaceOrComma):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
* html/parser/HTMLSrcsetParser.cpp:
(WebCore::compareByDensity):
(WebCore::appendDescriptorAndReset):
(WebCore::appendCharacter):
(WebCore::isEOF):
(WebCore::tokenizeDescriptors):
(WebCore::stringViewToFloat):
(WebCore::stringViewToInt):
(WebCore::parseDescriptors):
(WebCore::parseImageCandidatesFromSrcsetAttribute):
(WebCore::pickBestImageCandidate):
(WebCore::bestFitSourceForImageAttributes):
(WebCore::compareByScaleFactor): Deleted.
(WebCore::parseImagesWithScaleFromSrcsetAttribute): Deleted.
* html/parser/HTMLSrcsetParser.h:
(WebCore::DescriptorParsingResult::DescriptorParsingResult):
(WebCore::DescriptorParsingResult::hasDensity):
(WebCore::DescriptorParsingResult::hasWidth):
(WebCore::DescriptorParsingResult::hasHeight):
(WebCore::DescriptorParsingResult::density):
(WebCore::DescriptorParsingResult::resourceWidth):
(WebCore::DescriptorParsingResult::resourceHeight):
(WebCore::DescriptorParsingResult::setResourceWidth):
(WebCore::DescriptorParsingResult::setResourceHeight):
(WebCore::DescriptorParsingResult::setDensity):
(WebCore::ImageCandidate::ImageCandidate):
(WebCore::ImageCandidate::toString):
(WebCore::ImageCandidate::url):
(WebCore::ImageCandidate::setDensity):
(WebCore::ImageCandidate::density):
(WebCore::ImageCandidate::resourceWidth):
(WebCore::ImageCandidate::srcOrigin):
(WebCore::ImageCandidate::isEmpty):
(WebCore::ImageWithScale::ImageWithScale): Deleted.
(WebCore::ImageWithScale::imageURL): Deleted.
(WebCore::ImageWithScale::scaleFactor): Deleted.
* html/parser/ParsingUtilities.h: Renamed from Source/WebCore/html/track/ParsingUtilities.h.
(skipExactly):
(skipUntil):
(skipWhile):
(reverseSkipWhile):

Source/WTF:
I've added toInt and toFloat methods to StringView, and exposed
charactersToInt so that they can be used by
HTMLSrcsetParser.cpp.

* wtf/text/WTFString.h:
* wtf/text/StringView.h:
(WTF::StringView::toInt):
(WTF::StringView::toFloat):

LayoutTests:
I have changed the "invalid-descriptor" test and removed the "invalid
inputs correct src" test to reflect the fact that invalid descriptors
are now treated identically to null descriptors. That is according to
the spec.
I've also added new tests that make sure that the spec's future
compatible changes are working.

* fast/hidpi/image-srcset-invalid-descriptor-expected.txt:
* fast/hidpi/image-srcset-invalid-descriptor.html:
* fast/hidpi/image-srcset-invalid-inputs-correct-src-expected.txt: Removed.
* fast/hidpi/image-srcset-invalid-inputs-correct-src.html: Removed.

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

6 years agoSource/WebCore: Current media controls look different from previous media controls...
jonlee@apple.com [Fri, 6 Jun 2014 05:11:02 +0000 (05:11 +0000)]
Source/WebCore: Current media controls look different from previous media controls. Adjusted CSS to make media elements more similar by adding padding, adjusting hues/svg, resizing elements, etc.

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

Patch by Wenson Hsieh <wenson_hsieh@apple.com> on 2014-06-05
Reviewed by Eric Carlson.

The main issues:
- The widths between elements of both audio and video players are incorrect.
- The hues of audio player elements are incorrect.
- The hues of video player elements are content dependent (refer to full-screen mode), and this cannot be exactly replicated using just css. This patch only attempts to make them more similar.
- The height of the audio player is incorrect.

Test: platform/ios-sim/media/audio-width.html

* Modules/mediacontrols/mediaControlsiOS.css: Updated style elements for audio/video elements.
(::-webkit-media-controls): Enforce a minimum width on audio/video controls.
(audio): Enforce a minimum width on audio elements.
(audio::-webkit-media-controls): see below
(audio::-webkit-media-controls-wireless-playback-picker-button): modified SVG, hue and width/height.
(audio::-webkit-media-controls-panel): adjusted hue, added left/right padding.
(audio::-webkit-media-controls-fullscreen-button): removed. There's no fullscreen for audio anyways.
(audio::-webkit-media-controls-current-time-display): adjusted font size, added left padding.
(audio::-webkit-media-controls-time-remaining-display): adjusted font size, added right padding.

(video::-webkit-media-controls-panel): adjusted hue, added left/right padding.
(video::-webkit-media-controls-current-time-display): added left padding.
(video::-webkit-media-controls-time-remaining-display): added right padding.
(video::-webkit-media-controls-wireless-playback-picker-button): modified SVG, hue, opacity and width/height.
(video::-webkit-media-controls-fullscreen-button): modified SVG, hue, opacity, and width/height. In particular, made the svg seem sharper.
(video::-webkit-media-controls-play-button): modified SVG, hue, opacity, and width/height.

LayoutTests: REGRESSION (Pluginless): Media controls look different from iOS7 media controls.
https://bugs.webkit.org/show_bug.cgi?id=133521

Patch by Wenson Hsieh <wenson_hsieh@apple.com> on 2014-06-05
Reviewed by Eric Carlson.

Tests that audio elements are properly sized. Will add tests for video players in the (near) future.

* platform/ios-sim/media/audio-width-expected.txt: Checks that audio width tests were OK'd
* platform/ios-sim/media/audio-width.html: Checks that minimum audio width is properly enforced

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

6 years agoUnreviewed, rolling out r169570.
commit-queue@webkit.org [Fri, 6 Jun 2014 02:22:26 +0000 (02:22 +0000)]
Unreviewed, rolling out r169570.
https://bugs.webkit.org/show_bug.cgi?id=133565

It breaks Baidu (Requested by benjaminp on #webkit).

Reverted changeset:

"[iOS] Start ignoring common bogus viewport parameters"
https://bugs.webkit.org/show_bug.cgi?id=133466
http://trac.webkit.org/changeset/169570

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

6 years agoAX: Add support for ARIA 1.1 'none' role
commit-queue@webkit.org [Fri, 6 Jun 2014 00:23:00 +0000 (00:23 +0000)]
AX: Add support for ARIA 1.1 'none' role
https://bugs.webkit.org/show_bug.cgi?id=133367

Patch by Michael Timbrook <timbrook@apple.com> on 2014-06-05
Reviewed by Chris Fleizach.

Source/WebCore:
Added support for the 'none' role by added a lookup for it to go to PresentationalRole
Test: accessibility/aria-none-role.html

* accessibility/AccessibilityObject.cpp:
(WebCore::initializeRoleMap):

LayoutTests:
Added the tests to cover the behavior of the 'none' role
* accessibility/aria-none-role-expected.txt: Added.
* accessibility/aria-none-role.html: Added.

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

6 years agoAX: [ATK] Children of tables and lists with role='presentation' should each be expose...
jdiggs@igalia.com [Thu, 5 Jun 2014 23:53:17 +0000 (23:53 +0000)]
AX: [ATK] Children of tables and lists with role='presentation' should each be exposed as if they were div elements
https://bugs.webkit.org/show_bug.cgi?id=133133

Reviewed by Chris Fleizach.

Source/WebCore:
When a table or list has role='presentation', accessibility is "ignored"
for that element, but not for the required children. The default roles
for the children (CellRole and ListItemRole) do not make sense without
the parent, therefore map them to DivRole in ATK if they inherit the
presentational role.

Test: accessibility/aria-inherits-presentational.html

* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::inheritsPresentationalRole):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
* accessibility/AccessibilityRenderObject.h:
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):

LayoutTests:
Added a new test with platform-specific expectations due to differences
in accessible hierarchies.

* accessibility/aria-inherits-presentational.html: Added.
* platform/gtk/accessibility/aria-inherits-presentational-expected.txt: Added.
* platform/mac/accessibility/aria-inherits-presentational-expected.txt: Added.

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

6 years agoREGRESSION (r167962): Out of bounds read in JSC::StructureIDTable::get()
bfulgham@apple.com [Thu, 5 Jun 2014 23:46:33 +0000 (23:46 +0000)]
REGRESSION (r167962): Out of bounds read in JSC::StructureIDTable::get()
https://bugs.webkit.org/show_bug.cgi?id=133463
<rdar://problem/17098100>

Reviewed by Dean Jackson.

Revise MediaControllerHost implementation so that it holds a Strong
reference to the JavaScript 'Controller' object it mirrors. The
MediaControllerHost is constructed when we create an HTMLMediaElement,
and is the logical place to retain ownership of the JS object so that
it does not get garbage collected as long as HTMLMediaElement exists.

* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::setControllerJSObject): Create a strong
reference to the JavaScript Controller object.
* Modules/mediacontrols/MediaControlsHost.h: Use JSC::Strong to hold a
JSObject, rather than a bare JSValue.
(WebCore::MediaControlsHost::controllerJSObject): Change name to reflect
that we are working with JSObjects, not JSValues.
(WebCore::MediaControlsHost::controllerJSValue): Deleted.
(WebCore::MediaControlsHost::setControllerJSValue): Deleted.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute): Revise for changed method
signature.

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

6 years agoShare platform/mac/editing/spelling/move-cursor-around-misspelled-word.html with...
g.czajkowski@samsung.com [Thu, 5 Jun 2014 23:19:54 +0000 (23:19 +0000)]
Share platform/mac/editing/spelling/move-cursor-around-misspelled-word.html with other platforms
https://bugs.webkit.org/show_bug.cgi?id=133208

Reviewed by Darin Adler.

Move the test to common editing/spelling since it just verifies spelling
markers and other platforms might be interested in running it as well.

Due to bug 125688, the test starts using asynchronous spellchecking.
Add additional test case which checks spelling marker after typing
the text, before any caret change.

* editing/spelling/move-cursor-around-misspelled-word-expected.txt:
Renamed from platform/mac/editing/spelling/move-cursor-around-misspelled-word-expected.txt
* editing/spelling/move-cursor-around-misspelled-word.html:
Renamed from platform/mac/editing/spelling/move-cursor-around-misspelled-word.html

* platform/gtk/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/win/TestExpectations:
Add failing expectation for platforms which didn't switch to
asynchronous spellchecking.

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

6 years agoRemove unsused method _setAcceleratedImageDecoding
psolanki@apple.com [Thu, 5 Jun 2014 21:40:08 +0000 (21:40 +0000)]
Remove unsused method _setAcceleratedImageDecoding
https://bugs.webkit.org/show_bug.cgi?id=133554

Reviewed by Jon Honeycutt.

* WebView/WebView.mm:
(+[WebView _setAcceleratedImageDecoding:]): Deleted.
* WebView/WebViewPrivate.h:

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

6 years ago[iOS][WK2] WebPage sometimes forces two resize events on animated resize
benjamin@webkit.org [Thu, 5 Jun 2014 21:36:40 +0000 (21:36 +0000)]
[iOS][WK2] WebPage sometimes forces two resize events on animated resize
https://bugs.webkit.org/show_bug.cgi?id=133534

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-05
Reviewed by Enrica Casucci.

When I updated the patch for resize events (r168556) to use the unobscured rect in scrollview coordinates,
I forgot to update a snippet of code in dynamicViewportSizeUpdate(). Since that code was still using
the scaled unobscured rect, there was sometimes a difference of 1 pixel between the size set by that
call site and the others.

This path nukes the bad code and use the unobscured rect in scrollview coordinates given by the UIProcess.

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

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

6 years ago[iOS][WK2] Add device orientation
benjamin@webkit.org [Thu, 5 Jun 2014 21:14:52 +0000 (21:14 +0000)]
[iOS][WK2] Add device orientation
https://bugs.webkit.org/show_bug.cgi?id=133530

Source/WebCore:

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-05
Reviewed by Tim Horton.

Previously, WebCore was getting the orientation directly from the WebKit layer.
This had to be done during the frame creation and was very fragile.

Frame is changed to pull the value from the chrome client. That way we avoid races
and we can maintain a single value for all frames.

Sending the values to all the subframes is aslo done here so that we do not have to repeat
it in both WebKit layers.

* WebCore.exp.in:
* loader/EmptyClients.h:
* page/ChromeClient.h:
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::orientationChanged):
(WebCore::Frame::orientation):
(WebCore::Frame::sendOrientationChangeEvent): Deleted.
* page/Frame.h:
(WebCore::Frame::orientation): Deleted.

Source/WebKit/ios:

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-05
Reviewed by Tim Horton.

Change WebKit1 to provide the deviceOrientation as pull instead of push.

* DefaultDelegates/WebDefaultUIKitDelegate.m:
(-[WebDefaultUIKitDelegate deviceOrientation]):
* WebCoreSupport/WebChromeClientIOS.h:
* WebCoreSupport/WebChromeClientIOS.mm:
(WebChromeClientIOS::deviceOrientation):
* WebView/WebUIKitDelegate.h:

Source/WebKit/mac:

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-05
Reviewed by Tim Horton.

* WebView/WebFrame.mm:
(-[WebFrame deviceOrientationChanged]):
(-[WebFrame sendOrientationChangeEvent:]):
* WebView/WebFramePrivate.h:

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

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-05
Reviewed by Tim Horton.

Add device orientation for WebKit2.

For the public API, WKWebView get the updates through the notification UIWindowDidRotateNotification.
We do not have any control over how the API is used, but we can expect the size will be updated before
the end of rotation in most cases and the events should be sent in the right order.

For Safari, we use an override to support animated resize (and some tabs corner cases).

On the WebProcess side, we just get the new orientation directly or on DynamicViewportSizeUpdate.

* UIProcess/API/Cocoa/WKWebView.mm:
(deviceOrientationForUIInterfaceOrientation):
(deviceOrientation):
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView _windowDidRotate:]):
(-[WKWebView _setInterfaceOrientationOverride:]):
(-[WKWebView _interfaceOrientationOverride]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::deviceOrientation):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::setDeviceOrientation):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::deviceOrientation):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::deviceOrientation):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setDeviceOrientation):
(WebKit::WebPage::dynamicViewportSizeUpdate):

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

6 years agomedia/video-rtl.html is flaky
ap@apple.com [Thu, 5 Jun 2014 21:10:15 +0000 (21:10 +0000)]
media/video-rtl.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=133363

* platform/mac/TestExpectations: Marked as such.

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

6 years agoFix the !CACHE_SUBIMAGES build
timothy_horton@apple.com [Thu, 5 Jun 2014 21:00:15 +0000 (21:00 +0000)]
Fix the !CACHE_SUBIMAGES build

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawNativeImage):

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

6 years agoEnable SANDBOX_EXTENSIONS build flag universally on cocoa
oliver@apple.com [Thu, 5 Jun 2014 19:49:56 +0000 (19:49 +0000)]
Enable SANDBOX_EXTENSIONS build flag universally on cocoa
https://bugs.webkit.org/show_bug.cgi?id=133556

Reviewed by Alexey Proskuryakov.

Remove unnecessary iOS exception.

* WebKit2Prefix.h:

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

6 years agoCSS JIT: Clean up StackAllocator
commit-queue@webkit.org [Thu, 5 Jun 2014 18:40:23 +0000 (18:40 +0000)]
CSS JIT: Clean up StackAllocator
https://bugs.webkit.org/show_bug.cgi?id=133506

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

Cleaning up CSS JIt StackAllocator code. Sharing push / pop code and
using information provided by MacroAssembler more aggressively
to drop ifdefs.

* cssjit/StackAllocator.h:
(WebCore::StackAllocator::allocateUninitialized):
(WebCore::StackAllocator::push):
(WebCore::StackAllocator::pop):
(WebCore::StackAllocator::popAndDiscard):
(WebCore::StackAllocator::popAndDiscardUpTo):
(WebCore::StackAllocator::alignStackPreFunctionCall):
(WebCore::StackAllocator::unalignStackPostFunctionCall):
(WebCore::StackAllocator::stackUnitInBytes):

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

6 years agoSubpixel rendering: border-radius painting falls back to rectangle when the snapped...
zalan@apple.com [Thu, 5 Jun 2014 18:18:40 +0000 (18:18 +0000)]
Subpixel rendering: border-radius painting falls back to rectangle when the snapped rounded rect becomes non-renderable.
https://bugs.webkit.org/show_bug.cgi?id=133491

Reviewed by Simon Fraser.

Pixel snapping can change the rectangle's size when it is on a certain subpixel position. (usually it does not)
This patch ensures that the snapped rect is still renderable by adjusting the radii as well.

Source/WebCore:
Test: fast/borders/hidpi-border-radius-with-subpixel-margin-not-renderable.html

* platform/graphics/RoundedRect.cpp:
(WebCore::RoundedRect::Radii::scale):
(WebCore::RoundedRect::pixelSnappedRoundedRectForPainting):
* platform/graphics/RoundedRect.h:

LayoutTests:
* fast/borders/hidpi-border-radius-with-subpixel-margin-not-renderable-expected.html: Added.
* fast/borders/hidpi-border-radius-with-subpixel-margin-not-renderable.html: Added.

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

6 years agoUnreviewed, rolling out r169587.
commit-queue@webkit.org [Thu, 5 Jun 2014 17:21:20 +0000 (17:21 +0000)]
Unreviewed, rolling out r169587.
https://bugs.webkit.org/show_bug.cgi?id=133552

Calls a pure virtual method, crashes (Requested by ap on
#webkit).

Reverted changeset:

"WebKit should adopt journal_mode=wal for all SQLite
databases."
https://bugs.webkit.org/show_bug.cgi?id=133496
http://trac.webkit.org/changeset/169587

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

6 years ago[Mac] Tweak plug-in sandbox profiles
ap@apple.com [Thu, 5 Jun 2014 17:21:00 +0000 (17:21 +0000)]
[Mac] Tweak plug-in sandbox profiles
https://bugs.webkit.org/show_bug.cgi?id=133549

Fix <rdar://problem/17068055> and <rdar://problem/17148837>.

Reviewed by Sam Weinig and Simon Cooper.

* Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
* Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:

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

6 years agoApply Character-level mirroring to stretchy operators in RTL mode.
fred.wang@free.fr [Thu, 5 Jun 2014 16:23:08 +0000 (16:23 +0000)]
Apply Character-level mirroring to stretchy operators in RTL mode.
https://bugs.webkit.org/show_bug.cgi?id=130839

Reviewed by Chris Fleizach.

Source/WebCore:
We add support for character-level mirroring for stretchy MathML operators in RTL mode.
Glyph-level mirroring (via the rtlm OpenType feature) will be handled in bug 130840.

Test: mathml/presentation/stretchy-rtl.html

* rendering/mathml/RenderMathMLOperator.cpp: reorganize the Unicode stretchyCharacters table to make mirroring easy.
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): pass the right boolean to glyphDataForCharacter.
(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator): ditto
(WebCore::RenderMathMLOperator::findStretchyData): ditto and change the index for the stretchyCharacters fallback.
(WebCore::RenderMathMLOperator::updateStyle): pass the right boolean to glyphDataForCharacter.
(WebCore::RenderMathMLOperator::paint): remove the FIXME comment.
(WebCore::RenderMathMLOperator::paintVerticalGlyphAssembly): switch the leading/trailing space in RTL mode.

LayoutTests:
Add some tests to verify that stretchy operators are correctly mirrored in RTL mode.

* mathml/presentation/stretchy-rtl-expected.html: Added.
* mathml/presentation/stretchy-rtl.html: Added.

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

6 years ago[CSS Regions][CSS Shapes] Add Shapes tests which flow through multiple regions
zoltan@webkit.org [Thu, 5 Jun 2014 16:16:16 +0000 (16:16 +0000)]
[CSS Regions][CSS Shapes] Add Shapes tests which flow through multiple regions
https://bugs.webkit.org/show_bug.cgi?id=133487

Reviewed by Mihnea Ovidenie.

The test verifies if the content with the shape wraps correctly through a region chain.

* fast/regions/shape-outside-floats/regions-shape-outside-content-flows-multiple-regions-expected.html: Added.
* fast/regions/shape-outside-floats/regions-shape-outside-content-flows-multiple-regions.html: Added.

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

6 years agoSubpixel rendering: Buttons in default media controls shift vertically when controls...
zalan@apple.com [Thu, 5 Jun 2014 15:59:37 +0000 (15:59 +0000)]
Subpixel rendering: Buttons in default media controls shift vertically when controls fade in or out.
https://bugs.webkit.org/show_bug.cgi?id=133488

Reviewed by Simon Fraser.

Filter effects are not subpixel aware yet. They paint to integrally sized image buffers.
In order to ensure that the content is rendered to the the same position on the filter
source context as if there was no filter, the repaint rects need to be adjusted to match with
the internal filter snapping (enclosingIntRect).
This is a temporary change until after filter effects get subpixelized.

However, this changeset regresses RenderNameFlow clipping when the content is on subpixel position
and filter effect is present. Instead of adding the failing test cases to TestExpectations, I removed
the video controls from the <video> to make the tests pass, when possible (they just happen to have <video>)
and filed webkit.org/b/133523 to track the regression.

Source/WebCore:

Test: css3/filters/filter-is-on-subpixel-position.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupFilters):

LayoutTests:

* css3/filters/filter-is-on-subpixel-position-expected.html: Added.
* css3/filters/filter-is-on-subpixel-position.html: Added.
* fast/regions/inline-block-inside-anonymous-overflow.html:
* fast/regions/inline-block-overflow.html:

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

6 years ago[GTK] run-perf-tests should run the tests inside the jhbuild shell.
commit-queue@webkit.org [Thu, 5 Jun 2014 13:45:17 +0000 (13:45 +0000)]
[GTK] run-perf-tests should run the tests inside the jhbuild shell.
https://bugs.webkit.org/show_bug.cgi?id=133533

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-06-05
Reviewed by Carlos Garcia Campos.

* Scripts/webkitpy/common/multiprocessing_bootstrap.py:
(run): Remove the jhbuild-wrapper wrapper from here. It should be
on Scripts/webkitpy/port/gtk.py.
* Scripts/webkitpy/port/base.py:
(Port.set_option): Add a set_option(name, value) function to set
the optparse parameter "name" to the value "value", even if the
parameter "name" is already initialized.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.__init__): Set the default wrapper to jhbuild-wrapper.
If another wrapper is specified via the option "-l --wrapper=x",
then prepend the jhbuild-wrapper to the one specified.

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

6 years ago[EFL] Change expectations for three layout tests.
commit-queue@webkit.org [Thu, 5 Jun 2014 12:47:00 +0000 (12:47 +0000)]
[EFL] Change expectations for three layout tests.
https://bugs.webkit.org/show_bug.cgi?id=133538

Unreviewed EFL gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-06-05

* platform/efl-wk2/TestExpectations:

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

6 years agoResolve compiler error (call of overloaded 'schedule' function is ambiguous)
commit-queue@webkit.org [Thu, 5 Jun 2014 11:30:13 +0000 (11:30 +0000)]
Resolve compiler error (call of overloaded 'schedule' function is ambiguous)
https://bugs.webkit.org/show_bug.cgi?id=133467

Patch by Tanay C <tanay.c@samsung.com> on 2014-06-05
Reviewed by Carlos Garcia Campos.

* Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::DownloadClient::handleResponseLater): Explicitly casting second parameter to std::function<void()>

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

6 years ago[MediaStream] MediaStream.addTrack should not check for tracks ended state.
commit-queue@webkit.org [Thu, 5 Jun 2014 09:41:29 +0000 (09:41 +0000)]
[MediaStream] MediaStream.addTrack should not check for tracks ended state.
https://bugs.webkit.org/show_bug.cgi?id=133510

Patch by Kiran <kiran.guduru@samsung.com> on 2014-06-05
Reviewed by Eric Carlson.

Source/WebCore:
Adding and removing of tracks to a MediaStream should not have dependency
on tracks state. So the check for MediaStreamTrack's ended state has been
removed while adding a track in MediaStreamPrivate.cpp.

Test: fast/mediastream/MediaStream-add-ended-tracks.html

* platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::addTrack):

LayoutTests:
* fast/mediastream/MediaStream-add-ended-tracks-expected.txt: Added.
* fast/mediastream/MediaStream-add-ended-tracks.html: Added.

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

6 years ago[GTK] Remove ScrollViewGtk.cpp
yoon@igalia.com [Thu, 5 Jun 2014 09:25:30 +0000 (09:25 +0000)]
[GTK] Remove ScrollViewGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=133535

Reviewed by Carlos Garcia Campos.

Because GTK+ WK1 was removed, we don't have to consider special cases
handled in ScrollViewGtk.cpp.

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

* PlatformGTK.cmake:
* platform/ScrollView.cpp:
(WebCore::ScrollView::setScrollbarModes):
(WebCore::ScrollView::visibleContentRectInternal):
* platform/gtk/ScrollViewGtk.cpp: Removed.

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

6 years ago[EFL] Add expectations for two accessibility layout tests.
commit-queue@webkit.org [Thu, 5 Jun 2014 09:23:08 +0000 (09:23 +0000)]
[EFL] Add expectations for two accessibility layout tests.
https://bugs.webkit.org/show_bug.cgi?id=133485

Unreviewed EFL gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-06-05

* platform/efl-wk2/TestExpectations:
* platform/efl-wk2/accessibility/lists-expected.txt:

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

6 years agoVersioning.
bshafiei@apple.com [Thu, 5 Jun 2014 07:31:56 +0000 (07:31 +0000)]
Versioning.

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

6 years agoMathML operators not stretched horizontally
fred.wang@free.fr [Thu, 5 Jun 2014 06:35:04 +0000 (06:35 +0000)]
MathML operators not stretched horizontally
https://bugs.webkit.org/show_bug.cgi?id=72828

Reviewed by Chris Fleizach.

Source/WebCore:
This patch adds basic horizontal stretching rules for operators inside
an <munder>, <mover> or <munderover> elements. The stretchy operators
in such an element stretch to cover the size of the non-stretchy
operators. This only works when fonts that have an OpenType MATH table
are used.

Tests: mathml/opentype/horizontal-LatinModern.html
       mathml/opentype/opentype-stretchy-horizontal.html
       mathml/opentype/horizontal-LatinModern-munderover.html

* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::MathMLOperatorDictionary::ExtractKeyHorizontal): We add an ordered list of operators that have horizontal stretch direction.
(WebCore::RenderMathMLOperator::RenderMathMLOperator): init m_Vertical
(WebCore::RenderMathMLOperator::SetOperatorProperties): set m_Vertical by checking whether the operator is in the horizontalOperators list.
(WebCore::RenderMathMLOperator::stretchTo): We do not stretch vertically
if the operator has horizontal direction.
We also add a new version stretchTo(LayoutUnit width) for horizontal stretching only.
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Handle horizontal stretching: the maximumGlyphWidth is the maximum of
the base size or of the stretch size.
(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator): Add an ASSERT to ensure that this function is only called for vertical stretching.
(WebCore::RenderMathMLOperator::findStretchyData): Add an ASSERT to ensure that this function is not called to get the maximum width of a horizontal stretchy operator.
We take into account m_isVertical when calling getMathVariants or computing sizes.
There is not any Unicode-only construction for horizontal stretching, so a MATH table is required for horizontal stretching.
(WebCore::RenderMathMLOperator::updateStyle): Ignore some code paths specific to vertical stretching and take into account the m_Vertical parameters.
For horizontal stretching, the m_stretch*Baseline parameters are now updated to match the metrics of the size variant or of the maximum of the parts in the glyph assembly.
(WebCore::RenderMathMLOperator::computeLogicalHeight): logicalHeight is now explicitely the sum of m_stretchHeightAboveBaseline and m_stretchDepthBelowBaseline, since it can be different from the stretchSize() in horizontal stretching.
(WebCore::RenderMathMLOperator::paintGlyph): handle trimming for horizontal stretching.
(WebCore::RenderMathMLOperator::fillWithVerticalExtensionGlyph): rename the function and ensure it is only call for m_isVertical.
(WebCore::RenderMathMLOperator::fillWithHorizontalExtensionGlyph): same as fillWithVerticalExtensionGlyph, but for horizontal stretching.
(WebCore::RenderMathMLOperator::paint): For glyph assembly, choose between paintVerticalGlyphAssembly or paintHorizontalGlyphAssembly.
(WebCore::RenderMathMLOperator::paintVerticalGlyphAssembly): rename the function and ensure it is only call for m_isVertical.
(WebCore::RenderMathMLOperator::paintHorizontalGlyphAssembly): same as paintVerticalGlyphAssembly but for horizontal stretching.
* rendering/mathml/RenderMathMLOperator.h: we add a m_isVertical member to indicate the stretch direction and a m_stretchWidth to indicate the width of the stretchy character.
We define the horizontal counterparts of fillWith*ExtensionGlyph, paint*GlyphAssembly, GlyphPaintTrimming  StretchyData.
Finally stretchSize() takes into account the stretch direction.
* rendering/mathml/RenderMathMLUnderOver.cpp: We override the layout() function to stretch munderover children horizontally.
(WebCore::RenderMathMLUnderOver::layout):
* rendering/mathml/RenderMathMLUnderOver.h: we declare layout().

LayoutTests:
Add some tests to verify horizontal stretching with the MATH data.

* mathml/opentype/horizontal-LatinModern-munderover.html: Added.
* mathml/opentype/horizontal-LatinModern.html: Added.
* mathml/opentype/opentype-stretchy-horizontal.html: Added.
* platform/efl/TestExpectations: mark tests as failing.
* platform/gtk/mathml/opentype/horizontal-LatinModern-expected.png: Added.
* platform/gtk/mathml/opentype/horizontal-LatinModern-expected.txt: Added.
* platform/gtk/mathml/opentype/horizontal-LatinModern-munderover-expected.png: Added.
* platform/gtk/mathml/opentype/horizontal-LatinModern-munderover-expected.txt: Added.
* platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.png: Added.
* platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Added.
* platform/mac/TestExpectations: mark tests as failing.
* platform/win/TestExpectations: ditto.

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

6 years ago[CSS Shapes] Image lifetime is not properly handled for gradient shapes
bjonesbe@adobe.com [Thu, 5 Jun 2014 04:52:57 +0000 (04:52 +0000)]
[CSS Shapes] Image lifetime is not properly handled for gradient shapes
https://bugs.webkit.org/show_bug.cgi?id=133414

Reviewed by Simon Fraser.

Source/WebCore:
Refactor computedShape() and it's helpers to be able to properly
manage the lifetime of the image returned from StyleImage.

This is a port of a Blink patch by Hans Muller.

Test: fast/shapes/shape-outside-floats/shape-outside-uncached-gradient.html

* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::createShapeForImage): Properly handle the
    lifetime of the image. Changed to use StyleImage::image() to get
    the image in all cases there's no need to special case cached
    images.
(WebCore::ShapeOutsideInfo::computedShape): Call createShapeForImage.
(WebCore::getShapeImageAndRect): Deleted.
* rendering/shapes/ShapeOutsideInfo.h:

LayoutTests:
* fast/shapes/shape-outside-floats/shape-outside-uncached-gradient-expected.txt: Added.
* fast/shapes/shape-outside-floats/shape-outside-uncached-gradient.html: Added.

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

6 years agoiOS Debug build fix
timothy_horton@apple.com [Thu, 5 Jun 2014 01:05:45 +0000 (01:05 +0000)]
iOS Debug build fix

Rubber-stamped by Filip Pizlo.

* Configurations/LLVMForJSC.xcconfig:
Dead-code strip the llvmForJSC library unconditionally, to work around <rdar://problem/16920916>.

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