WebKit-https.git
7 years ago[WK2] Make the WebNetworkInfoManager a supplement to the WebProcess
zandobersek@gmail.com [Wed, 8 May 2013 08:06:00 +0000 (08:06 +0000)]
[WK2] Make the WebNetworkInfoManager a supplement to the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=115716

Reviewed by Andreas Kling.

WebNetworkInfoManager should inherit from WebProcessSupplement and should be used
as such by the WebProcess. This removes the need for the m_networkInfoManager member
variable in the WebProcess class and brings the WebNetworkInfoManager in line with
other manager classes of which instances are controlled by the WebProcess class.

* WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
(WebKit::WebNetworkInfoManager::supplementName): Specify the supplement's name.
(WebKit):
* WebProcess/NetworkInfo/WebNetworkInfoManager.h:
(WebKit): Alphabetically reorder the two forwarding declarations.
(WebNetworkInfoManager): Inherit from the WebProcessSupplement interface.
* WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp:
(WebKit::WebNetworkInfoClient::bandwidth): Access the WebNetworkInfoManager as a supplement.
(WebKit::WebNetworkInfoClient::metered): Ditto.
(WebKit::WebNetworkInfoClient::startUpdating): Ditto.
(WebKit::WebNetworkInfoClient::stopUpdating): Ditto.
(WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed): Ditto.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess): Add the WebNetworkInfoManager instance as a supplement.
* WebProcess/WebProcess.h:
(WebProcess): Remove the m_networkInfoManager member variable and its getter method.

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

7 years ago[EFL] Correct documentation for ewk_settings APIs
commit-queue@webkit.org [Wed, 8 May 2013 08:02:28 +0000 (08:02 +0000)]
[EFL] Correct documentation for ewk_settings APIs
https://bugs.webkit.org/show_bug.cgi?id=115507

Patch by Jose Lejin PJ <jose.lejin@gmail.com> on 2013-05-08
Reviewed by Gyuyoung Kim.

Corrected documentation for ewk_settings APIs.

* ewk/ewk_settings.h:

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

7 years agoRemove unused method and de-virtualize others in Element.h
rniwa@webkit.org [Wed, 8 May 2013 07:58:17 +0000 (07:58 +0000)]
Remove unused method and de-virtualize others in Element.h
https://bugs.webkit.org/show_bug.cgi?id=115770

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/c2c2ff9cb69f46f5cc9d289b2bfbdb8ab5bd3e49

The de-virtualization possibilities were noted whilst "FINALizing" the Node
hierarchy. If a method is successfully marked FINAL but then fails when marked
OVERRIDE as well, the method by definition does not need to be virtual.

* WebCore.exp.in:
* dom/Element.h:
(WebCore::Element::hasAuthorShadowRoot):

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

7 years ago[WK2] Make the WebBatteryManager a supplement to the WebProcess
zandobersek@gmail.com [Wed, 8 May 2013 07:51:48 +0000 (07:51 +0000)]
[WK2] Make the WebBatteryManager a supplement to the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=115715

Reviewed by Andreas Kling.

WebBatteryManager should inherit from WebProcessSupplement and should be used as such
by the WebProcess. This removes the need for the m_batteryManager member variable in
the WebProcess class and brings the WebBatteryManager in line with other manager classes
of which instances are controlled by the WebProcess class.

* WebProcess/Battery/WebBatteryManager.cpp:
(WebKit::WebBatteryManager::supplementName): Specify the supplement's name.
(WebKit):
* WebProcess/Battery/WebBatteryManager.h:
(WebBatteryManager): Inherit from the WebProcessSupplement interface.
* WebProcess/WebCoreSupport/WebBatteryClient.cpp:
(WebKit::WebBatteryClient::startUpdating): Access the WebBatteryManager as a supplement.
(WebKit::WebBatteryClient::stopUpdating): Ditto.
(WebKit::WebBatteryClient::batteryControllerDestroyed): Ditto.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess): Add the WebBatteryManager instance as a supplement.
* WebProcess/WebProcess.h:
(WebProcess): Remove the m_batteryManager member variable and its getter method.

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

7 years agoSource/WebCore: Use adoptCF and adoptNS in more places
darin@apple.com [Wed, 8 May 2013 07:40:11 +0000 (07:40 +0000)]
Source/WebCore: Use adoptCF and adoptNS in more places
https://bugs.webkit.org/show_bug.cgi?id=115657

Reviewed by Sam Weinig.

This is similar to my last set of changes, but covers code that I missed with
global replace using the Safari Xcode workspace.

* platform/cf/win/CertificateCFWin.cpp:
(WebCore::copyCertificateToData):
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
(WebCore::MediaPlayerPrivateAVFoundationCF::totalBytes):
(WebCore::mimeTypeCache):
(WebCore::MediaPlayerPrivateAVFoundationCF::tracksChanged):
(WebCore::MediaPlayerPrivateAVFoundationCF::sizeChanged):
(WebCore::AVFWrapper::createAssetForURL):
(WebCore::AVFWrapper::createPlayer):
(WebCore::AVFWrapper::createPlayerItem):
(WebCore::AVFWrapper::setAsset):
(WebCore::AVFWrapper::platformLayer):
(WebCore::AVFWrapper::createAVCFVideoLayer):
(WebCore::AVFWrapper::createImageGenerator):
* platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
(WebCore::InbandTextTrackPrivateLegacyAVFObjC::language):
* platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
(toCACFTimingFunction):
(PlatformCAAnimation::PlatformCAAnimation):
(PlatformCAAnimation::setFromValue):
(PlatformCAAnimation::setToValue):
(PlatformCAAnimation::setValues):
(PlatformCAAnimation::setKeyTimes):
(PlatformCAAnimation::setTimingFunctions):
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayer::PlatformCALayer):
(PlatformCALayer::setBackgroundColor):
(PlatformCALayer::setBorderColor):
* platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
(PlatformCALayerWinInternal::PlatformCALayerWinInternal):
(PlatformCALayerWinInternal::addTile):
* platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
(WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost):
* platform/graphics/gstreamer/PlatformVideoWindowMac.mm:
(PlatformVideoWindow::PlatformVideoWindow):
* platform/graphics/win/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/win/FontPlatformDataCGWin.cpp:
(WebCore::getPostScriptName):
(WebCore::FontPlatformData::platformDataInit):
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::drawWindowsBitmap):
* platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::create):
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
(WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::rfc2616DateStringFromTime):
(WebCore::QTCFDictionaryCreateWithDataCallback):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
* platform/graphics/win/WKCAImageQueue.cpp:
(WebCore::WKCAImageQueue::WKCAImageQueue):
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::qcmsOutputDeviceProfile):
* platform/network/cf/AuthenticationCF.cpp:
(WebCore::core):
* platform/network/cf/CookieJarCFNet.cpp:
(WebCore::cookieDomain):
(WebCore::cookieName):
(WebCore::cookiePath):
(WebCore::cookieValue):
(WebCore::filterCookies):
(WebCore::setCookiesFromDOM):
(WebCore::cookiesForDOM):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::certificatePath):
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::urlFromPath):
(WebCore::getURL):
* platform/win/LocalizedStringsWin.cpp:
(WebCore::createWebKitBundle):
(WebCore::localizedString):
* platform/win/SearchPopupMenuWin.cpp:
(WebCore::SearchPopupMenuWin::saveRecentSearches):
(WebCore::SearchPopupMenuWin::loadRecentSearches):
* plugins/mac/PluginPackageMac.cpp:
(WebCore::stringListFromResourceId):
(WebCore::PluginPackage::fetchInfo):
(WebCore::PluginPackage::load):
* plugins/mac/PluginViewMac.mm:
(WebCore::PluginView::platformStart):
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::platformFocusRingColor):
(WebCore::RenderThemeSafari::paintMenuListButtonGradients):
(WebCore::RenderThemeSafari::paintSliderTrack):
Use adoptCF and adoptNS throughout.

Source/WebKit/win: Use adoptCF and adoptNS in more places
https://bugs.webkit.org/show_bug.cgi?id=115657

Reviewed by Sam Weinig.

This is similar to my last set of changes, but covers code that I missed with
global replace using the Safari Xcode workspace.

* CFDictionaryPropertyBag.cpp:
(CFDictionaryPropertyBag::Write):
* WebCache.cpp:
(WebCache::statistics):
* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDidFailToStartPlugin):
* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorClient::openInspectorFrontend):
(WebInspectorFrontendClient::localizedStringsURL):
* WebDatabaseManager.cpp:
(WebDatabaseManager::dispatchDidModifyDatabase):
* WebDownloadCFNet.cpp:
(WebDownload::init):
(WebDownload::initWithRequest):
(WebDownload::initToResumeWithBundle):
(WebDownload::cancelForResume):
(WebDownload::useCredential):
(WebDownload::didReceiveAuthenticationChallenge):
* WebError.cpp:
(WebError::sslPeerCertificate):
* WebHistory.cpp:
(createUserInfoFromArray):
(createUserInfoFromHistoryItem):
(WebHistory::WebHistory):
(WebHistory::loadFromURL):
(WebHistory::loadHistoryGutsFromURL):
(WebHistory::saveToURL):
(WebHistory::saveHistoryGuts):
(WebHistory::removeAllItems):
(WebHistory::removeItem):
(WebHistory::addItem):
(WebHistory::itemForURL):
(WebHistory::addItemToDateCaches):
(getDayBoundaries):
* WebIconDatabase.cpp:
(postDidAddIconNotification):
* WebLocalizableStrings.cpp:
(cfBundleForStringsBundle):
* WebMutableURLRequest.cpp:
(WebMutableURLRequest::mutableCopy):
* WebPreferences.cpp:
(cfNumber):
(WebPreferences::initializeDefaultSettings):
(WebPreferences::valueForKey):
(WebPreferences::setStringValue):
(WebPreferences::load):
(WebPreferences::migrateWebKitPreferencesToCFPreferences):
(WebPreferences::setPreferenceForTest):
* WebView.cpp:
(WebView::setCacheModel):
(WebView::notifyPreferencesChanged):
Use adoptCF and adoptNS.

Source/WebKit2: Use adoptCF and adoptNS in more places
https://bugs.webkit.org/show_bug.cgi?id=115657

Reviewed by Sam Weinig.

* Shared/Downloads/cfnet/DownloadCFNet.cpp:
(WebKit::Download::useCredential):
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
(WebKit::Download::cancel):
(WebKit::Download::didDecideDestination):
Use adoptCF and adoptNS.

Tools: Use adoptCF and adoptNS in more places, test code and code not compiled on Mac
https://bugs.webkit.org/show_bug.cgi?id=115657

Reviewed by Sam Weinig.

This is similar to my last set of changes, but covers code that I missed with
global replace using the Safari Xcode workspace.

* DumpRenderTree/cf/WebArchiveDumpSupport.cpp:
(convertWebResourceDataToString):
(convertWebResourceResponseToDictionary):
(createXMLStringFromWebArchiveData):
* DumpRenderTree/cg/ImageDiffCG.cpp:
(createImageFromStdin):
(createDifferenceImage):
(main):
* DumpRenderTree/cg/PixelDumpSupportCG.cpp:
(printPNG):
(dumpBitmap):
* DumpRenderTree/cg/PixelDumpSupportCG.h:
(BitmapContext::BitmapContext):
* DumpRenderTree/mac/MockWebNotificationProvider.mm:
(-[MockWebNotificationProvider init]):
* DumpRenderTree/mac/PixelDumpSupportMac.mm:
(createBitmapContext):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::addDisallowedURL):
(TestRunner::applicationCacheDiskUsageForOrigin):
(TestRunner::localStorageDiskUsageForOrigin):
(TestRunner::clearApplicationCacheForOrigin):
(TestRunner::deleteLocalStorageForOrigin):
(TestRunner::copyDecodedHostName):
(TestRunner::copyEncodedHostName):
(TestRunner::queueLoad):
(TestRunner::setDomainRelaxationForbiddenForURLScheme):
(TestRunner::setMockGeolocationPositionUnavailableError):
(TestRunner::setUserStyleSheetLocation):
(TestRunner::setValueForUser):
(TestRunner::overridePreference):
(TestRunner::setPersistentUserStyleSheetLocation):
(TestRunner::execCommand):
(TestRunner::findString):
(TestRunner::isCommandEnabled):
(TestRunner::addOriginAccessWhitelistEntry):
(TestRunner::removeOriginAccessWhitelistEntry):
(TestRunner::addUserScript):
(TestRunner::addUserStyleSheet):
(TestRunner::evaluateInWebInspector):
(TestRunner::evaluateScriptInIsolatedWorld):
(TestRunner::apiTestNewWindowDataLoadBaseURL):
(-[SynchronousLoader connection:didReceiveAuthenticationChallenge:]):
(TestRunner::authenticateSession):
(TestRunner::grantWebNotificationPermission):
(TestRunner::denyWebNotificationPermission):
* DumpRenderTree/mac/WebArchiveDumpSupportMac.mm:
(createCFURLResponseFromResponseData):
* DumpRenderTree/mac/WorkQueueItemMac.mm:
(LoadItem::invoke):
(LoadHTMLStringItem::invoke):
(ScriptItem::invoke):
* DumpRenderTree/win/DumpRenderTree.cpp:
(substringFromIndex):
(urlSuitableForTestResult):
(lastPathComponent):
(sharedCFURLCache):
* DumpRenderTree/win/ImageDiffCairo.cpp:
(createImageFromStdin):
(main):
* DumpRenderTree/win/PixelDumpSupportWin.cpp:
(createBitmapContextFromWebView):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setUserStyleSheetLocation):
(TestRunner::setPersistentUserStyleSheetLocation):
* TestWebKitAPI/Tests/CustomProtocolsSyncXHRTest.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/TestWebKitAPI/mac/InstanceMethodSwizzler.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/cf/RetainPtrHashing.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/FindMatches.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/WebArchive.cpp:
(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
* TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor.mm:
(TestWebKitAPI::createWindow):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/win/DoNotCopyANullCFURLResponse.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm:
(TestWebKitAPI::AcceptsFirstMouse::runTest):
* TestWebKitAPI/Tests/mac/AttributedString.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/BackForwardList.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/CancelLoadFromResourceLoadDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/DOMHTMLTableCellCellAbove.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/DOMRangeOfString.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/DeviceScaleFactorInDashboardRegions.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/DeviceScaleFactorOnBack.mm:
(TestWebKitAPI::DeviceScaleFactorOnBack::createWindow):
* TestWebKitAPI/Tests/mac/DynamicDeviceScaleFactor.mm:
(TestWebKitAPI::DynamicDeviceScaleFactor::createWindow):
* TestWebKitAPI/Tests/mac/HTMLCollectionNamedItem.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/HTMLFormCollectionNamedItem.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/InspectorBar.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/MemoryCacheDisableWithinResourceLoadDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/MemoryCachePruneWithinResourceLoadDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
(TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):
* TestWebKitAPI/Tests/mac/RenderedImageFromDOMRange.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/SetAndUpdateCacheModel.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/SetDocumentURI.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/StringByEvaluatingJavaScriptFromString.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/WillSendSubmitEvent.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/WindowlessWebViewWithMedia.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/mac/PlatformUtilitiesMac.mm:
(TestWebKitAPI::Util::MIMETypeForWKURLResponse):
* TestWebKitAPI/mac/WebKitAgnosticTest.mm:
(TestWebKitAPI::WebKitAgnosticTest::runWebKit1Test):
(TestWebKitAPI::WebKitAgnosticTest::runWebKit2Test):
* WebKitTestRunner/InjectedBundle/mac/InjectedBundlePageMac.mm:
(WTR::testPathFromURL):
* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
* WebKitTestRunner/cg/TestInvocationCG.cpp:
(WTR::createCGContextFromImage):
(WTR::dumpBitmap):
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseScrollBy):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::windowSnapshotImage):
* WebKitTestRunner/win/TestControllerWin.cpp:
(WTR::TestController::initializeTestPluginDirectory):
Use adoptCF and adoptNS.

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

