[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