WebKit-https.git
6 years agoMerge MainResourceLoader into DocumentLoader
japhet@chromium.org [Wed, 20 Mar 2013 04:21:39 +0000 (04:21 +0000)]
Merge MainResourceLoader into DocumentLoader
https://bugs.webkit.org/show_bug.cgi?id=104969

Reviewed by Adam Barth.

No new tests, refactor only.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::mainResourceLoader):
(WebCore::DocumentLoader::~DocumentLoader): Move main resource clearing from
    ~MainResourceLoader.
(WebCore::DocumentLoader::mainResourceData):
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::notifyFinished): Moved from MainResourceLoader::notifyFinished.
(WebCore):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::handleSubstituteDataLoadNow):
(WebCore::DocumentLoader::redirectReceived):
(WebCore::DocumentLoader::continueAfterNavigationPolicy):
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::continueAfterContentPolicy):
(WebCore::DocumentLoader::reportMemoryUsage):
(WebCore::DocumentLoader::dataReceived):
(WebCore::DocumentLoader::clearMainResourceLoader):
(WebCore::DocumentLoader::setDefersLoading):
(WebCore::DocumentLoader::setMainResourceDataBufferingPolicy):
(WebCore::DocumentLoader::addSubresourceLoader):
(WebCore::DocumentLoader::maybeLoadEmpty):
(WebCore::DocumentLoader::startLoadingMainResource): Don't keep separate checks
     for normal and empty loads, just use a single boolean.
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::isLoadingMainResource):
* loader/MainResourceLoader.cpp: Removed.
* loader/MainResourceLoader.h: Removed.
* loader/mac/DocumentLoaderMac.cpp:
(WebCore::DocumentLoader::schedule):
(WebCore::DocumentLoader::unschedule):

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

6 years agoMove testRunner.setTouchDragDropEnabled to internals.settings
tony@chromium.org [Wed, 20 Mar 2013 04:16:47 +0000 (04:16 +0000)]
Move testRunner.setTouchDragDropEnabled to internals.settings
https://bugs.webkit.org/show_bug.cgi?id=112739

Reviewed by Adam Barth.

Tools:

* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner): Remove unnecessary code.
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner): Remove unnecessary code.
* DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp:
(WebTestRunner::WebPreferences::reset):
(WebTestRunner::WebPreferences::applyTo): Always set to false.

LayoutTests:

Update tests to use internals.settings. This testRunner method was only exposed on
Chromium, but now that Settings.in generates internals.settings setters, we can
use that instead.

* fast/events/touch/gesture/long-press-on-draggable-element-in-iframe-triggers-drag.html:
* fast/events/touch/gesture/long-press-on-draggable-element-in-nested-iframes-triggers-drag.html:
* fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag.html:
* touchadjustment/touch-links-longpress.html:

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

6 years ago[Chromium] Migrate to WEBKIT_USE_NEW_WEBFILESYSTEMTYPE
pilgrim@chromium.org [Wed, 20 Mar 2013 04:08:49 +0000 (04:08 +0000)]
[Chromium] Migrate to WEBKIT_USE_NEW_WEBFILESYSTEMTYPE
https://bugs.webkit.org/show_bug.cgi?id=112754

Reviewed by Darin Fisher.

Remove old code behind ifndef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE
now that it's always defined.

Source/WebKit/chromium:

* public/WebCommonWorkerClient.h:
(WebCommonWorkerClient):
* public/WebFrame.h:
(WebFrame):
* public/WebFrameClient.h:
(WebFrameClient):
(WebKit::WebFrameClient::openFileSystem):
(WebKit::WebFrameClient::deleteFileSystem):
* src/LocalFileSystemChromium.cpp:
(WebCore):
(WebCore::openFileSystemHelper):
(WebCore::LocalFileSystem::deleteFileSystem):
* src/WebFrameImpl.cpp:
* src/WebFrameImpl.h:
(WebFrameImpl):
* src/WebWorkerClientImpl.cpp:
(WebKit::WebWorkerClientImpl::openFileSystem):
* src/WebWorkerClientImpl.h:
* src/WorkerFileSystemCallbacksBridge.cpp:
* src/WorkerFileSystemCallbacksBridge.h:
(WorkerFileSystemCallbacksBridge):

Tools:

* DumpRenderTree/chromium/WebViewHost.cpp:
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

6 years agoFix expected results added in r146224.
rniwa@webkit.org [Wed, 20 Mar 2013 04:00:45 +0000 (04:00 +0000)]
Fix expected results added in r146224.

* fast/events/touch/gesture/gesture-tap-hover-clear-expected.txt:
* fast/events/touch/gesture/gesture-tap-on-hover-element-expected.txt:

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

6 years agoMac rebaseline after r146272.
rniwa@webkit.org [Wed, 20 Mar 2013 03:32:57 +0000 (03:32 +0000)]
Mac rebaseline after r146272.

* platform/mac/css3/flexbox/flexbox-baseline-expected.txt:

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

6 years agoRebaselines after r146272.
ojan@chromium.org [Wed, 20 Mar 2013 02:51:20 +0000 (02:51 +0000)]
Rebaselines after r146272.

* platform/chromium-mac-lion/css3/flexbox/flexbox-baseline-expected.png:
* platform/chromium-mac-snowleopard/css3/flexbox/flexbox-baseline-expected.png:
* platform/chromium-mac/css3/flexbox/flexbox-baseline-expected.png:
* platform/chromium-mac/css3/flexbox/flexbox-baseline-expected.txt:
* platform/chromium-win/css3/flexbox/flexbox-baseline-expected.png:
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

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

6 years agoCache a pointer to V8DOMActivityLogger in PerContextData.
commit-queue@webkit.org [Wed, 20 Mar 2013 02:38:54 +0000 (02:38 +0000)]
Cache a pointer to V8DOMActivityLogger in PerContextData.
https://bugs.webkit.org/show_bug.cgi?id=112719

Patch by Ankur Taly <ataly@google.com> on 2013-03-19
Reviewed by Kentaro Hara.

Adds a data member (and getter, setter methods) to V8PerContextData
that holds a pointer to a V8DOMActivityLogger. This member is set while
initializing the context for a V8DOMWindowShell. Ownership of the pointer
is still retained by the HashMap in DOMWrapperWorld.
As a result of this patch, subsequent patches that will implement logging
for DOM API access (See bug 107207) will be able to obtain a reference to
the logger directly from PerContextData. This will benefit performance as it
will be faster than looking up the logger in the DOMActivityLoggerMap in
DOMWrapperWorld.

There are no new tests as there is no change in behavior.

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::initializeIfNeeded):
* bindings/v8/V8PerContextData.h:
(WebCore::V8PerContextData::activityLogger):
(V8PerContextData):
(WebCore::V8PerContextData::setActivityLogger):

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

6 years agoWindows rebaseline after r146284.
rniwa@webkit.org [Wed, 20 Mar 2013 02:14:26 +0000 (02:14 +0000)]
Windows rebaseline after r146284.

* platform/win/fast/dom/icon-url-property-expected.txt:

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

6 years agoUnreviewed, rolling out r146290.
kbr@google.com [Wed, 20 Mar 2013 02:12:24 +0000 (02:12 +0000)]
Unreviewed, rolling out r146290.
http://trac.webkit.org/changeset/146290
https://bugs.webkit.org/show_bug.cgi?id=112751

Broke Chromium Mac build.

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/TestRunner/public/WebTestInterfaces.h:
(WebKit):
* DumpRenderTree/chromium/TestRunner/src/TestInterfaces.cpp:
* DumpRenderTree/chromium/TestRunner/src/TestInterfaces.h:
(TestInterfaces):
* DumpRenderTree/chromium/TestRunner/src/WebTestInterfaces.cpp:
* DumpRenderTree/chromium/TestRunner/src/WebTestThemeEngineWin.cpp: Removed.
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::initialize):
* DumpRenderTree/chromium/TestShell.h:
(WebKit):
* DumpRenderTree/chromium/TestShellMac.mm:
(platformInit):
* DumpRenderTree/chromium/TestShellWin.cpp:
(platformInit):
* DumpRenderTree/chromium/WebThemeControlDRTWin.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/src/WebTestThemeControlWin.cpp.
(WebThemeControlDRTWin::WebThemeControlDRTWin):
(WebThemeControlDRTWin::~WebThemeControlDRTWin):
(WebThemeControlDRTWin::box):
(WebThemeControlDRTWin::line):
(WebThemeControlDRTWin::triangle):
(WebThemeControlDRTWin::roundRect):
(WebThemeControlDRTWin::oval):
(WebThemeControlDRTWin::circle):
(WebThemeControlDRTWin::nestedBoxes):
(WebThemeControlDRTWin::markState):
(WebThemeControlDRTWin::draw):
(WebThemeControlDRTWin::drawTextField):
(WebThemeControlDRTWin::drawProgressBar):
* DumpRenderTree/chromium/WebThemeControlDRTWin.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/src/WebTestThemeControlWin.h.
(WebThemeControlDRTWin):
* DumpRenderTree/chromium/WebThemeEngineDRTMac.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/src/WebTestThemeEngineMac.h.
(WebThemeEngineDRTMac):
* DumpRenderTree/chromium/WebThemeEngineDRTMac.mm: Renamed from Tools/DumpRenderTree/chromium/TestRunner/src/WebTestThemeEngineMac.mm.
(+[FakeActiveWindow alwaysActiveWindow]):
(+[FakeActiveWindow alwaysInactiveWindow]):
(-[FakeActiveWindow initWithActiveControls:]):
(-[FakeActiveWindow _hasActiveControls]):
(WebThemeEngineDRTMac::paintScrollbarThumb):
(stateToHIEnableState):
(WebThemeEngineDRTMac::paintHIThemeScrollbarThumb):
(WebThemeEngineDRTMac::paintNSScrollerScrollbarThumb):
* DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp: Added.
(webRectToSkIRect):
(drawControl):
(drawTextField):
(drawProgressBar):
(WebThemeEngineDRTWin::paintButton):
(WebThemeEngineDRTWin::paintMenuList):
(WebThemeEngineDRTWin::paintScrollbarArrow):
(WebThemeEngineDRTWin::paintScrollbarThumb):
(WebThemeEngineDRTWin::paintScrollbarTrack):
(WebThemeEngineDRTWin::paintSpinButton):
(WebThemeEngineDRTWin::paintTextField):
(WebThemeEngineDRTWin::paintTrackbar):
(WebThemeEngineDRTWin::paintProgressBar):
(WebThemeEngineDRTWin::getSize):
* DumpRenderTree/chromium/WebThemeEngineDRTWin.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/src/WebTestThemeEngineWin.h.
(WebThemeEngineDRTWin):
(WebThemeEngineDRTWin::WebThemeEngineDRTWin):

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

6 years agodo not use string reference for enum support in CodeGeneratorJS.pm
commit-queue@webkit.org [Wed, 20 Mar 2013 02:11:22 +0000 (02:11 +0000)]
do not use string reference for enum support in CodeGeneratorJS.pm
https://bugs.webkit.org/show_bug.cgi?id=112760

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-03-19
Reviewed by Kentaro Hara.

Do use string references in generated JS bindings for enum values.

Test: bindings/scripts/test/TestObj.idl

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateParametersCheck):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjEnumAttr):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):

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

6 years ago[EFL] canvas-fallback-content.html is failing
commit-queue@webkit.org [Wed, 20 Mar 2013 02:08:09 +0000 (02:08 +0000)]
[EFL] canvas-fallback-content.html is failing
https://bugs.webkit.org/show_bug.cgi?id=111998

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-03-19
Reviewed by Chris Fleizach.

Tools:

Adds support for getting platform name.

* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticValues):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/efl/TestRunnerEfl.cpp:
(TestRunner::platformName):

LayoutTests:

Fixed failing test. The reason of failure is different accessibility role for combobox element.

* accessibility/canvas-fallback-content.html: Use platform specific role.
* platform/efl-wk1/TestExpectations: Unskipped.
* platform/efl-wk2/TestExpectations: Unskipped.
* platform/efl/accessibility/canvas-fallback-content-expected.txt: Added.

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

6 years ago[chromium] move WebThemeEngine implementations to TestRunner library
jochen@chromium.org [Wed, 20 Mar 2013 01:58:51 +0000 (01:58 +0000)]
[chromium] move WebThemeEngine implementations to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=112751

Reviewed by Adam Barth.

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/TestRunner/public/WebTestInterfaces.h:
(WebKit):
* DumpRenderTree/chromium/TestRunner/src/TestInterfaces.cpp:
(WebTestRunner::TestInterfaces::themeEngine):
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestInterfaces.h:
(WebKit):
(TestInterfaces):
* DumpRenderTree/chromium/TestRunner/src/WebTestInterfaces.cpp:
(WebTestRunner::WebTestInterfaces::themeEngine):
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebTestThemeControlWin.cpp: Renamed from Tools/DumpRenderTree/chromium/WebThemeControlDRTWin.cpp.
(WebTestRunner::WebTestThemeControlWin::WebTestThemeControlWin):
(WebTestRunner):
(WebTestRunner::WebTestThemeControlWin::~WebTestThemeControlWin):
(WebTestRunner::WebTestThemeControlWin::box):
(WebTestRunner::WebTestThemeControlWin::line):
(WebTestRunner::WebTestThemeControlWin::triangle):
(WebTestRunner::WebTestThemeControlWin::roundRect):
(WebTestRunner::WebTestThemeControlWin::oval):
(WebTestRunner::WebTestThemeControlWin::circle):
(WebTestRunner::WebTestThemeControlWin::nestedBoxes):
(WebTestRunner::WebTestThemeControlWin::markState):
(WebTestRunner::WebTestThemeControlWin::draw):
(WebTestRunner::WebTestThemeControlWin::drawTextField):
(WebTestRunner::WebTestThemeControlWin::drawProgressBar):
* DumpRenderTree/chromium/TestRunner/src/WebTestThemeControlWin.h: Renamed from Tools/DumpRenderTree/chromium/WebThemeControlDRTWin.h.
(WebTestRunner):
(WebTestThemeControlWin):
* DumpRenderTree/chromium/TestRunner/src/WebTestThemeEngineMac.h: Renamed from Tools/DumpRenderTree/chromium/WebThemeEngineDRTMac.h.
(WebTestRunner):
(WebTestThemeEngineMac):
* DumpRenderTree/chromium/TestRunner/src/WebTestThemeEngineMac.mm: Renamed from Tools/DumpRenderTree/chromium/WebThemeEngineDRTMac.mm.
(+[FakeActiveWindow alwaysActiveWindow]):
(+[FakeActiveWindow alwaysInactiveWindow]):
(-[FakeActiveWindow initWithActiveControls:]):
(-[FakeActiveWindow _hasActiveControls]):
(WebTestRunner::WebTestThemeEngineMac::paintScrollbarThumb):
(WebTestRunner):
(WebTestRunner::WebTestThemeEngineMac::paintHIThemeScrollbarThumb):
(WebTestRunner::WebTestThemeEngineMac::paintNSScrollerScrollbarThumb):
* DumpRenderTree/chromium/TestRunner/src/WebTestThemeEngineWin.cpp: Added.
(WebTestRunner::WebTestThemeEngineWin::paintButton):
(WebTestRunner):
(WebTestRunner::WebTestThemeEngineWin::paintMenuList):
(WebTestRunner::WebTestThemeEngineWin::paintScrollbarArrow):
(WebTestRunner::WebTestThemeEngineWin::paintScrollbarThumb):
(WebTestRunner::WebTestThemeEngineWin::paintScrollbarTrack):
(WebTestRunner::WebTestThemeEngineWin::paintSpinButton):
(WebTestRunner::WebTestThemeEngineWin::paintTextField):
(WebTestRunner::WebTestThemeEngineWin::paintTrackbar):
(WebTestRunner::WebTestThemeEngineWin::paintProgressBar):
(WebTestRunner::WebTestThemeEngineWin::getSize):
* DumpRenderTree/chromium/TestRunner/src/WebTestThemeEngineWin.h: Renamed from Tools/DumpRenderTree/chromium/WebThemeEngineDRTWin.h.
(WebTestRunner):
(WebTestThemeEngineWin):
(WebTestRunner::WebTestThemeEngineWin::WebTestThemeEngineWin):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::initialize):
* DumpRenderTree/chromium/TestShell.h:
(WebKit):
* DumpRenderTree/chromium/TestShellMac.mm:
(platformInit):
* DumpRenderTree/chromium/TestShellWin.cpp:
(platformInit):
* DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp: Removed.

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

