WebKit-https.git
8 years agoAdd make_unique and start using it
weinig@apple.com [Tue, 17 Sep 2013 21:46:10 +0000 (21:46 +0000)]
Add make_unique and start using it
https://bugs.webkit.org/show_bug.cgi?id=121523

Reviewed by Anders Carlsson.

../WebCore:

* html/HTMLAreaElement.h:
* html/HTMLFrameSetElement.h:
* platform/Length.cpp:
(WebCore::newCoordsArray):
(WebCore::newLengthArray):
* platform/Length.h:
Switch off OwnArrayPtr to std::unique_ptr<T[]> and make use of make_unique.

../WTF:

* wtf/StdLibExtras.h:
(std::make_unique):
Add temporary implementation of std::make_unique that we can use until our standard
libraries have support for it.

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

8 years agorun-jsc-stress-tests fails with ruby version 2
msaboff@apple.com [Tue, 17 Sep 2013 21:44:09 +0000 (21:44 +0000)]
run-jsc-stress-tests fails with ruby version 2
https://bugs.webkit.org/show_bug.cgi?id=121521

Reviewed by Jessie Berlin.

Explicitly set LANG to en_US.UTB-8 before starting run-jsc-stress-tests.

* Scripts/run-javascriptcore-tests:

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

8 years agoHardware accelerated CSS transitions appear pixelated when scaled up using transform
simon.fraser@apple.com [Tue, 17 Sep 2013 21:33:48 +0000 (21:33 +0000)]
Hardware accelerated CSS transitions appear pixelated when scaled up using transform
https://bugs.webkit.org/show_bug.cgi?id=27684
<rdar://problem/6134606>

Source/WebCore:

Reviewed by Dean Jackson.

Take transforms and animations into account when computing the contentsScale
for a layer, so that scaled-up layers remain sharp most of the time.

In its recursiveCommitChanges() tree walk, GraphicsLayerCA now tracks
a root-relative transform, and extracts from that transform the X and Y
scales which it uses to scale the backing store.

If the layer has transform animations on it, we keep around
a transformation matrix for the animation endpoints (or keyframes),
pick up the state that has the larger impact on the root-relative scale,
and use that as the layer's transform, and the transform when recursing
over descendants.

Tests: compositing/contents-scale/animating.html
       compositing/contents-scale/scaled-ancestor.html
       compositing/contents-scale/simple-scale.html
       compositing/contents-scale/z-translate.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::maxScaleFromTransform): Decompose the transform if necesssary
to extract the X and Y scale components.
(WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_rootRelativeScaleFactor.
(WebCore::GraphicsLayerCA::flushCompositingState): Supply a TransformationMatrix
for the root of the recursion.
(WebCore::GraphicsLayerCA::layerTransform): This code was factored out of
computeVisibleRect(), and optionally takes a custom transform.
(WebCore::GraphicsLayerCA::computeVisibleRect): Use the layerTransform() function.
(WebCore::GraphicsLayerCA::updateRootRelativeScale): Given a transform from the root,
find the max scale factor by multiplying the various animation endpoint matrices and picking
the one with the biggest impact on scale. Use this to set m_rootRelativeScaleFactor, and
set the flag to say that we need to update contentsScale.
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): After updating
animations, call updateRootRelativeScale() to update m_rootRelativeScaleFactor.
(WebCore::GraphicsLayerCA::updateAnimations): We have a side table of animation name to
TransformationMatrix, so figure out which entries can be removed from that side table,
and remove them.
(WebCore::GraphicsLayerCA::setAnimationOnLayer):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Store the matrices for
animation endpoints/keyframes in the m_animationTransforms side table. We don't store
them directly in LayerPropertyAnimation because we just want the final matrix for
a transform list, and using a side table makes ownership easier to manage.
(WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
goes through the matrices for the running animation endpoints/keyframes, and
multiplies each with the transform up to this layer to find the matrix with the
larger impact on scale.
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints): Returns a vector
of TransformationMatrix for the from and to states.
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes): Returns a vector
of TransformationMatrix for the keyframes.
(WebCore::GraphicsLayerCA::updateContentsScale): Include m_rootRelativeScaleFactor in the
scale factor computation.
(WebCore::GraphicsLayerCA::dumpAdditionalProperties): If we're dumping visible rects,
also dump the contentsScale. Convenient at these are useful to look at together, and I didn't
want to pollute Internals with yet more flags.
* platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): Formatting.

LayoutTests:

Reviewed by Dean Jackson.

New tests that dump contentsScale under various scaling scenarios:

* compositing/contents-scale/animating-expected.txt: Added.
* compositing/contents-scale/animating.html: Added.
* compositing/contents-scale/scaled-ancestor-expected.txt: Added.
* compositing/contents-scale/scaled-ancestor.html: Added.
* compositing/contents-scale/simple-scale-expected.txt: Added.
* compositing/contents-scale/simple-scale.html: Added.
* compositing/contents-scale/z-translate-expected.txt: Added.
* compositing/contents-scale/z-translate.html: Added.

These tests had Mac-specific results (which include visible rects and now
contents scale) in the cross-platform directory, so cleaned up the cross-platform
results and moved the Mac results to platform-mac.

* compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
* compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
* compositing/visible-rect/2d-transformed-expected.txt:
* compositing/visible-rect/3d-transform-style-expected.txt:
* compositing/visible-rect/3d-transformed-expected.txt:
* compositing/visible-rect/animated-expected.txt:
* compositing/visible-rect/animated-from-none-expected.txt:
* compositing/visible-rect/clipped-by-viewport-expected.txt:
* compositing/visible-rect/clipped-visible-rect-expected.txt:
* compositing/visible-rect/flipped-preserve-3d-expected.txt:
* compositing/visible-rect/iframe-and-layers-expected.txt:
* compositing/visible-rect/nested-transform-expected.txt:
* compositing/visible-rect/scrolled-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac/compositing/visible-rect/2d-transformed-expected.txt: Copied from LayoutTests/compositing/visible-rect/2d-transformed-expected.txt.
* platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: Copied from LayoutTests/compositing/visible-rect/3d-transform-style-expected.txt.
* platform/mac/compositing/visible-rect/3d-transformed-expected.txt: Copied from LayoutTests/compositing/visible-rect/3d-transformed-expected.txt.
* platform/mac/compositing/visible-rect/animated-expected.txt: Copied from LayoutTests/compositing/visible-rect/animated-expected.txt.
* platform/mac/compositing/visible-rect/animated-from-none-expected.txt: Copied from LayoutTests/compositing/visible-rect/animated-from-none-expected.txt.
* platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt: Copied from LayoutTests/compositing/visible-rect/clipped-by-viewport-expected.txt.
* platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt: Copied from LayoutTests/compositing/visible-rect/clipped-visible-rect-expected.txt.
* platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt: Copied from LayoutTests/compositing/visible-rect/flipped-preserve-3d-expected.txt.
* platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt: Copied from LayoutTests/compositing/visible-rect/iframe-and-layers-expected.txt.
* platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/mac/compositing/visible-rect/nested-transform-expected.txt: Copied from LayoutTests/compositing/visible-rect/nested-transform-expected.txt.
* platform/mac/compositing/visible-rect/scrolled-expected.txt: Copied from LayoutTests/compositing/visible-rect/scrolled-expected.txt.

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

8 years agoDon't GC while OSR compiling
fpizlo@apple.com [Tue, 17 Sep 2013 20:56:57 +0000 (20:56 +0000)]
Don't GC while OSR compiling
https://bugs.webkit.org/show_bug.cgi?id=121513

Reviewed by Mark Hahnenberg.

Fixes some rare crashes that I see in ConservativeRoots, while in a GC from OSR exit
compilation.

* dfg/DFGOSRExitCompiler.cpp:
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileFTLOSRExit):

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

8 years agoUnreviewed, rolling out r155977.
commit-queue@webkit.org [Tue, 17 Sep 2013 20:54:00 +0000 (20:54 +0000)]
Unreviewed, rolling out r155977.
http://trac.webkit.org/changeset/155977
https://bugs.webkit.org/show_bug.cgi?id=121515

Broke over a dozen tests on Mac WK2 (Requested by ap on
#webkit).

Source/WebCore:

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::flushCompositingState):
(WebCore::GraphicsLayerCA::computeVisibleRect):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateAnimations):
(WebCore::GraphicsLayerCA::setAnimationOnLayer):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
(WebCore::GraphicsLayerCA::updateContentsScale):
(WebCore::GraphicsLayerCA::dumpAdditionalProperties):
* platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):

LayoutTests:

* compositing/contents-scale/animating-expected.txt: Removed.
* compositing/contents-scale/animating.html: Removed.
* compositing/contents-scale/scaled-ancestor-expected.txt: Removed.
* compositing/contents-scale/scaled-ancestor.html: Removed.
* compositing/contents-scale/simple-scale-expected.txt: Removed.
* compositing/contents-scale/simple-scale.html: Removed.
* compositing/contents-scale/z-translate-expected.txt: Removed.
* compositing/contents-scale/z-translate.html: Removed.
* compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
* compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
* compositing/visible-rect/2d-transformed-expected.txt:
* compositing/visible-rect/3d-transform-style-expected.txt:
* compositing/visible-rect/3d-transformed-expected.txt:
* compositing/visible-rect/animated-expected.txt:
* compositing/visible-rect/animated-from-none-expected.txt:
* compositing/visible-rect/clipped-by-viewport-expected.txt:
* compositing/visible-rect/clipped-visible-rect-expected.txt:
* compositing/visible-rect/flipped-preserve-3d-expected.txt:
* compositing/visible-rect/iframe-and-layers-expected.txt:
* compositing/visible-rect/nested-transform-expected.txt:
* compositing/visible-rect/scrolled-expected.txt:
* platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt: Removed.
* platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt: Removed.
* platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac/compositing/visible-rect/2d-transformed-expected.txt: Removed.
* platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: Removed.
* platform/mac/compositing/visible-rect/3d-transformed-expected.txt: Removed.
* platform/mac/compositing/visible-rect/animated-expected.txt: Removed.
* platform/mac/compositing/visible-rect/animated-from-none-expected.txt: Removed.
* platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt: Removed.
* platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt: Removed.
* platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt: Removed.
* platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt: Removed.
* platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/mac/compositing/visible-rect/nested-transform-expected.txt: Removed.
* platform/mac/compositing/visible-rect/scrolled-expected.txt: Removed.

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

8 years agoMediaStream API: Changing the device enumeration to be async
eric.carlson@apple.com [Tue, 17 Sep 2013 20:36:26 +0000 (20:36 +0000)]
MediaStream API: Changing the device enumeration to be async
https://bugs.webkit.org/show_bug.cgi?id=120883

Reviewed by Darin Adler.

Source/WebCore:

Parts merged from https://chromium.googlesource.com/chromium/blink/+/40a96080a1531e50de4eb84571c7dc9fb321ece5
and https://chromium.googlesource.com/chromium/blink/+/ff783a23bb1add588971a8187048a305cf485121
by Tommy Widenflycht.

Test: fast/mediastream/MediaStreamTrack-getSources.html

* CMakeLists.txt: Added new files.
* DerivedSources.make: Ditto.
* GNUmakefile.list.am: Ditto.

* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::kind): ASCIILiteral -> NeverDestroyed<AtomicString>.
(WebCore::MediaStreamTrack::readyState): Ditto.
(WebCore::MediaStreamTrack::getSources): New.
* Modules/mediastream/MediaStreamTrack.h:
* Modules/mediastream/MediaStreamTrack.idl:

* Modules/mediastream/MediaStreamTrackSourcesCallback.h: Added.
* Modules/mediastream/MediaStreamTrackSourcesCallback.idl: Added.
* Modules/mediastream/MediaStreamTrackSourcesRequest.cpp: Added.
* Modules/mediastream/MediaStreamTrackSourcesRequest.h: Added.

