REGRESSION(130613): Reintroduces crashes when using soup's timeout functionality
https://bugs.webkit.org/show_bug.cgi?id=99311

Reviewed by Gustavo Noronha Silva.

Removing the cleanupSoupRequestOperation call, since the cancel() call will eventually trigger the
cleanup already setting the right flag. Cleaning the handle already here will result in crashes when
using the soup timeout functionality.
The explicit cleanup call reintroduced in r130613, after it had been previously removed in r130348.

No new tests, tests that catch this will be part of bug 74802 for XHR timeout support.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::requestTimeoutCallback):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131301 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Scripts for dynamically added script elements are not shown in sources panel.
https://bugs.webkit.org/show_bug.cgi?id=99324

Reviewed by Pavel Feldman.

Source/WebCore:

NetworkUISourceCodeProvider now adds uiSourceCodes for dynamic anonymous scripts
and dynamic scripts loaded before inspector was opened.

Tests: http/tests/inspector-enabled/dynamic-scripts.html
       inspector/debugger/dynamic-scripts.html

* inspector/front-end/NetworkLog.js:
(WebInspector.NetworkLog.prototype.requestForURL):
* inspector/front-end/NetworkUISourceCodeProvider.js:
(WebInspector.NetworkUISourceCodeProvider):
(WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource):
(WebInspector.NetworkUISourceCodeProvider.prototype._projectWillReset):

LayoutTests:

* http/tests/inspector-enabled/dynamic-scripts-expected.txt: Added.
* http/tests/inspector-enabled/dynamic-scripts.html: Added.
* http/tests/inspector-enabled/resources/dynamic-script.js: Added.
(fooDynamicScript):
* inspector/debugger/dynamic-scripts-expected.txt: Added.
* inspector/debugger/dynamic-scripts.html: Added.
* inspector/debugger/resources/dynamic-script.js: Added.
(fooDynamicScript):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131302 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Silencing a style-checker warning.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test plugins/update-widgets-crash.html is failing
https://bugs.webkit.org/show_bug.cgi?id=99333

Unreviewed gardening.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131304 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Clean up BackingStoreClient (part I)
https://bugs.webkit.org/show_bug.cgi?id=99327

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>

Now that we won't use the BackingStoreClient code path to scroll inner frames at all
(instead we use AC layers!), we can remove all "!isMainFrame" code paths.

No behavior change, since the code path being removed was not in use.

* WebKitSupport/BackingStoreClient.cpp:
(BlackBerry::WebKit::BackingStoreClient::absoluteRect):
(BlackBerry::WebKit::BackingStoreClient::transformedActualVisibleSize):
(BlackBerry::WebKit::BackingStoreClient::viewportSize):
(BlackBerry::WebKit::BackingStoreClient::transformedViewportSize):
(BlackBerry::WebKit::BackingStoreClient::visibleContentsRect):
(BlackBerry::WebKit::BackingStoreClient::transformedVisibleContentsRect):
(BlackBerry::WebKit::BackingStoreClient::checkOriginOfCurrentScrollOperation):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131305 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][WTR] Do a forced repaint before generating pixel results
https://bugs.webkit.org/show_bug.cgi?id=98654

Reviewed by Jocelyn Turcotte.

Source/WebKit2:

Added API to convert a QImage to a WKImage so we can
pass it to cross-platform code.

* Shared/API/c/qt/WKImageQt.cpp:
(WKImageCreateFromQImage):
* Shared/API/c/qt/WKImageQt.h:

Tools:

Do a forced repaint before grabbing the pixel snapshot. This extra
synchronisation is necessary with the CoordinatedGraphics rendering
backend because it has a fully asynchronous nature. This patch make
us using the window snapshot for pixel results which is necessary to
capture animations and other dynamic content. The actual grabbing of
the window has not been implemented in this patch. It will come in
a follow-up.

* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
(WTR::TestInvocation::dump): Store results in member variables.
Don't close output channels yet.
(WTR::TestInvocation::dumpResults): Added. This is where we dump
the results if no error happened.
(WTR):
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
* WebKitTestRunner/TestInvocation.h:
(TestInvocation):
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::PlatformWebView::windowSnapshotImage):
* WebKitTestRunner/qt/TestInvocationQt.cpp:
(WTR::TestInvocation::forceRepaintDoneCallback):
(WTR):
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Implement pixel snapshot generation in WTR
https://bugs.webkit.org/show_bug.cgi?id=95992

Reviewed by Jocelyn Turcotte.

Switch the Qt implementation of the PlatformWebView to use
QQuickWindow::grabWindow to generate the pixel results. This way
we will go through the scenegraph and test the actual rendering backend.
We use QQuickWindowPrivate::setRenderWithoutShowing to avoid the need of
showing the window.

* WebKitTestRunner/Target.pri: Had to added a bunch
of modules to be able to use QQuickWindowPrivate.
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::WrapperWindow::handleStatusChanged):
(WTR::PlatformWebView::windowSnapshotImage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131307 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        [WK2] Add SharedWorkerProcess
        https://bugs.webkit.org/show_bug.cgi?id=99218

        Reviewed by Sam Weinig.

        Not yet functional, just some boilerplate code.

        * Configurations/SharedWorkerProcess.xcconfig: Added.

        * DerivedSources.make: Generate message dispatch for SharedWorkerProcess and
        SharedWorkerProcessProxy.

        * Platform/CoreIPC/MessageID.h: Added shared worker messages classes.

        * Scripts/webkit2/messages.py: (struct_or_class):
        SharedWorkerProcessCreationParameters is a struct.

        * Shared/SharedWorkerProcessCreationParameters.cpp: Added.
        * SharedWorkerProcess/Info.plist: Added.
        * SharedWorkerProcess/SharedWorkerProcess.cpp: Added.
        * SharedWorkerProcess/SharedWorkerProcess.h: Added.
        * SharedWorkerProcess/SharedWorkerProcess.messages.in: Added.
        * SharedWorkerProcess/SharedWorkerProcessMain.h: Added.
        * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm: Added.
        * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm: Added.
        * SharedWorkerProcess/mac/com.apple.WebKit.SharedWorkerProcess.sb: Added.
        * UIProcess/SharedWorkers/SharedWorkerProcessManager.cpp: Added.
        * UIProcess/SharedWorkers/SharedWorkerProcessManager.h: Added.
        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp: Added.
        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h: Added.
        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in: Added.
        * WebKit2.xcodeproj/project.pbxproj:
        Added SharedWorkerProcess boilerplate, modeled after PluginProcess.

        * UIProcess/WebProcessProxy.cpp:
        * UIProcess/WebProcessProxy.h:
        * UIProcess/WebProcessProxy.messages.in:
        Added getSharedWorkerProcessConnection() message.

        * WebProcess/WebKitMain.cpp: (WebKitMain):
        * UIProcess/Launcher/ProcessLauncher.cpp:
        (WebKit::ProcessLauncher::processTypeAsString):
        (WebKit::ProcessLauncher::getProcessTypeFromString):
        * UIProcess/Launcher/ProcessLauncher.h:
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::createProcess):
        Added branches for SharedWorkerProcess.

        * Platform/CoreIPC/HandleMessage.h: (CoreIPC::callMemberFunction): Added a version
        for delayed reply messages with two arguments.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131308 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed inspector tests fix.

* http/tests/inspector-enabled/dynamic-scripts-expected.txt:
* http/tests/inspector-enabled/dynamic-scripts.html:
* inspector/debugger/dynamic-scripts-expected.txt:
* inspector/debugger/dynamic-scripts.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix for Mac debug build.

* TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update RenderText to use String instead of UChar* for text
https://bugs.webkit.org/show_bug.cgi?id=96979

Reviewed by Dan Bernstein.

Source/WebCore: 

