profile/ivi/webkit-efl.git
12 years ago[Chromium] Layout Test svg/custom/oversized-pattern-scale.svg and svg/custom/transfor...
hamaji@chromium.org [Wed, 28 Sep 2011 07:54:24 +0000 (07:54 +0000)]
[Chromium] Layout Test svg/custom/oversized-pattern-scale.svg and svg/custom/transformed-pattern-clamp-svg-root.svg are flaky
https://bugs.webkit.org/show_bug.cgi?id=68982

Unreviewed test_expectations.txt update.

* platform/chromium/test_expectations.txt:

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

12 years agoWeb Inspector: Unreviewed. Slight adjustment of the test content for better represent...
loislo@chromium.org [Wed, 28 Sep 2011 07:46:21 +0000 (07:46 +0000)]
Web Inspector: Unreviewed. Slight adjustment of the test content for better representation of the performance.

* inspector/performance/resources/show-panel.html:

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

12 years agoUnreviewed rebaseline pservers-grad-14-b again.
hamaji@chromium.org [Wed, 28 Sep 2011 07:44:19 +0000 (07:44 +0000)]
Unreviewed rebaseline pservers-grad-14-b again.

* platform/chromium-cg-mac-leopard/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.png: Added.
* platform/chromium-cg-mac/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.png:
* platform/chromium-mac-leopard/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.png: Added.
* platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt:
* platform/chromium/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt: Removed.

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

12 years agoLayout Test fast/multicol/float-paginate-empty-lines.html and some svg tests are...
hamaji@chromium.org [Wed, 28 Sep 2011 07:39:30 +0000 (07:39 +0000)]
Layout Test fast/multicol/float-paginate-empty-lines.html and some svg tests are failing
https://bugs.webkit.org/show_bug.cgi?id=68970

Unreviewed fix for a lint error in test_expectations.txt

* platform/chromium/test_expectations.txt:

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

12 years agoMissing initialization of member in ImageFrameQt class
commit-queue@webkit.org [Wed, 28 Sep 2011 07:22:38 +0000 (07:22 +0000)]
Missing initialization of member in ImageFrameQt class
https://bugs.webkit.org/show_bug.cgi?id=68943

Patch by Adenilson Cavalcanti <adenilson.silva@openbossa.org> on 2011-09-28
Reviewed by Kenneth Rohde Christiansen.

No new tests, this fixes internal implementation detail.

* platform/image-decoders/qt/ImageFrameQt.cpp:
(WebCore::ImageFrame::ImageFrame):
(WebCore::ImageFrame::operator=):

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

12 years ago[EFL] URL of resources are not decoded.
commit-queue@webkit.org [Wed, 28 Sep 2011 07:12:40 +0000 (07:12 +0000)]
[EFL] URL of resources are not decoded.
https://bugs.webkit.org/show_bug.cgi?id=66540

Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com> on 2011-09-28
Reviewed by Ryosuke Niwa.

Fix ewk_frame_resources_location_get which was returning the encoded URL of resources.
As a result characters for instance, %20 occurred. For now returned strings are decoded.

* ewk/ewk_frame.cpp:
(ewk_frame_resources_location_get):

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

12 years agoMake Chromium Win Release (Tests) a core builder
rniwa@webkit.org [Wed, 28 Sep 2011 07:02:42 +0000 (07:02 +0000)]
Make Chromium Win Release (Tests) a core builder
https://bugs.webkit.org/show_bug.cgi?id=68906

Reviewed by Adam Barth.

Add Chromium Win Release (Tests) to the list of core builders.

* Scripts/webkitpy/common/net/buildbot/buildbot.py:
* Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:

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

12 years ago[Qt] Unreviewed gardening. Add platform specific expected result for new test introdu...
ossy@webkit.org [Wed, 28 Sep 2011 06:46:35 +0000 (06:46 +0000)]
[Qt] Unreviewed gardening. Add platform specific expected result for new test introduced in r96149.

* platform/qt/fast/multicol/float-paginate-empty-lines-expected.png: Added.
* platform/qt/fast/multicol/float-paginate-empty-lines-expected.txt: Added.

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

12 years agoDefer call to CSSValue::isPrimitiveValue(), saves ~4% in CSSStyleSelector::applyPrope...
macpherson@chromium.org [Wed, 28 Sep 2011 06:32:38 +0000 (06:32 +0000)]
Defer call to CSSValue::isPrimitiveValue(), saves ~4% in CSSStyleSelector::applyProperty().
https://bugs.webkit.org/show_bug.cgi?id=68964

Reviewed by Eric Seidel.

No new tests / no functionality changed.

Doing value->isPrimitiveValue() is relatviely expensive, so moving it after the early returns but
before the result is used saves a significant number of cycles. (Tested with Shark profiler in Safari).

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):

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

12 years ago[Chromium] Layout Test fast/canvas/canvas-composite-transformclip.html is failing
hamaji@chromium.org [Wed, 28 Sep 2011 05:43:38 +0000 (05:43 +0000)]
[Chromium] Layout Test fast/canvas/canvas-composite-transformclip.html is failing
https://bugs.webkit.org/show_bug.cgi?id=68895

Unreviewed rebaseline for skia r2300 roll.

* platform/chromium-cg-mac/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.png: Added.
* platform/chromium-gpu-win/fast/canvas/canvas-composite-expected.png:
* platform/chromium-gpu-win/fast/canvas/canvas-composite-transformclip-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.png:
* platform/chromium-mac/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt:
* platform/chromium/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt: Copied from LayoutTests/platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt.
* platform/chromium/test_expectations.txt:

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

12 years agoLayout Test fast/multicol/float-paginate-empty-lines.html and some svg tests are...
hamaji@chromium.org [Wed, 28 Sep 2011 05:37:17 +0000 (05:37 +0000)]
Layout Test fast/multicol/float-paginate-empty-lines.html and some svg tests are failing
https://bugs.webkit.org/show_bug.cgi?id=68970

Unreviewed test_expectations.txt update

* platform/chromium/test_expectations.txt:

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

12 years agoDFG JIT cannot compile op_new_object, op_new_array,
fpizlo@apple.com [Wed, 28 Sep 2011 05:33:21 +0000 (05:33 +0000)]
DFG JIT cannot compile op_new_object, op_new_array,
op_new_array_buffer, or op_new_regexp
https://bugs.webkit.org/show_bug.cgi?id=68580

Reviewed by Oliver Hunt.

This implements all four opcodes, but has op_new_regexp turns off
by default because it unveils some bad speculation logic when
compiling string-validate-input.

With op_new_regexp turned off, this is a 5% win on Kraken and a
0.7% speed-up on V8. Neutral on SunSpider.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGJITCodeGenerator.h:
(JSC::DFG::callOperation):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasConstantBuffer):
(JSC::DFG::Node::startConstant):
(JSC::DFG::Node::numConstants):
(JSC::DFG::Node::hasRegexpIndex):
(JSC::DFG::Node::regexpIndex):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitAllocateJSFinalObject):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::isKnownArray):

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

12 years agoUnreviewed. Fix a build error in WebKit EFL.
gyuyoung.kim@samsung.com [Wed, 28 Sep 2011 05:23:51 +0000 (05:23 +0000)]
Unreviewed. Fix a build error in WebKit EFL.

When web socket is disabled, there is a build break in WebKit EFL port.
Currently, web socket is enabled by default in build-webkit script.
Thus, the web socket is also enabled in EFL script of cmake build system for now.
Because, WebKit EFL developers can't work on latest WebKit trunk.

However, IMO, we should fix build errors when web socket is disabled.

* Source/cmake/OptionsEfl.cmake:

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

12 years agoSimplify ReplaceSelectionCommand::positionAtStartOfInsertedContent
rniwa@webkit.org [Wed, 28 Sep 2011 05:04:20 +0000 (05:04 +0000)]
Simplify ReplaceSelectionCommand::positionAtStartOfInsertedContent
https://bugs.webkit.org/show_bug.cgi?id=68939

Reviewed by Darin Adler.

Simplified ReplaceSelectionCommand::positionAtStartOfInsertedContent.

This change revealed a bug in removeUnrenderedTextNodesAtEnds that text nodes without any visible
text at ends are not removed when it has a render object. Fixed the bug by checking the length of
the rendered text. (Tested by editing/pasteboard/pasting-word-in-div-extra-line.html)

This further revealed that caretMaxRenderedOffset doesn't return an offset and caretMaxRenderedOffset
on InlineBox, InlineTextBox, RenderObject, RenderBR, RenderPlaced are never called. To address this
issue, renamed caretMaxRenderedOffset to renderedTextLength for RenderText and removed the rest.

* dom/Position.cpp:
(WebCore::Position::rendersInDifferentPosition):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::nodeHasVisibleRenderText): Added.
(WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Calls nodeHasVisibleRenderText.
(WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Simplified.
* editing/visible_units.cpp:
(WebCore::startOfParagraph): Calls renderedTextLength.
(WebCore::endOfParagraph): Ditto.
* rendering/InlineBox.cpp: Removed caretMaxRenderedOffset.
* rendering/InlineBox.h: Ditto.
* rendering/InlineTextBox.cpp: Ditto.
* rendering/InlineTextBox.h: Ditto.
* rendering/RenderBR.cpp: Ditto.
* rendering/RenderBR.h: Ditto.
* rendering/RenderObject.cpp: Ditto.
* rendering/RenderObject.h: Ditto.
* rendering/RenderReplaced.cpp: Ditto.
* rendering/RenderReplaced.h: Ditto.
* rendering/RenderText.cpp:
(WebCore::RenderText::renderedTextLength): Renamed from caretMaxRenderedOffset.
* rendering/RenderText.h:

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

12 years ago[chromium] LayerRenderChromium asserts about leaking textures.
commit-queue@webkit.org [Wed, 28 Sep 2011 04:56:31 +0000 (04:56 +0000)]
[chromium] LayerRenderChromium asserts about leaking textures.
https://bugs.webkit.org/show_bug.cgi?id=68190

Patch by James Robinson <jamesr@chromium.org> on 2011-09-27
Reviewed by Kenneth Russell.

This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
enum type, making it more testable.  It also allows us to track the allocations by subclassing TextureAllocator
to make sure we aren't leaking any textures.

* WebCore.gypi:
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::updateCompositorResources):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerTextureUpdater::updateTextureRect):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::updateCompositorResources):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::useRenderSurface):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
(WebCore::LayerRendererChromium::contentsTextureAllocator):
* platform/graphics/chromium/LayerTextureUpdater.h:
* platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
(WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
(WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
* platform/graphics/chromium/ManagedTexture.cpp:
(WebCore::ManagedTexture::bindTexture):
(WebCore::ManagedTexture::framebufferTexture2D):
* platform/graphics/chromium/ManagedTexture.h:
* platform/graphics/chromium/TextureManager.cpp:
(WebCore::TextureManager::memoryUseBytes):
(WebCore::TextureManager::deleteEvictedTextures):
(WebCore::TextureManager::evictAndDeleteAllTextures):
(WebCore::TextureManager::removeTexture):
(WebCore::TextureManager::allocateTexture):
(WebCore::TextureManager::requestTexture):
* platform/graphics/chromium/TextureManager.h:
(WebCore::TextureAllocator::~TextureAllocator):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateCompositorResources):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
(WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
(WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
(WebCore::TrackingTextureAllocator::createTexture):
(WebCore::TrackingTextureAllocator::deleteTexture):
* platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
(WebCore::TrackingTextureAllocator::create):
(WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateCompositorResources):
(WebCore::VideoLayerChromium::updateTexture):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::updateCompositorResources):
* platform/graphics/chromium/WebGLLayerChromium.h:
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::draw):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
(WebCore::CCLayerTreeHost::commitToOnCCThread):
(WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::drawSurface):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::setNeedsCommit):
(WebCore::CCSingleThreadProxy::stop):
(WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
(WebCore::CCSingleThreadProxy::commitIfNeeded):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::commitOnCCThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):

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

12 years ago[chromium] Only initiate the beginFrameAndCommit sequence if a commit has been requested
commit-queue@webkit.org [Wed, 28 Sep 2011 04:03:24 +0000 (04:03 +0000)]
[chromium] Only initiate the beginFrameAndCommit sequence if a commit has been requested
https://bugs.webkit.org/show_bug.cgi?id=68967

Patch by James Robinson <jamesr@chromium.org> on 2011-09-27
Reviewed by Kenneth Russell.

When updating the scheduler state, we should only initiate a new commit flow if a commit has been requested (as
opposed to only a redraw).

Covered by the unit test CCLayerTreeHostTestSetNeedsRedraw with USE(THREADED_COMPOSITING) set to true.

* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):

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

