[CSS] Minor cleanups in CSS variables handling
https://bugs.webkit.org/show_bug.cgi?id=116318

Reviewed by Ryosuke Niwa.

No new tests, only a cleanup.

* css/CSSParser.cpp:
(WebCore::CSSParserString::substring): Optimize.
(WebCore::CSSParser::createPrimitiveVariableNameValue):
Remove intermediate variable.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150302 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Leaks builders exit early frequently
https://bugs.webkit.org/show_bug.cgi?id=116355

Reviewed by Stephanie Lewis.

Throttle the number of processes to use, and also bump up the number of crashes/timeouts
we tolerate from 20 to 50.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKitTests.start):
* Scripts/webkitpy/port/mac.py:
(MacPort.default_child_processes):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use the UI process storage manager for deleting local storage data
https://bugs.webkit.org/show_bug.cgi?id=116358
<rdar://problem/13852829>

Reviewed by Andreas Kling.

* Shared/WebSecurityOrigin.h:
(WebKit::WebSecurityOrigin::protocol):
(WebKit::WebSecurityOrigin::host):
(WebKit::WebSecurityOrigin::databaseIdentifier):
(WebKit::WebSecurityOrigin::toString):
Remove unneeded consts.

(WebKit::WebSecurityOrigin::securityOrigin):
Add getter.

* UIProcess/Storage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::close):
deleteEmptyDatabaseWithOrigin has been renamed to deleteDatabaseWithOrigin.

* UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::deleteDatabaseWithOrigin):
Rename since this is no longer used only for empty databases.

(WebKit::LocalStorageDatabaseTracker::deleteAllDatabases):
Loop over the tracker database and delete all database files.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::StorageArea::clear):
Clear the map, close the database and tell all event listeners to reset their caches.

(WebKit::StorageManager::LocalStorageNamespace::clearStorageAreasMatchingOrigin):
Loop over all storage areas and call clear on those matching the security origin.

(WebKit::StorageManager::LocalStorageNamespace::clearAllStorageAreas):
Loop over all storage areas and call clear on them.

(WebKit::StorageManager::deleteEntriesForOrigin):
Dispatch deleteEntriesForOriginInternal on the work queue.

(WebKit::StorageManager::deleteAllEntries):
Dispatch deleteAllEntriesInternal on the work queue.

(WebKit::StorageManager::deleteEntriesForOriginInternal):
Call clearStorageAreasMatchingOrigin on all local storage namespaces and then delete the database.

(WebKit::StorageManager::deleteAllEntriesInternal):
Call clearAllStorageAreas on all local storage namespaces and then delete all databases.

* UIProcess/WebKeyValueStorageManagerProxy.cpp:
(WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
Call out to the storage manager.

(WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
Ditto.

* WebProcess/Storage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::clearCache):
Call resetValues which will null out the storage map.

* WebProcess/Storage/StorageAreaMap.messages.in:
Add ClearCache message.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150304 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove dead local storage code
https://bugs.webkit.org/show_bug.cgi?id=116360

Reviewed by Beth Dakin.

Storage is all handled in the UI process now so we no longer need a WebKeyValueStorageManager in the web process.

* DerivedSources.make:
* UIProcess/WebKeyValueStorageManagerProxy.cpp:
(WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
(WebKit):
(WebKit::didGetKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
* UIProcess/WebKeyValueStorageManagerProxy.h:
(WebKeyValueStorageManagerProxy):
* UIProcess/WebKeyValueStorageManagerProxy.messages.in: Removed.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Storage/WebKeyValueStorageManager.cpp: Removed.
* WebProcess/Storage/WebKeyValueStorageManager.h: Removed.
* WebProcess/Storage/WebKeyValueStorageManager.messages.in: Removed.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150305 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rename WebKeyValueStorageManagerProxy to WebKeyValueStorageManager
https://bugs.webkit.org/show_bug.cgi?id=116361

Reviewed by Andreas Kling.

There's nothing proxy about this class anymore!

* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKContext.cpp:
* UIProcess/API/C/WKKeyValueStorageManager.cpp:
* UIProcess/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp.
* UIProcess/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h.
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Headers and footers will sometimes disappear and re-appear during page loads
https://bugs.webkit.org/show_bug.cgi?id=116336
-and corresponding-
<rdar://problem/13886753>

Reviewed by Simon Fraser.

This patch changes the WebCore-level API that WebKit uses to create a banner. 
Specifically this patch removes FrameView::setWantsLayerForHeader(), which created 
and returned a layer. Instead, WK2 will call Page::addHeaderWithHeight(). When the 
layer has been created, it will call back into WK2 via ChromeClient. This will 
allow WebCore to re-create the header/footer layers as needed whenever the 
FrameView/RenderLayerCompositor have been destroyed and recreated.

Source/WebCore: 

Remove references to old FrameView functions. Add references to new Page 
functions.
* WebCore.exp.in:

New ChromeClient functions will pass the new layers up to WK2.
* page/ChromeClient.h:
(WebCore::ChromeClient::didAddHeaderLayer):
(WebCore::ChromeClient::didAddFooterLayer):
(ChromeClient):

Remove setWantsLayerForHeader/Footer.
* page/FrameView.cpp:
* page/FrameView.h:
(FrameView):

Page now caches the header and footer height. When the FrameView/RLC have been 
destroyed, and the cached layer/height information on those classes has been lost, 
this data on Page will persist so that we can build the layers back up.
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::addHeaderWithHeight):
(WebCore::Page::addFooterWithHeight):
* page/Page.h:
(WebCore::Page::headerHeight):
(WebCore::Page::footerHeight):

As soon as the root gets a backing, recreate the header and footer layers if 
needed.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):

Call into ChromeClient.
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):