* Modules/mediastream/SourceInfo.cpp: Added.
* Modules/mediastream/SourceInfo.h: Added.
* Modules/mediastream/SourceInfo.idl: Added.

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

* bindings/js/JSDOMBinding.h: Add toJS templates for Vector<T> and Vector<RefPtr<T>>.

* platform/mediastream/MediaStreamCenter.h: Add prototype for getMediaStreamTrackSources.

* platform/mediastream/MediaStreamTrackSourcesRequestClient.h: Added.

* platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp:
(WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Added.
* platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:

* platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
(WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Added
* platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:

* platform/mediastream/mac/MediaStreamCenterMac.cpp:
(WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Added.
* platform/mediastream/mac/MediaStreamCenterMac.h:

LayoutTests:

* fast/mediastream/MediaStreamTrack-getSources-expected.txt: Added.
* fast/mediastream/MediaStreamTrack-getSources.html: Added.

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

8 years agolUnreviewed, rolling out r155976.
bfulgham@apple.com [Tue, 17 Sep 2013 20:30:12 +0000 (20:30 +0000)]
lUnreviewed, rolling out r155976.
http://trac.webkit.org/changeset/155976
https://bugs.webkit.org/show_bug.cgi?id=121512

Broke a test, needs cleanup (Requested by ap_ on #webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2013-09-17

* platform/mac/accessibility/element-busy-changed-expected.txt: Removed.
* platform/mac/accessibility/element-busy-changed.html: Removed.

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

8 years agoUnreviewed, rolling out r155976.
commit-queue@webkit.org [Tue, 17 Sep 2013 20:10:34 +0000 (20:10 +0000)]
Unreviewed, rolling out r155976.
http://trac.webkit.org/changeset/155976
https://bugs.webkit.org/show_bug.cgi?id=121512

Broke a test, needs cleanup (Requested by ap_ on #webkit).

Source/WebCore:

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChanged):
* accessibility/AXObjectCache.h:
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):

LayoutTests:

* platform/mac/accessibility/element-busy-changed-expected.txt: Removed.
* platform/mac/accessibility/element-busy-changed.html: Removed.

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

8 years agoImprove srcset parser
commit-queue@webkit.org [Tue, 17 Sep 2013 20:06:49 +0000 (20:06 +0000)]
Improve srcset parser
https://bugs.webkit.org/show_bug.cgi?id=119423

Patch by Romain Perier <romain.perier@gmail.com> on 2013-09-17
Reviewed by Benjamin Poulain.

Source/WebCore:

Added new tests and covered by existing ones.

* html/parser/HTMLParserIdioms.cpp:
(WebCore::isHTMLSpaceOrComma): Add a new predicate function used by String::find()
to get the first space or comma character from the input string.
(WebCore::parseImagesWithScaleFromSrcSetAttribute): Add a new static function to parse
and extract images with scale from the srcset attribute. All valid candidates are
returned to the caller through a list. This parsing function also adds support
for data URI schemes as described by the specification.
(WebCore::bestFitSourceForImageAttributes): Remove intermediate arrays of string
when parsing. That is more efficient and avoids trashing the data cache
(varying between 20 and 65% faster depending of the amount of data)
The parser now walks along the attribute value and extracts the candidates directly.

LayoutTests:

* fast/hidpi/image-srcset-data-srcset-invalid-inputs.html: Ensures that a various invalid
  form of data uri schemes are supported by the srcset attribute.
* fast/hidpi/image-srcset-data-srcset-valid-inputs.html: Ensures that a various valid
  form of data uri schemes are supported by the srcset attribute.
* fast/hidpi/image-srcset-data-srcset.html: Use comma instead of %.
* fast/hidpi/image-srcset-fraction-1.5x.html: Added.
* fast/hidpi/image-srcset-invalid-inputs-except-one.html: Missing srcset-helper.js. Adding more invalid cases.
* fast/hidpi/image-srcset-invalid-inputs.html: Adding more invalid cases.
* fast/hidpi/image-srcset-nomodifier.html: Updated output as behaviour changed for this case.
* fast/hidpi/image-srcset-space-suffix-nomodifier.html: Ensures that a single candidate with no scale modifier
  is supported by the srcset attribute, even if a space is left at the end.
* fast/hidpi/image-srcset-space-prefix-nomodifier.html: Ensures that a single candidate with no scale modifier
  is supported by the srcset attribute, even if a space is left at the beginning.
* fast/hidpi/image-srcset-space-surrounded-nomodifier.html: Ensures that a single candidate with no scale modifier
  is supported by the srcset attribute, even if it is surrounded by spaces.
* fast/hidpi/image-srcset-data-escaped-srcset.html: Ensures that data uri schemes with escaped characters
  are supported by the srcset attribute.

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

8 years agoBuildfix for !ENABLE(CUSTOM_PROTOCOLS) platforms
ossy@webkit.org [Tue, 17 Sep 2013 20:00:05 +0000 (20:00 +0000)]
Buildfix for !ENABLE(CUSTOM_PROTOCOLS) platforms
https://bugs.webkit.org/show_bug.cgi?id=121417

Reviewed by Alexey Proskuryakov.

Original patch by Balazs Kelemen <kbalazs@webkit.org>.

* CMakeLists.txt: Add CustomProtocolManagerProxy.messages.in.
* DerivedSources.pri: Add CustomProtocolManagerProxy.messages.in.
* GNUmakefile.am: Add CustomProtocolManagerProxy.messages.in.
* GNUmakefile.list.am: Add CustomProtocolManagerProxyMessages.h and CustomProtocolManagerProxyMessageReceiver.cpp.
* NetworkProcess/NetworkProcess.cpp: Add the missing ENABLE(CUSTOM_PROTOCOLS) guard.
(WebKit::NetworkProcess::NetworkProcess):
* UIProcess/WebProcessProxy.cpp: Remove the unnecessary conditional include.

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

8 years ago[GTK] Test /webkit2/WebKitWebInspectorServer/test-open-debugging-session times out...
kov@webkit.org [Tue, 17 Sep 2013 19:27:30 +0000 (19:27 +0000)]
[GTK] Test /webkit2/WebKitWebInspectorServer/test-open-debugging-session times out after r155714
https://bugs.webkit.org/show_bug.cgi?id=121383

Reviewed by Carlos Garcia Campos.

* UIProcess/API/gtk/tests/TestInspectorServer.cpp:
(openRemoteDebuggingSession): use the page contents' to check the remote debugging of the page
has been successfuly opened, as the title is no longer the same after the switch to the new
frontend.

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

8 years agoUnreviewed build fix after 155963.
kov@webkit.org [Tue, 17 Sep 2013 19:16:01 +0000 (19:16 +0000)]
Unreviewed build fix after 155963.

* platform/gtk/RenderThemeGtk3.cpp:
(WebCore::getStyleContext): use nullptr instead of 0.

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

8 years ago[Windows] Disable a number of crashing tests to help the EWS system run more rapidly.
bfulgham@apple.com [Tue, 17 Sep 2013 19:06:26 +0000 (19:06 +0000)]
[Windows] Disable a number of crashing tests to help the EWS system run more rapidly.
https://bugs.webkit.org/show_bug.cgi?id=121509

* platform/win/TestExpectations:

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

8 years agoMake SVGTransform::valueAsString use StringBuilder
ap@apple.com [Tue, 17 Sep 2013 19:05:23 +0000 (19:05 +0000)]
Make SVGTransform::valueAsString use StringBuilder
https://bugs.webkit.org/show_bug.cgi?id=121498

Unreviewed typo fix, should address a regression on svg/dom/SVGViewSpec.html.

* svg/SVGTransform.cpp: (WebCore::SVGTransform::valueAsString): "e" is totally
not the same as "f".

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

8 years ago[Windows] Disable a number of failing tests to help the EWS system run more rapidly.
bfulgham@apple.com [Tue, 17 Sep 2013 18:57:15 +0000 (18:57 +0000)]
[Windows] Disable a number of failing tests to help the EWS system run more rapidly.

* platform/win/TestExpectations:

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

8 years ago[Windows] Unreviewed build fix after r155963.
bfulgham@apple.com [Tue, 17 Sep 2013 18:22:02 +0000 (18:22 +0000)]
[Windows] Unreviewed build fix after r155963.

* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::evaluateScriptInIsolatedWorld): Pass nullptr rather than 0.

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

8 years ago[Windows] Speculative build fix after r155963
bfulgham@apple.com [Tue, 17 Sep 2013 18:15:15 +0000 (18:15 +0000)]
[Windows] Speculative build fix after r155963

* WebKitCOMAPI.cpp:
(classFactory): Use nullptr rather than 0 for HashMap.

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

8 years agoHardware accelerated CSS transitions appear pixelated when scaled up using transform
simon.fraser@apple.com [Tue, 17 Sep 2013 18:12:52 +0000 (18:12 +0000)]
Hardware accelerated CSS transitions appear pixelated when scaled up using transform
https://bugs.webkit.org/show_bug.cgi?id=27684
<rdar://problem/6134606>

Source/WebCore:

Reviewed by Dean Jackson.

Take transforms and animations into account when computing the contentsScale
for a layer, so that scaled-up layers remain sharp most of the time.

In its recursiveCommitChanges() tree walk, GraphicsLayerCA now tracks
a root-relative transform, and extracts from that transform the X and Y
scales which it uses to scale the backing store.

If the layer has transform animations on it, we keep around
a transformation matrix for the animation endpoints (or keyframes),
pick up the state that has the larger impact on the root-relative scale,
and use that as the layer's transform, and the transform when recursing
over descendants.

Tests: compositing/contents-scale/animating.html
       compositing/contents-scale/scaled-ancestor.html
       compositing/contents-scale/simple-scale.html
       compositing/contents-scale/z-translate.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::maxScaleFromTransform): Decompose the transform if necesssary
to extract the X and Y scale components.
(WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_rootRelativeScaleFactor.
(WebCore::GraphicsLayerCA::flushCompositingState): Supply a TransformationMatrix
for the root of the recursion.
(WebCore::GraphicsLayerCA::layerTransform): This code was factored out of
computeVisibleRect(), and optionally takes a custom transform.
(WebCore::GraphicsLayerCA::computeVisibleRect): Use the layerTransform() function.
(WebCore::GraphicsLayerCA::updateRootRelativeScale): Given a transform from the root,
find the max scale factor by multiplying the various animation endpoint matrices and picking
the one with the biggest impact on scale. Use this to set m_rootRelativeScaleFactor, and
set the flag to say that we need to update contentsScale.
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): After updating
animations, call updateRootRelativeScale() to update m_rootRelativeScaleFactor.
(WebCore::GraphicsLayerCA::updateAnimations): We have a side table of animation name to
TransformationMatrix, so figure out which entries can be removed from that side table,
and remove them.
(WebCore::GraphicsLayerCA::setAnimationOnLayer):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Store the matrices for
animation endpoints/keyframes in the m_animationTransforms side table. We don't store
them directly in LayerPropertyAnimation because we just want the final matrix for
a transform list, and using a side table makes ownership easier to manage.
(WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
goes through the matrices for the running animation endpoints/keyframes, and
multiplies each with the transform up to this layer to find the matrix with the
larger impact on scale.
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints): Returns a vector
of TransformationMatrix for the from and to states.
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes): Returns a vector
of TransformationMatrix for the keyframes.
(WebCore::GraphicsLayerCA::updateContentsScale): Include m_rootRelativeScaleFactor in the
scale factor computation.
(WebCore::GraphicsLayerCA::dumpAdditionalProperties): If we're dumping visible rects,
also dump the contentsScale. Convenient at these are useful to look at together, and I didn't
want to pollute Internals with yet more flags.
* platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): Formatting.