7 years agoAdd an image only failure expectation to fast/css-generated-content/close-quote-negat...
rniwa@webkit.org [Wed, 8 May 2013 07:05:27 +0000 (07:05 +0000)]
Add an image only failure expectation to fast/css-generated-content/close-quote-negative-depth.html per
bug 115776 after r149700. r149707 tried to fix its regression but this test is still failing.

* TestExpectations:

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

7 years ago[Automake] Pass --no-demangle to the linker by default to get the mangled symbols
zandobersek@gmail.com [Wed, 8 May 2013 07:03:55 +0000 (07:03 +0000)]
[Automake] Pass --no-demangle to the linker by default to get the mangled symbols
https://bugs.webkit.org/show_bug.cgi?id=115732

Reviewed by Gustavo Noronha Silva.

* GNUmakefile.am: Pass the --no-demangle option to the linker by default. This is done by appending
the flag to the LDFLAGS variable. While the AM_LDFLAGS variable would be more appropriate, it's not
at all used when linking installable libraries like libwebkitgtk and libwebkit2gtk, so the LDFLAGS
variable is used instead.

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

7 years ago<rdar://problem/13633007> WebKit and others fail to build headers due to build root...
mrowe@apple.com [Wed, 8 May 2013 07:00:31 +0000 (07:00 +0000)]
<rdar://problem/13633007> WebKit and others fail to build headers due to build root dependency

Reviewed by Sam Weinig.

* Configurations/WebKit.xcconfig: Look for WebCore's headers within the SDK if we're building against one.

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

7 years ago[EFL] Remove the ewk_settings_shadow_dom_enable_set/get APIs from unit test
commit-queue@webkit.org [Wed, 8 May 2013 06:24:33 +0000 (06:24 +0000)]
[EFL] Remove the ewk_settings_shadow_dom_enable_set/get APIs from unit test
https://bugs.webkit.org/show_bug.cgi?id=115771

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-05-07
Reviewed by Gyuyoung Kim.

Unit test is failing since r149702. Remove the test case related to shadow dom.

* tests/test_ewk_setting.cpp:

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

7 years agoClean up load interface in WebPage
commit-queue@webkit.org [Wed, 8 May 2013 05:08:32 +0000 (05:08 +0000)]
Clean up load interface in WebPage
https://bugs.webkit.org/show_bug.cgi?id=115622
Patch by Xuefei Ren <xren@blackberry.com> on 2013-05-07
Reviewed by Rob Buis.

Internal PR:315535
Internal reviewed by  Mary Wu

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPage::loadFile):
(BlackBerry::WebKit::WebPage::load):
* Api/WebPage.h:
* Api/WebPage_p.h:
(WebPagePrivate):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::startDownload):

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

7 years agoMake CanvasStyle's CMYKAValues allocated on the heap and move the pointer in the...
benjamin@webkit.org [Wed, 8 May 2013 03:18:12 +0000 (03:18 +0000)]
Make CanvasStyle's CMYKAValues allocated on the heap and move the pointer in the union.
https://bugs.webkit.org/show_bug.cgi?id=115764

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-05-07
Reviewed by Andreas Kling.

CMYKA input is uncommon enough that we should not pay the price for
every CanvasStyle.
Make those values heap allocated and put the pointer in the union. Since
the RGBA32 values are needed for CMYKA, a RGBA32 value is added to the structure.

* html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::CanvasStyle):
(WebCore::CanvasStyle::~CanvasStyle):
(WebCore::CanvasStyle::isEquivalentColor):
(WebCore::CanvasStyle::isEquivalentCMYKA):
(WebCore::CanvasStyle::applyStrokeColor):
(WebCore::CanvasStyle::applyFillColor):
* html/canvas/CanvasStyle.h:
(CanvasStyle):
(CMYKAValues):
(WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
(WebCore::CanvasStyle::color):
(WebCore):

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

7 years agoUse OwnPtr instead of deleteAllValues for requests in PluginView
darin@apple.com [Wed, 8 May 2013 02:41:08 +0000 (02:41 +0000)]
Use OwnPtr instead of deleteAllValues for requests in PluginView
https://bugs.webkit.org/show_bug.cgi?id=115731

Reviewed by Sam Weinig.

* plugins/PluginView.cpp:
(WebCore::PluginView::~PluginView): Removed the call to deleteAllValues.
(WebCore::PluginView::requestTimerFired): Use release to remove an OwnPtr
from m_requests rather than an explicit delete. Also use !isEmpty instead
of size > 0.
(WebCore::PluginView::scheduleRequest): Changed argument type to PassOwnPtr.
(WebCore::PluginView::load): Use adoptPtr to call scheduleRequest.

* plugins/PluginView.h: Changed argument type of scheduleRequest to
PassOwnPtr, and m_requests to a Vector<OwnPtr>.

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

7 years agoRemove SelectRuleFeatureSet
antti@apple.com [Wed, 8 May 2013 02:03:29 +0000 (02:03 +0000)]
Remove SelectRuleFeatureSet
https://bugs.webkit.org/show_bug.cgi?id=115757

Reviewed by Benjamin Poulain.

This is dead code.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Element.cpp:
(WebCore::Element::attributeChanged):
(WebCore):
(WebCore::Element::didAffectSelector):
* dom/Element.h:
(Element):
* dom/ElementShadow.h:
(WebCore::ElementShadow::invalidateDistribution):
* html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistributor::ContentDistributor):
(WebCore):
* html/shadow/ContentDistributor.h:
(ContentDistributor):
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::insertedInto):
(WebCore::InsertionPoint::removedFrom):
* html/shadow/InsertionPoint.h:
(InsertionPoint):
* html/shadow/SelectRuleFeatureSet.cpp: Removed.
* html/shadow/SelectRuleFeatureSet.h: Removed.
* testing/Internals.cpp:
(WebCore):
* testing/Internals.idl:

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

7 years agoStore the quotes in the same allocation as the QuotesData object
andersca@apple.com [Wed, 8 May 2013 01:47:57 +0000 (01:47 +0000)]
Store the quotes in the same allocation as the QuotesData object
https://bugs.webkit.org/show_bug.cgi?id=115768

Reviewed by Andreas Kling.

Since the QuotesData object is immutable we don't need a Vector to store the quote pairs,
they can just be stored after the class data.

* rendering/style/QuotesData.cpp:
(WebCore::sizeForQuotesDataWithQuoteCount):
Helper function for computing the allocation size.

(WebCore::QuotesData::create):
Use fastMalloc + placement new.

(WebCore::QuotesData::QuotesData):
Use placement new to allocate the quote pairs.

(WebCore::QuotesData::~QuotesData):
Destroy the quote pairs.

(WebCore::QuotesData::openQuote):
Stop using Vector.

(WebCore::QuotesData::closeQuote):
Ditto.

(WebCore::operator==):
Ditto.

* rendering/style/QuotesData.h:

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

7 years agoWe should not ref() the RefPtr twice in CanvasStyle
benjamin@webkit.org [Wed, 8 May 2013 01:42:59 +0000 (01:42 +0000)]
We should not ref() the RefPtr twice in CanvasStyle

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-05-07
Reviewed by Darin Adler.

* html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::CanvasStyle):
We leak the ref of PassRefPtr, we should not ref() it a second time.

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

7 years agoDevirtualize Document class type checking
rniwa@webkit.org [Wed, 8 May 2013 01:41:16 +0000 (01:41 +0000)]
Devirtualize Document class type checking
https://bugs.webkit.org/show_bug.cgi?id=115755

Reviewed by Benjamin Poulain.

Merge https://chromium.googlesource.com/chromium/blink/+/dae5adc768d5ce6bff301df6515745da8ea24950

Document has a bunch of virtual bool is*Document() methods on it, but it also has
two bools for XHTML and HTML documents which is silly. We can merge them all
together into an enum of values and devirtualize the type checking methods.

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::createElement):
* dom/Document.h:
(WebCore::Document::create):
(WebCore::Document::createXHTML):
(WebCore::Document::isHTMLDocument):
(WebCore::Document::isXHTMLDocument):
(WebCore::Document::isImageDocument):
(WebCore::Document::isSVGDocument):
(WebCore::Document::isPluginDocument):
(WebCore::Document::isMediaDocument):
(WebCore::Document):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::HTMLDocument):
* html/HTMLDocument.h:
(WebCore::HTMLDocument):
* html/ImageDocument.cpp:
(WebCore::ImageDocument::ImageDocument):
* html/ImageDocument.h:
(WebCore::ImageDocument):
* html/MediaDocument.cpp:
(WebCore::MediaDocument::MediaDocument):
* html/MediaDocument.h:
(WebCore::MediaDocument):
* html/PluginDocument.cpp:
(WebCore::PluginDocument::PluginDocument):
* html/PluginDocument.h:
(WebCore::PluginDocument):
* loader/PlaceholderDocument.h:
(WebCore::PlaceholderDocument::PlaceholderDocument):
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::SVGDocument):
* svg/SVGDocument.h:
(WebCore::SVGDocument):

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

7 years agoFix a memory leak introduced in r149692
commit-queue@webkit.org [Wed, 8 May 2013 01:35:51 +0000 (01:35 +0000)]
Fix a memory leak introduced in r149692
https://bugs.webkit.org/show_bug.cgi?id=115766

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-07
Reviewed by Mark Rowe.

In r149692, the fix for <http://webkit.org/b/42324>, a call to WKBundleFrameCopyWebArchive was added without any
matching call to WKRelease. An earlier attempted fix in r149697 introduced a RetainPtr but failed to adopt the object.

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::dumpDOMAsWebArchive):
Fix the memory leak by switching to WKRetainPtr and adopting the returned object.

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

7 years ago[Win] Fix storage leak in Windows DumpRenderTree
darin@apple.com [Wed, 8 May 2013 01:26:34 +0000 (01:26 +0000)]
[Win] Fix storage leak in Windows DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=115651

Reviewed by Sam Weinig.

* DumpRenderTree/win/DumpRenderTree.cpp:
(lastPathComponent): Added a missing call to adoptCF.

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

7 years ago[CMAKE] Remove SHADOW_DOM from cmakeconfig.h.cmake
gyuyoung.kim@samsung.com [Wed, 8 May 2013 01:13:34 +0000 (01:13 +0000)]
[CMAKE] Remove SHADOW_DOM from cmakeconfig.h.cmake
https://bugs.webkit.org/show_bug.cgi?id=115712

Reviewed by Andreas Kling.

Nobody uses SHADOW_DOM in cmake.

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

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

7 years agoAdd SPI to get an array of all the installed plug-ins
weinig@apple.com [Wed, 8 May 2013 00:11:19 +0000 (00:11 +0000)]
Add SPI to get an array of all the installed plug-ins
https://bugs.webkit.org/show_bug.cgi?id=115688

Reviewed by Anders Carlsson.

* UIProcess/API/C/mac/WKContextPrivateMac.h:
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
(createInfoDictionary):
Extract creation of info dictionary into helper.
(WKContextCopyPlugInInfoForBundleIdentifier):
Modified to use the new helper.
(WKContextGetInfoForInstalledPlugIns):
Added.

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

7 years agoBegin unraveling the mess that is QuotesData
andersca@apple.com [Tue, 7 May 2013 23:07:14 +0000 (23:07 +0000)]
Begin unraveling the mess that is QuotesData
https://bugs.webkit.org/show_bug.cgi?id=115765

