Ref-ify more stack guards.
<https://webkit.org/b/122360>

Reviewed by Anders Carlsson.

Make another pass turning RefPtr<T> into Ref<T> where possible.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] Turn off FastMalloc on Windows
https://bugs.webkit.org/show_bug.cgi?id=122352

Reviewed by Darin Adler.

* wtf/Platform.h: Enable USE_SYSTEM_MALLOC when building on
Windows to stick to the MSVCRT allocator/deallocator.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Silence compiler warning when building 64-bit (on Windows)

Reviewed by Geoffrey Garen.

* jit/JSInterfaceJIT.h: Add a static cast for assignment.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove Qt definitions from Platform.h
https://bugs.webkit.org/show_bug.cgi?id=122349

Reviewed by Anders Carlsson.

* wtf/Platform.h: Remove unused PLATFORM(QT) stanzas from file.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change ScriptDebugServer to use DebuggerCallFrame instead of JavaScriptCallFrame.
https://bugs.webkit.org/show_bug.cgi?id=121969.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore: 

1. Make JavaScriptCallFrame a thin shell around the DebuggerCallFrame.
   DebuggerCallFrame now tracks whether it is valid instead of needing
   JavaScriptCallFrame do it.
2. ScriptDebugServer now only instantiates an DebuggerCallFrame when needed
   just before it pauses and calls back to its client, and then invalidates
   it immediately when the callback returns. Every subsequent callback to
   the client will use a new instance of the DebuggerCallFrame.
3. Similarly, ScriptDebugServer now only creates a JavaScriptCallFrame when
   it "pauses".
4. DebuggerCallFrame only creates its caller DebuggerCallFrame when
   it is needed i.e. when the client calls callerFrame(). Similarly,
   JavaScriptCallFrame only creates its caller when it's requested.
5. DebuggerCallFrame's line() and column() now returns a base-zero int.
6. WebScriptDebugDelegate now only caches the functionName of the frame
   instead of the entire DebuggerCallFrame because that is all that is
   needed.
7. Also removed evaluateInGlobalCallFrame() which is not used anywhere.

* debugger/Debugger.cpp:
* debugger/Debugger.h:
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::DebuggerCallFrame):
(JSC::DebuggerCallFrame::callerFrame):
(JSC::DebuggerCallFrame::dynamicGlobalObject):
(JSC::DebuggerCallFrame::sourceId):
(JSC::DebuggerCallFrame::functionName):
(JSC::DebuggerCallFrame::scope):
(JSC::DebuggerCallFrame::type):
(JSC::DebuggerCallFrame::thisValue):
(JSC::DebuggerCallFrame::evaluate):
(JSC::DebuggerCallFrame::evaluateWithCallFrame):
(JSC::DebuggerCallFrame::invalidate):
(JSC::DebuggerCallFrame::positionForCallFrame):
(JSC::DebuggerCallFrame::sourceIdForCallFrame):
(JSC::DebuggerCallFrame::thisValueForCallFrame):
* debugger/DebuggerCallFrame.h:
(JSC::DebuggerCallFrame::create):
(JSC::DebuggerCallFrame::exec):
(JSC::DebuggerCallFrame::line):
(JSC::DebuggerCallFrame::column):
(JSC::DebuggerCallFrame::position):
(JSC::DebuggerCallFrame::isValid):
* interpreter/StackVisitor.cpp:

Source/WebCore: 

Tests: inspector-protocol/debugger/call-frame-function-name.html
       inspector-protocol/debugger/call-frame-this-host.html
       inspector-protocol/debugger/call-frame-this-nonstrict.html
       inspector-protocol/debugger/call-frame-this-strict.html

1. Make JavaScriptCallFrame a thin shell around the DebuggerCallFrame.
   DebuggerCallFrame now tracks whether it is valid instead of needing
   JavaScriptCallFrame do it.
2. ScriptDebugServer now only instantiates an DebuggerCallFrame when needed
   just before it pauses and calls back to its client, and then invalidates
   it immediately when the callback returns. Every subsequent callback to
   the client will use a new instance of the DebuggerCallFrame.
3. Similarly, ScriptDebugServer now only creates a JavaScriptCallFrame when
   it "pauses".
