WebKit-https.git
5 years ago[GTK] build-webkit shouldn't show error message when ninja isn't installed
ossy@webkit.org [Thu, 13 Mar 2014 16:46:20 +0000 (16:46 +0000)]
[GTK] build-webkit shouldn't show error message when ninja isn't installed
https://bugs.webkit.org/show_bug.cgi?id=130129

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-03-13
Reviewed by Csaba Osztrogonác.

* Scripts/webkitdirs.pm:
(canUseNinja): Redirecting stderr to /dev/null

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

5 years agoSubpixel rendering: Nested layers with subpixel accumulation paint to wrong position.
ossy@webkit.org [Thu, 13 Mar 2014 16:42:27 +0000 (16:42 +0000)]
Subpixel rendering: Nested layers with subpixel accumulation paint to wrong position.
https://bugs.webkit.org/show_bug.cgi?id=130153

Patch by Zalan Bujtas <zalan@apple.com> on 2014-03-13
Reviewed by Simon Fraser.

Subpixels (fractional device pixels here) can accumulate through nested layers. Subpixels
need to be propagated through the layer tree so that painting coordinates match layout coordinates.

Compositing case: (absolute positioning, 2x display)
parent layer pos(0.3, 0.3) -> floored painting position (0, 0)
child layer pos(10.2, 10.2) -> layout offset from parent (10.2, 10.2),
but the actual painting offset is (10.5, 10.5) as the result of parent flooring.

Non-compositing case: (absolute positioning, 2x display)
parent layer pos(0.3, 0.3) -> GraphicsContext is translated to (0, 0).
child layer pos(10.2, 10.2) -> layout offset from parent (10.2, 10.2)
but the GraphicsContext's offset is (10.5, 10.5) as the result of the parent's translate.

In both cases, without the subpixel adjustment, we'd paint the current layer at (10.0, 10.0)
after flooring, while its painting position is actually (10.5, 10.5).
Subpixels do accumulate through nested layers.

Source/WebCore:

Tests: compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html
       fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerByApplyingTransform):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerBacking.h:
(WebCore::RenderLayerBacking::devicePixelFractionFromRenderer):

LayoutTests:

* compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation-expected.html: Added.
* compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html: Added.
* fast/layers/hidpi-nested-layers-with-subpixel-accumulation-expected.html: Added.
* fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html: Added.

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

5 years agoFix the !ENABLE(SQL_DATABASE) build
ossy@webkit.org [Thu, 13 Mar 2014 16:39:53 +0000 (16:39 +0000)]
Fix the !ENABLE(SQL_DATABASE) build
https://bugs.webkit.org/show_bug.cgi?id=130130

Patch by Laszlo Vidacs <lvidacs.u-szeged@partner.samsung.com> on 2014-03-13
Reviewed by Csaba Osztrogonác.

Add missing #ifdef guard to typedef.

* UIProcess/API/C/WKDatabaseManager.cpp:

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

5 years ago[GTK] "Tools/jhbuild/jhbuild-wrapper --gtk" build fails even after running Tools...
ossy@webkit.org [Thu, 13 Mar 2014 16:37:45 +0000 (16:37 +0000)]
[GTK] "Tools/jhbuild/jhbuild-wrapper --gtk" build fails even after running Tools/gtk/install-dependencies due to missing proper libxml2 python bindings
https://bugs.webkit.org/show_bug.cgi?id=130092

Patch by Andres Gomez <agomez@igalia.com> on 2014-03-13
Reviewed by Csaba Osztrogonác.

Added "python-dev" as dependency for deb based distros. It is
already present for rpm based distros. This dependency will allow
libxml2 to generate its python bindings, needed by gtk-doc.

* gtk/install-dependencies:

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

5 years agoThe scrolledContentOffset method should handle the hasOverflowClip check
ossy@webkit.org [Thu, 13 Mar 2014 16:32:52 +0000 (16:32 +0000)]
The scrolledContentOffset method should handle the hasOverflowClip check
https://bugs.webkit.org/show_bug.cgi?id=130028

Patch by Radu Stavila <stavila@adobe.com> on 2014-03-13
Reviewed by Antti Koivisto.

Before this patch, every call to RenderBox::scrolledContentOffset was guarded by the
hasOverflowClip check, because the scrolledContentOffset method would ASSERT(hasOverflowClip()).
This was simplified by moving the hasOverflowClip check inside the scrolledContentOffset method
and returning (0, 0) for elements that do not clip the overflow.

No new tests needed, just a refactor.

* editing/VisibleUnits.cpp:
(WebCore::absoluteLineDirectionPointToLocalPointInBlock):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGapRectsForRepaint):
(WebCore::RenderBlock::paintSelection):
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::offsetForContents):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::scrolledContentOffset):
(WebCore::RenderBox::offsetFromContainer):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::offsetFromContainer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::pushMappingToContainer):
(WebCore::RenderObject::mapAbsoluteToLocalPoint):
(WebCore::RenderObject::offsetFromContainer):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::hitInnerTextElement):

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

5 years ago[GStreamer] WebKit gets stalled when trying to play a stream
ossy@webkit.org [Thu, 13 Mar 2014 16:30:06 +0000 (16:30 +0000)]
[GStreamer] WebKit gets stalled when trying to play a stream
https://bugs.webkit.org/show_bug.cgi?id=125926

Patch by Andres Gomez <agomez@igalia.com> on 2014-03-13
Reviewed by Eric Carlson.

Added new test for checking the playback on Icecast/Shoutcast
streamed media.

* http/tests/media/media-play-stream-chunked-icy-expected.txt: Added.
* http/tests/media/media-play-stream-chunked-icy.html: Added.
* http/tests/media/resources/create-id3-db.php: Added.
* http/tests/media/resources/serve-video.php: Added support for
chunked streams and Icecast/Shoutcast headers.
* http/tests/resources/dir-helpers.php: Added.
* http/tests/resources/portabilityLayer.php: Added a couple of new
fallback functions when they are not available in old PHP
versions.
* media/content/metadata.db: Added.
* media/content/silence.mp3: Added.

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

5 years agoAX: accessibility data table heuristics fail on this jQuery table
cfleizach@apple.com [Thu, 13 Mar 2014 16:28:24 +0000 (16:28 +0000)]
AX: accessibility data table heuristics fail on this jQuery table
https://bugs.webkit.org/show_bug.cgi?id=129369

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Updated accessibility/table-detection.html

If a table uses display style of table-row-group, the RenderTable gets disassociated from the HTMLTableElement.
We can find that element in a different way by asking for the parent of the first table section.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::activeDescendant):
    This method was accessing an object's element unsafely and this table change exposed the issue.
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::tableElement):
(WebCore::AccessibilityTable::isDataTable):
* accessibility/AccessibilityTable.h:

LayoutTests:

* accessibility/table-detection.html:
* platform/mac/accessibility/table-detection-expected.txt:

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

5 years agoEnsure that layout milestones complete in all cases
antti@apple.com [Thu, 13 Mar 2014 15:41:42 +0000 (15:41 +0000)]
Ensure that layout milestones complete in all cases
https://bugs.webkit.org/show_bug.cgi?id=130101

Reviewed by Darin Adler.

Milestones fail to complete in some testing scenarios.

* dom/Document.cpp:
(WebCore::Document::setParsing):

    Check if we need to fire layout milestones if parsing finishes without pending layout.
    Parsing status affects whether the document is considered non-empty and that affects
    layout milestones.

    Remove explicit layout scheduling here, layout timer will be active already if there
    is a layout pending

* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::firePaintRelatedMilestonesIfNeeded):

    Renamed for consistency

(WebCore::FrameView::fireLayoutRelatedMilestonesIfNeeded):

    Factor layout milestone firing into a function.

* page/FrameView.h:

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

5 years agoVersioning.
bshafiei@apple.com [Thu, 13 Mar 2014 06:43:44 +0000 (06:43 +0000)]
Versioning.

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

5 years ago[EFL] Enable Parallel GC
ryuan.choi@samsung.com [Thu, 13 Mar 2014 05:59:31 +0000 (05:59 +0000)]
[EFL] Enable Parallel GC
https://bugs.webkit.org/show_bug.cgi?id=130177

Reviewed by Geoffrey Garen.

* wtf/Platform.h: Turn on ENABLE_PARALLEL_GC for the EFL build.

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

5 years ago[CMake] Changes to the bindings generator Perl modules do not trigger regeneration...
mrobinson@webkit.org [Thu, 13 Mar 2014 05:54:17 +0000 (05:54 +0000)]
[CMake] Changes to the bindings generator Perl modules do not trigger regeneration of bindings
https://bugs.webkit.org/show_bug.cgi?id=130170

Reviewed by Daniel Bates.

* Source/cmake/WebKitMacros.cmake: Add the Perl modules used in script generation to the dependency
list. We must check whether or not the specific one exists first, because the InjectedBundle uses a
fake "TestRunner" generator.

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

5 years ago[EFL] Revise AcceleratedCompositingEfl implementation.
ryuan.choi@samsung.com [Thu, 13 Mar 2014 04:46:26 +0000 (04:46 +0000)]
[EFL] Revise AcceleratedCompositingEfl implementation.
https://bugs.webkit.org/show_bug.cgi?id=130072

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-12
Reviewed by Gyuyoung Kim.

This patch revises the AcceleratedCompositingEfl class implementation
similar with gtk port.
And accelerated compositing will be enabled by default on WK1 efl.

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
(WebCore::AcceleratedCompositingContext::AcceleratedCompositingContext):
(WebCore::AcceleratedCompositingContext::initialize):
(WebCore::AcceleratedCompositingContext::syncLayers):
(WebCore::AcceleratedCompositingContext::resize):
(WebCore::AcceleratedCompositingContext::canComposite):
(WebCore::AcceleratedCompositingContext::flushAndRenderLayers):
(WebCore::AcceleratedCompositingContext::flushPendingLayerChanges):
(WebCore::AcceleratedCompositingContext::compositeLayersToContext):
(WebCore::AcceleratedCompositingContext::attachRootGraphicsLayer):
* WebCoreSupport/AcceleratedCompositingContextEfl.h:
* ewk/ewk_view.cpp:
(_ewk_view_priv_new):
(_ewk_view_accelerated_compositing_cb):
(_ewk_view_accelerated_compositing_context_create_if_needed):

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

5 years agoSubpixel rendering: LayoutTests/compositing/hidpi-simple-container-layer-on-device...
zalan@apple.com [Thu, 13 Mar 2014 04:30:56 +0000 (04:30 +0000)]
Subpixel rendering: LayoutTests/compositing/hidpi-simple-container-layer-on-device-pixel-expected.html fails on Mountain Lion WK2 debug
https://bugs.webkit.org/show_bug.cgi?id=130175

Unreviewed TestExpectations update on ML WK2 debug.

* platform/mac-wk2/TestExpectations:

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

5 years agoASSERTION FAILED: node->op() == Phi || node->op() == SetArgument
fpizlo@apple.com [Thu, 13 Mar 2014 01:50:41 +0000 (01:50 +0000)]
ASSERTION FAILED: node->op() == Phi || node->op() == SetArgument
https://bugs.webkit.org/show_bug.cgi?id=130069

Reviewed by Geoffrey Garen.

This was a great assertion, and it represents our strictest interpretation of the rules of
our intermediate representation. However, fixing DCE to actually preserve the relevant
property would be hard, and it wouldn't have an observable effect right now because nobody
actually uses the propery of CPS that this assertion is checking for.

In particular, we do always require, and rely on, the fact that non-captured variables
have variablesAtTail refer to the last interesting use of the variable: a SetLocal if the
block assigns to the variable, a GetLocal if it only reads from it, and a Flush,
PhantomLocal, or Phi otherwise. We do preserve this property successfully and DCE was not
broken in this regard. But, in the strictest sense, CPS also means that for captured
variables, variablesAtTail also continues to point to the last relevant use of the
variable. In particular, if there are multiple GetLocals, then it should point to the last
one. This is hard for DCE to preserve. Also, nobody relies on variablesAtTail for captured
variables, except to check the VariableAccessData; but in that case, we don't really need
the *last* relevant use of the variable - any node that mentions the same variable will do
just fine.

So, this change loosens the assertion and adds a detailed FIXME describing what we would
have to do if we wanted to preserve the more strict property.

This also makes changes to various debug printing paths so that validation doesn't crash
during graph dump. This also adds tests for the interesting cases of DCE failing to
preserve CPS in the strictest sense. This also attempts to win the record for longest test
name.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::hashAsStringIfPossible):
(JSC::CodeBlock::dumpAssumingJITType):
* bytecode/CodeBlock.h:
* bytecode/CodeOrigin.cpp:
(JSC::InlineCallFrame::hashAsStringIfPossible):
(JSC::InlineCallFrame::dumpBriefFunctionInformation):
* bytecode/CodeOrigin.h:
* dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::run):
* dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::cleanVariables):
* dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::mergeStateAtTail):
* runtime/FunctionExecutableDump.cpp:
(JSC::FunctionExecutableDump::dump):
* tests/stress/dead-access-to-captured-variable-preceded-by-a-live-store-in-function-with-multiple-basic-blocks.js: Added.
(foo):
* tests/stress/dead-access-to-captured-variable-preceded-by-a-live-store.js: Added.
(foo):

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

5 years agoWeb Replay: add infrastructure for memoizing nondeterministic DOM APIs
bburg@apple.com [Thu, 13 Mar 2014 00:41:58 +0000 (00:41 +0000)]
Web Replay: add infrastructure for memoizing nondeterministic DOM APIs
https://bugs.webkit.org/show_bug.cgi?id=129445

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

There was a bug in the replay inputs code generator that would include
headers for definitions of enum classes, even though they can be safely
forward-declared.

* replay/scripts/CodeGeneratorReplayInputs.py:
(Generator.generate_includes): Only include for copy constructor if the
type is a heavy scalar (i.e., String, URL), not a normal scalar
(i.e., int, double, enum classes).