6 years agoUnreviewed rebaselining after r146279.
kbr@google.com [Wed, 20 Mar 2013 01:56:30 +0000 (01:56 +0000)]
Unreviewed rebaselining after r146279.

* platform/chromium-linux/fast/replaced/border-radius-clip-content-edge-expected.png:
* platform/chromium-mac/fast/replaced/border-radius-clip-content-edge-expected.png:
* platform/chromium-win/fast/replaced/border-radius-clip-content-edge-expected.png:

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

6 years ago[chromium] Mark fast/canvas/canvas-toDataURL-webp.html as failing
commit-queue@webkit.org [Wed, 20 Mar 2013 01:47:58 +0000 (01:47 +0000)]
[chromium] Mark fast/canvas/canvas-toDataURL-webp.html as failing
https://bugs.webkit.org/show_bug.cgi?id=93310

Unreviewed test expectations update.

libwebp will be updated to 0.3.0 in chrome changing the encoder
output after which this test will need to be rebaselined.

Patch by James Zern <jzern@chromium.org> on 2013-03-19

* platform/chromium/TestExpectations:

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

6 years agoRemove the test results and expectations for win-wk2
benjamin@webkit.org [Wed, 20 Mar 2013 01:43:54 +0000 (01:43 +0000)]
Remove the test results and expectations for win-wk2
https://bugs.webkit.org/show_bug.cgi?id=112510

Reviewed by Tim Horton.

* platform/win-wk2/TestExpectations: Removed.
* platform/win-wk2/css2.1/t0905-c5525-flthw-00-c-g-expected.txt: Removed.
* platform/win-wk2/css2.1/t0905-c5526-flthw-00-c-g-expected.txt: Removed.
* platform/win-wk2/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt: Removed.
* platform/win-wk2/editing/deleting/delete-ws-fixup-003-expected.txt: Removed.
* platform/win-wk2/editing/deleting/delete-ws-fixup-004-expected.txt: Removed.
* platform/win-wk2/editing/selection/after-line-break-expected.txt: Removed.
* platform/win-wk2/editing/selection/caret-ltr-right-expected.png: Removed.
* platform/win-wk2/editing/selection/caret-ltr-right-expected.txt: Removed.
* platform/win-wk2/editing/selection/caret-rtl-2-left-expected.png: Removed.
* platform/win-wk2/editing/selection/caret-rtl-2-left-expected.txt: Removed.
* platform/win-wk2/editing/selection/drag-text-delay-expected.txt: Removed.
* platform/win-wk2/fast/css/pseudo-any-expected.txt: Removed.
* platform/win-wk2/fast/forms/textfield-overflow-expected.txt: Removed.
* platform/win-wk2/fast/repaint/japanese-rl-selection-clear-expected.txt: Removed.
* platform/win-wk2/fast/ruby/after-block-doesnt-crash-expected.txt: Removed.
* platform/win-wk2/fast/ruby/after-table-doesnt-crash-expected.txt: Removed.
* platform/win-wk2/fast/ruby/before-block-doesnt-crash-expected.txt: Removed.
* platform/win-wk2/fast/ruby/before-table-doesnt-crash-expected.txt: Removed.
* platform/win-wk2/fast/ruby/generated-after-counter-doesnt-crash-expected.txt: Removed.
* platform/win-wk2/fast/ruby/generated-before-and-after-counter-doesnt-crash-expected.txt: Removed.
* platform/win-wk2/fast/ruby/generated-before-counter-doesnt-crash-expected.txt: Removed.
* platform/win-wk2/fast/text/international/bidi-mirror-he-ar-expected.txt: Removed.
* platform/win-wk2/http/tests/inspector-enabled/database-open-expected.txt: Removed.
* platform/win-wk2/platform/win/inverted-colors/non-composited-expected.png: Removed.
* platform/win-wk2/platform/win/inverted-colors/non-composited-expected.txt: Removed.
* platform/win-wk2/platform/win/plugins/windowless-paint-rect-coordinates-expected.txt: Removed.
* platform/win-wk2/plugins/npruntime/embed-property-equality-expected.txt: Removed.
* platform/win-wk2/plugins/resize-from-plugin-expected.txt: Removed.
* platform/win-wk2/svg/W3C-I18N/text-dirLTR-ubOverride-expected.png: Removed.
* platform/win-wk2/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.png: Removed.
* platform/win-wk2/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.png: Removed.
* platform/win-wk2/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.png: Removed.
* platform/win-wk2/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.png: Removed.
* platform/win-wk2/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png: Removed.
* platform/win-wk2/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt: Removed.
* platform/win-wk2/svg/text/bidi-text-query-expected.png: Removed.
* platform/win-wk2/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt: Removed.

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

6 years agoAdd failing test expectations on Windows per bugs 112764 and 112766.
rniwa@webkit.org [Wed, 20 Mar 2013 01:23:16 +0000 (01:23 +0000)]
Add failing test expectations on Windows per bugs 112764 and 112766.

* platform/win/TestExpectations:

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

6 years agoMake RLC::haveNonMainLayersWithTiledBacking() public and fix the name
simon.fraser@apple.com [Wed, 20 Mar 2013 01:10:47 +0000 (01:10 +0000)]
Make RLC::haveNonMainLayersWithTiledBacking() public and fix the name
https://bugs.webkit.org/show_bug.cgi?id=112763

Reviewed by Tim Horton.

Downstream code needs to call hasNonMainLayersWithTiledBacking().

* rendering/RenderLayerCompositor.h:
(WebCore::RenderLayerCompositor::hasNonMainLayersWithTiledBacking):
(RenderLayerCompositor):

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

6 years agoFrameLoader::didChangeIcons isn't called when the favicon is changed.
levin@chromium.org [Wed, 20 Mar 2013 01:09:38 +0000 (01:09 +0000)]
FrameLoader::didChangeIcons isn't called when the favicon is changed.
https://bugs.webkit.org/show_bug.cgi?id=112080

Reviewed by Dmitry Titov.

Source/WebCore:

Test: fast/dom/icon-url-property.html

* dom/Document.cpp:
(WebCore::Document::addIconURL): Made the callback for didChangeIcons
happen whenever there are favicon changes instead of filtering it
and have to be in sync about what hosts care about. As far as I could
tell no hosts rely on this callback except for Chromium, so in general
doing less work here may potentially help a small amount for other
ports.

LayoutTests:

* fast/dom/icon-url-property-expected.txt:
* fast/dom/icon-url-property.html: Add some more calls
to trigger didChangeIcons callbacks.

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

6 years agoDon't throw on infinity or NaN index in HTMLOptionsCollection.add()
commit-queue@webkit.org [Wed, 20 Mar 2013 00:57:28 +0000 (00:57 +0000)]
Don't throw on infinity or NaN index in HTMLOptionsCollection.add()
https://bugs.webkit.org/show_bug.cgi?id=112612

Patch by Michael Pruett <michael@68k.org> on 2013-03-19
Reviewed by Kentaro Hara.

Source/WebCore:

HTMLOptionsCollection.add() should not throw a type error when
its optional index argument is infinity or NaN. Such values
should instead be converted to 0 with no error.

Tests: fast/dom/non-numeric-values-numeric-parameters.html
       fast/js/select-options-add.html

* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::add):

LayoutTests:

* fast/dom/non-numeric-values-numeric-parameters-expected.txt:
* fast/js/select-options-add-expected.txt:
* platform/chromium/fast/dom/non-numeric-values-numeric-parameters-expected.txt: Removed.
* platform/chromium/fast/js/select-options-add-expected.txt: Removed.

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

6 years agoSecurity: Heap-use-after-free in WebCore::AXObjectCache::getOrCreate
dmazzoni@google.com [Wed, 20 Mar 2013 00:27:16 +0000 (00:27 +0000)]
Security: Heap-use-after-free in WebCore::AXObjectCache::getOrCreate
https://bugs.webkit.org/show_bug.cgi?id=112044

Reviewed by Chris Fleizach.

Source/WebCore:

Always call recalcSectionsIfNeeded before accessing
table sections.

Test: accessibility/table-remove-cell-crash.html

* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildren):

LayoutTests:

Adds test showing a crash / assertion failure if a cell is
deleted from a table and the table's AX object is accessed.

* accessibility/table-remove-cell-crash-expected.txt: Added.
* accessibility/table-remove-cell-crash.html: Added.

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

6 years ago[v8] add IDL 'enum' in DOM methods
commit-queue@webkit.org [Wed, 20 Mar 2013 00:21:09 +0000 (00:21 +0000)]
[v8] add IDL 'enum' in DOM methods
https://bugs.webkit.org/show_bug.cgi?id=112644

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-03-19
Reviewed by Kentaro Hara.

This adds V8 support for enumerations in method parameters.

Test: bindings/scripts/test/TestObj.idl

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateParametersCheck):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::methodWithEnumArgMethod):

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

6 years agoUnreviewed, rolling out r146277.
kbr@google.com [Wed, 20 Mar 2013 00:19:23 +0000 (00:19 +0000)]
Unreviewed, rolling out r146277.
http://trac.webkit.org/changeset/146277
https://bugs.webkit.org/show_bug.cgi?id=111695

Broke Chromium Android build

Source/Platform:

* Platform.gypi:
* chromium/public/Platform.h:
(WebKit):
* chromium/public/WebSpeechSynthesisUtterance.h: Removed.
* chromium/public/WebSpeechSynthesisVoice.h: Removed.
* chromium/public/WebSpeechSynthesizer.h: Removed.
* chromium/public/WebSpeechSynthesizerClient.h: Removed.

Source/WebCore:

* Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::boundaryEventOccurred):
(WebCore::SpeechSynthesis::didStartSpeaking):
(WebCore::SpeechSynthesis::didPauseSpeaking):
(WebCore::SpeechSynthesis::didResumeSpeaking):
(WebCore::SpeechSynthesis::didFinishSpeaking):
(WebCore::SpeechSynthesis::speakingErrorOccurred):
(WebCore):
* Modules/speech/SpeechSynthesis.h:
(SpeechSynthesis):
* Modules/speech/SpeechSynthesisUtterance.cpp:
(WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
(WebCore::SpeechSynthesisUtterance::setVoice):
* Modules/speech/SpeechSynthesisUtterance.h:
(WebCore::SpeechSynthesisUtterance::text):
(WebCore::SpeechSynthesisUtterance::setText):
(WebCore::SpeechSynthesisUtterance::lang):
(WebCore::SpeechSynthesisUtterance::setLang):
(WebCore::SpeechSynthesisUtterance::volume):
(WebCore::SpeechSynthesisUtterance::setVolume):
(WebCore::SpeechSynthesisUtterance::rate):
(WebCore::SpeechSynthesisUtterance::setRate):
(WebCore::SpeechSynthesisUtterance::pitch):
(WebCore::SpeechSynthesisUtterance::setPitch):
(WebCore::SpeechSynthesisUtterance::startTime):
(WebCore::SpeechSynthesisUtterance::setStartTime):
(WebCore::SpeechSynthesisUtterance::platformUtterance):
(SpeechSynthesisUtterance):
* Modules/speech/SpeechSynthesisVoice.h:
* WebCore.exp.in:
* WebCore.gypi:
* platform/PlatformSpeechSynthesis.h:
(PlatformSpeechSynthesis):
* platform/PlatformSpeechSynthesisUtterance.cpp:
* platform/PlatformSpeechSynthesisUtterance.h:
(PlatformSpeechSynthesisUtterance):
* platform/PlatformSpeechSynthesisVoice.cpp:
(WebCore::PlatformSpeechSynthesisVoice::create):
* platform/PlatformSpeechSynthesisVoice.h:
(PlatformSpeechSynthesisVoice):
* platform/PlatformSpeechSynthesizer.cpp:
(WebCore::PlatformSpeechSynthesizer::create):
(WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
(WebCore):
* platform/PlatformSpeechSynthesizer.h:
(PlatformSpeechSynthesizerClient):
(WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
(PlatformSpeechSynthesizer):
* platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Removed.
* platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Removed.
* platform/chromium/support/WebSpeechSynthesisVoice.cpp: Removed.
* platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Removed.
* platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Removed.
* platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
(WebCore::PlatformSpeechSynthesizer::speak):
* platform/mock/PlatformSpeechSynthesizerMock.cpp:
(WebCore::PlatformSpeechSynthesizerMock::create):
(WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
(WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
(WebCore::PlatformSpeechSynthesizerMock::speak):
* platform/mock/PlatformSpeechSynthesizerMock.h:
(PlatformSpeechSynthesizerMock):

Source/WebKit/chromium:

* features.gypi:

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

6 years agoDon't compute background obscuration on every repaint
antti@apple.com [Wed, 20 Mar 2013 00:17:58 +0000 (00:17 +0000)]
Don't compute background obscuration on every repaint
https://bugs.webkit.org/show_bug.cgi?id=112457

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/backgrounds/obscured-background-child-style-change.html

It is generally enough to compute background obscuration status once per layout rather than doing it on every repaint.
Since there are fewer layouts than repaints this will allow more expensive checks in the future.

With this patch adds caching and invalidation of the obscuration status.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layout):

    Invalidate the obscuration status on layout.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):

    Invalidate the parent obscuration status if there is repaint-only style change (often background related).
    Tested by the new fast/css/obscured-background-child-style-change.html.

(WebCore::RenderBox::layout):
(WebCore::RenderBox::computeBackgroundIsKnownToBeObscured):
* rendering/RenderBox.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageChanged):
(WebCore::RenderImage::notifyFinished):
(WebCore::RenderImage::boxShadowShouldBeAppliedToBackground):
(WebCore::RenderImage::computeBackgroundIsKnownToBeObscured):

    Use CachedImage::currentFrameKnownToBeOpaque which ensures that the frame is decoded and we get the real status.
    Tested by an additional case in fast/css/obscured-background-child-style-change.html.

* rendering/RenderImage.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::styleWillChange):
* rendering/RenderObject.h:
(WebCore::RenderObject::hasBoxDecorations):
(WebCore::RenderObject::computeBackgroundIsKnownToBeObscured):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(RenderObjectBitfields):
(WebCore::RenderObject::RenderObjectBitfields::boxDecorationState):
(WebCore::RenderObject::RenderObjectBitfields::setBoxDecorationState):

    Combine box decoration bit and the obscuration status so we only need one extra bit.

(WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
(WebCore::RenderObject::setHasBoxDecorations):
(WebCore::RenderObject::invalidateBackgroundObscurationStatus):
(WebCore::RenderObject::backgroundIsKnownToBeObscured):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::layout):

LayoutTests:

* fast/backgrounds/obscured-background-child-style-change-expected.html: Added.
* fast/backgrounds/obscured-background-child-style-change.html: Added.
* fast/repaint/obscured-background-no-repaint.html:

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

6 years ago[BlackBerry] Selection overlay is sometimes in wrong position.
commit-queue@webkit.org [Tue, 19 Mar 2013 23:46:28 +0000 (23:46 +0000)]
[BlackBerry] Selection overlay is sometimes in wrong position.
https://bugs.webkit.org/show_bug.cgi?id=112748

Patch by Andrew Lo <anlo@rim.com> on 2013-03-19
Reviewed by Rob Buis.
Internally reviewed by Arvid Nilsson.

Internal PR 305384.
Translate by parent's offset when drawing selection overlay.

* WebKitSupport/SelectionOverlay.cpp:
(BlackBerry::WebKit::SelectionOverlay::paintContents):

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

6 years agoImplement Web Speech Synthesis for Chromium
dmazzoni@google.com [Tue, 19 Mar 2013 23:26:08 +0000 (23:26 +0000)]
Implement Web Speech Synthesis for Chromium
https://bugs.webkit.org/show_bug.cgi?id=111695

Reviewed by Adam Barth.

Source/Platform:

Exposes a platform API that the embedder can implement to
provide speech synthesis for the Chromium port.

* Platform.gypi:
* chromium/public/Platform.h:
(WebKit):
(Platform):
(WebKit::Platform::speechSynthesizer):
* chromium/public/WebSpeechSynthesisUtterance.h: Added.
(WebKit):
(WebSpeechSynthesisUtterance):
(WebKit::WebSpeechSynthesisUtterance::WebSpeechSynthesisUtterance):
(WebKit::WebSpeechSynthesisUtterance::~WebSpeechSynthesisUtterance):
(WebKit::WebSpeechSynthesisUtterance::operator=):
(WebKit::WebSpeechSynthesisUtterance::isNull):
* chromium/public/WebSpeechSynthesisVoice.h: Added.
(WebCore):
(WebKit):
(WebSpeechSynthesisVoice):
(WebKit::WebSpeechSynthesisVoice::WebSpeechSynthesisVoice):
(WebKit::WebSpeechSynthesisVoice::~WebSpeechSynthesisVoice):
(WebKit::WebSpeechSynthesisVoice::operator=):
* chromium/public/WebSpeechSynthesizer.h: Added.
(WebKit):
(WebSpeechSynthesizer):
(WebKit::WebSpeechSynthesizer::~WebSpeechSynthesizer):
* chromium/public/WebSpeechSynthesizerClient.h: Added.
(WebKit):
(WebSpeechSynthesizerClient):
(WebKit::WebSpeechSynthesizerClient::~WebSpeechSynthesizerClient):

Source/WebCore:

Straightforward implementation of speech synthesis
for Chromium by exposing interfaces for the platform
to implement.

* Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::boundaryEventOccurred):
(WebCore::SpeechSynthesis::didStartSpeaking):
(WebCore::SpeechSynthesis::didPauseSpeaking):
(WebCore::SpeechSynthesis::didResumeSpeaking):
(WebCore::SpeechSynthesis::didFinishSpeaking):
(WebCore::SpeechSynthesis::speakingErrorOccurred):
(WebCore):
* Modules/speech/SpeechSynthesis.h:
(SpeechSynthesis):
* Modules/speech/SpeechSynthesisUtterance.cpp:
(WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
(WebCore):
(WebCore::SpeechSynthesisUtterance::~SpeechSynthesisUtterance):
(WebCore::SpeechSynthesisUtterance::setVoice):
* Modules/speech/SpeechSynthesisUtterance.h:
(SpeechSynthesisUtterance):
(WebCore::SpeechSynthesisUtterance::text):
(WebCore::SpeechSynthesisUtterance::setText):
(WebCore::SpeechSynthesisUtterance::lang):
(WebCore::SpeechSynthesisUtterance::setLang):
(WebCore::SpeechSynthesisUtterance::volume):
(WebCore::SpeechSynthesisUtterance::setVolume):
(WebCore::SpeechSynthesisUtterance::rate):
(WebCore::SpeechSynthesisUtterance::setRate):
(WebCore::SpeechSynthesisUtterance::pitch):
(WebCore::SpeechSynthesisUtterance::setPitch):
(WebCore::SpeechSynthesisUtterance::startTime):
(WebCore::SpeechSynthesisUtterance::setStartTime):
(WebCore::SpeechSynthesisUtterance::platformUtterance):
* Modules/speech/SpeechSynthesisVoice.h:
(WebCore::SpeechSynthesisVoice::~SpeechSynthesisVoice):
* WebCore.exp.in:
* WebCore.gypi:
* platform/PlatformSpeechSynthesis.h:
(PlatformSpeechSynthesis):
* platform/PlatformSpeechSynthesisUtterance.cpp:
(WebCore):
(WebCore::PlatformSpeechSynthesisUtterance::create):
* platform/PlatformSpeechSynthesisUtterance.h:
(PlatformSpeechSynthesisUtterance):
(WebCore::PlatformSpeechSynthesisUtterance::setClient):
* platform/PlatformSpeechSynthesisVoice.cpp:
(WebCore):
(WebCore::PlatformSpeechSynthesisVoice::create):
(WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
* platform/PlatformSpeechSynthesisVoice.h:
(PlatformSpeechSynthesisVoice):
(WebCore::PlatformSpeechSynthesisVoice::setVoiceURI):
(WebCore::PlatformSpeechSynthesisVoice::setName):
(WebCore::PlatformSpeechSynthesisVoice::setLang):
(WebCore::PlatformSpeechSynthesisVoice::setLocalService):
(WebCore::PlatformSpeechSynthesisVoice::setIsDefault):
* platform/PlatformSpeechSynthesizer.cpp:
(WebCore::PlatformSpeechSynthesizer::create):
(WebCore::PlatformSpeechSynthesizer::setVoiceList):
(WebCore):
* platform/PlatformSpeechSynthesizer.h:
(WebKit):
(PlatformSpeechSynthesizerClient):
(PlatformSpeechSynthesizer):
* platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Added.
(WebCore):
(WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
(WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
(WebCore::PlatformSpeechSynthesizer::speak):
(WebCore::PlatformSpeechSynthesizer::pause):
(WebCore::PlatformSpeechSynthesizer::resume):
(WebCore::PlatformSpeechSynthesizer::cancel):
* platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Added.
(WebKit):
(WebKit::WebSpeechSynthesisUtterance::WebSpeechSynthesisUtterance):
(WebKit::WebSpeechSynthesisUtterance::operator=):
(WebKit::WebSpeechSynthesisUtterance::assign):
(WebKit::WebSpeechSynthesisUtterance::reset):
(WebKit::WebSpeechSynthesisUtterance::operator PassRefPtr<PlatformSpeechSynthesisUtterance>):
(WebKit::WebSpeechSynthesisUtterance::operator PlatformSpeechSynthesisUtterance*):
(WebKit::WebSpeechSynthesisUtterance::text):
(WebKit::WebSpeechSynthesisUtterance::lang):
(WebKit::WebSpeechSynthesisUtterance::voice):
(WebKit::WebSpeechSynthesisUtterance::volume):
(WebKit::WebSpeechSynthesisUtterance::rate):
(WebKit::WebSpeechSynthesisUtterance::pitch):
(WebKit::WebSpeechSynthesisUtterance::startTime):
* platform/chromium/support/WebSpeechSynthesisVoice.cpp: Added.
(WebKit):
(WebKit::WebSpeechSynthesisVoice::assign):
(WebKit::WebSpeechSynthesisVoice::reset):
(WebKit::WebSpeechSynthesisVoice::setVoiceURI):
(WebKit::WebSpeechSynthesisVoice::setName):
(WebKit::WebSpeechSynthesisVoice::setLanguage):
(WebKit::WebSpeechSynthesisVoice::setIsLocalService):
(WebKit::WebSpeechSynthesisVoice::setIsDefault):
(WebKit::WebSpeechSynthesisVoice::operator PassRefPtr<WebCore::PlatformSpeechSynthesisVoice>):
* platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Added.
(WebCore):
(WebCore::WebSpeechSynthesizerClientImpl::WebSpeechSynthesizerClientImpl):
(WebCore::WebSpeechSynthesizerClientImpl::~WebSpeechSynthesizerClientImpl):
(WebCore::WebSpeechSynthesizerClientImpl::setVoiceList):
(WebCore::WebSpeechSynthesizerClientImpl::didStartSpeaking):
(WebCore::WebSpeechSynthesizerClientImpl::didFinishSpeaking):
(WebCore::WebSpeechSynthesizerClientImpl::didPauseSpeaking):
(WebCore::WebSpeechSynthesizerClientImpl::didResumeSpeaking):
(WebCore::WebSpeechSynthesizerClientImpl::speakingErrorOccurred):
(WebCore::WebSpeechSynthesizerClientImpl::wordBoundaryEventOccurred):
(WebCore::WebSpeechSynthesizerClientImpl::sentenceBoundaryEventOccurred):
* platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Added.
(WebCore):
(WebSpeechSynthesizerClientImpl):
* platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
(WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
(WebCore):
(WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
(WebCore::PlatformSpeechSynthesizer::speak):
* platform/mock/PlatformSpeechSynthesizerMock.cpp:
(WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
(WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
(WebCore::PlatformSpeechSynthesizerMock::speak):
* platform/mock/PlatformSpeechSynthesizerMock.h:
(PlatformSpeechSynthesizerMock):

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

6 years agoAnother build fix after r146220.
rniwa@webkit.org [Tue, 19 Mar 2013 23:17:47 +0000 (23:17 +0000)]
Another build fix after r146220.

* English.lproj/localizedStrings.js:

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

6 years agoREGRESSION(r146164): It made all inspector tests timeout on ARM traditional
ossy@webkit.org [Tue, 19 Mar 2013 23:16:06 +0000 (23:16 +0000)]
REGRESSION(r146164): It made all inspector tests timeout on ARM traditional
https://bugs.webkit.org/show_bug.cgi?id=112697

Unreviewed gardening, skip _all_ inspector test to be able catch new regressions.

* platform/qt-arm/TestExpectations:

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

6 years ago[CSS Grid Layout] Add parsing for grid-auto-{row|column}
jchaffraix@webkit.org [Tue, 19 Mar 2013 23:12:28 +0000 (23:12 +0000)]
[CSS Grid Layout] Add parsing for grid-auto-{row|column}
https://bugs.webkit.org/show_bug.cgi?id=112724

Reviewed by Tony Chang.

Source/WebCore:

This change is a first step towards handling grid-auto-{row|column}.
For now, only the parsing, storing and getComputedStyle bits are implemented.
In order to do so without duplicating code, the functions handling <track-size>
(named <track-minmax> in the code based on a previous version of the grammar)
have been tweaked to be called in a standalone fashion. The code was also
updated to match the grammar more closely:
- <track-minmax> is now <track-size>.
- <track-group> was renmoved, folded into <track-list>.

Test: fast/css-grid-layout/grid-auto-columns-rows-get-set.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForGridTrackSize):
Renamed from valueForGridTrackMinMax.

(WebCore::valueForGridTrackList):
Folded valueForGridTrackGroup here.

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
Added the parsing for grid-auto-{rows|columns}.

(WebCore::CSSParser::parseGridTrackSize):
Renamed from parseGridTrackMinMax. Changed to return the parsed value (or 0 in case of
error). This enables us to reuse it in parseValue. Note that this function now moves
the parser value list instead of the caller.

(WebCore::CSSParser::parseGridTrackList):
Updated after parseGridTrackSize changes and parseGridTrackGroup removal.

* css/CSSParser.h: Updated the names.
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
Added the 2 new non-inherited properties.

* css/StyleResolver.cpp:
(WebCore::createGridTrackSize):
Renamed from createGridTrackMinMax. Also simplified to ensure code reuse (applyProperty hands
down a CSSValue) and consistency (the state wasn't consistently the last argument).

(WebCore::createGridTrackList):
Folded createGridTrackGroup into this function.

(WebCore::StyleResolver::applyProperty):
Added the code for the new properties.

* rendering/style/RenderStyle.h:
* rendering/style/StyleGridData.cpp:
(WebCore::StyleGridData::StyleGridData):
* rendering/style/StyleGridData.h:
(WebCore::StyleGridData::operator==):
Added the storage and boiler-plate code for the new properties.

LayoutTests:

* fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt: Added.
* fast/css-grid-layout/grid-auto-columns-rows-get-set.html: Added.

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

6 years agoRemoved a using declaration to avoid name conflicts
ggaren@apple.com [Tue, 19 Mar 2013 23:07:39 +0000 (23:07 +0000)]
Removed a using declaration to avoid name conflicts
https://bugs.webkit.org/show_bug.cgi?id=112752

Reviewed by Ryosuke Niwa.

* html/ClassList.cpp: Put the using declaration here instead.

* html/ClassList.h: Don't put a using declaration in this header because
it can cause name conflicts with SVGNames.

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

6 years agoMake intrinsic size keywords on flexboxes work
ojan@chromium.org [Tue, 19 Mar 2013 22:37:55 +0000 (22:37 +0000)]
Make intrinsic size keywords on flexboxes work
https://bugs.webkit.org/show_bug.cgi?id=112652

Reviewed by Tony Chang.

Source/WebCore:

Tests: fast/css-intrinsic-dimensions/intrinsic-sized-column-flex-items.html
       fast/css-intrinsic-dimensions/intrinsic-sized-flex-items.html

* platform/Length.h:
(WebCore::Length::isSpecifiedOrIntrinsic):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax):
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
Pass in the Length so that RenderFlexibleBox can call this method and avoid
doing a bunch of code duplication.

* rendering/RenderBox.h:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
Instead of just calling valueForLength, call computeLogicalWidthInRegionUsing so that
we properly resolve intrinsic Length types. Incidentally, this should also make viewport
percentage units work.

(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
Resolve intrinsic min/max Lengths. Also, instead of calling minPreferredLogicalWidth for the
min-width: auto case, call computeMainAxisExtentForChild to correctly compute the min intrinsic size.

LayoutTests:

* fast/css-intrinsic-dimensions/intrinsic-sized-column-flex-items-expected.txt: Added.
* fast/css-intrinsic-dimensions/intrinsic-sized-column-flex-items.html: Added.
* fast/css-intrinsic-dimensions/intrinsic-sized-flex-items-expected.txt: Added.
* fast/css-intrinsic-dimensions/intrinsic-sized-flex-items.html: Added.
* platform/chromium-linux/css3/flexbox/flexbox-baseline-expected.png:
* platform/chromium-win/css3/flexbox/flexbox-baseline-expected.txt:
This looks like a rounding difference. The new result matches the non-column result
in this same test, so it looks more correct to me.

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

6 years agoTry to fix the Windows build.
ggaren@apple.com [Tue, 19 Mar 2013 22:30:31 +0000 (22:30 +0000)]
Try to fix the Windows build.

* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::hasValidAttributeType): Qualify the
namespace to avoid conflicts.

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

6 years agoWindows build fix after r146264.
rniwa@webkit.org [Tue, 19 Mar 2013 22:27:54 +0000 (22:27 +0000)]
Windows build fix after r146264.

* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::hasValidAttributeType):

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

6 years ago[BlackBerry] Hook up scroll position to proximity detector
commit-queue@webkit.org [Tue, 19 Mar 2013 22:27:01 +0000 (22:27 +0000)]
[BlackBerry] Hook up scroll position to proximity detector
https://bugs.webkit.org/show_bug.cgi?id=112743

Patch by Iris Wu <shuwu@blackberry.com> on 2013-03-19
Reviewed by Rob Buis.

PR 243385
Reviewed Internally By Genevieve Mak.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
(BlackBerry::WebKit::WebPage::adjustDocumentScrollPosition):
(WebKit):
* Api/WebPage.h:
* Api/WebPage_p.h:
(WebPagePrivate):

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

6 years agoCrash when loading http://www.jqchart.com/jquery/gauges/RadialGauge/LiveData
msaboff@apple.com [Tue, 19 Mar 2013 22:22:06 +0000 (22:22 +0000)]
Crash when loading jqchart.com/jquery/gauges/RadialGauge/LiveData
https://bugs.webkit.org/show_bug.cgi?id=112694

Reviewed by Filip Pizlo.

We were trying to convert an NewArray to a Phantom, but convertToPhantom doesn't handle
nodes with variable arguments.  Added code to insert a Phantom node in front of all the
live children of a var args node.  Added ASSERT not var args for convertToPhantom to
catch any other similar cases.  Added a new convertToPhantomUnchecked() for converting
var arg nodes.

* dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::run):
* dfg/DFGNode.h:
(Node):
(JSC::DFG::Node::setOpAndDefaultNonExitFlags): Added ASSERT(!(m_flags & NodeHasVarArgs))
(JSC::DFG::Node::setOpAndDefaultNonExitFlagsUnchecked):
(JSC::DFG::Node::convertToPhantomUnchecked):

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

6 years agoREGRESSION(r146223): chromium asserts/crashes in DocumentLoader
japhet@chromium.org [Tue, 19 Mar 2013 22:16:19 +0000 (22:16 +0000)]
REGRESSION(r146223): chromium asserts/crashes in DocumentLoader
https://bugs.webkit.org/show_bug.cgi?id=112745

Reviewed by Kenneth Russell.

Fixes layout tests on chromium debug

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::mainReceivedError): Frame might be detached, get
    defersLoading() from mainResourceLoader().
(WebCore::DocumentLoader::responseReceived): RefPtr got dropped, it's really needed.
(WebCore::DocumentLoader::receivedData): Frame might be detached, get
    defersLoading() from mainResourceLoader().
(WebCore::DocumentLoader::cancelMainResourceLoad): The ResourceError parameter
    can be null if coming from the WebKit layer, we should have a default just in case.

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

6 years agoUnreviewed. Skipping plugin snapshot tests temporarily to work out compositing issues.
dino@apple.com [Tue, 19 Mar 2013 22:03:51 +0000 (22:03 +0000)]
Unreviewed. Skipping plugin snapshot tests temporarily to work out compositing issues.

* platform/mac-wk2/TestExpectations:

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

6 years ago[EFL][WK2] Separate WebView further from EwkView
mikhail.pozdnyakov@intel.com [Tue, 19 Mar 2013 21:55:48 +0000 (21:55 +0000)]
[EFL][WK2] Separate WebView further from EwkView
https://bugs.webkit.org/show_bug.cgi?id=111591

Reviewed by Caio Marcelo de Oliveira Filho.

Source/WebKit2:

Main points are:
- WKView API has no dependency on EFL types
- WebView class does not store the Evas_Object

* UIProcess/API/C/efl/WKView.cpp:
(WKViewCreate):

    WKView creation does not require any EFL objects to be passed.

* UIProcess/API/C/efl/WKView.h:
* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
(EwkView::create):

    WKViewRef is passed to EwkView constructor from outside rather than
    created inside.

(EwkView::webView):
* UIProcess/API/efl/EwkView.h:
(EwkView):
(EwkView::wkView):
(EwkView::page):

    EwkView keeps WKViewRef rather than pointer to WebView class.

* UIProcess/API/efl/ewk_view_private.h: Added.
(EWKViewCreate):
(EWKViewGetWKView):

    Added private API to create ewk view evas object and return its WKViewRef.

* UIProcess/API/efl/ewk_view.cpp:
(ewkCreateEvasObject):
(ewk_view_smart_add):
(ewk_view_add):
(ewk_view_add_with_context):
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):

    Updated accordingly to the new APIs.

* UIProcess/efl/WebView.cpp:
(WebKit::WebView::WebView):
(WebKit::WebView::create):
(WebKit):
(WebKit::WebView::setEwkView):
(WebKit::WebView::isViewFocused):
(WebKit::WebView::isViewVisible):
* UIProcess/efl/WebView.h:
(WebView):

    Implementation of updated WKView API.

Tools:

Updated EFL PlatformWebView to meet the new WKView API and ewk view private API.
PlatformWKView is pointer to Evas_Object for EFL, as this is more natural and
since we can afford it having EWKViewGetWKView() private API to access WKView.

* TestWebKitAPI/PlatformWebView.h:
* TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/efl/PlatformWebView.cpp:
(TestWebKitAPI::PlatformWebView::PlatformWebView):
(TestWebKitAPI::PlatformWebView::~PlatformWebView):
(TestWebKitAPI::PlatformWebView::resizeTo):
(TestWebKitAPI::PlatformWebView::page):
(TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
(TestWebKitAPI::PlatformWebView::simulateMouseMove):
(TestWebKitAPI::PlatformWebView::simulateRightClick):
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/efl/EventSenderProxyEfl.cpp:
(WTR::EventSenderProxy::dispatchEvent):
(WTR::EventSenderProxy::keyDown):
(WTR::EventSenderProxy::sendTouchEvent):
(WTR::EventSenderProxy::setTouchModifier):
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::~PlatformWebView):
(WTR::PlatformWebView::resizeTo):
(WTR::PlatformWebView::page):
(WTR::PlatformWebView::focus):
(WTR::PlatformWebView::windowSnapshotImage):

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

6 years agoRefactored script content removal in the fragment parser for clarity and speed
ggaren@apple.com [Tue, 19 Mar 2013 21:51:48 +0000 (21:51 +0000)]
Refactored script content removal in the fragment parser for clarity and speed
https://bugs.webkit.org/show_bug.cgi?id=112734

Reviewed by Enrica Casucci.

Source/WebCore:

* WebCore.exp.in: Export!

* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::parseHTML):
(WebCore::DocumentFragment::parseXML):
* dom/DocumentFragment.h:
(DocumentFragment): Updated for rename of FragmentScriptingPermission to
ParserContentPolicy.

* dom/Element.cpp:
(WebCore::isEventHandlerAttribute):
(WebCore::Element::isJavaScriptURLAttribute):
(WebCore::Element::isJavaScriptAttribute): Fixed a FIXME by factoring
out some helper functions that reuse isURLAttribute(). This makes our
attribute removal slightly more precise, as reflected in test changes.

(WebCore::Element::stripJavaScriptAttributes): Factored this function out
of parserSetAttributes to clarify that the parser is responsible for
fully removing scripts before inserting anything into the DOM.

Now that this is a helper function, we can avoid doing any work in the
common case, where script content is allowed. Also, when we do have to
strip attributes, we use "two finger compaction" to avoid copying the
vector, and to avoid O(N) vector removal operations when there is
something to remove.

(WebCore::Element::parserSetAttributes):
* dom/Element.h:

* dom/FragmentScriptingPermission.h:
(WebCore::scriptingContentIsAllowed):
(WebCore::disallowScriptingContent):
(WebCore::pluginContentIsAllowed):
(WebCore::allowPluginContent): Renamed for clarity, and added some helper
functions for reading values out of this enum.

* dom/ScriptableDocumentParser.cpp:
(WebCore::ScriptableDocumentParser::ScriptableDocumentParser): Moved
a settings check into the parser constructor so we're sure that all
clients get the right behavior.

* dom/ScriptableDocumentParser.h:
(WebCore::ScriptableDocumentParser::parserContentPolicy):
(ScriptableDocumentParser):
* editing/markup.cpp:
(WebCore::createFragmentFromMarkup):
(WebCore::createFragmentFromMarkupWithContext):
(WebCore::createFragmentForInnerOuterHTML):
(WebCore::createContextualFragment):
* editing/markup.h: Updated for renames.

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isURLAttribute): Fixed a bug where
isURLAttribute would ignore href attributes in other namespaces, like
xlink:href.

* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::isURLAttribute): Same bug.