Reviewed by Andreas Kling.

Change QuotesData to be an immutable object and fix other things that are broken.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
QuotesData::addPair is gone. Instead, create the Vector up front and pass it to QuotesData.

* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::originalText):
Update for renames.

* rendering/style/QuotesData.cpp:
(WebCore::QuotesData::create):
Remove the create overload that wasn't used. Add a new create overload that takes a Vector.

(WebCore::QuotesData::openQuote):
Rename this from getOpenQuote and clean it up.

(WebCore::QuotesData::closeQuote):
Rename this from getCloseQuote and clean it up.

(WebCore::operator==):
Replace the equals member function with a proper equality operator.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
Stop calling QuotesData::equals. Use the same idiom as used for other properties.

(WebCore::RenderStyle::setQuotes):
* rendering/style/StyleRareInheritedData.cpp:
Use operator==.

(WebCore::quotesDataEquivalent):
Add helper function.

(WebCore::StyleRareInheritedData::operator==):
Call quotesDataEquivalent.

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

7 years ago[CSS Exclusions] shape-inside, shape-padding, polygon test failing when subpixel...
hmuller@adobe.com [Tue, 7 May 2013 22:54:12 +0000 (22:54 +0000)]
[CSS Exclusions] shape-inside, shape-padding, polygon test failing when subpixel layout is disabled
https://bugs.webkit.org/show_bug.cgi?id=115649

Reviewed by Dirk Schulze.

Another correction of a padded shape test that failed when subpixel layout was disabled.
This test puts a cross pattern made of five Ahem characters on three lines, within a padded
diamond polygon. The left edges of each line depend on the intersection of the padded polygon's
edges with the top of each line, which makes predicting the exact values unreliable. So we
just verify that the left edges of each line are within a pixel of the ideal value. This
change is very similar to the one made for bug 115490.

* fast/exclusions/shape-inside/shape-inside-polygon-padding-002-expected.html: Removed.
* fast/exclusions/shape-inside/shape-inside-polygon-padding-002-expected.txt: Added.
* fast/exclusions/shape-inside/shape-inside-polygon-padding-002.html:
* platform/mac/TestExpectations:

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

7 years agoSupport -webkit-system-font on OS X.
enrica@apple.com [Tue, 7 May 2013 22:41:43 +0000 (22:41 +0000)]
Support -webkit-system-font on OS X.
https://bugs.webkit.org/show_bug.cgi?id=115758
<rdar://problem/13433854>

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

7 years agofixed a memory leak introduced by bug 42324 by using a RetainPtr
commit-queue@webkit.org [Tue, 7 May 2013 22:26:16 +0000 (22:26 +0000)]
fixed a memory leak introduced by bug 42324 by using a RetainPtr
https://bugs.webkit.org/show_bug.cgi?id=115760

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-07
Reviewed by Tim Horton.

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::dumpDOMAsWebArchive):
fixed memory leak, added UNUSED_PARAM macros

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

7 years agoMove CanvasGradient and CanvasPattern in the union of CanvasStyle
benjamin@webkit.org [Tue, 7 May 2013 22:14:04 +0000 (22:14 +0000)]
Move CanvasGradient and CanvasPattern in the union of CanvasStyle
https://bugs.webkit.org/show_bug.cgi?id=115759

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-05-07
Reviewed by Andreas Kling.

The Gradient and Pattern are exclusive with the other values, but they
were left out of the union because they are ref-counted.

This patch moves them in the union, and simply does the ref-counting manually.

* html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::CanvasStyle):
(WebCore::CanvasStyle::~CanvasStyle):
* html/canvas/CanvasStyle.h:
(CanvasStyle):
(WebCore::CanvasStyle::canvasGradient):
(WebCore::CanvasStyle::canvasPattern):

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

7 years agoRemove custom allocator support from PODArena
andersca@apple.com [Tue, 7 May 2013 22:06:15 +0000 (22:06 +0000)]
Remove custom allocator support from PODArena
https://bugs.webkit.org/show_bug.cgi?id=115762

Reviewed by Andreas Kling.

Nobody uses PODArena with a custom allocator, so just get rid of it and always use fastMalloc/fastFree.

* platform/PODArena.h:
(WebCore::PODArena::PODArena):
(WebCore::PODArena::allocateBase):
(WebCore::PODArena::Chunk::Chunk):
(WebCore::PODArena::Chunk::~Chunk):
(Chunk):
* platform/PODFreeListArena.h:
(WebCore::PODFreeListArena::allocate):
(WebCore::PODFreeListArena::FreeListChunk::FreeListChunk):

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

7 years agoClean up KeyframeValueList and related classes
andersca@apple.com [Tue, 7 May 2013 22:04:01 +0000 (22:04 +0000)]
Clean up KeyframeValueList and related classes
https://bugs.webkit.org/show_bug.cgi?id=115738

Reviewed by Simon Fraser.

Source/WebCore:

Add static create() functions to the AnimationValue subclasses, and change a bunch of parameters
and return values that can never be null from pointer types to reference types to better indicate this.

* platform/graphics/GraphicsLayer.cpp:
(WebCore::filterOperationsAt):
(WebCore::GraphicsLayer::validateFilterOperations):
(WebCore::operationsAt):
(WebCore::GraphicsLayer::validateTransformOperations):
* platform/graphics/GraphicsLayer.h:
(AnimationValue):
(WebCore::AnimationValue::AnimationValue):
(WebCore::FloatAnimationValue::create):
(FloatAnimationValue):
(WebCore::FloatAnimationValue::FloatAnimationValue):
(WebCore::TransformAnimationValue::create):
(TransformAnimationValue):
(WebCore::TransformAnimationValue::value):
(WebCore::TransformAnimationValue::TransformAnimationValue):
(WebCore::FilterAnimationValue::create):
(WebCore::FilterAnimationValue::value):
(WebCore::FilterAnimationValue::FilterAnimationValue):
(FilterAnimationValue):
(WebCore::KeyframeValueList::~KeyframeValueList):
(KeyframeValueList):
(WebCore::KeyframeValueList::at):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::animationHasStepsTimingFunction):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
(WebCore::GraphicsLayerCA::setAnimationEndpoints):
(WebCore::GraphicsLayerCA::setAnimationKeyframes):
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
(WebCore::GraphicsLayerCA::setFilterAnimationEndpoints):
(WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
* platform/graphics/ca/GraphicsLayerCA.h:
(GraphicsLayerCA):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):

Source/WebKit2:

Update for WebCore changes.

* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::decode):

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

7 years agoAdd and remove databases and origins from the database tracker
andersca@apple.com [Tue, 7 May 2013 21:52:50 +0000 (21:52 +0000)]
Add and remove databases and origins from the database tracker
https://bugs.webkit.org/show_bug.cgi?id=115752

Reviewed by Andreas Kling.

Source/WebCore:

Add symbols needed by WebKit2.

* WebCore.exp.in:

Source/WebKit2:

* UIProcess/Storage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::LocalStorageDatabase):
Rename m_databaseFilename to m_databasePath.

(WebKit::LocalStorageDatabase::tryToOpenDatabase):
Rename m_databaseFilename to m_databasePath.

* UIProcess/Storage/LocalStorageDatabase.h:
Rename m_databaseFilename to m_databasePath.

* UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::databasePath):
Rename databaseFilename to databasePath.

(WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
Call addDatabaseWithOriginIdentifier.

(WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
Call removeDatabaseWithOriginIdentifier.

(WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
Call databasePath instead of databaseFile.

(WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
Bail if the database is already open.

(WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
Call addDatabaseWithOriginIdentifier if this is an origin we don't know about.

(WebKit::LocalStorageDatabaseTracker::addDatabaseWithOriginIdentifier):
Add the database to the Origins table.

(WebKit::LocalStorageDatabaseTracker::removeDatabaseWithOriginIdentifier):
remove the database from the Origins table and delete it.

(WebKit::LocalStorageDatabaseTracker::pathForDatabaseWithOriginIdentifier):
Helper function that looks up a database path given its identifier.

* UIProcess/Storage/LocalStorageDatabaseTracker.h:
Rename databaseFile to databasePath.

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

7 years agoWebKitTestRunner needs testRunner.dumpDOMAsWebArchive
commit-queue@webkit.org [Tue, 7 May 2013 21:26:56 +0000 (21:26 +0000)]
WebKitTestRunner needs testRunner.dumpDOMAsWebArchive
https://bugs.webkit.org/show_bug.cgi?id=42324
<rdar://problem/8193633>

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-07
Reviewed by Tim Horton.

* Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
Added dumpDOMAsWebArchive JavaScript function to be called by test cases.
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::dumpDOMAsWebArchive):
Added dumpDOMAsWebArchive code that is called when dumping.
(WTR::InjectedBundlePage::dump):
Made DOMAsWebArchive case when dumping call dumpDOMAsWebArchive.
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
(InjectedBundlePage):
Added dumpDOMAsWebArchive declaration.
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::dumpDOMAsWebArchive):
Added dumpDOMAsWebArchive JS callback function that sets m_whatToDump to DOMAsWebArchive.
* Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
Added WebArchiveDumpSupport.cpp, WebArchiveDumpSupport.h, WebArchiveDumpSupportMac.mm to project.
* Tools/WebKitTestRunner/cf: Added.
* Tools/WebKitTestRunner/cf/WebArchiveDumpSupport.cpp: Added.
Copied from Tools/DumpRenderTree/cf for createXMLStringFromWebArchiveData and other functions it uses.
(convertMIMEType):
(convertWebResourceDataToString):
(normalizeHTTPResponseHeaderFields):
(normalizeWebResourceURL):
(convertWebResourceResponseToDictionary):
(compareResourceURLs):
(createXMLStringFromWebArchiveData):
* Tools/WebKitTestRunner/cf/WebArchiveDumpSupport.h: Added.
Copied from Tools/DumpRenderTree/cf for used symbol declarations.
* Tools/WebKitTestRunner/mac/WebArchiveDumpSupportMac.mm: Added.
Copied from Tools/DumpRenderTree/mac for used functions.
(createCFURLResponseFromResponseData):
(supportedNonImageMIMETypes):

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

7 years agoStill possible to fire paint-related LayoutMilestones before CA has committed the
bdakin@apple.com [Tue, 7 May 2013 21:12:58 +0000 (21:12 +0000)]
Still possible to fire paint-related LayoutMilestones before CA has committed the
changes
https://bugs.webkit.org/show_bug.cgi?id=115753
-and corresponding-
<rdar://problem/13822315>

Reviewed by Simon Fraser.

To ensure we wait for the CA commit, we should wait until the end of the runloop
with a zero-delay timer.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
(WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):
(WebCore):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

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

7 years agoBug 115694 - Fix bad cast to RenderHTMLCanvas
cfleizach@apple.com [Tue, 7 May 2013 21:09:48 +0000 (21:09 +0000)]
Bug 115694 - Fix bad cast to RenderHTMLCanvas
https://bugs.webkit.org/show_bug.cgi?id=115694

Reviewed by Ryosuke Niwa.

Don't cast to RenderHTML until we check what kind of object it is.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):

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

7 years ago[BlackBerry] Increase the padding size for caret based scrolling.
mifenton@rim.com [Tue, 7 May 2013 20:30:02 +0000 (20:30 +0000)]
[BlackBerry] Increase the padding size for caret based scrolling.
https://bugs.webkit.org/show_bug.cgi?id=115749

Reviewed by Rob Buis.

PR 322670.

Increasing the padding size for scrolling in order to optimize the
number of scrolls required during typing.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

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

7 years agoThe storage database tracker should know when databases come and go
andersca@apple.com [Tue, 7 May 2013 19:42:03 +0000 (19:42 +0000)]
The storage database tracker should know when databases come and go
https://bugs.webkit.org/show_bug.cgi?id=115748

Reviewed by Andreas Kling.

Source/WebCore:

Export symbol needed by WebKit2.

* WebCore.exp.in:

Source/WebKit2:

* UIProcess/Storage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::openDatabase):
If we've opened the database successfully, call LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin.

(WebKit::LocalStorageDatabase::tryToOpenDatabase):
Remove a FIXME; we run all storage related things on the same thread.

(WebKit::LocalStorageDatabase::close):
Close the database. If it's empty, call LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin.

(WebKit::LocalStorageDatabase::databaseIsEmpty):
Helper function for determining whether a database is empty.

* UIProcess/Storage/LocalStorageDatabase.h:
* UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::databaseFilename):
Add ".localstorage" to the filename.

(WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
(WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
Add empty stubs.

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

7 years agoAdd JoinExistingSession to the Networking XPC.
beidson@apple.com [Tue, 7 May 2013 19:11:39 +0000 (19:11 +0000)]
Add JoinExistingSession to the Networking XPC.
<rdar://problem/12902288> and https://bugs.webkit.org/show_bug.cgi?id=114991

Reviewed by Sam Weinig.

* NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:

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

7 years agoUpdated style of WebArchiveDumpSupport before putting it into WebKitTestRunner.
commit-queue@webkit.org [Tue, 7 May 2013 19:08:32 +0000 (19:08 +0000)]
Updated style of WebArchiveDumpSupport before putting it into WebKitTestRunner.
https://bugs.webkit.org/show_bug.cgi?id=115745

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-07
Reviewed by Tim Horton.

* DumpRenderTree/cf/WebArchiveDumpSupport.cpp:
(compareResourceURLs):
Updated style.

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

7 years ago[BlackBerry] Maintain touch event state throughout processing
commit-queue@webkit.org [Tue, 7 May 2013 18:52:12 +0000 (18:52 +0000)]
[BlackBerry] Maintain touch event state throughout processing
https://bugs.webkit.org/show_bug.cgi?id=115663

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-07
Reviewed by Rob Buis.

Internally reviewed by Otto Cheung and Genevieve Mak.

PR 297691
By maintaining our touch event state, we can get a better idea
of what triggered an update to selection and respond appropriately.
On touch press we set userTouchTriggered to give the UI thread
some context.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
(BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):

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

7 years agoUse OwnPtr instead of deleteAllValues in SVGResourcesCache
darin@apple.com [Tue, 7 May 2013 18:42:52 +0000 (18:42 +0000)]
Use OwnPtr instead of deleteAllValues in SVGResourcesCache
https://bugs.webkit.org/show_bug.cgi?id=115729

Reviewed by Benjamin Poulain.

* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::~SVGResourcesCache): Removed call to deleteAllValues.
(WebCore::SVGResourcesCache::addResourcesFromRenderObject): Use adoptPtr and release
to create new SVGResources object.
(WebCore::SVGResourcesCache::removeResourcesFromRenderObject): Use take to remove
the SVGResources from the map rather than a get combined with delete/take.
(WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Removed unneeded
call to contains, since get already returns 0 if there is no item in the map.
(WebCore::SVGResourcesCache::resourceDestroyed): Use typedef for the map type so
we don't have to repeat the type.

* rendering/svg/SVGResourcesCache.h: Added typedef CacheMap, and changed value
type to OwnPtr.

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

7 years agoREGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorag...
andersca@apple.com [Tue, 7 May 2013 18:30:19 +0000 (18:30 +0000)]
REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
https://bugs.webkit.org/show_bug.cgi?id=115711

Reviewed by Andreas Kling.

Source/WebCore:

Export SQLiteDatabase::close.

* WebCore.exp.in:

Source/WebKit2:

Handle setting the local storage directory more than once.

* UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
Close the database (if necessary) and clear the origins map before importing the origin identifiers.

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

7 years agoRe-establish autostart timeout extension on user interaction
graouts@apple.com [Tue, 7 May 2013 18:12:48 +0000 (18:12 +0000)]
Re-establish autostart timeout extension on user interaction
https://bugs.webkit.org/show_bug.cgi?id=113232

Change WebProcess::pluginDidReceiveUserInteraction to use a tuple of
(pluginOrigin, pageOrigin, mimeType) arguments like the other similar
WebProcess methods and gather these arguments from the PlugInView's
plug-in element.

Reviewed by Dean Jackson.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pluginDidReceiveUserInteraction):
Cast the m_pluginElement to a HTMLPlugInImageElement so we can obtain the
tuple of (pluginOrigin, pageOrigin, mimeType) to pass to pluginDidReceiveUserInteraction().

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::plugInDidReceiveUserInteraction):
* WebProcess/WebProcess.h:
(WebProcess):
Update method signature to a tuple of (pluginOrigin, pageOrigin, mimeType)
and obtain the plug-in origin hash from that.

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

7 years ago Combine html and js parts fast/url script-tests
ap@apple.com [Tue, 7 May 2013 17:58:45 +0000 (17:58 +0000)]
    Combine html and js parts fast/url script-tests
        https://bugs.webkit.org/show_bug.cgi?id=115739

        Rubber-stamped by Brady Eidson.

        * fast/url/anchor.html:
        * fast/url/file-http-base.html:
        * fast/url/file.html:
        * fast/url/host-lowercase-per-scheme.html:
        * fast/url/host.html:
        * fast/url/idna2003.html:
        * fast/url/idna2008.html:
        * fast/url/invalid-urls-utf8.html:
        * fast/url/ipv4.html:
        * fast/url/ipv6.html:
        * fast/url/mailto.html:
        * fast/url/path-url.html:
        * fast/url/path.html:
        * fast/url/port.html:
        * fast/url/query.html:
        * fast/url/relative-unix.html:
        * fast/url/relative-win.html:
        * fast/url/relative.html:
        * fast/url/safari-extension.html:
        * fast/url/scheme.html:
        * fast/url/script-tests: Removed.
        * fast/url/script-tests/TEMPLATE.html: Removed.
        * fast/url/script-tests/anchor.js: Removed.
        * fast/url/script-tests/file-http-base.js: Removed.
        * fast/url/script-tests/file.js: Removed.
        * fast/url/script-tests/host.js: Removed.
        * fast/url/script-tests/idna2003.js: Removed.
        * fast/url/script-tests/idna2008.js: Removed.
        * fast/url/script-tests/ipv4.js: Removed.
        * fast/url/script-tests/ipv6.js: Removed.
        * fast/url/script-tests/mailto.js: Removed.
        * fast/url/script-tests/path-url.js: Removed.
        * fast/url/script-tests/path.js: Removed.
        * fast/url/script-tests/port.js: Removed.
        * fast/url/script-tests/query.js: Removed.
        * fast/url/script-tests/relative-unix.js: Removed.
        * fast/url/script-tests/relative-win.js: Removed.
        * fast/url/script-tests/relative.js: Removed.
        * fast/url/script-tests/scheme.js: Removed.
        * fast/url/script-tests/segments-from-data-url.js: Removed.
        * fast/url/script-tests/segments.js: Removed.
        * fast/url/script-tests/standard-url.js: Removed.
        * fast/url/script-tests/trivial-segments.js: Removed.
        * fast/url/script-tests/trivial.js: Removed.
        * fast/url/segments-from-data-url.html:
        * fast/url/segments.html:
        * fast/url/standard-url.html:
        * fast/url/trivial-segments.html:
        * fast/url/trivial.html:

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

7 years agoEach local storage database should know its origin
andersca@apple.com [Tue, 7 May 2013 17:45:02 +0000 (17:45 +0000)]
Each local storage database should know its origin
https://bugs.webkit.org/show_bug.cgi?id=115737

Reviewed by Andreas Kling.

Store the security origin in a member variable. It'll be used to communicate database state changes to the tracker.

* UIProcess/Storage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::create):
(WebKit::LocalStorageDatabase::LocalStorageDatabase):
* UIProcess/Storage/LocalStorageDatabase.h:
(LocalStorageDatabase):

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

