profile/ivi/webkit-efl.git
12 years ago[Qt] [WK2] Fix build after r95982
caio.oliveira@openbossa.org [Tue, 27 Sep 2011 00:35:41 +0000 (00:35 +0000)]
[Qt] [WK2] Fix build after r95982
https://bugs.webkit.org/show_bug.cgi?id=68842

Reviewed by Anders Carlsson.

The patch in r95982 removed the paint() function, because it was doing
nothing (in both implementations). This patch remove the call we had
for it to fix the build.

* UIProcess/qt/qtouchwebpageproxy.cpp:
(QTouchWebPageProxy::paintContent):

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

12 years agoRemoved an unnecessary include in WebFrameImpl
fsamuel@chromium.org [Tue, 27 Sep 2011 00:23:31 +0000 (00:23 +0000)]
Removed an unnecessary include in WebFrameImpl
https://bugs.webkit.org/show_bug.cgi?id=68834

Reviewed by Darin Fisher.

* src/WebFrameImpl.cpp:

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

12 years agoRemove failing expectations for some ruby tests, since they were
mihaip@chromium.org [Tue, 27 Sep 2011 00:23:09 +0000 (00:23 +0000)]
Remove failing expectations for some ruby tests, since they were
renamed to -disabled with r94327 and thus aren't being run at all.

Add compositing/video-page-visibility.html Windows GPU baselines.

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

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

12 years agoUnreviewed Chromium test expectations update.
mihaip@chromium.org [Tue, 27 Sep 2011 00:06:52 +0000 (00:06 +0000)]
Unreviewed Chromium test expectations update.

* platform/chromium/test_expectations.txt:

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

12 years agowatchlist: Add parsing for definition section.
levin@chromium.org [Tue, 27 Sep 2011 00:03:07 +0000 (00:03 +0000)]
watchlist: Add parsing for definition section.
https://bugs.webkit.org/show_bug.cgi?id=68850

Reviewed by Adam Barth.

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

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

12 years agoMake JSCell::toBoolean non-virtual
mhahnenberg@apple.com [Mon, 26 Sep 2011 23:53:42 +0000 (23:53 +0000)]
Make JSCell::toBoolean non-virtual
https://bugs.webkit.org/show_bug.cgi?id=67727

Reviewed by Geoffrey Garen.

JSCell::toBoolean now manually performs the toBoolean check for objects and strings (where
before it was simply virtual and would crash if its implementation was called).
Its descendants in JSObject and JSString have also been made non-virtual.  JSCell now
explicitly covers all cases of toBoolean, so having a virtual implementation of
JSCell::toBoolean is no longer necessary.  This is part of a larger process of un-virtualizing JSCell.

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* runtime/JSCell.cpp:
* runtime/JSCell.h:
* runtime/JSNotAnObject.cpp:
* runtime/JSNotAnObject.h:
* runtime/JSObject.h:
* runtime/JSString.h:
(JSC::JSCell::toBoolean):
(JSC::JSValue::toBoolean):

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

12 years agoRemove failing Chromium test expectations for tests that now pass
mihaip@chromium.org [Mon, 26 Sep 2011 23:29:34 +0000 (23:29 +0000)]
Remove failing Chromium test expectations for tests that now pass
(mainly due to r95751, which implemented Function.prototype.bind for
JSC, resulting in baseline updates that now work for V8 too).

* platform/chromium/test_expectations.txt:

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

12 years agoSet but unused variables cleanup in v8 bindings (gcc 4.6)
commit-queue@webkit.org [Mon, 26 Sep 2011 23:21:42 +0000 (23:21 +0000)]
Set but unused variables cleanup in v8 bindings (gcc 4.6)
https://bugs.webkit.org/show_bug.cgi?id=68079

Patch by Max Perepelitsyn <pph34r@gmail.com> on 2011-09-26
Reviewed by Adam Barth.

Source/WebCore:

Test: http/tests/websocket/tests/hybi/send-object-tostring-check.html

* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::ConfigureV8TestObjTemplate):
* bindings/v8/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::addListener):
* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
(WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
* bindings/v8/custom/V8WebSocketCustom.cpp:
(WebCore::V8WebSocket::sendCallback):

LayoutTests:

* http/tests/websocket/tests/hybi/send-object-tostring-check-expected.txt: Added.
* http/tests/websocket/tests/hybi/send-object-tostring-check.html: Added.

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

12 years agoswitch the initial value of flex-order to 0
tony@chromium.org [Mon, 26 Sep 2011 23:07:50 +0000 (23:07 +0000)]
switch the initial value of flex-order to 0
https://bugs.webkit.org/show_bug.cgi?id=68820

Source/WebCore:

The spec changed from having an initial value of 1 to 0.

Reviewed by Ojan Vafai.

* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::initialFlexOrder):

LayoutTests:

Reviewed by Ojan Vafai.

* css3/flexbox/flex-order.html:

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

12 years agoEnable requestAnimationFrame on Windows
cmarrin@apple.com [Mon, 26 Sep 2011 23:02:17 +0000 (23:02 +0000)]
Enable requestAnimationFrame on Windows
https://bugs.webkit.org/show_bug.cgi?id=68397

Reviewed by Simon Fraser.

Source/JavaScriptCore:

Enabled REQUEST_ANIMATION_FRAME_TIMER for Windows

* wtf/Platform.h:

WebKitLibraries:

Enable REQUEST_ANIMATION_FRAME for Windows

* win/tools/vsprops/FeatureDefines.vsprops:

LayoutTests:

Unskip requestAnimationFrame tests for Windows. request-animation-frame-during-modal.html
is still skipped because it uses showModalDialog which is not supported in DRT on Windows

* platform/win/Skipped:

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

12 years agoFix WebKitTestRunner builds for Cairo, Windows and Qt.
simon.fraser@apple.com [Mon, 26 Sep 2011 23:00:37 +0000 (23:00 +0000)]
Fix WebKitTestRunner builds for Cairo, Windows and Qt.

* WebKitTestRunner/cairo/TestInvocationCairo.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
* WebKitTestRunner/win/TestInvocationWin.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

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

12 years agoOfflineAudioDestinationNode must wait for thread completion in uninitialize()
crogers@google.com [Mon, 26 Sep 2011 22:58:29 +0000 (22:58 +0000)]
OfflineAudioDestinationNode must wait for thread completion in uninitialize()
https://bugs.webkit.org/show_bug.cgi?id=68725

Reviewed by Kenneth Russell.

No new tests.  This fixes internal implementation details.

* webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::uninitialize):

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

12 years agoediting/selection/select-bidi-run.html timeouts on non-Mac platforms
rniwa@webkit.org [Mon, 26 Sep 2011 22:50:38 +0000 (22:50 +0000)]
editing/selection/select-bidi-run.html timeouts on non-Mac platforms
https://bugs.webkit.org/show_bug.cgi?id=68831

Reviewed by Enrica Casucci.

Click at (0,0) to reset click count instead of a long leapForward.

* editing/selection/select-bidi-run.html:

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

12 years agoREGRESSION (r95747): Activating the web inspector causes the web process to be killed
ap@apple.com [Mon, 26 Sep 2011 22:46:28 +0000 (22:46 +0000)]
REGRESSION (r95747): Activating the web inspector causes the web process to be killed
https://bugs.webkit.org/show_bug.cgi?id=68762

Reviewed by Anders Carlsson.

* UIProcess/WebInspectorProxy.cpp: (WebKit::WebInspectorProxy::createInspectorPage):
Tell Web process that loading resources from WebCore resources directory is OK.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadHTMLString):
(WebKit::WebPageProxy::loadAlternateHTMLString):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::assumeReadAccessToBaseURL):
* UIProcess/WebProcessProxy.h:
Renamed willLoadHTMLStringWithBaseURL to more generic assumeReadAccessToBaseURL.

* UIProcess/WebInspectorProxy.h:
* UIProcess/efl/WebInspectorEfl.cpp:
(WebKit::WebInspectorProxy::inspectorBaseURL):
* UIProcess/gtk/WebInspectorGtk.cpp:
(WebKit::WebInspectorProxy::inspectorBaseURL):
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::inspectorBaseURL):
* UIProcess/qt/WebInspectorProxyQt.cpp:
(WebKit::WebInspectorProxy::inspectorBaseURL):
* UIProcess/win/WebInspectorProxyWin.cpp:
(WebKit::WebInspectorProxy::inspectorBaseURL):
Report what base directory Inspector has access to.

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

12 years ago[Chromium] Update the test expectaion file for media related tests.
imasaki@chromium.org [Mon, 26 Sep 2011 22:45:42 +0000 (22:45 +0000)]
[Chromium] Update the test expectaion file for media related tests.
It includes updating bug numbers, removing
media/video-controls-visible-audio-only.html, and unskipping
media/media-document-audio-repaint.html.
https://bugs.webkit.org/show_bug.cgi?id=68254

Reviewed by David Levin.

* platform/chromium/test_expectations.txt:

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

12 years agoSource/WebKit/chromium: Fix copy and paste error in r96002.
mihaip@chromium.org [Mon, 26 Sep 2011 22:34:54 +0000 (22:34 +0000)]
Source/WebKit/chromium: Fix copy and paste error in r96002.

* tests/InnerGestureRecognizerTest.cpp:
(TEST_F):

LayoutTests: Remove test that no longer crashes (fixed by r95985).

* platform/chromium/test_expectations.txt:

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

12 years ago[GTK] Do not ignore 'Replaceable' attributes in the DOM bindings
xan@webkit.org [Mon, 26 Sep 2011 22:28:31 +0000 (22:28 +0000)]
[GTK] Do not ignore 'Replaceable' attributes in the DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=68837

Reviewed by Martin Robinson.

* bindings/scripts/CodeGeneratorGObject.pm: add getters (but not
setters) for 'Replaceable' attributes. Punt for the future
actually making them settable, since it seems non trivial.

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

12 years agoLeopard build fix.
rniwa@webkit.org [Mon, 26 Sep 2011 22:27:19 +0000 (22:27 +0000)]
Leopard build fix.

* testing/Internals.cpp:
(WebCore::Internals::setZoomAnimatorTransform):

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

12 years agoIndexedDB: Null key path gets stored as empty string key path
commit-queue@webkit.org [Mon, 26 Sep 2011 22:22:23 +0000 (22:22 +0000)]
IndexedDB: Null key path gets stored as empty string key path
https://bugs.webkit.org/show_bug.cgi?id=68726

Patch by Joshua Bell <jsbell@chromium.org> on 2011-09-26
Reviewed by Tony Chang.

Store additional flag to indicate if object store key path
is null vs. empty. Added additional runtime tests for integrity
of object store metadata.

* storage/IDBLevelDBBackingStore.cpp:
(WebCore::checkObjectStoreAndMetaDataType):
(WebCore::IDBLevelDBBackingStore::getObjectStores):
(WebCore::IDBLevelDBBackingStore::createObjectStore):
* storage/IDBLevelDBCoding.cpp:

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

12 years ago[skia] need rebaseline after the next skia roll -- improvements to xfermodes on gpu
reed@google.com [Mon, 26 Sep 2011 22:21:04 +0000 (22:21 +0000)]
[skia] need rebaseline after the next skia roll -- improvements to xfermodes on gpu
https://bugs.webkit.org/show_bug.cgi?id=68807

Reviewed by Stephen White.

* platform/chromium/test_expectations.txt:

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

12 years agoRepaint tests don't work in WebKit2
simon.fraser@apple.com [Mon, 26 Sep 2011 22:19:10 +0000 (22:19 +0000)]
Repaint tests don't work in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=68453

Tools:

Reviewed by Sam Weinig.

Convert DumpRenderTree to use use the repaint rects
exposed via WebKit API when generating the repaint test
overlay.

Fix WebKitTestRunner to work with repaint tests, again
using the repaint rects exposed from WK2.

In both cases, layoutTestController.display() now just
forces a display of the web view, and turns on repaint
rect tracking on the main FrameView.

Later, when pixel results are requested, the alpha overlay
that shows the repaint rects is generated using the list
of rects supplied by WebCore.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetDefaultsToConsistentValues):
(resetWebViewToConsistentStateBeforeTesting):
(displayWebView):
* DumpRenderTree/mac/PixelDumpSupportMac.mm:
(paintRepaintRectOverlay):
(createBitmapContextFromWebView):
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
(WTR::InjectedBundle::done):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(WTR::InjectedBundle::setRepaintRects):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::reset):
(WTR::InjectedBundlePage::dump):
* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
(WTR::LayoutTestController::display):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/cg/TestInvocationCG.cpp:
(WTR::paintRepaintRectOverlay):
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

LayoutTests:

Reviewed by Sam Weinig.

Update Mac results to use the new repaint rects. Differences from old results:
        * There are no longer invalidates from scrolling.
        * We no longer see the effects of AppKit rect coalescing.
        * Composting tests show the overlay now, but repaints in compositing layers do not show.

    Bad results in a couple of tests are covered by bugs 68830 and 68829.