RenderText now uses a String for text.  It keeps a cached LCHar* or UChar* pointer to the
actual text data for performance.  Added a characterAt() indexed accessor to RenderText to avoid the
somewhat confusing construct for a RenderText* rt, e.g. (*re)[n] or rt->characters()[n].  This is
now written as rt->characterAt(n).
Enabled patch in the HTML parser to create 8 bit text data.  Modified TextRun to create 
text runs using 8 bit string data where possible.  Added several flavors of RenderBlock::constructTextRun
to create TextRuns from RenderText objects including with an offset.  Added an LChar flavor of constructTextRun()
as well.  Eliminated the TextRunFlags argument to all but the String flavor as all other flavors used the default
parameter.  
Encased the code that creates 8 bit TextRun's in #if USE(8BIT_TEXTRUN).  Enabled WTF_USE_8BIT_TEXTRUN
for PLATFORM(MAC).  Other platform can update this setting in Platform.h when their platform specific code is
updated to TextRun's with 8 bit data.
Added many 8/16 bit aware paths.  Cleanup up some int / unsigned confusion in RenderBlockLineLayout.cpp.

No function change therefore no new tests.

* html/parser/HTMLTokenizer.cpp:
(WebCore::vectorEqualsString):
(WebCore::HTMLTokenizer::nextToken):
* html/parser/HTMLTokenizer.h:
(HTMLTokenizer):
* html/track/WebVTTTokenizer.cpp:
(WebCore::vectorEqualsString):
(WebCore::WebVTTTokenizer::nextToken):
* html/track/WebVTTTokenizer.h:
(WebVTTTokenizer):
* platform/graphics/Font.h:
(WebCore::Font::glyphDataForCharacter):
* platform/graphics/FontFastPath.cpp:
(WebCore):
* platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::subRun):
(TextRun):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::TextLayout::isNeeded):
(WebCore::TextLayout::constructTextRun):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
* rendering/InlineIterator.h:
(WebCore::InlineIterator::atTextParagraphSeparator):
(WebCore::InlineIterator::current):
(WebCore::InlineIterator::previousInSameNode):
* rendering/InlineTextBox.cpp:
(WebCore::adjustCharactersAndLengthForHyphen):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::constructTextRun):
* rendering/InlineTextBox.h:
(InlineTextBox):
* rendering/RenderBlock.cpp:
(WebCore::constructTextRunInternal):
(WebCore::RenderBlock::constructTextRun):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::endsWithASCIISpaces):
(WebCore::reachedEndOfTextRenderer):
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
(WebCore::shouldSkipWhitespaceAfterStartObject):
(WebCore::textWidth):
(WebCore::tryHyphenating):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):
* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::getStringToRender):
(WebCore::RenderCombineText::combineText):
* rendering/RenderCombineText.h:
(RenderCombineText):
* rendering/RenderText.cpp:
(SameSizeAsRenderText):
(WebCore::RenderText::RenderText):
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::setTextInternal):
(WebCore::RenderText::width):
* rendering/RenderText.h:
(WebCore::RenderText::is8Bit):
(WebCore::RenderText::characters8):
(WebCore::RenderText::characters16):
(WebCore::RenderText::characterAt):
(WebCore::RenderText::operator[]):
(RenderText):
* xml/parser/MarkupTokenBase.h:
(WebCore::MarkupTokenBase::appendToCharacter):
(MarkupTokenBase):
(WebCore::MarkupTokenBase::isAll8BitData):

Source/WTF: 

Added WTF_USE_8BIT_TEXTRUN to encase code that creates 8 bit TextRun's.  Enabled WTF_USE_8BIT_TEXTRUN
for PLATFORM(MAC).  Other platform can update this setting in Platform.h when their platform specific use of
TextRun handle 8 bit data.  Added a new Vector::appendVector to allow appending the contents of a vector
containing one type to the end of vector containing another.  This is used to append a Vector<LChar> to
the end of a Vector<UChar>.

* wtf/Platform.h:
* wtf/Vector.h:
(Vector):
(WTF::Vector::appendVector):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][EWebLauncher] Add encoding detector option.
https://bugs.webkit.org/show_bug.cgi?id=98726