(Generator.generate_type_forward_declarations): Forward-declare scalars
that are enums or enum classes.

Source/WebCore:

Add two pieces of infrastructure to support memoization of selected DOM APIs.

The first piece is MemoizedDOMResult, a templated replay input class that knows
how to serialize a DOM API's return value, ctype, and exception code.

The second piece is the addition of a new IDL attribute called `Nondeterministic`.
When placed on a DOM function or attribute, the code generator will emit code
to save the DOM API's return value or use a memoized return value instead,
depending on the current replay state. This new emitted code path is behind
a feature flag.

No new tests, as no new inputs are addressed by this change. Per-DOM API replay
regression tests will be added when those APIs are marked as nondeterministic.

* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorJS.pm: Add support of the `Nondeterministic` attribute.
(GenerateImplementation): Handle cases for attributes and getters with exceptions.
(GenerateImplementationFunctionCall): Handle function calls with and without exceptions.
(GetNativeTypeForMemoization): Added. Converts DOMString to WTF::String.
* bindings/scripts/IDLAttributes.txt: Add new `Nondeterministic` attribute.
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjPrototypeFunctionByteMethod):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethod):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethod):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
(WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):

* replay/AllReplayInputs.h:
* replay/MemoizedDOMResult.cpp: Added.
(WebCore::MemoizedDOMResultBase::type):
(WebCore::MemoizedDOMResultBase::createFromEncodedResult):
(InputTraits<MemoizedDOMResultBase>::type):
(InputTraits<MemoizedDOMResultBase>::encode):
(InputTraits<MemoizedDOMResultBase>::decode):

* replay/MemoizedDOMResult.h: Added. Every specialization of MemoizedDOMResult<T>
stores a binding name, ctype, result value of type T, and optional exception code.
The ctype-specific code uses the CTypeTraits struct to abstract over enum names and
compiler types. The actual encode/decode methods just use methods from EncodingTraits<T>.

(WebCore::MemoizedDOMResultBase::MemoizedDOMResultBase):
(WebCore::MemoizedDOMResultBase::~MemoizedDOMResultBase):
(WebCore::MemoizedDOMResultBase::attribute):
(WebCore::MemoizedDOMResultBase::ctype):
(WebCore::MemoizedDOMResultBase::exceptionCode):
(WebCore::CTypeTraits::decode):
(WebCore::MemoizedDOMResultBase::convertTo):
(JSC::InputTraits<MemoizedDOMResultBase>::queue):
* replay/ReplayInputTypes.cpp: See below.
(WebCore::ReplayInputTypes::ReplayInputTypes):
* replay/ReplayInputTypes.h: See below.
* replay/SerializationMethods.cpp: We need to special-case the encoding
and decoding of MemoizedDOMResult inputs because the input is not part of
the generated per-framework replay inputs enum.
(JSC::EncodingTraits<NondeterministicInputBase>::encodeValue):
(JSC::EncodingTraits<NondeterministicInputBase>::decodeValue):

* replay/WebInputs.json: Add the EncodedCType enum as an external enum type,
so that we can use a generated EncodingTraits specialization to encode the enum.

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

5 years agoMake HTMLCanvasElement::is3D private
jaepark@webkit.org [Thu, 13 Mar 2014 00:38:38 +0000 (00:38 +0000)]
Make HTMLCanvasElement::is3D private
https://bugs.webkit.org/show_bug.cgi?id=130117

Reviewed by Anders Carlsson.

HTMLCanvasElement::is3D is not used anywhere except HTMLCanvasElement.
So, make HTMLCanvasElement::is3D a private method. Also, make more use
of is3D method.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::getImageData):
* html/HTMLCanvasElement.h:

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

5 years agoWeb Inspector: [iOS 6] uncaught exception attempting to use CSSAgent.getNamedFlowColl...
joepeck@webkit.org [Thu, 13 Mar 2014 00:26:20 +0000 (00:26 +0000)]
Web Inspector: [iOS 6] uncaught exception attempting to use CSSAgent.getNamedFlowCollection
https://bugs.webkit.org/show_bug.cgi?id=130167

Reviewed by Timothy Hatcher.

Feature check the protocol method before using it. It is
fine to do nothing if the feature is not supported.

* UserInterface/Controllers/DOMTreeManager.js:

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

5 years agoWeb Inspector: Feature check for accessibility support before using it (DOMAgent...
joepeck@webkit.org [Thu, 13 Mar 2014 00:26:19 +0000 (00:26 +0000)]
Web Inspector: Feature check for accessibility support before using it (DOMAgent.getAccessibilityPropertiesForNode)
https://bugs.webkit.org/show_bug.cgi?id=130037

Reviewed by Timothy Hatcher.

Feature detect if accessibility information is supported before
creating or attempting to update the accessibility section.

* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WebInspector.DOMNodeDetailsSidebarPanel):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):

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

5 years agoWeb Inspector: Fix multiple console.assert stripping issues
joepeck@webkit.org [Thu, 13 Mar 2014 00:26:17 +0000 (00:26 +0000)]
Web Inspector: Fix multiple console.assert stripping issues
https://bugs.webkit.org/show_bug.cgi?id=130166

Reviewed by Timothy Hatcher.

There were a couple console.assert stripping issues in production.
One line required a semicolon so was avoiding getting stripped.
One resulted in a logic change, when stripping the only statement
of a control flow block. Add a warning for such cases.

* Scripts/remove-console-asserts.pl:
Add warning for a console.assert being the only statement in a control flow block
without braces. When it is stripped it may change the flow of the function.

* Scripts/remove-console-asserts-dryrun.rb: Added.
Add a script to quickly test running remove console asserts on our files, to
help catch errors not in a production build and in the original non-combined
files, so you can more easily fix issues.

* UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
Convert the for loop into a single console.assert statement.

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.removeChild):
Add missing semicolon.

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

5 years ago[WebGL] WebKit1 + WebKit2 iOS clients should check load policy
dino@apple.com [Thu, 13 Mar 2014 00:05:50 +0000 (00:05 +0000)]
[WebGL] WebKit1 + WebKit2 iOS clients should check load policy
https://bugs.webkit.org/show_bug.cgi?id=130162

Reviewed by Simon Fraser.

Source/WebKit/mac:

Implement the webGLPolicyForURL methods, calling into WebKitSystemInterface.

* Configurations/WebKit.xcconfig: Add MobileAsset to iOS config.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:

Source/WebKit2:

Implement webGLPolicyForURL() methods for iOS.

* Configurations/WebContent-iOS.entitlements: Add the MobileAsset asset type.
* Configurations/WebKit2.xcconfig: Add MobileAsset to iOS link list.
* WebProcess/WebPage/WebPage.cpp: Exclude iOS.
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::webGLPolicyForURL): Call into WKSI.
(WebKit::WebPage::resolveWebGLPolicyForURL):

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

5 years ago[WebGL] WebKit1 + WebKit2 iOS clients should check load policy
dino@apple.com [Thu, 13 Mar 2014 00:05:18 +0000 (00:05 +0000)]
[WebGL] WebKit1 + WebKit2 iOS clients should check load policy
https://bugs.webkit.org/show_bug.cgi?id=130162

Add iOS implementations of WebGL load policy queries.

* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceMavericks.a:
* libWebKitSystemInterfaceMountainLion.a:

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

5 years agoWeb Inspector: OS X View Indication
joepeck@webkit.org [Wed, 12 Mar 2014 23:37:23 +0000 (23:37 +0000)]
Web Inspector: OS X View Indication
https://bugs.webkit.org/show_bug.cgi?id=130119

Reviewed by Timothy Hatcher.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::setIndicating):
OS X will handles this in the InspectorOverlay. iOS does not use the
overlay, so it handles this in the client (already implemented).

* inspector/InspectorOverlay.h:
Remove unused m_size, and add a boolean for the indicating state.

* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore::InspectorOverlay::shouldShowOverlay):
Helper for determining if we should show the overlay or not.

(WebCore::InspectorOverlay::setIndicating):
Set the state and trigger an overlay update.

(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::update):
(WebCore::InspectorOverlay::drawGutter):
(WebCore::InspectorOverlay::evaluateInOverlay):
Simplification of existing methods.

* inspector/InspectorOverlayPage.css:
(.indicate):
Give the page a blue tint, matching the node highlight color.

* inspector/InspectorOverlayPage.js:
(showPageIndication):
(hidePageIndication):
Add / remove a body style class.

(drawNodeHighlight):
Remove unused parameters.

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

5 years agoWeb Inspector: Disable REMOTE_INSPECTOR in earlier OS X releases
joepeck@webkit.org [Wed, 12 Mar 2014 23:37:20 +0000 (23:37 +0000)]
Web Inspector: Disable REMOTE_INSPECTOR in earlier OS X releases
https://bugs.webkit.org/show_bug.cgi?id=130118

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::indicate):
(WebInspectorClient::hideIndication):
Properly guard REMOTE_INSPECTOR only calls.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/FeatureDefines.h:

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

5 years agoWeb Inspector: Hang in Remote Inspection triggering breakpoint from console
joepeck@webkit.org [Wed, 12 Mar 2014 23:37:17 +0000 (23:37 +0000)]
Web Inspector: Hang in Remote Inspection triggering breakpoint from console
https://bugs.webkit.org/show_bug.cgi?id=130032

Reviewed by Timothy Hatcher.

* inspector/EventLoop.h:
* inspector/EventLoop.cpp:
(Inspector::EventLoop::remoteInspectorRunLoopMode):
(Inspector::EventLoop::cycle):
Expose the run loop mode name so it can be used if needed by others.

* inspector/remote/RemoteInspectorDebuggableConnection.h:
* inspector/remote/RemoteInspectorDebuggableConnection.mm:
(Inspector::RemoteInspectorBlock::RemoteInspectorBlock):
(Inspector::RemoteInspectorBlock::~RemoteInspectorBlock):
(Inspector::RemoteInspectorBlock::operator=):
(Inspector::RemoteInspectorBlock::operator()):
(Inspector::RemoteInspectorQueueTask):
Instead of a dispatch_queue, have our own static Vector of debugger tasks.

(Inspector::RemoteInspectorHandleRunSource):
(Inspector::RemoteInspectorInitializeQueue):
Initialize the static queue and run loop source. When the run loop source
fires, it will exhaust the queue of debugger messages.

(Inspector::RemoteInspectorDebuggableConnection::RemoteInspectorDebuggableConnection):
(Inspector::RemoteInspectorDebuggableConnection::~RemoteInspectorDebuggableConnection):
When we get a debuggable connection add a run loop source for inspector commands.

(Inspector::RemoteInspectorDebuggableConnection::dispatchAsyncOnDebuggable):
(Inspector::RemoteInspectorDebuggableConnection::sendMessageToBackend):
Enqueue blocks on our Vector instead of our dispatch_queue.

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

5 years ago[iOS WebKit2] Crash when trying to select inside a video element with longpress..
enrica@apple.com [Wed, 12 Mar 2014 23:23:16 +0000 (23:23 +0000)]
[iOS WebKit2] Crash when trying to select inside a video element with longpress..
https://bugs.webkit.org/show_bug.cgi?id=130095
<rdar://problem/16294534>

Reviewed by Benjamin Poulain.

We only need to set the assisted node for nodes that will receive an
input peripheral (keyboard, picker, popover, etc.).

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

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

5 years agoBuild fix for ENABLE(IMAGE_CONTROLS) after 165479
timothy_horton@apple.com [Wed, 12 Mar 2014 23:00:24 +0000 (23:00 +0000)]
Build fix for ENABLE(IMAGE_CONTROLS) after 165479

* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::servicesRolloverButtonCell):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):
Don't try to use the AppKit methods that are only available on 64-bit.

* Misc/WebSharingServicePickerController.h:
* Misc/WebSharingServicePickerController.mm:
Don't use new-runtime features in code that has to build 32-bit.

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

5 years ago<rdar://problem/16307346> Add new WebKitLegacy.framework.
andersca@apple.com [Wed, 12 Mar 2014 22:58:55 +0000 (22:58 +0000)]
<rdar://problem/16307346> Add new WebKitLegacy.framework.

Reviewed by Dan Bernstein.

Source/WebKit:

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

Source/WebKit/mac:

* Configurations/WebKitLegacy.xcconfig:
Add xcconfig file for the new framework.

* WebKitLegacy/Info.plist:
Add Info.plist for WebKitLegacy.framework.

* WebKitLegacy/MigrateHeadersToLegacy.make:
Add makefile that copies headers from WebKit to WebKitLegacy and rewrites includes from WebKit/ to WebKitLegacy/
* WebKitLegacy/WebKitLegacy.cpp:
Add an empty file so we'll have something to link.

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

5 years agoIncorrect reference counting of Range in WebFrame.
enrica@apple.com [Wed, 12 Mar 2014 22:45:38 +0000 (22:45 +0000)]
Incorrect reference counting of Range in WebFrame.
https://bugs.webkit.org/show_bug.cgi?id=130160
<rdar://problem/16282535>

Reviewed by Anders Carlsson.

* WebCoreSupport/WebFrameIOS.mm:
(-[WebFrame selectionRects]):

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

5 years agoWeb Inspector: convert model tests and inspector-test.js to use Test.html
bburg@apple.com [Wed, 12 Mar 2014 22:16:53 +0000 (22:16 +0000)]
Web Inspector: convert model tests and inspector-test.js to use Test.html
https://bugs.webkit.org/show_bug.cgi?id=129217

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

Miscellaneous changes to make the inspector model test harness work well in
scenarios where the test page must navigate or reload. Also improve reporting
test failures so that messages will be dumped correctly even when an exception
is thrown in the Inspector or the test times out.

* UserInterface/Base/Test.js:
(WebInspector.loaded): register new managers and observers.
(InspectorTest.log): Stringify the argument if it's an object.
(InspectorTest.assert): Stringify the argument if it's an object. Don't log
unless the condition is false.

