Layout Test media/video-source-error.html is flaky on cr-win
https://bugs.webkit.org/show_bug.cgi?id=80068

Unreviewed; test is no longer showing up on flakiness dashboard.


* platform/chromium/test_expectations.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113118 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add audit token to PHCheckInWithPluginHost
https://bugs.webkit.org/show_bug.cgi?id=83102

Reviewed by Sam Weinig.

* Plugins/Hosted/WebKitPluginHost.defs:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Unreviewed gardening: skip LayoutTest/storage/domstorage/quota.html

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Offlineasm ARM backend has a very convoluted way of saying it wants to emit a
three-operand multiply instruction
https://bugs.webkit.org/show_bug.cgi?id=83100

Reviewed by Darin Adler.

Changed the "muli"/"mulp" case to call emitArmV7() since that helper method was
already smart enough to do the Right Thing for multiply.

* offlineasm/armv7.rb:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Lots of timeouts causing Mac10.6 to exit early.
https://bugs.webkit.org/show_bug.cgi?id=83076

Unreviewed, build fix (slightly reviewed by Simon Fraser and Eric Seidel, but not approved).

Add logic to the apple mac and chromium mac code to not use
too many workers; it looks like the xserves (and possibly mac
pros) count hyperthreaded cores when they really shouldn't and
we end up using too many workers at a time; this leads to tests
thrashing and timing out.

This change is a temporary fix to make the bots happy while I
look into more profiling and other fixes.

* Scripts/webkitpy/layout_tests/port/mac.py:
(ChromiumMacPort.default_child_processes):

* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort.default_child_processes):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Crash in ~GraphicsContext3D() when init failed
https://bugs.webkit.org/show_bug.cgi?id=82992

Patch by Srikumar Bonda <srikumar.b@gmail.com> on 2012-04-03
Reviewed by Luiz Agostini.

WebKit crashes in ~GraphicsContext3D() while freeing the variables which are
not even allocated because of the init failure in GraphicsContext3D() for Qt.
In addition, Added a safety check in makeContextCurrent() before accessing
GraphicsContext3DPrivate object.

No new tests because the change is about adding null check
before accessing the variables.

* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::makeContextCurrent):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113123 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Hopefully the last build fix for Chromium Windows.

Explicitly execute new-run-webkit-tests and old-run-webkit-tests by python and perl.

* Scripts/run-webkit-tests:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make FocusController use a ComposedShadowTreeWalker, instead of ReifiedTreeTraversal APIs.
https://bugs.webkit.org/show_bug.cgi?id=82694

Reviewed by Dimitri Glazkov.

Rewrite a focus controller so that it uses ComposedShadowTreeWalker
since that is a preferred way to traverse composed shadow tree.
I'll get rid of ReifiedTreeTraversal in follow-up patches, which is now deprecated.

No new tests. No change in functionality.

* page/FocusController.cpp:
(WebCore::walkerFrom):
(WebCore):
(WebCore::walkerFromNext):
(WebCore::walkerFromPrevious):
(WebCore::nextNode):
(WebCore::previousNode):
(WebCore::FocusController::findNodeWithExactTabIndex):
(WebCore::nextNodeWithGreaterTabIndex):
(WebCore::previousNodeWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113125 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make it possible to install the JavaScriptCore test tools.

Part of <rdar://problem/11158607>.

Reviewed by Filip Pizlo.

* JavaScriptCore.xcodeproj/project.pbxproj: Introduce an aggregate target named
Test Tools that builds testapi, minidom and testRegExp. Switch All from depending on
those targets individually to depending on the new aggregate target.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113126 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Prevent spellchecking text pasted to an element having spellchecking disabled
https://bugs.webkit.org/show_bug.cgi?id=81323

Reviewed by Hajime Morita.

This change prevent calling SpellChecker::requestCheckingFor when pasting text
to an element whose spellcheck attribute is false or a password input.

Source/WebCore:

Test: editing/spelling/spellcheck-paste-disabled.html

* editing/Editor.cpp:
(WebCore::Editor::replaceSelectionWithFragment): Disabled spellchecking on password inputs.
* editing/SpellChecker.cpp:
(WebCore::SpellChecker::isCheckable): Return false when spellchecking is disabled.

LayoutTests:

* editing/spelling/spellcheck-paste-disabled-expected.txt: Added.
* editing/spelling/spellcheck-paste-disabled.html: Added.
* platform/efl/Skipped: Skipped due to the lack of requestCheckingOfString().
* platform/gtk/Skipped: ditto.
* platform/mac-leopard/Skipped: ditto.
* platform/mac-lion/Skipped: ditto.
* platform/mac-wk2/Skipped: ditto.
* platform/qt/Skipped: ditto.
* platform/win-wk2/Skipped: ditto.
* platform/win/Skipped: ditto.
* platform/wincairo/Skipped: ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
I don't know why I'm so sloppy today. Another build fix.

* Scripts/run-webkit-tests:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113128 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update baselines for failing svg tests ...

Reviewed by NOBODY (OOPS!).

* platform/chromium-mac-leopard/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt: Removed.
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt: Removed.
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt: Removed.
* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113129 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update another baseline for a failing chromium SL svg test (and mark it flaky).

Unreviewed, expectations change.

* platform/chromium-mac-snowleopard/svg/text/ems-display-none-expected.txt: Removed.
* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113130 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Out-of-process font loading garbles text
https://bugs.webkit.org/show_bug.cgi?id=83002

Reviewed by Kent Tamura.

Initialize m_CTFont by using m_cgFont in FontPlatformData when we use
out-of-process font loading.

No new tests. This problem only occurs when the user uses a third party
font management software like Font Explorer so it is difficult to add
tests.

* platform/graphics/chromium/CrossProcessFontLoading.mm:
(WebCore):
(WebCore::FontPlatformData::loadFont): If font loading fails, set null to outNSFont so that the FontPlatformData won't be used.
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::ctFont): Modified to return the appropriate NSFont object when the font from the browser process.
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::createFontPlatformData): Returns null when the generated FontPlatformData object doesn't have NSFont object.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Allow the old WebKit2 drawing model to host layers in the window server
<rdar://problem/11170525>
https://bugs.webkit.org/show_bug.cgi?id=83101

