Merge pull request #3 from matt-langston/javascriptcore_jsexport_api

Merge in WebKit master branch.
Merge pull request #4 from matt-langston/javascriptcore_jsexport_api

Update diagram of JSVirtualMachine memory management architecture.
Unreviewed, rolling out r154416.
http://trac.webkit.org/changeset/154416
https://bugs.webkit.org/show_bug.cgi?id=120147

Broke Windows builds (Requested by rniwa on #webkit).

Source/JavaScriptCore:

* JavaScriptCore.vcxproj/JavaScriptCoreGenerated.make:
* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/LLIntAssembly.make:
* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh:
* JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/LLIntDesiredOffsets.make:
* JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/build-LLIntDesiredOffsets.sh:
* JavaScriptCore.vcxproj/build-generated-files.sh:

Source/WebCore:

* WebCore.vcxproj/WebCoreGenerated.make:
* WebCore.vcxproj/WebCoreGeneratedWinCairo.make:
* WebCore.vcxproj/WebCoreGeneratedWinCairoCommon.props:
* WebCore.vcxproj/build-generated-files.sh:
* WebCore.vcxproj/copyForwardingHeaders.cmd:
* WebCore.vcxproj/copyWebCoreResourceFiles.cmd:

Source/WebKit:

* WebKit.vcxproj/WebKit/WebKitPostBuild.cmd:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorBuildCmd.cmd:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPostBuild.cmd:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPreBuild.cmd:

Source/WTF:

* WTF.vcxproj/WTFGenerated.make:
* WTF.vcxproj/build-generated-files.sh:

WebKitLibraries:

* win/tools/vsprops/common.props:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154436 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update Mac test expectations.

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154437 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge pull request #5 from matt-langston/javascriptcore_jsexport_api

Merge with webkit/master. All 45 unit tests pass.
[CSS Grid Layout] Refactor testing code
https://bugs.webkit.org/show_bug.cgi?id=119552

Reviewed by Darin Adler.

Based on Blink r148922 & r149060 by <jchaffraix@chromium.org>

The old testing code was a huge copy&paste of big testing code
blocks. Refactor it in some new utility functions so that we could
reduce the size of the layout test file and ease the maintenance.

* fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
* fast/css-grid-layout/grid-item-column-row-get-set.html:
* fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
* fast/css-grid-layout/grid-item-end-after-get-set.html:
* fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
* fast/css-grid-layout/grid-item-start-before-get-set.html:
* fast/css-grid-layout/resources/grid-item-column-row-parsing-utils.js: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ASSERTION FAILED: extractedStyle in WebCore::ApplyStyleCommand::removeInlineStyleFromElement
https://bugs.webkit.org/show_bug.cgi?id=119672

Reviewed by Darin Adler.

Source/WebCore:

The last extractedStyle parameter of removeInlineStyleFromElement() is not mandatory and it's set
to default 0. This way we have to check its existence before the usage.

Test: editing/execCommand/extracted_style_assert.html

* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement):

LayoutTests:

Test with NULL extractedStyle.

* editing/execCommand/extracted_style_assert-expected.txt: Added.
* editing/execCommand/extracted_style_assert.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Introduce toSVGRadialGradientElement(), and use it
https://bugs.webkit.org/show_bug.cgi?id=120153

Reviewed by Andreas Kling.

As a step to clean-up static_cast<SVGXXX>, toSVGRadialGradientElement() is added to clean-up
static_cast<SVGRadialGradientElement*>.

* rendering/svg/RenderSVGResourceRadialGradient.cpp:
(WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGResourceContainer):
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::collectGradientAttributes):
* svg/SVGRadialGradientElement.h:
(WebCore::toSVGRadialGradientElement):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION: Assertion failure !collection->hasExactlyOneItem() in WebCore::namedItemGetter
https://bugs.webkit.org/show_bug.cgi?id=118056

Reviewed by Ryosuke Niwa.

Source/WebCore:

The assert is hit in Debug mode because the DocumentOrderedMap in HTMLDocument::m_windowNamedItem
includes matched SVG elements, but the WindowNameCollection used to collect the elements does not.
This means the HTMLCollection stripped of SVG elements could end up hitting the empty or single item
assertion, which the testcase verifies.
To fix this change WindowNameCollection to include both SVG and HTML elements so it matches DocumentOrderedMap.

Tests: svg/custom/document-all-includes-svg.html
       svg/custom/window-named-item-lookup.html

* html/HTMLCollection.cpp:
(WebCore::isMatchingElement):
(WebCore::HTMLCollection::updateNameCache):

LayoutTests:

Add test to verify that SVG and HTML elements with id's are both found when using document.all or named properties.

* svg/custom/document-all-includes-svg-expected.txt: Added.
* svg/custom/document-all-includes-svg.html: Added.
* svg/custom/window-named-item-lookup-expected.txt: Added.
* svg/custom/window-named-item-lookup.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix P_DFGOperation_EJS call for MIPS and ARM EABI.
https://bugs.webkit.org/show_bug.cgi?id=120107

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-22
Reviewed by Yong Li.