Source/WebKit2: 

Send the layers over to PageBanner.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::didAddHeaderLayer):
(WebKit::WebChromeClient::didAddFooterLayer):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):

PageBanner::addToPage() now does much less work since it can’t get the parent 
layer right away. The work that is used to do once it had the parent layer is now 
performed in didAddParentLayer()
* WebProcess/WebPage/PageBanner.cpp:
(WebKit::PageBanner::didAddParentLayer):
* WebProcess/WebPage/PageBanner.h:
* WebProcess/WebPage/mac/PageBannerMac.mm:
(WebKit::PageBanner::addToPage):
(WebKit::PageBanner::didAddParentLayer):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150307 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Re-align the OS(AIX) macro...
...in the hopes that the resulting world rebuild will fix failures after r150294.

* wtf/Platform.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150308 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move Storage member functions out of line
https://bugs.webkit.org/show_bug.cgi?id=116364

Reviewed by Andreas Kling.

This is preparation for sharing more code between the WebKit1 and WebKit2 storage area subclasses.
Also remove unnecessary null checks and make m_storageArea const.

* storage/Storage.cpp:
(WebCore::Storage::length):
(WebCore::Storage::key):
(WebCore::Storage::getItem):
(WebCore::Storage::setItem):
(WebCore::Storage::removeItem):
(WebCore::Storage::clear):
(WebCore::Storage::contains):
* storage/Storage.h:
(WebCore::Storage::area):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
        https://bugs.webkit.org/show_bug.cgi?id=116359

        Reviewed by Anders Carlsson.

        This feature was already RuntimeEnabled. Call through layers to get the answer from
        a platform strategy.

        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::DefaultSharedWorkerRepository::isAvailable):
        * workers/DefaultSharedWorkerRepository.h:
        * workers/SharedWorkerRepository.cpp:
        (WebCore::SharedWorkerRepository::isAvailable):
        * workers/SharedWorkerStrategy.h:
        (WebCore::SharedWorkerStrategy::isAvailable):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get rid of Custom code for Audio global constructor
https://bugs.webkit.org/show_bug.cgi?id=116343

Reviewed by Geoffrey Garen.

Remove custom code for Audio global constructor. It is no longer needed
now that the the bindings generator no longer require custom code for
named constructors and now that [EnabledAtRuntime] extended attribute is
supported for global constructors.

HTMLAudioElement global constructors are now automatically generated.

No new tests, no behavior change for layout tests.

* bindings/js/JSDOMWindowCustom.cpp:
* html/HTMLAudioElement.idl:
* page/DOMWindow.idl:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r150294.
http://trac.webkit.org/changeset/150294
https://bugs.webkit.org/show_bug.cgi?id=116369