* html/HTMLElement.cpp:
(WebCore::HTMLElement::isURLAttribute): Fixed a logic error where HTMLElement
wouldn't call through to its base class.

* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::isURLAttribute): Same isURLAttribute namespace
bug as above.

* html/parser/HTMLConstructionSite.cpp:
(WebCore::setAttributes): Helper function for optionally stripping
disallowed attributes before setting them on an element. This helps all
clients get the right behavior without sprinkling checks everywhere.

(WebCore::HTMLConstructionSite::HTMLConstructionSite):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):

(WebCore::HTMLConstructionSite::insertScriptElement): Don't schedule the
element for insertion into the document if the element is forbidden. This
is slightly clearer than leaving an empty forbidden element in the document.

(WebCore::HTMLConstructionSite::createElement):
(WebCore::HTMLConstructionSite::createHTMLElement):
* html/parser/HTMLConstructionSite.h:
(HTMLConstructionSite):
(WebCore::HTMLConstructionSite::parserContentPolicy):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
(WebCore::HTMLDocumentParser::parseDocumentFragment):
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):
(WebCore::HTMLDocumentParser::create):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
Updated for renames and interface changes above.

(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag): Removed isParsingFragment()
checks to make it possible to use ParserContentPolicy in more places.

Removed call to removeChildren() because, if an element is forbidden,
we fully remove the element now. This brings behavior for <script>
elements in line with behavior for plug-in elements. It also brings
behavior of the HTML parser in line with behavior of the XML parser.

* html/parser/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::create):
(FragmentParsingContext):
(WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):
* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/chromium/DragDataChromium.cpp:
(WebCore::DragData::asFragment):
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::documentFragment):
* platform/qt/DragDataQt.cpp:
(WebCore::DragData::asFragment):
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::fragmentFromCFHTML):
(WebCore::fragmentFromHTML):
* platform/wx/PasteboardWx.cpp:
(WebCore::Pasteboard::documentFragment): Updated for renames and interface
changes.

* svg/SVGAElement.cpp:
(WebCore::SVGAElement::isURLAttribute): Fixed a bug where SVG anchor
elements didn't identify their URL attributes.

* svg/SVGAElement.h:
(SVGAElement):

* xml/XMLErrors.cpp:
(WebCore::createXHTMLParserErrorHeader):
(WebCore::XMLErrors::insertErrorMessageBlock): No need to disallow
scripting attributes here because we're creating the attributes
ourselves and we know they're not scripting attributes.

* xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::parseDocumentFragment):
* xml/parser/XMLDocumentParser.h:
(WebCore::XMLDocumentParser::create):
(XMLDocumentParser): Updated for renames and interface changes above.

Removed the 8 inline capacity in the attribute vector so we could share
helper functions with the HTML parser, which didn't have it.

* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::setAttributes):
(WebCore):
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::handleNamespaceAttributes):
(WebCore::handleElementAttributes):
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::endElementNs):
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::setAttributes):
(WebCore):
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::handleNamespaceAttributes):
(WebCore::handleElementAttributes):
(WebCore::XMLDocumentParser::parseStartElement):
(WebCore::XMLDocumentParser::parseEndElement): Same changes as for the
HTML parser.

LayoutTests:

Updated tests to improve coverage and reflect behavior tweaks to improve
clarity.

* editing/pasteboard/paste-noscript-expected.txt:
    - The "href", "source", and "action" attributes are fully removed now,
    instead of being set to the empty string, because for clarity we
    fully remove script attributes instead of setting their values to
    the empty string.

    - The "formaction" attribute on the form control is not removed because,
    even though it seems to contain javascript content, the formaction
    attribute doesn't map to anything on a form element, and won't ever
    run as script.

    - I added a button with a "formaction" attribute, to verify that it
    does get stripped, since this is the case where the "formaction"
    attribute can run as script.

* editing/pasteboard/paste-noscript-svg-expected.txt:
    - The "xlink:href" attribute is fully removed now. See above.

* editing/pasteboard/paste-noscript-xhtml-expected.txt:
* editing/pasteboard/paste-noscript.html:
    - The "href", "source", and "action" attributes are fully removed now.
    See above.

    - The <script> element is fully removed now. See above.

    - The "formaction" attribute on the form control is not removed.
    See above.

    - I added a button with a "formaction" attribute. See above.

* editing/pasteboard/paste-visible-script-expected.txt:
    - The <script> elements are fully removed now. See above.

* editing/pasteboard/resources/paste-noscript-content.html:
    - The "formaction" attribute on the form control is not removed.
    See above.

    - I added a button with a "formaction" attribute. See above.

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

6 years agoCrash in SpeculativeJIT::fillSpeculateIntInternal<false> on http://bellard.org/jslinux
mhahnenberg@apple.com [Tue, 19 Mar 2013 21:49:34 +0000 (21:49 +0000)]
Crash in SpeculativeJIT::fillSpeculateIntInternal<false> on bellard.org/jslinux
https://bugs.webkit.org/show_bug.cgi?id=112738

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixIntEdge): We shouldn't be killing this node because it could be
referenced by other people.

LayoutTests:

* fast/js/dfg-rshift-by-zero-eliminate-valuetoint32-expected.txt: Added.
* fast/js/dfg-rshift-by-zero-eliminate-valuetoint32.html: Added.
* fast/js/script-tests/dfg-rshift-by-zero-eliminate-valuetoint32.js: Added.
(f):

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

6 years agoClean up static_casts for SVG renderers
pdr@google.com [Tue, 19 Mar 2013 21:45:52 +0000 (21:45 +0000)]
Clean up static_casts for SVG renderers
https://bugs.webkit.org/show_bug.cgi?id=111651

Reviewed by Abhishek Arya.

toRenderSVGPath and toRenderSVGFilter are preferred over static_casts because bad casts can
be caught on our testing infrastructure. This patch replaces all static_casts for
RenderSVGPath and RenderSVGFilter with toRenderSVGPath and toRenderSVGFilter, respectively.

This patch also adds FIXME to the remaining toRenderSVG* instances that are missing.

No new tests as this is covered with existing tests.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):

    This call is currently safe due to the element->hasTagName(SVGNames::clipPathTag) check.

* rendering/svg/RenderSVGPath.h:
(WebCore):
(WebCore::toRenderSVGPath):
* rendering/svg/RenderSVGResourceFilter.h:
(WebCore):
(WebCore::toRenderSVGFilter):
* rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
(WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::addResourceForClientInvalidation):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::repaintRectForRendererInLocalCoordinatesExcludingSVGShadow):
(WebCore::SVGRenderSupport::rendererHasSVGShadow):
(WebCore::SVGRenderSupport::setRendererHasSVGShadow):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::~SVGRenderingContext):

    This cast was not correct! Thankfully it was not required anyway.

* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged):

    This cast was not correct!

* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged):

    This cast was not correct!

* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::svgAttributeChanged):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::svgAttributeChanged):
(WebCore::SVGPathElement::pathSegListChanged):
(WebCore::SVGPathElement::getBBox):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::svgAttributeChanged):
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::svgAttributeChanged):

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

6 years agoChanges to VS2010 project files should only trigger builds on Windows bots.
roger_fong@apple.com [Tue, 19 Mar 2013 21:40:32 +0000 (21:40 +0000)]
Changes to VS2010 project files should only trigger builds on Windows bots.
https://bugs.webkit.org/show_bug.cgi?id=112731

Reviewed by Timothy Horton.

* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):

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

6 years agoRenderLayer::scrollTo() should call FrameLoaderClient::didChangeScrollOffset()
bdakin@apple.com [Tue, 19 Mar 2013 21:30:59 +0000 (21:30 +0000)]
RenderLayer::scrollTo() should call FrameLoaderClient::didChangeScrollOffset()
https://bugs.webkit.org/show_bug.cgi?id=110673

Reviewed by Simon Fraser.

FrameLoaderClient::didChangeScrollOffset() should be called whenever something is
actually being scrolled.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):

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

6 years ago[V8] Add machinery for generating specialized bindings for the main world
commit-queue@webkit.org [Tue, 19 Mar 2013 21:17:04 +0000 (21:17 +0000)]
[V8] Add machinery for generating specialized bindings for the main world
https://bugs.webkit.org/show_bug.cgi?id=111417

Patch by Marja Hölttä <marja@chromium.org> on 2013-03-19
Reviewed by Jochen Eisinger.

The new specialized bindings will be faster, because they don't need to
do the "main world, isolated world or a worker" check, but can right
away assume that we're in the main world.

Added an IDL attribute (V8PerWorldBindings) to define which
attribute getters / setters to specialize.