* platform/mac/fast/repaint/4774354-expected.png:
* platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.png:
* platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.png:
* platform/mac/fast/repaint/border-radius-repaint-expected.png:
* platform/mac/fast/repaint/clipped-relative-expected.png:
* platform/mac/fast/repaint/containing-block-position-change-expected.png:
* platform/mac/fast/repaint/control-clip-expected.png:
* platform/mac/fast/repaint/delete-into-nested-block-expected.png:
* platform/mac/fast/repaint/fixed-and-absolute-position-scrolled-expected.png:
* platform/mac/fast/repaint/fixed-scroll-simple-expected.png:
* platform/mac/fast/repaint/flexible-box-overflow-expected.png:
* platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.png:
* platform/mac/fast/repaint/float-move-during-layout-expected.png:
* platform/mac/fast/repaint/float-overflow-expected.png:
* platform/mac/fast/repaint/float-overflow-right-expected.png:
* platform/mac/fast/repaint/iframe-scroll-repaint-expected.png:
* platform/mac/fast/repaint/inline-block-overflow-expected.png:
* platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.png:
* platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png:
* platform/mac/fast/repaint/layer-child-outline-expected.png:
* platform/mac/fast/repaint/layer-outline-expected.png:
* platform/mac/fast/repaint/layer-outline-horizontal-expected.png:
* platform/mac/fast/repaint/line-flow-with-floats-in-regions-expected.png:
* platform/mac/fast/repaint/line-overflow-expected.png:
* platform/mac/fast/repaint/nested-iframe-scroll-inner-expected.png:
* platform/mac/fast/repaint/nested-iframe-scroll-outer-expected.png:
* platform/mac/fast/repaint/outline-child-repaint-expected.png:
* platform/mac/fast/repaint/outline-shrinking-expected.png:
* platform/mac/fast/repaint/overflow-delete-line-expected.png:
* platform/mac/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.png:
* platform/mac/fast/repaint/repaint-during-scroll-expected.png:
* platform/mac/fast/repaint/scale-page-shrink-expected.png:
* platform/mac/fast/repaint/search-field-cancel-expected.png:
* platform/mac/fast/repaint/selection-after-remove-expected.png:
* platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png:
* platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
* platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png:
* platform/mac/fast/repaint/shadow-multiple-vertical-expected.png:
* platform/mac/fast/repaint/static-to-positioned-expected.png:
* platform/mac/fast/repaint/table-cell-move-expected.png:
* platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.png:
* platform/mac/fast/repaint/text-shadow-expected.png:
* platform/mac/fast/repaint/text-shadow-horizontal-expected.png:

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

12 years agoDisable Chromium gesture recognizer tests that started to fail on the
mihaip@chromium.org [Mon, 26 Sep 2011 22:12:55 +0000 (22:12 +0000)]
Disable Chromium gesture recognizer tests that started to fail on the
Mac bots recently.

* tests/InnerGestureRecognizerTest.cpp:
(TEST_F):

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

12 years ago[Chromium] Remove DFGAliasTracker.h references from gyp project files
noel.gordon@gmail.com [Mon, 26 Sep 2011 22:10:29 +0000 (22:10 +0000)]
[Chromium] Remove DFGAliasTracker.h references from gyp project files
https://bugs.webkit.org/show_bug.cgi?id=68787

Reviewed by Geoffrey Garen.

DFG/DFGAliasTracker.h was removed in r95389.  Cleanup (remove) references
to that file from the gyp project files.

* JavaScriptCore.gypi:

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

12 years agoFix nonpremultiplied webgl toDataURL to jpeg
commit-queue@webkit.org [Mon, 26 Sep 2011 22:07:33 +0000 (22:07 +0000)]
Fix nonpremultiplied webgl toDataURL to jpeg
https://bugs.webkit.org/show_bug.cgi?id=68366

Source/WebCore:

The canvas spec says that toDataURL to formats without an alpha must
be "composited onto a solid black background using the source-over
operator." Do that.

Patch by John Bauman <jbauman@chromium.org> on 2011-09-26
Reviewed by Kenneth Russell.

* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::CGImageToDataURL):
(WebCore::ImageBuffer::toDataURL):
(WebCore::ImageDataToDataURL):
* platform/image-encoders/skia/JPEGImageEncoder.cpp:
(WebCore::RGBAtoRGB):

LayoutTests:

Update the premultiplyalpha-test from the WebGL conformance tests.
Also use the correct expected result for toDataURL.jpeg.alpha.html.

Patch by John Bauman <jbauman@chromium.org> on 2011-09-26
Reviewed by Kenneth Russell.

* fast/canvas/webgl/premultiplyalpha-test-expected.txt:
* fast/canvas/webgl/premultiplyalpha-test.html:
* platform/mac/canvas/philip/tests/toDataURL.jpeg.alpha-expected.txt:

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

12 years agoSource/WebKit2: Added WKHitTestResult API's.
commit-queue@webkit.org [Mon, 26 Sep 2011 22:00:06 +0000 (22:00 +0000)]
Source/WebKit2: Added WKHitTestResult API's.

WKHitTestResult API's are added. These API's can be used to
get the hover'ed link/image/media URL as well as link lable and
title.
https://bugs.webkit.org/show_bug.cgi?id=68426

Patch by Nayan Kumar K <nayankk@motorola.com> on 2011-09-26
Reviewed by Anders Carlsson.

* CMakeLists.txt:
* GNUmakefile.am:
* UIProcess/API/C/WKHitTestResult.cpp: Added.
(WKHitTestResultGetTypeID):
(WKHitTestResultCopyAbsoluteImageURL):
(WKHitTestResultCopyAbsoluteLinkURL):
(WKHitTestResultCopyAbsoluteMediaURL):
(WKHitTestResultCopyLinkLabel):
(WKHitTestResultCopyLinkTitle):
* UIProcess/API/C/WKHitTestResult.h: Added.
* UIProcess/API/C/WebKit2.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebKit2API.pri:
* win/WebKit2.vcproj:
* win/WebKit2Generated.make:

Tools: Get hover'ed element URL from HitTest.

mouseDidMoveOverElement now gets the hover'ed element link using
WKHitTestResult API's.
https://bugs.webkit.org/show_bug.cgi?id=68426

Patch by Nayan Kumar K <nayankk@motorola.com> on 2011-09-26
Reviewed by Anders Carlsson.

* MiniBrowser/gtk/BrowserWindow.c:
(mouseDidMoveOverElement):

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

12 years ago[CMake] Remove FindFreetype.cmake
commit-queue@webkit.org [Mon, 26 Sep 2011 21:47:46 +0000 (21:47 +0000)]
[CMake] Remove FindFreetype.cmake
https://bugs.webkit.org/show_bug.cgi?id=68778

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-26
Reviewed by Adam Barth.

CMake has provided its own FindFreetype.cmake forever, so there is no
need to have another implementation in WebKit.

.:

* Source/cmake/FindCairo.cmake: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS}
instead of Freetype_{LIBRARIES,INCLUDE_DIRS}.
* Source/cmake/FindFreetype.cmake: Removed.
* Source/cmake/FindPango.cmake: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS}
instead of Freetype_{LIBRARIES,INCLUDE_DIRS}.
* Source/cmake/OptionsEfl.cmake: Remove minimum required version
check, it has never been checked and Freetype 2.1.10 from 2005 is
already > 9.0.

Source/WebCore:

No new tests, just a buildsystem change.

* CMakeListsEfl.txt: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS} instead of
Freetype_{LIBRARIES,INCLUDE_DIRS}.

Source/WebKit/efl:

* CMakeListsEfl.txt: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS} instead of
Freetype_{LIBRARIES,INCLUDE_DIRS}.

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

12 years agoFix full-page rubber band overhang appearing when gesturing during a slow page load.
commit-queue@webkit.org [Mon, 26 Sep 2011 21:44:26 +0000 (21:44 +0000)]
Fix full-page rubber band overhang appearing when gesturing during a slow page load.
https://bugs.webkit.org/show_bug.cgi?id=68568

Chromium bug: http://code.google.com/p/chromium/issues/detail?id=97243

(This also happens on Safari.)

The problem was that ScrollView::overhangAmount() was returning a full-page overhang due to contentsSize() being 0 briefly during a page load, which was then getting used by ScrollAnimatorChromiumMac.mm to update the overhang on a gesture event. This change makes the relevant logic not return an overhang if the contentsSize() is empty.

Patch by Alexei Svitkine <asvitkine@chromium.org> on 2011-09-26
Reviewed by Adam Barth.

No new tests, since this is highly timing-related.

* platform/ScrollView.cpp:
(WebCore::ScrollView::overhangAmount):
(WebCore::ScrollView::wheelEvent):

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

12 years ago2011-09-26 Alejandro G. Castro <alex@igalia.com>
alex@webkit.org [Mon, 26 Sep 2011 21:44:11 +0000 (21:44 +0000)]
2011-09-26  Alejandro G. Castro  <alex@igalia.com>

        [GTK] pot file is not properly remove during distcheck
        https://bugs.webkit.org/show_bug.cgi?id=68797

        Defined DOMAIN variable before DISTCLEANFILES because we are using
        it there to identify the .pot file.

        Reviewed by Martin Robinson.

        * GNUmakefile.am:

2011-09-26  Alejandro G. Castro  <alex@igalia.com>

        [GTK] pot file is not properly remove during distcheck
        https://bugs.webkit.org/show_bug.cgi?id=68797

        DOMAIN is already defined, we just add the value to the variable.

        Reviewed by Martin Robinson.

        * GNUmakefile.am:

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

12 years agoAdd skeleton parsing for a WatchList.
levin@chromium.org [Mon, 26 Sep 2011 21:39:02 +0000 (21:39 +0000)]
Add skeleton parsing for a WatchList.
https://bugs.webkit.org/show_bug.cgi?id=68823

Reviewed by Adam Barth.

* Scripts/webkitpy/common/watchlist/watchlistparser.py: Added.
Parses the top level watch list sections -- none are defined yet -- and
throws an exception if an invalid one is listed.
* Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py: Added.
Verify the exception for an invalid section in a watch list.
* Scripts/webkitpy/common/watchlist/watchlist.py: Added.

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

12 years agoAdd a failing expectation to the test added by r95964 on Chromium Linux and Chromium...
rniwa@webkit.org [Mon, 26 Sep 2011 21:06:44 +0000 (21:06 +0000)]
Add a failing expectation to the test added by r95964 on Chromium Linux and Chromium Windows.
The failure is tracked by the bug 68832.

* platform/chromium/test_expectations.txt:

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

12 years ago[Qt][WK2]Unreviewed speculative buildfix after r95968.
ossy@webkit.org [Mon, 26 Sep 2011 20:57:06 +0000 (20:57 +0000)]
[Qt][WK2]Unreviewed speculative buildfix after r95968.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::contentsSizeChanged):

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

12 years ago[chromium] Revise zoom animator backend to use full transform instead of just scale.
wjmaclean@chromium.org [Mon, 26 Sep 2011 20:31:12 +0000 (20:31 +0000)]
[chromium] Revise zoom animator backend to use full transform instead of just scale.
https://bugs.webkit.org/show_bug.cgi?id=68535

Reviewed by Kenneth Russell.

Source/WebCore:

* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setZoomAnimatorScale):
(WebCore::Settings::zoomAnimatorScale):
(WebCore::Settings::setZoomAnimatorPosition):
(WebCore::Settings::zoomAnimatorPosX):
(WebCore::Settings::zoomAnimatorPosY):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::drawLayersInternal):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::setZoomAnimatorTransform):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::commitTo):
(WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
(WebCore::CCLayerTreeHost::updateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* testing/Internals.cpp:
(WebCore::Internals::setZoomAnimatorTransform):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setZoomLevel):
(WebKit::WebViewImpl::setRootLayerNeedsDisplay):

LayoutTests:

* platform/chromium-gpu-linux/platform/chromium/compositing/zoom-animator-scale-test-expected.png: Added.
* platform/chromium/compositing/zoom-animator-scale-test.html:

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

12 years agoLayout Test fast/animation/request-animation-frame-timestamps-advance.html is failing
mihaip@chromium.org [Mon, 26 Sep 2011 20:28:07 +0000 (20:28 +0000)]
Layout Test fast/animation/request-animation-frame-timestamps-advance.html is failing
https://bugs.webkit.org/show_bug.cgi?id=68821

Switch test to use finishJSTest(), which handles js-test-post.js loading
after the test is complete better.

* fast/animation/request-animation-frame-timestamps-advance.html:
* fast/animation/script-tests/request-animation-frame-timestamps-advance.js:
(window.webkitRequestAnimationFrame):
* platform/chromium/test_expectations.txt:

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

12 years ago[CMake] Detect the operating system in a more generic way.
commit-queue@webkit.org [Mon, 26 Sep 2011 20:08:57 +0000 (20:08 +0000)]
[CMake] Detect the operating system in a more generic way.
https://bugs.webkit.org/show_bug.cgi?id=67482

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-26
Reviewed by Adam Barth.

So far the buildsystem only considered Windows, Linux and Mac OS X as
valid operating systems, but any Unix (or at least the BSDs) should also
work fine.

By using the OS values CMake itself defines we can check for Unix
systems in a more generic fashion.

* Source/CMakeLists.txt:

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

12 years agoREGRESSION (r95926) Assert firing in svg/clip-path/clip-path-on-svg.svg
mitz@apple.com [Mon, 26 Sep 2011 20:08:11 +0000 (20:08 +0000)]
REGRESSION (r95926) Assert firing in svg/clip-path/clip-path-on-svg.svg
https://bugs.webkit.org/show_bug.cgi?id=68819

Reviewed by Dave Hyatt.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::scheduleRelayout): Revert to using view() instead of the RenderView**
parameter of isRooted, since only the former returns 0 when the document is detached.

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

12 years agoWeb Inspector: XMLHttpRequest console logging messages should link to network panel...
vsevik@chromium.org [Mon, 26 Sep 2011 20:06:55 +0000 (20:06 +0000)]
Web Inspector: XMLHttpRequest console logging messages should link to network panel when possible.
https://bugs.webkit.org/show_bug.cgi?id=67399

Reviewed by Pavel Feldman.

* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
* inspector/ConsoleMessage.h:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
(WebInspector.ConsoleMessage.prototype._formatMessage):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.showAnchorLocation):
* inspector/front-end/inspector.js:
(WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
(WebInspector.linkifyStringAsFragment):

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

12 years ago[EFL] Add virtual method to notify user when wrapping focus
demarchi@webkit.org [Mon, 26 Sep 2011 19:58:24 +0000 (19:58 +0000)]
[EFL] Add virtual method to notify user when wrapping focus
https://bugs.webkit.org/show_bug.cgi?id=68699

Reviewed by Antonio Gomes.

Add a virtual method to ewk_view, so the Chrome gets notified if we
finished focusing all the items and would start over. This way the
browser can decide to handle the subsequent focus changes among its
widgets.

* WebCoreSupport/ChromeClientEfl.cpp: call ewk_view's virtual method to
give it a chance to grab focus
(WebCore::ChromeClientEfl::canTakeFocus):
* ewk/ewk_private.h:
* ewk/ewk_view.cpp: add virtual method
(ewk_view_focus_can_cycle):
* ewk/ewk_view.h: add focus direction enum and virtual method

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

12 years agoRemove an old DrawingAreaProxy::paint member function
andersca@apple.com [Mon, 26 Sep 2011 19:58:00 +0000 (19:58 +0000)]
Remove an old DrawingAreaProxy::paint member function
https://bugs.webkit.org/show_bug.cgi?id=68825

Reviewed by Dan Bernstein.

* UIProcess/DrawingAreaProxy.h:
* UIProcess/DrawingAreaProxyImpl.cpp:
* UIProcess/DrawingAreaProxyImpl.h:
* UIProcess/TiledDrawingAreaProxy.cpp:
* UIProcess/TiledDrawingAreaProxy.h:

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

12 years agoRebaseline fast/dom/Window/window-resize-contents.html for non-Chromium ports.
mihaip@chromium.org [Mon, 26 Sep 2011 19:57:56 +0000 (19:57 +0000)]
Rebaseline fast/dom/Window/window-resize-contents.html for non-Chromium ports.

Previous expected result was Chromium-specific because console line
numbers were different in JSC.

Additionally, the test doesn't behave as expected for non-Chromium
ports (window size remains at 800x600). Update the baselines to use
that for now, so that we're still aware of regressions/progressions.

* fast/dom/Window/window-resize-contents-expected.txt:
* platform/chromium/fast/dom/Window/window-resize-contents-expected.txt: Copied from LayoutTests/fast/dom/Window/window-resize-contents-expected.txt.

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

12 years agoWhite flash when entering full-screen using element.webkitRequestFullScreen()
jer.noble@apple.com [Mon, 26 Sep 2011 19:51:15 +0000 (19:51 +0000)]
White flash when entering full-screen using element.webkitRequestFullScreen()
https://bugs.webkit.org/show_bug.cgi?id=68481

Reviewed by Simon Fraser.

Source/WebCore:

No new tests; covered by existing full screen tests.

During an animation, renderers may try to paint into the FullScreenRenderer's
GraphicsLayer, and an optimization we previously added for the FullScreenRenderer's
background will cause these paints to fail. Remove this optimization in
containsPaintedContent, and taking non-composited elements into full screen will
animate correctly.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::containsPaintedContent):

Source/WebKit2:

Do not re-enable screen updates after exiting compositing mode until a repaint has completed.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController exitAcceleratedCompositingMode]):
(continueExitCompositingModeAfterRepaintCallback):
(-[WKFullScreenWindowController _continueExitCompositingModeAfterRepaint]):

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

12 years agoUnreviewed, rolling out r95960.
mihaip@chromium.org [Mon, 26 Sep 2011 19:43:56 +0000 (19:43 +0000)]
Unreviewed, rolling out r95960.
http://trac.webkit.org/changeset/95960
https://bugs.webkit.org/show_bug.cgi?id=58608

Significantly changes table border rendering

Source/WebCore:

* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):

LayoutTests:

* fast/borders/border-groove-expected.png: Removed.
* fast/borders/border-groove-expected.txt: Removed.
* fast/borders/border-groove.html: Removed.
* fast/borders/border-inset-expected.png: Removed.
* fast/borders/border-inset-expected.txt: Removed.
* fast/borders/border-inset.html: Removed.
* fast/borders/border-outset-expected.png: Removed.
* fast/borders/border-outset-expected.txt: Removed.
* fast/borders/border-outset.html: Removed.
* fast/borders/border-ridge-expected.png: Removed.
* fast/borders/border-ridge-expected.txt: Removed.
* fast/borders/border-ridge.html: Removed.

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

12 years agoChromium test expectations update.
mihaip@chromium.org [Mon, 26 Sep 2011 19:09:49 +0000 (19:09 +0000)]
Chromium test expectations update.

* platform/chromium/test_expectations.txt:

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

12 years agoRepaint tests don't work in WebKit2
simon.fraser@apple.com [Mon, 26 Sep 2011 19:01:36 +0000 (19:01 +0000)]
Repaint tests don't work in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=68453

Reviewed by Sam Weinig.

Expose WKBundlePage methods to turn on repaint rect tracking
in WebKit2, for WebKitTestRunner.

As part of the change, expose utility methods on WebPage
to get the main Frame and FrameView, which required renaming
the exisiting method that returns a WebFrame. Fix callers
of that method to handle null when necessary.

* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageGetMainFrame):
(WKBundlePageSetTracksRepaints):
(WKBundlePageIsTrackingRepaints):
(WKBundlePageResetTrackedRepaints):
(WKBundlePageCopyTrackedRepaintRects):
* WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::findLargestFrameInFrameSet):
(WebKit::WebChromeClient::closeWindowSoon):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
(WebKit::WebFrameLoaderClient::dispatchDidLayout):
(WebKit::WebFrameLoaderClient::frameLoadCompleted):
(WebKit::WebFrameLoaderClient::restoreViewState):
(WebKit::WebFrameLoaderClient::provisionalLoadStarted):
(WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebKit::WebFrameLoaderClient::createPlugin):
* WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
(WebKit::WebEditorClient::documentFragmentFromAttributedString):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::isMainFrame):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setTracksRepaints):
(WebKit::WebPage::isTrackingRepaints):
(WebKit::WebPage::resetTrackedRepaints):
(WebKit::WebPage::trackedRepaintRects):
(WebKit::WebPage::clearMainFrameName):
(WebKit::WebPage::layoutIfNeeded):
(WebKit::WebPage::mainFrameHasCustomRepresentation):
(WebKit::WebPage::mainFrame):
(WebKit::WebPage::mainFrameView):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::mainWebFrame):
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

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

12 years agoRepaint tests don't work in WebKit2
simon.fraser@apple.com [Mon, 26 Sep 2011 18:57:14 +0000 (18:57 +0000)]
Repaint tests don't work in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=68453

Reviewed by Sam Weinig.

Source/WebCore:

Have FrameView keep track of repaint rects when asked to, and
expose this set of repaint rects via private WebKit API for later
use by DumpRenderTree.

The repaint rects are in WebView coordinates, so we have to
unapply the scroll offset.

* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::repaintContentRectangle):
(WebCore::FrameView::setTracksRepaints):
* page/FrameView.h:
(WebCore::FrameView::isTrackingRepaints):
(WebCore::FrameView::resetTrackedRepaints):
(WebCore::FrameView::trackedRepaintRects):

Source/WebKit/mac:

Have FrameView keep track of repaint rects when asked to, and
expose this set of repaint rects via private WebKit API for later
use by DumpRenderTree.

* WebView/WebView.mm:
(-[WebView setTracksRepaints:]):
(-[WebView isTrackingRepaints]):
(-[WebView resetTrackedRepaints]):
(-[WebView trackedRepaintRects]):
* WebView/WebViewPrivate.h:

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

12 years agoOptimize matching of common pseudo classes
antti@apple.com [Mon, 26 Sep 2011 18:53:48 +0000 (18:53 +0000)]
Optimize matching of common pseudo classes
https://bugs.webkit.org/show_bug.cgi?id=68633

Reviewed by Dave Hyatt, Darin Adler, Dimitri Glazkov.

:link, :visited and :focus are quite common. They often used as univeral selectors (including in our
default stylesheet) so we try to match them for all elements in the document. They take always the
slow matching path. In addition we match link styles twice due to visited link pseudo style generation
so the overhead is doubled. As a result substantial portion of our style matching time is spent
dealing with these pseudo classes.

This patch adds new lists to RuleSet for common pseudo class rules. The rules on the lists are only checked
if the element has approprate type and stat. ases where the rightmost pseudo class can then be rejected immediately.
We can also enable the fast path checking for the rest of the selector in many cases.

This seems to be >30% progression in selector matching performance with typical style sheets. It saves ~0.9s
when loading the full HTML5 spec.

* css/CSSStyleSelector.cpp:
(WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
(WebCore::RuleSet::idRules):
(WebCore::RuleSet::classRules):
(WebCore::RuleSet::tagRules):
(WebCore::RuleSet::shadowPseudoElementRules):
(WebCore::RuleSet::linkPseudoClassRules):
(WebCore::RuleSet::visitedPseudoClassRules):
(WebCore::RuleSet::focusPseudoClassRules):
(WebCore::RuleSet::universalRules):
(WebCore::RuleSet::pageRules):

    Add a new lists, some stylistic renamings.

(WebCore::CSSStyleSelector::matchRules):

    New link and focus checks.

(WebCore::CSSStyleSelector::matchRulesForList):
(WebCore::CSSStyleSelector::checkSelector):

    Inline the rightmost selector tag checking, skip if unnecessary.

(WebCore::isSelectorMatchingHTMLBasedOnRuleHash):

    Common pseudo classes now match based on early filtering (though it is not a hash in this case).

(WebCore::RuleData::RuleData):
(WebCore::RuleSet::~RuleSet):
(WebCore::RuleSet::addRule):

    Sort pseudo classes to new lists.

(WebCore::RuleSet::collectFeatures):
(WebCore::RuleSet::shrinkToFit):
(WebCore::CSSStyleSelector::matchPageRules):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkSelector):

    Adopt to expanded fast path (this is used by querySelectorAll).

(WebCore::SelectorChecker::fastCheckRightmostSelector):
(WebCore::SelectorChecker::fastCheckSelector):

    Rightmost selector is now checked differently than the rest. RuleSet based selection in CSSStyleSelector
    is equivalent to fastCheckRightmostSelector().

(WebCore::isFastCheckableRelation):
(WebCore::isFastCheckableMatch):
(WebCore::isFastCheckableRightmostSelector):
(WebCore::SelectorChecker::isFastCheckableSelector):
(WebCore::SelectorChecker::checkOneSelector):
(WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
(WebCore::SelectorChecker::isFrameFocused):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::isCommonPseudoClassSelector):
(WebCore::SelectorChecker::linkMatchesVisitedPseudoClass):
(WebCore::SelectorChecker::matchesFocusPseudoClass):
(WebCore::SelectorChecker::tagMatches):

    Refactor a bunch of shared checks into functions.

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

12 years ago[Qt]REGRESSION(r95865): It made 4 tests crash
ggaren@apple.com [Mon, 26 Sep 2011 18:52:00 +0000 (18:52 +0000)]
[Qt]REGRESSION(r95865): It made 4 tests crash
https://bugs.webkit.org/show_bug.cgi?id=68780

Patch by Zoltan Herczeg <zherczeg@webkit.org> on 2011-09-26
Reviewed by Oliver Hunt.

emitJumpSlowCaseIfNotJSCell(...) cannot be moved
away since the next load depends on it.

* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_by_val):

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

12 years agoREGRESSION(r74971): Selection doesn't work correctly in BiDi Text
rniwa@webkit.org [Mon, 26 Sep 2011 18:30:29 +0000 (18:30 +0000)]
REGRESSION(r74971): Selection doesn't work correctly in BiDi Text
https://bugs.webkit.org/show_bug.cgi?id=57340

Reviewed by Eric Seidel.

Source/WebCore:

This patch adds the end point adjustment mechanism at bidi boundaries similar to the one NSTextView implements.

To understand the problem, suppose we have strong RTL letters "ABC" in a LTR block (visually laid out as CBA).

Per NSTextView convention, logical offsets between each letter is placed as (0)C(2)B(1)A(3). In other words,
placing the caret visually on the left of CBA yields the position inside the text node of "ABC" at offset 0.
Likewise, placing it between C and B yields ("ABC", 2), and placing it on the right of CBA yields ("ABC", 3).

Now suppose a user attempts to select the letter A by a mouse drag from the right of CBA to a point between
B and A. First, the initial mouse down places the selection's base at ("ABC", 3). Then as the mouse pointer
moves to a point on the left of A, the selection's extent is set at ("ABC", 1), selecting "BC".

To mitigate this issue, NSTextView adjusts selection base and extent under certain conditions. In the above
example, NSTextView detects user's intent and changes the selection's base to ("ABC", 0) temporarily.

This patch implements a similar trick on WebKit. We adjust the base or the extent when they're at the left
end or at the right end of a bidi run and the other end is inside of the run. In the above example, the
base position on the right of A is the right end of a bidi run and the extent position between B and A is
inside the same run (CBA), so we would adjust the base to be ("ABC", 0) as NSTextView does.

Take another example abcABC. Note offsets are assigned as (0)a(1)b(2)c(3)C(5)B(4)A(6) When the user starts
a mouse drag from the right of A to a point between B and A, we adjust the selection base to be ("abcABC", 3)
because the base is at the right end of a bidi run and the extent is in the same run. We keep the adjustment
when the mouse pointer moves to a point between C and B. However, when the mouser pointer reaches a point
between letters b and c, the selection extent is placed at ("abcABC", 2). Because the extent is outside of
the bidi run started from the selection base, we restore the original base at this point. Had we not done this,
we'll end up selecting just "c".

While this algorithm is implemented in FrameSelection::setNonDirectionalSelectionIfNeeded, this patch adds
various member functions to RenderedPosition to facilitate abstraction around inline boxes and bidi runs.

Test: editing/selection/select-bidi-run.html