Caused 31 tests to fail (Requested by rniwa on #webkit).

* WebCore.exp.in:
* rendering/InlineFlowBox.h:
* rendering/InlineTextBox.h:
(InlineTextBox):
* rendering/RenderApplet.h:
* rendering/RenderBR.h:
* rendering/RenderBlock.h:
(RenderBlock):
(WebCore::RenderBlock::virtualContinuation):
* rendering/RenderBox.h:
(WebCore::RenderBox::borderBoundingBox):
(RenderBox):
(WebCore::RenderBox::marginLogicalLeft):
(WebCore::RenderBox::marginLogicalRight):
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::isBoxModelObject):
* rendering/RenderButton.h:
* rendering/RenderCombineText.h:
* rendering/RenderCounter.h:
* rendering/RenderDeprecatedFlexibleBox.h:
* rendering/RenderDetailsMarker.h:
* rendering/RenderEmbeddedObject.h:
(RenderEmbeddedObject):
(WebCore::RenderEmbeddedObject::isEmbeddedObject):
(WebCore::RenderEmbeddedObject::virtualChildren):
* rendering/RenderFieldset.h:
* rendering/RenderFileUploadControl.h:
* rendering/RenderFlexibleBox.h:
* rendering/RenderFlowThread.h:
* rendering/RenderFrame.h:
* rendering/RenderFrameSet.h:
* rendering/RenderFullScreen.cpp:
* rendering/RenderFullScreen.h:
* rendering/RenderGrid.h:
* rendering/RenderHTMLCanvas.h:
* rendering/RenderIFrame.h:
* rendering/RenderImage.h:
(RenderImage):
(WebCore::RenderImage::isRenderImage):
* rendering/RenderInline.h:
(RenderInline):
(WebCore::RenderInline::virtualContinuation):
(WebCore::RenderInline::virtualChildren):
(WebCore::RenderInline::isRenderInline):
(WebCore::RenderInline::layout):
(WebCore::RenderInline::requiresLayer):
(WebCore::RenderInline::offsetWidth):
(WebCore::RenderInline::offsetHeight):
(WebCore::RenderInline::borderBoundingBox):
(WebCore::RenderInline::dirtyLinesFromChangedChild):
* rendering/RenderLayerModelObject.h:
* rendering/RenderListBox.h:
* rendering/RenderListItem.h:
* rendering/RenderListMarker.h:
* rendering/RenderMedia.h:
(WebCore::RenderMedia::virtualChildren):
(WebCore::RenderMedia::canHaveChildren):
(WebCore::RenderMedia::isMedia):
(WebCore::RenderMedia::isImage):
(WebCore::RenderMedia::requiresForcedStyleRecalcPropagation):
* rendering/RenderMediaControlElements.h:
* rendering/RenderMenuList.h:
* rendering/RenderMeter.h:
* rendering/RenderMultiColumnBlock.h:
* rendering/RenderMultiColumnFlowThread.h:
* rendering/RenderMultiColumnSet.h:
* rendering/RenderNamedFlowThread.h:
* rendering/RenderPart.h:
(RenderPart):
(WebCore::RenderPart::isRenderPart):
(WebCore::RenderPart::renderName):
* rendering/RenderProgress.h:
* rendering/RenderRegion.h:
(WebCore::RenderRegion::isRenderRegion):
* rendering/RenderRegionSet.h:
* rendering/RenderReplaced.h:
(RenderReplaced):
(WebCore::RenderReplaced::renderName):
* rendering/RenderReplica.h:
* rendering/RenderRuby.h:
* rendering/RenderRubyBase.h:
* rendering/RenderRubyRun.h:
* rendering/RenderRubyText.h:
* rendering/RenderScrollbarPart.h:
* rendering/RenderSearchField.h:
* rendering/RenderSlider.h:
* rendering/RenderSnapshottedPlugIn.h:
(RenderSnapshottedPlugIn):
* rendering/RenderTable.h:
(RenderTable):
(WebCore::RenderTable::renderName):
(WebCore::RenderTable::isTable):
(WebCore::RenderTable::avoidsFloats):
* rendering/RenderTableCaption.h:
* rendering/RenderTableCell.h:
* rendering/RenderTableCol.h:
* rendering/RenderTableRow.h:
* rendering/RenderTableSection.h:
* rendering/RenderText.h:
(RenderText):
(WebCore::RenderText::marginLeft):
(WebCore::RenderText::marginRight):
(WebCore::RenderText::styleWillChange):
(WebCore::RenderText::length):
(WebCore::RenderText::paint):
(WebCore::RenderText::layout):
* rendering/RenderTextControl.h:
(RenderTextControl):
(WebCore::RenderTextControl::renderName):
(WebCore::RenderTextControl::isTextControl):
(WebCore::RenderTextControl::avoidsFloats):
* rendering/RenderTextControlMultiLine.h:
* rendering/RenderTextControlSingleLine.h:
(RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::isTextField):
* rendering/RenderTextFragment.h:
* rendering/RenderTextTrackCue.h:
* rendering/RenderVideo.h:
* rendering/RenderView.h:
* rendering/RenderWidget.h:
(RenderWidget):
(WebCore::RenderWidget::isWidget):
* rendering/RenderWordBreak.h:
* rendering/RootInlineBox.h:
(RootInlineBox):
* rendering/mathml/RenderMathMLBlock.h:
* rendering/svg/RenderSVGBlock.h:
(RenderSVGBlock):
* rendering/svg/RenderSVGContainer.h:
(WebCore::RenderSVGContainer::setNeedsBoundariesUpdate):
(WebCore::RenderSVGContainer::virtualChildren):
(WebCore::RenderSVGContainer::isSVGContainer):
(WebCore::RenderSVGContainer::renderName):
(RenderSVGContainer):
(WebCore::RenderSVGContainer::objectBoundingBox):
(WebCore::RenderSVGContainer::strokeBoundingBox):
(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
* rendering/svg/RenderSVGEllipse.h:
* rendering/svg/RenderSVGForeignObject.h:
* rendering/svg/RenderSVGGradientStop.h:
* rendering/svg/RenderSVGHiddenContainer.h:
(WebCore::RenderSVGHiddenContainer::renderName):
(RenderSVGHiddenContainer):
(WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):
* rendering/svg/RenderSVGImage.h:
* rendering/svg/RenderSVGInline.h:
(WebCore::RenderSVGInline::renderName):
(WebCore::RenderSVGInline::requiresLayer):
(WebCore::RenderSVGInline::isSVGInline):
(RenderSVGInline):
* rendering/svg/RenderSVGInlineText.h:
* rendering/svg/RenderSVGModelObject.h:
(WebCore::RenderSVGModelObject::requiresLayer):
(RenderSVGModelObject):
* rendering/svg/RenderSVGPath.h:
* rendering/svg/RenderSVGRect.h:
* rendering/svg/RenderSVGResourceClipper.h:
* rendering/svg/RenderSVGResourceContainer.h:
(RenderSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::isSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::toRenderSVGResourceContainer):
* rendering/svg/RenderSVGResourceFilter.h:
* rendering/svg/RenderSVGResourceFilterPrimitive.h:
* rendering/svg/RenderSVGResourceGradient.h:
(RenderSVGResourceGradient):
(WebCore::RenderSVGResourceGradient::resourceBoundingBox):
* rendering/svg/RenderSVGResourceLinearGradient.h:
* rendering/svg/RenderSVGResourceMarker.h:
* rendering/svg/RenderSVGResourceMasker.h:
* rendering/svg/RenderSVGResourcePattern.h:
* rendering/svg/RenderSVGResourceRadialGradient.h:
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGShape.h:
(WebCore::RenderSVGShape::setNeedsBoundariesUpdate):
(WebCore::RenderSVGShape::setNeedsTransformUpdate):
(WebCore::RenderSVGShape::repaintRectInLocalCoordinates):
(WebCore::RenderSVGShape::localToParentTransform):
(WebCore::RenderSVGShape::localTransform):
(WebCore::RenderSVGShape::isSVGShape):
(RenderSVGShape):
(WebCore::RenderSVGShape::objectBoundingBox):
(WebCore::RenderSVGShape::strokeBoundingBox):
* rendering/svg/RenderSVGTSpan.h:
* rendering/svg/RenderSVGText.h:
* rendering/svg/RenderSVGTextPath.h:
* rendering/svg/RenderSVGTransformableContainer.h:
* rendering/svg/RenderSVGViewportContainer.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Share code between WebKit1 and WebKit2 StorageArea subclasses
https://bugs.webkit.org/show_bug.cgi?id=116367

Reviewed by Andreas Kling.

Source/WebCore:

* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
Remove ec parameter.

* inspector/InspectorDOMStorageAgent.h:
Add forward declaration.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::sessionStorage):
(WebCore::DOMWindow::localStorage):
Storage::StorageArea returns a reference now.