Patch by Kangil Han <kangil.han@samsung.com> on 2012-10-15
Reviewed by Gyuyoung Kim.

Added an option to test WebCore's encoding detector functionality on EWebLauncher.
With this patch, EWebLauncher would display text correctly even if web page wouldn't specify charset information.

* EWebLauncher/main.c:
(_User_Arguments):
(windowCreate):
(parseUserArguments):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make CSS variable names case-insensitive.
https://bugs.webkit.org/show_bug.cgi?id=98712

Reviewed by Tony Chang.

Source/WebCore:

This patch modifies the parser to normalize all variable names to lower case,
making variable definitions consistent with other property names, which are also case insensitive.
Spec: http://dev.w3.org/csswg/css-variables/#defining-variables

Test: fast/css/variables/case-insensitive.html

* css/CSSParser.cpp:
(WebCore::CSSParser::createPrimitiveNumericValue):
(WebCore):
(WebCore::CSSParser::createPrimitiveVariableNameValue):
(WebCore::CSSParser::parseValidPrimitive):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::storeVariableDeclaration):
(WebCore::CSSParserString::lowerSubstring):
Added function to compute a lower case substring as an AtomicString from a CSSParserString.
* css/CSSParser.h:
(CSSParser):
* css/CSSParserValues.h:
(CSSParserString):
(WebCore::CSSParserString::lowerSubstring):

LayoutTests:

Add test that variable names are match correctly when different case is used.

* fast/css/variables/case-insensitive-expected.html: Added.
* fast/css/variables/case-insensitive.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131313 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Clean up BackingStoreClient (part II)
https://bugs.webkit.org/show_bug.cgi?id=99327

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>

Remove more unneeded BackingStoreClient <-> WebPageClient integration
methods:
- BackingStoreClient* backingStoreClientForFrame(...)
- void addBackingStoreClientForFrame(...)
- void removeBackingStoreClientForFrame(...)

Change places calling WPPriv::backingStoreClientForFrame to directly
access WPPriv::backingStoreClient instead, since only the main frame will
have a BackingStoreClient instance associated with it, and it is owned by
the WKPriv.

Remove non-mainframe only references to BackingStoreClient completely,
since it is dead code now.

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::backingStoreClient):
(BlackBerry::WebKit::WebPage::destroy):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::invalidateContentsForSlowScroll):
(WebCore::ChromeClientBlackBerry::scroll):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
(WebCore::FrameLoaderClientBlackBerry::createFrame):
(WebCore::FrameLoaderClientBlackBerry::detachedFromParent2):
* WebKitSupport/BackingStoreClient.cpp:
(BlackBerry::WebKit::BackingStoreClient::create):
(BlackBerry::WebKit::BackingStoreClient::BackingStoreClient):
(BlackBerry::WebKit::BackingStoreClient::~BackingStoreClient):
* WebKitSupport/BackingStoreClient.h:
(BackingStoreClient):
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::setBatchEditingActive):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Calling WebCore::SharedBuffer::append(data, 0) on a shared buffer when
its current position is at a segment boundary (4096) ends up adding an
unitialized segment (with uninitialized memory) to the SharedBuffer.
https://bugs.webkit.org/show_bug.cgi?id=99000

Reviewed by Adam Barth.

Source/WebCore:

* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::append):

LayoutTests:

* mhtml/shared_buffer_bug-expected.txt: Added.
* mhtml/shared_buffer_bug.mht: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Adapt to Platform API changes in string handling
https://bugs.webkit.org/show_bug.cgi?id=99248

Reviewed by Yong Li.

Convert usage of WebString, char* and std::string to BlackBerry::Platform::String.

Source/WebCore:

