WebKit-https.git
9 years agoUnreviewed, rolling out r111259.
commit-queue@webkit.org [Thu, 29 Mar 2012 20:39:54 +0000 (20:39 +0000)]
Unreviewed, rolling out r111259.
http://trac.webkit.org/changeset/111259
https://bugs.webkit.org/show_bug.cgi?id=82650

Caused selection regression in calculations due to
misconstructed IntRectRegion. (Requested by mfenton on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-29

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::getConsolidatedRegionOfTextQuadsForSelection):

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

9 years agoWindows build fix p2.
barraclough@apple.com [Thu, 29 Mar 2012 20:37:38 +0000 (20:37 +0000)]
Windows build fix p2.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

9 years ago[chromium] Ensure framebuffer exists at the start of beginDrawingFrame.
commit-queue@webkit.org [Thu, 29 Mar 2012 20:36:02 +0000 (20:36 +0000)]
[chromium] Ensure framebuffer exists at the start of beginDrawingFrame.
https://bugs.webkit.org/show_bug.cgi?id=82569

Patch by Michal Mocny <mmocny@google.com> on 2012-03-29
Reviewed by James Robinson.

Source/WebCore:

Updated LayerRendererChromiumTest unittests.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::setVisible):
(WebCore::LayerRendererChromium::beginDrawingFrame):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::compositeAndReadback):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::requestReadbackOnImplThread):

Source/WebKit/chromium:

* tests/LayerRendererChromiumTest.cpp:
(FakeLayerRendererChromiumClient::FakeLayerRendererChromiumClient):
(FakeLayerRendererChromiumClient::rootLayer):
(FakeLayerRendererChromiumClient):
(TEST_F):

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

9 years ago[GTK][EFL] run-javascriptcore-tests should be run through jhbuild
commit-queue@webkit.org [Thu, 29 Mar 2012 20:31:32 +0000 (20:31 +0000)]
[GTK][EFL] run-javascriptcore-tests should be run through jhbuild
https://bugs.webkit.org/show_bug.cgi?id=82581

Patch by Dominik Röttsches <dominik.rottsches@linux.intel.com> on 2012-03-29
Reviewed by Martin Robinson.

Running Javascriptcore tests through jhbuild
for consistency with run-webkit-tests and in order to
avoid confusing libraries when facing regressions.

* Scripts/run-javascriptcore-tests:

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

9 years agoAdd a compile assert for the size of RenderBlock
rniwa@webkit.org [Thu, 29 Mar 2012 20:20:13 +0000 (20:20 +0000)]
Add a compile assert for the size of RenderBlock
https://bugs.webkit.org/show_bug.cgi?id=82586

Reviewed by Tony Chang.

Add compile asserts for the size of RenderBlock and RenderBlock::MarginValues.
We can't add asserts for FloatingObject and MarginInfo because they're private to RenderBlock.

* rendering/RenderBlock.cpp:
(SameSizeAsRenderBlock):
(WebCore):
(WebCore::RenderBlock::addOverflowFromFloats):
(WebCore::RenderBlock::repaintOverhangingFloats):
(WebCore::RenderBlock::paintFloats):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
(WebCore::RenderBlock::hitTestFloats):
(WebCore::RenderBlock::adjustForBorderFit):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatingObject::shouldPaint):
(WebCore::RenderBlock::FloatingObject::setShouldPaint):
(WebCore::RenderBlock::FloatingObject::isDescendant):
(WebCore::RenderBlock::FloatingObject::setIsDescendant):
(FloatingObject):
(RenderBlock):

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

9 years agoWindows build fix p1.
barraclough@apple.com [Thu, 29 Mar 2012 20:16:41 +0000 (20:16 +0000)]
Windows build fix p1.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

9 years agoTemplate the Yarr::Interpreter on the character type
barraclough@apple.com [Thu, 29 Mar 2012 20:16:03 +0000 (20:16 +0000)]
Template the Yarr::Interpreter on the character type
https://bugs.webkit.org/show_bug.cgi?id=82637

Reviewed by Sam Weinig.

We should be able to call to the interpreter after having already checked the character type,
without having to re-package the character pointer back up into a string!

../JavaScriptCore:

* runtime/RegExp.cpp:
(JSC::RegExp::match):
(JSC::RegExp::matchCompareWithInterpreter):
    - Don't pass length.
* yarr/Yarr.h:
    - moved function declarations to YarrInterpreter.h.
* yarr/YarrInterpreter.cpp:
(Yarr):
(Interpreter):
(JSC::Yarr::Interpreter::InputStream::InputStream):
(InputStream):
(JSC::Yarr::Interpreter::Interpreter):
(JSC::Yarr::interpret):
    - templated Interpreter class on CharType.
* yarr/YarrInterpreter.h:
(Yarr):
    - added function declarations.

../WebCore:

* inspector/ContentSearchUtils.cpp:
(WebCore::ContentSearchUtils::findMagicComment):
* platform/text/RegularExpression.cpp:
(WebCore::RegularExpression::match):
    - Don't pass length.

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

9 years agoSource/Platform: [Chromium] Move createURLLoader() into Platform
abarth@webkit.org [Thu, 29 Mar 2012 19:48:21 +0000 (19:48 +0000)]
Source/Platform: [Chromium] Move createURLLoader() into Platform
https://bugs.webkit.org/show_bug.cgi?id=82587

Reviewed by James Robinson.

This patch introduces a base class for WebKitPlatformSupport that we
can use to incrementally more APIs from WebKit/chromium/public/platform
into Platform/chromium/public. Using this technique lets us avoid
making changes in the embedder during the transition.

This patch moves createURLLoader() because it's necessary for
ResourceHandle.  This is the third patch in this sequence:
https://github.com/abarth/webkit/compare/master...webcore-platform

* Platform.gypi:
* chromium/public/Platform.h: Added.
(WebKit):
(Platform):
(WebKit::Platform::createURLLoader):
(WebKit::Platform::~Platform):
* chromium/src/Platform.cpp: Added.
(WebKit):
(WebKit::Platform::initialize):
(WebKit::Platform::shutdown):
(WebKit::Platform::current):

Source/WebKit/chromium: Move createURLLoader() into Platform
https://bugs.webkit.org/show_bug.cgi?id=82587

Reviewed by James Robinson.

* public/platform/WebKitPlatformSupport.h:
(WebKit):
(WebKitPlatformSupport):
* src/WebKit.cpp:
(WebKit::initializeWithoutV8):
(WebKit::shutdown):

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

9 years agoDon't use a flattened framework path when building on OS X
ddkilzer@apple.com [Thu, 29 Mar 2012 19:37:43 +0000 (19:37 +0000)]
Don't use a flattened framework path when building on OS X

Reviewed by Mark Rowe.

* Configurations/ToolExecutable.xcconfig: Use REAL_PLATFORM_NAME
to select different INSTALL_PATH values.

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

9 years agotest-webkitpy: add --timing
dpranke@chromium.org [Thu, 29 Mar 2012 19:29:53 +0000 (19:29 +0000)]
test-webkitpy: add --timing
https://bugs.webkit.org/show_bug.cgi?id=82550

Reviewed by Eric Seidel.

This patch adds a --timing option that will display the time
each test takes. It also removes the --silent option, since
probably no one ever used it, and cleans up the logging
option parsing code to be easier to follow.

* Scripts/webkitpy/test/main.py:
(Tester._parse_args):
(Tester._configure):
* Scripts/webkitpy/test/runner.py:
(TestRunner.write_result):
* Scripts/webkitpy/test/runner_unittest.py:
(RunnerTest.test_regular):
(RunnerTest.test_verbose):
(RunnerTest):
(RunnerTest.test_timing):

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

9 years ago[wx] Unreviewed. wxMSW build fixes.
kevino@webkit.org [Thu, 29 Mar 2012 19:25:48 +0000 (19:25 +0000)]
[wx] Unreviewed. wxMSW build fixes.

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

9 years agoUnreviewed, rolling out r112553.
ossy@webkit.org [Thu, 29 Mar 2012 19:25:04 +0000 (19:25 +0000)]
Unreviewed, rolling out r112553.
http://trac.webkit.org/changeset/112553
https://bugs.webkit.org/show_bug.cgi?id=82638

It made all tests crash on Qt WK2 (Requested by Ossy_away on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-29

Source/WebCore:

* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::stop):
(WebCore::Geolocation::lastPosition):
(WebCore::Geolocation::requestPermission):
(WebCore::Geolocation::startUpdating):
(WebCore::Geolocation::stopUpdating):
* Modules/geolocation/Geolocation.h:
(WebCore):
* Modules/geolocation/GeolocationController.cpp:
* Modules/geolocation/GeolocationController.h:
* WebCore.exp.in:
* page/GeolocationClient.h:
(WebCore):
(GeolocationClient):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::PageClients::PageClients):
* page/Page.h:
(WebCore):
(PageClients):
(Page):
(WebCore::Page::geolocationController):

Source/WebKit/blackberry:

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::init):
* WebCoreSupport/GeolocationControllerClientBlackBerry.cpp:
(GeolocationControllerClientBlackBerry::onLocationUpdate):
(GeolocationControllerClientBlackBerry::onLocationError):
* WebKitSupport/DumpRenderTreeSupport.cpp:
(DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests):
(DumpRenderTreeSupport::resetGeolocationMock):
(DumpRenderTreeSupport::setMockGeolocationError):
(DumpRenderTreeSupport::setMockGeolocationPermission):
(DumpRenderTreeSupport::setMockGeolocationPosition):

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::resetGeolocationClientMock):
(DumpRenderTreeSupportGtk::setMockGeolocationPermission):
(DumpRenderTreeSupportGtk::setMockGeolocationPosition):
(DumpRenderTreeSupportGtk::setMockGeolocationError):
(DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests):
* WebCoreSupport/GeolocationClientGtk.cpp:
(WebKit::GeolocationClient::updatePosition):
(WebKit::GeolocationClient::errorOccured):
* webkit/webkitwebview.cpp:
(webkit_web_view_init):

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _geolocationDidChangePosition:]):
(-[WebView _geolocationDidFailWithError:]):

Source/WebKit/qt:

* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::resetGeolocationMock):
(DumpRenderTreeSupportQt::setMockGeolocationPermission):
(DumpRenderTreeSupportQt::setMockGeolocationPosition):
(DumpRenderTreeSupportQt::setMockGeolocationError):
(DumpRenderTreeSupportQt::numberOfPendingGeolocationPermissionRequests):
* WebCoreSupport/GeolocationClientQt.cpp:
(WebCore::GeolocationClientQt::positionUpdated):
(WebCore::GeolocationClientQt::startUpdating):

Source/WebKit/win:

* WebView.cpp:
(WebView::initWithFrame):
(WebView::geolocationDidChangePosition):
(WebView::geolocationDidFailWithError):

Source/WebKit2:

* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::didChangePosition):
(WebKit::WebGeolocationManager::didFailToDeterminePosition):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setGeoLocationPermission):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):

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

9 years ago[wx] Unreviewed build fix. Add WTF_EXPORT_PRIVATE_NO_RTTI
kevino@webkit.org [Thu, 29 Mar 2012 19:22:02 +0000 (19:22 +0000)]
[wx] Unreviewed build fix. Add WTF_EXPORT_PRIVATE_NO_RTTI
so that ports not using RTTI can add symbol exports to
classes that RTTI ports export with WTF_EXPORT_PRIVATE_RTTI.

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

9 years agoRemove an unused variable that breaks the build with newer versions of clang.
aestes@apple.com [Thu, 29 Mar 2012 19:09:00 +0000 (19:09 +0000)]
Remove an unused variable that breaks the build with newer versions of clang.

Rubber stamped by Gavin Barraclough.

* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::backtrackCharacterClassNonGreedy):

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

9 years agoUpdating expected results. The output has an additional blank line.
enrica@apple.com [Thu, 29 Mar 2012 19:01:36 +0000 (19:01 +0000)]
Updating expected results. The output has an additional blank line.
No changes in the actual results.

* platform/mac/editing/input/firstrectforcharacterrange-plain-expected.txt:
* platform/mac/editing/input/firstrectforcharacterrange-styled-expected.txt:
* platform/mac/fast/text/attributed-substring-from-range-002-expected.txt:

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

9 years agoHashMap<>::add should return a more descriptive object
caio.oliveira@openbossa.org [Thu, 29 Mar 2012 18:48:23 +0000 (18:48 +0000)]
HashMap<>::add should return a more descriptive object
https://bugs.webkit.org/show_bug.cgi?id=71063

Reviewed by Ryosuke Niwa.

Source/JavaScriptCore:

Update code to use AddResult instead of a pair. Note that since WeakGCMap wraps
the iterator type, there's a need for its own AddResult type -- instantiated from
HashTableAddResult template class.

* API/JSCallbackObject.h:
(JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
* API/JSClassRef.cpp:
(OpaqueJSClass::contextData):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::addVar):
(JSC::BytecodeGenerator::addGlobalVar):
(JSC::BytecodeGenerator::addConstant):
(JSC::BytecodeGenerator::addConstantValue):
(JSC::BytecodeGenerator::emitLoad):
(JSC::BytecodeGenerator::addStringConstant):
(JSC::BytecodeGenerator::emitLazyNewFunction):
* bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode):
* debugger/Debugger.cpp:
* dfg/DFGAssemblyHelpers.cpp:
(JSC::DFG::AssemblyHelpers::decodedCodeMapFor):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::cellConstant):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* jit/JITStubs.cpp:
(JSC::JITThunks::ctiStub):
(JSC::JITThunks::hostFunctionStub):
* parser/Parser.cpp:
(JSC::::parseStrictObjectLiteral):
* parser/Parser.h:
(JSC::Scope::declareParameter):
* runtime/Identifier.cpp:
(JSC::Identifier::add):
(JSC::Identifier::add8):
(JSC::Identifier::addSlowCase):
* runtime/Identifier.h:
(JSC::Identifier::add):
(JSC::IdentifierTable::add):
* runtime/JSArray.cpp:
(JSC::SparseArrayValueMap::add):
(JSC::SparseArrayValueMap::put):
(JSC::SparseArrayValueMap::putDirect):
(JSC::JSArray::enterDictionaryMode):
(JSC::JSArray::defineOwnNumericProperty):
* runtime/JSArray.h:
(SparseArrayValueMap):
* runtime/PropertyNameArray.cpp:
(JSC::PropertyNameArray::add):
* runtime/StringRecursionChecker.h:
(JSC::StringRecursionChecker::performCheck):
* runtime/Structure.cpp:
(JSC::StructureTransitionTable::add):
* runtime/WeakGCMap.h:
(WeakGCMap):
(JSC::WeakGCMap::add):
(JSC::WeakGCMap::set):
* tools/ProfileTreeNode.h:
(JSC::ProfileTreeNode::sampleChild):

Source/WebCore:

Update code to use AddResult instead of a pair. No new tests, just a refactoring.

