Moved ErrorConstructor and NativeErrorConstructor helper functions into
the Interpreter class.
https://bugs.webkit.org/show_bug.cgi?id=119576.

Reviewed by Oliver Hunt.

This change is needed to prepare for making Interpreter::getStackTrace()
private. It does not change the behavior of the code, only the lexical
scoping.

* interpreter/Interpreter.h:
- Added helper functions for ErrorConstructor and NativeErrorConstructor.
* runtime/ErrorConstructor.cpp:
(JSC::Interpreter::constructWithErrorConstructor):
(JSC::ErrorConstructor::getConstructData):
(JSC::Interpreter::callErrorConstructor):
(JSC::ErrorConstructor::getCallData):
- Don't want ErrorConstructor to call Interpreter::getStackTrace()
  directly. So, we moved the helper functions into the Interpreter
  class.
* runtime/NativeErrorConstructor.cpp:
(JSC::Interpreter::constructWithNativeErrorConstructor):
(JSC::NativeErrorConstructor::getConstructData):
(JSC::Interpreter::callNativeErrorConstructor):
(JSC::NativeErrorConstructor::getCallData):
- Don't want NativeErrorConstructor to call Interpreter::getStackTrace()
  directly. So, we moved the helper functions into the Interpreter
  class.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153823 268f45cc-cd09-0410-ab3c-d52691b4dbfc
SunSpider: Move the 3d-morph fix from version 1.0 to version 1.0.1
https://bugs.webkit.org/show_bug.cgi?id=117993

Patch by Cosmin Truta <ctruta@blackberry.com> on 2013-08-08
Reviewed by George Staikos.

PerformanceTests/SunSpider:

Bump the SunSpider version to 1.0.1.

Unroll r149548 in order to restore version 1.0 to its original,
and add the 3d-morph fix to version 1.0.1 instead.

* hosted/sunspider.html: Updated to version 1.0.1.
* hosted/versions.html: Updated to version 1.0.1.
* make-hosted: Added support for version 1.0.1.
* resources/driver-TEMPLATE.html: Updated to version 1.0.1.
* resources/results-TEMPLATE.html: Updated to version 1.0.1.
* sunspider: Updated to version 1.0.1.
* sunspider-compare-results: Updated to version 1.0.1.
* tests/sunspider-1.0/3d-morph.js: Rolled back to the original version.
* tests/sunspider-1.0.1/LIST: Added.
* tests/sunspider-1.0.1/3d-cube.js: Added.
* tests/sunspider-1.0.1/3d-morph.js: Added.
* tests/sunspider-1.0.1/3d-raytrace.js: Added.
* tests/sunspider-1.0.1/access-binary-trees.js: Added.
* tests/sunspider-1.0.1/access-fannkuch.js: Added.
* tests/sunspider-1.0.1/access-nbody.js: Added.
* tests/sunspider-1.0.1/access-nsieve.js: Added.
* tests/sunspider-1.0.1/bitops-3bit-bits-in-byte.js: Added.
* tests/sunspider-1.0.1/bitops-bits-in-byte.js: Added.
* tests/sunspider-1.0.1/bitops-bitwise-and.js: Added.
* tests/sunspider-1.0.1/bitops-nsieve-bits.js: Added.
* tests/sunspider-1.0.1/controlflow-recursive.js: Added.
* tests/sunspider-1.0.1/crypto-aes.js: Added.
* tests/sunspider-1.0.1/crypto-md5.js: Added.
* tests/sunspider-1.0.1/crypto-sha1.js: Added.
* tests/sunspider-1.0.1/date-format-tofte.js: Added.
* tests/sunspider-1.0.1/date-format-xparb.js: Added.
* tests/sunspider-1.0.1/math-cordic.js: Added.
* tests/sunspider-1.0.1/math-partial-sums.js: Added.
* tests/sunspider-1.0.1/math-spectral-norm.js: Added.
* tests/sunspider-1.0.1/regexp-dna.js: Added.
* tests/sunspider-1.0.1/string-base64.js: Added.
* tests/sunspider-1.0.1/string-fasta.js: Added.
* tests/sunspider-1.0.1/string-tagcloud.js: Added.
* tests/sunspider-1.0.1/string-unpack-code.js: Added.
* tests/sunspider-1.0.1/string-validate-input.js: Added.