(InspectorTest.expectThat): Added. Like assert(), but always logs.
(InspectorTest.debugLog): Escape and unescape the string properly.
(InspectorTest.completeTest): Fix teardown so messages are not lost.
(InspectorTest.evaluateInPage): Accept a callback argument.
(InspectorTest.addResult): Don't rebuild results when adding a new result.
(InspectorTest._resendResults.decrementPendingResponseCount): Added.

(InspectorTest._resendResults): Added. Track the number of pending
responses and invoke a given callback when everything has been resent.

(InspectorTest.testPageDidLoad): Renamed from `pageLoaded`.
(InspectorTest.reloadPage): Added.
(InspectorTest.reportUncaughtException): Prevent the default handler from running.
* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype.dispatch): Report uncaught exceptions when dispatching
messages on the inspector page without blowing away the entire call stack.

* UserInterface/Test.html: Add files used by Network and Timeline domains.

LayoutTests:

* TestExpectations: Add flaky content-flow and failing shape-outside inspector tests.
* inspector-protocol/model/probe-manager-add-remove-actions.html: Removed.
* inspector-protocol/resources/shape-info-helper.js: Removed.
* inspector/debugger/debugger-test.js: Added.
(InspectorTestProxy.registerInitializer.):
(InspectorTestProxy.registerInitializer):
* inspector/debugger/probe-manager-add-remove-actions-expected.txt: Renamed from LayoutTests/inspector-protocol/model/probe-manager-add-remove-actions-expected.txt.
* inspector/debugger/probe-manager-add-remove-actions.html: Added.
* inspector/debugger/resources/breakpoint.js: Added. Copied from LayoutTests/inspector-protocol/.
(breakpointActions):
* inspector/dom/content-flow-content-nodes-expected.txt: Renamed from LayoutTests/inspector-protocol/model/content-flow-content-nodes-expected.txt.
* inspector/dom/content-flow-content-nodes.html: Renamed from LayoutTests/inspector-protocol/model/content-flow-content-nodes.html.
* inspector/dom/content-flow-content-removal-expected.txt: Renamed from LayoutTests/inspector-protocol/model/content-flow-content-removal-expected.txt.
* inspector/dom/content-flow-content-removal.html: Renamed from LayoutTests/inspector-protocol/model/content-flow-content-removal.html.
* inspector/dom/content-flow-list-expected.txt: Renamed from LayoutTests/inspector-protocol/model/content-flow-list-expected.txt.
* inspector/dom/content-flow-list.html: Renamed from LayoutTests/inspector-protocol/model/content-flow-list.html.
* inspector/dom/content-node-region-info-expected.txt: Renamed from LayoutTests/inspector-protocol/model/content-node-region-info-expected.txt.
* inspector/dom/content-node-region-info.html: Renamed from LayoutTests/inspector-protocol/model/content-node-region-info.html.
* inspector/dom/highlight-shape-outside-expected.txt: Renamed from LayoutTests/inspector-protocol/model/highlight-shape-outside-expected.txt.
* inspector/dom/highlight-shape-outside-margin-expected.txt: Renamed from LayoutTests/inspector-protocol/model/highlight-shape-outside-margin-expected.txt.
* inspector/dom/highlight-shape-outside-margin.html: Renamed from LayoutTests/inspector-protocol/model/highlight-shape-outside-margin.html.
* inspector/dom/highlight-shape-outside.html: Renamed from LayoutTests/inspector-protocol/model/highlight-shape-outside.html.
* inspector/dom/shapes-test.js: Added. Refactor existing shape helpers to use model objects
where it makes sense, and use easy-to-read assertions.
(InspectorTestProxy.registerInitializer.):
* inspector/inspector-test.js: Handle reloaded test pages better. Use better names.
(InspectorTestProxy.registerInitializer): Renamed from `register`.
(runTest.runInitializationMethodsInFrontend):
(runTest.runTestMethodInFrontend):
(runTest):
(InspectorTestProxy.completeTest):
* inspector/page/main-frame-resource-expected.txt: Renamed from LayoutTests/inspector-protocol/model/main-frame-resource-expected.txt.
* inspector/page/main-frame-resource.html: Renamed from LayoutTests/inspector-protocol/model/main-frame-resource.html.
* inspector/page/resources/dummy-page.html: Added.
* platform/efl/TestExpectations: Move failing inspector tests to generic expectations.
* platform/gtk/TestExpectations: Move failing inspector tests to generic expectations.
* platform/win/TestExpectations: Move failing inspector tests to generic expectations.

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

5 years ago[WebVTT] HTML5 "space" cahracters around "-->" are not required
bfulgham@apple.com [Wed, 12 Mar 2014 21:08:45 +0000 (21:08 +0000)]
[WebVTT] HTML5 "space" cahracters around "-->" are not required
https://bugs.webkit.org/show_bug.cgi?id=117421

Reviewed by Eric Carlson.

Merged from Blink (patch by caitpotter88@gmail.com):
https://chromium.googlesource.com/chromium/blink/+/4ef469cd627a13696b88e285ae28a60e38f9c286
http://crbug.com/242158

Source/WebCore:

New tests: media/track/track-webvtt-tc029-timings-whitespace.html

* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::collectTimingsAndSettings): Make whitespace around cue-timings optional.

LayoutTests:

* media/track/captions-webvtt/tc008-timings-no-hour-errors.vtt:
* media/track/captions-webvtt/tc009-timings-hour-error.vtt:
* media/track/captions-webvtt/tc029-timings-whitespace.vtt: Added.
* media/track/track-webvtt-tc029-timings-whitespace.html: Added.
* media/track/track-webvtt-tc029-timings-whitespace-expected.txt: Added.

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

5 years agoUnreviewed, rolling out r165482.
jer.noble@apple.com [Wed, 12 Mar 2014 21:02:02 +0000 (21:02 +0000)]
Unreviewed, rolling out r165482.
https://bugs.webkit.org/show_bug.cgi?id=130157

Broke the windows build; "error C2466: cannot allocate an
array of constant size 0" (Requested by jernoble on #webkit).

Reverted changeset:

"Reduce memory use for static property maps"
https://bugs.webkit.org/show_bug.cgi?id=129986
http://trac.webkit.org/changeset/165482

Source/JavaScriptCore:

Patch by Commit Queue <commit-queue@webkit.org> on 2014-03-12

Source/WebCore:

Patch by Commit Queue <commit-queue@webkit.org> on 2014-03-12

LayoutTests:

Patch by Commit Queue <commit-queue@webkit.org> on 2014-03-12

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

5 years agoWeb Inspector receives spurious setScriptEnabled instrumentation calls
bburg@apple.com [Wed, 12 Mar 2014 20:42:29 +0000 (20:42 +0000)]
Web Inspector receives spurious setScriptEnabled instrumentation calls
https://bugs.webkit.org/show_bug.cgi?id=130147

Reviewed by Timothy Hatcher.

When page settings change, inspector instrumentation should only fire if
the scriptsEnabled setting actually changes from the previous setting. But
due to an unnecessary PLATFORM(IOS) guard, the inspector was being notified
on every settings update even if nothing changed.

This manifested as lots of Page.scriptsEnabled messages being sent to
the inspector frontend as the Inspector window is dragged.

* page/Settings.cpp:
(WebCore::Settings::setScriptEnabled): Remove PLATFORM(IOS) from early return.

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

5 years agoUnreviewed. Fix GTK+ cmake build after r165488.
carlosgc@webkit.org [Wed, 12 Mar 2014 19:25:32 +0000 (19:25 +0000)]
Unreviewed. Fix GTK+ cmake build after r165488.

* MiniBrowser/gtk/CMakeLists.txt: Add CMAKE_BINARY_DIR to include dirs.

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

5 years agoHave the scrolling tree track the viewport size, not the viewport rect
simon.fraser@apple.com [Wed, 12 Mar 2014 18:55:53 +0000 (18:55 +0000)]
Have the scrolling tree track the viewport size, not the viewport rect
https://bugs.webkit.org/show_bug.cgi?id=130141

Reviewed by Beth Dakin.

Source/WebCore:

The scrolling tree only needs to know the size of the viewport, not its
origin, since the origin is deduced from the updated scroll position.

* WebCore.exp.in:
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
* page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setViewportSize):
(WebCore::ScrollingStateScrollingNode::dumpProperties):
* page/scrolling/ScrollingStateScrollingNode.h:
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
* page/scrolling/ScrollingTreeScrollingNode.h:
(WebCore::ScrollingTreeScrollingNode::viewportSize):
* page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
(WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
(WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
(WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):

Source/WebKit2:

The scrolling tree only needs to know the size of the viewport, not its
origin, since the origin is deduced from the updated scroll position.

* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):

LayoutTests:

The scrolling tree only needs to know the size of the viewport, not its
origin, since the origin is deduced from the updated scroll position.

Tests dump a size, not a rect with a 0,0 origin now.

* platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/four-bars-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/nested-fixed-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling-expected.txt:
* platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset-expected.txt:
* platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal-expected.txt:

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

5 years agoUnreviewed, rolling out r165481.
akling@apple.com [Wed, 12 Mar 2014 18:55:25 +0000 (18:55 +0000)]
Unreviewed, rolling out r165481.
https://bugs.webkit.org/show_bug.cgi?id=130151

That didn't go well. (Requested by kling on #webkit).

Reverted changeset:

https://bugs.webkit.org/show_bug.cgi?id=130140
http://trac.webkit.org/changeset/165481

Patch by Commit Queue <commit-queue@webkit.org> on 2014-03-12

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

5 years agoSpelling is hard
simon.fraser@apple.com [Wed, 12 Mar 2014 18:52:25 +0000 (18:52 +0000)]
Spelling is hard
https://bugs.webkit.org/show_bug.cgi?id=130146

Source/WebCore:

Reviewed by Beth Dakin.

Fix spelling (constained -> constrained).

* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::styleDidChange):

Source/WebKit/ios:

Reviewed by Beth Dakin.

Fix spelling (constained -> constrained).

* WebCoreSupport/WebFixedPositionContent.mm:
(-[WebFixedPositionContent scrollOrZoomChanged:]):
(-[WebFixedPositionContent overflowScrollPositionForLayer:changedTo:]):
(-[WebFixedPositionContent setViewportConstrainedLayers:WTF::WebCore::stickyContainerMap:WTF::]):
(-[WebFixedPositionContent hasFixedOrStickyPositionLayers]):
(-[WebFixedPositionContent minimumOffsetFromFixedPositionLayersToAnchorEdge:ofRect:inLayer:]):

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

5 years agoRemove HandleSet::m_nextToFinalize
mhahnenberg@apple.com [Wed, 12 Mar 2014 18:29:00 +0000 (18:29 +0000)]
Remove HandleSet::m_nextToFinalize
https://bugs.webkit.org/show_bug.cgi?id=130109

Reviewed by Mark Lam.

This is a remnant of when HandleSet contained things that needed to be finalized.

* heap/HandleSet.cpp:
(JSC::HandleSet::HandleSet):
(JSC::HandleSet::writeBarrier):
* heap/HandleSet.h:
(JSC::HandleSet::allocate):
(JSC::HandleSet::deallocate):

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

5 years ago[GTK] Runtime error when page is closed while print operation is in progress
carlosgc@webkit.org [Wed, 12 Mar 2014 18:26:33 +0000 (18:26 +0000)]
[GTK] Runtime error when page is closed while print operation is in progress
https://bugs.webkit.org/show_bug.cgi?id=129869

Reviewed by Anders Carlsson.

Sometimes when the page is closed right after printing the web
process aborts with the runtime message "pure virtual method
called terminate called without an active exception".
This happens because the page is closed when the pages have been
printed, but print job is still ongoing sending the data to the
printer. When print job finishes, we try to notify the UI process
sending the print callback message using WebPage::send(), but the
web page object has been destroyed. The virtual method it complains
about is probably MessageSender::messageSenderDestinationID() used
by send(). Since our print operation is always asynchronous, we
need a way to notify the web page when the print operation has
actually finished to clean it up, but also notify the print
operation when the page has been closed to not try to notify the
UI process in that case.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::close): Call disconnectFromPage to notify the
print operation in case there's an ongoing print job.
(WebKit::WebPage::endPrinting): Do not cleanup the print operation
here, since the print opertation might not have finished yet.
(WebKit::WebPage::didFinishPrintOperation): Send
PrintFinishedCallback message to the Ui process and cleanup the
print operation.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::WebPrintOperationGtk::disconnectFromPage): Set m_webPage
to nullptr.
(WebKit::WebPrintOperationGtk::printDone): Call
didFinishPrintOperation() is the web page hasn't been closed.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.h:

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

5 years ago[GTK][CMAKE] Remove compile warnings about GTK+ deprecated API
carlosgc@webkit.org [Wed, 12 Mar 2014 18:24:05 +0000 (18:24 +0000)]
[GTK][CMAKE] Remove compile warnings about GTK+ deprecated API
https://bugs.webkit.org/show_bug.cgi?id=130014

Reviewed by Martin Robinson.

.:

Set GDK_VERSION_MIN_REQUIRED to GDK_VERSION_3_6.

* Source/cmake/OptionsGTK.cmake:
* Source/cmakeconfig.h.cmake:

Tools:

Include cmake or autotools config header.

* MiniBrowser/gtk/BrowserDownloadsBar.c:
* MiniBrowser/gtk/BrowserSearchBar.c:
* MiniBrowser/gtk/BrowserWindow.c:
* MiniBrowser/gtk/main.c:

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

5 years agoWeb Inspector: DataGrid should have an API to set sort column and direction
bburg@apple.com [Wed, 12 Mar 2014 18:18:29 +0000 (18:18 +0000)]
Web Inspector: DataGrid should have an API to set sort column and direction
https://bugs.webkit.org/show_bug.cgi?id=128783