Reviewed by Anders Carlsson.

* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::layerHostingModeDidChange):
* UIProcess/DrawingAreaProxyImpl.h:
(DrawingAreaProxyImpl):
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::setLayerHostingMode):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/LayerTreeHost.h:
(LayerTreeHost):
(WebKit::LayerTreeHost::setLayerHostingMode):
* WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
(LayerTreeHostCAMac):
* WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
(WebKit::LayerTreeHostCAMac::platformInitialize):
(WebKit::LayerTreeHostCAMac::setLayerHostingMode):
Pipe layer hosting mode to the old drawing area.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113133 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sigh... this isn't going well. I can't even reproduce this issue locally.
Another speculative fix.

* Scripts/run-webkit-tests:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113134 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][WK2] Assert on startup after r113090
https://bugs.webkit.org/show_bug.cgi?id=83111

Reviewed by Noam Rosenthal.

Source/WebCore:

Add willBeDestroyed to to GraphicsLayerTextureMapper.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::~GraphicsLayerTextureMapper):
(WebCore):
(WebCore::WebGraphicsLayer::willBeDestroyed):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(GraphicsLayerTextureMapper):

Source/WebKit2:

Add willBeDestroyed to to WebGraphicsLayer.

* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::~WebGraphicsLayer):
(WebCore):
(WebCore::WebGraphicsLayer::willBeDestroyed):
* WebProcess/WebCoreSupport/WebGraphicsLayer.h:
(WebGraphicsLayer):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113135 268f45cc-cd09-0410-ab3c-d52691b4dbfc
jsr/sret should be removed
https://bugs.webkit.org/show_bug.cgi?id=82986
<rdar://problem/11017015>

Reviewed by Sam Weinig and Geoff Garen.
        
Replaces jsr/sret with finally block inlining.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::pushFinallyContext):
(JSC::BytecodeGenerator::emitComplexJumpScopes):
(JSC):
* bytecompiler/BytecodeGenerator.h:
(FinallyContext):
(BytecodeGenerator):
* bytecompiler/NodesCodegen.cpp:
(JSC::TryNode::emitBytecode):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompile):
* jit/JIT.h:
(JIT):
* jit/JITOpcodes.cpp:
(JSC):
* jit/JITOpcodes32_64.cpp:
(JSC):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113136 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Disable ENABLE_DATALIST for now
https://bugs.webkit.org/show_bug.cgi?id=82871

Reviewed by Kent Tamura.

.:

We should disable ENABLE_DATALIST because
- We need platform-dependent implementation, and non-BlackBerry platforms don't have it.
- We need to hide the content of <datalist>, but it is shown for now.

* Source/cmake/OptionsEfl.cmake: Disabled ENABLE_DATALIST.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.

Tools:

* Scripts/build-webkit: Disabled ENABLE_DATALIST.

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.vsprops: Disabled ENABLE_DATALIST.

LayoutTests:

Moved datalist tests into directory fast/forms/datalist and added it to Skipped files.