Websites/webkit.org:

* perf/sunspider-1.0.1/json2.js: Added.
* perf/sunspider-1.0.1/sunspider-1.0.1/driver.html: Added.
* perf/sunspider-1.0.1/sunspider-1.0.1/results.html: Added.
* perf/sunspider-1.0.1/sunspider-1.0.1/sunspider-test-contents.js: Added.
* perf/sunspider-1.0.1/sunspider-1.0.1/sunspider-test-prefix.js: Added.
* perf/sunspider-1.0.1/sunspider-analyze-results.js: Added.
* perf/sunspider-1.0.1/sunspider-compare-results.js: Added.
* perf/sunspider-1.0.1/sunspider.css: Added.
* perf/sunspider-1.0.1/sunspider.html: Added.
* perf/sunspider/sunspider.html: Updated to version 1.0.1.
* perf/sunspider/versions.html: Updated to version 1.0.1.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Restoring use of StackIterator instead of Interpreter::getStacktrace().
https://bugs.webkit.org/show_bug.cgi?id=119575.

Reviewed by Oliver Hunt.

Source/JavaScriptCore: 

* interpreter/Interpreter.h:
- Made getStackTrace() private.
* interpreter/StackIterator.cpp:
(JSC::StackIterator::StackIterator):
(JSC::StackIterator::numberOfFrames):
- Computes the number of frames by iterating through the whole stack
  from the starting frame. The iterator will save its current frame
  position before counting the frames, and then restoring it after
  the counting.
(JSC::StackIterator::gotoFrameAtIndex):
(JSC::StackIterator::gotoNextFrame):
(JSC::StackIterator::resetIterator):
- Points the iterator to the starting frame.
* interpreter/StackIteratorPrivate.h:

Source/WebCore: 

No new tests.

* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStack):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Element: Modernize attribute storage accessor functions.
<http://webkit.org/b/119578>

Source/WebCore:

Patch by Mark Lam <mark.lam@apple.com> on 2013-08-08
Reviewed by Antti Koivisto.

Rename these functions to more WebKit-style names.

- const Attribute* attributeItem(index) => const Attribute& attributeAt(index)
- const Attribute* getAttributeItem(name) => const Attribute* findAttributeByName(name)
- unsigned getAttributeItemIndex(name) => unsigned findAttributeIndexByName(name)

Note that attributeAt() now returns a reference instead of a pointer. That's right.

* css/SelectorChecker.cpp:
(WebCore::attributeValueMatches):
(WebCore::anyAttributeMatches):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::checkExactAttribute):
* dom/Attr.cpp:
(WebCore::Attr::elementAttribute):
* dom/DatasetDOMStringMap.cpp:
(WebCore::DatasetDOMStringMap::getNames):
(WebCore::DatasetDOMStringMap::item):
(WebCore::DatasetDOMStringMap::contains):
* dom/Element.cpp:
(WebCore::Element::detachAttribute):
(WebCore::Element::removeAttribute):
(WebCore::Element::getAttribute):
(WebCore::Element::setAttribute):
(WebCore::Element::setSynchronizedLazyAttribute):
(WebCore::Element::setAttributeInternal):
(WebCore::Element::setAttributeNode):
(WebCore::Element::removeAttributeNode):
(WebCore::Element::removeAttributeInternal):
(WebCore::Element::getAttributeNode):
(WebCore::Element::getAttributeNodeNS):
(WebCore::Element::hasAttribute):
(WebCore::Element::hasAttributeNS):
(WebCore::Element::computeInheritedLanguage):
(WebCore::Element::normalizeAttributes):
(WebCore::Element::getURLAttribute):
(WebCore::Element::getNonEmptyURLAttribute):
(WebCore::Element::detachAllAttrNodesFromElement):
(WebCore::Element::cloneAttributesFromElement):
(WebCore::ElementData::isEquivalent):
(WebCore::ElementData::findAttributeIndexByNameSlowCase):
(WebCore::ElementData::findAttributeIndexByNameForAttributeNode):
(WebCore::UniqueElementData::findAttributeByName):
(WebCore::UniqueElementData::attributeAt):
* dom/Element.h:
(WebCore::Element::findAttributeIndexByName):
(WebCore::Element::fastHasAttribute):
(WebCore::Element::fastGetAttribute):
(WebCore::Element::attributeAt):
(WebCore::Element::findAttributeByName):
(WebCore::ElementData::findAttributeByName):
(WebCore::ElementData::findAttributeIndexByName):
(WebCore::ElementData::attributeAt):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::removeNamedItem):
(WebCore::NamedNodeMap::removeNamedItemNS):
(WebCore::NamedNodeMap::item):
* dom/Node.cpp:
(WebCore::Node::dumpStatistics):
(WebCore::Node::isDefaultNamespace):
(WebCore::Node::lookupNamespaceURI):
(WebCore::Node::lookupNamespacePrefix):
(WebCore::Node::compareDocumentPosition):
* dom/StyledElement.cpp:
(WebCore::StyledElement::makePresentationAttributeCacheKey):
(WebCore::StyledElement::rebuildPresentationAttributeStyle):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendElement):
* editing/markup.cpp:
(WebCore::completeURLs):
(WebCore::StyledMarkupAccumulator::appendElement):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parametersForPlugin):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::parseAttribute):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::innerPatchNode):
(WebCore::DOMPatchSupport::createDigest):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setAttributesAsText):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
* page/PageSerializer.cpp:
(WebCore::isCharsetSpecifyingNode):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::getPresentationAttribute):
* xml/XPathFunctions.cpp:
(WebCore::XPath::FunLang::evaluate):
* xml/XPathNodeSet.cpp:
(WebCore::XPath::NodeSet::traversalSort):
* xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):