Reviewed by Timothy Hatcher.

Previously there was no way for DataGrid clients to programmatically change
the sort order or sort column identifier after the data grid was constructed.
This patch modernizes DataGrid sorting by exposing getters and setters for
sortOrder and sortColumnIdentifier, which trigger the SortChanged event if
the sort settings have changed.

This patch also modernizes sorting functionality in DataGrid clients, and in
a few clients it moves column identifiers from numbers to string identifiers.

* UserInterface/Main.html:
* UserInterface/Views/ApplicationCacheFrameContentView.js: Use string column identifiers
instead of numbers. Don't repopulate the entire table when the sort changes, instead
call DataGrid.sortNodes from the sorting callback. Explicitly set the sort order.

(WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
(WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid):
(WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid.localeCompare):
(WebInspector.ApplicationCacheFrameContentView.prototype._populateDataGrid):

* UserInterface/Views/CookieStorageContentView.js: Use string column identifiers instead
of numbers. Don't sort the cookies themselves, just the data grid nodes representing
each cookie. Use DataGrid.sortNodes as the sorting implementation, and provide a
comparator. Don't rebuild the entire table when the sort changes.

(WebInspector.CookieStorageContentView.prototype._rebuildTable):
(WebInspector.CookieStorageContentView.prototype._sortDataGrid):
(WebInspector.CookieStorageContentView.prototype._sortDataGrid.numberCompare):
(WebInspector.CookieStorageContentView.prototype._sortDataGrid.expiresCompare):

* UserInterface/Views/DataGrid.js: Add the DataGrid.SortOrder enum. Put sortOrder
and sortColumnIdentifier behind getters and setters. Pull some hardcoded style
class names into constants. Remove the "sort" field on column config objects; instead
should use the DataGrid.sortColumnIdentifier setter after construction.

(WebInspector.DataGrid): Keep sort settings in private variables.
(WebInspector.DataGrid.prototype.get sortOrder): Reimplemented.
(WebInspector.DataGrid.prototype.get sortColumnIdentifier): Reimplemented.
(WebInspector.DataGrid.prototype.moveToNextCell):
(WebInspector.DataGrid.prototype._editingCommitted):
(WebInspector.DataGrid.prototype.sortNodes): Use requestAnimationFrame to
coalesce multiple sort requests within the same draw frame.
(WebInspector.DataGrid.prototype._sortNodesCallback):
(WebInspector.DataGrid.prototype._headerCellClicked): Use the new sort API.
* UserInterface/Views/LayerTreeDataGrid.js: Removed. Unnecessary for performance
now that sort requests are coalesced by requestAnimationFrame.

* UserInterface/Views/LayerTreeSidebarPanel.js: Use DataGrid instead of LayerTreeDataGrid.
Hook up the _sortDataGrid method to the built-in DataGrid.sortNodes API.

(WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
(WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator):
(WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
* UserInterface/Views/LayoutTimelineView.js:
* UserInterface/Views/LegacyJavaScriptProfileView.js:
(WebInspector.LegacyJavaScriptProfileView.prototype._sortProfile):
* UserInterface/Views/NetworkTimelineView.js:
* UserInterface/Views/ResourceDetailsSidebarPanel.js: Use the DataGrid.sortNodes API.
(WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator):
(WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid):
(WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):
* UserInterface/Views/ScriptTimelineView.js:
* UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype._sortComparator):

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

5 years agoLayout Test fast/workers/worker-gc.html is failing
mhahnenberg@apple.com [Wed, 12 Mar 2014 18:17:43 +0000 (18:17 +0000)]
Layout Test fast/workers/worker-gc.html is failing
https://bugs.webkit.org/show_bug.cgi?id=130135

Reviewed by Geoffrey Garen.

When removing MarkedBlocks, we always expect them to be in the MarkedAllocator's
main list of blocks, i.e. not in the retired list. When shutting down the VM this
wasn't always the case which was causing ASSERTs to fire. We should rearrange things
so that allocators are notified with lastChanceToFinalize. This will give them
the chance to move their retired blocks back into the main list before removing them all.

* heap/MarkedAllocator.cpp:
(JSC::LastChanceToFinalize::operator()):
(JSC::MarkedAllocator::lastChanceToFinalize):
* heap/MarkedAllocator.h:
* heap/MarkedSpace.cpp:
(JSC::LastChanceToFinalize::operator()):
(JSC::MarkedSpace::lastChanceToFinalize):

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

5 years agoUnreviewed, rolling out r165471.
mrobinson@webkit.org [Wed, 12 Mar 2014 18:16:49 +0000 (18:16 +0000)]
Unreviewed, rolling out r165471.
https://bugs.webkit.org/show_bug.cgi?id=130139

Didn't really fix the issue and broke another bot (Requested
by mrobinson on #webkit).

Reverted changeset:

"[CMake] Newer versions of CMake cannot find older versions of
Freetype"
https://bugs.webkit.org/show_bug.cgi?id=130107
http://trac.webkit.org/changeset/165471

Patch by Commit Queue <commit-queue@webkit.org> on 2014-03-12

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

5 years agoChange scrollOffsetForFixedPosition() to do LayoutUnit math
simon.fraser@apple.com [Wed, 12 Mar 2014 18:15:06 +0000 (18:15 +0000)]
Change scrollOffsetForFixedPosition() to do LayoutUnit math
https://bugs.webkit.org/show_bug.cgi?id=129981

Reviewed by Beth Dakin.

Source/WebCore:

FrameView::scrollOffsetForFixedPosition() returned an IntSize,
but to allow subpixel scroll offsets, we need it to return a LayoutSize.

Fix code that calls this to use more LayoutUnit math.

This progresses fixed background images on zoom, which cam now be subpixel
positioned.

* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::viewportConstrainedVisibleContentRect):
(WebCore::FrameView::scrollOffsetForFixedPosition):
* page/FrameView.h:
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::constrainScrollPositionForOverhang):
* platform/ScrollableArea.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollLayerPosition):

LayoutTests:

FrameView::scrollOffsetForFixedPosition() returned an IntSize,
but to allow subpixel scroll offsets, we need it to return a LayoutSize.

Update test results for the progression.

* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.png:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt:

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

5 years agoReduce memory use for static property maps
barraclough@apple.com [Wed, 12 Mar 2014 18:08:35 +0000 (18:08 +0000)]
Reduce memory use for static property maps
https://bugs.webkit.org/show_bug.cgi?id=129986

Reviewed by Andreas Kling.

Static property tables are currently duplicated on first use from read-only memory into dirty memory
in every process, and since the entries are large (48 bytes) and the tables can be unusually sparse
(we use a custom hash table without a rehash) a lot of memory may be wasted.

Source/JavaScriptCore:

First, reduce the size of the hashtable. Instead of storing values in the table the hashtable maps
from string hashes to indicies into a densely packed array of values. Compute the index table at
compile time as a part of the derived sources step, such that this may be read-only data.

Second, don't copy all data from the HashTableValue array into a HashEntry objects. Instead refer
directly to the HashTableValue entries. The only data that needs to be allocated at runtime are the
keys, which are Identifiers.

* create_hash_table:
    - emit the hash table index into the derived source (we were calculating this already to ensure chaining does not get too deep).
* parser/Lexer.cpp:
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<T>::parseIdentifierSlowCase):
    - HashEntry -> HashTableValue.
* parser/Lexer.h:
(JSC::Keywords::getKeyword):
    - HashEntry -> HashTableValue.
* runtime/ClassInfo.h:
    - removed HashEntry.
* runtime/JSObject.cpp:
(JSC::getClassPropertyNames):
    - use HashTable::ConstIterator.
(JSC::JSObject::put):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::findPropertyHashEntry):
    - HashEntry -> HashTableValue.
(JSC::JSObject::reifyStaticFunctionsForDelete):
    - changed HashTable::ConstIterator interface.
* runtime/JSObject.h:
    - HashEntry -> HashTableValue.
* runtime/Lookup.cpp:
(JSC::HashTable::createTable):
    - table -> keys, keys array is now densely packed.
(JSC::HashTable::deleteTable):
    - table -> keys.
(JSC::setUpStaticFunctionSlot):
    - HashEntry -> HashTableValue.
* runtime/Lookup.h:
(JSC::HashTableValue::builtinGenerator):
(JSC::HashTableValue::function):
(JSC::HashTableValue::functionLength):
(JSC::HashTableValue::propertyGetter):
(JSC::HashTableValue::propertyPutter):
(JSC::HashTableValue::lexerValue):
    - added accessor methods from HashEntry.
(JSC::HashTable::copy):
    - fields changed.
(JSC::HashTable::initializeIfNeeded):
    - table -> keys.
(JSC::HashTable::entry):
    - HashEntry -> HashTableValue.
(JSC::HashTable::ConstIterator::ConstIterator):
    - iterate packed value array, so no need to skipInvalidKeys().
(JSC::HashTable::ConstIterator::value):
(JSC::HashTable::ConstIterator::key):
(JSC::HashTable::ConstIterator::operator->):
    - accessors now get HashTableValue/StringImpl* separately.
(JSC::HashTable::ConstIterator::operator++):
    - iterate packed value array, so no need to skipInvalidKeys().
(JSC::HashTable::end):
    - end is now size of dense not sparse array.
(JSC::getStaticPropertySlot):
(JSC::getStaticFunctionSlot):
(JSC::getStaticValueSlot):
(JSC::putEntry):
(JSC::lookupPut):
    - HashEntry -> HashTableValue.

Source/WebCore:

* bindings/js/JSDOMBinding.h:
(WebCore::getStaticValueSlotEntryWithoutCaching):
(WebCore::getStaticValueSlotEntryWithoutCaching<JSDOMWrapper>):
    - HashEntry -> HashTableValue.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
    - HashEntry -> HashTableValue.
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::getOwnPropertySlotDelegate):
    - HashEntry -> HashTableValue.
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertySlotDelegate):
(WebCore::JSLocation::putDelegate):
    - HashEntry -> HashTableValue.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
    - HashEntry -> HashTableValue.
(GenerateHashTable):
    - emit the hash table index into the derived source (we were calculating this already to ensure chaining does not get too deep).

LayoutTests:

* inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt:
* inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt:
* inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt:
* js/dom/dom-static-property-for-in-iteration-expected.txt:
    - Properties now iterated in correct order, not permuted by hash table.

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

5 years agoBundlePageDiagnosticLoggingClient leaks every string passing through it.
akling@apple.com [Wed, 12 Mar 2014 18:00:17 +0000 (18:00 +0000)]
BundlePageDiagnosticLoggingClient leaks every string passing through it.
<https://webkit.org/b/130140>
<rdar://problem/15416838>

Use toAPI() instead of toCopiedAPI() so the receiving end doesn't need
to worry about adopting the WKStringRef.

Reviewed by Anders Carlsson.

* WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
(WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage):

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

5 years agoIt should be possible to build WebKit with FTL on iOS
fpizlo@apple.com [Wed, 12 Mar 2014 17:55:34 +0000 (17:55 +0000)]
It should be possible to build WebKit with FTL on iOS
https://bugs.webkit.org/show_bug.cgi?id=130116

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

* Configurations/Base.xcconfig:

Tools:

* Scripts/build-webkit:
* Scripts/copy-webkitlibraries-to-product-directory:

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

5 years agoHook up image controls for WebKit1
timothy_horton@apple.com [Wed, 12 Mar 2014 17:51:54 +0000 (17:51 +0000)]
Hook up image controls for WebKit1
https://bugs.webkit.org/show_bug.cgi?id=130062
<rdar://problem/15964809>

Reviewed by Brady Eidson.

WebCore/

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSPrimitiveValueMappings.h:
Fix some header ordering.

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
Handle mapping ImageControlsButtonPart to the -webkit-appearance value CSSValueImageControlsButton.

* css/CSSValueKeywords.in:
* platform/ThemeTypes.h:
Add a -webkit-appearance value image-controls-button, and an associated control part.

* dom/Node.h:
(WebCore::Node::isImageControlsButtonElement): Added.

* html/shadow/mac/ImageControlsButtonElementMac.cpp: Added.
(WebCore::RenderImageControlsButton::RenderImageControlsButton):
(WebCore::RenderImageControlsButton::~RenderImageControlsButton):
(WebCore::RenderImageControlsButton::updateLogicalWidth):
(WebCore::RenderImageControlsButton::computeLogicalHeight):
(WebCore::ImageControlsButtonElementMac::ImageControlsButtonElementMac):
(WebCore::ImageControlsButtonElementMac::~ImageControlsButtonElementMac):
(WebCore::ImageControlsButtonElementMac::maybeCreate):
(WebCore::ImageControlsButtonElementMac::defaultEventHandler):
(WebCore::ImageControlsButtonElementMac::createElementRenderer):
* html/shadow/mac/ImageControlsButtonElementMac.h: Added.
Add a new element/renderer pair for the single button that comprises image controls on Mac.
RenderImageControlsButton gets its size from the theme's imageControlsButtonSize.

* html/shadow/mac/ImageControlsRootElementMac.cpp:
(WebCore::RenderImageControls::RenderImageControls):
(WebCore::RenderImageControls::~RenderImageControls):
(WebCore::RenderImageControls::updateLogicalWidth):
(WebCore::RenderImageControls::computeLogicalHeight):
(WebCore::ImageControlsRootElement::maybeCreate):
(WebCore::ImageControlsRootElementMac::ImageControlsRootElementMac):
(WebCore::ImageControlsRootElementMac::~ImageControlsRootElementMac):
(WebCore::ImageControlsRootElementMac::createElementRenderer):
* html/shadow/mac/ImageControlsRootElementMac.h:
Add a custom renderer for the root image controls element on Mac, which inherits
its size from the <img> that it is shadowing.
Add a ImageControlsButtonElementMac as the sole child of the root element.