7 years agoAdd an 'isReadOnly' member to IDL parse tree structure
rniwa@webkit.org [Tue, 7 May 2013 17:42:17 +0000 (17:42 +0000)]
Add an 'isReadOnly' member to IDL parse tree structure
https://bugs.webkit.org/show_bug.cgi?id=115704

Reviewed by Kentaro Hara.

Source/WebCore:

Add an 'isReadOnly' member to IDL parse tree structure by merging
https://chromium.googlesource.com/chromium/blink/+/d6add80ecd08bcd88a6ae0e1698d929830b3bd8b
and update Objective-C, C++, and GObject binding generators to use isReadOnly.

* bindings/scripts/CodeGeneratorCPP.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorGObject.pm:
(GetWriteableProperties):
(GenerateProperty):
(GenerateFunctions):
* bindings/scripts/CodeGeneratorJS.pm:
(IsReadonly):
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/IDLParser.pm:
(parseAttributeRest):
(parseExceptionField):
(parseAttributeRestOld):

Tools:

Use newly added isReadOnly attribute.

* WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
(_generateHeaderFile):
(_generateImplementationFile):
(_staticValuesGetterImplementation):

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

7 years agoRemove some unnecessary soft linking in NetworkProcess. (Take 2)
beidson@apple.com [Tue, 7 May 2013 17:10:26 +0000 (17:10 +0000)]
Remove some unnecessary soft linking in NetworkProcess. (Take 2)
<rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683

Reviewed by Dean Jackson and owned by Andreas Kling.

As a followup to r149651, include the private headers conditionally.
Also, fix a bug introduced with r149651 (bool vs CFBooleanRef).

* NetworkProcess/mac/DiskCacheMonitor.mm:
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):

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

7 years agoUse OwnPtr instead of deleteAllValues in SMILTimeContainer
darin@apple.com [Tue, 7 May 2013 16:54:52 +0000 (16:54 +0000)]
Use OwnPtr instead of deleteAllValues in SMILTimeContainer
https://bugs.webkit.org/show_bug.cgi?id=115730

Reviewed by Geoffrey Garen.

* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::~SMILTimeContainer): Removed call to deleteAllValues.
(WebCore::SMILTimeContainer::schedule): Use add instead of get/set to put a new
AnimationsVector into the map as needed.
(WebCore::SMILTimeContainer::setElapsed): Added get since values are OwnPtr now.
(WebCore::SMILTimeContainer::updateAnimations): Ditto.

* svg/animation/SMILTimeContainer.h: Changed value type of GroupedAnimationsMap
to OwnPtr instead of raw pointer.

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

7 years agoTake advantage of pre-decrement and post-increment opcodes for sh4 base JIT.
commit-queue@webkit.org [Tue, 7 May 2013 16:53:23 +0000 (16:53 +0000)]
Take advantage of pre-decrement and post-increment opcodes for sh4 base JIT.
https://bugs.webkit.org/show_bug.cgi?id=115722

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-05-07
Reviewed by Oliver Hunt.

* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::load8PostInc):
(MacroAssemblerSH4):
(JSC::MacroAssemblerSH4::load16Unaligned):
(JSC::MacroAssemblerSH4::load16PostInc):
(JSC::MacroAssemblerSH4::storeDouble):
(JSC::MacroAssemblerSH4::load32WithUnalignedHalfWords):
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::movwMemRegIn):
(SH4Assembler):
(JSC::SH4Assembler::movbMemRegIn):
(JSC::SH4Assembler::printInstr):

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

7 years ago[BlackBerry] Read-only fields should not get keyboard focus
commit-queue@webkit.org [Tue, 7 May 2013 16:24:19 +0000 (16:24 +0000)]
[BlackBerry] Read-only fields should not get keyboard focus
https://bugs.webkit.org/show_bug.cgi?id=115725

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-07
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR332887
Prevent keyboard focus and FCC from displaying when the user taps on a
read-only field. Further, ensure form controls skip over these fields
with the next/previous buttons.