Source/WebKit/blackberry:

Reviewed by Antti Koivisto.

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

Source/WebKit/qt:

Reviewed by Antti Koivisto.

* Api/qwebelement.cpp:
(QWebElement::attributeNames):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Oops, didn't mean to implicate Mark Lam in the ChangeLog there.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153827 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK1] NPStream::headers not initialized
https://bugs.webkit.org/show_bug.cgi?id=119574

Reviewed by Alexey Proskuryakov.

Initialize the header field. According to user feedback that should solve some
cases of random crashes when loading plugins on Mac and Windows.

* plugins/PluginStream.cpp:
(WebCore::PluginStream::PluginStream):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Inserting multiple rules into an empty style sheet should avoid style recalc if possible.
<http://webkit.org/b/119568>

Reviewed by Antti Koivisto.

As a follow-up to <http://webkit.org/b/119475>, where I added a hack for inserting
a single rule into an empty style sheet, this broadens the optimization to support
any number of rules.

This optimizes the scenario where a style sheet is added to the DOM and then populated
rule-by-rule via CSSOM insertRule()/addRule() calls. Previously we'd do a full style
recalc for this case, but now we'll treat it the same as a full sheet added at once.

* css/CSSStyleSheet.h:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::willMutateRules):

    Made willMutateRules() return whether the style sheet contents were cloned by the
    copy-on-write mechanism.

* dom/Document.h:
(WebCore::CSSStyleSheet::didMutateRules):
(WebCore::CSSStyleSheet::insertRule):

    Replaced the InsertionIntoEmptySheet mutation type by a general RuleInsertion.
    The mutation callback checks if we're inserting into a rule that's not (yet) part
    of the document's active sheet set. In that case, we defer doing the style sheet
    until all the insertions are done (or something forces us to style+layout.)

    Note that this optimization only happens if the style sheet had a single client.
    Shared style sheets that just got cloned before mutation may have pointers into
    them from the Document's StyleResolver, so we're forced to do an immediate sheet
    update in that case.

(WebCore::CSSStyleSheet::RuleMutationScope::RuleMutationScope):
(WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):

    Moved these out-of-line.

(WebCore::CSSStyleSheet::didMutateRuleFromCSSStyleDeclaration):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::StyleRuleCSSStyleDeclaration::didMutate):

    Made a separate mutation callback for CSSStyleDeclaration since its needs are
    so simple compared to the mutation callback from CSSStyleSheet. Seems better
    than adding yet another mode to the enum.

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::recalcStyle):
(WebCore::Document::styleResolverChanged):
(WebCore::Document::optimizedStyleSheetUpdateTimerFired):
(WebCore::Document::scheduleOptimizedStyleSheetUpdate):

    Added mechanism to defer doing a RecalcStyleIfNeeded.