12 years agoDFG JIT should speculate more aggressively on reads of array.length
fpizlo@apple.com [Wed, 28 Sep 2011 03:39:36 +0000 (03:39 +0000)]
DFG JIT should speculate more aggressively on reads of array.length
https://bugs.webkit.org/show_bug.cgi?id=68932

Reviewed by Oliver Hunt.

This is a 2% speed-up on Kraken, neutral elsewhere.

* dfg/DFGNode.h:
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::performNodeCSE):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

12 years agogarden-o-matic should load faster and inform the user what is happening
abarth@webkit.org [Wed, 28 Sep 2011 03:37:23 +0000 (03:37 +0000)]
garden-o-matic should load faster and inform the user what is happening
https://bugs.webkit.org/show_bug.cgi?id=68954

Reviewed by Dimitri Glazkov.

This test disables the expected failures tab.  The web inspector showed
that loading the data for this tab was slowing down the loading time
for the whole app.  We need to find a way to load that data lazily.

This patch also improves the update message to better describe the
progress the app is making analyzing data from the buildbot.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js:

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

12 years agoAdd layout test for WaveShaperNode
crogers@google.com [Wed, 28 Sep 2011 02:58:50 +0000 (02:58 +0000)]
Add layout test for WaveShaperNode
https://bugs.webkit.org/show_bug.cgi?id=68925

Reviewed by Kenneth Russell.

* webaudio/waveshaper-expected.txt: Added.
* webaudio/waveshaper.html: Added.

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

12 years agogarden-o-matic should show the first result when examining results
abarth@webkit.org [Wed, 28 Sep 2011 02:48:41 +0000 (02:48 +0000)]
garden-o-matic should show the first result when examining results
https://bugs.webkit.org/show_bug.cgi?id=68960

Reviewed by Dimitri Glazkov.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:

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

12 years agoImplement a PageTransitionEvent constructor for V8
commit-queue@webkit.org [Wed, 28 Sep 2011 02:30:27 +0000 (02:30 +0000)]
Implement a PageTransitionEvent constructor for V8
https://bugs.webkit.org/show_bug.cgi?id=68067

Patch by Kentaro Hara <haraken@chromium.com> on 2011-09-27
Reviewed by Adam Barth.

Source/WebCore:

Test: fast/events/constructors/page-transition-event-constructor.html

* bindings/v8/custom/V8EventConstructors.cpp: Added the PageTransitionEvent constructor.
* dom/PageTransitionEvent.idl: Added a 'V8CustomConstructor' attribute.

LayoutTests:

Enabled page-transition-event-constructor.html, since now V8 has a PageTransitionEvent constructor.

* platform/chromium/test_expectations.txt:

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

12 years agoImplement a MessageEvent constructor for JSC
commit-queue@webkit.org [Wed, 28 Sep 2011 02:02:18 +0000 (02:02 +0000)]
Implement a MessageEvent constructor for JSC
https://bugs.webkit.org/show_bug.cgi?id=68883

Patch by Kentaro Hara <haraken@chromium.org> on 2011-09-27
Reviewed by Adam Barth.

Source/WebCore:

The spec for MessageEvent is here:
http://www.whatwg.org/specs/web-apps/current-work/#messageevent

Currently, some tests in fast/events/constructors/message-event-constructor.html
are failing or crashing in DRT, as we commented in the test file.
This is because MessageEvent.data is implemented as SerializedScriptValue,
and thus it cannot keep ScriptValue passed by JavaScript.
This is the same issue as the bug (https://bugs.webkit.org/show_bug.cgi?id=68345).
We will soon make a follow-up patch to fix these failures, after this
patch is landed.

Test: fast/events/constructors/message-event-constructor.html

* bindings/generic/EventConstructors.h: Added a definition for the MessageEvent constructor.
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue): Generates MessagePortArray from the list of message ports in the format of JSValues.
* bindings/js/JSDictionary.h:
* bindings/js/JSEventConstructors.cpp: Added #includes for MessageEvent.
* dom/MessageEvent.cpp:
(WebCore::MessageEventInit::MessageEventInit):
(WebCore::MessageEvent::MessageEvent):
(WebCore::MessageEvent::initMessageEvent):
* dom/MessageEvent.h: Added a definition for MessageEvent. Removed an extra leading spaces.
(WebCore::MessageEvent::create):
(WebCore::MessageEvent::origin):
(WebCore::MessageEvent::lastEventId):
(WebCore::MessageEvent::source):
(WebCore::MessageEvent::ports):
(WebCore::MessageEvent::dataType):
(WebCore::MessageEvent::dataAsSerializedScriptValue):
(WebCore::MessageEvent::dataAsString):
(WebCore::MessageEvent::dataAsBlob):
(WebCore::MessageEvent::dataAsArrayBuffer):
* dom/MessageEvent.idl: Makes MessageEvent constructible.

LayoutTests:

message-event-constructor.html checks the behavior of the MessageEvent constructor.

* fast/dom/constructed-objects-prototypes-expected.txt: Now window has MessageEvent.
* fast/events/constructors/message-event-constructor-expected.txt: Added.
* fast/events/constructors/message-event-constructor.html: Added.
* platform/chromium/test_expectations.txt: Skipped message-event-constructor.html, since V8 does not yet have the MessageEvent constructor.

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

12 years agoDFG JIT - merge changes between 95905 - 96175
barraclough@apple.com [Wed, 28 Sep 2011 01:52:21 +0000 (01:52 +0000)]
DFG JIT - merge changes between 95905 - 96175
https://bugs.webkit.org/show_bug.cgi?id=68963

Reviewed by Sam Weinig.

Merge missing changes from bug#68677, bug#68784, bug#68785.

* dfg/DFGJITCompiler32_64.cpp:
(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
(JSC::DFG::JITCompiler::compileEntry):
(JSC::DFG::JITCompiler::compileBody):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

12 years ago[Chromium/FileWriter] race condition in FileWriter completion can lead to assert
ericu@chromium.org [Wed, 28 Sep 2011 01:46:08 +0000 (01:46 +0000)]
[Chromium/FileWriter] race condition in FileWriter completion can lead to assert
https://bugs.webkit.org/show_bug.cgi?id=67684

Reviewed by David Levin.

Source/WebCore:

Tests: fast/filesystem/file-writer-abort-continue.html
       fast/filesystem/file-writer-abort.html

Track the state of the backend and be prepared for reentrant user
requests.  Limit recursion depth to an arbitrary small constant.
* fileapi/FileWriter.cpp: Lots of event-handling changes.
* fileapi/FileWriter.h:

LayoutTests:

* fast/filesystem/file-writer-abort-continue-expected.txt: Added.
* fast/filesystem/file-writer-abort-continue.html: Added.
* fast/filesystem/file-writer-abort-expected.txt: Added.
* fast/filesystem/file-writer-abort.html: Added.
* fast/filesystem/resources/file-writer-abort-continue.js: Added.
* fast/filesystem/resources/file-writer-abort.js: Added.
* fast/filesystem/resources/file-writer-events.js: Fixed a copy-paste error.

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

12 years agosvg/custom/oversized-pattern-scale.svg is useless because the interesting part of...
timothy_horton@apple.com [Wed, 28 Sep 2011 01:12:10 +0000 (01:12 +0000)]
svg/custom/oversized-pattern-scale.svg is useless because the interesting part of the test is off the screen
https://bugs.webkit.org/show_bug.cgi?id=68945

Reviewed by Darin Adler.

Change oversized-pattern-scale so that the interesting part of the pattern is on the screen,
and so that it doesn't draw a scrollbar (making it platform-independent).

Change transformed-pattern-clamp-svg-root so that it doesn't draw a gradient, making it platform-independent.

* svg/custom/oversized-pattern-scale-expected.png:
* svg/custom/oversized-pattern-scale-expected.txt:
* svg/custom/oversized-pattern-scale.svg:
* svg/custom/transformed-pattern-clamp-svg-root-expected.png:
* svg/custom/transformed-pattern-clamp-svg-root-expected.txt:
* svg/custom/transformed-pattern-clamp-svg-root.svg:

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

12 years agoGet JSVALUE32_64 DFG JIT building on OS X.
barraclough@apple.com [Wed, 28 Sep 2011 01:09:33 +0000 (01:09 +0000)]
Get JSVALUE32_64 DFG JIT building on OS X.
https://bugs.webkit.org/show_bug.cgi?id=68961

Reviewed by Geoff Garen.

* Merge bug #68763 (DFG JIT should not eagerly initialize integer tags in the register file).
* Forward-declare functions in DFGOperations.cpp
* UNUSED_PARAM for unused arguments
* NO_RETURN for unimplemented function that ASSERT_NOT_REACHED
* Fix argument types handled by OpInfo constructor.
* Use SYMBOL_STRING instead of STRINGIZE for asm symbols.
* Add files to Xcode project.

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

12 years agohttp/tests/navigation/anchor-basic.html is flaky on Snow Leopard Release Bot
tony@chromium.org [Wed, 28 Sep 2011 01:01:59 +0000 (01:01 +0000)]
http/tests/navigation/anchor-basic.html is flaky on Snow Leopard Release Bot
https://bugs.webkit.org/show_bug.cgi?id=34222

Reviewed by Ryosuke Niwa.

Add waitUntilDone/notifyDone to eliminate flakiness on mac. Without it, the img onload handler
doesn't always run. Also reduce the multipart timeout (should help to unblock other http requests).

* http/tests/multipart/stop-crash-expected.txt:
* http/tests/multipart/stop-crash.html:

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

12 years agoUnreviewed, rolling out r96141.
mihaip@chromium.org [Wed, 28 Sep 2011 00:25:01 +0000 (00:25 +0000)]
Unreviewed, rolling out r96141.
http://trac.webkit.org/changeset/96141
https://bugs.webkit.org/show_bug.cgi?id=68190

Breaks PrerenderBrowserTest.PrerenderHTML5Video in
browser_tests

* WebCore.gypi:
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::updateCompositorResources):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerTextureUpdater::updateTextureRect):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::updateCompositorResources):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::createLayerTexture):
(WebCore::LayerRendererChromium::deleteLayerTexture):
(WebCore::LayerRendererChromium::useRenderSurface):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
* platform/graphics/chromium/LayerTextureUpdater.h:
* platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
(WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
(WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
* platform/graphics/chromium/ManagedTexture.cpp:
(WebCore::ManagedTexture::bindTexture):
(WebCore::ManagedTexture::framebufferTexture2D):
* platform/graphics/chromium/ManagedTexture.h:
* platform/graphics/chromium/TextureManager.cpp:
(WebCore::memoryUseBytes):
(WebCore::TextureManager::deleteEvictedTextures):
(WebCore::TextureManager::evictAndDeleteAllTextures):
(WebCore::TextureManager::removeTexture):
(WebCore::TextureManager::allocateTexture):
(WebCore::TextureManager::requestTexture):
* platform/graphics/chromium/TextureManager.h:
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateCompositorResources):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/TrackingTextureAllocator.cpp: Removed.
* platform/graphics/chromium/TrackingTextureAllocator.h: Removed.
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateCompositorResources):
(WebCore::VideoLayerChromium::updateTexture):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::updateCompositorResources):
* platform/graphics/chromium/WebGLLayerChromium.h:
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::draw):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::deleteContentsTextures):
(WebCore::CCLayerTreeHost::commitTo):
(WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp.rej: Removed.
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::drawSurface):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::setNeedsCommit):
(WebCore::CCSingleThreadProxy::stop):
(WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
(WebCore::CCSingleThreadProxy::commitIfNeeded):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::commitOnCCThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):

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

12 years ago[chromium] Guard accelerated skia drawing logic with its own define to remove depende...
jamesr@google.com [Tue, 27 Sep 2011 23:51:09 +0000 (23:51 +0000)]
[chromium] Guard accelerated skia drawing logic with its own define to remove dependency on USE(THREADED_COMPOSITING)
https://bugs.webkit.org/show_bug.cgi?id=68953

Reviewed by Kenneth Russell.

The accelerated drawing code is incompatible with threaded compositing. Rather than tying the two behaviors
together via USE(THREADED_COMPOSITING), this patch guards the accelerated drawing code with its own USE() guard
so the features can advance independently. Today, it's not safe to set both of these flags.

* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::createTextureUpdater):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
* platform/graphics/chromium/LayerTextureUpdaterCanvas.h:

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

12 years agoBug fixes for GetById, PutById, and GetByOffset in JSVALUE32_64 DFG JIT
barraclough@apple.com [Tue, 27 Sep 2011 23:48:49 +0000 (23:48 +0000)]
Bug fixes for GetById, PutById, and GetByOffset in JSVALUE32_64 DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=68755

Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-27
Reviewed by Gavin Barraclough.