This patch generates main world bindings for getters and setters of Node
and Element. (The possibility to generate bindings for callbacks will be
added later.)

No new tests (updated existing bindings tests).

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateNormalAttrGetterCallback):
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetterCallback):
(GenerateNormalAttrSetter):
(GenerateNamedConstructor):
(GenerateSingleBatchedAttribute):
(GenerateImplementation):
(GenerateCallbackImplementation):
(GenerateFunctionCallString):
(CreateCustomSignature):
(NativeToJSValue):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::ConfigureV8Float64ArrayTemplate):
(WebCore::V8Float64Array::GetTemplate):
(WebCore::V8Float64Array::HasInstance):
* bindings/scripts/test/V8/V8Float64Array.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore):
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):
(WebCore::V8TestActiveDOMObject::GetTemplate):
(WebCore::V8TestActiveDOMObject::HasInstance):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::ConfigureV8TestCustomNamedGetterTemplate):
(WebCore::V8TestCustomNamedGetter::GetTemplate):
(WebCore::V8TestCustomNamedGetter::HasInstance):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore):
(WebCore::ConfigureV8TestEventConstructorTemplate):
(WebCore::V8TestEventConstructor::GetTemplate):
(WebCore::V8TestEventConstructor::HasInstance):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::ConfigureV8TestEventTargetTemplate):
(WebCore::V8TestEventTarget::GetTemplate):
(WebCore::V8TestEventTarget::HasInstance):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore):
(WebCore::ConfigureV8TestExceptionTemplate):
(WebCore::V8TestException::GetTemplate):
(WebCore::V8TestException::HasInstance):
* bindings/scripts/test/V8/V8TestException.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
(WebCore::ConfigureV8TestInterfaceTemplate):
(WebCore::V8TestInterface::GetTemplate):
(WebCore::V8TestInterface::HasInstance):
* bindings/scripts/test/V8/V8TestInterface.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
(WebCore::V8TestMediaQueryListListener::GetTemplate):
(WebCore::V8TestMediaQueryListListener::HasInstance):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructor::GetTemplate):
(WebCore::ConfigureV8TestNamedConstructorTemplate):
(WebCore::V8TestNamedConstructor::GetTemplate):
(WebCore::V8TestNamedConstructor::HasInstance):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::ConfigureV8TestNodeTemplate):
(WebCore::V8TestNode::GetTemplate):
(WebCore::V8TestNode::HasInstance):
* bindings/scripts/test/V8/V8TestNode.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):
(WebCore::ConfigureV8TestObjTemplate):
(WebCore::V8TestObj::GetTemplate):
(WebCore::V8TestObj::HasInstance):
(WebCore::V8TestObj::installPerContextProperties):
* bindings/scripts/test/V8/V8TestObj.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
(WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
(WebCore::V8TestOverloadedConstructors::GetTemplate):
(WebCore::V8TestOverloadedConstructors::HasInstance):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
(WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
(WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
(WebCore::V8TestSerializedScriptValueInterface::HasInstance):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/scripts/test/V8/V8TestTypedefs.cpp:
(WebCore):
(WebCore::ConfigureV8TestTypedefsTemplate):
(WebCore::V8TestTypedefs::GetTemplate):
(WebCore::V8TestTypedefs::HasInstance):
* bindings/scripts/test/V8/V8TestTypedefs.h:
(WebCore::toV8ForMainWorld):
(WebCore):
(WebCore::toV8FastForMainWorld):
* bindings/v8/DOMDataStore.h:
(WebCore::DOMDataStore::getWrapperForMainWorld):
(DOMDataStore):
* bindings/v8/V8DOMConfiguration.cpp:
(WebCore::V8DOMConfiguration::batchConfigureAttributes):
(WebCore::V8DOMConfiguration::configureTemplate):
* bindings/v8/V8DOMConfiguration.h:
(BatchedAttribute):
(V8DOMConfiguration):
(WebCore::V8DOMConfiguration::configureAttribute):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::toV8ForMainWorld):
(WebCore):
* bindings/v8/custom/V8EventTargetCustom.cpp:
(WebCore::toV8ForMainWorld):
(WebCore):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8ForMainWorld):
(WebCore):
* bindings/v8/custom/V8MicroDataItemValueCustom.cpp:
(WebCore::toV8ForMainWorld):
(WebCore):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::toV8ForMainWorld):
(WebCore):
* dom/Element.idl:
* dom/Node.idl:

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

6 years agoFeatureObserver: Measure X-Frame-Options usage.
mkwst@chromium.org [Tue, 19 Mar 2013 21:12:24 +0000 (21:12 +0000)]
FeatureObserver: Measure X-Frame-Options usage.
https://bugs.webkit.org/show_bug.cgi?id=112670

Reviewed by Adam Barth.

This patch adds three FeatureObserver entries to gather information
about 'X-Frame-Options' usage in general, and in particular usage
and potential misunderstanding of the 'SAMEORIGIN' value.

Three entries are added:

- XFrameOptions measures the raw number of 'X-Frame-Options' headers.

- XFrameOptionsSameOrigin measures the number of those headers that
  set the value to 'SAMEORIGIN'.

- XFrameOptionsSameOriginWithBadAncestorChain measures the number of
  occasions in which the frame passed the "top-only" origin check we're
  currently performing, but would have failed a more strict check
  against poisoned ancestor chains (that is, an ancestor chain that
  looks like 'example.com' -> 'evil.com' -> 'example.com').

Mozilla is considering changing 'SAMEORIGIN's behavior to block the
latter loophole[1], and the UI Safety spec is considering dropping
'top-only' entirely[2]. This data will inform those decisions.

[1]: https://bugzilla.mozilla.org/show_bug.cgi?id=725490
[2]: http://lists.w3.org/Archives/Public/public-webappsec/2013Mar/0007.html

This doesn't change web-visible behavior; it only adds histograms

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
    When processing an 'X-Frame-Options' header's value, call out to
    FeatureObserver when relevant to increment the correct histogram
    entries.
* page/FeatureObserver.h:
    Added three entries to the FeatureObserver enum: XFrameOptions,
    XFrameOptionsSameOrigin, and XFrameOptionsSameOriginWithBadAncestorChain.
    Each is explained above.

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

6 years agoUnreviewed. webkitpy tests fix for Windows, runtests.py run-webkit-tests arguments...
roger_fong@apple.com [Tue, 19 Mar 2013 21:00:28 +0000 (21:00 +0000)]
Unreviewed. webkitpy tests fix for Windows, runtests.py run-webkit-tests arguments changed.

* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):
* Scripts/webkitpy/tool/steps/runtests_unittest.py:
(RunTestsTest.test_webkit_run_unit_tests):

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

6 years ago2013-03-19 Oliver Hunt <oliver@apple.com>
oliver@apple.com [Tue, 19 Mar 2013 20:59:14 +0000 (20:59 +0000)]
2013-03-19  Oliver Hunt  <oliver@apple.com>

        RELEASE_ASSERT fires in exception handler lookup

        RS=Geoff Garen.

        Temporarily switch this RELEASE_ASSERT into a regular ASSERT
        as currently this is producing fairly bad crashiness.

        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::handlerForBytecodeOffset):

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

6 years agoDashboards: Introduce history namespace and unit tests.
jparent@chromium.org [Tue, 19 Mar 2013 20:51:44 +0000 (20:51 +0000)]
Dashboards: Introduce history namespace and unit tests.
https://bugs.webkit.org/show_bug.cgi?id=112645

Reviewed by Ojan Vafai.

Laying the framework for introducing the new history object and
namespace.  This moves only static functions into the history
namespace, and moves corresponding unit tests into seperate
unit test file.

* TestResultServer/static-dashboards/aggregate_results.html:
* TestResultServer/static-dashboards/dashboard_base.js:
(parseCrossDashboardParameters):
(parseDashboardSpecificParameters):
(parseParameters):
* TestResultServer/static-dashboards/flakiness_dashboard.html:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(.switch.return):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
* TestResultServer/static-dashboards/history.js: Added.
* TestResultServer/static-dashboards/history_unittests.js: Added.
* TestResultServer/static-dashboards/loader.js:
(.):
* TestResultServer/static-dashboards/run-embedded-unittests.html:
* TestResultServer/static-dashboards/run-unittests.html:
* TestResultServer/static-dashboards/timeline_explorer.html:
* TestResultServer/static-dashboards/timeline_explorer.js:
* TestResultServer/static-dashboards/treemap.html:
* TestResultServer/static-dashboards/treemap.js:
(.switch.return):
* TestResultServer/static-dashboards/ui.js:

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

6 years agoGenerateHashValue should be usable outside CodeGeneratorJS.pm
abarth@webkit.org [Tue, 19 Mar 2013 20:45:36 +0000 (20:45 +0000)]
GenerateHashValue should be usable outside CodeGeneratorJS.pm
https://bugs.webkit.org/show_bug.cgi?id=112736

Reviewed by Benjamin Poulain.

GenerateHashValue is not specific to CodeGeneratorJS.pm. Instead, the
function matches the StringHash used in WTF. This patch moves the
function into a separate Perl module so that it can be used by other
Perl scripts. For example, I plan to use this function to compute the
hash value for HTMLNames at compile time rather than at startup.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHashTable):
* bindings/scripts/Hash.pm: Added.
(leftShift):
(GenerateHashValue):

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

6 years ago[WinCairo] Unreviewed build fix.
bfulgham@webkit.org [Tue, 19 Mar 2013 20:35:43 +0000 (20:35 +0000)]
[WinCairo] Unreviewed build fix.

* win/tools/vsprops/FeatureDefinesCairo.vsprops: This file was out
of sync with the main Windows build, and the VS2010 version of the
WinCairo port, preventing consistent builds.

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

6 years ago[Chromium] Flip WEBKIT_USE_NEW_WEBFILESYSTEMTYPE
pilgrim@chromium.org [Tue, 19 Mar 2013 20:34:15 +0000 (20:34 +0000)]
[Chromium] Flip WEBKIT_USE_NEW_WEBFILESYSTEMTYPE
https://bugs.webkit.org/show_bug.cgi?id=112726

Reviewed by Adam Barth.

Now that all embedders respect this ifdef, we can safely define it
to get everything to use the new top-level WebFileSystemType enum.

* chromium/public/WebFileSystemType.h:

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

6 years agoSource/WebCore: Allow PlugIn Snapshotting to be tested
dino@apple.com [Tue, 19 Mar 2013 20:30:34 +0000 (20:30 +0000)]
Source/WebCore: Allow PlugIn Snapshotting to be tested
https://bugs.webkit.org/show_bug.cgi?id=98696

Reviewed by Tim Horton.

Expose a new setting maximumPlugInSnapshotAttempts that can
be set by testing scripts.

Tests: plugins/snapshotting/restart.html
       plugins/snapshotting/simple.html

* page/Settings.in:

Source/WebKit2: Allow PlugIn Snapshotting to be tested
https://bugs.webkit.org/show_bug.cgi?id=98696

Reviewed by Tim Horton.

Use the new maximumPlugInSnapshotAttempts setting rather than a hardcoded
value. At the same time, if this value is 0, then snapshot immediately
(don't wait to get a snapshot and test it).

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::didInitializePlugin): Snapshot immediately if maximum attempts are 0.
(WebKit::PluginView::pluginSnapshotTimerFired): Use setting rather than file local variable.

LayoutTests: Allow PlugIn Snapshotting to be tested
https://bugs.webkit.org/show_bug.cgi?id=98696
<rdar://problem/12456731>

Reviewed by Tim Horton.

Two new simple tests for plugin snapshotting. One that makes
sure the plugin was snapshotted (looks for the RenderSnapshottedPlugin)
and one that restarts a snapshotted plugin by clicking.

Since this feature is currently only enabled in WebKit2, the tests
are skipped everywhere else.

* platform/chromium/TestExpectations: Skip plugins/snapshotting.
* platform/efl/TestExpectations: Ditto.
* platform/gtk/TestExpectations: Ditto.
* platform/mac-wk2/TestExpectations: Ditto.
* platform/mac-wk2/plugins/snapshotting/restart-expected.txt: Added.
* platform/mac-wk2/plugins/snapshotting/simple-expected.txt: Added.
* platform/mac/TestExpectations: Skip plugins/snapshotting.
* platform/qt/TestExpectations: Ditto.
* platform/win/TestExpectations: Ditto.
* plugins/snapshotting/restart.html: Added.
* plugins/snapshotting/simple.html: Added.

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

6 years agosvn-apply has trouble applying a patch that adds a Windows newline to EOF
dbates@webkit.org [Tue, 19 Mar 2013 20:27:30 +0000 (20:27 +0000)]
svn-apply has trouble applying a patch that adds a Windows newline to EOF
https://bugs.webkit.org/show_bug.cgi?id=112732

Reviewed by Eric Seidel.

Fixes an issues where a diff that adds a Windows line ending (CRLF) to the end
of an existing file cannot be applied.

In particular, svn-{apply, unapply} compensate for differences in line endings
by converting the line endings in a diff to match the line endings in the target
file. The diff(1) command precedes the last line of a diff that adds a newline
character to the end of a file with the special character sequence "\n \\ No newline at end of file\n"
Svn-{apply, unapply} converts the newline characters (\n) in this character sequence
to \r\n (CRLF) when the target file has Windows line endings and patch(1) complains
when applying this modified diff. Instead, svn-{apply, unapply} should not modify
the newline characters in this special character sequence to match the line endings
in the target file.

* Scripts/VCSUtils.pm:
(parseDiff):
* Scripts/webkitperl/VCSUtils_unittest/parseDiffWithMockFiles.pl:
Added tests:
    - "SVN: Patch adds Windows newline to EOF and IndexPath has Windows line endings"
    - "SVN: Patch adds Mac newline to EOF and IndexPath has Mac line endings"
    - "Git: Patch adds Windows newline to EOF and IndexPath has Windows line endings"
    - "Git: Patch adds Mac newline to EOF and IndexPath has Mac line endings"
(escapeNewLineCharacters): Added.
(toMacLineEndings): Added.

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

6 years agoRestarting a snapshotted plugin should restart all plugins from the same domain on...
dino@apple.com [Tue, 19 Mar 2013 20:23:43 +0000 (20:23 +0000)]
Restarting a snapshotted plugin should restart all plugins from the same domain on the page
https://bugs.webkit.org/show_bug.cgi?id=112725

Reviewed by Tim Horton.

Source/WebCore:

If the user restarts a snapshotted plugin, then typically they will
want to restart all similar plugins on the page, where similarity
is defined by the domain of the content. Or in other words, since clients
will typically add a restarted plugin to the list of autostarting
domain hashes, we should start the other plugins that would autostart
on reload.

When a snapshotted plugin gets the user click telling it to restart, it iterates
over every frame in the document looking for domain hashes similar to its own.
It then manually restarts each of the paused plugins.

* html/HTMLPlugInImageElement.cpp:
(WebCore::addPlugInsFromNodeListMatchingOriginHash): Static helper function
    that builds a list of plugins to restart.
(WebCore::HTMLPlugInImageElement::userDidClickSnapshot): After restarting itself,
    the plugin looks for all other similar snapshotted plugins in the page.
(WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn): Splits out the actual
    restart functionality, to make it separate from plugins that were manually
    restarted and thus probably want to forward a delayed click event.
* html/HTMLPlugInImageElement.h:
(HTMLPlugInImageElement): New method restartSnapshottedPlugIn.

Source/WebKit2:

When we add a plugin domain hash to the list of sites that autostart, we
send a message to our owning process. That message might not return before
another plugin queries if it is in the list. So, before we send the message,
add the current hash to the list with a very small timeout. That way the
response will be to either extend the timeout, or not add the hash (in which
case it will expire soon).

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::addPlugInAutoStartOrigin):

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

