LLInt buildfix for case sensitive filesystems
https://bugs.webkit.org/show_bug.cgi?id=96099

Reviewed by Michael Saboff.

* llint/LowLevelInterpreter.cpp: Fix filenames.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Layout Tests tables/mozilla/bugs/bug27038*.html are failing
https://bugs.webkit.org/show_bug.cgi?id=93006

Unreviewed Chromium rebaselining.

The tests were not rebaselined after bug 81826 (the TestExpectations were wrongly pointing
to bug 37244). The new rebaselines are expected as we add the extra logical height to the
last section, which was our original behavior before bug 37244.


* platform/chromium-linux/tables/mozilla/bugs/bug27038-1-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug27038-2-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug27038-1-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug27038-1-expected.txt: Removed.
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug27038-2-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug27038-1-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug27038-1-expected.txt: Removed.
* platform/chromium-mac/tables/mozilla/bugs/bug27038-2-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug27038-2-expected.txt: Removed.
* platform/chromium-win/tables/mozilla/bugs/bug27038-1-expected.png:
* platform/chromium-win/tables/mozilla/bugs/bug27038-1-expected.txt:
* platform/chromium-win/tables/mozilla/bugs/bug27038-2-expected.png:
* platform/chromium-win/tables/mozilla/bugs/bug27038-2-expected.txt:
* platform/chromium/TestExpectations:
* platform/gtk/tables/mozilla/bugs/bug27038-1-expected.txt: Removed.
* platform/gtk/tables/mozilla/bugs/bug27038-2-expected.txt: Removed.
* tables/mozilla/bugs/bug27038-1-expected.txt: Renamed from LayoutTests/platform/efl/tables/mozilla/bugs/bug27038-1-expected.txt.
* tables/mozilla/bugs/bug27038-2-expected.txt: Renamed from LayoutTests/platform/efl/tables/mozilla/bugs/bug27038-2-expected.txt.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127971 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] DOM wrapper creation involves a bunch of sketchy code related to finding the Frame
https://bugs.webkit.org/show_bug.cgi?id=96147

Patch by Adam Barth <abarth@chromium.org> on 2012-09-08
Reviewed by Eric Seidel.

Source/WebCore:

Previously, we used the Frame when instantiating DOM wrappers. That's
sketchy because not all DOM wrappers know how to find their Frame, and
the Frame might be displaying a different document now anyway. This
patch now gets all the information directly from the creation context.

In addition, this patch gets the proper creation context in a few more
cases, including Location.