* Modules/webdatabase/SQLTransactionCoordinator.cpp:
(WebCore::SQLTransactionCoordinator::acquireLock):
* Modules/webdatabase/chromium/QuotaTracker.cpp:
(WebCore::QuotaTracker::updateDatabaseSize):
* bindings/js/DOMObjectHashTableMap.h:
(WebCore::DOMObjectHashTableMap::get):
* bindings/js/JSDOMBinding.cpp:
(WebCore::cacheDOMStructure):
* bindings/js/JSDOMBinding.h:
(WebCore::cacheWrapper):
* bindings/js/JSDOMGlobalObject.h:
(WebCore::getDOMConstructor):
* bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::addListener):
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setBreakpoint):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::startObjectInternal):
(WebCore::CloneSerializer::write):
* bindings/v8/NPV8Object.cpp:
(WebCore::npCreateV8ScriptObject):
* bridge/IdentifierRep.cpp:
(WebCore::IdentifierRep::get):
* bridge/NP_jsobject.cpp:
(ObjectMap::add):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::logUnimplementedPropertyID):
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::CSSFontSelector::getFontData):
* css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::getFontData):
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyCounter::applyInheritValue):
(WebCore::ApplyPropertyCounter::applyValue):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::appendAuthorStylesheets):
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* css/CSSValuePool.cpp:
(WebCore::CSSValuePool::createIdentifierValue):
(WebCore::CSSValuePool::createColorValue):
(WebCore::CSSValuePool::createValue):
(WebCore::CSSValuePool::createFontFamilyValue):
(WebCore::CSSValuePool::createFontFaceValue):
* dom/CheckedRadioButtons.cpp:
(WebCore::RadioButtonGroup::add):
(WebCore::CheckedRadioButtons::addButton):
* dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
* dom/Document.cpp:
(WebCore::Document::windowNamedItems):
(WebCore::Document::documentNamedItems):
(WebCore::Document::getCSSCanvasElement):
(WebCore::Document::getItems):
* dom/DocumentEventQueue.cpp:
(WebCore::DocumentEventQueue::enqueueEvent):
(WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
(WebCore::DocumentEventQueue::pendingEventTimerFired):
* dom/DocumentOrderedMap.cpp:
(WebCore::DocumentOrderedMap::add):
* dom/EventListenerMap.cpp:
(WebCore::EventListenerMap::add):
* dom/Node.cpp:
(WebCore::Node::dumpStatistics):
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
(WebCore::Node::getElementsByName):
(WebCore::Node::getElementsByClassName):
(WebCore::Node::collectMatchingObserversForMutation):
* dom/QualifiedName.cpp:
(WebCore::QualifiedName::init):
* dom/SpaceSplitString.cpp:
(WebCore::SpaceSplitStringData::create):
* dom/StyledElement.cpp:
(WebCore::StyledElement::updateAttributeStyle):
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::append):
* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::diff):
* inspector/InspectorCSSAgent.cpp:
(WebCore::SelectorProfile::commitSelector):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::performSearch):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::resolveBreakpoint):
* inspector/InspectorValues.h:
(WebCore::InspectorObject::setValue):
(WebCore::InspectorObject::setObject):
(WebCore::InspectorObject::setArray):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::addEntry):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleTouchEvent):
* page/PageGroup.cpp:
(WebCore::PageGroup::pageGroup):
(WebCore::PageGroup::addVisitedLink):
(WebCore::PageGroup::addUserScriptToWorld):
(WebCore::PageGroup::addUserStyleSheetToWorld):
* page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
* page/TouchAdjustment.cpp:
(WebCore::TouchAdjustment::compileSubtargetList):
* platform/cf/BinaryPropertyList.cpp:
(WebCore::BinaryPropertyListPlan::writeInteger):
(WebCore::BinaryPropertyListPlan::writeString):
(WebCore::BinaryPropertyListPlan::writeIntegerArray):
* platform/graphics/blackberry/LayerTiler.cpp:
(WebCore::LayerTiler::addTileJob):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::findOrMakeClone):
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::revalidateTiles):
* platform/graphics/ca/win/LayerChangesFlusher.cpp:
(WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
* platform/graphics/chromium/FontUtilsChromiumWin.cpp:
(WebCore::getDerivedFontData):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
(WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
* platform/graphics/mac/ComplexTextControllerATSUI.cpp:
(WebCore::initializeATSUStyle):
* platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::SimpleFontData::getCFStringAttributes):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
* platform/graphics/wince/FontPlatformData.cpp:
(WebCore::FixedSizeFontData::create):
* platform/gtk/RenderThemeGtk3.cpp:
(WebCore::getStyleContext):
* platform/mac/ThreadCheck.mm:
(WebCoreReportThreadViolation):
* platform/network/HTTPHeaderMap.cpp:
(WebCore::HTTPHeaderMap::add):
* platform/network/HTTPHeaderMap.h:
(HTTPHeaderMap):
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::addHTTPHeaderField):
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::add):
(WebCore::PluginDatabase::loadPersistentMetadataCache):
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::PluginDatabase::getPluginPathsInDirectories):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addPercentHeightDescendant):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::setLogicalWidthForTextRun):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::setRenderBoxRegionInfo):
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource):
* storage/StorageMap.cpp:
(WebCore::StorageMap::setItem):
(WebCore::StorageMap::importItem):
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::addPendingResource):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::setRequestHeaderInternal):
* xml/XPathFunctions.cpp:
(WebCore::XPath::FunId::evaluate):
* xml/XPathPath.cpp:
(WebCore::XPath::LocationPath::evaluate):
* xml/XPathPredicate.cpp:
(WebCore::XPath::Union::evaluate):

Source/WebKit/chromium:

Update code to use AddResult instead of a pair.

* src/WebHTTPLoadInfo.cpp:
(WebKit::addHeader):
* src/WebURLResponse.cpp:
(WebKit::WebURLResponse::addHTTPHeaderField):

Source/WebKit/mac:

Update code to use AddResult instead of a pair.

* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::hostForPlugin):
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::methodsNamed):
(WebKit::ProxyInstance::fieldNamed):
* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::show):

Source/WebKit/win:

Update code to use AddResult instead of a pair.

* WebKitCOMAPI.cpp:
(classFactory):

Source/WebKit2:

Update code to use AddResult instead of a pair.

* Platform/CoreIPC/ArgumentCoders.h:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::SyncMessageState::getOrCreate):
* Shared/MutableDictionary.cpp:
(WebKit::MutableDictionary::add):
(WebKit::MutableDictionary::set):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageDecoder::baseDecode):
* Shared/mac/CommandLineMac.cpp:
(WebKit::CommandLine::parse):
* UIProcess/API/mac/WKPrintingView.mm:
(pageDidDrawToPDF):
* UIProcess/API/mac/WKView.mm:
(-[WKView validateUserInterfaceItem:]):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addBackForwardItem):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::getOrCreate):
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::getOrCreate):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::show):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::createWebPage):
(WebKit::WebProcess::webPageGroup):

Source/WTF:

Make HashTable<>::add() and derivate functions return an AddResult struct instead
of a pair. This struct contains contains 'iterator' and 'isNewEntry' members, that are
more readable at callsites than previous 'first' and 'second'.

* wtf/HashCountedSet.h:
(HashCountedSet):
(WTF::::add):
* wtf/HashMap.h:
(HashMap):
(WTF):
(WTF::::set):
* wtf/HashSet.h:
(HashSet):
(WTF::::add):
(WTF):
* wtf/HashTable.h:
(WTF::HashTableAddResult::HashTableAddResult):
(HashTableAddResult):
(WTF):
(HashTable):
(WTF::HashTable::add):
(WTF::::add):
(WTF::::addPassingHashCode):
* wtf/ListHashSet.h:
(ListHashSet):
(WTF::::add):
(WTF::::insertBefore):
* wtf/RefPtrHashMap.h:
(WTF):
(WTF::::set):
* wtf/Spectrum.h:
(WTF::Spectrum::add):
* wtf/WTFThreadData.cpp:
(JSC::IdentifierTable::add):
* wtf/WTFThreadData.h:
(IdentifierTable):
* wtf/text/AtomicString.cpp:
(WTF::addToStringTable):
(WTF::AtomicString::addSlowCase):

Tools:

Update code to use AddResult instead of a pair.

* DumpRenderTree/mac/LayoutTestControllerMac.mm:
(LayoutTestController::evaluateScriptInIsolatedWorld):
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
(LayoutTestController::evaluateScriptInIsolatedWorld):
* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
(WTR::LayoutTestController::evaluateScriptInIsolatedWorld):

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

9 years agoWeb Inspector: improve window selection accuracy in vertical overview of timeline...
caseq@chromium.org [Thu, 29 Mar 2012 18:35:02 +0000 (18:35 +0000)]
Web Inspector: improve window selection accuracy in vertical overview of timeline panel
https://bugs.webkit.org/show_bug.cgi?id=82625

Reviewed by Vsevolod Vlasov.

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineVerticalOverview):
(WebInspector.TimelineVerticalOverview.prototype._renderBars): preserve actual padding used while rendering bars.
(WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): account for outer and inter-bars padding when calculating bar offsets.

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

9 years agoGEOLOCATION should be implemented as Page Supplement
commit-queue@webkit.org [Thu, 29 Mar 2012 18:32:32 +0000 (18:32 +0000)]
GEOLOCATION should be implemented as Page Supplement
https://bugs.webkit.org/show_bug.cgi?id=82228

Patch by Mark Pilgrim <pilgrim@chromium.org> on 2012-03-29
Reviewed by Adam Barth.

Source/WebCore:

Geolocation now uses the Supplement interface instead of
keeping an instance variable on Page. This allows us to
remove all geolocation-related functions, variables, and
ifdefs out of Page and into Modules/geolocation/.

* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::stop):
(WebCore::Geolocation::lastPosition):
(WebCore::Geolocation::requestPermission):
(WebCore::Geolocation::startUpdating):
(WebCore::Geolocation::stopUpdating):
* Modules/geolocation/Geolocation.h:
(WebCore):
* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::supplementName):
(WebCore):
(WebCore::provideGeolocationTo):
* Modules/geolocation/GeolocationController.h:
(GeolocationController):
(WebCore::GeolocationController::from):
* WebCore.exp.in:
* page/GeolocationClient.h:
(WebCore):
(GeolocationClient):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::PageClients::PageClients):
* page/Page.h:
(WebCore):
(PageClients):
(Page):

Source/WebKit/blackberry:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::init):
* WebCoreSupport/GeolocationControllerClientBlackBerry.cpp:
(GeolocationControllerClientBlackBerry::onLocationUpdate):
(GeolocationControllerClientBlackBerry::onLocationError):
* WebKitSupport/DumpRenderTreeSupport.cpp:
(DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests):
(DumpRenderTreeSupport::resetGeolocationMock):
(DumpRenderTreeSupport::setMockGeolocationError):
(DumpRenderTreeSupport::setMockGeolocationPermission):
(DumpRenderTreeSupport::setMockGeolocationPosition):

Source/WebKit/chromium:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):

Source/WebKit/gtk:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::resetGeolocationClientMock):
(DumpRenderTreeSupportGtk::setMockGeolocationPermission):
(DumpRenderTreeSupportGtk::setMockGeolocationPosition):
(DumpRenderTreeSupportGtk::setMockGeolocationError):
(DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests):
* WebCoreSupport/GeolocationClientGtk.cpp:
(WebKit::GeolocationClient::updatePosition):
(WebKit::GeolocationClient::errorOccured):
* webkit/webkitwebview.cpp:
(webkit_web_view_init):

Source/WebKit/mac:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _geolocationDidChangePosition:]):
(-[WebView _geolocationDidFailWithError:]):

Source/WebKit/qt:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::resetGeolocationMock):
(DumpRenderTreeSupportQt::setMockGeolocationPermission):
(DumpRenderTreeSupportQt::setMockGeolocationPosition):
(DumpRenderTreeSupportQt::setMockGeolocationError):
(DumpRenderTreeSupportQt::numberOfPendingGeolocationPermissionRequests):
* WebCoreSupport/GeolocationClientQt.cpp:
(WebCore::GeolocationClientQt::positionUpdated):
(WebCore::GeolocationClientQt::startUpdating):

Source/WebKit/win:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* WebView.cpp:
(WebView::initWithFrame):
(WebView::geolocationDidChangePosition):
(WebView::geolocationDidFailWithError):

Source/WebKit2:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::didChangePosition):
(WebKit::WebGeolocationManager::didFailToDeterminePosition):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setGeoLocationPermission):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):

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

9 years agoWeb Inspector: chromium: DRT --no-timeout option doesn't work.
loislo@chromium.org [Thu, 29 Mar 2012 18:27:41 +0000 (18:27 +0000)]
Web Inspector: chromium: DRT --no-timeout option doesn't work.
https://bugs.webkit.org/show_bug.cgi?id=82608

Initial value for m_timeout was initialized in constructor and was overwritten in DRT::main.
This was broken by r112354 and the sequence became opposite.

Reviewed by Yury Semikhatsky.

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
(TestShell::initialize):

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

9 years agoSync up WebKit TraceEvent.h with chromium trace_event.h
commit-queue@webkit.org [Thu, 29 Mar 2012 18:24:45 +0000 (18:24 +0000)]
Sync up WebKit TraceEvent.h with chromium trace_event.h
https://bugs.webkit.org/show_bug.cgi?id=82527

Patch by John Bates <jbates@google.com> on 2012-03-29
Reviewed by James Robinson.

* platform/chromium/TraceEvent.h:

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

9 years ago[chromium] Split off tiled layer constructs for unit tests into a common header
commit-queue@webkit.org [Thu, 29 Mar 2012 18:18:47 +0000 (18:18 +0000)]
[chromium] Split off tiled layer constructs for unit tests into a common header
https://bugs.webkit.org/show_bug.cgi?id=82425

Patch by Dana Jansens <danakj@chromium.org> on 2012-03-29
Reviewed by Adrienne Walker.

* WebKit.gypi:
* tests/CCTiledLayerTestCommon.cpp: Added.
(WebKitTests):
(WebKitTests::FakeLayerTextureUpdater::Texture::Texture):
(WebKitTests::FakeLayerTextureUpdater::Texture::~Texture):
(WebKitTests::FakeLayerTextureUpdater::Texture::updateRect):
(WebKitTests::FakeLayerTextureUpdater::Texture::prepareRect):
(WebKitTests::FakeLayerTextureUpdater::FakeLayerTextureUpdater):
(WebKitTests::FakeLayerTextureUpdater::~FakeLayerTextureUpdater):
(WebKitTests::FakeLayerTextureUpdater::prepareToUpdate):
(WebKitTests::FakeLayerTextureUpdater::setRectToInvalidate):
(WebKitTests::FakeLayerTextureUpdater::createTexture):
(WebKitTests::FakeCCTiledLayerImpl::FakeCCTiledLayerImpl):
(WebKitTests::FakeCCTiledLayerImpl::~FakeCCTiledLayerImpl):
(WebKitTests::FakeTiledLayerChromium::FakeTiledLayerChromium):
(WebKitTests::FakeTiledLayerChromium::~FakeTiledLayerChromium):
(WebKitTests::FakeTiledLayerChromium::setNeedsDisplayRect):
(WebKitTests::FakeTiledLayerChromium::paintContentsIfDirty):
(WebKitTests::FakeTiledLayerWithScaledBounds::FakeTiledLayerWithScaledBounds):
(WebKitTests::FakeCCTextureUpdater::FakeCCTextureUpdater):
* tests/CCTiledLayerTestCommon.h: Added.
(WebKitTests):
(FakeLayerTextureUpdater):
(Texture):
(WebKitTests::FakeLayerTextureUpdater::sampledTexelFormat):
(WebKitTests::FakeLayerTextureUpdater::lastUpdateRect):
(WebKitTests::FakeLayerTextureUpdater::prepareCount):
(WebKitTests::FakeLayerTextureUpdater::clearPrepareCount):
(WebKitTests::FakeLayerTextureUpdater::updateCount):
(WebKitTests::FakeLayerTextureUpdater::clearUpdateCount):
(WebKitTests::FakeLayerTextureUpdater::updateRect):
(WebKitTests::FakeLayerTextureUpdater::prepareRectCount):
(WebKitTests::FakeLayerTextureUpdater::clearPrepareRectCount):
(WebKitTests::FakeLayerTextureUpdater::prepareRect):
(WebKitTests::FakeLayerTextureUpdater::setOpaquePaintRect):
(FakeCCTiledLayerImpl):
(FakeTiledLayerChromium):
(WebKitTests::FakeTiledLayerChromium::tileSize):
(WebKitTests::FakeTiledLayerChromium::lastNeedsDisplayRect):
(WebKitTests::FakeTiledLayerChromium::textureManager):
(WebKitTests::FakeTiledLayerChromium::fakeLayerTextureUpdater):
(WebKitTests::FakeTiledLayerChromium::updateRect):
(WebKitTests::FakeTiledLayerChromium::textureUpdater):
(WebKitTests::FakeTiledLayerChromium::createTextureUpdaterIfNeeded):
(FakeTiledLayerWithScaledBounds):
(WebKitTests::FakeTiledLayerWithScaledBounds::setContentBounds):
(WebKitTests::FakeTiledLayerWithScaledBounds::contentBounds):
(FakeTextureAllocator):
(WebKitTests::FakeTextureAllocator::createTexture):
(WebKitTests::FakeTextureAllocator::deleteTexture):
(FakeTextureCopier):
(WebKitTests::FakeTextureCopier::copyTexture):
(FakeCCTextureUpdater):
(WebKitTests::FakeCCTextureUpdater::textureAllocator):
* tests/TextureManagerTest.cpp:
* tests/TiledLayerChromiumTest.cpp:

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