* html/shadow/mac/imageControlsMac.css:
(.x-webkit-image-controls):
(.x-webkit-image-controls-button):
(.x-webkit-image-controls:hover .x-webkit-image-controls-button):
The button should become opaque whenever *any* part of the image is hovered,
not just the button itself. Also, use the new image-controls-button -webkit-appearance
value to get the appropriate appearance from the theme.

* page/ContextMenuContext.cpp:
(WebCore::ContextMenuContext::ContextMenuContext):
* page/ContextMenuContext.h:
(WebCore::ContextMenuContext::setControlledImage):
(WebCore::ContextMenuContext::controlledImage):
Store an image on the ContextMenuContext instead of just whether we hit an image.

* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::handleContextMenuEvent):
(WebCore::ContextMenuController::showContextMenu):
(WebCore::imageFromImageElementNode):
(WebCore::ContextMenuController::maybeCreateContextMenu):
(WebCore::ContextMenuController::populate):
Keep track of the hit image in the ContextMenuContext.

(WebCore::ContextMenuController::replaceControlledImage):
Replace the hit image with a new one.

* page/ContextMenuController.h:

* rendering/RenderReplaced.h:
Fix a double-space typo.

* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
Handle ImageControlsButtonPart in RenderTheme's switches.

* rendering/RenderTheme.h:
(WebCore::RenderTheme::imageControlsButtonSize):
(WebCore::RenderTheme::paintImageControlsButton):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::servicesRolloverButtonCell):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):
Paint the image controls button.

* editing/ios/EditorIOS.mm:
(WebCore::Editor::WebContentReader::readImage):
(WebCore::Editor::WebContentReader::readURL):
* editing/mac/EditorMac.mm:
(WebCore::Editor::WebContentReader::readImage):
* platform/URL.cpp:
(WebCore::URL::fakeURLWithRelativePart):
* platform/URL.h:
Factor out code to create a "fake" URL (with a UUID "hostname" and the
webkit-fake-url protocol), and make use of it where we construct such URLs.

WebKit/

* WebKit.xcodeproj/project.pbxproj:
Add WebSharingServicePickerController.

WebKit/mac/

* Misc/WebSharingServicePickerController.h: Added.
* Misc/WebSharingServicePickerController.mm: Added.
(-[WebSharingServicePickerController initWithImage:menuClient:]):
(-[WebSharingServicePickerController menu]):
(-[WebSharingServicePickerController sharingServicePicker:delegateForSharingService:]):
(-[WebSharingServicePickerController sharingServicePicker:didChooseSharingService:]):
(-[WebSharingServicePickerController sharingService:didShareItems:]):
(-[WebSharingServicePickerController sharingService:didFailToShareItems:error:]):
(-[WebSharingServicePickerController sharingService:sourceWindowForShareItems:sharingContentScope:]):
Add a NSSharingServiceDelegate and NSSharingServicePickerDelegate, which will also
provide a NSMenu instance for WebContextMenuClient to pop up when image controls are needed.
When data is returned from the service, it is re-inserted into the image via replaceControlledImage.

* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::contextMenuForEvent):
Factor out code to decide which NSMenu to use, so that we can use early-returns to simplify it.
If we hit an image with image controls, use the WebSharingServicePickerController's menu.

(WebContextMenuClient::showContextMenu):
(WebContextMenuClient::clearSharingServicePickerController):

WebKit2/

* Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):

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

5 years ago[Mac] Crash when running media/fallback.html test in MediaPlayerPrivateAVFoundation...
jer.noble@apple.com [Wed, 12 Mar 2014 17:44:27 +0000 (17:44 +0000)]
[Mac] Crash when running media/fallback.html test in MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification()
https://bugs.webkit.org/show_bug.cgi?id=130136

Reviewed by Eric Carlson.

MediaPlayerPrivateAVFoundation is trying to lock its m_queueMutex from an async thread after
while being destroyed in the main thread. To resolve this race condition, redispatch from
the async thread to the main thread, and use a WeakPtr to determine whether the object has
been destroyed or not.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability):

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

5 years agoREGRESSION (r165356): [Mac] Multi-part key bindings don't work
ap@apple.com [Wed, 12 Mar 2014 17:19:33 +0000 (17:19 +0000)]
REGRESSION (r165356): [Mac] Multi-part key bindings don't work
https://bugs.webkit.org/show_bug.cgi?id=130100

Reviewed by Darin Adler.

Restore the previous behavior, where we only interpreted keydowns (including those
coming through performKeyEquivalent).

In the future, we might send all events to input methods, but not to key bindings.

* UIProcess/API/mac/WKView.mm:
(-[WKView keyUp:]):
(-[WKView flagsChanged:]):

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

5 years ago[Win] Remove use of QTSDK
bfulgham@apple.com [Wed, 12 Mar 2014 17:02:06 +0000 (17:02 +0000)]
[Win] Remove use of QTSDK
https://bugs.webkit.org/show_bug.cgi?id=130049

Reviewed by Darin Adler.

Source/WebCore:

Media testing already covers this functionality.

* WebCore.vcxproj/WebCore.vcxproj: Remove QuickTime files.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* platform/graphics/MediaPlayer.h: Remove QuickTime and Chromium
media references.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Removed.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Removed.
* platform/graphics/win/QTCFDictionary.cpp: Removed.
* platform/graphics/win/QTCFDictionary.h: Removed.
* platform/graphics/win/QTDecompressionSession.cpp: Removed.
* platform/graphics/win/QTDecompressionSession.h: Removed.
* platform/graphics/win/QTMovie.cpp: Removed.
* platform/graphics/win/QTMovie.h: Removed.
* platform/graphics/win/QTMovieGWorld.cpp: Removed.
* platform/graphics/win/QTMovieGWorld.h: Removed.
* platform/graphics/win/QTMovieTask.cpp: Removed.
* platform/graphics/win/QTMovieTask.h: Removed.
* platform/graphics/win/QTMovieVisualContext.cpp: Removed.
* platform/graphics/win/QTMovieVisualContext.h: Removed.
* platform/graphics/win/QTMovieWinTimer.cpp: Removed.
* platform/graphics/win/QTMovieWinTimer.h: Removed.
* platform/graphics/win/QTPixelBuffer.cpp: Removed.
* platform/graphics/win/QTPixelBuffer.h: Removed.
* platform/graphics/win/QTTrack.cpp: Removed.
* platform/graphics/win/QTTrack.h: Removed.
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::PluginDatabase::defaultPluginDirectories): Don't look
for the QuickTime plugin anymore.

Tools:

* DumpRenderTree/win/DumpRenderTree.cpp:
(initialize): Remove QuickTime code.
* win/AssembleBuildLogs/AssembleLogs.cmd: Don't grab logs from
building QTMovieWin.

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

5 years ago[GTK] Update references for mo-stretch.html.
fred.wang@free.fr [Wed, 12 Mar 2014 16:46:49 +0000 (16:46 +0000)]
[GTK] Update references for mo-stretch.html.
https://bugs.webkit.org/show_bug.cgi?id=129366.

Reviewed by Chris Fleizach.

The rendering of mo-stretch has changed after the recent improvements
to the <mo> element. This updates the reference for the GTK port.

* platform/gtk/mathml/presentation/mo-stretch-expected.png:
* platform/gtk/mathml/presentation/mo-stretch-expected.txt:

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

5 years agoFix build after r165472
ddkilzer@apple.com [Wed, 12 Mar 2014 16:28:56 +0000 (16:28 +0000)]
Fix build after r165472

Fixes the following build failure:

    WebCore/rendering/shapes/Shape.cpp:97:20: error: unused function 'ensureRadiiDoNotOverlap' [-Werror,-Wunused-function]
    static inline void ensureRadiiDoNotOverlap(FloatRect& bounds, FloatSize& radii)
                       ^
    1 error generated.

* rendering/shapes/Shape.cpp:
(ensureRadiiDoNotOverlap): Remove unused function.

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

5 years ago[GTK][CMAKE] Too verbose build output
mrobinson@webkit.org [Wed, 12 Mar 2014 15:48:13 +0000 (15:48 +0000)]
[GTK][CMAKE] Too verbose build output
https://bugs.webkit.org/show_bug.cgi?id=130076

Reviewed by Carlos Garcia Campos.

.:

* Source/cmake/OptionsGTK.cmake: Generate a script which does the actual build. This
works around an issue where cmake --build doesn't support ninja's pretty printing.

Tools:

Instead of building with cmake --build which isn't smart about pretty printing and
colors, we build with a script which calls the proper build command.

* Scripts/webkitdirs.pm:
(buildCMakeGeneratedProject): For GTK+ call the script that we generate during
the CMake configuration pass.

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

5 years ago[CSS Shapes] Remove deprecated shapes
bjonesbe@adobe.com [Wed, 12 Mar 2014 15:41:55 +0000 (15:41 +0000)]
[CSS Shapes] Remove deprecated shapes
https://bugs.webkit.org/show_bug.cgi?id=125235

Reviewed by Dirk Schulze.

Source/WebCore:

Remove support for deprecated shape types and syntax. These have
already been removed from the CSS Shapes specification, so this aligns
the implementation with the specification.

The "new" tests below were simply moved from the old csswg directory,
as they were the only tests there that applied to the current syntax.

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000.html
       fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001.html
       fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002.html

* css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):
* css/BasicShapeFunctions.h:
* css/CSSBasicShapes.cpp:
* css/CSSBasicShapes.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseBasicShape):
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape):
* rendering/shapes/ShapeInsideInfo.cpp:
(WebCore::ShapeInsideInfo::isEnabledFor):
* rendering/style/BasicShapes.cpp:
* rendering/style/BasicShapes.h:

LayoutTests:

Remove tests for deprecated shape syntax.

There are also a few shape-inside tests that have been removed because
they were very difficult to make work without the rectangle shape, and
the future of the current shape-inside implementation is questionable
at best.

* animations/resources/animation-test-helpers.js:
(parseBasicShape):
* compositing/contents-opaque/opaque-with-clip-path-expected.html:
* compositing/contents-opaque/opaque-with-clip-path.html:
* css3/masking/clip-path-animation-expected.txt:
* css3/masking/clip-path-animation.html:
* css3/masking/clip-path-rectangle-expected.txt: Removed.
* css3/masking/clip-path-rectangle.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/rounded-rectangle.js: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/subpixel-utils.js: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-010-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-010.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-011-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-011.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-012-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-012.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-013-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-013.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-014-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-014.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-015-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-015.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-016-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-016.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-017-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-017.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-018-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-018.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-019-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-019.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-020-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-020.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-021-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-021.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-000-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-000.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-001-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-001.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-002-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-002.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-003-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-003.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-004-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-004.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-005-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-005.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-006-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-006.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-007-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-007.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-008-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-008.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-009-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-009.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002-expected.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002.html: Removed.
* csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log: Removed.
* fast/masking/parsing-clip-path-shape-expected.txt:
* fast/masking/parsing-clip-path-shape.html:
* fast/regions/shape-inside/shape-inside-on-additional-regions.html:
* fast/regions/shape-inside/shape-inside-on-first-region-block-content.html:
* fast/regions/shape-inside/shape-inside-on-first-region-inline-content.html:
* fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html:
* fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top-expected.html: Removed.
* fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html: Removed.
* fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset.html:
* fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-bottom-positioned-multiple-shapes.html:
* fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html:
* fast/regions/shape-inside/shape-inside-on-regions-expected.html:
* fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset.html:
* fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-bottom-positioned-multiple-shapes.html:
* fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-multiple-shapes.html:
* fast/regions/shape-inside/shape-inside-on-regions-inline-content.html:
* fast/regions/shape-inside/shape-inside-on-regions.html:
* fast/regions/shape-inside/shape-inside-on-second-region-block-content.html:
* fast/regions/shape-inside/shape-inside-on-second-region-inline-content.html:
* fast/regions/shape-inside/shape-inside-recursive-layout-expected.html:
* fast/regions/shape-inside/shape-inside-recursive-layout.html:
* fast/regions/shape-inside/shape-inside-with-region-borders.html:
* fast/regions/shape-inside/shape-inside-with-region-padding.html:
* fast/shapes/css-shapes-disabled-expected.txt:
* fast/shapes/css-shapes-disabled.html:
* fast/shapes/css-shapes-enabled-expected.txt:
* fast/shapes/css-shapes-enabled.html:
* fast/shapes/parsing/parsing-shape-inside-expected.txt:
* fast/shapes/parsing/parsing-shape-inside.html:
* fast/shapes/parsing/parsing-shape-lengths-expected.txt:
* fast/shapes/parsing/parsing-shape-lengths.html:
* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-shape-outside.html:
* fast/shapes/parsing/parsing-test-utils.js:
* fast/shapes/resources/simple-rectangle.js:
(drawTextRectangle):
* fast/shapes/shape-inside/shape-inside-animation-expected.txt:
* fast/shapes/shape-inside/shape-inside-animation.html:
* fast/shapes/shape-inside/shape-inside-bottom-edge-expected.html:
* fast/shapes/shape-inside/shape-inside-bottom-edge.html:
* fast/shapes/shape-inside/shape-inside-box-sizing.html:
* fast/shapes/shape-inside/shape-inside-dynamic-nested-expected.html:
* fast/shapes/shape-inside/shape-inside-dynamic-nested.html:
* fast/shapes/shape-inside/shape-inside-dynamic-shape.html:
* fast/shapes/shape-inside/shape-inside-dynamic-text.html:
* fast/shapes/shape-inside/shape-inside-empty-expected.html:
* fast/shapes/shape-inside/shape-inside-empty.html:
* fast/shapes/shape-inside/shape-inside-inline-elements-expected.html: Removed.
* fast/shapes/shape-inside/shape-inside-inline-elements.html: Removed.
* fast/shapes/shape-inside/shape-inside-multiple-blocks-vertical.html:
* fast/shapes/shape-inside/shape-inside-multiple-blocks.html:
* fast/shapes/shape-inside/shape-inside-on-nested-container-with-unresolved-height.html:
* fast/shapes/shape-inside/shape-inside-outside-shape.html:
* fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html:
* fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions.html:
* fast/shapes/shape-inside/shape-inside-overflow.html:
* fast/shapes/shape-inside/shape-inside-percentage-auto.html:
* fast/shapes/shape-inside/shape-inside-percentage.html:
* fast/shapes/shape-inside/shape-inside-rectangle-padding-expected.html: Removed.
* fast/shapes/shape-inside/shape-inside-rectangle-padding.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-001-expected.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-001.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-002-expected.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-002.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-003-expected.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-003.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-004-expected.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-004.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-001-expected.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-001.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-002-expected.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-002.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-003-expected.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-003.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-large-radius-expected.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-large-radius.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-padding-expected.html: Removed.
* fast/shapes/shape-inside/shape-inside-rounded-rectangle-padding.html: Removed.
* fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html:
* fast/shapes/shape-inside/shape-inside-text.html:
* fast/shapes/shape-inside/shape-inside-vertical-text.html:
* fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
* fast/shapes/shape-outside-floats/shape-outside-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-margin.html:
* fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html:
* fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-bottom.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash-expected.txt: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash.html: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-not-a-layer.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-outermost.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000-expected.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000-expected.html.
* fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html.
* fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001-expected.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001-expected.html.
* fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html.
* fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002-expected.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002-expected.html.
* fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html.
* fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html:
* svg/clip-path/clip-path-shape-rounded-rect-1-expected.svg: Removed.
* svg/clip-path/clip-path-shape-rounded-rect-1.svg: Removed.
* svg/clip-path/clip-path-shape-rounded-rect-2-expected.svg: Removed.
* svg/clip-path/clip-path-shape-rounded-rect-2.svg: Removed.

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