LayoutTests:

Reviewed by Dean Jackson.

New tests that dump contentsScale under various scaling scenarios:

* compositing/contents-scale/animating-expected.txt: Added.
* compositing/contents-scale/animating.html: Added.
* compositing/contents-scale/scaled-ancestor-expected.txt: Added.
* compositing/contents-scale/scaled-ancestor.html: Added.
* compositing/contents-scale/simple-scale-expected.txt: Added.
* compositing/contents-scale/simple-scale.html: Added.
* compositing/contents-scale/z-translate-expected.txt: Added.
* compositing/contents-scale/z-translate.html: Added.

These tests had Mac-specific results (which include visible rects and now
contents scale) in the cross-platform directory, so cleaned up the cross-platform
results and moved the Mac results to platform-mac.

* compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
* compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
* compositing/visible-rect/2d-transformed-expected.txt:
* compositing/visible-rect/3d-transform-style-expected.txt:
* compositing/visible-rect/3d-transformed-expected.txt:
* compositing/visible-rect/animated-expected.txt:
* compositing/visible-rect/animated-from-none-expected.txt:
* compositing/visible-rect/clipped-by-viewport-expected.txt:
* compositing/visible-rect/clipped-visible-rect-expected.txt:
* compositing/visible-rect/flipped-preserve-3d-expected.txt:
* compositing/visible-rect/iframe-and-layers-expected.txt:
* compositing/visible-rect/nested-transform-expected.txt:
* compositing/visible-rect/scrolled-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac/compositing/visible-rect/2d-transformed-expected.txt: Copied from LayoutTests/compositing/visible-rect/2d-transformed-expected.txt.
* platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: Copied from LayoutTests/compositing/visible-rect/3d-transform-style-expected.txt.
* platform/mac/compositing/visible-rect/3d-transformed-expected.txt: Copied from LayoutTests/compositing/visible-rect/3d-transformed-expected.txt.
* platform/mac/compositing/visible-rect/animated-expected.txt: Copied from LayoutTests/compositing/visible-rect/animated-expected.txt.
* platform/mac/compositing/visible-rect/animated-from-none-expected.txt: Copied from LayoutTests/compositing/visible-rect/animated-from-none-expected.txt.
* platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt: Copied from LayoutTests/compositing/visible-rect/clipped-by-viewport-expected.txt.
* platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt: Copied from LayoutTests/compositing/visible-rect/clipped-visible-rect-expected.txt.
* platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt: Copied from LayoutTests/compositing/visible-rect/flipped-preserve-3d-expected.txt.
* platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt: Copied from LayoutTests/compositing/visible-rect/iframe-and-layers-expected.txt.
* platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/mac/compositing/visible-rect/nested-transform-expected.txt: Copied from LayoutTests/compositing/visible-rect/nested-transform-expected.txt.
* platform/mac/compositing/visible-rect/scrolled-expected.txt: Copied from LayoutTests/compositing/visible-rect/scrolled-expected.txt.

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

8 years agoAX: Expose ARIA Busy Notifications
commit-queue@webkit.org [Tue, 17 Sep 2013 18:10:47 +0000 (18:10 +0000)]
AX: Expose ARIA Busy Notifications
https://bugs.webkit.org/show_bug.cgi?id=121451

Patch by Samuel White <samuel_white@apple.com> on 2013-09-17
Reviewed by Darin Adler.

Source/WebCore:

Added AXElementBusyChanged notification that posts when aria-busy is toggled. This
enables screen readers to detect busy states without polling the focused element.

Test: platform/mac/accessibility/element-busy-changed.html

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChanged):
* accessibility/AXObjectCache.h:
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):

LayoutTests:

Added test to verify that elements post AXElementBusyChanged notifications when aria-busy is toggled.

* platform/mac/accessibility/element-busy-changed-expected.txt: Added.
* platform/mac/accessibility/element-busy-changed.html: Added.

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

8 years agoAdd isTextOrBR() and use it
antti@apple.com [Tue, 17 Sep 2013 18:10:02 +0000 (18:10 +0000)]
Add isTextOrBR() and use it
https://bugs.webkit.org/show_bug.cgi?id=121506

Reviewed by Darin Adler.

It is a popular test.

* dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):
* editing/Editor.cpp:
(WebCore::findFirstMarkable):
* editing/TextIterator.cpp:
(WebCore::ignoresContainerClip):
* rendering/InlineBox.cpp:
(WebCore::InlineBox::logicalHeight):
* rendering/InlineIterator.h:
(WebCore::isIteratorTarget):
* rendering/RenderBlock.cpp:
(WebCore::InlineMinMaxIterator::next):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::layoutInlineChildren):
* rendering/RenderCounter.cpp:
(WebCore::planCounter):
* rendering/RenderObject.h:
(WebCore::RenderObject::isTextOrBR):
* rendering/RenderTreeAsText.cpp:
(WebCore::write):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::ascentAndDescentForBox):
(WebCore::RootInlineBox::verticalPositionForBox):

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

8 years ago[CSS Regions] Layout Test for selection direction
rego@igalia.com [Tue, 17 Sep 2013 18:04:40 +0000 (18:04 +0000)]
[CSS Regions] Layout Test for selection direction
https://bugs.webkit.org/show_bug.cgi?id=121501

Reviewed by Darin Adler.

Selection follows DOM tree, so the highlighted text in this test case is
the opposite to what the user is actually selecting. This was not
working properly from r139197 to r155058, so adding a Layout Test to
prevent future breaks. It is a reftest comparing regions and absolute
positions behavior.

* fast/regions/selection-direction-expected.html: Added.
* fast/regions/selection-direction.html: Added.

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

8 years agoFix a typo.
andersca@apple.com [Tue, 17 Sep 2013 17:56:32 +0000 (17:56 +0000)]
Fix a typo.

* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):

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

8 years agoRenderBR should not be RenderText
antti@apple.com [Tue, 17 Sep 2013 17:40:45 +0000 (17:40 +0000)]
RenderBR should not be RenderText
https://bugs.webkit.org/show_bug.cgi?id=121221

Rubber-stamped by Andreas Kling.

Fix assertion in these tests:

fast/repaint/selection-rl.html
fast/writing-mode/horizontal-bt-replaced-selection.html
fast/writing-mode/vertical-rl-replaced-selection.html

* rendering/InlineBox.cpp:
(WebCore::InlineBox::nodeAtPoint):

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

8 years agoRemove unused function didSetSelectionTypesForPasteboard from EditorClient.
enrica@apple.com [Tue, 17 Sep 2013 17:20:03 +0000 (17:20 +0000)]
Remove unused function didSetSelectionTypesForPasteboard from EditorClient.
https://bugs.webkit.org/show_bug.cgi?id=121464

Reviewed by Darin Adler.

Source/WebCore:

This method was only implemented in WebEditorClient.mm for Mac where it was
calling a private delegate that is no longer in use.
This patch removes it for all the platforms.
I've also removed setTypes and writeAfterSettingTypes from the implementation
of the Pasteboard class for Mac.

* editing/mac/EditorMac.mm:
(WebCore::Editor::writeSelectionToPasteboard): Now calls write instead of
setTypes and writeAfterSettingTypes.
* loader/EmptyClients.h: Removed didSetSelectionTypesForPasteboard.
* page/EditorClient.h: Ditto.
* platform/Pasteboard.h: Removed setTypes and writeAfterSettingTypes.
* platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::writeSelection): Removed call to didSetSelectionTypesForPasteboard.
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::write): Added to replace setTypes and writeAfterSettingTypes.

Source/WebKit/efl:

* WebCoreSupport/EditorClientEfl.cpp:
* WebCoreSupport/EditorClientEfl.h:

Source/WebKit/gtk:

* WebCoreSupport/EditorClientGtk.cpp:
* WebCoreSupport/EditorClientGtk.h:

Source/WebKit/mac:

This method was only implemented in WebEditorClient.mm for Mac where it was
calling a private delegate that is no longer in use.

* DefaultDelegates/WebDefaultEditingDelegate.m:
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
* WebView/WebEditingDelegatePrivate.h:

Source/WebKit/qt:

* WebCoreSupport/EditorClientQt.cpp:
* WebCoreSupport/EditorClientQt.h:

Source/WebKit/win:

* WebCoreSupport/WebEditorClient.cpp:
* WebCoreSupport/WebEditorClient.h:

Source/WebKit/wince:

* WebCoreSupport/EditorClientWinCE.cpp:
* WebCoreSupport/EditorClientWinCE.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.h:

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

8 years agoFurther shrink table-populating code by making the tables read-only data and preventi...
darin@apple.com [Tue, 17 Sep 2013 17:17:50 +0000 (17:17 +0000)]
Further shrink table-populating code by making the tables read-only data and preventing inlining
https://bugs.webkit.org/show_bug.cgi?id=121468

Reviewed by Sam Weinig.

* bindings/scripts/StaticString.pm:
(GenerateStrings): Eliminated the xxxImpl globals. We definitely did not need
globals for these, much less read-write data. Instead, write the expression at
each site where we need them.
(GenerateStringAsserts): This is one such site (see above).
* css/CSSSelector.cpp:
(WebCore::populatePseudoTypeByNameMap): Mark this function NEVER_INLINE and
add static to make sure the table ends up in read-only data.
* dom/make_names.pl:
(printDefinitions): Write the xxxImpl expression (see above).
(printFactoryCppFile): Ditto. Also mark the populate function NEVER_INLINE and
add static to make sure the table ends up in read-only data.
(printWrapperFactoryCppFile): Ditto.
* html/HTMLElement.cpp:
(WebCore::populateEventNameForAttributeLocalNameMap): Mark this function
NEVER_INLINE and add static to makes sure the table ends up in read-only data.

* platform/text/UnicodeRange.cpp: Added a const to make this read-only data.

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

8 years agoShrink SVGElement::cssPropertyIdForSVGAttributeName and cssPropertyToTypeMap
darin@apple.com [Tue, 17 Sep 2013 17:13:53 +0000 (17:13 +0000)]
Shrink SVGElement::cssPropertyIdForSVGAttributeName and cssPropertyToTypeMap
https://bugs.webkit.org/show_bug.cgi?id=121499

Reviewed by Andreas Kling.

* svg/SVGElement.cpp:
(WebCore::populateAttributeNameToCSSPropertyIDMap): Added. Code that used to
be in SVGElement::cssPropertyIdForSVGAttributeName to build a map that maps
attribute names to CSS property IDs, but without the multiple unrolled calls
to HashMap functions.
(WebCore::populateAttributeNameToAnimatedPropertyTypeMap): Added. Code that
used to be in cssPropertyToTypeMap, but without the multiple unrolled calls
to HashMap functions.
(WebCore::attributeNameToAnimatedPropertyTypeMap): Renamed from
cssPropertyToTypeMap, a confusingly inaccurate and imprecise name, and
reimplemented using the populate function.
(WebCore::SVGElement::animatedPropertyTypeForAttribute): Updated to call
attributeNameToAnimatedPropertyTypeMap, and also removed the double hashing
that was done by calling contains followed by get.
(WebCore::SVGElement::cssPropertyIdForSVGAttributeName): Rewrote to use
populateAttributeNameToCSSPropertyIDMap.
(WebCore::SVGElement::isAnimatableCSSProperty): Updated to call the new
attributeNameToAnimatedPropertyTypeMap.

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

8 years agoMake SVGTransform::valueAsString use StringBuilder
darin@apple.com [Tue, 17 Sep 2013 17:09:11 +0000 (17:09 +0000)]
Make SVGTransform::valueAsString use StringBuilder
https://bugs.webkit.org/show_bug.cgi?id=121498

Reviewed by Andreas Kling.

