WebKit-https.git
8 years agoUnreviewed. Split LayoutTests/ChangeLog.
haraken@chromium.org [Mon, 23 Apr 2012 23:57:40 +0000 (23:57 +0000)]
Unreviewed. Split LayoutTests/ChangeLog.

* ChangeLog-2012-04-23: Copied from LayoutTests/ChangeLog.

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

8 years ago[chromium] Visualize accelerated compositor rects.
shawnsingh@chromium.org [Mon, 23 Apr 2012 23:52:01 +0000 (23:52 +0000)]
[chromium] Visualize accelerated compositor rects.
https://bugs.webkit.org/show_bug.cgi?id=79400

Reviewed by Adrienne Walker.

No tests, all the code added is only debugging code.

This patch adds support for visualizing three different types of
rects on the chromium heads-up display:
1. updateRects that indicate what was painted/uploaded to a resource
2. propertyChangedRects that indicate layers that has property changes
3. surfaceDamageRects that are the accumulation of updateRects and
   propertyChangedRects, indicating what pixels on the screen have
   actually changed.  (Surface damage also accounts for newly exposed
   areas but that is not explicitly visualized.)

In addition to adding support for visualizing this, the
CCHeadsUpDisplay was significantly refactored, separating the FPS
Counter functionality into a different class, so that the heads-up
display is all about visualizing annotations, and those
annotations (frame rate, debug rects) are logged separately.

* WebCore.gypi:
* platform/graphics/chromium/cc/CCDebugRectHistory.cpp: Added.
(WebCore):
(WebCore::CCDebugRectHistory::CCDebugRectHistory):
(WebCore::CCDebugRectHistory::enabled):
(WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
(WebCore::CCDebugRectHistory::savePaintRects):
(WebCore::CCDebugRectHistory::savePropertyChangedRects):
(WebCore::CCDebugRectHistory::saveSurfaceDamageRects):
* platform/graphics/chromium/cc/CCDebugRectHistory.h: Added.
(WebCore):
(WebCore::CCDebugRect::CCDebugRect):
(CCDebugRect):
(CCDebugRectHistory):
(WebCore::CCDebugRectHistory::create):
(WebCore::CCDebugRectHistory::debugRects):
* platform/graphics/chromium/cc/CCFrameRateCounter.cpp: Added.
(WebCore):
(WebCore::safeMod):
(WebCore::CCFrameRateCounter::frameIndex):
(WebCore::CCFrameRateCounter::CCFrameRateCounter):
(WebCore::CCFrameRateCounter::markBeginningOfFrame):
(WebCore::CCFrameRateCounter::markEndOfFrame):
(WebCore::CCFrameRateCounter::isBadFrameInterval):
(WebCore::CCFrameRateCounter::isBadFrame):
(WebCore::CCFrameRateCounter::getAverageFPSAndStandardDeviation):
(WebCore::CCFrameRateCounter::timeStampOfRecentFrame):
* platform/graphics/chromium/cc/CCFrameRateCounter.h: Added.
(WebCore):
(CCFrameRateCounter):
(WebCore::CCFrameRateCounter::create):
(WebCore::CCFrameRateCounter::currentFrameNumber):
(WebCore::CCFrameRateCounter::timeStampHistorySize):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore):
(WebCore::CCHeadsUpDisplay::enabled):
(WebCore::CCHeadsUpDisplay::showDebugRects):
(WebCore::CCHeadsUpDisplay::draw):
(WebCore::CCHeadsUpDisplay::drawHudContents):
(WebCore::CCHeadsUpDisplay::drawFPSCounter):
(WebCore::CCHeadsUpDisplay::drawFPSCounterText):
(WebCore::CCHeadsUpDisplay::drawDebugRects):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
(WebCore):
(CCHeadsUpDisplay):
(WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):
(CCSettings):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore::CCLayerTreeHostImpl::drawLayers):
(WebCore::CCLayerTreeHostImpl::swapBuffers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore):
(WebCore::CCLayerTreeHostImpl::fpsCounter):
(WebCore::CCLayerTreeHostImpl::debugRectHistory):
(CCLayerTreeHostImpl):

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

8 years agoCut dependency on RenderLayer::scrollRectToVisible outside rendering
jchaffraix@webkit.org [Mon, 23 Apr 2012 23:49:34 +0000 (23:49 +0000)]
Cut dependency on RenderLayer::scrollRectToVisible outside rendering
https://bugs.webkit.org/show_bug.cgi?id=84607

Reviewed by Simon Fraser.

Source/WebCore:

Layering fix only, there should be no change behavior.

Because we don't have an accessor on RenderObject, a lot of the code needs
to know about RenderLayer. This is not necessary and exposes RenderLayer to
objects that shouldn't know about it.

This patch adds a RenderObject::scrollRectToVisible with the ad-hoc explanation
as to why it isn't on RenderBox (scrolling is a RenderBox concept).

* WebCore.exp.in:
* WebCore.order:
Updated to expose the new method.

* dom/Element.cpp:
(WebCore::Element::scrollIntoView):
(WebCore::Element::scrollIntoViewIfNeeded):
(WebCore::Element::updateFocusAppearance):
* editing/Editor.cpp:
(WebCore::Editor::findStringAndScrollToVisible):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::revealSelection):
* page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
Updated those call sites to use the new function.

* rendering/RenderLayer.h:
Removed ScrollBehavior.h #include and default argument values
as we are always called through RenderObject now.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::scrollRectToVisible):
* rendering/RenderObject.h:
Added a new function that just forwards to the enclosing layer
if any. We return whether we actually tried to scroll to match
some call sites expectations.

Source/WebKit/mac:

* WebView/WebFrame.mm:
(-[WebFrame _scrollDOMRangeToVisible:]):
Updated to use RenderObject::scrollRectToVisible and not depend on RenderLayer.

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

8 years agoframebuffer binding should not be changed after canvas resize or compositing
zmo@google.com [Mon, 23 Apr 2012 23:22:03 +0000 (23:22 +0000)]
framebuffer binding should not be changed after canvas resize or compositing
https://bugs.webkit.org/show_bug.cgi?id=84609

Reviewed by Kenneth Russell.

Source/WebCore:

Test: fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html

* html/canvas/WebGLRenderingContext.cpp: set framebuffer binding to DrawingBuffer.
(WebCore):
(WebCore::WebGLRenderingContext::bindFramebuffer):
(WebCore::WebGLRenderingContext::deleteFramebuffer):
(WebCore::WebGLRenderingContext::loseContextImpl):
* platform/graphics/cairo/DrawingBufferCairo.cpp: initialize m_framebufferBinding.
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/chromium/DrawingBufferChromium.cpp: Ditto.
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/chromium/WebGLLayerChromium.cpp: Recover framebuffer binding after update().
(WebCore::WebGLLayerChromium::update):
* platform/graphics/gpu/DrawingBuffer.cpp: Add a function to restore framebuffer binding.
(WebCore::DrawingBuffer::restoreFramebufferBinding):
(WebCore):
* platform/graphics/gpu/DrawingBuffer.h: Ditto.
(WebCore::DrawingBuffer::setTexture2DBinding):
(DrawingBuffer):
(WebCore::DrawingBuffer::setFramebufferBinding):
* platform/graphics/gpu/mac/DrawingBufferMac.mm: initialize m_framebufferBinding.
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/gpu/qt/DrawingBufferQt.cpp: initialize m_framebufferBinding.
(WebCore::DrawingBuffer::DrawingBuffer):

LayoutTests:

* fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize-expected.txt: Added.
* fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html: Added.
* fast/canvas/webgl/resources/webgl-test-utils.js: Sync with khronos side (partial)
(WebGLTestUtils.):
(WebGLTestUtils):

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

8 years agorun-perf-tests fail intermittently with an exception
dpranke@chromium.org [Mon, 23 Apr 2012 23:13:13 +0000 (23:13 +0000)]
run-perf-tests fail intermittently with an exception
https://bugs.webkit.org/show_bug.cgi?id=83532

Reviewed by Ryosuke Niwa.

This bulletproofs port.get_option('child_processes')
against the case where the option wasn't set.

* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort._get_crash_log):
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
(test_get_crash_log):
(test_get_crash_log.fake_time_cb):

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

8 years agoCall instruction for the baseline JIT stores origin info in wrong callframe
oliver@apple.com [Mon, 23 Apr 2012 23:07:45 +0000 (23:07 +0000)]
Call instruction for the baseline JIT stores origin info in wrong callframe
https://bugs.webkit.org/show_bug.cgi?id=84645

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

The baseline JIT was updating the wrong callframe when making a call.  If the
call failed during dispatch (unable to perform codegen, calling a non-object)
we would attempt to use this information, but it would be completely wrong.

* jit/JITCall.cpp:
(JSC::JIT::compileOpCall):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCall):

LayoutTests:

Directly force LLInt, Baseline, and DFG JITs to handle the path where
a call fails during dispatch.

* fast/js/script-tests/stack-trace.js:
(callNonCallable):

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

8 years ago[Mac] WebProcess should empty cache on a background thread/block.
kling@webkit.org [Mon, 23 Apr 2012 22:52:13 +0000 (22:52 +0000)]
[Mac] WebProcess should empty cache on a background thread/block.
<http://webkit.org/b/84619>
<rdar://problem/10668689>

Reviewed by Anders Carlsson.

Move the removeAllCachedResponses call to a dispatch queue and wait for it on exit.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformClearResourceCaches):
(WebKit::WebProcess::platformTerminate):

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

8 years agoSimplify volume slider rendering
commit-queue@webkit.org [Mon, 23 Apr 2012 22:41:01 +0000 (22:41 +0000)]
Simplify volume slider rendering
https://bugs.webkit.org/show_bug.cgi?id=82150

Patch by Victor Carbune <vcarbune@adobe.com> on 2012-04-23
Reviewed by Eric Carlson.

Source/WebCore:

Test: media/video-controls-rendering-toggle-display-none.html

* css/mediaControlsChromium.css: Update controls css for Chromium.
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
* css/mediaControlsGtk.css: Update controls css for GTK.
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
* css/mediaControlsQuickTime.css: Update controls css for Safari.
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
* html/shadow/MediaControlElements.cpp: Removed particular renderer.
(WebCore):
* html/shadow/MediaControlElements.h:
(MediaControlVolumeSliderContainerElement): Remoed particular renderer.
* html/shadow/MediaControlRootElement.cpp:
(WebCore::MediaControlRootElement::create): Added a div element as a container. Removed extra unused mute button.
* html/shadow/MediaControlRootElementChromium.cpp: Added an extra div
element as a container for the mute button and the volume slider to
easily position them relative to each other.
(WebCore::MediaControlRootElementChromium::create):

LayoutTests:

Added new TEXT baselines for Mac.
Baselines for GTK and Chromium need to be re-generated as well.

* media/video-controls-rendering-toggle-display-none-expected.txt: Added.
* media/video-controls-rendering-toggle-display-none.html: Added.
* platform/chromium/test_expectations.txt: Updated test expectations
* platform/gtk/test_expectations.txt: Updated test expectations.
Commented out a duplicate test marked as CRASH because otherwise cq complains.
* platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt: Updated.
* platform/mac/media/audio-controls-rendering-expected.txt: Updated.
* platform/mac/media/audio-repaint-expected.txt: Updated.
* platform/mac/media/controls-after-reload-expected.txt: Updated.
* platform/mac/media/controls-strict-expected.txt: Updated.
* platform/mac/media/media-controls-clone-expected.txt: Updated.
* platform/mac/media/video-controls-rendering-expected.txt: Updated.
* platform/mac/media/video-display-toggle-expected.txt: Updated.
* platform/mac/media/video-no-audio-expected.txt: Updated.
* platform/mac/media/video-playing-and-pause-expected.txt: Updated.

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

8 years agoDFG must keep alive values that it will perform speculations on
fpizlo@apple.com [Mon, 23 Apr 2012 22:36:08 +0000 (22:36 +0000)]
DFG must keep alive values that it will perform speculations on
https://bugs.webkit.org/show_bug.cgi?id=84638
<rdar://problem/11258183>

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

* dfg/DFGNodeType.h:
(DFG):

LayoutTests:

Rubber stamped by Oliver Hunt.

* fast/js/dfg-dead-speculation-expected.txt: Added.
* fast/js/dfg-dead-speculation.html: Added.
* fast/js/script-tests/dfg-dead-speculation.js: Added.
(foo):
(.thingy.f.valueOf):

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

8 years ago[Qt] Add desktop zooming support for QQuickWebView
kbalazs@webkit.org [Mon, 23 Apr 2012 22:33:10 +0000 (22:33 +0000)]
[Qt] Add desktop zooming support for QQuickWebView
https://bugs.webkit.org/show_bug.cgi?id=82337

Unreviewed typo fix after r114900.

* MiniBrowser/qt/BrowserWindow.cpp:
(BrowserWindow::BrowserWindow): Fix the mistyped
value of a zoom level.

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

8 years agoFix non-LLInt builds by temporarily removing an over-enthusiastic assertion
oliver@apple.com [Mon, 23 Apr 2012 22:07:55 +0000 (22:07 +0000)]
Fix non-LLInt builds by temporarily removing an over-enthusiastic assertion

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

8 years ago[chromium-android] Get rid of the trick that replaces system fallback font with DejaV...
commit-queue@webkit.org [Mon, 23 Apr 2012 21:59:17 +0000 (21:59 +0000)]
[chromium-android] Get rid of the trick that replaces system fallback font with DejaVuSans.
https://bugs.webkit.org/show_bug.cgi?id=84580

Patch by Hao Zheng <zhenghao@chromium.org> on 2012-04-23
Reviewed by Ojan Vafai.

Android's first fallback font is changed to DroidSansArabic.ttf in JB.
Take the opportunity to get rid of the trick.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.start_helper):
(ChromiumAndroidPort._push_fonts):

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

8 years agoUnreviewed, rolling out r109981.
commit-queue@webkit.org [Mon, 23 Apr 2012 21:58:43 +0000 (21:58 +0000)]
Unreviewed, rolling out r109981.
http://trac.webkit.org/changeset/109981
https://bugs.webkit.org/show_bug.cgi?id=84630

Broke Twitter map buddy icon (see
https://bugs.webkit.org/show_bug.cgi?id=84558) (Requested by
thorton on #webkit).

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

Source/WebCore:

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):

LayoutTests:

* compositing/layer-creation/overlap-empty-layer-expected.txt: Removed.
* compositing/layer-creation/overlap-empty-layer.html: Removed.

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

8 years agoChromium roll 133422:133506.
dimich@chromium.org [Mon, 23 Apr 2012 20:32:33 +0000 (20:32 +0000)]
Chromium roll 133422:133506.
Not reviewed.

* DEPS:

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

8 years agoCrash in RenderInline::clippedOverflowRectForRepaint for PrintPreview
eae@chromium.org [Mon, 23 Apr 2012 20:17:31 +0000 (20:17 +0000)]
Crash in RenderInline::clippedOverflowRectForRepaint for PrintPreview
https://bugs.webkit.org/show_bug.cgi?id=84300

Reviewed by Simon Fraser.

No new tests, have not been able to come up with a reliable reduction.

* rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint):
Add NULL check for containingBlock() as it can return NULL when detached
from the tree.

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

8 years agoUnreviewed, rolling out r114929.
jer.noble@apple.com [Mon, 23 Apr 2012 20:12:20 +0000 (20:12 +0000)]
Unreviewed, rolling out r114929.
http://trac.webkit.org/changeset/114929
https://bugs.webkit.org/show_bug.cgi?id=84623