* WebKitSupport/DOMSupport.cpp:
(BlackBerry::WebKit::DOMSupport::elementIsReadOnly):
(DOMSupport):
* WebKitSupport/DOMSupport.h:
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::focusedNodeChanged):
(BlackBerry::WebKit::InputHandler::setInputModeEnabled):
(BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
(BlackBerry::WebKit::InputHandler::isActiveTextEdit):
(WebKit):
* WebKitSupport/InputHandler.h:

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

7 years ago[BlackBerry] Expand spellcheck logging
commit-queue@webkit.org [Tue, 7 May 2013 16:18:09 +0000 (16:18 +0000)]
[BlackBerry] Expand spellcheck logging
https://bugs.webkit.org/show_bug.cgi?id=115482

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-07
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

Fix some build errors when SpellingLog was turned on and expand on the debug
statements to be more verbose. Set up timers and print the duration of each
iteration as we traverse the text to create a range to send out for checking.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
(BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
(BlackBerry::WebKit::InputHandler::setElementFocused):
(WebKit):
(BlackBerry::WebKit::InputHandler::spellCheckTextBlock):
* WebKitSupport/SpellingHandler.cpp:
(BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
(BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):

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

7 years agoRemove AlwaysInline.h from WTF
andersca@apple.com [Tue, 7 May 2013 16:01:51 +0000 (16:01 +0000)]
Remove AlwaysInline.h from WTF
https://bugs.webkit.org/show_bug.cgi?id=115727

Reviewed by Brent Fulgham.

The macro that used to be in AlwaysInline.h is now in Compiler.h so there's no reason
to keep AlwaysInline.h around anymore.

Source/JavaScriptCore:

* jit/JSInterfaceJIT.h:
* parser/Lexer.h:
* runtime/JSCJSValue.h:
* runtime/SymbolTable.h:

Source/WebCore:

* WebCore.vcproj/WebCore.vcproj:
* bindings/js/JSDOMWindowCustom.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
* platform/graphics/filters/FEConvolveMatrix.h:
* rendering/InlineIterator.h:
* rendering/InlineTextBox.cpp:
* rendering/RenderBlockLineLayout.cpp:
* rendering/RenderText.cpp:

Source/WTF:

* WTF.vcproj/WTF.vcproj:
* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/AlwaysInline.h: Removed.
* wtf/BloomFilter.h:
* wtf/FastMalloc.cpp:
* wtf/PassRefPtr.h:
* wtf/dtoa.cpp:
* wtf/gobject/GRefPtr.h:

Tools:

* DumpRenderTree/qt/DumpRenderTreeMain.cpp:
* WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp:

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

7 years ago[Curl] POST requests sometimes fail.
commit-queue@webkit.org [Tue, 7 May 2013 15:53:34 +0000 (15:53 +0000)]
[Curl] POST requests sometimes fail.
https://bugs.webkit.org/show_bug.cgi?id=111844

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-05-07
Reviewed by Brent Fulgham.

Curl adds the header 'Expect: 100-Continue' when sending a POST request.
When we receive the header 'HTTP/1.1 100 Continue', we should not call
ResourceHandleClient::didReceiveResponse(), as this will cancel the request,
because the MIME type is empty in this case, causing the POST request to fail.
This header is only sent as an info header, or provisional response.

In addition, this patch changes the classification of http code 304 (Not modified).
It is not reported as a redirect anymore, but as a response
(ResourceHandleClient::didReceiveResponse() is called.

* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::isHttpInfo): Added helper method to determine if http code is http info.
(WebCore::isHttpRedirect): Added helper method to determine if http code is http redirect.
(WebCore::headerCallback): Just return when receiving the header'HTTP/1.1 100 Continue'.

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

7 years agoCrash when calling QWebFrame::evaluateJavaScript
allan.jensen@digia.com [Tue, 7 May 2013 15:33:02 +0000 (15:33 +0000)]
Crash when calling QWebFrame::evaluateJavaScript
https://bugs.webkit.org/show_bug.cgi?id=113434

Reviewed by Simon Hausmann.

Ensure we hold the JSLock when converting JSValue to JSValueRef.

* Api/qwebelement.cpp:
(setupScriptContext):
(QWebElement::evaluateJavaScript):
* WebCoreSupport/QWebFrameAdapter.cpp:
(QWebFrameAdapter::evaluateJavaScript):

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

7 years ago[EFL][WK2] Add ewk APIs for setting and getting user agent
ryuan.choi@samsung.com [Tue, 7 May 2013 15:13:30 +0000 (15:13 +0000)]
[EFL][WK2] Add ewk APIs for setting and getting user agent
https://bugs.webkit.org/show_bug.cgi?id=114429

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-05-07
Reviewed by Andreas Kling.

Provide ewk_view_user_agent_get/set APIs which wraps WK APIs.

* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
(EwkView::setUserAgent):
* UIProcess/API/efl/EwkView.h:
(EwkView::userAgent):
(EwkView):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_user_agent_get):
(ewk_view_user_agent_set):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):

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

7 years ago[X11][BlackBerry] Check if MOZ_X11 is defined instead of XP_UNIX npruntime_internal.h
commit-queue@webkit.org [Tue, 7 May 2013 15:07:46 +0000 (15:07 +0000)]
[X11][BlackBerry] Check if MOZ_X11 is defined instead of XP_UNIX npruntime_internal.h
https://bugs.webkit.org/show_bug.cgi?id=113687

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-07
Reviewed by Anders Carlsson.

It's assumed that all UNIX platforms use X11 for plugins, which is
not the case of BlackBerry.

* bridge/npruntime_internal.h: Use MOZ_X11 instead of XP_UNIX.

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

7 years ago[CSS Regions] Convert remaining fast/regions/webkit-flow* pixel tests to reftests
commit-queue@webkit.org [Tue, 7 May 2013 14:41:50 +0000 (14:41 +0000)]
[CSS Regions] Convert remaining fast/regions/webkit-flow* pixel tests to reftests
https://bugs.webkit.org/show_bug.cgi?id=115422

Patch by Radu Stavila <stavila@adobe.com> on 2013-05-07
Reviewed by Andreas Kling.

Converted following tests from pixel tests to ref tests:
  - webkit-flow-double-pagination-float-push
  - webkit-flow-float-pushed-to-last-region
  - webkit-flow-float-unable-to-push
  - webkit-flow-floats-inside-regions-bounds

* fast/regions/webkit-flow-double-pagination-float-push-expected.html: Added.
* fast/regions/webkit-flow-float-pushed-to-last-region-expected.html: Added.
* fast/regions/webkit-flow-float-pushed-to-last-region.html:
* fast/regions/webkit-flow-float-unable-to-push-expected.html: Added.
* fast/regions/webkit-flow-float-unable-to-push.html:
* fast/regions/webkit-flow-floats-inside-regions-bounds-expected.html: Added.
* platform/efl/fast/regions/webkit-flow-double-pagination-float-push-expected.png: Removed.
* platform/efl/fast/regions/webkit-flow-double-pagination-float-push-expected.txt: Removed.
* platform/efl/fast/regions/webkit-flow-float-pushed-to-last-region-expected.png: Removed.
* platform/efl/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt: Removed.
* platform/efl/fast/regions/webkit-flow-float-unable-to-push-expected.png: Removed.
* platform/efl/fast/regions/webkit-flow-float-unable-to-push-expected.txt: Removed.
* platform/efl/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.png: Removed.
* platform/efl/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.txt: Removed.
* platform/gtk/fast/regions/webkit-flow-double-pagination-float-push-expected.png: Removed.
* platform/gtk/fast/regions/webkit-flow-double-pagination-float-push-expected.txt: Removed.
* platform/gtk/fast/regions/webkit-flow-float-pushed-to-last-region-expected.png: Removed.
* platform/gtk/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt: Removed.
* platform/gtk/fast/regions/webkit-flow-float-unable-to-push-expected.png: Removed.
* platform/gtk/fast/regions/webkit-flow-float-unable-to-push-expected.txt: Removed.
* platform/gtk/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.png: Removed.
* platform/gtk/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.txt: Removed.
* platform/mac/fast/regions/webkit-flow-double-pagination-float-push-expected.png: Removed.
* platform/mac/fast/regions/webkit-flow-double-pagination-float-push-expected.txt: Removed.
* platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.png: Removed.
* platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt: Removed.
* platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.png: Removed.
* platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.txt: Removed.
* platform/mac/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.png: Removed.
* platform/mac/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.txt: Removed.
* platform/qt/fast/regions/webkit-flow-double-pagination-float-push-expected.png: Removed.
* platform/qt/fast/regions/webkit-flow-double-pagination-float-push-expected.txt: Removed.
* platform/qt/fast/regions/webkit-flow-float-pushed-to-last-region-expected.png: Removed.
* platform/qt/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt: Removed.
* platform/qt/fast/regions/webkit-flow-float-unable-to-push-expected.png: Removed.
* platform/qt/fast/regions/webkit-flow-float-unable-to-push-expected.txt: Removed.
* platform/qt/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.png: Removed.
* platform/qt/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.txt: Removed.

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

7 years ago[Qt][WTR] QQuickWindowPrivate::setRenderWithoutShowing has been removed from Qt 5
abecsi@webkit.org [Tue, 7 May 2013 11:01:55 +0000 (11:01 +0000)]
[Qt][WTR] QQuickWindowPrivate::setRenderWithoutShowing has been removed from Qt 5
https://bugs.webkit.org/show_bug.cgi?id=114808

Reviewed by Jocelyn Turcotte.

QQuickWindow::grabWindow() has been implemented for isVisible=false for Qt 5.1.
(https://codereview.qt-project.org/#change,54234)

* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::WrapperWindow::handleStatusChanged):

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

7 years ago[GTK] Initialize WebKitWebPlugin path to prevent double-free
commit-queue@webkit.org [Tue, 7 May 2013 07:42:15 +0000 (07:42 +0000)]
[GTK] Initialize WebKitWebPlugin path to prevent double-free
https://bugs.webkit.org/show_bug.cgi?id=115624

Patch by Tomas Popela <tpopela@redhat.com> on 2013-05-07
Reviewed by Carlos Garcia Campos.

Use GOwnPtr for WebKitWebPlugin path to prevent double-free
situations. Also use GOwnPtr for GError in webkit_web_plugin_get_path.

* webkit/webkitwebplugin.cpp:
(webkit_web_plugin_finalize):
(webkit_web_plugin_get_path):
* webkit/webkitwebpluginprivate.h:

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

7 years agoHashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
mikhail.pozdnyakov@intel.com [Tue, 7 May 2013 07:23:43 +0000 (07:23 +0000)]
HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
https://bugs.webkit.org/show_bug.cgi?id=115646

Reviewed by Darin Adler.

Source/JavaScriptCore:

* bytecompiler/StaticPropertyAnalyzer.h:
(JSC::StaticPropertyAnalyzer::putById):
    Updated accordingly to new HashMap<.., RefPtr>::get() semantics.

Source/WebCore:

No new tests, no new functionality.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::get):
(WebCore::AXObjectCache::remove):
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::objectFromAXID):
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::getImage):
* css/InspectorCSSOMWrappers.cpp:
(WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingSVGDocuments):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::rootEditableElementForSelectionOnMouseDown):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::elementForAlias):
* html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistributor::findInsertionPointFor):
* loader/appcache/ApplicationCache.cpp:
(WebCore::ApplicationCache::resourceForURL):
* loader/archive/ArchiveResourceCollection.cpp:
(WebCore::ArchiveResourceCollection::archiveResourceForURL):
* page/PageGroup.cpp:
(WebCore::PageGroup::transientLocalStorage):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::pauseTransitionAtTime):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateMaskLayer):
* platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::getBlobDataFromURL):
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::pluginForMIMEType):
(WebCore::PluginDatabase::MIMETypeForExtension):
* rendering/RenderCounter.cpp:
(WebCore::makeCounterNode):
(showCounterRendererTree):
* svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::getEffectById):
    Updated accordingly to new HashMap<.., RefPtr>::get() semantics.

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::pluginInstance):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::cancelStreamLoad):
    Updated accordingly to new HashMap<.., RefPtr>::get() semantics.

Source/WebKit2:

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::hostForURL):
* Shared/ImmutableDictionary.h:
(WebKit::ImmutableDictionary::get):
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
(WebKit::StorageManager::findStorageArea):
* UIProcess/WebContext.h:
(WebKit::WebContext::supplement):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::webBackForwardItem):
(WebKit::WebProcessProxy::webFrame):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::ewkDownloadJob):
* WebProcess/Network/WebResourceLoadScheduler.h:
(WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::streamFromID):
* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::cancelStreamLoad):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):
* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::itemForID):
(WebKit::WebBackForwardListProxy::itemAtIndex):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::webUndoStep):
(WebKit::WebPage::didFinishCheckingText):
(WebKit::WebPage::didCancelCheckingText):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::webPage):
(WebKit::WebProcess::webPageGroup):
    Updated accordingly to new HashMap<.., RefPtr>::get() semantics.

Source/WTF:

HashTraits<RefPtr<P> >::PeekType should be raw pointer so that we
can obviate multiple RefPtr copying when invoking HashMap<.., RefPtr>::get()
method.

* wtf/HashTraits.h:

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

7 years ago[Qt] Unreviewed buildfix after r149637.
zarvai@inf.u-szeged.hu [Tue, 7 May 2013 06:31:47 +0000 (06:31 +0000)]
[Qt] Unreviewed buildfix after r149637.

* Target.pri:

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

7 years agoUnreviewed. Add my email to EFL and BindingsScripts watchlists.
ch.dumez@sisa.samsung.com [Tue, 7 May 2013 06:13:12 +0000 (06:13 +0000)]
Unreviewed. Add my email to EFL and BindingsScripts watchlists.

* Scripts/webkitpy/common/config/watchlist:

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

7 years agoREGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorag...
rniwa@webkit.org [Tue, 7 May 2013 05:20:55 +0000 (05:20 +0000)]
REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
https://bugs.webkit.org/show_bug.cgi?id=115711

Rubber-stamped by Anders Carlsson.

Temporarily removed the assertion. Andres is going to investigate it tomorrow.

* UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):

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

7 years agoUse OwnPtr instead of deleteAllValues in KeyframeValueList
darin@apple.com [Tue, 7 May 2013 04:31:35 +0000 (04:31 +0000)]
Use OwnPtr instead of deleteAllValues in KeyframeValueList
https://bugs.webkit.org/show_bug.cgi?id=115652

Reviewed by Simon Fraser.

Source/WebCore:

Also made a few related style fixes in the functions touched.

* platform/graphics/GraphicsLayer.cpp:
(WebCore::KeyframeValueList::insert): Change argument type to PassOwnPtr
and update use of m_values since it has OwnPtr now instead of raw pointer.

* platform/graphics/GraphicsLayer.h: Move conditional includes to a
separate paragraph, removed an unneeded forward class declaration.
(WebCore::AnimationValue::AnimationValue): Marked this constructor explicit
and removed an unneeded if statement.
(WebCore::AnimationValue::clone): Changed to use adoptPtr and PassOwnPtr.
(WebCore::FloatAnimationValue::clone): Changed this to return a PassOwnPtr.
(WebCore::TransformAnimationValue::TransformAnimationValue): Marked explicit.
(WebCore::TransformAnimationValue::clone): Changed to use adoptPtr and PassOwnPtr.
(WebCore::FilterAnimationValue::FilterAnimationValue): Marked explicit.
(WebCore::FilterAnimationValue::clone): Changed to use adoptPtr and PassOwnPtr.
(WebCore::KeyframeValueList::KeyframeValueList): Marked explicit.
(WebCore::KeyframeValueList::~KeyframeValueList): Removed, since the default
destructor works without an explicit deleteAllValues call.
(WebCore::KeyframeValueList::at): Added call to get needed since the vector
contains OwnPtr now.
(WebCore::KeyframeValueList::insert): Changed to take PassOwnPtr and then
removed now-redundant comment saying "takes ownership of the pointer".
(WebCore::KeyframeValueList::m_values): Changed type to Vector<OwnPtr>.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::startAnimation): Added adoptPtr next to the
all the places new was done before calling KeyframeValueList::insert. Also
simplified the booleans and #if in this function.
(WebCore::RenderLayerBacking::startTransition): Ditto.

Source/WebKit2:

* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::ArgumentCoder<GraphicsLayerAnimation>::decode): Added adoptPtr
next to new when calling KeyframeValueList::insert.

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

7 years ago[Replaceable] attributes must be readonly
rniwa@webkit.org [Tue, 7 May 2013 04:15:05 +0000 (04:15 +0000)]
[Replaceable] attributes must be readonly
https://bugs.webkit.org/show_bug.cgi?id=115692

Reviewed by Kentaro Hara.

Merge https://chromium.googlesource.com/chromium/blink/+/ac61fbfe875d3c3c37d529683139ceb0ad4330bb.

Web IDL specification says [Replaceable] attributes are readonly:
http://www.w3.org/TR/2012/CR-WebIDL-20120419/#Replaceable

Update the two instances of [Replaceable] in WebCore that didn't have readonly modifier to match
the specifcation and the rest of WebCore. There should be no behavioral changes as the code generator
already assumed [Replaceable] attributes are readonly.

* html/HTMLDocument.idl:
* page/DOMWindow.idl:

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

