[css exclusions] overflow:hidden undoes shape-outside offsets
https://bugs.webkit.org/show_bug.cgi?id=110349

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-04-02
Reviewed by Julien Chaffraix.

Source/WebCore:

When overflow: hidden was set on a float with shape-outside, the
offset from the shape-outside was being ignored. This was because the
float was being placed in the normal flow, causing the offsets to be
calculated differently. Since floats with shape outside behave like
positioned objects in many places, I have caused them to take the same
behavior as positioned objects in this case as well: the floats with
shape-outside do not get placed in the normal flow when overflow:
hidden is set.

Test: fast/exclusions/shape-outside-floats/shape-outside-floats-overflow-hidden.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::shouldBeNormalFlowOnly): Floats that have
    shape-outside should not be in the normal flow.

LayoutTests:

Add a test to make sure the float is properly positioned with
overflow: hidden.

* fast/exclusions/shape-outside-floats/shape-outside-floats-overflow-hidden-expected.html: Added.
* fast/exclusions/shape-outside-floats/shape-outside-floats-overflow-hidden.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[JSC] Don't create a JSValue if it's not going to be used for nullable attributes
https://bugs.webkit.org/show_bug.cgi?id=112711

Reviewed by Sam Weinig.

When nullable attributes are used, it's possible that we disregard the JSValue
when null should be returned instead. This is a waste, and we should cast the
native type to a JSValue as late as possible.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(NativeValueToLocal):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjNullableDoubleAttribute):
(WebCore::jsTestObjNullableLongAttribute):
(WebCore::jsTestObjNullableBooleanAttribute):
(WebCore::jsTestObjNullableStringAttribute):
(WebCore::jsTestObjNullableLongSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: memory instrumentation for external arrays is broken
https://bugs.webkit.org/show_bug.cgi?id=113790

Source/WebCore:

Report pointers to external arrays as retaining ones to make sure their
size is counted correctly.

Reviewed by Pavel Feldman.

Test: inspector/profiler/memory-instrumentation-external-array.html

* inspector/InspectorMemoryAgent.cpp:

Source/WTF:

Reviewed by Pavel Feldman.

* wtf/MemoryInstrumentationArrayBufferView.h: report buffer pointer as retaining one as
we know that the pointer is not broken.
(WTF::reportMemoryUsage):

LayoutTests:

Test that JS external resources size includes size of JS external arrays
created in the inspected page.

Reviewed by Pavel Feldman.

* inspector/profiler/memory-instrumentation-external-array-expected.txt: Added.
* inspector/profiler/memory-instrumentation-external-array.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147465 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: memory instrumentation for external strings is broken
https://bugs.webkit.org/show_bug.cgi?id=113788

Source/WebCore:

Reviewed by Pavel Feldman.

Native memory snapshot now provides information about JS external strings.

Test: inspector/profiler/memory-instrumentation-external-string.html

* inspector/InspectorMemoryAgent.cpp:

LayoutTests:

Test that native memory snapshot contains information about extenral strings.

Reviewed by Pavel Feldman.

* inspector/profiler/memory-instrumentation-external-string-expected.txt: Added.
* inspector/profiler/memory-instrumentation-external-string.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Create a selection from two points irregardless of the caret position.
https://bugs.webkit.org/show_bug.cgi?id=113795

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-04-02
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR276577
If we are to set both the base and extent of a selection, we should maintain the base upon setting the extent.
This prevents us from overwriting the previous calculation when setting extent.
Further, instead of setting and manipulating the selection, simply set up start and end VisiblePositions and
create a new directional selection so as to set the base and extent simultaneously.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::setSelection):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147467 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: [Timeline] warning markers are not propagated to coalesced records
https://bugs.webkit.org/show_bug.cgi?id=113789

Reviewed by Pavel Feldman.

Source/WebCore:

Test: inspector/timeline/timeline-coalescing.html

* inspector/front-end/TimelinePresentationModel.js: set childHasWarning on coalescing record if the record it replaces had warnings.
(WebInspector.TimelinePresentationModel.prototype._replaceWithCoalescedRecord):

LayoutTests:

* inspector/timeline/timeline-coalescing-expected.txt: Added.
* inspector/timeline/timeline-coalescing.html: Added.

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