9 years agoWeb Inspector: subtree disapears from <iframe> after loading
pfeldman@chromium.org [Thu, 29 Mar 2012 18:17:57 +0000 (18:17 +0000)]
Web Inspector: subtree disapears from <iframe> after loading
https://bugs.webkit.org/show_bug.cgi?id=76552

Reviewed by Yury Semikhatsky.

Source/WebCore:

The problem was that content document subtree was not unbound upon iframe re-push.
Upon owner element refresh content document was not sent to the frontend
since backend assumed that front-end has already had the up-to-date version.

Test: inspector/elements/iframe-load-event.html

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::loadEventFired):

LayoutTests:

* inspector/elements/iframe-load-event-expected.txt: Added.
* inspector/elements/iframe-load-event.html: Added.
* inspector/elements/resources/iframe-load-event-iframe-1.html: Added.
* inspector/elements/resources/iframe-load-event-iframe-2.html: Added.
* inspector/elements/resources/iframe-load-event-iframe.js: Added.
(loadSecondIFrame):
(test.step1.nodeInserted):
(test.step1):
(test.step2):
(test):

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

9 years ago[chromium] Remove unneeded code+fixmes from CCOcclusionTracker
commit-queue@webkit.org [Thu, 29 Mar 2012 18:14:01 +0000 (18:14 +0000)]
[chromium] Remove unneeded code+fixmes from CCOcclusionTracker
https://bugs.webkit.org/show_bug.cgi?id=82380

Patch by Dana Jansens <danakj@chromium.org> on 2012-03-29
Reviewed by Adrienne Walker.

Source/WebCore:

The current occlusion was exposed on the occlusion tracker for the
transition over to culling 2.0 which has landed, so we can remove
it now. It still had one use in unit tests which is moved to a
test subclass.

Above test subclass already existed in the occlusion tracker tests,
so pulled it out to a common file CCOcclusionTrackerTestCommon.h
so that other unit tests can use it to get at occlusion internals.

* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCore):
* platform/graphics/chromium/cc/CCOcclusionTracker.h:

Source/WebKit/chromium:

* WebKit.gypi:
* tests/CCLayerTreeHostTest.cpp:
(WTF::TestLayerChromium::paintContentsIfDirty):
* tests/CCOcclusionTrackerTest.cpp:
(WebKitTests::TestCCOcclusionTrackerWithScissor::TestCCOcclusionTrackerWithScissor):
(WebKitTests::CCOcclusionTrackerTestIdentityTransforms::runMyTest):
(WebKitTests::CCOcclusionTrackerTestRotatedChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestTranslatedChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestChildInRotatedChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestVisitTargetTwoTimes::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceRotatedOffAxis::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceWithTwoOpaqueChildren::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblings::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblingsWithTwoTransforms::runMyTest):
(WebKitTests::CCOcclusionTrackerTestFilters::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerScissorRectOutsideChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestScreenScissorRectOutsideChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerScissorRectOverChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestScreenScissorRectOverChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerScissorRectPartlyOverChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestScreenScissorRectPartlyOverChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerScissorRectOverNothing::runMyTest):
(WebKitTests::CCOcclusionTrackerTestScreenScissorRectOverNothing::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerScissorRectForLayerOffOrigin::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOpaqueContentsRegionEmpty::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOpaqueContentsRegionNonEmpty::runMyTest):
(WebKitTests::CCOcclusionTrackerTest3dTransform::runMyTest):
(WebKitTests::CCOcclusionTrackerTestPerspectiveTransform::runMyTest):
(WebKitTests::CCOcclusionTrackerTestPerspectiveTransformBehindCamera::runMyTest):
(WebKitTests::CCOcclusionTrackerTestAnimationOpacity1OnMainThread::runMyTest):
(WebKitTests::CCOcclusionTrackerTestAnimationOpacity0OnMainThread::runMyTest):
(WebKitTests::CCOcclusionTrackerTestAnimationTranslateOnMainThread::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceOcclusionTranslatesToParent::runMyTest):
* tests/CCOcclusionTrackerTestCommon.h: Added.
(WebKitTests):
(TestCCOcclusionTrackerBase):
(WebKitTests::TestCCOcclusionTrackerBase::TestCCOcclusionTrackerBase):
(WebKitTests::TestCCOcclusionTrackerBase::occlusionInScreenSpace):
(WebKitTests::TestCCOcclusionTrackerBase::occlusionInTargetSurface):
(WebKitTests::TestCCOcclusionTrackerBase::setOcclusionInScreenSpace):
(WebKitTests::TestCCOcclusionTrackerBase::setOcclusionInTargetSurface):

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

9 years ago<http://webkit.org/b/82558> Toggling <input type="range"> readonly or disabled state...
commit-queue@webkit.org [Thu, 29 Mar 2012 18:11:40 +0000 (18:11 +0000)]
<webkit.org/b/82558> Toggling <input type="range"> readonly or disabled state while active breaks all click events

Source/WebCore:

Test: fast/forms/range/range-drag-when-toggled-disabled.html

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2012-03-29
Reviewed by Kent Tamura.

* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::defaultEventHandler):
A slider can toggle its readonly or disabled state while in the middle
of dragging, in those cases we should cancel the drag and perform cleanup.

LayoutTests:

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2012-03-29
Reviewed by Kent Tamura.

* fast/forms/range/range-drag-when-toggled-disabled-expected.txt: Added.
* fast/forms/range/range-drag-when-toggled-disabled.html: Added.

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

9 years agoFactor out common post-insertion logic in ContainerNode
adamk@chromium.org [Thu, 29 Mar 2012 18:03:59 +0000 (18:03 +0000)]
Factor out common post-insertion logic in ContainerNode
https://bugs.webkit.org/show_bug.cgi?id=82544

Reviewed by Ryosuke Niwa.

appendChild, insertBefore, and replaceChild all share a great deal of logic.
This patch factors out the "post-insertion" logic that deals with
notifying parents that their children changed and notifying children
that they've been added to the tree.

Besides reducing code duplication, this is in preparation for moving
this post-insertion notification later in the insertion process.

No new tests, no change in behavior.

* dom/ContainerNode.cpp:
(WebCore):
(WebCore::ContainerNode::insertBefore): Factor out shared logic, remove unnecessary "prev" variable.
(WebCore::ContainerNode::replaceChild): ditto.
(WebCore::ContainerNode::appendChild): ditto.
(WebCore::updateTreeAfterInsertion): New helper method encapsulating shared logic.

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

9 years agoUpdating test_expectations with new failures after r112484.
enrica@apple.com [Thu, 29 Mar 2012 17:52:03 +0000 (17:52 +0000)]
Updating test_expectations with new failures after r112484.
The failing tests need a new baseline.
This is tracked by https://bugs.webkit.org/show_bug.cgi?id=82626

* platform/mac/test_expectations.txt:

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

9 years agoNeed to implement flex-line-pack
tony@chromium.org [Thu, 29 Mar 2012 17:16:39 +0000 (17:16 +0000)]
Need to implement flex-line-pack
https://bugs.webkit.org/show_bug.cgi?id=70794

Reviewed by Ojan Vafai.

Source/WebCore:

Tests: css3/flexbox/multiline-line-pack-horizontal-column.html
       css3/flexbox/multiline-line-pack.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
(WebCore::initialLinePackingOffset): Similar to initialPackingOffset.
(WebCore):
(WebCore::linePackingSpaceBetweenChildren): Similar to packingSpaceBetweenChildren.
(WebCore::RenderFlexibleBox::packFlexLines): Move lines based on flex-line-pack.
    Note that we don't need to relayout on stretch because
    alignChildren will do that for us (only auto size needs stretching).
(WebCore::RenderFlexibleBox::flipForWrapReverse): Pull out the initial
    cross axis offset before calling packFlexLines because we can
    move the the line contexts.
* rendering/RenderFlexibleBox.h:

LayoutTests:

Updated the old multiline tests to have -webkit-flex-line-pack: start,
which was the previous default behavior. The correct default behavior
is stretch.

* css3/flexbox/multiline-align.html:
* css3/flexbox/multiline-column-auto.html:
* css3/flexbox/multiline-line-pack-expected.txt: Added.
* css3/flexbox/multiline-line-pack-horizontal-column-expected.txt: Added.
* css3/flexbox/multiline-line-pack-horizontal-column.html: Added.
* css3/flexbox/multiline-line-pack.html: Added.
* css3/flexbox/multiline-pack.html:
* css3/flexbox/multiline-reverse-wrap-overflow.html:
* css3/flexbox/multiline-shrink-to-fit.html:
* css3/flexbox/multiline.html:

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

9 years agoString: Subscript operator shouldn't force conversion to 16-bit characters.
kling@webkit.org [Thu, 29 Mar 2012 17:03:59 +0000 (17:03 +0000)]
String: Subscript operator shouldn't force conversion to 16-bit characters.
<http://webkit.org/b/82613>

Reviewed by Anders Carlsson.

Forward String::operator[] to StringImpl::operator[] instead of indexing into characters().
This avoid implicit conversion of 8-bit strings to 16-bit, and as an example, reduces memory
usage on http://www.allthingsd.com/ by 360kB.

* wtf/text/WTFString.h:
(WTF::String::operator[]):

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

9 years agoIntroduce CSSParserMode in all classes
krit@webkit.org [Thu, 29 Mar 2012 16:54:39 +0000 (16:54 +0000)]
Introduce CSSParserMode in all classes
https://bugs.webkit.org/show_bug.cgi?id=82335

Unreviewed build fix.

* src/WebDocument.cpp:
(WebKit::WebDocument::insertUserStyleSheet):

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

9 years agoWeb Inspector: SnippetsScriptMapping should process existing snippets on load.
vsevik@chromium.org [Thu, 29 Mar 2012 16:45:55 +0000 (16:45 +0000)]
Web Inspector: SnippetsScriptMapping should process existing snippets on load.
https://bugs.webkit.org/show_bug.cgi?id=82619

Reviewed by Pavel Feldman.

SnippetsScriptMapping now loads existing snippets on creation.
Otherwise scripts panel shows snippets created during current session only.
Drive-by ScriptsNavigator closure compilation fix.

* inspector/front-end/SnippetsModel.js:
(WebInspector.SnippetsModel.prototype.set get snippets):
(WebInspector.SnippetsScriptMapping):
(WebInspector.SnippetsScriptMapping.prototype._handleSnippetAdded):
(WebInspector.SnippetsScriptMapping.prototype._snippetAdded):

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

9 years agoWeb Inspector: check more likely condition first in HeapSnapshot._buildAggregates
yurys@chromium.org [Thu, 29 Mar 2012 16:25:24 +0000 (16:25 +0000)]
Web Inspector: check more likely condition first in HeapSnapshot._buildAggregates
https://bugs.webkit.org/show_bug.cgi?id=82621

Reviewed by Pavel Feldman.

* inspector/front-end/HeapSnapshot.js: selfSize === 0 is quite rare, moving this condition
to the first place saves 1 of 6 secs on the heap profiler perf test.
(WebInspector.HeapSnapshot.prototype._buildAggregates):
(WebInspector.HeapSnapshot.prototype._buildDominatedNodes): root node is always the first
one and is the only one that doesn't have dominator, so we may start iterating nodes from
the second node and avoid additional check in the loop.

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

9 years agoWeb Inspector: "go to the previous panel" shortcut is painful to maintain
pfeldman@chromium.org [Thu, 29 Mar 2012 16:22:13 +0000 (16:22 +0000)]
Web Inspector: "go to the previous panel" shortcut is painful to maintain
https://bugs.webkit.org/show_bug.cgi?id=82602

Reviewed by Vsevolod Vlasov.

Present go to previous panel shortcut "Cmd - Left" is painful to support since we have
more and more free flow editing capabilities (where Cmd - Left is handled by the editor).
Remaping it to Cmd - Option - [ (]) /  (Ctrl - Alt - [ (]) ).

Drive-by: de-capitalize captions from the settings panel.
* English.lproj/localizedStrings.js:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._registerShortcuts):
* inspector/front-end/InspectorView.js:
(WebInspector.InspectorView.prototype._keyDown):
* inspector/front-end/ScriptsPanel.js:
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._registerShortcuts):
(WebInspector.TimelinePanel.prototype._contextMenu):
* inspector/front-end/inspector.js:
(WebInspector._registerShortcuts):

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

9 years agoUnreviewed, rolling out r112531.
caseq@chromium.org [Thu, 29 Mar 2012 16:19:08 +0000 (16:19 +0000)]
Unreviewed, rolling out r112531.
http://trac.webkit.org/changeset/112531
https://bugs.webkit.org/show_bug.cgi?id=82616

Broke timeline overview selection

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewWindow):

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

9 years agoIntroduce CSSParserMode in all classes
krit@webkit.org [Thu, 29 Mar 2012 16:12:50 +0000 (16:12 +0000)]
Introduce CSSParserMode in all classes
https://bugs.webkit.org/show_bug.cgi?id=82335

Source/WebCore:

Reviewed by Ryosuke Niwa.

Introduce the new CSSParserMode enum to more classes. SVG classes make use of SVGAttributeMode for CSS parsing already.
But SVGAttributeMode does not differ from CSSQuirksMode at the moment. This will change with a followup patch on bug 46112.

No new tests. No change of functionality. Everything gets covered by existing tests.

* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::setCSSStyleSheet):
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::insertRule):
* css/CSSParser.cpp: Move private functions away from strict boolean and make use of CSSParserMode instead.
(WebCore):
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::CSSParser::parseFontFaceValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::createKeyframeRule):
* css/CSSParser.h: Removed constructor with boolean argument. We just use the CSSParserMode enum now.
(CSSParser):
* css/CSSParserMode.h:
(strictToCSSParserMode): New helper function to convert boolean to CSSParserMode.
(isStrictParserMode): Helper function that returns true if argument is CSSStrictMode.
* css/CSSRule.h:
(WebCore::CSSRule::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::CSSStyleSheet):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::parseString):
(WebCore::CSSStyleSheet::parseStringAtLine):
* css/CSSStyleSheet.h:
(CSSStyleSheet):
(WebCore::CSSStyleSheet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we set an enum now.
(WebCore::CSSStyleSheet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
* css/MediaList.cpp:
(WebCore::MediaQuerySet::parse):
(WebCore::MediaQuerySet::add):
(WebCore::MediaQuerySet::remove):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::StylePropertySet):
(WebCore::StylePropertySet::setProperty):
(WebCore::StylePropertySet::parseDeclaration):
* css/StylePropertySet.h: Use unsigned member variables to store the parser mode.
(WebCore::StylePropertySet::create):
(WebCore::StylePropertySet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we get an enum now. This gets converted to unsigned internally.
(WebCore::StylePropertySet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
(StylePropertySet):
* css/StyleSheet.h:
(StyleSheet):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::insertRule):
* css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
* dom/Document.cpp:
(WebCore::Document::webkitGetFlowByName):
(WebCore::Document::pageUserSheet):
(WebCore::Document::pageGroupUserSheets):
* dom/Element.cpp:
(WebCore::Element::webkitMatchesSelector):
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::ensureInlineStyle):
(WebCore::ElementAttributeData::ensureMutableInlineStyle):
(WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
* dom/Node.cpp:
(WebCore::Node::querySelector):
(WebCore::Node::querySelectorAll):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::parseStyleSheet):
* dom/StyleElement.cpp:
(WebCore::StyleElement::createSheet):
* html/HTMLElement.cpp:
(WebCore::StyledElement::copyNonAttributeProperties):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
* html/shadow/ContentSelectorQuery.cpp:
(WebCore::ContentSelectorQuery::ContentSelectorQuery):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::reparseStyleSheet):
* svg/SVGElementRareData.h:
(WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::SVGFontFaceElement):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::getPresentationAttribute):
* xml/XSLStyleSheet.h:
(XSLStyleSheet):
* xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::parseString):
* xml/XSLStyleSheetQt.cpp:
(WebCore::XSLStyleSheet::parseString):

