Set task priority of WebKit2 processes to zero on Mac
https://bugs.webkit.org/show_bug.cgi?id=102567

Patch by Kiran Muppala <cmuppala@apple.com> on 2012-11-16
Reviewed by Mark Rowe.

Explicitly set task priority of WebKit2 processes to zero, to
override automatic priority determination by the system.

* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::ChildProcess): Add call to platformInitialize() and
move MAC specific call to disableProcessSuppression to platformInitialize.
(WebKit::ChildProcess::platformInitialize): Dummy for non MAC platforms.
* Shared/ChildProcess.h:
* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::platformInitialize): Add call to setpriority().

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Exploit shared attribute data to avoid parsing identical "style" attributes.
<http://webkit.org/b/101163>

Reviewed by Antti Koivisto.

Track the "inline style dirty" state on ElementAttributeData instead of in a Node flag.
This allows us to avoid duplicate work for ElementAttributeData that are shared between multiple elements,
since the state is no longer per-Element.

* css/StyleResolver.cpp:
(WebCore::isCacheableInMatchedPropertiesCache):

    Disable the matched properties cache for styles with non-standard writing-mode.
    This is necessary because some CSS properties have different meaning depending on context -
    properties handled by CSSProperty::resolveDirectionAwareProperty().

    Now that multiple elements may have identical inlineStyle() pointers, this is necessary to
    avoid mapping StylePropertySets with direction-aware properties to RenderStyles with differing
    writing-modes in the matched properties cache.

* dom/Node.h:
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::ElementAttributeData):
* dom/ElementAttributeData.h:
(WebCore::ElementAttributeData::ElementAttributeData):
(ElementAttributeData):
* dom/Element.h:
(WebCore::Element::updateInvalidAttributes):
* dom/Element.cpp:
(WebCore::Element::getAttribute):
(WebCore::Element::removeAttribute):
* dom/StyledElement.h:
(WebCore::StyledElement::invalidateStyleAttribute):
* dom/StyledElement.cpp:
(WebCore::StyledElement::updateStyleAttribute):

    Move "style attribute dirty" flag to ElementAttributeData.

(WebCore::Element::cloneAttributesFromElement):

    Remove ugly optimization to avoid reparsing inline style when cloning elements. This now happens
    automagically since cloning nodes just refs the original attribute data.

* dom/StyledElement.cpp:
(WebCore::StyledElement::updateStyleAttribute):
(WebCore::StyledElement::setInlineStyleFromString):
(WebCore::StyledElement::styleAttributeChanged):
(WebCore::StyledElement::inlineStyleChanged):

    Avoid reparsing the inline style if the element's attribute data is immutable and already has
    a parsed inlineStyle(). Split the set-inline-style-from-string code out of styleAttributeChanged()
    to make the code more understandable.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add tests for explicit serialization values
https://bugs.webkit.org/show_bug.cgi?id=96818

Reviewed by Adam Barth.

Source/WebCore:

Expose direct access to the serialization/deserialization mechanisms
of SerializedScriptValue to DumpRenderTree.

* testing/Internals.cpp:
(WebCore::Internals::serializeObject):
(WebCore):
(WebCore::Internals::deserializeBuffer):
* testing/Internals.h:
(WebCore):
* testing/Internals.idl:

Source/WebKit2:

Add exports for SerializedScriptValue changes.

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests:

Make sure SerializedScriptValues are backward compatible with future changes.

* platform/chromium/fast/storage/serialized-script-value.html: Added.
* platform/chromium/fast/storage/serialized-script-value.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Eliminate ancestor tree walk computing outlineBoundsForRepaint() when updating layer positions
https://bugs.webkit.org/show_bug.cgi?id=101874

Reviewed by Dave Hyatt.

Source/WebCore:

RenderLayer::updateLayerPositions() and updateLayerPositionsAfterScroll() spend a
lot of time in computeRepaintRects(), which does two ancestor tree walks, once
for clippedOverflowRectForRepaint(), and one for outlineBoundsForRepaint().

Eliminate the ancestor tree walk in outlineBoundsForRepaint() by maintaining
a RenderGeometryMap as we traverse the layer tree, and then using it to map
the outline bounds to the repaint container. Replace the hokey cached offsetFromRoot
now that the RenderGeometryMap can do a better job.