(WebCore::Document::updateStyleIfNeeded):

    Synchronize the optimized style sheet update if there's one scheduled.
    This ensures that stuff like layout-dependent property access won't operate
    on stale style.

* dom/DocumentStyleSheetCollection.h:
(WebCore::DocumentStyleSheetCollection::pendingUpdateType):
(WebCore::DocumentStyleSheetCollection::setPendingUpdateType):
(WebCore::DocumentStyleSheetCollection::flushPendingUpdates):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):

    Have DSSC track the kind of style sheet update it needs to do (instead of just
    a boolean "needs update.") This is used by Document::recalcStyle() to make sure
    the right kind of update happens if there's one scheduled.

(WebCore::DocumentStyleSheetCollection::activeStyleSheetsContains):

    Added helper to check if a CSSStyleSheet is part of the active set.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153829 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        WTR::pathSuitableForTestResult should behave the same as _drt_descriptionSuitableForTestResult so we can unskip tests.
        https://bugs.webkit.org/show_bug.cgi?id=116125

        Reviewed by Tim Horton. Tweaked and re-landed by Alexey Proskuryakov.

        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
        (WTR::pathSuitableForTestResult):
        Changed string operations to match _drt_descriptionSuitableForTestResult.
        (WTR::dumpRequestDescriptionSuitableForTestResult):
        (WTR::dumpResponseDescriptionSuitableForTestResult):
        (WTR::InjectedBundlePage::willPerformClientRedirectForFrame):
        (WTR::InjectedBundlePage::didInitiateLoadForResource):
        (WTR::InjectedBundlePage::willSendRequestForFrame):
        (WTR::InjectedBundlePage::didReceiveResponseForResource):
        Pass the main frame's URL to pathSuitableForTestResult.
        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
        Added WKBundlePageRef to willPerformClientRedirectForFrame.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r147019): Page has extra space
https://bugs.webkit.org/show_bug.cgi?id=119424

Reviewed by David Hyatt.

Clear the overflow rect before recomputing it in table sections.

No new tests: the reduction uses jquery and I was unable to simulate the reduction without it.

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::computeOverflowFromCells):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153832 268f45cc-cd09-0410-ab3c-d52691b4dbfc
svg/custom/use-href-update-crash.svg failing on certain platforms
https://bugs.webkit.org/show_bug.cgi?id=104054

Reviewed by Darin Adler.

Fix mistake in use-href-update-crash.svg which caused the gc() not found problem. Update the test expectations
that had this marked as failure, it passes after the test fix.

* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* svg/custom/use-href-update-crash.svg:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153833 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fullscreen/exit-full-screen-iframe.html is failing
https://bugs.webkit.org/show_bug.cgi?id=90708

Unreviewed gardening.

* platform/mac/TestExpectations: Unskip passing test.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash in WTF::RefPtr<WebCore::SpaceSplitStringData>::operator UnspecifiedBoolType
https://bugs.webkit.org/show_bug.cgi?id=118839

Reviewed by Darin Adler.

Source/WebCore:

Take into account that elementData() can be null in classAttributeChanged.

Test: svg/animations/classAttributeSettingCrash.html

* dom/Element.cpp:
(WebCore::Element::classAttributeChanged):

LayoutTests:

Add testcase that showed up to cause a crash by the fuzzer.

* svg/animations/classAttributeSettingCrash-expected.txt: Added.
* svg/animations/classAttributeSettingCrash.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r130839): fast/canvas/webgl/arraybuffer-transfer-of-control.html is failing
https://bugs.webkit.org/show_bug.cgi?id=99096

Unreviewed gardening.

* platform/mac/TestExpectations: Unskip passing test.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153836 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fast/events/scroll-div-with-prevent-default-in-subframe.html is failing
https://bugs.webkit.org/show_bug.cgi?id=82747

Unreviewed gardening.

* platform/mac/TestExpectations: Unskip passing test.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EME] Implement MediaKeys.isTypeSupported()
https://bugs.webkit.org/show_bug.cgi?id=119586

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/encrypted-media/encrypted-media-is-type-supported.html

The EME spec has removed the extra keySystem parameter from
HTMLMediaElement.canPlayType() in favor of a new isTypeSupported()
method on MediaKeys.