5 years ago[CMake] Newer versions of CMake cannot find older versions of Freetype
mrobinson@webkit.org [Wed, 12 Mar 2014 15:41:13 +0000 (15:41 +0000)]
[CMake] Newer versions of CMake cannot find older versions of Freetype
https://bugs.webkit.org/show_bug.cgi?id=130107

Reviewed by Gustavo Noronha Silva.

* gtk/jhbuildrc: Work around a bug in newer CMakes by giving the FREETYPE_DIR hint
to CMake during jhbuild initialization.

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

5 years agoAdd hiDPI support for compositing content in DumpRenderTree/WebKitTestRunner
zalan@apple.com [Wed, 12 Mar 2014 15:34:47 +0000 (15:34 +0000)]
Add hiDPI support for compositing content in DumpRenderTree/WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=129961

Reviewed by Simon Fraser.

Now scaled content can go through the window capturing mechanism too for compositing content.
AppleMagnifiedMode is redundant.

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
(setDefaultsToConsistentValuesForTesting):
(runTest):
* DumpRenderTree/mac/PixelDumpSupportMac.mm:
(createBitmapContextFromWebView):
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/cg/TestInvocationCG.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::didInitializeClients):
(WTR::PlatformWebView::changeWindowScaleIfNeeded):
(WTR::PlatformWebView::forceWindowFramesChanged):
* WebKitTestRunner/mac/main.mm:
(setDefaultsToConsistentValuesForTesting):

LayoutTests:

* compositing/hidpi-compositing-vs-non-compositing-check-on-testing-framework-expected.html: Added.
* compositing/hidpi-compositing-vs-non-compositing-check-on-testing-framework.html: Added.
* svg/custom/hidpi-masking-clipping-expected.svg: Added.
* svg/custom/hidpi-masking-clipping.svg: Renamed from LayoutTests/svg/custom/masking-clipping-hidpi.svg.
* svg/custom/masking-clipping-hidpi-expected.svg: Removed.

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

5 years agoUnreviewed. Add myself as a committer.
a.obzhirov@samsung.com [Wed, 12 Mar 2014 14:42:42 +0000 (14:42 +0000)]
Unreviewed. Add myself as a committer.

* Scripts/webkitpy/common/config/contributors.json:

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

5 years ago[GTK] [Stable] deadlock in gobject introspection
carlosgc@webkit.org [Wed, 12 Mar 2014 14:01:26 +0000 (14:01 +0000)]
[GTK] [Stable] deadlock in gobject introspection
https://bugs.webkit.org/show_bug.cgi?id=125651

Reviewed by Sergio Villar Senin.

Source/WebCore:

Make the default SoupNetworkSession a destroyable object to ensure
the wrapped SoupSession is finalized when the process finishes. This
is important because soup cancels any ongoing connection when finalized.

* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::defaultSession): Do not use NeverDestroyed.
* platform/network/soup/SoupNetworkSession.h:

Source/WebKit/gtk:

* webkit/webkitglobals.cpp:
(webkitExit): Dot not try to unref the default network session, it
will be finalized automatically when the process finishes.

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

5 years agoUpdate result after https://trac.webkit.org/r165465
antti@apple.com [Wed, 12 Mar 2014 11:11:06 +0000 (11:11 +0000)]
Update result after https://trac.webkit.org/r165465

* svg/custom/use-multiple-on-nested-disallowed-font-expected.txt:

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

5 years agoDon't use NodeRenderingTraversal for pseudo elements
antti@apple.com [Wed, 12 Mar 2014 10:18:47 +0000 (10:18 +0000)]
Don't use NodeRenderingTraversal for pseudo elements
https://bugs.webkit.org/show_bug.cgi?id=130091

Reviewed by Andreas Kling.

Make traversing during style resolve more comprehensible by handling before/after pseudo elements explicitly.

With this patch NodeRenderingTraversal is only needed for InsertionPoints (which are nothing but an implementation
detail of the <details> element at this point).

* dom/Element.cpp:
(WebCore::shouldUseNodeRenderingTraversalSlowPath):

    PseudoElements don't need the slow path anymore.

(WebCore::Element::setBeforePseudoElement):
(WebCore::Element::setAfterPseudoElement):
(WebCore::Element::clearBeforePseudoElement):
(WebCore::Element::clearAfterPseudoElement):
* dom/NodeRenderingTraversal.cpp:
(WebCore::NodeRenderingTraversal::traverseParent):
(WebCore::NodeRenderingTraversal::firstChildSlow):
(WebCore::NodeRenderingTraversal::nextSiblingSlow):
(WebCore::NodeRenderingTraversal::previousSiblingSlow):
* dom/NodeRenderingTraversal.h:
(WebCore::NodeRenderingTraversal::firstChild):
* style/StyleResolveTree.cpp:
(WebCore::Style::nextSiblingRenderer):

    Add ::before/::after pseudo element handling here.

(WebCore::Style::shouldCreateRenderer):
(WebCore::Style::elementInsideRegionNeedsRenderer):
(WebCore::Style::createRendererIfNeeded):
(WebCore::Style::previousSiblingRenderer):

    Add ::before pseudo element handling here (text node can't be ::after).

(WebCore::Style::reattachTextRenderersForWhitespaceOnlySiblingsAfterAttachIfNeeded):
(WebCore::Style::textRendererIsNeeded):
(WebCore::Style::createTextRendererIfNeeded):
(WebCore::Style::attachTextRenderer):
(WebCore::Style::updateTextRendererAfterContentChange):
(WebCore::Style::attachChildren):
(WebCore::Style::attachDistributedChildren):

    Handle InsertionPoints in one place.

(WebCore::Style::attachShadowRoot):
(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
(WebCore::Style::attachRenderTree):
(WebCore::Style::resolveLocal):
(WebCore::Style::updateTextStyle):
(WebCore::Style::resolveShadowTree):
(WebCore::Style::updateBeforeOrAfterPseudoElement):
(WebCore::Style::resolveTree):

    Pass the rendering parent around to various functions instead of determining it repeatedly by calling
    NodeRenderingTraversal::parent. It is always the same for all direct children being resolved and generally just
    the parent element.

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

5 years agoInvisible Operators should not add space.
fred.wang@free.fr [Wed, 12 Mar 2014 09:49:59 +0000 (09:49 +0000)]
Invisible Operators should not add space.
https://bugs.webkit.org/show_bug.cgi?id=115786

Reviewed by Chris Fleizach.

Source/WebCore:

This change adds special handling for invisible operator to ensure they really behave as empty box. We now ignore their glyph widths and do not paint them.

Test: mathml/presentation/mo-invisible.html

* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLOperator::paint):
* rendering/mathml/RenderMathMLOperator.h:

LayoutTests:

Add a reftest based on the examples of the MathML specification to verify that invisible operators do not add space.

* mathml/presentation/mo-invisible-expected.html: Added.
* mathml/presentation/mo-invisible.html: Added.

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

5 years agoUnreviewed build fix on the EFL port when used lower version of ATK
ryuan.choi@samsung.com [Wed, 12 Mar 2014 09:44:59 +0000 (09:44 +0000)]
Unreviewed build fix on the EFL port when used lower version of ATK

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::y): Fixed typo.

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

5 years agoImplement MathML spacing around operators .
fred.wang@free.fr [Wed, 12 Mar 2014 06:46:52 +0000 (06:46 +0000)]
Implement MathML spacing around operators .
https://bugs.webkit.org/show_bug.cgi?id=115787

Reviewed by Chris Fleizach.

Source/WebCore:

This makes the <mo> operators use the lspace/rspace properties to
determine their spacing. The spacing is now consistent with the one
of <mfenced> and as a consequence bug 118843 is fixed. This also ensures
that the rendering of <mo> elements is updated when the form or
attributes are changed.

Tests: mathml/presentation/dir-mo.html
       mathml/presentation/mo-form-dynamic.html
       mathml/presentation/mo-form-minus-plus.html
       mathml/presentation/mo-form.html
       mathml/presentation/mo-lspace-rspace-dynamic.html
       mathml/presentation/mo-lspace-rspace.html
       mathml/presentation/mo-whitespaces.html

* css/mathml.css:
* mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::childrenChanged):
* mathml/MathMLInlineContainerElement.h:
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
(WebCore::RenderMathMLOperator::SetOperatorProperties):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::updateOperatorProperties):
(WebCore::RenderMathMLOperator::updateStyle):
* rendering/mathml/RenderMathMLOperator.h:
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::updateOperatorProperties):
* rendering/mathml/RenderMathMLRow.h:
* rendering/mathml/RenderMathMLToken.h:

LayoutTests:

Add many new tests to verify the form/lspace/rspace properties of the
<mo> element and that the whitespace of the text content is collapsed.
Update fenced-mi now that bug 118843 is fixed.

* mathml/presentation/dir-mo-expected.html: Added.
* mathml/presentation/dir-mo.html: Added.
* mathml/presentation/fenced-expected.html:
* mathml/presentation/fenced-mi-expected.html:
* mathml/presentation/mo-form-dynamic-expected.html: Added.
* mathml/presentation/mo-form-dynamic.html: Added.
* mathml/presentation/mo-form-expected.html: Added.
* mathml/presentation/mo-form-minus-plus-expected.html: Added.
* mathml/presentation/mo-form-minus-plus.html: Added.
* mathml/presentation/mo-form.html: Added.
* mathml/presentation/mo-lspace-rspace-dynamic-expected.html: Added.
* mathml/presentation/mo-lspace-rspace-dynamic.html: Added.
* mathml/presentation/mo-lspace-rspace-expected.html: Added.
* mathml/presentation/mo-lspace-rspace.html: Added.
* mathml/presentation/mo-whitespaces-expected.html: Added.
* mathml/presentation/mo-whitespaces.html: Added.
* platform/mac/mathml/presentation/mo-stretch-expected.txt: update reference.

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

5 years agoSome images are blank in the rebaseline server UI
mmaxfield@apple.com [Wed, 12 Mar 2014 03:47:16 +0000 (03:47 +0000)]
Some images are blank in the rebaseline server UI
https://bugs.webkit.org/show_bug.cgi?id=130104

Reviewed by Tim Horton.

Let the server check for images in the 'retries' directory
if it can't find an image otherwise.

* Scripts/webkitpy/tool/servers/rebaselineserver.py:
(RebaselineHTTPRequestHandler.test_result):

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

5 years agoGetById list caching should use something object-oriented rather than PolymorphicAcce...
fpizlo@apple.com [Wed, 12 Mar 2014 03:42:42 +0000 (03:42 +0000)]
GetById list caching should use something object-oriented rather than PolymorphicAccessStructureList
https://bugs.webkit.org/show_bug.cgi?id=129778

Reviewed by Geoffrey Garen.

Also deduplicate the GetById getter call caching. Also add some small tests for
get stubs.

This change reduces the amount of code involved in GetById access caching and it
creates data structures that can serve as an elegant scaffold for introducing other
kinds of caches or improving current caching styles. It will definitely make getter
performance improvements easier to implement.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printGetByIdCacheStatus):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeForStubInfo):
* bytecode/PolymorphicGetByIdList.cpp: Added.
(JSC::GetByIdAccess::GetByIdAccess):
(JSC::GetByIdAccess::~GetByIdAccess):
(JSC::GetByIdAccess::fromStructureStubInfo):
(JSC::GetByIdAccess::visitWeak):
(JSC::PolymorphicGetByIdList::PolymorphicGetByIdList):
(JSC::PolymorphicGetByIdList::from):
(JSC::PolymorphicGetByIdList::~PolymorphicGetByIdList):
(JSC::PolymorphicGetByIdList::currentSlowPathTarget):
(JSC::PolymorphicGetByIdList::addAccess):
(JSC::PolymorphicGetByIdList::isFull):
(JSC::PolymorphicGetByIdList::isAlmostFull):
(JSC::PolymorphicGetByIdList::didSelfPatching):
(JSC::PolymorphicGetByIdList::visitWeak):
* bytecode/PolymorphicGetByIdList.h: Added.
(JSC::GetByIdAccess::GetByIdAccess):
(JSC::GetByIdAccess::isSet):
(JSC::GetByIdAccess::operator!):
(JSC::GetByIdAccess::type):
(JSC::GetByIdAccess::structure):
(JSC::GetByIdAccess::chain):
(JSC::GetByIdAccess::chainCount):
(JSC::GetByIdAccess::stubRoutine):
(JSC::GetByIdAccess::doesCalls):
(JSC::PolymorphicGetByIdList::isEmpty):
(JSC::PolymorphicGetByIdList::size):
(JSC::PolymorphicGetByIdList::at):
(JSC::PolymorphicGetByIdList::operator[]):
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::visitWeakReferences):
* bytecode/StructureStubInfo.h:
(JSC::isGetByIdAccess):
(JSC::StructureStubInfo::initGetByIdList):
* jit/Repatch.cpp:
(JSC::generateGetByIdStub):
(JSC::tryCacheGetByID):
(JSC::patchJumpToGetByIdStub):
(JSC::tryBuildGetByIDList):
(JSC::tryBuildPutByIdList):
* tests/stress/getter.js: Added.
(foo):
(.o):
* tests/stress/polymorphic-prototype-accesses.js: Added.
(Foo):
(Bar):
(foo):
* tests/stress/prototype-getter.js: Added.
(Foo):
(foo):
* tests/stress/simple-prototype-accesses.js: Added.
(Foo):
(foo):

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