* bindings/scripts/CodeGeneratorV8.pm:
(GetInternalFields):
(GenerateNormalAttrGetter):
(GenerateToV8Converters):
(GenerateFunctionCallString):
(NativeToJSValue):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::Float64ArrayV8Internal::fooCallback):
(WebCore::V8Float64Array::wrapSlow):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestCallback.cpp:
(WebCore::V8TestCallback::callbackWithClass1Param):
(WebCore::V8TestCallback::callbackWithClass2Param):
(WebCore::V8TestCallback::callbackWithStringList):
(WebCore::V8TestCallback::callbackRequiresThisToPass):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::V8TestCustomNamedGetter::wrapSlow):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::TestEventTargetV8Internal::itemCallback):
(WebCore::V8TestEventTarget::wrapSlow):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore::V8TestException::wrapSlow):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
(WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
(WebCore::V8TestInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::V8TestMediaQueryListListener::wrapSlow):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::wrapSlow):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::testObjAttrAttrGetter):
(WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
(WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
(WebCore::TestObjV8Internal::contentDocumentAttrGetter):
(WebCore::TestObjV8Internal::objMethodCallback):
(WebCore::TestObjV8Internal::objMethodWithArgsCallback):
(WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjV8Internal::withScriptStateObjCallback):
(WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
(WebCore::TestObjV8Internal::getSVGDocumentCallback):
(WebCore::TestObjV8Internal::strictFunctionCallback):
(WebCore::V8TestObj::wrapSlow):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::disposeContext):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/V8DOMWrapper.h:
(V8DOMWrapper):
* bindings/v8/V8PerContextData.cpp:
(WebCore):
(WebCore::V8PerContextData::current):
(WebCore::V8PerContextData::dispose):
(WebCore::V8PerContextData::init):
* bindings/v8/V8PerContextData.h:
(V8PerContextData):

LayoutTests:

The V8 results for this test now match the JSC results. We can remove
the chromium-specific baseline.

* platform/chromium/fast/workers/storage/test-authorizer-sync-expected.txt: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127972 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Give AtomicString SimpleClassVectorTraits.
<http://webkit.org/b/96186>

Reviewed by Karl Anders Carlsson.

AtomicString can be initialized/moved/compared with memset/memcpy/memcmp,
so add a VectorTraits<AtomicString> to make Vector<AtomicString> a little
more efficient.

* wtf/VectorTraits.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Specialize nextBreakablePosition depending on breakNBSP
https://bugs.webkit.org/show_bug.cgi?id=96042

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-09-08
Reviewed by Eric Seidel.

The speed of isBreakableSpace() is limited by the speed of the inner loop of nextBreakablePosition().
The branches done to handle noBreakSpace can be simplified outside the loop
to reduce the number of tests inside the loop.

This patch split the code of nextBreakablePosition() in two function, depending if breakNBSP is true
or false.

If breakNBSP is true, isBreakableSpace() would return true on noBreakSpace.
->There is no need to test that value again for needsLineBreakIterator().
->There is no need to special case the switch() of isBreakableSpace() for noBreakSpace.

If breakNBSP is false:
->isBreakableSpace() does not need to test for noBreakSpace.

On x86_64, this improves PerformanceTests/Layout/line-layout.html by 2.8%.

* rendering/break_lines.cpp:
(WebCore::isBreakableSpace):
(WebCore::nextBreakablePositionIgnoringNBSP):
(WebCore::nextBreakablePosition):
* rendering/break_lines.h:
(WebCore::isBreakable): Remove the default value for breakNBSP, no caller is using it.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Exiting fullscreen mode can leave user stuck without Browser menus
https://bugs.webkit.org/show_bug.cgi?id=96027

Patch by Max Feil <mfeil@rim.com> on 2012-09-08
Reviewed by Antonio Gomes.

The changes for bug 87337 (landed as trunk svn revision 119119)
introduced a bug. The same conditions are not checked on enter
fullscreen vs. exit. Web sites such as http://videojs.com
and youtube's mobile HTML5 player make the div container
of the video element go fullscreen. This is allowed in
WebPagePrivate::enterFullScreenForElement() but disallowed in
WebPagePrivate::exitFullScreenForElement(). I am fixing this by
allowing containers of video elements to exit fullscreen.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127975 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] unsafeHandleToCurrentWorldContext doesn't need to exist
https://bugs.webkit.org/show_bug.cgi?id=96191

Reviewed by Kentaro Hara.

Previously, we used this function when instantiating DOM wrappers. Now
we get the context from the creationContext, so we don't need access to
this unsafe handle. This patch inlines the function into its one other
caller.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::currentWorldContext):
* bindings/v8/ScriptController.h:
(ScriptController):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127976 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] V8DOMWindowShell does not need to be RefCounted
https://bugs.webkit.org/show_bug.cgi?id=96192

Reviewed by Kentaro Hara.

V8DOMWindowShell holds a raw Frame pointer, which would point to
unallocated memory if any object that wasn't owned by the frame took a
reference to a V8DOMWindowShell. Thankfully, the only object that takes
a reference to the V8DOMWindowShell is ScriptController, which is owned
by the Frame.

This patch stops V8DOMWindowShell from being RefCounted so that no
other objects are tempted to take a reference to it in the future.

* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::create):
* bindings/v8/V8DOMWindowShell.h:
(V8DOMWindowShell):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127977 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] V8PerContextData holds m_context using a v8::Handle rather than a v8::Persistent
https://bugs.webkit.org/show_bug.cgi?id=96193

Reviewed by Kentaro Hara.

There are two types of handles in V8: Local and Persistent. We are now
permitted to keep Local handles in the heap because they get
deallocated when the C++ stack unwinds and v8::HandleScope objects are
destructed.