EncodedJSValue parameters must be aligned to even registers for MIPS and ARM EABI.

* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Introduce a SVGUnknownElement class for unknown SVG elements
https://bugs.webkit.org/show_bug.cgi?id=120155

Reviewed by Andreas Kling.

Introduce a SVGUnknownElement class and have it override rendererIsNeeded() to return false.
We now use SVGUnknownElement type (instead of SVGElement) for unknown SVG elements:
- Unknown Elements in SVG namespace
- Registered custom tag elements in SVG namespace:
  http://www.w3.org/TR/2013/WD-custom-elements-20130514/#registering-custom-elements

As a consequence, SVGElement::rendererIsNeeded() is not longer required to return false and
it will be able to behave as SVGStyledElement::rendererIsNeeded() once we merge
SVGStyledElement into SVGElement.

This is a pre-requirement to merging SVGStyledElement into SVGElement.

No new tests, no behavior change.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::createElementInternal):
* dom/make_names.pl:
(defaultParametersHash):
(printJSElementIncludes):
(printWrapperFunctions):
(printWrapperFactoryCppFile):
* svg/SVGElement.cpp:
* svg/SVGElement.h:
* svg/SVGUnknownElement.h: Added.
(WebCore::SVGUnknownElement::create):
(WebCore::SVGUnknownElement::SVGUnknownElement):
* svg/svgtags.in:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154443 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] DRT bug revealed/caused by r154300
https://bugs.webkit.org/show_bug.cgi?id=120151

Reviewed by Simon Hausmann.

Since QtInstance had an implementation of getOwnPropertySlot and not getOwnPropertyDescriptor,
the behavior of getOwnPropertyDescriptor changed when it got implemented using getOwnPropertySlot
in r154300.

DRT relied on getOwnPropertyDescriptor returning undefined for JS set properties to distinguish
between native Qt methods and JSC bound methods. This patch changes the check to see if the
property is writable since the Qt methods are ReadOnly.

* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(DumpRenderTree::initJSObjects):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add the failing test expectation to webaudio/codec-tests/mp3/128kbps-44khz.html on Lion Release WK2.
The failure is tracked by the bug 120161.

* platform/mac-wk2/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Actually, this test is failing on Debug builds as well.
Update the test expectation accordingly.

* platform/mac-wk2/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RenderNamedFlowThread should not create NodeRenderingContext objects
https://bugs.webkit.org/show_bug.cgi?id=119923

Reviewed by Antti Koivisto.

Port of https://chromium.googlesource.com/chromium/blink/+/949d7d7e7b8685454742a55cf0ca912bb9a7b177.
Original patch by Elliott Sprehn.

RenderNamedFlowThread should not create NodeRenderingContext objects

RenderNamedFlowThread is using NodeRenderingContext to get the original
parent renderer, but should just be using NodeRenderingTraversal::parent
instead (which is what NodeRenderingContext does internally anyway).

Tests: No change in functionality. No new tests.

* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::isChildAllowed):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WKR build fix. Somehow tool.bugs.quips() doesn't work in WKR so work around that.

* Scripts/webkitpy/tool/bot/irc_command.py:
(Hi.execute):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154448 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FrameLoader: frame() and client() should return references.
<https://webkit.org/b/120158>

Reviewed by Anders Carlsson.

These two are never null so change them to return references.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154449 268f45cc-cd09-0410-ab3c-d52691b4dbfc
NRWT: Add the ability to upload test results to new test results server
https://bugs.webkit.org/show_bug.cgi?id=120146

Reviewed by Andreas Kling.
        
For the upcoming replacement for webkit-test-results.appspot.com, new-run-webkit-tests needs to use a new JSON format
that contains the full summary of the test run including information about passed tests.

Add this ability to NRWT so that I can start testing this feature. This patch adds the following optoins to NRWT:
--build-slave
--got-revision
--results-server-host

The last option is somewhat ambigious with --test-results-server but we're intending to deprecate the old server
so we should be able to delete --test-results-server in time.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run):
(Manager._upload_json_files):
(Manager):
(Manager.upload_results):
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(summarize_results):
* Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
(summarized_results):
(SummarizedResultsTest.test_summarized_results_wontfix):
(SummarizedResultsTest):
(SummarizedResultsTest.test_summarized_results_include_passes):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit/efl: EFL build juice.

* WebCoreSupport/ChromeClientEfl.cpp:
(kit):

Source/WebKit/win: Windows build juice.

* WebDataSource.cpp:
(WebDataSource::representation):
(WebDataSource::webFrame):
* WebElementPropertyBag.cpp:
(WebElementPropertyBag::Read):
* WebFramePolicyListener.cpp:
(WebFramePolicyListener::receivedPolicyDecision):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove accidental cruft from r154449.

* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::destroy):

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