The clipped overflow rect cannot be mapped simply, so cannot yet make use of
the geometry map.

Modify the RenderGeometryMap to support mapping to some repaintContainer ancestor.
Add a RenderObject walk that is necessary to detect flipped writing mode blocks.

Pass the RenderGeometryMap as an optional parameter to outlineBoundsForRepaint.

* page/FrameView.cpp:
(WebCore::FrameView::layout): Make a RenderGeometryMap and pass it down
to updateLayerPositions(). For partial layouts, we have to push layers
between the root and the enclosing layer of the layout subtree.
The geometry map used for repainting does not use SnapOffsetForTransforms,
so initialize it explicitly with just the UseTransforms flag.
(WebCore::FrameView::repaintFixedElementsAfterScrolling): Make a RenderGeometryMap
to pass along to updateLayerPositionsAfterScroll().
* rendering/RenderBox.cpp:
(WebCore::RenderBox::outlineBoundsForRepaint): Replace the optional cachedOffsetToRepaintContainer
parameter with an optional RenderGeometryMap, and it use to map the compute rect to
repaintContainer coordinates.
* rendering/RenderBox.h:
* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::RenderGeometryMap): This now has to store the mapping
flags to use, so that its behavior can match that of mapLocalToContainer(). The
pertinent flag is the confusingly named SnapOffsetForTransforms.
(WebCore::RenderGeometryMap::absolutePoint): Call the new mapToContainer() with
a null container.
(WebCore::RenderGeometryMap::absoluteRect): Ditto.
(WebCore::RenderGeometryMap::mapToContainer): Map to the supplied container,
asserting that we found it. Add point- and rect-based mapping methods
akin to the old absoluteRect/absolutePoint.
(WebCore::canMapViaLayer): We need to test for isRenderFlowThread() here too.
(WebCore::RenderGeometryMap::pushMappingsToAncestor): When mapping via
layers, ensure that the RenderView is pushed as the first step.
* rendering/RenderGeometryMap.h:
(RenderGeometryMap):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositionsAfterLayout): New wrapper for updateLayerPositions()
that makes the geometry map.
(WebCore::RenderLayer::updateLayerPositionsAfterScroll): New wrapper for updateLayerPositionsAfterScroll
that makes the geometry map.
(WebCore::RenderLayer::updateLayerPositions): Now takes an optional RenderGeometryMap.
Remove the old offsetFromRoot code. Push and pop layers to/from the geometry map. Use
the geometry map to get the offsetFromRoot as needed by overflow controls. Pass
it to computeRepaintRects().
(WebCore::RenderLayer::computeRepaintRects): Pass the geometry map to outlineBoundsForRepaint().
(WebCore::RenderLayer::updateLayerPositionsAfterScroll): Push and pop to/from the
geometry map, and pass it to computeRepaintRects().
(WebCore::RenderLayer::removeOnlyThisLayer): Remove the offsetFromRootBeforeMove
computation; this could use a geometry map in future if it is shown to be a bottleneck.
* rendering/RenderLayer.h:
(WebCore::RenderLayer::canUseConvertToLayerCoords): It was thought that the isComposited()
was there because the older cached offsetFromRoot logic was sensitive to compositing,
but convertToLayerCoords() is not affected by compositing so this check is not needed,
and actually harmful.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::OverlapMap::OverlapMap): The geometry map
used for overlap testing should not use SnapOffsetForTransforms, so initialize
it explicitly with just the UseTransforms flag.
* rendering/RenderObject.h:
(WebCore::RenderObject::outlineBoundsForRepaint):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
* rendering/svg/RenderSVGModelObject.h:
(RenderSVGModelObject):

LayoutTests:

In debug, skip tests that assert because of LayoutUnit truncation.

* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the windows build.

Patch by Sam Weinig <weinig@apple.com> on 2012-11-16

* WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setPrivateBrowsingEnabled):
(WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::defaultCookieStorage):
* WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
(WebFrameNetworkingContext):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/win/WebPageWin.cpp:
(WebKit::cachedResponseForURL):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/win/WebProcessWin.cpp:
(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformClearResourceCaches):
(WebKit::WebProcess::platformInitializeWebProcess):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Assert hit when getting non-existent object store in version change transaction
https://bugs.webkit.org/show_bug.cgi?id=102547