4. DebuggerCallFrame only creates its caller DebuggerCallFrame when
   it is needed i.e. when the client calls callerFrame(). Similarly,
   JavaScriptCallFrame only creates its caller when it's requested.
5. DebuggerCallFrame's line() and column() now returns a base-zero int.
6. WebScriptDebugDelegate now only caches the functionName of the frame
   instead of the entire DebuggerCallFrame because that is all that is
   needed.
7. Also removed evaluateInGlobalCallFrame() which is not used anywhere.

* bindings/js/JSJavaScriptCallFrameCustom.cpp:
(WebCore::JSJavaScriptCallFrame::thisObject):
* bindings/js/JavaScriptCallFrame.cpp:
(WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
(WebCore::JavaScriptCallFrame::caller):
* bindings/js/JavaScriptCallFrame.h:
(WebCore::JavaScriptCallFrame::create):
(WebCore::JavaScriptCallFrame::sourceID):
(WebCore::JavaScriptCallFrame::position):
(WebCore::JavaScriptCallFrame::line):
(WebCore::JavaScriptCallFrame::column):
(WebCore::JavaScriptCallFrame::functionName):
(WebCore::JavaScriptCallFrame::type):
(WebCore::JavaScriptCallFrame::scopeChain):
(WebCore::JavaScriptCallFrame::dynamicGlobalObject):
(WebCore::JavaScriptCallFrame::thisValue):
(WebCore::JavaScriptCallFrame::evaluate):
* bindings/js/ScriptDebugServer.cpp:
(WebCore::DebuggerCallFrameScope::DebuggerCallFrameScope):
(WebCore::DebuggerCallFrameScope::~DebuggerCallFrameScope):
(WebCore::ScriptDebugServer::ScriptDebugServer):
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
(WebCore::ScriptDebugServer::hasBreakpoint):
(WebCore::ScriptDebugServer::evaluateBreakpointAction):
(WebCore::ScriptDebugServer::breakProgram):
(WebCore::ScriptDebugServer::stepOverStatement):
(WebCore::ScriptDebugServer::stepOutOfFunction):
(WebCore::ScriptDebugServer::currentDebuggerCallFrame):
(WebCore::ScriptDebugServer::dispatchDidPause):
(WebCore::ScriptDebugServer::updateCallFrame):
(WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
(WebCore::ScriptDebugServer::pauseIfNeeded):
(WebCore::ScriptDebugServer::callEvent):
(WebCore::ScriptDebugServer::returnEvent):
(WebCore::ScriptDebugServer::willExecuteProgram):
(WebCore::ScriptDebugServer::didExecuteProgram):
* bindings/js/ScriptDebugServer.h:
* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::willExecuteProgram):

Source/WebKit/mac: 

1. Make JavaScriptCallFrame a thin shell around the DebuggerCallFrame.
   DebuggerCallFrame now tracks whether it is valid instead of needing
   JavaScriptCallFrame do it.
2. ScriptDebugServer now only instantiates an DebuggerCallFrame when needed
   just before it pauses and calls back to its client, and then invalidates
   it immediately when the callback returns. Every subsequent callback to
   the client will use a new instance of the DebuggerCallFrame.
3. Similarly, ScriptDebugServer now only creates a JavaScriptCallFrame when
   it "pauses".
4. DebuggerCallFrame only creates its caller DebuggerCallFrame when
   it is needed i.e. when the client calls callerFrame(). Similarly,
   JavaScriptCallFrame only creates its caller when it's requested.
5. DebuggerCallFrame's line() and column() now returns a base-zero int.
6. WebScriptDebugDelegate now only caches the functionName of the frame
   instead of the entire DebuggerCallFrame because that is all that is
   needed.
7. Also removed evaluateInGlobalCallFrame() which is not used anywhere.

* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFramePrivate dealloc]):
(-[WebScriptCallFrame _initWithGlobalObject:functionName:exceptionValue:JSC::]):
(-[WebScriptCallFrame functionName]):
(-[WebScriptCallFrame exception]):
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::exception):

LayoutTests: 