* html/track/TextTrack.cpp:
(WebCore::TextTrack::TextTrack): Fix the build for BlackBerry.
* page/blackberry/SettingsBlackBerry.cpp:
(WebCore):
(WebCore::Settings::initializeDefaultFontFamilies):
* platform/blackberry/LocalizedStringsBlackBerry.cpp:
* platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writeURL):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::plainText):
(WebCore::Pasteboard::documentFragment):
* platform/blackberry/ReadOnlyLatin1String.h: Removed.
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::getSupportedTypes):
(WebCore::MediaPlayerPrivate::supportsType):
(WebCore::MediaPlayerPrivate::setCertificatePath):
(WebCore::MediaPlayerPrivate::load):
(WebCore::generateProtectionSpaceFromMMRAuthChallenge):
(WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
(WebCore::MediaPlayerPrivate::onAuthenticationAccepted):
(WebCore::MediaPlayerPrivate::lookupMediaStream):
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
(MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::engineDescription):
* platform/network/blackberry/DNSBlackBerry.cpp:
(WebCore::prefetchDNS):
* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::initialize):
(WebCore::NetworkJob::notifyStatusReceived):
(WebCore::NetworkJob::notifyHeadersReceived):
(WebCore::NetworkJob::handleNotifyClose):
(WebCore::NetworkJob::sendRequestWithCredentials):
* platform/network/blackberry/NetworkJob.h:
(NetworkJob):
* platform/network/blackberry/NetworkManager.cpp:
(WebCore::NetworkManager::startJob):
* platform/network/blackberry/ResourceRequestBlackBerry.cpp:
(WebCore::ResourceRequest::initializePlatformRequest):
* platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
(WebCore::SocketStreamHandle::SocketStreamHandle):
* platform/text/blackberry/StringBlackBerry.cpp:
(WTF::String::String):
(WTF::String::operator BlackBerry::Platform::String):
* platform/text/blackberry/TextBreakIteratorInternalICUBlackBerry.cpp:

Source/WebKit:

* PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