5 years agoMarkedBlocks that are "full enough" shouldn't be swept after EdenCollections
mhahnenberg@apple.com [Wed, 12 Mar 2014 01:45:54 +0000 (01:45 +0000)]
MarkedBlocks that are "full enough" shouldn't be swept after EdenCollections
https://bugs.webkit.org/show_bug.cgi?id=129920

Reviewed by Geoffrey Garen.

This patch introduces the notion of "retiring" MarkedBlocks. We retire a MarkedBlock
when the amount of free space in a MarkedBlock drops below a certain threshold.
Retired blocks are not considered for sweeping.

This is profitable because it reduces churn during sweeping. To build a free list,
we have to scan through each cell in a block. After a collection, all objects that
are live in the block will remain live until the next FullCollection, at which time
we un-retire all previously retired blocks. Thus, a small number of objects in a block
that die during each EdenCollection could cause us to do a disproportiante amount of
sweeping for how much free memory we get back.

This patch looks like a consistent ~2% progression on boyer and is neutral everywhere else.

* heap/Heap.h:
(JSC::Heap::didRetireBlockWithFreeListSize):
* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::removeBlock):
(JSC::MarkedAllocator::reset):
* heap/MarkedAllocator.h:
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::forEachBlock):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::sweepHelper):
(JSC::MarkedBlock::clearMarksWithCollectionType):
(JSC::MarkedBlock::didRetireBlock):
* heap/MarkedBlock.h:
(JSC::MarkedBlock::willRemoveBlock):
(JSC::MarkedBlock::isLive):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::clearNewlyAllocated):
(JSC::MarkedSpace::clearMarks):
* runtime/Options.h:

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

5 years ago[GTK][CMake] --update-gtk has no effect
gns@gnome.org [Wed, 12 Mar 2014 00:19:40 +0000 (00:19 +0000)]
[GTK][CMake] --update-gtk has no effect
https://bugs.webkit.org/show_bug.cgi?id=130088

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2014-03-11
Reviewed by Philippe Normand.

* Scripts/webkitdirs.pm:
(buildCMakeProjectOrExit): call update-webkitgtk-libs if --update-gtk has been passed
as an argument.

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

5 years agoGet the incomplete WebVTT Regions code to build again.
bfulgham@apple.com [Wed, 12 Mar 2014 00:19:25 +0000 (00:19 +0000)]
Get the incomplete WebVTT Regions code to build again.
https://bugs.webkit.org/show_bug.cgi?id=130094

Reviewed by Eric Carlson.

The feature is not being turned on here, so there are no new tests.

* DerivedSources.make: Add missing IDL files for Regions.
* WebCore.xcodeproj/project.pbxproj: Add Regions-related files.
* html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::newRegionsParsed): Add stub implementation.
* html/track/LoadableTextTrack.cpp: Add missing include file.
* html/track/TextTrack.cpp:
(WebCore::TextTrack::TextTrack): Correct ordering of construction
to avoid compiler warning.

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

5 years agoAdd "System Font" to the list of whitelisted DRT fonts
mmaxfield@apple.com [Wed, 12 Mar 2014 00:12:22 +0000 (00:12 +0000)]
Add "System Font" to the list of whitelisted DRT fonts
https://bugs.webkit.org/show_bug.cgi?id=130046

Reviewed by Darin Adler.

* DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet):
* WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:

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

5 years ago_pageExtendedBackgroundColor should not be exposed on WKWebView
bdakin@apple.com [Tue, 11 Mar 2014 23:00:19 +0000 (23:00 +0000)]
_pageExtendedBackgroundColor should not be exposed on WKWebView
https://bugs.webkit.org/show_bug.cgi?id=130093

Reviewed by Simon Fraser.

Added comment indicating that _pageExtendedBackgroundColor is deprecated.
* UIProcess/API/Cocoa/WKViewPrivate.h:

_pageExtendedBackgroundColor now returns nil, but the conversation functionality
is maintained with a convenience method pageExtendedBackgroundColor.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView pageExtendedBackgroundColor]):
(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _pageExtendedBackgroundColor]):

Added comment indicating that _pageExtendedBackgroundColor is deprecated.
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

Return nil.
* UIProcess/API/ios/WKViewIOS.mm:
(-[WKView _pageExtendedBackgroundColor]):

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

5 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Tue, 11 Mar 2014 21:51:42 +0000 (21:51 +0000)]
[Win] Unreviewed gardening.

* wtf/MathExtras.h: VS2013 provides an lrint implementation. No need to implement
our own.

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

5 years ago[GTK] The jhbuild environment should set CMAKE_PREFIX_PATH and CMAKE_LIBRARY_PATH
mrobinson@webkit.org [Tue, 11 Mar 2014 15:09:12 +0000 (15:09 +0000)]
[GTK] The jhbuild environment should set CMAKE_PREFIX_PATH and CMAKE_LIBRARY_PATH
https://bugs.webkit.org/show_bug.cgi?id=130064

Reviewed by Philippe Normand.

* efl/jhbuildrc: Remove duplicated code.
* gtk/jhbuildrc: Remove duplicated code.
* jhbuild/jhbuildrc_common.py:
(init): Move duplicated code from jhbuildrc's and extend setting CMake environment variables to
GTK+. We always set the CMAKE_LIBRARY_PATH, which should be harmless for EFL 32-bit systems.
and is apparently necessary for GTK+.

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

5 years agocheck-webkit-style failed to complain about missing braces
llango.u-szeged@partner.samsung.com [Tue, 11 Mar 2014 14:56:48 +0000 (14:56 +0000)]
check-webkit-style failed to complain about missing braces
https://bugs.webkit.org/show_bug.cgi?id=34189

Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_braces):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_braces):

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

5 years agoRemove Qt cruft from style checker.
llango.u-szeged@partner.samsung.com [Tue, 11 Mar 2014 13:38:22 +0000 (13:38 +0000)]
Remove Qt cruft from style checker.
https://bugs.webkit.org/show_bug.cgi?id=130085

Reviewed by Csaba Osztrogonác.

There is no 'foreach' keyword in c++. That was a Qt feature
added in: http://trac.webkit.org/changeset/46113
Qt was removed from WebKit, so we should remove the checks
of this keyword from check-webkit-style scripts.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing_for_function_call):
(check_spacing):
(check_braces):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_mismatching_spaces_in_parens):
(CppStyleTest.test_spacing_for_fncall):
(WebKitStyleTest.test_braces):

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

5 years ago[CSS Grid Layout] Add layout test for anonymous grid items
rego@igalia.com [Tue, 11 Mar 2014 13:29:03 +0000 (13:29 +0000)]
[CSS Grid Layout] Add layout test for anonymous grid items
https://bugs.webkit.org/show_bug.cgi?id=130083

Reviewed by Sergio Villar Senin.

Add a layout test to prevent regressions supporting anonymous grid items.

For example, anonymous grid items do not have an associated Node, so trying to access it will make this test
crash.

* fast/css-grid-layout/anonymous-grid-items-expected.html: Added.
* fast/css-grid-layout/anonymous-grid-items.html: Added.

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

5 years ago[GTK] update-webkitgtk-libs needs itstool
commit-queue@webkit.org [Tue, 11 Mar 2014 11:27:54 +0000 (11:27 +0000)]
[GTK] update-webkitgtk-libs needs itstool
https://bugs.webkit.org/show_bug.cgi?id=130082

After http://trac.webkit.org/changeset/165110 WebKitGTK+ uses gtk-doc 1.20.
itstool is a dependency of building gtk-doc from version 1.19, so it should
be added to Tools/gtk/install-dependencies script, too.

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-03-11
Reviewed by Philippe Normand.

* gtk/install-dependencies:

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

5 years agowebkitbot rollout ChangeLogs should be nicer
ossy@webkit.org [Tue, 11 Mar 2014 11:23:27 +0000 (11:23 +0000)]
webkitbot rollout ChangeLogs should be nicer
https://bugs.webkit.org/show_bug.cgi?id=122654

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-03-11
Reviewed by Csaba Osztrogonác.

Added bug urls and descriptions of rolled out patches to the rollout changelog
if they are present in the original changelog. Additionally removed the list of
changed files and functions.

* Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLog.update_with_unreviewed_message): Cut off the list of modified files.
* Scripts/webkitpy/common/checkout/checkout.py:
(Checkout._changelog_data_for_revision): Store bug description.
* Scripts/webkitpy/common/checkout/checkout_mock.py:
* Scripts/webkitpy/common/checkout/checkout_unittest.py:
(CheckoutTest.test_commit_info_for_revision):
* Scripts/webkitpy/common/checkout/commitinfo.py:
(CommitInfo.bug_description): Added.
(CommitInfo.to_json):
* Scripts/webkitpy/common/checkout/commitinfo_unittest.py:
(CommitInfoTest.test_commit_info_creation):
* Scripts/webkitpy/tool/commands/download.py:
(AbstractRolloutPrepCommand._prepare_state): Store bug ids and descriptions of rolled
out patches for creating rollout changelog.
(CreateRollout._prepare_state): Remove obsolete comments and code, the bug id that
caused the regression is stored in state["bug_blocked"] now.
* Scripts/webkitpy/tool/commands/download_unittest.py:
(test_prepare_rollout):
(test_create_rollout_multiple_revision):
* Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
(PrepareChangeLogForRevert._message_for_revert): Add bug urls and descriptions of
rolled out patches to the changelog.
(PrepareChangeLogForRevert.run):
* Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
(UpdateChangeLogsForRevertTest):
(test_message_for_revert):
* Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:
(ReopenBugAfterRollout.run):

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

5 years agoRemove unused method from BatteryController
ryuan.choi@samsung.com [Tue, 11 Mar 2014 11:19:06 +0000 (11:19 +0000)]
Remove unused method from BatteryController
https://bugs.webkit.org/show_bug.cgi?id=130063

Reviewed by Darin Adler.

* Modules/battery/BatteryController.h: Removed client() which is not used.

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

5 years agoStreamline PropertyTable for lookup-only access.
akling@apple.com [Tue, 11 Mar 2014 09:35:55 +0000 (09:35 +0000)]
Streamline PropertyTable for lookup-only access.
<https://webkit.org/b/130060>

The PropertyTable lookup algorithm was written to support both read
and write access. This wasn't actually needed in most places.

This change adds a PropertyTable::get() that just returns the value
type (instead of an insertion iterator.) It also adds an early return
for empty tables.

Finally, up the minimum table capacity from 8 to 16. It was lowered
to 8 in order to save memory, but that was before PropertyTables were
GC allocated. Nowadays we don't have nearly as many tables, since all
the unpinned transitions die off.

Reviewed by Darin Adler.

* runtime/PropertyMapHashTable.h:
(JSC::PropertyTable::get):
* runtime/Structure.cpp:
(JSC::Structure::despecifyDictionaryFunction):
(JSC::Structure::attributeChangeTransition):
(JSC::Structure::get):
(JSC::Structure::despecifyFunction):
* runtime/StructureInlines.h:
(JSC::Structure::get):

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

5 years ago[ATK] Adjust WKTR/DRT to use new API from ATK 2.11.90
k.czech@samsung.com [Tue, 11 Mar 2014 09:14:22 +0000 (09:14 +0000)]
[ATK] Adjust WKTR/DRT to use new API from ATK 2.11.90
https://bugs.webkit.org/show_bug.cgi?id=130021

Reviewed by Mario Sanchez Prada.

Replace deprecated functions to use new API from ATK 2.11.90.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::x):
(AccessibilityUIElement::y):
(AccessibilityUIElement::width):
(AccessibilityUIElement::height):
(AccessibilityUIElement::clickPointX):
(AccessibilityUIElement::clickPointY):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::x):
(WTR::AccessibilityUIElement::y):
(WTR::AccessibilityUIElement::width):
(WTR::AccessibilityUIElement::height):
(WTR::AccessibilityUIElement::clickPointX):
(WTR::AccessibilityUIElement::clickPointY):

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

5 years ago[ATK] Expose aria-posinset and aria-setsize through object attributes
k.czech@samsung.com [Tue, 11 Mar 2014 09:04:08 +0000 (09:04 +0000)]
[ATK] Expose aria-posinset and aria-setsize through object attributes
https://bugs.webkit.org/show_bug.cgi?id=130011

Reviewed by Chris Fleizach.

Source/WebCore:

Based on http://www.w3.org/TR/2014/PR-wai-aria-implementation-20140206/
aria-poinset and aria-setsize can be exposed as object attributes.

Test: accessibility/aria-setsize-posinset.html

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

Tools:

Added missing implementation of numberAttributeValue both to WKTR and DRT.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::numberAttributeValue):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::numberAttributeValue):