Broke 35 canvas/webgl tests (Requested by jernoble on
#webkit).

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

Source/WebCore:

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::bindFramebuffer):
(WebCore::WebGLRenderingContext::deleteFramebuffer):
(WebCore::WebGLRenderingContext::loseContextImpl):
* platform/graphics/cairo/DrawingBufferCairo.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::update):
* platform/graphics/gpu/DrawingBuffer.cpp:
* platform/graphics/gpu/DrawingBuffer.h:
(WebCore::DrawingBuffer::setTexture2DBinding):
(DrawingBuffer):
* platform/graphics/gpu/mac/DrawingBufferMac.mm:
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/gpu/qt/DrawingBufferQt.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):

LayoutTests:

* fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize-expected.txt: Removed.
* fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html: Removed.
* fast/canvas/webgl/resources/webgl-test-utils.js:
(WebGLTestUtils):

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

8 years ago[V8] Pass Isolate around in V8Collection.h
haraken@chromium.org [Mon, 23 Apr 2012 20:06:11 +0000 (20:06 +0000)]
[V8] Pass Isolate around in V8Collection.h
https://bugs.webkit.org/show_bug.cgi?id=84299

Reviewed by Nate Chapin.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate around in V8Collection.h.

No tests. No change in behavior.

* bindings/v8/V8Collection.h:
(WebCore::getV8Object):
(WebCore::getNamedPropertyOfCollection):
(WebCore::collectionNamedPropertyGetter):
(WebCore::getIndexedPropertyOfCollection):
(WebCore::collectionIndexedPropertyGetter):

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

8 years agotest-webkitpy is failing
dpranke@chromium.org [Mon, 23 Apr 2012 19:49:02 +0000 (19:49 +0000)]
test-webkitpy is failing
https://bugs.webkit.org/show_bug.cgi?id=84617

Reviewed by Eric Seidel.

* Scripts/webkitpy/layout_tests/port/http_lock_unittest.py:
(HttpLockTestWithRealFileSystem.clean_all_lockfile):

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

8 years ago[V8] Pass Isolate to toV8() (Part5)
haraken@chromium.org [Mon, 23 Apr 2012 19:38:45 +0000 (19:38 +0000)]
[V8] Pass Isolate to toV8() (Part5)
https://bugs.webkit.org/show_bug.cgi?id=84271

Reviewed by Nate Chapin.

The objective is to pass Isolate to all toV8()s.
Since there are a lot of toV8(), I'll make the change
step by step. This patch passes Isolate to toV8()
in several custom bindings.

No tests. No change in behavior.

* bindings/v8/custom/V8MessageChannelConstructor.cpp:
(WebCore::V8MessageChannel::constructorCallback):
* bindings/v8/custom/V8MessageEventCustom.cpp:
(WebCore::V8MessageEvent::dataAccessorGetter):
(WebCore::V8MessageEvent::portsAccessorGetter):
* bindings/v8/custom/V8MutationCallbackCustom.cpp:
(WebCore::V8MutationCallback::handleEvent):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::V8NamedNodeMap::indexedPropertyGetter):
(WebCore::V8NamedNodeMap::namedPropertyGetter):
(WebCore::toV8):
* bindings/v8/custom/V8NodeListCustom.cpp:
(WebCore::V8NodeList::namedPropertyGetter):
* bindings/v8/custom/V8NotificationCenterCustom.cpp:
(WebCore::V8NotificationCenter::createHTMLNotificationCallback):
(WebCore::V8NotificationCenter::createNotificationCallback):
* bindings/v8/custom/V8PerformanceCustom.cpp:
(WebCore::V8Performance::memoryAccessorGetter):
* bindings/v8/custom/V8PopStateEventCustom.cpp:
(WebCore::V8PopStateEvent::stateAccessorGetter):
* bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
(WebCore::V8SQLTransactionSync::executeSqlCallback):
* bindings/v8/custom/V8SVGPathSegCustom.cpp:
(WebCore::toV8):

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

8 years agoframebuffer binding should not be changed after canvas resize or compositing
zmo@google.com [Mon, 23 Apr 2012 19:31:22 +0000 (19:31 +0000)]
framebuffer binding should not be changed after canvas resize or compositing
https://bugs.webkit.org/show_bug.cgi?id=84609

Reviewed by Kenneth Russell.

Source/WebCore:

Test: fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html

* html/canvas/WebGLRenderingContext.cpp: set framebuffer binding to DrawingBuffer.
(WebCore):
(WebCore::WebGLRenderingContext::bindFramebuffer):
(WebCore::WebGLRenderingContext::deleteFramebuffer):
(WebCore::WebGLRenderingContext::loseContextImpl):
* platform/graphics/cairo/DrawingBufferCairo.cpp: initialize m_framebufferBinding.
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/chromium/DrawingBufferChromium.cpp: Ditto.
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/chromium/WebGLLayerChromium.cpp: Recover framebuffer binding after update().
(WebCore::WebGLLayerChromium::update):
* platform/graphics/gpu/DrawingBuffer.cpp: Add a function to restore framebuffer binding.
(WebCore::DrawingBuffer::restoreFramebufferBinding):
(WebCore):
* platform/graphics/gpu/DrawingBuffer.h: Ditto.
(WebCore::DrawingBuffer::setTexture2DBinding):
(DrawingBuffer):
(WebCore::DrawingBuffer::setFramebufferBinding):
* platform/graphics/gpu/mac/DrawingBufferMac.mm: initialize m_framebufferBinding.
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/gpu/qt/DrawingBufferQt.cpp: initialize m_framebufferBinding.
(WebCore::DrawingBuffer::DrawingBuffer):

LayoutTests:

* fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize-expected.txt: Added.
* fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html: Added.
* fast/canvas/webgl/resources/webgl-test-utils.js: Sync with khronos side (partial)
(WebGLTestUtils.):
(WebGLTestUtils):

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

8 years agoSplit up flakiness_dashboard.html into multiple files. This is a step in the direction
ojan@chromium.org [Mon, 23 Apr 2012 19:24:44 +0000 (19:24 +0000)]
Split up flakiness_dashboard.html into multiple files. This is a step in the direction
of making the code more maintainable (e.g. being able to use qunit for testing).

* TestResultServer/static-dashboards/dashboard_base.js:
* TestResultServer/static-dashboards/flakiness_dashboard.css: Added.
* TestResultServer/static-dashboards/flakiness_dashboard.html:
* TestResultServer/static-dashboards/flakiness_dashboard.js: Copied from Tools/TestResultServer/static-dashboards/flakiness_dashboard.html.
* TestResultServer/static-dashboards/flakiness_dashboard_tests.css: Added.
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js: Renamed from Tools/TestResultServer/static-dashboards/flakiness_dashboard_tests.js.

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

8 years ago[V8] Pass Isolate to toV8() (Part4)
haraken@chromium.org [Mon, 23 Apr 2012 19:07:14 +0000 (19:07 +0000)]
[V8] Pass Isolate to toV8() (Part4)
https://bugs.webkit.org/show_bug.cgi?id=84269

Reviewed by Nate Chapin.

The objective is to pass Isolate to all toV8()s.
Since there are a lot of toV8()s, I'll make the change
step by step. This patch passes Isolate to toV8() in
several custom bindings.

No tests. No change in behavior.

* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::V8HTMLCanvasElement::getContextCallback):
* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::allAccessorGetter):
* bindings/v8/custom/V8HTMLElementCustom.cpp:
(WebCore::toV8Object):
(WebCore::V8HTMLElement::itemValueAccessorGetter):
* bindings/v8/custom/V8HTMLFormElementCustom.cpp:
(WebCore::V8HTMLFormElement::indexedPropertyGetter):
(WebCore::V8HTMLFormElement::namedPropertyGetter):
* bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
(WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore::v8HTMLImageElementConstructorCallback):
* bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
(WebCore::V8HTMLLinkElement::sizesAccessorGetter):
* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
(WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
* bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
(WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
* bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
(WebCore::V8HTMLSelectElement::indexedPropertyGetter):
* bindings/v8/custom/V8ImageDataCustom.cpp:
(WebCore::toV8):

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

8 years agoClean up subpixel unit handling in hit testing code
eae@chromium.org [Mon, 23 Apr 2012 18:59:59 +0000 (18:59 +0000)]
Clean up subpixel unit handling in hit testing code
https://bugs.webkit.org/show_bug.cgi?id=84496

Reviewed by Eric Seidel.

Fix use of IntRect and LayoutRect in hit testing code in preparation for
subpixel layout.

No new tests, no change in functionality.

* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::rectForPoint):
Revert rectForPoint to IntRect as all call sites converted it to an
IntRect anyway to compare it with an IntPoint or another IntRect.

* rendering/HitTestingTransformState.cpp:
(WebCore::HitTestingTransformState::boundsOfMappedQuad):
* rendering/HitTestingTransformState.h:
Convert boundsOfMappedQuad to LayoutRect as the TransformationMatrix now
has subpixel precision.

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

8 years ago[V8] Pass Isolate to toV8() (Part3)
haraken@chromium.org [Mon, 23 Apr 2012 18:47:43 +0000 (18:47 +0000)]
[V8] Pass Isolate to toV8() (Part3)
https://bugs.webkit.org/show_bug.cgi?id=84261

Reviewed by Nate Chapin.

The objective is to pass Isolate to all toV8()s.
Since there are a lot of toV8(), I'll make the change
step by step. This patch passes Isolate to toV8()
in several custom bindings.

No tests. No change in behavior.

* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::openCallback):
(WebCore::V8DOMWindow::indexedPropertyGetter):
(WebCore::V8DOMWindow::namedPropertyGetter):
* bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
(WebCore::V8DirectoryEntrySync::getDirectoryCallback):
(WebCore::V8DirectoryEntrySync::getFileCallback):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::V8Document::evaluateCallback):
(WebCore::V8Document::getCSSCanvasContextCallback):
(WebCore::V8Document::createTouchListCallback):
* bindings/v8/custom/V8DocumentLocationCustom.cpp:
(WebCore::V8Document::locationAccessorGetter):
* bindings/v8/custom/V8EntryCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8EntrySyncCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::V8Event::dataTransferAccessorGetter):
(WebCore::V8Event::clipboardDataAccessorGetter):
(WebCore):
* bindings/v8/custom/V8FileReaderCustom.cpp:
(WebCore::V8FileReader::resultAccessorGetter):
* bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
(WebCore::getItem):
(WebCore::V8HTMLAllCollection::callAsFunctionCallback):

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

8 years ago[V8] Pass Isolate to toV8() (Part2)
haraken@chromium.org [Mon, 23 Apr 2012 18:42:51 +0000 (18:42 +0000)]
[V8] Pass Isolate to toV8() (Part2)
https://bugs.webkit.org/show_bug.cgi?id=84259

Reviewed by Nate Chapin.

The objective is to pass Isolate to all toV8()s.
Since there are a lot of toV8(), I'll make the change
step by step. This patch passes Isolate to toV8() in
several custom bindings.

No tests. No change in behavior.

* bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSRuleCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSValueCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
(WebCore::toV8Object):
(WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter):
(WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter):
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::memoryAccessorGetter):
* bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
(WebCore::V8SQLStatementErrorCallback::handleEvent):
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DOMTokenListCustom.cpp:
(WebCore::toV8):

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

8 years agoUnreviewed, rolling out r114914.
dimich@chromium.org [Mon, 23 Apr 2012 18:34:58 +0000 (18:34 +0000)]
Unreviewed, rolling out r114914.
http://trac.webkit.org/changeset/114914
https://bugs.webkit.org/show_bug.cgi?id=84615