We need to load/store and repatch both tag and payload of a property
for GetById/PutById. Also reorder the loads of tag and payload for
GetByOffset as the result tag GPR could reuse the storage GPR.

* bytecode/StructureStubInfo.h:
* dfg/DFGJITCodeGenerator32_64.cpp:
(JSC::DFG::JITCodeGenerator::cachedGetById):
(JSC::DFG::JITCodeGenerator::cachedPutById):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addPropertyAccess):
(JSC::DFG::JITCompiler::PropertyAccessRecord::PropertyAccessRecord):
* dfg/DFGJITCompiler32_64.cpp:
(JSC::DFG::JITCompiler::link):
* dfg/DFGRepatch.cpp:
(JSC::DFG::dfgRepatchByIdSelfAccess):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

12 years agowatchlist: Add support for cc and message rules.
levin@chromium.org [Tue, 27 Sep 2011 23:42:12 +0000 (23:42 +0000)]
watchlist: Add support for cc and message rules.
https://bugs.webkit.org/show_bug.cgi?id=68950

Reviewed by Adam Barth.

* Scripts/webkitpy/common/watchlist/watchlist.py: Added support to get
the cc's and messages for a patch.
* Scripts/webkitpy/common/watchlist/watchlist_unittest.py: Tests for the above.
* Scripts/webkitpy/common/watchlist/watchlistparser.py: Parsing support
for the rules.
* Scripts/webkitpy/common/watchlist/watchlistrule.py: Copied from Tools/Scripts/webkitpy/common/watchlist/watchlist.py.
A generic encapsulation of either a message list or a cc list.
* Scripts/webkitpy/common/watchlist/watchlistrule_unittest.py: Copied from Tools/Scripts/webkitpy/common/watchlist/watchlist.py.

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

12 years agoMacro assembler branch8 & 16 methods vary in treatment of upper bits
barraclough@apple.com [Tue, 27 Sep 2011 23:32:23 +0000 (23:32 +0000)]
Macro assembler branch8 & 16 methods vary in treatment of upper bits
https://bugs.webkit.org/show_bug.cgi?id=68301

Reviewed by Sam Weinig.

Fix for branch16 - remove it!
No performance impact.

* assembler/MacroAssembler.h:
* assembler/MacroAssemblerARM.h:
* assembler/MacroAssemblerARMv7.h:
* assembler/MacroAssemblerMIPS.h:
* assembler/MacroAssemblerSH4.h:
* assembler/MacroAssemblerX86Common.h:
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::jumpIfCharNotEquals):
(JSC::Yarr::YarrGenerator::generatePatternCharacterOnce):
(JSC::Yarr::YarrGenerator::generatePatternCharacterFixed):
(JSC::Yarr::YarrGenerator::generatePatternCharacterGreedy):
(JSC::Yarr::YarrGenerator::backtrackPatternCharacterNonGreedy):

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

12 years agoSlightly improve performance of CSSStyleApplyProperty handler lookup.
macpherson@chromium.org [Tue, 27 Sep 2011 23:24:53 +0000 (23:24 +0000)]
Slightly improve performance of CSSStyleApplyProperty handler lookup.
https://bugs.webkit.org/show_bug.cgi?id=68868

Reviewed by Eric Seidel.

No new tests as no functionality changed.

* css/CSSStyleApplyProperty.h:
(WebCore::CSSStyleApplyProperty::propertyHandler):
Make propertyHandler() public and remove redirecting functions.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
Perform property handler lookup once and reuse the result.

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

12 years agoChromium baselines for fast/multicol/float-paginate-empty-lines.html
mihaip@chromium.org [Tue, 27 Sep 2011 23:11:49 +0000 (23:11 +0000)]
Chromium baselines for fast/multicol/float-paginate-empty-lines.html
after r96149 and 96162.

* platform/chromium-linux/fast/multicol/float-paginate-empty-lines-expected.png: Added.
* platform/chromium-mac/fast/multicol/float-paginate-empty-lines-expected.png: Added.
* platform/chromium-win/fast/multicol/float-paginate-empty-lines-expected.png: Added.
* platform/chromium-win/fast/multicol/float-paginate-empty-lines-expected.txt: Added.

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

12 years ago[V8] element.dataset.nonExistingKey should return undefined.
tkent@chromium.org [Tue, 27 Sep 2011 23:05:01 +0000 (23:05 +0000)]
[V8] element.dataset.nonExistingKey should return undefined.
https://bugs.webkit.org/show_bug.cgi?id=68877

Reviewed by Nate Chapin.

Source/WebCore:

* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::V8DOMStringMap::namedPropertyGetter): Uses v8StringOrUndefined() instead of v8String().

LayoutTests:

* fast/dom/dataset-expected.txt: Updated.
* fast/dom/script-tests/dataset.js: Add a test case.

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

12 years agoChromium rebaseline after r96155.
mihaip@chromium.org [Tue, 27 Sep 2011 22:53:56 +0000 (22:53 +0000)]
Chromium rebaseline after r96155.

* platform/chromium-cg-mac/svg/custom/pattern-excessive-malloc-expected.png: Added.
* platform/chromium-linux/svg/custom/oversized-pattern-scale-expected.png: Added.
* platform/chromium-mac/svg/custom/transformed-pattern-clamp-svg-root-expected.png: Added.
* platform/chromium-win/svg/custom/oversized-pattern-scale-expected.png: Added.
* platform/chromium-win/svg/custom/pattern-excessive-malloc-expected.png:
* platform/chromium-win/svg/custom/transformed-pattern-clamp-svg-root-expected.png: Added.
* platform/chromium/svg/custom/oversized-pattern-scale-expected.png: Added.
* platform/mac/svg/custom/pattern-excessive-malloc-expected.txt: Removed.
* platform/qt/svg/custom/pattern-excessive-malloc-expected.txt: Removed.

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

12 years agoSource/JavaScriptCore: Add static version of JSCell::getCallData
mhahnenberg@apple.com [Tue, 27 Sep 2011 22:46:51 +0000 (22:46 +0000)]
Source/JavaScriptCore: Add static version of JSCell::getCallData
https://bugs.webkit.org/show_bug.cgi?id=68741

Reviewed by Darin Adler.

In this patch we just extract the bodies of the virtual getCallData methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods.  This is an intermediate step in trying to
move the virtual-ness of getCallData into our own method table stored in
ClassInfo.  We need to convert the methods to static methods because static methods
can be represented as function pointers rather than pointers to member functions, and
function pointers are smaller and faster to call than pointers to member functions.

* API/JSCallbackFunction.cpp:
(JSC::JSCallbackFunction::getCallDataVirtual):
(JSC::JSCallbackFunction::getCallData):
* API/JSCallbackFunction.h:
* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
(JSC::::getCallDataVirtual):
(JSC::::getCallData):
* API/JSObjectRef.cpp:
(JSObjectIsFunction):
(JSObjectCallAsFunction):
* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* runtime/ArrayConstructor.cpp:
(JSC::ArrayConstructor::getCallDataVirtual):
(JSC::ArrayConstructor::getCallData):
* runtime/ArrayConstructor.h:
* runtime/BooleanConstructor.cpp:
(JSC::BooleanConstructor::getCallDataVirtual):
(JSC::BooleanConstructor::getCallData):
* runtime/BooleanConstructor.h:
* runtime/DateConstructor.cpp:
(JSC::DateConstructor::getCallDataVirtual):
(JSC::DateConstructor::getCallData):
* runtime/DateConstructor.h:
* runtime/Error.cpp:
(JSC::StrictModeTypeErrorFunction::getCallDataVirtual):
(JSC::StrictModeTypeErrorFunction::getCallData):
* runtime/ErrorConstructor.cpp:
(JSC::ErrorConstructor::getCallDataVirtual):
(JSC::ErrorConstructor::getCallData):
* runtime/ErrorConstructor.h:
* runtime/FunctionConstructor.cpp:
(JSC::FunctionConstructor::getCallDataVirtual):
(JSC::FunctionConstructor::getCallData):
* runtime/FunctionConstructor.h:
* runtime/FunctionPrototype.cpp:
(JSC::FunctionPrototype::getCallDataVirtual):
(JSC::FunctionPrototype::getCallData):
* runtime/FunctionPrototype.h:
* runtime/InternalFunction.h:
* runtime/JSCell.cpp:
(JSC::JSCell::getCallDataVirtual):
(JSC::JSCell::getCallData):
* runtime/JSCell.h:
(JSC::getCallData):
* runtime/JSFunction.cpp:
(JSC::JSFunction::getCallDataVirtual):
(JSC::JSFunction::getCallData):
* runtime/JSFunction.h:
* runtime/JSONObject.cpp:
(JSC::Stringifier::Stringifier):
(JSC::Stringifier::toJSON):
(JSC::Stringifier::appendStringifiedValue):
* runtime/JSObject.cpp:
(JSC::JSObject::put):
* runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor::getCallDataVirtual):
(JSC::NativeErrorConstructor::getCallData):
* runtime/NativeErrorConstructor.h:
* runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::getCallDataVirtual):
(JSC::NumberConstructor::getCallData):
* runtime/NumberConstructor.h:
* runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::getCallDataVirtual):
(JSC::ObjectConstructor::getCallData):
* runtime/ObjectConstructor.h:
* runtime/Operations.cpp:
(JSC::jsTypeStringForValue):
(JSC::jsIsObjectType):
(JSC::jsIsFunctionType):
* runtime/PropertySlot.cpp:
(JSC::PropertySlot::functionGetter):
* runtime/RegExpConstructor.cpp:
(JSC::RegExpConstructor::getCallDataVirtual):
(JSC::RegExpConstructor::getCallData):
* runtime/RegExpConstructor.h:
* runtime/StringConstructor.cpp:
(JSC::StringConstructor::getCallDataVirtual):
(JSC::StringConstructor::getCallData):
* runtime/StringConstructor.h:

Source/JavaScriptGlue: Add static version of JSCell::getCallData
https://bugs.webkit.org/show_bug.cgi?id=68741

Reviewed by Darin Adler.

In this patch we just extract the bodies of the virtual getCallData methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods.  This is an intermediate step in trying to
move the virtual-ness of getCallData into our own method table stored in
ClassInfo.  We need to convert the methods to static methods because static methods
can be represented as function pointers rather than pointers to member functions, and
function pointers are smaller and faster to call than pointers to member functions.

* JSValueWrapper.cpp:
(JSValueWrapper::JSObjectCallFunction):
* UserObjectImp.cpp:
(UserObjectImp::getCallDataVirtual):
(UserObjectImp::getCallData):
* UserObjectImp.h:

Source/WebCore: Add static version of JSCell::visitChildren
https://bugs.webkit.org/show_bug.cgi?id=68404

Reviewed by Darin Adler.

No new tests.

In this patch we just extract the bodies of the virtual visitChildren methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods.  This is an intermediate step in trying to
move the virtual-ness of visitChildren into our own custom vtable stored in
ClassInfo.  We need to convert the methods to static methods in order to be
able to more easily store and refer to them in our custom vtable since normal
member methods store some implicit information in their types, making it
impossible to store them generically in ClassInfo.