To implement this method, the CDMFactory needs to know whether the
registered CDM supports the specified mime type.  CDMs must register
this new factory method, which requires changes to CDMPrivateAVFoundation
and MockCDM.

Add the new MediaKeys.isTypeSupported() method:
* Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::isTypeSupported):
* Modules/encryptedmedia/MediaKeys.h:
* Modules/encryptedmedia/MediaKeys.idl:

Add the new factory CDMSupportsKeySystemAndMimeType method:
* Modules/encryptedmedia/CDM.cpp:
(WebCore::CDMFactory::CDMFactory): Now takes a third parameter.
(WebCore::installedCDMFactories): When adding the AVFoundation CDM, pass its new method.
(WebCore::CDM::registerCDMFactory): Now takes a third parameter.
(WebCore::CDM::keySystemSupportsMimeType): Added.
* Modules/encryptedmedia/CDM.h:
* WebCore.exp.in:

Register this new method with the factory for all concrete CDMs:
* Modules/encryptedmedia/CDMPrivateAVFoundation.h:
* Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
(WebCore::CDMPrivateAVFoundation::supportsKeySystem):
(WebCore::CDMPrivateAVFoundation::supportsKeySystemAndMimeType):
* testing/Internals.cpp:
(WebCore::Internals::initializeMockCDM):
* testing/MockCDM.cpp:
(WebCore::MockCDM::supportsKeySystem):
(WebCore::MockCDM::supportsKeySystemAndMimeType):
* testing/MockCDM.h:

LayoutTests:

* media/encrypted-media/encrypted-media-is-type-supported-expected.txt: Added.
* media/encrypted-media/encrypted-media-is-type-supported.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153838 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        WKBundleFrameCopyProvisionalURL crashes when there is no provisional loader
        https://bugs.webkit.org/show_bug.cgi?id=119587

        Reviewed by Darin Adler.

        * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::provisionalURL): Added a null
        check, like we already have in WebFrame::url().



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153839 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unprefix use of transitions in Web Inspector code
https://bugs.webkit.org/show_bug.cgi?id=119588

Reviewed by Tim Hatcher.

Replace "-webkit-transition" with "transition".

* UserInterface/CSSCompletions.js:
(WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror):
* UserInterface/FindBanner.css:
(.find-banner):
(.find-banner.showing):
(.supports-find-banner.no-find-banner-transition):
(.supports-find-banner):
(.supports-find-banner.showing-find-banner):
* UserInterface/NetworkTimeline.css:
(.network-graph-side:hover .network-graph-label):
* UserInterface/Popover.css:
(.popover.fade-out):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153840 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test fast/overflow/scrollbar-click-retains-focus.html is failing on Apple Mac WK1 and GTK.
https://bugs.webkit.org/show_bug.cgi?id=104104

Unreviewed gardening.

* platform/mac/TestExpectations: Unskip passing test.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153841 268f45cc-cd09-0410-ab3c-d52691b4dbfc
http/tests/navigation/back-twice-without-commit.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=82980

Unreviewed gardening.

* platform/mac/TestExpectations: Unskip passing test.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Work towards WebGL on AppleWin port.
https://bugs.webkit.org/show_bug.cgi?id=119562

Reviewed by Brent Fulgham.

* WebCore.vcxproj/WebCore.vcxproj:
Build GLContext.cpp and GraphicsContext3DPrivate.cpp on AppleWin port.
* WebCore.vcxproj/WebCore.vcxproj.filters:
Moved GLContext and GraphicsContext3DPrivate from Cairo filter to graphics.
* platform/graphics/GraphicsContext3D.h:
Added m_webGLLayer for AppleWin port.
* platform/graphics/GraphicsContext3DPrivate.cpp:
Protected inclusion of PlatformContextCairo.h in USE(CAIRO) macro for non-cairo ports.
* platform/graphics/win/GraphicsContext3DWin.cpp:
Removed stub GraphicsContext3DPrivate implementation in favor of GraphicsContext3DPrivate.cpp.
(WebCore::GraphicsContext3D::GraphicsContext3D):
Added GraphicsContext3DPrivate and PlatformCALayer initialization.
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::platformGraphicsContext3D):
Added implementation based on Cairo ports' to be refactored soon.
(WebCore::GraphicsContext3D::platformLayer):
Return PlatformCALayer's PlatformLayer instead of 0.



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