Reviewed by Tony Chang.

Source/WebCore:

Code did not account for the not-found case in "versionchange" transactions, where all
object stores are implicitly in scope.

Test: storage/indexeddb/object-lookups-in-versionchange.html

* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::objectStore):

LayoutTests:

Regression test - make sure that .objectStore() and .index() fail on unknown names
in "versionchange" transactions.

* storage/indexeddb/object-lookups-in-versionchange-expected.txt: Added.
* storage/indexeddb/object-lookups-in-versionchange.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: setVersion excision batch 10
https://bugs.webkit.org/show_bug.cgi?id=102565

Reviewed by Tony Chang.

* storage/indexeddb/mozilla/resources/versionchange.js: Removed.
  Very similar to a lot of our other tests.

* storage/indexeddb/resources/set_version_queue.js: Removed.
  Tests 4 already-open connections calling setVersion, no longer
  applicable. Though something similar will be set up when we
  implement 4.1.3#Note2:
  if two databases with the same name and origin, but with different
  versions, are being opened at the same time, the one with the highest
  version will attempt to be opened first.

* storage/indexeddb/resources/setversion-blocks-open.js: Removed.
  Tests the same thing as version-change-exclusive, even though
  version-change-exclusive's description had been inaccurate.

* storage/indexeddb/resources/setversion-blocks-setversion.js: Removed.
  Behavior under test is no longer possible. (multiple setVersion
  calls from same connection.)

* storage/indexeddb/resources/shared.js:
(indexedDBTest):
Added another optional parameter for version-change-exclusive.

* storage/indexeddb/resources/three-setversion-calls.js: Removed.
  Behavior under test is no longer possible. (multiple setVersion
  calls from same connection.)

* storage/indexeddb/resources/two-version-changes.js: Removed.
  Behavior under test is no longer possible. (multiple setVersion
  calls from same connection.)

* storage/indexeddb/resources/version-change-abort.js:
  Straightforward conversion.

* storage/indexeddb/resources/version-change-exclusive.js:
  The previous description didn't accurately describe the test.

--Corresponding .html and -expected files also removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix overlay scrollbar painting in compositing layers
https://bugs.webkit.org/show_bug.cgi?id=102442

Reviewed by Beth Dakin.

There were two issues with overlay scrollbar painting in
compositing layers.

First, we'd only ever call setContainsDirtyOverlayScrollbars()
on the RenderView's layer, even when encountering an overlay scrollbar
in some descendant compositing layer. This meant that we'd never
run the paintOverlayScrollbars() code for those child compositing
layers, so sometimes scrollbars were missing there.

Even after fixing that, we would fail to render scrollbars that
were not in the composited RenderLayer itself. This happened because
we called into RenderLayer::paintOverlayScrollbars(), which called
paintLayer() with flags that only said to paint the overlay scrollbars
but not any descendants, so this paint path would not walk child
RenderLayers.

Also remove the containsScrollableAreaWithOverlayScrollbars() flag on
ScrollView which is no longer used.

* platform/ScrollView.cpp:
(WebCore::ScrollView::ScrollView): Remove containsScrollableAreaWithOverlayScrollbars().
(WebCore::ScrollView::paint): Remove setting of m_containsScrollableAreaWithOverlayScrollbars.
* platform/ScrollView.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintOverflowControls): Call setContainsDirtyOverlayScrollbars()
on the compositing ancestor or the root.
Remove call to setContainsScrollableAreaWithOverlayScrollbars().
(WebCore::RenderLayer::paintOverlayScrollbars): When painting overlay
scrollbars, no need to say we have transparency, and no need to use
temporary clip rects.
(WebCore::RenderLayer::paintLayer): The PaintLayerPaintingOverlayScrollbars
check here was only needed because the compositing entrypoint to painting
overlay scrollbars went via paintLayer(), which isn't normally used as
a composited painting entry point. Now that we no longer call that, we
don't need this special check.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer): Jump into overlay scrollbar
painting via paintLayerContents(), not paintOverlayScrollbars(), since
the latter does not traverse sublayers.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r134817.
http://trac.webkit.org/changeset/134817
https://bugs.webkit.org/show_bug.cgi?id=102576