* editing/FrameSelection.cpp:
(WebCore::adjustEndpointsAtBidiBoundary): Added. Implements the endpoints adjustment algorithm.
(WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded): Calls adjustEndpointsAtBidiBoundary, and
restores the original base as needed.
* editing/FrameSelection.h:
* editing/RenderedPosition.cpp:
(WebCore::RenderedPosition::RenderedPosition):
(WebCore::RenderedPosition::prevLeafChild): Added to cache prevLeafChild of the current inline box.
(WebCore::RenderedPosition::nextLeafChild): Ditto for nextLeafChild.
(WebCore::RenderedPosition::isEquivalent): Compares two RenderedPositions considering neighboring inline boxes
so that the rightmost position in a box and the leftmost position in the following box is considered equal.
(WebCore::RenderedPosition::bidiLevelOnLeft): Added. Returns the bidi level of the run on the left. We can't
add a generic bidiLevel to this class because it'll be ambiguous at bidi boundaries.
(WebCore::RenderedPosition::bidiLevelOnRight): Ditto for the run on the right.
(WebCore::RenderedPosition::leftBoundaryOfBidiRun): Added.
(WebCore::RenderedPosition::rightBoundaryOfBidiRun): Added.
(WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
(WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
(WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun): Returns Position at the left edge of a bidi run
if RenderedPosition is at such a position. Asserts atLeftBoundaryOfBidiRun.
(WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun): Ditto for the right edge.
* editing/RenderedPosition.h:
(WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
(WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
(WebCore::RenderedPosition::atLeftmostOffsetInBox): Added.
(WebCore::RenderedPosition::atRightmostOffsetInBox): Added.
(WebCore::RenderedPosition::uncachedInlineBox): Added. We can't use a static const variable because gcc thinks
reinterpret_cast<InlineBox*>(1) is not an integral value.
(WebCore::RenderedPosition::RenderedPosition):
* editing/VisibleSelection.h:
(WebCore::VisibleSelection::visibleBase): Added.
(WebCore::VisibleSelection::visibleExtent): Added.
* page/EventHandler.cpp:
(WebCore::EventHandler::updateSelectionForMouseDrag):

LayoutTests:

* editing/selection/select-bidi-run-expected.txt: Added.
* editing/selection/select-bidi-run.html: Added.

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

12 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Mon, 26 Sep 2011 18:00:50 +0000 (18:00 +0000)]
[Qt] Unreviewed gardening.

* platform/qt/fast/dom/Window/window-resize-contents-expected.png: Added after r95897.
* platform/qt/fast/dom/Window/window-resize-contents-expected.txt: Added after r95897.
* platform/qt/fast/frames/flattening/frameset-flattening-advanced-expected.png: Updated after r95897.
* platform/qt/fast/frames/flattening/frameset-flattening-advanced-expected.txt: Updated  after r95897.
* platform/qt/fast/frames/flattening/frameset-flattening-subframesets-expected.png: Updated  after r95897.
* platform/qt/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: Updated  after r95897.
* platform/qt/fast/ruby/ruby-text-before-after-content-expected.png: Added after r95857.
* platform/qt/fast/ruby/ruby-text-before-after-content-expected.txt: Added after r95857.

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

12 years agoUnreviewed, rolling out r95256.
commit-queue@webkit.org [Mon, 26 Sep 2011 17:52:55 +0000 (17:52 +0000)]
Unreviewed, rolling out r95256.
http://trac.webkit.org/changeset/95256
https://bugs.webkit.org/show_bug.cgi?id=68814

Temporary CRASH calls no longer needed (Requested by enne on
#webkit).

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

Source/WebCore:

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::commitTo):

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::composite):

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

12 years ago<http://webkit.org/b/68809> IconDatabase::syncThreadMainLoop can assert if wakeSyncTh...
mrowe@apple.com [Mon, 26 Sep 2011 17:36:19 +0000 (17:36 +0000)]
<webkit.org/b/68809> IconDatabase::syncThreadMainLoop can assert if wakeSyncThread is called before thread starts executing

If wakeSyncThread is called before syncThreadMainLoop starts executing then m_syncThreadHasWorkToDo would be set
while executing the body of the sync thread loop, causing us to skip blocking on the condition variable. This would
lead to us hitting the assertion failure due to m_disabledSuddenTerminationForSyncThread being false, unless the main
thread happened to call wakeSyncThread a second time while the first loop iteration was executing.

Reviewed by Anders Carlsson.

* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::syncThreadMainLoop): Clear m_syncThreadHasWorkToDo to indicate that we're about to perform
all pending work.

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

12 years agoGroove/inset/outset borders show solid if the color is black.
simon.fraser@apple.com [Mon, 26 Sep 2011 17:34:08 +0000 (17:34 +0000)]
Groove/inset/outset borders show solid if the color is black.
https://bugs.webkit.org/show_bug.cgi?id=58608

Patch by Antaryami Pandia <antaryami.pandia@motorola.com> on 2011-09-26
Reviewed by Simon Fraser.

Source/WebCore:

Lightened the border side colors when drawing borders with styles as
Outset/Inset/Groove/Ridge.

Tests: fast/borders/border-groove.html
       fast/borders/border-inset.html
       fast/borders/border-outset.html
       fast/borders/border-ridge.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):

LayoutTests:

* fast/borders/border-groove-expected.png: Added.
* fast/borders/border-groove-expected.txt: Added.
* fast/borders/border-groove.html: Added.
* fast/borders/border-inset-expected.png: Added.
* fast/borders/border-inset-expected.txt: Added.
* fast/borders/border-inset.html: Added.
* fast/borders/border-outset-expected.png: Added.
* fast/borders/border-outset-expected.txt: Added.
* fast/borders/border-outset.html: Added.
* fast/borders/border-ridge-expected.png: Added.
* fast/borders/border-ridge-expected.txt: Added.
* fast/borders/border-ridge.html: Added.

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

12 years agoDelete retired custom font data only on document
inferno@chromium.org [Mon, 26 Sep 2011 17:13:09 +0000 (17:13 +0000)]
Delete retired custom font data only on document
destruction, and not on recalc style.
https://bugs.webkit.org/show_bug.cgi?id=68805

Reviewed by Dave Hyatt.

Source/WebCore:

Test: fast/text/custom-font-data-crash.html

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

LayoutTests:

* fast/text/custom-font-data-crash-expected.txt: Added.
* fast/text/custom-font-data-crash.html: Added.

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

12 years agochrome.dll!WebCore::ApplyStyleCommand::applyBlockStyle ReadAV@NULL (64db547804532a84b...
rniwa@webkit.org [Mon, 26 Sep 2011 17:00:40 +0000 (17:00 +0000)]
chrome.dll!WebCore::ApplyStyleCommand::applyBlockStyle ReadAV@NULL (64db547804532a84be2e53721e499e9e)
https://bugs.webkit.org/show_bug.cgi?id=51639

Patch by Jay Soffian <jaysoffian@gmail.com> on 2011-09-26
Reviewed by Ryosuke Niwa.

Add missing window.layoutTestController.dumpAsText so that test output matches expectation.

* LayoutTests/editing/style/justify-without-enclosing-block.xhtml:

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

12 years ago[chromium] Update VideoLayerChromium textures after texture resources are reclaimed
enne@google.com [Mon, 26 Sep 2011 16:44:18 +0000 (16:44 +0000)]
[chromium] Update VideoLayerChromium textures after texture resources are reclaimed
https://bugs.webkit.org/show_bug.cgi?id=68742

Reviewed by James Robinson.

Source/WebCore:

If video textures are reclaimed (such as during a visibility change on
a tab), the dirty rect for the layer is empty and it skips out of
updating compositor resources, leaving the video textures invalid.
Instead, check the textures here to make sure they're still valid
first before early out so that they can get reupdated if necessary.

Additionally, fix a small bug in pushPropertiesTo where 1 plane RGB
videos would not get drawn because all 3 planes didn't have valid
textures.

Test: compositing/video-page-visibility.html

* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::VideoLayerChromium):
(WebCore::VideoLayerChromium::cleanupResources):
(WebCore::VideoLayerChromium::updateCompositorResources):
(WebCore::VideoLayerChromium::pushPropertiesTo):
(WebCore::VideoLayerChromium::setLayerTreeHost):
(WebCore::VideoLayerChromium::texturesValid):
* platform/graphics/chromium/VideoLayerChromium.h:

LayoutTests:

Without this patch, this video texture is invalid.

* compositing/video-page-visibility-expected.png: Added.
* compositing/video-page-visibility-expected.txt: Added.
* compositing/video-page-visibility.html: Added.

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

12 years agoWeb Inspector: generic performance UI test for panel switch.
loislo@chromium.org [Mon, 26 Sep 2011 16:31:46 +0000 (16:31 +0000)]
Web Inspector: generic performance UI test for panel switch.
https://bugs.webkit.org/show_bug.cgi?id=68806

Reviewed by Pavel Feldman.

* inspector/performance/resources/show-panel-elements.html: Removed.
* inspector/performance/resources/show-panel-network.html: Removed.
* inspector/performance/resources/show-panel.html: Added.

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

12 years agoClean up code imported from WebKitAPITest
aroben@apple.com [Mon, 26 Sep 2011 15:55:05 +0000 (15:55 +0000)]
Clean up code imported from WebKitAPITest

Fixes <http://webkit.org/b/68799> WebViewDestruction tests and related code don't match
TestWebKitAPI conventions

Reviewed by David Levin.

* TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp: Changed tests to use gtest macros
and to share functionality via test fixtures. Prefixed Win32 API calls with ::. Updated
namespace name.

(TestWebKitAPI::WebViewDestruction::SetUp):
(TestWebKitAPI::WebViewDestruction::webViewCount):
(TestWebKitAPI::WebViewDestructionWithHostWindow::SetUp):
(TestWebKitAPI::WebViewDestruction::runMessagePump):
(TestWebKitAPI::WebViewDestruction::TearDown):
(TestWebKitAPI::WebViewDestructionWithHostWindow::TearDown):
Moved functionality from free functions into these new test fixtures.

* TestWebKitAPI/win/HostWindow.cpp:
* TestWebKitAPI/win/HostWindow.h:
Prefixed Win32 API calls with ::. Updated namespace name.

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

12 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Mon, 26 Sep 2011 15:51:43 +0000 (15:51 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

12 years agoWeb Inspector: introduce protocol backwards compatibility validator.
pfeldman@chromium.org [Mon, 26 Sep 2011 15:29:39 +0000 (15:29 +0000)]
Web Inspector: introduce protocol backwards compatibility validator.
https://bugs.webkit.org/show_bug.cgi?id=68800

Reviewed by Yury Semikhatsky.

* inspector/Inspector.json:
* inspector/Inspector.draft-01.json: Copied from Source/WebCore/inspector/Inspector.json.
* inspector/validate-protocol-compatibility: Added.

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

12 years agoUnreviewed Qt gardening.
reni@webkit.org [Mon, 26 Sep 2011 14:45:33 +0000 (14:45 +0000)]
Unreviewed Qt gardening.
https://bugs.webkit.org/show_bug.cgi?id=68796

Patch by Zsolt Fehér <feherzs@inf.u-szeged.hu> on 2011-09-26

* platform/qt/Skipped:

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

12 years agoUnreviewed Qt gardening.
reni@webkit.org [Mon, 26 Sep 2011 14:39:24 +0000 (14:39 +0000)]
Unreviewed Qt gardening.
https://bugs.webkit.org/show_bug.cgi?id=51639

Patch by Zsolt Fehér <feherzs@inf.u-szeged.hu> on 2011-09-26

* platform/qt/Skipped:

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

12 years agoFix documentation generation by specifying the sources
kov@webkit.org [Mon, 26 Sep 2011 13:35:51 +0000 (13:35 +0000)]
Fix documentation generation by specifying the sources
directory with $(top_srcdir).

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2011-09-26
Reviewed by Xan Lopez.

* docs/GNUmakefile.am:

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

12 years ago[Qt] Unused variable in QNetworkReplyHandler::sendNetworkRequest.
commit-queue@webkit.org [Mon, 26 Sep 2011 13:03:01 +0000 (13:03 +0000)]
[Qt] Unused variable in QNetworkReplyHandler::sendNetworkRequest.
https://bugs.webkit.org/show_bug.cgi?id=68798

Patch by Andreas Kling <kling@webkit.org> on 2011-09-26
Reviewed by Noam Rosenthal.

* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::sendNetworkRequest):

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

12 years agoSecond unreviewed build fix for r95941
loislo@chromium.org [Mon, 26 Sep 2011 12:52:41 +0000 (12:52 +0000)]
Second unreviewed build fix for r95941

* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willCallFunctionImpl):

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

12 years agoUnreviewed build fix for webkit builds after r95941.
loislo@chromium.org [Mon, 26 Sep 2011 12:48:55 +0000 (12:48 +0000)]
Unreviewed build fix for webkit builds after r95941.

* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willCallFunctionImpl):

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

12 years agoMerge WebKitAPITest into TestWebKitAPI
aroben@apple.com [Mon, 26 Sep 2011 12:16:59 +0000 (12:16 +0000)]
Merge WebKitAPITest into TestWebKitAPI

This also means that our formerly-WebKitAPITest tests will be run on the bots!

I made the minimal changes necessary to get the tests to run in TestWebKitAPI. I'll make
them more idiomatic in a separate pass.

Fixes <http://webkit.org/b/66560> WebKitAPITest and TestWebKitAPI have duplicate
functionality (and names!)

Reviewed by Anders Carlsson.

Tools:

* TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp: Renamed from Tools/WebKitAPITest/tests/WebViewDestruction.cpp.
* TestWebKitAPI/win/HostWindow.cpp: Renamed from Tools/WebKitAPITest/HostWindow.cpp.
* TestWebKitAPI/win/HostWindow.h: Renamed from Tools/WebKitAPITest/HostWindow.h.

* TestWebKitAPI/win/TestWebKitAPI.vcproj: Added new files.

* TestWebKitAPI/win/main.cpp:
(main): Added a call to ::OleInitialize to make WebKit1 work. This came from WebKitAPITest.

* WebKitAPITest: Removed this directory and its contents.

Source/WebKit/win:

Remove WebKitAPITest

* WebKit.vcproj/WebKit.sln: Removed WebKitAPITest.vcproj. Changed WebKitLauncherWin, which
formerly depended on WebKitAPITest, to now depend on DumpRenderTree, which WebKitAPITest
depended on.

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

12 years agoRemove two failing WebKitAPITest tests
aroben@apple.com [Mon, 26 Sep 2011 12:15:28 +0000 (12:15 +0000)]
Remove two failing WebKitAPITest tests

The failures are covered by <http://webkit.org/b/33162> and <http://webkit.org/b/32868>.