7 years ago[EFL][WK1][PerformanceTests] Adopt --no-timeout option implementation to DumpRenderTree
kangil.han@samsung.com [Tue, 7 May 2013 04:05:10 +0000 (04:05 +0000)]
[EFL][WK1][PerformanceTests] Adopt --no-timeout option implementation to DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=115645

Reviewed by Gyuyoung Kim.

To run performance tests in wk1, we need --no-timeout option implementation.
So adopt it from gtk+ port.

* DumpRenderTree/efl/DumpRenderTree.cpp:
(shouldSetWaitToDumpWatchdog):
(parseCommandLineOptions):
* DumpRenderTree/efl/DumpRenderTreeEfl.h:
* DumpRenderTree/efl/TestRunnerEfl.cpp:
(TestRunner::setWaitToDump):

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

7 years agoUnreviewed, build fix on EFL port
gyuyoung.kim@samsung.com [Tue, 7 May 2013 03:13:12 +0000 (03:13 +0000)]
Unreviewed, build fix on EFL port

* CMakeLists.txt: Add LocalStorageDatabaseTracker.cpp

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

7 years agoUnreviewed, GTK build fix after r149637.
philn@webkit.org [Tue, 7 May 2013 02:18:15 +0000 (02:18 +0000)]
Unreviewed, GTK build fix after r149637.

* GNUmakefile.list.am: Add LocalStorageDatabaseTracker sources to
the build.

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

7 years agoUnreviewed. AppleWin build fix.
roger_fong@apple.com [Tue, 7 May 2013 01:36:47 +0000 (01:36 +0000)]
Unreviewed. AppleWin build fix.

* WebKit.vcproj/WebKitExports.def.in:

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

7 years agoUse OwnPtr instead of deleteAllValues in DocumentMarkerController
darin@apple.com [Tue, 7 May 2013 00:45:31 +0000 (00:45 +0000)]
Use OwnPtr instead of deleteAllValues in DocumentMarkerController
https://bugs.webkit.org/show_bug.cgi?id=115655

Reviewed by Andreas Kling.

* dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::~DocumentMarkerController): Added here
so the destructor isn't implicitly inline.
(WebCore::DocumentMarkerController::detach): Removed now-unneeded code to
call deleteAllValues. Also moved code to set m_possiblyExistingMarkerTypes
to after clearing m_markers to be consistent with how other functions do it.
(WebCore::DocumentMarkerController::addMarker): Changed code to use the
add idiom to avoid double hash table lookup. Changed to use adoptPtr since
the map now contains OwnPtr.
(WebCore::DocumentMarkerController::removeMarkers): Removed explicit calls
to delete list since removing the entry from the map now deletes the list.
Moved the code to check if m_markers has become empty so it's only called
when we actually remove something from m_markers.
(WebCore::DocumentMarkerController::markerContainingPoint): Added get().
(WebCore::DocumentMarkerController::renderedRectsForMarkers): Added get().
(WebCore::DocumentMarkerController::removeMarkers): Changed to use a new
interface to removeMarkersFromList. This eliminated the need to copy the
entire map when removing markers; instead we can just copy the keys.
(WebCore::DocumentMarkerController::removeMarkersFromList): Changed to use
an iterator instead of being passed the key/value pair from the map. Also
rearranged the logic so there is less repeated code and removed some now-
unneeded comments.
(WebCore::DocumentMarkerController::repaintMarkers): Added get().
(WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
Added get().
(WebCore::DocumentMarkerController::showMarkers): Added get().

* dom/DocumentMarkerController.h: Removed implementation of the destructor
that called the detach function; that was just sharing the now-unneeded
call to deleteAllValues. Changed the type of the map to use an OwnPtr for
the value. Changed the interface of removeMarkersFromList to take a map
iterator instead of a key/value pair.

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

7 years agoReproducible crash in RenderBoxModelObject::adjustedPositionRelativeToOffsetParent()
bdakin@apple.com [Tue, 7 May 2013 00:33:05 +0000 (00:33 +0000)]
Reproducible crash in RenderBoxModelObject::adjustedPositionRelativeToOffsetParent()
https://bugs.webkit.org/show_bug.cgi?id=115685
-and corresponding-
<rdar://problem/13700734>

Reviewed by Sam Weinig.

This fix here is just to rollout the change that caused this regression, which is
http://trac.webkit.org/changeset/147395 . That change was not intended to cause any
behavioral differences. The change made it so RenderObject::offsetParent() returned
an Element* instead of a RenderBoxModelObject*. However, can muddle things when the
object we are returning is a continuation. Multiple RenderObjects have the same
Element in a continuation, so this new code can lead to a crash in
adjustedPositionRelativeToOffsetParent() when we expect to walk the RenderObject
chain and find the offsetParent in the Element’s parent chain. But we might crash in
some complicated continuation scenarios because we lost this disambiguation of which
RenderObject to start with.

Roll out.
* dom/Element.cpp:
(WebCore::Element::offsetParent):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::offsetParent):
* rendering/RenderObject.h:
(RenderObject):

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

7 years agoUnify ways to cache named item in HTMLCollections
rniwa@webkit.org [Tue, 7 May 2013 00:20:05 +0000 (00:20 +0000)]
Unify ways to cache named item in HTMLCollections
https://bugs.webkit.org/show_bug.cgi?id=115584

Reviewed by Antti Koivisto.

Refactor the code to share the same infrastructure for both id and name attributes maps.

Also get rid of shouldRegisterAsNamedItem and shouldRegisterAsExtraNamedItem from various Element subclasses
as these member functions were duplicating the information in HTMLNameCollection.cpp. Nevertheless, HTMLImageElement
and HTMLObjectElement still update HTMLDocument's window and document name getter maps when their presence as named
item changes due to an attribute change and children changes respectively.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter): Use windowNamedItemMap().containsSingle() instead of collection->hasExactlyOneItem() to
avoid instantiating HTMLCollection until we know for sure we're returning multiple items.
(WebCore::JSDOMWindow::getOwnPropertySlot): Call windowNamedItemMap().contains() instead of document->hasNamedItem()
since the latter has been removed.
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex): Ditto.
(WebCore::JSDOMWindow::getOwnPropertyDescriptor): Ditto.

* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::canGetItemsForName): Call documentNamedItemMap().contains() instead of
document->hasExtraNamedItem() since the latter has been removed.
(WebCore::JSHTMLDocument::nameGetter): Use documentNamedItemMap().containsSingle() instead of
collection->hasExactlyOneItem() to avoid instantiating HTMLCollection when we're returning the first item.

* dom/Document.cpp:
(WebCore::Document::windowNamedItems): Instantiate WindowNameCollection, which is a subclass of HTMLNameCollection,
instead of HTMLNameCollection since the latter class no longer has a public constructor.
(WebCore::Document::documentNamedItems): Ditto; instantiate DocumentNameCollection.

* dom/DocumentOrderedMap.cpp:
(WebCore::keyMatchesName): Added for name attribute.
(WebCore::keyMatchesWindowNamedItem): Added for window name getter.
(WebCore::keyMatchesDocumentNamedItem): Added for document name getter.
(WebCore::DocumentOrderedMap::getElementByName): Added for name attribute.
(WebCore::DocumentOrderedMap::getElementByWindowNamedItem): Added for window name getter.
(WebCore::DocumentOrderedMap::getElementByDocumentNamedItem): Added for document name getter.

* dom/DocumentOrderedMap.h:
(WebCore::DocumentOrderedMap::containsSingle): Added.
(WebCore::DocumentOrderedMap::containsMultiple): Fixed the bug that containsMultiple returns true even when
the duplicate count has been reduced to 1. Unfortunately this behavior change is not testable because the old code
worked properly (though less efficient) even if this function returned a wrong value.

* dom/Element.cpp:
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
(WebCore::Element::updateName): Added. Updates TreeScope's name attribute map as well as HTMLDocument's window name
and document name maps.
(WebCore::Element::updateId): Added the code to update HTMLDocument's window name and document name maps.

* dom/Element.h:
(Element): Removed shouldRegisterAsNamedItem, shouldRegisterAsExtraNamedItem, updateNamedItemRegistration, and
updateExtraNamedItemRegistration as they're no longer used.

* dom/TreeScope.cpp:
(SameSizeAsTreeScope):
(WebCore::TreeScope::getElementByName): Added.
(WebCore::TreeScope::addElementByName): Added.
(WebCore::TreeScope::removeElementByName): Added.

* dom/TreeScope.h:
(WebCore::TreeScope::hasElementWithName): Added.
(WebCore::TreeScope::containsMultipleElementsWithName): Added.

* html/HTMLAppletElement.h:
(HTMLAppletElement):

* html/HTMLCollection.cpp:
(WebCore::isMatchingElement): Use HTMLNameCollection subclasses' nodeMatches.
(WebCore::HTMLCollection::namedItem): Added a fast path for named item.
(WebCore::HTMLCollection::hasNamedItem): Use namedItem to avoid the work in the fast path.

* html/HTMLCollection.h:
(HTMLCollection): Removed checkForNameMatch.
* html/HTMLDocument.cpp:
(WebCore): Removed various member functions related to m_namedItemCounts and m_extraNamedItemCounts.

* html/HTMLDocument.h:
(WebCore::HTMLDocument::documentNamedItemMap): Added.
(WebCore::HTMLDocument::windowNamedItemMap): Added.
(HTMLDocument): Replaced m_namedItemCounts and m_extraNamedItemCounts by m_documentNamedItem and m_windowNamedItem.
Note that they're not one to one.

* html/HTMLEmbedElement.h:
(HTMLEmbedElement):

* html/HTMLFormElement.h:
(HTMLFormElement):

* html/HTMLIFrameElement.cpp: Removed the code to track the element's name since we already do this in Element.
(WebCore::HTMLIFrameElement::parseAttribute):

* html/HTMLIFrameElement.h:
(HTMLIFrameElement):

* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute): Update the HTMLDocument's maps when the name attribute's existence
changes its presence on window and document name getters in turn. This behavior change, again, appears to be
untestable due to the old being more graceful when DocumentOrderedMap returned a wrong value.

* html/HTMLImageElement.h:

* html/HTMLNameCollection.cpp:
(WebCore::HTMLNameCollection::HTMLNameCollection): No longer overrides itemAfter. This enables backwards traversals
of the tree along with other optimizations in HTMLCollection.

(WebCore::WindowNameCollection::nodeMatchesIfNameAttributeMatch): Added. Used in Element::updateName to determine
whether add() or remove() should be called on HTMLDocument's maps.
(WebCore::WindowNameCollection::nodeMatches): Added.

(WebCore::DocumentNameCollection::nodeMatchesIfIdAttributeMatch): Added. Used in Element::updateName to determine
whether add() or remove() should be called on HTMLDocument's maps.
(WebCore::DocumentNameCollection::nodeMatchesIfNameAttributeMatch): Ditto.
(WebCore::DocumentNameCollection::nodeMatches): Added.

* html/HTMLNameCollection.h:
(HTMLNameCollection): Removed create since this class shouldn't be instantiated on its own.

(WebCore::WindowNameCollection): Added.
(WebCore::WindowNameCollection::create): Added.
(WebCore::WindowNameCollection::nodeMatches): Added.
(WebCore::WindowNameCollection::nodeMatchesIfIdAttributeMatch): Added.
(WebCore::WindowNameCollection::WindowNameCollection): Added.
(WebCore::DocumentNameCollection): Added.
(WebCore::DocumentNameCollection::create): Added.
(WebCore::DocumentNameCollection::nodeMatches): Added.
(WebCore::DocumentNameCollection::DocumentNameCollection): Added.

* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateDocNamedItem): Update both window and document getter maps of HTMLDocument when
the visibility of this element changes due to the DOM mutations in the subtree.

* html/HTMLObjectElement.h:
(WebCore::HTMLObjectElement):
(WebCore::toHTMLObjectElement): Added.

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

7 years agoRemove some unnecessary soft linking in NetworkProcess.
beidson@apple.com [Tue, 7 May 2013 00:05:12 +0000 (00:05 +0000)]
Remove some unnecessary soft linking in NetworkProcess.
<rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683

Reviewed by Sam Weinig.

Replace some unneeded soft linking with forward declarations.

* NetworkProcess/mac/DiskCacheMonitor.mm:
(WebKit::DiskCacheMonitor::DiskCacheMonitor):
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse):
(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):

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

7 years agoUnreviewed, rolling out r149547.
commit-queue@webkit.org [Mon, 6 May 2013 23:55:15 +0000 (23:55 +0000)]
Unreviewed, rolling out r149547.
http://trac.webkit.org/changeset/149547
https://bugs.webkit.org/show_bug.cgi?id=115682

Added unittests that fail on bots and spits out text into
stdout (Requested by rniwa on #webkit).

* Scripts/import-w3c-tests: Removed.
* Scripts/webkitpy/w3c/__init__.py: Removed.
* Scripts/webkitpy/w3c/test_converter.py: Removed.
* Scripts/webkitpy/w3c/test_converter_unittest.py: Removed.
* Scripts/webkitpy/w3c/test_importer.py: Removed.
* Scripts/webkitpy/w3c/test_importer_unittest.py: Removed.
* Scripts/webkitpy/w3c/test_parser.py: Removed.
* Scripts/webkitpy/w3c/test_parser_unittest.py: Removed.

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

7 years agoFlaky Test: fast/frames/crash-remove-iframe-during-object-beforeload.html
akling@apple.com [Mon, 6 May 2013 23:21:39 +0000 (23:21 +0000)]
Flaky Test: fast/frames/crash-remove-iframe-during-object-beforeload.html
<http://webkit.org/b/115674>

Reviewed by Alexey Proskuryakov.

Don't cache the Document::renderer() in a local since layout may blow it away.

* dom/Document.cpp:
(WebCore::Document::implicitClose):

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

7 years agoMore work on LocalStorageDatabaseTracker
andersca@apple.com [Mon, 6 May 2013 23:06:18 +0000 (23:06 +0000)]
More work on LocalStorageDatabaseTracker
https://bugs.webkit.org/show_bug.cgi?id=115680

Reviewed by Andreas Kling.

Source/WebCore:

Export symbols needed by WebKit2.

* WebCore.exp.in:

Source/WebKit2:

* UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::databaseFilename):
Call the new databaseFilename that takes a string.