6 years agoDFG should optimize StringObject.length and StringOrStringObject.length
fpizlo@apple.com [Tue, 19 Mar 2013 20:23:01 +0000 (20:23 +0000)]
DFG should optimize StringObject.length and StringOrStringObject.length
https://bugs.webkit.org/show_bug.cgi?id=112658

Reviewed by Mark Hahnenberg.

Implemented by injecting a ToString(StringObject:@a) or ToString(StringOrStringObject:@a) prior
to GetArrayLength with ArrayMode(Array::String) if @a is predicted StringObject or
StringOrStringObject.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::createToString):
(FixupPhase):
(JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion):
(JSC::DFG::FixupPhase::convertStringAddUse):

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

6 years agoAnother Mac build fix attempt after r146239.
rniwa@webkit.org [Tue, 19 Mar 2013 20:22:43 +0000 (20:22 +0000)]
Another Mac build fix attempt after r146239.

* WebCoreSupport/WebFrameNetworkingContext.h:
(WebFrameNetworkingContext):

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

6 years agoMac build fix attempt after r146239.
rniwa@webkit.org [Tue, 19 Mar 2013 20:04:38 +0000 (20:04 +0000)]
Mac build fix attempt after r146239.

* WebCoreSupport/WebFrameNetworkingContext.h:

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

6 years ago[chromium] Remove compositor settings that don't go through WebKit
commit-queue@webkit.org [Tue, 19 Mar 2013 19:55:14 +0000 (19:55 +0000)]
[chromium] Remove compositor settings that don't go through WebKit
https://bugs.webkit.org/show_bug.cgi?id=112718

Patch by James Robinson <jamesr@chromium.org> on 2013-03-19
Reviewed by Adam Barth.

Source/WebKit/chromium:

This removes settings that used to propagate through WebLayerTreeView::Settings by way of WebViewImpl but are
now directly set by the embedder.

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::WebSettingsImpl):
* src/WebSettingsImpl.h:
(WebSettingsImpl):

Tools:

* DumpRenderTree/chromium/DumpRenderTree.cpp:
(main):
* DumpRenderTree/chromium/TestRunner/public/WebPreferences.h:
* DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp:
(WebTestRunner::WebPreferences::reset):
(WebTestRunner::WebPreferences::applyTo):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
(TestShell::resetWebSettings):
* DumpRenderTree/chromium/TestShell.h:
(TestShell):

LayoutTests:

* platform/chromium/compositing/accelerated-drawing/alpha-expected.png: Removed.
* platform/chromium/compositing/accelerated-drawing/alpha-expected.txt: Removed.
* platform/chromium/compositing/accelerated-drawing/alpha.html: Removed.
* platform/chromium/compositing/accelerated-drawing/svg-filters.html: Removed.

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

6 years agoMerge MainResourceLoader's SubstituteData loading + others into DocumentLoader
japhet@chromium.org [Tue, 19 Mar 2013 19:39:44 +0000 (19:39 +0000)]
Merge MainResourceLoader's SubstituteData loading + others into DocumentLoader
https://bugs.webkit.org/show_bug.cgi?id=112722

Part of the ongoing effort to merge MainResourceLoader entirely
into DocumentLoader.

Reviewed by Antti Koivisto.

No new tests, refactor only.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::mainReceivedError): Moved from MainResourceLoader::receivedError
    and the failure case in MainResourceLoader::notifyFinished.
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::handleSubstituteDataLoadNow): Moved from MainResourceLoader.
(WebCore::DocumentLoader::startDataLoadTimer): Moved from MainResourceLoader.
(WebCore::DocumentLoader::handleSubstituteDataLoadSoon): Moved from MainResourceLoader.
(WebCore::DocumentLoader::willSendRequest):
(WebCore::DocumentLoader::continueAfterNavigationPolicy):
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::receivedData):
(WebCore::DocumentLoader::startLoadingMainResource): Most of MainResourceLoader::load
    moved here.
(WebCore::DocumentLoader::cancelMainResourceLoad): MainResourceLoader::cancel
    moved here.
* loader/DocumentLoader.h:
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::notifyFinished):
(WebCore::MainResourceLoader::reportMemoryUsage):
(WebCore::MainResourceLoader::load):
(WebCore::MainResourceLoader::identifier):
* loader/MainResourceLoader.h:

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

6 years agoUnreviewed build fix after r146220. Add the missing ]'s.
rniwa@webkit.org [Tue, 19 Mar 2013 19:36:49 +0000 (19:36 +0000)]
Unreviewed build fix after r146220. Add the missing ]'s.

* English.lproj/localizedStrings.js:

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

6 years agoGIFImageReader to count frames and decode in one pass
hclam@chromium.org [Tue, 19 Mar 2013 19:29:06 +0000 (19:29 +0000)]
GIFImageReader to count frames and decode in one pass
https://bugs.webkit.org/show_bug.cgi?id=111144

Reviewed by Stephen White.

Source/WebCore:

OBJECTIVE

This change has the objective of improving performance reading GIF
files. This implementation can parse the entire GIF file in one pass
and saves information about each frame, such that decoding in a later
pass does not need to parse the file again.

This change fixes the performance problem of decoding GIF files when
they are received very slowly. Existing implementation creates a new
GIFImageReader for counting frames for every time it is notified that
new data has been received, this has O(n^2) behavior when data is
received very slowly.

ALGORITHM

This implementation divides the decoding process into two separate
steps: parse and LZW decoding.

In the parse step, the state machine is similar to the existing
implementation. However this algorithm does not perform any decoding
while scanning through the file. Intead it creates a new data structure
for caching all frame information and the corresponding LZW blocks.

If a full decode is requested then LZW decoding is performed. This
implementation looks through all frame information saved and decodes
each frame sequentially until the target frame is reached.

Because of the separation of parse and decode, each frame can be
decoded separately. This paves the way to support seeking in GIF files.

TESTING

Added a new unit test to cover progressively decoding a GIF image.
There are already GIF unit tests for functional testing.
Exhaustive testing was done locally with a corpus of 60k images.
I mixed the corpus with some generated bad data and truncated files.
The results was bit-identical when compared to the previous
implementation.

These was also no crashing when decoding the entire corpus.

* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::repetitionCount):
(WebCore::GIFImageDecoder::decode):
* platform/image-decoders/gif/GIFImageDecoder.h:
(GIFImageDecoder):
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFLZWContext::outputRow):
(GIFLZWContext::doLZW):
(GIFFrameContext::decode):
(GIFImageReader::decode):
(GIFImageReader::parse):
(GIFImageReader::addFrameIfNecessary):
(GIFLZWContext::prepareToDecode):
* platform/image-decoders/gif/GIFImageReader.h:
There is a lot of reshuffling in GIFLZWContext and GIFFrameContext.
These changes has the goal of having GIFLZWContext be a pure decoding
state machine. GIFFrameContext is mostly a read-only container for
frame information. With all these changes we can decode each
GIFFrameContext independently.

The ownership pattern is:
GIFImageReader owns GIFFrameContext owns GIFLZWContext.

(GIFLZWContext::GIFLZWContext):
(GIFLZWContext):
(GIFLZWContext::hasRemainingRows):
GIFLZWContext is moved to the top of file.
(GIFLZWBlock):
(GIFLZWBlock::GIFLZWBlock):
New data structure to save block position and size.
(GIFFrameContext):
(GIFFrameContext::GIFFrameContext):
(GIFFrameContext::~GIFFrameContext):
(GIFFrameContext::addLzwBlock):
(GIFFrameContext::isComplete):
(GIFFrameContext::isHeaderDefined):
(GIFFrameContext::isDataSizeDefined):
(GIFFrameContext::setComplete):
(GIFFrameContext::setHeaderDefined):
(GIFFrameContext::setDataSize):
Now owns GIFLZWContext for decoding.
(GIFImageReader::GIFImageReader):
(GIFImageReader::~GIFImageReader):
(GIFImageReader::imagesCount):
(GIFImageReader::frameContext):
(GIFImageReader):
(GIFImageReader::parseFailed):
(GIFImageReader::isFirstFrame):
Owns a list of GIFFrameContxt.

Source/WebKit/chromium:

Added a new GIF unit test for progressive decoding. The test is to verify
that continually re-decoding an image one additional byte at a time produces
the same outputs as repeatedly decoding (with brand new decoders) truncated
versions of the image that are one byte longer each time.

* tests/GIFImageDecoderTest.cpp:
(WebKit::TEST):

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

6 years agoUnreviewed gardening of AppleWin port.
roger_fong@apple.com [Tue, 19 Mar 2013 19:25:17 +0000 (19:25 +0000)]
Unreviewed gardening of AppleWin port.

* platform/win/fast/dom/icon-url-property-expected.txt: Added.
* platform/win/fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt: Added.

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

6 years agoUnreviewed. Rolled Chromium DEPS to r189038. Requested by
commit-queue@webkit.org [Tue, 19 Mar 2013 19:19:31 +0000 (19:19 +0000)]
Unreviewed.  Rolled Chromium DEPS to r189038.  Requested by
"Mark Pilgrim" <pilgrim@chromium.org> via sheriffbot.

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

* DEPS:

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

6 years agoUnreviewed, rolling out r146101.
dpranke@chromium.org [Tue, 19 Mar 2013 19:18:18 +0000 (19:18 +0000)]
Unreviewed, rolling out r146101.
https://bugs.webkit.org/show_bug.cgi?id=111884

re-enable custom freetype on asan; this needs to be on
now that the bot is running lucid.

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:

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

6 years ago[BlackBerry] Don't handle keyboard scrolling shortcuts in webkit
commit-queue@webkit.org [Tue, 19 Mar 2013 19:14:23 +0000 (19:14 +0000)]
[BlackBerry] Don't handle keyboard scrolling shortcuts in webkit
https://bugs.webkit.org/show_bug.cgi?id=112716

Informally Reviewed by Mike Fenton (mifenton@rim.com)
Patch by Chris Hutten-Czapski <chutten@blackberry.com> on 2013-03-19
Reviewed by Rob Buis.

The comment is right, this isn't the correct place to handle keyboard
scrolling shortcuts. That's what we have clients for.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::keyEvent):

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

6 years ago[Chromium] IndexedDB: index-duplicate-keypaths test is flaky under content_shell
jsbell@chromium.org [Tue, 19 Mar 2013 19:03:07 +0000 (19:03 +0000)]
[Chromium] IndexedDB: index-duplicate-keypaths test is flaky under content_shell
https://bugs.webkit.org/show_bug.cgi?id=112723

Reviewed by Tony Chang.

Root cause is a race between the "versionchange" transaction's "complete" event
being dispatched to script and the "success" call arriving from the back-end
which updates the metadata. Tracked as https://bugs.webkit.org/show_bug.cgi?id=111642

* storage/indexeddb/resources/index-duplicate-keypaths.js:
(testCollideAutoIncrementSetup): Trigger test from open's onsuccess...
(testCollideAutoIncrement): ... rather than transaction's oncomplete.

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

6 years ago[WinCairo] Unreviewed build correction for WebCore library.
bfulgham@webkit.org [Tue, 19 Mar 2013 18:59:49 +0000 (18:59 +0000)]
[WinCairo] Unreviewed build correction for WebCore library.

* WebCore.vcxproj/WebCore.vcxproj: Exclude CG-specific frame source
from WinCairo build.
* WebCore.vcxproj/WebCoreGeneratedWinCairo.make: Pass correct
parameter to build-generated-files.sh for WinCairo build.

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

6 years agoFix the WTF gyp build for GTK+.
mrobinson@webkit.org [Tue, 19 Mar 2013 18:50:22 +0000 (18:50 +0000)]
Fix the WTF gyp build for GTK+.

* WTF.gyp/WTFGTK.gyp: Skip files with CF in the name.

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

6 years ago[chromium] Remove deprecated/unused bits of WebLayerTreeView
commit-queue@webkit.org [Tue, 19 Mar 2013 18:47:25 +0000 (18:47 +0000)]
[chromium] Remove deprecated/unused bits of WebLayerTreeView
https://bugs.webkit.org/show_bug.cgi?id=112714

Patch by James Robinson <jamesr@chromium.org> on 2013-03-19
Reviewed by Adam Barth.

* chromium/public/WebLayerTreeView.h:
(WebLayerTreeView):

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

6 years agoImplement onRefEncodedData for lazy pixel refs.
commit-queue@webkit.org [Tue, 19 Mar 2013 18:45:23 +0000 (18:45 +0000)]
Implement onRefEncodedData for lazy pixel refs.
This allows printToSkPicture to write the original
encoded data to the stream.
Add a method to ImageFrameGenerator to copy its
data, which is used by onRefEncodedData.
https://bugs.webkit.org/show_bug.cgi?id=110759

Patch by Leon Scroggins <scroggo@chromium.org> on 2013-03-19
Reviewed by Stephen White.

No new tests. New functionality is for testing purposes
(creating SKP files).

* platform/graphics/chromium/ImageFrameGenerator.cpp:
(WebCore::ImageFrameGenerator::data):
(WebCore):
* platform/graphics/chromium/ImageFrameGenerator.h:
(ImageFrameGenerator):
* platform/graphics/chromium/LazyDecodingPixelRef.cpp:
(WebCore::LazyDecodingPixelRef::isClipped):
(WebCore):
(WebCore::LazyDecodingPixelRef::onRefEncodedData):
* platform/graphics/chromium/LazyDecodingPixelRef.h:
(LazyDecodingPixelRef):

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

6 years agoSeparate SVG image size and container size
pdr@google.com [Tue, 19 Mar 2013 18:39:18 +0000 (18:39 +0000)]
Separate SVG image size and container size
https://bugs.webkit.org/show_bug.cgi?id=112651

Reviewed by Stephen Chenney.

Source/WebCore:

Previously, SVG images could retain their cached size between reloads due to a bug where an
old container size would be re-used if the image's new container size was not available yet.

This patch changes SVGImage::size() to return the intrinsic size of the image before a
container size has been set. SVGImageCache::imageSizeForRenderer will now return the
image's intrinsic size instead of a cached value if the container size cannot be looked up.
In javascript, querying [SVGImage].width will now return either the image's intrinsic size
or the size of 'imageForContainer'.

Test: svg/as-image/svg-container-size-after-reload.html

* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::containerSize):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::dataChanged):
* svg/graphics/SVGImage.h:

    The member variable 'm_intrinsicSize' has been added to track the image's intrinsic
    size. This term can be found in: http://www.w3.org/TR/css3-images/#default-sizing

* svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::imageSizeForRenderer):
(WebCore::SVGImageCache::imageForRenderer):

    In both of these functions, image has been renamed to imageForContainer here to clarify
    that the cached container size is being returned, not the image's intrinsic size.

LayoutTests:

* svg/as-image/svg-container-size-after-reload-expected.txt: Added.
* svg/as-image/svg-container-size-after-reload.html: Added.

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

6 years ago[BlackBerry] When selecting an object, assign focus to new node instead of clearing...
commit-queue@webkit.org [Tue, 19 Mar 2013 18:31:05 +0000 (18:31 +0000)]
[BlackBerry] When selecting an object, assign focus to new node instead of clearing previous focused node
https://bugs.webkit.org/show_bug.cgi?id=112707

Patch by Andy Chen <andchen@blackberry.com> on 2013-03-19
Reviewed by Rob Buis.

In SelectionHandler, when selecting a new object, we should set focus
to the anchor node of selection instead of removing it from the old input.
In InputHandler, when focusedNodeChanged is called, if the new node is
not an Element node, we need to set focus to its Element parent node,
instead of removing focus from the old node.
PR 304631
Internally reviewed by Mike Fenton.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::focusedNodeChanged):
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectObject):

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

6 years agoIndexedDB: Use integer plumbing for deleteDatabase onVersionChange calls
jsbell@chromium.org [Tue, 19 Mar 2013 18:23:51 +0000 (18:23 +0000)]
IndexedDB: Use integer plumbing for deleteDatabase onVersionChange calls
https://bugs.webkit.org/show_bug.cgi?id=112715