Source/WebKit/chromium:

Use CSSParserMode for setting the parsing mode on parseValue.

* src/WebDocument.cpp:
(WebKit::WebDocument::insertUserStyleSheet):

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

9 years agoBuild fix for !ENABLE(YARR_JIT) after r112454.
paroga@webkit.org [Thu, 29 Mar 2012 16:11:36 +0000 (16:11 +0000)]
Build fix for !ENABLE(YARR_JIT) after r112454.

* runtime/RegExp.cpp:
(JSC::RegExp::invalidateCode):

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

9 years agoFix the error type in JSAudioBufferSourceNodeCustom to pass layout test.
commit-queue@webkit.org [Thu, 29 Mar 2012 15:54:45 +0000 (15:54 +0000)]
Fix the error type in JSAudioBufferSourceNodeCustom to pass layout test.
https://bugs.webkit.org/show_bug.cgi?id=81639

Patch by Sanghyun Park <sh919.park@samsung.com> on 2012-03-29
Reviewed by Eric Carlson.

Test : LayoutTest/webaudio/audiobuffersource-channels.html

* bindings/js/JSAudioBufferSourceNodeCustom.cpp:

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

9 years ago[Qt] Unreviewed gardening after r112514. Fix the accidental r112532 fix.
ossy@webkit.org [Thu, 29 Mar 2012 15:28:27 +0000 (15:28 +0000)]
[Qt] Unreviewed gardening after r112514. Fix the accidental r112532 fix.

* platform/qt-5.0/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
* platform/qt-5.0/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
* platform/qt-5.0/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/qt-5.0/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:

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

9 years agoWeb Inspector: Existing UISourceCode should be loaded on scripts panel creation/reset.
vsevik@chromium.org [Thu, 29 Mar 2012 15:23:51 +0000 (15:23 +0000)]
Web Inspector: Existing UISourceCode should be loaded on scripts panel creation/reset.
https://bugs.webkit.org/show_bug.cgi?id=82614

Reviewed by Pavel Feldman.

Source/WebCore:

UISourceCode are now loaded from DebuggerPresentationModel on scripts panel creation/reset.
This is needed to show snippets that are loaded before scripts panel creation and are not removed on navigation.

* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._handleUISourceCodeAdded):
(WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
(WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
(WebInspector.ScriptsPanel.prototype._reset):
* inspector/front-end/SnippetsModel.js:
(WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):

LayoutTests:

* inspector/debugger/scripts-panel-expected.txt:
* inspector/debugger/scripts-panel.html:

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

9 years ago[Qt] Unreviewed gardening after r112514. Add Qt5 specific expected files.
ossy@webkit.org [Thu, 29 Mar 2012 14:43:30 +0000 (14:43 +0000)]
[Qt] Unreviewed gardening after r112514. Add Qt5 specific expected files.

* platform/qt-5.0/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png: Added.
* platform/qt-5.0/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt: Added.
* platform/qt-5.0/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png: Added.
* platform/qt-5.0/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt: Added.

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

9 years agoWeb Inspector: on a single click in Timeline overview, make a minimal selection cente...
caseq@chromium.org [Thu, 29 Mar 2012 14:43:24 +0000 (14:43 +0000)]
Web Inspector: on a single click in Timeline overview, make a minimal selection centered around cursor
https://bugs.webkit.org/show_bug.cgi?id=82616

Reviewed by Pavel Feldman.

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewWindow): Explicitly handle single click on overview by creating a minimal window around cursor.
(WebInspector.TimelineOverviewWindow.prototype._resizeWindowMinimum):

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

9 years agoUnavailable pre-processor macro in non-Qt environments
commit-queue@webkit.org [Thu, 29 Mar 2012 14:31:54 +0000 (14:31 +0000)]
Unavailable pre-processor macro in non-Qt environments
https://bugs.webkit.org/show_bug.cgi?id=82042

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2012-03-29
Reviewed by Simon Hausmann.

This patch removes the use of the macro QT_VERSION_CHECK() because, in
non-Qt environments, the pre-processors raises an error. Instead of
calling the macro to generate the version number, the version is
expressed directly.

* platform/graphics/texmap/TextureMapperGL.cpp:
(SharedGLData): remove pre-processor macro for Qt version check.

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

9 years agoWeb Inspector: event details popover in Timeline panel displays invalid time offset
caseq@chromium.org [Thu, 29 Mar 2012 14:06:59 +0000 (14:06 +0000)]
Web Inspector: event details popover in Timeline panel displays invalid time offset
https://bugs.webkit.org/show_bug.cgi?id=82611

Reviewed by Pavel Feldman.

* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.prototype.addRecord): use time in seconds, not raw model time for minimumRecordTime.

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

9 years agoWeb Inspector: use canvas to render bars in "vertical overview" mode
caseq@chromium.org [Thu, 29 Mar 2012 13:44:43 +0000 (13:44 +0000)]
Web Inspector: use canvas to render bars in "vertical overview" mode
https://bugs.webkit.org/show_bug.cgi?id=82606

Reviewed by Pavel Feldman.