Causing infinite hangs on some tests involving HashMaps with
integer keys (Requested by dimich on #webkit).

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

* wtf/HashTable.h:
(WTF::HashTable::isEmptyBucket):
* wtf/HashTraits.h:
* wtf/text/StringHash.h:

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

8 years ago[V8][Refactoring] Remove V8Proxy::toV8()
haraken@chromium.org [Mon, 23 Apr 2012 18:33:01 +0000 (18:33 +0000)]
[V8][Refactoring] Remove V8Proxy::toV8()
https://bugs.webkit.org/show_bug.cgi?id=84257

Reviewed by Nate Chapin.

Some constructorCallback()s are using V8Proxy::toV8(),
other constructorCallback()s are directly using setJSWrapperForXXX()
(XXX can be DOMObject, ActiveDOMObject, Node or ActiveNode).
We should unify them.

Considering the fact that V8Proxy::toV8() just supports
XXX=DOMObject and thus is not flexible, replacing V8Proxy::toV8()
with setJSWrapperForDOMObject() would make sense.

No tests. No change in behavior.

* bindings/v8/V8Proxy.h: Removed toV8().

* bindings/scripts/CodeGeneratorV8.pm: Replaced toV8() with setJSWrapperForDOMObject().
(GenerateEventConstructorCallback):
* bindings/v8/custom/V8ArrayBufferCustom.cpp: Ditto.
(WebCore::V8ArrayBuffer::constructorCallback):
* bindings/v8/custom/V8ArrayBufferViewCustom.h: Ditto.
(WebCore::constructWebGLArrayWithArrayBufferArgument):
(WebCore::constructWebGLArray):
* bindings/v8/custom/V8DOMFormDataCustom.cpp: Ditto.
(WebCore::V8DOMFormData::constructorCallback):
* bindings/v8/custom/V8DataViewCustom.cpp: Ditto.
(WebCore::V8DataView::constructorCallback):
* bindings/v8/custom/V8MessageChannelConstructor.cpp: Ditto.
(WebCore::V8MessageChannel::constructorCallback):
* bindings/v8/custom/V8WebKitPointConstructor.cpp: Ditto.
(WebCore::V8WebKitPoint::constructorCallback):

* bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
(WebCore::V8TestEventConstructor::constructorCallback):

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

8 years ago[Chromium] Not reviewed, rebaseline of button images after
dimich@chromium.org [Mon, 23 Apr 2012 18:21:48 +0000 (18:21 +0000)]
[Chromium] Not reviewed, rebaseline of button images after
Chromium change http://codereview.chromium.org/10107019/

* platform/chromium-linux/css3/selectors3/html/css3-modsel-161-expected.png:
* platform/chromium-linux/css3/selectors3/html/css3-modsel-19b-expected.png:
* platform/chromium-linux/css3/selectors3/html/css3-modsel-64-expected.png:
* platform/chromium-linux/css3/selectors3/xhtml/css3-modsel-161-expected.png:
* platform/chromium-linux/css3/selectors3/xhtml/css3-modsel-19b-expected.png:
* platform/chromium-linux/css3/selectors3/xhtml/css3-modsel-64-expected.png:
* platform/chromium-linux/css3/selectors3/xml/css3-modsel-161-expected.png:
* platform/chromium-linux/css3/selectors3/xml/css3-modsel-19b-expected.png:
* platform/chromium-linux/css3/selectors3/xml/css3-modsel-64-expected.png:
* platform/chromium-linux/editing/pasteboard/4641033-expected.png:
* platform/chromium-linux/editing/pasteboard/4944770-1-expected.png:
* platform/chromium-linux/editing/pasteboard/4944770-2-expected.png:
* platform/chromium-linux/editing/selection/3690703-2-expected.png:
* platform/chromium-linux/editing/selection/3690703-expected.png:
* platform/chromium-linux/editing/selection/3690719-expected.png:
* platform/chromium-linux/editing/selection/4397952-expected.png:
* platform/chromium-linux/editing/selection/5240265-expected.png:
* platform/chromium-linux/editing/selection/caret-before-select-expected.png:
* platform/chromium-linux/editing/selection/replaced-boundaries-3-expected.png:
* platform/chromium-linux/editing/selection/select-box-expected.png:
* platform/chromium-linux/editing/selection/select-element-paragraph-boundary-expected.png:
* platform/chromium-linux/editing/selection/selection-button-text-expected.png:
* platform/chromium-linux/fast/block/float/float-avoidance-expected.png:
* platform/chromium-linux/fast/block/margin-collapse/103-expected.png:
* platform/chromium-linux/fast/block/positioning/inline-block-relposition-expected.png:
* platform/chromium-linux/fast/css/continuationCrash-expected.png:
* platform/chromium-linux/fast/css/margin-top-bottom-dynamic-expected.png:
* platform/chromium-linux/fast/css/rtl-ordering-expected.png:
* platform/chromium-linux/fast/css/square-button-appearance-expected.png:
* platform/chromium-linux/fast/css/text-transform-select-expected.png:
* platform/chromium-linux/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.png:
* platform/chromium-linux/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
* platform/chromium-linux/fast/forms/001-expected.png:
* platform/chromium-linux/fast/forms/003-expected.png:
* platform/chromium-linux/fast/forms/004-expected.png:
* platform/chromium-linux/fast/forms/HTMLOptionElement_label01-expected.png:
* platform/chromium-linux/fast/forms/HTMLOptionElement_label02-expected.png:
* platform/chromium-linux/fast/forms/HTMLOptionElement_label03-expected.png:
* platform/chromium-linux/fast/forms/HTMLOptionElement_label04-expected.png:
* platform/chromium-linux/fast/forms/HTMLOptionElement_label06-expected.png:
* platform/chromium-linux/fast/forms/HTMLOptionElement_label07-expected.png:
* platform/chromium-linux/fast/forms/basic-buttons-expected.png:
* platform/chromium-linux/fast/forms/basic-selects-expected.png:
* platform/chromium-linux/fast/forms/blankbuttons-expected.png:
* platform/chromium-linux/fast/forms/box-shadow-override-expected.png:
* platform/chromium-linux/fast/forms/button-align-expected.png:
* platform/chromium-linux/fast/forms/button-cannot-be-nested-expected.png:
* platform/chromium-linux/fast/forms/button-generated-content-expected.png:
* platform/chromium-linux/fast/forms/button-inner-block-reuse-expected.png:
* platform/chromium-linux/fast/forms/button-positioned-expected.png:
* platform/chromium-linux/fast/forms/button-sizes-expected.png:
* platform/chromium-linux/fast/forms/button-style-color-expected.png:
* platform/chromium-linux/fast/forms/button-table-styles-expected.png:
* platform/chromium-linux/fast/forms/button-text-transform-expected.png:
* platform/chromium-linux/fast/forms/button-white-space-expected.png:
* platform/chromium-linux/fast/forms/control-clip-overflow-expected.png:
* platform/chromium-linux/fast/forms/control-restrict-line-height-expected.png:
* platform/chromium-linux/fast/forms/disabled-select-change-index-expected.png:
* platform/chromium-linux/fast/forms/file/file-input-direction-expected.png:
* platform/chromium-linux/fast/forms/file/file-input-disabled-expected.png:
* platform/chromium-linux/fast/forms/file/file-input-pressed-state-expected.png:
* platform/chromium-linux/fast/forms/file/input-file-re-render-expected.png:
* platform/chromium-linux/fast/forms/form-element-geometry-expected.png:
* platform/chromium-linux/fast/forms/formmove3-expected.png:
* platform/chromium-linux/fast/forms/input-appearance-height-expected.png:
* platform/chromium-linux/fast/forms/input-button-sizes-expected.png:
* platform/chromium-linux/fast/forms/input-value-expected.png:
* platform/chromium-linux/fast/forms/menulist-deselect-update-expected.png:
* platform/chromium-linux/fast/forms/menulist-no-overflow-expected.png:
* platform/chromium-linux/fast/forms/menulist-restrict-line-height-expected.png:
* platform/chromium-linux/fast/forms/menulist-separator-painting-expected.png:
* platform/chromium-linux/fast/forms/menulist-style-color-expected.png:
* platform/chromium-linux/fast/forms/menulist-width-change-expected.png:
* platform/chromium-linux/fast/forms/option-script-expected.png:
* platform/chromium-linux/fast/forms/option-strip-whitespace-expected.png:
* platform/chromium-linux/fast/forms/option-text-clip-expected.png:
* platform/chromium-linux/fast/forms/select-align-expected.png:
* platform/chromium-linux/fast/forms/select-baseline-expected.png:
* platform/chromium-linux/fast/forms/select-change-listbox-to-popup-expected.png:
* platform/chromium-linux/fast/forms/select-dirty-parent-pref-widths-expected.png:
* platform/chromium-linux/fast/forms/select-disabled-appearance-expected.png:
* platform/chromium-linux/fast/forms/select-initial-position-expected.png:
* platform/chromium-linux/fast/forms/select-selected-expected.png:
* platform/chromium-linux/fast/forms/select-size-expected.png:
* platform/chromium-linux/fast/forms/select-style-expected.png:
* platform/chromium-linux/fast/forms/select-visual-hebrew-expected.png:
* platform/chromium-linux/fast/forms/select-writing-direction-natural-expected.png:
* platform/chromium-linux/fast/forms/selectlist-minsize-expected.png:
* platform/chromium-linux/fast/forms/stuff-on-my-optgroup-expected.png:
* platform/chromium-linux/fast/forms/targeted-frame-submission-expected.png:
* platform/chromium-linux/fast/forms/validation-message-appearance-expected.png:
* platform/chromium-linux/fast/html/details-replace-summary-child-expected.png:
* platform/chromium-linux/fast/html/details-replace-text-expected.png:
* platform/chromium-linux/fast/html/keygen-expected.png:
* platform/chromium-linux/fast/invalid/014-expected.png:
* platform/chromium-linux/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png:
* platform/chromium-linux/fast/overflow/scrollRevealButton-expected.png:
* platform/chromium-linux/fast/parser/document-write-option-expected.png:
* platform/chromium-linux/fast/repaint/control-clip-expected.png:
* platform/chromium-linux/fast/replaced/replaced-breaking-expected.png:
* platform/chromium-linux/fast/replaced/replaced-breaking-mixture-expected.png:
* platform/chromium-linux/fast/replaced/three-selects-break-expected.png:
* platform/chromium-linux/fast/replaced/width100percent-button-expected.png:
* platform/chromium-linux/fast/selectors/064-expected.png:
* platform/chromium-linux/fast/table/append-cells2-expected.png:
* platform/chromium-linux/fast/table/remove-td-display-none-expected.png:
* platform/chromium-linux/fast/text/international/bidi-menulist-expected.png:
* platform/chromium-linux/fast/text/international/hindi-spacing-expected.png:
* platform/chromium-linux/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png:
* platform/chromium-linux/fast/text/textIteratorNilRenderer-expected.png:
* platform/chromium-linux/fullscreen/full-screen-iframe-zIndex-expected.png:
* platform/chromium-linux/fullscreen/full-screen-remove-ancestor-after-expected.png:
* platform/chromium-linux/fullscreen/full-screen-zIndex-after-expected.png:
* platform/chromium-linux/http/tests/navigation/javascriptlink-frames-expected.png:
* platform/chromium-linux/svg/custom/foreign-object-skew-expected.png:
* platform/chromium-linux/svg/custom/inline-svg-in-xhtml-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug1188-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug1318-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug138725-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug18359-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug2479-2-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug2479-3-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug26178-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug28928-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug29326-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug33855-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug39209-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug4382-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug4429-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug44505-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug46368-1-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug46368-2-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug51037-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug51727-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug52505-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug52506-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug60749-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug68912-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug7342-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug92647-2-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug96334-expected.png:
* platform/chromium-linux/tables/mozilla/collapsing_borders/bug41262-4-expected.png:
* platform/chromium-linux/tables/mozilla/core/margins-expected.png:
* platform/chromium-linux/tables/mozilla/dom/tableDom-expected.png:
* platform/chromium-linux/tables/mozilla/other/move_row-expected.png:
* platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug1725-expected.png:
* platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png:
* platform/chromium-linux/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png:
* platform/chromium-linux/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png:
* platform/chromium-linux/transforms/2d/zoom-menulist-expected.png:
* platform/chromium-mac-leopard/fast/forms/box-shadow-override-expected.txt: Removed.
* platform/chromium-mac-leopard/tables/mozilla/bugs/bug26178-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/forms/box-shadow-override-expected.txt: Removed.
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug26178-expected.txt: Removed.

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

8 years ago[V8] Pass Isolate to toV8() (Part1)
haraken@chromium.org [Mon, 23 Apr 2012 18:18:20 +0000 (18:18 +0000)]
[V8] Pass Isolate to toV8() (Part1)
https://bugs.webkit.org/show_bug.cgi?id=84250

Reviewed by Nate Chapin.

The final objective is to pass Isolate around in V8 bindings.
This patch makes a change in CodeGeneratorV8.pm so that the
generated code passes Isolate to toV8().

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
(GenerateNormalAttrGetter):
(GenerateNamedConstructorCallback):
(GenerateCallbackImplementation):
(GenerateFunctionCallString):
(NativeToJSValue):

* bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests results.
(WebCore::Float64ArrayV8Internal::fooCallback):
* bindings/scripts/test/V8/V8TestCallback.cpp:
(WebCore::V8TestCallback::callbackWithClass1Param):
(WebCore::V8TestCallback::callbackWithClass2Param):
(WebCore::V8TestCallback::callbackWithStringList):
(WebCore::V8TestCallback::callbackRequiresThisToPass):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
(WebCore::TestObjV8Internal::testObjAttrAttrGetter):
(WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
(WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
(WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
(WebCore::TestObjV8Internal::mutablePointAttrGetter):
(WebCore::TestObjV8Internal::immutablePointAttrGetter):
(WebCore::TestObjV8Internal::objMethodCallback):
(WebCore::TestObjV8Internal::objMethodWithArgsCallback):
(WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjV8Internal::withScriptStateObjCallback):
(WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
(WebCore::TestObjV8Internal::mutablePointFunctionCallback):
(WebCore::TestObjV8Internal::immutablePointFunctionCallback):
(WebCore::TestObjV8Internal::strictFunctionCallback):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):

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

8 years ago[V8] Add an optional Isolate argument to setDOMException() and throwError()
haraken@chromium.org [Mon, 23 Apr 2012 17:47:54 +0000 (17:47 +0000)]
[V8] Add an optional Isolate argument to setDOMException() and throwError()
https://bugs.webkit.org/show_bug.cgi?id=84310

Reviewed by Nate Chapin.

The objective is to pass Isolate to setDOMException()
and throwError(). This patch adds an optional Isolate argument
to setDOMException() and throwError(). I'll pass the Isolate
to these methods in the following patches.

No tests. No change in behavior.

* bindings/v8/V8Proxy.cpp:
(WebCore):
(WebCore::V8Proxy::setDOMException):
(WebCore::V8Proxy::throwError):
* bindings/v8/V8Proxy.h:
(V8Proxy):
(WebCore):
(WebCore::throwError):

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

8 years agocss3/zoom-coords.xml failing after http://trac.webkit.org/changeset/114811
jer.noble@apple.com [Mon, 23 Apr 2012 17:42:19 +0000 (17:42 +0000)]
css3/zoom-coords.xml failing after trac.webkit.org/changeset/114811
https://bugs.webkit.org/show_bug.cgi?id=84612

Unreviewed partial rollout of r114811.

* css3/zoom-coords-expected.txt:

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

8 years ago[Qt][WK2] Convert touch-point area.
commit-queue@webkit.org [Mon, 23 Apr 2012 17:36:57 +0000 (17:36 +0000)]
[Qt][WK2] Convert touch-point area.
https://bugs.webkit.org/show_bug.cgi?id=84434

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-23
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Missed WebKit2 conversion in commit r106470.

* Shared/qt/WebEventFactoryQt.cpp:
(WebKit::WebEventFactory::createWebTouchEvent):

Tools:

Add feature to set touch-point radius for emitted touch-events.

* DumpRenderTree/qt/EventSenderQt.cpp:
(EventSender::addTouchPoint):
(EventSender::updateTouchPoint):
(EventSender::setTouchPointRadius):
(EventSender::clearTouchPoints):
* DumpRenderTree/qt/EventSenderQt.h:
(EventSender):

LayoutTests:

Expand the basic touch test, to check touch-point radius, if feature
is available in EventSender.

* fast/events/touch/script-tests/basic-single-touch-events.js:
(verifyTouchPoint):
(verifyTouch):
(singleTouchSequence):

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

8 years ago[chromium] Properly ignore unsupported animation directions.
commit-queue@webkit.org [Mon, 23 Apr 2012 17:28:42 +0000 (17:28 +0000)]
[chromium] Properly ignore unsupported animation directions.
https://bugs.webkit.org/show_bug.cgi?id=84599

Patch by Ian Vollick <vollick@chromium.org> on 2012-04-23
Reviewed by Adrienne Walker.

Source/WebCore:

Tested in CCLayerAnimationControllerTest.ignoreUnsupportedAnimationDirections.

* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:

Source/WebKit/chromium:

* tests/CCLayerAnimationControllerTest.cpp:
(WebKitTests::TEST):
(WebKitTests):

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

8 years agoIterating a HashMap<String, X> involves a string equality comparison to check for...
darin@apple.com [Mon, 23 Apr 2012 17:26:18 +0000 (17:26 +0000)]
Iterating a HashMap<String, X> involves a string equality comparison to check for the empty value
https://bugs.webkit.org/show_bug.cgi?id=84524

Reviewed by Antti Koivisto.

Added a new algorithm for checking for empty buckets that can be specialized.
Specialized it for String. We may later want to do the same thing for KURL.
It's not important to do it for AtomicString, since AtomicString's == function
is already a simple pointer equality compare.

* wtf/HashTable.h:
(WTF::HashTable::isEmptyBucket): Call the new isHashTraitsEmptyValue function, which
will do something more efficient for String.

* wtf/HashTraits.h: Added hasIsEmptyValueFunction to hash traits, with a default value
of false. This allows us to continue to get automatic comparison with the appropriate
emptyValue result for all existing traits, but supply a custom isEmptyValue function
for HashTraits<String>. Putting an isEmptyValue function into the traits would require
overriding it in every class that has a custom value for emptyValue. Specialized
HashTraits for String to add hasIsEmptyValueFunction and declare, but not define, the
isEmptyValue function.
(WTF::isHashTraitsEmptyValue): Added a function that uses the HashTraitsEmptyValueChecker
struct to use either == combined with the emptyValue function or the isEmptyValue function.
(PairHashTraits): Define hasIsEmptyValueFunction and isEmptyValue.

* wtf/text/StringHash.h: Removed unneeded includes and sorted the using statements at
the bottom of the file.
(WTF::HashTraits<String>::isEmptyValue): Define this function here, since here we have
included the WTFString.h header; the HashTraits.h header compiles without WTFString.h.

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

8 years ago[Qt] Unreviewed gardening.
pierre.rossi@gmail.com [Mon, 23 Apr 2012 16:58:25 +0000 (16:58 +0000)]
[Qt] Unreviewed gardening.

Unskip the tests skipped in r114905.

* platform/qt-5.0/Skipped:

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

8 years ago[Performance][V8] Skip Isolate look-up to find StringCache
haraken@chromium.org [Mon, 23 Apr 2012 16:55:13 +0000 (16:55 +0000)]
[Performance][V8] Skip Isolate look-up to find StringCache
https://bugs.webkit.org/show_bug.cgi?id=84103

Reviewed by Nate Chapin.

This patch improves the performance of a lot of DOM attribute
getters that return a string.

- Improves the performance of Dromaeo/dom-attr.html(element.property)
  by 27.7%.
- Improves the performance of Dromaeo/dom-attr.html(getAttribute)
  by 10.6%.
- Improves the performance of div.id, div.className,
  div.nodeName, text.nodeValue, text.textContent by 12% -- 21%.

The followings are the test results in my Linux desktop.

Performance test: Dromaeo/dom-attr.html
Total:                     674.64runs/s ->  707.03runs/s (+ 4.8%)
getAttribute:             1537.60runs/s -> 1700.20runs/s (+10.6%)
element.property:         1389.00runs/s -> 1774.20runs/s (+27.7%)
setAttribute:              538.88runs/s ->  548.87runs/s (+ 1.9%)
element.property = value:  644.07runs/s ->  656.67runs/s (+ 2.0%)
element.expando = value:   219.76runs/s ->  207.14runs/s (- 6.8%)
element.expando:           578.77runs/s ->  554.67runs/s (- 4.2%)

Performance test: https://bugs.webkit.org/attachment.cgi?id=137440
div.id:           30.70ns -> 26.70ns (+15%)
div.className:    31.10ns -> 26.40ns (+18%)
div.nodeName:     37.70ns -> 33.00ns (+14%)
text.nodeValue:   31.40ns -> 25.90ns (+21%)
text.textContent: 51.50ns -> 45.90ns (+12%)

Previously V8 bindings need to look up an Isolate to find
an Isolate-local StringCache. This patch skips the look-up
by getting the Isolate from AccessorInfo.GetIsolate()
or Arguments.GetIsolate().

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateFunctionCallString):
(NativeToJSValue):
* bindings/v8/V8Binding.cpp:
(WebCore::getElementStringAttr):
* bindings/v8/V8Binding.h:
(WebCore::v8ExternalString): Make 'isolate' an optional argument.
Ideally we want to make 'isolate' a non-optional argument,
but it is difficult to rewrite all v8ExternalString() callers
at a breath. We can rewrite them incrementally.
(WebCore::v8String): Ditto.
(WebCore::v8StringOrNull): Ditto.
(WebCore::v8StringOrUndefined): Ditto.
(WebCore::v8StringOrFalse): Ditto.

* bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
(WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
(WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
(WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
(WebCore::TestObjV8Internal::stringAttrAttrGetter):
(WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
(WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
(WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
(WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
(WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
(WebCore::TestObjV8Internal::hashAttrGetter):
(WebCore::TestObjV8Internal::conditionalMethod1Callback):

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

8 years ago[V8] Add an optional Isolate argument to wrap()
haraken@chromium.org [Mon, 23 Apr 2012 16:50:53 +0000 (16:50 +0000)]
[V8] Add an optional Isolate argument to wrap()
https://bugs.webkit.org/show_bug.cgi?id=84202

Reviewed by Nate Chapin.

The final objective is to pass Isolate around in V8 bindings.
This patch adds an optional Isolate argument to wrap().
After rewriting all wrap() callers so that they pass Isolate
to wrap(), I'll make the Isolate argument non-optional.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
(GenerateHeader):
* bindings/v8/custom/V8DocumentCustom.cpp: Ditto.
(WebCore::toV8):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp: Ditto.
(WebCore::toV8):
* bindings/v8/custom/V8NodeCustom.cpp: Ditto.
(WebCore::toV8Slow):
* bindings/v8/custom/V8SVGDocumentCustom.cpp: Ditto.
(WebCore::toV8):
* dom/make_names.pl: Ditto.
(printWrapperFactoryCppFile):

* bindings/scripts/test/V8/V8Float64Array.h:
Updated run-bindings-tests results.
(V8Float64Array):
(WebCore::V8Float64Array::wrap):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):
(WebCore::V8TestActiveDOMObject::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(V8TestCustomNamedGetter):
(WebCore::V8TestCustomNamedGetter::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(V8TestEventConstructor):
(WebCore::V8TestEventConstructor::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(V8TestEventTarget):
(WebCore::V8TestEventTarget::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestInterface.h:
(V8TestInterface):
(WebCore::V8TestInterface::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(V8TestMediaQueryListListener):
(WebCore::V8TestMediaQueryListListener::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(V8TestNamedConstructor):
(WebCore::V8TestNamedConstructor::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNode.h:
(V8TestNode):
(WebCore::V8TestNode::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestObj.h:
(V8TestObj):
(WebCore::V8TestObj::wrap):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(V8TestSerializedScriptValueInterface):
(WebCore::V8TestSerializedScriptValueInterface::wrap):
(WebCore::toV8):

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

8 years ago[V8] Pass Isolate to toV8Slow()
haraken@chromium.org [Mon, 23 Apr 2012 16:46:04 +0000 (16:46 +0000)]
[V8] Pass Isolate to toV8Slow()
https://bugs.webkit.org/show_bug.cgi?id=84173

Reviewed by Nate Chapin.

The final objective is to pass Isolate around in V8 bindings.
This patch passes the Isolate to toV8Slow().

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/v8/custom/V8NodeCustom.cpp:
(WebCore::toV8Slow):

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

8 years agoREGRESSION (r114855): fast/js/global-constructors.html, fast/dom/Window/window-proper...
jer.noble@apple.com [Mon, 23 Apr 2012 16:44:36 +0000 (16:44 +0000)]
REGRESSION (r114855): fast/js/global-constructors.html, fast/dom/Window/window-properties.html, fast/dom/prototype-inheritance-2.html failing.
https://bugs.webkit.org/show_bug.cgi?id=84604

Unreviewed gardening; add new expected failing tests to test_expectations.txt.

* platform/mac/test_expectations.txt:

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

8 years ago[Qt] Unreviewed gardening after r114899
pierre.rossi@gmail.com [Mon, 23 Apr 2012 16:30:26 +0000 (16:30 +0000)]
[Qt] Unreviewed gardening after r114899

* platform/qt-5.0/css2.1/t0805-c5518-brdr-t-01-e-expected.txt: Added.
* platform/qt-5.0/css2.1/t0805-c5519-brdr-r-00-a-expected.txt: Added.
* platform/qt-5.0/css2.1/t0805-c5519-brdr-r-01-e-expected.txt: Added.
* platform/qt-5.0/css2.1/t0805-c5520-brdr-b-01-e-expected.txt: Added.
* platform/qt-5.0/css2.1/t0805-c5521-brdr-l-00-a-expected.txt: Added.
* platform/qt-5.0/css2.1/t0805-c5521-brdr-l-01-e-expected.txt: Added.
* platform/qt-5.0/css2.1/t0805-c5521-ibrdr-l-00-a-expected.txt: Added.
* platform/qt-5.0/css2.1/t0905-c414-flt-02-c-expected.txt: Added.
* platform/qt-5.0/css2.1/t0905-c414-flt-03-c-expected.txt: Added.
* platform/qt-5.0/css2.1/t0905-c414-flt-04-c-expected.txt: Added.
* platform/qt-5.0/css2.1/t0905-c414-flt-fit-01-d-g-expected.txt: Added.
* platform/qt-5.0/css2.1/t0905-c5525-fltblck-00-d-ag-expected.txt: Added.
* platform/qt-5.0/css2.1/t0905-c5525-fltblck-01-d-expected.txt: Added.
* platform/qt-5.0/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt: Added.
* platform/qt-5.0/css2.1/t0905-c5525-flthw-00-c-g-expected.txt: Added.
* platform/qt-5.0/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt: Added.
* platform/qt-5.0/css2.1/t0905-c5525-fltwidth-02-c-g-expected.txt: Added.
* platform/qt-5.0/css2.1/t0905-c5525-fltwidth-03-c-g-expected.txt: Added.
* platform/qt-5.0/css2.1/t0905-c5525-fltwrap-00-b-expected.txt: Added.
* platform/qt-5.0/css2.1/t0905-c5526-flthw-00-c-g-expected.txt: Added.
* platform/qt-5.0/css2.1/t090501-c414-flt-01-b-expected.txt: Added.
* platform/qt-5.0/css2.1/t090501-c414-flt-03-b-g-expected.txt: Added.
* platform/qt-5.0/css2.1/t090501-c414-flt-ln-01-d-g-expected.txt: Added.
* platform/qt-5.0/css2.1/t090501-c5525-flt-l-00-b-g-expected.txt: Added.
* platform/qt-5.0/css2.1/t090501-c5525-flt-r-00-b-g-expected.txt: Added.
* platform/qt-5.0/css2.1/t100304-c43-rpl-bbx-01-d-g-expected.txt: Added.
* platform/qt-5.0/css2.1/t1202-counter-03-b-expected.txt: Added.
* platform/qt-5.0/css2.1/t1202-counter-04-b-expected.txt: Added.
* platform/qt-5.0/css2.1/t1202-counters-03-b-expected.txt: Added.
* platform/qt-5.0/css2.1/t1205-c566-list-stl-01-c-g-expected.txt: Added.
* platform/qt-5.0/editing/deleting/5144139-2-expected.txt: Added.
* platform/qt-5.0/editing/selection/click-left-of-rtl-wrapping-text-expected.txt: Added.
* platform/qt-5.0/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt: Added.
* platform/qt-5.0/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt: Added.
* platform/qt-5.0/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt: Added.
* platform/qt-5.0/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt: Added.
* platform/qt-5.0/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt: Added.
* platform/qt-5.0/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt: Added.
* platform/qt-5.0/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt: Added.
* platform/qt-5.0/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt: Added.
* platform/qt-5.0/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
* platform/qt-5.0/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
* platform/qt-5.0/fast/borders/bidi-002-expected.txt: Added.
* platform/qt-5.0/fast/borders/bidi-009a-expected.txt: Added.
* platform/qt-5.0/fast/borders/bidi-012-expected.txt: Added.
* platform/qt-5.0/fast/css/beforeSelectorOnCodeElement-expected.txt: Added.
* platform/qt-5.0/fast/forms/listbox-bidi-align-expected.txt: Added.
* platform/qt-5.0/fast/forms/search-rtl-expected.txt: Added.
* platform/qt-5.0/fast/repaint/continuation-after-outline-expected.txt: Added.
* platform/qt-5.0/fast/text/backslash-to-yen-sign-euc-expected.txt: Added.
* platform/qt-5.0/fast/text/backslash-to-yen-sign-expected.txt: Added.
* platform/qt-5.0/fast/text/fallback-traits-fixup-expected.txt: Added.
* platform/qt-5.0/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt: Added.
* platform/qt-5.0/fast/text/soft-hyphen-3-expected.txt: Added.
* platform/qt-5.0/fast/text/softHyphen-expected.txt: Added.
* platform/qt-5.0/fast/writing-mode/fallback-orientation-expected.txt: Added.
* platform/qt-5.0/svg/as-image/img-preserveAspectRatio-support-1-expected.txt:
* platform/qt-5.0/svg/custom/glyph-selection-bidi-mirror-expected.txt:
* platform/qt-5.0/svg/custom/glyph-selection-non-bmp-expected.txt: Added.
* platform/qt-5.0/svg/hixie/intrinsic/003-expected.txt: Added.
* platform/qt-5.0/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:

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

8 years ago[V8] Add an optional Isolate argument to toV8().
haraken@chromium.org [Mon, 23 Apr 2012 16:20:06 +0000 (16:20 +0000)]
[V8] Add an optional Isolate argument to toV8().
https://bugs.webkit.org/show_bug.cgi?id=84161

Reviewed by Nate Chapin.

The final objective is to pass Isolate around in V8 bindings.
This patch adds an optional Isolate argument to toV8().
After rewriting all toV8() callers so that they pass Isolate,
I will make the Isolate argument non-optional.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
Modified as described above.
(GenerateHeader):
(NativeToJSValue):
* bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSRuleCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSValueCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DOMTokenListCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DataViewCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8EntryCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8EntrySyncCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Float32ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Float64ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8HTMLElementCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8IDBKeyCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ImageDataCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Int16ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Int32ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Int8ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8NodeCustom.cpp:
(WebCore::toV8Slow):
* bindings/v8/custom/V8SVGDocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8SVGElementCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8SVGPathSegCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ScriptProfileCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8StyleSheetCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint16ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint32ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint8ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::toV8):

* bindings/scripts/test/V8/V8Float64Array.h:
Updated run-bindings-tests results.
(WebCore):
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestInterface.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNode.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestObj.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(WebCore::toV8):

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

8 years ago[EFL] EFL's LayoutTestController does not implement elementDoesAutoCompleteForElement...
commit-queue@webkit.org [Mon, 23 Apr 2012 16:10:37 +0000 (16:10 +0000)]
[EFL] EFL's LayoutTestController does not implement elementDoesAutoCompleteForElementWithId
https://bugs.webkit.org/show_bug.cgi?id=84425

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-04-23
Reviewed by Antonio Gomes.

Source/WebKit/efl:

Add a helper function to DumpRenderTreeSupportEfl, returning
whether or not an element does perform autocompletion.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::elementDoesAutoCompleteForElementWithId):
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Use the new helper in DumpRenderTreeSupportEfl to properly
test whether an element performs autocompletion.

* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
(LayoutTestController::elementDoesAutoCompleteForElementWithId):

LayoutTests:

Unskip the newly-passing test now that EFL's LayoutTestController
implements elementDoesAutoCompleteForElementWithId().

* platform/efl/Skipped:

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

8 years ago[Qt] Unreviewed gardening, skip new failing tests. (less tests == less problem)
ossy@webkit.org [Mon, 23 Apr 2012 16:08:09 +0000 (16:08 +0000)]
[Qt] Unreviewed gardening, skip new failing tests. (less tests == less problem)

* platform/qt-5.0/Skipped:

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

8 years ago[EFL] Unskip passing web storage tests
commit-queue@webkit.org [Mon, 23 Apr 2012 16:04:23 +0000 (16:04 +0000)]
[EFL] Unskip passing web storage tests
https://bugs.webkit.org/show_bug.cgi?id=84342

Unreviewed gardening.

Unskiped the passing tests and moved the remainig ones to
tests_expectations.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-04-23

* platform/efl/Skipped:
* platform/efl/test_expectations.txt:

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

8 years agomaster.cfg cleanup, remove dead codes after r92792.
ossy@webkit.org [Mon, 23 Apr 2012 15:34:36 +0000 (15:34 +0000)]
cfg cleanup, remove dead codes after r92792.
https://bugs.webkit.org/show_bug.cgi?id=84433

Relanding r114881 after typo fix in UploadBuiltProduct.

Reviewed by Ryosuke Niwa.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:

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

8 years ago[EFL][WK2] Fix build break when non-cross platform CONTEXT_MENUS are enabled.
commit-queue@webkit.org [Mon, 23 Apr 2012 15:05:37 +0000 (15:05 +0000)]
[EFL][WK2] Fix build break when non-cross platform CONTEXT_MENUS are enabled.
https://bugs.webkit.org/show_bug.cgi?id=84136

Patch by Michał Pakuła vel Rutka <m.pakula@samsung.com> on 2012-04-23
Reviewed by Andreas Kling.

There was a mismatch between contextMenuItemVector declaration and definition.
Fixed by changing PlatformMenuDescription for EFL port by adding a const modifier.

No new tests required.

* platform/PlatformMenuDescription.h:
(WebCore): Added const modifier to PlatformMenuDescription definition.

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

8 years ago[EFL][DRT] Need to support requestAnimationFrame
commit-queue@webkit.org [Mon, 23 Apr 2012 15:05:17 +0000 (15:05 +0000)]
[EFL][DRT] Need to support requestAnimationFrame
https://bugs.webkit.org/show_bug.cgi?id=84585

Patch by Dominik Röttsches <dominik.rottsches@linux.intel.com> on 2012-04-23
Reviewed by Martin Robinson.

Tools:

Making requestAnimationFrame() support a default on the EFL build.

* Scripts/build-webkit:

LayoutTests:

Unskipping cases related to requestAnimationFrame().
Moving leftover cases to test_expectations.txt for separate
analysis.

* platform/efl/Skipped:
* platform/efl/test_expectations.txt:

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

8 years ago[Qt] Add desktop zooming support for QQuickWebView
kbalazs@webkit.org [Mon, 23 Apr 2012 14:56:40 +0000 (14:56 +0000)]
[Qt] Add desktop zooming support for QQuickWebView
https://bugs.webkit.org/show_bug.cgi?id=82337

Reviewed by Simon Hausmann.

Source/WebKit2:

Add private C++ API for programmatic zooming.
This is important on desktop where we don't
have any way to zoom currently.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewLegacyPrivate::zoomFactor):
(QQuickWebViewLegacyPrivate::setZoomFactor):
(QQuickWebView::zoomFactor):
(QQuickWebView::setZoomFactor):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate::zoomFactor):
(QQuickWebViewPrivate::setZoomFactor):
(QQuickWebViewPrivate):
(QQuickWebViewLegacyPrivate):

Tools:

Add zooming support for MiniBrowser to
test the new API.

* MiniBrowser/qt/BrowserWindow.cpp:
(BrowserWindow::BrowserWindow):
(BrowserWindow::zoomIn):
(BrowserWindow::zoomOut):
(BrowserWindow::keyPressEvent):
(BrowserWindow::wheelEvent):
* MiniBrowser/qt/BrowserWindow.h:
(BrowserWindow):

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

8 years ago[Qt] Ensure zero-width space effectively accounts for a width of zero.
pierre.rossi@gmail.com [Mon, 23 Apr 2012 14:55:31 +0000 (14:55 +0000)]
[Qt] Ensure zero-width space effectively accounts for a width of zero.
https://bugs.webkit.org/show_bug.cgi?id=84595

Reviewed by Simon Hausmann.

The logic so far relies on FontCache::getFontDataForCharacters to
return a valid fontData in the case where the fonts specified don't
have a glyph for the zero-width space character.
QTextLayout::glyphRuns simply ignores characters that don't render in
the glyph runs it returns, so we need to ensure that the subsequent
call to platformWidthForGlyph doesn't lead to a non-zero width.

Covered by tests containing control characters such as
a soft-hyphen like it's the case in:
svg/as-image/img-preserveAspectRatio-support-1.html

* platform/graphics/qt/SimpleFontDataQt.cpp:
(WebCore::SimpleFontData::platformWidthForGlyph):

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

8 years ago[chromium] When prepareToDraw fails due to animation checkerboard, we need to call...
commit-queue@webkit.org [Mon, 23 Apr 2012 14:53:10 +0000 (14:53 +0000)]
[chromium] When prepareToDraw fails due to animation checkerboard, we need to call setNeedsCommit
https://bugs.webkit.org/show_bug.cgi?id=84520

Patch by Ian Vollick <vollick@chromium.org> on 2012-04-23
Reviewed by Adrienne Walker.

Source/WebCore:

Tested in CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::prepareToDraw):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:
(WebKitTests::TEST_F):

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

8 years ago[Qt][WK2] Move non-api classes to WebKit namespace at WebKit2/UiProcess/qt
commit-queue@webkit.org [Mon, 23 Apr 2012 14:43:41 +0000 (14:43 +0000)]
[Qt][WK2] Move non-api classes to WebKit namespace at WebKit2/UiProcess/qt
https://bugs.webkit.org/show_bug.cgi?id=84528

Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-04-23
Reviewed by Simon Hausmann.

Fix namespace usage in non-api classes for Qt.

* UIProcess/API/qt/qquickwebpage.cpp:
* UIProcess/API/qt/qquickwebpage_p.h:
(WebKit):
* UIProcess/API/qt/qquickwebpage_p_p.h:
(WebKit):
(QQuickWebPagePrivate):
* UIProcess/API/qt/qquickwebview.cpp:
* UIProcess/API/qt/qquickwebview_p.h:
(WebKit):
* UIProcess/API/qt/qquickwebview_p_p.h:
(WebKit):
(QQuickWebViewPrivate::viewportInteractionEngine):
(QQuickWebViewPrivate):
(QQuickWebViewFlickablePrivate::viewportInteractionEngine):
(QQuickWebViewFlickablePrivate):
* UIProcess/API/qt/qwebdownloaditem_p.h:
(WebKit):
* UIProcess/API/qt/qwebviewportinfo.cpp:
* UIProcess/qt/LayerBackingStore.cpp:
* UIProcess/qt/LayerBackingStore.h:
(WebKit):
* UIProcess/qt/QtDialogRunner.cpp:
(WebKit):
* UIProcess/qt/QtDialogRunner.h:
(WebKit):
* UIProcess/qt/QtDownloadManager.cpp:
* UIProcess/qt/QtDownloadManager.h:
(WebKit):
* UIProcess/qt/QtGestureRecognizer.cpp:
* UIProcess/qt/QtGestureRecognizer.h:
(WebKit):
* UIProcess/qt/QtPageClient.cpp:
(WebKit):
* UIProcess/qt/QtPageClient.h:
(WebKit):
(QtPageClient):
* UIProcess/qt/QtPanGestureRecognizer.cpp:
* UIProcess/qt/QtPanGestureRecognizer.h:
* UIProcess/qt/QtPinchGestureRecognizer.cpp:
* UIProcess/qt/QtPinchGestureRecognizer.h:
* UIProcess/qt/QtTapGestureRecognizer.h:
(WebKit):
* UIProcess/qt/QtViewportInteractionEngine.cpp:
* UIProcess/qt/QtViewportInteractionEngine.h:
* UIProcess/qt/QtWebContext.cpp:
* UIProcess/qt/QtWebContext.h:
* UIProcess/qt/QtWebError.cpp:
(WebKit):
* UIProcess/qt/QtWebError.h:
(WebKit):
* UIProcess/qt/QtWebIconDatabaseClient.cpp:
(WebKit):
* UIProcess/qt/QtWebIconDatabaseClient.h:
(WTF):
(WebKit):
(QtWebIconDatabaseClient):
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit):
* UIProcess/qt/QtWebPageEventHandler.h:
(WebCore):
(WebKit):
* UIProcess/qt/QtWebPageLoadClient.cpp:
(WebKit):
* UIProcess/qt/QtWebPageLoadClient.h:
(WebKit):
* UIProcess/qt/QtWebPagePolicyClient.cpp:
(WebKit):
* UIProcess/qt/QtWebPagePolicyClient.h:
(WebKit):
* UIProcess/qt/QtWebPageSGNode.cpp:
* UIProcess/qt/QtWebPageSGNode.h:
(WebKit):
* UIProcess/qt/QtWebPageUIClient.cpp:
* UIProcess/qt/QtWebPageUIClient.h:
(WebKit):
* UIProcess/qt/QtWebUndoController.cpp:
(WebKit):
* UIProcess/qt/QtWebUndoController.h:
(WebKit):
* UIProcess/qt/WebContextMenuProxyQt.cpp:
* UIProcess/qt/WebContextQt.cpp:
* UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
* UIProcess/qt/WebGeolocationProviderQt.cpp:
(WebKit):
* UIProcess/qt/WebGeolocationProviderQt.h:
(WebKit):
* UIProcess/qt/WebPopupMenuProxyQt.cpp:
(WebKit):
* UIProcess/qt/WebPopupMenuProxyQt.h:

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

8 years ago[Chromium] Unreviewed test expectations update.
mnaganov@chromium.org [Mon, 23 Apr 2012 14:35:13 +0000 (14:35 +0000)]
[Chromium] Unreviewed test expectations update.
https://bugs.webkit.org/show_bug.cgi?id=84596

Mark media/encrypted-media/encrypted-media-events.html as flaky.

* platform/chromium/test_expectations.txt:

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

8 years agoSimplify CSSParser::parseFont.
alexis.menard@openbossa.org [Mon, 23 Apr 2012 14:26:55 +0000 (14:26 +0000)]
Simplify CSSParser::parseFont.
https://bugs.webkit.org/show_bug.cgi?id=78698

Reviewed by Antti Koivisto.

Source/WebCore:

Simplify parseFont by sharing the code we have for
the longhands of the font property.

No new tests : Extend the existing font shorthand test and modify expected files
as now the order of the longhands added in the property list of the style
has changed. It's very unlikely that some code is relying on this order though. It will
also match the way the spec order them http://www.w3.org/TR/css3-fonts/#font-prop
even though the order is arbitrary for some values.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFont):
(WebCore::CSSParser::parseLineHeight):
(WebCore):
(WebCore::CSSParser::parseFontSize):
(WebCore::CSSParser::parseFontWeight):  Fix a bug discovered while using parseFontWeight from
the parseFont (case font: 0/0, Arial, sans-serif; in a layout test), we should return true only
when we add something in the property list.
* css/CSSParser.h:

LayoutTests:

Added new incorrect values to improve the test coverage of the font shorthand property.

The patch changed the order the longhands are added to the list
of properties for the style so the expected files need to be updated.

* fast/css/font-shorthand-expected.txt:
* fast/css/font-shorthand.html:
* fast/inspector-support/style-expected.txt:

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

8 years agoWeb Inspector: improve the way heap snapshot diff is calculated
yurys@chromium.org [Mon, 23 Apr 2012 13:48:57 +0000 (13:48 +0000)]
Web Inspector: improve the way heap snapshot diff is calculated
https://bugs.webkit.org/show_bug.cgi?id=84590

Diff calculation now consists of the following steps:
1. Collect data about nodes in the base heap snapshot
2. Pass it to the second snapshot.
3. Calculate delta for each class.

Reviewed by Pavel Feldman.

* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshot):
(WebInspector.HeapSnapshot.prototype.dispose):
(WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
(WebInspector.HeapSnapshot.prototype.calculateSnapshotDiff):
(WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
(WebInspector.HeapSnapshot.prototype.createAddedNodesProvider):
(WebInspector.HeapSnapshot.prototype.createDeletedNodesProvider):
* inspector/front-end/HeapSnapshotDataGrids.js:
(WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren.aggregatesForDiffReceived.didCalculateSnapshotDiff):
(WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren):
* inspector/front-end/HeapSnapshotGridNodes.js:
(WebInspector.HeapSnapshotIteratorsTuple):
(WebInspector.HeapSnapshotDiffNode):
(WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
(WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
* inspector/front-end/HeapSnapshotProxy.js:
(WebInspector.HeapSnapshotProxy.prototype.aggregatesForDiff):
(WebInspector.HeapSnapshotProxy.prototype.calculateSnapshotDiff):
(WebInspector.HeapSnapshotProxy.prototype.createAddedNodesProvider):
(WebInspector.HeapSnapshotProxy.prototype.createDeletedNodesProvider):
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotView.prototype._changeBase):

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

8 years ago[Chromium] Unreviewed test expectations update.
mnaganov@chromium.org [Mon, 23 Apr 2012 13:39:24 +0000 (13:39 +0000)]
[Chromium] Unreviewed test expectations update.
http://webkit.org/b/72402

Unmark compositing/layer-creation/overflow-scroll-overlap.html as failing

* platform/chromium/test_expectations.txt:

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

8 years agoWeb Inspector: Rename and extract UISourceCodeImpl into JavaScriptSource
pfeldman@chromium.org [Mon, 23 Apr 2012 13:26:20 +0000 (13:26 +0000)]
Web Inspector: Rename and extract UISourceCodeImpl into JavaScriptSource
https://bugs.webkit.org/show_bug.cgi?id=84587

Reviewed by Yury Semikhatsky.

Source/WebCore:

No changes other than extraction here. This is the first step in the Resource
hierarchy refactoring described in bug 84586.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/CompilerScriptMapping.js:
(WebInspector.CompilerScriptMapping.prototype.addScript):
* inspector/front-end/DebuggerPresentationModel.js:
* inspector/front-end/JavaScriptSource.js: Added.
(WebInspector.JavaScriptSource):
(WebInspector.JavaScriptSource.prototype.breakpoints):
(WebInspector.JavaScriptSource.prototype.breakpointAdded):
(WebInspector.JavaScriptSource.prototype.breakpointRemoved):
(WebInspector.JavaScriptSource.prototype.consoleMessages):
(WebInspector.JavaScriptSource.prototype.consoleMessageAdded):
(WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.prototype._createUISourceCode):
* inspector/front-end/SnippetsModel.js:
(WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
(WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:

LayoutTests:

* inspector/debugger/breakpoint-manager.html:
* inspector/debugger/scripts-panel.html:

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

8 years agoChromium roll from r133348 to r133422.
mnaganov@chromium.org [Mon, 23 Apr 2012 13:15:09 +0000 (13:15 +0000)]
Chromium roll from r133348 to r133422.

* DEPS:

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

8 years agoMove ReferrerPolicy out of SecurityPolicy class into its own header in platform.
gavinp@chromium.org [Mon, 23 Apr 2012 12:53:24 +0000 (12:53 +0000)]
Move ReferrerPolicy out of SecurityPolicy class into its own header in platform.
https://bugs.webkit.org/show_bug.cgi?id=84516

Source/WebCore:

Reviewed by Adam Barth.

No change in behaviour; same enum, different class.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::processReferrerPolicy):
* dom/Document.h:
(WebCore::Document::referrerPolicy):
(Document):
* page/SecurityPolicy.h:
* platform/ReferrerPolicy.h: Added.
(WebCore):

Source/WebKit/chromium:

Reviewed by Adam Barth.

No change in behaviour; same enum, different class.

* src/AssertMatchingEnums.cpp:
* src/WebSecurityPolicy.cpp:
(WebKit::WebSecurityPolicy::generateReferrerHeader):

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

8 years ago[Chromium] Unreviewed test expectations update.
mnaganov@chromium.org [Mon, 23 Apr 2012 12:37:50 +0000 (12:37 +0000)]
[Chromium] Unreviewed test expectations update.
https://bugs.webkit.org/show_bug.cgi?id=70765

Unmark fast/forms/listbox-clip.html on Windows

* platform/chromium/test_expectations.txt:

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

8 years ago[Chromium] Unreviewed test expectations update.
mnaganov@chromium.org [Mon, 23 Apr 2012 12:15:43 +0000 (12:15 +0000)]
[Chromium] Unreviewed test expectations update.
http://crbug.com/23494

Unmark css2.1/t1503-c522-font-family-00-b.html on Leopard.

* platform/chromium/test_expectations.txt:

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

8 years agoJS binding code generator doesn't handle "attribute unsigned long[]" well
commit-queue@webkit.org [Mon, 23 Apr 2012 11:34:27 +0000 (11:34 +0000)]
JS binding code generator doesn't handle "attribute unsigned long[]" well
https://bugs.webkit.org/show_bug.cgi?id=84540

Patch by Vineet Chaudhary <rgf748@motorola.com> on 2012-04-23
Reviewed by Kentaro Hara.

Codegenerator should handle spaces with the sequence<> to support
numeric types like "unsigned long", "int" .. etc. and primitive types
like "boolean", "Date" etc.

Tests: bindings/scripts/test/TestObj.idl

* bindings/scripts/CodeGenerator.pm:
(SkipIncludeHeader): Rename AvoidInclusionOfType to SkipIncludeHeader.
(GetArrayType):
* bindings/scripts/CodeGeneratorJS.pm:
(AddIncludesForType):
(NativeToJSValue):
* bindings/scripts/CodeGeneratorObjC.pm:
(AddIncludesForType):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(AddIncludesForType):
(GetHeaderClassInclude):
(GenerateNormalAttrGetter):
(NativeToJSValue):
* bindings/scripts/IDLStructure.pm:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore):
(WebCore::jsTestObjIntSequenceAttr):
(WebCore::jsTestObjShortSequenceAttr):
(WebCore::jsTestObjLongSequenceAttr):
(WebCore::jsTestObjLongLongSequenceAttr):
(WebCore::jsTestObjUnsignedIntSequenceAttr):
(WebCore::jsTestObjUnsignedShortSequenceAttr):
(WebCore::jsTestObjUnsignedLongSequenceAttr):
(WebCore::jsTestObjUnsignedLongLongSequenceAttr):
(WebCore::jsTestObjFloatSequenceAttr):
(WebCore::jsTestObjDoubleSequenceAttr):
(WebCore::jsTestObjBooleanSequenceAttr):
(WebCore::jsTestObjVoidSequenceAttr):
(WebCore::jsTestObjDateSequenceAttr):
(WebCore::setJSTestObjSequenceAttr):
(WebCore::setJSTestObjIntSequenceAttr):
(WebCore::setJSTestObjShortSequenceAttr):
(WebCore::setJSTestObjLongSequenceAttr):
(WebCore::setJSTestObjLongLongSequenceAttr):
(WebCore::setJSTestObjUnsignedIntSequenceAttr):
(WebCore::setJSTestObjUnsignedShortSequenceAttr):
(WebCore::setJSTestObjUnsignedLongSequenceAttr):
(WebCore::setJSTestObjUnsignedLongLongSequenceAttr):
(WebCore::setJSTestObjFloatSequenceAttr):
(WebCore::setJSTestObjDoubleSequenceAttr):
(WebCore::setJSTestObjBooleanSequenceAttr):
(WebCore::setJSTestObjVoidSequenceAttr):
(WebCore::setJSTestObjDateSequenceAttr):
* bindings/scripts/test/JS/JSTestObj.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::intSequenceAttrAttrGetter):
(TestObjV8Internal):
(WebCore::TestObjV8Internal::intSequenceAttrAttrSetter):
(WebCore::TestObjV8Internal::shortSequenceAttrAttrGetter):
(WebCore::TestObjV8Internal::shortSequenceAttrAttrSetter):
(WebCore::TestObjV8Internal::longSequenceAttrAttrGetter):
(WebCore::TestObjV8Internal::longSequenceAttrAttrSetter):
(WebCore::TestObjV8Internal::longLongSequenceAttrAttrGetter):
(WebCore::TestObjV8Internal::longLongSequenceAttrAttrSetter):
(WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrGetter):
(WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrSetter):
(WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrGetter):
(WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrSetter):
(WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrGetter):
(WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrSetter):
(WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrGetter):
(WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrSetter):
(WebCore::TestObjV8Internal::floatSequenceAttrAttrGetter):
(WebCore::TestObjV8Internal::floatSequenceAttrAttrSetter):
(WebCore::TestObjV8Internal::doubleSequenceAttrAttrGetter):
(WebCore::TestObjV8Internal::doubleSequenceAttrAttrSetter):
(WebCore::TestObjV8Internal::booleanSequenceAttrAttrGetter):
(WebCore::TestObjV8Internal::booleanSequenceAttrAttrSetter):
(WebCore::TestObjV8Internal::voidSequenceAttrAttrGetter):
(WebCore::TestObjV8Internal::voidSequenceAttrAttrSetter):
(WebCore::TestObjV8Internal::dateSequenceAttrAttrGetter):
(WebCore::TestObjV8Internal::dateSequenceAttrAttrSetter):
(WebCore):

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

8 years agoUnreviewed rolling out r114881, because it broke upload buildstep.
ossy@webkit.org [Mon, 23 Apr 2012 10:50:20 +0000 (10:50 +0000)]
Unreviewed rolling out r114881, because it broke upload buildstep.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(ConfigureBuild.__init__):
(ConfigureBuild.start):
(CompileWebKit.start):
(UploadBuiltProduct):
(UploadBuiltProduct.determineExtraFeatures):
(Factory.__init__):
(BuildFactory.__init__):
(TestFactory.__init__):
(loadBuilderConfig):

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

8 years agoUnreviewed assertion fix for Chromium bots.
kling@webkit.org [Mon, 23 Apr 2012 10:44:27 +0000 (10:44 +0000)]
Unreviewed assertion fix for Chromium bots.

Skip unnecessary Attr::attachToElement() after constructing an Attr using the
constructor that attaches to an Element.

* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::ensureAttr):

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

8 years ago[Chromium] Unreviewed test expectations update.
mnaganov@chromium.org [Mon, 23 Apr 2012 10:38:00 +0000 (10:38 +0000)]
[Chromium] Unreviewed test expectations update.

Unmark fast/regex/unicodeCaseInsensitive.html -- the bug has been
fixed long ago, and the test is passing now.

* platform/chromium/test_expectations.txt:

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

8 years agoREGRESSION(r114870): Assertion failure in ElementAttributeData::setAttr().
kling@webkit.org [Mon, 23 Apr 2012 10:17:23 +0000 (10:17 +0000)]
REGRESSION(r114870): Assertion failure in ElementAttributeData::setAttr().
<http://webkit.org/b/84581>

Reviewed by Antti Koivisto.

Attach the Attr and bump m_attrCount manually in ensureAttr() instead of calling
setAttr(). The latter asserts that the Attr isn't present in the map, which
obviously isn't true after we've just added it.

This has the added effect of removing one unnecessary hash lookup.

* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::ensureAttr):

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

8 years agoWeb Inspector: make ParsedURL.prototype.displayName data url friendly.
pfeldman@chromium.org [Mon, 23 Apr 2012 09:42:55 +0000 (09:42 +0000)]
Web Inspector: make ParsedURL.prototype.displayName data url friendly.
https://bugs.webkit.org/show_bug.cgi?id=84578

Reviewed by Yury Semikhatsky.

We'd like to define valid URL as the one that has scheme, host and path.
We can append to this URL and manipulate its content. We still want
possibly invalid specs (such as data or about) to exist and have nice
display names.

* inspector/front-end/ResourceUtils.js:
(WebInspector.ParsedURL):
(WebInspector.ParsedURL.prototype.get displayName):

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

8 years agomaster.cfg cleanup, remove dead codes after r92792.
ossy@webkit.org [Mon, 23 Apr 2012 08:51:11 +0000 (08:51 +0000)]
cfg cleanup, remove dead codes after r92792.
https://bugs.webkit.org/show_bug.cgi?id=84433

Reviewed by Ryosuke Niwa.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:

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

8 years agoWeb Inspector: introduce String.prototype.starts/endsWith and use it all over the...
pfeldman@chromium.org [Mon, 23 Apr 2012 08:49:38 +0000 (08:49 +0000)]
Web Inspector: introduce String.prototype.starts/endsWith and use it all over the place.
https://bugs.webkit.org/show_bug.cgi?id=84574

Reviewed by Yury Semikhatsky.

* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
* inspector/front-end/CSSCompletions.js:
(WebInspector.CSSCompletions.prototype.startsWith):
(WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._reportCompletions):
* inspector/front-end/CookieItemsView.js:
(WebInspector.Cookies.cookieMatchesResourceURL):
* inspector/front-end/DatabaseQueryView.js:
(WebInspector.DatabaseQueryView.prototype.completions):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
* inspector/front-end/ProfileView.js:
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.addProfileHeader):
(WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
(WebInspector.ProfileSidebarTreeElement):
(WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
* inspector/front-end/ResourceUtils.js:
(WebInspector.ParsedURL):
(WebInspector.displayNameForURL):
(WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
(WebInspector.completeURL):
* inspector/front-end/SnippetsModel.js:
(WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
* inspector/front-end/SourceCSSTokenizer.js:
(WebInspector.SourceCSSTokenizer.prototype.nextToken):
* inspector/front-end/SourceCSSTokenizer.re2js:
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._completeCommonPrefix):
* inspector/front-end/UIUtils.js:
(WebInspector.startEditing):
* inspector/front-end/utilities.js:

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

8 years agoREGRESSION(r114870): Performance hit on DOM/CloneNodes and DOM/CreateNodes.
kling@webkit.org [Mon, 23 Apr 2012 08:40:07 +0000 (08:40 +0000)]
REGRESSION(r114870): Performance hit on DOM/CloneNodes and DOM/CreateNodes.
<http://webkit.org/b/84575>

Reviewed by Antti Koivisto.

Simplify the cloning of Attributes from one Element to another by simply
assigning to m_attributes. This avoids default-constructing a bunch of
Attribute objects that we overwrite immediately anyway (this used to be
fine because they were RefPtr<Attribute> but now that a default-constructed
Attribute contains a QualifiedName, we were doing a bunch of extra hash
lookups, etc.)

* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::setAttributes):

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

8 years agoWeb Inspector: implement "open stylesheet" dialog.
pfeldman@chromium.org [Mon, 23 Apr 2012 08:05:36 +0000 (08:05 +0000)]
Web Inspector: implement "open stylesheet" dialog.
https://bugs.webkit.org/show_bug.cgi?id=84466

Reviewed by Yury Semikhatsky.

This change introduces abstract OpenResourceDialog and re-uses it in OpenScriptDialog and OpenStylesheetDialog.
Drive-by fix for data: url representation in the navigator and open resource dialogs.

* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.FilteredItemSelectionDialog.prototype.position):
(WebInspector.OpenResourceDialog.filterOutEmptyURLs):
(WebInspector.OpenResourceDialog.compareFunction):
(WebInspector.OpenResourceDialog):
(WebInspector.OpenResourceDialog.prototype.itemTitleAt):
(WebInspector.OpenResourceDialog.prototype.itemKeyAt):
(WebInspector.OpenResourceDialog.prototype.itemsCount):
(WebInspector.OpenResourceDialog.prototype.requestItems):
(WebInspector.OpenResourceDialog.prototype.selectItem):
(WebInspector.OpenScriptDialog):
(WebInspector.OpenScriptDialog.install):
(WebInspector.OpenScriptDialog._show):
(WebInspector.OpenScriptDialog.prototype.selectItem):
* inspector/front-end/ResourceUtils.js:
(WebInspector.ParsedURL):
* inspector/front-end/ScriptsPanel.js:
* inspector/front-end/StylesPanel.js:
(WebInspector.StylesPanel):
(WebInspector.StylesPanel.prototype._showOpenStylesheetDialog):
(WebInspector.OpenStylesheetDialog):
(WebInspector.OpenStylesheetDialog.prototype.selectItem):
* inspector/front-end/inspector.html:

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

8 years agoAdd test function to get placeholder string
tkent@chromium.org [Mon, 23 Apr 2012 08:00:08 +0000 (08:00 +0000)]
Add test function to get placeholder string
https://bugs.webkit.org/show_bug.cgi?id=84536

Reviewed by Ryosuke Niwa.

.:

* Source/autotools/symbols.filter:
Expose Node::textContent and HTMLTextFormControlElement::placeholderShouldBeVisible.

Source/WebCore:

Add window.internals.visiblePlaceholder(element), which returns a
placeholder string only when it's visible.

* WebCore.exp.in: Expose HTMLTextFormControlElement::placeholderShouldBeVisible().
* testing/Internals.cpp:
(WebCore::Internals::visiblePlaceholder): Added.
(WebCore::Internals::selectColorInColorChooser): Omit HTMLNames::.
* testing/Internals.h:
(Internals): Add visiblePlaceholder().
* testing/Internals.idl: ditto.

Source/WebKit2:

* win/WebKit2.def: Expose HTMLNames::inputTag,
HTMLTextFormControlElement::placeholderShouldBeVisible(), and
Node::textContent.
* win/WebKit2CFLite.def: ditto.

LayoutTests:

Make placeholder-stripped.html a dumpAsText test.

* fast/forms/placeholder-stripped-expected.html: Removed.
* fast/forms/placeholder-stripped-expected.txt: Added.
* fast/forms/placeholder-stripped.html:

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

8 years agoSource/WebCore: Incorrect handling of CSS escape sequences that encode surrogates
commit-queue@webkit.org [Mon, 23 Apr 2012 07:47:39 +0000 (07:47 +0000)]
Source/WebCore: Incorrect handling of CSS escape sequences that encode surrogates
https://bugs.webkit.org/show_bug.cgi?id=76152

Patch by Szilard Ledan <szledan@inf.u-szeged.hu> on 2012-04-23
Reviewed by Kent Tamura.

Test: fast/css/parsing-css-surrogate-pairs.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseEscape):

LayoutTests: Added a test for css surrogate pairs parser
https://bugs.webkit.org/show_bug.cgi?id=76152

Patch by Szilard Ledan <szledan@inf.u-szeged.hu> on 2012-04-23
Reviewed by Kent Tamura.

* fast/css/parsing-css-surrogate-pairs-expected.txt: Added.
* fast/css/parsing-css-surrogate-pairs.html: Added.

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

8 years ago[Qt] Make DRT not dump pixel results if test is calling layoutTestController.dumpAsText()
commit-queue@webkit.org [Mon, 23 Apr 2012 07:10:29 +0000 (07:10 +0000)]
[Qt] Make DRT not dump pixel results if test is calling layoutTestController.dumpAsText()
https://bugs.webkit.org/show_bug.cgi?id=84327

Patch by Milian Wolff <mail@milianw.de> on 2012-04-23
Reviewed by Csaba Osztrogonác.

* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::DumpRenderTree::dump):

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

8 years agoAdd Notification constructor
ossy@webkit.org [Mon, 23 Apr 2012 06:37:47 +0000 (06:37 +0000)]
Add Notification constructor
https://bugs.webkit.org/show_bug.cgi?id=80477

[Qt] Unreviewed gardening after r114855.

* platform/qt-4.8/fast/dom/Window/window-properties-expected.txt:
* platform/qt-5.0-wk2/fast/dom/Window/window-properties-expected.txt:
* platform/qt-5.0-wk2/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt-5.0/fast/dom/Window/window-properties-expected.txt:
* platform/qt-5.0/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/js/global-constructors-expected.txt:

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

8 years agoUnreviewed, add a baseline for computed style test after r114766.
zandobersek@gmail.com [Mon, 23 Apr 2012 06:30:12 +0000 (06:30 +0000)]
Unreviewed, add a baseline for computed style test after r114766.

* platform/gtk/fast/css/getComputedStyle/computed-style-expected.txt: Added.

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

8 years agoWeb Inspector: make populateChildren methods private in heap profiler front-end
yurys@chromium.org [Mon, 23 Apr 2012 06:16:49 +0000 (06:16 +0000)]
Web Inspector: make populateChildren methods private in heap profiler front-end
https://bugs.webkit.org/show_bug.cgi?id=84562

Source/WebCore:

- populateChildren method on HeapSnapshotConstructorsDataGrid and
HeapSnapshotDiffDataGrid now is private.
- Made _defaultPopulateCount a public method on HeapSnapshotSortableDataGrid which
is overriden in some descendants
- Removed unused HeapSnapshotPathFinderProxy
- added closure compiler annotations

Reviewed by Pavel Feldman.

* inspector/front-end/HeapSnapshotDataGrids.js:
(WebInspector.HeapSnapshotSortableDataGrid.prototype.defaultPopulateCount):
(WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
(WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
(WebInspector.HeapSnapshotDiffDataGrid.prototype.defaultPopulateCount):
(WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
(WebInspector.HeapSnapshotDominatorsDataGrid.prototype.defaultPopulateCount):
* inspector/front-end/HeapSnapshotGridNodes.js:
(WebInspector.HeapSnapshotGridNode):
(WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
(WebInspector.HeapSnapshotDiffNode):
(WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
* inspector/front-end/HeapSnapshotProxy.js:

LayoutTests:

- Made _defaultPopulateCount a public method on HeapSnapshotSortableDataGrid which
is overriden in some descendants

Reviewed by Pavel Feldman.

* inspector/profiler/heap-snapshot-test.js:
(initialize_HeapSnapshotTest.InspectorTest.startProfilerTest.detailedHeapProfilesEnabled.WebInspector.HeapSnapshotContainmentDataGrid.prototype.defaultPopulateCount):
(initialize_HeapSnapshotTest.InspectorTest.startProfilerTest.detailedHeapProfilesEnabled.WebInspector.HeapSnapshotConstructorsDataGrid.prototype.defaultPopulateCount):
(initialize_HeapSnapshotTest.InspectorTest.startProfilerTest.detailedHeapProfilesEnabled.WebInspector.HeapSnapshotDiffDataGrid.prototype.defaultPopulateCount):
(initialize_HeapSnapshotTest.InspectorTest.startProfilerTest.detailedHeapProfilesEnabled.WebInspector.HeapSnapshotDominatorsDataGrid.prototype.defaultPopulateCount):
(initialize_HeapSnapshotTest.InspectorTest.startProfilerTest.detailedHeapProfilesEnabled):

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

8 years agoUnreviewed build fix, remove Attribute.cpp from DOMAllInOne.cpp.
kling@webkit.org [Mon, 23 Apr 2012 05:59:55 +0000 (05:59 +0000)]
Unreviewed build fix, remove Attribute.cpp from DOMAllInOne.cpp.

* dom/DOMAllInOne.cpp: My nemesis.

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

8 years agoOptimize Element attribute storage for the common case (no Attr objects.)
kling@webkit.org [Mon, 23 Apr 2012 05:40:02 +0000 (05:40 +0000)]
Optimize Element attribute storage for the common case (no Attr objects.)
<http://webkit.org/b/83440>

Reviewed by Antti Koivisto.

Source/WebCore:

Reduce Attribute to its smallest possible size; a qname/value pair.
They are no-longer ref-counted, which allows us to store them in Vectors.

Refactored the DOM Attr object to go with the new Attribute:
Attr now wraps either {element, qname} or {qname, value}. The latter is for
the case where a standalone Attr object is instantiated via DOM APIs.

ElementAttributeData.cpp manages a map of pair<element, qname> => Attr.
Each Element (well, ElementAttributeData) keeps track of how many Attr
objects are pointing to it. This is so we can avoid hash lookups during
common operations in the typical case where you have zero Attrs.

Also removed the inline capacity (was 4) from AttributeVector as that
would significantly increase bloat now that we store Attribute (2 pointers)
rather than RefPtr<Attribute>. We trade this one piece of indirection
for the removal of per-Attribute indirection.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Attr.cpp:
(WebCore::Attr::Attr):
(WebCore):
(WebCore::Attr::create):
(WebCore::Attr::~Attr):
(WebCore::Attr::createTextChild):
(WebCore::Attr::setPrefix):
(WebCore::Attr::setValue):
(WebCore::Attr::cloneNode):
(WebCore::Attr::childrenChanged):
(WebCore::Attr::style):
(WebCore::Attr::value):
(WebCore::Attr::elementAttribute):
(WebCore::Attr::detachFromElementWithValue):
(WebCore::Attr::attachToElement):
* dom/Attr.h:
(WebCore):
(Attr):
(WebCore::Attr::qualifiedName):
(WebCore::Attr::localName):
(WebCore::Attr::namespaceURI):
(WebCore::Attr::prefix):
* dom/Attribute.cpp: Removed.
* dom/Attribute.h:
(WebCore::Attribute::Attribute):
(Attribute):
* dom/Document.cpp:
(WebCore::Document::importNode):
(WebCore::Document::createAttributeNS):
* dom/Element.cpp:
(WebCore::Element::~Element):
(WebCore::Element::detachAttribute):
(WebCore):
(WebCore::Element::removeAttribute):
(WebCore::Element::setAttributeInternal):
(WebCore::Element::parserSetAttributes):
(WebCore::Element::setAttributeNode):
(WebCore::Element::removeAttributeNode):
(WebCore::Element::normalizeAttributes):
(WebCore::Element::didRemoveAttribute):
(WebCore::Element::attrIfExists):
(WebCore::Element::ensureAttr):
* dom/Element.h:
(Element):
(WebCore::Element::getAttributeItemIndex):
* dom/ElementAttributeData.cpp:
(WebCore):
(WebCore::attrMap):
(WebCore::ElementAttributeData::attrIfExists):
(WebCore::ElementAttributeData::ensureAttr):
(WebCore::ElementAttributeData::setAttr):
(WebCore::ElementAttributeData::removeAttr):
(WebCore::AttributeVector::removeAttribute):
(WebCore::ElementAttributeData::~ElementAttributeData):
(WebCore::ElementAttributeData::addAttribute):
(WebCore::ElementAttributeData::removeAttribute):
(WebCore::ElementAttributeData::isEquivalent):
(WebCore::ElementAttributeData::detachAttributesFromElement):
(WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
(WebCore::ElementAttributeData::setAttributes):
(WebCore::ElementAttributeData::clearAttributes):
(WebCore::ElementAttributeData::replaceAttribute):
(WebCore::ElementAttributeData::getAttributeNode):
* dom/ElementAttributeData.h:
(WebCore):
(WebCore::AttributeVector::AttributeVector):
(AttributeVector):
(WebCore::AttributeVector::getAttributeItem):
(WebCore::AttributeVector::getAttributeItemIndex):
(WebCore::AttributeVector::insertAttribute):
(WebCore::ElementAttributeData::attributeItem):
(ElementAttributeData):
(WebCore::ElementAttributeData::ElementAttributeData):
(WebCore::ElementAttributeData::attributeVector):
(WebCore::ElementAttributeData::clonedAttributeVector):
(WebCore::ElementAttributeData::removeAttribute):
(WebCore::ElementAttributeData::getAttributeItem):
(WebCore::ElementAttributeData::getAttributeItemIndex):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::getNamedItem):
(WebCore::NamedNodeMap::getNamedItemNS):
(WebCore::NamedNodeMap::removeNamedItem):
(WebCore::NamedNodeMap::removeNamedItemNS):
(WebCore::NamedNodeMap::item):
* dom/Node.cpp:
(WebCore::Node::compareDocumentPosition):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseAttribute):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::parseAttribute):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
(WebCore::HTMLConstructionSite::insertScriptElement):
(WebCore::HTMLConstructionSite::createElement):
(WebCore::HTMLConstructionSite::createHTMLElement):
(WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
* html/parser/HTMLToken.h:
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processFakeStartTag):
(WebCore::HTMLTreeBuilder::attributesForIsindexInput):
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
(WebCore):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
* html/parser/HTMLTreeBuilder.h:
* html/parser/TextDocumentParser.cpp:
(WebCore::TextDocumentParser::insertFakePreElement):
* page/PageSerializer.cpp:
(WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
* svg/SVGFitToViewBox.cpp:
* svg/properties/SVGAnimatedPropertySynchronizer.h:
* xml/XMLErrors.cpp:
(WebCore::createXHTMLParserErrorHeader):
(WebCore::XMLErrors::insertErrorMessageBlock):
* xml/XPathNodeSet.cpp:
(WebCore::XPath::NodeSet::traversalSort):
* xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis):
* xml/parser/MarkupTokenBase.h:
(WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
(WebCore::AtomicMarkupTokenBase::getAttributeItem):
(WebCore::AtomicMarkupTokenBase::attributes):
(AtomicMarkupTokenBase):
(WebCore::::initializeAttributes):
* xml/parser/XMLToken.h:
(WebCore::AtomicXMLToken::AtomicXMLToken):
* xml/parser/XMLTreeBuilder.cpp:
(WebCore::XMLTreeBuilder::processNamespaces):
(WebCore::XMLTreeBuilder::processAttributes):

Source/WebKit/chromium:

Remove the WebNamedNodeMap and WebAttribute API classes since they are no
longer needed by chromium after <http://crrev.com/133299>.

* WebKit.gyp:
* public/WebAttribute.h: Removed.
* public/WebElement.h:
* public/WebNamedNodeMap.h: Removed.
* src/WebAttribute.cpp: Removed.
* src/WebElement.cpp:
* src/WebNamedNodeMap.cpp: Removed.

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

8 years ago.: [Gtk] Added MOZ_X11 build flag for TARGET_X11
commit-queue@webkit.org [Mon, 23 Apr 2012 05:30:39 +0000 (05:30 +0000)]
.: [Gtk] Added MOZ_X11 build flag for TARGET_X11
[Qt]  Added MOZ_X11 build flag for !embedded
[CMake]  Added MOZ_X11 build flag for WTF_OS_UNIX
https://bugs.webkit.org/show_bug.cgi?id=40785

Patch by Sriram Neelakandan <sriram.neelakandan@gmail.com> on 2012-04-22
Reviewed by Anders Carlsson.

* GNUmakefile.am:
* Source/cmake/OptionsCommon.cmake:

Source/WebCore: Sync the MOZ_X11 changes from r14 of http://code.google.com/p/npapi-sdk/
also, modified required build flags for Qt,Gtk and CMake
[Qt]  Added MOZ_X11 build flag for !embedded
https://bugs.webkit.org/show_bug.cgi?id=40785

Patch by Sriram Neelakandan <sriram.neelakandan@gmail.com> on 2012-04-22
Reviewed by Anders Carlsson.

No new tests. This does not change functionality. Affects all X11 Ports. Build should break if MOZ_X11 is not passed where required

* WebCore.pri:
* plugins/npapi.h:

Source/WebKit2: [Gtk] Added MOZ_X11 build flag for TARGET_X11
[Qt]  Added MOZ_X11 build flag for !embedded
https://bugs.webkit.org/show_bug.cgi?id=40785

Patch by Sriram Neelakandan <sriram.neelakandan@gmail.com> on 2012-04-22
Reviewed by Anders Carlsson.

* GNUmakefile.am:
* Target.pri:

Tools: [Gtk] Added MOZ_X11 build flag for TARGET_X11
https://bugs.webkit.org/show_bug.cgi?id=40785

Patch by Sriram Neelakandan <sriram.neelakandan@gmail.com> on 2012-04-22
Reviewed by Anders Carlsson.

* GNUmakefile.am:

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

8 years ago[TestResultsServer] Impossible to inspect builds on non-Chromium builders
zandobersek@gmail.com [Mon, 23 Apr 2012 05:22:58 +0000 (05:22 +0000)]
[TestResultsServer] Impossible to inspect builds on non-Chromium builders
https://bugs.webkit.org/show_bug.cgi?id=84544

Reviewed by Ryosuke Niwa.

Use the groupEnum parameter that is passed through to the onBuilderListLoad
function rather than an undefined attribute of the BuilderGroup object. This
makes it again possible to inspect builds on non-Chromium builders in the
test results server by not trying to always add Chromium revision links.

* TestResultServer/static-dashboards/builders.js:

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

8 years agoReset event propagation and canceled flags in Event.initEvent
commit-queue@webkit.org [Mon, 23 Apr 2012 05:19:46 +0000 (05:19 +0000)]
Reset event propagation and canceled flags in Event.initEvent
https://bugs.webkit.org/show_bug.cgi?id=83964

Patch by Pablo Flouret <pablof@motorola.com> on 2012-04-22
Reviewed by Ryosuke Niwa.

Step 3 in http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-event-initevent
Useful for re-configuring an event before dispatching.

Source/WebCore:

Test: fast/events/flags-unset-on-init-event.html

* dom/Event.cpp:
(WebCore::Event::initEvent):

LayoutTests:

* fast/events/flags-unset-on-init-event-expected.txt: Added.
* fast/events/flags-unset-on-init-event.html: Added.

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

8 years agoReplace an undefined variable with a constant
hbono@chromium.org [Mon, 23 Apr 2012 04:48:58 +0000 (04:48 +0000)]
Replace an undefined variable with a constant
https://bugs.webkit.org/show_bug.cgi?id=84427

Reviewed by Ryosuke Niwa.

Unfortunately, my r114605 uses an undefined variable 'sleepPeriod' and it
causes a JavaScript exception. This change replaces this variable with 1.

* platform/chromium/editing/spelling/delete-misspelled-word.html:

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

8 years ago[GTK] Remove the obsolete Hildon UI extensions
commit-queue@webkit.org [Mon, 23 Apr 2012 02:13:52 +0000 (02:13 +0000)]
[GTK] Remove the obsolete Hildon UI extensions
https://bugs.webkit.org/show_bug.cgi?id=83420

Patch by Adrian Bunk <bunk@stusta.de> on 2012-04-22
Reviewed by Martin Robinson.

.:

* configure.ac:

Source/WebKit/gtk:

* GNUmakefile.am:
* WebCoreSupport/EditorClientGtk.cpp:
(WebKit::EditorClient::setInputMethodState):
* webkit/webkitwebview.cpp:
(webkit_web_view_button_release_event):

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

8 years ago[Cairo] Implement CompositeDifference
mrobinson@webkit.org [Mon, 23 Apr 2012 00:56:59 +0000 (00:56 +0000)]
[Cairo] Implement CompositeDifference
https://bugs.webkit.org/show_bug.cgi?id=77354

Reviewed by Alejandro G. Castro.

No new tests. The difference compositing operator are not exposed
to web content, so this change is simply in preparation for a time
in which it is used.

Properly map the difference compositing blend modes to a Cairo operator.

* platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::toCairoOperator): Add a mapping for difference. Remove
code supporting versions of Cairo before 1.10, since the Cairo backend
requires 1.10 or greater already.

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

8 years agoRemove notifications support on Mac Lion.
jonlee@apple.com [Sun, 22 Apr 2012 23:01:53 +0000 (23:01 +0000)]
Remove notifications support on Mac Lion.
https://bugs.webkit.org/show_bug.cgi?id=84554
<rdar://problem/11297128>

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

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

8 years ago[Chromium] Fix clang build after r114827, unreviewed.
mnaganov@chromium.org [Sun, 22 Apr 2012 22:27:18 +0000 (22:27 +0000)]
[Chromium] Fix clang build after r114827, unreviewed.

* tests/LayerTextureUpdaterTest.cpp:
(WebCore::TEST):

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

8 years ago[Chromium] Unreviewed test expectations update.
mnaganov@chromium.org [Sun, 22 Apr 2012 21:27:38 +0000 (21:27 +0000)]
[Chromium] Unreviewed test expectations update.

Mark fast/canvas/2d.text.draw.fill.maxWidth.gradient.html as flaky on Mac 10.6

* platform/chromium/test_expectations.txt:

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

8 years ago[Chromium] Unreviewed test expectations update.
mnaganov@chromium.org [Sun, 22 Apr 2012 21:17:20 +0000 (21:17 +0000)]
[Chromium] Unreviewed test expectations update.

fast/workers/storage/interrupt-database.html can also TIMEOUT in debug.

* platform/chromium/test_expectations.txt:

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

8 years ago[Chromium] Unreviewed test expectations update.
mnaganov@chromium.org [Sun, 22 Apr 2012 21:06:58 +0000 (21:06 +0000)]
[Chromium] Unreviewed test expectations update.

css3/zoom-coords-expected.txt now passes on Mac
According to bot logs this is after <http://trac.webkit.org/changeset/114813>

* platform/chromium-mac/css3/zoom-coords-expected.txt: Added.

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

8 years ago[chromium] Damage Tracker needs to use CCMathUtil transforms
shawnsingh@chromium.org [Sun, 22 Apr 2012 20:22:24 +0000 (20:22 +0000)]
[chromium] Damage Tracker needs to use CCMathUtil transforms
https://bugs.webkit.org/show_bug.cgi?id=84070

Reviewed by Adrienne Walker.

Source/WebCore:

Unit test added to CCDamageTracker.cpp.

This patch makes CCDamageTracker use CCMathUtil transforms, so
that perspective w < 0 problem is correctly handled.

* platform/graphics/chromium/cc/CCDamageTracker.cpp:
(WebCore::CCDamageTracker::extendDamageForLayer):
(WebCore::CCDamageTracker::extendDamageForRenderSurface):

Source/WebKit/chromium:

* tests/CCDamageTrackerTest.cpp:
(WebKitTests::TEST_F):
(WebKitTests):

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

8 years ago[Qt] Multi-level tap-to-zoom.
commit-queue@webkit.org [Sun, 22 Apr 2012 16:43:27 +0000 (16:43 +0000)]
[Qt] Multi-level tap-to-zoom.
https://bugs.webkit.org/show_bug.cgi?id=84456

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-22
Reviewed by Kenneth Rohde Christiansen.

Replace tap-to-zoomed flag with a stack of progressively higher zoom levels,
and zoom out to last zoom-level when attempting to zoom to current level.

Additionally detect a series of tap-to-zoom gestures on the same level and
continue to zoom out.

* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
(WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
(WebKit::QtViewportInteractionEngine::pinchGestureStarted):
* UIProcess/qt/QtViewportInteractionEngine.h:
(QtViewportInteractionEngine):

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

8 years agoAdd Notification constructor
jonlee@apple.com [Sun, 22 Apr 2012 00:18:23 +0000 (00:18 +0000)]
Add Notification constructor
https://bugs.webkit.org/show_bug.cgi?id=80477
<rdar://problem/10912431>

Reviewed by Jian Li.

Source/WebCore:

Tests will be added once there is support for web notifications on the Mac ports.

* WebCore.exp.in: Export finalize() function.

Modify Dictionary to support creation of event listeners.
* bindings/js/Dictionary.h:
(WebCore::Dictionary::isObject): Return true if the JSDictionary is valid.
(WebCore::Dictionary::isUndefinedOrNull): Return true if the JSDictionary is not valid.
(WebCore::Dictionary::get): Add convenience function to take const char* for
property name, to prevent having to do implicit conversion to WTF::String.
(WebCore::Dictionary::getEventListener): Add function to create event listener
from the dictionary.
(WebCore::Dictionary::asJSObject): Helper to convert WebCore objects to JS wrapper.
* bindings/js/Dictionary.cpp:
(WebCore::Notification): Implement asJSObject() for Notification.
* bindings/js/JSDictionary.h:
(WebCore::JSDictionary::execState): Expose the exec state so that the Dictionary
can obtain its world for creating the event listener.

* bindings/v8/Dictionary.h:
(WebCore::Dictionary::getEventListener): Stub implementation.

Add new constructor to idl definitions.
* notifications/DOMWindowNotifications.idl: Add Notification constructor, if
ENABLE(NOTIFICATIONS) is on.
* notifications/Notification.idl: If ENABLE(NOTIFICATIONS) is turned on, define
the constructor. Otherwise, use OmitConstructor.
* notifications/NotificationCenter.idl: Wrap creation functions in
ENABLE(LEGACY_NOTIFICATIONS).
* notifications/NotificationCenter.h: Ditto.
(NotificationCenter):

* notifications/Notification.h:
(Notification): Wrap legacy constructors in ENABLE(LEGACY_NOTIFICATIONS).
(WebCore::Notification::create): New creation function based on discussions in WG.
* notifications/Notification.cpp:
(WebCore::getAndAddEventListener): Helper function to get the listener from the
dictionary, and attach to the notification.
(WebCore::Notification::create): Create the notification, then apply whatever
properties can be found in the dictionary to the notification. In order to
attach the event listeners, the notification has to have been created, which is
why this all happens in the factory method and not in the constructor.
(WebCore::Notification::setBody): Added so that it can be set if we find it in the
dictionary.

The new constructor queues a task to show when it is created. To support this, we
use a one-shot timer that calls show() in the next iteration of the run loop.
(WebCore::Notification::Notification): Start the timer.
(WebCore::Notification::showTaskTimerFired): Call show().

Notifications, not being attached to the DOM, could be GC'ed by the JS engine
before its life cycle has completed. We add calls to setPendingActivity() when the
notification has been shown, and when it is closed, we unsetPendingActivity().
To guarantee that we only call this once, we add a new state to the Notification
state machine, called NotificationState::Closed.
(WebCore::Notification::show): Call setPendingActivity() for all ports. Remove conditional on Mac.
(WebCore::Notification::close): Include Closed state to machine; do nothing.
(WebCore::Notification::dispatchCloseEvent): Call finalize().
(WebCore::Notification::finalize): If the state is not Closed, we unsetPendingActivity()
to make it available for GC.
(WebCore::Notification::finishLoading): Remove the unsetPendingActivity(). That call
was to balance the setPendingActivity() called for loading the icon. Instead of wrapping
around the icon load, we wrap around the show() -> finalize() loop.

In Notification, rename some of the stages and functions to more clearly communicate
that they mostly deal with the icon of the notification, instead of general loading.
(WebCore::Notification::show): Refactored to use LoadingIcon and CancelledIcon.
(WebCore::Notification::close): Refactored to use LoadingIcon and CancelledIcon.
(WebCore::Notification::~Notification): Refactor to use LoadingIcon.
(WebCore::Notification::startLoadingIcon): Renamed from startLoading().
(WebCore::Notification::stopLoadingIcon): Renamed from stopLoading().
(WebCore::Notification::finishLoadingIcon): Renamed from finishLoading().
(WebCore::Notification::didFinishLoading):
(WebCore::Notification::didFail):
(WebCore::Notification::didFailRedirectCheck):
(WebCore::Notification::didReceiveResponse):
(WebCore::Notification::finishLoading):

Add Dictionary.cpp.
* GNUmakefile.list.am:
* Target.pri:
* UseJSC.cmake:
* WebCore.gypi:

Fix bug in V8 bindings generation code. If the constructor doesn't raise an exception,
don't use an exception code.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateParametersCheck):
* bindings/scripts/test/V8/V8TestObj.cpp: Reset results.
(WebCore::TestObjV8Internal::optionsObjectCallback):

Source/WebKit/mac:

* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::clearNotifications): When clearing notifications, finalize
them so that they can be cleaned up by the GC.

Source/WebKit2:

* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::show): If the notification doesn't get shown,
we should return false, since it will not go through a setPendingActivity cycle.
(WebKit::WebNotificationManager::clearNotifications): When clearing notifications,
finalize them so that they can be cleaned up by the GC.

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

8 years agoDon't hard code the plugins that blackberry supports.
commit-queue@webkit.org [Sat, 21 Apr 2012 23:19:00 +0000 (23:19 +0000)]
Don't hard code the plugins that blackberry supports.
https://bugs.webkit.org/show_bug.cgi?id=84535

Use the existing PluginDatabase to query for the plugins we can handle.

The original implemention of FrameLoaderClientBlackBerry::createPlugin
was a partial copy from another port.  In the Qt port there is some
workarounds for flash which is why this exists there.  Sadly the bits
that were copied made it so only flash worked, but as flash was the only
plugin on the system this issue was not noticed until QNX tried to get
jnext working.  Tracing it down to this bit of code rather then
correcting it they hardcoded the jnext into the same block as flash was.

The blackberry port isn't specifically suppose to only allow jnext and
flash, but was an accident due to the way this code was developed.

Patch by Benjamin C Meyer <bmeyer@rim.com> on 2012-04-21
Reviewed by Adam Treat.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::createPlugin):

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

8 years agoSupport loading the same plugin in multiple locations in the Blackberry port.
commit-queue@webkit.org [Sat, 21 Apr 2012 22:40:25 +0000 (22:40 +0000)]
Support loading the same plugin in multiple locations in the Blackberry port.
https://bugs.webkit.org/show_bug.cgi?id=84537

The hash for the plugin is only based upon the plugin meta information
which will be the same for the same plugin in the system and user's
plugin folders.

It looks like this code was copied/based on the windows port
which doesn't allow the same plugin to be loaded more than once.

Because we want to support multiple copies of the same plugin
in the blackberry port we want to incorperate the path of the plugin
into the hash.

PR 150404

Patch by Benjamin C Meyer <bmeyer@rim.com> on 2012-04-21
Reviewed by Adam Treat.

* plugins/blackberry/PluginPackageBlackBerry.cpp:
(WebCore::PluginPackage::hash):

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

8 years agoChromium roll attempt from r133173 to r133348.
rniwa@webkit.org [Sat, 21 Apr 2012 22:02:07 +0000 (22:02 +0000)]
Chromium roll attempt from r133173 to r133348.

* DEPS:

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

8 years agoSystem plugins are preferred over application plugins
commit-queue@webkit.org [Sat, 21 Apr 2012 20:11:22 +0000 (20:11 +0000)]
System plugins are preferred over application plugins
https://bugs.webkit.org/show_bug.cgi?id=84538

Set the preferred paths for plugins so that plugins that reside
inside of the bar will be preferred over plugins that are in the
system folder.

PR 150404

Patch by Benjamin C Meyer <bmeyer@rim.com> on 2012-04-21
Reviewed by Adam Treat.

* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::isPreferredPluginDirectory):

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

8 years agoChange JavaScript lexer to use 0 instead of -1 for sentinel, eliminating the need...
darin@apple.com [Sat, 21 Apr 2012 20:03:13 +0000 (20:03 +0000)]
Change JavaScript lexer to use 0 instead of -1 for sentinel, eliminating the need to put characters into ints
https://bugs.webkit.org/show_bug.cgi?id=84523

Reviewed by Oliver Hunt.

Profiles showed that checks against -1 were costly, and I saw they could be eliminated.
Streamlined this code to use standard character types and 0 rather than -1. One benefit
of this is that there's no widening and narrowing. Another is that there are many cases
where we already have the correct behavior for 0, so can eliminate a branch that was
used to test for -1 before. Also eliminates typecasts in the code.

* parser/Lexer.cpp:
(JSC::Lexer::invalidCharacterMessage): Updated use of String::format since m_current is now a
character type, not an int.
(JSC::Lexer::setCode): Use 0 rather than -1 when past the end.
(JSC::Lexer::shift): Ditto. Also spruced up the comment a bit.
(JSC::Lexer::atEnd): Added. New function that distinguishes an actual 0 character from the end
of the code. This can be used places we used to cheeck for -1.
(JSC::Lexer::peek): Updated to use -1 instead of 0. Removed meaningless comment.
(JSC::Lexer::parseFourDigitUnicodeHex): Changed to use character types instead of int.
(JSC::Lexer::shiftLineTerminator): Removed now-unneeded type casts. Changed local variable that
had a data-member-style name.
(JSC::Lexer::parseIdentifier): Removed now-unneeded explicit checks for -1, since the isIdentPart
function already returns false for the 0 character. Updated types in a couple other places. Used
the atEnd function where needed.
(JSC::Lexer::parseIdentifierSlowCase): More of the same.
(JSC::characterRequiresParseStringSlowCase): Added overloaded helper function for parseString.
(JSC::Lexer::parseString): Ditto.
(JSC::Lexer::parseStringSlowCase): Ditto.
(JSC::Lexer::parseMultilineComment): Ditto.
(JSC::Lexer::lex): More of the same. Also changed code to set the startOffset directly in
the tokenInfo instead of putting it in a local variable first, saving some memory access.
(JSC::Lexer::scanRegExp): Ditto.
(JSC::Lexer::skipRegExp): Ditto.

* parser/Lexer.h: Changed return type of the peek function and type of m_current from int to
the character type. Added atEnd function.
(JSC::Lexer::setOffset): Used 0 instead of -1 and removed an overzealous attempt to optimize.
(JSC::Lexer::lexExpectIdentifier): Used 0 instead of -1.

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

8 years agoChange JavaScript lexer to use 0 instead of -1 for sentinel, eliminating the need...
darin@apple.com [Sat, 21 Apr 2012 19:46:02 +0000 (19:46 +0000)]
Change JavaScript lexer to use 0 instead of -1 for sentinel, eliminating the need to put characters into ints
https://bugs.webkit.org/show_bug.cgi?id=84523

Reviewed by Oliver Hunt.

Separate preparation step of copyright dates, renaming, and other small tweaks.

* parser/Lexer.cpp:
(JSC::Lexer::invalidCharacterMessage): Removed "get" from name to match WebKit naming conventions.
(JSC::Lexer::peek): Removed meaningless comment.
(JSC::Lexer::parseFourDigitUnicodeHex): Renamed from getUnicodeCharacter to be more precise about
what this function does.
(JSC::Lexer::shiftLineTerminator): Renamed local variable that had a data-member-style name.
(JSC::Lexer::parseStringSlowCase): Updated for new name of parseFourDigitUnicodeHex.
(JSC::Lexer::lex): Updated for new name of invalidCharacterMessage.

* parser/Lexer.h: Removed an unneeded forward declaration of the RegExp class.
Renamed getInvalidCharMessage to invalidCharacterMessage and made it const. Renamed
getUnicodeCharacter to parseFourDigitUnicodeHex.

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

8 years agoImprove performance of removing user and password from URLs
darin@apple.com [Sat, 21 Apr 2012 16:43:25 +0000 (16:43 +0000)]
Improve performance of removing user and password from URLs
https://bugs.webkit.org/show_bug.cgi?id=84525

Reviewed by Dan Bernstein.

Performance improvement only. Correctness covered by existing regression tests.

The most common use of KURL::setUser and KURL::setPass, by far, is to remove
the user and password from a URL that already has neither. Optimize this by
not re-parsing the URL in that case.

* platform/KURL.cpp:
(WebCore::KURL::setUser): Restructure code so that the code path that removes
the user does no work when there is nothing to remove. Otherwise, leave the
logic of the function untouched.
(WebCore::KURL::setPass): Same thing, only for password rather than user.

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

8 years agoUnreviewed - move some expectations added in r114839 to their proper location.
zandobersek@gmail.com [Sat, 21 Apr 2012 10:46:53 +0000 (10:46 +0000)]
Unreviewed - move some expectations added in r114839 to their proper location.

* platform/gtk/css2.1/20110323/abspos-containing-block-initial-007-expected.txt: Copied from LayoutTests/platform/gtk/css2.1/abspos-containing-block-initial-007-expected.txt.
* platform/gtk/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.txt: Copied from LayoutTests/platform/gtk/css2.1/abspos-non-replaced-width-margin-000-expected.txt.
* platform/gtk/css2.1/20110323/abspos-replaced-width-margin-000-expected.txt: Copied from LayoutTests/platform/gtk/css2.1/abspos-replaced-width-margin-000-expected.txt.
* platform/gtk/css2.1/abspos-containing-block-initial-007-expected.txt: Removed.
* platform/gtk/css2.1/abspos-non-replaced-width-margin-000-expected.txt: Removed.
* platform/gtk/css2.1/abspos-replaced-width-margin-000-expected.txt: Removed.
* platform/gtk/tables/bug137388-2-expected.txt: Removed.
* platform/gtk/tables/bug29314-expected.txt: Removed.
* platform/gtk/tables/mozilla/bugs/bug137388-2-expected.txt: Copied from LayoutTests/platform/gtk/tables/bug137388-2-expected.txt.
* platform/gtk/tables/mozilla/bugs/bug29314-expected.txt: Copied from LayoutTests/platform/gtk/tables/bug29314-expected.txt.

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