Reviewed by Tony Chang.

When deleteDatabase on the back-end needs to send the front-end an
onVersionChange notification it does so using the string overload. That's
the only remaining use of that overload and we'd like to delete it. Switch
to using the integer overload, with an already defined special value.
This will unblock http://wkbug.com/112712 to delete the dead code.

No new tests - no functional change.

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::onVersionChange): Map NoIntVersion to null.
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::deleteDatabase): Call integer overload.

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

6 years agoHover effects from a GestureTapDown are dismissed by a GestureTap on the hover element
tdanderson@chromium.org [Tue, 19 Mar 2013 18:20:35 +0000 (18:20 +0000)]
Hover effects from a GestureTapDown are dismissed by a GestureTap on the hover element
https://bugs.webkit.org/show_bug.cgi?id=103283

Reviewed by Antonio Gomes.

Source/WebCore:

On a GestureTap event over an element that was made visible as a hover effect, the
GestureTap should be applied to that element and the hover effects should not be dismissed.
A GestureTap or a mouse move to a location outside of the element should still dismiss the
hover effects.

Tests: fast/events/touch/gesture/gesture-tap-hover-clear.html
       fast/events/touch/gesture/gesture-tap-on-hover-element.html

* page/EventHandler.cpp:
(WebCore::EventHandler::handleGestureEvent):

LayoutTests:

Two layout tests added. See descriptions inline.

* fast/events/touch/gesture/gesture-tap-hover-clear-expected.txt: Added.
* fast/events/touch/gesture/gesture-tap-hover-clear.html: Added.
      Tests that a GestureTap or a mouse move outside of the hovered element
      clears its hover effects.
* fast/events/touch/gesture/gesture-tap-on-hover-element-expected.txt: Added.
* fast/events/touch/gesture/gesture-tap-on-hover-element.html: Added.
      Tests that a GestureTap on an element which has been made visible as
      a hover effect is dispatched to the element and does not dismiss the
      hover effect.
* platform/chromium/fast/events/touch/gesture/gesture-tap-hover-clear-expected.txt: Added.
* platform/chromium/fast/events/touch/gesture/gesture-tap-on-hover-element-expected.txt: Added.

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

6 years ago[BlackBerry] Enable USE_SYSTEM_MALLOC by default
commit-queue@webkit.org [Tue, 19 Mar 2013 17:52:35 +0000 (17:52 +0000)]
[BlackBerry] Enable USE_SYSTEM_MALLOC by default
https://bugs.webkit.org/show_bug.cgi?id=112365

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-19
Reviewed by Benjamin Poulain.

Enable USE_SYSTEM_MALLOC by default via FeatureList.pm instead of
harcoding it in wtf/Platform.h

Source/WTF:

* wtf/Platform.h:

Tools:

* Scripts/webkitperl/FeatureList.pm:

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

6 years agoAssertion in LegacyWebArchive::create() in editing tests
simon.fraser@apple.com [Tue, 19 Mar 2013 17:47:38 +0000 (17:47 +0000)]
Assertion in LegacyWebArchive::create() in editing tests
https://bugs.webkit.org/show_bug.cgi?id=112642

editing/pasteboard/5780697-1.html is also a flakey assertion.

Move to mac-wk2 beacuse these only seem to happen in WK2.

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

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

6 years agoWeb Inspector: Fix menu items capitalization.
commit-queue@webkit.org [Tue, 19 Mar 2013 17:43:32 +0000 (17:43 +0000)]
Web Inspector: Fix menu items capitalization.
https://bugs.webkit.org/show_bug.cgi?id=112553

The context menu items should be correctly capitalized.

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-19
Reviewed by Pavel Feldman.

* English.lproj/localizedStrings.js:
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.JavaScriptBreakpointsSidebarPane.prototype._emptyElementContextMenu):
(WebInspector.XHRBreakpointsSidebarPane.prototype._emptyElementContextMenu):
(WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane.Placard.prototype._placardContextMenu):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._handleContextMenuEvent.get var):
(WebInspector.ConsoleView.prototype._handleContextMenuEvent.set get contextMenu):
* inspector/front-end/DOMBreakpointsSidebarPane.js:
(WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu):
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid.prototype._contextMenuInDataTable):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype._contextMenuEventFired.set get var):
(WebInspector.ElementsPanel.prototype.appendApplicableItems):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
* inspector/front-end/HeapSnapshotDataGrids.js:
(WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype.appendApplicableItems):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
(WebInspector.ProfilesPanel.prototype.appendApplicableItems):
(WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.FileSystemListTreeElement.prototype._handleContextMenuEvent):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._appendUISourceCodeMappingItems):
(WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
(WebInspector.ScriptsPanel.prototype._appendFunctionItems):
* inspector/front-end/TabbedPane.js:
(WebInspector.TabbedPaneTab.prototype._tabContextMenu):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._contextMenu):
* inspector/front-end/WatchExpressionsSidebarPane.js:
(WebInspector.WatchExpressionsSection.prototype._emptyElementContextMenu):
(WebInspector.WatchExpressionTreeElement.prototype.populateContextMenu):

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

6 years agoASSERTION FAILED: m_scheduledTasksAreSuspended
simon.fraser@apple.com [Tue, 19 Mar 2013 17:31:11 +0000 (17:31 +0000)]
ASSERTION FAILED: m_scheduledTasksAreSuspended
https://bugs.webkit.org/show_bug.cgi?id=97124

Mark fast/loader/dynamic-iframe-extra-back-forward-item.html as sometimes crashing in debug.

* platform/mac-wk2/TestExpectations:

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

6 years agoInspector: IndexedDB clear button and menu item
alecflett@chromium.org [Tue, 19 Mar 2013 17:29:15 +0000 (17:29 +0000)]
Inspector: IndexedDB clear button and menu item
https://bugs.webkit.org/show_bug.cgi?id=112066

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Adds a button that can clear the contents of an objectStore from
the IDBDataView, and a context menu from the ResourcesPanel that
can do the same.

This also disables the Refresh button from the IDBDataView, so there
is at least some visual feedback that the refresh button is working.

Tests: http/tests/inspector/indexeddb/database-data.html

* inspector/Inspector.json: New API clearObjectStore.
* inspector/InspectorIndexedDBAgent.cpp: Implementation of clearObjectStore
(WebCore):
(ClearObjectStoreListener): Calls the original closure after the objectStore is cleared.
(ClearObjectStore): Initiates the clear operation after the DB opens.
* inspector/front-end/IndexedDBModel.js: Exposes clearObjectStore to the Model API.
(WebInspector.IDBDataView): Add clear button and enable/disable clear and refresh buttons appropriately.
* inspector/front-end/ResourcesPanel.js: Add a menu item and refresh the displayed data after the clear.
* inspector/front-end/inspector.css: Add a style to show the right button for clear.

LayoutTests:

Add extra methods to test clearing the database after populating it.

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

6 years ago[Mac] Flaky crash in SliderThumbElement::defaultEventHandler on fast/forms/range...
simon.fraser@apple.com [Tue, 19 Mar 2013 17:26:57 +0000 (17:26 +0000)]
[Mac] Flaky crash in SliderThumbElement::defaultEventHandler on fast/forms/range/slider-delete-while-dragging-thumb.html
https://bugs.webkit.org/show_bug.cgi?id=108223

* platform/mac/TestExpectations:

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

6 years agoMerge MainResourceLoader::responseReceived into DocumentLoader
japhet@chromium.org [Tue, 19 Mar 2013 17:08:17 +0000 (17:08 +0000)]
Merge MainResourceLoader::responseReceived into DocumentLoader
https://bugs.webkit.org/show_bug.cgi?id=112593

Part of the ongoing effort to merge MainResourceLoader entirely
into DocumentLoader.

Reviewed by Adam Barth.

No new tests, refactor only.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::finishedLoading): The only thing left in
    MainResourceLoader related to this function was a RefPtr which indirectly
    protected DocumentLoader. Move the RefPtr here and protect DocumentLoader directly.
(WebCore::DocumentLoader::responseReceived): Moved from MainResourceLoader.
(WebCore::DocumentLoader::callContinueAfterContentPolicy): Moved from MainResourceLoader.
(WebCore::DocumentLoader::continueAfterContentPolicy): Moved from MainResourceLoader.
(WebCore::DocumentLoader::interruptedForPolicyChangeError): Moved from MainResourceLoader.
(WebCore::DocumentLoader::stopLoadingForPolicyChange): Moved from MainResourceLoader.
(WebCore::DocumentLoader::receivedData):
(WebCore::DocumentLoader::cancelMainResourceLoad):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::isLoadingMultipartContent): Store multipart bit here.
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::cancel):
(WebCore::MainResourceLoader::responseReceived):
(WebCore::MainResourceLoader::notifyFinished):
* loader/MainResourceLoader.h:

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

6 years agoCleanup defaultUnifiedTextCheckerEnabled type
tony@chromium.org [Tue, 19 Mar 2013 17:06:10 +0000 (17:06 +0000)]
Cleanup defaultUnifiedTextCheckerEnabled type
https://bugs.webkit.org/show_bug.cgi?id=112640

Reviewed by Adam Barth.

It's a bool setting. I accidentally declared the default value as a double
in r139202.

No new tests, this is a refactor/code cleanup.

* page/Settings.cpp:
(WebCore): Switch from double to a bool.

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

6 years agoWeb Inspector: Increase DataGrid default font size.
commit-queue@webkit.org [Tue, 19 Mar 2013 16:56:46 +0000 (16:56 +0000)]
Web Inspector: Increase DataGrid default font size.
https://bugs.webkit.org/show_bug.cgi?id=112692

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-19
Reviewed by Pavel Feldman.

The default font of 10px is too small. Most instances of DataGrid set
font to 11px.

* inspector/front-end/dataGrid.css:
(.data-grid table):

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

6 years agoRefactor conditions for setCompositingLayersNeedRebuild in RenderLayer::styleChanged
mvujovic@adobe.com [Tue, 19 Mar 2013 16:49:01 +0000 (16:49 +0000)]
Refactor conditions for setCompositingLayersNeedRebuild in RenderLayer::styleChanged
https://bugs.webkit.org/show_bug.cgi?id=112606

Reviewed by Simon Fraser.

To fix bug 109098 [1], we will need to add more conditions for calling
RenderLayerCompositor::setCompositingLayersNeedRebuild in RenderLayer::styleChanged.
Adding more non-trivial conditions will make this block of code even harder to follow.
This patch refactors the current conditions into functions:
    needsCompositingLayersRebuiltForClip
    needsCompositingLayersRebuiltForOverflow

In bug 109098 [1], I'm planning to add:
    needsCompositingLayersRebuiltForFilters

[1]: https://bugs.webkit.org/show_bug.cgi?id=109098

No new tests. Just refactoring.

* rendering/RenderLayer.cpp:
(WebCore):
(WebCore::RenderLayer::needsCompositingLayersRebuiltForClip):
(WebCore::RenderLayer::needsCompositingLayersRebuiltForOverflow):
    This is a method and not a file static function because it needs to look at the
    RenderLayer's stackingContainer(), which is a private method.
(WebCore::RenderLayer::styleChanged):
* rendering/RenderLayer.h:
(RenderLayer):

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

6 years agoWeb Inspector: Remove flaky part of testRendererProcessNativeMemorySize test.
commit-queue@webkit.org [Tue, 19 Mar 2013 16:20:55 +0000 (16:20 +0000)]
Web Inspector: Remove flaky part of testRendererProcessNativeMemorySize test.
https://bugs.webkit.org/show_bug.cgi?id=112703

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-19
Reviewed by Yury Semikhatsky.

The memory increase size check happened to be flaky. Remove it.

* src/js/Tests.js:
(.TestSuite.prototype.testRendererProcessNativeMemorySize.step1):
(.TestSuite.prototype.testRendererProcessNativeMemorySize):

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

6 years agoUnreviewed GTK gardening,
zandobersek@gmail.com [Tue, 19 Mar 2013 16:17:58 +0000 (16:17 +0000)]
Unreviewed GTK gardening,

* platform/gtk/TestExpectations: Adding failure expectation for fast/dom/icon-url-property.html after r146173.
* platform/gtk/http/tests/security/contentSecurityPolicy/source-list-parsing-10-expected.txt: Rebaselining after r146141.

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

6 years agoWeb Inspector: Fix heap profiler performance tests.
commit-queue@webkit.org [Tue, 19 Mar 2013 16:06:42 +0000 (16:06 +0000)]
Web Inspector: Fix heap profiler performance tests.
https://bugs.webkit.org/show_bug.cgi?id=112701

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-19
Reviewed by Yury Semikhatsky.

The tests were broken by profile types refactoring.

* inspector/heap-snapshot-performance-test.js:
(test.performanceTest.step0):
(test.performanceTest.step1):

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

6 years ago[Qt] Support kerning in fast path font rendering
allan.jensen@digia.com [Tue, 19 Mar 2013 16:00:47 +0000 (16:00 +0000)]
[Qt] Support kerning in fast path font rendering
https://bugs.webkit.org/show_bug.cgi?id=106013

Reviewed by Jocelyn Turcotte.

To support kerning in the fast font path we need to implement SimpleFontData::applyTransforms.

This patch changes the types used by the fast path GlyphBuffer to match those used by Qt,
and implements SimpleFontData::applyTransforms using QRawFont::advancesForGlyphIndexes.

* platform/graphics/GlyphBuffer.h:
(GlyphBufferAdvance):
(WebCore::GlyphBufferAdvance::GlyphBufferAdvance):
(WebCore::GlyphBufferAdvance::setWidth):
(WebCore::GlyphBufferAdvance::width):
(WebCore::GlyphBufferAdvance::height):
(WebCore::GlyphBuffer::add):
* platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::applyTransforms):
* platform/graphics/WidthIterator.h:
(WebCore::WidthIterator::supportsTypesettingFeatures):

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

6 years agoWeb Inspector: split Console into two entities, a web-facing bound object and page...
commit-queue@webkit.org [Tue, 19 Mar 2013 15:54:14 +0000 (15:54 +0000)]
Web Inspector: split Console into two entities, a web-facing bound object and page console.
https://bugs.webkit.org/show_bug.cgi?id=111578

Patch by Sergey Ryazanov <serya@chromium.org> on 2013-03-19
Reviewed by Vsevolod Vlasov.

Otherwise, a lot of logging in WebCore needs to go through the DOMWindow which is unnecessary.

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* bindings/v8/custom/V8CustomXPathNSResolver.cpp:
(WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
* dom/Document.cpp:
(WebCore::Document::addConsoleMessage):
(WebCore::Document::addMessage):
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::muteConsole):
(WebCore::PageDebuggerAgent::unmuteConsole):
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::muteConsole):
(WebCore::PageRuntimeAgent::unmuteConsole):
* page/Console.cpp:
(WebCore::internalAddMessage):
* page/Console.h:
(WebCore):
(Console):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::pageConsole):
(WebCore):
(WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
(WebCore::DOMWindow::printErrorMessage):
* page/DOMWindow.h:
(WebCore):
(DOMWindow):
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
(WebCore):
(WebCore::Page::console):
(Page):
* page/PageConsole.cpp: Added.
(WebCore::PageConsole::PageConsole):
(WebCore):
(WebCore::PageConsole::~PageConsole):
(WebCore::PageConsole::printSourceURLAndLine):
(WebCore::PageConsole::printMessageSourceAndLevelPrefix):
(WebCore::PageConsole::addMessage):
(WebCore::PageConsole::mute):
(WebCore::PageConsole::unmute):
(WebCore::PageConsole::shouldPrintExceptions):
(WebCore::PageConsole::setShouldPrintExceptions):
* page/PageConsole.h: Copied from Source/WebCore/page/Console.h.
(WebCore):
(PageConsole):
(WebCore::PageConsole::create):
(WebCore::PageConsole::page):
* xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::parseString):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::XSLTProcessor::parseErrorFunc):
(WebCore::docLoaderFunc):