Reviewed by Anders Carlsson.

* WebKitAPITest/tests/WebViewDestruction.cpp: Removed the NoCloseOrDestroyViewWindow and
MainFrameAfterClose tests.

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

12 years ago2011-09-26 Andrey Kosyakov <caseq@chromium.org>
caseq@chromium.org [Mon, 26 Sep 2011 12:15:14 +0000 (12:15 +0000)]
2011-09-26  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] allow resources to hook on click on resource links
        https://bugs.webkit.org/show_bug.cgi?id=68528

        Reviewed by Yury Semikhatsky.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/ExtensionAPI.js:
        (injectedExtensionAPI.Console.prototype.get Severity):
        (injectedExtensionAPI.Panels.prototype.create):
        (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
        (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
        (injectedExtensionAPI.ExtensionServerClient.prototype.hasHandler):
        (injectedExtensionAPI.ExtensionServerClient.prototype.deregisterHandler):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
        (WebInspector.ExtensionServer.prototype._handleAnchorClicked):
        (WebInspector.ExtensionServer.prototype._addExtensions):
        (WebInspector.ExtensionServer.prototype._addExtension):
        (WebInspector.ExtensionServer.prototype._registerExtension):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        (WebInspector.SettingsScreen.prototype._createCustomSetting):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/helpScreen.css:
        (.help-content select):
        (.help-content select:disabled):
        (.help-content option):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.set attached):
        (WebInspector._showAnchorLocation):

2011-09-26  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] allow resources to hook on click on resource links
        https://bugs.webkit.org/show_bug.cgi?id=68528

        Reviewed by Yury Semikhatsky.

        * http/tests/inspector/extensions-test.js:
        (initialize_ExtensionsTest.InspectorTest.runExtensionTests):
        (initialize_ExtensionsTest):
        * inspector/extensions/extensions-api-expected.txt:
        * inspector/extensions/extensions-resources-expected.txt:
        * inspector/extensions/extensions-resources.html:

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

12 years agoWeb Inspector: Timeline: record root event for the function calls enforced by console...
loislo@chromium.org [Mon, 26 Sep 2011 12:12:34 +0000 (12:12 +0000)]
Web Inspector: Timeline: record root event for the function calls enforced by console eval.
https://bugs.webkit.org/show_bug.cgi?id=68695

In a complex web application developer might want to timeline a specific piece of code.

In this case he can do the next steps:
1) start timeline;
2) eval a command in console;
3) stop timeline.

I think it'd be nice to have a root event for the all the events that happened as the result of such eval.

Reviewed by Yury Semikhatsky.

Source/WebCore:

Test: inspector/timeline/timeline-injected-script-eval.html

* bindings/v8/ScriptFunctionCall.cpp:
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::makeCall):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willCallFunctionImpl):

LayoutTests:

* inspector/timeline/timeline-injected-script-eval-expected.txt: Added.
* inspector/timeline/timeline-injected-script-eval.html: Added.
* platform/chromium/inspector/timeline/timeline-injected-script-eval-expected.txt: Added.
* platform/chromium/inspector/timeline/timeline-receive-response-event-expected.txt:

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

12 years agoREGRESSION: Empathy crashes when switching theme
kov@webkit.org [Mon, 26 Sep 2011 12:06:02 +0000 (12:06 +0000)]
REGRESSION: Empathy crashes when switching theme
https://bugs.webkit.org/show_bug.cgi?id=68600

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2011-09-26
Reviewed by Martin Robinson.

* webkit/webkitwebview.cpp:
(webkit_web_view_set_scroll_adjustments): use the existing
set{Horizontal,Vertical}Adjustment functions, so the code is not
duplicated
(webkit_web_view_dispose): unset the adjustments during dispose,
to avoid late adjustment change notifications hitting the
adjustment watcher

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

12 years ago[Texmap][Qt] Enable TextureMapperGL in platforms where BGRA is not present
noam.rosenthal@nokia.com [Mon, 26 Sep 2011 10:51:59 +0000 (10:51 +0000)]
[Texmap][Qt] Enable TextureMapperGL in platforms where BGRA is not present
https://bugs.webkit.org/show_bug.cgi?id=65473

Reviewed by Andreas Kling.

For now, swap RGBA->BGRA in software if we're in OpenGL ES 2.
We do that by iterating on the pixels and manually swapping each pixel's red and blue
values. This can be done faster with shaders, but for now this is a working solution
for platforms without BGRA support.

No new tests. Existing layout tests cover this.

* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::BitmapTextureGL::endPaint):
* platform/graphics/opengl/TextureMapperGL.h:
* platform/graphics/qt/TextureMapperQt.cpp:
(WebCore::RGBA32PremultimpliedBufferQt::swapRGB):

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

12 years ago[GTK] Fix coding style bits in ResourceHandleSoup.cpp
commit-queue@webkit.org [Mon, 26 Sep 2011 09:05:02 +0000 (09:05 +0000)]
[GTK] Fix coding style bits in ResourceHandleSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=68634

Patch by Sergio Villar Senin <svillar@igalia.com> on 2011-09-26
Reviewed by Martin Robinson.

No new tests needed.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::defaultSession):

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

12 years ago[mac] Timestamp parameter to requestAnimationFrame is busted in USE(REQUEST_ANIMATION...
commit-queue@webkit.org [Mon, 26 Sep 2011 07:21:45 +0000 (07:21 +0000)]
[mac] Timestamp parameter to requestAnimationFrame is busted in USE(REQUEST_ANIMATION_FRAME_TIMER) path
https://bugs.webkit.org/show_bug.cgi?id=68769

Patch by James Robinson <jamesr@chromium.org> on 2011-09-26
Reviewed by Simon Fraser.

Source/WebCore:

Convert the time parameter from double to DOMTimeStamp using convertSecondsToDOMTimeStamp rather than relying on
implicit double->long conversion, which ignores the units of the value.

Test: fast/animation/request-animation-frame-timestamps-advance.html

* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::animationTimerFired):

LayoutTests:

Adds a test that the timestamp parameter to the requestAnimationFrame callback advances between calls.

* fast/animation/request-animation-frame-timestamps-advance-expected.txt: Added.
* fast/animation/request-animation-frame-timestamps-advance.html: Added.
* fast/animation/script-tests/request-animation-frame-timestamps-advance.js: Copied from LayoutTests/fast/animation/script-tests/request-animation-frame-timestamps.js.
(busyWait):
(window.webkitRequestAnimationFrame):
* fast/animation/script-tests/request-animation-frame-timestamps.js:
    Remove the element parameter, they aren't a useful part of the test.

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

12 years agoAdd custom vtable struct to ClassInfo struct
mhahnenberg@apple.com [Mon, 26 Sep 2011 07:05:28 +0000 (07:05 +0000)]
Add custom vtable struct to ClassInfo struct
https://bugs.webkit.org/show_bug.cgi?id=68567

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Declared/defined the MethodTable struct and added it to the ClassInfo struct.
Also defined the CREATE_METHOD_TABLE macro to generate these method tables
succinctly where they need to be defined.

Also added to it the first function to use this macro, visitChildren.

This is part of the process of getting rid of all C++ virtual methods in JSCell.
Eventually all virtual functions in JSCell that can't easily be converted to
non-virtual functions will be put into this custom vtable structure.
* runtime/ClassInfo.h:

Added the CREATE_METHOD_TABLE macro call as the last argument to each of the
ClassInfo structs declared in these classes.  This saves us from having to visit
each s_info definition in the future when we add more methods to the MethodTable.
* API/JSCallbackConstructor.cpp:
* API/JSCallbackFunction.cpp:
* API/JSCallbackObject.cpp:
* JavaScriptCore.exp:
* runtime/Arguments.cpp:
* runtime/ArrayConstructor.cpp:
* runtime/ArrayPrototype.cpp:
* runtime/BooleanObject.cpp:
* runtime/BooleanPrototype.cpp:
* runtime/DateConstructor.cpp:
* runtime/DateInstance.cpp:
* runtime/DatePrototype.cpp:
* runtime/ErrorInstance.cpp:
* runtime/ErrorPrototype.cpp:
* runtime/ExceptionHelpers.cpp:
* runtime/Executable.cpp:
* runtime/GetterSetter.cpp:
* runtime/InternalFunction.cpp:
* runtime/JSAPIValueWrapper.cpp:
* runtime/JSActivation.cpp:
* runtime/JSArray.cpp:
* runtime/JSByteArray.cpp:
* runtime/JSFunction.cpp:
* runtime/JSGlobalObject.cpp:
* runtime/JSONObject.cpp:
* runtime/JSObject.cpp:
* runtime/JSPropertyNameIterator.cpp:
* runtime/JSString.cpp:
* runtime/MathObject.cpp:
* runtime/NativeErrorConstructor.cpp:
* runtime/NumberConstructor.cpp:
* runtime/NumberObject.cpp:
* runtime/NumberPrototype.cpp:
* runtime/ObjectConstructor.cpp:
* runtime/ObjectPrototype.cpp:
* runtime/RegExp.cpp:
* runtime/RegExpConstructor.cpp:
* runtime/RegExpObject.cpp:
* runtime/RegExpPrototype.cpp:
* runtime/ScopeChain.cpp:
* runtime/StringConstructor.cpp:
* runtime/StringObject.cpp:
* runtime/StringPrototype.cpp:
* runtime/Structure.cpp:
* runtime/StructureChain.cpp:

Had to make visitChildren and visitChildrenVirtual protected instead of private
because some of the subclasses of JSWrapperObject need access to JSWrapperObject's
visitChildren function pointer in their vtable since they don't provide their own
implementation. Same for RegExpObject.
* runtime/JSWrapperObject.h:
* runtime/RegExpObject.h:

Source/JavaScriptGlue:

Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
specified class in its ClassInfo.  Also added to it the first function to use
this macro, visitChildren.  This is part of the process of getting rid of all
C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell
that can't easily be converted to non-virtual functions will be put into
this custom vtable structure.

* UserObjectImp.cpp:

Source/WebCore:

No new tests.

Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
specified class in its ClassInfo.  Also added to it the first function to use
this macro, visitChildren.  This is part of the process of getting rid of all
C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell
that can't easily be converted to non-virtual functions will be put into
this custom vtable structure.

* bindings/js/JSAudioConstructor.cpp:
* bindings/js/JSDOMGlobalObject.cpp:
* bindings/js/JSDOMWindowBase.cpp:
* bindings/js/JSDOMWindowShell.cpp:
* bindings/js/JSImageConstructor.cpp:
* bindings/js/JSImageDataCustom.cpp:
(WebCore::toJS):
* bindings/js/JSOptionConstructor.cpp:
* bindings/js/JSWorkerContextBase.cpp:

Changed the bindings generator to add the call to the CREATE_METHOD_TABLE macro where
necessary.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateConstructorDefinition):
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bridge/c/CRuntimeObject.cpp:
* bridge/c/c_instance.cpp:
* bridge/jni/jsc/JavaInstanceJSC.cpp:
* bridge/jni/jsc/JavaRuntimeObject.cpp:
* bridge/objc/ObjCRuntimeObject.mm:
* bridge/objc/objc_instance.mm:
* bridge/objc/objc_runtime.mm:
* bridge/qt/qt_instance.cpp:
* bridge/qt/qt_pixmapruntime.cpp:
* bridge/qt/qt_runtime.cpp:
* bridge/runtime_array.cpp:
* bridge/runtime_method.cpp:
* bridge/runtime_object.cpp:

Source/WebKit/mac:

Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
specified class in its ClassInfo.  Also added to it the first function to use
this macro, visitChildren.  This is part of the process of getting rid of all
C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell
that can't easily be converted to non-virtual functions will be put into
this custom vtable structure.

* Plugins/Hosted/ProxyInstance.mm:
* Plugins/Hosted/ProxyRuntimeObject.mm:

Source/WebKit2:

Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
specified class in its ClassInfo.  Also added to it the first function to use
this macro, visitChildren.  This is part of the process of getting rid of all
C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell
that can't easily be converted to non-virtual functions will be put into
this custom vtable structure.

* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
* WebProcess/Plugins/Netscape/JSNPObject.cpp:

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

12 years ago[EFL] Move GtkWidgetBackingStoreCairo to the cairo directory and modify to use in...
commit-queue@webkit.org [Mon, 26 Sep 2011 06:53:14 +0000 (06:53 +0000)]
[EFL] Move GtkWidgetBackingStoreCairo to the cairo directory and modify to use in the EFL.
https://bugs.webkit.org/show_bug.cgi?id=63502

Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2011-09-25
Reviewed by Martin Robinson.

The gtk/GtkWidgetBackingStoreCairo.cpp is moved to the cairo/WidgetBackingStoreCairo.cpp and
some codes for EFL are added.
WidgetBackingStoreCairo creates cairo_image_surface and has a role to copy reusable area
when scrolling. So, it will be used in the WebKit2 EFL port's BackingStore.