* WebCore.exp.in:
* bindings/js/JSAttrCustom.cpp:
(WebCore::JSAttr::visitChildrenVirtual):
(WebCore::JSAttr::visitChildren):
* bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContext::visitChildrenVirtual):
(WebCore::JSAudioContext::visitChildren):
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::JSCSSRule::visitChildrenVirtual):
(WebCore::JSCSSRule::visitChildren):
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
(WebCore::JSCSSStyleDeclaration::visitChildren):
* bindings/js/JSCanvasRenderingContextCustom.cpp:
(WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
(WebCore::JSCanvasRenderingContext::visitChildren):
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::visitChildrenVirtual):
(WebCore::JSDOMGlobalObject::visitChildren):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::visitChildrenVirtual):
(WebCore::JSDOMWindow::visitChildren):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::visitChildrenVirtual):
(WebCore::JSDOMWindowShell::visitChildren):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSJavaScriptAudioNodeCustom.cpp:
(WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
(WebCore::JSJavaScriptAudioNode::visitChildren):
* bindings/js/JSMessageChannelCustom.cpp:
(WebCore::JSMessageChannel::visitChildrenVirtual):
(WebCore::JSMessageChannel::visitChildren):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::visitChildrenVirtual):
(WebCore::JSMessagePort::visitChildren):
* bindings/js/JSNamedNodeMapCustom.cpp:
(WebCore::JSNamedNodeMap::visitChildrenVirtual):
(WebCore::JSNamedNodeMap::visitChildren):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::visitChildrenVirtual):
(WebCore::JSNode::visitChildren):
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::visitChildrenVirtual):
(WebCore::JSNodeFilter::visitChildren):
* bindings/js/JSNodeIteratorCustom.cpp:
(WebCore::JSNodeIterator::visitChildrenVirtual):
(WebCore::JSNodeIterator::visitChildren):
* bindings/js/JSSVGElementInstanceCustom.cpp:
(WebCore::JSSVGElementInstance::visitChildrenVirtual):
(WebCore::JSSVGElementInstance::visitChildren):
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorker::visitChildrenVirtual):
(WebCore::JSSharedWorker::visitChildren):
* bindings/js/JSStyleSheetCustom.cpp:
(WebCore::JSStyleSheet::visitChildrenVirtual):
(WebCore::JSStyleSheet::visitChildren):
* bindings/js/JSTreeWalkerCustom.cpp:
(WebCore::JSTreeWalker::visitChildrenVirtual):
(WebCore::JSTreeWalker::visitChildren):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
(WebCore::JSWebGLRenderingContext::visitChildren):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::visitChildrenVirtual):
(WebCore::JSWorkerContext::visitChildren):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::visitChildrenVirtual):
(WebCore::JSXMLHttpRequest::visitChildren):
* bindings/js/JSXPathResultCustom.cpp:
(WebCore::JSXPathResult::visitChildrenVirtual):
(WebCore::JSXPathResult::visitChildren):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::visitChildrenVirtual):
(WebCore::JSTestObj::visitChildren):
* bindings/scripts/test/JS/JSTestObj.h:
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
(JSC::Bindings::QtRuntimeObject::visitChildren):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
(JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
* bridge/qt/qt_runtime.h:
* workers/WorkerContext.h:

Source/WebKit/mac: Add static version of JSCell::getCallData
https://bugs.webkit.org/show_bug.cgi?id=68741

Reviewed by Darin Adler.

In this patch we just extract the bodies of the virtual getCallData methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods.  This is an intermediate step in trying to
move the virtual-ness of getCallData into our own method table stored in
ClassInfo.  We need to convert the methods to static methods because static methods
can be represented as function pointers rather than pointers to member functions, and
function pointers are smaller and faster to call than pointers to member functions.

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::invokeDefault):

Source/WebKit2: Add static version of JSCell::getCallData
https://bugs.webkit.org/show_bug.cgi?id=68741

Reviewed by Darin Adler.

In this patch we just extract the bodies of the virtual getCallData methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods.  This is an intermediate step in trying to
move the virtual-ness of getCallData into our own method table stored in
ClassInfo.  We need to convert the methods to static methods because static methods
can be represented as function pointers rather than pointers to member functions, and
function pointers are smaller and faster to call than pointers to member functions.

* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
(WebKit::JSNPMethod::getCallDataVirtual):
(WebKit::JSNPMethod::getCallData):
* WebProcess/Plugins/Netscape/JSNPMethod.h:
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::getCallDataVirtual):
(WebKit::JSNPObject::getCallData):
* WebProcess/Plugins/Netscape/JSNPObject.h:

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

12 years agoUnreviewed. Remove duplicate FilterOperation{s}.h that were
dino@apple.com [Tue, 27 Sep 2011 22:43:27 +0000 (22:43 +0000)]
Unreviewed. Remove duplicate FilterOperation{s}.h that were
accidentally added to the top level of the Xcode project.

* WebCore.xcodeproj/project.pbxproj:

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=68940
hyatt@apple.com [Tue, 27 Sep 2011 22:11:41 +0000 (22:11 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=68940

Narrow the float/lines pagination heuristic to only kick in if
the previous line broke cleanly and if the floats are occurring
at the start of the line.

Reviewed by Dan Bernstein.

Source/WebCore:

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::positionNewFloatOnLine):

LayoutTests:

* fast/regions/webkit-flow-float-pushed-to-last-region.html:
* platform/mac/fast/multicol/float-paginate-empty-lines-expected.txt: Added.
* platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt:

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

12 years agowebkit-patch doesn't like UTF-8 characters in reviewers names
commit-queue@webkit.org [Tue, 27 Sep 2011 22:04:21 +0000 (22:04 +0000)]
webkit-patch doesn't like UTF-8 characters in reviewers names
https://bugs.webkit.org/show_bug.cgi?id=63452

Patch by Tom Zakrajsek <tomz@codeaurora.org> on 2011-09-27
Reviewed by Eric Seidel.

* Scripts/webkit-patch:

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

12 years agoAdd a mechanism to test for the compositing tree mutated during painting
commit-queue@webkit.org [Tue, 27 Sep 2011 21:47:30 +0000 (21:47 +0000)]
Add a mechanism to test for the compositing tree mutated during painting
https://bugs.webkit.org/show_bug.cgi?id=68738

Patch by James Robinson <jamesr@chromium.org> on 2011-09-27
Reviewed by Adam Barth.

Source/WebCore:

Sets a static bool during GraphicsLayer::paintGraphicsLayerContents and ASSERT()s that we never create or
destroy a GraphicsLayer inside this function. Painting should never mutate the GraphicsLayer tree.

Test: compositing/video/video-with-invalid-source.html

* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer):
(WebCore::GraphicsLayer::~GraphicsLayer):
(WebCore::GraphicsLayer::paintGraphicsLayerContents):

LayoutTests:

Adds a test that caused compositing to be disabled during painting before r95863 due to a video load failing.

* compositing/video/video-with-invalid-source-expected.txt: Added.
* compositing/video/video-with-invalid-source.html: Added.

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

12 years agotake padding/border on flexbox into account with direction:rtl
ojan@chromium.org [Tue, 27 Sep 2011 21:45:54 +0000 (21:45 +0000)]
take padding/border on flexbox into account with direction:rtl
https://bugs.webkit.org/show_bug.cgi?id=68846

Reviewed by David Hyatt.

Source/WebCore:

Use the logicalWidth of the flexbox instead of it's availableLogicalWidth
so that we include the flexbox's border and padding.

Also, change all uses of availableLogicalWidth to contentLogicalWidth.
The former takes multi-column into account. Multi-column flexboxes don't
make any sense, so there's no point in calling availableLogicalWidth.

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::flowAwareLogicalWidth):
(WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
(WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
(WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
* rendering/RenderFlexibleBox.h:

LayoutTests:

* css3/flexbox/writing-modes-expected.txt:
* css3/flexbox/writing-modes.html:

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

12 years agoChromium test expectations update.
mihaip@chromium.org [Tue, 27 Sep 2011 21:25:17 +0000 (21:25 +0000)]
Chromium test expectations update.

Make new fast/canvas/canvas-composite.html GPU expectation more specific,
since on Leopard it was conflicting with an older one.

* platform/chromium/test_expectations.txt:

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

12 years agoUnreviewed, rolling out r96139.
commit-queue@webkit.org [Tue, 27 Sep 2011 21:19:16 +0000 (21:19 +0000)]
Unreviewed, rolling out r96139.
http://trac.webkit.org/changeset/96139
https://bugs.webkit.org/show_bug.cgi?id=68933

Broke table-percent-height.html on Mac bots (Requested by
mwenge2 on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-27

Source/WebCore:

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
* rendering/RenderBox.h:

LayoutTests:

* fast/replaced/table-percent-width-expected.txt: Removed.
* fast/replaced/table-percent-width.html: Removed.

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

12 years agoneed to rebseline these once new aa-gdi-text code lands in skia
reed@google.com [Tue, 27 Sep 2011 21:12:28 +0000 (21:12 +0000)]
need to rebseline these once new aa-gdi-text code lands in skia
https://bugs.webkit.org/show_bug.cgi?id=68920

Reviewed by Kenneth Russell.

* platform/chromium/test_expectations.txt:

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

12 years agoREGRESSION(65665): Pattern size being clamped to SVG size can prevent transformed...
timothy_horton@apple.com [Tue, 27 Sep 2011 21:06:17 +0000 (21:06 +0000)]
REGRESSION(65665): Pattern size being clamped to SVG size can prevent transformed elements from being fully covered by userSpaceOnUse patterns
https://bugs.webkit.org/show_bug.cgi?id=67700
<rdar://problem/10125102>

Reviewed by Darin Adler.

Clamp all resources to the same size, 4096x4096 (arbitrarily chosen), instead of to the size
of the <svg> element. This fixes the case where a transformed element displays part of a resource
outside of the size of the <svg> element.

When drawing an oversized pattern into its tile image, scale the content down to fit. When drawing
the tile image to the screen, scale it back up to fit the expected area. This will cause pixelation
when patterns are over the 4k limit.

Tests: svg/custom/transformed-pattern-clamp-svg-root.svg, svg/custom/oversized-pattern-scale.svg

* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):
* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource):
(WebCore::RenderSVGResourcePattern::createTileImage):
* rendering/svg/RenderSVGResourcePattern.h:
* rendering/svg/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
* rendering/svg/SVGImageBufferTools.h:

pattern-excessive-malloc is so excessive that it runs into the floating point precision barrier
when determining the scale to draw the pattern at; drop the size two orders of magnitude, which is
still very excessive but easier to draw with.

Add a test (transformed-pattern-clamp-svg-root.svg) that ensures that patterns on transformed
elements are displayed correctly, instead of being clamped to the size of the <svg> element.

Add a test (oversized-pattern-scale.svg) that ensures that oversized patterns are correctly drawn
into the pattern tile scaled down and then are scaled back up when drawn to the screen.

* platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/mac/svg/custom/pattern-excessive-malloc-expected.txt:
* platform/qt/svg/custom/pattern-excessive-malloc-expected.txt:
* svg/custom/pattern-excessive-malloc-expected.txt:
* svg/custom/pattern-excessive-malloc.svg:
* svg/custom/oversized-pattern-scale-expected.png: Added.
* svg/custom/oversized-pattern-scale-expected.txt: Added.
* svg/custom/oversized-pattern-scale.svg: Added.
* svg/custom/transformed-pattern-clamp-svg-root.svg: Added.
* svg/custom/transformed-pattern-clamp-svg-root-expected.png: Added.
* svg/custom/transformed-pattern-clamp-svg-root-expected.txt: Added.

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

12 years ago<rdar://problem/10098679> Assertion failure in RenderLayer::paintPaginatedChildLayer()
mitz@apple.com [Tue, 27 Sep 2011 21:04:04 +0000 (21:04 +0000)]
<rdar://problem/10098679> Assertion failure in RenderLayer::paintPaginatedChildLayer()

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/dynamic/layer-no-longer-paginated.html

FrameView::layout() calls adjustViewSize() before calling RenderLayer::updateLayerPositions().
The former may trigger painting with a layer tree that is not entirely up-to-date. Specifically,
the isPaginated() state of a layer may be incorrect, leading to the assertion in this bug. Instead
of asserting, return early and count on the upcoming updateLayerPositions() to repaint as needed.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintPaginatedChildLayer): Replaced the assertion with an early return.

LayoutTests:

* fast/dynamic/layer-no-longer-paginated-expected.txt: Added.
* fast/dynamic/layer-no-longer-paginated.html: Added.

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

12 years agogarden-o-matic examine buttons shows both expected and unexpected failures
abarth@webkit.org [Tue, 27 Sep 2011 21:02:34 +0000 (21:02 +0000)]
garden-o-matic examine buttons shows both expected and unexpected failures
https://bugs.webkit.org/show_bug.cgi?id=68918

Reviewed by Dimitri Glazkov.

This was a copy/paste error when I refactored this classes to share
more code.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:

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

12 years agooffsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing...
ojan@chromium.org [Tue, 27 Sep 2011 20:55:00 +0000 (20:55 +0000)]
offsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing modes
https://bugs.webkit.org/show_bug.cgi?id=68304

Reviewed by David Hyatt.

Source/WebCore:

When grabbing the x/y values of the RenderBox, we need to take writing mode
flipping into account.

Test: fast/dom/offset-position-writing-modes.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::locationIncludingFlipping):
* rendering/RenderBox.h:
(WebCore::RenderBox::yFlippedForWritingMode):
(WebCore::RenderBox::xFlippedForWritingMode):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::offsetLeft):
(WebCore::RenderBoxModelObject::offsetTop):

LayoutTests:

* css3/flexbox/writing-modes-expected.txt:
* css3/flexbox/writing-modes.html:
* fast/dom/offset-position-writing-modes-expected.txt: Added.
* fast/dom/offset-position-writing-modes.html: Added.

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

12 years agoRapidly refreshing a feMorphology[erode] with r=0 can sometimes cause display corruption
timothy_horton@apple.com [Tue, 27 Sep 2011 20:54:16 +0000 (20:54 +0000)]
Rapidly refreshing a feMorphology[erode] with r=0 can sometimes cause display corruption
https://bugs.webkit.org/show_bug.cgi?id=68816
<rdar://problem/10186468>