* http/tests/inspector/debugger-test.js:
(initialize_DebuggerTest):
* inspector-protocol/debugger/call-frame-function-name-expected.txt: Added.
* inspector-protocol/debugger/call-frame-function-name.html: Added.
* inspector-protocol/debugger/call-frame-this-host-expected.txt: Added.
* inspector-protocol/debugger/call-frame-this-host.html: Added.
* inspector-protocol/debugger/call-frame-this-nonstrict-expected.txt: Added.
* inspector-protocol/debugger/call-frame-this-nonstrict.html: Added.
* inspector-protocol/debugger/call-frame-this-strict-expected.txt: Added.
* inspector-protocol/debugger/call-frame-this-strict.html: Added.
* inspector/debugger/pause-in-internal-script-expected.txt:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Try to fix the Windows build after r156930.

* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::paintCharacter): Use ceilf and floorf to avoid issues
with overload collisions and implicit casts of LayoutUnits.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Editor should use reference-getting document() internally.
<https://webkit.org/b/122364>

Reviewed by Darin Adler.

Instead of grabbing at Editor::m_frame.document(), use the nice
Editor::document() helper that always returns a Document&.

Calling Editor methods on a Frame's editor() while there is no
Document in the Frame is a programming error and this is covered
by an assertion in document().

This removes a bunch of null checks and enables further cleanup.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: PolicyChecker backpointer to Frame should be a reference.
<https://webkit.org/b/122354>

Reviewed by Anders Carlsson.

PolicyChecker is tied to the lifetime of FrameLoader, which in turn
is tied to the lifetime of Frame.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use more references instead of pointers in DocumentOrderedMap
https://bugs.webkit.org/show_bug.cgi?id=122368

Reviewed by Andreas Kling.

Use AtomicStringImpl& instead of AtomicString* or AtomicString& to eliminate
assertions and nullity checks.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::canGetItemsForName):
(WebCore::JSHTMLDocument::nameGetter):
* dom/Document.cpp:
(WebCore::Document::addImageElementByLowercasedUsemap):
(WebCore::Document::removeImageElementByLowercasedUsemap):
(WebCore::Document::imageElementByLowercasedUsemap):
* dom/Document.h:
* dom/DocumentOrderedMap.cpp:
(WebCore::keyMatchesId):
(WebCore::keyMatchesName):
(WebCore::keyMatchesMapName):
(WebCore::keyMatchesLowercasedMapName):
(WebCore::keyMatchesLowercasedUsemap):
(WebCore::keyMatchesLabelForAttribute):
(WebCore::keyMatchesWindowNamedItem):
(WebCore::keyMatchesDocumentNamedItem):
(WebCore::DocumentOrderedMap::add):
(WebCore::DocumentOrderedMap::remove):
(WebCore::DocumentOrderedMap::get):
(WebCore::DocumentOrderedMap::getElementById):
(WebCore::DocumentOrderedMap::getElementByName):
(WebCore::DocumentOrderedMap::getElementByMapName):
(WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
(WebCore::DocumentOrderedMap::getElementByLowercasedUsemap):
(WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
(WebCore::DocumentOrderedMap::getElementByWindowNamedItem):
(WebCore::DocumentOrderedMap::getElementByDocumentNamedItem):
(WebCore::DocumentOrderedMap::getAllElementsById):
* dom/DocumentOrderedMap.h:
(WebCore::DocumentOrderedMap::containsSingle):
(WebCore::DocumentOrderedMap::contains):
(WebCore::DocumentOrderedMap::containsMultiple):
* dom/Element.cpp:
(WebCore::Element::updateNameForTreeScope):
(WebCore::Element::updateNameForDocument):
(WebCore::Element::updateIdForTreeScope):
(WebCore::Element::updateIdForDocument):
(WebCore::Element::updateLabel):
* dom/IdTargetObserverRegistry.cpp:
(WebCore::IdTargetObserverRegistry::notifyObserversInternal):
* dom/IdTargetObserverRegistry.h:
(WebCore::IdTargetObserverRegistry::notifyObservers):
* dom/TreeScope.cpp:
(WebCore::TreeScope::getElementById):
(WebCore::TreeScope::getAllElementsById):
(WebCore::TreeScope::addElementById):
(WebCore::TreeScope::removeElementById):
(WebCore::TreeScope::getElementByName):
(WebCore::TreeScope::addElementByName):
(WebCore::TreeScope::removeElementByName):
(WebCore::TreeScope::addImageMap):
(WebCore::TreeScope::removeImageMap):
(WebCore::TreeScope::getImageMap):
(WebCore::TreeScope::addLabel):
(WebCore::TreeScope::removeLabel):
(WebCore::TreeScope::labelElementForId):
* dom/TreeScope.h:
(WebCore::TreeScope::hasElementWithId):
(WebCore::TreeScope::containsMultipleElementsWithId):
(WebCore::TreeScope::hasElementWithName):
(WebCore::TreeScope::containsMultipleElementsWithName):
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::namedItem):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::addDocumentNamedItem):
(WebCore::HTMLDocument::removeDocumentNamedItem):
(WebCore::HTMLDocument::addWindowNamedItem):
(WebCore::HTMLDocument::removeWindowNamedItem):
* html/HTMLDocument.h:
(WebCore::HTMLDocument::documentNamedItem):
(WebCore::HTMLDocument::hasDocumentNamedItem):
(WebCore::HTMLDocument::documentNamedItemContainsMultipleElements):
(WebCore::HTMLDocument::windowNamedItem):
(WebCore::HTMLDocument::hasWindowNamedItem):
(WebCore::HTMLDocument::windowNamedItemContainsMultipleElements):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::insertedInto):
(WebCore::HTMLImageElement::removedFrom):
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::imageElement):
(WebCore::HTMLMapElement::parseAttribute):
(WebCore::HTMLMapElement::insertedInto):
(WebCore::HTMLMapElement::removedFrom):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateDocNamedItem):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
TypingCommand helpers should take Document&.
<https://webkit.org/b/122370>