Broke iframes and causing tons of crashes on ClusterFuzz
(Requested by inferno-sec on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-16

* dom/ContainerNode.cpp:
(WebCore::willRemoveChildren):
* dom/ContainerNodeAlgorithms.cpp:
(WebCore::ChildFrameDisconnector::collectDescendant):
* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::~ChildFrameDisconnector):
(ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::collectDescendant):
(WebCore::ChildFrameDisconnector::disconnect):
* dom/Node.cpp:
* dom/Node.h:
(Node):
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
(NodeRareData):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::setContentFrame):
(WebCore::HTMLFrameOwnerElement::disconnectContentFrame):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Add conversion between WebTransformation and gfx::Transform
https://bugs.webkit.org/show_bug.cgi?id=102575

Reviewed by James Robinson.

* chromium/public/WebTransformationMatrix.h:
(WebTransformationMatrix):
(WebKit::WebTransformationMatrix::WebTransformationMatrix):
(WebKit::WebTransformationMatrix::operator=):
(WebKit::WebTransformationMatrix::operator gfx::Transform):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline some editing tests.

* platform/mac-wk2/editing/selection/caret-ltr-right-expected.txt: Removed.
* platform/mac-wk2/editing/selection/caret-rtl-right-expected.txt: Removed.
* platform/mac/TestExpectations:
* platform/mac/editing/pasteboard/innerText-inline-table-expected.txt:
* platform/mac/editing/selection/iframe-expected.txt:
* platform/mac/editing/selection/inline-table-expected.txt:
* platform/mac/editing/selection/table-caret-3-expected.txt:

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

* platform/mac-wk2/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
* platform/mac-wk2/svg/zoom/page/zoom-svg-through-object-with-huge-size-expected.txt:
* platform/mac-wk2/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Avoid calling the virtual isBlockFlow() in RenderBox::computeRectForRepaint()
https://bugs.webkit.org/show_bug.cgi?id=102581

Reviewed by Dan Bernstein.

isBlockFlow() is a virtual function call, and shows up in profiles of
Facebook pages as called from RenderBox::computeRectForRepaint().

It's faster to do the hasColumns() bit-check first. Also replace
a call to layer() with the hasLayer() bit-check.

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Remove unnecessary #include statemtns
https://bugs.webkit.org/show_bug.cgi?id=102577

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-11-16
Reviewed by Anders Carlsson.

ewk_*_private.h doesn't need to include RefCounted.h after Ewk_Object refactoring.

* UIProcess/API/efl/ewk_auth_request_private.h:
* UIProcess/API/efl/ewk_database_manager.cpp:
* UIProcess/API/efl/ewk_file_chooser_request_private.h:
* UIProcess/API/efl/ewk_form_submission_request_private.h:
* UIProcess/API/efl/ewk_navigation_data_private.h:
* UIProcess/API/efl/ewk_resource_private.h:
* UIProcess/API/efl/ewk_storage_manager.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Improve the performance of rect transform
https://bugs.webkit.org/show_bug.cgi?id=101828

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-11-16
Reviewed by Simon Fraser.

Mapping a rect and a quad by a transform is a common operation because
we use it to recompute the repaint rect, overflow rect, etc.

The way it was done, is by transforming through mapRect()->mapQuad()->4 times mapPoint().
Each of those functions tests isIdentityOrTranslation() which has to read the whole matrix
and perform many comparison.
Because of that, the simple mapping of a rect was loading and checking the matrix 5 times
too many.

This patch just cut the intermediary calls.

On ARM, putting the operation together also has the advantage of loading the matrix
only once in registers and reusing it for every point.

* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::mapPoint):
(WebCore::TransformationMatrix::mapRect):
* platform/graphics/transforms/TransformationMatrix.h:
(WebCore):
(WebCore::TransformationMatrix::mapPointImpl): New convenience function to perform the
point project without doing isIdentityOrTranslation().


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix for !USE(ACCELERATED_COMPOSITING) after r135029.

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Soup] CredentialStorage should only be used for HTTP-family requests
https://bugs.webkit.org/show_bug.cgi?id=102582

Reviewed by Gustavo Noronha Silva.