Source/WebCore:

* svg/SVGTransform.cpp:
(WebCore::SVGTransform::valueAsString): Use StringBuilder constently to
avoid creating temporary String objects that cause additional, slow
memory allocation.

Source/WTF:

* wtf/text/StringBuilder.cpp: Added appendNumber functions corresponding to all remaining
String::number functions. If we find we don't need all of these we can delete them later,
but I don't want to give clients a reason to prefer less-efficient API to StringBuilder.
* wtf/text/StringBuilder.h: Ditto.

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

8 years agoGet rid of a couple unneeded NeverDestroyed::get() calls
darin@apple.com [Tue, 17 Sep 2013 17:07:16 +0000 (17:07 +0000)]
Get rid of a couple unneeded NeverDestroyed::get() calls
https://bugs.webkit.org/show_bug.cgi?id=121500

Reviewed by Andreas Kling.

* css/CSSSelector.cpp:
(WebCore::CSSSelector::parsePseudoType): No need to call get() here.
* dom/make_names.pl:
(printFactoryCppFile): Ditto.
(printWrapperFactoryCppFile): Ditto.

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

8 years agoClean up the Inspector's WebSocket code and prevent it from dropping messages.
timothy@apple.com [Tue, 17 Sep 2013 17:04:36 +0000 (17:04 +0000)]
Clean up the Inspector's WebSocket code and prevent it from dropping messages.

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

Reviewed by Joseph Pecoraro.

* UserInterface/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.initializeWebSocket): Added. Create the socket
and call _sendPendingMessagesToBackendIfNeeded.
(.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend): Store messages as pending
if the socket isn't ready yet. Call _sendPendingMessagesToBackendIfNeeded.
(.WebInspector.InspectorFrontendHostStub.prototype._sendPendingMessagesToBackendIfNeeded): Added.
* UserInterface/Main.js:
(WebInspector._initializeWebSocketIfNeeded): Move socket creation to initializeWebSocket.

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

8 years agoBad ASSERT() in RasterShapeIntervals::firstIncludedIntervalY()
hmuller@adobe.com [Tue, 17 Sep 2013 16:46:27 +0000 (16:46 +0000)]
Bad ASSERT() in RasterShapeIntervals::firstIncludedIntervalY()
https://bugs.webkit.org/show_bug.cgi?id=121455

Reviewed by Darin Adler.

Source/WebCore:

Corrected a bad ASSERT() introduced in https://bugs.webkit.org/show_bug.cgi?id=120211.

Test: fast/shapes/shape-inside/shape-inside-first-fit-crash.html

* rendering/shapes/RasterShape.cpp:
(WebCore::RasterShapeIntervals::firstIncludedIntervalY):

LayoutTests:

Simple regression test, it crashes in the bad ASSERT().

* fast/shapes/shape-inside/shape-inside-first-fit-crash-expected.txt: Added.
* fast/shapes/shape-inside/shape-inside-first-fit-crash.html: Added.

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

8 years agoMove the line widow functions out of RenderBlock and into RenderBlockFlow.
hyatt@apple.com [Tue, 17 Sep 2013 16:41:42 +0000 (16:41 +0000)]
Move the line widow functions out of RenderBlock and into RenderBlockFlow.
https://bugs.webkit.org/show_bug.cgi?id=121456

Reviewed by Dean Jackson.

* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:
(WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::calculateMinimumPageHeight):
(WebCore::RenderBlockFlow::adjustLinePositionForPagination):
(WebCore::RenderBlockFlow::setBreakAtLineToAvoidWidow):
(WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidow):
(WebCore::RenderBlockFlow::relayoutToAvoidWidows):
* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
(WebCore::RenderBlockFlow::shouldBreakAtLineToAvoidWidow):
(WebCore::RenderBlockFlow::lineBreakToAvoidWidow):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::linkToEndLineIfNeeded):
(WebCore::RenderBlock::determineStartPosition):
(WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
* rendering/RenderObject.h:

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

8 years agoHashMap should work with move-only keys
andersca@apple.com [Tue, 17 Sep 2013 16:26:58 +0000 (16:26 +0000)]
HashMap should work with move-only keys
https://bugs.webkit.org/show_bug.cgi?id=121310

Reviewed by Darin Adler.

Source/WebCore:

Update the call sites now that HashMap::take doesn't return a PassOwnPtr.

* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::takeRenderBoxRegionInfo):
* rendering/RenderRegion.h:
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::registerResource):
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::removePendingResource):
(WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
* svg/SVGDocumentExtensions.h:

Source/WTF:

Add extra overloads for add and set where the key is an rvalue reference, but not a
template parameter rvalue reference. This way we'll coerce the key parameter to have the expected
type instead of the passed in type, causing map.add(StringImpl::create("Hello"), 123) work when the
type of map is HashMap<String, unsigned>.

Also, sprinkle && and std::forward where appropriate.

* wtf/HashMap.h:
* wtf/HashTable.h:

Tools:

* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
Add test.

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

8 years agoAdd RenderObject bit for isBR().
antti@apple.com [Tue, 17 Sep 2013 16:00:04 +0000 (16:00 +0000)]
Add RenderObject bit for isBR().
https://bugs.webkit.org/show_bug.cgi?id=121494

Reviewed by Andreas Kling.

It is no longer piggybacking on isText() flag and is now hot in inline layout.

* rendering/RenderBR.cpp:
(WebCore::RenderBR::RenderBR):
* rendering/RenderBR.h:
* rendering/RenderObject.h:
(WebCore::RenderObject::isBR):
(WebCore::RenderObject::setIsBR):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):

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

8 years agoExport some missing symbols for Internals after RenderArena& change.
akling@apple.com [Tue, 17 Sep 2013 15:54:07 +0000 (15:54 +0000)]
Export some missing symbols for Internals after RenderArena& change.

* WebCore.exp.in:

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

8 years ago[Qt] Unreviewed gardening. Skip and rebase tests.
kadam@inf.u-szeged.hu [Tue, 17 Sep 2013 15:38:53 +0000 (15:38 +0000)]
[Qt] Unreviewed gardening. Skip and rebase tests.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-09-17

* platform/qt-wk2/TestExpectations:
* platform/qt-wk2/compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt: Added r155546.
* platform/qt-wk2/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt: Added r155607.
* platform/qt-wk2/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt: Added r155607.
* platform/qt-wk2/fast/repaint/negative-text-indent-with-overflow-hidden-expected.txt: Added r155546.
* platform/qt-wk2/fast/replaced/border-radius-clip-expected.txt: Removed.
* platform/qt/TestExpectations:

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

8 years agoSet MessageEvent.source to the newly created port for shared workers' connect events
ch.dumez@sisa.samsung.com [Tue, 17 Sep 2013 15:25:34 +0000 (15:25 +0000)]
Set MessageEvent.source to the newly created port for shared workers' connect events
https://bugs.webkit.org/show_bug.cgi?id=121390

Reviewed by Darin Adler.

Source/WebCore:

Set MessageEvent.source to the newly created port for shared workers' connect events
instead of previously null, as per the latest specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#dom-messageevent-source
http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#dom-sharedworker

This behavior is consisent with Blink.

Test: fast/workers/shared-worker-messageevent-source.html

* dom/EventTarget.cpp:
(WebCore::EventTarget::isMessagePort):
* dom/EventTarget.h:
* dom/MessageEvent.cpp:
(WebCore::isValidSource):
(WebCore::MessageEvent::MessageEvent):
* dom/MessageEvent.h:
Use null String instead of an empty String as default value for origin and lastEventId.
This is more efficient and has no impact on the behavior on the JavaScript since a
null String is exposed as an empty one on JS side.
This change is covered by fast/events/constructors/message-event-constructor.html
* dom/MessageEvent.idl:
* dom/MessagePort.h:
* page/DOMWindow.cpp:
(WebCore::PostMessageTimer::event):
* workers/SharedWorkerGlobalScope.cpp:
(WebCore::createConnectEvent):

LayoutTests:

Add layout test to check that MessageEvent.source is set to the newly created port
for shared workers' connect events.

* fast/events/constructors/message-event-constructor-expected.txt:
* fast/events/constructors/message-event-constructor.html:
* fast/workers/resources/messageevent-source.js: Added.
(onconnect):
* fast/workers/shared-worker-messageevent-source-expected.txt: Added.
* fast/workers/shared-worker-messageevent-source.html: Added.

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

8 years agoFix Windows CE build on ARM.
commit-queue@webkit.org [Tue, 17 Sep 2013 15:18:01 +0000 (15:18 +0000)]
Fix Windows CE build on ARM.
https://bugs.webkit.org/show_bug.cgi?id=121490

Patch by Sergio Martins <sergio.martins@kdab.com> on 2013-09-17
Reviewed by Darin Adler.

* wtf/dtoa/utils.h:

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

8 years agoRenderBR should not be RenderText
antti@apple.com [Tue, 17 Sep 2013 15:13:37 +0000 (15:13 +0000)]
RenderBR should not be RenderText
https://bugs.webkit.org/show_bug.cgi?id=121221

Reviewed by Darin Adler.

Source/WebCore:

Stop inheriting RenderBR from RenderText and make it be a RenderBoxModelObject instead. RenderBR was one
of the few cases where Element renderer was a RenderText. This will enable future cleanups.

RenderBR used little of RenderText mechanisms and was already heavily specialized everywhere. Layout code
didn't care about its text content at all. The new RenderText is also significatly more lightweight
than the old. As a line box it uses plain InlineBox instead of InlineTextBox.

The patch tries to avoid changing test results though there are a few changed render tree dumps without
visual effect. There are also two rendering progressions.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getUpperLeftCorner):
* dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):
* dom/Position.cpp:
(WebCore::hasInlineBoxWrapper):
(WebCore::nextRenderedEditable):
(WebCore::previousRenderedEditable):
(WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
(WebCore::Position::getInlineBoxAndOffset):
* dom/Range.cpp:
(WebCore::Range::textRects):
(WebCore::Range::textQuads):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
* editing/Editor.cpp:
(WebCore::findFirstMarkable):
* editing/TextIterator.cpp:
(WebCore::ignoresContainerClip):
* editing/VisibleUnits.cpp:
(WebCore::CachedLogicallyOrderedLeafBoxes::previousTextOrLineBreakBox):
(WebCore::CachedLogicallyOrderedLeafBoxes::nextTextOrLineBreakBox):
(WebCore::logicallyPreviousBox):
(WebCore::logicallyNextBox):
(WebCore::wordBreakIteratorForMinOffsetBoundary):
(WebCore::wordBreakIteratorForMaxOffsetBoundary):
* rendering/InlineBox.cpp:
(WebCore::InlineBox::logicalHeight):
(WebCore::InlineBox::baselinePosition):
(WebCore::InlineBox::lineHeight):
(WebCore::InlineBox::deleteLine):
(WebCore::InlineBox::extractLine):
(WebCore::InlineBox::attachLine):
(WebCore::InlineBox::paint):
* rendering/InlineBox.h:
(WebCore::InlineBox::isLineBreak):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::computeOverflow):
* rendering/InlineIterator.h:
(WebCore::isIteratorTarget):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::lineHeight):
(WebCore::InlineTextBox::isLineBreak):
* rendering/RenderBR.cpp:
(WebCore::RenderBR::RenderBR):
(WebCore::RenderBR::~RenderBR):
(WebCore::RenderBR::createAnonymous):
(WebCore::RenderBR::lineHeight):
(WebCore::RenderBR::baselinePosition):
(WebCore::RenderBR::createInlineBox):
(WebCore::RenderBR::setInlineBoxWrapper):
(WebCore::RenderBR::replaceInlineBoxWrapper):
(WebCore::RenderBR::deleteInlineBoxWrapper):
(WebCore::RenderBR::dirtyLineBoxes):
(WebCore::RenderBR::caretMinOffset):
(WebCore::RenderBR::caretMaxOffset):
(WebCore::RenderBR::canBeSelectionLeaf):
(WebCore::RenderBR::setSelectionState):
(WebCore::RenderBR::localCaretRect):
(WebCore::RenderBR::linesBoundingBox):
(WebCore::RenderBR::absoluteRects):
(WebCore::RenderBR::absoluteQuads):
(WebCore::RenderBR::updateFromStyle):
(WebCore::RenderBR::borderBoundingBox):
* rendering/RenderBR.h:
(WebCore::toRenderBR):
* rendering/RenderBlock.cpp:
(WebCore::InlineMinMaxIterator::next):
(WebCore::RenderBlock::updateFirstLetter):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::createInlineBoxForRenderer):
(WebCore::dirtyLineBoxesForRenderer):
(WebCore::reachedEndOfTextRenderer):
(WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::requiresLineBox):
(WebCore::shouldSkipWhitespaceAfterStartObject):
(WebCore::canBreakAtThisPosition):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::generateCulledLineBoxRects):
(WebCore::RenderInline::culledInlineFirstLineBox):
(WebCore::RenderInline::culledInlineLastLineBox):
(WebCore::RenderInline::dirtyLineBoxes):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::RenderMenuList):
(WebCore::RenderMenuList::styleDidChange):
(WebCore::RenderMenuList::setText):
(WebCore::RenderMenuList::text):
* rendering/RenderMenuList.h:
* rendering/RenderObject.h:
(WebCore::RenderObject::isBeforeContent):
(WebCore::RenderObject::isAfterContent):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
* rendering/RenderText.cpp:
(WebCore::RenderText::removeAndDestroyTextBoxes):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::setTextInternal):
* rendering/RenderTreeAsText.cpp:
(WebCore::RenderTreeAsText::writeRenderObject):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::ascentAndDescentForBox):
(WebCore::RootInlineBox::verticalPositionForBox):