* CMakeListsEfl.txt:
* GNUmakefile.list.am:
* platform/cairo/WidgetBackingStore.h:
* platform/cairo/WidgetBackingStoreCairo.cpp: Renamed from Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp.
(WebCore::createSurfaceForBackingStore):
(WebCore::WidgetBackingStorePrivate::create):
(WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
(WebCore::WidgetBackingStore::create):
(WebCore::WidgetBackingStore::WidgetBackingStore):
(WebCore::WidgetBackingStore::~WidgetBackingStore):
(WebCore::WidgetBackingStore::cairoSurface):
(WebCore::WidgetBackingStore::scroll):
* platform/gtk/GtkWidgetBackingStoreX11.cpp:

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

12 years agoFinish removing PLATFORM(BREWMP) by removing associated code
abarth@webkit.org [Mon, 26 Sep 2011 04:13:43 +0000 (04:13 +0000)]
Finish removing PLATFORM(BREWMP) by removing associated code
https://bugs.webkit.org/show_bug.cgi?id=68779

Reviewed by Sam Weinig.

.:

* Source/cmake/WebKitPackaging.cmake:
* wscript:

Source/JavaScriptCore:

* JavaScriptCore.gyp/JavaScriptCore.gyp:
* JavaScriptCore.gypi:
* gyp/JavaScriptCore.gyp:
* wscript:
* wtf/FastMalloc.cpp:
(WTF::fastMallocSize):
* wtf/Vector.h:
* wtf/brew: Removed.
* wtf/brew/MainThreadBrew.cpp: Removed.
* wtf/brew/OwnPtrBrew.cpp: Removed.
* wtf/brew/RefPtrBrew.h: Removed.
* wtf/brew/ShellBrew.h: Removed.
* wtf/brew/StringBrew.cpp: Removed.
* wtf/brew/SystemMallocBrew.h: Removed.
* wtf/unicode/brew: Removed.
* wtf/unicode/brew/UnicodeBrew.cpp: Removed.
* wtf/unicode/brew/UnicodeBrew.h: Removed.

Source/WebCore:

When Geoffrey Garen removed PLATFORM(BREWMP) in
http://trac.webkit.org/changeset/95555, he did not remove all the
associated code.  This completes the work started in r95555 by removing
all the code assoicated with PLATFORM(BREWMP).

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* bindings/js/ScriptControllerBrew.cpp: Removed.
* editing/brew: Removed.
* editing/brew/EditorBrew.cpp: Removed.
* gyp/WebCore.gyp:
* page/brew: Removed.
* page/brew/ChromeClientBrew.h: Removed.
* page/brew/DragControllerBrew.cpp: Removed.
* page/brew/EventHandlerBrew.cpp: Removed.
* page/brew/FrameBrew.cpp: Removed.
* platform/brew: Removed.
* platform/brew/ClipboardBrew.cpp: Removed.
* platform/brew/ClipboardBrew.h: Removed.
* platform/brew/ContextMenuBrew.cpp: Removed.
* platform/brew/ContextMenuItemBrew.cpp: Removed.
* platform/brew/CursorBrew.cpp: Removed.
* platform/brew/DragDataBrew.cpp: Removed.
* platform/brew/EventLoopBrew.cpp: Removed.
* platform/brew/FileSystemBrew.cpp: Removed.
* platform/brew/KURLBrew.cpp: Removed.
* platform/brew/LanguageBrew.cpp: Removed.
* platform/brew/LocalizedStringsBrew.cpp: Removed.
* platform/brew/LoggingBrew.cpp: Removed.
* platform/brew/MIMETypeRegistryBrew.cpp: Removed.
* platform/brew/PasteboardBrew.cpp: Removed.
* platform/brew/PlatformKeyboardEventBrew.cpp: Removed.
* platform/brew/PlatformMouseEventBrew.cpp: Removed.
* platform/brew/PlatformTouchEventBrew.cpp: Removed.
* platform/brew/PlatformTouchPointBrew.cpp: Removed.
* platform/brew/PopupMenuBrew.cpp: Removed.
* platform/brew/PopupMenuBrew.h: Removed.
* platform/brew/SSLKeyGeneratorBrew.cpp: Removed.
* platform/brew/ScreenBrew.cpp: Removed.
* platform/brew/ScrollbarThemeBrew.cpp: Removed.
* platform/brew/ScrollbarThemeBrew.h: Removed.
* platform/brew/SearchPopupMenuBrew.cpp: Removed.
* platform/brew/SearchPopupMenuBrew.h: Removed.
* platform/brew/SharedBufferBrew.cpp: Removed.
* platform/brew/SharedTimerBrew.cpp: Removed.
* platform/brew/SoundBrew.cpp: Removed.
* platform/brew/SystemTimeBrew.cpp: Removed.
* platform/brew/TemporaryLinkStubs.cpp: Removed.
* platform/brew/WidgetBrew.cpp: Removed.
* platform/graphics/brew: Removed.
* platform/graphics/brew/IconBrew.cpp: Removed.
* platform/graphics/brew/ImageBrew.cpp: Removed.
* platform/graphics/brew/IntPointBrew.cpp: Removed.
* platform/graphics/brew/IntSizeBrew.cpp: Removed.
* platform/network/brew: Removed.
* platform/network/brew/DNSBrew.cpp: Removed.
* platform/network/brew/SocketStreamError.h: Removed.
* platform/network/brew/SocketStreamHandle.h: Removed.
* platform/network/brew/SocketStreamHandleBrew.cpp: Removed.
* platform/network/brew/SocketStreamHandlePrivate.h: Removed.
* platform/text/brew: Removed.
* platform/text/brew/TextBoundariesBrew.cpp: Removed.
* platform/text/brew/TextBreakIteratorBrew.cpp: Removed.
* platform/text/brew/TextCodecBrew.cpp: Removed.
* platform/text/brew/TextCodecBrew.h: Removed.

Source/WebKit2:

* Scripts/generate-forwarding-headers.pl:

Tools:

* Scripts/webkitpy/common/config/build.py:
* waf/build/settings.py:

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

12 years agoDFG JIT does not count speculation successes correctly
fpizlo@apple.com [Mon, 26 Sep 2011 04:05:28 +0000 (04:05 +0000)]
DFG JIT does not count speculation successes correctly
https://bugs.webkit.org/show_bug.cgi?id=68785

Reviewed by Geoffrey Garen.

* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileEntry):
(JSC::DFG::JITCompiler::compileBody):
* dfg/DFGOperations.cpp:

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

12 years agoDFG support for op_resolve_global is not enabled
fpizlo@apple.com [Mon, 26 Sep 2011 03:36:04 +0000 (03:36 +0000)]
DFG support for op_resolve_global is not enabled
https://bugs.webkit.org/show_bug.cgi?id=68786

Reviewed by Geoffrey Garen.

* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):

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

12 years agoImplement a CloseEvent constructor for JSC
commit-queue@webkit.org [Mon, 26 Sep 2011 03:30:34 +0000 (03:30 +0000)]
Implement a CloseEvent constructor for JSC
https://bugs.webkit.org/show_bug.cgi?id=68340

Patch by Kentaro Hara <haraken@chromium.org> on 2011-09-25
Reviewed by Oliver Hunt.

Source/WebCore:

The spec of the CloseEvent constructor is here:
http://dev.w3.org/html5/websockets/#closeevent

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

* bindings/generic/EventConstructors.h: Added a definition for the CloseEvent constructor.
* bindings/js/JSEventConstructors.cpp: Added #includes for CloseEvent.
* websockets/CloseEvent.h: Added a definition for CloseEventInit.
(WebCore::CloseEventInit::CloseEventInit):
(WebCore::CloseEvent::create):
(WebCore::CloseEvent::CloseEvent):
* websockets/CloseEvent.idl: Makes CloseEvent constructible.

LayoutTests:

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

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

12 years agoDFG static prediction code is no longer needed and should be removed
fpizlo@apple.com [Mon, 26 Sep 2011 02:25:02 +0000 (02:25 +0000)]
DFG static prediction code is no longer needed and should be removed
https://bugs.webkit.org/show_bug.cgi?id=68784

Reviewed by Oliver Hunt.

This gets rid of static prediction code, and ensures that we do not
try to compile code where dynamic predictions are not available.
This is accomplished by immediately performing an OSR exit wherever
a value is retrieved for which no predictions exist.

This also adds value profiling for this on functions used for calls.

The heuristics for deciding when to optimize code are also tweaked,
since it is now profitable to optimize sooner. This may need to be
tweaked further, but this patch only makes minimal changes.

This results in a 16% speed-up on Kraken/ai-astar, leading to a 3%
overall win on Kraken.  It's neutral elsewhere.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::shouldOptimizeNow):
(JSC::CodeBlock::dumpValueProfiles):
* bytecode/CodeBlock.h:
* bytecode/PredictedType.cpp:
(JSC::predictionToString):
* bytecode/PredictedType.h:
(JSC::isCellPrediction):
(JSC::isObjectPrediction):
(JSC::isFinalObjectPrediction):
(JSC::isStringPrediction):
(JSC::isArrayPrediction):
(JSC::isInt32Prediction):
(JSC::isDoublePrediction):
(JSC::isNumberPrediction):
(JSC::isBooleanPrediction):
(JSC::mergePredictions):
* bytecode/PredictionTracker.h:
(JSC::PredictionTracker::predictArgument):
(JSC::PredictionTracker::predict):
(JSC::PredictionTracker::predictGlobalVar):
* bytecode/ValueProfile.cpp:
(JSC::ValueProfile::computeUpdatedPrediction):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::set):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::getPrediction):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::predictArgumentTypes):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::predict):
(JSC::DFG::Graph::predictGlobalVar):
(JSC::DFG::Graph::getMethodCheckPrediction):
(JSC::DFG::Graph::getJSConstantPrediction):
(JSC::DFG::Graph::getPrediction):
* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::writeBarrier):
(JSC::DFG::JITCodeGenerator::emitBranch):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::getPrediction):
* dfg/DFGNode.h:
(JSC::DFG::Node::valueOfJSConstantNode):
(JSC::DFG::Node::isInt32Constant):
(JSC::DFG::Node::isDoubleConstant):
(JSC::DFG::Node::isNumberConstant):
(JSC::DFG::Node::isBooleanConstant):
(JSC::DFG::Node::predict):
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::Propagator):
(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::isPredictedNumerical):
(JSC::DFG::Propagator::logicalNotIsPure):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::shouldSpeculateInteger):
(JSC::DFG::SpeculativeJIT::shouldSpeculateDouble):
(JSC::DFG::SpeculativeJIT::shouldSpeculateNumber):
(JSC::DFG::SpeculativeJIT::shouldNotSpeculateInteger):
(JSC::DFG::SpeculativeJIT::shouldSpeculateFinalObject):
(JSC::DFG::SpeculativeJIT::shouldSpeculateArray):
(JSC::DFG::SpeculativeJIT::shouldSpeculateObject):
(JSC::DFG::SpeculativeJIT::shouldSpeculateCell):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):

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

12 years ago<rdar://problem/10177824> IconDatabase’s use of ThreadCondition leads to assertion...
mrowe@apple.com [Mon, 26 Sep 2011 01:40:04 +0000 (01:40 +0000)]
<rdar://problem/10177824> IconDatabase’s use of ThreadCondition leads to assertion failures in the face of spurious wakeups

It's possible for ThreadCondition::wait to return spuriously without the condition having been signaled.
When that happens we should immediately return to waiting rather than doing our normal work, as some of that
work relies on wakeSyncThread having been called to signal the condition.

Reviewed by Sam Weinig.

* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::IconDatabase):
(WebCore::IconDatabase::wakeSyncThread): Note that we have work for the sync thread to do.
(WebCore::IconDatabase::syncThreadMainLoop): If we were woken with no work to do, immediately
go back to waiting on the condition variable. Otherwise, reset m_syncThreadHasWorkToDo and then
do that work. We also switch to moving m_disabledSuddenTerminationForSyncThread immediately in to
our local shouldReenableSuddenTermination variable since it can be updated by other threads while
we don't hold the lock. This makes it inappropriate to make assumptions about its value after dropping
and reacquiring the lock.
* loader/icon/IconDatabase.h:

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

12 years agoProvides a simple LRU cache class in Python.
hayato@chromium.org [Mon, 26 Sep 2011 01:12:53 +0000 (01:12 +0000)]
Provides a simple LRU cache class in Python.

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

Patch by Ai Makabi <makabi@google.com> on 2011-09-21
Reviewed by Tony Chang.

* Scripts/webkitpy/common/lru_cache.py:
* Scripts/webkitpy/common/lru_cache_unittest.py:

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

12 years agoDFG JIT Construct opcode takes a this argument even though it's
fpizlo@apple.com [Mon, 26 Sep 2011 00:01:09 +0000 (00:01 +0000)]
DFG JIT Construct opcode takes a this argument even though it's
not passed
https://bugs.webkit.org/show_bug.cgi?id=68782

Reviewed by Oliver Hunt.

This is performance-neutral, mostly. It's a slight speed-up on
v8-splay.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::addCall):
* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::emitCall):

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

12 years ago<rdar://problem/10156263> ASSERT in WebCore::FrameView::scheduleRelayoutOfSubtree
mitz@apple.com [Sun, 25 Sep 2011 23:58:13 +0000 (23:58 +0000)]
<rdar://problem/10156263> ASSERT in WebCore::FrameView::scheduleRelayoutOfSubtree

Reviewed by Sam Weinig.

Source/WebCore:

Test: fast/dynamic/subtree-unrooted.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::scheduleRelayout): Replaced the check that the renderer is parented,
which was added in r21162, with a check that it is “rooted”.

LayoutTests:

* fast/dynamic/subtree-unrooted-expected.txt: Added.
* fast/dynamic/subtree-unrooted.html: Added.

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

12 years agoDFG tracking of the value in cachedResultRegister does not handle
fpizlo@apple.com [Sun, 25 Sep 2011 23:40:51 +0000 (23:40 +0000)]
DFG tracking of the value in cachedResultRegister does not handle
op_mov correctly
https://bugs.webkit.org/show_bug.cgi?id=68781

Reviewed by Oliver Hunt.

This takes the simplest approach: it makes the old JIT dumber rather
than making the DFG JIT smarter. This is performance-neutral.

* jit/JIT.h:
(JSC::JIT::canBeOptimized):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_mov):

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

12 years agoSource/WebCore: Issues with merging block children of a ruby
inferno@chromium.org [Sun, 25 Sep 2011 21:42:33 +0000 (21:42 +0000)]
Source/WebCore: Issues with merging block children of a ruby
base with another ruby base having inline children.
https://bugs.webkit.org/show_bug.cgi?id=66124

Reviewed by Dan Bernstein.

Test: fast/ruby/ruby-base-merge-block-children-crash.html

* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::moveInlineChildren): add a firstChild()
check to prevent empty anonymous block addition, just like
moveBlockChildren method.
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::moveBlockChildren): This was incorrectly
doing optimizations to see if current ruby base has only inline
children before beforeChild and then trying to take out them from
their parent anonymous blocks. The problem is those inlines could
be split and have continuations because of encountering a block
inside inline flow. In those cases, we cannot take the inline out.
So, we should just make children non-inline in the destination
block and transfer the children as it-is.
* rendering/RenderRubyBase.h: remove unncessary functions.

LayoutTests: Issues with merging block children of a ruby
base with another ruby base having inline children.
https://bugs.webkit.org/show_bug.cgi?id=66124

Reviewed by Dan Bernstein.

* fast/ruby/ruby-base-merge-block-children-crash.html: Added.
* platform/mac/fast/ruby/ruby-base-merge-block-children-crash-expected.txt: Added.

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

12 years agoUnreviewed, remove fast/workers/storage/interrupt-database.html
philn@webkit.org [Sun, 25 Sep 2011 21:15:06 +0000 (21:15 +0000)]
Unreviewed, remove fast/workers/storage/interrupt-database.html
from GTK test_expectations since it's been skipped in r95809.

* platform/gtk/test_expectations.txt:

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

12 years agoRemove PLATFORM(HAIKU) and associated code
abarth@webkit.org [Sun, 25 Sep 2011 19:35:21 +0000 (19:35 +0000)]
Remove PLATFORM(HAIKU) and associated code
https://bugs.webkit.org/show_bug.cgi?id=68774

Reviewed by Sam Weinig.

.:

* Source/cmake/WebKitPackaging.cmake:
* wscript:

Source/JavaScriptCore:

* JavaScriptCore.gyp/JavaScriptCore.gyp:
* JavaScriptCore.gypi:
* gyp/JavaScriptCore.gyp:
* heap/MachineStackMarker.cpp:
* wtf/PageAllocation.h:
* wtf/Platform.h:
* wtf/StackBounds.cpp:
* wtf/haiku: Removed.
* wtf/haiku/MainThreadHaiku.cpp: Removed.
* wtf/haiku/StringHaiku.cpp: Removed.
* wtf/text/WTFString.h:

Source/WebCore:

As discussed on webkit-dev, the Haiku port has been inactive for over a
year.  A year and a half ago, we discussed removing the port, but folks
said they planned to work on it more.  That work does not appear to
have happened in the intervening time.

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* bindings/js/ScriptControllerHaiku.cpp: Removed.
* editing/haiku: Removed.
* editing/haiku/EditorHaiku.cpp: Removed.
* gyp/WebCore.gyp:
* loader/cache/CachedFont.cpp:
* page/EventHandler.cpp:
(WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
* page/haiku: Removed.
* page/haiku/DragControllerHaiku.cpp: Removed.
* page/haiku/EventHandlerHaiku.cpp: Removed.
* page/haiku/FrameHaiku.cpp: Removed.
* platform/ContextMenuItem.h:
* platform/Cursor.h:
* platform/DragData.h:
* platform/DragImage.h:
* platform/PlatformKeyboardEvent.h:
* platform/PlatformMenuDescription.h:
* platform/PlatformMouseEvent.h:
* platform/Widget.h:
* platform/graphics/BitmapImage.h:
* platform/graphics/Color.h:
* platform/graphics/FloatPoint.h:
* platform/graphics/FloatRect.h:
* platform/graphics/Gradient.h:
* platform/graphics/GraphicsContext.cpp:
* platform/graphics/GraphicsContext.h:
* platform/graphics/ImageBufferData.h:
* platform/graphics/ImageSource.h:
* platform/graphics/IntPoint.h:
* platform/graphics/IntRect.h:
* platform/graphics/IntSize.h:
* platform/graphics/Path.h:
* platform/graphics/Pattern.h:
* platform/graphics/SimpleFontData.h:
* platform/graphics/haiku: Removed.
* platform/graphics/haiku/ColorHaiku.cpp: Removed.
* platform/graphics/haiku/FloatPointHaiku.cpp: Removed.
* platform/graphics/haiku/FloatRectHaiku.cpp: Removed.
* platform/graphics/haiku/FontCacheHaiku.cpp: Removed.
* platform/graphics/haiku/FontCustomPlatformData.cpp: Removed.
* platform/graphics/haiku/FontCustomPlatformData.h: Removed.
* platform/graphics/haiku/FontHaiku.cpp: Removed.
* platform/graphics/haiku/FontPlatformData.h: Removed.
* platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp: Removed.
* platform/graphics/haiku/GradientHaiku.cpp: Removed.
* platform/graphics/haiku/GraphicsContextHaiku.cpp: Removed.
* platform/graphics/haiku/IconHaiku.cpp: Removed.
* platform/graphics/haiku/ImageBufferDataHaiku.h: Removed.
* platform/graphics/haiku/ImageBufferHaiku.cpp: Removed.
* platform/graphics/haiku/ImageHaiku.cpp: Removed.
* platform/graphics/haiku/IntPointHaiku.cpp: Removed.
* platform/graphics/haiku/IntRectHaiku.cpp: Removed.
* platform/graphics/haiku/IntSizeHaiku.cpp: Removed.
* platform/graphics/haiku/PathHaiku.cpp: Removed.
* platform/graphics/haiku/SimpleFontDataHaiku.cpp: Removed.
* platform/graphics/haiku/StillImageHaiku.cpp: Removed.
* platform/graphics/haiku/StillImageHaiku.h: Removed.
* platform/haiku: Removed.
* platform/haiku/ClipboardHaiku.cpp: Removed.
* platform/haiku/ClipboardHaiku.h: Removed.
* platform/haiku/ContextMenuHaiku.cpp: Removed.
* platform/haiku/ContextMenuItemHaiku.cpp: Removed.
* platform/haiku/CookieJarHaiku.cpp: Removed.
* platform/haiku/CursorHaiku.cpp: Removed.
* platform/haiku/DragDataHaiku.cpp: Removed.
* platform/haiku/DragImageHaiku.cpp: Removed.
* platform/haiku/EventLoopHaiku.cpp: Removed.
* platform/haiku/FileSystemHaiku.cpp: Removed.
* platform/haiku/LocalizedStringsHaiku.cpp: Removed.
* platform/haiku/LoggingHaiku.cpp: Removed.
* platform/haiku/MIMETypeRegistryHaiku.cpp: Removed.
* platform/haiku/PasteboardHaiku.cpp: Removed.
* platform/haiku/PlatformKeyboardEventHaiku.cpp: Removed.
* platform/haiku/PlatformMouseEventHaiku.cpp: Removed.
* platform/haiku/PlatformWheelEventHaiku.cpp: Removed.
* platform/haiku/PopupMenuHaiku.cpp: Removed.
* platform/haiku/PopupMenuHaiku.h: Removed.
* platform/haiku/RenderThemeHaiku.cpp: Removed.
* platform/haiku/RenderThemeHaiku.h: Removed.
* platform/haiku/ScreenHaiku.cpp: Removed.
* platform/haiku/ScrollbarThemeHaiku.cpp: Removed.
* platform/haiku/ScrollbarThemeHaiku.h: Removed.
* platform/haiku/SearchPopupMenuHaiku.cpp: Removed.
* platform/haiku/SearchPopupMenuHaiku.h: Removed.
* platform/haiku/SharedBufferHaiku.cpp: Removed.
* platform/haiku/SharedTimerHaiku.cpp: Removed.
* platform/haiku/SoundHaiku.cpp: Removed.
* platform/haiku/TemporaryLinkStubs.cpp: Removed.
* platform/haiku/WidgetHaiku.cpp: Removed.
* platform/image-decoders/haiku: Removed.
* platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Removed.
* platform/text/UnicodeRange.h:
* platform/text/haiku: Removed.
* platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Removed.

Source/WebKit:

* haiku: Removed.
* haiku/WebCoreSupport: Removed.
* haiku/WebCoreSupport/ChromeClientHaiku.cpp: Removed.
* haiku/WebCoreSupport/ChromeClientHaiku.h: Removed.
* haiku/WebCoreSupport/ContextMenuClientHaiku.cpp: Removed.
* haiku/WebCoreSupport/ContextMenuClientHaiku.h: Removed.
* haiku/WebCoreSupport/DragClientHaiku.cpp: Removed.
* haiku/WebCoreSupport/DragClientHaiku.h: Removed.
* haiku/WebCoreSupport/EditorClientHaiku.cpp: Removed.
* haiku/WebCoreSupport/EditorClientHaiku.h: Removed.
* haiku/WebCoreSupport/FrameLoaderClientHaiku.cpp: Removed.
* haiku/WebCoreSupport/FrameLoaderClientHaiku.h: Removed.
* haiku/WebCoreSupport/InspectorClientHaiku.cpp: Removed.
* haiku/WebCoreSupport/InspectorClientHaiku.h: Removed.

Source/WebKit2:

* Scripts/generate-forwarding-headers.pl:

Tools:

* Scripts/webkitpy/common/config/build.py:
* waf/build/settings.py:

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

12 years ago[CMake] Remove FindLibXlst.cmake
commit-queue@webkit.org [Sun, 25 Sep 2011 08:16:48 +0000 (08:16 +0000)]
[CMake] Remove FindLibXlst.cmake
https://bugs.webkit.org/show_bug.cgi?id=68770

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-25
Reviewed by Adam Barth.

This file should have never been committed -- the library it looks for
is called libxslt, not libxlst, so it has never really been used. When
the buildsystem looked for libxslt, it used CMake's own LibXslt.cmake
instead.

* Source/cmake/FindLibXlst.cmake: Removed.

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

12 years agoAttempted build fixes for GTK and Qt.
abarth@webkit.org [Sun, 25 Sep 2011 07:03:51 +0000 (07:03 +0000)]
Attempted build fixes for GTK and Qt.

* GNUmakefile.list.am:
* WebCore.pro:

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

12 years agoAlways enable ENABLE(OFFLINE_WEB_APPLICATIONS)
abarth@webkit.org [Sun, 25 Sep 2011 06:04:46 +0000 (06:04 +0000)]
Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
https://bugs.webkit.org/show_bug.cgi?id=68767

Reviewed by Eric Seidel.

.:

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsWinCE.cmake:
* Source/cmakeconfig.h.cmake:
* configure.ac:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

As discussed on webkit-dev, almost everyone has this enable turned on
and this feature is unlikely to be removed from the web platform given
its popularity.

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.exp.in:
* WebCore.pro:
* bindings/cpp/WebDOMEventTarget.cpp:
(toWebKit):
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS):
(WebCore::toEventTarget):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
* dom/EventTarget.cpp:
(WebCore::EventTarget::toDOMApplicationCache):
* dom/EventTarget.h:
* features.pri:
* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):
* html/HTMLHtmlElement.cpp:
(WebCore::HTMLHtmlElement::insertedByParser):
* html/HTMLHtmlElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::createFileURLForApplicationCacheResource):
(WebCore::HTMLMediaElement::loadResource):
* html/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure):
* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure):
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
* inspector/InspectorApplicationCacheAgent.cpp:
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
* inspector/InspectorController.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::networkStateChanged):
(WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
* inspector/InstrumentingAgents.h:
(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::connectFrontend):
* inspector/generate-inspector-idl:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::mainReceivedError):
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::detachFromFrame):
(WebCore::DocumentLoader::handledOnloadEvents):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::applicationCacheHost):
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::didReceiveResponse):
(WebCore::MainResourceLoader::didReceiveData):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::didFail):
(WebCore::MainResourceLoader::load):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::start):
(WebCore::ResourceLoader::willSendRequest):
(WebCore::ResourceLoader::didSendData):
(WebCore::ResourceLoader::didReceiveResponse):
(WebCore::ResourceLoader::didReceiveData):
(WebCore::ResourceLoader::didFinishLoading):
(WebCore::ResourceLoader::didFail):
(WebCore::ResourceLoader::wasBlocked):
(WebCore::ResourceLoader::cannotShowURL):
(WebCore::ResourceLoader::shouldUseCredentialStorage):
(WebCore::ResourceLoader::willCacheResponse):
* loader/ResourceLoader.h:
* loader/appcache/ApplicationCache.cpp:
* loader/appcache/ApplicationCache.h:
* loader/appcache/ApplicationCacheGroup.cpp:
* loader/appcache/ApplicationCacheGroup.h:
* loader/appcache/ApplicationCacheHost.cpp:
* loader/appcache/ApplicationCacheHost.h:
* loader/appcache/ApplicationCacheResource.cpp:
* loader/appcache/ApplicationCacheResource.h:
* loader/appcache/ApplicationCacheStorage.cpp:
* loader/appcache/ApplicationCacheStorage.h:
* loader/appcache/DOMApplicationCache.cpp:
* loader/appcache/DOMApplicationCache.h:
* loader/appcache/DOMApplicationCache.idl:
* loader/appcache/ManifestParser.cpp:
(WebCore::parseManifest):
* loader/appcache/ManifestParser.h:
* loader/chromium/ResourceLoaderChromium.cpp:
(WebCore::ResourceLoader::didDownloadData):
* page/ChromeClient.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::clear):
(WebCore::DOMWindow::applicationCache):
* page/DOMWindow.h:
(WebCore::DOMWindow::optionalApplicationCache):
* page/DOMWindow.idl:
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parseStartElement):

Source/WebKit/chromium:

* features.gypi:
* src/ApplicationCacheHost.cpp:
* src/ApplicationCacheHostInternal.h:
* src/AssertMatchingEnums.cpp:
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::reachedApplicationCacheOriginQuota):
* src/ChromeClientImpl.h:
* src/WebDataSourceImpl.cpp:
(WebKit::WebDataSourceImpl::applicationCacheHost):
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableApplicationCache):
(WebKit::WebRuntimeFeatures::isApplicationCacheEnabled):

Source/WebKit/efl:

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::reachedApplicationCacheOriginQuota):
* WebCoreSupport/ChromeClientEfl.h:
* ewk/ewk_main.cpp:
(_ewk_init_body):
* ewk/ewk_settings.cpp:
(ewk_settings_cache_directory_path_set):
(ewk_settings_cache_directory_path_get):

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::reachedApplicationCacheOriginQuota):
* WebCoreSupport/ChromeClientGtk.h:
* webkit/webkitapplicationcache.cpp:
(webkit_application_cache_get_maximum_size):
(webkit_application_cache_set_maximum_size):
(webkit_application_cache_get_database_directory_path):
* webkit/webkitglobals.cpp:
(webkitInit):