Do not use CredentialStorage when handling non-HTTP family requests. CredentialStorage
only expects to handle requests in the HTTP family.

No new tests. This is covered by existing tests.

* platform/network/ResourceHandle.h:
(ResourceHandle): Add a shouldUseCredentialStorage helper to ResourceHandle. This
helper returns false when firstRequest() is a non-HTTP family request.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::applyAuthenticationToRequest): Use the new helper.
(WebCore::createSoupRequestAndMessageForHandle): Ditto.
(WebCore::ResourceHandle::start): Ditto.
(WebCore::ResourceHandle::shouldUseCredentialStorage): Ditto.
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Ditto.
(WebCore::ResourceHandle::receivedCredential): Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Given a PutById or GetById with a proven structure, the DFG should be able to emit a PutByOffset or GetByOffset instead
https://bugs.webkit.org/show_bug.cgi?id=102327

Reviewed by Mark Hahnenberg.

If the profiler tells us that a GetById or PutById may be polymorphic but our
control flow analysis proves that it isn't, we should trust the control flow
analysis over the profiler. This arises in cases where GetById or PutById were
inlined: the inlined function may have been called from other places that led
to polymorphism, but in the current inlined context, there is no polymorphism.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFor):
(JSC):
* bytecode/GetByIdStatus.h:
(JSC::GetByIdStatus::GetByIdStatus):
(GetByIdStatus):
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFor):
(JSC):
* bytecode/PutByIdStatus.h:
(JSC):
(JSC::PutByIdStatus::PutByIdStatus):
(PutByIdStatus):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::bestProvenStructure):
(AbstractValue):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
(ConstantFoldingPhase):
* dfg/DFGNode.h:
(JSC::DFG::Node::convertToGetByOffset):
(Node):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::hasStorageResult):
* runtime/JSGlobalObject.h:
(JSC::Structure::prototypeChain):
(JSC):
(JSC::Structure::isValid):
* runtime/Operations.h:
(JSC::isPrototypeChainNormalized):
(JSC):
* runtime/Structure.h:
(Structure):
(JSC::Structure::transitionDidInvolveSpecificValue):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: http/tests/inspector/stacktraces/* are flakey in JSC
https://bugs.webkit.org/show_bug.cgi?id=102380

Reviewed by Yury Semikhatsky.

The inspector stacktrace tests are quite flakey at the moment under JSC.
This patch drops detail out of the test that a) isn't relevent to what's
being tested, and b) varies under JSC for no discernable reason. A side
benifit of this change is that we can drop most platform-specific test
results, as we're now only looking at data that JSC and V8 agree upon.

* http/tests/inspector/stacktraces/csp-injected-content-warning-contains-stacktrace-expected.txt:
* http/tests/inspector/stacktraces/csp-inline-warning-contains-stacktrace-expected.txt:
* http/tests/inspector/stacktraces/csp-setInterval-warning-contains-stacktrace-expected.txt:
* http/tests/inspector/stacktraces/csp-setTimeout-warning-contains-stacktrace-expected.txt:
    Reset tests based on the new level of detail.
* http/tests/inspector/stacktraces/resources/stacktrace-test.js:
(test.addMessage):
(test):
    Limit the detail of the output to the top frame of the stack, and
    drop the column number (which was always 0 in JSC).
* platform/chromium/http/tests/inspector/stacktraces/csp-injected-content-warning-contains-stacktrace-expected.txt: Removed.
* platform/chromium/http/tests/inspector/stacktraces/csp-setInterval-warning-contains-stacktrace-expected.txt: Removed.
* platform/chromium/http/tests/inspector/stacktraces/csp-setTimeout-warning-contains-stacktrace-expected.txt: Removed.
    Dropping these platform-specific tests, as this patch limits the test
    output detail to a subset that V8 and JSC agree upon.
* platform/chromium/http/tests/inspector/stacktraces/csp-inline-warning-contains-stacktrace-expected.txt:
    Can't drop this one, sadly.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
8bit-unaware String usage in NetscapePluginModuleX11.cpp
https://bugs.webkit.org/show_bug.cgi?id=102482

Reviewed by Michael Saboff.

String::fromUTF8 is not guaranteed to give a 16 bit string.

* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::truncateToSingleLine): Do an explicit 16 bit conversion.

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