* storage/Storage.cpp:
(WebCore::Storage::length):
Check that the storage area can be accessed by the frame, and that it's not disabled by private browsing.
Then call down to the (now simplified) StorageArea::length().

(WebCore::Storage::isDisabledByPrivateBrowsing):
New helper function that's based on StorageAreaImpl::disabledByPrivateBrowsingInFrame, but reordered
to make it easier to follow.

* storage/Storage.h:
(WebCore::Storage::area):
Return a reference.

* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::storageType):
Add this new virtual member funciton that's needed by Storage::isDisabledByPrivateBrowsing.

(WebCore::StorageAreaImpl::length):
Remove unneeded code.

Source/WebKit2:

* WebProcess/Storage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::length):
Remove code that's now in Storage::length.

(WebKit::StorageAreaImpl::storageType):
Make this a virtual member function.

* WebProcess/Storage/StorageAreaImpl.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150313 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Only allow 1 WebProcess to hold a PageCache
https://bugs.webkit.org/show_bug.cgi?id=116368
<rdar://problem/13392600>

Reviewed by Geoff Garen & Anders Carlson.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::processDidSaveToPageCache):
(WebKit):
(WebKit::WebContext::disconnectProcess):
* UIProcess/WebContext.h:
    - Added m_processWithPageCache, only allow one process to keep a PageCache.