Source/WebKit/haiku:

* WebCoreSupport/ChromeClientHaiku.cpp:
(WebCore::ChromeClientWx::reachedApplicationCacheOriginQuota):
* WebCoreSupport/ChromeClientHaiku.h:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:
* Misc/WebCache.mm:
(+[WebCache empty]):
* WebCoreSupport/WebApplicationCache.mm:
* WebCoreSupport/WebApplicationCacheQuotaManager.mm:
(-[WebApplicationCacheQuotaManager usage]):
(-[WebApplicationCacheQuotaManager quota]):
(-[WebApplicationCacheQuotaManager setQuota:]):
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
* WebView/WebDataSource.mm:
(-[WebDataSource _transferApplicationCache:]):
* WebView/WebFrame.mm:
(-[WebFrame _cacheabilityDictionary]):
* WebView/WebView.mm:
(WebKitInitializeApplicationCachePathIfNecessary):

Source/WebKit/qt:

* Api/qwebsecurityorigin.cpp:
(QWebSecurityOrigin::setApplicationCacheQuota):
* Api/qwebsettings.cpp:
(QWebSettings::setOfflineWebApplicationCachePath):
(QWebSettings::offlineWebApplicationCachePath):
(QWebSettings::setOfflineWebApplicationCacheQuota):
(QWebSettings::offlineWebApplicationCacheQuota):
* WebCoreSupport/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::reachedApplicationCacheOriginQuota):
* WebCoreSupport/ChromeClientQt.h:
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::clearAllApplicationCaches):

Source/WebKit/win:

* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::reachedApplicationCacheOriginQuota):
* WebCoreSupport/WebChromeClient.h:

Source/WebKit/wince:

* WebCoreSupport/ChromeClientWinCE.cpp:
(WebKit::ChromeClientWinCE::reachedApplicationCacheOriginQuota):
* WebCoreSupport/ChromeClientWinCE.h:

Source/WebKit/wx:

* WebKitSupport/ChromeClientWx.cpp:
(WebCore::ChromeClientWx::reachedApplicationCacheOriginQuota):
* WebKitSupport/ChromeClientWx.h:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:
* UIProcess/qt/WebContextQt.cpp:
(WebKit::WebContext::applicationCacheDirectory):
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
(WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
(WebKit::WebApplicationCacheManager::deleteAllEntries):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::clearApplicationCache):
* WebProcess/WebProcess.h:

Tools:

* Scripts/build-webkit:

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.vsprops:
* win/tools/vsprops/FeatureDefinesCairo.vsprops:

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

12 years agoJIT implementation of put_by_val increments m_length instead of setting
fpizlo@apple.com [Sun, 25 Sep 2011 02:20:41 +0000 (02:20 +0000)]
JIT implementation of put_by_val increments m_length instead of setting
it to index+1
https://bugs.webkit.org/show_bug.cgi?id=68766

Reviewed by Geoffrey Garen.

* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_by_val):

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

12 years agoMore build fixage.
ggaren@apple.com [Sat, 24 Sep 2011 22:53:29 +0000 (22:53 +0000)]
More build fixage.

* heap/ConservativeRoots.cpp: Our system of #includes, it is chaos.

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

12 years agoThe DFG should not attempt to guess types in the absence of value
fpizlo@apple.com [Sat, 24 Sep 2011 22:39:16 +0000 (22:39 +0000)]
The DFG should not attempt to guess types in the absence of value
profiles
https://bugs.webkit.org/show_bug.cgi?id=68677

Reviewed by Oliver Hunt.

This adds the ForceOSRExit node, which is ignored by the propagator
and virtual register allocator (and hence ensuring that liveness analysis
works correctly), but forces terminateSpeculativeExecution() in the
back-end. This appears to be a slight speed-up on benchmark averages,
with ~5% swings on individual benchmarks, in both directions. But it's
never a regression on any average, and appears to be a ~1% progression
in the SunSpider average.

This also adds a bit better debugging support in the old JIT and in DFG,
as this was necessary to debug the much more frequent OSR transitions
that occur with this change.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::getStrongPrediction):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
* dfg/DFGNode.h:
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
* jit/JIT.h:

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

12 years agoRemove Chromium failing expectations for WCSS tests now that they're
mihaip@chromium.org [Sat, 24 Sep 2011 22:38:57 +0000 (22:38 +0000)]
Remove Chromium failing expectations for WCSS tests now that they're
been removed with r95911.

* platform/chromium/test_expectations.txt:

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

12 years agoSome Windows build fixage.
ggaren@apple.com [Sat, 24 Sep 2011 22:36:57 +0000 (22:36 +0000)]
Some Windows build fixage.

* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::sweep):
* heap/MarkedBlock.h:
(JSC::MarkedBlock::isLive): Show the compiler that all control paths
return a value. There, there, compiler. Everything's going to be OK.

* runtime/JSCell.h:
(JSC::JSCell::setVPtr): Oops! Unrename this function.

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

12 years agoMark an svg/ test as slow, and remove incorrect baselines for another.
mihaip@chromium.org [Sat, 24 Sep 2011 22:35:37 +0000 (22:35 +0000)]
Mark an svg/ test as slow, and remove incorrect baselines for another.

* platform/chromium-cg-mac-leopard/fast/ruby/ruby-text-before-after-content-expected.txt: Removed.
* platform/chromium/test_expectations.txt:

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

12 years agoAllocate new objects unmarked
ggaren@apple.com [Sat, 24 Sep 2011 22:15:40 +0000 (22:15 +0000)]
Allocate new objects unmarked
https://bugs.webkit.org/show_bug.cgi?id=68764

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

This is a pre-requisite to using the mark bit to determine object age.

~2% v8 speedup, mostly due to a 12% v8-splay speedup.

* heap/MarkedBlock.h:
(JSC::MarkedBlock::isLive):
(JSC::MarkedBlock::isLiveCell): These two functions are the reason for
this patch. They can now determine object liveness without relying on
newly allocated objects having their mark bits set. Each MarkedBlock
now has a state variable that tells us how to determine whether its
cells are live. (This new state variable supercedes the old one about
destructor state. The rest of this patch is just refactoring to support
the invariants of this new state variable without introducing a
performance regression.)

(JSC::MarkedBlock::didConsumeFreeList): New function for updating interal
state when a block becomes fully allocated.

(JSC::MarkedBlock::clearMarks): Folded a state change to 'Marked' into
this function because, logically, clearing all mark bits is the first
step in saying "mark bits now exactly reflect object liveness".

(JSC::MarkedBlock::markCountIsZero): Renamed from isEmpty() to clarify
that this function only tells you about the mark bits, so it's only
meaningful if you've put the mark bits into a meaningful state before
calling it.

(JSC::MarkedBlock::forEachCell): Changed to use isLive() helper function
instead of testing mark bits, since mark bits are not always the right
way to find out if an object is live anymore. (New objects are live, but
not marked.)

* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::recycle):
(JSC::MarkedBlock::MarkedBlock): Folded all initialization -- even
initialization when recycling an old block -- into the MarkedBlock
constructor, for simplicity.

(JSC::MarkedBlock::callDestructor): Inlined for speed. Always check for
a zapped cell before running a destructor, and always zap after
running a destructor. This does not seem to be expensive, and the
alternative just creates a too-confusing matrix of possible cell states
((zombie undestructed cell + zombie destructed cell + zapped destructed
cell) * 5! permutations for progressing through block states = "Oh my!").

(JSC::MarkedBlock::specializedSweep):
(JSC::MarkedBlock::sweep): Maintained and expanded a pre-existing
optimization to use template specialization to constant fold lots of
branches and elide certain operations entirely during a sweep. Merged
four or five functions that were logically about sweeping into this one
function pair, so there's only one way to do things now, it's
automatically correct, and it's always fast.

(JSC::MarkedBlock::zapFreeList): Renamed this function to be more explicit
about exactly what it does, and to honor the new block state system.

* heap/AllocationSpace.cpp:
(JSC::AllocationSpace::allocateBlock): Updated for rename.

(JSC::AllocationSpace::freeBlocks): Updated for changed interface.

(JSC::TakeIfUnmarked::TakeIfUnmarked):
(JSC::TakeIfUnmarked::operator()):
(JSC::TakeIfUnmarked::returnValue): Just like isEmpty() above, renamed
to clarify that this functor only tests the mark bits, so it's only
valid if you've put the mark bits into a meaningful state before
calling it.

(JSC::AllocationSpace::shrink): Updated for rename.

* heap/AllocationSpace.h:
(JSC::AllocationSpace::canonicalizeCellLivenessData): Renamed to be a
little more specific about what we're making canonical.

(JSC::AllocationSpace::forEachCell): Updated for rename.

(JSC::AllocationSpace::forEachBlock): No need to canonicalize cell
liveness data before iterating blocks -- clients that want iterated
blocks to have valid cell lieveness data should make this call for
themselves. (And not all clients want it.)

* heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::genericAddPointer): Updated for rename. Removed
obsolete comment.

* heap/Heap.cpp:
(JSC::CountFunctor::ClearMarks::operator()): Removed call to notify...()
because clearMarks() now does that implicitly.

(JSC::Heap::destroy): Make sure to canonicalize before tear-down, since
tear-down tests cell liveness when running destructors.

(JSC::Heap::markRoots):
(JSC::Heap::collect): Moved weak reference harvesting out of markRoots()
and into collect, since it strictly depends on root marking, and does
not contribute to root marking.

(JSC::Heap::canonicalizeCellLivenessData): Renamed to be a little more
specific about what we're making canonical.

* heap/Heap.h:
(JSC::Heap::forEachProtectedCell): No need to canonicalize cell liveness
data before iterating protected cells, since we know they're all live,
and don't need to test for it.

* heap/Local.h:
(JSC::::set): Can't make the same ASSERT we used to because we just don't
have the mark bits for it anymore. Perhaps we can bring this ASSERT back
in a weaker form in the future.

* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::addBlock):
(JSC::MarkedSpace::removeBlock): Updated for interface change.
(JSC::MarkedSpace::canonicalizeCellLivenessData): Renamed to be a little more
specific about what we're making canonical.

* heap/MarkedSpace.h:
(JSC::MarkedSpace::allocate):
(JSC::MarkedSpace::SizeClass::SizeClass):
(JSC::MarkedSpace::SizeClass::resetAllocator):
(JSC::MarkedSpace::SizeClass::zapFreeList): Simplified this allocator
functionality a bit. We now track only one block -- "currentBlock" --
and rely on its internal state to know whether it has more cells to
allocate.

* heap/Weak.h:
(JSC::Weak::set): Can't make the same ASSERT we used to because we just don't
have the mark bits for it anymore. Perhaps we can bring this ASSERT back
in a weaker form in the future.

* runtime/JSCell.h:
(JSC::JSCell::vptr):
(JSC::JSCell::zap):
(JSC::JSCell::isZapped):
(JSC::isZapped): Made zapping a property of JSCell, for a little abstraction.
In the future, exactly how a JSCell zaps itself will change, as the
internal representation of JSCell changes.

LayoutTests:

Reviewed by Oliver Hunt.

Made this flaky test less flaky. (Just enough to make my patch not fail.)

* fast/dom/gc-10.html: Count objects immediately after GC to get an
exact count. Call 'reload' a few times to improve test coverage. Preload
properties in case they're lazily instantiated, which would change
object count numbers. Also, use the 'var' keyword like a good little
JavaScripter.

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

12 years agoRemove ENABLE(WCSS) and associated code
abarth@webkit.org [Sat, 24 Sep 2011 22:03:05 +0000 (22:03 +0000)]
Remove ENABLE(WCSS) and associated code
https://bugs.webkit.org/show_bug.cgi?id=68759

Reviewed by Darin Adler.

.:

* configure.ac:

Source/WebCore:

As discussed on webkit-dev, we are removing this feature from trunk to
reduce the number of different configurations.

* CodeGenerators.pri:
* GNUmakefile.am:
* WebCore.pro:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSParser.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/WCSSPropertyNames.in: Removed.
* css/WCSSValueKeywords.in: Removed.
* features.pri:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
* html/HTMLInputElement.h:
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::sanitizeValue):
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::start):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
* rendering/style/RenderStyleConstants.h:

Tools:

* Scripts/build-webkit:
* Scripts/old-run-webkit-tests:
* Scripts/webkitperl/features.pm:
(hasFeature):
* Scripts/webkitpy/layout_tests/port/webkit.py:
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:

LayoutTests:

* fast/wcss: Removed.
* fast/wcss/wap-input-format-expected.txt: Removed.
* fast/wcss/wap-input-format.xhtml: Removed.
* fast/wcss/wap-input-required-expected.txt: Removed.
* fast/wcss/wap-input-required.xhtml: Removed.

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

12 years agoDFG JIT should not eagerly initialize integer tags in the register file
fpizlo@apple.com [Sat, 24 Sep 2011 21:23:24 +0000 (21:23 +0000)]
DFG JIT should not eagerly initialize integer tags in the register file
https://bugs.webkit.org/show_bug.cgi?id=68763

Reviewed by Oliver Hunt.

* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::ValueRecovery::dump):
(JSC::DFG::OSRExit::OSRExit):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::ValueRecovery::alreadyInRegisterFileAsUnboxedInt32):
(JSC::DFG::OSRExit::operandForArgument):
(JSC::DFG::OSRExit::operandForIndex):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):

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

12 years agoAdded Snow Leopard-specific expected results.
mitz@apple.com [Sat, 24 Sep 2011 19:13:40 +0000 (19:13 +0000)]
Added Snow Leopard-specific expected results.

* platform/mac-snowleopard/platform/mac/fast/text/combining-character-sequence-fallback-expected.txt: Added.

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