* Api/BlackBerryGlobal.cpp:
(BlackBerry::WebKit::clearAppCache):
(BlackBerry::WebKit::clearDatabase):
* Api/BlackBerryGlobal.h:
(Platform):
(WebKit):
* Api/JavaScriptVariant.cpp:
(BlackBerry::WebKit::JSValueRefToBlackBerryJavaScriptVariant):
(BlackBerry::WebKit::BlackBerryJavaScriptVariantToJSValueRef):
(BlackBerry::WebKit::JavaScriptVariant::JavaScriptVariant):
(WebKit):
(BlackBerry::WebKit::JavaScriptVariant::~JavaScriptVariant):
(BlackBerry::WebKit::JavaScriptVariant::setType):
(BlackBerry::WebKit::JavaScriptVariant::setString):
(BlackBerry::WebKit::JavaScriptVariant::stringValue):
* Api/JavaScriptVariant.h:
* Api/WebAnimation.cpp:
(BlackBerry::WebKit::WebAnimation::fadeAnimation):
(BlackBerry::WebKit::WebAnimation::name):
* Api/WebAnimation.h:
* Api/WebCookieJar.cpp:
(BlackBerry::WebKit::WebCookieJar::cookies):
(BlackBerry::WebKit::WebCookieJar::setCookies):
* Api/WebCookieJar.h:
(Platform):
(BlackBerry):
(WebKit):
* Api/WebKitMIMETypeConverter.cpp:
(BlackBerry::WebKit::getExtensionForMimeType):
(BlackBerry::WebKit::getMimeTypeForExtension):
* Api/WebKitMIMETypeConverter.h:
(Platform):
(BlackBerry):
(WebKit):
* Api/WebKitTextCodec.cpp:
(BlackBerry::WebKit::base64Decode):
(BlackBerry::WebKit::base64Encode):
(BlackBerry::WebKit::unescapeURL):
(BlackBerry::WebKit::escapeURL):
* Api/WebKitTextCodec.h:
(Platform):
(BlackBerry):
* Api/WebOverlay.cpp:
(BlackBerry::WebKit::WebOverlay::removeAnimation):
* Api/WebOverlay.h:
(Platform):
(BlackBerry):
(WebKit):
* Api/WebOverlayOverride.cpp:
(BlackBerry::WebKit::WebOverlayOverride::removeAnimation):
* Api/WebOverlayOverride.h:
(Platform):
(BlackBerry):
(WebKit):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::autofillTextField):
(BlackBerry::WebKit::WebPage::renderTreeAsText):
(BlackBerry::WebKit::WebPage::WebPage):
(BlackBerry::WebKit::WebPagePrivate::init):
(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPage::load):
(BlackBerry::WebKit::WebPage::loadFile):
(BlackBerry::WebKit::WebPage::download):
(BlackBerry::WebKit::WebPagePrivate::loadString):
(BlackBerry::WebKit::WebPage::loadString):
(BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
(BlackBerry::WebKit::WebPage::executeJavaScript):
(BlackBerry::WebKit::WebPagePrivate::executeJavaScriptInIsolatedWorld):
(BlackBerry::WebKit::WebPage::executeJavaScriptInIsolatedWorld):
(BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
(BlackBerry::WebKit::WebPagePrivate::addOriginAccessWhitelistEntry):
(BlackBerry::WebKit::WebPage::addOriginAccessWhitelistEntry):
(BlackBerry::WebKit::WebPagePrivate::removeOriginAccessWhitelistEntry):
(BlackBerry::WebKit::WebPage::removeOriginAccessWhitelistEntry):
(BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
(BlackBerry::WebKit::WebPagePrivate::syncProxyCredential):
(BlackBerry::WebKit::WebPagePrivate::notifyPopupAutofillDialog):
(BlackBerry::WebKit::WebPagePrivate::webContext):
(BlackBerry::WebKit::WebPage::setDateTimeInput):
(BlackBerry::WebKit::WebPage::setColorInput):
(BlackBerry::WebKit::WebPage::textEncoding):
(BlackBerry::WebKit::WebPage::forcedTextEncoding):
(BlackBerry::WebKit::WebPage::setForcedTextEncoding):
(BlackBerry::WebKit::WebPage::title):
(BlackBerry::WebKit::WebPage::selectedText):
(BlackBerry::WebKit::WebPage::cutSelectedText):
(BlackBerry::WebKit::WebPage::insertText):
(BlackBerry::WebKit::WebPage::getBackForwardList):
(BlackBerry::WebKit::WebPage::onCertificateStoreLocationSet):
(BlackBerry::WebKit::WebPage::dispatchInspectorMessage):
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
(BlackBerry::WebKit::WebPage::textHasAttribute):
(BlackBerry::WebKit::WebPage::setAllowNotification):
(BlackBerry::WebKit::WebPagePrivate::defaultUserAgent):
* Api/WebPage.h:
* Api/WebPageClient.h:
* Api/WebPage_p.h:
(WebPagePrivate):
* Api/WebSettings.cpp:
(BlackBerry::WebKit::WebSettings::standardSettings):
(BlackBerry::WebKit::WebSettings::addSupportedObjectPluginMIMEType):
(BlackBerry::WebKit::WebSettings::isSupportedObjectMIMEType):
(BlackBerry::WebKit::WebSettings::serifFontFamily):
(BlackBerry::WebKit::WebSettings::setSerifFontFamily):
(BlackBerry::WebKit::WebSettings::fixedFontFamily):
(BlackBerry::WebKit::WebSettings::setFixedFontFamily):
(BlackBerry::WebKit::WebSettings::sansSerifFontFamily):
(BlackBerry::WebKit::WebSettings::setSansSerifFontFamily):
(BlackBerry::WebKit::WebSettings::standardFontFamily):
(BlackBerry::WebKit::WebSettings::setStandardFontFamily):
(BlackBerry::WebKit::WebSettings::userAgentString):
(BlackBerry::WebKit::WebSettings::setUserAgentString):
(BlackBerry::WebKit::WebSettings::defaultTextEncodingName):
(BlackBerry::WebKit::WebSettings::setDefaultTextEncodingName):
(BlackBerry::WebKit::WebSettings::userStyleSheetString):
(BlackBerry::WebKit::WebSettings::setUserStyleSheetString):
(BlackBerry::WebKit::WebSettings::userStyleSheetLocation):
(BlackBerry::WebKit::WebSettings::setUserStyleSheetLocation):
(BlackBerry::WebKit::WebSettings::localStoragePath):
(BlackBerry::WebKit::WebSettings::setLocalStoragePath):
(BlackBerry::WebKit::WebSettings::indexedDataBasePath):
(BlackBerry::WebKit::WebSettings::setIndexedDataBasePath):
(BlackBerry::WebKit::WebSettings::databasePath):
(BlackBerry::WebKit::WebSettings::setDatabasePath):
(BlackBerry::WebKit::WebSettings::appCachePath):
(BlackBerry::WebKit::WebSettings::setAppCachePath):
(BlackBerry::WebKit::WebSettings::pageGroupName):
(BlackBerry::WebKit::WebSettings::setPageGroupName):
* Api/WebSettings.h:
* Api/WebString.cpp: Removed.
* Api/WebString.h: Removed.
* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::runJavaScriptPrompt):
(WebCore::ChromeClientBlackBerry::createWindow):
(WebCore::ChromeClientBlackBerry::runOpenPanel):
(WebCore):
* WebCoreSupport/ChromeClientBlackBerry.h:
(ChromeClientBlackBerry):
* WebCoreSupport/ClientExtension.cpp:
(clientExtensionMethod):
* WebCoreSupport/ColorPickerClient.cpp:
(WebCore::ColorPickerClient::ColorPickerClient):
(WebCore::ColorPickerClient::generateHTML):
* WebCoreSupport/ColorPickerClient.h:
(Platform):
(BlackBerry):
(WebKit):
(ColorPickerClient):
* WebCoreSupport/CredentialManager.cpp:
(WebCore::CredentialManager::autofillAuthenticationChallenge):
* WebCoreSupport/CredentialManager.h:
(Platform):
(CredentialManager):
* WebCoreSupport/DatePickerClient.cpp:
(WebCore::DatePickerClient::DatePickerClient):
(WebCore::DatePickerClient::generateHTML):
* WebCoreSupport/DatePickerClient.h:
(Platform):
(BlackBerry):
(WebKit):
(DatePickerClient):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForResponse):
(WebCore::FrameLoaderClientBlackBerry::createDocumentLoader):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchCreatePage):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
(WebCore::FrameLoaderClientBlackBerry::loadIconExternally):
(WebCore::FrameLoaderClientBlackBerry::startDownload):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveIcon):
* WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
* WebCoreSupport/NotificationPresenterImpl.cpp:
(WebCore::NotificationPresenterImpl::show):
(WebCore::NotificationPresenterImpl::cancel):
(WebCore::NotificationPresenterImpl::requestPermission):
(WebCore::NotificationPresenterImpl::onPermission):
(WebCore::NotificationPresenterImpl::notificationClicked):
* WebCoreSupport/NotificationPresenterImpl.h:
(Platform):
(NotificationPresenterImpl):
* WebCoreSupport/SelectPopupClient.cpp:
(WebCore::SelectPopupClient::SelectPopupClient):
(WebCore::SelectPopupClient::update):
(WebCore::SelectPopupClient::generateHTML):
* WebCoreSupport/SelectPopupClient.h:
(Platform):
(BlackBerry):
(SelectPopupClient):
* WebCoreSupport/UserMediaClientImpl.cpp:
(WebCore::toMediaStreamSource):
(WebCore::toMediaStreamDescriptor):
(WebCore::UserMediaClientImpl::requestUserMedia):
(WebCore::UserMediaClientImpl::cancelUserMediaRequest):
* WebKitSupport/AboutData.cpp:
(BlackBerry::WebKit::cachePage):
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::convertStringToWchar):
(BlackBerry::WebKit::convertStringToWcharVector):
(BlackBerry::WebKit::convertSpannableStringToString):
(BlackBerry::WebKit::InputHandler::learnText):
(BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
(BlackBerry::WebKit::InputHandler::openDatePopup):
(BlackBerry::WebKit::InputHandler::openSelectPopup):
(BlackBerry::WebKit::InputHandler::setText):
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectedText):
* WebKitSupport/SelectionHandler.h:
(Platform):
(WebKit):
(SelectionHandler):
* WebKitSupport/SurfacePool.cpp:
(BlackBerry::WebKit::SurfacePool::sharedPixmapGroup):
* WebKitSupport/SurfacePool.h:
(SurfacePool):