(WebContext):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didSaveToPageCache):
(WebKit):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
    - Forward didSaveToPageCache to the WebProcessProxy.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addBackForwardItem):
(WebKit::WebProcessProxy::didSaveToPageCache):
(WebKit):
(WebKit::WebProcessProxy::releasePageCache):
    - Forward releasePageCache to the WebProcess.
    - Forward didSaveToPageCache to the WebContext.
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::didSaveToPageCache):
    - Forward didSaveToPageCache to the WebPageProxy.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::releasePageCache):
(WebKit):
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/WebProcess.messages.in:
    - Added 'ReleasePageCache' to instruct a web process to drop any cached pages.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
One more Mac rebaseline.

* platform/mac/fast/dom/HTMLInputElement/input-image-alt-text-expected.png:
* platform/mac/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Plug leak in CSSSelectorList::deleteSelectors().
<http://webkit.org/b/116371>
<rdar://problem/13930698>

Reviewed by Ryosuke Niwa.

Don't forget to destroy the very last selector in the list.

* css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::deleteSelectors):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Create a script to import W3C tests
https://bugs.webkit.org/show_bug.cgi?id=111513

Reviewed by Ryosuke Niwa.

This patch attempts to re-land the 'import-w3c-tests'
script and accompanying modules.  The tests and code have
been cleaned up so that we do not log anything to stdout/stderr
while running the tests (thanks to outputcapture) and do not
write into the source tree while running the tests, and much
but not all of the code has been converted over to using the webkitpy