Reviewed by Simon Fraser.

If a filter returns without writing into its result buffer, make sure to return an cleared buffer.

Test: svg/filters/feMorphology-zero-radius.svg

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

12 years agoCompositeEditCommand::prune should remove subtree at once
rniwa@webkit.org [Tue, 27 Sep 2011 20:51:24 +0000 (20:51 +0000)]
CompositeEditCommand::prune should remove subtree at once
https://bugs.webkit.org/show_bug.cgi?id=68866

Reviewed by Darin Adler.

Extracted the logic to find the highest ancestor to remove as highestNodeToRemoveInPruning from prune.
This reduces the number of node removals from O(n) to O(1) where n is the depth of the tree.

* editing/CompositeEditCommand.cpp:
(WebCore::hasARenderedDescendant): Takes excludedNode in addition to node. excludedNode is used to ignore
the child node from which we climbed up the tree in highestNodeToRemoveInPruning.
(WebCore::highestNodeToRemoveInPruning): Extracted from prune.
(WebCore::CompositeEditCommand::prune):
(WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=68922
hyatt@apple.com [Tue, 27 Sep 2011 20:39:57 +0000 (20:39 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=68922

Source/WebCore:

Paginated floats should not grow the height of a block when they don't end
up being tied to a line. Floats encountered in skipLeadingWhitespace that
paginate can't immediately grow the height of the block, since there may not
end up being any actual line content. We only want to push the height of the
block down if we have actual line content that we want to keep with the
float.

Make positionNewFloatOnLine check if the line is empty or not, and if it is,
it just puts the desired pagination strut into LineInfo. If and when actual
line content is encountered and setEmpty becomes false, we'll grow the block
height then.

Reviewed by Dan Bernstein.

Added fast/multicol/float-paginate-empty-lines.html and
fast/regions/webkit-flow-double-pagination-float-push.html.

* rendering/RenderBlock.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineWidth::LineWidth):
(WebCore::LineWidth::fitsOnLine):
(WebCore::LineWidth::currentWidth):
(WebCore::LineWidth::uncommittedWidth):
(WebCore::LineWidth::committedWidth):
(WebCore::LineWidth::availableWidth):
(WebCore::LineWidth::addUncommittedWidth):
(WebCore::LineWidth::commit):
(WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
(WebCore::LineWidth::updateAvailableWidth):
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
(WebCore::LineWidth::applyOverhang):
(WebCore::LineWidth::fitBelowFloats):
(WebCore::LineInfo::LineInfo):
(WebCore::LineInfo::floatPaginationStrut):
(WebCore::LineInfo::setEmpty):
(WebCore::LineInfo::setFloatPaginationStrut):
(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):
(WebCore::RenderBlock::positionNewFloatOnLine):

LayoutTests:

Paginated floats should not grow the height of a block when they don't end
up being tied to a line.

Reviewed by Dan Bernstein.

* fast/multicol/float-paginate-empty-lines.html: Added.
* fast/regions/webkit-flow-double-pagination-float-push.html: Added.
* platform/mac/fast/multicol/float-paginate-empty-lines-expected.png: Added.
* platform/mac/fast/regions/webkit-flow-double-pagination-float-push-expected.png: Added.
* platform/mac/fast/regions/webkit-flow-double-pagination-float-push-expected.txt: Added.

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

12 years agoAdd Kaustubh Atrawalkar to the list of contributors.
rniwa@webkit.org [Tue, 27 Sep 2011 20:29:38 +0000 (20:29 +0000)]
Add Kaustubh Atrawalkar to the list of contributors.

* Scripts/webkitpy/common/config/committers.py:

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

12 years ago[Chromium] Fixed layout mode tests break subsequent tests
mihaip@chromium.org [Tue, 27 Sep 2011 20:24:15 +0000 (20:24 +0000)]
[Chromium] Fixed layout mode tests break subsequent tests
https://bugs.webkit.org/show_bug.cgi?id=68923

Reviewed by Adam Barth.

Reset fixed layout mode between tests, so that tests that run after
platform/chromium/fast/repaint/fixed-layout-360x240.html still have the
regular 800x600 non-fixed layout.

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::resetTestController):

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

12 years agoUnreviewed, rolling out r96131.
commit-queue@webkit.org [Tue, 27 Sep 2011 20:16:37 +0000 (20:16 +0000)]
Unreviewed, rolling out r96131.
http://trac.webkit.org/changeset/96131
https://bugs.webkit.org/show_bug.cgi?id=68927

It made 18+ tests crash on all platform (Requested by
Ossy_night on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-27

Source/JavaScriptCore:

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::throwException):
* interpreter/Interpreter.h:
* jsc.cpp:
(GlobalObject::finishCreation):
* parser/Parser.h:
(JSC::Parser::parse):
* runtime/CommonIdentifiers.h:
* runtime/Error.cpp:
(JSC::addErrorInfo):
* runtime/Error.h:

LayoutTests:

* fast/js/exception-properties-expected.txt:
* fast/js/script-tests/exception-properties.js:
* fast/js/script-tests/stack-trace.js: Removed.
* fast/js/stack-trace-expected.txt: Removed.
* fast/js/stack-trace.html: Removed.
* platform/chromium/test_expectations.txt:

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

12 years ago[Qt] QDesktopWebView load zero size view test missing
commit-queue@webkit.org [Tue, 27 Sep 2011 20:05:27 +0000 (20:05 +0000)]
[Qt] QDesktopWebView load zero size view test missing
https://bugs.webkit.org/show_bug.cgi?id=68655

Patch by Gopal Raghavan <gopal.1.raghavan@nokia.com> on 2011-09-27
Reviewed by Chang Shu.

Added test case to check load behavior with zero size view.

* UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Added.
* UIProcess/API/qt/tests/qmltests/qmltests.pro:

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

12 years agowatchlist: Add the filename pattern for definitions.
levin@chromium.org [Tue, 27 Sep 2011 19:55:27 +0000 (19:55 +0000)]
watchlist: Add the filename pattern for definitions.
https://bugs.webkit.org/show_bug.cgi?id=68917

Reviewed by Adam Barth.

* Scripts/webkitpy/common/watchlist/filenamepattern.py: Added.
* Scripts/webkitpy/common/watchlist/filenamepattern_unittest.py: Added.
* Scripts/webkitpy/common/watchlist/watchlist.py: Added the filename pattern
for definitions.
* Scripts/webkitpy/common/watchlist/watchlist_unittest.py: Added tests.
* Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py: Typo fix.

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

12 years agoDe-virtualize JSCell::getPrimitiveNumber
mhahnenberg@apple.com [Tue, 27 Sep 2011 19:53:49 +0000 (19:53 +0000)]
De-virtualize JSCell::getPrimitiveNumber
https://bugs.webkit.org/show_bug.cgi?id=68851

Reviewed by Darin Adler.

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

Changed JSCell::getPrimitiveNumber to manually handle the dispatch for
JSCells (JSObject and JSString in this case).
* runtime/JSCell.cpp:
(JSC::JSCell::getPrimitiveNumber):
* runtime/JSCell.h:

Removed JSNotAnObject::getPrimitiveNumber since its return value doesn't
matter and it already implements defaultValue, so JSObject::getPrimitiveNumber
can cover the case for JSNotAnObject.
* runtime/JSNotAnObject.cpp:
* runtime/JSNotAnObject.h:

De-virtualized JSObject::getPrimitiveNumber and JSString::getPrimitiveNumber
and changed them to be const.  Also made JSString::getPrimitiveNumber public
because it needs to be called from JSCell::getPrimitiveNumber and also since it's
no longer virtual, we want people who have a more specific pointer (JSString*
instead of JSCell*) to not have to pay the cost of a virtual method call.
* runtime/JSObject.cpp:
(JSC::JSObject::getPrimitiveNumber):
* runtime/JSObject.h:
* runtime/JSString.cpp:
(JSC::JSString::getPrimitiveNumber):
* runtime/JSString.h:

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

12 years agoAdd 'filter' value to RenderStyle
dino@apple.com [Tue, 27 Sep 2011 19:49:09 +0000 (19:49 +0000)]
Add 'filter' value to RenderStyle
https://bugs.webkit.org/show_bug.cgi?id=68471

Reviewed by Simon Fraser.

Add a filter property to RenderStyle when ENABLE(CSS_FILTERS)
is turned on. Similar to -webkit-transform, -webkit-filter is a
list of FilterOperations, each identifying what type of operation
it is. This change simply adds the basic objects, it does not
parse the property to generate the list.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/filters/FilterOperation.h: Added.
(WebCore::FilterOperation::~FilterOperation):
(WebCore::FilterOperation::operator!=):
(WebCore::FilterOperation::getOperationType):
(WebCore::FilterOperation::isSameType):
(WebCore::FilterOperation::FilterOperation):
(WebCore::ReferenceFilterOperation::create):
(WebCore::ReferenceFilterOperation::reference):
(WebCore::ReferenceFilterOperation::operator==):
(WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
(WebCore::BasicColorMatrixFilterOperation::create):
(WebCore::BasicColorMatrixFilterOperation::amount):
(WebCore::BasicColorMatrixFilterOperation::operator==):
(WebCore::BasicColorMatrixFilterOperation::BasicColorMatrixFilterOperation):
(WebCore::BasicComponentTransferFilterOperation::create):
(WebCore::BasicComponentTransferFilterOperation::amount):
(WebCore::BasicComponentTransferFilterOperation::operator==):
(WebCore::BasicComponentTransferFilterOperation::BasicComponentTransferFilterOperation):
(WebCore::GammaFilterOperation::create):
(WebCore::GammaFilterOperation::amplitude):
(WebCore::GammaFilterOperation::exponent):
(WebCore::GammaFilterOperation::offset):
(WebCore::GammaFilterOperation::operator==):
(WebCore::GammaFilterOperation::GammaFilterOperation):
(WebCore::BlurFilterOperation::create):
(WebCore::BlurFilterOperation::stdDeviationX):
(WebCore::BlurFilterOperation::stdDeviationY):
(WebCore::BlurFilterOperation::operator==):
(WebCore::BlurFilterOperation::BlurFilterOperation):
(WebCore::SharpenFilterOperation::create):
(WebCore::SharpenFilterOperation::radius):
(WebCore::SharpenFilterOperation::threshold):
(WebCore::SharpenFilterOperation::amount):
(WebCore::SharpenFilterOperation::operator==):
(WebCore::SharpenFilterOperation::SharpenFilterOperation):
(WebCore::DropShadowFilterOperation::create):
(WebCore::DropShadowFilterOperation::shadow):
(WebCore::DropShadowFilterOperation::operator==):
(WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
* platform/graphics/filters/FilterOperations.cpp: Added.
(WebCore::FilterOperations::FilterOperations):
(WebCore::FilterOperations::operator==):
* platform/graphics/filters/FilterOperations.h: Added.
(WebCore::FilterOperations::operator!=):
(WebCore::FilterOperations::clear):
(WebCore::FilterOperations::operations):
(WebCore::FilterOperations::size):
(WebCore::FilterOperations::at):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::filter):
(WebCore::InheritedFlags::hasFilter):
(WebCore::InheritedFlags::setFilter):
(WebCore::InheritedFlags::initialFilter):
* rendering/style/StyleAllInOne.cpp: Added include of new StyleFilterData.
* rendering/style/StyleFilterData.cpp: Added.
(WebCore::StyleFilterData::StyleFilterData):
(WebCore::StyleFilterData::operator==):
* rendering/style/StyleFilterData.h: Added.
(WebCore::StyleFilterData::create):
(WebCore::StyleFilterData::copy):
(WebCore::StyleFilterData::operator!=):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h: New filter DataRef.

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

12 years ago[chromium] LayerRenderChromium asserts about leaking textures.
jamesr@google.com [Tue, 27 Sep 2011 19:41:24 +0000 (19:41 +0000)]
[chromium] LayerRenderChromium asserts about leaking textures.
https://bugs.webkit.org/show_bug.cgi?id=68190

Reviewed by Kenneth Russell.

This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
enum type, making it more testable.  It also allows us to track the allocations by subclassing TextureAllocator
to make sure we aren't leaking any textures.

* WebCore.gypi:
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::updateCompositorResources):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerTextureUpdater::updateTextureRect):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::updateCompositorResources):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::useRenderSurface):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
(WebCore::LayerRendererChromium::contentsTextureAllocator):
* platform/graphics/chromium/LayerTextureUpdater.h:
* platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
(WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
(WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
* platform/graphics/chromium/ManagedTexture.cpp:
(WebCore::ManagedTexture::bindTexture):
(WebCore::ManagedTexture::framebufferTexture2D):
* platform/graphics/chromium/ManagedTexture.h:
* platform/graphics/chromium/TextureManager.cpp:
(WebCore::TextureManager::memoryUseBytes):
(WebCore::TextureManager::deleteEvictedTextures):
(WebCore::TextureManager::evictAndDeleteAllTextures):
(WebCore::TextureManager::removeTexture):
(WebCore::TextureManager::allocateTexture):
(WebCore::TextureManager::requestTexture):
* platform/graphics/chromium/TextureManager.h:
(WebCore::TextureAllocator::~TextureAllocator):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateCompositorResources):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
(WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
(WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
(WebCore::TrackingTextureAllocator::createTexture):
(WebCore::TrackingTextureAllocator::deleteTexture):
* platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
(WebCore::TrackingTextureAllocator::create):
(WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateCompositorResources):
(WebCore::VideoLayerChromium::updateTexture):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::updateCompositorResources):
* platform/graphics/chromium/WebGLLayerChromium.h:
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::draw):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
(WebCore::CCLayerTreeHost::commitToOnCCThread):
(WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::drawSurface):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::setNeedsCommit):
(WebCore::CCSingleThreadProxy::stop):
(WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
(WebCore::CCSingleThreadProxy::commitIfNeeded):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::commitOnCCThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):

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