LayoutTests:

* editing/selection/move-by-word-visually-mac-expected.txt:

    This is a progression. A previously failing subtest passes.

* platform/mac/css3/selectors3/html/css3-modsel-179a-expected.txt:
* platform/mac/css3/selectors3/xhtml/css3-modsel-179a-expected.txt:
* platform/mac/css3/selectors3/xml/css3-modsel-179a-expected.txt:

    Changes in render tree dump that don't affect rendering.

* platform/mac/fast/css/pseudo-first-line-border-width-expected.txt:

    This is a progression. The new rendering matches Firefox.

* platform/mac/fast/css/word-space-extra-expected.txt:
* platform/mac/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:

    Changes in render tree dump that don't affect rendering.

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

8 years agoBuildfix for !(ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)) platforms
ossy@webkit.org [Tue, 17 Sep 2013 15:10:01 +0000 (15:10 +0000)]
Buildfix for !(ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)) platforms
https://bugs.webkit.org/show_bug.cgi?id=121491

Reviewed by Darin Adler.

* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):

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

8 years agoDodge more work during render tree teardown.
akling@apple.com [Tue, 17 Sep 2013 14:57:55 +0000 (14:57 +0000)]
Dodge more work during render tree teardown.
<https://webkit.org/b/121487>

Reviewed by Antti Koivisto.

Add a Document::hasLivingRenderTree() method that returns true if
there's a render tree attached to the document and it's not in the
process of being torn down.

Deploy this check in a number of places that were only checking
for the presence of a RenderView.

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

8 years agoMediaStream API: Adding an async RTCPeerConnection::addIceCandidate
eric.carlson@apple.com [Tue, 17 Sep 2013 14:52:37 +0000 (14:52 +0000)]
MediaStream API: Adding an async RTCPeerConnection::addIceCandidate
https://bugs.webkit.org/show_bug.cgi?id=121403

Source/WebCore:

Merged from https://chromium.googlesource.com/chromium/blink/+/5bd81fda88d48dd2780832246e7d1ab973ee7a1d

Reviewed by Darin Adler.

No new tests, updated RTCPeerConnection-ice.html.

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::addIceCandidate): Add success and error callbacks.
* Modules/mediastream/RTCPeerConnection.h:
* Modules/mediastream/RTCPeerConnection.idl:

* platform/mediastream/RTCPeerConnectionHandler.h: Changed addIceCandidate signature.

* platform/mediastream/RTCVoidRequest.h: Removed ExtraData, it is unnecessary.

LayoutTests:

Reviewed by Darin Adler.

* fast/mediastream/RTCPeerConnection-ice-expected.txt:
* fast/mediastream/RTCPeerConnection-ice.html:

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

8 years ago[GTK] Unreviewed make distcheck fix.
berto@igalia.com [Tue, 17 Sep 2013 13:44:54 +0000 (13:44 +0000)]
[GTK] Unreviewed make distcheck fix.