(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
Assert that we don't call this more than once. Dispatch a call to import origin identifiers.

(WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
New helper function that returns the tracker database path.

(WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
Open the database and create the Origins table if needed.

(WebKit::LocalStorageDatabaseTracker::importOriginIdentifiers):
Open the database and import the origin identifiers from it, then synchronize it with whatever files are on disk.

(WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
Bring the tracker database up to date from the database files on disk.

* UIProcess/Storage/LocalStorageDatabaseTracker.h:
(LocalStorageDatabaseTracker):

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

7 years ago <rdar://problem/13479806> [Mac] Pass information about open pages to LaunchSe...
ap@apple.com [Mon, 6 May 2013 22:49:17 +0000 (22:49 +0000)]
    <rdar://problem/13479806> [Mac] Pass information about open pages to LaunchServices
        https://bugs.webkit.org/show_bug.cgi?id=115665

        Reviewed by Darin Adler.

        * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad): Moved repeated
        check for frame->isMainFrame() to the top, matching oter similar functions.
        Call updateActivePages().

        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::networkProcessConnectionClosed): Removed an obsolete FIXME.
        (WebKit::WebProcess::updateActivePages): Empty implementation for platforms
        that don't need to do anything here.

        * WebProcess/WebProcess.h: Added updateActivePages().

        * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
        Collect user visible origins of pages in the process and pass them to LS.

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

7 years ago[jhbuild] bump jhbuild version to take advantage of new improvements
kov@webkit.org [Mon, 6 May 2013 22:47:26 +0000 (22:47 +0000)]
[jhbuild] bump jhbuild version to take advantage of new improvements
https://bugs.webkit.org/show_bug.cgi?id=115558

Reviewed by Martin Robinson.

One of the important improvements is jhbuild no longer fetches git
repositories if they are already at the expected revision, which should
make the EWS bots more robust to git servers unavailability.

* jhbuild/jhbuild-wrapper: bump jhbuild to 496974221c3a8ac4fbbc3b0a577c71cac224130d.

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

7 years ago<rdar://problem/13775921> Switch off a deprecated API.
mrowe@apple.com [Mon, 6 May 2013 22:33:15 +0000 (22:33 +0000)]
<rdar://problem/13775921> Switch off a deprecated API.

Reviewed by Oliver Hunt.

* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::setProcessSuppressionEnabled): When disabling process suppression,
begin an activity that doesn't disable idle sleep, sudden termination or automatic termination.
When enabling process suppression, end the activity.

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

7 years agoMove local storage directory handling to LocalStorageDatabaseTracker
andersca@apple.com [Mon, 6 May 2013 21:43:15 +0000 (21:43 +0000)]
Move local storage directory handling to LocalStorageDatabaseTracker
https://bugs.webkit.org/show_bug.cgi?id=115676

Reviewed by Andreas Kling.

* UIProcess/Storage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::create):
(WebKit::LocalStorageDatabase::LocalStorageDatabase):
* UIProcess/Storage/LocalStorageDatabase.h:
(WebCore):
(LocalStorageDatabase):
* UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
(WebKit):
(WebKit::LocalStorageDatabaseTracker::databaseFilename):
(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
* UIProcess/Storage/LocalStorageDatabaseTracker.h:
(WebCore):
(LocalStorageDatabaseTracker):
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::StorageArea::StorageArea):
(WebKit::StorageManager::setLocalStorageDirectory):
* UIProcess/Storage/StorageManager.h:
(StorageManager):

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

7 years ago[GTK] Add webkit_uri_scheme_request_finish_error
commit-queue@webkit.org [Mon, 6 May 2013 21:20:41 +0000 (21:20 +0000)]
[GTK] Add webkit_uri_scheme_request_finish_error
https://bugs.webkit.org/show_bug.cgi?id=94316

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-05-06
Reviewed by Anders Carlsson.

Source/WebCore:

No behaviour change, covered by existing tests.

* platform/network/soup/ResourceError.h:
(ResourceError): Rename genericIOError() to genericGError().
* platform/network/soup/ResourceErrorSoup.cpp:
(WebCore::ResourceError::httpError): Use genercicGError() instead of
genericIOError().
(WebCore::ResourceError::genericGError): Use error domain instead of
always return a G_IO_ERROR.
* platform/network/soup/ResourceHandleSoup.cpp: Use genericGError()
instead of genericIOError().
(WebCore::redirectSkipCallback):
(WebCore::readCallback):

Source/WebKit2:

This new method will allow to finish WebKitURISchemeRequest with a
GError that will be passed to the WebKitWebView through the
"load-failed" signal.

* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkit_uri_scheme_request_finish_error): Implement new method using
WebSoupRequestManagerProxy::didFailURIRequest().
* UIProcess/API/gtk/WebKitURISchemeRequest.h: Add new method header.
* UIProcess/API/gtk/WebKitWebContext.cpp: Include the usage of the new
method in the code example at webkit_web_context_register_uri_scheme()
documentation.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new
method.
* UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
(loadFailedCallback): Set m_error to monitor it from the tests.
(LoadTrackingTest::loadURI): Clear m_error before each load.
(LoadTrackingTest::loadHtml): Ditto.
(LoadTrackingTest::loadPlainText): Ditto.
(LoadTrackingTest::loadRequest): Ditto.
(LoadTrackingTest::reload): Ditto.
(LoadTrackingTest::goBack): Ditto.
(LoadTrackingTest::goForward): Ditto.
* UIProcess/API/gtk/tests/LoadTrackingTest.h: Add new member m_error.
* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
(testWebContextURIScheme): Modify test to check the behavior of the new
method.
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::didFailURIRequest):
(WebKit): Implement new method using
WebSoupRequestManager::DidFailURIRequest().
* UIProcess/soup/WebSoupRequestManagerProxy.h:
(WebSoupRequestManagerProxy): Add new method header.
* WebProcess/soup/WebSoupRequestManager.cpp:
(WebKit):
(WebKit::WebSoupRequestManager::didFailURIRequest): Implement new method
setting the error and completing the request.
* WebProcess/soup/WebSoupRequestManager.h:
(WebSoupRequestManager): Add new method header.
* WebProcess/soup/WebSoupRequestManager.messages.in: Add new method
signature.

Tools:

* MiniBrowser/gtk/main.c:
(miniBrowserErrorQuark): Add function to create a global quark for
MiniBrowser.
(aboutURISchemeRequestCallback): Update MiniBrowser to use the new
function webkit_uri_scheme_request_finish_error().

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

7 years agoHeap-use-after-free in WebCore::InlineFlowBox::deleteLine
commit-queue@webkit.org [Mon, 6 May 2013 21:18:30 +0000 (21:18 +0000)]
Heap-use-after-free in WebCore::InlineFlowBox::deleteLine
https://bugs.webkit.org/show_bug.cgi?id=114772

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-05-06
Reviewed by David Hyatt.

Source/WebCore:

Fix the new use after free issues in Ruby.

Test: fast/ruby/ruby-svg-crash.html

* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::removeChild):

LayoutTests:

Test case generated by the fuzzer. Will only crash when run in a
vulnerable configuration with a memory checking lib enabled.

* fast/ruby/ruby-svg-crash-expected.txt: Added.
* fast/ruby/ruby-svg-crash.html: Added.

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

7 years agoREGRESSION(r140024): child of fixed div inside of absolute div does not get resized...
robert@webkit.org [Mon, 6 May 2013 21:16:42 +0000 (21:16 +0000)]
REGRESSION(r140024): child of fixed div inside of absolute div does not get resized when window is resized
https://bugs.webkit.org/show_bug.cgi?id=115379

Reviewed by David Hyatt.

Source/WebCore:

When detecting whether a fixed pos object needed to move with an absolute ancestor we checked
whether the logical width of the fixed pos object had changed. This check prevented the fixed pos
object from detecting later on that it needed to relayout its children in layoutBlock(). So recompute the width
for our check instead of updating it.

Test: fast/block/positioning/child-of-fixed-pos-after-movement.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):

LayoutTests:

* fast/block/positioning/child-of-fixed-pos-after-movement-expected.txt: Added.
* fast/block/positioning/child-of-fixed-pos-after-movement.html: Added.

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

7 years agoEvery LocalStorageDatabase should know about its tracker
andersca@apple.com [Mon, 6 May 2013 21:07:35 +0000 (21:07 +0000)]
Every LocalStorageDatabase should know about its tracker
https://bugs.webkit.org/show_bug.cgi?id=115673

Reviewed by Andreas Kling.

* UIProcess/Storage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::create):
(WebKit::LocalStorageDatabase::LocalStorageDatabase):
* UIProcess/Storage/LocalStorageDatabase.h:
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::StorageArea::StorageArea):

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

7 years ago[BlackBerry] Enable and Expose Text Autosizing through BlackBerry::WebKit::WebSettings
commit-queue@webkit.org [Mon, 6 May 2013 20:56:10 +0000 (20:56 +0000)]
[BlackBerry] Enable and Expose Text Autosizing through BlackBerry::WebKit::WebSettings
https://bugs.webkit.org/show_bug.cgi?id=113808

Patch by Mike Lattanzio <mlattanzio@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

.:

Set the ENABLE_TEXT_AUTOSIZING default to ON for BlackBerry.

* Source/cmake/OptionsBlackBerry.cmake:

Source/WebCore:

Added TextAutosizer.cpp to the BlackBerry build.

* PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

Create a WebSetting for text autosizing. The default is off.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
* Api/WebSettings.cpp:
(WebKit):
(BlackBerry::WebKit::WebSettings::standardSettings):
(BlackBerry::WebKit::WebSettings::isTextAutosizingEnabled):
(BlackBerry::WebKit::WebSettings::setTextAutosizingEnabled):
* Api/WebSettings.h:

Tools:

Modify FeatureList.pm and set ENABLE_TEXT_AUTOSIZING to default
to true for BlackBerry.

* Scripts/webkitperl/FeatureList.pm:

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

7 years agoAdd LocalStorageDatabaseTracker class
andersca@apple.com [Mon, 6 May 2013 20:48:36 +0000 (20:48 +0000)]
Add LocalStorageDatabaseTracker class
https://bugs.webkit.org/show_bug.cgi?id=115671

Reviewed by Andreas Kling.

Somewhat unsurprisingly, this class will be used for tracking local storage databases.

* UIProcess/Storage/LocalStorageDatabaseTracker.cpp: Added.
(WebKit::LocalStorageDatabaseTracker::create):
(WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
(WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker):
* UIProcess/Storage/LocalStorageDatabaseTracker.h: Added.
(LocalStorageDatabaseTracker):

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::StorageManager):
Create a local storage database tracker.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

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

7 years agocheck-webkit-style should complain about a layering violation if platform-specific...
jberlin@webkit.org [Mon, 6 May 2013 20:32:51 +0000 (20:32 +0000)]
check-webkit-style should complain about a layering violation if platform-specific guards are
used in WebCore outside of the platform directory
https://bugs.webkit.org/show_bug.cgi?id=115567

Reviewed by Benjamin Poulain.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_for_webcore_platform_layering_violation):
If the file is in WebCore but not in platform and contains #if PLATFORM(SOMETHING), emit an error.
(process_line):
Add the check_for_webcore_platform_layering_violation.
(CppChecker):
List the new check.

* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_webcore_platform_layering_violation):
Add tests.

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

7 years agoMisc bugfix and cleaning in sh4 base JIT.
commit-queue@webkit.org [Mon, 6 May 2013 20:28:31 +0000 (20:28 +0000)]
Misc bugfix and cleaning in sh4 base JIT.
https://bugs.webkit.org/show_bug.cgi?id=115627

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-05-06
Reviewed by Oliver Hunt.

Get rid of loadX(RegisterID r0, RegisterID src, RegisterID dest) functions.
Remove misplaced extuw() implementation from MacroAssemblerSH4.
Add movbRegMemr0 and movwRegMemr0 functions in SH4Assembler.

* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::add32): Skip operation when first operand is a zero immediate.
(JSC::MacroAssemblerSH4::sub32): Skip operation when first operand is a zero immediate.
(JSC::MacroAssemblerSH4::load32): Fix wrong usage of r0 register.
(JSC::MacroAssemblerSH4::load8Signed): Handle "base == r0" case.
(MacroAssemblerSH4):
(JSC::MacroAssemblerSH4::load16): Handle "base == r0" case.
(JSC::MacroAssemblerSH4::load16Unaligned): Use extuw() implementation from SH4Assembler.
(JSC::MacroAssemblerSH4::load16Signed): Cosmetic change.
(JSC::MacroAssemblerSH4::store8): Fix unhandled BaseIndex offset and handle (base == r0) case.
(JSC::MacroAssemblerSH4::store16): Fix unhandled BaseIndex offset and handle (base == r0) case.
(JSC::MacroAssemblerSH4::store32):
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::movwRegMemr0):
(SH4Assembler):
(JSC::SH4Assembler::movbRegMemr0):
(JSC::SH4Assembler::placeConstantPoolBarrier): Cosmetic change.
(JSC::SH4Assembler::maxJumpReplacementSize):
(JSC::SH4Assembler::replaceWithJump): Correct branch range and save an opcode.
(JSC::SH4Assembler::printInstr):

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