* inspector/front-end/TimelineOverviewPane.js: Use canvas instead of DOM for rendering vertical overview bars.
(WebInspector.TimelineVerticalOverview):
(WebInspector.TimelineVerticalOverview.prototype.update):
(WebInspector.TimelineVerticalOverview.prototype._renderBars):
(WebInspector.TimelineVerticalOverview.prototype._renderBar):
(WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
* inspector/front-end/timelinePanel.css: Drop styles previously used for DOM-based vertical overview rendering.
(.timeline-vertical-overview-bars):

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

9 years agoWeb Inspector: timeline overview window selection is not reset upon clear/record
caseq@chromium.org [Thu, 29 Mar 2012 13:24:36 +0000 (13:24 +0000)]
Web Inspector: timeline overview window selection is not reset upon clear/record
https://bugs.webkit.org/show_bug.cgi?id=82603

Reviewed by Pavel Feldman.

- TimelineOverviewPane.reset() -> _reset();
- perform update() from reset();
- perform reset() upon RecordsCleared event from the model.

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype._reset):
(WebInspector.TimelineVerticalOverview):
(WebInspector.TimelineVerticalOverview.prototype.update):
(WebInspector.TimelineVerticalOverview.prototype._renderBars):
(WebInspector.TimelineVerticalOverview.prototype._renderBar):
(WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
* inspector/front-end/timelinePanel.css:
(.timeline-vertical-overview-bars):

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

9 years agoRemove redundant updateViewportArguments() call when page is restored from page cache.
commit-queue@webkit.org [Thu, 29 Mar 2012 12:53:08 +0000 (12:53 +0000)]
Remove redundant updateViewportArguments() call when page is restored from page cache.
https://bugs.webkit.org/show_bug.cgi?id=82500

Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-03-29
Reviewed by Kenneth Rohde Christiansen.

.:

Add manual test for history navigation with viewport width check.

* ManualTests/viewport-width-test-after-history-navigation.html: Added.

Source/WebCore:

Document::updateViewportArguments() is called twice, while restoring a page from page cache.
First, it is called when the document is set on the mainframe and later, it is called
when page cache finished the restoration. Since viewport arguments don't change between
the 2 calls, it's safe to remove the second.

Manual test added. Viewport value updates heavily depend on UI process code.

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

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

9 years ago[BlackBerry] Add Internal test support for blackberry porting.
charles.wei@torchmobile.com.cn [Thu, 29 Mar 2012 12:45:37 +0000 (12:45 +0000)]
[BlackBerry] Add Internal test support for blackberry porting.
https://bugs.webkit.org/show_bug.cgi?id=82597

Reviewed by Rob Buis.

No new tests, just the build system enhancement for BlackBerry porting.

* UseJSC.cmake:

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

9 years ago[Qt] Diverging test results on 32/64 bit architectures
ossy@webkit.org [Thu, 29 Mar 2012 12:40:34 +0000 (12:40 +0000)]
[Qt] Diverging test results on 32/64 bit architectures
https://bugs.webkit.org/show_bug.cgi?id=82601

* platform/qt/Skipped: Skip the remaining 6 failing test.

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

9 years agoWeb Inspector: switch heap profiler front-end to separate storage of nodes and edges
yurys@chromium.org [Thu, 29 Mar 2012 12:38:43 +0000 (12:38 +0000)]
Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
https://bugs.webkit.org/show_bug.cgi?id=82453

PerformanceTests:

Updated heap profiler performance test after heap profiler front-end
changes.

Reviewed by Pavel Feldman.

* inspector/detailed-heapshots-smoke-test.html:

Source/WebCore:

When heap snapshot is completely loaded move nodes and containment edges
into two separate arrays. This way we don't need _nodeIndex and _nodePosition
maps to go from node offset inside the raw snapshot to its index and back, instead
we may just divide node offset by the number of node fields to get node index. After
the nodes and containment edges are separated original array (_nodes) is dropped.
All front-end code was switched to the new representation.

Reviewed by Pavel Feldman.

* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshotRetainerEdge):
(WebInspector.HeapSnapshotRetainerEdge.prototype.clone):
(WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
(WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
(WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.hasNext):
(WebInspector.HeapSnapshotNode.prototype.get edgesCount):
(WebInspector.HeapSnapshotNode.prototype.get rawEdges):
(WebInspector.HeapSnapshotNode.prototype.get retainers):
(WebInspector.HeapSnapshotNode.prototype.get _nodes):
(WebInspector.HeapSnapshotNode.prototype._firstEdgeIndex):
(WebInspector.HeapSnapshotNode.prototype._afterLastEdgeIndex):
(WebInspector.HeapSnapshotNode.prototype.get _nextNodeIndex):
(WebInspector.HeapSnapshot.prototype._init):
(WebInspector.HeapSnapshot.prototype._splitNodesAndContainmentEdges):
(WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
(WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
(WebInspector.HeapSnapshot.prototype._buildRetainers):
(WebInspector.HeapSnapshot.prototype.dispose):
(WebInspector.HeapSnapshot.prototype.get maxNodeId):
(WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
(WebInspector.HeapSnapshot.prototype._bfs):
(WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
(WebInspector.HeapSnapshot.prototype._getDominatedIndex):
(WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
(WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):

LayoutTests:

Updated heap profiler test after switching heap profiler front-end
to the new representation of nodes and edges.

Reviewed by Pavel Feldman.

* inspector/profiler/heap-snapshot-expected.txt:
* inspector/profiler/heap-snapshot-test.js:
(initialize_HeapSnapshotTest.InspectorTest.createHeapSnapshotMockObject):
* inspector/profiler/heap-snapshot.html:

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

9 years ago[Qt] Unreviewed gardening. Skip the new fast/dom/shadow tests because ENABLE(SHADOW_D...
kkristof@inf.u-szeged.hu [Thu, 29 Mar 2012 12:33:44 +0000 (12:33 +0000)]
[Qt] Unreviewed gardening. Skip the new fast/dom/shadow tests because ENABLE(SHADOW_DOM) is disabled.

* platform/qt/Skipped: Skip the failing tests

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

9 years ago[BlackBerry] Add m_targetType to WorkerScriptLoader
leo.yang@torchmobile.com.cn [Thu, 29 Mar 2012 12:31:50 +0000 (12:31 +0000)]
[BlackBerry] Add m_targetType to WorkerScriptLoader
https://bugs.webkit.org/show_bug.cgi?id=82574

Reviewed by Rob Buis.

Just as Chromium porting blackberry porting is using m_targetType also.

* workers/WorkerScriptLoader.h:
(WorkerScriptLoader):

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

9 years ago[BlackBerry] Add an empty implementation of GraphicsContext3D::setErrorMessageCallback
commit-queue@webkit.org [Thu, 29 Mar 2012 12:02:59 +0000 (12:02 +0000)]
[BlackBerry] Add an empty implementation of GraphicsContext3D::setErrorMessageCallback
https://bugs.webkit.org/show_bug.cgi?id=82570

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-03-29
Reviewed by Rob Buis.

No new tests, no change in functionality.

* platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
(WebCore::GraphicsContext3D::setErrorMessageCallback): Add an empty implementation.
(WebCore):

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

9 years ago[BlackBerry] Clean up ImageBufferData
commit-queue@webkit.org [Thu, 29 Mar 2012 11:56:54 +0000 (11:56 +0000)]
[BlackBerry] Clean up ImageBufferData
https://bugs.webkit.org/show_bug.cgi?id=82444

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-03-29
Reviewed by Rob Buis.

No behavior changes, no new tests.

* platform/graphics/blackberry/skia/ImageBufferDataSkia.h:
(ImageBufferData): Remove unused member variable m_buffer and change the type
of m_platformLayer from LayerWebKitThread to CanvasLayerWebKitThread.

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

9 years agoWrite a test for <base> and <link> are inert in ShadowDOM.
shinyak@chromium.org [Thu, 29 Mar 2012 11:47:11 +0000 (11:47 +0000)]
Write a test for <base> and <link> are inert in ShadowDOM.
https://bugs.webkit.org/show_bug.cgi?id=82430

Reviewed by Dimitri Glazkov.

This test checks adding <base> or <link> in shadow root will not affect the
elements outside and inside the shadow tree.

* fast/dom/shadow/base-in-shadow-tree-expected.txt: Added.
* fast/dom/shadow/base-in-shadow-tree.html: Added.
* fast/dom/shadow/link-in-shadow-tree-expected.txt: Added.
* fast/dom/shadow/link-in-shadow-tree.html: Added.
* fast/dom/shadow/resources/link-in-shadow-style.css: Added.

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

9 years agoMediaStream API: Adding better comments for the WebRTC methods in WebKitPlatformSupport.h
tommyw@google.com [Thu, 29 Mar 2012 10:25:08 +0000 (10:25 +0000)]
MediaStream API: Adding better comments for the WebRTC methods in WebKitPlatformSupport.h
https://bugs.webkit.org/show_bug.cgi?id=82588

Reviewed by Adam Barth.

* public/platform/WebKitPlatformSupport.h:
(WebKitPlatformSupport):

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

9 years agoSplit WebKitCSSKeyframeRule into internal and CSSOM types
antti@apple.com [Thu, 29 Mar 2012 10:17:19 +0000 (10:17 +0000)]
Split WebKitCSSKeyframeRule into internal and CSSOM types
https://bugs.webkit.org/show_bug.cgi?id=82490

Reviewed by Andreas Kling.

WebKitCSSKeyframeRule is a CSSOM type and should not be used internally.

- Add StyleKeyframe as the internal data structure for keyframes.
- WebKitCSSKeyframeRule becomes a wrapper for StyleKeyframe.
- Use StyleKeyframe internally so WebKitCSSKeyframeRules are created on CSSOM access only.

* css/CSSGrammar.y:

    Use StyleKeyframes instead of WebKitCSSKeyframeRules.

* css/CSSMediaRule.h:
(CSSMediaRule):
(WebCore::CSSMediaRule::length):
(WebCore::CSSMediaRule::item):

    Adapt to LiveCSSRuleList changes.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseKeyframeRule):
(WebCore::CSSParser::createKeyframe):
* css/CSSParser.h:
(WebCore):
(CSSParser):

    Construct StyleKeyframes.

* css/CSSRuleList.h:
(WebCore::LiveCSSRuleList::length):
(WebCore::LiveCSSRuleList::item):

    Make LiveCSSRuleList call rule item()/length() to avoid accessor duplication.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* css/CSSStyleSelector.h:
(CSSStyleSelector):
* css/WebKitCSSKeyframeRule.cpp:

    Use StyleKeyframe.
    Make 0% and 100% keyframes static.

(WebCore):
(WebCore::StyleKeyframe::setProperties):
(WebCore::StyleKeyframe::parseKeyString):
(WebCore::StyleKeyframe::cssText):
(WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
(WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
(WebCore::WebKitCSSKeyframeRule::style):
* css/WebKitCSSKeyframeRule.h:
(WebCore):
(WebCore::StyleKeyframe::create):
(WebCore::StyleKeyframe::keyText):
(WebCore::StyleKeyframe::setKeyText):
(StyleKeyframe):
(WebCore::StyleKeyframe::properties):
(WebCore::StyleKeyframe::StyleKeyframe):
(WebKitCSSKeyframeRule):
(WebCore::WebKitCSSKeyframeRule::keyText):
(WebCore::WebKitCSSKeyframeRule::setKeyText):
(WebCore::WebKitCSSKeyframeRule::cssText):

    Split to internal and CSSOM wrapper type. The wrapper refs StyleKeyframe.

* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
(WebCore::WebKitCSSKeyframesRule::parserAppendKeyframe):
(WebCore::WebKitCSSKeyframesRule::insertRule):
(WebCore::WebKitCSSKeyframesRule::deleteRule):
(WebCore::WebKitCSSKeyframesRule::findRule):
(WebCore::WebKitCSSKeyframesRule::findKeyframeIndex):
(WebCore::WebKitCSSKeyframesRule::cssText):
(WebCore):
(WebCore::WebKitCSSKeyframesRule::item):
* css/WebKitCSSKeyframesRule.h:
(WebCore):
(WebCore::WebKitCSSKeyframesRule::keyframes):
(WebKitCSSKeyframesRule):
(WebCore::WebKitCSSKeyframesRule::length):

    Keep StyleKeyframes and the wrappers (WebKitCSSKeyframeRules) in separate vectors.
    Construct the wrapper vector and wrappers themselves on demand.
    Keep the vectors in sync during mutations.

* css/WebKitCSSRegionRule.h:

    Adapt to LiveCSSRuleList changes.

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

9 years agoFieldset disabled attribute does not work.
zeno.albisser@nokia.com [Thu, 29 Mar 2012 10:14:32 +0000 (10:14 +0000)]
Fieldset disabled attribute does not work.
https://bugs.webkit.org/show_bug.cgi?id=58837

Source/WebCore:

Make HTMLFormControlElements inherit the disabled state
from HTMLFieldSetElement ancestors. Subordinates of the
first HTMLLegendElement in a fieldset will never be disabled.

Patch by Zeno Albisser <zeno@webkit.org>

Test: fast/forms/fieldset-disabled.html

Reviewed by Kent Tamura.

* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::disabledAttributeChanged):
(WebCore):
(WebCore::HTMLFieldSetElement::legend):
* html/HTMLFieldSetElement.h:
(HTMLFieldSetElement):
* html/HTMLFieldSetElement.idl:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
(WebCore):
(WebCore::HTMLFormControlElement::parseAttribute):
(WebCore::HTMLFormControlElement::disabledAttributeChanged):
(WebCore::HTMLFormControlElement::removedFromTree):
(WebCore::HTMLFormControlElement::disabled):
* html/HTMLFormControlElement.h:
(WebCore):
(HTMLFormControlElement):

LayoutTests:

Add a test case for fieldset disabled attribute.

Reviewed by Kent Tamura.

* fast/forms/fieldset/fieldset-disabled-expected.txt: Added.
* fast/forms/fieldset/fieldset-disabled.html: Added.

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

9 years ago[Qt] Unreviewed gardening after r112397. Unskip tests, add new baselines.
ossy@webkit.org [Thu, 29 Mar 2012 10:12:12 +0000 (10:12 +0000)]
[Qt] Unreviewed gardening after r112397. Unskip tests, add new baselines.

* platform/qt/Skipped:
* platform/qt/fast/block/float/overhanging-tall-block-expected.png:
* platform/qt/fast/repaint/moving-shadow-on-container-expected.png:
* platform/qt/fast/repaint/moving-shadow-on-container-expected.txt:
* platform/qt/fast/repaint/moving-shadow-on-path-expected.png:
* platform/qt/fast/repaint/moving-shadow-on-path-expected.txt:
* platform/qt/fast/table/max-width-integer-overflow-expected.png: Copied from LayoutTests/platform/qt/fast/block/float/overhanging-tall-block-expected.png.
* platform/qt/fast/table/max-width-integer-overflow-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-06-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/painting-marker-03-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/paths-data-03-f-expected.png:
* platform/qt/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/struct-frag-02-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/struct-frag-03-t-expected.png:
* platform/qt/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/text-align-04-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1/text-align-04-b-expected.txt:
* platform/qt/svg/W3C-SVG-1.1/text-text-01-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1/text-text-01-b-expected.txt:
* platform/qt/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/qt/svg/as-image/img-preserveAspectRatio-support-1-expected.txt:
* platform/qt/svg/batik/masking/maskRegions-expected.png:
* platform/qt/svg/batik/masking/maskRegions-expected.txt:
* platform/qt/svg/batik/text/textAnchor-expected.png:
* platform/qt/svg/batik/text/textAnchor-expected.txt:
* platform/qt/svg/carto.net/tabgroup-expected.png:
* platform/qt/svg/carto.net/tabgroup-expected.txt:
* platform/qt/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png:
* platform/qt/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt:
* platform/qt/svg/css/stars-with-shadow-expected.png: Added.
* platform/qt/svg/css/stars-with-shadow-expected.txt: Added.
* platform/qt/svg/custom/circular-marker-reference-1-expected.png:
* platform/qt/svg/custom/circular-marker-reference-1-expected.txt:
* platform/qt/svg/custom/circular-marker-reference-2-expected.png:
* platform/qt/svg/custom/circular-marker-reference-2-expected.txt: Added.
* platform/qt/svg/custom/circular-marker-reference-3-expected.png:
* platform/qt/svg/custom/circular-marker-reference-3-expected.txt: Added.
* platform/qt/svg/custom/circular-marker-reference-4-expected.png:
* platform/qt/svg/custom/circular-marker-reference-4-expected.txt: Added.
* platform/qt/svg/custom/embedding-external-svgs-expected.png:
* platform/qt/svg/custom/embedding-external-svgs-expected.txt:
* platform/qt/svg/custom/empty-merge-expected.png:
* platform/qt/svg/custom/empty-merge-expected.txt:
* platform/qt/svg/custom/image-with-transform-clip-filter-expected.png:
* platform/qt/svg/custom/image-with-transform-clip-filter-expected.txt:
* platform/qt/svg/custom/non-circular-marker-reference-expected.png:
* platform/qt/svg/custom/non-circular-marker-reference-expected.txt: Added.
* platform/qt/svg/custom/non-scaling-stroke-markers-expected.png:
* platform/qt/svg/custom/non-scaling-stroke-markers-expected.txt: Added.
* platform/qt/svg/custom/object-sizing-explicit-width-height-expected.png:
* platform/qt/svg/custom/object-sizing-explicit-width-height-expected.txt:
* platform/qt/svg/custom/recursive-filter-expected.png:
* platform/qt/svg/custom/recursive-filter-expected.txt:
* platform/qt/svg/custom/relative-sized-inner-svg-expected.png:
* platform/qt/svg/custom/relative-sized-inner-svg-expected.txt:
* platform/qt/svg/custom/relative-sized-use-on-symbol-expected.png: Added.
* platform/qt/svg/custom/relative-sized-use-on-symbol-expected.txt:
* platform/qt/svg/custom/relative-sized-use-without-attributes-on-symbol-expected.png:
* platform/qt/svg/custom/relative-sized-use-without-attributes-on-symbol-expected.txt:
* platform/qt/svg/custom/resource-invalidate-on-target-update-expected.png: Added.
* platform/qt/svg/custom/resource-invalidate-on-target-update-expected.txt:
* platform/qt/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
* platform/qt/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
* platform/qt/svg/custom/stroked-pattern-expected.png:
* platform/qt/svg/custom/stroked-pattern-expected.txt:
* platform/qt/svg/custom/text-rotated-gradient-expected.png:
* platform/qt/svg/custom/text-rotated-gradient-expected.txt:
* platform/qt/svg/custom/use-css-events-expected.png:
* platform/qt/svg/custom/use-css-events-expected.txt:
* platform/qt/svg/custom/use-detach-expected.png:
* platform/qt/svg/custom/use-detach-expected.txt:
* platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.png: Added.
* platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt:
* platform/qt/svg/dom/css-transforms-expected.png: Added.
* platform/qt/svg/dom/css-transforms-expected.txt: Added.
* platform/qt/svg/filters/feColorMatrix-saturate-expected.txt:
* platform/qt/svg/filters/feColorMatrix-values-expected.png: Added.
* platform/qt/svg/filters/feColorMatrix-values-expected.txt:
* platform/qt/svg/filters/feImage-preserveAspectratio-expected.png:
* platform/qt/svg/filters/filteredImage-expected.png: Added.
* platform/qt/svg/filters/filteredImage-expected.txt:
* platform/qt/svg/hixie/links/001-expected.txt: Added.
* platform/qt/svg/hixie/perf/007-expected.png:
* platform/qt/svg/hixie/perf/007-expected.txt:
* platform/qt/svg/hixie/viewbox/preserveAspectRatio/001-expected.png:
* platform/qt/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt:
* platform/qt/svg/overflow/overflow-on-inner-svg-element-expected.png:
* platform/qt/svg/overflow/overflow-on-inner-svg-element-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-squeeze-1-expected.png:
* platform/qt/svg/text/select-textLength-spacing-squeeze-1-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-squeeze-2-expected.png:
* platform/qt/svg/text/select-textLength-spacing-squeeze-2-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-squeeze-3-expected.png:
* platform/qt/svg/text/select-textLength-spacing-squeeze-3-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-squeeze-4-expected.png:
* platform/qt/svg/text/select-textLength-spacing-squeeze-4-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-stretch-1-expected.png:
* platform/qt/svg/text/select-textLength-spacing-stretch-1-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-stretch-2-expected.png:
* platform/qt/svg/text/select-textLength-spacing-stretch-2-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-stretch-3-expected.png:
* platform/qt/svg/text/select-textLength-spacing-stretch-3-expected.txt:
* platform/qt/svg/text/select-textLength-spacing-stretch-4-expected.png:
* platform/qt/svg/text/select-textLength-spacing-stretch-4-expected.txt:
* platform/qt/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.png:
* platform/qt/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.txt:
* platform/qt/svg/text/select-x-list-1-expected.png:
* platform/qt/svg/text/select-x-list-1-expected.txt:
* platform/qt/svg/text/select-x-list-2-expected.png:
* platform/qt/svg/text/select-x-list-2-expected.txt:
* platform/qt/svg/text/select-x-list-3-expected.png:
* platform/qt/svg/text/select-x-list-3-expected.txt:
* platform/qt/svg/text/select-x-list-4-expected.png:
* platform/qt/svg/text/select-x-list-4-expected.txt:
* platform/qt/svg/text/select-x-list-with-tspans-1-expected.png:
* platform/qt/svg/text/select-x-list-with-tspans-1-expected.txt:
* platform/qt/svg/text/select-x-list-with-tspans-2-expected.png:
* platform/qt/svg/text/select-x-list-with-tspans-2-expected.txt:
* platform/qt/svg/text/select-x-list-with-tspans-3-expected.png:
* platform/qt/svg/text/select-x-list-with-tspans-3-expected.txt:
* platform/qt/svg/text/select-x-list-with-tspans-4-expected.png:
* platform/qt/svg/text/select-x-list-with-tspans-4-expected.txt:
* platform/qt/svg/text/small-fonts-2-expected.png:
* platform/qt/svg/text/small-fonts-2-expected.txt:
* platform/qt/svg/text/text-align-05-b-expected.png:
* platform/qt/svg/text/text-align-05-b-expected.txt:
* platform/qt/svg/transforms/transform-origin-css-property-expected.png: Added.
* platform/qt/svg/transforms/transform-origin-css-property-expected.txt: Added.
* platform/qt/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/qt/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
* platform/qt/svg/zoom/page/zoom-mask-with-percentages-expected.png:
* platform/qt/svg/zoom/page/zoom-mask-with-percentages-expected.txt:

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

9 years agoMediaStream API: Adding two missing release() calls to PeerConnection00.cpp
tommyw@google.com [Thu, 29 Mar 2012 10:06:12 +0000 (10:06 +0000)]
MediaStream API: Adding two missing release() calls to PeerConnection00.cpp
https://bugs.webkit.org/show_bug.cgi?id=82584

Reviewed by Adam Barth.

No changes that affects functionality.

* Modules/mediastream/PeerConnection00.cpp:
(WebCore::PeerConnection00::createOffer):
(WebCore::PeerConnection00::createAnswer):

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

9 years agoPack bitfields in InlineBox for Windows
rniwa@webkit.org [Thu, 29 Mar 2012 09:48:42 +0000 (09:48 +0000)]
Pack bitfields in InlineBox for Windows
https://bugs.webkit.org/show_bug.cgi?id=82578

Reviewed by Kent Tamura.

Unlike gcc and clang, MSVC pads each consecutive member variables of the same type in bitfields. e.g. if you have:
sturct AB {
unsigned m_1 : 31;
bool m_2 : 1;
}
then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang only allocate
sizeof(unsigned) * 1 for AB.

Fixed the bug by packing all bitfields in InlineBox into InlineBoxBitfields and always using either unsigned or int.

* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
(WebCore::EllipsisBox::selectionRect):
(WebCore::EllipsisBox::nodeAtPoint):
* rendering/InlineBox.cpp:
(WebCore):
(SameSizeAsInlineBox):
(WebCore::InlineBox::logicalHeight):
(WebCore::InlineBox::baselinePosition): Moved from the header file since it's a virtual function.
(WebCore::InlineBox::lineHeight): Ditto.
(WebCore::InlineBox::deleteLine):
(WebCore::InlineBox::extractLine):
(WebCore::InlineBox::attachLine):
(WebCore::InlineBox::nextOnLineExists):
(WebCore::InlineBox::clearKnownToHaveNoOverflow):
* rendering/InlineBox.h:
(WebCore::InlineBox::InlineBox):
(WebCore::InlineBox::isText):
(WebCore::InlineBox::setIsText):
(WebCore::InlineBox::hasVirtualLogicalHeight):
(WebCore::InlineBox::setHasVirtualLogicalHeight):
(WebCore::InlineBox::isHorizontal):
(WebCore::InlineBox::setIsHorizontal):
(WebCore::InlineBox::isConstructed):
(WebCore::InlineBox::setConstructed):
(WebCore::InlineBox::setExtracted):
(WebCore::InlineBox::setFirstLineStyleBit):
(WebCore::InlineBox::isFirstLineStyle):
(InlineBox):
(WebCore::InlineBox::bidiLevel):
(WebCore::InlineBox::setBidiLevel):
(WebCore::InlineBox::direction):
(WebCore::InlineBox::isDirty):
(WebCore::InlineBox::markDirty):
(WebCore::InlineBox::expansion):
(WebCore::InlineBox::verticalAlign):
(WebCore::InlineBox::knownToHaveNoOverflow):
(WebCore::InlineBox::dirOverride):
(WebCore::InlineBox::setDirOverride):
(InlineBoxBitfields):
(WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
(WebCore::InlineBox::InlineBoxBitfields::bidiEmbeddingLevel):
(WebCore::InlineBox::InlineBoxBitfields::setBidiEmbeddingLevel):
(WebCore::InlineBox::InlineBoxBitfields::determinedIfNextOnLineExists):
(WebCore::InlineBox::InlineBoxBitfields::setDeterminedIfNextOnLineExists):
(WebCore::InlineBox::InlineBoxBitfields::nextOnLineExists):
(WebCore::InlineBox::InlineBoxBitfields::setNextOnLineExists):
(WebCore::InlineBox::InlineBoxBitfields::expansion):
(WebCore::InlineBox::InlineBoxBitfields::setExpansion):
(WebCore::InlineBox::endsWithBreak):
(WebCore::InlineBox::setEndsWithBreak):
(WebCore::InlineBox::hasEllipsisBox):
(WebCore::InlineBox::hasSelectedChildren):
(WebCore::InlineBox::setHasSelectedChildren):
(WebCore::InlineBox::setHasEllipsisBox):
(WebCore::InlineBox::hasHyphen):
(WebCore::InlineBox::setHasHyphen):
(WebCore::InlineBox::canHaveLeadingExpansion):
(WebCore::InlineBox::setCanHaveLeadingExpansion):
(WebCore::InlineBox::setExpansion):
(WebCore::InlineBox::extracted):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::removeChild):
(WebCore::InlineFlowBox::extractLine):
(WebCore::InlineFlowBox::attachLine):
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
(WebCore::InlineFlowBox::requiresIdeographicBaseline):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
(WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
(WebCore::InlineFlowBox::addTextBoxVisualOverflow):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
(WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::destroy):
(WebCore::InlineTextBox::logicalOverflowRect):
(WebCore::InlineTextBox::setLogicalOverflowRect):
(WebCore::InlineTextBox::baselinePosition):
(WebCore::InlineTextBox::lineHeight):
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::extractLine):
(WebCore::InlineTextBox::attachLine):
(WebCore::InlineTextBox::placeEllipsisBox):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintDecoration):
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
(WebCore::InlineTextBox::paintCompositionUnderline):
(WebCore::InlineTextBox::offsetForPosition):
(WebCore::InlineTextBox::positionForOffset):
(WebCore::InlineTextBox::constructTextRun):
* rendering/InlineTextBox.h:
(InlineTextBox):
(WebCore::InlineTextBox::setExpansion):
(WebCore::InlineTextBox::expansionBehavior):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::constructLine):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeTextRun):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::baselinePosition): Moved from the header file since it's a virtual function.
(WebCore::RootInlineBox::lineHeight): Ditto.
(WebCore::RootInlineBox::paint):
(WebCore::RootInlineBox::ascentAndDescentForBox):
(WebCore::RootInlineBox::verticalPositionForBox):
* rendering/RootInlineBox.h:
(RootInlineBox):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::constructTextRun):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGInlineTextBox):

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

9 years agoLet focus navigation be compliant with Shadow DOM spec.
hayato@chromium.org [Thu, 29 Mar 2012 09:45:50 +0000 (09:45 +0000)]
Let focus navigation be compliant with Shadow DOM spec.
https://bugs.webkit.org/show_bug.cgi?id=78588

Reviewed by Dimitri Glazkov.

Source/WebCore:

Re-landing r112500. Fixed an assertion failure on ReifiedTreeTraversal.

Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.

According to the Shadow DOM spec:
The shadow DOM navigation order sequence is inserted into the document navigation order:
1. immediately after the shadow host, if the shadow host is focusable; or
2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.

Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.

Implementation notes:
Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
it does not skip a non-focusable shadow host in current focus scope.
After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
considering a nested focus scope inside of a shadow host or iframe.
To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.

This change does not affect an existing behavior if a shadow dom is not involved.

Test: fast/dom/shadow/focus-navigation.html

* dom/Element.cpp:
(WebCore::Element::focus):
* dom/ReifiedTreeTraversal.cpp:
(WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
* page/FocusController.cpp:
(WebCore::isShadowHost):
(WebCore):
(WebCore::FocusScope::FocusScope):
(WebCore::FocusScope::rootNode):
(WebCore::FocusScope::owner):
(WebCore::FocusScope::focusScopeOf):
(WebCore::FocusScope::focusScopeOwnedByShadowHost):
(WebCore::FocusScope::focusScopeOwnedByIFrame):
(WebCore::hasCustomFocusLogic):
(WebCore::isNonFocusableShadowHost):
(WebCore::isFocusableShadowHost):
(WebCore::adjustedTabIndex):
(WebCore::shouldVisit):
(WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusableNodeAcrossFocusScope):
(WebCore::FocusController::findFocusableNodeRecursively):
(WebCore::FocusController::findFocusableNode):
(WebCore::FocusController::findNodeWithExactTabIndex):
(WebCore::nextNodeWithGreaterTabIndex):
(WebCore::previousNodeWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):
* page/FocusController.h:
(WebCore):
(FocusScope):
(FocusController):

LayoutTests:

* fast/dom/shadow/focus-navigation-expected.txt: Added.
* fast/dom/shadow/focus-navigation.html: Added.
* fast/dom/shadow/resources/shadow-dom.js:
(isShadowHost):
(isIframeElement):
(getNodeInShadowTreeStack):
(dumpNode):
(innermostActiveElement):
(isInnermostActiveElement):
(shouldNavigateFocus):
(navigateFocusForward):
(navigateFocusBackward):
(testFocusNavigationFowrad):
(testFocusNavigationBackward):
* fast/dom/shadow/shadow-host-transfer-focus-expected.txt: Removed.
* fast/dom/shadow/shadow-host-transfer-focus.html: Removed.
* fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt:
* fast/dom/shadow/tab-order-iframe-and-shadow.html:

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

9 years ago[chromium] Add isolated filesystem type and WebDragData::filesystem_id for drag-and...
kinuko@chromium.org [Thu, 29 Mar 2012 09:40:41 +0000 (09:40 +0000)]
[chromium] Add isolated filesystem type and WebDragData::filesystem_id for drag-and-drop using File/DirectoryEntry.
https://bugs.webkit.org/show_bug.cgi?id=76826

Source/WebCore:

Add two helper methods for creating isolated filesystem to the
PlatformSupport interface.

Reviewed by David Levin.

No new tests: tests will be added when app-facing code is added.

* platform/chromium/PlatformSupport.h:
(PlatformSupport):

Source/WebKit/chromium:

As proposed on whatwg (http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-November/033814.html)
we are implementing better drag-and-drop support using File/Directory
Entry objects in FileSystem API, and for the purpose this patch adds
a new filesystem type: Isolated filesystem.

Each filesystem can be distinguished by a filesystem ID that is given
by chromium platform code via WebDragData when set of
files/directories are dropped.

This is all platform-specific implementation detail and all the changes
are in chromium directory.

Reviewed by David Levin.

* public/platform/WebDragData.h:
(WebDragData):
* public/platform/WebFileSystem.h: Added Isolated type.
* src/AsyncFileSystemChromium.cpp:
(WebCore::AsyncFileSystemChromium::createIsolatedFileSystemName): Added.
(WebCore::AsyncFileSystemChromium::createIsolatedFileSystem): Added.
(WebCore::AsyncFileSystemChromium::toURL): Made it not to return URL
for isolated filesystem (as we do not support it for now).
* src/AsyncFileSystemChromium.h:
* src/PlatformSupport.cpp:
(WebCore::PlatformSupport::createIsolatedFileSystem): Added.
* src/WebDragData.cpp:
(WebKit::WebDragData::filesystemId): Added.
(WebKit::WebDragData::setFilesystemId): Added.

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

9 years ago[Qt] Unreviewed gardening. Skip some failing tests.
kkristof@inf.u-szeged.hu [Thu, 29 Mar 2012 09:11:31 +0000 (09:11 +0000)]
[Qt] Unreviewed gardening. Skip some failing tests.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-03-29

* platform/qt/Skipped:

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

9 years ago[Qt] Unreviewed rebaseline after r112444
kkristof@inf.u-szeged.hu [Thu, 29 Mar 2012 08:46:16 +0000 (08:46 +0000)]
[Qt] Unreviewed rebaseline after r112444

* platform/qt/editing/pasteboard/select-element-1-expected.txt:

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

9 years agoUnreviewed; rolling chromium deps to 129583.
kinuko@chromium.org [Thu, 29 Mar 2012 08:45:13 +0000 (08:45 +0000)]
Unreviewed; rolling chromium deps to 129583.

      * DEPS:

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

9 years agoRemove custom bindings form Internals.idl of attribute type Array.
commit-queue@webkit.org [Thu, 29 Mar 2012 08:32:50 +0000 (08:32 +0000)]
Remove custom bindings form Internals.idl of attribute type Array.
https://bugs.webkit.org/show_bug.cgi?id=82319

Patch by Vineet Chaudhary <rgf748@motorola.com> on 2012-03-29
Reviewed by Kentaro Hara.

Source/WebCore:

Remove custom bindings for Array type and replace Array type with sequence<String>.

No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
even after these changes.

* Target.pri: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
* UseJSC.cmake: Remove JSInternalsCustom.cpp.
* UseV8.cmake: Remove V8InternalsCustom.cpp.
* WebCore.gypi: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
* WebCore.vcproj/WebCoreTestSupport.vcproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
* WebCore.xcodeproj/project.pbxproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
* bindings/js/JSDOMBinding.h:
(WebCore):
(WebCore::jsArray): Added new specialize function template for Strings.
* bindings/scripts/CodeGeneratorJS.pm:
(JSValueToNative): Add jsArray<String>() to deduce return type.
(NativeToJSValue): Added check for type String.
* bindings/scripts/CodeGeneratorV8.pm:
(JSValueToNative): Add v8Array<String>() to deduce return type.
(NativeToJSValue): Added check for type String.
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjSequenceAttr): Modified results from run-binding-tests.
* bindings/scripts/test/V8/V8TestObj.cpp: Modified results from run-binding-tests.
(WebCore::TestObjInternal::sequenceAttrAttrSetter):
* bindings/v8/V8Binding.h: Added new specialize function template for Strings.
(WebCore):
(WebCore::v8Array):
(WebCore::toNativeArray):
* testing/Internals.idl: Replace Array type with sequence<String>
* testing/js/JSInternalsCustom.cpp: Removed.
* testing/v8/V8InternalsCustom.cpp: Removed.

Tools:

Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp as no longer required.

* GNUmakefile.am:

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

9 years agoUnreviewed, rolling out r112500.
commit-queue@webkit.org [Thu, 29 Mar 2012 07:18:09 +0000 (07:18 +0000)]
Unreviewed, rolling out r112500.
http://trac.webkit.org/changeset/112500
https://bugs.webkit.org/show_bug.cgi?id=82576

assertion failed on fast/events/tab-test-not-visible-
imagemap.html on gtk/qt (Requested by hayato on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-29

Source/WebCore:

* dom/Element.cpp:
(WebCore::Element::focus):
* page/FocusController.cpp:
(WebCore):
(WebCore::shadowRoot):
(WebCore::isTreeScopeOwner):
(WebCore::FocusController::transferFocusToElementInShadowRoot):
(WebCore::hasCustomFocusLogic):
(WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocumentOrShadowRoot):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::ownerOfTreeScope):
(WebCore::FocusController::findFocusableNodeAcrossTreeScope):
(WebCore::FocusController::findFocusableNode):
(WebCore::nextNodeWithExactTabIndex):
(WebCore::previousNodeWithExactTabIndex):
(WebCore::nextNodeWithGreaterTabIndex):
(WebCore::previousNodeWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):
* page/FocusController.h:
(WebCore):
(FocusController):

LayoutTests:

* fast/dom/shadow/focus-navigation-expected.txt: Removed.
* fast/dom/shadow/focus-navigation.html: Removed.
* fast/dom/shadow/resources/shadow-dom.js:
(getNodeInShadowTreeStack):
* fast/dom/shadow/shadow-host-transfer-focus-expected.txt: Added.
* fast/dom/shadow/shadow-host-transfer-focus.html: Added.
* fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt:
* fast/dom/shadow/tab-order-iframe-and-shadow.html:

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

9 years agoDFG object equality speculations should be simplified
fpizlo@apple.com [Thu, 29 Mar 2012 06:52:09 +0000 (06:52 +0000)]
DFG object equality speculations should be simplified
https://bugs.webkit.org/show_bug.cgi?id=82557

Reviewed by Gavin Barraclough.

* dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateFinalObject):
(JSC::DFG::Node::shouldSpeculateArray):

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

9 years agoAdd TextFieldDecorationElement::decorate()
tkent@chromium.org [Thu, 29 Mar 2012 06:00:23 +0000 (06:00 +0000)]
Add TextFieldDecorationElement::decorate()
https://bugs.webkit.org/show_bug.cgi?id=82572

Reviewed by Hajime Morita.

This change will be needed for Bug 82143.
No new tests because of no behavior changes yet. This code change
doesn't affect non-Chromium ports for now.

* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::create):
Remove unnecessary assertion. We should allow multiple UA shadow roots.
* html/shadow/TextFieldDecorationElement.cpp:
(WebCore::TextFieldDecorationElement::decorate):
Added.
This function adds another ShadowRoot, and it contains one flexible box container.
The container contains existin ShadowRoot content and the decoration element.
* html/shadow/TextFieldDecorationElement.h:
(TextFieldDecorationElement): Add the declaration of decorate().

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