12 years ago[EFL] Make ewk_view emit the "load,document,finished" signal.
commit-queue@webkit.org [Tue, 27 Sep 2011 19:34:35 +0000 (19:34 +0000)]
[EFL] Make ewk_view emit the "load,document,finished" signal.
https://bugs.webkit.org/show_bug.cgi?id=66782

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-27
Reviewed by Antonio Gomes.

Currently, only ewk_frame emits the "load,document,finished" signal
when FrameLoaderClientEfl::dispatchDidFinishDocumentLoad() calls
ewk_frame_load_document_finished().

However, in some cases it is not even possible to connect to the
"frame,created" signal to properly monitor the
"load,document,finished" signal, as the former is not emitted.
fast/frames/frame-unload-crash.html, for example, has a page with an
iframe inside an iframe, and this innermost iframe does not seem to be
loaded via FrameLoaderClientEfl::createFrame (which calls all the
machinery which then emits the "frame,created" signal).

We now make ewk_frame_load_document_finished() call the newly-created
ewk_view_load_document_finished() function, whose job is to emit the
"load,document,signal" with the frame as its parameter. This way, one
can just connect to the view and make sure all the signals will get
delivered.

* ewk/ewk_frame.cpp:
(ewk_frame_load_document_finished):
* ewk/ewk_private.h:
* ewk/ewk_view.cpp:
(ewk_view_load_document_finished):
* ewk/ewk_view.h:

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

12 years agoReviewed by David Hyatt.
robert@webkit.org [Tue, 27 Sep 2011 19:31:31 +0000 (19:31 +0000)]
Reviewed by David Hyatt.

Replaced elements squeezed when width is specified as percentage inside a table with Auto layout
https://bugs.webkit.org/show_bug.cgi?id=29447

Source/WebCore:

If inserting a 'replaced' element (e.g. image, plugin) in a table cell that is not descendant from
a block with fixed layout then do not squeeze the element, let it use its intrinsic width and height.

Test: fast/replaced/table-percent-width.html

* rendering/RenderBox.cpp:
(WebCore::avoidSqueezingWidth):
(WebCore::avoidSqueezingHeight):
(WebCore::RenderBox::containingBlockReplacedLogicalWidthForContent):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
* rendering/RenderBox.h:

LayoutTests:

* fast/replaced/table-percent-width.html: Added.
* fast/replaced/table-percent-width-expected.txt: Added.

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=67858
simon.fraser@apple.com [Tue, 27 Sep 2011 19:00:56 +0000 (19:00 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=67858

Roll r96070 back in now that the crash has been fixed in r96130.

Source/WebCore:

Reviewed by Darin Adler.

When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
the scrollbar areas or the scroll corner, so the scrollbars appear to remain.

Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
on scrollbar creation appears to happen via updating the scrollbar style.

Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
stale scrollbars when run manually, even though the green squares are missing from the
pixel result (bug 67878).

* page/FrameView.cpp:
(WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
* platform/ScrollView.cpp:
(WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
(WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
(WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
compute the scroll corner rect while we still have scrollbars, and then invalidate it
explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
rect.)
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
compute it in the case where the scrollbars are going away.
* platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
invalidateScrollbar().
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
* rendering/RenderScrollbarPart.cpp: Ditto.
(WebCore::RenderScrollbarPart::imageChanged): Ditto.

LayoutTests:

* compositing/iframes/repaint-after-losing-scrollbars-expected.png:

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

12 years agoFix Chromium Mac build after r96130.
mihaip@chromium.org [Tue, 27 Sep 2011 18:44:15 +0000 (18:44 +0000)]
Fix Chromium Mac build after r96130.

* page/FrameView.cpp:
(WebCore::FrameView::layerForOverhangAreas):

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

12 years ago[GTK] Use WebKitWebContext in WebKitWebView
carlosgc@webkit.org [Tue, 27 Sep 2011 18:32:55 +0000 (18:32 +0000)]
[GTK] Use WebKitWebContext in WebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=67990

Reviewed by Martin Robinson.

Use webkit_web_context_get_default() instead of
WKContextGetSharedProcessContext() and add API to create a view
with a given web context and to return the current context
associated to the view.

* GNUmakefile.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitPrivate.h: Added.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextGetWKContext): Private API to get the WKContext
wrapped by the WebKitWebContext.
* UIProcess/API/gtk/WebKitWebContextPrivate.h: Added.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Create the webpage using the web
context of the view.
(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkit_web_view_init):
(webkit_web_view_class_init):
(webkit_web_view_new): Create a new view with the default context.
(webkit_web_view_new_with_context): Create a new view with the
given context.
(webkit_web_view_get_context): Return the context.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/tests/testwebview.c: Added.
(testWebViewDefaultContext):
(main):

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

12 years ago[v8] Code calling the typed array optimization script is fragile, depends on typed...
commit-queue@webkit.org [Tue, 27 Sep 2011 18:19:01 +0000 (18:19 +0000)]
[v8] Code calling the typed array optimization script is fragile, depends on typed array hierarchy.

Install the flag, which indicates whether or not the optimization
script was executed, on the global object.

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

Patch by Ulan Degenbaev <ulan@chromium.org> on 2011-09-27
Reviewed by Kenneth Russell.

* Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.cpp:

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

12 years agoAutofocus on readonly inputs does not focus the element.
commit-queue@webkit.org [Tue, 27 Sep 2011 18:17:32 +0000 (18:17 +0000)]
Autofocus on readonly inputs does not focus the element.
https://bugs.webkit.org/show_bug.cgi?id=24092

Patch by Kaustubh Atrawalkar <kaustubh@motorola.com> on 2011-09-27
Reviewed by Ryosuke Niwa.

Source/WebCore:

Readonly input elements should be autofocusable. Removed the check.

Tests: fast/forms/autofocus-readonly-attribute.html

* html/HTMLFormControlElement.cpp:
(WebCore::shouldAutofocus):

LayoutTests:

* fast/forms/autofocus-readonly-attribute-expected.txt: Added.
* fast/forms/autofocus-readonly-attribute.html: Added.

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

12 years ago[GTK] Add WebKitWebContext to GTK API
carlosgc@webkit.org [Tue, 27 Sep 2011 18:06:06 +0000 (18:06 +0000)]
[GTK] Add WebKitWebContext to GTK API
https://bugs.webkit.org/show_bug.cgi?id=67931

Reviewed by Philippe Normand.

Initial implementation of WebKitWebContext for WebKit2 GTK API.

* GNUmakefile.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitWebContext.cpp: Added.
(webkitWebContextFinalize):
(webkit_web_context_init):
(webkit_web_context_class_init):
(createDefaultWebContext):
(webkit_web_context_get_default):
* UIProcess/API/gtk/WebKitWebContext.h: Added.
* UIProcess/API/gtk/tests/testwebcontext.c:
(testWebContextDefault):
(main):
* UIProcess/API/gtk/webkit2.h: Add <webkit2/WebKitWebContext.h>.

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

12 years agoRemove duplicate of fast/text/international/Geeza-Pro-vertical-metrics-adjustment...
mihaip@chromium.org [Tue, 27 Sep 2011 18:04:01 +0000 (18:04 +0000)]
Remove duplicate of fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
https://bugs.webkit.org/show_bug.cgi?id=68915

Reviewed by Ryosuke Niwa.

r92496 and r92881 were only trying to move the baselines to
platform/mac-snowleopard/platform/mac/fast, but they also inadvertedly
copied the test itself.

* platform/mac-snowleopard/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html: Removed.

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

12 years agoImplement Error.stack
commit-queue@webkit.org [Tue, 27 Sep 2011 17:58:55 +0000 (17:58 +0000)]
Implement Error.stack
https://bugs.webkit.org/show_bug.cgi?id=66994

Patch by Juan Carlos Montemayor Elosua <j.mont@me.com> on 2011-09-27
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

This patch utilizes topCallFrame to create a stack trace when
an error is thrown. Users will also be able to use the stack()
command in jsc to get arrays with stack trace information.

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* interpreter/Interpreter.cpp:
(JSC::getCallerLine):
(JSC::getSourceURLFromCallFrame):
(JSC::getStackFrameCodeType):
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::throwException):
* interpreter/Interpreter.h:
(JSC::StackFrame::toString):
* jsc.cpp:
(GlobalObject::finishCreation):
(functionJSCStack):
* parser/Parser.h:
(JSC::Parser::parse):
* runtime/CommonIdentifiers.h:
* runtime/Error.cpp:
(JSC::addErrorInfo):
* runtime/Error.h:

LayoutTests:

Unit tests that contain both normal and special cases for stack trace
generation.

* fast/js/exception-properties-expected.txt:
* fast/js/script-tests/exception-properties.js:
* fast/js/script-tests/stack-trace.js: Added.
(printStack):
(hostThrower):
(callbacker):
(outer):
(inner):
(evaler):
(normalOuter):
(normalInner):
(scripterInner):
(scripterOuter):
* fast/js/stack-trace-expected.txt: Added.
* fast/js/stack-trace.html: Added.
* platform/chromium/test_expectations.txt:

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

12 years agoClean up how FrameView accesses the RenderView
simon.fraser@apple.com [Tue, 27 Sep 2011 17:55:02 +0000 (17:55 +0000)]
Clean up how FrameView accesses the RenderView
https://bugs.webkit.org/show_bug.cgi?id=68914

Reviewed by Sam Weinig.

Clean up how FrameView accesses the content renderer of its
frame. Previously, this was done in several different ways,
only some of which did null-checking.

Use an inline method to avoid having to expose Frame
in the header.

Standardize the terminology to use 'root' for this RenderView.

* page/FrameView.cpp:
(WebCore::rootRenderer):
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::adjustViewSize):
(WebCore::FrameView::updateCompositingLayers):
(WebCore::FrameView::clearBackingStores):
(WebCore::FrameView::restoreBackingStores):
(WebCore::FrameView::layerForHorizontalScrollbar):
(WebCore::FrameView::layerForVerticalScrollbar):
(WebCore::FrameView::layerForScrollCorner):
(WebCore::FrameView::layerForOverhangAreas):
(WebCore::FrameView::syncCompositingStateForThisFrame):
(WebCore::FrameView::hasCompositedContent):
(WebCore::FrameView::enterCompositingMode):
(WebCore::FrameView::isSoftwareRenderable):
(WebCore::FrameView::didMoveOnscreen):
(WebCore::FrameView::willMoveOffscreen):
(WebCore::FrameView::layout):
(WebCore::FrameView::embeddedContentBox):
(WebCore::FrameView::contentsInCompositedLayer):
(WebCore::FrameView::scrollContentsFastPath):
(WebCore::FrameView::scrollContentsSlowPath):
(WebCore::FrameView::maintainScrollPositionAtAnchor):
(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::repaintFixedElementsAfterScrolling):
(WebCore::FrameView::visibleContentsResized):
(WebCore::FrameView::scheduleRelayoutOfSubtree):
(WebCore::FrameView::needsLayout):
(WebCore::FrameView::setNeedsLayout):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::updateControlTints):
(WebCore::FrameView::paintContents):
(WebCore::FrameView::forceLayoutForPagination):
(WebCore::FrameView::adjustPageHeightDeprecated):
(WebCore::FrameView::isVerticalDocument):
(WebCore::FrameView::isFlippedDocument):

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

12 years agogarden-o-matic results view should sort test and builder names
abarth@webkit.org [Tue, 27 Sep 2011 17:53:32 +0000 (17:53 +0000)]
garden-o-matic results view should sort test and builder names
https://bugs.webkit.org/show_bug.cgi?id=68488

Reviewed by Andy Estes.

Previously, the test and builder names were displayed in an arbitrary
order that changed from time to time.  That confused one user study
participant.  This patch sorts the lists so that they occur in a
predictable order.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:

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

12 years ago[Chromium] Layout Test compositing/video-page-visibility.html is failing on GPU linux
enne@google.com [Tue, 27 Sep 2011 17:38:52 +0000 (17:38 +0000)]
[Chromium] Layout Test compositing/video-page-visibility.html is failing on GPU linux
https://bugs.webkit.org/show_bug.cgi?id=68882

Unreviewed rebaseline.

* platform/chromium-gpu-linux/compositing/video-page-visibility-expected.png: Added.
* platform/chromium/test_expectations.txt:

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

12 years agoAXObjectCache cleared unnecessarily when non-top Document is detached.
commit-queue@webkit.org [Tue, 27 Sep 2011 17:29:46 +0000 (17:29 +0000)]
AXObjectCache cleared unnecessarily when non-top Document is detached.
https://bugs.webkit.org/show_bug.cgi?id=68636

Patch by Dominic Mazzoni <dmazzoni@google.com> on 2011-09-27
Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/deleting-iframe-destroys-axcache.html

* dom/Document.cpp:
(WebCore::Document::attach):
(WebCore::Document::detach):

LayoutTests:

* accessibility/deleting-iframe-destroys-axcache.html: Added.
* platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added.

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

12 years agoUnreviewed, rolling out r96108, r96111, r96113, and r96116.
commit-queue@webkit.org [Tue, 27 Sep 2011 17:27:12 +0000 (17:27 +0000)]
Unreviewed, rolling out r96108, r96111, r96113, and r96116.
http://trac.webkit.org/changeset/96108
http://trac.webkit.org/changeset/96111
http://trac.webkit.org/changeset/96113
http://trac.webkit.org/changeset/96116
https://bugs.webkit.org/show_bug.cgi?id=68913

Wait for working Qt5 (Requested by ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-27

.:

* Source/WebKit.pro:

Source/WebCore:

* WebCore.pri:
* platform/graphics/qt/GraphicsLayerQt.cpp:

Source/WebKit/qt:

* Api/qgraphicswebview.cpp:
* Api/qgraphicswebview.h:
* Api/qwebframe.h:
* Api/qwebhistory.h:
* Api/qwebpage.h:
* Api/qwebsettings.h:
* Api/qwebview.h:
* QtWebKit.pro:
* WebCoreSupport/PageClientQt.h:
* WebCoreSupport/QtWebComboBox.cpp:
* WebCoreSupport/QtWebComboBox.h:
* declarative/declarative.pro:
* declarative/qdeclarativewebview.cpp:
* declarative/qdeclarativewebview_p.h:
* docs/webkitsnippets/webpage/main.cpp:
* examples/platformplugin/WebNotificationPresenter.h:
* tests/tests.pri:

Source/WebKit2:

* UIProcess/API/qt/qdesktopwebview.cpp:
(QDesktopWebViewPrivate::startDrag):
(QDesktopWebViewPrivate::didChangeToolTip):
(QDesktopWebViewPrivate::didChangeCursor):
(QDesktopWebViewPrivate::showContextMenu):
(QDesktopWebViewPrivate::chooseFiles):
* UIProcess/API/qt/qdesktopwebview.h:
* UIProcess/API/qt/tests/tests.pri:
* UIProcess/API/qt/tests/tests.pro:
* UIProcess/qt/ViewInterface.h:
* UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
(WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):

Tools:

* DumpRenderTree/qt/DumpRenderTree.pro:
* DumpRenderTree/qt/ImageDiff.pro:
* MiniBrowser/qt/BrowserView.cpp:
(BrowserView::BrowserView):
* MiniBrowser/qt/BrowserView.h:
* MiniBrowser/qt/BrowserWindow.cpp:
(BrowserWindow::BrowserWindow):
(BrowserWindow::urlChanged):
(BrowserWindow::~BrowserWindow):
* MiniBrowser/qt/BrowserWindow.h:
* MiniBrowser/qt/MiniBrowser.pro:
* MiniBrowser/qt/MiniBrowserApplication.h:
* MiniBrowser/qt/main.cpp:
* QtTestBrowser/QtTestBrowser.pro:
* QtTestBrowser/launcherwindow.cpp:
* QtTestBrowser/launcherwindow.h:
* QtTestBrowser/locationedit.h:
* QtTestBrowser/main.cpp:
* QtTestBrowser/mainwindow.cpp:
* QtTestBrowser/mainwindow.h:
* QtTestBrowser/webinspector.h:
* QtTestBrowser/webpage.cpp:
* QtTestBrowser/webview.cpp:
* WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro:
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::WebView::wkView):
(WTR::WebView::pageRef):
(WTR::WebView::~WebView):
(WTR::WebView::WebView):
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::sendEvent):
(WTR::PlatformWebView::postEvent):
* WebKitTestRunner/qt/WebKitTestRunner.pro:

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