LayoutTests:

Test could be shared with other platforms.

* accessibility/aria-setsize-posinset-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/aria-setsize-posinset-expected.txt.
* accessibility/aria-setsize-posinset.html: Renamed from LayoutTests/platform/mac/accessibility/aria-setsize-posinset.html.
* platform/win/TestExpectations: Skipping on win port.

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

5 years ago[GTK][CMake] Add HARFBUZZ_INCLUDE_DIRS to WebKit and WebKit2
jaepark@webkit.org [Tue, 11 Mar 2014 08:13:08 +0000 (08:13 +0000)]
[GTK][CMake] Add HARFBUZZ_INCLUDE_DIRS to WebKit and WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130070

Reviewed by Martin Robinson.

Source/WebKit:

* PlatformGTK.cmake:

Source/WebKit2:

* PlatformGTK.cmake:

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

5 years agoImprove renderer classes for MathML Token elements.
fred.wang@free.fr [Tue, 11 Mar 2014 07:51:27 +0000 (07:51 +0000)]
Improve renderer classes for MathML Token elements.
https://bugs.webkit.org/show_bug.cgi?id=124838

Reviewed by Chris Fleizach.

Source/WebCore:

This patch continues the refactoring of token elements that has been
started in bug 44208. The <mo> element now derives from the
RenderMathMLToken class, which was already used for the <mi> element.
The behavior of anonymous <mo> elements created by the <mfenced> element
is now more consistent with the one of "standard" <mo> elements and the
spacing around them is now handled in RenderMathMLOperator. This is a
first step towards fixing bugs 115787 and 118843. The only visible
rendering change is how <mfenced> open/close attributes handle
whitespace and multiple characters and some tests are added for that.
Other features are already covered by other tests. Finally, this also
removes some code from AccessibilityRenderObject that was used to
workaround issues with <mo> elements.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::startOfContinuations):
(WebCore::AccessibilityRenderObject::textUnderElement):
(WebCore::AccessibilityRenderObject::isMathOperator):
(WebCore::AccessibilityRenderObject::isIgnoredElementWithinMathTree):
* mathml/MathMLTextElement.cpp:
(WebCore::MathMLTextElement::didAttachRenderers):
(WebCore::MathMLTextElement::childrenChanged):
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::RenderMathMLFenced):
(WebCore::RenderMathMLFenced::updateFromElement):
(WebCore::RenderMathMLFenced::createMathMLOperator):
(WebCore::RenderMathMLFenced::makeFences):
(WebCore::RenderMathMLFenced::addChild):
* rendering/mathml/RenderMathMLFenced.h:
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
(WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
(WebCore::RenderMathMLOperator::SetOperatorProperties):
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLOperator::rebuildTokenContent):
(WebCore::RenderMathMLOperator::updateTokenContent):
(WebCore::RenderMathMLOperator::updateStyle):
(WebCore::RenderMathMLOperator::firstLineBaseline):
(WebCore::RenderMathMLOperator::paint):
(WebCore::RenderMathMLOperator::paintChildren):
* rendering/mathml/RenderMathMLOperator.h:
* rendering/mathml/RenderMathMLToken.cpp:
(WebCore::RenderMathMLToken::createWrapperIfNeeded):

LayoutTests:

Two tests are added to fenced-mi in order to verify that the open/close
attributes of the mfenced element collapse whitespace and accept values
with multiple characters.

* mathml/presentation/fenced-mi-expected.html:
* mathml/presentation/fenced-mi.html:
* platform/mac/accessibility/mathml-elements.html: fix bad closing tag and disable the test for now.
* platform/mac/mathml/presentation/mo-stretch-expected.txt: update text reference.

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

5 years agoREGRESSION(r165407): DoYouEvenBench crashes in DRT
mhahnenberg@apple.com [Tue, 11 Mar 2014 06:57:43 +0000 (06:57 +0000)]
REGRESSION(r165407): DoYouEvenBench crashes in DRT
https://bugs.webkit.org/show_bug.cgi?id=130066

Reviewed by Geoffrey Garen.

The baseline JIT does a conditional store barrier for the put_by_id, but we need
an unconditional store barrier so that we cover the butterfly case as well in emitPutTransitionStub.

* jit/JIT.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emitWriteBarrier):

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

5 years ago[Cocoa] Expose WebPageProxy::close
mitz@apple.com [Tue, 11 Mar 2014 06:25:23 +0000 (06:25 +0000)]
[Cocoa] Expose WebPageProxy::close
https://bugs.webkit.org/show_bug.cgi?id=130068

Reviewed by Adele Peterson.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _close]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

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

5 years agoResurrect bit-rotted JIT::probe() mechanism.
mark.lam@apple.com [Tue, 11 Mar 2014 05:18:41 +0000 (05:18 +0000)]
Resurrect bit-rotted JIT::probe() mechanism.
<https://webkit.org/b/130067>

Reviewed by Geoffrey Garen.

* jit/JITStubs.cpp:
- Added the needed #include <wtf/InlineASM.h>.

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

5 years agoFix typo in EXCLUDED_SOURCE_FILE_NAMES_iphoneos.
joepeck@webkit.org [Tue, 11 Mar 2014 05:01:18 +0000 (05:01 +0000)]
Fix typo in EXCLUDED_SOURCE_FILE_NAMES_iphoneos.

Rubber-stamped by Dan Bernstein.

* Configurations/JavaScriptCore.xcconfig:

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

5 years agor165414 broke the 32-bit x86 tests: ASSERTION FAILED: result != InvalidIndex @ GPRInf...
mark.lam@apple.com [Tue, 11 Mar 2014 04:53:52 +0000 (04:53 +0000)]
r165414 broke the 32-bit x86 tests: ASSERTION FAILED: result != InvalidIndex @ GPRInfo.h:330.
<https://webkit.org/b/130065>

Reviewed by Michael Saboff.

There is code in ScratchRegisterAllocator.cpp that is relying on GPRInfo::toIndex()
being able to return InvalidIndex.  Hence, the assertion is invalid.  Ditto for
FPRInfo::toIndex().

The fix is to remove the "result != InvalidIndex" assertions.

* jit/FPRInfo.h:
(JSC::FPRInfo::toIndex):
* jit/GPRInfo.h:
(JSC::GPRInfo::toIndex):

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

5 years agoWeb Inspector: AXI: Expose checked/disabled/expanded/pressed/readonly/selected
commit-queue@webkit.org [Tue, 11 Mar 2014 04:52:02 +0000 (04:52 +0000)]
Web Inspector: AXI: Expose checked/disabled/expanded/pressed/readonly/selected
https://bugs.webkit.org/show_bug.cgi?id=129781

Patch by James Craig <jcraig@apple.com> on 2014-03-10
Reviewed by Joseph Pecoraro.

Enabling several more properties to be exposed in the Accessibility Node Inspector.

Source/WebCore:

Updated Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::supportsChecked):
* accessibility/AccessibilityObject.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
* inspector/protocol/DOM.json:

Source/WebInspectorUI:

Updated Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Models/DOMNode.js:
* UserInterface/Protocol/InspectorWebBackendCommands.js:
* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

LayoutTests:

* inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
* inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

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

5 years ago[CSS Shapes] inset corner radii are not flipped for vertical writing modes
bjonesbe@adobe.com [Tue, 11 Mar 2014 04:31:06 +0000 (04:31 +0000)]
[CSS Shapes] inset corner radii are not flipped for vertical writing modes
https://bugs.webkit.org/show_bug.cgi?id=129918

Reviewed by Dean Jackson.

Source/WebCore:

When creating an inset shape, convert the radii to logical coordinates
as well as the box.

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html
       fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html

* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape): Convert the radii to logical
    coordinates.

LayoutTests:

Test both left and right float cases so that we cover all four
corners.

* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left-expected.txt: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right-expected.txt: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html: Added.

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

5 years ago[EFL] Modify accelerated compositing related functions in ewk_view.
ryuan.choi@samsung.com [Tue, 11 Mar 2014 04:28:49 +0000 (04:28 +0000)]
[EFL] Modify accelerated compositing related functions in ewk_view.
https://bugs.webkit.org/show_bug.cgi?id=129875

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-10
Reviewed by Gyuyoung Kim.

The compositing object will be created when root layer is attached.
So we don't need to expose the create function.
And this patch adds show(), hide() and resize() for compositing object.

* WebCoreSupport/AcceleratedCompositingContextEfl.h: move resize() to public.
* ewk/ewk_view.cpp:
(_ewk_view_smart_resize): add to resize the compositing object.
(_ewk_view_smart_show): add to show the compositing object.
(_ewk_view_smart_hide): add to hide the compositing object.
(_ewk_view_accelerated_compositing_context_create_if_needed):
modify the creation for the compositing object.
(_ewk_view_accelerated_compositing_object_create_if_needed):
add a return value.
(ewk_view_root_graphics_layer_set):
If root layer is not 0, we create the compositing object and AcceleratedCompositingContext.
* ewk/ewk_view_private.h: remove to expose the compositing object creation API.

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

5 years agoWeb Inspector: Frontend loaded resources from cache are not hidden as expected
commit-queue@webkit.org [Tue, 11 Mar 2014 04:22:10 +0000 (04:22 +0000)]
Web Inspector: Frontend loaded resources from cache are not hidden as expected
https://bugs.webkit.org/show_bug.cgi?id=130044

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-03-10
Reviewed by Timothy Hatcher.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadedResourceFromMemoryCache):
Use the new request that was passed in. Assume it is filled in appropriately.

* loader/cache/CachedResourceLoader.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
Carry over the hidden from inspector state if the passed in request had it,
and create the request that loadedResourceFromMemoryCache will use.

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):
Add missing ifdefs for INSPECTOR only function.

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

5 years agoCrash on a stack overflow on 32-bit x86 in http/tests/websocket/tests/hybi/workers...
mark.lam@apple.com [Tue, 11 Mar 2014 04:06:31 +0000 (04:06 +0000)]
Crash on a stack overflow on 32-bit x86 in http/tests/websocket/tests/hybi/workers/no-onmessage-in-sync-op.html.
<https://webkit.org/b/129955>

Reviewed by Geoffrey Garen.

The 32-bit x86 version of getHostCallReturnValue() was leaking 16 bytes
stack memory every time it was called.  This is now fixed.

* jit/JITOperations.cpp:

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

5 years agoImprove WeakPtr operators.
jer.noble@apple.com [Tue, 11 Mar 2014 03:08:01 +0000 (03:08 +0000)]
Improve WeakPtr operators.
https://bugs.webkit.org/show_bug.cgi?id=130053

Reviewed by Andreas Kling.

Replace the "operator!()" with an explicit bool operator.  Add an "operator->()".

* wtf/WeakPtr.h:
(WTF::WeakPtr::operator bool):
(WTF::WeakPtr::operator->):

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

5 years agoBetter JSContext API for named evaluations (other than //# sourceURL)
joepeck@webkit.org [Tue, 11 Mar 2014 02:39:40 +0000 (02:39 +0000)]
Better JSContext API for named evaluations (other than //# sourceURL)
https://bugs.webkit.org/show_bug.cgi?id=129911

Reviewed by Geoffrey Garen.

* API/JSBase.h:
* API/JSContext.h:
* API/JSContext.mm:
(-[JSContext evaluateScript:]):
(-[JSContext evaluateScript:withSourceURL:]):
Add new evaluateScript:withSourceURL:.

* API/tests/testapi.c:
(main):
* API/tests/testapi.mm:
(testObjectiveCAPI):
Add tests for sourceURL in evaluate APIs. It should
affect the exception objects.

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

5 years agoRemove 'visibilitychange' attribute event listener from document
jinwoo7.song@samsung.com [Tue, 11 Mar 2014 02:26:36 +0000 (02:26 +0000)]
Remove 'visibilitychange' attribute event listener from document
https://bugs.webkit.org/show_bug.cgi?id=129794

Reviewed by Simon Fraser.

Remove the unused attribute event listener which is not defined in Page Visibility API spec.
http://www.w3.org/TR/page-visibility/#sec-document-interface

* dom/Document.h:

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

5 years ago[iOS][WebKit 2] Wire the unobscured rect in the WebProcess
benjamin@webkit.org [Tue, 11 Mar 2014 01:34:42 +0000 (01:34 +0000)]
[iOS][WebKit 2] Wire the unobscured rect in the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=130058

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-10
Reviewed by Simon Fraser.

Source/WebCore:

* WebCore.exp.in:
* platform/ScrollView.h:
* platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::unobscuredContentRect):
(WebCore::ScrollView::setUnobscuredContentRect):

Source/WebKit2:

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

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

5 years agomakeSelectorPseudoTypeMap.py should not be copied in the WebCore bundle
benjamin@webkit.org [Tue, 11 Mar 2014 00:40:34 +0000 (00:40 +0000)]
makeSelectorPseudoTypeMap.py should not be copied in the WebCore bundle

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-10

* WebCore.xcodeproj/project.pbxproj:

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

5 years ago[Win] Unreviewed build fix.
bfulgham@apple.com [Tue, 11 Mar 2014 00:39:57 +0000 (00:39 +0000)]
[Win] Unreviewed build fix.

Some bad Windows code was committed at some point that prevents the Apple Windows port
from finding its runtime dependencies reliably.

* win/DLLLauncher/DLLLauncherMain.cpp:
(appleApplicationSupportDirectory): Restored this function.
(modifyPath): Update to use appleApplicationSupportDirectory function.

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

5 years ago[Win] Unreviewed build fix (64-bit).
bfulgham@apple.com [Tue, 11 Mar 2014 00:29:56 +0000 (00:29 +0000)]
[Win] Unreviewed build fix (64-bit).

* WebKit.vcxproj/WebKit/WebKitCommon.props: Put uuid.lib as the last link library so that
the MSIE DOM symbols don't conflict with WebKit's.
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add missing 64-bit symbol definitions.

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