9 years agoConsider removal of removes jsNull()/v8::Null() from JSInternalsCustom.cpp/V8Internal...
commit-queue@webkit.org [Thu, 29 Mar 2012 05:47:18 +0000 (05:47 +0000)]
Consider removal of removes jsNull()/v8::Null() from JSInternalsCustom.cpp/V8InternalsCustom.cpp
https://bugs.webkit.org/show_bug.cgi?id=82442

Patch by Vineet Chaudhary <rgf748@motorola.com> on 2012-03-28
Reviewed by Kentaro Hara.

No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
even after these changes.

* testing/js/JSInternalsCustom.cpp: Remove jsNull() if Vector is empty.
(WebCore::JSInternals::userPreferredLanguages):
* testing/v8/V8InternalsCustom.cpp: Remove v8::Null() if Vector is empty.
(WebCore::V8Internals::userPreferredLanguagesAccessorGetter):

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

9 years ago[Chromium] Move APIs related to ResourceHandle into Platform
abarth@webkit.org [Thu, 29 Mar 2012 05:29:47 +0000 (05:29 +0000)]
[Chromium] Move APIs related to ResourceHandle into Platform
https://bugs.webkit.org/show_bug.cgi?id=82553

Reviewed by James Robinson.

Source/Platform:

This patch is the first patch in this series:
https://github.com/abarth/webkit/compare/master...webcore-platform

The goal of these patches is to move WebCore::ResourceHandle out of
Chromium's WebKit layer and into WebCore/platform, where it belongs.

This patch moves the Chromium-WebKit APIs used by ResourceHandle out of
the WebKit layer and into the Plaform layer. These are APIs that WebKit
uses to call "down" to manipulate the underlying platform (rather than
"up" to the client to make decisions). The long-term plan is to move
all of the headers in WebKit/chromium/public/platform into
Platform/chromium/public (although we'll likely need to clean up some
layering violations as we go).