Reviewed by Anders Carlsson.

Instead of taking a Document* and immediately asserting that it's
non-null, just take Document&.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: RenderScrollbar DOM owner is always an Element.
<https://webkit.org/b/122348>

Reviewed by Antti Koivisto.

When RenderScrollbar is owned by a DOM node, it's always Element.
Tighten the code a bit with this knowledge.

Also marked the class FINAL and beat it with the OVERRIDE stick.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
It should be even easier to run and debug a failing JSC stress test
https://bugs.webkit.org/show_bug.cgi?id=122337

Reviewed by Oliver Hunt.
        
If a test fails, you can now just say:

sh WebKitBuild/Debug/jsc-stress-results/regress/script-tests/emscripten-cube2hash.js.ftl-eager-no-cjit

and get the reproduction. You don't have to set any environment variables like before.
Also if you want to debug the failing test you can now just say:

sh WebKitBuild/Debug/jsc-stress-results/regress/script-tests/emscripten-cube2hash.js.ftl-eager-no-cjit lldb --

Broadly, any arguments passed to the reproduction script are prepended to the command to
run the test. This is sort of quirky and won't work for some tests (for example the
profiler tests run a ruby script that runs some other stuff) but it'll work for most of
them and that's good enough for now.

* Scripts/run-jsc-stress-tests:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed EFL build fix after r156924

* UIProcess/efl/WebPageProxyEfl.cpp:
(WebKit::WebPageProxy::platformInitialize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: IconController and IconLoader should have Frame& backpointer.
<https://webkit.org/b/122372>

Reviewed by Anders Carlsson.

Also slap IconLoader with FINAL glove.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FramePolicyFunction should be an std::function
https://bugs.webkit.org/show_bug.cgi?id=122362

Reviewed by Darin Adler.

Source/WebCore:

This makes policy callback handling simpler inside WebKit.

* loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebCore::EmptyFrameLoaderClient::dispatchWillSubmitForm):
* loader/EmptyClients.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
* loader/FrameLoaderClient.h:
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
(WebCore::PolicyChecker::checkNewWindowPolicy):
(WebCore::PolicyChecker::checkContentPolicy):

Source/WebKit/efl:

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::callPolicyFunction):
(WebCore::FrameLoaderClientEfl::dispatchWillSubmitForm):
(WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForResponse):
(WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForNewWindowAction):
(WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForNavigationAction):
* WebCoreSupport/FrameLoaderClientEfl.h:

Source/WebKit/gtk:

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::dispatchWillSubmitForm):
(WebKit::FrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
* WebCoreSupport/FrameLoaderClientGtk.h:
* webkit/webkitwebpolicydecision.cpp:
(webkit_web_policy_decision_use):
(webkit_web_policy_decision_ignore):
(webkit_web_policy_decision_download):

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebFrameLoaderClient::dispatchWillSubmitForm):

Source/WebKit/win:

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebFrameLoaderClient::dispatchWillSubmitForm):
(WebFrameLoaderClient::receivedPolicyDecision):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::didReceivePolicyDecision):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Roll out r156930 and r156937, they caused 34 assertion failures on bots.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
text-transform: lowercase is not lang-dependent (Turkish languages : tr,az)
https://bugs.webkit.org/show_bug.cgi?id=21312

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/text/text-transform-turkish-and-azeri.html

This patch covers text-transform: uppercase and text-transform: lowercase.
More changes will be needed to cover text-transform: capitalize.

* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::patchNode): Use String::upper instead of String::makeUpper.
* page/EventHandler.cpp:
(WebCore::findDropZone): Use String::lower instead of String::makeLower.
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use String::upper instead of String::makeUpper.
* platform/network/blackberry/rss/RSS10Parser.cpp: [Seriously, how is an RSS parser
part of WebKit's networking layer? Where are the tests that cover this? Seems wrong
to have this code in the project.]
(WebCore::RSS10Parser::parseXmlDoc): Use lower instead of makeLower.
(WebCore::RSS10Parser::parseItem): Ditto.
(WebCore::RSS10Parser::parseFeed): Ditto.
* platform/network/blackberry/rss/RSS20Parser.cpp:
(WebCore::RSS20Parser::parseXmlDoc): Ditto.
(WebCore::RSS20Parser::parseItem): Ditto.
(WebCore::RSS20Parser::parseFeed): Ditto.
(WebCore::RSS20Parser::parseEnclosure): Ditto.
* platform/network/blackberry/rss/RSSAtomParser.cpp:
(WebCore::RSSAtomParser::parseXmlDoc): Ditto.
(WebCore::RSSAtomParser::parseItem): Ditto.
(WebCore::RSSAtomParser::parseFeed): Ditto.
(WebCore::RSSAtomParser::parseLink): Ditto.
(WebCore::RSSAtomParser::parseContent): Ditto.
(WebCore::RSSAtomParser::parseAuthor): Ditto.
(WebCore::RSSAtomParser::parseCategory): Ditto.
* platform/text/win/LocaleWin.cpp:
(WebCore::convertLocaleNameToLCID): Use String::lower instead of String::makeLower.
* rendering/RenderText.cpp:
(WebCore::applyTextTransform): Use String::upper and String::lower instead of
String::makeUpper and String::makeLower, and also pass in the locale to each.
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod): Changed this so it doesn't call
upper just to return an already known string constant.

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::doCommand): Use StringImpl::upper instead of
StringImpl::makeUpper.

Source/WTF:

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::upper): Removed an extra call that would unnecessarily reallocate
a StringImpl in the general non-ASCII case. Added an overload that takes a locale identifier.
(WTF::StringImpl::lower): Ditto.
* wtf/text/StringImpl.h: Ditto.
* wtf/text/WTFString.cpp:
(WTF::String::lower): Ditto.
(WTF::String::upper): Ditto.
* wtf/text/WTFString.h: Ditto. Also deleted the makeLower and makeUpper functions since they
offer no advantages over the lower and upper functions. Also added a constructor that takes
a RefPtr<StringImpl> with move construction to help.

LayoutTests:

* fast/text/text-transform-turkish-and-azeri-expected.html: Added.
* fast/text/text-transform-turkish-and-azeri.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Don't preflight spell checker when calling -setContinuousSpellCheckingEnabled repeatedly
https://bugs.webkit.org/show_bug.cgi?id=122329

Reviewed by Darin Adler.

* WebView/WebView.mm: (-[WebView setContinuousSpellCheckingEnabled:]): Don't do any
work if preference didn't change (continuousSpellCheckingEnabled is a static that
starts with false).



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix an assertion failure introduced in r156925.

Add HTMLImageElement to the document-wide map only if it's in the document.

* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):


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