12 years agodump-as-markup conversion: editing/pasteboard/merge-end-list.html and merge-end-table...
rniwa@webkit.org [Tue, 27 Sep 2011 17:26:23 +0000 (17:26 +0000)]
dump-as-markup conversion: editing/pasteboard/merge-end-list.html and merge-end-table.html
https://bugs.webkit.org/show_bug.cgi?id=68857

Reviewed by Kent Tamura.

Converted the tests into dump-as-markup tests. Also split each test into two tests.

* editing/pasteboard/merge-end-list-2-expected.txt: Added.
* editing/pasteboard/merge-end-list-2.html: Added.
* editing/pasteboard/merge-end-list-expected.txt: Added.
* editing/pasteboard/merge-end-list.html:
* editing/pasteboard/merge-end-table-2-expected.txt: Added.
* editing/pasteboard/merge-end-table-2.html: Added.
* editing/pasteboard/merge-end-table-expected.txt: Added.
* editing/pasteboard/merge-end-table.html:
* platform/chromium-cg-mac-leopard/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/chromium-cg-mac-leopard/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/chromium-cg-mac/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/chromium-cg-mac/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/chromium-linux/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/chromium-linux/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/merge-end-list-expected.txt: Removed.
* platform/chromium-win/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/merge-end-table-expected.txt: Removed.
* platform/gtk/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/gtk/editing/pasteboard/merge-end-list-expected.txt: Removed.
* platform/gtk/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/gtk/editing/pasteboard/merge-end-table-expected.txt: Removed.
* platform/mac-leopard/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/mac-leopard/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/mac/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/mac/editing/pasteboard/merge-end-list-expected.txt: Removed.
* platform/mac/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/mac/editing/pasteboard/merge-end-table-expected.txt: Removed.
* platform/qt/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/qt/editing/pasteboard/merge-end-list-expected.txt: Removed.
* platform/qt/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/qt/editing/pasteboard/merge-end-table-expected.txt: Removed.

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

12 years agoCrash in WebCore::HTMLParser::createHead
jchaffraix@webkit.org [Tue, 27 Sep 2011 17:18:06 +0000 (17:18 +0000)]
Crash in WebCore::HTMLParser::createHead
https://bugs.webkit.org/show_bug.cgi?id=32426

Reviewed by Darin Adler.

The crash was fixed some time ago but the test was not landed which kept the bug open.

* fast/parser/crash-HTMLParser-createHead.html: Added.
Tweaked the test case as we now throw an exception (DOM Exception 12).

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

12 years agoFix ENABLE(SQL_DATABASE)=0 build after r95919
ossy@webkit.org [Tue, 27 Sep 2011 17:06:26 +0000 (17:06 +0000)]
Fix ENABLE(SQL_DATABASE)=0 build after r95919
https://bugs.webkit.org/show_bug.cgi?id=68902

r95919 enabled OFFLINE_WEB_APPLICATIONS by default and
it needs SQLite stuff even if ENABLE_SQL_DATABASE=0.

Reviewed by Adam Barth.

* platform/sql/SQLiteAuthorizer.cpp:
* platform/sql/SQLiteDatabase.cpp:
* platform/sql/SQLiteFileSystem.cpp:
* platform/sql/SQLiteStatement.cpp:
* platform/sql/SQLiteTransaction.cpp:
* storage/DatabaseAuthorizer.cpp:

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

12 years agoCrash because CSSPrimitiveValue::computeLengthDouble assumes fontMetrics are available
jchaffraix@webkit.org [Tue, 27 Sep 2011 16:55:59 +0000 (16:55 +0000)]
Crash because CSSPrimitiveValue::computeLengthDouble assumes fontMetrics are available
https://bugs.webkit.org/show_bug.cgi?id=66291

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/canvas/crash-set-font.html

This is Yet Another Missing updateFont (similar to bug 57756 and likely others). Here the issue is that
applying one of the font properties could mutate the parent style's font if m_parentStyle == m_style.
We would then query the newly created font when applying CSSPropertyFontSize, which has no font fallback
list as Font::update was never called.

The right fix would be to refactor of how we handle fonts to avoid such manual updates (see bug 62390).
Until this happens, it is better not to crash.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Added updateFont() here as the fonts could have been
mutated by the previous property change. Also added a comment explaining why it is safe to do it
this way.

LayoutTests:

* fast/canvas/crash-set-font-expected.txt: Added.
* fast/canvas/crash-set-font.html: Added.

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

12 years ago[GTK] Rename WebKit2 GTK+ API main header as webkit2.h
carlosgc@webkit.org [Tue, 27 Sep 2011 16:40:03 +0000 (16:40 +0000)]
[GTK] Rename WebKit2 GTK+ API main header as webkit2.h
https://bugs.webkit.org/show_bug.cgi?id=65178

Reviewed by Martin Robinson.

Source/WebKit2:

* GNUmakefile.am: Add webkit2.h.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/webkit2.h: Renamed from Source/WebKit2/UIProcess/API/gtk/webkit/webkit.h.
* webkit2gtk.pc.in: Use webkitgtk-<api-version> as include dir.

Tools:

* GNUmakefile.am:
* GtkLauncher/main.c: Include <webkit2/webkit2.h>.

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

12 years ago[Texmap] Code cleanup: remove unused boundingRect/visibleRect calculations
noam.rosenthal@nokia.com [Tue, 27 Sep 2011 16:38:19 +0000 (16:38 +0000)]
[Texmap] Code cleanup: remove unused boundingRect/visibleRect calculations
https://bugs.webkit.org/show_bug.cgi?id=68897

Reviewed by Andreas Kling.

No new functionality so no new tests.

* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::computeAllTransforms):
(WebCore::TextureMapperNode::computeTiles):
(WebCore::TextureMapperNode::syncCompositingState):
* platform/graphics/texmap/TextureMapperNode.h:

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

12 years ago[Texmap][Qt] Refactor texture-upload to allow direct chunk update
noam.rosenthal@nokia.com [Tue, 27 Sep 2011 16:28:17 +0000 (16:28 +0000)]
[Texmap][Qt] Refactor texture-upload to allow direct chunk update
https://bugs.webkit.org/show_bug.cgi?id=68808

Add a function to BitmapTexture for direct pixel updates.
Modify BitmapTextureGL::endPaint to use that function. Since the BGRA
to RGBA swizzling is done inside that function, there's no need for the
RGBA32PremultipliedBuffer class to contain such function. Also,
RGBA32PremultipliedBuffer was renamed to BGRA32PremultipliedBuffer, correcting
an old mistake.

Reviewed by Andreas Kling.

No new tests. Existing tests in LayoutTests/compositing test this.

* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::BitmapTextureGL::beginPaint):
(WebCore::BitmapTextureGL::endPaint):
(WebCore::swizzleBGRAToRGBA):
(WebCore::BitmapTextureGL::updateContents):
* platform/graphics/opengl/TextureMapperGL.h:
(WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
* platform/graphics/qt/TextureMapperQt.cpp:
(WebCore::BitmapTextureQt::updateContents):
(WebCore::BGRA32PremultimpliedBufferQt::data):
(WebCore::BGRA32PremultimpliedBuffer::create):
* platform/graphics/qt/TextureMapperQt.h:
* platform/graphics/texmap/TextureMapper.h:

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

12 years ago[Qt][WK2] Buildfix after r96108.
ossy@webkit.org [Tue, 27 Sep 2011 16:12:20 +0000 (16:12 +0000)]
[Qt][WK2] Buildfix after r96108.

Rubber-stamped by Andreas Kling.

Source/WebKit/qt:

* tests/tests.pri:

Tools:

* WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro:
* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
* WebKitTestRunner/qt/WebKitTestRunner.pro:

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

12 years agowatchlist: Change watchlistparser.py to be class based.
levin@chromium.org [Tue, 27 Sep 2011 15:52:14 +0000 (15:52 +0000)]
watchlist: Change watchlistparser.py to be class based.
https://bugs.webkit.org/show_bug.cgi?id=68869

Reviewed by Eric Seidel.

* Scripts/webkitpy/common/watchlist/watchlistparser.py:
* Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py:

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

12 years agoUnreviewed followupfix for r96110.
loislo@chromium.org [Tue, 27 Sep 2011 15:50:42 +0000 (15:50 +0000)]
Unreviewed followupfix for r96110.
This is a small adjustment of the heap size delta calculation.

* inspector/performance/resources/performance-test.js:
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.done):

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

