Timeline


and

01/19/12:

23:45 Changeset [105485] by achicu@adobe.com

Source/WebCore: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Added setCSSCustomFilterEnabled/isCSSCustomFilterEnabled that is false by default.
I've enabled it by default on Apple Mac, to make sure there's no behavior change. Anyway, CSS shaders need
WebGL enabled, so it ends up being disabled by default.

Reviewed by Nikolas Zimmermann.

Test: css3/filters/effect-custom-disabled.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFilter):

Do not parse the custom() function when shaders are disabled.

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

Do not overwrite the old style->filter() if parsing fails.

(WebCore::CSSStyleSelector::createFilterOperations):

Do not continue if one custom() filter fails to parse.

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setCSSCustomFilterEnabled):
(WebCore::Settings::isCSSCustomFilterEnabled):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::isCSSCustomFilterEnabled):
(WebCore::FilterEffectRenderer::build):

Avoid creating the filter when shaders are disabled. It may happen to get here if shaders were disabled between parsing and rendering.

Source/WebKit/mac: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Added private WebPreference property called "WebKitCSSCustomFilterEnabled".

Reviewed by Nikolas Zimmermann.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences cssCustomFilterEnabled]):
(-[WebPreferences setCSSCustomFilterEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Reviewed by Nikolas Zimmermann.

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetCSSCustomFilterEnabled):
(WKPreferencesGetCSSCustomFilterEnabled):

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Reviewed by Nikolas Zimmermann.

  • css3/filters/effect-custom-disabled-expected.txt: Added.
  • css3/filters/effect-custom-disabled.html: Added.
  • css3/filters/script-tests/effect-custom-disabled.js: Added.

(testInvalidFilterRule):

  • platform/wk2/Skipped:

Skipped a couple of tests that call overridePreference.

23:18 Changeset [105484] by commit-queue@webkit.org

Node::canHaveLightChildRendererWithShadow is not used anywhere.
https://bugs.webkit.org/show_bug.cgi?id=76627

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-19
Reviewed by Darin Adler.

Since Node::canHaveLightChildRendererWithShadow is not overriden anywhere, and it returns always false.
We can remove it.

No new tests, because no change in behavior.

  • dom/Node.h:
  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::shouldCreateRenderer):

22:39 Changeset [105483] by kinuko@chromium.org

Cleanup: make constant variable names in fileapi/ conform to WebKit's coding guideline
https://bugs.webkit.org/show_bug.cgi?id=76625

Reviewed by David Levin.

Source/WebCore:

No new tests as this patch has no functional changes.

  • fileapi/BlobURL.cpp:

(WebCore::BlobURL::getIdentifier):
(WebCore::BlobURL::createBlobURL):

  • fileapi/BlobURL.h:
  • fileapi/FileWriter.cpp:

(WebCore::FileWriter::write):
(WebCore::FileWriter::truncate):

  • platform/AsyncFileSystem.cpp:

(WebCore::AsyncFileSystem::crackFileSystemURL):
(WebCore::AsyncFileSystem::toURL):
(WebCore::AsyncFileSystem::isAvailable):

  • platform/AsyncFileSystem.h:

Source/WebKit/chromium:

Also removing (almost) duplicated implementation of AsyncFileSystem::crackFileSystem.

  • src/AsyncFileSystemChromium.cpp:
21:25 Changeset [105482] by rolandsteiner@chromium.org

Unreviewed: add layout test to Chromium test_expectations.txt file after changes to Mac underline drawing.

  • platform/chromium/test_expectations.txt:
20:58 Changeset [105481] by lforschler@apple.com

Versioning

20:54 Changeset [105480] by lforschler@apple.com

Versioning.

20:33 Changeset [105479] by lforschler@apple.com

New Tag.

19:44 Changeset [105478] by lforschler@apple.com

New Tag.

19:36 Changeset [105477] by dbates@webkit.org

Remove "Safari 5.1 shipped" text from debugging instructions; move misplaced </ol>

Rubber-stamped by Sam Weinig.

  • building/debug.html:
19:22 Changeset [105476] by weinig@apple.com

Replace improper #import with an #include.

  • UIProcess/Plugins/PluginProcessProxy.cpp:

Fixes warnings.

19:04 Changeset [105475] by weinig@apple.com

Move RunLoop to WebCore/platform
https://bugs.webkit.org/show_bug.cgi?id=76471

Reviewed by Anders Carlsson.

Source/WebCore:

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

Add newly moved files.

  • platform/RunLoop.cpp: Moved from Source/WebKit2/Platform/RunLoop.cpp.
  • platform/RunLoop.h: Moved from Source/WebKit2/Platform/RunLoop.h.
  • platform/gtk/RunLoopGtk.cpp: Moved from Source/WebKit2/Platform/gtk/RunLoopGtk.cpp.
  • platform/mac/RunLoopMac.mm: Moved from Source/WebKit2/Platform/mac/RunLoopMac.mm.
  • platform/qt/RunLoopQt.cpp: Moved from Source/WebKit2/Platform/qt/RunLoopQt.cpp.
  • platform/win/RunLoopWin.cpp: Moved from Source/WebKit2/Platform/win/RunLoopWin.cpp.

Move the files.

Source/WebKit2:

  • GNUmakefile.am:
  • Platform/CoreIPC/Connection.cpp:
  • Platform/CoreIPC/Connection.h:
  • Platform/CoreIPC/mac/ConnectionMac.cpp:
  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginProcess.cpp:
  • PluginProcess/PluginProcess.h:
  • PluginProcess/WebProcessConnection.cpp:
  • PluginProcess/mac/PluginProcessMainMac.mm:
  • PluginProcess/qt/PluginProcessMainQt.cpp:
  • Shared/ChildProcess.cpp:
  • Shared/ChildProcess.h:
  • Target.pri:
  • UIProcess/API/mac/FindIndicatorWindow.h:
  • UIProcess/API/mac/WKView.mm:
  • UIProcess/DrawingAreaProxyImpl.h:
  • UIProcess/Launcher/ThreadLauncher.cpp:
  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  • UIProcess/Launcher/mac/ThreadLauncherMac.mm:
  • UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
  • UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
  • UIProcess/Launcher/win/ProcessLauncherWin.cpp:
  • UIProcess/Launcher/win/ThreadLauncherWin.cpp:
  • UIProcess/LayerTreeHostProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:
  • UIProcess/ResponsivenessTimer.cpp:
  • UIProcess/ResponsivenessTimer.h:
  • UIProcess/TiledDrawingAreaProxy.h:
  • UIProcess/VisitedLinkProvider.h:
  • UIProcess/WebConnectionToWebProcess.cpp:
  • UIProcess/WebConnectionToWebProcess.h:
  • UIProcess/WebContext.cpp:
  • UIProcess/win/WebView.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Netscape/NetscapePluginStream.h:
  • WebProcess/Plugins/PluginView.h:
  • WebProcess/WebConnectionToUIProcess.cpp:
  • WebProcess/WebConnectionToUIProcess.h:
  • WebProcess/WebCoreSupport/WebGraphicsLayer.h:
  • WebProcess/WebPage/DrawingAreaImpl.h:
  • WebProcess/WebPage/EventDispatcher.cpp:
  • WebProcess/WebPage/PageOverlay.h:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebProcess.cpp:
  • WebProcess/WebProcess.h:

(WebKit::WebProcess::runLoop):

  • WebProcess/gtk/WebProcessMainGtk.cpp:
  • WebProcess/mac/WebProcessMainMac.mm:
  • WebProcess/qt/WebProcessMainQt.cpp:
  • WebProcess/win/WebProcessMainWin.cpp:
  • win/WebKit2.vcproj:

Remove RunLoop code and update #includes.

19:02 Changeset [105474] by kov@webkit.org

Unreviewed build fix. Wrong variable being used as the cwd for git
remote update command.

  • gtk/run-with-jhbuild:

(update_jhbuild):

18:51 Changeset [105473] by commit-queue@webkit.org

Fix inconsistent text selection behavior with option-shift-left/right/up/down.
https://bugs.webkit.org/show_bug.cgi?id=75652

Patch by Pablo Flouret <pablof@motorola.com> on 2012-01-19
Reviewed by Enrica Casucci.

On Mac, selecting backwards by word, line or paragraph from the middle
of some text, and then going forward leaves the caret back in the middle
with no selection, instead of directly selecting to the other end of the
word/line/paragraph (Unix/Windows behavior). Fix this by adding a new
editing behavior to control whether the selection should go across the
initial position of the caret directly or not in situations like the one
outlined above.

Source/WebCore:

Test: editing/selection/selection-extend-should-not-move-across-caret-on-mac.html

  • editing/EditingBehavior.h:

(WebCore::EditingBehavior::shouldExtendSelectionByWordOrLineAcrossCaret):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::modify):

LayoutTests:

  • editing/selection/selection-extend-should-not-move-across-caret-on-mac-expected.txt: Added.
  • editing/selection/selection-extend-should-not-move-across-caret-on-mac.html: Added.
18:45 Changeset [105472] by kov@webkit.org

[GTK] ensure the jhbuild used by webkit is as up-to-date as needed
https://bugs.webkit.org/show_bug.cgi?id=76585

Reviewed by Martin Robinson.

This allows us to specify a minimum version of jhbuild required,
while also providing stability against changes done to the master
branch, by letting us choose what is the exact version that will
be used.

  • gtk/run-with-jhbuild: refactored for more hackability and easier

reading
(jhbuild_installed): checks whether jhbuild is installed
(jhbuild_cloned): checks whether jhbuild has been cloned
(jhbuild_at_expected_revision): checks whether jhbuild is at the
expected revision
(update_jhbuild): brings jhbuild to the expected revision
(clone_jhbuild): clones jhbuild
(install_jhbuild): build and installs jhbuild
(update_webkitgtk_libs): runs update-webkitgtk-libs
(ensure_jhbuild): high-level logic to decide whether and which of
the steps above are executed

18:41 Changeset [105471] by simon.fraser@apple.com

Regression (r98735): Video chat moles in Gmail render incorrectly on Mac OS
https://bugs.webkit.org/show_bug.cgi?id=75682

Source/WebCore:

Reviewed by James Robinson.

RenderLayerBacking::isSimpleContainerCompositingLayer() gave incorret
results in the case where the layer itself was visibility:hidden, but
where it had visible, non-composited descendant layers.

Fix by breaking RenderLayerBacking::hasVisibleNonCompositingDescendants()
into two methods, one that tests for renderers in this layer which
render stuff (and are thus affected by visibility on this layer), and
another which walks descendant, non-composited layers looking for those
which are visible.

Removed an early return in the "renderObject->node()->isDocumentNode()"
clause, because we want to run the same code that we run for non-document
nodes.

Test: compositing/visibility/layer-visible-content.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
(WebCore::RenderLayerBacking::containsNonEmptyRenderers):
(WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):

  • rendering/RenderLayerBacking.h:

LayoutTests:

Reviewed by James Robinson.

Testcase with a combination of visibility:hidden, overflow, positioning and
transforms.

  • compositing/visibility/layer-visible-content-expected.png: Added.
  • compositing/visibility/layer-visible-content-expected.txt: Added.
  • compositing/visibility/layer-visible-content.html: Added.
18:21 Changeset [105470] by commit-queue@webkit.org

[chromium] Draw gutter quads outside root content layer
https://bugs.webkit.org/show_bug.cgi?id=76328

Patch by Alexandre Elias <aelias@google.com> on 2012-01-19
Reviewed by James Robinson.

Add new layer property "backgroundCoversViewport". If the content
layers don't fully cover the render surface, this code calculates the
difference between the root clip rect and the root content layer and
draws up to four background-color quads in exactly the area that would
be undrawn.

Test: CCTiledLayerImplTest::backgroundCoversViewport

Source/WebCore:

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setBackgroundCoversViewport):
(WebCore::LayerChromium::pushPropertiesTo):

  • platform/graphics/chromium/LayerChromium.h:

(WebCore::LayerChromium::backgroundCoversViewport):

  • platform/graphics/chromium/cc/CCLayerImpl.cpp:

(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::setBackgroundCoversViewport):

  • platform/graphics/chromium/cc/CCLayerImpl.h:

(WebCore::CCLayerImpl::backgroundCoversViewport):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:

(WebCore::CCTiledLayerImpl::appendQuads):

Source/WebKit/chromium:

  • src/NonCompositedContentHost.cpp:

(WebKit::NonCompositedContentHost::NonCompositedContentHost):

  • tests/CCLayerImplTest.cpp:

(WebCore::TEST):

  • tests/CCTiledLayerImplTest.cpp:

(WebCore::TEST):

  • tests/LayerChromiumTest.cpp:
18:03 Changeset [105469] by commit-queue@webkit.org

Web Intents chromium API modifications to track IntentRequest invocation method
https://bugs.webkit.org/show_bug.cgi?id=76014

Patch by Greg Billock <gbillock@google.com> on 2012-01-19
Reviewed by Darin Fisher.

  • public/WebFrameClient.h:

(WebKit::WebFrameClient::dispatchIntent):

  • public/WebIntent.h:
  • public/WebIntentRequest.h: Added.
  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::dispatchIntent):

  • src/FrameLoaderClientImpl.h:
  • src/WebIntent.cpp:
  • src/WebIntentRequest.cpp: Added.
17:47 Changeset [105468] by caryclark@google.com

[Skia Mac] Match style of platform error underline for misspellings
https://bugs.webkit.org/show_bug.cgi?id=76556

Reviewed by Stephen White.

Source/WebCore:

Add Darwin-specific code in Skia to draw the error underline so that
it matches the CoreGraphics style.

Many existing layout tests inadvertantly trigger the misspelling
underline by including the word 'foo' in an editable field. Those
tests are temporarily suppressed separately in an edit to
test_expectations.txt.

  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::drawLineForTextChecking):

LayoutTests:

Suppress editing tests with misspellings, since the error underline
is drawn differently.

  • platform/chromium/test_expectations.txt:
17:34 Changeset [105467] by noam.rosenthal@nokia.com

[Texmap] TextureMapper creates two many big intermediate surfaces
https://bugs.webkit.org/show_bug.cgi?id=76336

Reviewed by Simon Hausmann.

The following has been done to optimize surface allocation:

  1. Instead of using a viewport-size surface, use a surface in the size of the layer's bounding rect and apply the transform after the content has been rendered into it.
  2. Avoid generating intermediate surface for occasions where they're not necessary, such as nested reflections without opacity.
  3. Releasing of textures from the pool is now implicit, based on refCount.
  4. Do not use intermediate surfaces for preserve-3d layers. This is in alignment with other ports.

Tests in LayoutTests/compositing/masks and LayoutTests/compositing/reflection cover this.

  • platform/graphics/texmap/TextureMapper.cpp:

(WebCore::TextureMapper::acquireTextureFromPool):

  • platform/graphics/texmap/TextureMapper.h:
  • platform/graphics/texmap/TextureMapperNode.cpp:

(WebCore::TextureMapperNode::paintSelf):
(WebCore::TextureMapperNode::paintSelfAndChildren):
(WebCore::TextureMapperNode::intermediateSurfaceRect):
(WebCore::TextureMapperNode::shouldPaintToIntermediateSurface):
(WebCore::TextureMapperNode::isVisible):
(WebCore::TextureMapperNode::paintSelfAndChildrenWithReplica):
(WebCore::TextureMapperNode::paintRecursive):
(WebCore::TextureMapperNode::syncCompositingStateSelf):
(WebCore::TextureMapperNode::syncCompositingState):

  • platform/graphics/texmap/TextureMapperNode.h:

(WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):

17:22 Changeset [105466] by commit-queue@webkit.org

[Chromium] A Skia roll will break some tests - marking as expected
https://bugs.webkit.org/show_bug.cgi?id=76638

Unreviewed test_expectations update.

Patch by Stephen Chenney <schenney@chromium.org> on 2012-01-19

  • platform/chromium/test_expectations.txt: Adding MAC to svg/custom/zero-path-square-cap-rendering.svg
17:10 Changeset [105465] by ap@apple.com

[WK2] DumpRenderTree converts "file:///" to a path differently
https://bugs.webkit.org/show_bug.cgi?id=76653

Reviewed by John Sullivan.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::lastFileURLPathComponent):

Do print a slash if there are no path components.

16:57 Changeset [105464] by eric@webkit.org

webkit-patch cannot rollout patches without changelog/bug number
https://bugs.webkit.org/show_bug.cgi?id=75962

Reviewed by Adam Barth.

  • Scripts/webkitpy/tool/commands/download.py:

(AbstractRolloutPrepCommand._prepare_state):

  • Scripts/webkitpy/tool/commands/download_unittest.py:

(AbstractRolloutPrepCommandTest.test_prepare_state):

16:44 Changeset [105463] by eric@webkit.org

Assertion failure in WebCore::HTMLFrameElementBase::insertedIntoDocument()
https://bugs.webkit.org/show_bug.cgi?id=50312

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Removed the ASSERT and updated the comment.

Test: fast/frames/assert-on-insertedIntoDocument.html

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::insertedIntoDocument):

LayoutTests:

  • fast/frames/assert-on-insertedIntoDocument-expected.txt: Added.
  • fast/frames/assert-on-insertedIntoDocument.html: Added.
16:29 Changeset [105462] by commit-queue@webkit.org

[chromium] Replace WGC3D visibility extension with resource_usage extension. [Part 1 of 3]
https://bugs.webkit.org/show_bug.cgi?id=76634

Patch by Michal Mocny <mmocny@google.com> on 2012-01-19
Reviewed by Kenneth Russell.

  • public/platform/WebGraphicsContext3D.h:

(WebKit::WebGraphicsContext3D::setVisibilityCHROMIUM):
(WebKit::WebGraphicsContext3D::setResourceUsageCHROMIUM):

  • src/GraphicsContext3DChromium.cpp:

(WebCore::GraphicsContext3DPrivate::setVisibilityCHROMIUM):

  • tests/FakeWebGraphicsContext3D.h:

(WebKit::FakeWebGraphicsContext3D::setResourceUsageCHROMIUM):

16:13 Changeset [105461] by ap@apple.com

[WK2] fast/url/degenerate-file-base.html fails
https://bugs.webkit.org/show_bug.cgi?id=76619

Reviewed by Adam Roben.

Tools:

A URL generated form local path for loading had an extra slash, making document.URL
incorrect in all WebKit2 tests (file://localhost//path/to/test.html).

  • WebKitTestRunner/TestInvocation.cpp: (WTR::createWKURL):

LayoutTests:

  • platform/qt-wk2/Skipped: Unskipped the test.
16:07 Changeset [105460] by jamesr@google.com

[chromium] Remove CCLayerDelegate, add ContentLayerDelegate for painting
https://bugs.webkit.org/show_bug.cgi?id=76663

Reviewed by Kenneth Russell.

Source/WebCore:

CCLayerDelegate used to be an interface with a half-dozen callbacks on it, but now it has only one call -
paintContents() - and that one call is only valid for one subclass of LayerChromium, ContentLayerChromium. This
removes the CCLayerDelegate pointer from LayerChromium and adds a ContentLayerDelegate for the paint call.

The majority of the code changes in this patch are removing the nil parameter from various places that construct
LayerChromium instances. Also tightens the type of GraphicsLayerChromium::m_layer to ContentLayerChromium.

Refactoring/removing dead code, so no new tests.

  • platform/graphics/chromium/Canvas2DLayerChromium.cpp:

(WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):

  • platform/graphics/chromium/CanvasLayerChromium.cpp:

(WebCore::CanvasLayerChromium::CanvasLayerChromium):

  • platform/graphics/chromium/CanvasLayerChromium.h:
  • platform/graphics/chromium/ContentLayerChromium.cpp:

(WebCore::ContentLayerPainter::create):
(WebCore::ContentLayerPainter::ContentLayerPainter):
(WebCore::ContentLayerChromium::create):
(WebCore::ContentLayerChromium::ContentLayerChromium):

  • platform/graphics/chromium/ContentLayerChromium.h:

(WebCore::ContentLayerDelegate::~ContentLayerDelegate):
(WebCore::ContentLayerChromium::clearDelegate):

  • platform/graphics/chromium/DrawingBufferChromium.cpp:

(WebCore::DrawingBuffer::platformLayer):

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
(WebCore::GraphicsLayerChromium::setContentsToMedia):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):

  • platform/graphics/chromium/GraphicsLayerChromium.h:
  • platform/graphics/chromium/ImageLayerChromium.cpp:

(WebCore::ImageLayerChromium::create):
(WebCore::ImageLayerChromium::ImageLayerChromium):

  • platform/graphics/chromium/ImageLayerChromium.h:
  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::create):
(WebCore::LayerChromium::LayerChromium):

  • platform/graphics/chromium/LayerChromium.h:
  • platform/graphics/chromium/PluginLayerChromium.cpp:

(WebCore::PluginLayerChromium::create):
(WebCore::PluginLayerChromium::PluginLayerChromium):

  • platform/graphics/chromium/PluginLayerChromium.h:
  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::drawsContent):

  • platform/graphics/chromium/TiledLayerChromium.h:
  • platform/graphics/chromium/VideoLayerChromium.cpp:

(WebCore::VideoLayerChromium::create):
(WebCore::VideoLayerChromium::VideoLayerChromium):

  • platform/graphics/chromium/VideoLayerChromium.h:
  • platform/graphics/chromium/WebGLLayerChromium.cpp:

(WebCore::WebGLLayerChromium::create):
(WebCore::WebGLLayerChromium::WebGLLayerChromium):

  • platform/graphics/chromium/WebGLLayerChromium.h:

Source/WebKit/chromium:

  • src/WebContentLayerImpl.cpp:

(WebKit::WebContentLayerImpl::~WebContentLayerImpl):

  • src/WebContentLayerImpl.h:
  • src/WebExternalTextureLayerImpl.cpp:

(WebKit::WebExternalTextureLayerImpl::WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayerImpl::~WebExternalTextureLayerImpl):

  • src/WebExternalTextureLayerImpl.h:
  • src/WebLayerImpl.cpp:

(WebKit::WebLayerImpl::WebLayerImpl):
(WebKit::WebLayerImpl::~WebLayerImpl):

  • src/WebLayerImpl.h:
  • src/WebMediaPlayerClientImpl.cpp:

(WebKit::WebMediaPlayerClientImpl::readyStateChanged):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::WebPluginContainerImpl):

  • tests/CCLayerIteratorTest.cpp:
  • tests/CCLayerTreeHostCommonTest.cpp:

(WebCore::LayerChromiumWithForcedDrawsContent::LayerChromiumWithForcedDrawsContent):
(WebCore::TEST):

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTest::doBeginTest):
(WTF::ContentLayerChromiumWithUpdateTracking::create):
(WTF::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):

  • tests/LayerChromiumTest.cpp:
  • tests/TiledLayerChromiumTest.cpp:

(WTF::FakeTiledLayerChromium::FakeTiledLayerChromium):

  • tests/TreeSynchronizerTest.cpp:

(WebCore::MockLayerChromium::MockLayerChromium):
(WebCore::TEST):

16:00 Changeset [105459] by tony@chromium.org

[chromium] Remove an obsolete comment about features.gypi
https://bugs.webkit.org/show_bug.cgi?id=76643

There can be only one features.gypi.

Reviewed by James Robinson.

15:48 Changeset [105458] by abarth@webkit.org

Add Chromium-specific image baselines for
fast/css/text-overflow-input.html. These results all appear to be
correct.

  • platform/chromium-linux/fast/css/text-overflow-input-expected.png: Added.
  • platform/chromium-mac-leopard/fast/css/text-overflow-input-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/css/text-overflow-input-expected.png: Added.
  • platform/chromium-win/fast/css/text-overflow-input-expected.png: Added.
  • platform/chromium-win/fast/css/text-overflow-input-expected.txt: Added.
15:47 Changeset [105457] by commit-queue@webkit.org

[Coverity] Fix uninitialized constructor defects in .../html
https://bugs.webkit.org/show_bug.cgi?id=74965

Patch by Greg Billock <gbillock@google.com> on 2012-01-19
Reviewed by Simon Fraser.

Test: fast/canvas/script-tests/canvas-webkitLineDash.js

  • html/HTMLFormCollection.cpp:

(WebCore::HTMLFormCollection::HTMLFormCollection):

  • html/StepRange.cpp:

(WebCore::StepRange::StepRange):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::State::State):

  • html/canvas/CanvasStyle.h:

(WebCore::CanvasStyle::CMYKAValues::CMYKAValues):

  • html/canvas/WebGLGetInfo.cpp:

(WebCore::WebGLGetInfo::WebGLGetInfo):

  • html/parser/CSSPreloadScanner.cpp:

(WebCore::CSSPreloadScanner::CSSPreloadScanner):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::WebVTTParser):

15:38 Changeset [105456] by abarth@webkit.org

PerformanceTests's runner.js shouldn't be Parser-specific
https://bugs.webkit.org/show_bug.cgi?id=76670

Reviewed by Ryosuke Niwa.

This runner script is used by a bunch of difference performance tests.
It shouldn't be in the Parser directory anymore.

  • Bindings/event-target-wrapper.html:
  • Mutation/append-child-deep.html:
  • Mutation/append-child.html:
  • Mutation/inner-html.html:
  • Mutation/remove-child-deep.html:
  • Mutation/remove-child.html:
  • Parser/html-parser.html:
  • Parser/html5-full-render.html:
  • Parser/resources/runner.js: Removed.
  • Parser/simple-url.html:
  • Parser/tiny-innerHTML.html:
  • Parser/url-parser.html:
  • Parser/xml-parser.html:
  • resources: Added.
  • resources/runner.js: Copied from PerformanceTests/Parser/resources/runner.js.
15:34 Changeset [105455] by commit-queue@webkit.org

[SKIA / CHROMIUM] Add another test to test_expectations to prepare for change to use sw-rasterized paths in skia-gpu
https://bugs.webkit.org/show_bug.cgi?id=76469

Patch by Brian Salomon <bsalomon@google.com> on 2012-01-19
Reviewed by Stephen White.

  • platform/chromium/test_expectations.txt:
15:20 Changeset [105454] by achicu@adobe.com

CSS Shaders: Remove the setTimeout from the layout tests
https://bugs.webkit.org/show_bug.cgi?id=76535

Reviewed by Tony Chang.

Source/WebCore:

We had setTimeout on old tests because the snapshot picture was taken too early, before the shaders were loaded.
The problem was that the RenderLayer was notified that the shader was loaded only after the onload event was triggered,
so a simple setTimeout(0) would have fixed the issue, but better than that would be to to always call CachedResource::data
in CachedShader::data, which notifies the load earlier (before onload).

No new tests, just removed the setTimeout from old ones.

  • loader/cache/CachedShader.cpp:

(WebCore::CachedShader::data):

LayoutTests:

No need for setTimeout anymore, so I've removed them from the custom filter tests.

  • css3/filters/custom-filter-shader-cache.html:
  • css3/filters/effect-custom-combined-missing.html:
  • css3/filters/effect-custom-parameters.html:
  • css3/filters/effect-custom.html:
  • css3/filters/missing-custom-filter-shader.html:
15:07 Changeset [105453] by commit-queue@webkit.org

Improve touch handling performance by reusing the hitTest result
https://bugs.webkit.org/show_bug.cgi?id=75506

Patch by Min Qin <qinmin@google.com> on 2012-01-19
Reviewed by Adam Barth.

This is a performance optimization and should not cause behavior changes. Existing tests should cover it.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleTouchEvent):

15:01 Changeset [105452] by ojan@chromium.org

check-webkit-style of the chromium test_expectations.txt file doesn't test all chromium ports
https://bugs.webkit.org/show_bug.cgi?id=76510

Reviewed by Adam Barth.

Unlike other style rules, if you get the syntax of the test_expectations.txt
file wrong, the layout tests won't run. Also, this check is simple and only
slows down committing if you actually modify one of the test_expectations.txt files.

  • Scripts/webkitpy/style/checkers/test_expectations.py:

(TestExpectationsChecker.check_test_expectations):
(TestExpectationsChecker.check):

  • Scripts/webkitpy/style/checkers/test_expectations_unittest.py:

(TestExpectationsTestCase.test_check_covers_all_configurations):
(TestExpectationsTestCase.test_check_covers_all_configurations.mock_check_test_expectations):
(TestExpectationsTestCase):
(assert_lines_lint):

14:56 Changeset [105451] by jonlee@apple.com

Add text-overflow support that allows placeholder and value text to show an ellipsis when not focused
https://bugs.webkit.org/show_bug.cgi?id=76118
<rdar://problem/9271742>

Reviewed by Dan Bernstein.

Source/WebCore:

Tests: fast/css/text-overflow-input-focus-placeholder-expected.html

fast/css/text-overflow-input-focus-placeholder.html
fast/css/text-overflow-input-focus-value-expected.html
fast/css/text-overflow-input-focus-value.html
fast/css/text-overflow-input.html

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::styleDidChange): When the style of the text control
changes, we update the text overflow property of the placeholder.
(WebCore::RenderTextControlSingleLine::createInnerTextStyle): When the style of the text control
changes, we update the text overflow property of the inner text block.
(WebCore::RenderTextControlSingleLine::textShouldBeTruncated): The text of the value and placeholder should
only contain the ellipsis if the input's text-overflow property is set to ellipsis, and the input is not focused.

  • rendering/RenderTextControlSingleLine.h:

LayoutTests:

  • fast/css/text-overflow-input-focus-placeholder-expected.html: Added.
  • fast/css/text-overflow-input-focus-placeholder.html: Added.
  • fast/css/text-overflow-input-focus-value-expected.html: Added.
  • fast/css/text-overflow-input-focus-value.html: Added.
  • fast/css/text-overflow-input.html: Added.

New baselines:

  • platform/mac/fast/css/text-overflow-input-expected.png: Added.
  • platform/mac/fast/css/text-overflow-input-expected.txt: Added.

Needs baselines:

  • platform/chromium/test_expectations.txt:
  • platform/gtk/test_expectations.txt:
  • platform/qt/test_expectations.txt:
  • platform/win/test_expectations.txt:
14:50 Changeset [105450] by rniwa@webkit.org

Build fix. Revert an unintentional change to WebKitDriver in r105443.

  • Scripts/webkitpy/layout_tests/port/driver.py:

(DriverProxy.init):

14:46 Changeset [105449] by dpranke@chromium.org

remove the duplicated build rules from WebKit.gyp, Tools.gyp
https://bugs.webkit.org/show_bug.cgi?id=73384

Reviewed by Tony Chang.

Source/WebKit/chromium:

This patch removes the no-longer-necessary conditional logic for
build_webkit_exes_from_webkit_gyp; we now always build the exes
from their own dedicated gyp files.

  • WebKit.gyp:
  • WebKitUnitTests.gyp:
  • gyp_webkit:

Tools:

This patch removes the no-longer-necessary conditional logic for
build_webkit_exes_from_webkit_gyp; we now always build the exes
from their own dedicated gyp files.

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
14:36 Changeset [105448] by abarth@webkit.org

Add a V8-specific baseline for fast/regex/syntax-errors.html.

  • platform/chromium/fast/regex/syntax-errors-expected.txt: Added.
14:07 Changeset [105447] by lforschler@apple.com

Merged r92291.

14:07 Changeset [105446] by abarth@webkit.org

This test can also timeout.

  • platform/chromium/test_expectations.txt:
14:04 Changeset [105445] by ap@apple.com

make-new-script-test should work with HTTP tests
https://bugs.webkit.org/show_bug.cgi?id=76603

Reviewed by Adam Roben.

  • Scripts/make-new-script-test:

(makePathToSharedSources): Renamed from makeTestRelativePathToSharedSources(), since it
now also creates absolute paths for HTTP.

13:57 Changeset [105444] by ggaren@apple.com

Implicit creation of a regular expression should eagerly check for syntax errors
https://bugs.webkit.org/show_bug.cgi?id=76642

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

This is a correctness fix and a slight optimization.

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSearch): Check for syntax errors because that's the
correct behavior.

  • runtime/RegExp.cpp:

(JSC::RegExp::match): ASSERT that we aren't a syntax error. (One line
of code change, many lines of indentation change.)

Since we have no clients that try to match a RegExp that is a syntax error,
let's optimize out the check.

LayoutTests:

Reviewed by Oliver Hunt.

  • fast/js/code-serialize-paren-expected.txt:
  • fast/js/script-tests/code-serialize-paren.js: This test was secretly

broken due to a regexp syntax error. Now fixed.

  • fast/regex/syntax-errors-expected.txt: Added.
  • fast/regex/syntax-errors.html: Added.
13:50 Changeset [105443] by rniwa@webkit.org

Some perf tests time out when ran by run-perf-tests
https://bugs.webkit.org/show_bug.cgi?id=76612

Reviewed by Dirk Pranke and Eric Seidel.

PerformanceTests:

Replace all images in html5.html by geenbox.png to avoid accessing whatwg.org when
running the parser tests. Also call dumpAsText, waitUntilDone, and notifyDone automatically
inside runner.js to avoid having to call them in individual tests.

  • Bindings/event-target-wrapper.html: Removed calls to layoutTestController methods since

they are now called by runner.js automatically.

  • Parser/resources/greenbox.png: Copied from LayoutTests/fast/css/resources/greenbox.png.
  • Parser/resources/html5.html:
  • Parser/resources/runner.js:

(runLoop):

Tools:

Always pass --no-timeout to DumpRenderTree from run-perf-tests.
Otherwise some tests such as Parser/xml-parser.html will timeout.

--no-timeout option is currently supported by Chromium and Mac ports.

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port.to.create_driver):

  • Scripts/webkitpy/layout_tests/port/chromium.py:

(ChromiumDriver.init):
(ChromiumDriver._wrapper_options):

  • Scripts/webkitpy/layout_tests/port/driver.py:

(Driver.init):
(DriverProxy.init):

  • Scripts/webkitpy/layout_tests/port/webkit.py:

(WebKitDriver.init):
(WebKitDriver.cmd_line):

  • Scripts/webkitpy/layout_tests/port/webkit_unittest.py:

(WebKitDriverTest.test_read_binary_block):
(WebKitDriverTest):
(WebKitDriverTest.test_no_timeout):

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(get_tests_run.RecordingTestDriver.init):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args):
(PerfTestsRunner._run_tests_set):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(create_runner):

13:49 Changeset [105442] by mhahnenberg@apple.com

Implement a new allocator for backing stores
https://bugs.webkit.org/show_bug.cgi?id=75181

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

We want to move away from using fastMalloc for the backing stores for
some of our objects (e.g. JSArray, JSObject, JSString, etc). These backing
stores have a nice property in that they only have a single owner (i.e. a
single pointer to them at any one time). One way that we can take advantage
of this property is to implement a simple bump allocator/copying collector,
which will run alongside our normal mark/sweep collector, that only needs to
update the single owner pointer rather than having to redirect an arbitrary
number of pointers in from-space to to-space.

This plan can give us a number of benefits. We can beat fastMalloc in terms
of both performance and memory usage, we can track how much memory we're using
far more accurately than our rough estimation now through the use of
reportExtraMemoryCost, and we can allocate arbitrary size objects (as opposed
to being limited to size classes like we have been historically). This is also
another step toward moving away from lazy destruction, which will improve our memory footprint.

We start by creating said allocator and moving the ArrayStorage for JSArray
to use it rather than fastMalloc.

The design of the collector is as follows:
Allocation:
-The collector allocates 64KB chunks from the OS to use for object allocation.
-Each chunk contains an offset, a flag indicating if the block has been pinned,

and a payload, along with next and prev pointers so that they can be put in DoublyLinkedLists.

-Any allocation greater than 64KB gets its own separate oversize block, which

is managed separately from the rest.

-If the allocator receives a request for more than the remaining amount in the

current block, it grabs a fresh block.

-Grabbing a fresh block means grabbing one off of the global free list (which is now

shared between the mark/sweep allocator and the bump allocator) if there is one.
If there isn't a new one we do one of two things: allocate a new block from the OS
if we're not ready for a GC yet, or run a GC and then try again. If we still don't
have enough space after the GC, we allocate a new block from the OS.

Garbage collection:
-At the start of garbage collection during conservative stack scanning, if we encounter

what appears to be a pointer to a bump-allocated block of memory, we pin that block so
that it will not be copied for this round of collection.

-We also pin any oversize blocks that we encounter, which effectively doubles as a

"mark bit" for that block. Any oversize blocks that aren't pinned at the end of copying
are given back to the OS.

-Marking threads are now also responsible for copying bump-allocated objects to newSpace
-Each marking thread has a private 64KB block into which it copies bump-allocated objects that it encounters.
-When that block fills up, the marking thread gives it back to the allocator and requests a new one.
-When all marking has concluded, each thread gives back its copy block, even if it isn't full.
-At the conclusion of copying (which is done by the end of the marking phase), we un-pin

any pinned blocks and give any blocks left in from-space to the global free list.

(JSC::AllocationSpace::allocateSlowCase):
(JSC::AllocationSpace::allocateBlock):
(JSC::AllocationSpace::freeBlocks):

  • heap/AllocationSpace.h:

(JSC::AllocationSpace::waterMark):

  • heap/BumpBlock.h: Added.

(JSC::BumpBlock::BumpBlock):

  • heap/BumpSpace.cpp: Added.

(JSC::BumpSpace::tryAllocateSlowCase):

  • heap/BumpSpace.h: Added.

(JSC::BumpSpace::isInCopyPhase):
(JSC::BumpSpace::totalMemoryAllocated):
(JSC::BumpSpace::totalMemoryUtilized):

  • heap/BumpSpaceInlineMethods.h: Added.

(JSC::BumpSpace::BumpSpace):
(JSC::BumpSpace::init):
(JSC::BumpSpace::contains):
(JSC::BumpSpace::pin):
(JSC::BumpSpace::startedCopying):
(JSC::BumpSpace::doneCopying):
(JSC::BumpSpace::doneFillingBlock):
(JSC::BumpSpace::recycleBlock):
(JSC::BumpSpace::getFreshBlock):
(JSC::BumpSpace::borrowBlock):
(JSC::BumpSpace::addNewBlock):
(JSC::BumpSpace::allocateNewBlock):
(JSC::BumpSpace::fitsInBlock):
(JSC::BumpSpace::fitsInCurrentBlock):
(JSC::BumpSpace::tryAllocate):
(JSC::BumpSpace::tryAllocateOversize):
(JSC::BumpSpace::allocateFromBlock):
(JSC::BumpSpace::tryReallocate):
(JSC::BumpSpace::tryReallocateOversize):
(JSC::BumpSpace::isOversize):
(JSC::BumpSpace::isPinned):
(JSC::BumpSpace::oversizeBlockFor):
(JSC::BumpSpace::blockFor):

  • heap/ConservativeRoots.cpp:

(JSC::ConservativeRoots::ConservativeRoots):
(JSC::ConservativeRoots::genericAddPointer):
(JSC::ConservativeRoots::add):

  • heap/ConservativeRoots.h:
  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::blockFreeingThreadMain):
(JSC::Heap::reportExtraMemoryCostSlowCase):
(JSC::Heap::getConservativeRegisterRoots):
(JSC::Heap::markRoots):
(JSC::Heap::collect):
(JSC::Heap::releaseFreeBlocks):

  • heap/Heap.h:

(JSC::Heap::waterMark):
(JSC::Heap::highWaterMark):
(JSC::Heap::setHighWaterMark):
(JSC::Heap::tryAllocateStorage):
(JSC::Heap::tryReallocateStorage):

  • heap/HeapBlock.h: Added.

(JSC::HeapBlock::HeapBlock):

  • heap/MarkStack.cpp:

(JSC::MarkStackThreadSharedData::MarkStackThreadSharedData):
(JSC::SlotVisitor::drain):
(JSC::SlotVisitor::drainFromShared):
(JSC::SlotVisitor::startCopying):
(JSC::SlotVisitor::allocateNewSpace):
(JSC::SlotVisitor::copy):
(JSC::SlotVisitor::copyAndAppend):
(JSC::SlotVisitor::doneCopying):

  • heap/MarkStack.h:
  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::recycle):
(JSC::MarkedBlock::MarkedBlock):

  • heap/MarkedBlock.h:
  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::MarkedSpace):

  • heap/MarkedSpace.h:

(JSC::MarkedSpace::allocate):
(JSC::MarkedSpace::forEachBlock):
(JSC::MarkedSpace::SizeClass::resetAllocator):

  • heap/SlotVisitor.h:

(JSC::SlotVisitor::SlotVisitor):

  • heap/TinyBloomFilter.h:

(JSC::TinyBloomFilter::reset):

  • runtime/JSArray.cpp:

(JSC::JSArray::JSArray):
(JSC::JSArray::finishCreation):
(JSC::JSArray::tryFinishCreationUninitialized):
(JSC::JSArray::~JSArray):
(JSC::JSArray::enterSparseMode):
(JSC::JSArray::defineOwnNumericProperty):
(JSC::JSArray::setLengthWritable):
(JSC::JSArray::getOwnPropertySlotByIndex):
(JSC::JSArray::getOwnPropertyDescriptor):
(JSC::JSArray::putByIndexBeyondVectorLength):
(JSC::JSArray::deletePropertyByIndex):
(JSC::JSArray::getOwnPropertyNames):
(JSC::JSArray::increaseVectorLength):
(JSC::JSArray::unshiftCountSlowCase):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::unshiftCount):
(JSC::JSArray::visitChildren):
(JSC::JSArray::sortNumeric):
(JSC::JSArray::sort):
(JSC::JSArray::compactForSorting):
(JSC::JSArray::subclassData):
(JSC::JSArray::setSubclassData):
(JSC::JSArray::checkConsistency):

  • runtime/JSArray.h:

(JSC::JSArray::inSparseMode):
(JSC::JSArray::isLengthWritable):

  • wtf/CheckedBoolean.h: Added.

(CheckedBoolean::CheckedBoolean):
(CheckedBoolean::~CheckedBoolean):
(CheckedBoolean::operator bool):

  • wtf/DoublyLinkedList.h:

(WTF::::push):

  • wtf/StdLibExtras.h:

(WTF::isPointerAligned):

Source/JavaScriptGlue:

Added forwarding header for new CheckedBoolean used in the bump allocator.

  • ForwardingHeaders/wtf/CheckedBoolean.h: Added.

Source/WebCore:

No new tests.

Added forwarding header for new CheckedBoolean used in the bump allocator.

  • ForwardingHeaders/wtf/CheckedBoolean.h: Added.
13:41 Changeset [105441] by rniwa@webkit.org

Crash in CompositeEditCommand::ensureComposition
https://bugs.webkit.org/show_bug.cgi?id=76207

Reviewed by Chang Shu.

Source/WebCore:

The crash was caused by TypingCommand not kept alive when new editing commands are executed
during adding more typings to the open last typing command since m_lastEditCommand is replaced
by the new command. Fixed the bug by keeping them alive a little longer with RefPtr.

Test: editing/execCommand/editing-command-while-executing-typing-command-crash.html

  • editing/FrameSelection.cpp:

(WebCore::shouldStopBlinkingDueToTypingCommand):
(WebCore::FrameSelection::updateAppearance):

  • editing/TypingCommand.cpp:

(WebCore::TypingCommand::deleteSelection):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
(WebCore::TypingCommand::insertText):
(WebCore::TypingCommand::insertLineBreak):
(WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
(WebCore::TypingCommand::insertParagraphSeparator):
(WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
(WebCore::TypingCommand::closeTyping):

  • editing/TypingCommand.h:

LayoutTests:

Add a regression test.

  • editing/execCommand/editing-command-while-executing-typing-command-crash-expected.txt: Added.
  • editing/execCommand/editing-command-while-executing-typing-command-crash.html: Added.
13:16 Changeset [105440] by kling@webkit.org

Unreviewed debug build fix.

Remove ASSERT that the cached match is cacheable (we don't store that flag anymore.)

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):

12:55 Changeset [105439] by adachan@apple.com

Need a WebKit2 API for setting media volume https://bugs.webkit.org/show_bug.cgi?id=76560

Reviewed by Dan Bernstein.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode): Encode the mediaVolume parameter.
(WebKit::WebPageCreationParameters::decode): Decode the mediaVolume parameter.

  • Shared/WebPageCreationParameters.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageSetMediaVolume): Call WebPageProxy::setMediaVolume().

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Initialize new data member m_mediaVolume.
(WebKit::WebPageProxy::setMediaVolume): Bail if the volume hasn't changed. Update m_mediaVolume
and bail if the page is no longer valid. Otherwise, send a WebPage::SetMediaVolume message to
the web process.
(WebKit::WebPageProxy::creationParameters): Add media volume to the creation parameters.

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Initialize media volume from the WebPageCreationParameters.
(WebKit::WebPage::setMediaVolume): Call Page::setMediaVolume().

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in: Add the SetMediaVolume message.
12:52 Changeset [105438] by robert@webkit.org

Fix Debug build after r105433

Unreviewed, build fix.

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::recalcCollapsedBorders):

12:47 Changeset [105437] by benwells@chromium.org

Add support for window.print to chromium DRT
https://bugs.webkit.org/show_bug.cgi?id=76479

When used in a test window.print goes into print mode and then
straight out again. This will allow the afterprint event to be
tested by having the afterprint event happen before the dump
happens.

Reviewed by Mihai Parparita.

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::printPage):

  • DumpRenderTree/chromium/WebViewHost.h:
12:35 Changeset [105436] by dpranke@chromium.org

Unreviewed, Roll DEPS to most recent LKGR (118291).

  • DEPS:
12:32 Changeset [105435] by kling@webkit.org

CSSStyleSelector: Factor 'isCacheable' flag out of MatchedResult.
<http://webkit.org/b/76376>

Reviewed by Antti Koivisto.

Break up the MatchResult struct into MatchResult and MatchRanges. The matched
declaration cache only needs the ranges, so we save 4 bytes per entry.

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::matchAllRules):
(WebCore::CSSStyleSelector::matchUARules):
(WebCore::CSSStyleSelector::pseudoStyleForElement):
(WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
(WebCore::operator==):
(WebCore::operator!=):
(WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
(WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
(WebCore::CSSStyleSelector::applyMatchedDeclarations):

  • css/CSSStyleSelector.h:

(WebCore::CSSStyleSelector::MatchRanges::MatchRanges):
(WebCore::CSSStyleSelector::MatchResult::MatchResult):

12:28 Changeset [105434] by eric.carlson@apple.com

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

Reviewed by Darin Adler.

Notify the media element when tracks are added to and removed from a document instead of
a tree because we don't want to trigger loading unless a track element is in the document.

Test: media/track/track-delete-during-setup.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::trackWasRemoved): Renamed from trackWillBeRemoved because it is

now called after removal.

  • html/HTMLMediaElement.h:
  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::insertedIntoDocument): Was insertedIntoTree. Use this instead

because we care about when a track is inserted and removed from a document, not a tree.

(WebCore::HTMLTrackElement::removedFromDocument): Ditto.

  • html/HTMLTrackElement.h:
12:27 Changeset [105433] by robert@webkit.org

Hit ASSERTION FAILED: table()->collapseBorders() on techcrunch.com
https://bugs.webkit.org/show_bug.cgi?id=76405

Reviewed by Julien Chaffraix.

Source/WebCore:

Tests: fast/css/nested-table-with-collapsed-borders.html

Change recalcCollapsedBorders() so that it only collects border values for the current
table. Calculating the borders for nested tables was wrong as well as wasting cycles, though it would never
have impacted rendering since a cell only paints the borders that match its own.

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::recalcCollapsedBorders):

LayoutTests:

  • fast/css/nested-table-with-collapsed-borders-expected.html: Added.
  • fast/css/nested-table-with-collapsed-borders.html: Added.
12:03 Changeset [105432] by dbates@webkit.org

Update Debugging on Mac OS X instructions for Safari 5.1/WebKit 2
https://bugs.webkit.org/show_bug.cgi?id=67102

Reviewed by Eric Seidel.

Add instructions for debugging UIProcess and WebProcess using Xcode 4.

  • building/active-scheme-xcode4.png: Added.
  • building/build-settings-tab-xcode4.png: Added.
  • building/build-window.png: Removed.
  • building/custom-executable-xcode4.png: Added.
  • building/custom-executable.png: Removed.
  • building/debug-mac-uiprocess.html: Added.
  • building/debug.html:
  • building/debug.png: Removed.
  • building/info-tab.png: Removed.
  • building/run-xcode4.png: Added.
12:01 Changeset [105431] by jer.noble@apple.com

Make WebAudio API const-correct.
https://bugs.webkit.org/show_bug.cgi?id=76573

Reviewed by Daniel Bates.

Source/WebCore:

No new tests; no net change in functionality, so covered by existing tests.

The non-const data() accessor was renamed mutableData() to expose const-correctness
bugs during compile time:

  • platform/audio/AudioChannel.h:

(WebCore::AudioChannel::mutableData):

The following functions were made const correct:

  • platform/audio/AudioArray.h:

(WebCore::AudioArray::copyToRange):

  • platform/audio/AudioBus.h:

(WebCore::AudioBus::createBufferFromRange):
(WebCore::AudioBus::createBySampleRateConverting):
(WebCore::AudioBus::createByMixingToMono):

  • platform/audio/FFTConvolver.cpp:

(WebCore::FFTConvolver::process):

  • platform/audio/FFTConvolver.h:
  • platform/audio/FFTFrame.cpp:

(WebCore::FFTFrame::doPaddedFFT):
(WebCore::FFTFrame::doFFT):

  • platform/audio/FFTFrame.h:
  • platform/audio/ReverbConvolverStage.cpp:

(WebCore::ReverbConvolverStage::ReverbConvolverStage):
(WebCore::ReverbConvolverStage::process):

  • platform/audio/ReverbConvolverStage.h:
  • platform/audio/ReverbInputBuffer.cpp:

(WebCore::ReverbInputBuffer::write):

  • platform/audio/ReverbInputBuffer.h:
  • platform/audio/SincResampler.cpp:

(WebCore::SincResampler::process):

  • platform/audio/SincResampler.h:
  • platform/audio/ZeroPole.cpp:

(WebCore::ZeroPole::process):

  • platform/audio/ZeroPole.h:
  • platform/audio/AudioBus.cpp:

(WebCore::AudioBus::channelByType):

  • platform/audio/AudioBus.h:

(WebCore::AudioBus::gain):

  • platform/audio/AudioDSPKernelProcessor.cpp:

(WebCore::AudioDSPKernelProcessor::process):

  • platform/audio/AudioDSPKernelProcessor.h:
  • platform/audio/AudioProcessor.h:
  • platform/audio/DynamicsCompressor.cpp:

(WebCore::DynamicsCompressor::process):

  • platform/audio/DynamicsCompressor.h:
  • platform/audio/DynamicsCompressorKernel.cpp:

(WebCore::DynamicsCompressorKernel::process):

  • platform/audio/DynamicsCompressorKernel.h:
  • platform/audio/EqualPowerPanner.cpp:

(WebCore::EqualPowerPanner::pan):

  • platform/audio/EqualPowerPanner.h:
  • platform/audio/HRTFElevation.h:

(WebCore::HRTFElevation::numberOfAzimuths):

  • platform/audio/HRTFPanner.cpp:

(WebCore::HRTFPanner::pan):

  • platform/audio/HRTFPanner.h:
  • platform/audio/Panner.h:
  • platform/audio/Reverb.cpp:

(WebCore::Reverb::process):

  • platform/audio/Reverb.h:
  • platform/audio/ReverbConvolver.cpp:

(WebCore::ReverbConvolver::process):

  • platform/audio/ReverbConvolver.h:
  • platform/audio/ffmpeg/FFTFrameFFMPEG.cpp:

(WebCore::FFTFrame::doFFT):

  • platform/audio/mkl/FFTFrameMKL.cpp:

(WebCore::FFTFrame::doFFT):

The following functions were modified to use the renamed mutableData() accessor:

  • platform/audio/AudioBus.cpp:

(WebCore::AudioBus::processWithGainFromMonoStereo):
(WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom):

  • platform/audio/AudioChannel.cpp:

(WebCore::AudioChannel::scale):
(WebCore::AudioChannel::copyFrom):
(WebCore::AudioChannel::copyFromRange):
(WebCore::AudioChannel::sumFrom):

  • platform/audio/AudioDSPKernelProcessor.cpp:

(WebCore::AudioDSPKernelProcessor::process):

  • platform/audio/AudioResampler.cpp:

(WebCore::AudioResampler::process):

  • platform/audio/DynamicsCompressor.cpp:

(WebCore::DynamicsCompressor::process):

  • platform/audio/EqualPowerPanner.cpp:

(WebCore::EqualPowerPanner::pan):

  • platform/audio/HRTFKernel.cpp:

(WebCore::extractAverageGroupDelay):
(WebCore::HRTFKernel::HRTFKernel):
(WebCore::HRTFKernel::createImpulseResponse):

  • platform/audio/HRTFPanner.cpp:

(WebCore::HRTFPanner::pan):

  • platform/audio/MultiChannelResampler.cpp:

(WebCore::MultiChannelResampler::process):

  • platform/audio/Reverb.cpp:

(WebCore::Reverb::process):

  • platform/audio/ReverbConvolver.cpp:

(WebCore::ReverbConvolver::ReverbConvolver):
(WebCore::ReverbConvolver::process):

  • platform/audio/mac/AudioFileReaderMac.cpp:

(WebCore::AudioFileReader::createBus):

  • platform/audio/mac/FFTFrameMac.cpp:

(WebCore::FFTFrame::doFFT):

  • webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::process):
(WebCore::AudioBufferSourceNode::renderFromBuffer):

  • webaudio/BiquadProcessor.cpp:

(WebCore::BiquadProcessor::process):

  • webaudio/JavaScriptAudioNode.cpp:

(WebCore::JavaScriptAudioNode::process):

  • webaudio/OfflineAudioDestinationNode.cpp:

(WebCore::OfflineAudioDestinationNode::render):

  • webaudio/RealtimeAnalyser.cpp:

(WebCore::RealtimeAnalyser::writeInput):

  • webaudio/WaveShaperProcessor.cpp:

(WebCore::WaveShaperProcessor::process):

Source/WebKit/chromium:

The following functions were modified to use the renamed mutableData() accessor:

  • src/AudioDestinationChromium.cpp:

(WebCore::AudioDestinationChromium::FIFO::fillBuffer):
(WebCore::AudioDestinationChromium::FIFO::consume):

  • src/WebAudioData.cpp:

(WebCore::WebAudioBus::channelData):

  • src/WebMediaPlayerClientImpl.cpp:

(WebKit::WebMediaPlayerClientImpl::AudioSourceProviderImpl::provideInput):

11:15 Changeset [105430] by vsevik@chromium.org

Unreviewed, inspector closure compilation fix.

  • inspector/front-end/ScriptsPanel.js:
  • inspector/front-end/TabbedEditorContainer.js:
11:13 Changeset [105429] by hyatt@apple.com

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

Before landing support for centering, fix the keyword value to match the latest draft.
The new keyword is "contain" instead of "bounds."

Revised the existing parsing tests to reflect the updated value.

Reviewed by Dan Bernstein.

Source/WebCore:

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator LineGridSnap):

  • css/CSSValueKeywords.in:
  • rendering/style/RenderStyleConstants.h:

LayoutTests:

  • fast/line-grid/line-grid-snap-parsing-expected.txt:
  • fast/line-grid/script-tests/line-grid-snap-parsing.js:
11:00 Changeset [105428] by tony@chromium.org

Enable use of precompiled headers in Chromium port on Windows.

Bug 76381 - Use precompiled headers in Chromium port on Windows
https://bugs.webkit.org/show_bug.cgi?id=76381

Patch by Joi Sigurdsson <joi@chromium.org> on 2012-01-19
Reviewed by Tony Chang.

Source/JavaScriptCore:

Source/Platform:

  • Platform.gyp/Platform.gyp: Include WinPrecompile.gypi.

Source/WebCore:

No new tests needed; if the change builds and existing tests pass
that should provide enough coverage.

  • WebCore.gyp/WebCore.gyp: Include WinPrecompile.gypi.

Source/WebKit/chromium:

  • WebKit.gyp: Include WinPrecompile.gypi.
  • WinPrecompile.cpp: Added.
  • WinPrecompile.gypi: Added.
  • WinPrecompile.h: Added.

Source/WTF:

  • WTF.gyp/WTF.gyp: Include WinPrecompile.gypi.
10:57 Changeset [105427] by vsevik@chromium.org

Web Inspector: Switching tabs in TabbedEditorContainer should reveal selected script in navigator.
https://bugs.webkit.org/show_bug.cgi?id=76636

Reviewed by Pavel Feldman.

Renamed FileSelector's ScriptSelected event into FileSelected, added EditorSelected
event to EditorContainer.
Renamed _showSourceFrame into _showFile.
Made _uiSourceCodeRemoved reuse _removeSourceFrame.

  • inspector/front-end/ScriptsNavigator.js:

(WebInspector.ScriptsNavigator.prototype.scriptSelected):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
(WebInspector.ScriptsPanel.prototype._showAndRevealInFileSelector):
(WebInspector.ScriptsPanel.prototype._editorSelected):
(WebInspector.ScriptsPanel.prototype._fileSelected):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):

  • inspector/front-end/TabbedEditorContainer.js:

(WebInspector.TabbedEditorContainer):
(WebInspector.TabbedEditorContainer.prototype._tabSelected):

10:55 Changeset [105426] by mihnea@adobe.com

[CSSRegions]Add support for background-color in region styling
https://bugs.webkit.org/show_bug.cgi?id=71488

Reviewed by David Hyatt.

Source/WebCore:

This patch enables region styling again. The region styling tests were also added back.
With the improvements from https://bugs.webkit.org/show_bug.cgi?id=76265, hopefully we will not see the same 3% regressions
in performance.

  • rendering/RenderObject.h:

(WebCore::RenderObject::style):

LayoutTests:

Add back the region styling tests.

  • platform/mac-snowleopard/Skipped:
10:53 Changeset [105425] by jer.noble@apple.com

Crash at WebCore::MediaControlRootElement::makeOpaque + 97
https://bugs.webkit.org/show_bug.cgi?id=76391

Reviewed by John Sullivan.

No new tests; Speculative fix for crash.

Crash report data suggests this crash is occurring as the document is being
closed. Check the nullity of document()->page() before deref-ing.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelElement::makeOpaque):

10:36 Changeset [105424] by kov@webkit.org

Rubber-stamped by Martin Robinson.

  • Source/autotools/symbols.filter: try to fix the 32 bits release

bot by also adding the symbol it generates

10:05 Changeset [105423] by commit-queue@webkit.org

Layout Test fast/text/international/spaces-combined-in-vertical-text.html is failing
https://bugs.webkit.org/show_bug.cgi?id=75787

Patch by Ken Buchanan <kenrb@chromium.org> on 2012-01-19
Reviewed by Simon Fraser.

This is a tweak to my patch in r104322. On some platforms
RenderCombineText::combineText() can abort early during inline
iteration, causing this loop in skipLeadingWhitespace to spin,
hence the layout test timeouts. This patch accounts for that
condition and makes the loop iteration more robust.

No new test because this is fixing a failure on an existing test.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):

09:54 Changeset [105422] by kerz@chromium.org

clean up branch expectations

09:52 Changeset [105421] by jer.noble@apple.com

HRTFPanner not rendering correctly on mac port
https://bugs.webkit.org/show_bug.cgi?id=76397

Reviewed by Eric Carlson.

No new tests; HRTF results are currently not testable.

Re-generate the Composite.wav file from its constituent azimuth & elevation files.

  • platform/audio/resources/Composite.wav:
09:45 Changeset [105420] by hyatt@apple.com

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

Fix crash when nested line grids are used. Make sure to bail out if no line grid
is found rather than crashing.

Reviewed by Dan Bernstein.

Source/WebCore:

Added fast/line-grid/line-grid-nested.html.

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::establishLineGrid):

LayoutTests:

  • fast/line-grid/line-grid-nested-expected.txt: Added.
  • fast/line-grid/line-grid-nested.html: Added.
09:40 Changeset [105419] by carlosgc@webkit.org

[GTK] WebKit2 GTK+ API public headers are not installed
https://bugs.webkit.org/show_bug.cgi?id=76626

Reviewed by Martin Robinson.

  • GNUmakefile.am: Rename webkit2gtk_headers as

libwebkit2gtkinclude_HEADERS to match libwebkit2gtkincludedir so
that headers are installed during make install.

09:34 Changeset [105418] by commit-queue@webkit.org

[Chromium] A Skia roll will break some tests - marking as expected
https://bugs.webkit.org/show_bug.cgi?id=76638

Unreviewed test_expectations update.

Patch by Stephen Chenney <schenney@chromium.org> on 2012-01-19

  • platform/chromium/test_expectations.txt:
09:30 Changeset [105417] by carlosgc@webkit.org

[GTK] Add print-backgrounds setting to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=76616

Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_print_backgrounds):
(webkit_settings_set_print_backgrounds):

  • UIProcess/API/gtk/WebKitSettings.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
  • UIProcess/API/gtk/tests/TestWebKitSettings.cpp:

(testWebKitSettings):

08:55 Changeset [105416] by enrica@apple.com

editingAttributedStringFromRange in WebHTMLConverter does not handle NSUnderlineStyleAttributeName.
https://bugs.webkit.org/show_bug.cgi?id=76588
<rdar://problem/9325183>

Source/WebCore:

Reviewed by Dan Bernstein.

Added TestWebKitAPI test.

  • platform/mac/HTMLConverter.mm:

(+[WebHTMLConverter editingAttributedStringFromRange:]):

Tools:

Added test.

Reviewed by Dan Bernstein.

  • TestWebKitAPI/Tests/mac/InspectorBar.mm:

(TestWebKitAPI::TEST):

08:39 Changeset [105415] by apavlov@chromium.org

Web Inspector: Implement screen resolution emulation backend
https://bugs.webkit.org/show_bug.cgi?id=76532

Reviewed by Pavel Feldman.

Source/WebCore:

The emulation affects [min-|max-]device-(width|height) media queries, window.screen.(width|height),
and window.inner(Width|Height).

Test: inspector/styles/override-screen-size.html

  • css/MediaQueryEvaluator.cpp:

(WebCore::device_heightMediaFeatureEval): Apply device-height override if necessary.
(WebCore::device_widthMediaFeatureEval): Apply device-width override if necessary.

  • inspector/Inspector.json:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::InspectorCSSAgent):
(WebCore::InspectorCSSAgent::startSelectorProfiler):
(WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
(WebCore::InspectorCSSAgent::willMatchRule):
(WebCore::InspectorCSSAgent::didMatchRule):
(WebCore::InspectorCSSAgent::willProcessRule):
(WebCore::InspectorCSSAgent::didProcessRule):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::applyScreenWidthOverrideImpl):
(WebCore::InspectorInstrumentation::applyScreenHeightOverrideImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::applyScreenWidthOverride):
(WebCore::InspectorInstrumentation::applyScreenHeightOverride):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::restore):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::setScreenSizeOverride):
(WebCore::InspectorPageAgent::applyScreenWidthOverride):
(WebCore::InspectorPageAgent::applyScreenHeightOverride):
(WebCore::InspectorPageAgent::updateFrameViewFixedLayout):
(WebCore::InspectorPageAgent::clearFrameViewFixedLayout):
(WebCore::InspectorPageAgent::setFrameViewFixedLayout):

  • inspector/InspectorPageAgent.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::innerHeight): Apply height override if necessary.
(WebCore::DOMWindow::innerWidth): Apply width override if necessary.

  • page/Screen.cpp:

(WebCore::Screen::height): Apply height override if necessary.
(WebCore::Screen::width): Apply width override if necessary.

LayoutTests:

  • inspector/styles/override-screen-size-expected.txt: Added.
  • inspector/styles/override-screen-size.html: Added.
08:36 Changeset [105414] by philn@webkit.org

Unreviewed, GTK test_expectations update for a new failing test.

  • platform/gtk/test_expectations.txt:
07:37 Changeset [105413] by jocelyn.turcotte@nokia.com

[Qt] Handle the layers visible rect calculation on the web process.
https://bugs.webkit.org/show_bug.cgi?id=74720

Reviewed by Noam Rosenthal.

Source/WebCore:

Remove all visible rect calculation related code from TextureMapperNode.

  • platform/graphics/texmap/TextureMapperNode.cpp:
  • platform/graphics/texmap/TextureMapperNode.h:

Source/WebKit2:

The layers now get their visible rect on the web process through the
root layer when the UI process call setVisibleContentRectAndScale,
previously only used for the non-composited content layer.
The rect is then carried down the layers in the tree which apply it the inverse
of their transform before handing it to their tiled backing store.

This ensures that new layers get a proper visible rect right on creation,
and also that simultaneous visible rect and scale changes are applied synchronously.

This patch also uses clampedBoundsOfProjectedQuad instead of mapRect
to transform the visible rect correctly for 3D transformed layers.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::initializeDesktop):
(QQuickWebViewPrivate::initializeTouch):
(QQuickWebViewPrivate::updateDesktopViewportSize):
(QQuickWebViewPrivate::updateTouchViewportSize):
(QQuickWebView::geometryChanged):
Make sure that the visible rect is updated for the desktop view as well.

  • UIProcess/API/qt/qquickwebview_p_p.h:
  • UIProcess/LayerTreeHostProxy.h:
  • UIProcess/qt/LayerTreeHostProxyQt.cpp:

(WebKit::LayerTreeHostProxy::paintToCurrentGLContext):

  • WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:

(WebCore::WebGraphicsLayer::setChildren):
(WebCore::WebGraphicsLayer::addChild):
(WebCore::WebGraphicsLayer::addChildAtIndex):
(WebCore::WebGraphicsLayer::addChildAbove):
(WebCore::WebGraphicsLayer::addChildBelow):
(WebCore::WebGraphicsLayer::replaceChild):
(WebCore::WebGraphicsLayer::setMaskLayer):
(WebCore::WebGraphicsLayer::syncCompositingState):
(WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
(WebCore::WebGraphicsLayer::setVisibleContentRectAndScale):
(WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::WebGraphicsLayer::computeTransformedVisibleRect):

  • WebProcess/WebCoreSupport/WebGraphicsLayer.h:
  • WebProcess/WebPage/LayerTreeHost.messages.in:
  • WebProcess/WebPage/qt/LayerTreeHostQt.cpp:

(WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):

  • WebProcess/WebPage/qt/LayerTreeHostQt.h:
07:27 Changeset [105412] by philn@webkit.org

Unreviewed, GTK gardening skipping 3 new test failures.

  • platform/gtk/Skipped:
07:12 Changeset [105411] by vsevik@chromium.org

Unreviewed, unskip passing test.

  • platform/qt/Skipped:
07:05 Changeset [105410] by vsevik@chromium.org

Web Inspector: Improve focus switching in scripts panel.
https://bugs.webkit.org/show_bug.cgi?id=76628

Reviewed by Pavel Feldman.

  • inspector/front-end/Dialog.js:

(WebInspector.Dialog.prototype._hide):

  • inspector/front-end/FilteredItemSelectionDialog.js:

(WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
(WebInspector.JavaScriptOutlineDialog.prototype.selectItem):

  • inspector/front-end/ScriptsNavigator.js:

(WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._showSourceLine):

05:56 Changeset [105409] by vsevik@chromium.org

Web Inspector: Add isSelfOrAnsector and isSelfOrDescendant methods to utilities.
https://bugs.webkit.org/show_bug.cgi?id=76618

Added isSelfOrAncestor, isSelfOrDescendant and WebInspector.restoreFocusFromElement methods.

Reviewed by Pavel Feldman.

  • inspector/front-end/Drawer.js:
  • inspector/front-end/HelpScreen.js:

(WebInspector.HelpScreen.prototype._onBlur):

  • inspector/front-end/MetricsSidebarPane.js:

(WebInspector.MetricsSidebarPane.prototype._handleKeyDown):

  • inspector/front-end/Popover.js:
  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype.showUISourceCode):

  • inspector/front-end/StylesSidebarPane.js:

():

  • inspector/front-end/TextPrompt.js:

(WebInspector.TextPrompt.prototype.detach):
(WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):

  • inspector/front-end/TextViewer.js:

(WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
(WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):

  • inspector/front-end/UIUtils.js:

(WebInspector.startEditing.cleanUpAfterEditing):
(WebInspector.restoreFocusFromElement):

  • inspector/front-end/utilities.js:

(Element.prototype.isInsertionCaretInside):
():

05:53 Changeset [105408] by kling@webkit.org

DynamicNodeList: Simplify internal Caches object.
<http://webkit.org/b/76600>

Reviewed by Ryosuke Niwa.

Move m_caches from DynamicSubtreeNodeList and ChildNodeList up into DynamicNodeList.
Remove the inheritance from RefCounted and store it simply as "Caches m_caches"
This avoids one heap allocation per DynamicNodeList. Also reordered the Caches members
to pack slightly better on 64-bit.

  • dom/ChildNodeList.cpp:

(WebCore::ChildNodeList::ChildNodeList):
(WebCore::ChildNodeList::length):
(WebCore::ChildNodeList::item):

  • dom/ChildNodeList.h:
  • dom/DynamicNodeList.cpp:

(WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
(WebCore::DynamicSubtreeNodeList::length):
(WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::item):

  • dom/DynamicNodeList.h:

(WebCore::DynamicNodeList::invalidateCache):

  • dom/Node.cpp:

(WebCore::NodeRareData::clearChildNodeListCache):

05:47 Changeset [105407] by vsevik@chromium.org

Web Inspector: TabbedPane closeAllTabs does not close all tabs.
https://bugs.webkit.org/show_bug.cgi?id=76624

Reviewed by Pavel Feldman.

  • inspector/front-end/ScriptsPanel.js:
  • inspector/front-end/TabbedPane.js:

(WebInspector.TabbedPane.prototype.closeAllTabs):

05:32 Changeset [105406] by rwlbuis@webkit.org

image/pjpeg not supported for decoding on BlackBerry platform
https://bugs.webkit.org/show_bug.cgi?id=76595

Reviewed by Antonio Gomes.

Add image/pjpeg as one of the supported types for image decoding on BlackBerry platform.

  • platform/MIMETypeRegistry.cpp:

(WebCore::initializeSupportedImageMIMETypes):

05:04 Changeset [105405] by ossy@webkit.org

[Qt] Unreviewed gardening. Skip new failing tests.

  • platform/qt-wk2/Skipped:
  • platform/qt/Skipped:
05:03 Changeset [105404] by commit-queue@webkit.org

Unreviewed, rolling out r105402.
http://trac.webkit.org/changeset/105402
https://bugs.webkit.org/show_bug.cgi?id=76623

Layout test problems (Requested by WildFox on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-19

Source/WebCore:

  • css/svg.css:

(svg):

  • rendering/RenderBox.h:

(WebCore::RenderBox::computeIntrinsicRatioInformation):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::computeReplacedLogicalWidth):
(WebCore::RenderImage::computeIntrinsicRatioInformation):

  • rendering/RenderImage.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::computeReplacedLogicalWidth):
(WebCore::RenderReplaced::logicalHeightIsAuto):
(WebCore::RenderReplaced::computeReplacedLogicalHeight):

  • rendering/RenderReplaced.h:
  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):

  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGViewportContainer.h:
  • svg/SVGLengthContext.cpp:

(WebCore::SVGLengthContext::determineViewport):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::viewport):
(WebCore::SVGSVGElement::parseMappedAttribute):
(WebCore::updateCSSForAttribute):
(WebCore::SVGSVGElement::svgAttributeChanged):
(WebCore::SVGSVGElement::localCoordinateSpaceTransform):
(WebCore::SVGSVGElement::currentViewBoxRect):

  • svg/SVGSVGElement.h:
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::size):
(WebCore::SVGImage::computeIntrinsicDimensions):

  • svg/graphics/SVGImage.h:

LayoutTests:

  • platform/mac/svg/custom/dynamic-empty-path-expected.png:
  • platform/mac/svg/custom/fractional-rects-expected.png:
  • platform/mac/svg/custom/js-update-container-expected.png:
  • platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png:
  • platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt:
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png:
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt:
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png:
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt:
  • platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png:
  • platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt:
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png:
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt:
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png:
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt:
  • platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.png:
  • platform/mac/svg/custom/viewBox-hit-expected.png:
  • platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png:
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.png:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.png:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt:
  • svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml:
  • svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml:
  • svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml:
  • svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml:
  • svg/foreignObject/text-tref-02-b-expected.txt:
04:59 Changeset [105403] by alexis.menard@openbossa.org

Strange Result for getComputedStyle on borderWidth set in em
https://bugs.webkit.org/show_bug.cgi?id=18294

Reviewed by Tony Chang.

Source/WebCore:

BorderValue stores its width on a 12 bits unsigned. This patch
increase it to 27. The patch also modify the way to set the
width or to get it, we now use a unsigned rather than a short.

Test: fast/css/border-width-large.html

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeLength):

  • css/CSSStyleApplyProperty.cpp:

(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

  • page/animation/AnimationBase.cpp:

(WebCore::blendFunc):
(WebCore::AnimationBase::ensurePropertyMap):

  • platform/animation/AnimationUtilities.h:

(WebCore::blend):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):

  • rendering/style/BorderData.h:

(WebCore::BorderData::borderLeftWidth):
(WebCore::BorderData::borderRightWidth):
(WebCore::BorderData::borderTopWidth):
(WebCore::BorderData::borderBottomWidth):

  • rendering/style/BorderValue.h:

(WebCore::BorderValue::width):

  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:

(WebCore::RenderStyleBitfields::borderLeftWidth):
(WebCore::RenderStyleBitfields::borderRightWidth):
(WebCore::RenderStyleBitfields::borderTopWidth):
(WebCore::RenderStyleBitfields::borderBottomWidth):
(WebCore::RenderStyleBitfields::setBorderLeftWidth):
(WebCore::RenderStyleBitfields::setBorderRightWidth):
(WebCore::RenderStyleBitfields::setBorderTopWidth):
(WebCore::RenderStyleBitfields::setBorderBottomWidth):
(WebCore::RenderStyleBitfields::initialBorderWidth):
(WebCore::RenderStyleBitfields::initialColumnRuleWidth):
(WebCore::RenderStyleBitfields::initialOutlineWidth):

LayoutTests:

This test covers that setting big values to border-width will
return correct values.

  • fast/css/border-width-large-expected.txt: Added.
  • fast/css/border-width-large.html: Added.
04:41 Changeset [105402] by zimmermann@webkit.org

Differentiate between SVG/CSS width/height attributes/properties
https://bugs.webkit.org/show_bug.cgi?id=76447

Reviewed by Antti Koivisto.

Source/WebCore:

Remove a gazillion of hacks out of our SVG implementation, by correctly differentiating between the
SVG width/height attributes and the CSS width/height properties. They need to be treated independently
when handling the intrinsic size negotiation, according to both CSS 2.1 & SVG 1.1 2nd Edition specs.

Fixes several bugs in the LayoutTests/svg/custom/*object*sizing tests, we now match Opera perfectly. FF still has some bugs, and IE9 as well.

  • css/svg.css: Remove hardcoded, width/height: 100% on <svg>.
  • rendering/RenderBox.h:

(WebCore::RenderBox::computeIntrinsicRatioInformation): Make 'intrinsicRatio' a float, and add 'intrinsicSize' as seperated FloatSize, to avoid confusion.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): Add forgotton case for percentage intrinsic sizes, that lead to workarounds in other places, that can now be removed.

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::computeReplacedLogicalWidth): Directly use imageHasRelativeWidth/Height(), it does differentiate between SVG/CSS width/height attributes/properties now.
(WebCore::RenderImage::computeIntrinsicRatioInformation): Adapt to 'intrinsicRatio' argument change.

  • rendering/RenderImage.h: Ditto.
  • rendering/RenderReplaced.cpp: Refactor existing code, break out firstContainingBlockWithLogicalWidth/hasReplacedLogicalWidth/hasReplacedLogicalHeight/hasAutoHeightOrContainingBlockWithAutoHeight.

(WebCore::firstContainingBlockWithLogicalWidth): Refactored.
(WebCore::RenderReplaced::hasReplacedLogicalWidth): Refactored, and exported, so SVGSVGElement::widthAttributeEstablishesViewport() can use it.
(WebCore::hasAutoHeightOrContainingBlockWithAutoHeight): Refactored.
(WebCore::RenderReplaced::hasReplacedLogicalHeight): Refactored, and exported, so SVGSVGElement::heightAttributeEstablishesViewport() can use it.
(WebCore::RenderReplaced::computeReplacedLogicalWidth): Adapt to 'intrinsicRatio' changes ('intrinsicSize' is now decoupled from it). Refactor so that RenderSVGRoot can directly use it as well!
(WebCore::RenderReplaced::computeReplacedLogicalHeight): Ditto.

  • rendering/RenderReplaced.h:
  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation): Only determine the intrinsic size & ratio using the SVG width/height attributes, not the CSS width/height properties, as it's specified.
(WebCore::resolveLengthAttributeForSVG): Helper function for computeReplacedLogicalWidth/Height, that scales Length values that come from SVG width/height attributes.
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Finally remove home-brewn size computation logic - it can be fully shared with RenderReplaced now that we inherit from it.
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.

  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGViewportContainer.h:

(WebCore::RenderSVGViewportContainer::viewport): Export viewport() for easier length resolution.

  • svg/SVGLengthContext.cpp:

(WebCore::SVGLengthContext::determineViewport): Finally clean up this hell, and make it easy to understand. Only need to resolve lengths against either RenderSVGRoot or RenderSVGViewportContainer now.

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::viewport): Remove wrong code and disable this. Its not used, and we have no test coverage for it. Its current implementation didn't make any sense.
(WebCore::SVGSVGElement::parseMappedAttribute): Remove hacks mapping SVG width/height attributes to CSS properties.
(WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
(WebCore::SVGSVGElement::localCoordinateSpaceTransform): Refactored.
(WebCore::SVGSVGElement::currentViewBoxRect): Ditto.
(WebCore::SVGSVGElement::currentViewportSize): Ditto.
(WebCore::SVGSVGElement::widthAttributeEstablishesViewport): Main logic determining if the SVG or CSS properties establish the viewport - a direct transliteration from the spec.
(WebCore::SVGSVGElement::heightAttributeEstablishesViewport): Ditto.
(WebCore::SVGSVGElement::intrinsicWidth): Helper.
(WebCore::SVGSVGElement::intrinsicHeight): Ditto.

  • svg/SVGSVGElement.h:
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::size): Cleanup code.
(WebCore::SVGImage::hasRelativeWidth): Added, avoids hacks in RenderBoxModelObject.
(WebCore::SVGImage::hasRelativeHeight): Ditto.
(WebCore::SVGImage::computeIntrinsicDimensions): Make use of new SVGSVGElement::computeIntrinsicDimensions.

  • svg/graphics/SVGImage.h:

LayoutTests:

Update SVG pixel test baseline.

  • platform/mac/svg/custom/dynamic-empty-path-expected.png: Marginal changes.
  • platform/mac/svg/custom/fractional-rects-expected.png: Ditto.
  • platform/mac/svg/custom/js-update-container-expected.png: Ditto.
  • platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png: Align with Opera, gives same result now. All *object*sizing* tests are passing now.
  • platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Ditto.
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png: Ditto.
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Ditto.
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png: Ditto.
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Ditto.
  • platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png: Ditto.
  • platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Ditto.
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png: Ditto.
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Ditto.
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png: Ditto.
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Ditto.
  • platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.png: Marginal changes.
  • platform/mac/svg/custom/viewBox-hit-expected.png: Ditto.
  • platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png: Ditto.
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.png: Ditto.
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png: Ditto.
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt: Ditto.
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.png: Ditto.
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt: Ditto.
  • svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml: Fix test, now that our bug is fixed.
  • svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml: Ditto.
  • svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml: Ditto.
  • svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml: Ditto.
  • svg/foreignObject/text-tref-02-b-expected.txt: Size is not reported anymore.
04:17 Changeset [105401] by zimmermann@webkit.org

RenderSVGRoot should inherit from RenderReplaced
https://bugs.webkit.org/show_bug.cgi?id=76446

Reviewed by Pavel Feldman.

Fix Chromium specific problem with svg/text/select-x-list-4.svg, making it fail on the bots.
After transforming the endPos.x + 1 -> absEndPos.x, subtract -1 again, to be sure we don't
select text too far after the end position, making the selection currently disappear, which
is a bug, but can be avoided in this testcase.

  • platform/chromium/test_expectations.txt: Unskip test.
  • svg/text/resources/SelectionTestCase.js:

(selectRange): Subtract -1 from absEndPos.x.

03:18 Changeset [105400] by vestbo@webkit.org

[Qt] Do full incremental builds until bots use update-webkit

Rubber-stamped by Simon Hausmann.

03:06 Changeset [105399] by vestbo@webkit.org

Fix the Qt build

Unreviewed build fix.

  • Scripts/webkitdirs.pm:

(buildQMakeProjects):

03:00 Changeset [105398] by vestbo@webkit.org

[Qt] Make build-webkit always do safe incremental builds after update-webkit

When building against Qt5 with GCC we would just run 'make' in the build dir,
and rely on the dependency files output by GCC (-MD) to handle dependency
tracking, but that fails for special-cases like adding a Q_OBJECT macro
to a header.

To guarantee that an incrmental build will work, we have to run 'make qmake',
which we now do on every build-webkit that's followed by a successful run
of update-webkit. The reasoning is that update-webkit can result in such
potential corner-cases being applied, and since we can't know for sure
unless we inspect the diff and account for all the corner cases we assume
the worst and always run 'make qmake'.

After a succesful run of build-webkit we proceed to do just 'make' for any
subsequent runs, since we assume that the developer knows what kind of
changes he/she is doing, and when a 'make qmake' is needed.

Reviewed by Simon Hausmann.

02:24 Changeset [105397] by ossy@webkit.org

[Qt] Unreviewed gardening. Unskip now passing tests.

  • platform/qt-5.0/Skipped:
  • platform/qt-wk2/Skipped:
02:16 Changeset [105396] by rniwa@webkit.org

drop event isn't fired for contentEditable in edit drag
https://bugs.webkit.org/show_bug.cgi?id=57185

Reviewed by Adam Barth.

Source/WebCore:

Dispatch drop and dragend events after edit drag per HTML5 spec:
http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#drag-and-drop-processing-model

There are two major differences between the spec and WebKit's new behavior:

While the spec says we have to insert the dragged contents immediately after dispatching drop event
and delete the source in the default event handler of dragend event, doing so in WebKit is extremely
difficult because of the way we manage the selection. Instead, we continue to delete the source
and insert the dragged contents immediately after the drop event; this behavior matches that of Firefox 9.

When the dragged contents and the destination of the move is in the same text node, ReplaceSelectionCommand
may end up replacing it with a new text node. But this removal causes a problem when EventHandler uses
the node to dispatch dragend event because the node is "orphaned" from its parent at that point. To mitigate
this issue, we update the dragState's m_dragSrc when the node is orphaned by the edit drag. While this behavior
may differ from the spec and other browsers, not delivering dragend to the editing host seems strictly worse than
dispatching it at the slightly wrong target.

Tests: fast/events/moving-text-should-fire-drop-and-dragend-events-2.html

fast/events/moving-text-should-fire-drop-and-dragend-events.html

  • page/DragController.cpp:

(WebCore::DragController::performDrag): Dispatch drop event even when m_isHandlingDrag is true as long
as DragDestinationActionDHTML is an acceptable action.
(WebCore::DragController::concludeEditDrag): Call updateDragStateAfterEditDragIfNeeded after inserting
the dragged contents. This is necessary when ReplaceSelectionCommand or MoveSelectionCommand modifies
the source node while inserting the dragged contents.

  • page/EventHandler.cpp:

(WebCore::EventHandler::performDragAndDrop): Clear the drag state only if drop event's default action
was prevented so that we dispatch dragevent event later.
(WebCore::EventHandler::updateDragStateAfterEditDragIfNeeded): Update dragState's m_dragSrc when the node
is orphaned. See above for the rationale.

  • page/EventHandler.h:

LayoutTests:

Added tests ensure moving text in contenteditable regions fire dragstart, drop, and dragend events.

  • fast/events/moving-text-should-fire-drop-and-dragend-events-2-expected.txt: Added.
  • fast/events/moving-text-should-fire-drop-and-dragend-events-2.html: Added.
  • fast/events/moving-text-should-fire-drop-and-dragend-events-expected.txt: Added.
  • fast/events/moving-text-should-fire-drop-and-dragend-events.html: Added.
01:58 Changeset [105395] by kinuko@chromium.org

Cleanup: Move chrome-specific filesystem type handling code (for FileSystem API) under chromium directory
https://bugs.webkit.org/show_bug.cgi?id=76551

Reviewed by Darin Fisher.

WebKit-svn/Source/WebCore:

Moved the implementation of crackFileSystemURL() and toURL() from
WebCore/fileapi/DOMFileSystemBase into WebCore/platform/AsyncFileSystem
so that each platform can extend/implement their behavior if necessary.

No new tests since this patch has no functionality changes. (Existing
tests should pass)

  • fileapi/DOMFileSystemBase.cpp: Moved the implementation of

crackFileSystemURL() to AsyncFileSystem
(WebCore::DOMFileSystemBase::crackFileSystemURL):

  • fileapi/DOMFileSystemBase.h:
  • fileapi/EntryBase.cpp: Moved the implementation of toURL() to AsyncFileSystem

(WebCore::EntryBase::toURL):

  • page/DOMWindow.cpp: Removed chrome-specific type handling code.

(WebCore::DOMWindow::webkitRequestFileSystem):

  • page/DOMWindow.h: Removed chrome-specific filesystem type

(EXTERNAL).

  • platform/AsyncFileSystem.cpp: Added default implementation of toURL() and crackFileSystemURL()

(WebCore::AsyncFileSystem::toURL):
(WebCore::AsyncFileSystem::crackFileSystemURL):

  • platform/AsyncFileSystem.h:
  • workers/WorkerContext.cpp: Removed chrome-specific type handling code.

(WebCore::WorkerContext::webkitRequestFileSystem):
(WebCore::WorkerContext::webkitRequestFileSystemSync):

WebKit-svn/Source/WebKit/chromium:

  • src/AssertMatchingEnums.cpp: Removed matching assertion for TypeExternal as it's no longer defined separately.
  • src/AsyncFileSystemChromium.cpp: Added crackFileSystemURL() and toURL() implementation that

handle chrome-specific filesystem type (EXTERNAL) as well as regular TEMPORARY/PERSISTENT types.
(WebCore::AsyncFileSystem::crackFileSystemURL): Added.
(WebCore::AsyncFileSystemChromium::toURL): Added.

  • src/AsyncFileSystemChromium.h:
01:22 Changeset [105394] by mihnea@adobe.com

Cache RenderStyle pointer as a method to avoid performance regression for region styling
https://bugs.webkit.org/show_bug.cgi?id=76265

Reviewed by David Hyatt.

No new tests since this is just refactoring.
When region styling was enabled in https://bugs.webkit.org/show_bug.cgi?id=71488,
it introduced a performance regression due to the change of RenderObject::style() method.
This patch tries to avoid a new performance regression when region styling will be enabled again.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::styleWillChange):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::computePreferredLogicalWidths):
(WebCore::getBorderPaddingMargin):
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::willBeDestroyed):
(WebCore::RenderBox::styleWillChange):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateBoxModelInfoFromStyle):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::computeLogicalWidthUsing):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::computePositionedLogicalHeight):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::styleWillChange):
(WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::styleDidChange):

  • rendering/RenderText.cpp:

(WebCore::RenderText::styleDidChange):
(WebCore::RenderText::computePreferredLogicalWidths):

01:08 Changeset [105393] by commit-queue@webkit.org

[Chromium] Random characters got rendered as empty boxes or with incorrect glyphs even when a font is present
https://bugs.webkit.org/show_bug.cgi?id=76508

Patch by Kazuhiro Inaba <kinaba@chromium.org> on 2012-01-19
Reviewed by Kent Tamura.

Wrapped GetGlyphIndices() API calls so that when they failed we trigger font
loading outside the sandbox and retry the call.

No new auto tests since the bug involves the system's occasional cache behavior
and thus there's no reliable way to reproduce and test the situation.

  • platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:

(WebCore::getGlyphIndices):
GDI call wrapper ensuring fonts to be loaded.
(WebCore::initSpaceGlyph):
Changed to use the wrapper function.
(WebCore::fillBMPGlyphs):
Changed to use the wrapper function.
Introduced scoped HDC management by HWndDC.
(WebCore::GlyphPage::fill):

00:58 Changeset [105392] by dmazzoni@google.com

Unreviewed - re-enables tests on chromium-mac by making minor changes to cause the expectations to be identical on all Chromium configurations.

00:31 Changeset [105391] by abarth@webkit.org

createAttributeNS should understand that "xmlns" is allowed in the http://www.w3.org/2000/xmlns/
https://bugs.webkit.org/show_bug.cgi?id=76579

Reviewed by Eric Seidel.

Source/WebCore:

This patch cleans up a tiny corner case involving the (somewhat
magical) xmlns attribute that we uncovered when working on
setAttributeNS.

Tests: fast/dom/Document/createAttributeNS-namespace-err.html

  • dom/Document.cpp:

(WebCore::Document::importNode):
(WebCore::Document::hasValidNamespaceForElements):
(WebCore::Document::hasValidNamespaceForAttributes):
(WebCore::Document::createElementNS):
(WebCore::Document::createAttributeNS):

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::Element::setAttributeNS):

LayoutTests:

  • fast/dom/Document/createAttributeNS-namespace-err-expected.txt:
  • fast/dom/Document/script-tests/createAttributeNS-namespace-err.js:
00:29 Changeset [105390] by rolandsteiner@chromium.org

Unreviewed build fix for DEBUG: remove comparison of an unsigned variable with '>= 0' in ASSERT.

No new tests. (no functionality change)

  • webaudio/AudioNodeOutput.cpp:

(WebCore::AudioNodeOutput::AudioNodeOutput):

01/18/12:

23:52 Changeset [105389] by commit-queue@webkit.org

[v8] Low efficiency of writing long string from web application to plugin.
https://bugs.webkit.org/show_bug.cgi?id=76592

The efficiency will be improved by 300 times in the best case, when the
size of string reaches 1MB.

Patch by Li Yin <li.yin@intel.com> on 2012-01-18
Reviewed by Adam Barth.

  • bindings/v8/V8NPUtils.cpp:

(WebCore::convertV8ObjectToNPVariant):

23:39 Changeset [105388] by abarth@webkit.org

Assigning to Element.prefix should throw exception when using illegal characters
https://bugs.webkit.org/show_bug.cgi?id=76589

Reviewed by Eric Seidel.

This patch fixes a FIXME and implements the INVALID_CHARACTER_ERR
exception described in
http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSPrefix

Tests: fast/dom/Element/prefix-setter-exception.html

  • dom/Node.cpp:

(WebCore::isValidNameStartCharacter):
(WebCore::isValidNameCharacter):
(WebCore::hasInvalidValidNameCharacters):
(WebCore::Node::checkSetPrefix):

23:05 Changeset [105387] by commit-queue@webkit.org

ShadowContent query should be able to have fallback elements.
https://bugs.webkit.org/show_bug.cgi?id=75306

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-18
Reviewed by Hajime Morita.

Source/WebCore:

When no elements are selected by a shadow content element selector query,
light children are selected as a fallback elements.

Test: fast/dom/shadow/shadow-contents-fallback.html

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::NodeRenderingContext):

Considers fallback phase. When no elements are chosen, the phase is set to 'fallback'.

(WebCore::NodeRenderingContext::nextRenderer):

Takes fallback phase into account.

(WebCore::NodeRenderingContext::previousRenderer): ditto.

  • dom/NodeRenderingContext.h:
  • html/shadow/HTMLContentElement.cpp:

(WebCore::HTMLContentElement::attach):

Calculates inclusions before attaching light children.

  • html/shadow/HTMLContentElement.h:

(WebCore::HTMLContentElement::hasInclusion):

LayoutTests:

  • fast/dom/shadow/shadow-contents-fallback-expected.txt: Added.
  • fast/dom/shadow/shadow-contents-fallback.html: Added.
22:51 Changeset [105386] by tkent@chromium.org

REGRESSION(r100111): A 'change' event does not fire when a mouse drag
occurs to switch elements in a listbox <select>
https://bugs.webkit.org/show_bug.cgi?id=76244

Reviewed by Hajime Morita.

Source/WebCore:

Test: fast/forms/select/listbox-drag-in-non-multiple.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::updateSelectedState):
Do not update m_activeSelectionState for non-multiple <select>.
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
Use setActiveSelection*Index() and updateListBoxSelection(true) instead
of updateSelectedState() because updateSelectedState() updates
m_lastOnChangeSelection and will prevent the mouseup handler from
dispatching 'change' event.
We should not call listBoxOnChange() in the mousemove handler in order
to align the behavior of IE and Firefox.

LayoutTests:

  • fast/forms/resources/common.js:

(mouseMoveToIndexInListbox): Added.

  • fast/forms/select/listbox-drag-in-non-multiple-expected.txt: Added.
  • fast/forms/select/listbox-drag-in-non-multiple.html: Added.
22:30 Changeset [105385] by lforschler@apple.com

Versioning.

22:29 Changeset [105384] by lforschler@apple.com

New tag.

22:25 Changeset [105383] by lforschler@apple.com

Merge <rdar://problem/10516690>

22:11 Changeset [105382] by dgrogan@chromium.org

update resolve-url-sync-expected.txt
https://bugs.webkit.org/show_bug.cgi?id=76581

Reviewed by Eric Seidel.

  • http/tests/filesystem/workers/resolve-url-sync-expected.txt:
22:00 Changeset [105381] by rniwa@webkit.org

run-perf-tests should support Skipped list
https://bugs.webkit.org/show_bug.cgi?id=76594

Reviewed by Adam Barth.

PerformanceTests:

Add Skipped list to be used by run-perf-tests as it can only runs tests in
Bindings, Parser, and inspector at the moment.

  • Skipped: Added.

Tools:

Add a support for Skipped list in run-perf-tests; also skip files in resources directories.

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port.perf_tests_dir):
(Port.skipped_perf_tests):
(Port.skips_perf_test):
(Port.relative_perf_test_filename):

  • Scripts/webkitpy/layout_tests/port/test.py:

(TestPort.perf_tests_dir):

  • Scripts/webkitpy/layout_tests/port/webkit.py:

(WebKitPort._expectations_from_skipped_files):
(WebKitPort):
(WebKitPort.skipped_layout_tests):
(WebKitPort.skipped_perf_tests):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._collect_tests):
(PerfTestsRunner.run):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(test_run_test_set_with_json_output):
(test_run_test_set_with_json_source):
(test_collect_tests_with_skipped_list):
(test_collect_tests_with_skipped_list.add_file):

21:56 Changeset [105380] by tsepez@chromium.org

Pass content-security-policy directive into shared workers.
https://bugs.webkit.org/show_bug.cgi?id=75660

Reviewed by Darin Fisher.

  • public/WebContentSecurityPolicy.h: Added.
  • public/WebSharedWorker.h:

(WebKit::WebSharedWorker::startWorkerContext):

  • src/AssertMatchingEnums.cpp:
  • src/SharedWorkerRepository.cpp:

(WebCore::SharedWorkerScriptLoader::notifyFinished):

  • src/WebSharedWorkerImpl.cpp:

(WebKit::WebSharedWorkerImpl::startWorkerContext):

  • src/WebSharedWorkerImpl.h:
21:40 Changeset [105379] by eric@webkit.org

setAttributeNS should comply with the obscure rules of DOM2, just like createAttributeNS and createElementNS do
https://bugs.webkit.org/show_bug.cgi?id=76143

Reviewed by Adam Barth.

Source/WebCore:

Test: fast/dom/Element/setAttributeNS-namespace-err.html

  • dom/Element.cpp:

(WebCore::Element::setAttributeNS):

LayoutTests:

  • fast/dom/Element/script-tests/setAttributeNS-namespace-err.js: Added.

(assert):
(stringForExceptionCode):
(assertEquals):
(sourceify):
(runNSTests):

  • fast/dom/Element/setAttributeNS-namespace-err-expected.txt: Added.
  • fast/dom/Element/setAttributeNS-namespace-err.html: Added.
21:20 Changeset [105378] by rolandsteiner@chromium.org

Unreviewed, rolling out r105376.
http://trac.webkit.org/changeset/105376
https://bugs.webkit.org/show_bug.cgi?id=76601

Roll 76493 back in after discussion with jsbell (Requested by
rolandsteiner on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-18

Source/WebCore:

  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::injectIDBKeyIntoSerializedValue):

LayoutTests:

  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-autoincrement.html:
20:18 Changeset [105377] by commit-queue@webkit.org

[chromium] Create a base-class CCAnimation to represent compositor animations
https://bugs.webkit.org/show_bug.cgi?id=73233

Source/WebCore:

Adds a kernel for running animations on the chromium compositor
thread.

Patch by Ian Vollick <vollick@chromium.org> on 2012-01-18
Reviewed by Kenneth Russell.

  • WebCore.gypi:
  • platform/graphics/chromium/cc/CCActiveAnimation.cpp: Added.

(WebCore::CCActiveAnimation::CCActiveAnimation):
(WebCore::CCActiveAnimation::setRunState):
(WebCore::CCActiveAnimation::isFinishedAt):
(WebCore::CCActiveAnimation::trimTimeToCurrentIteration):

  • platform/graphics/chromium/cc/CCActiveAnimation.h: Added.

(WebCore::CCActiveAnimation::create):
(WebCore::CCActiveAnimation::~CCActiveAnimation):
(WebCore::CCActiveAnimation::group):
(WebCore::CCActiveAnimation::targetProperty):
(WebCore::CCActiveAnimation::runState):
(WebCore::CCActiveAnimation::iterations):
(WebCore::CCActiveAnimation::setIterations):
(WebCore::CCActiveAnimation::startTime):
(WebCore::CCActiveAnimation::setStartTime):
(WebCore::CCActiveAnimation::isFinished):
(WebCore::CCActiveAnimation::animationCurve):

  • platform/graphics/chromium/cc/CCAnimationCurve.cpp: Added.

(WebCore::CCAnimationCurve::toFloatAnimationCurve):
(WebCore::CCAnimationCurve::toTransformAnimationCurve):

  • platform/graphics/chromium/cc/CCAnimationCurve.h: Added.

(WebCore::CCAnimationCurve::~CCAnimationCurve):
(WebCore::CCFloatAnimationCurve::~CCFloatAnimationCurve):
(WebCore::CCFloatAnimationCurve::type):
(WebCore::CCTransformAnimationCurve::~CCTransformAnimationCurve):
(WebCore::CCTransformAnimationCurve::type):

  • platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: Added.

(WebCore::CCLayerAnimationControllerImpl::create):
(WebCore::CCLayerAnimationControllerImpl::CCLayerAnimationControllerImpl):
(WebCore::CCLayerAnimationControllerImpl::animate):
(WebCore::CCLayerAnimationControllerImpl::add):
(WebCore::CCLayerAnimationControllerImpl::getActiveAnimation):
(WebCore::CCLayerAnimationControllerImpl::hasActiveAnimation):
(WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
(WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
(WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
(WebCore::CCLayerAnimationControllerImpl::resolveConflicts):
(WebCore::CCLayerAnimationControllerImpl::purgeFinishedAnimations):
(WebCore::CCLayerAnimationControllerImpl::tickAnimations):

  • platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: Added.

(WebCore::CCLayerAnimationControllerImplClient::~CCLayerAnimationControllerImplClient):

Source/WebKit/chromium:

Patch by Ian Vollick <vollick@chromium.org> on 2012-01-18
Reviewed by Kenneth Russell.

  • WebKit.gypi:
  • tests/CCActiveAnimationTest.cpp: Added.

(WebCore::FakeFloatAnimation::duration):
(WebCore::FakeFloatAnimation::getValue):
(WebCore::createActiveAnimation):
(WebCore::TEST):

  • tests/CCLayerAnimationControllerImplTest.cpp: Added.

(WebCore::FakeControllerClient::FakeControllerClient):
(WebCore::FakeControllerClient::~FakeControllerClient):
(WebCore::FakeControllerClient::opacity):
(WebCore::FakeControllerClient::setOpacity):
(WebCore::FakeControllerClient::transform):
(WebCore::FakeControllerClient::setTransform):
(WebCore::FakeControllerClient::animationControllerImplDidActivate):
(WebCore::FakeControllerClient::activeControllers):
(WebCore::FakeTransformTransition::FakeTransformTransition):
(WebCore::FakeTransformTransition::duration):
(WebCore::FakeTransformTransition::getValue):
(WebCore::FakeFloatTransition::FakeFloatTransition):
(WebCore::FakeFloatTransition::duration):
(WebCore::FakeFloatTransition::getValue):
(WebCore::TEST):

20:07 Changeset [105376] by rolandsteiner@chromium.org

Unreviewed, rolling out r105331.
http://trac.webkit.org/changeset/105331
https://bugs.webkit.org/show_bug.cgi?id=76599

May have broken Chromium InjectIDBKey browser_test (Requested
by rolandsteiner on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-18

Source/WebCore:

  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::injectIDBKeyIntoSerializedValue):

LayoutTests:

  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-autoincrement.html:
20:02 Changeset [105375] by commit-queue@webkit.org

Remove some unused code in AudioContext
https://bugs.webkit.org/show_bug.cgi?id=76506

Patch by Raymond Liu <raymond.liu@intel.com> on 2012-01-18
Reviewed by Kenneth Russell.

No new tests required.

  • webaudio/AudioContext.cpp:

(WebCore::AudioContext::constructCommon):
(WebCore::AudioContext::uninitialize):

  • webaudio/AudioContext.h:
19:28 Changeset [105374] by dpranke@chromium.org

Fix path to chromium_src_dir introduced in previous change.

Unreviewed, build fix.

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
19:22 Changeset [105373] by commit-queue@webkit.org

Only create AudioBus with required number of channels for AudioNodeOutput
https://bugs.webkit.org/show_bug.cgi?id=76417

Patch by Raymond Liu <raymond.liu@intel.com> on 2012-01-18
Reviewed by Kenneth Russell.

No new tests required.

  • webaudio/AudioNodeOutput.cpp:

(WebCore::AudioNodeOutput::AudioNodeOutput):
(WebCore::AudioNodeOutput::setNumberOfChannels):
(WebCore::AudioNodeOutput::updateInternalBus):
(WebCore::AudioNodeOutput::updateNumberOfChannels):
(WebCore::AudioNodeOutput::pull):

  • webaudio/AudioNodeOutput.h:
18:55 Changeset [105372] by kling@webkit.org

Cache and reuse the NodeList returned by Node::childNodes().
<http://webkit.org/b/76591>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Instead of only caching the DynamicNodeList::Caches for .childNodes on NodeRareData,
cache the full ChildNodeList object. Lifetime management is left to wrappers who
invalidate the cached (raw) pointer via Node::removeCachedChildNodeList(), called
from ~ChildNodeList().

This is a slight behavior change, in that Node.childNodes === Node.childNodes will
now be true. This matches the behavior of both Firefox and Opera.

This reduces memory consumption by 192 kB (on 32-bit) when viewing the full
HTML5 spec at <http://whatwg.org/c>

Test: fast/dom/gc-9.html

fast/dom/node-childNodes-idempotence.html

  • dom/Node.cpp:

(WebCore::Node::childNodes):

  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::childNodeList):
(WebCore::NodeRareData::setChildNodeList):

Only construct one ChildNodeList per Node and store it on NodeRareData for
retrieval across childNodes() calls.

  • dom/ChildNodeList.h:

(WebCore::ChildNodeList::create):

  • dom/ChildNodeList.cpp:

(WebCore::ChildNodeList::ChildNodeList):

Construct the Caches at creation instead of passing it to the constructor.

(WebCore::ChildNodeList::reset):

Added, resets the internal cache.

(WebCore::ChildNodeList::~ChildNodeList):

Call Node::removeCachedChildNodeList().

  • dom/DynamicNodeList.cpp:
  • dom/DynamicNodeList.h:

Have DynamicNodeList (and subclasses) respond "true" to isDynamicNodeList().
Previously only DynamicSubtreeNodeList (and subclasses) were doing this.
Without it, JSC may GC our ChildNodeLists prematurely (due to NodeList's
isReachableFromOpaqueRoots() implementation checking isDynamicNodeList().)

  • dom/Node.h:
  • dom/Node.cpp:

(WebCore::Node::removeCachedChildNodeList):

Added for ~ChildNodeList() to remove the pointer to itself from the Node.

(WebCore::NodeRareData::clearChildNodeListCache):

Call ChildNodeList::reset().

LayoutTests:

Updated gc-9.html to document the new lifetime characteristics of a .childNodes with
custom properties. Also added a test to verify that .childNodes === .childNodes.

  • fast/dom/gc-9-expected.txt:
  • fast/dom/gc-9.html:
  • fast/dom/node-childNodes-idempotence-expected.txt: Added.
  • fast/dom/node-childNodes-idempotence.html: Added.
18:39 Changeset [105371] by jamesr@google.com

Unreviewed, rolling out r105366.
http://trac.webkit.org/changeset/105366
https://bugs.webkit.org/show_bug.cgi?id=76015

Breaks CCLayerTreeHostImplTest unit test

Source/WebCore:

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore::TiledLayerChromium::prepareToUpdateTiles):

  • platform/graphics/chromium/cc/CCDrawQuad.h:

(WebCore::CCDrawQuad::drawsOpaque):
(WebCore::CCDrawQuad::needsBlending):

  • platform/graphics/chromium/cc/CCQuadCuller.cpp:

(WebCore::CCQuadCuller::cullOccludedQuads):

  • platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:

(WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):

  • platform/graphics/chromium/cc/CCTileDrawQuad.cpp:

(WebCore::CCTileDrawQuad::create):
(WebCore::CCTileDrawQuad::CCTileDrawQuad):

  • platform/graphics/chromium/cc/CCTileDrawQuad.h:
  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:

(WebCore::CCTiledLayerImpl::appendQuads):
(WebCore::CCTiledLayerImpl::syncTextureId):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.h:

Source/WebKit/chromium:

  • tests/CCQuadCullerTest.cpp:

(WebCore::TestDrawQuad::TestDrawQuad):
(WebCore::TestDrawQuad::create):
(WebCore::setQuads):

  • tests/CCTiledLayerImplTest.cpp:

(WebCore::createLayer):
(WebCore::TEST):
(WebCore::getQuads):
(WebCore::coverageVisibleRectOnTileBoundaries):
(WebCore::coverageVisibleRectIntersectsTiles):
(WebCore::coverageVisibleRectIntersectsBounds):

18:02 Changeset [105370] by commit-queue@webkit.org

Save two ID checks on CSS Min/Width property validation
https://bugs.webkit.org/show_bug.cgi?id=76565

The same validation is done again in the next case statement. Check for
CSSValueIntrinsic and CSSValueMinIntrinsic was done twice when the value
is a number.

Patch by Thiago Marcos P. Santos <tmpsantos@gmail.com> on 2012-01-18
Reviewed by Andreas Kling.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

17:54 Changeset [105369] by ap@apple.com

Need infrastructure to test Content-Disposition filename encoding support
https://bugs.webkit.org/show_bug.cgi?id=76572
<rdar://problem/6421825>

Reviewed by Sam Weinig.

Made policy delegate log suggested file name when resource has Content-Disposition: attachment.

WebKitTestRunner does not have a policy delegate yet, bug 42546.

  • DumpRenderTree/mac/PolicyDelegate.mm: (dispositionTypeFromContentDispositionHeader): (-[PolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
17:53 Changeset [105368] by jonlee@apple.com

Another build fix for r105364.

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeWebProcess): Missing #if.

17:44 Changeset [105367] by jonlee@apple.com

Build fix for r105364. Unreviewed.

  • WebProcess/Notifications/WebNotificationManager.cpp: Wrap methods in #if ENABLE(NOTIFICATIONS)

(WebKit::WebNotificationManager::initialize):
(WebKit::WebNotificationManager::didUpdateNotificationDecision):
(WebKit::WebNotificationManager::didRemoveNotificationDecisions):
(WebKit::WebNotificationManager::policyForOrigin):

17:42 Changeset [105366] by commit-queue@webkit.org

[chromium] Use region reported painted opaque for draw culling
https://bugs.webkit.org/show_bug.cgi?id=76015

Patch by Dana Jansens <danakj@chromium.org> on 2012-01-18
Reviewed by James Robinson.

Source/WebCore:

New unit tests in CCQuadCullerTest.cpp and CCTiledLayerImplTest.cpp

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore::TiledLayerChromium::prepareToUpdateTiles):

  • platform/graphics/chromium/cc/CCDrawQuad.h:

(WebCore::CCDrawQuad::opaqueRect):
(WebCore::CCDrawQuad::needsBlending):

  • platform/graphics/chromium/cc/CCQuadCuller.cpp:

(WebCore::CCQuadCuller::cullOccludedQuads):

  • platform/graphics/chromium/cc/CCTileDrawQuad.cpp:

(WebCore::CCTileDrawQuad::create):
(WebCore::CCTileDrawQuad::CCTileDrawQuad):

  • platform/graphics/chromium/cc/CCTileDrawQuad.h:
  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:

(WebCore::DrawableTile::opaqueRect):
(WebCore::DrawableTile::setOpaqueRect):
(WebCore::CCTiledLayerImpl::appendQuads):
(WebCore::CCTiledLayerImpl::pushTileProperties):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.h:

Source/WebKit/chromium:

  • tests/CCQuadCullerTest.cpp:

(WebCore::TestDrawQuad::TestDrawQuad):
(WebCore::TestDrawQuad::create):
(WebCore::setQuads):
(WebCore::TEST):

  • tests/CCTiledLayerImplTest.cpp:

(WebCore::createLayer):
(WebCore::TEST):
(WebCore::getQuads):
(WebCore::coverageVisibleRectOnTileBoundaries):
(WebCore::coverageVisibleRectIntersectsTiles):
(WebCore::coverageVisibleRectIntersectsBounds):

17:19 Changeset [105365] by vrk@chromium.org

HTMLMediaElement should fire 'progress' event before 'idle' if it was previously loading
https://bugs.webkit.org/show_bug.cgi?id=76568

Reviewed by Eric Carlson.

This fires a progress event when going from a non-empty state to idle,
for the same reason that a progress event is fired when going from a
non-idle state to loaded. Also consolidated logic in a single helper method.

No new tests because the decision of if/when a user agent sets the network state
to idle is up to the user agent in this scenario.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setNetworkState):
(WebCore::HTMLMediaElement::changeNetworkStateFromLoadingToIdle):

  • html/HTMLMediaElement.h:
17:14 Changeset [105364] by jonlee@apple.com

[WK2] Sync call for notifications permissions causes flashes on gmail.com
https://bugs.webkit.org/show_bug.cgi?id=76570
<rdar://problem/10647155>

Reviewed by Anders Carlsson and Sam Weinig.

Source/WebCore:

  • WebCore.exp.in: Export SecurityOrigin::toString().

Add runtime setting to enable/disable notifications.

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h: Add new bit for whether notifications are enabled.

(WebCore::Settings::setNotificationsEnabled):
(WebCore::Settings::notificationsEnabled):

Source/WebKit2:

The website code figures out the permission level for its security origin by making a JS call (called
checkPermission()) that is synchronous. The way this was implemented was to make a synchronous call from
the WebNotificationManager to its proxy. That call goes to the WK API layer to find the policy, and
returns that policy back to the JS.

The synchronous nature of this call causes the white flash to appear in certain cases.

To fix this, the checkPermission() call is handled all within the web process, instead of going up into
the UI process. To do this, the web process initializes the WebNotificationManager with a copy of the
notification permissions. Any time the WK client makes a change to the permissions, that gets sent down
asynchronously, and the cached copy in WebNotificationManager gets updated.

A page's settings may disable notifications altogether. Before, this would have been handled by the WK
client, since retrieving the permissions were also handled there. Now that the lookup happens in the web
process, we need to add that setting in WebCore.

Update notification permissions to use the security origin's string representation, rather than its

database identifier.

  • UIProcess/Notifications/WebNotification.cpp:

(WebKit::WebNotification::WebNotification):

  • UIProcess/Notifications/WebNotification.h:

(WebKit::WebNotification::create):

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::show): Registering the provider with the manager is handled in
initialize() now.
(WebKit::WebNotificationManagerProxy::cancel): Registering the provider with the manager is handled in
initialize() now.

  • UIProcess/Notifications/WebNotificationManagerProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestNotificationPermission):
(WebKit::WebPageProxy::showNotification):

  • UIProcess/WebPageProxy.h:
  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:

(WebKit::NotificationPermissionRequestManager::startRequest): Only start the request if notifications
are enabled.

  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::show): Only show notification is they are enabled.
(WebKit::WebNotificationManager::cancel): Only cancel if notifications are enabled.

Remove synchronous message to get policy for a given origin. Instead, use the cached copy in

WebNotificationManager.

  • WebProcess/Notifications/WebNotificationManager.h:
  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::policyForOrigin): Looks for the permission in the cached copy.
If it doesn't exist, return NotificationPresenter::PermissionNotAllowed.

  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:

(WebKit::NotificationPermissionRequestManager::permissionLevel): Update permissionLevel to use
policyForOrigin().

Remove old WK API function to get the policy. Because this function was the only synchronous message,
we remove the sync-message-related functions also. Also, add in some #includes that might have been
omitted in prior patches.

  • UIProcess/API/C/WKNotificationProvider.h:
  • UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Remove NotificationPermissionLevel.
  • UIProcess/Notifications/WebNotificationManagerProxy.h:
  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:
  • UIProcess/Notifications/WebNotificationProvider.h: Remove policyForNotificationPermissionAtOrigin().
  • UIProcess/Notifications/WebNotificationProvider.cpp:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didReceiveSyncMessage): Remove conditional to forward sync messages to the
notification manager proxy.

Mechanism for client to update the permissions copy in WebNotificationManager.

  • WebProcess/Notifications/WebNotificationManager.messages.in: Add new messages

didUpdateNotificationDecision and didRemoveNotificationDecisions.

  • WebProcess/Notifications/WebNotificationManager.h:
  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::initialize):
(WebKit::WebNotificationManager::didUpdateNotificationDecision): Update the entry.
(WebKit::WebNotificationManager::didRemoveNotificationDecisions): Remove the entry.

  • UIProcess/Notifications/WebNotificationManagerProxy.h:
  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
(WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies): Convert the array of
origins to remove, and send it to the WebNotificationManager.

  • UIProcess/API/C/WKNotificationManager.h: Expose these update functions as WK API.
  • UIProcess/API/C/WKNotificationManager.cpp:

(WKNotificationManagerProviderDidUpdateNotificationPolicy):
(WKNotificationManagerProviderDidRemoveNotificationPolicies):

Initialize WebNotificationManager with permissions. Initialize WebPage with notifications enabled bit

from settings.

  • Shared/WebProcessCreationParameters.h: Add map of notification permissions as part of the

parameters.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • UIProcess/Notifications/WebNotificationProvider.h: Retrieve copy of existing notification permissions.
  • UIProcess/Notifications/WebNotificationProvider.cpp:
  • UIProcess/API/C/WKNotificationProvider.h: Add WK API to get a copy of the permissions.
  • UIProcess/Notifications/WebNotificationManagerProxy.h: Add populateCopyOfNotificationPermissions().
  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::initializeProvider): Add the manager at the time of initialization.
Similar calls in show() and cancel() are removed in following patch.
(WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions): Clear the existing copy.
Populate with origin string, and whether that origin is allowed to post. If no decision has been made
by the user, then there should be no item in this dictionary.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::ensureWebProcess): When the web process is initialized, we get a copy of the
permissions, and send it to the web process to initialize the notification manager.

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeWebProcess): Initialize the notification manager.

  • WebProcess/Notifications/WebNotificationManager.h:
  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::initialize): Initialize the permissions copy.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences): Set notifications enabled bit from settings.

Expose toString() method from WebCore::SecurityOrigin. Work is also towards bug 74956.

  • Shared/API/c/WKSecurityOrigin.h: Refactor WKSecurityOriginCreateFromIdentifier to

WKSecurityOriginCreateFromDatabaseIdentifier and add WKSecurityOriginCreateFromString function.

  • Shared/API/c/WKSecurityOrigin.cpp:

(WKSecurityOriginCreateFromString):
(WKSecurityOriginCreateFromDatabaseIdentifier):
(WKSecurityOriginCopyToString):

Refactor WebSecurityOrigin::create() to WebSecurityOrigin::createFromDatabaseIdentifier()
and add WebSecurityOrigin::createFromString().

  • Shared/WebSecurityOrigin.h:

(WebKit::WebSecurityOrigin::createFromString):
(WebKit::WebSecurityOrigin::createFromDatabaseIdentifier):
(WebKit::WebSecurityOrigin::toString): Added function.

Refactor with renamed createFromDatabaseIdentifier() method.

  • UIProcess/WebDatabaseManagerProxy.cpp:

(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
(WebKit::WebDatabaseManagerProxy::didModifyOrigin):
(WebKit::WebDatabaseManagerProxy::didModifyDatabase):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::exceededDatabaseQuota):
(WebKit::WebPageProxy::requestGeolocationPermissionForFrame):

Add WK API calls to change notificationsEnabled bit in WebCore::Settings.

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetNotificationsEnabled):
(WKPreferencesGetNotificationsEnabled):

  • UIProcess/API/C/WKPreferences.h:
17:11 Changeset [105363] by jamesr@google.com

IndexedDB: Fix InjectIDBKeyTest.SubProperty test failure
https://bugs.webkit.org/show_bug.cgi?id=76582

Correct the test, now that https://bugs.webkit.org/show_bug.cgi?id=76493
changes the semantics so that intermediate objects are created if possible
to satisfy autoIncrement keypaths.

Patch by Joshua Bell <jsbell@chromium.org> on 2012-01-18
Reviewed by James Robinson.

  • tests/IDBBindingUtilitiesTest.cpp:

(WebCore::TEST):

17:09 Changeset [105362] by lforschler@apple.com

Merged r95580.

17:08 Changeset [105361] by tsepez@chromium.org

Merge 103851 - REGRESSION (r94492): Text is shifted to the right in some buttons in the Mac App Store
BUG=104325
Review URL: https://chromiumcodereview.appspot.com/9252034

17:06 Changeset [105360] by tsepez@chromium.org

Merge 103851 - REGRESSION (r94492): Text is shifted to the right in some buttons in the Mac App Store
BUG=104325
Review URL: https://chromiumcodereview.appspot.com/9216003

16:57 Changeset [105359] by cdn@chromium.org

Merge 104328 - [CSSRegions]Crash while collecting svg elements in render flow thread.
https://bugs.webkit.org/show_bug.cgi?id=73735

BUG=106309
Review URL: http://codereview.chromium.org/9250028

16:56 Changeset [105358] by lforschler@apple.com

Merge 89155.

16:55 Changeset [105357] by cdn@chromium.org

Merge 104328 - [CSSRegions]Crash while collecting svg elements in render flow thread.
https://bugs.webkit.org/show_bug.cgi?id=73735

BUG=106309
Review URL: http://codereview.chromium.org/9253028

16:52 Changeset [105356] by tsepez@chromium.org

Merge 103429 - Source/WebCore: [Chromium] DatabaseTrackerChromium: iterating DatabaseSet races with Database disposal on worker thread
BUG=107873
Review URL: https://chromiumcodereview.appspot.com/9255031

16:49 Changeset [105355] by tsepez@chromium.org

Merge 103429 - Source/WebCore: [Chromium] DatabaseTrackerChromium: iterating DatabaseSet races with Database disposal on worker thread
BUG=107873
Review URL: https://chromiumcodereview.appspot.com/9254017

16:42 Changeset [105354] by tsepez@chromium.org

Merge 103206 - Positioned Floats: Assertion hit in fast/block/positioning/positioned-float-layout-after-image-load.html
BUG=107939
Review URL: https://chromiumcodereview.appspot.com/9232038

16:39 Changeset [105353] by tsepez@chromium.org

Merge 103206 - Positioned Floats: Assertion hit in fast/block/positioning/positioned-float-layout-after-image-load.html
BUG=107939
Review URL: https://chromiumcodereview.appspot.com/9253026

16:39 Changeset [105352] by inferno@chromium.org

Merge 103979 - v8 binding: npCreateV8ScriptObject() should not returned an existing V8NPObject if the rootObject doesn't match
BUG=107616
Review URL: https://chromiumcodereview.appspot.com/9250027

16:39 Changeset [105351] by inferno@chromium.org

Merge 103979 - v8 binding: npCreateV8ScriptObject() should not returned an existing V8NPObject if the rootObject doesn't match
BUG=107616
Review URL: https://chromiumcodereview.appspot.com/9260002

16:34 Changeset [105350] by inferno@chromium.org

Merge 104123 - Crash due to first-letter block processing
BUG=107277
Review URL: https://chromiumcodereview.appspot.com/9249043

16:34 Changeset [105349] by inferno@chromium.org

Merge 104123 - Crash due to first-letter block processing
BUG=107277
Review URL: https://chromiumcodereview.appspot.com/9252031

16:31 Changeset [105348] by inferno@chromium.org

Merge 104317 - Crash with range selection across different documents.
BUG=106484
Review URL: https://chromiumcodereview.appspot.com/9251030

16:31 Changeset [105347] by inferno@chromium.org

Merge 104317 - Crash with range selection across different documents.
BUG=106484
Review URL: https://chromiumcodereview.appspot.com/9250025

16:30 Changeset [105346] by tsepez@chromium.org

Merge 105120 - Heap-use-after-free in WebCore::RenderBlock::selectionGaps
Review URL: https://chromiumcodereview.appspot.com/9251029

16:26 Changeset [105345] by inferno@chromium.org

Merge 104609 - [skia] not all convex paths are convex, so recompute convexity for the problematic ones
BUG=108605
Review URL: https://chromiumcodereview.appspot.com/9250022

16:25 Changeset [105344] by tsepez@chromium.org

Merge 105120 - Heap-use-after-free in WebCore::RenderBlock::selectionGaps
BUG=108267
Review URL: https://chromiumcodereview.appspot.com/9250021

16:24 Changeset [105343] by inferno@chromium.org

Merge 104609 - [skia] not all convex paths are convex, so recompute convexity for the problematic ones
BUG=108605
Review URL: https://chromiumcodereview.appspot.com/9254016

16:22 Changeset [105342] by inferno@chromium.org

Merge 104441 - insertAdjacentHTML doesn't play nice with DocumentFragment
BUG=109556
Review URL: https://chromiumcodereview.appspot.com/9250020

16:21 Changeset [105341] by tsepez@chromium.org

Merge 104275 - Fix a crash by importing an element of which local name ends with ":input".
BUG=108461
Review URL: https://chromiumcodereview.appspot.com/9249042

16:18 Changeset [105340] by tsepez@chromium.org

Merge 104275 - Fix a crash by importing an element of which local name ends with ":input".
BUG=108461
Review URL: https://chromiumcodereview.appspot.com/9249041

16:16 Changeset [105339] by andersca@apple.com

REGRESSION (r88886): Tabs restore blank when running Safari with a nightly build for the first time
https://bugs.webkit.org/show_bug.cgi?id=76587
<rdar://problem/9739135>

Reviewed by Sam Weinig.

  • UIProcess/cf/WebPageProxyCF.cpp:

Change CurrentSessionStateDataVersion back to 2.

  • WebProcess/WebPage/DecoderAdapter.cpp:

(WebKit::DecoderAdapter::decodeString):

  • WebProcess/WebPage/EncoderAdapter.cpp:

(WebKit::EncoderAdapter::encodeString):
Backport the CoreIPC string encoding and decoding functions that were in place prior to r88886.

16:12 Changeset [105338] by cdn@chromium.org

Merge 104183 - Source/WebCore: Crash due to reparenting of relpositioned object under anonymous block
https://bugs.webkit.org/show_bug.cgi?id=70848

The associated test case creates a condition where a relative
positioned renderer is a descendant of an anonymous block for a
table column. The anonymous block is the containingBlock() for the
relpositioned renderer. Removal of a div causes the anonymous blocks to
be merged, and the renderer becomes a descendant of a different block.
Since the new containingBlock() has an empty positionedObject list,
the relpositioned renderer does not get layout after being dirtied.

This patch changes containingBlock() so that it returns the container
of an anonymous block for positioned objects, not the anonymous
block itself. It also adds an ASSERT to insertPositionedObject()
to flag any other cases where something is trying to create a
positioned object list on an anonymous block.

Patch by Ken Buchanan <kenrb@chromium.org> on 2012-01-05
Reviewed by David Hyatt.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::insertPositionedObject):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containingBlock):

LayoutTests: Crash due to reparenting of relpositioned object in table
https://bugs.webkit.org/show_bug.cgi?id=70848

Adding test that exercises the crash condition in bug 70848.

Patch by Ken Buchanan <kenrb@chromium.org> on 2012-01-05
Reviewed by David Hyatt.

  • fast/css/relative-position-replaced-in-table-display-crash-expected.txt: Added
  • fast/css/relative-position-replaced-in-table-display-crash.html: Added

Review URL: http://codereview.chromium.org/9263001

16:10 Changeset [105337] by cdn@chromium.org

Merge 104183 - Source/WebCore: Crash due to reparenting of relpositioned object under anonymous block
https://bugs.webkit.org/show_bug.cgi?id=70848

The associated test case creates a condition where a relative
positioned renderer is a descendant of an anonymous block for a
table column. The anonymous block is the containingBlock() for the
relpositioned renderer. Removal of a div causes the anonymous blocks to
be merged, and the renderer becomes a descendant of a different block.
Since the new containingBlock() has an empty positionedObject list,
the relpositioned renderer does not get layout after being dirtied.

This patch changes containingBlock() so that it returns the container
of an anonymous block for positioned objects, not the anonymous
block itself. It also adds an ASSERT to insertPositionedObject()
to flag any other cases where something is trying to create a
positioned object list on an anonymous block.

Patch by Ken Buchanan <kenrb@chromium.org> on 2012-01-05
Reviewed by David Hyatt.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::insertPositionedObject):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containingBlock):

LayoutTests: Crash due to reparenting of relpositioned object in table
https://bugs.webkit.org/show_bug.cgi?id=70848

Adding test that exercises the crash condition in bug 70848.

Patch by Ken Buchanan <kenrb@chromium.org> on 2012-01-05
Reviewed by David Hyatt.

  • fast/css/relative-position-replaced-in-table-display-crash-expected.txt: Added
  • fast/css/relative-position-replaced-in-table-display-crash.html: Added

Review URL: http://codereview.chromium.org/9232034

16:08 Changeset [105336] by inferno@chromium.org

Merge 104441 - insertAdjacentHTML doesn't play nice with DocumentFragment
BUG=109556
Review URL: https://chromiumcodereview.appspot.com/9249040

16:07 Changeset [105335] by ojan@chromium.org

Fix tests from http://trac.webkit.org/changeset/105332.

The code assumed that if you passed an options object with a configuration
attribute that it would have a valid value. A bunch of the testing mocks
do things like having a configuration value of None.

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port.init):

15:40 Changeset [105334] by jamesr@google.com

[chromium] Update a few chromium expectations.

  • platform/chromium/test_expectations.txt:
15:29 Changeset [105333] by eric.carlson@apple.com

Provide access to user's list of preferred languages
https://bugs.webkit.org/show_bug.cgi?id=76138

Reviewed by Timothy Hatcher.

No new tests, tested by fast/harness/user-preferred-language.html.

  • platform/mac/Language.mm:

(WebCore::platformUserPreferredLanguages): Don't over-release a the CFStrings returned by

CFLocaleCopyPreferredLanguages.

15:14 Changeset [105332] by ojan@chromium.org

Shave 0.5 seconds off check-webkit-style runtime for test_expectations.txt
https://bugs.webkit.org/show_bug.cgi?id=76576

Reviewed by Adam Barth.

Avoid calling default_configuration in base.py. We don't need it for
checking test_expectations.txt style. It takes ~0.5 seconds to run on my
Mac Pro. It's the call to "perl Tools/Scripts/webkit-build-directory --top-level"
from common.executive.

At some point someone should probably look into why that call is so slow
since it's on the critical path for run-webkit-tests and build-webkit startup.

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port.init):

  • Scripts/webkitpy/style/checkers/test_expectations.py:

(TestExpectationsChecker._determine_port_from_exepectations_path):

15:07 Changeset [105331] by jsbell@chromium.org

IndexedDB: Implement create-intermediate-objects semantics when injecting values via keyPaths
https://bugs.webkit.org/show_bug.cgi?id=76493

Source/WebCore:

Reviewed by Tony Chang.

Tests: storage/indexeddb/objectstore-autoincrement.html

  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::injectIDBKeyIntoSerializedValue):

LayoutTests:

Per discussion on public-webapps, when injecting a key into a value, create intermediate
objects if necessary.

Reviewed by Tony Chang.

  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-autoincrement.html:
15:03 Changeset [105330] by dpranke@chromium.org

[chromium] move Tools.gyp, switch build-webkit --chromium to All.gyp
https://bugs.webkit.org/show_bug.cgi?id=76505

Reviewed by Tony Chang.

.:

Update with newly-generated files.

  • .gitignore:

Source/WebKit/chromium:

Update path to Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp.

  • All.gyp:
  • gyp_webkit:
  • change to using All.gyp
  • change build_webkit_exes_from_webkit_gyp to 0

Tools:

Update chromium build script to use All.gyp instead of WebKit.gyp

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: Renamed from Source/WebKit/chromium/Tools.gyp.
  • Scripts/webkitdirs.pm:
14:58 Changeset [105329] by jsbell@chromium.org

IndexedDB: Invalid keys yielded by key paths should raise exceptions, not error callbacks
https://bugs.webkit.org/show_bug.cgi?id=76075

Reviewed by Tony Chang.

Source/WebCore:

Tests: storage/indexeddb/objectstore-basics.html

  • storage/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::put):

LayoutTests:

  • storage/indexeddb/mozilla/bad-keypath-expected.txt:
  • storage/indexeddb/mozilla/bad-keypath.html:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics.html:
14:49 Changeset [105328] by jamesr@google.com

[chromium] Fix compile error from bug #76211
https://bugs.webkit.org/show_bug.cgi?id=76575

Patch by Dana Jansens <danakj@chromium.org> on 2012-01-18
Reviewed by James Robinson.

No new tests. Fixing compile only.

  • platform/graphics/chromium/ImageLayerChromium.cpp:

(WebCore::ImageLayerTextureUpdater::prepareToUpdate):

14:49 Changeset [105327] by jamesr@google.com

[chromium] Update chromium linux pixel baseline for svg test

  • platform/chromium-linux/svg/custom/linking-a-03-b-viewBox-expected.png:
14:48 Changeset [105326] by mrobinson@webkit.org

[GTK] WebKit-3.0.gir does not include information about C includes or exported packages
https://bugs.webkit.org/show_bug.cgi?id=49875

Patch by Evan Nemerson <evan@coeus-group.com> on 2012-01-18
Reviewed by Martin Robinson.

  • GNUmakefile.am: Add some information to the GIR generator to fix

Vala binding generation.

14:43 Changeset [105325] by mitz@apple.com

Don’t hardcode the path to ‘make‘.

Patch by Sam Weinig <sam@webkit.org> on 2012-01-18
Reviewed by Dan Bernstein.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
14:39 Changeset [105324] by dgrogan@chromium.org

IndexedDB: Check for permission before using IndexedDB from a worker.
https://bugs.webkit.org/show_bug.cgi?id=76500

Reviewed by David Levin.

  • src/IDBFactoryBackendProxy.cpp:

(WebKit::AllowIndexedDBMainThreadBridge::create):
(WebKit::AllowIndexedDBMainThreadBridge::cancel):
(WebKit::AllowIndexedDBMainThreadBridge::result):
(WebKit::AllowIndexedDBMainThreadBridge::signalCompleted):
(WebKit::AllowIndexedDBMainThreadBridge::AllowIndexedDBMainThreadBridge):
(WebKit::AllowIndexedDBMainThreadBridge::allowIndexedDBTask): Call
webView->permissionClient()->allowIndexedDB on the main thread because
ContentSettingsObserver::AllowIndexedDB(), which is called down the
chain, expects to be run on the main thread.
(WebKit::AllowIndexedDBMainThreadBridge::didComplete):
(WebKit::IDBFactoryBackendProxy::allowIDBFromWorkerThread): Wait for
main permission check to complete on main thread before proceeding on
worker thread.

14:37 Changeset [105323] by ap@apple.com

[Mac] Add a flag telling plug-in if it can enter sandbox
https://bugs.webkit.org/show_bug.cgi?id=76467

Reviewed by Anders Carlsson.

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Added a private flag.
14:34 Changeset [105322] by jsbell@chromium.org

Adding myself to committers.py
https://bugs.webkit.org/show_bug.cgi?id=76569

Unreviewed.

  • Scripts/webkitpy/common/config/committers.py:
14:32 Changeset [105321] by abarth@webkit.org

REGRESSION (r104000): AdBlock extension fails to load/function
https://bugs.webkit.org/show_bug.cgi?id=75554

Reviewed by Andy Estes.

Source/WebCore:

Previously, we would claim the documentElement was available before
we'd actually attached it to the DOM (which we now do via the
attachment queue). This issue was noted in the code with a FIXME
comment, but there was no test coverage for the issue. This patch
resolves the FIXME and adds a test.

Test: userscripts/document-element-available-at-start.html

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):

LayoutTests:

This test checks that the documentElement is available when user
scripts are run at document start.

  • userscripts/document-element-available-at-start-expected.txt: Added.
  • userscripts/document-element-available-at-start.html: Added.
14:27 Changeset [105320] by commit-queue@webkit.org

[SKIA / CHROMIUM] Add some canvas tests to test_expectations to prepare for changes to use sw-rasterized paths in skia-gpu
https://bugs.webkit.org/show_bug.cgi?id=76469

Patch by Brian Salomon <bsalomon@google.com> on 2012-01-18
Reviewed by Stephen White.

  • platform/chromium/test_expectations.txt:
14:13 Changeset [105319] by abarth@webkit.org

Up the cap on test failures tolerated by the EWS so the mac-ews can run to completion
https://bugs.webkit.org/show_bug.cgi?id=76567

Reviewed by Eric Seidel.

Current the AppleMac port has slightly more failures than we allow on
the EWS, causing the mac-ews to spin. This patch ups the limit a bit,
which should hopefully let the mac-ews run to completion. Once
AppleMac has fewer failures, we can lower the cap again.

  • Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:

(LayoutTestResultsReaderTest.test_layout_test_results):

  • Scripts/webkitpy/tool/steps/runtests.py:

(RunTests):

  • Scripts/webkitpy/tool/steps/steps_unittest.py:
14:07 Changeset [105318] by tommyw@google.com

[chromium] MediaStream API: Make WebMediaStreamDescriptor copyable
https://bugs.webkit.org/show_bug.cgi?id=76526

Reviewed by Darin Fisher.

This patch adds a copy constructor and a assignment operator to WebMediaStreamDescriptor.

  • public/platform/WebMediaStreamDescriptor.h:

(WebKit::WebMediaStreamDescriptor::WebMediaStreamDescriptor):
(WebKit::WebMediaStreamDescriptor::operator=):

  • src/WebMediaStreamDescriptor.cpp:

(WebKit::WebMediaStreamDescriptor::assign):

13:58 Changeset [105317] by ossy@webkit.org

[Qt] REGRESSION(r105310): Two inspector tests fails
https://bugs.webkit.org/show_bug.cgi?id=76566

  • platform/qt/Skipped: Skip failing tests to paint the bot green.
13:47 Changeset [105316] by jamesr@google.com

[chromium] Update expectations, add a few new baselines.

  • platform/chromium/http/tests/misc/bubble-drag-events-expected.txt: Added.
  • platform/chromium/http/tests/misc/drag-over-iframe-invalid-source-crash-expected.txt: Added.
  • platform/chromium/http/tests/misc/iframe-invalid-source-crash-expected.txt: Added.
  • platform/chromium/test_expectations.txt:
13:45 Changeset [105315] by eric.carlson@apple.com

Provide access to user's list of preferred languages
https://bugs.webkit.org/show_bug.cgi?id=76138

Reviewed by Alexey Proskuryakov.

.:

  • Source/autotools/symbols.filter: List the new functions.

Source/WebCore:

Test: fast/harness/user-preferred-language.html

  • WebCore.exp.in: Export the new functions.
  • WebCore.order: Ditto.
  • Target.pri: Include new files.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCoreTestSupport.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • platform/Language.cpp:

(WebCore::defaultLanguage): Return userPreferredLanguages[0].
(WebCore::preferredLanguagesOverride): New, return the languages override.
(WebCore::overrideUserPreferredLanguages): New, set the languages override.
(WebCore::userPreferredLanguages): New, return the languages array.

  • platform/Language.h:
  • platform/blackberry/LocalizedStringsBlackBerry.cpp:

(WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
(WebCore::platformUserPreferredLanguages): New.

  • platform/chromium/LanguageChromium.cpp:

(WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
(WebCore::platformUserPreferredLanguages): New.

  • platform/efl/LanguageEfl.cpp:

(WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
(WebCore::platformUserPreferredLanguages): New.

  • platform/gtk/LanguageGtk.cpp:

(WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
(WebCore::platformUserPreferredLanguages): New.

  • platform/mac/Language.mm:

(+[WebLanguageChangeObserver _webkit_languagePreferencesDidChange]): Flag the user languages

as invalid.

(WebCore::platformLanguage): Removed.
(WebCore::platformUserPreferredLanguages): New, return the list of user preferred languages.

  • platform/qt/LanguageQt.cpp:

(WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
(WebCore::platformUserPreferredLanguages): New.

  • platform/win/LanguageWin.cpp:

(WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
(WebCore::platformUserPreferredLanguages): New.

  • testing/Internals.cpp:

(WebCore::Internals::userPreferredLanguages): New, return the platform's user preferred languages.
(WebCore::Internals::setUserPreferredLanguages): New, override the user's preferred languages.

  • testing/Internals.h:
  • testing/Internals.idl: Add userPreferredLanguages.
  • testing/js/JSInternalsCustom.cpp:

(WebCore::JSInternals::userPreferredLanguages): New.
(WebCore::JSInternals::setUserPreferredLanguages): New.

  • testing/v8/V8InternalsCustom.cpp:

(WebCore::V8Internals::userPreferredLanguagesAccessorGetter): New.
(WebCore::V8Internals::userPreferredLanguagesAccessorSetter): New.

Source/WebKit2:

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode): Encode the languages array.
(WebKit::WebProcessCreationParameters::decode): Decode the languages array.

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::languageChanged): Override the WebProcess userPreferredLanguages.
(WebKit::WebContext::ensureWebProcess): Initialize parameters.languages.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Override user languages array.
(WebKit::WebProcess::userPreferredLanguagesChanged): Ditto.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in: Define UserPreferredLanguagesChanged.
  • win/WebKit2.def: Export the new functions.
  • win/WebKit2CFLite.def: Ditto.

Tools:

  • GNUmakefile.am: Add JSInternalsCustom.cpp.

LayoutTests:

  • fast/harness/user-preferred-language-expected.txt: Added.
  • fast/harness/user-preferred-language.html: Added.
13:41 Changeset [105314] by commit-queue@webkit.org

[chromium] Enable tracking opaque region in Skia graphics context, return it from LayerTextureUpdater
https://bugs.webkit.org/show_bug.cgi?id=76211

Patch by Dana Jansens <danakj@chromium.org> on 2012-01-18
Reviewed by James Robinson.

Source/WebCore:

New unit tests in LayerTextureUpdaterTest.cpp

  • platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:

(WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):

  • platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
  • platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:

(WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):

  • platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
  • platform/graphics/chromium/ContentLayerChromium.cpp:

(WebCore::ContentLayerChromium::createTextureUpdater):

  • platform/graphics/chromium/LayerTextureUpdater.h:

(WebCore::LayerTextureUpdater::prepareToUpdate):

  • platform/graphics/chromium/PlatformCanvas.h:

(WebCore::PlatformCanvas::Painter::skiaContext):

  • platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:

(WebCore::SkPictureCanvasLayerTextureUpdater::SkPictureCanvasLayerTextureUpdater):
(WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
(WebCore::SkPictureCanvasLayerTextureUpdater::setOpaque):

  • platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::prepareToUpdateTiles):

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/LayerTextureUpdaterTest.cpp: Added.

(WebCore::TestLayerPainterChromium::TestLayerPainterChromium):
(WebCore::TestLayerPainterChromium::paint):
(WebCore::PaintFillOpaque::operator()):
(WebCore::PaintFillAlpha::operator()):
(WebCore::TEST):

  • tests/TiledLayerChromiumTest.cpp:

(WTF::FakeLayerTextureUpdater::prepareToUpdate):

13:34 Changeset [105313] by ossy@webkit.org

[Qt] DumpRenderTree converts "file:///" to a path differently
https://bugs.webkit.org/show_bug.cgi?id=76563

  • platform/qt/Skipped: Skip http/tests/misc/iframe-invalid-source-crash.html until fix.
13:23 Changeset [105312] by jamesr@google.com

[chromium] Update pixel results due to skia roll

  • platform/chromium-linux/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
  • platform/chromium-mac-leopard/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
  • platform/chromium-mac-snowleopard/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png: Added.
  • platform/chromium-mac/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png: Removed.
  • platform/chromium-win/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
13:03 Changeset [105311] by commit-queue@webkit.org

[chromium] Refactor canvas, plugin, and video drawing to be more data-driven
https://bugs.webkit.org/show_bug.cgi?id=76274

Patch by Tim Dresser <tdresser@chromium.org> on 2012-01-18
Reviewed by James Robinson.

Source/WebCore:

This is the first step in refactoring canvas, plugin, and video drawing.
The CCCustomLayerDrawQuad implementation has been copied to CCCanvasDrawQuad, CCPluginDrawQuad and CCVideoDrawQuad.
All references to CustomLayer have been removed.

As this is a refactor, no new tests were added. CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers was modified to
no longer test culling.

  • WebCore.gypi:
  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::drawQuad):
(WebCore::LayerRendererChromium::drawCanvasQuad):
(WebCore::LayerRendererChromium::drawVideoQuad):
(WebCore::LayerRendererChromium::drawPluginQuad):

  • platform/graphics/chromium/LayerRendererChromium.h:
  • platform/graphics/chromium/cc/CCCanvasDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.cpp.

(WebCore::CCCanvasDrawQuad::create):
(WebCore::CCCanvasDrawQuad::CCCanvasDrawQuad):

  • platform/graphics/chromium/cc/CCCanvasDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.h.

(WebCore::CCCanvasDrawQuad::layer):

  • platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:

(WebCore::CCCanvasLayerImpl::appendQuads):

  • platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
  • platform/graphics/chromium/cc/CCDrawQuad.cpp:

(WebCore::CCDrawQuad::toCanvasDrawQuad):
(WebCore::CCDrawQuad::toVideoDrawQuad):
(WebCore::CCDrawQuad::toPluginDrawQuad):

  • platform/graphics/chromium/cc/CCDrawQuad.h:
  • platform/graphics/chromium/cc/CCLayerImpl.cpp:

(WebCore::CCLayerImpl::appendQuads):

  • platform/graphics/chromium/cc/CCPluginDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.cpp.

(WebCore::CCPluginDrawQuad::create):
(WebCore::CCPluginDrawQuad::CCPluginDrawQuad):

  • platform/graphics/chromium/cc/CCPluginDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.h.

(WebCore::CCPluginDrawQuad::layer):

  • platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:

(WebCore::CCPluginLayerImpl::appendQuads):

  • platform/graphics/chromium/cc/CCPluginLayerImpl.h:
  • platform/graphics/chromium/cc/CCQuadCuller.cpp:
  • platform/graphics/chromium/cc/CCVideoDrawQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.cpp.

(WebCore::CCVideoDrawQuad::create):
(WebCore::CCVideoDrawQuad::CCVideoDrawQuad):

  • platform/graphics/chromium/cc/CCVideoDrawQuad.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.h.

(WebCore::CCVideoDrawQuad::layer):

  • platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:

(WebCore::CCVideoLayerImpl::appendQuads):

  • platform/graphics/chromium/cc/CCVideoLayerImpl.h:

Source/WebKit/chromium:

No longer test culling in CCLayerTreeHostImplTest.blendingOffWhenDrawingLayers.

  • tests/CCLayerTreeHostImplTest.cpp:

(WebKit::BlendStateCheckLayer::appendQuads):
(WebKit::BlendStateCheckLayer::setExpectation):
(WebKit::BlendStateCheckLayer::quadsAppended):
(WebKit::BlendStateCheckLayer::BlendStateCheckLayer):
(WebKit::TEST_F):

12:59 Changeset [105310] by vsevik@chromium.org

Web Inspector: Unsafe cross origin access errors should show stack trace in console.
https://bugs.webkit.org/show_bug.cgi?id=73099

Reviewed by Pavel Feldman.

Source/WebCore:

Test: http/tests/inspector/console-cross-origin-iframe-logging.html

  • bindings/v8/V8Proxy.cpp:

(WebCore::V8Proxy::reportUnsafeAccessTo):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::addConsoleMessage):

  • dom/ScriptExecutionContext.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::shouldAllowNavigation):

  • page/Console.cpp:

(WebCore::Console::addMessage):

  • page/Console.h:
  • page/DOMWindow.cpp:

(WebCore::PostMessageTimer::PostMessageTimer):
(WebCore::PostMessageTimer::stackTrace):
(WebCore::DOMWindow::postMessage):
(WebCore::DOMWindow::postMessageTimerFired):
(WebCore::DOMWindow::printErrorMessage):

LayoutTests:

  • http/tests/inspector/console-cross-origin-iframe-logging-expected.txt: Added.
  • http/tests/inspector/console-cross-origin-iframe-logging.html: Added.
  • http/tests/inspector/resources/cross-origin-iframe.html: Added.
  • platform/chromium/http/tests/inspector/console-cross-origin-iframe-logging-expected.txt: Added.
12:33 Changeset [105309] by lforschler@apple.com

Merged r98935.

12:29 Changeset [105308] by commit-queue@webkit.org

Add [CallWith] support for attributes in JSC/V8 idl code generators.
Part of https://bugs.webkit.org/show_bug.cgi?id=76035

Patch by Pablo Flouret <pablof@motorola.com> on 2012-01-18
Reviewed by Adam Barth.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
(GenerateAttributeCallWith):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateAttributeCallWith):

  • bindings/scripts/test/CPP/WebDOMTestObj.cpp:

(WebDOMTestObj::withScriptStateAttribute):
(WebDOMTestObj::setWithScriptStateAttribute):
(WebDOMTestObj::withScriptExecutionContextAttribute):
(WebDOMTestObj::setWithScriptExecutionContextAttribute):
(WebDOMTestObj::withScriptStateAttributeRaises):
(WebDOMTestObj::setWithScriptStateAttributeRaises):
(WebDOMTestObj::withScriptExecutionContextAttributeRaises):
(WebDOMTestObj::setWithScriptExecutionContextAttributeRaises):

  • bindings/scripts/test/CPP/WebDOMTestObj.h:
  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

(webkit_dom_test_obj_get_with_script_state_attribute):
(webkit_dom_test_obj_set_with_script_state_attribute):
(webkit_dom_test_obj_get_with_script_execution_context_attribute):
(webkit_dom_test_obj_set_with_script_execution_context_attribute):
(webkit_dom_test_obj_get_with_script_state_attribute_raises):
(webkit_dom_test_obj_set_with_script_state_attribute_raises):
(webkit_dom_test_obj_get_with_script_execution_context_attribute_raises):
(webkit_dom_test_obj_set_with_script_execution_context_attribute_raises):
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):

  • bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):

  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestObj.mm:

(-[DOMTestObj withScriptStateAttribute]):
(-[DOMTestObj setWithScriptStateAttribute:]):
(-[DOMTestObj withScriptExecutionContextAttribute]):
(-[DOMTestObj setWithScriptExecutionContextAttribute:]):
(-[DOMTestObj withScriptStateAttributeRaises]):
(-[DOMTestObj setWithScriptStateAttributeRaises:]):
(-[DOMTestObj withScriptExecutionContextAttributeRaises]):
(-[DOMTestObj setWithScriptExecutionContextAttributeRaises:]):

  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjInternal::withScriptStateAttributeAttrGetter):
(WebCore::TestObjInternal::withScriptStateAttributeAttrSetter):
(WebCore::TestObjInternal::withScriptExecutionContextAttributeAttrGetter):
(WebCore::TestObjInternal::withScriptExecutionContextAttributeAttrSetter):
(WebCore::TestObjInternal::withScriptStateAttributeRaisesAttrGetter):
(WebCore::TestObjInternal::withScriptStateAttributeRaisesAttrSetter):
(WebCore::TestObjInternal::withScriptExecutionContextAttributeRaisesAttrGetter):
(WebCore::TestObjInternal::withScriptExecutionContextAttributeRaisesAttrSetter):

12:18 Changeset [105307] by ap@apple.com

file:// doesn't work as base URL
https://bugs.webkit.org/show_bug.cgi?id=76496

Updating more layout test results.

  • fast/loader/url-parse-1-expected.txt: This was already in the patch, just failed to land.
  • http/tests/misc/bubble-drag-events-expected.txt: Missed that one among failure noise.
12:16 Changeset [105306] by eae@chromium.org

Merging trunk changes up until 105194 into subpixel branch.

12:12 Changeset [105305] by commit-queue@webkit.org

[Qt][WK2] Broken build with undefined reference to shm_open and shm_unlink
https://bugs.webkit.org/show_bug.cgi?id=76538

Patch by Luciano Wolf <luciano.wolf@openbossa.org> on 2012-01-18
Reviewed by Tor Arne Vestbø.

The -lrt parameter was coming before -lWebKit2 during linkage.

Moved rt lib inclusion from Source/api.pri to WebKit2.pri as it should be aware
of its own dependencies instead of letting WebKit guess about. Letting
it on api.pri can lead to a wrong parameter's order during linker phase.
Ubuntu 11.10 was giving errors about SharedMemory (shm_open and
shm_unlink undefined symbols).

.:

  • Source/api.pri:

Source/WebKit2:

The issue was fixed with the help of Aloisio Almeida and Lauro Venancio.

  • WebKit2.pri:
12:04 WebKit Team edited by jonlee@apple.com
Adding Jon Lee as committer. (diff)
11:59 Changeset [105304] by reed@google.com

add test expections ahead of skia DEPS roll
https://bugs.webkit.org/show_bug.cgi?id=76477

Reviewed by NOBODY: Unreviewed
see http://code.google.com/p/chromium/issues/detail?id=110493

  • platform/chromium/test_expectations.txt:
11:48 Changeset [105303] by jamesr@google.com

[chromium] Update expectations and baselines for various tests

  • platform/chromium-linux/svg/transforms/animated-path-inside-transformed-html-expected.png:
  • platform/chromium-mac-leopard/svg/custom/mouse-move-on-svg-container-expected.png:
  • platform/chromium-mac-leopard/svg/custom/mouse-move-on-svg-container-standalone-expected.png:
  • platform/chromium-mac-leopard/svg/custom/mouse-move-on-svg-root-expected.png:
  • platform/chromium-mac-leopard/svg/custom/mouse-move-on-svg-root-standalone-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/linking-a-03-b-all-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/linking-a-03-b-viewBox-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/linking-a-03-b-viewBox-transform-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/mouse-move-on-svg-container-expected.png: Added.
  • platform/chromium-mac-snowleopard/svg/custom/mouse-move-on-svg-container-standalone-expected.png: Added.
  • platform/chromium-mac-snowleopard/svg/custom/mouse-move-on-svg-root-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/mouse-move-on-svg-root-standalone-expected.png:
  • platform/chromium-mac/svg/custom/mouse-move-on-svg-container-expected.png: Removed.
  • platform/chromium-mac/svg/custom/mouse-move-on-svg-container-standalone-expected.png: Removed.
  • platform/chromium-win/svg/custom/linking-a-03-b-viewBox-expected.png:
  • platform/chromium-win/svg/custom/linking-a-03-b-viewBox-expected.txt:
  • platform/chromium-win/svg/transforms/animated-path-inside-transformed-html-expected.png:
  • platform/chromium/test_expectations.txt:
11:39 Changeset [105302] by abarth@webkit.org

Add Chromium Linux GPU 32 to the list of allowed Chromium Linux
configurations.

  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:

(ChromiumLinuxPort.init):

11:24 Changeset [105301] by lforschler@apple.com

Merged r105291.

10:59 Changeset [105300] by lforschler@apple.com

Merge layoutest fix from 10695015.

10:58 Changeset [105299] by pfeldman@chromium.org

Not reviewed: fix failing inspector test.

  • inspector/elements/set-html-via-resource.html:
10:57 Changeset [105298] by lforschler@apple.com

Merged r104275.

10:51 Changeset [105297] by lforschler@apple.com

Merged r97088.

10:49 Changeset [105296] by timothy_horton@apple.com

[CG] Rasterized scaling of transformed SVG shapes with gradient fill and -webkit-svg-shadow applied
https://bugs.webkit.org/show_bug.cgi?id=76482
<rdar://problem/10415483>

Reviewed by Simon Fraser.

Scale the CGLayer used when filling or stroking a shadowed path or rect with
a gradient in GraphicsContextCG. Previously, the CGLayer was created and rendered
into at the untransformed size of the shape, leading to pixelation when it was
then scaled up and drawn into the destination.

Add AffineTransform::mapSize() to map a size through a transformation.

Test: svg/custom/transform-with-shadow-and-gradient.svg

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::strokeRect):

  • platform/graphics/transforms/AffineTransform.cpp:

(WebCore::AffineTransform::mapSize): Added.

  • platform/graphics/transforms/AffineTransform.h:

Add a test that ensures that SVG shapes are drawn crisply when transformed
if they have both a gradient fill and -webkit-svg-shadow applied.

  • platform/mac/svg/custom/transform-with-shadow-and-gradient-expected.png: Added.
  • platform/mac/svg/custom/transform-with-shadow-and-gradient-expected.txt: Added.
  • svg/custom/transform-with-shadow-and-gradient.svg: Added.
10:46 Changeset [105295] by dmazzoni@google.com

Accessibility: Chromium needs methods to scroll an object into view or to a specific location.
https://bugs.webkit.org/show_bug.cgi?id=73460

Reviewed by Chris Fleizach.

Source/WebCore:

Tests: platform/chromium/accessibility/scroll-to-global-point-main-window.html

platform/chromium/accessibility/scroll-to-global-point-nested.html
platform/chromium/accessibility/scroll-to-global-point-iframe.html
platform/chromium/accessibility/scroll-to-global-point-iframe-nested.html
platform/chromium/accessibility/scroll-to-make-visible-div-overflow.html
platform/chromium/accessibility/scroll-to-make-visible-iframe.html
platform/chromium/accessibility/scroll-to-make-visible-main-window.html
platform/chromium/accessibility/scroll-to-make-visible-nested.html
platform/chromium/accessibility/scroll-to-make-visible-with-subfocus.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::computeBestScrollOffset):
(WebCore::AccessibilityObject::scrollToMakeVisible):
(WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
(WebCore::AccessibilityObject::scrollToGlobalPoint):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::getScrollableAreaIfScrollable):
(WebCore::AccessibilityObject::scrollTo):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable):
(WebCore::AccessibilityRenderObject::scrollTo):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::getScrollableAreaIfScrollable):
(WebCore::AccessibilityScrollView::scrollTo):

  • accessibility/AccessibilityScrollView.h:

Source/WebKit/chromium:

  • public/WebAccessibilityObject.h:
  • src/WebAccessibilityObject.cpp:

(WebKit::WebAccessibilityObject::scrollToMakeVisible):
(WebKit::WebAccessibilityObject::scrollToMakeVisibleWithSubFocus):
(WebKit::WebAccessibilityObject::scrollToGlobalPoint):

Tools:

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/chromium/AccessibilityUIElement.cpp:

(AccessibilityUIElement::AccessibilityUIElement):
(AccessibilityUIElement::scrollToMakeVisibleCallback):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocusCallback):
(AccessibilityUIElement::scrollToGlobalPointCallback):

  • DumpRenderTree/chromium/AccessibilityUIElement.h:
  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:

(AccessibilityUIElement::scrollToMakeVisible):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::scrollToMakeVisible):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::scrollToMakeVisible):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):

LayoutTests:

  • platform/chromium/accessibility/scroll-to-global-point-iframe-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-global-point-iframe.html: Added.
  • platform/chromium/accessibility/scroll-to-global-point-iframe-nested-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-global-point-iframe-nested.html: Added.
  • platform/chromium/accessibility/scroll-to-global-point-main-window-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-global-point-main-window.html: Added.
  • platform/chromium/accessibility/scroll-to-global-point-nested-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-global-point-nested.html: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-div-overflow-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-div-overflow.html: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-iframe-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-iframe.html: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-main-window-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-main-window.html: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-nested-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-nested.html: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-with-subfocus-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-with-subfocus.html: Added.
10:41 Changeset [105294] by ap@apple.com

file:// doesn't work as base URL
https://bugs.webkit.org/show_bug.cgi?id=76496

Reviewed by Darin Adler.

Test: fast/url/degenerate-file-base.html

  • platform/KURL.cpp: (WebCore::KURL::parse): Handle degenerate file URLs properly.
10:41 Changeset [105293] by lforschler@apple.com

Merged r95371.

10:20 Changeset [105292] by loislo@chromium.org

[chromium] Web Inspector: highlight DOM nodes from detached DOM trees.
https://bugs.webkit.org/show_bug.cgi?id=76545

Reviewed by Yury Semikhatsky.

  • inspector/front-end/DetailedHeapshotGridNodes.js:

(WebInspector.HeapSnapshotGenericObjectNode):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshotNode.prototype.get isNativeRoot):
(WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):
(WebInspector.HeapSnapshot.prototype._init):
(WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):
(WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
(WebInspector.HeapSnapshot.prototype._calculateFlags):

  • inspector/front-end/heapProfiler.css:

(.detached-dom-tree-node):

10:12 Changeset [105291] by enrica@apple.com

Source/WebKit/mac: Missing NSForegroundColorAttributeName should be treated as black instead of transparent.
https://bugs.webkit.org/show_bug.cgi?id=76490
<rdar://problem/9460733>

Starting with Lion, there is no more NSForegroundColor attribute in the dictionary
if the color matches the default (solid black).
The fix consists in treating the lack of color as solid black instead of transparent as
we did before.

Added a TestWebKitAPI test.

Reviewed by Darin Adler and Dan Bernstein.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _styleForAttributeChange:]):

Tools: Missing NSForegroundColorAttributeName should be treated as black instead of transparent.
https://bugs.webkit.org/show_bug.cgi?id=76490
<rdar://problem/9460733>

Added TestWebKitAPI test.

Reviewed by Dan Bernstein.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added new test file.
  • TestWebKitAPI/Tests/mac/InspectorBar.mm: Added test that calls

changeAttributes to the WebView.

10:10 Changeset [105290] by commit-queue@webkit.org

Cross-platform processor core counter fix
https://bugs.webkit.org/show_bug.cgi?id=76540

Patch by Roland Takacs <takacs.roland@stud.u-szeged.hu> on 2012-01-18
Reviewed by Zoltan Herczeg.

I attached "OS(FREEBSD)" to "#if OS(DARWIN)
OS(OPENBSD) OS(NETBSD)"

and I removed the OS checking macros from ParallelJobsGeneric.cpp because
the NumberOfCores.cpp contains them for counting CPU cores.
The processor core counter patch located at
https://bugs.webkit.org/show_bug.cgi?id=76530

  • wtf/NumberOfCores.cpp:
  • wtf/ParallelJobsGeneric.cpp:
10:06 Changeset [105289] by commit-queue@webkit.org

[GTK] Listen to GDK_SCROLL_MASK
https://bugs.webkit.org/show_bug.cgi?id=76529

Source/WebKit/gtk:

Set GDK_SCROLL_MASK explicitly, as WebKitWebView does handle
scroll events, scrolling currently works because GTK+ happens
to send such events to widgets listening to GDK_BUTTON_PRESS_MASK,
but this isn't the intended behavior, so it's subject to change.

Patch by Carlos Garnacho <carlosg@gnome.org> on 2012-01-18
Reviewed by Martin Robinson.

  • webkit/webkitwebview.cpp:

(webkit_web_view_realize):

Source/WebKit2:

Set GDK_SCROLL_MASK explicitly, as WebKitWebViewBase does handle
scroll events, scrolling currently works because GTK+ happens
to send such events to widgets listening to GDK_BUTTON_PRESS_MASK,
but this isn't the intended behavior, so it's subject to change.

Patch by Carlos Garnacho <carlosg@gnome.org> on 2012-01-18
Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize):

09:56 Changeset [105288] by pfeldman@chromium.org

Web Inspector: there should be a way to set HTML for given frame.
https://bugs.webkit.org/show_bug.cgi?id=76548

Reviewed by Yury Semikhatsky.

  • inspector/Inspector.json:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::setDocumentContent):

  • inspector/InspectorPageAgent.h:
  • inspector/front-end/DOMAgent.js:

(WebInspector.DOMModelResourceBinding.prototype.setContent.callbackWrapper):
(WebInspector.DOMModelResourceBinding.prototype.setContent):

09:41 Changeset [105287] by ossy@webkit.org

[Qt] fontCache related assertion revealed by r105143
https://bugs.webkit.org/show_bug.cgi?id=76534

Unreviewed gardening. Skip a guilty test to paint the bot green.

  • platform/qt/Skipped:
09:40 Changeset [105286] by sergio@webkit.org

[GTK] [regression] A couple of tests failing after r105253
https://bugs.webkit.org/show_bug.cgi?id=76549

Reviewed by Gustavo Noronha Silva.

Fixes a regression added by r105253. The method that
RenderThemeGtk needs to overwrite is popsMenuBySpaceOrReturn()
instead of popsMenuByArrowKeys().

No new tests as it's already covered by
fast/forms/select-popup-pagekeys.html and
fast/forms/select/menulist-onchange-fired-with-key-up-down.html
that started to fail after the revision mentioned above.

  • platform/gtk/RenderThemeGtk.h:

(WebCore::RenderThemeGtk::popsMenuBySpaceOrReturn):

09:35 Changeset [105285] by abecsi@webkit.org

[Qt][WK2] Fix the debug build.

Unreviewed.

  • UIProcess/qt/QtWebPageEventHandler.cpp:

(setInputPanelVisible): Remove assertion from non-member function.

09:27 Changeset [105284] by pfeldman@chromium.org

Not reviewed: adding missing test data file.

  • inspector/elements/resources/set-html-via-resource-iframe.html: Added.
  • platform/qt/Skipped:
09:19 Changeset [105283] by ossy@webkit.org

[Qt] Unreviewed gardening after r105262.
https://bugs.webkit.org/show_bug.cgi?id=76457

  • platform/qt/Skipped: Skip inspector/elements/set-html-via-resource.html until proper fix.
09:14 Changeset [105282] by caseq@chromium.org

Web Inspector: omit compression field in HAR entries for resources coming from cache
https://bugs.webkit.org/show_bug.cgi?id=76543

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • inspector/front-end/HAREntry.js:

(WebInspector.HAREntry.prototype._buildContent):
(WebInspector.HAREntry.prototype.get responseCompression):

LayoutTests:

  • http/tests/inspector/resource-har-conversion-expected.txt:
  • http/tests/inspector/resource-har-headers-expected.txt:
  • http/tests/inspector/resource-parameters-expected.txt:
  • platform/chromium/http/tests/inspector/resource-har-conversion-expected.txt: Removed.
09:09 Changeset [105281] by ossy@webkit.org

[Qt] Unreviewed gardening. Skip failing tests, simplify qt-wk2 skipped list.

  • platform/qt-wk2/Skipped:
  • platform/wk2/Skipped:
08:57 Changeset [105280] by mihnea@adobe.com

[CSSRegions]Fix region style code in CSSStyleSelector
https://bugs.webkit.org/show_bug.cgi?id=76453

Reviewed by Antti Koivisto.

Source/WebCore:

Follow up after comments in https://bugs.webkit.org/show_bug.cgi?id=76064.
With the new approach, the css rule specificity is correctly taken into account
when applying the region style rule.
No new tests, the region style tests are still disabled.

  • css/CSSStyleSelector.cpp:

(WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore::CSSStyleSelector::addMatchedDeclaration):
(WebCore::CSSStyleSelector::collectMatchingRules):
(WebCore::CSSStyleSelector::collectMatchingRulesForRegion):
(WebCore::CSSStyleSelector::matchRules):
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
(WebCore::CSSStyleSelector::matchAllRules):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::pseudoStyleForElement):
(WebCore::CSSStyleSelector::checkRegionStyle):
(WebCore::CSSStyleSelector::checkRegionSelector):
(WebCore::RuleData::RuleData):
(WebCore::RuleSet::RuleSet):
(WebCore::RuleSet::addRule):
(WebCore::RuleSet::addRegionRule):
(WebCore::RuleSet::addRulesFromSheet):
(WebCore::isInsideRegionRule):
(WebCore::CSSStyleSelector::applyDeclaration):
(WebCore::CSSStyleSelector::applyDeclarations):
(WebCore::CSSStyleSelector::isValidRegionStyleProperty):
(WebCore::CSSStyleSelector::applyProperty):

  • css/CSSStyleSelector.h:

LayoutTests:

Fix the test as it was not taking into account the selector specificity.

  • fast/regions/region-style-block-background-color.html:
08:39 Changeset [105279] by jer.noble@apple.com

Mac fails to fire an 'error' event for a <video> <source> having an URL with no file extension
https://bugs.webkit.org/show_bug.cgi?id=76494

Reviewed by Eric Carlson.

No new tests; fixes compositing/video/video-with-invalid-source.html. Modified
media/video-source-error-no-candidate.html to check error condition.

When we run out of media engines for a given resource, inform the media player client
that resource loading failed by calling mediaPlayerResourceNotSupported().

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerResourceNotSupported):

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::loadWithNextMediaEngine):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerResourceNotSupported):

08:06 Changeset [105278] by ossy@webkit.org

WebKit2 needs layoutTestController.overridePreference
https://bugs.webkit.org/show_bug.cgi?id=42197

Unreviewed gardening, skip failing tests due to this bug.

  • platform/wk2/Skipped:
08:02 Changeset [105277] by ossy@webkit.org

[Qt] Test fonts metric differencies with Qt5
https://bugs.webkit.org/show_bug.cgi?id=75710

Unreviewed gardening, unskip now passing tests after tesfont fix

  • platform/qt-5.0/Skipped:
07:42 Changeset [105276] by achicu@adobe.com

CSS Shaders: Parse float parameters for the custom() filter syntax
https://bugs.webkit.org/show_bug.cgi?id=76253

Reviewed by Nikolas Zimmermann.

Source/WebCore:

Custom CSS filters allow passing parameters from CSS to the underlying rendering technology (in this case WebGL Shaders).
This patch adds support for parameters of types float, vec2, vec3 and vec4.

https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html#feCustomParamsAttribute

Tests: css3/filters/effect-custom-combined-missing.html

css3/filters/effect-custom-parameters.html

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

Added CustomFilterParameter.h, CustomFilterNumberParameter.h and CustomFilterOperation.cpp to the projects.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::valueForCustomFilterNumberParameter):
(WebCore::CSSComputedStyleDeclaration::valueForCustomFilterParameter):
(WebCore::CSSComputedStyleDeclaration::valueForFilter):

Added the computed parameters in alphabetic order (CustomFilterOperation always keeps the parameters sorted).

  • css/CSSComputedStyleDeclaration.h:
  • css/CSSStyleSelector.cpp:

(WebCore::sortParametersByNameComparator):
(WebCore::CSSStyleSelector::parseCustomFilterNumberParamter):
(WebCore::CSSStyleSelector::parseCustomFilterParameterList):
(WebCore::CSSStyleSelector::createCustomFilterOperation):

Added parsing for float, vec2, vec3 and vec4. The values are space separated.

  • css/CSSStyleSelector.h:
  • platform/graphics/filters/CustomFilterNumberParameter.h: Added.

(WebCore::CustomFilterNumberParameter::create):
(WebCore::CustomFilterNumberParameter::size):
(WebCore::CustomFilterNumberParameter::valueAt):
(WebCore::CustomFilterNumberParameter::addValue):
(WebCore::CustomFilterNumberParameter::CustomFilterNumberParameter):

  • platform/graphics/filters/CustomFilterOperation.cpp: Added.

(WebCore::CustomFilterOperation::CustomFilterOperation):
(WebCore::CustomFilterOperation::~CustomFilterOperation):

Moved constructor and destructor in CustomFilterOperation.cpp to avoid including CustomFilterParameter everywhere.

(WebCore::CustomFilterOperation::hasSortedParameterList):

Debug runtime check that we always have parameters in alphabetic order.

  • platform/graphics/filters/CustomFilterOperation.h:

(WebCore::CustomFilterOperation::create):
(WebCore::CustomFilterOperation::parameters):

Just added the parameters list. Not using a map, but keeping the items sorted by name. We need them sorted
to make it easy and fast to merge two CustomFilterOperations during animations.

  • platform/graphics/filters/CustomFilterParameter.h: Added.

(WebCore::CustomFilterParameter::~CustomFilterParameter):
(WebCore::CustomFilterParameter::parameterType):
(WebCore::CustomFilterParameter::name):
(WebCore::CustomFilterParameter::CustomFilterParameter):

  • platform/graphics/filters/CustomFilterShader.cpp:

(WebCore::CustomFilterShader::uniformLocationByName):

  • platform/graphics/filters/CustomFilterShader.h:
  • platform/graphics/filters/FECustomFilter.cpp:

(WebCore::FECustomFilter::FECustomFilter):
(WebCore::FECustomFilter::create):
(WebCore::FECustomFilter::platformApplySoftware):
(WebCore::FECustomFilter::bindProgramNumberParameters):
(WebCore::FECustomFilter::bindProgramParameters):

Added code that maps the parameters from CSS to WebGL.

(WebCore::FECustomFilter::bindProgramAndBuffers):

  • platform/graphics/filters/FECustomFilter.h:
  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build):

Fixed a case when the filter was not created, letting the filter add itself as a source of its own.
Also added a test case for this particular case: css3/filters/effect-custom-combined-missing.html.

LayoutTests:

  • css3/filters/custom-filter-property-computed-style-expected.txt:
  • css3/filters/effect-custom-combined-missing-expected.png: Added.
  • css3/filters/effect-custom-combined-missing-expected.txt: Added.
  • css3/filters/effect-custom-combined-missing.html: Added.

Testing that missing shader filters will not enter an infinite loop.

  • css3/filters/effect-custom-parameters-expected.png: Added.
  • css3/filters/effect-custom-parameters-expected.txt: Added.
  • css3/filters/effect-custom-parameters.html: Added.
  • css3/filters/resources/color-offset-parameters.fs: Added.
  • css3/filters/resources/vertex-offset-parameters.vs: Added.

Testing parameter passing from CSS to WebGL.

  • css3/filters/script-tests/custom-filter-property-computed-style.js:

Added computed style checks for number parameters.

07:36 Changeset [105275] by kenneth@webkit.org

[Qt] Zoom in to the focused node only when vkb starts becoming visible https://bugs.webkit.org/show_bug.cgi?id=76174

Reviewed by Simon Hausmann.

Remove the old code which always zoomed in when something got focus,
even via JavaScript, and replaced it with code checking the state of
the Qt input panel.

Also make sure that we do not zoom in or request the input panel if
the item is not focused.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/qt/QtPageClient.cpp:
  • UIProcess/qt/QtPageClient.h:
  • UIProcess/qt/QtWebPageEventHandler.cpp:

(QtWebPageEventHandler::QtWebPageEventHandler):
(QtWebPageEventHandler::~QtWebPageEventHandler):
(QtWebPageEventHandler::inputPanelVisibleChanged):

  • UIProcess/qt/QtWebPageEventHandler.h:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::respondToChangedSelection):

07:21 Changeset [105274] by caseq@chromium.org

Web Inspector: resource tree model leaks frames
https://bugs.webkit.org/show_bug.cgi?id=76533

Reviewed by Pavel Feldman.

  • inspector/front-end/ResourceTreeModel.js:

(WebInspector.ResourceTreeModel.prototype._frameDetached):
(WebInspector.ResourceTreeModel.prototype._removeFrame):
(WebInspector.ResourceTreeFrame.prototype._removeChildFrame):

07:07 Changeset [105273] by ossy@webkit.org

Cross-platform processor core counter
https://bugs.webkit.org/show_bug.cgi?id=76530

Unreviewed cross-MinGW buildfix after r105270.

  • wtf/NumberOfCores.cpp: Use windows.h instead of Windows.h.
06:20 Changeset [105272] by vsevik@chromium.org

Web Inspector: Enable support for Open Script dialog based on FilteredItemSelectionDialog.
https://bugs.webkit.org/show_bug.cgi?id=76466

Reviewed by Pavel Feldman.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/FilteredItemSelectionDialog.js:

(WebInspector.JavaScriptOutlineDialog.createShortcut):
(WebInspector.OpenResourceDialog.filterOutEmptyURLs):
(WebInspector.OpenResourceDialog):
(WebInspector.OpenResourceDialog.install):
(WebInspector.OpenResourceDialog._show):
(WebInspector.OpenResourceDialog.createShortcut):
(WebInspector.OpenResourceDialog.prototype.itemTitleAt):
(WebInspector.OpenResourceDialog.prototype.itemKeyAt):
(WebInspector.OpenResourceDialog.prototype.itemsCount):
(WebInspector.OpenResourceDialog.prototype.requestItems):
(WebInspector.OpenResourceDialog.prototype.selectItem):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype.showUISourceCode):

06:15 Changeset [105271] by rgabor@webkit.org

[Qt] Update another SVG expected after r105247.

Unreviewed.

  • platform/qt/svg/custom/pointer-events-text-css-transform-expected.png:
  • platform/qt/svg/custom/pointer-events-text-css-transform-expected.txt:
06:15 Changeset [105270] by commit-queue@webkit.org

Cross-platform processor core counter
https://bugs.webkit.org/show_bug.cgi?id=76530

Patch by Roland Takacs <takacs.roland@stud.u-szeged.hu> on 2012-01-18
Reviewed by Zoltan Herczeg.

Source/JavaScriptCore:

Two files have been created that include the processor core counter function.
It used to be in ParallelJobsGeneric.h/cpp before.

(JSC::Options::initializeOptions):

  • wtf/CMakeLists.txt:
  • wtf/NumberOfCores.cpp: Added.

(WTF::numberOfProcessorCores):

  • wtf/NumberOfCores.h: Added.
  • wtf/ParallelJobsGeneric.cpp:

(WTF::ParallelEnvironment::ParallelEnvironment):

  • wtf/ParallelJobsGeneric.h:

Source/WTF:

Two files have been added to the project, namely NumberOfCores.h/cpp,
that include a CPU core number determining function.

  • WTF.pro:
05:57 Changeset [105269] by rgabor@webkit.org

[Qt] svg/carto.net/frameless-svg-parse-error.html asserting after r105143
https://bugs.webkit.org/show_bug.cgi?id=76534

Reviewed by Csaba Osztrogonác.

  • platform/qt/Skipped:
05:52 Changeset [105268] by pfeldman@chromium.org

Not reviewed: follow up to r105262, fixing front-end compilation.

  • inspector/front-end/DOMAgent.js:

(WebInspector.DOMDocument):
(WebInspector.DOMModelResourceBinding.prototype.setContent.setOuterHTML):

05:35 Changeset [105267] by kbalazs@webkit.org

[Qt] Consolidate layout test crash logging
https://bugs.webkit.org/show_bug.cgi?id=75088

Reviewed by Simon Hausmann.

Move backtrace generating logic into WTFReportBacktrace
and add a way to deinstall signal handlers if we know
that we have already printed the backtrace.

.:

  • Source/qtwebkit-export.map:

Source/JavaScriptCore:

(WTFLogLocker::WTFReportBacktrace):
(WTFLogLocker::WTFSetCrashHook):
(WTFLogLocker::WTFInvokeCrashHook):

  • wtf/Assertions.h:

Tools:

  • DumpRenderTree/qt/main.cpp:

(crashHandler):
(setupSignalHandlers):
(WTFCrashHook):
(main):

  • WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp:

(WTR::crashHandler):
(WTR::setupSignalHandlers):
(WTR::crashHook):
(WTR::InjectedBundle::platformInitialize):

05:26 Changeset [105266] by ossy@webkit.org

[Qt] Unreviewed gardening after testfonts update.

  • platform/qt-5.0/fast/html/font-weight-bold-for-b-and-strong-expected.png:
  • platform/qt-5.0/fast/html/font-weight-bold-for-b-and-strong-expected.txt:
05:15 Changeset [105265] by rgabor@webkit.org

[Qt] Update some SVG expected after r105247.

Unreviewed.

  • platform/qt/svg/custom/linking-a-03-b-all-expected.png:
  • platform/qt/svg/custom/linking-a-03-b-all-expected.txt:
  • platform/qt/svg/custom/linking-a-03-b-viewBox-expected.png:
  • platform/qt/svg/custom/linking-a-03-b-viewBox-expected.txt:
  • platform/qt/svg/custom/linking-a-03-b-viewBox-transform-expected.png:
  • platform/qt/svg/custom/linking-a-03-b-viewBox-transform-expected.txt:
  • platform/qt/svg/custom/mouse-move-on-svg-container-expected.png:
  • platform/qt/svg/custom/mouse-move-on-svg-container-expected.txt:
  • platform/qt/svg/custom/mouse-move-on-svg-container-standalone-expected.png:
  • platform/qt/svg/custom/mouse-move-on-svg-container-standalone-expected.txt:
  • platform/qt/svg/custom/mouse-move-on-svg-root-expected.png:
  • platform/qt/svg/custom/mouse-move-on-svg-root-expected.txt:
  • platform/qt/svg/custom/mouse-move-on-svg-root-standalone-expected.png:
  • platform/qt/svg/custom/mouse-move-on-svg-root-standalone-expected.txt:
  • platform/qt/svg/custom/pointer-events-image-css-transform-expected.png:
  • platform/qt/svg/custom/pointer-events-image-css-transform-expected.txt:
  • platform/qt/svg/custom/pointer-events-image-expected.png:
  • platform/qt/svg/custom/pointer-events-image-expected.txt:
  • platform/qt/svg/custom/pointer-events-text-expected.png:
  • platform/qt/svg/custom/pointer-events-text-expected.txt:
  • platform/qt/svg/foreignObject/text-tref-02-b-expected.png:
  • platform/qt/svg/foreignObject/text-tref-02-b-expected.txt:
05:00 Changeset [105264] by mario@webkit.org

[GTK] platform/gtk/accessibility/combo-box-collapsed-selection-changed.html is failing after r105253
https://bugs.webkit.org/show_bug.cgi?id=76531

Unreviewed. Skip test now failing in the GTK port.

  • platform/gtk/Skipped: Skip test.
05:00 Changeset [105263] by loislo@chromium.org

Unreviewed build fix after r105256.

There was a cyclic dependency between self._port and self._host assigments.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner.init):

04:52 Changeset [105262] by pfeldman@chromium.org

Web Inspector: track HTML revisions when editing DOM and / or upon free flow edits.
https://bugs.webkit.org/show_bug.cgi?id=76457

Reviewed by Yury Semikhatsky.

Source/WebCore:

Test: inspector/elements/set-html-via-resource.html

  • inspector/DOMEditor.cpp:

(WebCore::DOMEditor::patchNode):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::getOuterHTML):
(WebCore::InspectorDOMAgent::setOuterHTML):
(WebCore::InspectorDOMAgent::buildObjectForNode):

  • inspector/front-end/DOMAgent.js:

(WebInspector.DOMNode):
(WebInspector.DOMNode.prototype.setNodeName):
(WebInspector.DOMNode.prototype.setNodeValue):
(WebInspector.DOMNode.prototype.setAttribute):
(WebInspector.DOMNode.prototype.setAttributeValue):
(WebInspector.DOMNode.prototype.removeAttribute):
(WebInspector.DOMNode.prototype.getChildNodes.mycallback):
(WebInspector.DOMNode.prototype.getChildNodes):
(WebInspector.DOMNode.prototype.setOuterHTML):
(WebInspector.DOMNode.prototype.removeNode):
(WebInspector.DOMNode.prototype.moveTo):
(WebInspector.DOMDocument):
(WebInspector.DOMAgent):
(WebInspector.DOMAgent.prototype._setDocument):
(WebInspector.DOMAgent.prototype._buildHighlightConfig):
(WebInspector.DOMAgent.prototype._markRevision):
(WebInspector.DOMAgent.prototype._captureDOM.callback):
(WebInspector.DOMAgent.prototype._captureDOM):
(WebInspector.DOMModelResourceBinding.prototype.setContent):
(WebInspector.DOMModelResourceBinding.prototype.setContent.setOuterHTML):
(WebInspector.DOMModelResourceBinding.prototype.setContent.withDocument):

  • inspector/front-end/ElementsTreeOutline.js:

(WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):

LayoutTests:

  • inspector/elements/resources/set-outer-html-body-iframe.html:
  • inspector/elements/set-html-via-resource-expected.txt: Added.
  • inspector/elements/set-html-via-resource.html: Added.
04:46 Changeset [105261] by caseq@chromium.org

Web Inspector: Popover does not disappear, causes debugger failure.
https://bugs.webkit.org/show_bug.cgi?id=71363

Reviewed by Pavel Feldman.

This is a work-around simple enough for a merge. The real fix would
be to get TextViewer to manage the highlight on its own, so it's not
accidently removed while re-building DOM for the text chunk.

  • inspector/front-end/JavaScriptSourceFrame.js:

(WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):

03:33 Changeset [105260] by vestbo@webkit.org

Add new watchlist rule for the Qt build system

Reviewed by Simon Hausmann.

03:32 Changeset [105259] by vestbo@webkit.org

[Qt] Move OTHER_FILES from WebKit.pro to Tools.pro

Reviewed by Simon Hausmann.

03:32 Changeset [105258] by vestbo@webkit.org

[Qt] Allow building only a subset of the WebKit sub-projects

Fixes build-jsc, broken in r104825.

We no longer need the intermediate buildQMakeQtProject(), as we're the
only port using qmake, and buildQMakeProject is now highly Qt specific.

<http://webkit.org/b/76179>

Reviewed by Simon Hausmann.

03:25 Changeset [105257] by philn@webkit.org

Unreviewed, GTK rebaseline after r105247 and r105253.

  • platform/gtk/css3/images/cross-fade-overflow-position-expected.txt:
  • platform/gtk/fast/forms/implicit-submission-expected.txt:
  • platform/gtk/svg/custom/mouse-move-on-svg-container-expected.txt:
  • platform/gtk/svg/custom/mouse-move-on-svg-container-standalone-expected.txt:
  • platform/gtk/svg/custom/mouse-move-on-svg-root-expected.txt:
  • platform/gtk/svg/custom/mouse-move-on-svg-root-standalone-expected.txt:
  • platform/gtk/svg/custom/pointer-events-image-css-transform-expected.txt:
  • platform/gtk/svg/custom/pointer-events-image-expected.txt:
  • platform/gtk/svg/custom/pointer-events-text-css-transform-expected.txt:
  • platform/gtk/svg/custom/pointer-events-text-expected.txt:
02:52 Changeset [105256] by rniwa@webkit.org

run-perf-tests should generate a json file that summaries the result
https://bugs.webkit.org/show_bug.cgi?id=76504

Reviewed by Adam Barth.

Add an ability to generate a json file to run-perf-test in the preparation for perf bots.
New option --outout-json-path specifies the json file's path, and --source-json-path specifies
another json file to be merged into the generated json file.

Also fixed a bug that --build wasn't set by default.

  • Scripts/webkitpy/layout_tests/port/test.py:

(TestPort.webkit_base):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner.init):
(PerfTestsRunner):
(PerfTestsRunner._parse_args):
(PerfTestsRunner.run):
(PerfTestsRunner._generate_json_if_specified):
(PerfTestsRunner._process_chromium_style_test_result):
(PerfTestsRunner._process_parser_test_result):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(MainTest):
(create_runner):
(test_run_test_set):
(test_run_test_set_for_parser_tests):
(test_run_test_set_with_summary_json):
(test_collect_tests):
(test_parse_args):

02:52 Changeset [105255] by commit-queue@webkit.org

Unreviewed build fix.
https://bugs.webkit.org/show_bug.cgi?id=76525

Removed missing build headers.

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-18

  • WebCore.xcodeproj/project.pbxproj:
02:40 Changeset [105254] by apavlov@chromium.org

[Chromium] Unreviewed, fix clashing svg/custom/linking-a-03-b-viewBox.svg expectation.

  • platform/chromium/test_expectations.txt:
02:39 Changeset [105253] by commit-queue@webkit.org

Use RenderTheme in HTMLSelectElement instead of #defines.
<http://webkit.org/b/76519>

Patch by Jun Mukai <mukai@chromium.org> on 2012-01-18
Reviewed by Kent Tamura.

Tests: no new tests because of no behavioral changes.

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::platformHandleKeydownEvent):
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):

  • platform/gtk/RenderThemeGtk.h:

(WebCore::RenderThemeGtk::popsMenuByArrowKeys):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::popsMenuByArrowKeys):
(WebCore::RenderTheme::popsMenuBySpaceOrReturn):

  • rendering/RenderThemeChromiumLinux.h:

(WebCore::RenderThemeChromiumLinux::popsMenuBySpaceOrReturn):

  • rendering/RenderThemeMac.h:

(WebCore::RenderThemeMac::popsMenuByArrowKeys):

02:15 Changeset [105252] by apavlov@chromium.org

Merge 105140 - Web Inspector: [TextPrompt] Autocomplete adds unwanted text that's hard to remove
https://bugs.webkit.org/show_bug.cgi?id=76058

Reviewed by Pavel Feldman.

As per the results of a war room:

  • Auto-suggest only after user typing (avoid showing suggestions when navigating through the user input.)
  • Do not select the first item if the suggest box is shown at the end of prompt (to allow Enter to commit the input.)
  • Only show grayed autocompletion at the end of prompt (otherwise show a suggest box with the first item selected.)
  • Grayed autocompletion can only be accepted with the End or Right keys.
  • Enter can accept a selected suggestion item from the list, without committing the input.
  • Retain the CSS model editing behavior as close to the existing one as possible.
  • Enable PageUp/PageDown to navigate the suggest box items.
  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertyTreeElement.prototype):
():

  • inspector/front-end/TextPrompt.js:

(WebInspector.TextPrompt.prototype.set text):
(WebInspector.TextPrompt.prototype._removeSuggestionAids):
(WebInspector.TextPrompt.prototype._selectStart.moveBackIfOutside):
(WebInspector.TextPrompt.prototype._selectStart):
(WebInspector.TextPrompt.prototype.onKeyDown):
(WebInspector.TextPrompt.prototype.acceptAutoComplete):
(WebInspector.TextPrompt.prototype.complete):
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
(WebInspector.TextPrompt.prototype.tabKeyPressed):
(WebInspector.TextPrompt.prototype.downKeyPressed):
(WebInspector.TextPrompt.prototype.pageUpKeyPressed):
(WebInspector.TextPrompt.prototype.pageDownKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype._onNextItem):
(WebInspector.TextPrompt.SuggestBox.prototype._onPreviousItem):
(WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
(WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
(WebInspector.TextPrompt.SuggestBox.prototype._canShowBox):
(WebInspector.TextPrompt.SuggestBox.prototype._rememberRowCountPerViewport):
(WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
(WebInspector.TextPrompt.SuggestBox.prototype.pageUpKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.pageDownKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):

TBR=apavlov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9252006

02:08 Changeset [105251] by rolandsteiner@chromium.org

Unreviewed: Chromium test_expectations.txt update

  • platform/chromium/test_expectations.txt:
02:00 Changeset [105250] by inferno@chromium.org

Source/WebCore: Crash in FrameView::forceLayoutParentViewIfNeeded.
https://bugs.webkit.org/show_bug.cgi?id=76309

Reviewed by Nikolas Zimmermann.

updateWidgetPositions can blow away the owning renderer
and its frameview, so need to protect it with refptr.

Test: svg/dom/parent-view-layout-crash.html

  • page/FrameView.cpp:

(WebCore::FrameView::forceLayoutParentViewIfNeeded):

LayoutTests: Crash in FrameView::forceLayoutParentViewIfNeeded.
https://bugs.webkit.org/show_bug.cgi?id=76309

Reviewed by Nikolas Zimmermann.

  • svg/dom/parent-view-layout-crash-expected.txt: Added.
  • svg/dom/parent-view-layout-crash.html: Added.
  • svg/dom/resources/svg-font-face.svg: Added.
01:22 EFLWebKitCodingStyle edited by gyuyoung.kim@samsung.com
(diff)
01:22 EFLWebKitCodingStyle edited by gyuyoung.kim@samsung.com
(diff)
01:15 Changeset [105249] by commit-queue@webkit.org

Move ShadowContentElement from dom/ to html/ and make ShadowContentElement subclass of HTMLElement.
https://bugs.webkit.org/show_bug.cgi?id=76241

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-18
Reviewed by Dimitri Glazkov.

.:

  • Source/autotools/symbols.filter: Exposed necessary symbols.

Source/WebCore:

Renamed ShadowContentElement to HTMLContentElement, and move it from dom/ to html/.
Also, ShadowInclusionSelector and ShadowContentSelectorQuery are renamed to
Content InclusionSelector and ContentSelectorQuery respectively.

No new tests, because no change in behavior.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DOMAllInOne.cpp:
  • dom/NodeRenderingContext.cpp:

(WebCore::nextRendererOf):
(WebCore::previousRendererOf):
(WebCore::firstRendererOf):
(WebCore::lastRendererOf):
(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):

  • dom/NodeRenderingContext.h:

(WebCore::NodeRenderingContext::includer):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::includerFor):
(WebCore::ShadowRoot::inclusions):
(WebCore::ShadowRoot::ensureInclusions):

  • dom/ShadowRoot.h:
  • html/HTMLDetailsElement.cpp:

(WebCore::DetailsContentElement::DetailsContentElement):
(WebCore::DetailsSummaryElement::DetailsSummaryElement):

  • html/HTMLElementsAllInOne.cpp:
  • html/HTMLSummaryElement.cpp:

(WebCore::SummaryContentElement::SummaryContentElement):

  • html/shadow/ContentInclusionSelector.cpp: Renamed from Source/WebCore/dom/ShadowInclusionSelector.cpp.

(WebCore::ShadowInclusion::append):
(WebCore::ShadowInclusion::unlink):
(WebCore::ShadowInclusionList::ShadowInclusionList):
(WebCore::ShadowInclusionList::~ShadowInclusionList):
(WebCore::ShadowInclusionList::find):
(WebCore::ShadowInclusionList::clear):
(WebCore::ShadowInclusionList::append):
(WebCore::ContentInclusionSelector::ContentInclusionSelector):
(WebCore::ContentInclusionSelector::~ContentInclusionSelector):
(WebCore::ContentInclusionSelector::select):
(WebCore::ContentInclusionSelector::unselect):
(WebCore::ContentInclusionSelector::findFor):
(WebCore::ContentInclusionSelector::didSelect):
(WebCore::ContentInclusionSelector::willSelectOver):

  • html/shadow/ContentInclusionSelector.h: Renamed from Source/WebCore/dom/ShadowInclusionSelector.h.

(WebCore::ShadowInclusion::includer):
(WebCore::ShadowInclusion::content):
(WebCore::ShadowInclusion::next):
(WebCore::ShadowInclusion::previous):
(WebCore::ShadowInclusion::ShadowInclusion):
(WebCore::ShadowInclusion::create):
(WebCore::ShadowInclusionList::first):
(WebCore::ShadowInclusionList::last):
(WebCore::ShadowInclusionList::isEmpty):
(WebCore::ShadowInclusionSet::add):
(WebCore::ShadowInclusionSet::remove):
(WebCore::ShadowInclusionSet::isEmpty):
(WebCore::ShadowInclusionSet::Translator::hash):
(WebCore::ShadowInclusionSet::Translator::equal):
(WebCore::ShadowInclusionSet::Hash::hash):
(WebCore::ShadowInclusionSet::Hash::equal):
(WebCore::ShadowInclusionSet::find):
(WebCore::ContentInclusionSelector::hasCandidates):

  • html/shadow/ContentSelectorQuery.cpp: Renamed from Source/WebCore/dom/ShadowContentSelectorQuery.cpp.

(WebCore::ContentSelectorQuery::ContentSelectorQuery):
(WebCore::ContentSelectorQuery::matches):

  • html/shadow/ContentSelectorQuery.h: Renamed from Source/WebCore/dom/ShadowContentSelectorQuery.h.
  • html/shadow/HTMLContentElement.cpp: Renamed from Source/WebCore/dom/ShadowContentElement.cpp.

(WebCore::HTMLContentElement::create):
(WebCore::HTMLContentElement::HTMLContentElement):
(WebCore::HTMLContentElement::~HTMLContentElement):
(WebCore::HTMLContentElement::attach):
(WebCore::HTMLContentElement::detach):
(WebCore::HTMLContentElement::select):
(WebCore::HTMLContentElement::setSelect):

  • html/shadow/HTMLContentElement.h: Renamed from Source/WebCore/dom/ShadowContentElement.h.

(WebCore::HTMLContentElement::inclusions):
(WebCore::HTMLContentElement::isContentElement):
(WebCore::HTMLContentElement::rendererIsNeeded):
(WebCore::HTMLContentElement::createRenderer):
(WebCore::toHTMLContentElement):

  • testing/Internals.cpp:

(WebCore::Internals::createContentElement):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit2:

  • win/WebKit2.def: Exposed necessary symbols.
  • win/WebKit2CFLite.def: ditto.

LayoutTests:

Renamed internals.createShadowContentElement to internals.createContentElement.

  • fast/dom/shadow/content-element-includer.html:
  • fast/dom/shadow/content-element-renderers.html:
  • fast/dom/shadow/create-content-element.html:
  • fast/dom/shadow/shadow-contents-select.html:
01:04 Changeset [105248] by carlosgc@webkit.org

Unreviewed. Fix GTK+ build after r105245.

  • Source/autotools/symbols.filter: Fix symbol name.
00:45 Changeset [105247] by zimmermann@webkit.org

RenderSVGRoot should inherit from RenderReplaced
https://bugs.webkit.org/show_bug.cgi?id=76446

Reviewed by Zoltan Herczeg.

Source/WebCore:

Let RenderSVGRoot inherit from RenderReplaced, instead of faking RenderReplaced, by inherting from RenderBox
and calling setReplaced(true) in the constructor. The outermost <svg> element is a replaced element in the
sense of CSS, and thus this is just a logical move. It fixes some issues where the <svg> root appeared
as selection leaf, covered by existing tests.

It allows us to simplify the painting, as outlines, etc. are painted by RenderReplaced now.
While I was it, speed up the local to border box computations by caching the result.

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::paint):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::RenderSVGRoot):
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::paintReplaced):
(WebCore::RenderSVGRoot::willBeDestroyed):
(WebCore::RenderSVGRoot::styleWillChange):
(WebCore::RenderSVGRoot::styleDidChange):
(WebCore::RenderSVGRoot::updateFromElement):
(WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
(WebCore::RenderSVGRoot::localToParentTransform):
(WebCore::RenderSVGRoot::computeFloatRectForRepaint):
(WebCore::RenderSVGRoot::mapLocalToContainer):
(WebCore::RenderSVGRoot::nodeAtPoint):

  • rendering/svg/RenderSVGRoot.h:

(WebCore::RenderSVGRoot::canHaveChildren):
(WebCore::RenderSVGRoot::canBeSelectionLeaf):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::setupInitialView):

LayoutTests:

Update test results after making RenderSVGRoot inherit from RenderReplaced.

  • platform/chromium/test_expectations.txt:
  • platform/mac/svg/custom/linking-a-03-b-all-expected.png: Text layout changed, we didn't relayout the tree when entering a new view before.
  • platform/mac/svg/custom/linking-a-03-b-all-expected.txt: Ditto.
  • platform/mac/svg/custom/linking-a-03-b-viewBox-expected.png: Ditto.
  • platform/mac/svg/custom/linking-a-03-b-viewBox-expected.txt: Ditto.
  • platform/mac/svg/custom/linking-a-03-b-viewBox-transform-expected.png: Ditto.
  • platform/mac/svg/custom/linking-a-03-b-viewBox-transform-expected.txt: Ditto.
  • platform/mac/svg/custom/mouse-move-on-svg-container-expected.png: Moving the circle, triggered a selection before, where it shouldn't. It's gone now.
  • platform/mac/svg/custom/mouse-move-on-svg-container-expected.txt: Ditto.
  • platform/mac/svg/custom/mouse-move-on-svg-container-standalone-expected.png: Ditto.
  • platform/mac/svg/custom/mouse-move-on-svg-container-standalone-expected.txt: Ditto.
  • platform/mac/svg/custom/mouse-move-on-svg-root-expected.png: Ditto.
  • platform/mac/svg/custom/mouse-move-on-svg-root-expected.txt: Ditto.
  • platform/mac/svg/custom/mouse-move-on-svg-root-standalone-expected.png: Ditto.
  • platform/mac/svg/custom/mouse-move-on-svg-root-standalone-expected.txt: Ditto.
  • platform/mac/svg/custom/pointer-events-image-css-transform-expected.png: Caret position which is reported changed, due the selection leaf changes.
  • platform/mac/svg/custom/pointer-events-image-css-transform-expected.txt: Ditto.
  • platform/mac/svg/custom/pointer-events-image-expected.png: Ditto.
  • platform/mac/svg/custom/pointer-events-image-expected.txt: Ditto.
  • platform/mac/svg/custom/pointer-events-text-css-transform-expected.png: Ditto.
  • platform/mac/svg/custom/pointer-events-text-css-transform-expected.txt: Ditto.
  • platform/mac/svg/custom/pointer-events-text-expected.png: Ditto.
  • platform/mac/svg/custom/pointer-events-text-expected.txt: Ditto.
  • platform/mac/svg/foreignObject/text-tref-02-b-expected.png: This now reports a valid size for the RenderSVGRoot in the <fO> subtree.
  • svg/foreignObject/text-tref-02-b-expected.txt: Ditto.

01/17/12:

23:36 Changeset [105246] by rolandsteiner@chromium.org

Unreviewed, rolling out r105244.
http://trac.webkit.org/changeset/105244
https://bugs.webkit.org/show_bug.cgi?id=76518

broke Chromium Mac (Requested by rolandsteiner on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-17

Source/WebCore:

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::checkboxOrRadioValue):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:
  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilityScrollView.cpp:
  • accessibility/AccessibilityScrollView.h:

Source/WebKit/chromium:

  • public/WebAccessibilityObject.h:
  • src/WebAccessibilityObject.cpp:

Tools:

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/chromium/AccessibilityUIElement.cpp:

(AccessibilityUIElement::AccessibilityUIElement):

  • DumpRenderTree/chromium/AccessibilityUIElement.h:
  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:

(AccessibilityUIElement::removeSelection):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:
  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::removeSelection):

LayoutTests:

  • platform/chromium/accessibility/scroll-to-global-point-iframe-expected.txt: Removed.
  • platform/chromium/accessibility/scroll-to-global-point-iframe-nested-expected.txt: Removed.
  • platform/chromium/accessibility/scroll-to-global-point-iframe-nested.html: Removed.
  • platform/chromium/accessibility/scroll-to-global-point-iframe.html: Removed.
  • platform/chromium/accessibility/scroll-to-global-point-main-window-expected.txt: Removed.
  • platform/chromium/accessibility/scroll-to-global-point-main-window.html: Removed.
  • platform/chromium/accessibility/scroll-to-global-point-nested-expected.txt: Removed.
  • platform/chromium/accessibility/scroll-to-global-point-nested.html: Removed.
  • platform/chromium/accessibility/scroll-to-make-visible-div-overflow-expected.txt: Removed.
  • platform/chromium/accessibility/scroll-to-make-visible-div-overflow.html: Removed.
  • platform/chromium/accessibility/scroll-to-make-visible-iframe-expected.txt: Removed.
  • platform/chromium/accessibility/scroll-to-make-visible-iframe.html: Removed.
  • platform/chromium/accessibility/scroll-to-make-visible-main-window-expected.txt: Removed.
  • platform/chromium/accessibility/scroll-to-make-visible-main-window.html: Removed.
  • platform/chromium/accessibility/scroll-to-make-visible-nested-expected.txt: Removed.
  • platform/chromium/accessibility/scroll-to-make-visible-nested.html: Removed.
  • platform/chromium/accessibility/scroll-to-make-visible-with-subfocus-expected.txt: Removed.
  • platform/chromium/accessibility/scroll-to-make-visible-with-subfocus.html: Removed.
22:55 Changeset [105245] by commit-queue@webkit.org

[Internals] Should be able to access corresponding Document object.
https://bugs.webkit.org/show_bug.cgi?id=76425

.:

Added exported symbols.

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-17
Reviewed by Adam Barth.

  • Source/autotools/symbols.filter:

Source/WebCore:

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-17
Reviewed by Adam Barth.

  • Allow FrameDestructionObserver to re-setting the Frame reference.
  • Make Internals a subclass of FrameDestructionObserver.

Since Internals::reset() is called for each test, we can access
the acive Frame object during the test. The frame reference will be
used by coming changes.

No new tests. Covered by existing tests.

  • WebCore.exp.in:
  • page/FrameDestructionObserver.cpp:

(WebCore::FrameDestructionObserver::FrameDestructionObserver):
(WebCore::FrameDestructionObserver::~FrameDestructionObserver):
(WebCore::FrameDestructionObserver::observe):

  • page/FrameDestructionObserver.h:
  • testing/Internals.cpp:

(WebCore::Internals::Internals):
(WebCore::Internals::reset):

  • testing/Internals.h:

Source/WebKit2:

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-17
Reviewed by Adam Barth.

  • win/WebKit2.def: Added exporting symbols.
  • win/WebKit2CFLite.def: Added exporting symbols.
22:41 Changeset [105244] by dmazzoni@google.com

Accessibility: Chromium needs methods to scroll an object into view or to a specific location.
https://bugs.webkit.org/show_bug.cgi?id=73460

Reviewed by Chris Fleizach.

Source/WebCore:

Tests: platform/chromium/accessibility/scroll-to-global-point-main-window.html

platform/chromium/accessibility/scroll-to-global-point-nested.html
platform/chromium/accessibility/scroll-to-make-visible-div-overflow.html
platform/chromium/accessibility/scroll-to-make-visible-iframe.html
platform/chromium/accessibility/scroll-to-make-visible-main-window.html
platform/chromium/accessibility/scroll-to-make-visible-nested.html
platform/chromium/accessibility/scroll-to-make-visible-with-subfocus.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::computeBestScrollOffset):
(WebCore::AccessibilityObject::scrollToMakeVisible):
(WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
(WebCore::AccessibilityObject::scrollToGlobalPoint):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::getScrollableAreaIfScrollable):
(WebCore::AccessibilityObject::scrollTo):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable):
(WebCore::AccessibilityRenderObject::scrollTo):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::getScrollableAreaIfScrollable):
(WebCore::AccessibilityScrollView::scrollTo):

  • accessibility/AccessibilityScrollView.h:

Source/WebKit/chromium:

  • public/WebAccessibilityObject.h:
  • src/WebAccessibilityObject.cpp:

(WebKit::WebAccessibilityObject::scrollToMakeVisible):
(WebKit::WebAccessibilityObject::scrollToMakeVisibleWithSubFocus):
(WebKit::WebAccessibilityObject::scrollToGlobalPoint):

Tools:

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/chromium/AccessibilityUIElement.cpp:

(AccessibilityUIElement::AccessibilityUIElement):
(AccessibilityUIElement::scrollToMakeVisibleCallback):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocusCallback):
(AccessibilityUIElement::scrollToGlobalPointCallback):

  • DumpRenderTree/chromium/AccessibilityUIElement.h:
  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:

(AccessibilityUIElement::scrollToMakeVisible):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::scrollToMakeVisible):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::scrollToMakeVisible):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):

LayoutTests:

  • platform/chromium/accessibility/scroll-to-global-point-iframe-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-global-point-iframe.html: Added.
  • platform/chromium/accessibility/scroll-to-global-point-iframe-nested-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-global-point-iframe-nested.html: Added.
  • platform/chromium/accessibility/scroll-to-global-point-main-window-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-global-point-main-window.html: Added.
  • platform/chromium/accessibility/scroll-to-global-point-nested-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-global-point-nested.html: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-div-overflow-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-div-overflow.html: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-iframe-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-iframe.html: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-main-window-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-main-window.html: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-nested-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-nested.html: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-with-subfocus-expected.txt: Added.
  • platform/chromium/accessibility/scroll-to-make-visible-with-subfocus.html: Added.
22:39 Changeset [105243] by mdelaney@apple.com

Fixing broken build. Missed a file in r105234.

22:06 Changeset [105242] by commit-queue@webkit.org

https://bugs.webkit.org/show_bug.cgi?id=75089
Access-Control-Request-Headers value should be lowercase

Source/WebCore:

Access-Control-Request-Headers is used when issuing a preflight request to let the server know
the HTTP headers that will be used when the actual request is made.
As per the W3C specification, Access-Control-Request-Headers value should be set in lowercase.

Patch by Joe Thomas <joethomas@motorola.com> on 2012-01-17
Reviewed by Alexey Proskuryakov.

Test: http/tests/xmlhttprequest/access-control-preflight-request-header-lowercase.html

  • loader/CrossOriginAccessControl.cpp:

(WebCore::createAccessControlPreflightRequest): setting Access-Control-Request-Headers value to lowercase

LayoutTests:

Added test to verify that the Access-Control-Request-Headers value is sent in lowercase.

Patch by Joe Thomas <joethomas@motorola.com> on 2012-01-17
Reviewed by Alexey Proskuryakov.

  • http/tests/xmlhttprequest/access-control-preflight-request-header-lowercase-expected.txt: Added.
  • http/tests/xmlhttprequest/access-control-preflight-request-header-lowercase.html: Added.
  • http/tests/xmlhttprequest/resources/access-control-preflight-request-header-lowercase.php: Added.
21:49 Changeset [105241] by hayato@chromium.org

Clean EventContext and move phase-tweaking logic to EventDispatcher.
https://bugs.webkit.org/show_bug.cgi?id=76414

Reviewed by Dimitri Glazkov.

No tests. No change in behavior.

  • dom/EventContext.cpp:

(WebCore::EventContext::handleLocalEvents):

  • dom/EventContext.h:

(WebCore::EventContext::currentTargetSameAsTarget):

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):

20:28 Changeset [105240] by gyuyoung.kim@samsung.com

[EFL] Use static const insted of #define macro.
https://bugs.webkit.org/show_bug.cgi?id=76499

Reviewed by Hajime Morita.

WebKit coding style prefers const to #define. EFL port needs to use const insted of #define macro.
This patch replace global variables defined by #define with const.

  • ewk/ewk_tiled_backing_store.cpp:

(_ewk_tiled_backing_store_smart_add):
(_ewk_tiled_backing_store_zoom_set_internal):

  • ewk/ewk_tiled_backing_store.h:
  • ewk/ewk_tiled_matrix.cpp:

(ewk_tile_matrix_new):

  • ewk/ewk_view.cpp:

(_ewk_view_repaint_add):
(_ewk_view_repaints_flush):
(_ewk_view_scroll_add):
(_ewk_view_scrolls_flush):
(_ewk_view_priv_new):
(ewk_view_base_smart_set):

  • ewk/ewk_view_tiled.cpp:

(_ewk_view_tiled_smart_pre_render_start):

20:15 Changeset [105239] by noel.gordon@gmail.com

[chromium] Remove public/WebWorker.h from the gyp projects
https://bugs.webkit.org/show_bug.cgi?id=76512

Reviewed by David Levin.

public/WebWorker.h was removed in r105020, remove references from the gyp projects.

  • WebKit.gyp:
20:13 Changeset [105238] by levin@chromium.org

Need to figure out which assert is firing when worker-read-blob-async.html fails.
https://bugs.webkit.org/show_bug.cgi?id=76503

Reviewed by Adam Barth.

No new functionality exposed so no new tests.

This is just a quick and dirty way to make these asserts unique
to expose which one of them is firing on a machine that doesn't have a
good stack trace.

  • dom/ActiveDOMObject.cpp:

(WebCore::ContextDestructionObserver::ContextDestructionObserver):
(WebCore::ContextDestructionObserver::~ContextDestructionObserver):
(WebCore::ActiveDOMObject::ActiveDOMObject):
(WebCore::ActiveDOMObject::~ActiveDOMObject):

  • storage/DatabaseSync.cpp:

(WebCore::DatabaseSync::openDatabaseSync):
(WebCore::DatabaseSync::~DatabaseSync):
(WebCore::DatabaseSync::changeVersion):
(WebCore::DatabaseSync::runTransaction):

20:02 Changeset [105237] by lforschler@apple.com

Versioning.

20:01 Changeset [105236] by abarth@webkit.org

Enable tests on the mac-ews
https://bugs.webkit.org/show_bug.cgi?id=76502

Reviewed by Simon Fraser.

Apple now has five machines running the mac-ews. Lucas Forschler has
asked that we try enabling tests to see if we have enough bandwidth.

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

(MacEWS):

20:01 Changeset [105235] by lforschler@apple.com

New tag.

19:59 Changeset [105234] by mdelaney@apple.com

On post-Lion releases, preserve the Lion behavior where WebKit explicitly calls -setGeometryFlipped on the hosting layer for applications that were linked on Lion or earlier.

19:24 Changeset [105233] by commit-queue@webkit.org

Clear 'm_size' of DrawingBuffer in the 'clear' function
https://bugs.webkit.org/show_bug.cgi?id=76239

Patch by Yongsheng Zhu <yongsheng.zhu@intel.com> on 2012-01-17
Reviewed by Kenneth Russell.

Clear the resources of DrawingBuffer but don't clear 'm_size'. This makes
's_currentResourceUsePixels' is not calculated correctly.

  • platform/graphics/gpu/DrawingBuffer.cpp:

(WebCore::DrawingBuffer::clear):

19:19 Changeset [105232] by commit-queue@webkit.org

Add a check-webkit-style exception for GDBInterface.cpp
https://bugs.webkit.org/show_bug.cgi?id=76187

Add an exception for Source/JavaScriptCore/jit/GDBInterface.cpp so
that it does not fail the style check.

Patch by Sanjoy Das <sanjoy@playingwithpointers.com> on 2012-01-17
Reviewed by Martin Robinson.

  • Scripts/webkitpy/style/checker.py: Tell the style checker to not run

readability/naming tests on
Source/JavaScriptCore/jit/GDBInterface.cpp.

  • Scripts/webkitpy/style/checker_unittest.py:

(GlobalVariablesTest.test_path_rules_specifier): Add a test for
the above exception.

19:16 Changeset [105231] by commit-queue@webkit.org

Fix getBBox for perpendicular paths
https://bugs.webkit.org/show_bug.cgi?id=76177

Patch by Philip Rogers <pdr@google.com> on 2012-01-17
Reviewed by Darin Adler.

Source/WebCore:

Test: svg/custom/getBBox-perpendicular-path.svg

  • platform/graphics/FloatRect.cpp:

(WebCore::FloatRect::unite):
(WebCore::FloatRect::uniteEvenIfEmpty):
(WebCore::FloatRect::uniteIfNonZero):

  • platform/graphics/FloatRect.h:
  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::computeContainerBoundingBoxes):

LayoutTests:

  • svg/custom/getBBox-perpendicular-path-expected.txt: Added.
  • svg/custom/getBBox-perpendicular-path.svg: Added.
19:09 Changeset [105230] by kbr@google.com

[chromium] Apply color profiles in more cases
https://bugs.webkit.org/show_bug.cgi?id=76498

Reviewed by Stephen White.

Not adding new tests, as application of the color profile is not
guaranteed for images used as textures in WebGL. Ran existing
WebGL layout tests; all pass.

  • platform/image-decoders/skia/ImageDecoderSkia.cpp:

(WebCore::ImageFrame::setStatus):

18:48 Changeset [105229] by jamesr@google.com

[chromium] Mark some compositing tests as failing with an IMAGE diff due to video playback problem

  • platform/chromium/test_expectations.txt:
18:43 Changeset [105228] by simon.fraser@apple.com

Fix media handling in compositing tests after r105219.

Reviewed by James Robinson.

Seeking seems to have issues on Chromium, and cause these tests to
timeout, so change the tests to play, then seek back to time 0.

New image results now show the first frame of the movie.

  • compositing/resources/media-testing.js:

(ensureFrameVisible):

  • platform/mac/compositing/geometry/video-fixed-scrolling-expected.png:
  • platform/mac/compositing/geometry/video-opacity-overlay-expected.png:
  • platform/mac/compositing/layers-inside-overflow-scroll-expected.png:
  • platform/mac/compositing/reflections/load-video-in-reflection-expected.png:
  • platform/mac/compositing/self-painting-layers-expected.png:
18:18 Changeset [105227] by weinig@apple.com

Rename quickLookPreviewItemsAtWindowLocation: to quickLookWithEvent:
<rdar://problem/10688913>

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView quickLookWithEvent:]):

18:06 Changeset [105226] by japhet@chromium.org

Ensure we don't cancel revalidation of a CachedResource
in the middle of successful revalidation.
It's more reliable to enforce this in CachedResource than in
SubresourceLoader.
https://bugs.webkit.org/show_bug.cgi?id=75713

Reviewed by Adam Barth.

No new test, the buggy case requires a non-stubbed window.print().

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didFinishLoading):

  • loader/SubresourceLoader.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::clearResourceToRevalidate):
(WebCore::CachedResource::switchClientsToRevalidatedResource):

  • loader/cache/CachedResource.h:
18:06 Changeset [105225] by ojan@chromium.org

Tweak results.html keyboard handling and flagging UI
https://bugs.webkit.org/show_bug.cgi?id=76331

Reviewed by Simon Fraser.

-Make it so that hitting j/k at the start selects the first/last test
instead of the second/none'th test.
-Use the unicode black flag character instead of " (flagged)"
-Make the text color of the whole selected row red. This showed
which row was selected without being to garish I think.
-Allow for having the flagged tests be space-separated instead of
newline separated.

  • fast/harness/resources/results-test.js:
  • fast/harness/results-expected.txt:
  • fast/harness/results.html:
18:03 Changeset [105224] by commit-queue@webkit.org

NULL ptr in WebCore::RenderSVGInlineText::localCaretRect
https://bugs.webkit.org/show_bug.cgi?id=75851

Patch by Stephen Chenney <schenney@chromium.org> on 2012-01-17
Reviewed by Ryosuke Niwa.

.:

Added a check for null box in localCaretRect, to match test in other
implementations. Adding a manual test because the crash is not
reproducible in DRT.

  • ManualTests/svg-modify-deleted-selection.svg: Added.

Source/WebCore:

Added a check for null box in localCaretRect, to match test in other
implementations. Adding a manual test because the crash is not reproducible
in DRT.

Test: ManualTests/svg-modify-deleted-selection.svg

  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::localCaretRect):

18:00 Changeset [105223] by ggaren@apple.com

Factored out some code into a helper function.

I think this might help getting rid of omit-frame-pointer.

Reviewed by Sam Weinig.

No benchmark change.

  • runtime/StringPrototype.cpp:

(JSC::removeUsingRegExpSearch): Moved to here...
(JSC::replaceUsingRegExpSearch): ...from here.

17:56 Changeset [105222] by leviw@chromium.org

Changing pixelSnappedScrollHeight/Width to not directly access member variables. This fixes a bug now that there's a cache and dirty bit.

17:33 Changeset [105221] by lforschler@apple.com

Merged r103913 & r103915.

17:23 Changeset [105220] by lforschler@apple.com

Merge 104593.

17:18 Changeset [105219] by simon.fraser@apple.com

Reduce the number of compositing test failures
https://bugs.webkit.org/show_bug.cgi?id=76495

Reviewed by James Robinson.

General cleanup of compositing tests:

  • video tests now do a seek to guarantee that the pixel result will show a frame
  • video tests use a shared JS file (can't use media/video-test.js because it always calls dumpAsText(), which is not reversible).
  • ideo-with-invalid-source.html fixed to use a file extension so that the error event fires (bug 76494).
  • pixel results rebaselined.
  • compositing/geometry/clipped-video-controller.html:
  • compositing/geometry/video-fixed-scrolling.html:
  • compositing/geometry/video-opacity-overlay.html:
  • compositing/layers-inside-overflow-scroll.html:
  • compositing/overflow/scroll-ancestor-update.html:
  • compositing/reflections/load-video-in-reflection.html:
  • compositing/resources/media-testing.js: Added.

(ensureFrameVisible):

  • compositing/self-painting-layers.html:
  • compositing/video/video-with-invalid-source.html:
  • compositing/visibility/visibility-simple-video-layer.html:
  • platform/mac/compositing/color-matching/image-color-matching-expected.png:
  • platform/mac/compositing/geometry/video-fixed-scrolling-expected.png:
  • platform/mac/compositing/geometry/video-opacity-overlay-expected.png:
  • platform/mac/compositing/layers-inside-overflow-scroll-expected.png:
  • platform/mac/compositing/overflow/scroll-ancestor-update-expected.png:
  • platform/mac/compositing/overflow/scroll-ancestor-update-expected.txt:
  • platform/mac/compositing/plugins/composited-plugin-expected.png:
  • platform/mac/compositing/reflections/load-video-in-reflection-expected.png:
  • platform/mac/compositing/reflections/simple-composited-reflections-expected.png:
  • platform/mac/compositing/self-painting-layers-expected.png:
  • platform/mac/compositing/video/video-background-color-expected.png:
  • platform/mac/test_expectations.txt:
17:16 Changeset [105218] by commit-queue@webkit.org

https://bugs.webkit.org/show_bug.cgi?id=76245
[Mac][DRT] should allow query string for the file URL.

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-17
Reviewed by Tony Chang.

Taught DRT about file:// as a url instead of a file path.
We are now able to use a path file:///foo/bar.html?baz as a url
with which DRT opens "/foo/bar.html" with "baz" as a query string.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(runTest):

17:11 Changeset [105217] by caio.oliveira@openbossa.org

Uint8ClampedArray support
https://bugs.webkit.org/show_bug.cgi?id=74455

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/PredictedType.cpp:

(JSC::predictionToString):
(JSC::predictionFromClassInfo):

  • bytecode/PredictedType.h:

(JSC::isUint8ClampedArrayPrediction):
(JSC::isActionableMutableArrayPrediction):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::execute):

  • dfg/DFGNode.h:

(JSC::DFG::Node::shouldSpeculateUint8ClampedArray):

  • dfg/DFGPropagator.cpp:

(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::performNodeCSE):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::clampDoubleToByte):
(JSC::DFG::compileClampIntegerToByte):
(JSC::DFG::SpeculativeJIT::compilePutByValForByteArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • runtime/JSCell.h:
  • runtime/JSGlobalData.h:
  • wtf/Forward.h:
  • wtf/Uint8Array.h:
  • wtf/Uint8ClampedArray.h: Added.

(WTF::Uint8ClampedArray::set):
(WTF::Uint8ClampedArray::create):
(WTF::Uint8ClampedArray::Uint8ClampedArray):
(WTF::Uint8ClampedArray::subarray):

Source/WebCore:

Test: fast/js/dfg-uint8clampedarray.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • DerivedSources.pri:
  • ForwardingHeaders/wtf/Uint8ClampedArray.h: Added.
  • GNUmakefile.list.am:
  • Target.pri:
  • UseJSC.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSDOMWindowCustom.cpp:
  • bindings/js/JSUint8ClampedArrayCustom.cpp: Added.

(WebCore::JSUint8ClampedArray::indexSetter):
(WebCore::toJS):
(WebCore::JSUint8ClampedArray::set):
(WebCore::JSUint8ClampedArrayConstructor::constructJSUint8ClampedArray):

  • bindings/scripts/CodeGeneratorJS.pm:

(IsTypedArrayType):
(GenerateHeader):

  • html/canvas/Uint8ClampedArray.idl: Added.
  • page/DOMWindow.idl:

Source/WTF:

  • WTF.pro:

LayoutTests:

  • fast/canvas/webgl/array-unit-tests-expected.txt:
  • fast/canvas/webgl/array-unit-tests.html:
  • fast/dom/Window/script-tests/window-property-descriptors.js:
  • fast/dom/Window/window-properties.html:
  • fast/dom/script-tests/constructed-objects-prototypes.js:

(constructorPropertiesOnWindow):

  • fast/dom/script-tests/prototype-inheritance-2.js:

(constructorNamesForWindow):

  • fast/js/dfg-uint8clampedarray-expected.txt: Added.
  • fast/js/dfg-uint8clampedarray.html: Added.
  • fast/js/script-tests/dfg-uint8clampedarray.js: Added.

(getter1):
(setter1):
(getter2):
(setter2):
(getter3):
(setter3):
(getter4):
(setter4):
(getters.getter1.a):
(.a):
(setters.setter1.a):
(safeGetter):
(safeSetter):

  • fast/js/script-tests/global-constructors.js:
  • platform/chromium/fast/canvas/webgl/array-unit-tests-expected.txt: Copied from LayoutTests/fast/canvas/webgl/array-unit-tests-expected.txt.
  • platform/chromium/test_expectations.txt:
16:59 Changeset [105216] by lforschler@apple.com

Merged r97303.

16:54 Changeset [105215] by lforschler@apple.com

Merged r96973.

16:50 Changeset [105214] by jamesr@google.com

[chromium] Update baselines

  • platform/chromium-linux/animations/cross-fade-webkit-mask-box-image-expected.png:
  • platform/chromium-mac-snowleopard/animations/cross-fade-webkit-mask-box-image-expected.png:
  • platform/chromium-win/animations/cross-fade-webkit-mask-box-image-expected.png:
  • platform/chromium-win/svg/carto.net/window-expected.png:
  • platform/chromium-win/svg/carto.net/window-expected.txt:
16:41 Changeset [105213] by ojan@chromium.org

Check style on test_expectations.txt files before commit
https://bugs.webkit.org/show_bug.cgi?id=76484

Reviewed by Adam Barth.

Unlike other style rules, if you get the syntax of the test_expectations.txt
file wrong, the layout tests won't run. Also, this check is simple and only
slows down committing if you actually modify one of the test_expectations.txt files.

  • Scripts/webkitpy/tool/steps/commit.py:

(Commit._check_test_expectations):
(Commit.run):

  • Scripts/webkitpy/tool/steps/commit_unittest.py: Added.

(CommitTest):
(CommitTest.test_check_test_expectations):

16:33 Changeset [105212] by inferno@chromium.org

Crash in in WebCore::EventHandler::mouseMoved.
https://bugs.webkit.org/show_bug.cgi?id=76462

Reviewed by Ryosuke Niwa.

Source/WebCore:

handleMouseMoveEvent call in EventHandler::mouseMoved can
blow away the frame from underneath. Protect it with a frameview
refptr.

Test: fast/events/mouse-moved-remove-frame-crash.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::mouseMoved):

LayoutTests:

  • fast/events/mouse-moved-remove-frame-crash-expected.txt: Added.
  • fast/events/mouse-moved-remove-frame-crash.html: Added.
  • fast/events/resources/mouse-move.html: Added.
16:19 Changeset [105211] by lforschler@apple.com

Merge 96966.

16:18 Changeset [105210] by kerz@chromium.org

Merge 105070 - Web Inspector: styles sidebar rendering is broken
https://bugs.webkit.org/show_bug.cgi?id=76065

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertiesSection):

  • inspector/front-end/elementsPanel.css:

(.styles-section .header .subtitle):
(.styles-section .properties):

LayoutTests:

  • http/tests/inspector/elements-test.js:

(initialize_ElementTest.InspectorTest.dumpSelectedElementStyles): Fix dump output due to DOM changes.

TBR=apavlov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9242032

16:16 Changeset [105209] by kerz@chromium.org

Merge 105071 - Web Inspector: timeline record bars may overlap with the records column
https://bugs.webkit.org/show_bug.cgi?id=76387

Reviewed by Yury Semikhatsky.

  • inspector/front-end/timelinePanel.css:

(#timeline-container .split-view-sidebar-left):

TBR=pfeldman@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9242031

16:13 Changeset [105208] by kerz@chromium.org

Merge 104140 - WebKit adds vertical paddings and borders to the fixed width of CSS tables
https://bugs.webkit.org/show_bug.cgi?id=74955

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-01-05
Reviewed by Julien Chaffraix.

Source/WebCore:

Test: fast/table/css-table-width.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::computeLogicalWidth):

Changed the width calculation for CSS tables to take into account horizontal
paddings and borders instead of vertical paddings and borders.

LayoutTests:

Added tests to check that the fixed width style is applied correctly to
CSS tables with respect to table paddings and borders.

  • fast/table/css-table-width-expected.txt: Added.
  • fast/table/css-table-width.html: Added.
  • fast/table/script-tests/css-table-width.js: Added.

(computeCSSTableOffsetWidth):
(computeCSSTableOffsetHeight):
(computeCSSTableProperty):

TBR=commit-queue@webkit.org
Review URL: https://chromiumcodereview.appspot.com/9220007

16:12 Changeset [105207] by alexis.menard@openbossa.org

Increase test coverage for -webkit-border-image.
https://bugs.webkit.org/show_bug.cgi?id=76473

Reviewed by Tony Chang.

Make sure we also set the width of the border in the shorthand. It will help
in the future to remove CSSBorderImageValue class without breaking this property.

  • fast/css/getComputedStyle/getComputedStyle-border-image-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-border-image.html:
16:10 Changeset [105206] by ostapenko.viatcheslav@nokia.com

[Qt] Debug build fails with debug qt5
https://bugs.webkit.org/show_bug.cgi?id=76463

Reviewed by Simon Hausmann.

Add QNetworkCookie include in order to satisfy sizeof in QTypeInfo in debug builds.

Source/WebKit/qt:

  • WebCoreSupport/FrameNetworkingContextQt.cpp:

Tools:

  • QtTestBrowser/cookiejar.h:
16:06 Changeset [105205] by jamesr@google.com

[chromium] Update expectations for line-grid tests and one random svg thing

  • platform/chromium-linux/fast/line-grid/line-grid-floating-expected.png: Added.
  • platform/chromium-linux/fast/line-grid/line-grid-inside-columns-expected.png: Added.
  • platform/chromium-linux/fast/line-grid/line-grid-into-floats-expected.png: Added.
  • platform/chromium-linux/fast/line-grid/line-grid-positioned-expected.png: Added.
  • platform/chromium-mac-leopard/fast/line-grid/line-grid-floating-expected.png: Added.
  • platform/chromium-mac-leopard/fast/line-grid/line-grid-inside-columns-expected.png: Added.
  • platform/chromium-mac-leopard/fast/line-grid/line-grid-into-floats-expected.png: Added.
  • platform/chromium-mac-leopard/fast/line-grid/line-grid-positioned-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/line-grid/line-grid-floating-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/line-grid/line-grid-inside-columns-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/line-grid/line-grid-into-floats-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/line-grid/line-grid-positioned-expected.png: Added.
  • platform/chromium-win/fast/line-grid/line-grid-floating-expected.png: Added.
  • platform/chromium-win/fast/line-grid/line-grid-floating-expected.txt: Added.
  • platform/chromium-win/fast/line-grid/line-grid-inside-columns-expected.png: Added.
  • platform/chromium-win/fast/line-grid/line-grid-inside-columns-expected.txt: Added.
  • platform/chromium-win/fast/line-grid/line-grid-into-floats-expected.png: Added.
  • platform/chromium-win/fast/line-grid/line-grid-into-floats-expected.txt: Added.
  • platform/chromium-win/fast/line-grid/line-grid-positioned-expected.png: Added.
  • platform/chromium-win/fast/line-grid/line-grid-positioned-expected.txt: Added.
  • platform/chromium-win/svg/custom/js-late-clipPath-and-object-creation-expected.png:
  • platform/chromium-win/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
15:57 Changeset [105204] by jamesr@google.com

[chromium] Update expectations/baselines for cross-fade change

  • css3/images/cross-fade-overflow-position-expected.txt: Renamed from LayoutTests/platform/mac/css3/images/cross-fade-overflow-position-expected.txt.
  • platform/chromium-linux/css3/images/cross-fade-overflow-position-expected.png:
  • platform/chromium-mac-snowleopard/css3/images/cross-fade-overflow-position-expected.png:
  • platform/chromium-win/css3/images/cross-fade-overflow-position-expected.png:
  • platform/chromium/test_expectations.txt:
  • platform/qt/css3/images/cross-fade-overflow-position-expected.txt: Removed.
15:46 Changeset [105203] by weinig@apple.com

Add helper macro for forward declaring objective-c classes
https://bugs.webkit.org/show_bug.cgi?id=76485

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • wtf/Compiler.h:

Add OBJC_CLASS macro which helps reduce code when forward declaring an
objective-c class in a header which can be included from both Objective-C
and non-Objective-C files.

Source/WebCore:

  • accessibility/AccessibilityObject.h:
  • bindings/js/ScriptController.h:
  • bridge/objc/objc_utility.h:
  • page/DragClient.h:
  • page/EditorClient.h:
  • platform/AutodrainedPool.h:
  • platform/ContextMenuItem.h:
  • platform/Cursor.h:
  • platform/DragData.h:
  • platform/DragImage.h:
  • platform/KURL.h:
  • platform/Pasteboard.h:
  • platform/PlatformKeyboardEvent.h:
  • platform/PlatformMenuDescription.h:
  • platform/PlatformScreen.h:
  • platform/SharedBuffer.h:
  • platform/Widget.h:
  • platform/cf/SchedulePair.h:
  • platform/graphics/BitmapImage.h:
  • platform/graphics/FontPlatformData.h:
  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/Icon.h:
  • platform/graphics/Image.h:
  • platform/graphics/MediaPlayer.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/ca/PlatformCAAnimation.h:
  • platform/graphics/ca/mac/TileCache.h:
  • platform/graphics/mac/ColorMac.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerProxy.h:
  • platform/mac/ClipboardMac.h:
  • platform/mac/LocalCurrentGraphicsContext.h:
  • platform/mac/PasteboardHelper.h:
  • platform/mac/PopupMenuMac.h:
  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.h:
  • platform/network/ResourceHandleInternal.h:
  • platform/network/cf/AuthenticationChallenge.h:
  • platform/network/cf/ResourceError.h:
  • platform/network/cf/ResourceRequest.h:
  • platform/network/cf/ResourceResponse.h:
  • rendering/RenderThemeMac.h:

Deploy OBJC_CLASS for a little code reduction.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebDragClient.h:

Deploy OBJC_CLASS for a little code reduction.

  • config.h:

Remove duplicate copy of OBJC_CLASS.

15:31 Changeset [105202] by jamesr@google.com

[chromium] Fix duplicate expectations for canvas tests on mac

  • platform/chromium/test_expectations.txt:
15:26 Changeset [105201] by enrica@apple.com

REGRESSION (r101413): Correction panel overlaps misspelled text.
https://bugs.webkit.org/show_bug.cgi?id=74589
<rdar://problem/10585115>

When converting the rectangle from the root view, we need
to take into account the height of the rectangle.

Reviewed by Anders Carlsson.

  • WebView/WebView.mm:

(-[WebView _convertRectFromRootView:]):

15:25 Changeset [105200] by commit-queue@webkit.org

Convert some fast/regions pixel tests to reftests
https://bugs.webkit.org/show_bug.cgi?id=74133

Patch by Jacob Goldstein <jacobg@adobe.com> on 2012-01-17
Reviewed by Tony Chang.

  • fast/regions/webkit-flow-inlines-dynamic-expected.html: Added.
  • fast/regions/webkit-flow-inlines-dynamic.html:
  • platform/efl/fast/regions/webkit-flow-inlines-dynamic-expected.png: Removed.
  • platform/efl/fast/regions/webkit-flow-inlines-dynamic-expected.txt: Removed.
  • platform/mac/fast/regions/webkit-flow-inlines-dynamic-expected.png: Removed.
  • platform/mac/fast/regions/webkit-flow-inlines-dynamic-expected.txt: Removed.
15:10 Changeset [105199] by dpranke@chromium.org

webkitpy: fix json import on linux
https://bugs.webkit.org/show_bug.cgi?id=76481

Reviewed by Adam Barth.

For some reason, the version of simplejson autoinstalled on my linux
box seems to be broken. We should really only be using
simplejson if json isn't available anyway, so this change looks
for json first.

  • Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:

(JSONGeneratorTest.test_test_timings_trie):

15:04 Changeset [105198] by leviw@chromium.org

Rebaselining expectations for new float/line measuring changes

15:02 Changeset [105197] by leviw@chromium.org

Stop using pixel snapped values for x values when laying out floats. This is necessary when there are two floats on a line both at 50% width. Switching to pixel snapped values for measuring the available width when laying out bidi runs. Switching improper truncating in shrinkAvailableWidthForNewFloatIfNeeded to pixel snapped values.

14:36 Changeset [105196] by fpizlo@apple.com

Merge 105107.

Source/JavaScriptCore:

2012-01-15 Filip Pizlo <fpizlo@apple.com>


DFG should be able to do JS and custom getter caching
https://bugs.webkit.org/show_bug.cgi?id=76361
<rdar://problem/10698060>


Reviewed by Geoff Garen.


Added the ability to cache JS getter calls and custom getter calls in the DFG.
Most of this is pretty mundane, since the old JIT supported this functionality
as well. But a couple interesting things had to happen:


  • There are now two variants of GetById: GetById, which works as before, and GetByIdFlush, which flushes registers prior to doing the GetById. Only GetByIdFlush can be used for caching getters. We detect which GetById style to use by looking at the inline caches of the old JIT.


  • Exception handling for getter calls planted in stubs uses a separate lookup handler routine, which uses the CodeOrigin stored in the StructureStubInfo.


This is a 40% speed-up in the Dromaeo DOM Traversal average. It removes all of
the DFG regressions we saw in Dromaeo. This is neutral on SunSpider, V8, and
Kraken.


  • bytecode/StructureStubInfo.h:
  • dfg/DFGAbstractState.cpp: (JSC::DFG::AbstractState::execute):
  • dfg/DFGAssemblyHelpers.h: (JSC::DFG::AssemblyHelpers::emitExceptionCheck):
  • dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::willNeedFlush): (JSC::DFG::ByteCodeParser::parseBlock):
  • dfg/DFGCCallHelpers.h: (JSC::DFG::CCallHelpers::setupResults):
  • dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link):
  • dfg/DFGJITCompiler.h: (JSC::DFG::PropertyAccessRecord::PropertyAccessRecord): (JSC::DFG::JITCompiler::addExceptionCheck):
  • dfg/DFGNode.h: (JSC::DFG::Node::hasIdentifier): (JSC::DFG::Node::hasHeapPrediction):
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPropagator.cpp: (JSC::DFG::Propagator::propagateNodePredictions):
  • dfg/DFGRepatch.cpp: (JSC::DFG::tryCacheGetByID): (JSC::DFG::tryBuildGetByIDList):
  • dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheckSetResult):
  • dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::compile):
  • dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

2012-01-16 Filip Pizlo <fpizlo@apple.com>


DFG should be able to do JS and custom getter caching
https://bugs.webkit.org/show_bug.cgi?id=76361
<rdar://problem/10698060>


Reviewed by Geoff Garen.


  • fast/js/dfg-custom-getter-expected.txt: Added.
  • fast/js/dfg-custom-getter-throw-expected.txt: Added.
  • fast/js/dfg-custom-getter-throw-inlined-expected.txt: Added.
  • fast/js/dfg-custom-getter-throw-inlined.html: Added.
  • fast/js/dfg-custom-getter-throw.html: Added.
  • fast/js/dfg-custom-getter.html: Added.
  • fast/js/dfg-getter-expected.txt: Added.
  • fast/js/dfg-getter-throw-expected.txt: Added.
  • fast/js/dfg-getter-throw.html: Added.
  • fast/js/dfg-getter.html: Added.
  • fast/js/script-tests/dfg-custom-getter-throw-inlined.js: Added. (foo): (baz): (bar):
  • fast/js/script-tests/dfg-custom-getter-throw.js: Added. (foo): (bar):
  • fast/js/script-tests/dfg-custom-getter.js: Added. (foo):
  • fast/js/script-tests/dfg-getter-throw.js: Added. (foo): (bar):
  • fast/js/script-tests/dfg-getter.js: Added. (foo):
14:31 Changeset [105195] by dpranke@chromium.org

Fix failures in test-webkitpy caused by r105177.

Unreviewed, build fix.

  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:

(ChromiumLinuxPort._determine_driver_path_statically):
(ChromiumLinuxPort._static_build_path):

14:14 Changeset [105194] by ossy@webkit.org

[Qt] Unreviewed gardening after r105172.

  • platform/qt/css3/images/cross-fade-overflow-position-expected.png:
  • platform/qt/css3/images/cross-fade-overflow-position-expected.txt:
14:09 Changeset [105193] by tony@chromium.org

Fix compilation after r105165.

The merge was bad because there have been refactoring changes that weren't
included on the branch.
Review URL: https://chromiumcodereview.appspot.com/9243024

13:44 Changeset [105192] by mrowe@apple.com

Merge r99649.

13:43 Changeset [105191] by commit-queue@webkit.org

Add some canvas tests to test_expectations to prepare for changes to use sw-rasterized paths in skia-gpu
https://bugs.webkit.org/show_bug.cgi?id=76469

Patch by Brian Salomon <bsalomon@google.com> on 2012-01-17
Reviewed by Stephen White.

  • platform/chromium/test_expectations.txt:
13:39 Changeset [105190] by eae@chromium.org

Windows build fixes for webkit, with this patch the apple windows port builds

13:37 Changeset [105189] by mrowe@apple.com

Merge r99982.

13:31 Changeset [105188] by lforschler@apple.com

Merged r91148.

13:04 Changeset [105187] by mrowe@apple.com

Merge r94107.

12:57 Changeset [105186] by kling@webkit.org

SpaceSplitString: Share equivalent string piece vectors.
<http://webkit.org/b/76458>

Reviewed by Antti Koivisto.

Make SpaceSplitStringData ref-counted and cache them in a hashmap to reduce memory
usage and avoid redundant string splitting work. This reduces memory consumption
by 618 kB (on 64-bit) when viewing the full HTML5 spec at <http://whatwg.org/c>

  • dom/SpaceSplitString.h:

Add the source string to SpaceSplitStringData so we have a key for uncaching
in the destructor. Also bumped the vector's inline size from 2 to 4.

  • dom/SpaceSplitString.cpp:

(WebCore::sharedDataMap):
(WebCore::SpaceSplitStringData::create):
(WebCore::SpaceSplitStringData::createUnique):
(WebCore::SpaceSplitStringData::SpaceSplitStringData):
(WebCore::SpaceSplitString::SpaceSplitString):
(WebCore::SpaceSplitString::set):
(WebCore::SpaceSplitStringData::createVector):

Added create helpers for SpaceSplitStringData. Moved case folding from
createVector() to create(AtomicString). Added a hash map for caching
AtomicString -> SpaceSplitStringData.

(WebCore::SpaceSplitStringData::~SpaceSplitStringData):

Remove the SpaceSplitStringData from the sharedDataMap().

  • dom/SpaceSplitString.cpp:

(WebCore::SpaceSplitString::ensureUnique):

Added, detaches from the shared SpaceSplitStringData if necessary.

(WebCore::SpaceSplitStringData::add):
(WebCore::SpaceSplitStringData::remove):

Assert that add() and remove() are only used on unique SpaceSplitStringData.

(WebCore::SpaceSplitString::add):
(WebCore::SpaceSplitString::remove):

Call ensureUnique() to potentially detach from a shared SpaceSplitStringData
before making modifications.

  • dom/SpaceSplitString.cpp:

(WebCore::SpaceSplitStringData::containsAll):

Added gratuitous fast path for containsAll(*this).

12:44 Changeset [105185] by mrowe@apple.com

Merge r100408.

12:32 Changeset [105184] by dpranke@chromium.org

webkitpy: make PortFactory.get() be fully data-driven
https://bugs.webkit.org/show_bug.cgi?id=76360

Reviewed by Eric Seidel.

Refactor PortFactory.get() to be fully data-driven.

  • Scripts/webkitpy/layout_tests/port/factory.py:

(PortFactory):
(PortFactory._default_port):
(PortFactory.get):
(PortFactory.get.in):

  • Scripts/webkitpy/layout_tests/port/factory_unittest.py:

(FactoryTest.assert_port):

12:27 Changeset [105183] by dpranke@chromium.org

webkitpy: add determine_full_port_name(), clean up port.init()
https://bugs.webkit.org/show_bug.cgi?id=76357

Reviewed by Adam Barth.

Each Port class is now required to implement a 'port_name' field
that will match the start of all ports constructed by this class and
a 'determine_full_port_name' field that will make the port
fully-qualified.

  • Scripts/webkitpy/layout_tests/port/apple.py:

(ApplePort.init):

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port):
(Port.determine_port_name):
(Port.init):

  • Scripts/webkitpy/layout_tests/port/chromium.py:

(ChromiumPort.for):
(ChromiumPort.init):
(ChromiumPort):
(ChromiumPort._chromium_base_dir):
(ChromiumPort.path_from_chromium_base):

  • Scripts/webkitpy/layout_tests/port/chromium_gpu.py:

(ChromiumGpuLinuxPort):
(ChromiumGpuLinuxPort.init):
(ChromiumGpuMacPort):
(ChromiumGpuMacPort.init):
(ChromiumGpuWinPort):
(ChromiumGpuWinPort.init):

  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:

(ChromiumLinuxPort):
(ChromiumLinuxPort.determine_port_name):
(ChromiumLinuxPort.init):

  • Scripts/webkitpy/layout_tests/port/chromium_mac.py:

(ChromiumMacPort):
(ChromiumMacPort.determine_port_name):
(ChromiumMacPort.init):

  • Scripts/webkitpy/layout_tests/port/chromium_win.py:

(ChromiumWinPort):
(ChromiumWinPort.determine_port_name):
(ChromiumWinPort.init):

  • Scripts/webkitpy/layout_tests/port/dryrun.py:

(DryRunPort):
(DryRunPort.determine_port_name):
(DryRunPort.init):

  • Scripts/webkitpy/layout_tests/port/efl.py:

(EflPort):

  • Scripts/webkitpy/layout_tests/port/factory.py:

(PortFactory):
(PortFactory._default_port):
(PortFactory.get):
(PortFactory.get.in):

  • Scripts/webkitpy/layout_tests/port/factory_unittest.py:

(FactoryTest.assert_port):

  • Scripts/webkitpy/layout_tests/port/google_chrome.py:

(GoogleChromeLinux32Port):
(GoogleChromeLinux32Port.determine_port_name):
(GoogleChromeLinux64Port):
(GoogleChromeLinux64Port.determine_port_name):
(GoogleChromeMacPort):
(GoogleChromeMacPort.determine_port_name):
(GoogleChromeWinPort):
(GoogleChromeWinPort.determine_port_name):

  • Scripts/webkitpy/layout_tests/port/gtk.py:

(GtkPort):

  • Scripts/webkitpy/layout_tests/port/mac.py:

(MacPort):
(MacPort.determine_port_name):
(MacPort.init):

  • Scripts/webkitpy/layout_tests/port/mac_unittest.py:

(test_versions):

  • Scripts/webkitpy/layout_tests/port/mock_drt.py:

(MockDRTPort):
(MockDRTPort.determine_port_name):
(MockDRTPort.init):
(MockDRT):
(MockDRT.determine_port_name):

  • Scripts/webkitpy/layout_tests/port/port_testcase.py:

(PortTestCase.make_port):

  • Scripts/webkitpy/layout_tests/port/qt.py:

(QtPort):
(QtPort.determine_port_name):
(QtPort.init):

  • Scripts/webkitpy/layout_tests/port/test.py:

(TestPort):
(TestPort.determine_port_name):
(TestPort.init):

  • Scripts/webkitpy/layout_tests/port/webkit.py:

(WebKitPort.init):

  • Scripts/webkitpy/layout_tests/port/win.py:

(WinPort):
(WinPort.determine_port_name):

  • Scripts/webkitpy/tool/servers/rebaselineserver.py:

(get_test_baselines.AllPlatformsPort.init):

  • Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:

(get_test_config.TestMacPort):
(get_test_config):

12:14 Changeset [105182] by mrowe@apple.com

Merge r101543.

11:59 Changeset [105181] by mrowe@apple.com

Merge r103118.

11:37 Changeset [105180] by mrowe@apple.com

Merge r101808.

11:25 Changeset [105179] by mrowe@apple.com

Merge r104669.

11:25 Changeset [105178] by mrowe@apple.com

Merge r104619.

11:25 Changeset [105177] by dpranke@chromium.org

webkitpy: clean up port code in preparation for static port names
https://bugs.webkit.org/show_bug.cgi?id=76356

Reviewed by Adam Barth.

To fix bug 76215 and be able to determine appropriate port names
in webkitpy without actually constructing Port objects, we need
to shuffle some logic in the chromium ports to be able to figure
out whether we built DRT in 32 or 64-bit mode.

  • Scripts/webkitpy/layout_tests/port/chromium.py:

(ChromiumPort):
(ChromiumPort._chromium_base_dir):
(ChromiumPort.init):
(ChromiumPort.path_from_chromium_base):

  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:

(ChromiumLinuxPort):
(ChromiumLinuxPort._determine_driver_path_statically):
(ChromiumLinuxPort._static_build_path):
(ChromiumLinuxPort._determine_architecture):
(ChromiumLinuxPort.init):
(ChromiumLinuxPort._build_path):

11:16 Changeset [105176] by hyatt@apple.com

Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=76197

Implementation of baseline grid alignment. This patch implements line grid tracking in the layout state,
and also implements the snapping of lines to baselines. It works with normal flow, positioning and floats and
with pagination, as long as the grid is inside the pagination context and not outside.

Reviewed by Simon Fraser.

Added a bunch of new tests in fast/line-grid.

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/InlineFlowBox.h:

(WebCore::InlineFlowBox::setHasTextChildren):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::propagateLineGridInfo):
(WebCore::LayoutState::establishLineGrid):

  • rendering/LayoutState.h:

(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::pageLogicalHeight):
(WebCore::LayoutState::currentLineGrid):
(WebCore::LayoutState::currentLineGridOffset):
(WebCore::LayoutState::layoutOffset):
(WebCore::LayoutState::needsBlockDirectionLocationSetBeforeLayout):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::pageLogicalTopForOffset):
(WebCore::RenderBlock::adjustLinePositionForPagination):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::lineGridBox):
(WebCore::RenderBlock::setLineGridBox):
(WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::layoutLineGridBox):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::regionLogicalTopForLine):

  • rendering/RenderFlowThread.h:
  • rendering/RenderView.h:

(WebCore::RenderView::pushLayoutState):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::alignBoxesInBlockDirection):
(WebCore::RootInlineBox::lineGridSnapAdjustment):

  • rendering/RootInlineBox.h:

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

Add tests for baseline line grid alignment.

Reviewed by Simon Fraser.

  • fast/line-grid/line-grid-floating.html: Added.
  • fast/line-grid/line-grid-inside-columns.html: Added.
  • fast/line-grid/line-grid-into-floats.html: Added.
  • fast/line-grid/line-grid-positioned.html: Added.
  • platform/mac/fast/line-grid: Added.
  • platform/mac/fast/line-grid/line-grid-floating-expected.png: Added.
  • platform/mac/fast/line-grid/line-grid-floating-expected.txt: Added.
  • platform/mac/fast/line-grid/line-grid-inside-columns-expected.png: Added.
  • platform/mac/fast/line-grid/line-grid-inside-columns-expected.txt: Added.
  • platform/mac/fast/line-grid/line-grid-into-floats-expected.png: Added.
  • platform/mac/fast/line-grid/line-grid-into-floats-expected.txt: Added.
  • platform/mac/fast/line-grid/line-grid-positioned-expected.png: Added.
  • platform/mac/fast/line-grid/line-grid-positioned-expected.txt: Added.
11:13 Changeset [105175] by mrowe@apple.com

Merge r104727.

11:10 Changeset [105174] by leviw@chromium.org

Fixing truncation vs pixel snapping when drawing broken images.

11:09 Changeset [105173] by vsevik@chromium.org

Merge 104887 - Web Inspector: [Chomium] Resources loaded with 304 status code have receiving time of 15000 days in network panel.
https://bugs.webkit.org/show_bug.cgi?id=76176

Reviewed by Nate Chapin.

No new tests. Can't trigger this with inspector tests. Will add one when the Resource Timing API is in.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse): Use monotonic time.

TBR=simonjam@chromium.org
BUG=110154
Review URL: https://chromiumcodereview.appspot.com/9243015

11:02 Changeset [105172] by timothy_horton@apple.com

-webkit-cross-fade doesn't respect background-size
https://bugs.webkit.org/show_bug.cgi?id=74902
<rdar://problem/10605289>

Reviewed by Simon Fraser.

CrossfadeGeneratedImage should report its intrinsic size, instead of
improperly conforming to the size of its container.

Test: css3/images/cross-fade-background-size.html

  • platform/graphics/CrossfadeGeneratedImage.h:

(WebCore::CrossfadeGeneratedImage::setContainerSize):
(WebCore::CrossfadeGeneratedImage::usesContainerSize):
(WebCore::CrossfadeGeneratedImage::hasRelativeWidth):
(WebCore::CrossfadeGeneratedImage::hasRelativeHeight):
(WebCore::CrossfadeGeneratedImage::size):

Add a test (cross-fade-background-size.html) which ensures that the
background-size CSS property interacts reasonably with -webkit-cross-fade.

Modify cross-fade-overflow-position to hit both the tiled and non-tiled codepaths.

  • css3/images/cross-fade-background-size.html: Added.
  • css3/images/cross-fade-overflow-position.html:
  • css3/images/resources/stripes-large.png: Added.
  • css3/images/resources/stripes-small.png: Added.
  • platform/mac/css3/images/cross-fade-background-size-expected.png: Added.
  • platform/mac/css3/images/cross-fade-background-size-expected.txt: Added.
  • platform/mac/css3/images/cross-fade-overflow-position-expected.png:
  • platform/mac/css3/images/cross-fade-overflow-position-expected.txt:
11:00 Changeset [105171] by vsevik@chromium.org

Web Inspector: Refactor JavaScriptOutlineDialog: extract FilteredItemSelectionDialog and reuse DialogDelegate.
https://bugs.webkit.org/show_bug.cgi?id=76455

Reviewed by Yury Semikhatsky.

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.sh:
  • inspector/front-end/Dialog.js:

(WebInspector.Dialog):
(WebInspector.Dialog.prototype._hide):

  • inspector/front-end/FilteredItemSelectionDialog.js: Added.

(WebInspector.FilteredItemSelectionDialog):
(WebInspector.FilteredItemSelectionDialog.prototype.position):
(WebInspector.FilteredItemSelectionDialog.prototype.focus):
(WebInspector.FilteredItemSelectionDialog.prototype.willHide):
(WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
(WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded):
(WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
(WebInspector.FilteredItemSelectionDialog.prototype._hideItemElement):
(WebInspector.FilteredItemSelectionDialog.prototype._itemElementVisible):
(WebInspector.FilteredItemSelectionDialog.prototype._showItemElement):
(WebInspector.FilteredItemSelectionDialog.prototype._checkItemAt):
(WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp):
(WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
(WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
(WebInspector.FilteredItemSelectionDialog.prototype._scheduleFilter):
(WebInspector.FilteredItemSelectionDialog.prototype._updateSelection):
(WebInspector.FilteredItemSelectionDialog.prototype._onMouseMove):
(WebInspector.FilteredItemSelectionDialog.prototype._onScroll):
(WebInspector.FilteredItemSelectionDialog.prototype._highlightItems):
(WebInspector.FilteredItemSelectionDialog.prototype._clearHighlight):
(WebInspector.FilteredItemSelectionDialog.prototype._clearElementHighlight.changes.this._elementHighlightChanges.get if):
(WebInspector.FilteredItemSelectionDialog.prototype._clearElementHighlight):
(WebInspector.FilteredItemSelectionDialog.prototype._highlightItem.get var):
(WebInspector.FilteredItemSelectionDialog.prototype._highlightItem):
(WebInspector.FilteredItemSelectionDialog.prototype._itemElementInViewport):
(WebInspector.SelectionDialogContentProvider):
(WebInspector.SelectionDialogContentProvider.prototype.itemTitleAt):
(WebInspector.SelectionDialogContentProvider.prototype.itemKeyAt):
(WebInspector.SelectionDialogContentProvider.prototype.itemsCount):
(WebInspector.SelectionDialogContentProvider.prototype.requestItems):
(WebInspector.SelectionDialogContentProvider.prototype.selectItem):
(WebInspector.JavaScriptOutlineDialog):
(WebInspector.JavaScriptOutlineDialog.didAddChunk):
(WebInspector.JavaScriptOutlineDialog.install):
(WebInspector.JavaScriptOutlineDialog._show):
(WebInspector.JavaScriptOutlineDialog.createShortcut):
(WebInspector.JavaScriptOutlineDialog.prototype.itemTitleAt):
(WebInspector.JavaScriptOutlineDialog.prototype.itemKeyAt):
(WebInspector.JavaScriptOutlineDialog.prototype.itemsCount):
(WebInspector.JavaScriptOutlineDialog.prototype.requestItems):
(WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
(WebInspector.JavaScriptOutlineDialog.prototype._appendItemElements):

  • inspector/front-end/JavaScriptOutlineDialog.js: Removed.
  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/filteredItemSelectionDialog.css: Renamed from Source/WebCore/inspector/front-end/javaScriptOutlineDialog.css.

(.js-outline-dialog > input):
(.js-outline-dialog > div.progress):
(.js-outline-dialog > div.container):
(.js-outline-dialog > .container > div.item):
(.js-outline-dialog > .container > div.item.selected):
(.js-outline-dialog > .container > div.item > span.highlight):

  • inspector/front-end/inspector.html:
10:57 Changeset [105170] by lforschler@apple.com

Merge fix for 10516690.

10:55 Changeset [105169] by commit-queue@webkit.org

Do not remove pixel failures for ref tests.
https://bugs.webkit.org/show_bug.cgi?id=76243

Patch by Hao Zheng <zhenghao@chromium.org> on 2012-01-17
Reviewed by Tony Chang.

'NRWT --no-pixel-tests' complains when reftests are expected to
be image mismatch.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._update_summary_with_result):

  • Scripts/webkitpy/layout_tests/models/test_failures.py:

(is_reftest_failure):
(determine_result_type):

10:34 WebKit Team edited by dbates@webkit.org
(diff)
10:28 Changeset [105168] by abarth@webkit.org

Import some NodeIterator tests from mozilla
https://bugs.webkit.org/show_bug.cgi?id=76442

Reviewed by Daniel Bates.

These tests are imported from mozilla-central. I tried to make the
minimal changes when importing them rather than rewire them into
script-tests. They appear to have uncovered a bug, which I will
investigate in a followup patch.

  • traversal/moz-bug559526-expected.txt: Added.
  • traversal/moz-bug559526.html: Added.
  • traversal/moz-bug590771-expected.txt: Added.
  • traversal/moz-bug590771.html: Added.
  • traversal/moz-mutations-3-expected.txt: Added.
  • traversal/moz-mutations-3.html: Added.
10:26 Changeset [105167] by simon.fraser@apple.com

<rdar://problem/10703228> ASSERTION FAILED: Uncaught exception - Cannot lock focus on image <NSImage 0x1206572a0 Size={0, 0} Reps=( )>, because it is size zero loading techcrunch.com

Reviewed by Anders Carlsson.

Avoid trying to create image snapshots for zero-sized plugins, because
it causes -[NSView lockFocus] to throw an exception.

  • Plugins/WebBaseNetscapePluginView.mm:

(-[WebBaseNetscapePluginView cacheSnapshot]):

10:11 Changeset [105166] by commit-queue@webkit.org

Move tests out of WebCore/manual-tests to toplevel ManualTests.
It looks like the manual-tests folder wasn't noticed by git (or me :).

Move some SVG manual tests from deprecated WebCore/manual-tests to toplevel ManualTests
https://bugs.webkit.org/show_bug.cgi?id=76437

Patch by Raul Hudea <rhudea@adobe.com> on 2012-01-17
Reviewed by Daniel Bates.

  • ManualTests/svg-animation-css-transform.html: Renamed from Source/WebCore/manual-tests/svg-animation-css-transform.html.
  • ManualTests/svg-css-animate-compound.html: Renamed from Source/WebCore/manual-tests/svg-css-animate-compound.html.
  • ManualTests/svg-css-transition-compound.html: Renamed from Source/WebCore/manual-tests/svg-css-transition-compound.html.
09:44 Changeset [105165] by tony@chromium.org

Merge 104645 - Need to handle absolutely positioned elements inside flexboxes
https://bugs.webkit.org/show_bug.cgi?id=70793

Reviewed by David Hyatt.

Source/WebCore:

Tests: css3/flexbox/insert-text-crash.html

css3/flexbox/position-absolute-child.html

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computePreferredMainAxisExtent): Skip the size of positioned elements.
(WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Add placeholders for positioned elements.
(WebCore::RenderFlexibleBox::prepareChildForPositionedLayout): Positions the layer for the positioned child.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Handle positioned elements.
(WebCore::RenderFlexibleBox::layoutColumnReverse): Adjust the main axis offset of the layer for positioned elements.

  • rendering/RenderFlexibleBox.h:

LayoutTests:

  • css3/flexbox/insert-text-crash-expected.txt: Added.
  • css3/flexbox/insert-text-crash.html: Added.
  • css3/flexbox/position-absolute-child-expected.txt: Added.
  • css3/flexbox/position-absolute-child.html: Added.

TBR=tony@chromium.org

09:35 Changeset [105164] by apavlov@chromium.org

[Chromium] Unreviewed, avoid webkit_tests aborts due to clashing SVG test expectations.

  • platform/chromium/test_expectations.txt:
09:06 Changeset [105163] by ossy@webkit.org

[Qt][WK2] Unskip now passing tests.

Patch by Ádám Kallai <Kallai.Adam@stud.u-szeged.hu> on 2012-01-17
Reviewed by Csaba Osztrogonác.

08:11 Changeset [105162] by ossy@webkit.org

REGRESSION(r81225): ORWT should ignore reftests
https://bugs.webkit.org/show_bug.cgi?id=67936

Patch by Balazs Ankes <Ankes.Balazs@stud.u-szeged.hu> on 2012-01-17
Reviewed by Csaba Osztrogonác.

  • Scripts/old-run-webkit-tests:

(isUsedInReftest): $filename should be the first parameter
(findTestsToRun): run test if it isn't reftest

08:03 Changeset [105161] by commit-queue@webkit.org

[Gtk] Input text field not repainted when value is changed
https://bugs.webkit.org/show_bug.cgi?id=76279

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-01-17
Reviewed by Gustavo Noronha Silva.

Force pending relayouts before freezing the dirty region in a temporary.
This prevents the following code from throwing the dirty updates away
after the original paint is finished.

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::paintWebView): Remove the relayout.
(WebKit::ChromeClient::paint): Move the relayout here, before the
dirty region is frozen.

07:45 Changeset [105160] by commit-queue@webkit.org

Web Inspector: CodeGeneratorInspector.py: start using typedefs
https://bugs.webkit.org/show_bug.cgi?id=76382

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-01-17
Reviewed by Yury Semikhatsky.

Generator is patched accordingly.

  • inspector/CodeGeneratorInspector.py:

(EnumConstants.get_enum_constant_code):
(TypeBuilderPass):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
(TypeBindings.create_type_declaration_):
(TypeBindings.create_type_declaration_.PlainString):
(TypeBindings.create_type_declaration_.PlainString.get_code_generator):
(TypeBindings.create_type_declaration_.PlainString.reduce_to_raw_type):
(TypeBindings.create_type_declaration_.PlainString.get_setter_value_expression_pattern):
(TypeBindings.create_type_declaration_.PlainString.get_in_c_type_text):
(TypeBindings.create_type_declaration_.TypedefString):
(TypeBindings.create_type_declaration_.TypedefString.get_code_generator):
(TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator):
(TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder):
(TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder.String):
(TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.register_use):
(TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.get_generate_pass_id):
(TypeBindings.create_type_declaration_.TypedefString.reduce_to_raw_type):
(TypeBindings.create_type_declaration_.TypedefString.get_setter_value_expression_pattern):
(TypeBindings.create_type_declaration_.TypedefString.get_in_c_type_text):
(get_generate_pass_id):
(ArrayBinding.get_code_generator.CodeGenerator):
(ArrayBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
(Generator.process_types.create_type_builder_caller):
(Generator.process_types.create_type_builder_caller.call_type_builder):
(Generator.process_types):

07:42 Changeset [105159] by kov@webkit.org

Unreviewed. Fix python unit test I broke with r105142

  • Scripts/webkitpy/common/config/ports_unittest.py:

(WebKitPortTest.test_gtk_port):

07:37 Changeset [105158] by commit-queue@webkit.org

[GTK] [WK2] WebKitPrivate should include the entire WebKit2 C API
https://bugs.webkit.org/show_bug.cgi?id=76345

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-01-17
Reviewed by Gustavo Noronha Silva.

Isolate all of the WebKit2 C API includes into WebKitPrivate.h and no longer
include anything other than WebKit2.h for the C API.

  • UIProcess/API/gtk/WebKitBackForwardList.cpp: Use WebKitPrivate.h now.
  • UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Ditto.
  • UIProcess/API/gtk/WebKitPrivate.h: Add WebKit2.h, WKAPICast.h and WKRetainPtr.h includes.
  • UIProcess/API/gtk/WebKitSettings.cpp: Use WebKitPrivate.h.
  • UIProcess/API/gtk/WebKitUIClient.cpp: Ditto.
  • UIProcess/API/gtk/WebKitWebContext.cpp: Ditto.
  • UIProcess/API/gtk/WebKitWebView.cpp: Ditto.
  • UIProcess/API/gtk/WebKitWebViewBase.cpp: Ditto.
  • UIProcess/API/gtk/WebKitWindowProperties.cpp: Ditto.
07:37 Changeset [105157] by yurys@chromium.org

Web Inspector: provide basic information about DOM character data size
https://bugs.webkit.org/show_bug.cgi?id=76059

Memory agent allows to estimate size of DOM character data and size of WebCore
strings held by JavaScript objects.

Reviewed by Pavel Feldman.

  • bindings/js/ScriptProfiler.h:

(WebCore::ScriptProfiler::visitExternalJSStrings):

  • bindings/v8/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::visitExternalJSStrings):

  • bindings/v8/ScriptProfiler.h:
  • bindings/v8/V8Binding.cpp:

(WebCore::WebCoreStringResource::visitStrings):
(WebCore::V8BindingPerIsolateData::visitJSExternalStrings):

  • bindings/v8/V8Binding.h:
  • inspector/DOMWrapperVisitor.h:
  • inspector/Inspector.json:
  • inspector/InspectorMemoryAgent.cpp:

(WebCore::CharacterDataStatistics::DOMTreeStatistics::DOMTreeStatistics):
(WebCore::CharacterDataStatistics::DOMTreeStatistics::collectNodeStatistics):
(WebCore::CharacterDataStatistics::CounterVisitor::CounterVisitor):
(WebCore::CharacterDataStatistics::CounterVisitor::domGroups):
(WebCore::CharacterDataStatistics::CounterVisitor::strings):
(WebCore::CharacterDataStatistics::CounterVisitor::visitNode):
(WebCore::CharacterDataStatistics::CounterVisitor::visitJSExternalString):
(WebCore::InspectorMemoryAgent::getDOMNodeCount):

  • inspector/InspectorMemoryAgent.h:
07:34 Changeset [105156] by vsevik@chromium.org

Web Inspector: Dialogs style and DialogDelegate interface fixes.
https://bugs.webkit.org/show_bug.cgi?id=76449

Reviewed by Pavel Feldman.

  • inspector/front-end/Dialog.js:

(WebInspector.Dialog):
(WebInspector.Dialog.currentInstance):
(WebInspector.Dialog.show):
(WebInspector.Dialog.hide):
(WebInspector.Dialog.prototype._hide):
(WebInspector.Dialog.prototype._onGlassPaneFocus):
(WebInspector.Dialog.prototype._onFocus):
(WebInspector.Dialog.prototype._position):
(WebInspector.Dialog.prototype._onKeyDown):
(WebInspector.DialogDelegate.prototype.wasShown):
(WebInspector.DialogDelegate.prototype.position):
(WebInspector.DialogDelegate.prototype.focus):
(WebInspector.DialogDelegate.prototype.onEnter):
(WebInspector.DialogDelegate.prototype.willHide):

  • inspector/front-end/GoToLineDialog.js:

(WebInspector.GoToLineDialog):
(WebInspector.GoToLineDialog.prototype.focus):
(WebInspector.GoToLineDialog.prototype._onGoClick):
(WebInspector.GoToLineDialog.prototype._applyLineNumber):
(WebInspector.GoToLineDialog.prototype.onEnter):

  • inspector/front-end/dialog.css:

(.dialog):

07:30 Changeset [105155] by vestbo@webkit.org

[Qt] Don't set the 'primary' flag when mocking touch-points in MiniBrowser

Qt 5 no longer has that flag.

Reviewed by Simon Hausmann.

07:29 Changeset [105154] by yurys@chromium.org

Web Inspector: ConsoleMessage.cpp and InspectorResourceAgent.cpp doesn't conform to Inspector.json
https://bugs.webkit.org/show_bug.cgi?id=76403

A couple of protocol fixes.

Reviewed by Pavel Feldman.

  • inspector/ConsoleMessage.cpp: return 'log' in case some unsupported value is passed.

We cannot omit that return statement as GCC would complain on missing return statement
despite all enum values are listed.
(WebCore::messageTypeValue):

  • inspector/Inspector-0.1.json: fixed v0.1 protocol definition.
  • inspector/Inspector.json: made CachedResource.response field optional.
07:03 Changeset [105153] by loislo@chromium.org

[Chromium] Web Inspector: remove "Document DOM tree" class and "Detached DOM tree" from the Summary view.
https://bugs.webkit.org/show_bug.cgi?id=76450

Reviewed by Yury Semikhatsky.

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshot.prototype._buildAggregates):

07:02 Changeset [105152] by kubo@profusion.mobi

[EFL] Emit "resource,request,willsend" from ewk_view.
https://bugs.webkit.org/show_bug.cgi?id=76292

Reviewed by Andreas Kling.

Make ewk_view dispatch the "resource,request,willsend" signal as well,
so that it is possible to know whether the request is for the main
frame itself or for anything else.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::dispatchWillSendRequest):

  • ewk/ewk_view.h:
06:35 Changeset [105151] by ossy@webkit.org

[Qt][WK2] Crash in fast/text/regional-indicator-symobls.html
https://bugs.webkit.org/show_bug.cgi?id=69419

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2012-01-17
Reviewed by Csaba Osztrogonác.

  • platform/qt-5.0/Skipped: Removing it from skipped list as it is working now.
06:34 Changeset [105150] by ossy@webkit.org

[Qt] fast/canvas/2d.text.draw.fill.maxWidth.gradient.html fails with newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=74785

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-01-17
Reviewed by Csaba Osztrogonác.

Upstream bug in Qt 5 is fixed, so we can unskip the test now.

  • platform/qt-5.0/Skipped:
06:31 Changeset [105149] by ossy@webkit.org

[Qt] editing/selection/regional-indicators.html fails
https://bugs.webkit.org/show_bug.cgi?id=66500

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2012-01-17
Reviewed by Csaba Osztrogonác.

  • platform/qt-5.0/Skipped: This test is not failing anymore,

removing it from skipped list.

06:28 Changeset [105148] by ossy@webkit.org

[Qt] fast/canvas/canvas-largedraws.html crashes with newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=75167

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-01-17
Reviewed by Csaba Osztrogonác.

Bug is fixed upstream, so it should be safe to unskip it now.

  • platform/qt-5.0/Skipped:
05:22 Changeset [105147] by yurys@chromium.org

2012-01-17 Yury Semikhatsky <yurys@chromium.org>

Unreviewed. Update Chromium dependency 117616:117882

  • DEPS:
05:17 Changeset [105146] by commit-queue@webkit.org

[Qt] Implement HTTP authentication QML API
https://bugs.webkit.org/show_bug.cgi?id=75535

Patch by Alexander Færøy <alexander.faeroy@nokia.com> on 2012-01-17
Reviewed by Kenneth Rohde Christiansen.

This patch implements the QML API for handling HTTP authentication.
The implementation uses a syncronous message between the WebProcess
and the UIProcess which is called when the authenticationRequired
signal is emitted from QNAM.

Based in part upon patch by Peter Hartmann.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
(QQuickWebViewExperimental::authenticationDialog):
(QQuickWebViewExperimental::setAuthenticationDialog):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qquickwebview_p_p.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::authenticationRequiredRequest):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/qt/QtDialogRunner.cpp:

(AuthenticationDialogContextObject::AuthenticationDialogContextObject):
(AuthenticationDialogContextObject::hostname):
(AuthenticationDialogContextObject::realm):
(AuthenticationDialogContextObject::prefilledUsername):
(AuthenticationDialogContextObject::accept):
(AuthenticationDialogContextObject::reject):
(QtDialogRunner::initForAuthentication):

  • UIProcess/qt/QtDialogRunner.h:

(QtDialogRunner::username):
(QtDialogRunner::password):
(QtDialogRunner::onAuthenticationAccepted):

  • UIProcess/qt/QtPageClient.cpp:

(QtPageClient::handleAuthenticationRequiredRequest):

  • UIProcess/qt/QtPageClient.h:
  • WebProcess/qt/QtNetworkAccessManager.cpp:

(WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
(WebKit::QtNetworkAccessManager::onAuthenticationRequired):

  • WebProcess/qt/QtNetworkAccessManager.h:
05:09 Changeset [105145] by zimmermann@webkit.org

2012-01-17 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Update Qt results after r105143..

  • platform/qt/svg/carto.net/window-expected.txt:
  • platform/qt/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
  • platform/qt/svg/custom/js-late-gradient-and-object-creation-expected.txt:
05:03 Changeset [105144] by zimmermann@webkit.org

2012-01-17 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Update Gtk results after r105143..

  • platform/gtk/svg/carto.net/window-expected.txt:
  • platform/gtk/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
  • platform/gtk/svg/custom/js-late-gradient-and-object-creation-expected.txt:
  • platform/gtk/svg/custom/js-late-pattern-and-object-creation-expected.txt:
  • platform/gtk/svg/custom/use-detach-expected.txt:
04:42 Changeset [105143] by zimmermann@webkit.org

Large SVG text layout performance regression in r81168
https://bugs.webkit.org/show_bug.cgi?id=65711

Reviewed by Zoltan Herczeg.

Source/WebCore:

Final patch fixing the performance regression from r81168 plus giving us more performance we ever had.
The testcase attached to bug 65711 creates 200 tspans as <text> children, and modifies just the first <tspan>s
content periodically using a timer. It ran with <3 FPS in release builds before, and now at around 60 FPS,
where the most dominant code path remaining is CG painting text. Still theres room to optimize further, as
Intruments shows.

Historically we rebuilt all SVGTextLayoutAttributes stored in the RenderSVGInlineText, whenever any
children of the <text> subtree changed, in any way. This lead to a recomputation of the x/y/dx/dy/rotate
value lists, for the whole tree, a recreation of the line box tree and finally a measurement of all characters
in the subtree.

This patch, and its previous patches preparing this, introduces progressive relayout for the SVG text subtree.
DOM tree mutations, x/y/dx/dy/rotate value lists changes, and measuring-all-characters are now strictly decoupled.

#1) x/y/dx/dy/rotate list changes:
The x/y/dx/dy/rotate lists are only ever rebuilt, if they change or upon the initial RenderSVGText layout.
This information is now cached in the so-called SVGCharacterDataMap, in each of the SVGTextLayoutAttributes,
associated with a specific RenderSVGInlineText.

#2) DOM tree mutations:
If a new RenderSVGInlineText gets added to the tree, we have to create SVGTextLayoutAttributes for the new
renderer, measure its characters, and cache the information in the attributes. Adding a new renderer to
a SVG <text> subtree can affect the positioning of the previous and next sibling in the tree, due the
whitespace merging logic. Example:

<text y="50" x="50 100 150">A<tspan></tspan> C</text>:
RenderSVGText {text} at (50,36) size 111x18 contains 1 chunk(s)

RenderSVGInlineText {#text} at (0,0) size 12x18

chunk 1 text run 1 at (50.00,50.00) startOffset 0 endOffset 1 width 12.00: "A"

RenderSVGTSpan {tspan} at (0,0) size 0x0
RenderSVGInlineText {#text} at (50,0) size 61x18

chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
chunk 1 text run 1 at (150.00,50.00) startOffset 0 endOffset 1 width 11.00: "C"

<text y="50" x="50 100 150">A<tspan>B</tspan> C</text>:
RenderSVGText {text} at (50,36) size 115x18 contains 1 chunk(s)

RenderSVGInlineText {#text} at (0,0) size 12x18

chunk 1 text run 1 at (50.00,50.00) startOffset 0 endOffset 1 width 12.00: "A"

RenderSVGTSpan {tspan} at (0,0) size 11x18

RenderSVGInlineText {#text} at (50,0) size 11x18

chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 1 width 11.00: "B"

RenderSVGInlineText {#text} at (100,0) size 15x18

chunk 1 text run 1 at (150.00,50.00) startOffset 0 endOffset 2 width 15.00: " C"

Its obvious that adding a #text node as child to the <tspan> potentially affects the next & previous
siblings in the DOM tree. Take extra care of these possibilities, by properly remeasuring not only
the newly added renderer, but also the previous & next siblings layout attributes.

Mutation of text nodes, or removal of text/tspan elements from the tree is handled in the same way.

#3) Measuring the text subtree:
Don't cache the metrics information in the SVGRootInlineBox, as it doesn't survive relayouts (RenderSVGText::layout).
They're stored in the SVGTextLayoutAttributes, and will be updated if the underlying text content changes.

Tests: svg/text/append-text-node-to-tspan.html

svg/text/modify-text-node-in-tspan.html
svg/text/remove-text-node-from-tspan.html

  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::addChild):

  • rendering/svg/RenderSVGInline.h:
  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::willBeDestroyed):
(WebCore::RenderSVGInlineText::setTextInternal):
(WebCore::RenderSVGInlineText::styleDidChange):

  • rendering/svg/RenderSVGInlineText.h:

(WebCore::RenderSVGInlineText::layoutAttributes):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::recursiveUpdateLayoutAttributes):
(WebCore::RenderSVGText::layoutAttributesChanged):
(WebCore::findPreviousAndNextAttributes):
(WebCore::RenderSVGText::layoutAttributesWillBeDestroyed):
(WebCore::RenderSVGText::textDOMChanged):
(WebCore::RenderSVGText::layout):
(WebCore::RenderSVGText::addChild):
(WebCore::recursiveCollectLayoutAttributes):
(WebCore::RenderSVGText::rebuildLayoutAttributes):

  • rendering/svg/RenderSVGText.h:

(WebCore::RenderSVGText::layoutAttributes):

  • rendering/svg/SVGRootInlineBox.cpp:

(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
(WebCore::findFirstAndLastAttributesInVector):
(WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
(WebCore::SVGRootInlineBox::reorderValueLists):

  • rendering/svg/SVGRootInlineBox.h:
  • rendering/svg/SVGTextLayoutAttributes.h:
  • rendering/svg/SVGTextLayoutAttributesBuilder.cpp:

(WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForWholeTree):

  • rendering/svg/SVGTextLayoutEngine.cpp:

(WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
(WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
(WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
(WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics):
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):

  • rendering/svg/SVGTextLayoutEngine.h:

(WebCore::SVGTextLayoutEngine::layoutAttributes):

  • rendering/svg/SVGTextMetrics.h:
  • rendering/svg/SVGTextMetricsBuilder.cpp:

(WebCore::SVGTextMetricsBuilder::measureTextRenderer):

  • rendering/svg/SVGTextQuery.cpp:

(WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):

  • svg/SVGTextContentElement.cpp:

(WebCore::SVGTextContentElement::childrenChanged):

LayoutTests:

Update some results, that changed again slightly. Land new tests covering partial SVG <text> subtree updating.

  • platform/chromium/test_expectations.txt:
  • platform/mac/svg/carto.net/window-expected.png:
  • platform/mac/svg/carto.net/window-expected.txt:
  • platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.png:
  • platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
  • platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.png:
  • platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.txt:
  • platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.png:
  • platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt:
  • platform/mac/svg/custom/use-detach-expected.png:
  • platform/mac/svg/custom/use-detach-expected.txt:
  • platform/mac/svg/text/append-text-node-to-tspan-expected.png: Added.
  • platform/mac/svg/text/append-text-node-to-tspan-expected.txt: Added.
  • platform/mac/svg/text/modify-text-node-in-tspan-expected.png: Added.
  • platform/mac/svg/text/modify-text-node-in-tspan-expected.txt: Added.
  • platform/mac/svg/text/remove-text-node-from-tspan-expected.png: Added.
  • platform/mac/svg/text/remove-text-node-from-tspan-expected.txt: Added.
  • svg/text/append-text-node-to-tspan.html: Added.
  • svg/text/modify-text-node-in-tspan.html: Added.
  • svg/text/remove-text-node-from-tspan.html: Added.
04:29 Changeset [105142] by kov@webkit.org

GTK+ EWS needs to run update-webkitgtk-libs after applying a patch
https://bugs.webkit.org/show_bug.cgi?id=75857

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2012-01-16
Reviewed by Adam Barth.

  • Scripts/webkitdirs.pm:

(buildAutotoolsProject): move cleaning the build to happen early,
and handle --update-gtk right after that

  • Scripts/webkitpy/common/config/ports.py:

(GtkPort.build_webkit_command): pass --update-gtk as an option to
build-webkit, so that it is used in the EWS

04:20 Changeset [105141] by apavlov@chromium.org

[Chromium] Unreviewed, fix Linux image expectations for two SVG tests.

  • platform/chromium-linux/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.png:
04:13 Changeset [105140] by apavlov@chromium.org

Web Inspector: [TextPrompt] Autocomplete adds unwanted text that's hard to remove
https://bugs.webkit.org/show_bug.cgi?id=76058

Reviewed by Pavel Feldman.

As per the results of a war room:

  • Auto-suggest only after user typing (avoid showing suggestions when navigating through the user input.)
  • Do not select the first item if the suggest box is shown at the end of prompt (to allow Enter to commit the input.)
  • Only show grayed autocompletion at the end of prompt (otherwise show a suggest box with the first item selected.)
  • Grayed autocompletion can only be accepted with the End or Right keys.
  • Enter can accept a selected suggestion item from the list, without committing the input.
  • Retain the CSS model editing behavior as close to the existing one as possible.
  • Enable PageUp/PageDown to navigate the suggest box items.
  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertyTreeElement.prototype):
():

  • inspector/front-end/TextPrompt.js:

(WebInspector.TextPrompt.prototype.set text):
(WebInspector.TextPrompt.prototype._removeSuggestionAids):
(WebInspector.TextPrompt.prototype._selectStart.moveBackIfOutside):
(WebInspector.TextPrompt.prototype._selectStart):
(WebInspector.TextPrompt.prototype.onKeyDown):
(WebInspector.TextPrompt.prototype.acceptAutoComplete):
(WebInspector.TextPrompt.prototype.complete):
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
(WebInspector.TextPrompt.prototype.tabKeyPressed):
(WebInspector.TextPrompt.prototype.downKeyPressed):
(WebInspector.TextPrompt.prototype.pageUpKeyPressed):
(WebInspector.TextPrompt.prototype.pageDownKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype._onNextItem):
(WebInspector.TextPrompt.SuggestBox.prototype._onPreviousItem):
(WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
(WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
(WebInspector.TextPrompt.SuggestBox.prototype._canShowBox):
(WebInspector.TextPrompt.SuggestBox.prototype._rememberRowCountPerViewport):
(WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
(WebInspector.TextPrompt.SuggestBox.prototype.pageUpKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.pageDownKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):

03:57 Changeset [105139] by apavlov@chromium.org

Web Inspector: CSS backend doesn't conform to Inspector.json
https://bugs.webkit.org/show_bug.cgi?id=76402

Reviewed by Yury Semikhatsky.

  • inspector/Inspector.json:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::buildObjectForStyle):

03:13 Changeset [105138] by tommyw@google.com

MediaStream API: Add the mediaStream constructor
https://bugs.webkit.org/show_bug.cgi?id=76436

Adding support for creating a MediaStream using a collection of MediaStreamTracks.

Reviewed by Adam Barth.

Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.

  • mediastream/MediaStream.cpp:

(WebCore::MediaStream::create):

  • mediastream/MediaStream.h:
  • mediastream/MediaStream.idl:
  • mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::component):

  • mediastream/MediaStreamTrack.h:
  • platform/mediastream/MediaStreamCenter.cpp:

(WebCore::MediaStreamCenter::didConstructMediaStream):

  • platform/mediastream/MediaStreamCenter.h:
02:51 Changeset [105137] by jsbell@chromium.org

IndexedDB: IDBIndex.get/getKey should yield undefined, not an error
https://bugs.webkit.org/show_bug.cgi?id=76116

Source/WebCore:

Pass an undefined value (for IDBIndex.get()) or a null key
(for IDBIndex.getKey()) back as the result, rather than raising
an exception.

Reviewed by Adam Barth.

Tests: storage/indexeddb/index-basics.html

storage/indexeddb/cursor-index-delete.html
storage/indexeddb/duplicates.html

  • storage/IDBIndexBackendImpl.cpp:

(WebCore::IDBIndexBackendImpl::getInternal):

  • storage/IDBRequest.cpp:

(WebCore::IDBRequest::onSuccess):

LayoutTests:

Reviewed by Adam Barth.

  • storage/indexeddb/cursor-index-delete-expected.txt:
  • storage/indexeddb/cursor-index-delete.html:
  • storage/indexeddb/duplicates-expected.txt:
  • storage/indexeddb/duplicates.html:
  • storage/indexeddb/index-basics-expected.txt:
  • storage/indexeddb/index-basics.html:
02:49 Changeset [105136] by philn@webkit.org

Unreviewed, GTK rebaseline after r105129.

  • platform/gtk/fast/dom/Window/window-properties-expected.txt:
  • platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt:
  • platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
  • platform/gtk/fast/js/global-constructors-expected.txt:
02:39 WebKitGTK/Releasing edited by carlosgc@webkit.org
(diff)
02:26 Changeset [105135] by macpherson@chromium.org

Remove references to CSSPrimitiveValue::primitiveType().
https://bugs.webkit.org/show_bug.cgi?id=76363

Reviewed by Hajime Morita.

No new tests / refactoring only.

Goal is to remove primitiveType() completely. Only code left using it after this patch is in SVG.
I've introduced some abstractions in CSSPrimitiveValue for time and angles to reduce duplicated code elsewhere.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseColor):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeDegrees):

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::isAngle):
(WebCore::CSSPrimitiveValue::isAttr):
(WebCore::CSSPrimitiveValue::isCounter):
(WebCore::CSSPrimitiveValue::isFontIndependentLength):
(WebCore::CSSPrimitiveValue::isLength):
(WebCore::CSSPrimitiveValue::isPx):
(WebCore::CSSPrimitiveValue::isRect):
(WebCore::CSSPrimitiveValue::isRGBColor):
(WebCore::CSSPrimitiveValue::isShape):
(WebCore::CSSPrimitiveValue::isTime):
(WebCore::CSSPrimitiveValue::computeTime):

  • css/CSSStyleSelector.cpp:

(WebCore::convertToLength):
(WebCore::createGridTrackBreadth):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapFillSize):
(WebCore::CSSStyleSelector::mapFillXPosition):
(WebCore::CSSStyleSelector::mapFillYPosition):
(WebCore::CSSStyleSelector::mapAnimationDelay):
(WebCore::CSSStyleSelector::mapAnimationDuration):
(WebCore::CSSStyleSelector::mapNinePieceImageSlice):
(WebCore::CSSStyleSelector::mapNinePieceImageQuad):
(WebCore::CSSStyleSelector::colorFromPrimitiveValue):
(WebCore::CSSStyleSelector::createTransformOperations):
(WebCore::CSSStyleSelector::createCustomFilterOperation):
(WebCore::CSSStyleSelector::createFilterOperations):

  • css/MediaQueryEvaluator.cpp:

(WebCore::parseAspectRatio):
(WebCore::numberValue):
(WebCore::computeLength):

  • editing/EditingStyle.cpp:

(WebCore::cssValueToRGBA):
(WebCore::EditingStyle::extractFontSizeDelta):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
(WebCore::isCSSValueLength):
(WebCore::hasTransparentBackgroundColor):

02:26 Changeset [105134] by bbudge@chromium.org

AssociatedURLLoader adds support for the HTTP response header Access-Control-Expose-Header.
https://bugs.webkit.org/show_bug.cgi?id=76419

Reviewed by Adam Barth.

  • src/AssociatedURLLoader.cpp:

(WebKit::AssociatedURLLoader::ClientAdapter::didReceiveResponse):

  • tests/AssociatedURLLoaderTest.cpp:

(WebKit::AssociatedURLLoaderTest::CheckAccessControlHeaders):
(WebKit::TEST_F):

01:28 Changeset [105133] by vestbo@webkit.org

[Qt] Don't add _debug postfix to targets when building debug only

Reviewed by Simon Hausmann.

01:27 Changeset [105132] by vestbo@webkit.org

[Qt] Add more files to project-files for easier navigation in Qt Creator

Reviewed by Simon Hausmann.

00:36 Changeset [105131] by fpizlo@apple.com

DFG should be able to do JS and custom getter caching
https://bugs.webkit.org/show_bug.cgi?id=76361

Reviewed by Csaba Osztrogonác.

Fix for 32-bit.

  • dfg/DFGRepatch.cpp:

(JSC::DFG::tryBuildGetByIDList):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

00:25 Changeset [105130] by ossy@webkit.org

[Qt] Unreviewed morning gardening.

  • platform/qt/Skipped: Skip a failing test.
  • platform/qt/fast/dom/Window/window-properties-expected.txt: Updated.
00:23 Changeset [105129] by philn@webkit.org

[GTK] fast/dom/constructed-objects-prototypes.html fails
https://bugs.webkit.org/show_bug.cgi?id=75432

Reviewed by Martin Robinson.

Tools:

  • Scripts/build-webkit: Enable video-track in GTK.

LayoutTests:

  • platform/gtk/test_expectations.txt: Test now passing no longer

needs to be skipped.

00:18 Changeset [105128] by philn@webkit.org

Unreviewed, GTK rebaseline after r105075 and r105085.

  • platform/gtk/editing/execCommand/insertImage-expected.txt:
  • platform/gtk/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt:
  • platform/gtk/fast/block/float/015-expected.txt:
  • platform/gtk/fast/borders/rtl-border-05-expected.txt:
  • platform/gtk/fast/dom/34176-expected.txt:
  • platform/gtk/fast/dom/Window/window-properties-expected.txt:
  • platform/gtk/fast/dom/inner-text-expected.txt:
  • platform/gtk/fast/encoding/utf-16-big-endian-expected.txt:
  • platform/gtk/fast/encoding/utf-16-little-endian-expected.txt:
  • platform/gtk/fast/hidpi/broken-image-icon-hidpi-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug2962-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug56201-expected.txt:
  • platform/gtk/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:

01/16/12:

23:08 Changeset [105127] by rolandsteiner@chromium.org

Unreviewed:more Chromium Linux rebaselining

  • platform/chromium-linux-x86/svg/text/text-align-03-b-expected.png: Removed.
  • platform/chromium-linux/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt:
  • platform/chromium-linux/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt:
  • platform/chromium-linux/svg/text/text-align-03-b-expected.png:
22:44 Changeset [105126] by commit-queue@webkit.org

[Internals] member varaibles should follow naming convention.
https://bugs.webkit.org/show_bug.cgi?id=76426

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-16
Reviewed by Kent Tamura.

No new tests. Just a rename.

  • testing/Internals.cpp:

(WebCore::Internals::Internals):
(WebCore::Internals::setPasswordEchoEnabled):
(WebCore::Internals::setPasswordEchoDurationInSeconds):
(WebCore::Internals::reset):

  • testing/Internals.h:
22:02 Changeset [105125] by rolandsteiner@chromium.org

Unreviewed: updated baselines for Chromium Linux

  • platform/chromium-linux-x86/svg/W3C-SVG-1.1/text-text-01-b-expected.png: Removed.
  • platform/chromium-linux-x86/svg/foreignObject/text-tref-02-b-expected.png: Removed.
  • platform/chromium-linux-x86/svg/text/text-align-02-b-expected.png: Removed.
  • platform/chromium-linux-x86/svg/text/text-spacing-01-b-expected.png: Removed.
  • platform/chromium-linux-x86/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt: Removed.
  • platform/chromium-linux-x86/svg/transforms/text-with-pattern-with-svg-transform-expected.txt: Removed.
  • platform/chromium-linux/svg/W3C-SVG-1.1/text-text-01-b-expected.png:
  • platform/chromium-linux/svg/foreignObject/text-tref-02-b-expected.png:
  • platform/chromium-linux/svg/text/text-align-02-b-expected.png:
  • platform/chromium-linux/svg/text/text-spacing-01-b-expected.png:
  • platform/chromium-linux/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
  • platform/chromium-linux/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
  • platform/chromium-linux/svg/transforms/text-with-pattern-with-svg-transform-expected.txt:
21:28 WebKit Team edited by sh4.seo@samsung.com
(diff)
21:24 Changeset [105124] by rolandsteiner@chromium.org

Unreviewed: rebaselining fast/backgrounds/mask-box-image

  • platform/chromium-mac-snowleopard/fast/backgrounds/mask-box-image-expected.png: Added.
  • platform/chromium-win/fast/backgrounds/mask-box-image-expected.png: Added.
  • platform/chromium-win/fast/backgrounds/mask-box-image-expected.txt: Added.
19:56 Changeset [105123] by hayato@chromium.org

Implement multiple AT_TARGET event dispatching in regard to shadow tree.
https://bugs.webkit.org/show_bug.cgi?id=76217

Reviewed by Dimitri Glazkov.

The original motivation is to fix the regression: Event.eventPhase is not set to 2
(at target) when handling dblclick event in <input> element.
Since the issue is not specific to <input> element, but general one, this patch fixes
the regression by adapting a living draft spec of shadow DOM.
This won't break a compatibility if there is no shadow boundaries in event dispatching.
See the following shadow dom spec how multiple AT_TARGET events work.
http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#event-dispatch

Source/WebCore:

  • dom/EventContext.cpp:

(WebCore::EventContext::handleLocalEvents):

LayoutTests:

  • fast/dom/shadow/shadow-boundary-events-expected.txt:
  • fast/dom/shadow/shadow-boundary-events.html:
19:47 Changeset [105122] by toyoshim@chromium.org

Add toyoshim as a committer.
https://bugs.webkit.org/show_bug.cgi?id=76390

Reviewed by Hajime Morita.

  • Scripts/webkitpy/common/config/committers.py:
19:35 Changeset [105121] by commit-queue@webkit.org

platformRequest(QNX) need to get the conditional information from ResourceRequest.
https://bugs.webkit.org/show_bug.cgi?id=75216

Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-01-16
Reviewed by George Staikos.

Pass the isConditional() flag in ResourceRequest to the QNX platform's network request.
QNX platform's network needs this flag to determine whether to use disk-cache.

  • platform/network/blackberry/ResourceRequestBlackBerry.cpp:

(ResourceRequest::initializePlatformRequest):

18:25 Changeset [105120] by robert@webkit.org

Heap-use-after-free in WebCore::RenderBlock::selectionGaps
https://bugs.webkit.org/show_bug.cgi?id=75013

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/table/multiple-captions-crash3.html

fast/table/multiple-captions-crash4.html
fast/table/multiple-captions-crash5.html

When a child float is removed, the parent needs to ensure any reference to the
child is also removed from the floating objects list in any sibling block that
it intruded into.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::markSiblingsWithFloatsForLayout):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):

LayoutTests:

In multiple-captions-crash3.html a floating object is added as a child to a caption element, then removed and
added as a child to another caption element. When added to the first caption element it is added
to the floating objects list of both the parent tbody element and the keygen element, as it intrudes
into the latter. When removed, a stale reference to the floating object remains in the keygen element.
When the keygen element is in layout it attempts to access the stale reference to the floating object and
crashes. The fix is to ensure that any floats added as intruding floats to sibling blocks are removed
when the child is removed from the tree.

multiple-captions-crash4.html and multiple-captions-crash5.html are variants of this scenario.

  • fast/table/multiple-captions-crash3-expected.html: Added.
  • fast/table/multiple-captions-crash3.html: Added.
  • fast/table/multiple-captions-crash4-expected.html: Added.
  • fast/table/multiple-captions-crash4.html: Added.
  • fast/table/multiple-captions-crash5-expected.html: Added.
  • fast/table/multiple-captions-crash5.html: Added.
18:00 Changeset [105119] by mrowe@apple.com

Merge r99591.

17:49 Changeset [105118] by mrowe@apple.com

Merge r103860.

17:33 Changeset [105117] by mrowe@apple.com

Merge r104049.

17:21 Changeset [105116] by mrowe@apple.com

Merge r103925.

17:21 Changeset [105115] by mrowe@apple.com

Merge r103871.

17:21 Changeset [105114] by mrowe@apple.com

Merge r103869.

17:21 Changeset [105113] by mrowe@apple.com

Merge r103858.

17:17 Changeset [105112] by mitz@apple.com

<rdar://problem/10702758> REGRESSION: Every Safari Reader WKView leaks

Reviewed by John Sullivan and Ada Chan.

  • UIProcess/API/mac/WKView.mm:

(-[WKView viewDidMoveToWindow]): Since this method can be called multiple times in a row
while [self window] is non-nil, check if there isn’t already an event monitor before adding
a new one.

17:12 Changeset [105111] by enrica@apple.com

REGRESSION: r102553 Autocorrection bubble doesn't show up
https://bugs.webkit.org/show_bug.cgi?id=76408
<rdar://problem/10644746>

Prior to r102553 Editor::markAllMisspellingsAndBadGrammarInRanges() used to pass its
textCheckingOptions directly to markAndReplaceFor(). Now a request object is used,
but, when the object is created, the TextCheckingTypeShowCorrectionPanel flag is dropped.

Reviewed by Darin Adler.

  • editing/Editor.cpp:

(WebCore::Editor::resolveTextCheckingTypeMask): Add TextCheckingTypeShowCorrectionPanel to
the returned checkingTypes when appropriate.

17:10 Changeset [105110] by lforschler@apple.com

Merged r100471.

17:06 Changeset [105109] by lforschler@apple.com

Merged r104660.

17:04 Changeset [105108] by lforschler@apple.com

Merged r104762.

16:53 Changeset [105107] by fpizlo@apple.com

DFG should be able to do JS and custom getter caching
https://bugs.webkit.org/show_bug.cgi?id=76361
<rdar://problem/10698060>

Source/JavaScriptCore:

Reviewed by Geoff Garen.

Added the ability to cache JS getter calls and custom getter calls in the DFG.
Most of this is pretty mundane, since the old JIT supported this functionality
as well. But a couple interesting things had to happen:

  • There are now two variants of GetById: GetById, which works as before, and GetByIdFlush, which flushes registers prior to doing the GetById. Only GetByIdFlush can be used for caching getters. We detect which GetById style to use by looking at the inline caches of the old JIT.


  • Exception handling for getter calls planted in stubs uses a separate lookup handler routine, which uses the CodeOrigin stored in the StructureStubInfo.


This is a 40% speed-up in the Dromaeo DOM Traversal average. It removes all of
the DFG regressions we saw in Dromaeo. This is neutral on SunSpider, V8, and
Kraken.

  • bytecode/StructureStubInfo.h:
  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGAssemblyHelpers.h:

(JSC::DFG::AssemblyHelpers::emitExceptionCheck):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::willNeedFlush):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCCallHelpers.h:

(JSC::DFG::CCallHelpers::setupResults):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::PropertyAccessRecord::PropertyAccessRecord):
(JSC::DFG::JITCompiler::addExceptionCheck):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasHeapPrediction):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPropagator.cpp:

(JSC::DFG::Propagator::propagateNodePredictions):

  • dfg/DFGRepatch.cpp:

(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDList):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheckSetResult):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

Reviewed by Geoff Garen.

  • fast/js/dfg-custom-getter-expected.txt: Added.
  • fast/js/dfg-custom-getter-throw-expected.txt: Added.
  • fast/js/dfg-custom-getter-throw-inlined-expected.txt: Added.
  • fast/js/dfg-custom-getter-throw-inlined.html: Added.
  • fast/js/dfg-custom-getter-throw.html: Added.
  • fast/js/dfg-custom-getter.html: Added.
  • fast/js/dfg-getter-expected.txt: Added.
  • fast/js/dfg-getter-throw-expected.txt: Added.
  • fast/js/dfg-getter-throw.html: Added.
  • fast/js/dfg-getter.html: Added.
  • fast/js/script-tests/dfg-custom-getter-throw-inlined.js: Added.

(foo):
(baz):
(bar):

  • fast/js/script-tests/dfg-custom-getter-throw.js: Added.

(foo):
(bar):

  • fast/js/script-tests/dfg-custom-getter.js: Added.

(foo):

  • fast/js/script-tests/dfg-getter-throw.js: Added.

(foo):
(bar):

  • fast/js/script-tests/dfg-getter.js: Added.

(foo):

16:36 Changeset [105106] by mrowe@apple.com

Fix <rdar://problem/10678175>.

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::notityPositionChanged):

16:25 Changeset [105105] by andersca@apple.com

Crash when calling SecItemAdd with a null result pointer
https://bugs.webkit.org/show_bug.cgi?id=76407
<rdar://problem/10696087>

Reviewed by Brady Eidson.

Add null check.

  • WebProcess/mac/SecItemShimMethods.mm:

(WebKit::webSecItemAdd):

16:19 Changeset [105104] by mrowe@apple.com

Merge r102540.

16:16 Changeset [105103] by bfulgham@webkit.org

[WinCairo] Build correction. Switch to Apple style builds without
the _debug postfix so that launching tools, etc., will work properly.

  • win/tools/vsprops/debug_wincairo.vsprops: Remove use of _debug in

output files to be consistent with WebKit build/test tools.

16:08 Changeset [105102] by lforschler@apple.com

Merge fix for 9593456.

16:04 Changeset [105101] by ap@apple.com

A follow-up fix for:
A warning is logged to console when typing a bare "/" in Safari address bar
https://bugs.webkit.org/show_bug.cgi?id=76236

<rdar://problem/10702986>

Reviewed by John Sullivan.

  • Misc/WebNSURLExtras.mm: (+[NSURL _web_URLWithData:relativeToURL:]): It's OK to have a path when there is a base URL.
15:55 Changeset [105100] by mrowe@apple.com

Merge r96014.

15:46 Changeset [105099] by mrowe@apple.com

Merge r104378.

15:46 Changeset [105098] by jonlee@apple.com

Build fix for r105086.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:
  • wtf/Platform.h:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • notifications/NotificationCenter.idl: change to use ENABLE_TEXT_NOTIFICATIONS_ONLY, which is only defined on Mac platform.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
15:38 Changeset [105097] by mrowe@apple.com

Merge r104663.

15:38 Changeset [105096] by mrowe@apple.com

Merge r104377.

15:38 Changeset [105095] by kling@webkit.org

Fix typo in StyledElement::mappedAttributeCount().
<http://webkit.org/b/76393>

Rubber-stamped by Antti Koivisto.

  • dom/StyledElement.h:

(WebCore::StyledElement::mappedAttributeCount): Less &&, more ?:

14:49 Changeset [105094] by jonlee@apple.com

Build fix for r105086.

  • notifications/NotificationCenter.idl: expand ENABLE macro for .idl.
14:39 Changeset [105093] by antti@apple.com

Cache CSSStyleSelector::Features in RuleSets
https://bugs.webkit.org/show_bug.cgi?id=76337

Reviewed by Andreas Kling.

Currently whenever the style selector is updated we go through all the applicable rules and
collect the used features again. We should keep the features around as part of the RuleSets
and update them incrementally. Collecting the features will then be just a matter of taking
the union of all features used by the RuleSets.

This is 1-2% CPU time reduction (engadget, nytimes) due less time spent in feature collection.

This also simplifies the code by removing the need to cache the default style sheet features
separately.

  • css/CSSStyleSelector.cpp:


Remove the global siblingRulesInDefaultStyle and uncommonAttributeRulesInDefaultStyle RuleSets.
These are now part of the cached features of the defaultStyle.


(WebCore::RuleSet::features):

Add a field for caching the features.


(WebCore::makeRuleSet):
(WebCore::CSSStyleSelector::collectFeatures):

Unify the features of all RuleSets.
Create RuleSets for sibling and uncommon attribute lookups at the end.


(WebCore::CSSStyleSelector::appendAuthorStylesheets):
(WebCore::CSSStyleSelector::Features::add):
(WebCore::ensureDefaultStyleSheetsForElement):
(WebCore::CSSStyleSelector::locateSharedStyle):
(WebCore::collectFeaturesFromSelector):
(WebCore::collectFeaturesFromRuleData):
(WebCore::RuleSet::addToRuleSet):
(WebCore::RuleSet::addRule):

Collect the features when adding the rules rather than as a separate pass through all the rules.


  • css/CSSStyleSelector.h:

(WebCore::CSSStyleSelector::usesSiblingRules):
(WebCore::CSSStyleSelector::RuleSelectorPair::RuleSelectorPair):

Use Vector instead of a RuleSet for sibling and uncommon attribute selectors so unifying
Features is simpler.

14:37 Changeset [105092] by simon.fraser@apple.com

Huge filter area cause hangs and malloc failures
https://bugs.webkit.org/show_bug.cgi?id=75711

Reviewed by Dean Jackson.

Filtering an element with a child that had a huge negative text-indent
was extremely slow, because transparencyClipBox() returned a huge rect.

Add a method, paintingExtent(), that wraps transparencyClipBox()
and intersects it with the paintDirtyRect to constrain the size
of the rect used for filters and transparency layers.

Transparency layer extent is not testable in layout tests.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintingExtent):
(WebCore::RenderLayer::beginTransparencyLayers): Floating point literals are required
to avoid ambiguous constructor call.
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):

  • rendering/RenderLayer.h:
14:21 Changeset [105091] by simon.fraser@apple.com

Borders and box masks behave incorrectly with overlapping offsets
https://bugs.webkit.org/show_bug.cgi?id=76137

Source/WebCore:

Reviewed by Dean Jackson.

There are some correct behaviors for -webkit-mask-box-image where
parts of the mask are missing (when the sum of the slice sizes is
greater than one dimension of the image). To render correctly
in these cases, always use a transparency layer when rendering
the mask.

Test: fast/backgrounds/mask-box-image.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintMaskImages):

LayoutTests:

Reviewed by Dean Jackson.

Test -webkit-mask-box-image with large slice sizes, with and
without a transform.

  • fast/backgrounds/mask-box-image.html: Added.
  • fast/backgrounds/resources/dot.png: Added.
  • platform/mac/fast/backgrounds/mask-box-image-expected.png: Added.
  • platform/mac/fast/backgrounds/mask-box-image-expected.txt: Added.
14:19 Changeset [105090] by simon.fraser@apple.com

Filtered element with composited content beneath it must be composited
https://bugs.webkit.org/show_bug.cgi?id=76322

Source/WebCore:

Reviewed by Dean Jackson.

If a RenderLayer has a filter effect, and a composited descendant, then
that layer must also be composited so that the filter is applied via
the compositing system, rather than via painting (otherwise the filter
will not affect the descendant).

Test: css3/filters/filtered-compositing-descendant.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):

LayoutTests:

Reviewed by Dean Jackson.

Testcase with a filtered element having a composited child.

  • css3/filters/filtered-compositing-descendant-expected.png: Added.
  • css3/filters/filtered-compositing-descendant-expected.txt: Added.
  • css3/filters/filtered-compositing-descendant.html: Added.
13:53 Changeset [105089] by kling@webkit.org

Fix assertion failure in mappedAttributesEquivalent().
<http://webkit.org/b/76393>

Rubber-stamped by Antti Koivisto.

The assertion that two mapped attributes with matching name/value will always
have the exact same decl() was wrong, so make it a proper check once again.

  • css/CSSStyleSelector.cpp:

(WebCore::mappedAttributesEquivalent):

13:31 Changeset [105088] by bfulgham@webkit.org

[WinCairo] Build fix after r104155. Several debug targets were not
properly including the '*Common' property sheets.

  • DumpRenderTree/win/DumpRenderTreeLauncherDebugCairoCFLite.vsprops:
  • DumpRenderTree/win/ImageDiffLauncherDebugCairoCFLite.vsprops:
  • MiniBrowser/Configurations/MiniBrowserLauncherDebugCairoCFLite.vsprops:
  • WebKitTestRunner/win/WebKitTestRunnerLauncherDebugCairoCFLite.vsprops:
  • WinLauncher/WinLauncherLauncherDebugCairoCFLite.vsprops:
13:18 Changeset [105087] by bbudge@chromium.org

Changes AssociatedURLLoader to remove non-whitelisted HTTP response headers for CORS requests,
and Set-Cookie and Set-Cookie2 response headers for all requests.
https://bugs.webkit.org/show_bug.cgi?id=76228

Reviewed by Adam Barth.

  • src/AssociatedURLLoader.cpp:

(WebKit::AssociatedURLLoader::ClientAdapter::create):
(WebKit::AssociatedURLLoader::ClientAdapter::ClientAdapter):
(WebKit::AssociatedURLLoader::ClientAdapter::didReceiveResponse):
(WebKit::AssociatedURLLoader::loadAsynchronously):

  • tests/AssociatedURLLoaderTest.cpp:

(WebKit::AssociatedURLLoaderTest::didReceiveResponse):
(WebKit::TEST_F):

13:11 Changeset [105086] by jonlee@apple.com

Remove HTML notifications support on Mac
https://bugs.webkit.org/show_bug.cgi?id=76401
<rdar://problem/10589881>

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • wtf/Platform.h: Define ENABLE_HTML_NOTIFICATIONS macro.

Source/WebCore:

  • notifications/NotificationCenter.idl:
12:50 Changeset [105085] by commit-queue@webkit.org

Add offline web applications API applicationCache.abort.
https://bugs.webkit.org/show_bug.cgi?id=76270

Patch by xueqing huang <huangxueqing@baidu.com> on 2012-01-16
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests:
http/tests/appcache/abort-cache-onchecking.html
http/tests/appcache/abort-cache-onchecking-manifest-404.html
http/tests/appcache/abort-cache-onchecking-resource-404.html
http/tests/appcache/abort-cache-ondownloading.html
http/tests/appcache/abort-cache-ondownloading-manifest-404.html
http/tests/appcache/abort-cache-ondownloading-resource-404.html
http/tests/appcache/abort-cache-onprogress.html

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::abort):

  • loader/appcache/ApplicationCacheGroup.h:
  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::abort):

  • loader/appcache/ApplicationCacheHost.h:
  • loader/appcache/DOMApplicationCache.cpp:

(WebCore::DOMApplicationCache::abort):

  • loader/appcache/DOMApplicationCache.h:
  • loader/appcache/DOMApplicationCache.idl:

Source/WebKit/chromium:

  • src/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::abort):

LayoutTests:

  • http/tests/appcache/abort-cache-onchecking-expected.txt: Added.
  • http/tests/appcache/abort-cache-onchecking-manifest-404-expected.txt: Added.
  • http/tests/appcache/abort-cache-onchecking-manifest-404.html: Added.
  • http/tests/appcache/abort-cache-onchecking-resource-404-expected.txt: Added.
  • http/tests/appcache/abort-cache-onchecking-resource-404.html: Added.
  • http/tests/appcache/abort-cache-onchecking.html: Added.
  • http/tests/appcache/abort-cache-ondownloading-expected.txt: Added.
  • http/tests/appcache/abort-cache-ondownloading-manifest-404-expected.txt: Added.
  • http/tests/appcache/abort-cache-ondownloading-manifest-404.html: Added.
  • http/tests/appcache/abort-cache-ondownloading-resource-404-expected.txt: Added.
  • http/tests/appcache/abort-cache-ondownloading-resource-404.html: Added.
  • http/tests/appcache/abort-cache-ondownloading.html: Added.
  • http/tests/appcache/abort-cache-onprogress-expected.txt: Added.
  • http/tests/appcache/abort-cache-onprogress.html: Added.
  • http/tests/appcache/resources/abort-cache-onchecking-resource-404.manifest: Added.
  • http/tests/appcache/resources/abort-cache-onchecking.manifest: Added.
  • http/tests/appcache/resources/abort-cache-onchecking.text: Added.
  • http/tests/appcache/resources/abort-cache-ondownloading-resource-404.manifest: Added.
  • http/tests/appcache/resources/abort-cache-ondownloading.manifest: Added.
  • http/tests/appcache/resources/abort-cache-ondownloading.text: Added.
  • http/tests/appcache/resources/abort-cache-onprogress-1.text: Added.
  • http/tests/appcache/resources/abort-cache-onprogress-2.text: Added.
  • http/tests/appcache/resources/abort-cache-onprogress-3.text: Added.
  • http/tests/appcache/resources/abort-cache-onprogress-4.text: Added.
  • http/tests/appcache/resources/abort-cache-onprogress.manifest: Added.
  • platform/chromium/test_expectations.txt:
12:28 Changeset [105084] by kling@webkit.org

Remove caching of mapped attribute count on NamedNodeMap.
<http://webkit.org/b/76393>

Reviewed by Antti Koivisto.

Stop caching the mapped attribute count on Element's attribute map, effectively
shrinking NamedNodeMap by one CPU word. The price we pay is always walking over
the map in matchAllRules(), even if it has no mapped attribute styles.

This reduces memory consumption by 605 kB (on 64-bit) when viewing the full
HTML5 spec at <http://whatwg.org/c>

  • css/CSSStyleSelector.cpp:

(WebCore::mappedAttributesEquivalent):

Moved here from NamedNodeMap::mappedMapsEquivalent() to accomodate the only
user under the added assumption that the two attribute maps have the same
number of mapped attributes.

(WebCore::CSSStyleSelector::matchAllRules):

We don't have NamedNodeMap::hasMappedAttributes() at our convenience any
more so walk the attribute map (if there is one) looking for styles to add.

(WebCore::CSSStyleSelector::canShareStyleWithElement):

Compare the elements' mapped attribute counts at an earlier time. This is
slightly more expensive but we used to do it near the end anyway and this
ends up rejecting elements that can't share style before doing a lot of
semi-expensive checks.

  • dom/StyledElement.h:

(WebCore::StyledElement::mappedAttributeCount):

  • dom/NamedNodeMap.h:

(WebCore::NamedNodeMap::mappedAttributeCount):

  • dom/NamedNodeMap.cpp:

(WebCore::NamedNodeMap::clearAttributes):

Remove NamedNodeMap::m_mappedAttributeCount and add a function that walks
the attribute map counting the attributes that have a decl().

  • dom/NamedNodeMap.h:
  • dom/StyledElement.cpp:

(WebCore::StyledElement::attributeChanged):

Remove declAdded()/declRemoved() callbacks.

12:22 Changeset [105083] by lforschler@apple.com

Versioning.

12:02 Changeset [105082] by ossy@webkit.org

REGRESSION(r105072): It broke committers_unittest.py
https://bugs.webkit.org/show_bug.cgi?id=76396

Reviewed by Adam Barth.

  • Scripts/webkitpy/common/config/committers_unittest.py:

(CommittersTest._assert_fuzz_match): It should handle more names.
(CommittersTest.test_contributors_by_fuzzy_match_with_legacy_names): Fix the testcase.

12:01 Changeset [105081] by lforschler@apple.com

New tag.

11:50 Changeset [105080] by lforschler@apple.com

Merged r91324.

11:28 Changeset [105079] by jer.noble@apple.com

Unreviewed build fix.

Added necessary header files to VectorMath.cpp to fix Chromium compile error.

  • platform/audio/VectorMath.cpp:
10:53 Changeset [105078] by jer.noble@apple.com

WebAudio: Optimize AudioChannel::maxAbsValue().
https://bugs.webkit.org/show_bug.cgi?id=74359

Reviewed by Eric Carlson.

No new tests; optimization of existing code, so covered by existing test cases.

  • platform/audio/AudioChannel.cpp:

(WebCore::AudioChannel::maxAbsValue): Replace implementation with optimized vector math

operation.

  • platform/audio/VectorMath.cpp:

(WebCore::VectorMath::vmaxmgv): Vector math operation for determining maximum

magnitude in a vector.

  • platform/audio/VectorMath.h:
10:46 Changeset [105077] by ap@apple.com

A warning is logged to console when typing a bare "/" in Safari address bar
https://bugs.webkit.org/show_bug.cgi?id=76236

Reviewed by John Sullivan.

  • Misc/WebNSURLExtras.mm: (+[NSURL _web_URLWithData:relativeToURL:]): Bail out early for paths.
10:42 Changeset [105076] by commit-queue@webkit.org

https://bugs.webkit.org/show_bug.cgi?id=41210
Cross Origin XMLHttpRequest can not expose headers indicated in Access-Control-Expose-Headers HTTP Response Header

Source/WebCore:

Parsing the "Access-Control-Expose-Headers" in the XMLHTTPRequest response header.
If the custom response-header is part of Access-Control-Expose-Headers, then consider that custom response-header as a valid one.

Patch by Joe Thomas <joethomas@motorola.com> on 2012-01-16
Reviewed by Alexey Proskuryakov.

Test: http/tests/xmlhttprequest/access-control-response-with-expose-headers.html

  • loader/CrossOriginAccessControl.cpp:

(WebCore::parseAccessControlExposeHeadersAllowList): parsing logic of Access-Control-Expose-Headers

  • loader/CrossOriginAccessControl.h:
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::getAllResponseHeaders): checking whether the custom response-header is part of "Access-Control-Expose-Headers"
(WebCore::XMLHttpRequest::getResponseHeader): checking whether the custom response-header is part of "Access-Control-Expose-Headers"

LayoutTests:

Added test cases for Access-Control-Expose-Headers

Patch by Joe Thomas <joethomas@motorola.com> on 2012-01-16
Reviewed by Alexey Proskuryakov.

  • http/tests/xmlhttprequest/access-control-response-with-expose-headers-expected.txt: Added.
  • http/tests/xmlhttprequest/access-control-response-with-expose-headers.html: Added.
  • http/tests/xmlhttprequest/resources/access-control-response-with-expose-headers.php: Added.
10:40 Changeset [105075] by commit-queue@webkit.org

[GTK] Include gtk+3 in the jhbuild modules
https://bugs.webkit.org/show_bug.cgi?id=76284

Patch by Mario Sanchez Prada <msanchez@igalia.com> on 2012-01-16
Reviewed by Philippe Normand.

  • gtk/jhbuild.modules: Add some gtk+3 to the jhbuild moduleset.
10:17 Changeset [105074] by zeno.albisser@nokia.com

[Qt] Fix QT_VERSION related warnings when building on Mac OS X
https://bugs.webkit.org/show_bug.cgi?id=76340

Source/JavaScriptCore:

This bug was caused by r104826.
As already mentioned for https://bugs.webkit.org/show_bug.cgi?id=57239
we should not use "using namespace WebCore" in header files,
because it might cause ambiguous references.
This patch reverts the changes from r104826 and r104981
and removes the "using namespace WebCore" statement from
two header files.

Reviewed by Tor Arne Vestbø.

  • wtf/Platform.h:

Source/WebKit2:

This bug was caused by r104826.
As was already mentioned for https://bugs.webkit.org/show_bug.cgi?id=57239
we should not use "using namespace WebCore" in header files,
because it might cause ambiguous references.
This patch reverts the changes from r104826 and r104981
and removes the "using namespace WebCore" statement from
two header files.

Reviewed by Tor Arne Vestbø.

  • Shared/WebLayerTreeInfo.h:

(WebKit::WebLayerUpdateInfo::WebLayerUpdateInfo):
(WebKit::WebLayerAnimation::WebLayerAnimation):

  • UIProcess/LayerTreeHostProxy.h:

(WebKit::LayerTreeHostProxy::layerByID):
(WebKit::LayerTreeHostProxy::rootLayer):
(WebKit::LayerTreeHostProxy::notifyAnimationStarted):
(WebKit::LayerTreeHostProxy::notifySyncRequired):

  • UIProcess/qt/LayerTreeHostProxyQt.cpp:
  • WebProcess/WebCoreSupport/WebGraphicsLayer.h:
  • WebProcess/WebPage/qt/LayerTreeHostQt.h:
10:05 Changeset [105073] by apavlov@chromium.org

[Chromium] Unreviewed, rebaseline SVG tests after r105061.

  • platform/chromium-linux-x86/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt:
  • platform/chromium-linux-x86/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt:
  • platform/chromium-linux-x86/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt: Removed.
  • platform/chromium-linux-x86/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt: Removed.
  • platform/chromium-linux-x86/svg/W3C-SVG-1.1/text-text-01-b-expected.png: Added.
  • platform/chromium-linux-x86/svg/foreignObject/text-tref-02-b-expected.png: Added.
  • platform/chromium-linux-x86/svg/text/bidi-text-anchor-direction-expected.txt: Removed.
  • platform/chromium-linux-x86/svg/text/text-align-02-b-expected.png: Added.
  • platform/chromium-linux-x86/svg/text/text-align-03-b-expected.png: Added.
  • platform/chromium-linux-x86/svg/text/text-spacing-01-b-expected.png: Added.
  • platform/chromium-linux-x86/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt: Copied from LayoutTests/platform/chromium-win/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt.
  • platform/chromium-linux-x86/svg/transforms/text-with-pattern-with-svg-transform-expected.png: Added.
  • platform/chromium-linux-x86/svg/transforms/text-with-pattern-with-svg-transform-expected.txt: Copied from LayoutTests/platform/chromium-win/svg/transforms/text-with-pattern-with-svg-transform-expected.txt.
  • platform/chromium-linux/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt: Removed.
  • platform/chromium-linux/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt: Removed.
  • platform/chromium-linux/svg/text/bidi-text-anchor-direction-expected.txt: Removed.
  • platform/chromium-linux/svg/text/select-textLength-spacing-squeeze-2-expected.txt: Removed.
  • platform/chromium-linux/svg/text/text-path-01-b-expected.png:
  • platform/chromium-mac-leopard/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt:
  • platform/chromium-mac-leopard/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt:
  • platform/chromium-mac-leopard/svg/batik/text/textAnchor-expected.png:
  • platform/chromium-mac-leopard/svg/batik/text/textProperties2-expected.png:
  • platform/chromium-mac-leopard/svg/text/text-align-01-b-expected.png:
  • platform/chromium-mac-leopard/svg/text/text-align-03-b-expected.png:
  • platform/chromium-mac-leopard/svg/text/text-tselect-02-f-expected.png:
  • platform/chromium-mac-snowleopard/svg/batik/text/textAnchor-expected.png:
  • platform/chromium-mac-snowleopard/svg/batik/text/textProperties2-expected.png:
  • platform/chromium-mac-snowleopard/svg/foreignObject/text-tref-02-b-expected.png:
  • platform/chromium-mac-snowleopard/svg/text/bidi-text-anchor-direction-expected.png:
  • platform/chromium-mac-snowleopard/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.png:
  • platform/chromium-mac-snowleopard/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.png:
  • platform/chromium-mac-snowleopard/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.png:
  • platform/chromium-mac-snowleopard/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.png:
  • platform/chromium-mac-snowleopard/svg/text/text-align-01-b-expected.png:
  • platform/chromium-mac-snowleopard/svg/text/text-align-03-b-expected.png:
  • platform/chromium-mac-snowleopard/svg/text/text-spacing-01-b-expected.png:
  • platform/chromium-mac-snowleopard/svg/text/text-tselect-02-f-expected.png:
  • platform/chromium-mac-snowleopard/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt: Renamed from LayoutTests/platform/chromium/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt:
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/text/bidi-text-anchor-direction-expected.txt: Removed.
  • platform/chromium-win-xp/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt:
  • platform/chromium-win-xp/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt:
  • platform/chromium-win-xp/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt: Removed.
  • platform/chromium-win-xp/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt: Removed.
  • platform/chromium-win-xp/svg/text/bidi-text-anchor-direction-expected.txt: Removed.
  • platform/chromium-win/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt:
  • platform/chromium-win/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt:
  • platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
  • platform/chromium-win/svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt:
  • platform/chromium-win/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
  • platform/chromium-win/svg/W3C-SVG-1.1/text-text-01-b-expected.png:
  • platform/chromium-win/svg/W3C-SVG-1.1/text-text-01-b-expected.txt:
  • platform/chromium-win/svg/batik/text/verticalTextOnPath-expected.txt:
  • platform/chromium-win/svg/custom/js-late-pattern-and-object-creation-expected.txt:
  • platform/chromium-win/svg/custom/tref-update-expected.txt:
  • platform/chromium-win/svg/foreignObject/text-tref-02-b-expected.png:
  • platform/chromium-win/svg/text/select-textLength-spacing-squeeze-2-expected.txt:
  • platform/chromium-win/svg/text/select-textLength-spacing-squeeze-4-expected.png:
  • platform/chromium-win/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.txt:
  • platform/chromium-win/svg/text/text-align-02-b-expected.png:
  • platform/chromium-win/svg/text/text-align-03-b-expected.png:
  • platform/chromium-win/svg/text/text-align-04-b-expected.txt:
  • platform/chromium-win/svg/text/text-align-06-b-expected.png:
  • platform/chromium-win/svg/text/text-align-06-b-expected.txt:
  • platform/chromium-win/svg/text/text-spacing-01-b-expected.png:
  • platform/chromium-win/svg/text/text-text-01-b-expected.txt:
  • platform/chromium-win/svg/text/text-tspan-01-b-expected.txt:
  • platform/chromium-win/svg/text/text-ws-01-t-expected.txt:
  • platform/chromium-win/svg/text/text-ws-02-t-expected.txt:
  • platform/chromium-win/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
  • platform/chromium-win/svg/transforms/text-with-pattern-with-svg-transform-expected.txt:
  • platform/chromium-win/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png:
  • platform/chromium-win/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt:
  • platform/chromium/svg/text/bidi-text-anchor-direction-expected.png: Removed.
10:03 Changeset [105072] by danw@gnome.org

Add myself as a committer

Unreviewed

  • Scripts/webkitpy/common/config/committers.py:
09:31 Changeset [105071] by pfeldman@chromium.org

Web Inspector: timeline record bars may overlap with the records column
https://bugs.webkit.org/show_bug.cgi?id=76387

Reviewed by Yury Semikhatsky.

  • inspector/front-end/timelinePanel.css:

(#timeline-container .split-view-sidebar-left):

09:24 Changeset [105070] by apavlov@chromium.org

Web Inspector: styles sidebar rendering is broken
https://bugs.webkit.org/show_bug.cgi?id=76065

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertiesSection):

  • inspector/front-end/elementsPanel.css:

(.styles-section .header .subtitle):
(.styles-section .properties):

LayoutTests:

  • http/tests/inspector/elements-test.js:

(initialize_ElementTest.InspectorTest.dumpSelectedElementStyles): Fix dump output due to DOM changes.

09:18 Changeset [105069] by kubo@profusion.mobi

Unreviewed; fix the build when --as-needed and --no-copy-dt-needed-entries are passed to the linker.

Some recent versions of a few Linux distributions have started passing
--as-needed and --no-copy-dt-needed-entries by default to the linker,
which broke the build when SHARED_CORE was turned on, as libwtf_efl.so
needed a few symbols from libjavascriptcore_efl.so.

  • DumpRenderTree/efl/CMakeLists.txt: Explicitly pass WTF_LIBRARY_NAME

before JavaScriptCore_LIBRARY_NAME in DumpRenderTree_LIBRARIES so the
libraries are searched in the right order by the linker.

09:17 Changeset [105068] by ossy@webkit.org

[Qt] Inremental build problem revealed by https://bugs.webkit.org/show_bug.cgi?id=74455

Reviewed by Tor Arne Vestbø.

  • DerivedSources.pri: supplemental_dependency.tmp must depends on idl files too.
08:56 Changeset [105067] by pfeldman@chromium.org

Web Inspector: do not merge iframes into a single DOM hierarchy.
https://bugs.webkit.org/show_bug.cgi?id=76383

Reviewed by Timothy Hatcher.

Source/WebCore:

  • inspector/DOMEditor.h:
  • inspector/Inspector.json:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::innerFirstChild):
(WebCore::InspectorDOMAgent::innerParentNode):

  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
(WebInspector.CSSStyleModel.prototype.setRuleSelector):
(WebInspector.CSSStyleModel.prototype.addRule.callback):
(WebInspector.CSSStyleModel.prototype.addRule):
(WebInspector.CSSStyleModel.prototype._ownerDocumentId):

  • inspector/front-end/DOMAgent.js:

(WebInspector.DOMNode):
(WebInspector.DOMNode.prototype.getChildNodes):
(WebInspector.DOMNode.prototype._insertChild):
(WebInspector.DOMNode.prototype._setChildrenPayload):
(WebInspector.DOMDocument):
(WebInspector.DOMAgent.prototype._setDetachedRoot):

  • inspector/front-end/ElementsTreeOutline.js:

LayoutTests:

  • http/tests/inspector/elements-test.js:

(initialize_ElementTest.InspectorTest.findNode.processChildren):

  • inspector/console/console-dirxml-expected.txt:
  • inspector/console/console-tests-expected.txt:
  • inspector/elements/set-outer-html-body.html:
  • inspector/styles/styles-iframe.html:
08:47 Changeset [105066] by vsevik@chromium.org

Web Inspector: setCurrentFocusElement should not update selection when focus is moved to text field or text area.
https://bugs.webkit.org/show_bug.cgi?id=76384

Reviewed by Timothy Hatcher.

  • inspector/front-end/JavaScriptOutlineDialog.js:

(WebInspector.JavaScriptOutlineDialog):

  • inspector/front-end/UIUtils.js:

(WebInspector._isTextEditingElement):
(WebInspector.setCurrentFocusElement):

08:13 Changeset [105065] by philn@webkit.org

[GTK] set audio resources path in NRTW
https://bugs.webkit.org/show_bug.cgi?id=76380

Reviewed by Martin Robinson.

  • Scripts/webkitpy/layout_tests/port/gtk.py:

(GtkPort.setup_environ_for_server): Set $AUDIO_RESOURCES_PATH so
the uninstalled audio resources are used during webaudio tests.

08:08 Changeset [105064] by philn@webkit.org

Unreviewed, GTK rebaseline after r105061.

  • platform/gtk/svg/carto.net/colourpicker-expected.txt:
  • platform/gtk/svg/carto.net/combobox-expected.txt:
  • platform/gtk/svg/carto.net/slider-expected.txt:
  • platform/gtk/svg/carto.net/textbox-expected.txt:
08:00 Changeset [105063] by philn@webkit.org

Unreviewed, GTK baselines for new tests.

  • platform/gtk/css2.1/20110323/border-collapse-offset-002-expected.txt: Added.
  • platform/gtk/css2.1/20110323/outline-color-applies-to-008-expected.txt: Added.
  • platform/gtk/fast/borders/border-image-slice-constrained-expected.txt: Added.
  • platform/gtk/fast/text/unicode-variation-selector-expected.txt: Added.
  • platform/gtk/http/tests/media/video-buffering-repaints-controls-expected.txt: Added.
  • platform/gtk/media/video-colorspace-yuv420-expected.txt: Added.
  • platform/gtk/media/video-colorspace-yuv422-expected.txt: Added.
  • platform/gtk/svg/custom/pattern-userSpaceOnUse-userToBaseTransform-expected.txt: Added.
  • platform/gtk/svg/filters/filter-refresh-expected.txt: Added.
06:28 Changeset [105062] by commit-queue@webkit.org

[Qt] Remove references to PagePointer in the FrameNetworkingContext
https://bugs.webkit.org/show_bug.cgi?id=76342

Patch by Alexander Færøy <alexander.faeroy@nokia.com> on 2012-01-16
Reviewed by Simon Hausmann.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::createNetworkingContext):

  • WebProcess/qt/QtNetworkAccessManager.cpp:

(WebKit::QtNetworkAccessManager::obtainOriginatingWebPage):

  • WebProcess/qt/QtNetworkAccessManager.h:
06:04 Changeset [105061] by zimmermann@webkit.org

Large SVG text layout performance regression in r81168
https://bugs.webkit.org/show_bug.cgi?id=65711

Reviewed by Zoltan Herczeg.

Source/WebCore:

Enable simple code path in SVGTextMetricsBuilder, allowing fast-measurement of simple text.
This affects the geometry of several <text> elements, thus several tests need rebaselining.

  • rendering/svg/SVGTextMetricsBuilder.cpp:

(WebCore::SVGTextMetricsBuilder::advance):
(WebCore::SVGTextMetricsBuilder::advanceComplexText):

LayoutTests:

Update some test results after enabling the simple code path to measure SVG text.

  • platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.png:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-text-01-b-expected.txt:
  • platform/mac/svg/batik/text/smallFonts-expected.png:
  • platform/mac/svg/batik/text/textAnchor-expected.txt:
  • platform/mac/svg/carto.net/window-expected.png:
  • platform/mac/svg/carto.net/window-expected.txt:
  • platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.png:
  • platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
  • platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.png:
  • platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.txt:
  • platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.png:
  • platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt:
  • platform/mac/svg/custom/text-repaint-including-stroke-expected.png:
  • platform/mac/svg/custom/use-clipped-hit-expected.txt:
  • platform/mac/svg/custom/use-detach-expected.png:
  • platform/mac/svg/custom/use-detach-expected.txt:
  • platform/mac/svg/foreignObject/text-tref-02-b-expected.png:
  • platform/mac/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.png:
  • platform/mac/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.png:
  • platform/mac/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.png:
  • platform/mac/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.png:
  • platform/mac/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.txt:
  • platform/mac/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.txt:
  • platform/mac/svg/text/text-align-01-b-expected.png:
  • platform/mac/svg/text/text-align-01-b-expected.txt:
  • platform/mac/svg/text/text-align-02-b-expected.txt:
  • platform/mac/svg/text/text-align-04-b-expected.txt:
  • platform/mac/svg/text/text-align-06-b-expected.png:
  • platform/mac/svg/text/text-align-06-b-expected.txt:
  • platform/mac/svg/text/text-deco-01-b-expected.txt:
  • platform/mac/svg/text/text-fonts-01-t-expected.txt:
  • platform/mac/svg/text/text-spacing-01-b-expected.png:
  • platform/mac/svg/text/text-text-04-t-expected.png:
  • platform/mac/svg/text/text-text-05-t-expected.png:
  • platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
  • platform/mac/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
  • platform/mac/svg/transforms/text-with-pattern-with-svg-transform-expected.txt:
05:44 Changeset [105060] by commit-queue@webkit.org

Web Inspector: CodeGeneratorInspector.py: generate array types.
https://bugs.webkit.org/show_bug.cgi?id=75284

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-01-16
Reviewed by Yury Semikhatsky.

New classes are generated for ecah array type instance. Some includes
and ifdefs are fixed.

  • inspector/CodeGeneratorInspector.py:

(ArrayBinding):
(ArrayBinding.get_code_generator):
(ArrayBinding.get_code_generator.CodeGenerator):
(ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
(ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext):
(ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
(ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
(ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
(ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
(ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
(ArrayBinding.get_code_generator.CodeGenerator.register_use):
(ArrayBinding.get_in_c_type_text):
(ArrayBinding.get_setter_value_expression_pattern):
(ArrayBinding.reduce_to_raw_type):
(RawTypeBinding):
(RawTypeBinding.init):
(RawTypeBinding.get_code_generator):
(RawTypeBinding.get_in_c_type_text):
(RawTypeBinding.get_setter_value_expression_pattern):
(RawTypeBinding.reduce_to_raw_type):
(TypeData.init):
(TypeData.get_binding):

  • inspector/ConsoleMessage.cpp:
  • inspector/InspectorValues.h:
05:40 Changeset [105059] by carlosgc@webkit.org

[GTK] Update NEWS and configure.ac for 1.7.4 release
https://bugs.webkit.org/show_bug.cgi?id=76375

Reviewed by Philippe Normand.

.:

  • configure.ac: Bumped version number.

Source/WebKit/gtk:

  • NEWS: Added release notes for 1.7.4.
05:35 Changeset [105058] by pfeldman@chromium.org

Web Inspector: editing body multiplies head
https://bugs.webkit.org/show_bug.cgi?id=62272

Patch by Pavel Feldman <pfeldman@chromium.org> on 2012-01-15
Reviewed by Yury Semikhatsky.

Source/WebCore:

Test: inspector/elements/set-outer-html-body.html

  • inspector/DOMEditor.cpp:

(WebCore::DOMEditor::patchDocument):
(WebCore::DOMEditor::patchNode):
(WebCore::DOMEditor::innerPatchChildren):
(WebCore::DOMEditor::insertBefore):

  • inspector/DOMEditor.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::setOuterHTML):

LayoutTests:

  • inspector/elements/resources/set-outer-html-body-iframe.html: Added.
  • inspector/elements/set-outer-html-body-expected.txt: Added.
  • inspector/elements/set-outer-html-body.html: Added.
05:08 Changeset [105057] by zimmermann@webkit.org

Large SVG text layout performance regression in r81168
https://bugs.webkit.org/show_bug.cgi?id=65711

Reviewed by Zoltan Herczeg.

Change the way we store x/y/dx/dy/rotate values for a <text> element and its ancestors.

SVGTextLayoutAttributesBuilder used to hold a Vector<float> for x/y/dx/dy/rotate, each as big
as the whole text subtree length. For each character, that has an absolute position, or rotation
the value was stored in this list. For all other characters a special empty value marker was stored.

This is highly inefficient, and is now replaced with a HashMap<unsigned, SVGCharacterData> where
SVGCharacterData is a struct, holding float x/y/dx/dy/rotate. The code is now optimized for the
common case, where only a few characters actually specify such values, eg:
<text x="50" y="90">looooong text<tspan x="50" y="30">abc</tspan></text>.

NOTE: There are still some inefficiencies in this patch (especially the copying of SVGTextLayoutAttributes).
To keep the patch size smaller, I decided to fix this in another patch, and only fix the memory issue with this patch.

This reduces the memory consumption from 35MB to 10MB on the attached testcase in bug 65711.

Doesn't affect any test, yet. A follow-up commit will enable the usage of the simple code path, using WidthIterator,
in SVGTextMetricsBuilder, which will result in several layout test changes, because of geometry changes.

  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::RenderSVGInlineText):
(WebCore::RenderSVGInlineText::characterStartsNewTextChunk):

  • rendering/svg/RenderSVGInlineText.h:

(WebCore::RenderSVGInlineText::layoutAttributes):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::layout):
(WebCore::recursiveCollectLayoutAttributes):
(WebCore::RenderSVGText::rebuildLayoutAttributes):

  • rendering/svg/RenderSVGText.h:
  • rendering/svg/SVGRootInlineBox.cpp:

(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
(WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
(WebCore::SVGRootInlineBox::closestLeafChildForPosition):
(WebCore::swapItemsInLayoutAttributes):
(WebCore::findFirstAndLastAttributesInVector):
(WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):

  • rendering/svg/SVGTextLayoutAttributes.cpp:

(WebCore::SVGTextLayoutAttributes::clear):
(WebCore::dumpSVGCharacterDataMapValue):
(WebCore::SVGTextLayoutAttributes::dump):

  • rendering/svg/SVGTextLayoutAttributes.h:

(WebCore::SVGTextLayoutAttributes::characterDataMap):

  • rendering/svg/SVGTextLayoutAttributesBuilder.cpp:

(WebCore::SVGTextLayoutAttributesBuilder::SVGTextLayoutAttributesBuilder):
(WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
(WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForWholeTree):
(WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForTextRenderer):
(WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForWholeTree):
(WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesIfNeeded):
(WebCore::processRenderSVGInlineText):
(WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
(WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributes):
(WebCore::updateCharacterData):
(WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap):

  • rendering/svg/SVGTextLayoutAttributesBuilder.h:

(WebCore::SVGTextLayoutAttributesBuilder::clearTextPositioningElements):

  • rendering/svg/SVGTextLayoutEngine.cpp:

(WebCore::SVGTextLayoutEngine::updateRelativePositionAdjustmentsIfNeeded):
(WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):

  • rendering/svg/SVGTextLayoutEngine.h:

(WebCore::SVGTextLayoutEngine::layoutAttributes):

  • rendering/svg/SVGTextMetricsBuilder.cpp:

(WebCore::SVGTextMetricsBuilder::advance):
(WebCore::SVGTextMetricsBuilder::advanceComplexText):
(WebCore::SVGTextMetricsBuilder::measureTextRenderer):

  • rendering/svg/SVGTextQuery.cpp:

(WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):

05:00 Changeset [105056] by kling@webkit.org

CSSCanvasValue can't be renamed, enforce this at compile-time.
<http://webkit.org/b/76352>

Reviewed by Antti Koivisto.

Have the CSSCanvasValue constructor take the name as an argument instead of
having a setName() that's only called from one place in CSSParser.

  • css/CSSCanvasValue.h:

(WebCore::CSSCanvasValue::create):
(WebCore::CSSCanvasValue::CSSCanvasValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseCanvas):

04:57 Changeset [105055] by kling@webkit.org

CSSStyleSelector: Dodge parser when creating default LTR/RTL declarations.
<http://webkit.org/b/76374>

Reviewed by Antti Koivisto.

Pass CSSValueLtr/CSSValueRtl directly to setProperty() instead of parsing "ltr"/"rtl".

  • css/CSSStyleSelector.cpp:

(WebCore::leftToRightDeclaration):
(WebCore::rightToLeftDeclaration):

04:25 Changeset [105054] by carlosgc@webkit.org

Unreviewed. Fix make distcheck.

Source/JavaScriptCore:

  • GNUmakefile.list.am: Fix typo.

Source/WebCore:

  • GNUmakefile.list.am: Add missing files.
04:19 Changeset [105053] by carlosgc@webkit.org

[GTK] ldflags and cflags should take precedence over the existing flags in gtkdoc.py
https://bugs.webkit.org/show_bug.cgi?id=76369

Reviewed by Xan Lopez.

If there's an installed version of webkit and there are new
symbols in the build tree, gtkdoc-scanobj fails due to undefined
references, because the env ldflags are given before the local
ones.

  • gtk/gtkdoc.py:

(GTKDoc._run_gtkdoc_scangobj):

04:05 Changeset [105052] by rolandsteiner@chromium.org

CSSStyleSelector constructor and appendAuthorStylesheets() contain duplicated code
https://bugs.webkit.org/show_bug.cgi?id=76043

Re-use appendAuthorStylesheets() from within CSSStyleSelector constructor.

Reviewed by Antti Koivisto.

No new tests. (refactoring)

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::CSSStyleSelector):

  • css/StyleSheetList.h:

(WebCore::StyleSheetList::vector):

03:40 UsingGitWithWebKit edited by peter@chromium.org
Revert spam-change (diff)
03:39 BuildBot edited by peter@chromium.org
Revert spam-change (diff)
03:32 Changeset [105051] by commit-queue@webkit.org

Unreviewed, rolling out r105040.
http://trac.webkit.org/changeset/105040
https://bugs.webkit.org/show_bug.cgi?id=76373

Breaks Win (dbg) canary builder (Requested by apavlov on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-16

  • WebKit.gypi:
  • tests/DispatchEventTest.cpp: Removed.
  • tests/data/event_target.html: Removed.
03:31 Changeset [105050] by commit-queue@webkit.org

[crash] Renderer crashes when spell checking a disabled input field.
https://bugs.webkit.org/show_bug.cgi?id=75941

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-16
Reviewed by Hajime Morita.

.:

  • ManualTests/editing-disabled-node-replace-crash.html: Added.

Source/WebCore:

We confirm the selection is editable before replacing text.

Tests: ManualTests/editing-disabled-node-replace-crash.html

  • editing/Editor.cpp:

(WebCore::Editor::replaceSelectionWithFragment):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::doApply):

03:28 Changeset [105049] by commit-queue@webkit.org

Fix compilation errors on build-webkit --debug --no-svg --no-svg-fonts --no-svg-dom-objc-bindings on mac.
https://bugs.webkit.org/show_bug.cgi?id=75865

Patch by Pablo Flouret <pablof@motorola.com> on 2012-01-16
Reviewed by Hajime Morita.

Source/WebCore:

  • WebCore.exp.in:
  • css/CSSStyleApplyProperty.cpp:

(WebCore::ApplyPropertyDisplay::isValidDisplayValue):

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::setContainerSizeForRenderer):
(WebCore::CachedImage::imageSizeForRenderer):

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::drawGlyphBuffer):

  • rendering/FilterEffectRenderer.cpp:
  • svg/SVGElementInstance.idl:

Source/WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _pauseSVGAnimation:onSMILNode:atTime:]):

03:09 Changeset [105048] by commit-queue@webkit.org

Compilation error on build-webkit --debug --no-request-animation-frame on mac.
https://bugs.webkit.org/show_bug.cgi?id=75875

Patch by Pablo Flouret <pablof@motorola.com> on 2012-01-16
Reviewed by Hajime Morita.

  • dom/Document.cpp:

(WebCore::Document::windowScreenDidChange):

03:04 Changeset [105047] by apavlov@chromium.org

[Chromium] Unreviewed, mark two inspector/debugger tests as SLOW on Linux Debug.

  • platform/chromium/test_expectations.txt:
02:55 Changeset [105046] by apavlov@chromium.org

[Chromium] Unreviewed, suppres webaudio/gain.html failures on Windows.

  • platform/chromium/test_expectations.txt:
02:51 Changeset [105045] by ossy@webkit.org

Web Inspector: Fix GoToLineDialog and extract common dialog functionality.
https://bugs.webkit.org/show_bug.cgi?id=69341

Unreviewed trivial buildfix/typo fix after r105043.

  • inspector/front-end/WebKit.qrc:
02:23 Changeset [105044] by commit-queue@webkit.org

Solaris Studio supports alignment macros too
https://bugs.webkit.org/show_bug.cgi?id=75453

Patch by Pavel Heimlich <tropikhajma@gmail.com> on 2012-01-16
Reviewed by Hajime Morita.

  • wtf/Alignment.h:
01:56 Changeset [105043] by vsevik@chromium.org

Web Inspector: Fix GoToLineDialog and extract common dialog functionality.
https://bugs.webkit.org/show_bug.cgi?id=69341

Fixed dialog: in old implementation dialog never hides if you press mouse button
on Go button and release it somewhere else.
Dialog functionality extracted to be used for search dialog.

Reviewed by Pavel Feldman.

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.sh:
  • inspector/front-end/Dialog.js: Added.

(WebInspector.Dialog):
(WebInspector.Dialog.show):
(WebInspector.Dialog.prototype._hide):
(WebInspector.Dialog.prototype._onFocus):
(WebInspector.Dialog.prototype._doFocus):
(WebInspector.Dialog.prototype._position):
(WebInspector.Dialog.prototype._onKeyDown):
(WebInspector.Dialog.prototype._onClick):
(WebInspector.DialogDelegate):
(WebInspector.DialogDelegate.prototype.get defaultFocusedElement):
(WebInspector.DialogDelegate.prototype.get okButton):
(WebInspector.DialogDelegate.prototype.onAction):

  • inspector/front-end/GoToLineDialog.js:

(WebInspector.GoToLineDialog):
(WebInspector.GoToLineDialog._show):
(WebInspector.GoToLineDialog.prototype.get defaultFocusedElement):
(WebInspector.GoToLineDialog.prototype.get okButton):
(WebInspector.GoToLineDialog.prototype.onAction):

  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/dialog.css: Renamed from Source/WebCore/inspector/front-end/goToLineDialog.css.

(.dialog-glass-pane):
(.dialog):
(.dialog-contents):
(.go-to-line-dialog input):
(.go-to-line-dialog button):
(.go-to-line-dialog button:active):

  • inspector/front-end/inspector.html:
01:41 Changeset [105042] by ryuan.choi@samsung.com

[EFL] Build fix when using pango as font backends.
https://bugs.webkit.org/show_bug.cgi?id=76368

Unreviewed build fix.

  • ewk/ewk_view.cpp: include RefPtrCairo.h
01:37 Changeset [105041] by jochen@chromium.org

ScriptRunner should also keep references to pending async scripts
https://bugs.webkit.org/show_bug.cgi?id=76350

Reviewed by Adam Barth.

Source/WebCore:

The CachedResourceLoader only keeps a raw pointer to a ScriptElement.
If an async ScriptElement is removed from the document before it is
executed, it might be garbage collected before the script is loaded, so
it's never run.

By making the ScriptRunner keep an explicit reference to the
ScriptElement while it's loading (as is done for sync ScriptElements),
we can guarantee that the ScriptElement lives until it is executed.

No more flaky timeouts: http/tests/misc/async-script.html:

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::prepareScript):
(WebCore::ScriptElement::notifyFinished):

  • dom/ScriptRunner.cpp:

(WebCore::ScriptRunner::~ScriptRunner):
(WebCore::ScriptRunner::queueScriptForExecution):
(WebCore::ScriptRunner::notifyScriptReady):

  • dom/ScriptRunner.h:

(WebCore::ScriptRunner::hasPendingScripts):

LayoutTests:

  • http/tests/misc/async-script.html:
  • platform/qt/Skipped: unskip http/tests/misc/async-script.html
01:23 Changeset [105040] by commit-queue@webkit.org

Reland chromium event dispatch test from https://bugs.webkit.org/show_bug.cgi?id=72988
https://bugs.webkit.org/show_bug.cgi?id=73837

The original patch had a mistake that caused it to fail (not sure how I
missed that or why the bots didn't catch it).

Patch by Dave Michael <dmichael@chromium.org> on 2012-01-16
Reviewed by Hajime Morita.

  • WebKit.gypi:
  • tests/DispatchEventTest.cpp: Added.

(WebKit::MockListener::MockListener):
(WebKit::MockListener::~MockListener):
(WebKit::MockListener::events):
(WebKit::DispatchEventTest::DispatchEventTest):
(WebKit::DispatchEventTest::TearDown):
(WebKit::DispatchEventTest::createMessageEvent):
(WebKit::TEST_F):

  • tests/data/event_target.html: Added.
01:16 Changeset [105039] by reni@webkit.org

Unreviewed build fix; added WebCore.exp.in changes lost in r105036.

  • WebCore.exp.in:
00:47 Changeset [105038] by ossy@webkit.org

ScriptRunner should also keep references to pending async scripts
https://bugs.webkit.org/show_bug.cgi?id=76350

  • platform/qt/Skipped: Skip http/tests/misc/async-script.html until fix.
00:42 Changeset [105037] by yuqiang.xian@intel.com

Build fix on 32bit if verbose debug is enabled in DFG
https://bugs.webkit.org/show_bug.cgi?id=76351

Reviewed by Hajime Morita.

Mostly change "%lu" to "%zu" to print a "size_t" variable.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::endBasicBlock):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::predictArgumentTypes):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

01/15/12:

23:33 Changeset [105036] by commit-queue@webkit.org

Add DeviceOrientationEvent.absolute
https://bugs.webkit.org/show_bug.cgi?id=51742

Patch by Xinchao He <xinchao.he@intel.com> on 2012-01-15
Reviewed by Darin Fisher.

This patch add the DeviceOrientationEvent.absolute to follow the
latest w3c device orientation event spec.
http://www.w3.org/TR/orientation-event/

Source/WebCore:

  • bindings/js/JSDeviceOrientationEventCustom.cpp:

(WebCore::JSDeviceOrientationEvent::absolute):
(WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):

  • bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:

(WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter):
(WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):

  • dom/DeviceOrientation.cpp:

(WebCore::DeviceOrientation::create):
(WebCore::DeviceOrientation::DeviceOrientation):
(WebCore::DeviceOrientation::absolute):
(WebCore::DeviceOrientation::canProvideAbsolute):

  • dom/DeviceOrientation.h:
  • dom/DeviceOrientationEvent.idl:

Source/WebKit/chromium:

  • public/WebDeviceOrientation.h:

(WebKit::WebDeviceOrientation::WebDeviceOrientation):
(WebKit::WebDeviceOrientation::canProvideAbsolute):
(WebKit::WebDeviceOrientation::absolute):

  • src/WebDeviceOrientation.cpp:

(WebKit::WebDeviceOrientation::WebDeviceOrientation):
(WebKit::WebDeviceOrientation::operator=):
(WebKit::WebDeviceOrientation::operator PassRefPtr<WebCore::DeviceOrientation>):

20:03 Changeset [105035] by fpizlo@apple.com

The C calling convention logic in DFG::SpeculativeJIT should be available even
when not generating code for the DFG speculative path
https://bugs.webkit.org/show_bug.cgi?id=76355

Reviewed by Dan Bernstein.

Moved all of the logic for placing C call arguments into the right place (stack
or registers) into a new class, DFG::CCallHelpers. This class inherits from
AssemblyHelpers, another DFG grab-bag of helper functions. I could have moved
this code into AssemblyHelpers, but decided against it, because I wanted to
limit the number of methods each class in the JIT has. Hence now we have a
slightly odd organization of JIT classes in DFG: MacroAssembler (basic instruction
emission) <= AssemblyHelpers (some additional JS smarts) <= CCallHelpers
(understands calls to C functions) <= JITCompiler (can compile a graph to machine
code). Each of these except for JITCompiler can be reused for stub compilation.

  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGCCallHelpers.h: Added.

(JSC::DFG::CCallHelpers::CCallHelpers):
(JSC::DFG::CCallHelpers::resetCallArguments):
(JSC::DFG::CCallHelpers::addCallArgument):
(JSC::DFG::CCallHelpers::setupArguments):
(JSC::DFG::CCallHelpers::setupArgumentsExecState):
(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
(JSC::DFG::CCallHelpers::setupTwoStubArgs):
(JSC::DFG::CCallHelpers::setupStubArguments):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::JITCompiler):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

16:57 Changeset [105034] by kling@webkit.org

Fix wrong bug URL in ChangeLog.

15:18 Changeset [105033] by macpherson@chromium.org

Remove external references to CSSPrimitiveValue::UnitTypes enum.
https://bugs.webkit.org/show_bug.cgi?id=76229

Reviewed by Darin Adler.

No new tests / refactoring only.

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule):

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::addStops):
(WebCore::positionFromValue):
(WebCore::CSSGradientValue::isCacheable):
(WebCore::CSSRadialGradientValue::resolveRadius):
(WebCore::CSSRadialGradientValue::createGradient):

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::isUnitTypeLength):
(WebCore::CSSPrimitiveValue::isFontRelativeLength):
(WebCore::CSSPrimitiveValue::isIdent):
(WebCore::CSSPrimitiveValue::isNumber):
(WebCore::CSSPrimitiveValue::isPercentage):
(WebCore::CSSPrimitiveValue::isString):
(WebCore::CSSPrimitiveValue::isURI):

  • css/CSSStyleApplyProperty.cpp:

(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyCursor::applyValue):
(WebCore::ApplyPropertyPageSize::applyValue):
(WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
(WebCore::ApplyPropertyZoom::applyValue):

15:08 BuildBot edited by gulendekorasyon@gmail.com
(diff)
15:07 WikiStart edited by gulendekorasyon@gmail.com
(diff)
15:06 UsingGitWithWebKit edited by gulendekorasyon@gmail.com
(diff)
15:02 WikiStart edited by gulendekorasyon@gmail.com
(diff)
12:14 Changeset [105032] by commit-queue@webkit.org

Fix compilation errors on build-webkit --debug --no-video on mac.
https://bugs.webkit.org/show_bug.cgi?id=75867

Patch by Pablo Flouret <pablof@motorola.com> on 2012-01-15
Reviewed by Philippe Normand.

Source/JavaScriptCore:

Make ENABLE_VIDEO_TRACK conditional on ENABLE_VIDEO, video track feature
doesn't build without video.

  • wtf/Platform.h:

Source/WebCore:

  • Some exported HTMLMediaElement symbols were guarded by FULLSCREEN_API feature instead of VIDEO.
  • Unused parameter warning in CanvasRenderingContext::wouldTaintOrigin().
  • RenderThemeMac::shouldShowPlaceholderWhenFocused() implementation wrongly guarded by VIDEO feature.
  • WebCore.exp.in:
  • html/canvas/CanvasRenderingContext.cpp:

(WebCore::CanvasRenderingContext::wouldTaintOrigin):

  • rendering/RenderThemeMac.mm:

Source/WebKit/mac:

  • WebChromeClient::fullScreenRendererChanged() declaration wrongly guarded by VIDEO feature instead of FULLSCREEN_API.
  • _isAnyMoviePlaying implementation depends on VIDEO.
  • WebCoreSupport/WebChromeClient.h:
  • WebView/WebFullScreenController.mm:

(-[WebFullScreenController _isAnyMoviePlaying]):

Tools:

Add --[no-]video-track to build-webkit, since video track feature
depends on video.

  • Scripts/build-webkit:
11:42 Changeset [105031] by kling@webkit.org

CSSParser: Fix failing assertion below BorderImageQuadParseContext.
<http://webkit.org/b/76343> and <rdar://problem/10584969>

Reviewed by Antti Koivisto.

No longer asserts: fast/borders/inline-mask-overlay-image-outset-vertical-rl.html

  • css/CSSParser.cpp:

(WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
(WebCore::BorderImageQuadParseContext::commitBorderImageQuad):

Clone CSSValues by copying the RefPtrs instead of going through
the CSSValuePool's create-from-double factory. This prevents an
assertion when the incoming value is CSSValueAuto.

11:01 WikiStart edited by robert@roberthogan.net
(diff)
09:17 Changeset [105030] by robert@webkit.org

<embed> width and height properties propagate to parent object node
https://bugs.webkit.org/show_bug.cgi?id=17688

Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/images/embed-does-not-propagate-dimensions-to-object-ancestor.html

WebKit seems to have inherited this behaviour from KHTML. When the width/height
of an <embed> element is set, it propagates the values up to any parent <object>
element. There doesn't seem to be any good reason for this and it is not consistent
with the behaviour of Firefox and Opera.

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::insertedIntoDocument):
(WebCore::HTMLEmbedElement::attributeChanged): Removed

  • html/HTMLEmbedElement.h:

(WebCore::HTMLEmbedElement::attributeChanged): Removed

LayoutTests:

  • fast/dom/insertedIntoDocument-child-expected.txt:
  • fast/dom/insertedIntoDocument-sibling-expected.txt: These tests were added by http://trac.webkit.org/changeset/81611. The fact that an <embed> element inserted into the document no longer passes its height/width up to its parent object node seems to prevent the node getting removed by a simple garbage collection now so the <embed> added by the test is still there at the end, creating the trailing spaces. This is consistent with Opera's treatment of the test, FF is entirely different - it doesn't add the embed node in the first place. So given that the purpose of the test is to cause a crash (?), the change in result seems benign.
  • fast/images/embed-does-not-propagate-dimensions-to-object-ancestor-expected.txt: Added.
  • fast/images/embed-does-not-propagate-dimensions-to-object-ancestor.html: Added. This tests that the width/height for an embed element does not get propagated to the parent object.
06:20 WikiStart edited by gulendekorasyon@gmail.com
(diff)
05:48 Changeset [105029] by robert@webkit.org

compareBorders() is called too often during painting
https://bugs.webkit.org/show_bug.cgi?id=73349

Reviewed by Julien Chaffraix.

Collapsed borders are re-calculated every time they are painted.
This is unnecessary, they only change with the layout or style so calculate and
cache them whenever the layout or style changes and use the cached values when
painting. The cache is stored in the table section so that the memory footprint
of a table is only increased when it has collapsing borders.

The gain in performance here consists of skipping collapsed border computation
during painting. The only path that incurs a small performance penalty is the
additional get/set on the cache when a collapsed border is computed. This penalty only applies
during style change, layout, or when the width of the table is calculated. The computed
border value is not stored in the cache when it has been calculated without its color
for borderHalfStart and co., so that code path is unaffected by this change.

No new tests, covered by existing collapsed border tests.

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::willBeDestroyed): remove entries from collapsed border cache
(WebCore::RenderTableCell::collapsedStartBorder):

Compute, and also cache if the full border including color was computed.

(WebCore::RenderTableCell::computeCollapsedStartBorder):
(WebCore::RenderTableCell::collapsedEndBorder): ditto
(WebCore::RenderTableCell::computeCollapsedEndBorder):
(WebCore::RenderTableCell::collapsedBeforeBorder): ditto
(WebCore::RenderTableCell::computeCollapsedBeforeBorder):
(WebCore::RenderTableCell::collapsedAfterBorder): ditto
(WebCore::RenderTableCell::computeCollapsedAfterBorder):
(WebCore::RenderTableCell::cachedCollapsedLeftBorder):

Inline the function since it is only called in paintCollapsedBorders and remove
includeColor as a parameter. Move the call to the table's style to the caller rather
than call it 4 times in a row. Use the cached border values directly.

(WebCore::RenderTableCell::cachedCollapsedRightBorder): ditto
(WebCore::RenderTableCell::cachedCollapsedTopBorder): ditto
(WebCore::RenderTableCell::cachedCollapsedBottomBorder): ditto
(WebCore::RenderTableCell::paintCollapsedBorders):

This function always uses the collapsed border cache now.

  • rendering/RenderTableCell.h: Make the collapsed border functions private.
  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::removeCachedCollapsedBorders): The cache is deleted by the HashMap

since it is the only owner of the cached item.

(WebCore::RenderTableSection::setCachedCollapsedBorder):
(WebCore::RenderTableSection::cachedCollapsedBorder):

This will assert if there is no cached collapsed border for the side of the
cell requested by the caller.

  • rendering/RenderTableSection.h: HashMap wouldn't let me use CollapsedBorderSide in the key value for the cache so use int instead.
Note: See TracTimeline for information about the timeline view.