* Platform.gypi:
* chromium/public/WebData.h: Added.
(WebKit):
(WebData):
(WebKit::WebData::~WebData):
(WebKit::WebData::WebData):
(WebKit::WebData::operator=):
(WebKit::WebData::isEmpty):
(WebKit::WebData::isNull):
* chromium/public/WebHTTPBody.h: Added.
(WebKit):
(WebHTTPBody):
(WebKit::WebHTTPBody::~WebHTTPBody):
(WebKit::WebHTTPBody::WebHTTPBody):
(WebKit::WebHTTPBody::operator=):
(WebKit::WebHTTPBody::isNull):
* chromium/public/WebHTTPHeaderVisitor.h: Added.
(WebKit):
(WebHTTPHeaderVisitor):
(WebKit::WebHTTPHeaderVisitor::~WebHTTPHeaderVisitor):
* chromium/public/WebHTTPLoadInfo.h: Added.
(WebCore):
(WebKit):
(WebHTTPLoadInfo):
(WebKit::WebHTTPLoadInfo::WebHTTPLoadInfo):
(WebKit::WebHTTPLoadInfo::~WebHTTPLoadInfo):
(WebKit::WebHTTPLoadInfo::operator =):
* chromium/public/WebPrivateOwnPtr.h: Added.
(WebKit):
(WebPrivateOwnPtr):
(WebKit::WebPrivateOwnPtr::WebPrivateOwnPtr):
(WebKit::WebPrivateOwnPtr::~WebPrivateOwnPtr):
(WebKit::WebPrivateOwnPtr::reset):
(WebKit::WebPrivateOwnPtr::get):
(WebKit::WebPrivateOwnPtr::operator->):
* chromium/public/WebURL.h: Added.
(WebKit):
(WebURL):
(WebKit::WebURL::~WebURL):
(WebKit::WebURL::WebURL):
(WebKit::WebURL::operator=):
(WebKit::WebURL::assign):
(WebKit::WebURL::spec):
(WebKit::WebURL::parsed):
(WebKit::WebURL::isValid):
(WebKit::WebURL::isEmpty):
(WebKit::WebURL::isNull):
(WebKit::WebURL::operator GURL):
(WebKit::operator<):
(WebKit::operator==):
(WebKit::operator!=):
* chromium/public/WebURLError.h: Added.
(WebKit):
(WebURLError):
(WebKit::WebURLError::WebURLError):
* chromium/public/WebURLLoadTiming.h: Added.
(WebKit):
(WebURLLoadTiming):
(WebKit::WebURLLoadTiming::~WebURLLoadTiming):
(WebKit::WebURLLoadTiming::WebURLLoadTiming):
(WebKit::WebURLLoadTiming::operator=):
(WebKit::WebURLLoadTiming::isNull):
* chromium/public/WebURLLoader.h: Added.
(WebKit):
(WebURLLoader):
(WebKit::WebURLLoader::~WebURLLoader):
* chromium/public/WebURLLoaderClient.h: Added.
(WebKit):
(WebURLLoaderClient):
(WebKit::WebURLLoaderClient::willSendRequest):
(WebKit::WebURLLoaderClient::didSendData):
(WebKit::WebURLLoaderClient::didReceiveResponse):
(WebKit::WebURLLoaderClient::didDownloadData):
(WebKit::WebURLLoaderClient::didReceiveData):
(WebKit::WebURLLoaderClient::didReceiveCachedMetadata):
(WebKit::WebURLLoaderClient::didFinishLoading):
(WebKit::WebURLLoaderClient::didFail):
(WebKit::WebURLLoaderClient::~WebURLLoaderClient):
* chromium/public/WebURLRequest.h: Added.
(WebKit):
(WebURLRequest):
(ExtraData):
(WebKit::WebURLRequest::ExtraData::~ExtraData):
(WebKit::WebURLRequest::~WebURLRequest):
(WebKit::WebURLRequest::WebURLRequest):
(WebKit::WebURLRequest::operator=):
* chromium/public/WebURLResponse.h: Added.
(WebKit):
(WebURLResponse):
(ExtraData):
(WebKit::WebURLResponse::ExtraData::~ExtraData):
(WebKit::WebURLResponse::~WebURLResponse):
(WebKit::WebURLResponse::WebURLResponse):
(WebKit::WebURLResponse::operator=):

Source/WebKit/chromium:

These headers are now just forwarding headers to the new location of
these headers. These forwarding headers exist to avoid breaking
existing users of the API. They will likely be removed (or changed)
in the future once we've updated all folks using them.

* public/platform/WebData.h:
* public/platform/WebHTTPBody.h:
* public/platform/WebHTTPHeaderVisitor.h:
* public/platform/WebHTTPLoadInfo.h:
* public/platform/WebPrivateOwnPtr.h:
* public/platform/WebURL.h:
* public/platform/WebURLError.h:
* public/platform/WebURLLoadTiming.h:
* public/platform/WebURLLoader.h:
* public/platform/WebURLLoaderClient.h:
* public/platform/WebURLRequest.h:
* public/platform/WebURLResponse.h:

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

9 years agoSource/WebCore: Let focus navigation be compliant with Shadow DOM spec.
hayato@chromium.org [Thu, 29 Mar 2012 04:59:04 +0000 (04:59 +0000)]
Source/WebCore: Let focus navigation be compliant with Shadow DOM spec.
https://bugs.webkit.org/show_bug.cgi?id=78588

Reviewed by Dimitri Glazkov.

Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.

According to the Shadow DOM spec:
The shadow DOM navigation order sequence is inserted into the document navigation order:
1. immediately after the shadow host, if the shadow host is focusable; or
2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.

Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.

Implementation notes:
Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
it does not skip a non-focusable shadow host in current focus scope.
After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
considering a nested focus scope inside of a shadow host or iframe.
To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.

This change does not affect an existing behavior if a shadow dom is not involved.

Test: fast/dom/shadow/focus-navigation.html

* dom/Element.cpp:
(WebCore::Element::focus):
* page/FocusController.cpp:
(WebCore::isShadowHost):
(WebCore):
(WebCore::FocusScope::FocusScope):
(WebCore::FocusScope::rootNode):
(WebCore::FocusScope::owner):
(WebCore::FocusScope::focusScopeOf):
(WebCore::FocusScope::focusScopeOwnedByShadowHost):
(WebCore::FocusScope::focusScopeOwnedByIFrame):
(WebCore::hasCustomFocusLogic):
(WebCore::isNonFocusableShadowHost):
(WebCore::isFocusableShadowHost):
(WebCore::adjustedTabIndex):
(WebCore::shouldVisit):
(WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusableNodeAcrossFocusScope):
(WebCore::FocusController::findFocusableNodeRecursively):
(WebCore::FocusController::findFocusableNode):
(WebCore::FocusController::findNodeWithExactTabIndex):
(WebCore::nextNodeWithGreaterTabIndex):
(WebCore::previousNodeWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):
* page/FocusController.h:
(WebCore):
(FocusScope):
(FocusController):

LayoutTests: Make focus navigation be compliant with Shadow DOM spec.
https://bugs.webkit.org/show_bug.cgi?id=78588

Reviewed by Dimitri Glazkov.

* fast/dom/shadow/focus-navigation-expected.txt: Added.
* fast/dom/shadow/focus-navigation.html: Added.
* fast/dom/shadow/resources/shadow-dom.js:
(isShadowHost):
(isIframeElement):
(getNodeInShadowTreeStack):
(dumpNode):
(innermostActiveElement):
(isInnermostActiveElement):
(shouldNavigateFocus):
(navigateFocusForward):
(navigateFocusBackward):
(testFocusNavigationFowrad):
(testFocusNavigationBackward):
* fast/dom/shadow/shadow-host-transfer-focus-expected.txt: Removed.
* fast/dom/shadow/shadow-host-transfer-focus.html: Removed.
* fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt:
* fast/dom/shadow/tab-order-iframe-and-shadow.html:

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

9 years ago[WebSocket]Browser must fail connection if Sec-WebSocket-Protocol mismatched.
commit-queue@webkit.org [Thu, 29 Mar 2012 04:22:12 +0000 (04:22 +0000)]
[WebSocket]Browser must fail connection if Sec-WebSocket-Protocol mismatched.
https://bugs.webkit.org/show_bug.cgi?id=82307

Patch by Li Yin <li.yin@intel.com> on 2012-03-28
Reviewed by Kent Tamura.

Source/WebCore:

From RFC6455: http://tools.ietf.org/html/rfc6455#section-4.1
If the WebSocket openhanding respond included the mismatched
Sec-WebSocket-Protocol header field, the client must fail the WebSocket Connection.

Test: http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html

* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::checkResponseHeaders):

LayoutTests:

From RFC6455: http://tools.ietf.org/html/rfc6455#section-4.1
If the response includes a |Sec-WebSocket-Protocol| header field
and this header field indicates the use of a subprotocol that was
not present in the client's handshake (the server has indicated a
subprotocol not requested by the client), the client MUST _Fail
the WebSocket Connection_.

* http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header-expected.txt: Added.
* http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html: Added.
* http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):

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

9 years agoFix Windows build after r112482.
jberlin@webkit.org [Thu, 29 Mar 2012 04:08:27 +0000 (04:08 +0000)]
Fix Windows build after r112482.

* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::formOpen):
Do not attempt to use an OS X error code on Windows. Use the POSIX errno instead.

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

9 years ago[CSS Filters] Avoid rebuilding FEFilters when RenderLayer is destroyed
achicu@adobe.com [Thu, 29 Mar 2012 03:42:48 +0000 (03:42 +0000)]
[CSS Filters] Avoid rebuilding FEFilters when RenderLayer is destroyed
https://bugs.webkit.org/show_bug.cgi?id=82524

Reviewed by Dean Jackson.

RenderLayer::~RenderLayer is calling clearBacking which updated the m_filter with new filters,
even though they were to be deleted a couple of lines below. This change avoids updating the filters,
if we are in the "destroyed" state.

No new tests. This change has no visible results to HTML or JavaScript, so it cannot be tested without a debugger.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::~RenderLayer):
(WebCore::RenderLayer::clearBacking):
* rendering/RenderLayer.h:
(RenderLayer):

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

9 years agominidom configurations should be based on ToolExecutable.xcconfig
ddkilzer@apple.com [Thu, 29 Mar 2012 03:00:19 +0000 (03:00 +0000)]
minidom configurations should be based on ToolExecutable.xcconfig
<http://webkit.org/b/82513>

Reviewed by Mark Rowe.

Note that this patch changes minidom from being installed in
/usr/local/bin to JavaScriptCore.framework/Resources.

* Configurations/ToolExecutable.xcconfig: Add semi-colon.
* JavaScriptCore.xcodeproj/project.pbxproj: Base minidom
configurations on ToolExecutable.xcconfig.  Remove redundant
PRODUCT_NAME and SKIP_INSTALL variables.

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

9 years agoRemove ScriptExecutionContext from NavigatorBattery.idl
gyuyoung.kim@samsung.com [Thu, 29 Mar 2012 02:57:04 +0000 (02:57 +0000)]
Remove ScriptExecutionContext from NavigatorBattery.idl
https://bugs.webkit.org/show_bug.cgi?id=82556

Reviewed by Adam Barth.

As Bug 73528 comment #71, NavigatorBattery.idl doesn't need to have ScriptExecutionContext.
Document can be used instead of ScriptExecutionContext.

Tests: batterystatus/add-listener-from-callback.html
       batterystatus/basic-all-types-of-events.html
       batterystatus/basic-operation.html
       batterystatus/event-after-navigation.html
       batterystatus/multiple-frames.html
       batterystatus/updates.html
       batterystatus/window-property.html

* Modules/battery/BatteryManager.cpp:
(WebCore::BatteryManager::create):
(WebCore::BatteryManager::BatteryManager):
* Modules/battery/BatteryManager.h:
(BatteryManager):
* Modules/battery/NavigatorBattery.cpp:
(WebCore::NavigatorBattery::webkitBattery):
* Modules/battery/NavigatorBattery.h:
(NavigatorBattery):
* Modules/battery/NavigatorBattery.idl:

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

9 years ago[BlackBerry]Missing cookies from HTTP response header in Network tab of Web Inspector.
commit-queue@webkit.org [Thu, 29 Mar 2012 02:32:50 +0000 (02:32 +0000)]
[BlackBerry]Missing cookies from HTTP response header in Network tab of Web Inspector.
https://bugs.webkit.org/show_bug.cgi?id=82041

We shouldn't overwrite cookies of response if there are more than one
header of Set-Cookie.

Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-03-28
Reviewed by Rob Buis.

Test: http/tests/cookies/resources/setArraycookies.php

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::handleNotifyHeaderReceived):

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

9 years agoJPEGImageDecoder: Set frame alpha state before marking a frame complete
noel.gordon@gmail.com [Thu, 29 Mar 2012 02:18:18 +0000 (02:18 +0000)]
JPEGImageDecoder: Set frame alpha state before marking a frame complete
https://bugs.webkit.org/show_bug.cgi?id=82428

Reviewed by Kenneth Russell.

r109779 changed JPEG alpha channel handling by marking a JPEG image frame
as having no alpha _after_ setting the image status frame-complete, which
prevents the application of image color profiles in some WebGL cases.

No new tests. The application of the color profile is not guaranteed for
images used as textures in WebGL. Refer to http://wkb.ug/76498.

* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::jpegComplete): Set the image frame alpha state
before marking the image frame status as frame-complete.

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

9 years agoFix rounding in RenderInline::paintOutlineForLine
eae@chromium.org [Thu, 29 Mar 2012 02:11:40 +0000 (02:11 +0000)]
Fix rounding in RenderInline::paintOutlineForLine
https://bugs.webkit.org/show_bug.cgi?id=82540

Reviewed by Eric Seidel.

No new tests, no change in functionality.

* rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutlineForLine):
Change paintOutlineForLine to pixel snap the left and right edges of the
lines instead of adding the offset to an already rounded number.

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

9 years agoFix a crash and an assertion when recovering from a web process crash
andersca@apple.com [Thu, 29 Mar 2012 01:50:06 +0000 (01:50 +0000)]
Fix a crash and an assertion when recovering from a web process crash
https://bugs.webkit.org/show_bug.cgi?id=82559
<rdar://problem/10902574>

Reviewed by Mark Rowe.

* UIProcess/API/mac/WKView.mm:
(-[WKView _processDidCrash]):
If we're currently in accelerated compositing mode, exit.

(-[WKView updateLayer]):
Guard against a null drawing area.

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

9 years agoIndexedDB: don't expose IDBDatabaseError to script
dgrogan@chromium.org [Thu, 29 Mar 2012 01:46:06 +0000 (01:46 +0000)]
IndexedDB: don't expose IDBDatabaseError to script
https://bugs.webkit.org/show_bug.cgi?id=82280

Source/WebCore:

It's not used anywhere and firefox doesn't expose it.

Reviewed by Tony Chang.

Test: storage/indexeddb/removed.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Modules/indexeddb/DOMWindowIndexedDatabase.idl:
* Modules/indexeddb/IDBDatabaseError.idl: Removed.
* Modules/indexeddb/WorkerContextIndexedDatabase.idl:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:

LayoutTests:

Add layout test that ensures IDBDatabaseError is gone.

Also change shouldBeTrue to shouldBeTrueQuiet in the boilerplate idb
layout test preamble to remove a bunch of clutter from the
-expected.txt files.

Reviewed by Tony Chang.

* storage/indexeddb/basics-expected.txt:
* storage/indexeddb/basics-shared-workers-expected.txt:
* storage/indexeddb/basics-workers-expected.txt:
... every indexeddb -expected.txt:
Remove output from check for IDBDatabaseError.
* storage/indexeddb/removed-expected.txt: Added.
* storage/indexeddb/removed.html: Added.
* storage/indexeddb/request-event-propagation-expected.txt:
* storage/indexeddb/resources/removed.js: Added.
(test):
* storage/indexeddb/resources/shared.js:
(removeVendorPrefixes): Stop checking for existence of
window.IDBDatabaseError.

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

9 years agoRespects font fallback list during webfonts are loading
bashi@chromium.org [Thu, 29 Mar 2012 01:41:03 +0000 (01:41 +0000)]
Respects font fallback list during webfonts are loading
https://bugs.webkit.org/show_bug.cgi?id=76684

Reviewed by Dimitri Glazkov.

Source/WebCore:

For layout, use the rest of the fallback list while webfonts are loading.
If the webfont is loading, it will be given an invalid Unicode Range so that
font selection mechansim doesn't use the webfont for layout.

Test: http/tests/webfont/fallback-font-while-loading.html

* css/CSSSegmentedFontFace.cpp:
(WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading): Added.
(WebCore):
(WebCore::CSSSegmentedFontFace::getFontData):

LayoutTests:

Add a test that checks fallback fonts are used for layout while
webfonts are loading.