Source/WTF:

* wtf/Assertions.cpp: Use proper log function.
* wtf/text/AtomicString.h: Add BlackBerry support
(AtomicString):
(WTF::AtomicString::AtomicString): Add BlackBerry Support
(WTF::AtomicString::operator BlackBerry::Platform::String):
* wtf/text/StringImpl.h: Conversion support.
* wtf/text/WTFString.h: Conversion support.
(Platform):
(String):

Tools:

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::DumpRenderTree::runTest):
* DumpRenderTree/blackberry/WorkQueueItemBlackBerry.cpp:
(LoadHTMLStringItem::invoke):
(ScriptItem::invoke):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSP source expressions should support paths at file-level granularity.
https://bugs.webkit.org/show_bug.cgi?id=99250

Reviewed by Adam Barth.

Source/WebCore:

After a bit of discussion on public-webappsec[1], path support for CSP
source expressions has been tuned to support file-level granularity. In
particular, this means that:

- 'example.com/js' matches a file named 'js'
- 'example.com/js/' matches all files under a directory named 'js'
  (note the trailing slash)
- 'example.com/js/file.js' matches only a file named 'file.js'
  inside a directory named 'js'

Though this is part of the CSP 1.1 spec, it continues to be exposed
outside the CSP_NEXT flag for back-compatibility.