12 years ago[Qt] Fix build of declarative plugin against Qt5
vestbo@webkit.org [Tue, 27 Sep 2011 15:36:39 +0000 (15:36 +0000)]
[Qt] Fix build of declarative plugin against Qt5

Reviewed by Andreas Kling.

* declarative/declarative.pro:

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

12 years agowatchlist: Break out the diff boilerplate to allow for re-use.
levin@chromium.org [Tue, 27 Sep 2011 15:35:49 +0000 (15:35 +0000)]
watchlist: Break out the diff boilerplate to allow for re-use.
https://bugs.webkit.org/show_bug.cgi?id=68871

Reviewed by Eric Seidel.

* Scripts/webkitpy/common/checkout/diff_parser_unittest.py:
Break out the diff into a new file.
* Scripts/webkitpy/common/checkout/diff_test_data.py: Added.

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

12 years ago[Qt] Fix build of WebKit2 unit-tests after r96108
vestbo@webkit.org [Tue, 27 Sep 2011 15:29:22 +0000 (15:29 +0000)]
[Qt] Fix build of WebKit2 unit-tests after r96108

Reviewed by Andreas Kling.

* UIProcess/API/qt/tests/tests.pri:

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

12 years agoWeb Inspector: UI performance: introduce heap size tracking stats.
loislo@chromium.org [Tue, 27 Sep 2011 15:26:34 +0000 (15:26 +0000)]
Web Inspector: UI performance: introduce heap size tracking stats.
https://bugs.webkit.org/show_bug.cgi?id=68901

It is interesting how much the heap memory is used by Inspector in order of running the test.

Reviewed by Yury Semikhatsky.

Tools:

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::showDevTools):
(TestShell::closeDevTools):

LayoutTests:

* inspector/performance/resources/network-append-30-requests.html:
* inspector/performance/resources/performance-test.js:
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._getJSHeapSize):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.done):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):

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

12 years agoLayout Test platform/chromium/compositing/zoom-animator-scale-test.html is failing.
wjmaclean@chromium.org [Tue, 27 Sep 2011 15:17:53 +0000 (15:17 +0000)]
Layout Test platform/chromium/compositing/zoom-animator-scale-test.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=68852

Rebaseline GPU tests for Mac, Win.

Reviewed by Shinichiro Hamaji.

* platform/chromium-gpu-cg-mac/platform/chromium/compositing/zoom-animator-scale-test-expected.png:
* platform/chromium-gpu-mac/platform/chromium/compositing/zoom-animator-scale-test-expected.png:
* platform/chromium-gpu-win/platform/chromium/compositing/zoom-animator-scale-test-expected.png:
* platform/chromium/test_expectations.txt:

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

12 years ago[Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
vestbo@webkit.org [Tue, 27 Sep 2011 15:11:11 +0000 (15:11 +0000)]
[Qt] Fix build against Qt5 after refactor of widgets out of QtGUi

QWidget and friends now live in the QtWidgets library. We update
includes in implementation files and private headers to us the
non-module-prefixed path, and leave the lookup for the include
path. For public headers we have to ifdef the includes as the
user might now have the modules we need in his QT config.

Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
have to update our code and use windowHandle() for setting the
parent relationships.

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

Reviewed by Andreas Kling.

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

12 years agoClipped high quality blur in skia has been fixed. Rebaseline layout tests.
commit-queue@webkit.org [Tue, 27 Sep 2011 14:49:25 +0000 (14:49 +0000)]
Clipped high quality blur in skia has been fixed. Rebaseline layout tests.
https://bugs.webkit.org/show_bug.cgi?id=68577

Patch by Ben Wagner <bungeman@chromium.org> on 2011-09-27
Reviewed by Kenneth Russell.

* platform/chromium-linux-x86/fast/box-shadow: Removed.
* platform/chromium-linux/fast/box-shadow/inset-box-shadows-expected.png:
* platform/chromium-mac/fast/box-shadow/inset-box-shadow-radius-expected.png:
* platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png:
* platform/chromium-mac/fast/box-shadow/shadow-buffer-partial-expected.png:
* platform/chromium-win/fast/box-shadow/inset-box-shadow-radius-expected.png:
* platform/chromium-win/fast/box-shadow/inset-box-shadows-expected.png:
* platform/chromium-win/fast/box-shadow/shadow-buffer-partial-expected.png:
* platform/chromium/test_expectations.txt:

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

12 years agoSource/WebCore: Web Inspector: split DOM.attributesUpdated into attributeModified...
pfeldman@chromium.org [Tue, 27 Sep 2011 14:13:07 +0000 (14:13 +0000)]
Source/WebCore: Web Inspector: split DOM.attributesUpdated into attributeModified and attributeRemoved.
Send attribute name and value within the event.
https://bugs.webkit.org/show_bug.cgi?id=68613

Reviewed by Yury Semikhatsky.

* dom/Element.cpp:
(WebCore::Element::setAttribute):
(WebCore::Element::removeAttribute):
* inspector/Inspector.draft-01.json:
* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didModifyDOMAttr):
(WebCore::InspectorDOMAgent::didRemoveDOMAttr):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didModifyDOMAttr):
(WebCore::InspectorInstrumentation::didRemoveDOMAttr):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype._addAttribute):
(WebInspector.DOMNode.prototype._setAttribute):
(WebInspector.DOMNode.prototype._removeAttribute):
(WebInspector.DOMAgent.prototype._attributeModified):
(WebInspector.DOMAgent.prototype._attributeRemoved):
(WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
(WebInspector.DOMAgent.prototype._loadNodeAttributes):
(WebInspector.DOMDispatcher.prototype.attributeModified):
(WebInspector.DOMDispatcher.prototype.attributeRemoved):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype._attributesUpdated):
* inspector/front-end/MetricsSidebarPane.js:
(WebInspector.MetricsSidebarPane):
(WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane):
(WebInspector.StylesSidebarPane.prototype._attributesModified):
(WebInspector.StylesSidebarPane.prototype._attributesRemoved):
(WebInspector.StylesSidebarPane.prototype._styleInvalidated):
(WebInspector.StylePropertyTreeElement.prototype.event):
(WebInspector.StylePropertyTreeElement.prototype):
* inspector/validate-protocol-compatibility:

LayoutTests: Web Inspector: split DOM.attributesUpdated into attributeModified and attributeRemoved. Send attribute name and value within the event.
https://bugs.webkit.org/show_bug.cgi?id=68613

Reviewed by Yury Semikhatsky.

* inspector/elements/mutate-unknown-node.html-disabled:
* inspector/elements/set-attribute.html:

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

12 years ago[Qt][WK2] Add support for hover API in Qt WebKit2
caio.oliveira@openbossa.org [Tue, 27 Sep 2011 14:09:00 +0000 (14:09 +0000)]
[Qt][WK2] Add support for hover API in Qt WebKit2
https://bugs.webkit.org/show_bug.cgi?id=68369

Reviewed by Andreas Kling.

Source/WebKit2:

Based on the patch from Igor Oliveira in the same bug.

Expose a linkHovered() signal in QDesktopWebView, that passes the QUrl and the
QString corresponding to the link title. I left textContent out because was
unsure of its use case.

In QDesktopWebView we store the last URL and title emitted to make sure we send
the signal only if either value changes. Tests were added to the QML element to
check: if values are correctly emitted and if we don't emit more signals than
necessary.

* UIProcess/API/qt/qdesktopwebview.cpp:
(QDesktopWebViewPrivate::didMouseMoveOverElement):
* UIProcess/API/qt/qdesktopwebview.h:
* UIProcess/API/qt/qdesktopwebview_p.h:
* UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml: Added.
* UIProcess/API/qt/tests/qmltests/common/test2.html:
* UIProcess/API/qt/tests/qmltests/qmltests.pro:
* UIProcess/qt/ClientImpl.cpp:
(qt_wk_mouseDidMoveOverElement):
* UIProcess/qt/ClientImpl.h:
* UIProcess/qt/QtWebPageProxy.cpp:
(QtWebPageProxy::init):
* UIProcess/qt/TouchViewInterface.h:
(WebKit::TouchViewInterface::didMouseMoveOverElement):
* UIProcess/qt/ViewInterface.h:

Tools:

Change the statusbar to show the link URL when hovering links in
MiniBrowser using QDesktopWebView.

* MiniBrowser/qt/BrowserWindow.cpp:
(BrowserWindow::BrowserWindow):
(BrowserWindow::onLinkHovered):
* MiniBrowser/qt/BrowserWindow.h:

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

12 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Tue, 27 Sep 2011 13:23:49 +0000 (13:23 +0000)]
Unreviewed.  Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-27

* DEPS:

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

12 years ago[Chromium] Layout Test fast/canvas/canvas-composite-transformclip.html is failing
hamaji@chromium.org [Tue, 27 Sep 2011 13:12:20 +0000 (13:12 +0000)]
[Chromium] Layout Test fast/canvas/canvas-composite-transformclip.html is failing
https://bugs.webkit.org/show_bug.cgi?id=68895

Unreviewed test_expectations.txt update.

* platform/chromium/test_expectations.txt:

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

12 years agoUnreviewed, rolling out r96070 and r96075.
commit-queue@webkit.org [Tue, 27 Sep 2011 13:00:21 +0000 (13:00 +0000)]
Unreviewed, rolling out r96070 and r96075.
http://trac.webkit.org/changeset/96070
http://trac.webkit.org/changeset/96075
https://bugs.webkit.org/show_bug.cgi?id=68893

WK2 tests started crashing after r96070 for SL and Qt
(Requested by torarne on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-27

Source/WebCore:

* page/FrameView.cpp:
(WebCore::FrameView::updateScrollCorner):
* platform/ScrollView.cpp:
(WebCore::ScrollView::setHasHorizontalScrollbar):
(WebCore::ScrollView::setHasVerticalScrollbar):
(WebCore::ScrollView::updateScrollbars):
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::invalidateScrollCorner):
* platform/ScrollableArea.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::destroyRootLayer):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::imageChanged):

LayoutTests:

* compositing/iframes/repaint-after-losing-scrollbars-expected.png:
* platform/qt/Skipped:

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

12 years ago[Qt][WK2] API fixes for QML, the signal parameters needs to be named.
alexis.menard@openbossa.org [Tue, 27 Sep 2011 12:58:02 +0000 (12:58 +0000)]
[Qt][WK2] API fixes for QML, the signal parameters needs to be named.
https://bugs.webkit.org/show_bug.cgi?id=68889

Reviewed by Andreas Kling.

Signal parameters needs to be explicitly named in QML to be accessible.
This patch fix this problem.

* UIProcess/API/qt/qdesktopwebview.h:
* UIProcess/API/qt/qtouchwebpage.h:

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

12 years ago[Chromium] Web Inspector: Bug with console.log and popstate/hashchange events
yurys@chromium.org [Tue, 27 Sep 2011 12:39:16 +0000 (12:39 +0000)]
[Chromium] Web Inspector: Bug with console.log and popstate/hashchange events
https://bugs.webkit.org/show_bug.cgi?id=67732

Added WebKit part of a new interactive UI test for the bug with duplicated console messages after navigation back.

Reviewed by Pavel Feldman.

* src/js/Tests.js:
(.TestSuite.prototype.testConsoleOnNavigateBack.firstConsoleMessageReceived):
(.TestSuite.prototype.testConsoleOnNavigateBack.didClickLink):
(.TestSuite.prototype.testConsoleOnNavigateBack.didNavigateBack):
(.TestSuite.prototype.testConsoleOnNavigateBack.didCompleteNavigation):
(.TestSuite.prototype.testConsoleOnNavigateBack):

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

12 years ago[Chromium] Layout Test fast/canvas/webgl/premultiplyalpha-test.html is failing
hamaji@chromium.org [Tue, 27 Sep 2011 12:34:42 +0000 (12:34 +0000)]
[Chromium] Layout Test fast/canvas/webgl/premultiplyalpha-test.html is failing
https://bugs.webkit.org/show_bug.cgi?id=68885

Unreviewed typo fix.

* platform/chromium/test_expectations.txt:

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