* http/tests/webfont/fallback-font-while-loading-expected.txt: Added.
* http/tests/webfont/fallback-font-while-loading.html: Added.
* http/tests/webfont/getahem.cgi: Added.
* http/tests/webfont/resources/Ahem.ttf: Added.

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

9 years ago[WebSocket]Reserved bits test case should cover both extension and no-extension scenarios
commit-queue@webkit.org [Thu, 29 Mar 2012 01:32:28 +0000 (01:32 +0000)]
[WebSocket]Reserved bits test case should cover both extension and no-extension scenarios
https://bugs.webkit.org/show_bug.cgi?id=82100

Patch by Li Yin <li.yin@intel.com> on 2012-03-28
Reviewed by Kent Tamura.

The current reserved bits test case only support extension case,
Improve test case to cover both no-extension and extension scenarios.

* http/tests/websocket/tests/hybi/reserved-bits-expected.txt:
* http/tests/websocket/tests/hybi/reserved-bits.html:
* http/tests/websocket/tests/hybi/reserved-bits_wsh.py:
(web_socket_do_extra_handshake):

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

9 years agoUpdate Localizable.strings.
mrowe@apple.com [Thu, 29 Mar 2012 01:29:30 +0000 (01:29 +0000)]
Update Localizable.strings.

* English.lproj/Localizable.strings:

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

9 years agoFix --no-saved-state.
mrowe@apple.com [Thu, 29 Mar 2012 01:29:16 +0000 (01:29 +0000)]
Fix --no-saved-state.

Ignore the flag before Lion, rather than making it specific to Lion.

Rubber-stamped by Dan Bernstein.

* Scripts/webkitdirs.pm:
(argumentsForRunAndDebugMacWebKitApp):

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

9 years agoAssociatedURLLoader does not support Cross Origin Redirects when using
bbudge@chromium.org [Thu, 29 Mar 2012 01:14:05 +0000 (01:14 +0000)]
AssociatedURLLoader does not support Cross Origin Redirects when using
Access Control.
https://bugs.webkit.org/show_bug.cgi?id=82354

AssociatedURLLoader's internal adapter now overrides didFailRedirectCheck,
which cancels the load, causing didFail to notify the client that the
load failed. AssociatedURLLoaderTest adds test cases for CORS requests
that receive redirects and pass or fail the redirect access check.

Reviewed by Adam Barth.

* src/AssociatedURLLoader.cpp:
(AssociatedURLLoader::ClientAdapter):
(WebKit::AssociatedURLLoader::ClientAdapter::didFailRedirectCheck):
(WebKit):
* tests/AssociatedURLLoaderTest.cpp:
(WebKit):
(WebKit::TEST_F):

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

9 years agoSource/WebCore: Removed particular rendering for the volume slider and used
commit-queue@webkit.org [Thu, 29 Mar 2012 01:07:20 +0000 (01:07 +0000)]
Source/WebCore: Removed particular rendering for the volume slider and used
css positioning instead (simpler and less prone to errors when
changes occur).
https://bugs.webkit.org/show_bug.cgi?id=82150

Patch by Victor Carbune <vcarbune@adobe.com> on 2012-03-28
Reviewed by Eric Carlson.

Test: media/video-controls-rendering-toggle-display-none.html

* css/mediaControls.css: Updated css to correctly render controls.
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
* css/mediaControlsChromium.css: Updated css to correctly render controls.
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
* html/shadow/MediaControlElements.cpp: Removed particular renderer.
(WebCore):
* html/shadow/MediaControlElements.h: Removed particular renderer.
(MediaControlVolumeSliderContainerElement):
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::create): Added an anonymous div container
for the mute button and volume slider (to be displayed on top of each other)

LayoutTests: Added relevant test to support video controls display:none toggling.
https://bugs.webkit.org/show_bug.cgi?id=82150

Patch by Victor Carbune <vcarbune@adobe.com> on 2012-03-28
Reviewed by Eric Carlson.

* media/video-controls-rendering-toggle-display-none.html: Added.
* platform/chromium-linux/media/video-controls-rendering-toggle-display-none-expected.png: Added.
* platform/chromium-linux/media/video-controls-rendering-toggle-display-none-expected.txt: Added.
* platform/chromium/test_expectations.txt: Updated expectations, more rebaselining is needed.

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

9 years agoUnreviewed, rolling out r110064.
slewis@apple.com [Thu, 29 Mar 2012 01:02:28 +0000 (01:02 +0000)]
Unreviewed, rolling out r110064.
http://trac.webkit.org/changeset/110064
https://bugs.webkit.org/show_bug.cgi?id=82537

The patch leaks the DOM when audio elements are used
(Requested by sundiamonde on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-28

Source/WebCore:

* bindings/js/JSNodeCustom.cpp:
(WebCore::isReachableFromDOM):

LayoutTests:

* platform/gtk/test_expectations.txt:

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

9 years ago[Win] Some Blob tests crash in CFNetwork in advanceCurrentStream(FormStreamFields*)
ap@apple.com [Thu, 29 Mar 2012 00:58:42 +0000 (00:58 +0000)]
[Win] Some Blob tests crash in CFNetwork in advanceCurrentStream(FormStreamFields*)
https://bugs.webkit.org/show_bug.cgi?id=82386
<rdar://problem/11121501>

Reviewed by Brady Eidson.

Covered by existing tests.

* platform/network/cf/FormDataStreamCFNet.cpp:
* platform/network/cf/FormDataStreamCFNet.h:
Moved low level implementation from FormDataStreamMac, and exposed an additional function
to implement Foundation-based API on top of this.

* platform/network/mac/FormDataStreamMac.h:
* platform/network/mac/FormDataStreamMac.mm:
Rely on toll-free bridging and implementation details to make this work without duplicating
code.
Note that httpBodyFromStream is confusing - I don't see how it can work when sending serialized
requests across process boundary. We probably only get away with this because we don't attempt
to send requests to UI process once they already have streams associated with them.

* WebCore.vcproj/WebCore.vcproj: Added missing platform/cf files.

* platform/cf/FileSystemCF.cpp: Fixed include style.

* platform/win/FileSystemWin.cpp: (WebCore::fileSystemRepresentation): Ifdef out a broken
implementation.

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

9 years ago[chromium] Fix tiled layer assert for huge layers
enne@google.com [Thu, 29 Mar 2012 00:56:16 +0000 (00:56 +0000)]
[chromium] Fix tiled layer assert for huge layers
https://bugs.webkit.org/show_bug.cgi?id=82486

Reviewed by James Robinson.

Source/WebCore:

Test: TiledLayerChromiumTest.hugeLayerUpdateCrash

TilingData::numTiles() is calculated as the product of two ints and so
can potentially overflow, causing numTiles() to be incorrect. To avoid
calling code accidentally falling into this trap, remove this function
and all code that uses tile index from TilingData.  This requires
fixing up a bunch of callers of TilingData and CCLayerTilingData.

Additionally, TilingData::numTiles() has long been a confusing
function name in some contexts, so rename to bool hasEmptyBounds().

Also, remove TilingData::intersectDrawQuad because there are no
clients of that function.

* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::drawsContent):
(WebCore::TiledLayerChromium::reserveTextures):
(WebCore::TiledLayerChromium::prepareToUpdate):
(WebCore::TiledLayerChromium::prepareToUpdateIdle):
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):
* platform/graphics/chromium/cc/CCLayerTilingData.cpp:
(WebCore::CCLayerTilingData::tileRect):
* platform/graphics/chromium/cc/CCLayerTilingData.h:
(WebCore::CCLayerTilingData::hasEmptyBounds):
(WebCore::CCLayerTilingData::tileBounds):
(WebCore::CCLayerTilingData::isEmpty):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::bindContentsTexture):
(WebCore::CCTiledLayerImpl::appendQuads):
* platform/graphics/gpu/Texture.cpp:
(WebCore::Texture::create):
(WebCore::Texture::updateSubRect):
* platform/graphics/gpu/TilingData.cpp:
(WebCore::TilingData::tileBounds):
(WebCore::TilingData::tileBoundsWithBorder):
(WebCore::TilingData::tileBoundsNormalized):
* platform/graphics/gpu/TilingData.h:
(WebCore::TilingData::hasEmptyBounds):
(TilingData):
(WebCore::TilingData::assertTile):

Source/WebKit/chromium:

Add test for updating a huge layer that would assert prior to this
code. Fix up TilingData tests to use a testing class that provides a
safe version of numTiles().

* tests/TiledLayerChromiumTest.cpp:
(WTF::TEST):
(WTF):
* tests/TilingDataTest.cpp:
(TestTiling):
(WebCore::TestTiling::TestTiling):
(WebCore::TestTiling::numTiles):
(WebCore):
(WebCore::TEST):

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

9 years agoediting/spelling/spellcheck-async-mutation.html is flakey.
enrica@apple.com [Thu, 29 Mar 2012 00:54:26 +0000 (00:54 +0000)]
editing/spelling/spellcheck-async-mutation.html is flakey.
https://bugs.webkit.org/show_bug.cgi?id=82555

Mark this test as flakey in test_expectations.

* platform/mac/test_expectations.txt:

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

9 years agoRemoved editing/pasteboard/drop-text-without-selection.html from test_expectations
enrica@apple.com [Thu, 29 Mar 2012 00:36:50 +0000 (00:36 +0000)]
Removed editing/pasteboard/drop-text-without-selection.html from test_expectations
since it now passes consistently.

* platform/mac/test_expectations.txt:

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

9 years agoAdded compositing/rtl/rtl-fixed-overflow-scrolled.html to the Mac skipped list, becau...
enrica@apple.com [Thu, 29 Mar 2012 00:31:38 +0000 (00:31 +0000)]
Added compositing/rtl/rtl-fixed-overflow-scrolled.html to the Mac skipped list, because of
<https://bugs.webkit.org/show_bug.cgi?id=82554> compositing/rtl/rtl-fixed-overflow-scrolled.html fails on
Lion and SnowLeopard.

* platform/mac/Skipped:

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

9 years agoAdd dtharp to contributors list
commit-queue@webkit.org [Thu, 29 Mar 2012 00:29:39 +0000 (00:29 +0000)]
Add dtharp to contributors list
https://bugs.webkit.org/show_bug.cgi?id=82545

Patch by Dave Tharp <dtharp@codeaurora.org> on 2012-03-28
Reviewed by Adam Barth.

Adding dtharp as Contributor.

* Scripts/webkitpy/common/config/committers.py:

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

9 years agoRebaseline this test after the nodes were removed in r112299.
simon.fraser@apple.com [Thu, 29 Mar 2012 00:24:11 +0000 (00:24 +0000)]
Rebaseline this test after the nodes were removed in r112299.

* platform/mac/fast/dom/Window/window-properties-expected.txt:

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

9 years agoChange FilterOperations::getOutsets to use integers
eae@chromium.org [Wed, 28 Mar 2012 23:57:16 +0000 (23:57 +0000)]
Change FilterOperations::getOutsets to use integers
https://bugs.webkit.org/show_bug.cgi?id=82535

Reviewed by Eric Seidel.

FilterOperations::getOutsets calculates the outsets using integers and
the values are guranteed to be set to full-pixel values. By changing the
function signature we communicate this fact better and avoid unnecessary
type conversions in some cases.

No new tests.

* platform/graphics/filters/FilterOperations.cpp:
(WebCore::FilterOperations::getOutsets):
* platform/graphics/filters/FilterOperations.h:
(FilterOperations):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::addVisualEffectOverflow):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::computeRectForRepaint):
* rendering/style/RenderStyle.h:

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

9 years agoRemove dispatchDidLoadMainResource callback, since no
japhet@chromium.org [Wed, 28 Mar 2012 23:55:31 +0000 (23:55 +0000)]
Remove dispatchDidLoadMainResource callback, since no
port implements it.
https://bugs.webkit.org/show_bug.cgi?id=82539

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests, just deleting dead code.

* loader/EmptyClients.h:
(EmptyFrameLoaderClient):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::finishedLoading):
(WebCore::FrameLoader::mainReceivedCompleteError):
* loader/FrameLoaderClient.h:
(FrameLoaderClient):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::receivedError):
(WebCore::MainResourceLoader::didCancel):

Source/WebKit/blackberry:

* WebCoreSupport/FrameLoaderClientBlackBerry.h:
(FrameLoaderClientBlackBerry):

Source/WebKit/chromium:

* src/FrameLoaderClientImpl.cpp:
(WebKit):
* src/FrameLoaderClientImpl.h:
(FrameLoaderClientImpl):

Source/WebKit/efl:

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore):
* WebCoreSupport/FrameLoaderClientEfl.h:
(FrameLoaderClientEfl):

Source/WebKit/gtk:

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit):
* WebCoreSupport/FrameLoaderClientGtk.h:
(FrameLoaderClient):

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebKit.order:

Source/WebKit/qt:

* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore):
* WebCoreSupport/FrameLoaderClientQt.h:
(FrameLoaderClientQt):

Source/WebKit/win:

* WebCoreSupport/WebFrameLoaderClient.cpp:
* WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):

Source/WebKit/wince:

* WebCoreSupport/FrameLoaderClientWinCE.cpp:
(WebKit):
* WebCoreSupport/FrameLoaderClientWinCE.h:
(FrameLoaderClientWinCE):

Source/WebKit/wx:

* WebKitSupport/FrameLoaderClientWx.cpp:
(WebCore):
* WebKitSupport/FrameLoaderClientWx.h:
(FrameLoaderClientWx):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

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

9 years agoREGRESSION: editing/pasteboard/dataTransfer-setData-getData.html fails on Mac platforms.
enrica@apple.com [Wed, 28 Mar 2012 23:43:19 +0000 (23:43 +0000)]
REGRESSION: editing/pasteboard/dataTransfer-setData-getData.html fails on Mac platforms.
https://bugs.webkit.org/show_bug.cgi?id=82497
<rdar://problem/11140334>

Reviewed by Brady Eidson.

The revision causing this regression fixed the way data is written to the pasteboard for NSURLPboardType.
This change fixes the way data is read from the pasteboard for the same pasteboard type.

No new tests. Fixes the existing one that fails.

* platform/mac/ClipboardMac.mm:
(WebCore::absoluteURLsFromPasteboard):
* platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::stringForType):

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

9 years agoSL bot is hitting SHOULD NEVER BE REACHED in WebCore::valueForLength() on many tests
commit-queue@webkit.org [Wed, 28 Mar 2012 23:41:42 +0000 (23:41 +0000)]
SL bot is hitting SHOULD NEVER BE REACHED in WebCore::valueForLength() on many tests
https://bugs.webkit.org/show_bug.cgi?id=82390

Patch by Joe Thomas <joethomas@motorola.com> on 2012-03-28
Reviewed by Simon Fraser.

This is an attempt to fix the MAC SL/Lion Bot issue as this issue is not reproducible locally.
The assertion happened when length type is Undefined in valueForLength() function but the assertion for Undefined length type
in RenderBox::computeLogicalWidthInRegionUsing which calls the above said function did not get hit.

This patch passes Length structure as const reference to Length calculation functions which avoids the call to the copy-constructor.
And it ensures that the Length structure is not getting modified during copy-construction.

* css/LengthFunctions.cpp:
(WebCore::minimumValueForLength):
(WebCore::valueForLength):
(WebCore::floatValueForLength):
* css/LengthFunctions.h:
(WebCore):

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

9 years agobuild-webkit : the word "pass" is spelled incorrectly as "passs"
commit-queue@webkit.org [Wed, 28 Mar 2012 23:26:32 +0000 (23:26 +0000)]
build-webkit : the word "pass" is spelled incorrectly as "passs"
https://bugs.webkit.org/show_bug.cgi?id=82532

Patch by Stuart Eichert <stuart.eichert@palm.com> on 2012-03-28
Reviewed by Julien Chaffraix.

Corrected spelling of the word "pass" in build-webkit.

* Scripts/build-webkit:

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