Source/WebKit/mac:

* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):

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

6 years ago[GTK] Fix WebKit2 builds after r146193
zandobersek@gmail.com [Tue, 19 Mar 2013 15:47:17 +0000 (15:47 +0000)]
[GTK] Fix WebKit2 builds after r146193
https://bugs.webkit.org/show_bug.cgi?id=112700

Reviewed by Martin Robinson.

Apply changes to the LayerTreeHostGtk class that are analogous to changes made in r146193
to the LayerTreeHostMac class, namely introducing a PageOverlayLayersMap and using that as
the source of GraphicsLayer objects that should be operated on, making it possible to
support multiple page overlays.

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::initialize):
(WebKit::LayerTreeHostGtk::invalidate):
(WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
(WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect):
(WebKit::LayerTreeHostGtk::sizeDidChange):
(WebKit::LayerTreeHostGtk::didInstallPageOverlay):
(WebKit::LayerTreeHostGtk::didUninstallPageOverlay):
(WebKit::LayerTreeHostGtk::setPageOverlayNeedsDisplay):
(WebKit::LayerTreeHostGtk::paintContents):
(WebKit::LayerTreeHostGtk::flushPendingLayerChanges):
(WebKit::LayerTreeHostGtk::createPageOverlayLayer):
(WebKit::LayerTreeHostGtk::destroyPageOverlayLayer):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
(LayerTreeHostGtk):

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

6 years ago[Qt] Make ImageDiff similar to Chromium's ImageDiff
allan.jensen@digia.com [Tue, 19 Mar 2013 15:39:46 +0000 (15:39 +0000)]
[Qt] Make ImageDiff similar to Chromium's ImageDiff
https://bugs.webkit.org/show_bug.cgi?id=94782

Based on patch by Csaba Osztrogonác.
Reviewed by Jocelyn Turcotte.

The diff image is generated with bright red indicating errors, but letting the base image
shine through so the context of the error-pixel can be identified.

* DumpRenderTree/qt/ImageDiff.cpp:
(main):

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

6 years ago[Qt] QStyle: Set State_Enabled by default when painting style widgets.
commit-queue@webkit.org [Tue, 19 Mar 2013 15:18:47 +0000 (15:18 +0000)]
[Qt] QStyle: Set State_Enabled by default when painting style widgets.
https://bugs.webkit.org/show_bug.cgi?id=112688

Patch by David Rosca <nowrep@gmail.com> on 2013-03-19
Reviewed by Jocelyn Turcotte.

All Qt style widgets were painted with a disabled state, even when
they actually were enabled.
This change fixes it by setting State_Enabled as a default state,
which is then correctly removed when element is disabled.

* Source/WebCore/platform/qt/RenderThemeQStyle.cpp:

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

6 years agoWeb Inspector: move OverviewGrid and OverviewWindow into separate file.
loislo@chromium.org [Tue, 19 Mar 2013 14:47:15 +0000 (14:47 +0000)]
Web Inspector: move OverviewGrid and OverviewWindow into separate file.
https://bugs.webkit.org/show_bug.cgi?id=112693

Reviewed by Yury Semikhatsky.

It is the third patch for the meta bug "Web Inspector: meta bug: extract OverviewGrid from TimelineOverviewPane"
It just moves the OverviewGrid and the related classes into its own file.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* inspector/compile-front-end.py:
* inspector/front-end/OverviewGrid.js: Added.
(WebInspector.OverviewGrid):
(WebInspector.OverviewGrid.prototype.itemsGraphsElement):
(WebInspector.OverviewGrid.prototype.insertBeforeItemsGraphsElement):
(WebInspector.OverviewGrid.prototype.clientWidth):
(WebInspector.OverviewGrid.prototype.showItemsGraphsElement):
(WebInspector.OverviewGrid.prototype.hideItemsGraphsElement):
(WebInspector.OverviewGrid.prototype.updateDividers):
(WebInspector.OverviewGrid.prototype.addEventDividers):
(WebInspector.OverviewGrid.prototype.removeEventDividers):
(WebInspector.OverviewGrid.prototype.setWindowPosition):
(WebInspector.OverviewGrid.prototype.reset):
(WebInspector.OverviewGrid.prototype.windowLeft):
(WebInspector.OverviewGrid.prototype.windowRight):
(WebInspector.OverviewGrid.prototype.setWindow):
(WebInspector.OverviewGrid.prototype.addEventListener):
(WebInspector.OverviewGrid.Window):
(WebInspector.OverviewGrid.Window.prototype.reset):
(WebInspector.OverviewGrid.Window.prototype._leftResizeElementDragging):
(WebInspector.OverviewGrid.Window.prototype._rightResizeElementDragging):
(WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
(WebInspector.OverviewGrid.Window.prototype._windowSelectorDragging):
(WebInspector.OverviewGrid.Window.prototype._endWindowSelectorDragging):
(WebInspector.OverviewGrid.Window.prototype._startWindowDragging):
(WebInspector.OverviewGrid.Window.prototype._windowDragging):
(WebInspector.OverviewGrid.Window.prototype._endWindowDragging):
(WebInspector.OverviewGrid.Window.prototype._moveWindow):
(WebInspector.OverviewGrid.Window.prototype._resizeWindowLeft):
(WebInspector.OverviewGrid.Window.prototype._resizeWindowRight):
(WebInspector.OverviewGrid.Window.prototype._resizeWindowMaximum):
(WebInspector.OverviewGrid.Window.prototype._setWindow):
(WebInspector.OverviewGrid.Window.prototype._setWindowPosition):
(WebInspector.OverviewGrid.Window.prototype._onMouseWheel):
(WebInspector.OverviewGrid.Window.prototype._zoom):
(WebInspector.OverviewGrid.WindowSelector):
(WebInspector.OverviewGrid.WindowSelector.prototype._createSelectorElement):
(WebInspector.OverviewGrid.WindowSelector.prototype._close):
(WebInspector.OverviewGrid.WindowSelector.prototype._updatePosition):
* inspector/front-end/TimelineOverviewPane.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:

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

6 years ago[Qt] Monospace font does not render in proper sizes
allan.jensen@digia.com [Tue, 19 Mar 2013 14:28:39 +0000 (14:28 +0000)]
[Qt] Monospace font does not render in proper sizes
https://bugs.webkit.org/show_bug.cgi?id=93263

Reviewed by Jocelyn Turcotte.

Do not force fonts to use integer metrics. This was necessary when the fast font path
only worked in integer but is now hindering accurate metrics. This is also required to
make kerning in the fast-path look acceptable

Only enabled for Qt 5.1+ to avoid changing all the baselines for 5.0.

* platform/graphics/qt/FontPlatformDataQt.cpp:
(WebCore::FontPlatformData::FontPlatformData):

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

6 years agoWeb Inspector: Add iframe option to inspectedWindow.eval() extension API
commit-queue@webkit.org [Tue, 19 Mar 2013 14:13:05 +0000 (14:13 +0000)]
Web Inspector: Add iframe option to inspectedWindow.eval() extension API
https://bugs.webkit.org/show_bug.cgi?id=106811

Patch by John J. Barton <johnjbarton@chromium.org> on 2013-03-19
Reviewed by Vsevolod Vlasov.

Source/WebCore:

Add a new case to the options processing in inspectedWindow.eval(), look
for option.frameURL <string> and/or option.scriptExecutionContext: <string>, find the
matching JS context in the runtimeModel, and call evaluate() in that
context; or error if the context is not found.

Test: http/tests/inspector/extensions-iframe-eval.html

* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
(WebInspector.ExtensionServer.prototype.):
(WebInspector.ExtensionServer.prototype.evaluate):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype.frames):
   Added read access to _frames
       * inspector/front-end/RuntimeModel.js:
(WebInspector.RuntimeModel.prototype.contextListByFrame):
   Added access to a frame's contextList, removed contextByFrameAndSecurityOrigin()
(WebInspector.FrameExecutionContextList.prototype.mainWorldContext):
   Added access to frame's mainWorldContext, rather than implicit first context.
   Now we can go from ResourceTreeModel -> frame -> contextList then either
   mainWorldContext() or contextBySecurityOrigin() to access contexts.

* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype.):
(WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
(WebInspector.ExtensionServer.prototype.evaluate):
* inspector/front-end/ResourceTreeModel.js:
* inspector/front-end/RuntimeModel.js:
(WebInspector.RuntimeModel.prototype.contextListByFrame):
(WebInspector.FrameExecutionContextList.prototype.mainWorldContext):

* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onReload):
(WebInspector.ExtensionServer.prototype.resolveURLToFrame.hasMatchingURL):
(WebInspector.ExtensionServer.prototype.):
(WebInspector.ExtensionServer.prototype.evaluate):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype.frames):
* inspector/front-end/RuntimeModel.js:
(WebInspector.RuntimeModel.prototype.contextListByFrame):
(WebInspector.FrameExecutionContextList.prototype.mainWorldContext):

* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype.resolveURLToFrame.hasMatchingURL):
(WebInspector.ExtensionServer.prototype.):
(WebInspector.ExtensionServer.prototype.evaluate):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype.frames):
* inspector/front-end/RuntimeModel.js:
(WebInspector.RuntimeModel.prototype.contextListByFrame):
(WebInspector.FrameExecutionContextList.prototype.mainWorldContext):

LayoutTests:

New tests for evaluate in iframe options in extension API

* http/tests/inspector/extensions-iframe-eval-expected.txt: Added.
* http/tests/inspector/extensions-iframe-eval.html: Added.
* http/tests/inspector/resources/extensions-frame-eval.html: Added.

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

6 years ago[Qt] Unreviewed gardening. Skip a failing tests after r146174 and r146178.
kadam@inf.u-szeged.hu [Tue, 19 Mar 2013 13:22:59 +0000 (13:22 +0000)]
[Qt] Unreviewed gardening. Skip a failing tests after r146174 and r146178.

* platform/qt/TestExpectations:

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

6 years agoWeb Inspector: rename TimelineOverviewWindow to OverviewGrid.Window and fix names...
loislo@chromium.org [Tue, 19 Mar 2013 12:54:56 +0000 (12:54 +0000)]
Web Inspector: rename TimelineOverviewWindow to OverviewGrid.Window and fix names for constants.
https://bugs.webkit.org/show_bug.cgi?id=112685

Reviewed by Yury Semikhatsky.

It is the second patch which extracts OverviewGrid from TimelineOverviewPane.
It renames internal components of OverviewGrid.
WebInspector.TimelineOverviewWindow -> WebInspector.OverviewGrid.Window
WebInspector.TimelineOverviewWindow.WindowSelector -> WebInspector.OverviewGrid.WindowSelector

and moves constants from WebInspector.TimelineOverviewWindow namespace to WebInspector.OverviewGrid namespace

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.OverviewGrid):
(WebInspector.OverviewGrid.Window):
(WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
(WebInspector.OverviewGrid.Window.prototype._endWindowSelectorDragging):
(WebInspector.OverviewGrid.Window.prototype._startWindowDragging):
(WebInspector.OverviewGrid.Window.prototype._windowDragging):
(WebInspector.OverviewGrid.Window.prototype._moveWindow):
(WebInspector.OverviewGrid.Window.prototype._resizeWindowRight):
(WebInspector.OverviewGrid.Window.prototype._setWindowPosition):
(WebInspector.OverviewGrid.Window.prototype._onMouseWheel):
(WebInspector.OverviewGrid.Window.prototype._zoom):
(WebInspector.OverviewGrid.WindowSelector):
(WebInspector.OverviewGrid.WindowSelector.prototype._createSelectorElement):

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

6 years agoWeb Inspector: move _timelineGrid && _timelineOverviewWindow from TimelineOverviewPan...
loislo@chromium.org [Tue, 19 Mar 2013 11:46:26 +0000 (11:46 +0000)]
Web Inspector: move _timelineGrid && _timelineOverviewWindow from TimelineOverviewPane into a new class OverviewGrid.
https://bugs.webkit.org/show_bug.cgi?id=112584

Reviewed by Pavel Feldman.

It is the first path in the set.
The end goal is to extract OverviewGrid with window selectors
into a separate class in separate file and reuse it in CPU FlameChart.

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.OverviewGrid):
(WebInspector.OverviewGrid.prototype.get grid):
(WebInspector.OverviewGrid.prototype.get clientWidth):
(WebInspector.OverviewGrid.prototype.showItemsGraphsElement):
(WebInspector.OverviewGrid.prototype.hideItemsGraphsElement):
(WebInspector.OverviewGrid.prototype.updateDividers):
(WebInspector.OverviewGrid.prototype.addEventDividers):
(WebInspector.OverviewGrid.prototype.removeEventDividers):
(WebInspector.OverviewGrid.prototype.setWindowPosition):
(WebInspector.OverviewGrid.prototype.reset):
(WebInspector.OverviewGrid.prototype.get windowLeft):
(WebInspector.OverviewGrid.prototype.get windowRight):
(WebInspector.OverviewGrid.prototype.setWindow):
(WebInspector.OverviewGrid.prototype.addEventListener):
(WebInspector.TimelineOverviewPane.prototype.setMode):
(WebInspector.TimelineOverviewPane.prototype._setFrameMode):
(WebInspector.TimelineOverviewPane.prototype._update):
(WebInspector.TimelineOverviewPane.prototype.sidebarResized):
(WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
(WebInspector.TimelineOverviewPane.prototype._reset):
(WebInspector.TimelineOverviewPane.prototype.windowLeft):
(WebInspector.TimelineOverviewPane.prototype.windowRight):
(WebInspector.TimelineOverviewPane.prototype._updateWindow):

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

6 years agoWeb Inspector: Add Inspector.targetCrashed event to Inspector protocol.
commit-queue@webkit.org [Tue, 19 Mar 2013 11:43:23 +0000 (11:43 +0000)]
Web Inspector: Add Inspector.targetCrashed event to Inspector protocol.
https://bugs.webkit.org/show_bug.cgi?id=112669

Added Inspector.targetCrashed event and handled it on the front end.
Showing a modal dialog similar to the one displayed when the remote
debugging target is disconnected.

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-03-19
Reviewed by Pavel Feldman.

* English.lproj/localizedStrings.js:
* inspector/Inspector.json:
* inspector/front-end/HelpScreen.js:
(WebInspector.HelpScreenUntilReload):
(WebInspector.HelpScreenUntilReload.prototype.willHide):
* inspector/front-end/inspector.js:
(WebInspector.targetCrashed):

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

6 years ago[Qt] Fix the build of QtTestBrowser if the print preview dialog is disabled in Qt
abecsi@webkit.org [Tue, 19 Mar 2013 11:05:28 +0000 (11:05 +0000)]
[Qt] Fix the build of QtTestBrowser if the print preview dialog is disabled in Qt

Rubber-stamped by Csaba Osztrogonác.

Check for QT_NO_PRINTPREVIEWDIALOG instead of QT_NO_PRINTER
since the latter might not cover the former.

* QtTestBrowser/launcherwindow.cpp:
(LauncherWindow::print):

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

6 years ago[GTK] Wrong guard USE(GLX) in RedirectedXCompositeWindow
mario@webkit.org [Tue, 19 Mar 2013 10:05:41 +0000 (10:05 +0000)]
[GTK] Wrong guard USE(GLX) in RedirectedXCompositeWindow
https://bugs.webkit.org/show_bug.cgi?id=112600

Reviewed by Martin Robinson.

Replace USE(GLX) condition with USE(OPENGL) && PLATFORM(X11).

* platform/gtk/RedirectedXCompositeWindow.cpp: Updated guard.
* platform/gtk/RedirectedXCompositeWindow.h: Ditto.

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