* Scripts/import-w3c-tests: Added.
* Scripts/webkitpy/w3c/__init__.py: Added.
* Scripts/webkitpy/w3c/test_converter.py: Added.
(W3CTestConverter):
(W3CTestConverter.__init__):
(W3CTestConverter.path_from_webkit_root):
(W3CTestConverter.read_webkit_prefixed_css_property_list):
(W3CTestConverter.convert_for_webkit):
(W3CTestConverter.convert_css):
(W3CTestConverter.convert_html):
(W3CTestConverter.convert_testharness_paths):
(W3CTestConverter.convert_prefixed_properties):
(W3CTestConverter.add_webkit_prefix_to_unprefixed_properties):
(W3CTestConverter.replace_tag):
* Scripts/webkitpy/w3c/test_converter_unittest.py: Added.
(W3CTestConverterTest):
(W3CTestConverterTest.fake_dir_path):
(W3CTestConverterTest.test_read_prefixed_property_list):
(W3CTestConverterTest.test_convert_for_webkit_nothing_to_convert):
(test_convert_for_webkit_harness_only):
(test_convert_for_webkit_properties_only):
(test_convert_for_webkit_harness_and_properties):
(test_convert_test_harness_paths):
(test_convert_prefixed_properties):
(verify_conversion_happened):
(verify_no_conversion_happened):
(verify_test_harness_paths):
(verify_prefixed_properties):
(generate_test_content):
* Scripts/webkitpy/w3c/test_importer.py: Added.
(main):
(parse_args):
(validate_import_directory):
(TestImporter):
(TestImporter.__init__):
(TestImporter.path_from_webkit_root):
(TestImporter.do_import):
(TestImporter.load_changeset):
(TestImporter.find_importable_tests):
(TestImporter.import_tests):
(TestImporter.setup_destination_directory):
(TestImporter.update_test_status):
(TestImporter.remove_deleted_files):
(TestImporter.write_import_log):
* Scripts/webkitpy/w3c/test_importer_unittest.py: Added.
(TestImporterTest):
(TestImporterTest.test_import_dir_with_no_tests):
* Scripts/webkitpy/w3c/test_parser.py: Added.
(TestParser):
(TestParser.__init__):
(TestParser.load_file):
(TestParser.analyze_test):
(TestParser.reference_links_of_type):
(TestParser.is_jstest):
(TestParser.support_files):
* Scripts/webkitpy/w3c/test_parser_unittest.py: Added.
(TestParserTest):
(TestParserTest.test_analyze_test_reftest_one_match):
(test_analyze_test_reftest_multiple_matches):
(test_analyze_test_reftest_match_and_mismatch):
(test_analyze_test_reftest_with_ref_support_Files):
(test_analyze_jstest):
(test_analyze_pixel_test_all_true):
(test_analyze_pixel_test_all_false):
(test_analyze_non_html_file):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150317 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Ads on theverge.com cause repaints when hovered, even though content doesn't visibly change.
<http://webkit.org/b/116344>

Reviewed by Darin Adler.

Teach RenderStyle::diff() to ignore differences in the outline value if both styles have non-visible outlines.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/StyleBackgroundData.cpp:
(WebCore::StyleBackgroundData::isEquivalentForPainting):
* rendering/style/StyleBackgroundData.h:
(StyleBackgroundData):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Get BlackBerry port off legacy clipboard
https://bugs.webkit.org/show_bug.cgi?id=116287

Reviewed by Rob Buis.

* PlatformBlackBerry.cmake: Removed ClipboardBlackBerry.cpp.

* dom/Clipboard.h: Removed BLACKBERRY from the list of platforms that
use the legacy clipboard.

* editing/blackberry/EditorBlackBerry.cpp:
(WebCore::Editor::newGeneralClipboard): Changed to just create a copy
and paste clipboard.

* page/blackberry/EventHandlerBlackBerry.cpp: Removed a drag-related
function that wasn't doing any good.

* platform/blackberry/ClipboardBlackBerry.cpp: Removed.
* platform/blackberry/ClipboardBlackBerry.h: Removed.

* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::createForCopyAndPaste): Added.
(WebCore::Pasteboard::createPrivate): Added.
(WebCore::Pasteboard::hasData): Added. Moved code here from ClipboardBlackBerry.cpp.
(WebCore::Pasteboard::clear): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::writeString): Ditto.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Force the script debug server to continue when disabling the debugger.

There might be some cases where the debugger will stay in the nested run loop
which cause weird issues.

Speculative fix for: https://webkit.org/b/111438

Reviewed by Joseph Pecoraro.

* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::disable):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSSParser parsing of CSSPropertyFontStretch falls into CSSPropertyGeometry
https://bugs.webkit.org/show_bug.cgi?id=116370

CSSPropertyFontStretch mistakenly fell through the shader parsing logic.

Reviewed by Alexandru Chiculita.

No new test possible, the feature is not implemented nor exposed.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):


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