* fast/forms/datalist/datalist-expected.txt: Moved from LayoutTests/fast/forms/datalist-expected.txt.
* fast/forms/datalist/datalist-nonoption-child-expected.txt: Moved from LayoutTests/fast/forms/datalist-nonoption-child-expected.txt.
* fast/forms/datalist/datalist-nonoption-child.html: Moved from LayoutTests/fast/forms/datalist-nonoption-child.html.
* fast/forms/datalist/datalist.html: Moved from LayoutTests/fast/forms/datalist.html.
* fast/forms/datalist/input-list-expected.txt: Moved from LayoutTests/fast/forms/input-list-expected.txt.
* fast/forms/datalist/input-list.html: Moved from LayoutTests/fast/forms/input-list.html.
* fast/forms/datalist/input-selectedoption-expected.txt: Moved from LayoutTests/fast/forms/input-selectedoption-expected.txt.
* fast/forms/datalist/input-selectedoption.html: Moved from LayoutTests/fast/forms/input-selectedoption.html.
* platform/chromium/test_expectations.txt:
* platform/efl/Skipped:
* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113137 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash in WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel
https://bugs.webkit.org/show_bug.cgi?id=82873

Reviewed by David Levin.

Source/WebCore:

WorkerThreadableWebSocketChannel::Bridge should properly handle the cases where inter-thread
callback is not called due to the termination of the worker run loop. Specifically, the bridge
should not send its "this" pointer to the main thread, because the bridge object may be freed
in the worker thread before the main thread starts to process.

Test: http/tests/websocket/tests/hybi/workers/worker-reload.html

* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
(WebCore::ThreadableWebSocketChannelClientWrapper::peer):
(WebCore::ThreadableWebSocketChannelClientWrapper::didCreateWebSocketChannel):
Renamed from setUseHixie76Protocol, as this funtion now also sets m_peer.
Sets m_syncMethodDone to true, because this function is called in the end of
synchronous wait of Bridge::initialize().
(WebCore::ThreadableWebSocketChannelClientWrapper::clearPeer):
(WebCore::ThreadableWebSocketChannelClientWrapper::useHixie76Protocol):
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
Add WorkerThreadableWebSocketChannel::Peer which is initialized after the creation of
WebSocketChannel in the main thread.
(ThreadableWebSocketChannelClientWrapper):
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
Don't do synchronous wait in the constructor, as a member function may be called
during the wait before the constructor finishes. The meat of the constructor has
moved to initialize() function.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::~Bridge):
(WorkerContextDidInitializeTask):
(WebCore::WorkerContextDidInitializeTask::create):
(WebCore::WorkerContextDidInitializeTask::~WorkerContextDidInitializeTask):
(WebCore::WorkerContextDidInitializeTask::WorkerContextDidInitializeTask):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
Don't pass "this" object to the main thread. Receive the pointer to the peer object
via ThreadableWebSocketChannelClientWrapper which is ThreadSafeRefCounted<>.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
m_peer may be NULL, and we should not do anything in that case.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::mainThreadClose):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
(WorkerThreadableWebSocketChannel):
(WebCore::WorkerThreadableWebSocketChannel::refThreadableWebSocketChannel):
(WebCore::WorkerThreadableWebSocketChannel::derefThreadableWebSocketChannel):
(Bridge):
* workers/DefaultSharedWorkerRepository.cpp:
(SharedWorkerProxy):
(WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
* workers/WorkerLoaderProxy.h:
(WorkerLoaderProxy::postTaskForModeToWorkerContext):
Return bool to indicate whether postTask was successful or not. This is necessary
to avoid memory leaks of Peer object in Bridge::initialize() function.
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
* workers/WorkerMessagingProxy.h:
(WorkerMessagingProxy):

Source/WebKit/chromium:

Change the function signature of WorkerLoaderProxy::postTaskForModeToWorkerContext().

* src/WebSharedWorkerImpl.cpp:
(WebKit::WebSharedWorkerImpl::postTaskForModeToWorkerContext):
* src/WebSharedWorkerImpl.h:
(WebSharedWorkerImpl):
* src/WebWorkerClientImpl.cpp:
(WebKit::WebWorkerClientImpl::postTaskForModeToWorkerContext):
* src/WebWorkerClientImpl.h:
(WebWorkerClientImpl):

LayoutTests:

* http/tests/websocket/tests/hybi/workers/resources/worker-reload-iframe.html: Added.
* http/tests/websocket/tests/hybi/workers/resources/worker-reload.js: Added.
* http/tests/websocket/tests/hybi/workers/worker-reload-expected.txt: Added.
* http/tests/websocket/tests/hybi/workers/worker-reload.html: Added.


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