* GNUmakefile.am: include WebProcess/Network/*.in in the tarball,
it's needed for generating WebResourceLoaderMessage*.{cpp,h}.

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

8 years ago[GTK] Do not include Returns tag in api doc for methods returning void
carlosgc@webkit.org [Tue, 17 Sep 2013 13:38:10 +0000 (13:38 +0000)]
[GTK] Do not include Returns tag in api doc for methods returning void
https://bugs.webkit.org/show_bug.cgi?id=121488

Reviewed by Philippe Normand.

* bindings/gobject/WebKitDOMCustom.h:
* bindings/scripts/CodeGeneratorGObject.pm:
(GenerateFunction): Only add Returns tag for methods not returning
void.
* bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
* bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
* bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:

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

8 years agoCorrect range used for Emoji checks.
michael.bruning@digia.com [Tue, 17 Sep 2013 13:24:28 +0000 (13:24 +0000)]
Correct range used for Emoji checks.
https://bugs.webkit.org/show_bug.cgi?id=121486

Reviewed by Allan Sandfeld Jensen.

Found and reported by David Binderman via Qt bug tracker.

The check if a character was in the Emoji range always evaluated to
false due to the upper range limit being lower than the lower limit.

Changed the upper limit to the highest assigned character from the
"Transport and Map Symbols" (0x1F6C5) as that seems to have been the
intended upper range limit of this check.

* platform/graphics/Font.cpp:
(WebCore::Font::isCJKIdeographOrSymbol):

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

8 years agoREGRESSION(r155910): WebKit nightly builds don't load any page
mihnea@adobe.com [Tue, 17 Sep 2013 12:40:37 +0000 (12:40 +0000)]
REGRESSION(r155910): WebKit nightly builds don't load any page
https://bugs.webkit.org/show_bug.cgi?id=121482

Reviewed by Andreas Kling.

Replaced C++ style comments with C style comments.

* wtf/Platform.h:

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

8 years agoMove text caret rect computation to root inline box
antti@apple.com [Tue, 17 Sep 2013 12:33:29 +0000 (12:33 +0000)]
Move text caret rect computation to root inline box
https://bugs.webkit.org/show_bug.cgi?id=121479

Reviewed by Andreas Kling.

For future code sharing.

* rendering/RenderText.cpp:
(WebCore::RenderText::localCaretRect):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::computeCaretRect):
* rendering/RootInlineBox.h:

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

8 years ago[GTK] Don't make the GObject DOM bindings API break test fatal
berto@igalia.com [Tue, 17 Sep 2013 12:17:01 +0000 (12:17 +0000)]
[GTK] Don't make the GObject DOM bindings API break test fatal
https://bugs.webkit.org/show_bug.cgi?id=121484

Reviewed by Carlos Garcia Campos.

The API varies depending on the compilation options, so this can
easily produce false positives.

Until we figure out a way to handle this situation we shouldn't
make this test fatal.

* bindings/scripts/gobject-run-api-break-test:
(check_api):

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

8 years ago[CSSRegions] Flowed fixed element without its transformed parent positioned relative...
mihnea@adobe.com [Tue, 17 Sep 2013 12:05:51 +0000 (12:05 +0000)]
[CSSRegions] Flowed fixed element without its transformed parent positioned relative to viewport
https://bugs.webkit.org/show_bug.cgi?id=121478

Reviewed by Antti Koivisto.

A fixed positioned element collected into a named flow without its transformed parent should be positioned relative to the viewport instead of the transformed parent. Add a test for this behavior.

* fast/regions/flow-fixed-element-transformed-parent-expected.txt: Added.
* fast/regions/flow-fixed-element-transformed-parent.html: Added.

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

8 years ago[CSSRegions] Replace generatingNode() with generatingElement() for RenderRegion
mihnea@adobe.com [Tue, 17 Sep 2013 12:02:09 +0000 (12:02 +0000)]
[CSSRegions] Replace generatingNode() with generatingElement() for RenderRegion
https://bugs.webkit.org/show_bug.cgi?id=121469

Reviewed by Antti Koivisto.

The fix for https://bugs.webkit.org/show_bug.cgi?id=120397 replaced node() with generatingElement() for regions, but i forgot about replacing generatingNode() with generatingElement() in RenderNamedFlowThread::compareRenderRegions. This is needed in preparation for regions as anonymous blocks refactoring in https://bugs.webkit.org/show_bug.cgi?id=119135.

No new functionality introduced, therefore no new tests.

* rendering/RenderNamedFlowThread.cpp:
(WebCore::compareRenderRegions):

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

8 years agoBrowserMarshal.h build fail
berto@igalia.com [Tue, 17 Sep 2013 11:58:02 +0000 (11:58 +0000)]
BrowserMarshal.h build fail
https://bugs.webkit.org/show_bug.cgi?id=102938

Patch by YuTeh Shen <shenyute@hotmail.com> on 2013-09-17
Reviewed by Carlos Garcia Campos.

Fix variable name.

* MiniBrowser/gtk/GNUmakefile.am:

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

8 years agoCTTE: Pass RenderArena around by reference.
akling@apple.com [Tue, 17 Sep 2013 11:05:01 +0000 (11:05 +0000)]
CTTE: Pass RenderArena around by reference.
<https://webkit.org/b/121470>

Reviewed by Antti Koivisto.

Pass the RenderArena around by reference in all render tree code.
This code will never be running without an arena.

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

8 years ago[GTK] GObject DOM symbols file is not generated for video related classes
carlosgc@webkit.org [Tue, 17 Sep 2013 10:24:35 +0000 (10:24 +0000)]
[GTK] GObject DOM symbols file is not generated for video related classes
https://bugs.webkit.org/show_bug.cgi?id=121476

Reviewed by Philippe Normand.

The problem is that we are using a different path for video
related header files in the Makefile, it's the same path in
practice, because we are just prepending ./ to the path, but the
rules that parse those paths don't expect the ./ at the beginning.

* bindings/gobject/GNUmakefile.am: Use the same path for video
related header files as the other paths in
webkitgtk_gdom_built_h_api.
* bindings/gobject/webkitdom.symbols: Updated to include the
symbols of the video related clases.

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

8 years ago[GTK][EFL] Add ResourceError::internalError() after r138387
ossy@webkit.org [Tue, 17 Sep 2013 09:47:41 +0000 (09:47 +0000)]
[GTK][EFL] Add ResourceError::internalError() after r138387
https://bugs.webkit.org/show_bug.cgi?id=121433

Reviewed by Christophe Dumez.

Original patch by Balazs Kelemen <kbalazs@webkit.org>
and Kwang Yul Seo <skyul@company100.net>

* WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
(WebKit::internalError):
* WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
(WebKit::internalError):

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

8 years agoUnreviewed make distcheck fix.
berto@igalia.com [Tue, 17 Sep 2013 09:44:12 +0000 (09:44 +0000)]
Unreviewed make distcheck fix.

* GNUmakefile.list.am:

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

8 years ago[Qt] Unreviewed gardening. Skip failing tests.
kadam@inf.u-szeged.hu [Tue, 17 Sep 2013 09:38:06 +0000 (09:38 +0000)]
[Qt] Unreviewed gardening. Skip failing tests.

* platform/qt-wk1/TestExpectations:

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

8 years agoSome build juice for Windows.
akling@apple.com [Tue, 17 Sep 2013 09:32:47 +0000 (09:32 +0000)]
Some build juice for Windows.

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

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

8 years agoRemove ContextFeatures.
akling@apple.com [Tue, 17 Sep 2013 09:27:21 +0000 (09:27 +0000)]
Remove ContextFeatures.
<https://webkit.org/b/121473>

Reviewed by Antti Koivisto.

This was only used by the chromium port, nobody implements ContextFeaturesClient.

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

8 years agoUn-dork the build. :|
akling@apple.com [Tue, 17 Sep 2013 08:53:13 +0000 (08:53 +0000)]
Un-dork the build. :|

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

8 years agoUnreviewed, fix clang warning when building without ENABLE(STYLE_SCOPED).
akling@apple.com [Tue, 17 Sep 2013 08:44:44 +0000 (08:44 +0000)]
Unreviewed, fix clang warning when building without ENABLE(STYLE_SCOPED).

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

8 years agoFix Qt WK2 build after r155888
ossy@webkit.org [Tue, 17 Sep 2013 08:39:05 +0000 (08:39 +0000)]
Fix Qt WK2 build after r155888
https://bugs.webkit.org/show_bug.cgi?id=121471

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-09-17
Reviewed by Csaba Osztrogon√°c.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::createDrawingAreaProxy):
* UIProcess/API/qt/qquickwebview_p_p.h:
* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebViewPrivate::createDrawingAreaProxy):
* UIProcess/API/qt/raw/qrawwebview_p_p.h:
* UIProcess/qt/QtPageClient.cpp:
(WebKit::QtPageClient::createDrawingAreaProxy):
* UIProcess/qt/QtPageClient.h:

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

8 years ago[GTK][EFL] Add NetworkProcess support for ProcessLauncher
ossy@webkit.org [Tue, 17 Sep 2013 08:22:14 +0000 (08:22 +0000)]
[GTK][EFL] Add NetworkProcess support for ProcessLauncher
https://bugs.webkit.org/show_bug.cgi?id=121434

Reviewed by Sam Weinig.

Original patch by Balazs Kelemen <kbalazs@webkit.org>
and Kwang Yul Seo <skyul@company100.net>

* Shared/ProcessExecutablePath.h:
* Shared/efl/ProcessExecutablePathEfl.cpp:
(WebKit::executablePathOfNetworkProcess):
* Shared/gtk/ProcessExecutablePathGtk.cpp:
(WebKit::executablePathOfNetworkProcess):
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):

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

8 years agoBuildfix for !USE(PROTECTION_SPACE_AUTH_CALLBACK) platforms
ossy@webkit.org [Tue, 17 Sep 2013 08:20:21 +0000 (08:20 +0000)]
Buildfix for !USE(PROTECTION_SPACE_AUTH_CALLBACK) platforms
https://bugs.webkit.org/show_bug.cgi?id=121431

Reviewed by Alexey Proskuryakov.

Mising guards added.

Original patch by Balazs Kelemen <kbalazs@webkit.org>
and Kwang Yul Seo <skyul@company100.net>

* NetworkProcess/NetworkResourceLoader.messages.in:
* WebProcess/Network/WebResourceLoader.cpp:
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Network/WebResourceLoader.messages.in:

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

8 years agoWebResourceLoader.messages.in should be ENABLE(NETWORK_PROCESS) guarded
ossy@webkit.org [Tue, 17 Sep 2013 08:18:53 +0000 (08:18 +0000)]
WebResourceLoader.messages.in should be ENABLE(NETWORK_PROCESS) guarded
https://bugs.webkit.org/show_bug.cgi?id=121424

Reviewed by Alexey Proskuryakov.

Original patch by Balazs Kelemen <kbalazs@webkit.org>.

* CMakeLists.txt:
* DerivedSources.pri:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebProcess/Network/WebResourceLoader.messages.in: ENABLE(NETWORK_PROCESS) guard added.

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

8 years agoMove <style scoped> code behind ENABLE(STYLE_SCOPED)
akling@apple.com [Tue, 17 Sep 2013 08:13:32 +0000 (08:13 +0000)]
Move <style scoped> code behind ENABLE(STYLE_SCOPED)
<https://webkit.org/b/121018>

Reviewed by Darin Adler.

Move all the code for <style scoped> behind ENABLE(STYLE_SCOPED) guards.
It's not nice to clutter common codepaths with code that always executes
even though the feature is disabled at compile-time.

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

8 years agoUnreviewed, fixing the GTK WK2 debug build after r155911.
rego@igalia.com [Tue, 17 Sep 2013 07:01:37 +0000 (07:01 +0000)]
Unreviewed, fixing the GTK WK2 debug build after r155911.

* UIProcess/API/gtk/WebKitFaviconDatabase.cpp: Add missing using
namespace WebCore.

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

8 years ago[Windows] Clean up WinLauncher by using smart pointers
bfulgham@apple.com [Tue, 17 Sep 2013 04:23:13 +0000 (04:23 +0000)]
[Windows] Clean up WinLauncher by using smart pointers
https://bugs.webkit.org/show_bug.cgi?id=121467

Reviewed by Anders Carlsson.

* WinLauncher/PrintWebUIDelegate.cpp:
(PrintWebUIDelegate::webViewPrintingMarginRect): Switch to smart pointers.
* WinLauncher/WinLauncher.cpp:
(WinLauncherWebHost::updateAddressBar): Use _bstr_t and smart pointers.
(WinLauncherWebHost::didFailProvisionalLoadWithError): Ditto.
(showLastVisitedSites): Smart pointer updates.
(WinLauncherWebHost::didFinishLoadForFrame): Ditto.
(setToDefaultPreferences): Ditto.
(dllLauncherEntryPoint): Ditto.
(PrintView): Ditto.
(LaunchInspector): Ditto.
(NavigateToHistory): Ditto.
(MyEditProc): Ditto.
(loadURL): Ditto.

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

8 years agoCTTE: InputType should store its HTMLInputElement back pointer as a reference
weinig@apple.com [Tue, 17 Sep 2013 04:22:07 +0000 (04:22 +0000)]
CTTE: InputType should store its HTMLInputElement back pointer as a reference
https://bugs.webkit.org/show_bug.cgi?id=121466

Reviewed by Anders Carlsson.

- Converts InputType::create() and InputType::createText() to take a HTMLInputElement&
  (as well as all the subclasses).
- Change InputType::element() to return an HTMLInputElement& and update all the callers.

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

8 years agoFix EFL build after r155888
commit-queue@webkit.org [Tue, 17 Sep 2013 04:15:27 +0000 (04:15 +0000)]
Fix EFL build after r155888
https://bugs.webkit.org/show_bug.cgi?id=121465

Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-09-16
Reviewed by Gyuyoung Kim.

Update WebView to follow the changes in PageClient in r155888.

* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::createDrawingAreaProxy): Use createOwned (addded in
r155407) to return the DrawingAreaProxy from DrawingAreaProxyImpl.
* UIProcess/CoordinatedGraphics/WebView.h: Update createDrawingAreaProxy()
signature to match PageClient.h.

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

8 years agoUSE(WEB_THREAD): More explicit WebThread initialization
commit-queue@webkit.org [Tue, 17 Sep 2013 01:49:50 +0000 (01:49 +0000)]
USE(WEB_THREAD): More explicit WebThread initialization
https://bugs.webkit.org/show_bug.cgi?id=121454

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-09-16
Reviewed by Benjamin Poulain.

Be more explicit when initializing WebThread only data.

* wtf/MainThread.h:
* wtf/MainThread.cpp:
(WTF::initializeWebThreadOnce):
(WTF::initializeWebThread):
Ensure one time initialization.

* wtf/mac/MainThreadMac.mm:
(WTF::initializeMainThreadPlatform):
(WTF::initializeWebThreadPlatform):
Move WebThread value initialization to its own function.

(WTF::isMainThread):
Remove no longer invalid assert if WebThread was not initialized.

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

8 years agoMake InspectorTimelineAgent use an enum for the record type instead of a string.
timothy@apple.com [Tue, 17 Sep 2013 01:31:32 +0000 (01:31 +0000)]
Make InspectorTimelineAgent use an enum for the record type instead of a string.

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

Reviewed by Joseph Pecoraro.

Source/WebCore:

* inspector/Inspector.json:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
(WebCore::InspectorTimelineAgent::appendRecord):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
* inspector/InspectorTimelineAgent.h:
(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):

Source/WebInspectorUI:

* UserInterface/InspectorBackendCommands.js:
* UserInterface/Legacy/6.0/InspectorBackendCommands.js:
* UserInterface/TimelineManager.js:
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):
* Versions/Inspector-iOS-6.0.json:

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

8 years ago[Windows] Add rudimentary history to WinLauncher.
bfulgham@apple.com [Tue, 17 Sep 2013 01:26:51 +0000 (01:26 +0000)]
[Windows] Add rudimentary history to WinLauncher.
https://bugs.webkit.org/show_bug.cgi?id=121463

Reviewed by Anders Carlsson.

* WinLauncher/WinLauncher.cpp:
(updateMenuItemForHistoryItem): Added
(showLastVisitedSites): Added
(WinLauncherWebHost::didFinishLoadForFrame): Add history item once
a new page has been visited.
(dllLauncherEntryPoint): Deallocate history on exit.
(NavigateToHistory): Added
(WndProc): Add handler for history entries
* WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc: Add menu items to hold
up to 10 history slots.
* WinLauncher/WinLauncher.vcxproj/WinLauncherLibCommon.props: Link against
Windows utility library to allow use of _bstr_t type.
* WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h: Add menu items
to hold up to 10 history slots.
* WinLauncher/stdafx.h: Add <comutil.h> to precompiled headers.

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

8 years ago[GTK] Make symbol export filter more strict, and disable for dev/test builds
kov@webkit.org [Tue, 17 Sep 2013 01:08:46 +0000 (01:08 +0000)]
[GTK] Make symbol export filter more strict, and disable for dev/test builds
https://bugs.webkit.org/show_bug.cgi?id=120586

Reviewed by Martin Robinson.

.:

* GNUmakefile.am: only include test-related automake files when developer
mode is on.
* Source/autotools/ReadCommandLineArguments.m4: add --enable-developer-mode,
defaults to no, and to yes for debug builds.
* Source/autotools/SetupAutomake.m4: add ENABLE_DEVELOPER_MODE conditional.
* Source/autotools/symbols.filter: make the exported symbols list much shorter,
covering only the public ABI and a few symbols required by WebKit2 processes.

Source/WebKit/gtk:

* GNUmakefile.am: only use the version script when in developer mode..

Source/WebKit2:

* GNUmakefile.am: only use the version script if developer mode is disabled.

Tools:

* GNUmakefile.am: moved GtkLauncher and documentation builds to their own
makefiles, so they can be included unconditionally.
* GtkLauncher/GNUmakefile.am: added.
* Scripts/webkitdirs.pm:
(runAutogenForAutotoolsProjectIfNecessary): always pass --enable-developer-mode
to configure, since we consider builds done through build-webkit to be development
and test builds.
* gtk/GNUmakefile.am: added.
* gtk/common.py: do not use the Scripts directory as a reference to the top path;
it's not necessary and it will not work now that the Scripts directory is not
shipped in the tarball.

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

8 years agoFix WebKit1 build after r155910
benjamin@webkit.org [Tue, 17 Sep 2013 01:01:43 +0000 (01:01 +0000)]
Fix WebKit1 build after r155910

Reviewed by Anders Carlsson.

* wtf/Platform.h: Some files in WebKit include system headers before
WTF headers, causing the macro to be defined twice. #undef the macro
to support that case.

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

8 years agoUnreviewed build fix after 155905.
kov@webkit.org [Tue, 17 Sep 2013 00:31:31 +0000 (00:31 +0000)]
Unreviewed build fix after 155905.

* Platform/CoreIPC/unix/ConnectionUnix.cpp:
(CoreIPC::Connection::sendOutgoingMessage): use OwnPtr instead of PassOwnPtr.

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

8 years agoDisable OS X's unprefixed debug macro
benjamin@webkit.org [Mon, 16 Sep 2013 23:39:01 +0000 (23:39 +0000)]
Disable OS X's unprefixed debug macro
https://bugs.webkit.org/show_bug.cgi?id=121460

Reviewed by Anders Carlsson.

* wtf/Platform.h: OS X defines a series of platform macros for debugging.
Some of them are really annoying because they use common names (e.g. check()).

Disable those macros so that we are not limited in how we name methods and functions.

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

8 years agoAdd RunLoop::isMain and use it in WebKit2
joepeck@webkit.org [Mon, 16 Sep 2013 23:32:25 +0000 (23:32 +0000)]
Add RunLoop::isMain and use it in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=121459

Reviewed by Anders Carlsson.

Source/WebCore:

* WebCore.exp.in:
* platform/RunLoop.cpp:
(WebCore::RunLoop::isMain):
* platform/RunLoop.h:

Source/WebKit2:

* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
(getIconSurfaceSynchronously):
(iconDataReadyForPageURLCallback):
(webkit_favicon_database_get_favicon_uri):
* UIProcess/API/mac/WKPrintingView.mm:
(-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
(-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]):
(pageDidDrawToImage):
(pageDidDrawToPDF):
(-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
(pageDidComputePageRects):
(-[WKPrintingView _askPageToComputePageRects]):
(prepareDataForPrintingOnSecondaryThread):
(-[WKPrintingView knowsPageRange:]):
(-[WKPrintingView _drawPreview:]):
(-[WKPrintingView drawRect:]):
(-[WKPrintingView _drawPageBorderWithSizeOnMainThread:]):
(-[WKPrintingView drawPageBorderWithSize:]):
* UIProcess/WebProcessProxy.cpp:
(WebKit::globalPageMap):

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

8 years agoDisable OS X's unprefixed debug macro
benjamin@webkit.org [Mon, 16 Sep 2013 23:30:24 +0000 (23:30 +0000)]
Disable OS X's unprefixed debug macro
https://bugs.webkit.org/show_bug.cgi?id=121460

Reviewed by Anders Carlsson.

* wtf/Platform.h: OS X defines a serie of platform macros for debugging.
Some of them are really annoying because they use common names (e.g. check()).

Disable those macros so that we are not limited how we name methods and functions.

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

8 years agoAX: ARIA tablist is disabled, but VoiceOver does not speak the tabs as dimmed
cfleizach@apple.com [Mon, 16 Sep 2013 22:57:10 +0000 (22:57 +0000)]
AX: ARIA tablist is disabled, but VoiceOver does not speak the tabs as dimmed
https://bugs.webkit.org/show_bug.cgi?id=121408

Reviewed by Darin Adler.

Source/WebCore:

ARIA says that aria-disabled should propagate to children nodes.

Test: accessibility/aria-disabled-propagated-to-children.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isEnabled):

LayoutTests:

* accessibility/aria-disabled-propagated-to-children-expected.txt: Added.
* accessibility/aria-disabled-propagated-to-children.html: Added.

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

8 years agoCTTE: Element::createRenderer() should take references
weinig@apple.com [Mon, 16 Sep 2013 22:20:07 +0000 (22:20 +0000)]
CTTE: Element::createRenderer() should take references
https://bugs.webkit.org/show_bug.cgi?id=121449

Reviewed by Anders Carlsson.

*Many file elided*

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

8 years agoiOS build fix after r155638.
enrica@apple.com [Mon, 16 Sep 2013 22:16:48 +0000 (22:16 +0000)]
iOS build fix after r155638.

Unreviewed.

* editing/Editor.cpp:

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

8 years agoMake FloatingObjects own it's FloatingObject instances
bjonesbe@adobe.com [Mon, 16 Sep 2013 22:01:38 +0000 (22:01 +0000)]
Make FloatingObjects own it's FloatingObject instances
https://bugs.webkit.org/show_bug.cgi?id=121323

Reviewed by Alexandru Chiculita.

As part of decoupling FloatingObjects from RenderBlock, change
FloatingObjects to properly manage the FloatingObject instances it
contains.

No new tests, no behavior change.

* rendering/FloatingObjects.cpp:
(WebCore::FloatingObject::FloatingObject): Make the constructors
private so that FloatingObjects can only be created with an OwnPtr.
Also make a RenderBox required to create a FloatingObject.
(WebCore::FloatingObject::create): Factory method to create a vanilla
FloatingObject.
(WebCore::FloatingObject::copyToNewContainer): Factory method to copy
an existing FloatingObject in the case it is overhanging or intruding
and needs to be copied to the block that it overhangs or intrudes
into.
(WebCore::FloatingObject::unsafeClone): Rename this method so it is
more obvious that it really shouldn't be used, and to make it more
obvious that one should use the copyToNewContainer method for all
normal FloatingObject copies.
(WebCore::FloatingObjects::clear): Delete all the FloatingObjects in
the set before clearing it.
(WebCore::FloatingObjects::moveAllToFloatInfoMap): Move all of the
FloatingObjects in the set to a RendererToFloatInfoMap. This is used
in RenderBlockFlow::clearFloats to when it is readding floats after
clearing the set.
(WebCore::FloatingObjects::add): Take an OwnPtr.
(WebCore::FloatingObjects::remove): Delete the removed FloatingObject.
* rendering/FloatingObjects.h: Remove FloatingObject::setRenderer(),
since the RenderBox must be set in the constructor.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::moveAllChildrenIncludingFloatsTo): Rename clone
to unsafeClone.
(WebCore::RenderBlock::removeFloatingObjects): Don't delete anymore,
since clear does it.
(WebCore::RenderBlock::insertFloatingObject): Handle OwnPtr properly.
(WebCore::RenderBlock::removeFloatingObject): Don't delete anymore,
since remove does it.
(WebCore::RenderBlock::removeFloatingObjectsBelow): Ditto.
(WebCore::RenderBlock::addOverhangingFloats): Use copyToNewContainer
and OwnPtr.
(WebCore::RenderBlock::addIntrudingFloats): Ditto.
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::clearFloats): Use exportToFloatInfoMap.

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

8 years agoReplace more uses of PassOwnPtr with OwnPtr in WebKit2
andersca@apple.com [Mon, 16 Sep 2013 22:00:30 +0000 (22:00 +0000)]
Replace more uses of PassOwnPtr with OwnPtr in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=121453

Reviewed by Sam Weinig.

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::SecondaryThreadPendingSyncReply::SecondaryThreadPendingSyncReply):
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::sendMessage):
(CoreIPC::Connection::sendSyncReply):
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::sendSyncMessage):
(CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
(CoreIPC::Connection::waitForSyncReply):
(CoreIPC::Connection::processIncomingSyncReply):
(CoreIPC::Connection::processIncomingMessage):
(CoreIPC::Connection::enqueueIncomingMessage):
(CoreIPC::Connection::dispatchMessage):
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::PendingSyncReply::PendingSyncReply):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::sendOutgoingMessage):

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

8 years agoFlaky Test: svg/batik/masking/maskRegions.svg
ap@apple.com [Mon, 16 Sep 2013 21:59:27 +0000 (21:59 +0000)]
Flaky Test: svg/batik/masking/maskRegions.svg
https://bugs.webkit.org/show_bug.cgi?id=114120

Fails in the same way as many other batik tests.

* platform/mac/TestExpectations: Marking as flaky.

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

8 years agoFix creation of embedded JS and CSS files on cmake based ports.
hugo.lima@openbossa.org [Mon, 16 Sep 2013 21:46:11 +0000 (21:46 +0000)]
Fix creation of embedded JS and CSS files on cmake based ports.
https://bugs.webkit.org/show_bug.cgi?id=121448

Reviewed by Joseph Pecoraro.

Just a build fix, layout tests already test this issue.

* CMakeLists.txt:

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

8 years agoMarked a few tests that are too slow in debug builds, and frequently fail.
ap@apple.com [Mon, 16 Sep 2013 21:35:32 +0000 (21:35 +0000)]
Marked a few tests that are too slow in debug builds, and frequently fail.

* platform/mac/TestExpectations:

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

8 years ago[Windows] Rendering stops when mouse is moving for some types of animations.
bfulgham@apple.com [Mon, 16 Sep 2013 21:30:35 +0000 (21:30 +0000)]
[Windows] Rendering stops when mouse is moving for some types of animations.
https://bugs.webkit.org/show_bug.cgi?id=121329

Reviewed by Anders Carlsson.

* WebView.cpp:
(WebView::WebView): Add new display flag.
(WebView::repaint): Mark view as needing a display operation.
(WebView::addToDirtyRegion): Ditto
(WebView::scrollBackingStore): Ditto
(WebView::sizeChanged): Ditto
(WebView::updateBackingStore): Ditto
(WebView::performLayeredWindowUpdate): Mark the WebView as having been
moved to screen.
(WebView::paintIntoWindow): Ditto
(WebView::WebViewWndProc): If the view needs display, and it was not done during
this message loop iteration, draw the screen.
* WebView.h:
(WebView::needsDisplay): Added

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

8 years agoMessageQueue should use a Deque of OwnPtrs
andersca@apple.com [Mon, 16 Sep 2013 21:09:31 +0000 (21:09 +0000)]
MessageQueue should use a Deque of OwnPtrs
https://bugs.webkit.org/show_bug.cgi?id=121450

Reviewed by Andreas Kling.

Source/WebCore:

* Modules/webdatabase/DatabaseThread.cpp:
(WebCore::SameDatabasePredicate::operator()):
* dom/default/PlatformMessagePortChannel.h:
(WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
* fileapi/FileThread.cpp:
(WebCore::SameInstancePredicate::operator()):
* workers/WorkerRunLoop.cpp:
(WebCore::ModePredicate::operator()):

Source/WTF:

* wtf/MessageQueue.h:

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

8 years agoWTF::Deque should work with move only types
andersca@apple.com [Mon, 16 Sep 2013 20:39:19 +0000 (20:39 +0000)]
WTF::Deque should work with move only types
https://bugs.webkit.org/show_bug.cgi?id=121446

Reviewed by Andreas Kling.

Source/WTF:

* wtf/Deque.h:
Use std::move and std::forward where appropriate and get rid of the PassTraits include.

Tools:

* TestWebKitAPI/Tests/WTF/Deque.cpp:
(TestWebKitAPI::TEST):
Add a test.

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

8 years agosvg/animations/smil-leak-*.svg tests are flaky
ap@apple.com [Mon, 16 Sep 2013 20:34:02 +0000 (20:34 +0000)]
svg/animations/smil-leak-*.svg tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=114280

The tests are still flaky. Ran out of ideas, so marking them as such and leaving them there.

* platform/mac/TestExpectations:

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

8 years agoWeb Inspector: TypeError when updating ResourceTreeElement created in strange order
commit-queue@webkit.org [Mon, 16 Sep 2013 20:24:13 +0000 (20:24 +0000)]
Web Inspector: TypeError when updating ResourceTreeElement created in strange order
https://bugs.webkit.org/show_bug.cgi?id=121382

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-09-16
Reviewed by Timothy Hatcher.

Patch by Brian Burg. Fix an uncaught exception that can happen on navigations.

* UserInterface/ResourceTreeElement.js:
(WebInspector.ResourceTreeElement.prototype._updateStatus):

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

8 years agoUnreviewed, fixing the GTK WK2 build after r155888.
zandobersek@gmail.com [Mon, 16 Sep 2013 20:14:04 +0000 (20:14 +0000)]
Unreviewed, fixing the GTK WK2 build after r155888.

* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::createDrawingAreaProxy):
* UIProcess/API/gtk/PageClientImpl.h:

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

8 years agoCTTE: FrameTree::top() should return a reference.
akling@apple.com [Mon, 16 Sep 2013 20:09:25 +0000 (20:09 +0000)]
CTTE: FrameTree::top() should return a reference.
<https://webkit.org/b/121445>

Reviewed by Anders Carlsson.

There's always a top frame in the tree.

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

8 years agoUnreviewed, fixing GObject bindings tests after r155850 by adding the *.symbols files...
zandobersek@gmail.com [Mon, 16 Sep 2013 20:01:26 +0000 (20:01 +0000)]
Unreviewed, fixing GObject bindings tests after r155850 by adding the *.symbols files that are now also generated.

* bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.symbols: Added.
* bindings/scripts/test/GObject/WebKitDOMTestCallback.symbols: Added.
* bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.symbols: Added.
* bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.symbols: Added.
* bindings/scripts/test/GObject/WebKitDOMTestEventTarget.symbols: Added.
* bindings/scripts/test/GObject/WebKitDOMTestException.symbols: Added.
* bindings/scripts/test/GObject/WebKitDOMTestInterface.symbols: Added.
* bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.symbols: Added.
* bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.symbols: Added.
* bindings/scripts/test/GObject/WebKitDOMTestNode.symbols: Added.
* bindings/scripts/test/GObject/WebKitDOMTestObj.symbols: Added.
* bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.symbols: Added.
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.symbols: Added.
* bindings/scripts/test/GObject/WebKitDOMTestTypedefs.symbols: Added.

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

8 years agoFix the build following <http://trac.webkit.org/changeset/155591>
dbates@webkit.org [Mon, 16 Sep 2013 19:56:40 +0000 (19:56 +0000)]
Fix the build following <trac.webkit.org/changeset/155591>
(https://bugs.webkit.org/show_bug.cgi?id=121200)

Fix the build for ports that enable PLUGIN_PROXY_FOR_VIDEO, such as iOS WebKit.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateSizes): Substitute isWidget() for isRenderWidget()
as the latter is undefined.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForVideo): Ditto.

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

8 years agoMarkedBlocks shouldn't be put in Allocated state if they didn't produce a FreeList
mhahnenberg@apple.com [Mon, 16 Sep 2013 19:48:48 +0000 (19:48 +0000)]
MarkedBlocks shouldn't be put in Allocated state if they didn't produce a FreeList
https://bugs.webkit.org/show_bug.cgi?id=121236

Reviewed by Geoffrey Garen.

Right now, after a collection all MarkedBlocks are in the Marked block state. When lazy sweeping
happens, if a block returns an empty free list after being swept, we call didConsumeFreeList(),
which moves the block into the Allocated block state. This happens to both the block that was
just being allocated out of (i.e. m_currentBlock) as well as any blocks who are completely full.
We should distinguish between these two cases: m_currentBlock should transition to
Allocated (because we were just allocating out of it) and any subsequent block that returns an
empty free list should transition back to the Marked state. This will make the block state more
consistent with the actual state the block is in, and it will also allow us to speed up moving
all blocks the the Marked state during generational collection.

Added new RAII-style HeapIterationScope class that notifies the Heap when it is about to be
iterated and when iteration has finished. Any clients that need accurate liveness data when
iterating over the Heap now need to use a HeapIterationScope so that the state of Heap can
be properly restored after they are done iterating. No new GC-allocated objects can be created
until this object goes out of scope.

* JavaScriptCore.xcodeproj/project.pbxproj:
* debugger/Debugger.cpp:
(JSC::Debugger::recompileAllJSFunctions): Added HeapIterationScope for the Recompiler iteration.
* heap/Heap.cpp:
(JSC::Heap::willStartIterating): Callback used by HeapIterationScope to indicate that iteration of
the Heap is about to begin. This will cause cell liveness data to be canonicalized by calling stopAllocating.
(JSC::Heap::didFinishIterating): Same, but indicates that iteration has finished.
(JSC::Heap::globalObjectCount): Used HeapIterationScope.
(JSC::Heap::objectTypeCounts): Ditto.
(JSC::Heap::markDeadObjects): Ditto.
(JSC::Heap::zombifyDeadObjects): Ditto.
* heap/Heap.h:
* heap/HeapIterationScope.h: Added. New RAII-style object for indicating to the Heap that it's about
to be iterated or that iteration has finished.
(JSC::HeapIterationScope::HeapIterationScope):
(JSC::HeapIterationScope::~HeapIterationScope):
* heap/HeapStatistics.cpp:
(JSC::HeapStatistics::showObjectStatistics): Used new HeapIterationScope.
* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::tryAllocateHelper): We now treat the case where we have just finished
allocating out of the current block differently from the case where we sweep a block and it
returns an empty free list. This was the primary point of this patch.
(JSC::MarkedAllocator::allocateSlowCase): ASSERT that nobody is currently iterating the Heap
when allocating.
* heap/MarkedAllocator.h:
(JSC::MarkedAllocator::reset): All allocators are reset after every collection. We need to make
sure that the m_lastActiveBlock gets cleared, which it might not always because we don't call
takeCanonicalizedBlock on blocks in the large allocators.
(JSC::MarkedAllocator::stopAllocating): We shouldn't already have a last active block,
so ASSERT as much.
(JSC::MarkedAllocator::resumeAllocating): Do the opposite of what stopAllocating
does. So, if we don't have a m_lastActiveBlock then we don't have to worry about undoing anything
done by stopAllocating. If we do, then we call resumeAllocating on the block, which returns the FreeList
as it was prior to stopping allocation. We then set the current block to the last active block and
clear the last active block.
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::resumeAllocating): Any block resuming allocation should be in
the Marked state, so ASSERT as much. We always allocate a m_newlyAllocated Bitmap if we're
FreeListed, so if we didn't allocate one then we know we were Marked when allocation was stopped,
so just return early with an empty FreeList. If we do have a non-null m_newlyAllocated Bitmap
then we need to be swept in order to rebuild our FreeList.
* heap/MarkedBlock.h:
(JSC::MarkedBlock::didConsumeEmptyFreeList): This is called if we ever sweep a block and get back
an empty free list. Instead of transitioning to the Allocated state, we now go straight back to the
Marked state. This makes sense because we weren't actually allocated out of, so we shouldn't be in
the allocated state. Also added some ASSERTs to make sure that we're in the state that we expect: all of
our mark bits should be set and we should not have a m_newlyAllocated Bitmap.
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::forEachAllocator): Added a new functor-style iteration method so that we can
easily iterate over each allocator for, e.g., stopping and resuming allocators without
duplicating code.
(JSC::StopAllocatingFunctor::operator()): New functors for use with forEachAllocator.
(JSC::MarkedSpace::stopAllocating): Ditto.
(JSC::ResumeAllocatingFunctor::operator()): Ditto.
(JSC::MarkedSpace::resumeAllocating): Ditto.
(JSC::MarkedSpace::willStartIterating): Callback that notifies MarkedSpace that it is being iterated.
Does some ASSERTs, sets a flag, canonicalizes cell liveness data by calling stopAllocating.
(JSC::MarkedSpace::didFinishIterating): Ditto, but to signal that iteration has completed.
* heap/MarkedSpace.h:
(JSC::MarkedSpace::iterationInProgress): Returns true if a HeapIterationScope is currently active.
(JSC::MarkedSpace::forEachLiveCell): Accepts a HeapIterationScope to enforce the rule that you have to
create one prior to iterating over the Heap.
(JSC::MarkedSpace::forEachDeadCell): Ditto.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::haveABadTime): Changed to use new HeapIterationScope.
* runtime/VM.cpp:
(JSC::VM::releaseExecutableMemory): Ditto.

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

8 years agosvg/animations/smil-leak-*.svg tests are flaky
ap@apple.com [Mon, 16 Sep 2013 19:36:18 +0000 (19:36 +0000)]
svg/animations/smil-leak-*.svg tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=114280

The tests were still flaky. Changed retry timeout from 0 to 100 ms as previously
suggested by Geoff.

* svg/animations/smil-leak-dynamically-added-element-instances.svg:
* svg/animations/smil-leak-element-instances-noBaseValRef.svg:
* svg/animations/smil-leak-element-instances.svg:
* svg/animations/smil-leak-elements.svg:

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

8 years agoInlining should work in debug mode (i.e. Executable::newCodeBlock() should call recor...
fpizlo@apple.com [Mon, 16 Sep 2013 18:58:46 +0000 (18:58 +0000)]
Inlining should work in debug mode (i.e. Executable::newCodeBlock() should call recordParse())
https://bugs.webkit.org/show_bug.cgi?id=121444

Reviewed by Mark Hahnenberg.

* dfg/DFGArgumentPosition.h: Fix a bug discovered by reenabling inlining. ArgumentPosition may point to the non-canonical VariableAccessData but users of someVariable() want the canonical one.
(JSC::DFG::ArgumentPosition::someVariable):
* runtime/Executable.cpp: Call recordParse() so that the Executable knows things about itself (like if it has captured variables). Otherwise those fields are uninitialized.
(JSC::ScriptExecutable::newCodeBlockFor):

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

8 years agoRemove some uses of PassOwnPtr in WebKit2
andersca@apple.com [Mon, 16 Sep 2013 18:57:52 +0000 (18:57 +0000)]
Remove some uses of PassOwnPtr in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=121443

Reviewed by Andreas Kling.

* Scripts/webkit2/messages.py:
(message_to_struct_declaration):
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
* UIProcess/API/mac/FindIndicatorWindow.h:
* UIProcess/API/mac/FindIndicatorWindow.mm:
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::createDrawingAreaProxy):
* UIProcess/API/mac/WKView.mm:
(-[WKView WebKit::]):
(-[WKView _setFindIndicator:fadeOut:animate:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/DrawingAreaProxyImpl.cpp:
* UIProcess/DrawingAreaProxyImpl.h:
* UIProcess/PageClient.h:
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
(PageOverlayClientImpl::PageOverlayClientImpl):
(WKBundlePageOverlayCreate):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::createWebEvent):
* WebProcess/Plugins/PluginView.h:

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

8 years agoBuild fix following <https://trac.webkit.org/r154358>
dbates@webkit.org [Mon, 16 Sep 2013 18:26:48 +0000 (18:26 +0000)]
Build fix following <https://trac.webkit.org/r154358>
(https://bugs.webkit.org/show_bug.cgi?id=120078)

Fix the build for ports that enable PLUGIN_PROXY_FOR_VIDEO, such as iOS WebKit.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::rendererIsNeeded): Substitute "style" for "context".

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

8 years agoMake InspectorTypeBuilder generate better enums in C++.
timothy@apple.com [Mon, 16 Sep 2013 18:21:05 +0000 (18:21 +0000)]
Make InspectorTypeBuilder generate better enums in C++.

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

Reviewed by Joseph Pecoraro.

Source/WebCore:

* inspector/CodeGeneratorInspector.py:
(fix_camel_case): Add more abbrivations.
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder): Use fix_camel_case
* inspector/ConsoleMessage.cpp:
(WebCore::messageSourceValue):
(WebCore::messageTypeValue):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::detectOrigin):
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::parse):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
* inspector/InspectorStyleSheet.h:
(WebCore::InspectorStyleSheet::canBind):

Source/WebInspectorUI:

* UserInterface/InspectorBackendCommands.js: Updated to make Css be CSS.

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