7 years agoStop using WTF::deleteAllValues in JavaScriptCore
andersca@apple.com [Mon, 6 May 2013 20:17:43 +0000 (20:17 +0000)]
Stop using WTF::deleteAllValues in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=115670

Reviewed by Oliver Hunt.

Change the Vectors used to Vectors of OwnPtrs instead.

* heap/DFGCodeBlocks.cpp:
(JSC::DFGCodeBlocks::~DFGCodeBlocks):
(JSC::DFGCodeBlocks::deleteUnmarkedJettisonedCodeBlocks):

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

7 years agoUse OwnPtr instead of deleteAllValues in SVGAttributeToPropertyMap
darin@apple.com [Mon, 6 May 2013 20:15:19 +0000 (20:15 +0000)]
Use OwnPtr instead of deleteAllValues in SVGAttributeToPropertyMap
https://bugs.webkit.org/show_bug.cgi?id=115653

Reviewed by Andreas Kling.

Also made a few style fixes to the code at the same time.

* svg/properties/SVGAttributeToPropertyMap.cpp:
(WebCore::SVGAttributeToPropertyMap::addProperties): Changed argument to
const because there was no reason for it to be non-const. Added calls to
get() since the items in the map are now OwnPtr. Added a couple FIXMEs
about performance mistakes.
(WebCore::SVGAttributeToPropertyMap::addProperty): Added a FIXME about
a small performance mistake, and updated to use OwnPtr instead of raw
pointers.
(WebCore::SVGAttributeToPropertyMap::synchronizeProperties): Added a call
to get().

* svg/properties/SVGAttributeToPropertyMap.h: Removed now-unneeded
constructor and destructor definitions. Changed the type for the
addProperties to be const&. Added a comment about incorrect function
naming. Changed the type of the map data member to use OwnPtr.

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

7 years agoHandle closing the local storage database
andersca@apple.com [Mon, 6 May 2013 20:13:08 +0000 (20:13 +0000)]
Handle closing the local storage database
https://bugs.webkit.org/show_bug.cgi?id=115669

Reviewed by Beth Dakin.

* UIProcess/Storage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::LocalStorageDatabase):
Initialize m_isClosed.

(WebKit::LocalStorageDatabase::~LocalStorageDatabase):
Assert that m_isClosed is false.

(WebKit::LocalStorageDatabase::close):
Set m_isClosed to true and write any pending changes to disk.

(WebKit::LocalStorageDatabase::updateDatabase):
Compute the changed items and pass them to updateDatabaseWithChangedItems.

(WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
Split out the code that actually writes to the database from updateDatabase and into this function.

* UIProcess/Storage/LocalStorageDatabase.h:
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::StorageArea::~StorageArea):
Call close().

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

7 years agowebkit-patch: fix 'upload' command with Bugzilla 4.2.5
ddkilzer@apple.com [Mon, 6 May 2013 19:49:08 +0000 (19:49 +0000)]
webkit-patch: fix 'upload' command with Bugzilla 4.2.5
<http://webkit.org/b/115667>

Reviewed by Dirk Pranke.

* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla._check_create_bug_response): Update regex to work with
Bugzilla 3.2.3 and 4.2.5.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
(test__check_create_bug_response): Add new test that covers both
old and new <title> variations.

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

7 years ago[BlackBerry] Ensure document is attached before accessing its FrameSelection
commit-queue@webkit.org [Mon, 6 May 2013 19:38:10 +0000 (19:38 +0000)]
[BlackBerry] Ensure document is attached before accessing its FrameSelection
https://bugs.webkit.org/show_bug.cgi?id=115565

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR 312101
We need to make sure that the node and document
are attached before accessing the FrameSelection. This was
handled earlier but not all call paths were covered.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::setElementUnfocused):
(BlackBerry::WebKit::InputHandler::isActiveTextEdit):
(WebKit):
* WebKitSupport/InputHandler.h:

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

7 years agoRemove more code that was only needed for younger/older shadow trees
antti@apple.com [Mon, 6 May 2013 19:37:44 +0000 (19:37 +0000)]
Remove more code that was only needed for younger/older shadow trees
https://bugs.webkit.org/show_bug.cgi?id=115662

Reviewed by Andreas Kling.

This is dead code.

* WebCore.exp.in:
* dom/ComposedShadowTreeWalker.cpp:
(WebCore::nodeCanBeDistributed):
(WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):
* dom/EventPathWalker.cpp:
(WebCore::EventPathWalker::moveToParent):
* html/shadow/ContentDistributor.cpp:
(WebCore::ScopeContentDistribution::ScopeContentDistribution):
(WebCore::ScopeContentDistribution::registerInsertionPoint):
(WebCore::ScopeContentDistribution::unregisterInsertionPoint):
(WebCore):
(WebCore::ScopeContentDistribution::hasInsertionPoint):
(WebCore::ContentDistributor::invalidate):
* html/shadow/ContentDistributor.h:
(ScopeContentDistribution):
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::contains):
(WebCore::resolveReprojection):
(WebCore::collectInsertionPointsWhereNodeIsDistributed):
* html/shadow/InsertionPoint.h:
* testing/Internals.cpp:
(WebCore):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

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

7 years ago[BlackBerry] Do not spellcheck when composition is active.
commit-queue@webkit.org [Mon, 6 May 2013 19:36:29 +0000 (19:36 +0000)]
[BlackBerry] Do not spellcheck when composition is active.
https://bugs.webkit.org/show_bug.cgi?id=115562

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR331344
Typing can trigger rechecking since layout changes. Ensure
extra work is only done when we need it, and that it won't
be triggered when composition is active. If the user hasn't
finished a word yet, it is likely future key events will be
arriving, so checking the string at this point is extraneous.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::requestCheckingOfString):

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

7 years ago[BlackBerry] Reduce the spellcheck checking range
commit-queue@webkit.org [Mon, 6 May 2013 19:31:37 +0000 (19:31 +0000)]
[BlackBerry] Reduce the spellcheck checking range
https://bugs.webkit.org/show_bug.cgi?id=115479

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR332773
Previously we were spellchecking the entire field on focus. If relayouting
occurred we rechecked this region, which is very costly. Switch to check
only a small region around the caret in both cases, which should alleviate
much of the delays experienced in very large contenteditable fields. This
allows for faster key input response and less time processing these requests
on the WebKit thread.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::requestCheckingOfString):
(BlackBerry::WebKit::InputHandler::spellCheckTextBlock):
* WebKitSupport/SpellingHandler.cpp:
(WebKit):
(BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
* WebKitSupport/SpellingHandler.h:
(SpellingHandler):

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

7 years ago[BlackBerry] Use a more descriptive timer name
commit-queue@webkit.org [Mon, 6 May 2013 19:29:52 +0000 (19:29 +0000)]
[BlackBerry] Use a more descriptive timer name
https://bugs.webkit.org/show_bug.cgi?id=115481

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

Changing m_timer to m_iterationDelayTimer.

* WebKitSupport/SpellingHandler.cpp:
(BlackBerry::WebKit::SpellingHandler::SpellingHandler):
(BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
(BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
* WebKitSupport/SpellingHandler.h:
(SpellingHandler):

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

7 years ago[BlackBerry] Update HTML5 progress bar UX.
commit-queue@webkit.org [Mon, 6 May 2013 19:13:30 +0000 (19:13 +0000)]
[BlackBerry] Update HTML5 progress bar UX.
https://bugs.webkit.org/show_bug.cgi?id=115284.

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-05-06
Reviewed by Rob Buis.

BlackBerry PR 331729.
Internally Reviewed by Jeff Rogers.

Use GL render to paint progress bar to meet UX specs.
Also change the slider range to GL render.

* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore):
(WebCore::RenderThemeBlackBerry::paintSliderTrack):
(WebCore::RenderThemeBlackBerry::paintProgressTrackRect):
(WebCore::drawProgressTexture):
(WebCore::RenderThemeBlackBerry::paintProgressBar):
* platform/blackberry/RenderThemeBlackBerry.h:
(RenderThemeBlackBerry):

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

7 years ago[CSS Exclusions] remove unused -webkit-wrap property
commit-queue@webkit.org [Mon, 6 May 2013 19:11:58 +0000 (19:11 +0000)]
[CSS Exclusions] remove unused -webkit-wrap property
https://bugs.webkit.org/show_bug.cgi?id=102105

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-05-06
Reviewed by Darin Adler.

Source/WebCore:

Remove -webkit-wrap property and all mentions. This property doesn't
exist in the spec anymore, and was never implemented more than just
parsing the property.

* WebCore.order:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getPropertyValue):
(WebCore::StylePropertySet::asText):
* css/StylePropertyShorthand.cpp:
(WebCore::shorthandForProperty):
* css/StylePropertyShorthand.h:
(WebCore):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):

LayoutTests:

Delete tests for the -webkit-wrap property.

* fast/exclusions/css-exclusions-disabled.html: Remove use of -webkit-wrap.
* fast/exclusions/script-tests/wrap-parsing.js: Removed.
* fast/exclusions/wrap-parsing-expected.txt: Removed.
* fast/exclusions/wrap-parsing.html: Removed.
* svg/css/style-change-crash-expected.txt: Removed.
* svg/css/style-change-crash.html: Removed.

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

7 years agoBuild with GCC 4.8 fails because of -Wmaybe-uninitialized
abecsi@webkit.org [Mon, 6 May 2013 18:49:10 +0000 (18:49 +0000)]
Build with GCC 4.8 fails because of -Wmaybe-uninitialized
https://bugs.webkit.org/show_bug.cgi?id=115648

Reviewed by Michael Saboff.

Initialize values in Options::setOption since from
there we end up calling OptionRange::init with
uninitialized members.

* runtime/Options.cpp:

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

7 years agoUnreviewed. AppleWin VS2010 build fix.
roger_fong@apple.com [Mon, 6 May 2013 18:46:55 +0000 (18:46 +0000)]
Unreviewed. AppleWin VS2010 build fix.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

7 years ago[WK2] Make the WebNetworkInfoManagerProxy a supplement to the WebContext
zandobersek@gmail.com [Mon, 6 May 2013 18:44:25 +0000 (18:44 +0000)]
[WK2] Make the WebNetworkInfoManagerProxy a supplement to the WebContext
https://bugs.webkit.org/show_bug.cgi?id=115654

Reviewed by Andreas Kling.

Rather than holding a RefPtr to the WebNetworkInfoManagerProxy object in WebContext, change the WebNetworkInfoManagerProxy
to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.

* UIProcess/API/C/WKContext.cpp:
(WKContextGetNetworkInfoManager): Retrieve the WebNetworkInfoManagerProxy object from the suppplements of the WebContext.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Add the WebNetworkInfoManagerProxy object as a supplement instead of assigning it to
the now-removed member variable.
(WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
supplements vector.
(WebKit::WebContext::disconnectProcess): Ditto.
* UIProcess/WebContext.h:
(WebContext): Remove the WebNetworkInfoManagerProxy RefPtr member variable and its getter method.
* UIProcess/WebNetworkInfoManagerProxy.cpp:
(WebKit::WebNetworkInfoManagerProxy::supplementName): Specift the supplement's name.
(WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy): Initialize as a WebContextSupplement.
(WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation): Adjust to use the context() method instead of
accessing the private m_context directly.
(WebKit::WebNetworkInfoManagerProxy::contextDestroyed): Stop updating when invoked.
(WebKit::WebNetworkInfoManagerProxy::processDidClose): Ditto.
(WebKit::WebNetworkInfoManagerProxy::refWebContextSupplement): Call APIObject::ref.
(WebKit::WebNetworkInfoManagerProxy::derefWebContextSupplement): Call APIObject::deref.
* UIProcess/WebNetworkInfoManagerProxy.h:
(WebNetworkInfoManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.

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

7 years ago <rdar://problem/13479806> [Mac] Pass plug-in bundle ID to LaunchServices
ap@apple.com [Mon, 6 May 2013 18:40:29 +0000 (18:40 +0000)]
    <rdar://problem/13479806> [Mac] Pass plug-in bundle ID to LaunchServices
        https://bugs.webkit.org/show_bug.cgi?id=115483

        Reviewed by Darin Adler.

        * PluginProcess/PluginProcess.h: Added m_pluginBundleIdentifier. We now need it
        in multiple places, so it's easier to pre-compute it.

        * PluginProcess/mac/PluginProcessMac.mm:
        (WebKit::loadSandboxProfileForDirectory): Changed to use precomputed bundle ID.
        (WebKit::loadSandboxProfile): Ditto.
        (WebKit::PluginProcess::platformInitializeProcess): Pre-compute bundle ID.
        (WebKit::PluginProcess::initializeProcessName): Pass it to LaunchServices.
        (WebKit::PluginProcess::initializeSandbox): Pass precomputed bundle ID instead of
        a path.

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

7 years agoHandle removeItem and clear in LocalStorageDatabase
andersca@apple.com [Mon, 6 May 2013 18:38:44 +0000 (18:38 +0000)]
Handle removeItem and clear in LocalStorageDatabase
https://bugs.webkit.org/show_bug.cgi?id=115664

Reviewed by Darin Adler.

* UIProcess/Storage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::removeItem):
Call itemDidChange with a null value, indicating that we want to remove this item.

(WebKit::LocalStorageDatabase::clear):
Clear items, set m_shouldClearItems and schedule a database update.

(WebKit::LocalStorageDatabase::updateDatabase):
If m_shouldClearItems is true, clear all items.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::StorageArea::removeItem):
Call through to the local storage database.

(WebKit::StorageManager::StorageArea::clear):
Ditto.

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