V8PerContextData holds its m_context using the non-specific v8::Handle
type. If we used a Local handle here, we'd have a memory safety
problem. Thankfully, we use a Persistent handle, which need to be
allocated and freed manually.

This patch makes the type of V8PerContextData::m_context more specific
to ensure that we never try to store a local handle in this variable.
This patch should not have any behavior change because we were already
storing a Persistent handle.

* bindings/v8/V8PerContextData.h:
(WebCore::V8PerContextData::create):
(WebCore::V8PerContextData::V8PerContextData):
(V8PerContextData):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] convertEventTargetToV8Object doesn't need to be overloaded
https://bugs.webkit.org/show_bug.cgi?id=96195

Reviewed by Kentaro Hara.

WTF::getPtr solves this problem for us.

* bindings/scripts/CodeGeneratorV8.pm:
(NativeToJSValue):
* bindings/v8/V8DOMWrapper.h:
(V8DOMWrapper):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127979 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

Adding expectations for two crashing tests and two regressions.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127980 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Fix build break when MEDIA_STREAM is enabled.
https://bugs.webkit.org/show_bug.cgi?id=96063

Unreviewed. Fix build break when MEDIA_STREAM is enabled.


* CMakeLists.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127981 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Unskip test cases passing reliably on the bots
https://bugs.webkit.org/show_bug.cgi?id=96204

Unreviewed EFL gardening.

Unskip test cases that are passing reliably on the
EFL build bots.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-09

* platform/efl-wk1/TestExpectations:
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127982 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Fix PLATFORM(WIN) vs. OS(WINDOWS) in various files
https://bugs.webkit.org/show_bug.cgi?id=96178

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-09
Reviewed by Kenneth Rohde Christiansen.

PLATFORM(WIN) is used in various places, where it is safe to use OS(WINDOWS) to allow
the re-use of that code path in ports beyond Safari/Windows.

* Platform/CoreIPC/BinarySemaphore.h:
(BinarySemaphore):
* Platform/CoreIPC/Connection.h:
(Connection):
* Platform/SharedMemory.h:
(Handle):
(SharedMemory):
* Platform/WorkQueue.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Fix flicker due to introduction of the fence extension.
https://bugs.webkit.org/show_bug.cgi?id=96207

Reviewed by George Staikos.

Don't immediately add fence to garbage list, so it is destroyed
after only one swap, for a set of tiles just because one tile in
the set gets a new fence, the old fence may still not be signalled
and before rendering the other tiles in the set we have to wait for it.

* WebKitSupport/BackingStoreTile.cpp:
(BlackBerry::WebKit::Fence::~Fence):
(WebKit):
* WebKitSupport/BackingStoreTile.h:
(WebKit):
(Fence):
* WebKitSupport/SurfacePool.cpp:
(BlackBerry::WebKit::SurfacePool::initialize):
(BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
(WebKit):
(BlackBerry::WebKit::SurfacePool::destroyPlatformSync):
* WebKitSupport/SurfacePool.h:
(SurfacePool):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127984 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Gardening to make the bot green
https://bugs.webkit.org/show_bug.cgi?id=96208

Unreviewed EFL gardening.

Update TestExpectations to make the EFL WK2 bot green.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-09

* platform/efl-wk2/TestExpectations:
* platform/efl-wk2/fast/events/mouseup-from-button2-expected.txt: Added. Test
needs baseline for wk2 (better output).

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127985 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Add missing files to the WebKit2 build on Windows
https://bugs.webkit.org/show_bug.cgi?id=96177

Reviewed by Kenneth Rohde Christiansen.

For the build on Windows we can re-use existing functionality from the Safari/Windows
build, such as the IPC implementation.

* Target.pri:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127986 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Enable WK2 on Windows
Fix WK2 generated forward header generation on Windows

Make sure that mkdir is called with native paths.

If on windows the path already exists, mkdir will exith with an error code. Handle
this gracefully, as it is not really an error for us.
Do not include Safari/Win specific files when building WK2 with Qt on Windows