Test cases have been added to the existing
http/tests/security/contentSecurityPolicy/source-list-parsing-paths-*
in order ensure that the new functionality works correctly.

* page/ContentSecurityPolicy.cpp:
(WebCore::CSPSource::pathMatches):
    If the path ends with '/', do a prefix check. If not, check for an
    exact match.
(WebCore::CSPSourceList::parsePath):
    Don't automatically append a '/' to paths.

LayoutTests:

* http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01.html:
    Adjust tests by adding trailing slashes to source expressions that
    should match directories.
* http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02-expected.txt:
* http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html:
    Adjust tests to check the new behavior: matching individiual files,
    and matching directories only with a trailing '/'.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131317 268f45cc-cd09-0410-ab3c-d52691b4dbfc
We should avoid weakCompareAndSwap when parallel GC is disabled
https://bugs.webkit.org/show_bug.cgi?id=99331

Reviewed by Filip Pizlo.

CopiedBlock::reportLiveBytes and didEvacuateBytes uses weakCompareAndSwap, which some platforms 
don't support. For platforms that don't have parallel GC enabled, we should just use a normal store.

* heap/CopiedBlock.h:
(JSC::CopiedBlock::reportLiveBytes):
(JSC::CopiedBlock::didEvacuateBytes):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test inspector/debugger/dynamic-scripts.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=99338

Unreviewed gardening.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JIT::JIT fails to initialize all of its fields
https://bugs.webkit.org/show_bug.cgi?id=99283

Reviewed by Andreas Kling.

There were two groups of such fields, all of which are eventually initialized
prior to use inside of privateCompile(). But it's safer to make sure that they
are initialized in the constructor as well, since we may use the JIT to do a
stub compile without calling into privateCompile().
        
Unsigned index fields for dynamic repatching meta-data: this change
initializes them to UINT_MAX, so we should crash if we try to use those
indices without initializing them.
        
Boolean flags for value profiling: this change initializes them to false, so
we at worst turn off value profiling.

* jit/JIT.cpp:
(JSC::JIT::JIT):



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