1 2012-10-07 Arpita Bahuguna <arpitabahuguna@gmail.com>
3 :first-line pseudo selector ignoring words created from :before
4 https://bugs.webkit.org/show_bug.cgi?id=80794
6 Reviewed by Daniel Bates.
8 The :first-line pseudo-element style is not applied for content
9 which is generated from the :before/:after pseudo-elements.
11 Test: fast/css/first-line-style-for-before-after-content.html
13 * rendering/RenderObject.cpp:
14 (WebCore::firstLineStyleForCachedUncachedType):
15 Added a new static helper function incorporating the common
16 functionality of both uncachedFirstLineStyle() and firstLineStyleSlowCase()
17 functions. It also modifies the functionality to handle the
18 scenario when :first-line style needs to be applied on content
19 generated from :before/:after.
21 While getting the :first-line style we should also consider the case
22 when the content is generated from a :before/:after pseudo-element in
23 which case the RenderInline's parent should be considered for
24 obtaining the first-line style.
27 (WebCore::RenderObject::uncachedFirstLineStyle):
28 (WebCore::RenderObject::firstLineStyleSlowCase):
29 Moved the duplicate code between the two functions to the common
30 helper function firstLineStyleForCachedUncachedType().
32 2012-10-07 Peter Wang <peter.wang@torchmobile.com.cn>
34 Web Inspector: The front-end should provide the position in original source file when set a breakpoint
35 https://bugs.webkit.org/show_bug.cgi?id=93473
37 Reviewed by Yury Semikhatsky.
39 Since frontend truncates the indent, the first statement in a line must match the breakpoint (line, 0).
40 With this patch JSC debugger can support both normal and "Pretty Print" mode.
42 No new test case. This patch can be verified with cases in "LayoutTests/inspector/debugger/".
44 * bindings/js/ScriptDebugServer.cpp:
45 (WebCore::ScriptDebugServer::ScriptDebugServer):
46 (WebCore::ScriptDebugServer::hasBreakpoint):
47 (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
48 (WebCore::ScriptDebugServer::pauseIfNeeded):
49 * bindings/js/ScriptDebugServer.h:
52 2012-10-07 Martin Robinson <mrobinson@igalia.com>
54 [Soup] Clean up ResourceError creation
55 https://bugs.webkit.org/show_bug.cgi?id=98521
57 Reviewed by Carlos Garcia Campos.
59 Simplify the creation of ResourcErrors in ResourceHandleSoup. This is
60 part of a process to make the libsoup networking backend more hackable.
62 No new tests. This shouldn't change functionality.
64 * GNUmakefile.list.am: Added new file.
65 * PlatformEfl.cmake: Added new file.
66 * platform/network/soup/ResourceError.h:
67 (ResourceError): Added new factories.
68 * platform/network/soup/ResourceErrorSoup.cpp: Added.
69 (WebCore::failingURI): Added this helper.
70 (WebCore::ResourceError::httpError): New factory.
71 (WebCore::ResourceError::genericIOError): Ditto.
72 (WebCore::ResourceError::tlsError): Ditto.
73 (WebCore::ResourceError::timeoutError): Ditto.
74 * platform/network/soup/ResourceHandleSoup.cpp:
75 (WebCore::handleUnignoredTLSErrors): Created this helper which merges
76 some of the logic from sendRequestCallback.
77 (WebCore::sendRequestCallback): Use the new helper.
78 (WebCore::requestTimeoutCallback): Use the new factory.
80 2012-10-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
82 Rename first/second to key/value in HashMap iterators
83 https://bugs.webkit.org/show_bug.cgi?id=82784
85 Reviewed by Eric Seidel.
87 * Modules/geolocation/Geolocation.cpp:
88 (WebCore::Geolocation::Watchers::find):
89 (WebCore::Geolocation::Watchers::remove):
90 * Modules/indexeddb/IDBDatabase.cpp:
91 (WebCore::IDBDatabase::objectStoreNames):
92 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
93 (WebCore::IDBDatabaseBackendImpl::metadata):
94 * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
95 (WebCore::IDBFactoryBackendImpl::deleteDatabase):
96 (WebCore::IDBFactoryBackendImpl::openBackingStore):
97 (WebCore::IDBFactoryBackendImpl::open):
98 * Modules/indexeddb/IDBObjectStore.cpp:
99 (WebCore::IDBObjectStore::indexNames):
100 (WebCore::IDBObjectStore::put):
101 (WebCore::IDBObjectStore::index):
102 (WebCore::IDBObjectStore::deleteIndex):
103 * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
104 (WebCore::IDBObjectStoreBackendImpl::metadata):
105 (WebCore::makeIndexWriters):
106 (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
107 * Modules/indexeddb/IDBTransaction.cpp:
108 (WebCore::IDBTransaction::objectStore):
109 (WebCore::IDBTransaction::objectStoreDeleted):
110 (WebCore::IDBTransaction::onAbort):
111 (WebCore::IDBTransaction::dispatchEvent):
112 * Modules/mediastream/MediaConstraintsImpl.cpp:
113 (WebCore::MediaConstraintsImpl::getMandatoryConstraints):
114 (WebCore::MediaConstraintsImpl::getMandatoryConstraintValue):
115 * Modules/webdatabase/AbstractDatabase.cpp:
116 (WebCore::AbstractDatabase::performOpenAndVerify):
117 * Modules/webdatabase/DatabaseTracker.cpp:
118 (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
119 * Modules/webdatabase/OriginUsageRecord.cpp:
120 (WebCore::OriginUsageRecord::diskUsage):
121 * Modules/webdatabase/SQLTransactionCoordinator.cpp:
122 (WebCore::SQLTransactionCoordinator::acquireLock):
123 (WebCore::SQLTransactionCoordinator::releaseLock):
124 (WebCore::SQLTransactionCoordinator::shutdown):
125 * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
126 (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
127 * Modules/webdatabase/chromium/QuotaTracker.cpp:
128 (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin):
129 (WebCore::QuotaTracker::updateDatabaseSize):
130 * Modules/websockets/WebSocketDeflateFramer.cpp:
131 (WebCore::WebSocketExtensionDeflateFrame::processResponse):
132 * Modules/websockets/WebSocketExtensionDispatcher.cpp:
133 (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):
134 * accessibility/AXObjectCache.cpp:
135 (WebCore::AXObjectCache::~AXObjectCache):
136 * bindings/gobject/DOMObjectCache.cpp:
137 (WebKit::DOMObjectCache::clearByFrame):
138 * bindings/js/DOMObjectHashTableMap.h:
139 (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
140 (WebCore::DOMObjectHashTableMap::get):
141 * bindings/js/JSDOMBinding.cpp:
142 (WebCore::cacheDOMStructure):
143 * bindings/js/JSDOMGlobalObject.cpp:
144 (WebCore::JSDOMGlobalObject::visitChildren):
145 * bindings/js/JSDOMGlobalObject.h:
146 (WebCore::getDOMConstructor):
147 * bindings/js/PageScriptDebugServer.cpp:
148 (WebCore::PageScriptDebugServer::addListener):
149 (WebCore::PageScriptDebugServer::removeListener):
150 * bindings/js/ScriptCachedFrameData.cpp:
151 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
152 (WebCore::ScriptCachedFrameData::restore):
153 * bindings/js/ScriptController.cpp:
154 (WebCore::ScriptController::~ScriptController):
155 (WebCore::ScriptController::clearWindowShell):
156 (WebCore::ScriptController::attachDebugger):
157 (WebCore::ScriptController::updateDocument):
158 (WebCore::ScriptController::createRootObject):
159 (WebCore::ScriptController::collectIsolatedContexts):
160 (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
161 (WebCore::ScriptController::clearScriptObjects):
162 * bindings/js/ScriptController.h:
163 (WebCore::ScriptController::windowShell):
164 (WebCore::ScriptController::existingWindowShell):
165 * bindings/js/ScriptDebugServer.cpp:
166 (WebCore::ScriptDebugServer::setBreakpoint):
167 (WebCore::ScriptDebugServer::removeBreakpoint):
168 (WebCore::ScriptDebugServer::hasBreakpoint):
169 * bindings/js/SerializedScriptValue.cpp:
170 (WebCore::CloneSerializer::checkForDuplicate):
171 (WebCore::CloneSerializer::dumpIfTerminal):
172 (WebCore::CloneSerializer::write):
173 * bindings/scripts/CodeGeneratorV8.pm:
174 (GenerateImplementation):
175 * bindings/scripts/test/V8/V8Float64Array.cpp:
176 (WebCore::V8Float64Array::GetRawTemplate):
177 (WebCore::V8Float64Array::GetTemplate):
178 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
179 (WebCore::V8TestActiveDOMObject::GetRawTemplate):
180 (WebCore::V8TestActiveDOMObject::GetTemplate):
181 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
182 (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
183 (WebCore::V8TestCustomNamedGetter::GetTemplate):
184 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
185 (WebCore::V8TestEventConstructor::GetRawTemplate):
186 (WebCore::V8TestEventConstructor::GetTemplate):
187 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
188 (WebCore::V8TestEventTarget::GetRawTemplate):
189 (WebCore::V8TestEventTarget::GetTemplate):
190 * bindings/scripts/test/V8/V8TestException.cpp:
191 (WebCore::V8TestException::GetRawTemplate):
192 (WebCore::V8TestException::GetTemplate):
193 * bindings/scripts/test/V8/V8TestInterface.cpp:
194 (WebCore::V8TestInterface::GetRawTemplate):
195 (WebCore::V8TestInterface::GetTemplate):
196 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
197 (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
198 (WebCore::V8TestMediaQueryListListener::GetTemplate):
199 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
200 (WebCore::V8TestNamedConstructor::GetRawTemplate):
201 (WebCore::V8TestNamedConstructor::GetTemplate):
202 * bindings/scripts/test/V8/V8TestNode.cpp:
203 (WebCore::V8TestNode::GetRawTemplate):
204 (WebCore::V8TestNode::GetTemplate):
205 * bindings/scripts/test/V8/V8TestObj.cpp:
206 (WebCore::V8TestObj::GetRawTemplate):
207 (WebCore::V8TestObj::GetTemplate):
208 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
209 (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
210 (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
211 * bindings/v8/DOMWrapperWorld.cpp:
212 (WebCore::DOMWrapperWorld::deallocate):
213 (WebCore::DOMWrapperWorld::ensureIsolatedWorld):
214 * bindings/v8/NPV8Object.cpp:
215 (WebCore::freeV8NPObject):
216 (WebCore::npCreateV8ScriptObject):
217 * bindings/v8/ScriptController.cpp:
218 (WebCore::ScriptController::clearScriptObjects):
219 (WebCore::ScriptController::resetIsolatedWorlds):
220 (WebCore::ScriptController::ensureIsolatedWorldContext):
221 (WebCore::ScriptController::existingWindowShellInternal):
222 (WebCore::ScriptController::evaluateInIsolatedWorld):
223 (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
224 (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
225 (WebCore::ScriptController::collectIsolatedContexts):
226 * bindings/v8/SerializedScriptValue.cpp:
227 * bindings/v8/V8DOMMap.h:
228 (WebCore::WeakReferenceMap::removeIfPresent):
229 (WebCore::WeakReferenceMap::visit):
230 * bindings/v8/V8PerContextData.cpp:
231 (WebCore::V8PerContextData::dispose):
232 * bindings/v8/npruntime.cpp:
233 * bridge/IdentifierRep.cpp:
234 (WebCore::IdentifierRep::get):
235 * bridge/NP_jsobject.cpp:
238 * bridge/runtime_root.cpp:
239 (JSC::Bindings::RootObject::invalidate):
240 * css/CSSCanvasValue.cpp:
241 (WebCore::CSSCanvasValue::canvasChanged):
242 (WebCore::CSSCanvasValue::canvasResized):
243 * css/CSSComputedStyleDeclaration.cpp:
244 (WebCore::counterToCSSValue):
245 * css/CSSCrossfadeValue.cpp:
246 (WebCore::CSSCrossfadeValue::crossfadeChanged):
247 * css/CSSFontFaceSource.cpp:
248 (WebCore::CSSFontFaceSource::getFontData):
249 * css/CSSFontSelector.cpp:
250 (WebCore::CSSFontSelector::addFontFaceRule):
251 (WebCore::CSSFontSelector::getFontData):
252 * css/CSSImageGeneratorValue.cpp:
253 (WebCore::CSSImageGeneratorValue::addClient):
254 (WebCore::CSSImageGeneratorValue::removeClient):
255 (WebCore::CSSImageGeneratorValue::getImage):
256 * css/CSSSegmentedFontFace.cpp:
257 (WebCore::CSSSegmentedFontFace::getFontData):
258 * css/CSSSelector.cpp:
259 (WebCore::CSSSelector::parsePseudoType):
260 * css/CSSValuePool.cpp:
261 (WebCore::CSSValuePool::createColorValue):
262 (WebCore::CSSValuePool::createFontFamilyValue):
263 (WebCore::CSSValuePool::createFontFaceValue):
264 * css/PropertySetCSSStyleDeclaration.cpp:
265 (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
267 (WebCore::reportAtomRuleMap):
268 (WebCore::RuleSet::addToRuleSet):
269 (WebCore::shrinkMapVectorsToFit):
270 * css/StyleBuilder.cpp:
271 (WebCore::ApplyPropertyCounter::applyInheritValue):
272 (WebCore::ApplyPropertyCounter::applyValue):
273 * css/StyleResolver.cpp:
274 (WebCore::StyleResolver::collectFeatures):
275 (WebCore::StyleResolver::ruleSetForScope):
276 (WebCore::StyleResolver::appendAuthorStylesheets):
277 (WebCore::StyleResolver::sweepMatchedPropertiesCache):
278 (WebCore::StyleResolver::collectMatchingRulesForList):
279 * css/StyleSheetContents.cpp:
280 (WebCore::StyleSheetContents::parserAddNamespace):
281 (WebCore::StyleSheetContents::determineNamespace):
282 * dom/CheckedRadioButtons.cpp:
283 (WebCore::CheckedRadioButtons::addButton):
284 (WebCore::CheckedRadioButtons::removeButton):
285 * dom/ChildListMutationScope.cpp:
286 (WebCore::ChildListMutationAccumulator::getOrCreate):
288 (WebCore::Document::windowNamedItems):
289 (WebCore::Document::documentNamedItems):
290 (WebCore::Document::getCSSCanvasElement):
291 (WebCore::Document::cachedImmutableAttributeData):
292 (WebCore::Document::getCachedLocalizer):
293 * dom/DocumentMarkerController.cpp:
294 (WebCore::DocumentMarkerController::markerContainingPoint):
295 (WebCore::DocumentMarkerController::renderedRectsForMarkers):
296 (WebCore::DocumentMarkerController::removeMarkers):
297 (WebCore::DocumentMarkerController::repaintMarkers):
298 (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
299 (WebCore::DocumentMarkerController::showMarkers):
300 * dom/DocumentOrderedMap.cpp:
301 (WebCore::DocumentOrderedMap::remove):
302 * dom/DocumentStyleSheetCollection.cpp:
303 (WebCore::DocumentStyleSheetCollection::pageGroupUserSheets):
304 * dom/ElementAttributeData.cpp:
305 (WebCore::ensureAttrListForElement):
306 * dom/EventDispatcher.cpp:
307 (WebCore::EventRelatedTargetAdjuster::findRelatedTarget):
308 * dom/IdTargetObserverRegistry.cpp:
309 (WebCore::IdTargetObserverRegistry::addObserver):
310 (WebCore::IdTargetObserverRegistry::removeObserver):
311 * dom/MutationObserverInterestGroup.cpp:
312 (WebCore::MutationObserverInterestGroup::isOldValueRequested):
313 (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
315 (WebCore::Node::dumpStatistics):
316 (WebCore::Node::clearRareData):
317 (WebCore::NodeListsNodeData::invalidateCaches):
318 (WebCore::collectMatchingObserversForMutation):
319 * dom/NodeRareData.h:
320 (WebCore::NodeListsNodeData::addCacheWithAtomicName):
321 (WebCore::NodeListsNodeData::addCacheWithName):
322 (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
323 (WebCore::NodeListsNodeData::adoptTreeScope):
324 * dom/ProcessingInstruction.cpp:
325 (WebCore::ProcessingInstruction::checkStyleSheet):
326 * dom/ScriptExecutionContext.cpp:
327 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
328 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
329 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
330 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
331 (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
332 * dom/SelectorQuery.cpp:
333 (WebCore::SelectorQueryCache::add):
334 * dom/SpaceSplitString.cpp:
335 (WebCore::SpaceSplitStringData::create):
336 * dom/StyledElement.cpp:
337 (WebCore::StyledElement::updateAttributeStyle):
338 * editing/mac/AlternativeTextUIController.mm:
339 (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext):
340 * html/FormController.cpp:
341 (WebCore::SavedFormState::serializeTo):
342 (WebCore::SavedFormState::appendControlState):
343 (WebCore::SavedFormState::takeControlState):
344 (WebCore::SavedFormState::getReferencedFilePaths):
345 (WebCore::FormKeyGenerator::formKey):
346 (WebCore::FormController::createSavedFormStateMap):
347 (WebCore::FormController::formElementsState):
348 (WebCore::FormController::takeStateForFormElement):
349 (WebCore::FormController::getReferencedFilePaths):
350 * html/HTMLCollection.cpp:
351 (WebCore::HTMLCollectionCacheBase::append):
352 * html/canvas/WebGLFramebuffer.cpp:
353 (WebCore::WebGLFramebuffer::getAttachment):
354 (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
355 (WebCore::WebGLFramebuffer::checkStatus):
356 (WebCore::WebGLFramebuffer::deleteObjectImpl):
357 (WebCore::WebGLFramebuffer::initializeAttachments):
358 * inspector/CodeGeneratorInspector.py:
359 * inspector/DOMPatchSupport.cpp:
360 (WebCore::DOMPatchSupport::diff):
361 (WebCore::DOMPatchSupport::innerPatchChildren):
362 (WebCore::DOMPatchSupport::removeChildAndMoveToNew):
363 * inspector/InjectedScriptManager.cpp:
364 (WebCore::InjectedScriptManager::injectedScriptForId):
365 (WebCore::InjectedScriptManager::injectedScriptIdFor):
366 (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
367 (WebCore::InjectedScriptManager::releaseObjectGroup):
368 (WebCore::InjectedScriptManager::injectedScriptFor):
369 * inspector/InspectorCSSAgent.cpp:
370 (WebCore::SelectorProfile::commitSelector):
371 (WebCore::SelectorProfile::commitSelectorTime):
372 (WebCore::SelectorProfile::toInspectorObject):
373 (WebCore::UpdateRegionLayoutTask::onTimer):
374 (WebCore::InspectorCSSAgent::forcePseudoState):
375 (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
376 (WebCore::InspectorCSSAgent::assertStyleSheetForId):
377 (WebCore::InspectorCSSAgent::didRemoveDOMNode):
378 (WebCore::InspectorCSSAgent::didModifyDOMAttr):
379 (WebCore::InspectorCSSAgent::resetPseudoStates):
380 * inspector/InspectorConsoleAgent.cpp:
381 (WebCore::InspectorConsoleAgent::stopTiming):
382 (WebCore::InspectorConsoleAgent::count):
383 * inspector/InspectorDOMAgent.cpp:
384 (WebCore::InspectorDOMAgent::nodeForId):
385 (WebCore::InspectorDOMAgent::performSearch):
386 (WebCore::InspectorDOMAgent::getSearchResults):
387 * inspector/InspectorDOMDebuggerAgent.cpp:
388 (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
389 * inspector/InspectorDOMStorageAgent.cpp:
390 (WebCore::InspectorDOMStorageAgent::clearFrontend):
391 (WebCore::InspectorDOMStorageAgent::enable):
392 (WebCore::InspectorDOMStorageAgent::storageId):
393 (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
394 (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
395 (WebCore::InspectorDOMStorageAgent::memoryBytesUsedByStorageCache):
396 * inspector/InspectorDatabaseAgent.cpp:
397 (WebCore::InspectorDatabaseAgent::enable):
398 (WebCore::InspectorDatabaseAgent::databaseId):
399 (WebCore::InspectorDatabaseAgent::findByFileName):
400 (WebCore::InspectorDatabaseAgent::databaseForId):
401 * inspector/InspectorDebuggerAgent.cpp:
402 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
403 (WebCore::InspectorDebuggerAgent::removeBreakpoint):
404 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
405 (WebCore::InspectorDebuggerAgent::searchInContent):
406 (WebCore::InspectorDebuggerAgent::getScriptSource):
407 (WebCore::InspectorDebuggerAgent::didParseSource):
408 * inspector/InspectorIndexedDBAgent.cpp:
410 * inspector/InspectorMemoryAgent.cpp:
412 * inspector/InspectorPageAgent.cpp:
413 (WebCore::cachedResourcesForFrame):
414 (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
415 (WebCore::InspectorPageAgent::frameDetached):
416 * inspector/InspectorProfilerAgent.cpp:
417 (WebCore::InspectorProfilerAgent::getProfileHeaders):
419 (WebCore::InspectorProfilerAgent::getProfile):
420 * inspector/InspectorResourceAgent.cpp:
421 (WebCore::buildObjectForHeaders):
422 (WebCore::InspectorResourceAgent::willSendRequest):
423 (WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient):
424 (WebCore::InspectorResourceAgent::willLoadXHR):
425 (WebCore::InspectorResourceAgent::replayXHR):
426 * inspector/InspectorState.cpp:
427 (WebCore::InspectorState::getBoolean):
428 (WebCore::InspectorState::getString):
429 (WebCore::InspectorState::getLong):
430 (WebCore::InspectorState::getDouble):
431 (WebCore::InspectorState::getObject):
432 * inspector/InspectorStyleSheet.cpp:
433 (WebCore::InspectorStyle::styleWithProperties):
434 (WebCore::InspectorStyleSheet::inspectorStyleForId):
435 * inspector/InspectorValues.cpp:
436 (WebCore::InspectorObjectBase::get):
437 (WebCore::InspectorObjectBase::writeJSON):
438 * inspector/InspectorWorkerAgent.cpp:
439 (WebCore::InspectorWorkerAgent::workerContextTerminated):
440 (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
441 (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
442 * inspector/MemoryInstrumentationImpl.cpp:
443 (WebCore::MemoryInstrumentationClientImpl::countObjectSize):
444 * inspector/MemoryInstrumentationImpl.h:
445 (WebCore::MemoryInstrumentationClientImpl::totalSize):
446 (WebCore::MemoryInstrumentationClientImpl::reportedSizeForAllTypes):
447 * inspector/NetworkResourcesData.cpp:
448 (WebCore::NetworkResourcesData::setXHRReplayData):
449 (WebCore::NetworkResourcesData::removeCachedResource):
450 (WebCore::NetworkResourcesData::clear):
451 * loader/CrossOriginAccessControl.cpp:
452 (WebCore::isSimpleCrossOriginAccessRequest):
453 (WebCore::createAccessControlPreflightRequest):
454 * loader/CrossOriginPreflightResultCache.cpp:
455 (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
456 (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
457 * loader/DocumentLoader.cpp:
458 (WebCore::DocumentLoader::getSubresources):
459 (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
460 * loader/MainResourceLoader.cpp:
461 (WebCore::MainResourceLoader::didReceiveResponse):
462 * loader/ResourceLoadScheduler.cpp:
463 (WebCore::ResourceLoadScheduler::servePendingRequests):
464 * loader/appcache/ApplicationCache.cpp:
465 (WebCore::ApplicationCache::removeResource):
466 (WebCore::ApplicationCache::clearStorageID):
467 (WebCore::ApplicationCache::dump):
468 * loader/appcache/ApplicationCacheGroup.cpp:
469 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
470 (WebCore::ApplicationCacheGroup::startLoadingEntry):
471 (WebCore::ApplicationCacheGroup::addEntry):
472 * loader/appcache/ApplicationCacheHost.cpp:
473 (WebCore::ApplicationCacheHost::fillResourceList):
474 * loader/appcache/ApplicationCacheResource.cpp:
475 (WebCore::ApplicationCacheResource::estimatedSizeInStorage):
476 * loader/appcache/ApplicationCacheStorage.cpp:
477 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
478 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
479 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
480 (WebCore::ApplicationCacheStorage::store):
481 (WebCore::ApplicationCacheStorage::empty):
482 (WebCore::ApplicationCacheStorage::storeCopyOfCache):
483 * loader/archive/ArchiveFactory.cpp:
484 (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
485 * loader/cache/CachedRawResource.cpp:
486 (WebCore::CachedRawResource::canReuse):
487 * loader/cache/CachedResource.cpp:
488 (WebCore::CachedResource::switchClientsToRevalidatedResource):
489 (WebCore::CachedResource::updateResponseAfterRevalidation):
490 * loader/cache/CachedResourceClientWalker.h:
491 (WebCore::CachedResourceClientWalker::CachedResourceClientWalker):
492 * loader/cache/CachedResourceLoader.cpp:
493 (WebCore::CachedResourceLoader::~CachedResourceLoader):
494 (WebCore::CachedResourceLoader::requestResource):
495 (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
496 (WebCore::CachedResourceLoader::removeCachedResource):
497 (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
498 * loader/cache/MemoryCache.cpp:
499 (WebCore::MemoryCache::removeResourcesWithOrigin):
500 (WebCore::MemoryCache::getOriginsWithCache):
501 (WebCore::MemoryCache::getStatistics):
502 (WebCore::MemoryCache::setDisabled):
503 * loader/icon/IconDatabase.cpp:
504 (WebCore::IconDatabase::removeAllIcons):
505 (WebCore::IconDatabase::iconRecordCountWithData):
506 (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
507 * page/DOMWindow.cpp:
508 (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
509 (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
510 * page/EventHandler.cpp:
511 (WebCore::EventHandler::handleTouchEvent):
513 (WebCore::Frame::injectUserScripts):
514 * page/PageGroup.cpp:
515 (WebCore::PageGroup::pageGroup):
516 (WebCore::PageGroup::closeLocalStorage):
517 (WebCore::PageGroup::clearLocalStorageForAllOrigins):
518 (WebCore::PageGroup::clearLocalStorageForOrigin):
519 (WebCore::PageGroup::syncLocalStorage):
520 (WebCore::PageGroup::addUserScriptToWorld):
521 (WebCore::PageGroup::addUserStyleSheetToWorld):
522 (WebCore::PageGroup::removeUserScriptFromWorld):
523 (WebCore::PageGroup::removeUserStyleSheetFromWorld):
524 * page/PageSerializer.cpp:
525 (WebCore::PageSerializer::urlForBlankFrame):
526 * page/SecurityPolicy.cpp:
527 (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
528 (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
530 (WebCore::setGenericFontFamilyMap):
531 (WebCore::getGenericFontFamilyForScript):
532 * page/SpeechInput.cpp:
533 (WebCore::SpeechInput::registerListener):
534 * page/TouchDisambiguation.cpp:
535 (WebCore::findGoodTouchTargets):
536 * page/WindowFeatures.cpp:
537 (WebCore::WindowFeatures::boolFeature):
538 (WebCore::WindowFeatures::floatFeature):
539 * page/animation/AnimationController.cpp:
540 (WebCore::AnimationControllerPrivate::updateAnimations):
541 (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
542 (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
543 (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
544 * page/animation/CompositeAnimation.cpp:
545 (WebCore::CompositeAnimation::clearRenderer):
546 (WebCore::CompositeAnimation::updateTransitions):
547 (WebCore::CompositeAnimation::updateKeyframeAnimations):
548 (WebCore::CompositeAnimation::animate):
549 (WebCore::CompositeAnimation::getAnimatedStyle):
550 (WebCore::CompositeAnimation::setAnimating):
551 (WebCore::CompositeAnimation::timeToNextService):
552 (WebCore::CompositeAnimation::getAnimationForProperty):
553 (WebCore::CompositeAnimation::suspendAnimations):
554 (WebCore::CompositeAnimation::resumeAnimations):
555 (WebCore::CompositeAnimation::overrideImplicitAnimations):
556 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
557 (WebCore::CompositeAnimation::isAnimatingProperty):
558 (WebCore::CompositeAnimation::numberOfActiveAnimations):
559 * platform/Language.cpp:
560 (WebCore::languageDidChange):
561 * platform/MIMETypeRegistry.cpp:
562 (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
563 * platform/audio/HRTFElevation.cpp:
564 (WebCore::getConcatenatedImpulseResponsesForSubject):
565 * platform/blackberry/CookieManager.cpp:
566 (WebCore::CookieManager::generateHtmlFragmentForCookies):
567 (WebCore::CookieManager::removeAllCookies):
568 * platform/blackberry/CookieMap.cpp:
569 (WebCore::CookieMap::removeOldestCookie):
570 (WebCore::CookieMap::getAllChildCookies):
571 * platform/cf/BinaryPropertyList.cpp:
572 (WebCore::BinaryPropertyListPlan::writeIntegerArray):
573 * platform/chromium/support/WebHTTPLoadInfo.cpp:
575 * platform/chromium/support/WebURLRequest.cpp:
576 (WebKit::WebURLRequest::visitHTTPHeaderFields):
577 * platform/chromium/support/WebURLResponse.cpp:
578 (WebKit::WebURLResponse::addHTTPHeaderField):
579 (WebKit::WebURLResponse::visitHTTPHeaderFields):
580 * platform/graphics/DisplayRefreshMonitor.cpp:
581 (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):
582 (WebCore::DisplayRefreshMonitorManager::unregisterClient):
583 * platform/graphics/FontCache.cpp:
584 (WebCore::FontCache::getCachedFontPlatformData):
585 (WebCore::FontCache::getVerticalData):
586 (WebCore::FontCache::getCachedFontData):
587 (WebCore::FontCache::releaseFontData):
588 (WebCore::FontCache::purgeInactiveFontData):
589 * platform/graphics/GlyphPageTreeNode.cpp:
590 (WebCore::GlyphPageTreeNode::treeGlyphPageCount):
591 (WebCore::GlyphPageTreeNode::pageCount):
592 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
593 (WebCore::GlyphPageTreeNode::pruneTreeFontData):
594 (WebCore::GlyphPageTreeNode::pruneCustomFontData):
595 (WebCore::GlyphPageTreeNode::pruneFontData):
596 (WebCore::GlyphPageTreeNode::showSubtree):
597 (showGlyphPageTrees):
598 * platform/graphics/TiledBackingStore.cpp:
599 (WebCore::TiledBackingStore::updateTileBuffers):
600 (WebCore::TiledBackingStore::resizeEdgeTiles):
601 (WebCore::TiledBackingStore::setKeepRect):
602 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
603 (WebCore::AVFWrapper::avfWrapperForCallbackContext):
604 * platform/graphics/blackberry/LayerTiler.cpp:
605 (WebCore::LayerTiler::layerVisibilityChanged):
606 (WebCore::LayerTiler::uploadTexturesIfNeeded):
607 (WebCore::LayerTiler::addTileJob):
608 (WebCore::LayerTiler::deleteTextures):
609 (WebCore::LayerTiler::pruneTextures):
610 (WebCore::LayerTiler::bindContentsTexture):
611 * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
612 (WebCore::TextureCacheCompositingThread::textureForTiledContents):
613 (WebCore::TextureCacheCompositingThread::textureForColor):
614 * platform/graphics/ca/GraphicsLayerCA.cpp:
615 (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
616 (WebCore::GraphicsLayerCA::pauseAnimation):
617 (WebCore::GraphicsLayerCA::layerDidDisplay):
618 (WebCore::GraphicsLayerCA::updateGeometry):
619 (WebCore::GraphicsLayerCA::updateTransform):
620 (WebCore::GraphicsLayerCA::updateChildrenTransform):
621 (WebCore::GraphicsLayerCA::updateMasksToBounds):
622 (WebCore::GraphicsLayerCA::updateContentsVisibility):
623 (WebCore::GraphicsLayerCA::updateContentsOpaque):
624 (WebCore::GraphicsLayerCA::updateBackfaceVisibility):
625 (WebCore::GraphicsLayerCA::updateFilters):
626 (WebCore::GraphicsLayerCA::ensureStructuralLayer):
627 (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
628 (WebCore::GraphicsLayerCA::updateContentsImage):
629 (WebCore::GraphicsLayerCA::updateContentsRect):
630 (WebCore::GraphicsLayerCA::updateMaskLayer):
631 (WebCore::GraphicsLayerCA::updateLayerAnimations):
632 (WebCore::GraphicsLayerCA::setAnimationOnLayer):
633 (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer):
634 (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer):
635 (WebCore::GraphicsLayerCA::suspendAnimations):
636 (WebCore::GraphicsLayerCA::resumeAnimations):
637 (WebCore::GraphicsLayerCA::findOrMakeClone):
638 (WebCore::GraphicsLayerCA::setOpacityInternal):
639 (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
640 * platform/graphics/ca/mac/TileCache.mm:
641 (WebCore::TileCache::~TileCache):
642 (WebCore::TileCache::setNeedsDisplay):
643 (WebCore::TileCache::setScale):
644 (WebCore::TileCache::setAcceleratesDrawing):
645 (WebCore::TileCache::setTileDebugBorderWidth):
646 (WebCore::TileCache::setTileDebugBorderColor):
647 (WebCore::TileCache::revalidateTiles):
648 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
649 (PlatformCALayer::animationStarted):
650 (resubmitAllAnimations):
651 (PlatformCALayer::animationForKey):
652 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
653 (WebCore::LookupAltName):
654 (WebCore::fontContainsCharacter):
655 * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
656 (WebCore::getDerivedFontData):
657 * platform/graphics/filters/CustomFilterGlobalContext.cpp:
658 (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
659 (WebCore::CustomFilterGlobalContext::getValidatedProgram):
660 (WebCore::CustomFilterGlobalContext::removeValidatedProgram):
661 * platform/graphics/filters/CustomFilterProgram.cpp:
662 (WebCore::CustomFilterProgram::notifyClients):
663 * platform/graphics/harfbuzz/HarfBuzzSkia.cpp:
664 (WebCore::getCachedHarfbuzzFace):
665 (WebCore::releaseCachedHarfbuzzFace):
666 * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp:
667 (WebCore::HarfBuzzNGFace::HarfBuzzNGFace):
668 (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace):
669 * platform/graphics/mac/SimpleFontDataCoreText.cpp:
670 (WebCore::SimpleFontData::getCFStringAttributes):
671 * platform/graphics/mac/SimpleFontDataMac.mm:
672 (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
673 * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
674 (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
675 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
676 (WebCore::GraphicsContext3D::compileShader):
677 (WebCore::GraphicsContext3D::mappedSymbolName):
678 (WebCore::GraphicsContext3D::getShaderiv):
679 (WebCore::GraphicsContext3D::getShaderInfoLog):
680 (WebCore::GraphicsContext3D::getShaderSource):
681 * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
682 (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG):
683 (WebCore::EGLDisplayOpenVG::destroySurface):
684 (WebCore::EGLDisplayOpenVG::contextForSurface):
685 * platform/graphics/texmap/TextureMapperGL.cpp:
686 (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
687 (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
688 * platform/graphics/texmap/TextureMapperShaderManager.cpp:
689 (WebCore::TextureMapperShaderManager::getShaderProgram):
690 (WebCore::TextureMapperShaderManager::getShaderForFilter):
691 * platform/graphics/wince/FontPlatformData.cpp:
692 (WebCore::FixedSizeFontData::create):
693 * platform/gtk/DataObjectGtk.cpp:
694 (WebCore::DataObjectGtk::forClipboard):
695 * platform/gtk/GtkDragAndDropHelper.cpp:
696 (WebCore::GtkDragAndDropHelper::handleGetDragData):
697 (WebCore::GtkDragAndDropHelper::handleDragLeave):
698 (WebCore::GtkDragAndDropHelper::handleDragMotion):
699 (WebCore::GtkDragAndDropHelper::handleDragDataReceived):
700 (WebCore::GtkDragAndDropHelper::handleDragDrop):
701 * platform/gtk/RedirectedXCompositeWindow.cpp:
702 (WebCore::filterXDamageEvent):
703 * platform/gtk/RenderThemeGtk3.cpp:
704 (WebCore::gtkStyleChangedCallback):
705 (WebCore::getStyleContext):
706 * platform/mac/ScrollbarThemeMac.mm:
707 (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
708 * platform/network/CredentialStorage.cpp:
709 (WebCore::CredentialStorage::set):
710 (WebCore::CredentialStorage::get):
711 * platform/network/HTTPHeaderMap.cpp:
712 (WebCore::HTTPHeaderMap::copyData):
713 (WebCore::HTTPHeaderMap::get):
714 * platform/network/MIMEHeader.cpp:
715 (WebCore::MIMEHeader::parseHeader):
716 * platform/network/ResourceHandle.cpp:
717 (WebCore::ResourceHandle::create):
718 * platform/network/ResourceRequestBase.cpp:
719 (WebCore::ResourceRequestBase::addHTTPHeaderField):
720 (WebCore::ResourceRequestBase::addHTTPHeaderFields):
721 * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
722 (WebCore::ResourceRequest::targetTypeFromMimeType):
723 (WebCore::ResourceRequest::initializePlatformRequest):
724 * platform/network/cf/ResourceHandleCFNet.cpp:
725 (WebCore::makeFinalRequest):
726 * platform/network/cf/ResourceRequestCFNet.cpp:
727 (WebCore::setHeaderFields):
728 * platform/network/curl/ResourceHandleManager.cpp:
729 (WebCore::ResourceHandleManager::initializeHandle):
730 * platform/network/mac/ResourceRequestMac.mm:
731 (WebCore::ResourceRequest::doUpdatePlatformRequest):
732 * platform/network/qt/ResourceRequestQt.cpp:
733 (WebCore::ResourceRequest::toNetworkRequest):
734 * platform/network/soup/ResourceHandleSoup.cpp:
735 (WebCore::sendRequestCallback):
736 (WebCore::ResourceHandle::setClientCertificate):
737 * platform/network/soup/ResourceRequestSoup.cpp:
738 (WebCore::ResourceRequest::updateSoupMessage):
739 (WebCore::ResourceRequest::toSoupMessage):
740 * platform/network/soup/ResourceResponseSoup.cpp:
741 (WebCore::ResourceResponse::toSoupMessage):
742 * platform/network/win/ResourceHandleWin.cpp:
743 (WebCore::ResourceHandle::start):
744 * platform/qt/RunLoopQt.cpp:
745 (WebCore::RunLoop::TimerBase::timerFired):
746 * platform/text/LocaleToScriptMappingDefault.cpp:
747 (WebCore::scriptNameToCode):
748 (WebCore::localeToScriptCodeForFontSelection):
749 * platform/text/TextEncodingRegistry.cpp:
750 (WebCore::pruneBlacklistedCodecs):
751 (WebCore::dumpTextEncodingNameMap):
752 * platform/text/transcoder/FontTranscoder.cpp:
753 (WebCore::FontTranscoder::converterType):
754 * platform/text/win/TextCodecWin.cpp:
755 (WebCore::LanguageManager::LanguageManager):
756 (WebCore::getCodePage):
757 (WebCore::TextCodecWin::registerExtendedEncodingNames):
758 (WebCore::TextCodecWin::registerExtendedCodecs):
759 (WebCore::TextCodecWin::enumerateSupportedEncodings):
760 * platform/win/ClipboardUtilitiesWin.cpp:
761 (WebCore::getDataMapItem):
762 (WebCore::getClipboardData):
763 (WebCore::setClipboardData):
764 * platform/win/ClipboardWin.cpp:
765 (WebCore::ClipboardWin::types):
766 * platform/win/FileSystemWin.cpp:
767 (WebCore::cachedStorageDirectory):
768 * platform/win/RunLoopWin.cpp:
769 (WebCore::RunLoop::TimerBase::timerFired):
770 * platform/win/WCDataObject.cpp:
771 (WebCore::WCDataObject::createInstance):
772 * platform/wince/MIMETypeRegistryWinCE.cpp:
773 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
774 * platform/wx/ContextMenuWx.cpp:
775 (WebCore::ContextMenu::appendItem):
776 * plugins/PluginDatabase.cpp:
777 (WebCore::PluginDatabase::refresh):
778 (WebCore::PluginDatabase::MIMETypeForExtension):
779 (WebCore::PluginDatabase::remove):
780 * plugins/PluginMainThreadScheduler.cpp:
781 (WebCore::PluginMainThreadScheduler::scheduleCall):
782 (WebCore::PluginMainThreadScheduler::dispatchCalls):
783 * plugins/PluginStream.cpp:
784 (WebCore::PluginStream::startStream):
785 * plugins/blackberry/PluginDataBlackBerry.cpp:
786 (WebCore::PluginData::initPlugins):
787 * plugins/wx/PluginDataWx.cpp:
788 (WebCore::PluginData::initPlugins):
789 * rendering/ExclusionShapeInsideInfo.cpp:
790 (WebCore::ExclusionShapeInsideInfo::ensureExclusionShapeInsideInfoForRenderBlock):
791 * rendering/FlowThreadController.cpp:
792 (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
793 * rendering/InlineFlowBox.cpp:
794 (WebCore::InlineFlowBox::requiresIdeographicBaseline):
795 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
796 * rendering/RenderBlock.cpp:
797 (WebCore::RenderBlock::clearFloats):
798 * rendering/RenderBlockLineLayout.cpp:
799 (WebCore::setLogicalWidthForTextRun):
800 * rendering/RenderBoxModelObject.cpp:
801 (WebCore::ImageQualityController::highQualityRepaintTimerFired):
802 (WebCore::ImageQualityController::shouldPaintAtLowQuality):
803 * rendering/RenderCounter.cpp:
804 (WebCore::RenderCounter::destroyCounterNodes):
805 (WebCore::RenderCounter::destroyCounterNode):
806 (WebCore::updateCounters):
807 (WebCore::RenderCounter::rendererStyleChanged):
808 * rendering/RenderFlowThread.cpp:
809 (WebCore::RenderFlowThread::setRegionRangeForBox):
810 (WebCore::RenderFlowThread::getRegionRangeForBox):
811 * rendering/RenderLayer.cpp:
812 (WebCore::RenderLayer::paint):
813 (WebCore::performOverlapTests):
814 * rendering/RenderLayerFilterInfo.cpp:
815 (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer):
816 (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded):
817 * rendering/RenderNamedFlowThread.cpp:
818 (WebCore::RenderNamedFlowThread::dependsOn):
819 (WebCore::RenderNamedFlowThread::pushDependencies):
820 * rendering/RenderRegion.cpp:
821 (WebCore::RenderRegion::setRenderBoxRegionInfo):
822 (WebCore::RenderRegion::setRegionObjectsRegionStyle):
823 (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
824 (WebCore::RenderRegion::computeChildrenStyleInRegion):
825 * rendering/RenderTableSection.cpp:
826 (WebCore::RenderTableSection::cachedCollapsedBorder):
827 * rendering/RenderThemeMac.mm:
828 (WebCore::RenderThemeMac::systemColor):
829 * rendering/RenderView.cpp:
830 (WebCore::RenderView::selectionBounds):
831 (WebCore::RenderView::setSelection):
832 * rendering/RenderWidget.cpp:
833 (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
834 * rendering/RootInlineBox.cpp:
835 (WebCore::RootInlineBox::ascentAndDescentForBox):
836 * rendering/VerticalPositionCache.h:
837 (WebCore::VerticalPositionCache::get):
838 * rendering/svg/RenderSVGInlineText.cpp:
839 (WebCore::RenderSVGInlineText::characterStartsNewTextChunk):
840 * rendering/svg/RenderSVGResourceFilter.cpp:
841 (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
842 * rendering/svg/RenderSVGResourceGradient.cpp:
843 (WebCore::RenderSVGResourceGradient::applyResource):
844 * rendering/svg/RenderSVGResourcePattern.cpp:
845 (WebCore::RenderSVGResourcePattern::applyResource):
846 * rendering/svg/SVGResourcesCache.cpp:
847 (WebCore::SVGResourcesCache::resourceDestroyed):
848 * rendering/svg/SVGRootInlineBox.cpp:
849 (WebCore::swapItemsInLayoutAttributes):
850 * rendering/svg/SVGTextLayoutAttributes.cpp:
851 (WebCore::SVGTextLayoutAttributes::dump):
852 * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
853 (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):
854 (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap):
855 * rendering/svg/SVGTextLayoutEngine.cpp:
856 (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
857 * rendering/svg/SVGTextMetricsBuilder.cpp:
858 (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
859 * storage/StorageAreaSync.cpp:
860 (WebCore::StorageAreaSync::syncTimerFired):
861 (WebCore::StorageAreaSync::performImport):
862 (WebCore::StorageAreaSync::sync):
863 * storage/StorageMap.cpp:
864 (WebCore::StorageMap::key):
865 (WebCore::StorageMap::setItem):
866 * storage/StorageNamespaceImpl.cpp:
867 (WebCore::StorageNamespaceImpl::localStorageNamespace):
868 (WebCore::StorageNamespaceImpl::copy):
869 (WebCore::StorageNamespaceImpl::close):
870 (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
871 (WebCore::StorageNamespaceImpl::sync):
872 * svg/SVGDocumentExtensions.cpp:
873 (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget):
874 (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget):
875 (WebCore::SVGDocumentExtensions::addPendingResource):
876 (WebCore::SVGDocumentExtensions::isElementPendingResources):
877 (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
878 (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget):
879 (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement):
880 (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget):
881 * svg/SVGElement.cpp:
882 (WebCore::SVGElement::~SVGElement):
883 * svg/animation/SMILTimeContainer.cpp:
884 (WebCore::SMILTimeContainer::setElapsed):
885 (WebCore::SMILTimeContainer::updateAnimations):
886 * svg/graphics/SVGImageCache.cpp:
887 (WebCore::SVGImageCache::~SVGImageCache):
888 (WebCore::SVGImageCache::removeClientFromCache):
889 (WebCore::SVGImageCache::requestedSizeAndScales):
890 (WebCore::SVGImageCache::imageContentChanged):
891 (WebCore::SVGImageCache::redraw):
892 (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
893 * svg/graphics/filters/SVGFilterBuilder.h:
894 (WebCore::SVGFilterBuilder::effectReferences):
895 (WebCore::SVGFilterBuilder::addBuiltinEffects):
896 * svg/properties/SVGAnimatedProperty.h:
897 (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
898 * svg/properties/SVGAttributeToPropertyMap.cpp:
899 (WebCore::SVGAttributeToPropertyMap::addProperties):
900 (WebCore::SVGAttributeToPropertyMap::synchronizeProperties):
901 * workers/WorkerContext.cpp:
902 (WebCore::WorkerContext::hasPendingActivity):
903 * workers/WorkerEventQueue.cpp:
904 (WebCore::WorkerEventQueue::close):
905 * xml/XMLHttpRequest.cpp:
906 (WebCore::XMLHttpRequest::setRequestHeaderInternal):
907 (WebCore::XMLHttpRequest::getAllResponseHeaders):
908 * xml/XPathFunctions.cpp:
909 (WebCore::XPath::createFunction):
910 * xml/XPathParser.cpp:
912 * xml/XSLTProcessorLibxslt.cpp:
913 (WebCore::xsltParamArrayFromParameterMap):
914 * xml/XSLTProcessorQt.cpp:
915 (WebCore::XSLTProcessor::transformToString):
917 2012-10-07 Geoffrey Garen <ggaren@apple.com>
919 REGRESSION (r130584): Crashes in JSC::MarkedAllocator::allocateSlowCase, failing fast/dom/gc-dom-tree-lifetime.html
920 https://bugs.webkit.org/show_bug.cgi?id=98612
922 Reviewed by Darin Adler.
924 Since DOM modification can happen outside of JS, calls into JS due to
925 DOM modification need to take the JS lock.
927 * bindings/js/JSNodeCustom.cpp:
928 (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): Take the JS
929 lock before doing a JS allocation, since this may be a JS entrypoint.
931 * bindings/js/JSNodeCustom.h:
932 (WebCore::willCreatePossiblyOrphanedTreeByRemoval): Split out a slow case
935 2012-10-07 Nick Carter <nick@chromium.org>
937 [chromium] Crash in WebCore::GraphicsLayerChromium::setContentsToImage
938 https://bugs.webkit.org/show_bug.cgi?id=98456
940 Reviewed by James Robinson.
942 Handle null return of nativeImageForCurrentFrame.
944 Test: compositing/images/truncated-direct-png-image.html
946 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
947 (WebCore::GraphicsLayerChromium::setContentsToImage):
949 2012-10-07 Benjamin Poulain <benjamin@webkit.org>
951 WTFURL: implement URL port removal for HTMLAnchorElement
952 https://bugs.webkit.org/show_bug.cgi?id=98604
954 Reviewed by Adam Barth.
956 * platform/KURLWTFURL.cpp:
957 (WebCore::KURL::hasPort):
958 (WebCore::KURL::removePort):
959 (WebCore::KURL::isHierarchical):
960 Implement those methods to pass the port removal test of HTMLAnchorElement.
962 2012-10-05 Dirk Schulze <krit@webkit.org>
964 SVG radialGradient should support 'fr' for focal radius (just like Canvas)
965 https://bugs.webkit.org/show_bug.cgi?id=97986
967 Reviewed by Daniel Bates.
969 Update SVGRadialGradient to the changed behavior in SVG2: http://www.w3.org/TR/SVG2/pservers.html#RadialGradients
970 SVG2 adds the focal radius for radial gradients. Color stops will start from the edge of
972 The new specification does not limit the focal point to be inside the radial gradients radius.
973 This makes SVGRadialGradient consistent with the radial gradient on Canvas.
975 Test: svg/custom/radialGradient-focal-radius.svg
977 * rendering/svg/RenderSVGResourceRadialGradient.cpp:
978 Remove checks for position of focal point. The focal point
979 can be placed every where outside the radius of the gradient now.
980 (WebCore::RenderSVGResourceRadialGradient::focalRadius):
981 Add new method to get the focal radius from SVGRadialGradientElement.
982 (WebCore::RenderSVGResourceRadialGradient::buildGradient):
983 * rendering/svg/RenderSVGResourceRadialGradient.h:
984 (RenderSVGResourceRadialGradient):
985 * rendering/svg/SVGRenderTreeAsText.cpp:
986 (WebCore::writeSVGResourceContainer):
987 Modify DRT output to include the focal radius.
988 * svg/RadialGradientAttributes.h:
989 (WebCore::RadialGradientAttributes::RadialGradientAttributes):
990 (WebCore::RadialGradientAttributes::fr):
991 (WebCore::RadialGradientAttributes::setFr):
992 (WebCore::RadialGradientAttributes::hasFr):
993 (RadialGradientAttributes):
994 New setters and getters for focal radius.
995 * svg/SVGRadialGradientElement.cpp:
997 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
998 (WebCore::SVGRadialGradientElement::isSupportedAttribute):
999 (WebCore::SVGRadialGradientElement::parseAttribute):
1000 (WebCore::SVGRadialGradientElement::collectGradientAttributes):
1001 (WebCore::SVGRadialGradientElement::selfHasRelativeLengths):
1003 * svg/SVGRadialGradientElement.h:
1004 (SVGRadialGradientElement):
1005 * svg/SVGRadialGradientElement.idl:
1007 Add 'fr' as new attribute to the SVG attribute list.
1009 2012-10-07 Glenn Adams <glenn@skynav.com>
1011 Use start instead of -webkit-auto in default and quirks mode stylesheets.
1012 https://bugs.webkit.org/show_bug.cgi?id=98609
1014 Reviewed by Antti Koivisto.
1016 Change text-align use of legacy '-webkit-auto' to 'start' in the few places where it is used
1017 in default/quirks stylesheets.
1019 No new tests. No change of rendering/styling behavior. No performance impact.
1022 (input, textarea, keygen, select, button, isindex):
1027 2012-10-06 Raul Hudea <rhudea@adobe.com>
1029 -webkit-clip-path should parse IRIs
1030 https://bugs.webkit.org/show_bug.cgi?id=96381
1032 Reviewed by Andreas Kling.
1034 Implemented the clipping via referencing a SVG clipPath. Currently it works only if the clipPath is defined
1035 before using it on an HTML element. The forward reference issue is tracked via https://bugs.webkit.org/show_bug.cgi?id=90405.
1037 Tests: css3/masking/clip-path-reference-userSpaceOnUse.html
1038 css3/masking/clip-path-reference.html
1039 fast/masking/parsing-clip-path-iri.html
1041 * css/CSSComputedStyleDeclaration.cpp:
1042 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add handling for SVG clipPath references.
1043 * css/CSSParser.cpp:
1044 (WebCore::CSSParser::parseValue): Add handling for SVG clipPath references.
1045 * css/StyleBuilder.cpp:
1046 (WebCore::ApplyPropertyClipPath::applyValue): Add handling for SVG references.
1047 * rendering/ClipPathOperation.h:
1048 (ReferenceClipPathOperation): Added a new class corresponding to SVG referenced clipPath.
1049 (WebCore::ReferenceClipPathOperation::create):
1050 (WebCore::ReferenceClipPathOperation::url):
1051 (WebCore::ReferenceClipPathOperation::fragment):
1052 (WebCore::ReferenceClipPathOperation::operator==):
1053 (WebCore::ReferenceClipPathOperation::ReferenceClipPathOperation):
1055 * rendering/RenderLayer.cpp:
1056 (WebCore::RenderLayer::paintLayerContents): Add handling for ReferenceClipPathOperation.
1057 * rendering/svg/RenderSVGResourceClipper.h:
1058 (RenderSVGResourceClipper): Made applyClippingToContext public as it needs to be called directly for HTML elements.
1060 2012-10-06 Pratik Solanki <psolanki@apple.com>
1062 Reduce calls to CGImageSourceCopyPropertiesAtIndex from frameSizeAtIndex
1063 https://bugs.webkit.org/show_bug.cgi?id=98607
1065 Reviewed by Dan Bernstein.
1067 Refactor code so that we avoid a second call to CGImageSourceCopyPropertiesAtIndex under
1068 ImageSource::frameSizeAtIndex().
1070 No new tests because no functional change.
1072 * platform/graphics/cg/ImageSourceCG.cpp:
1073 (WebCore::orientationFromProperties):
1075 (WebCore::ImageSource::frameSizeAtIndex):
1076 (WebCore::ImageSource::orientationAtIndex):
1078 2012-10-06 Mark Rowe <mrowe@apple.com>
1082 Stop calling -[NSSliderCell setTitle:]. It's never done anything on OS X.
1084 * rendering/RenderThemeMac.mm:
1085 (WebCore::RenderThemeMac::sliderThumbHorizontal):
1086 (WebCore::RenderThemeMac::sliderThumbVertical):
1088 2012-10-06 Andreas Kling <kling@webkit.org>
1090 Clipboard::types() should return an ordered collection.
1091 <http://webkit.org/b/98547>
1093 Reviewed by Darin Adler.
1095 Let Clipboard::types() return a ListHashSet<String> instead of a HashSet<String> to make sure
1096 it retains the order in which type strings are added.
1098 No test, this fixes an issue that was uncovered when lowering the default table size of WTF
1099 hash tables, causing the HashSet<String> to rehash and reorder itself.
1101 * bindings/js/JSClipboardCustom.cpp:
1102 (WebCore::JSClipboard::types):
1103 * bindings/v8/custom/V8ClipboardCustom.cpp:
1104 (WebCore::V8Clipboard::typesAccessorGetter):
1107 * platform/blackberry/ClipboardBlackBerry.cpp:
1108 (WebCore::ClipboardBlackBerry::types):
1109 * platform/blackberry/ClipboardBlackBerry.h:
1110 (ClipboardBlackBerry):
1111 * platform/chromium/ChromiumDataObject.cpp:
1112 (WebCore::ChromiumDataObject::types):
1113 * platform/chromium/ChromiumDataObject.h:
1114 (ChromiumDataObject):
1115 * platform/chromium/ClipboardChromium.cpp:
1116 (WebCore::ClipboardChromium::types):
1117 * platform/chromium/ClipboardChromium.h:
1118 (ClipboardChromium):
1119 * platform/efl/ClipboardEfl.cpp:
1120 (WebCore::ClipboardEfl::types):
1121 * platform/efl/ClipboardEfl.h:
1123 * platform/gtk/ClipboardGtk.cpp:
1124 (WebCore::ClipboardGtk::types):
1125 * platform/gtk/ClipboardGtk.h:
1127 * platform/mac/ClipboardMac.h:
1129 * platform/mac/ClipboardMac.mm:
1130 (WebCore::addHTMLClipboardTypesForCocoaType):
1131 (WebCore::ClipboardMac::types):
1132 * platform/qt/ClipboardQt.cpp:
1133 (WebCore::ClipboardQt::types):
1134 * platform/qt/ClipboardQt.h:
1136 * platform/win/ClipboardWin.cpp:
1137 (WebCore::addMimeTypesForFormat):
1138 (WebCore::ClipboardWin::types):
1139 * platform/win/ClipboardWin.h:
1141 * platform/wx/ClipboardWx.cpp:
1142 (WebCore::ClipboardWx::types):
1143 * platform/wx/ClipboardWx.h:
1146 2012-10-06 Geoffrey Garen <ggaren@apple.com>
1148 If Node X is reachable from JavaScript, all Nodes in the same tree should be kept alive
1149 https://bugs.webkit.org/show_bug.cgi?id=88834
1151 Reviewed by Gavin Barraclough.
1153 Follow-up patch to address some comments by Darin Adler.
1155 * bindings/js/JSNodeCustom.h:
1156 (WebCore::willCreatePossiblyOrphanedTreeByRemoval): Save some space by
1157 collapsing comment lines. Use Node::hasChildNodes() for brevity.
1159 2012-10-06 Benjamin Poulain <benjamin@webkit.org>
1161 Fix weird use of KURL's protocolIs
1162 https://bugs.webkit.org/show_bug.cgi?id=98584
1164 Reviewed by Adam Barth.
1166 Converting a KURL to string is a bad idea.
1168 Invalid URLs can return a string that pass the tests, while an
1169 invalid URL will fail protocolIs().
1171 * loader/cache/CachedResource.cpp:
1172 (WebCore::CachedResource::removeClient):
1173 * platform/graphics/MediaPlayer.cpp:
1174 (WebCore::MediaPlayer::load):
1175 * platform/network/DataURL.cpp:
1176 (WebCore::handleDataURL):
1178 2012-10-06 Dan Bernstein <mitz@apple.com>
1180 WebCore part of <rdar://problem/12446507> [mac] WebKit clients cannot change the behavior of text-rendering: auto
1181 https://bugs.webkit.org/show_bug.cgi?id=98601
1183 Reviewed by Darin Adler.
1185 * WebCore.exp.in: Exported Font::setDefaultTypesettingFeatures().
1186 * platform/graphics/Font.cpp:
1187 (WebCore::Font::s_defaultTypesettingFeatures): Defined this static.
1188 (WebCore::Font::setDefaultTypesettingFeatures): Added this setter.
1189 (WebCore::Font::defaultTypesettingFeatures): Added this getter.
1190 * platform/graphics/Font.h:
1191 (WebCore::Font::typesettingFeatures): Changed to use the value of the new static member
1192 s_defaultTypesettingFeatures, rather than 0, if text-redering is set to auto.
1194 2012-10-04 Geoffrey Garen <ggaren@apple.com>
1196 If Node X is reachable from JavaScript, all Nodes in the same tree should be kept alive
1197 https://bugs.webkit.org/show_bug.cgi?id=88834
1199 Reviewed by Gavin Barraclough.
1201 * bindings/js/JSNodeCustom.cpp:
1202 (WebCore::isObservable): Clarified this comment, since it seems to have
1205 * bindings/js/JSNodeCustom.h:
1206 (WebCore::willCreatePossiblyOrphanedTreeByRemoval): New helper function
1207 to ensure that a disconnected tree is visible to JavaScript.
1209 * bindings/js/ScriptState.cpp:
1210 (WebCore::mainWorldScriptState): Need to check for null because a document's
1213 * dom/ContainerNode.cpp:
1214 (WebCore::dispatchChildRemovalEvents): When we remove a subtree from the
1215 document, we sever the reference that JavaScript previously held by
1216 referencing its root. So, we give JavaScript an opportunity to establish
1217 a reference to the new root.
1219 2012-10-06 Byungwoo Lee <bw80.lee@samsung.com>
1221 Fix build warning : -Wunused-parameter.
1222 https://bugs.webkit.org/show_bug.cgi?id=98583
1224 Reviewed by Kentaro Hara.
1226 Use ASSERT_UNUSED() macro to remove build warning.
1228 * plugins/PluginStream.cpp:
1229 (WebCore::PluginStream::delayDeliveryTimerFired):
1230 (WebCore::PluginStream::didReceiveResponse):
1231 (WebCore::PluginStream::didReceiveData):
1232 (WebCore::PluginStream::didFail):
1233 (WebCore::PluginStream::didFinishLoading):
1234 * plugins/PluginView.cpp:
1235 (WebCore::PluginView::requestTimerFired):
1236 (WebCore::PluginView::invalidateTimerFired):
1238 2012-10-05 Adam Barth <abarth@webkit.org>
1240 [V8] toV8(Node*, ...) does more work than needed (6% faster on dom-traverse)
1241 https://bugs.webkit.org/show_bug.cgi?id=98567
1243 Reviewed by Kentaro Hara.
1245 This patch introduces toV8Fast for Node*. This function works a
1246 differently from the existing toV8 function in two ways:
1248 1) It uses the inline wrapper cache in Node to determine if we're
1249 executing in the main world. This is faster both in the case when
1250 isolated worlds exist because we don't need to retrieve any state
1251 for the current context.
1253 2) It doesn't attempt to inline the hash table lookup used to find the
1254 wrapper in the isolated world. There isn't a big need to inline this
1255 code since performance in the isolated world case is dominated by
1256 the hash table lookup.
1258 Because of these two changes, toV8Fast is small enough to inline into
1259 each attribute getter profitably. Over time, I would like to convert
1260 all the performance critical uses of toV8(Node*) to toV8Fast. At that
1261 point, we can delete toV8 and rename toV8Slow to toV8.
1263 * bindings/scripts/CodeGeneratorV8.pm:
1265 (GenerateNormalAttrGetter):
1267 2012-10-05 Huang Dongsung <luxtella@company100.net>
1269 [mac] REGRESSION (r122215): Animated GIF outside the viewport doesn't play when scrolled into view.
1270 https://bugs.webkit.org/show_bug.cgi?id=94874
1272 Reviewed by Simon Fraser.
1274 Rollback previous patch because this patch caused two problems.
1275 1. GIF animation is occasionally paused when tiled scrolling is enabled.
1276 2. This change regressed Apple's Membuster benchmark by ~20% (80MB.)
1278 * loader/cache/CachedImage.cpp:
1279 (WebCore::CachedImage::shouldPauseAnimation):
1280 * loader/cache/CachedImage.h:
1282 * loader/cache/CachedResource.h:
1283 * loader/cache/MemoryCache.cpp:
1284 (WebCore::MemoryCache::pruneLiveResourcesToSize):
1285 * rendering/RenderObject.cpp:
1286 (WebCore::RenderObject::willRenderImage):
1288 2012-10-05 Xianzhu Wang <wangxianzhu@chromium.org>
1290 OpenTypeVerticalData issue with DroidSansFallback.ttf on chromium-android and chromium-linux
1291 https://bugs.webkit.org/show_bug.cgi?id=97824
1293 Reviewed by Tony Chang.
1295 The issue occurred when a font that contains vert GSUB table but doesn't have
1296 a DFLT script and the first script doesn't have vert feature. Added logic to
1299 Test: fast/writing-mode/vertical-subst-font-vert-no-dflt.html
1301 * platform/graphics/opentype/OpenTypeVerticalData.cpp:
1303 (WebCore::OpenType::FeatureList::findFeature): Added to find the matching feature in FeatureList.
1304 (WebCore::OpenType::GSUBTable::feature): Added logic to handle the case of no DFLT script and no vert feature under the first script.
1306 2012-10-05 Tony Chang <tony@chromium.org>
1308 Form controls should always be horizontal
1309 https://bugs.webkit.org/show_bug.cgi?id=98563
1311 Reviewed by Ojan Vafai.
1313 Fix a regression where we didn't force form controls to be horizontal.
1315 Tests: fast/dom/HTMLMeterElement/meter-writing-mode.html
1316 fast/dom/HTMLProgressElement/progress-writing-mode.html
1317 fast/table/colspanMinWidth-vertical.html
1320 (input, textarea, keygen, select, button, isindex, meter, progress):
1322 2012-10-05 Sheriff Bot <webkit.review.bot@gmail.com>
1324 Unreviewed, rolling out r130556 and r130564.
1325 http://trac.webkit.org/changeset/130556
1326 http://trac.webkit.org/changeset/130564
1327 https://bugs.webkit.org/show_bug.cgi?id=98572
1329 The patch wasn't reviewed by a reviewer and it is breaking
1330 Chromium Windows (Requested by jchaffraix on #webkit).
1333 * WebCore.xcodeproj/project.pbxproj:
1334 * css/mediaControls.css:
1335 (video::-webkit-media-text-track-container):
1336 (video::-webkit-media-text-track-past-nodes):
1337 (video::-webkit-media-text-track-future-nodes):
1338 (video::-webkit-media-text-track-display):
1339 * html/HTMLMediaElement.cpp:
1340 (WebCore::HTMLMediaElement::HTMLMediaElement):
1341 (WebCore::HTMLMediaElement::attach):
1342 (WebCore::HTMLMediaElement::userIsInterestedInThisLanguage):
1343 (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind):
1344 (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
1345 (WebCore::HTMLMediaElement::updateClosedCaptionsControls):
1346 * html/HTMLMediaElement.h:
1348 * html/shadow/MediaControlElements.cpp:
1350 (WebCore::MediaControlTextTrackContainerElement::updateSizes):
1351 * html/shadow/MediaControlElements.h:
1352 (MediaControlTextTrackContainerElement):
1353 * html/shadow/MediaControlRootElement.cpp:
1354 (WebCore::MediaControlRootElement::updateTextTrackDisplay):
1355 * html/shadow/MediaControlRootElement.h:
1356 (MediaControlRootElement):
1357 * html/shadow/MediaControls.h:
1359 * html/track/TextTrack.cpp:
1360 (WebCore::TextTrack::TextTrack):
1361 (WebCore::TextTrack::isValidKindKeyword):
1362 (WebCore::TextTrack::setKind):
1363 (WebCore::TextTrack::setMode):
1364 (WebCore::TextTrack::mode):
1365 * html/track/TextTrack.h:
1366 (WebCore::TextTrack::create):
1367 (WebCore::TextTrack::kind):
1369 (WebCore::TextTrack::label):
1370 (WebCore::TextTrack::setLabel):
1371 (WebCore::TextTrack::language):
1372 (WebCore::TextTrack::setLanguage):
1373 * html/track/TextTrackCue.cpp:
1374 (WebCore::TextTrackCueBox::TextTrackCueBox):
1375 (WebCore::TextTrackCueBox::shadowPseudoId):
1377 (WebCore::TextTrackCue::updateDisplayTree):
1378 * html/track/TextTrackCue.h:
1381 * platform/mac/WebCoreSystemInterface.h:
1382 * platform/mac/WebCoreSystemInterface.mm:
1383 * rendering/CaptionPreferencesChangedListener.h: Removed.
1384 * rendering/RenderTheme.h:
1387 * rendering/RenderThemeMac.h:
1389 * rendering/RenderThemeMac.mm:
1391 (WebCore::RenderThemeMac::RenderThemeMac):
1392 (WebCore::RenderThemeMac::~RenderThemeMac):
1394 2012-10-05 Tim Horton <timothy_horton@apple.com>
1396 [cg] GraphicsContextCG should ask CG whether the shadow offset workaround is required
1397 https://bugs.webkit.org/show_bug.cgi?id=98565
1398 <rdar://problem/12436468>
1400 Reviewed by Simon Fraser.
1402 On Mountain Lion and above, CG can tell us whether we need to work around incorrect
1403 shadow offsets. Prior to Mountain Lion, we should assume we need to apply the workaround.
1405 No new tests, as this requires an obscure configuration to test.
1408 * platform/graphics/cg/GraphicsContextCG.cpp:
1409 (WebCore::applyShadowOffsetWorkaroundIfNeeded):
1410 (WebCore::GraphicsContext::setPlatformShadow):
1411 * platform/mac/WebCoreSystemInterface.h: Add wkCGContextDrawsWithCorrectShadowOffsets.
1412 * platform/mac/WebCoreSystemInterface.mm: Add wkCGContextDrawsWithCorrectShadowOffsets.
1414 2012-10-05 Anders Carlsson <andersca@apple.com>
1416 Try to fix the build.
1418 * rendering/RenderThemeMac.mm:
1419 (WebCore::RenderThemeMac::captionsWindowColor):
1421 2012-10-05 Eric Seidel <eric@webkit.org>
1423 Remove needless virtual calls and inline RenderStyle::logical* to make table layout faster
1424 https://bugs.webkit.org/show_bug.cgi?id=98550
1426 Reviewed by Andreas Kling.
1428 This shaved another 5% (100ms) off of the runtime of resizecol.html microbenchmark:
1429 http://www.robohornet.org/tests/resizecol.html
1431 * rendering/AutoTableLayout.cpp:
1432 (WebCore::AutoTableLayout::recalcColumn):
1433 * rendering/style/RenderStyle.cpp:
1434 * rendering/style/RenderStyle.h:
1436 2012-10-04 Eric Carlson <eric.carlson@apple.com>
1438 Allow ports to override text track rendering style
1439 https://bugs.webkit.org/show_bug.cgi?id=97800
1440 <rdar://problem/12044964>
1442 Reviewed by Silvia Pfeiffer.
1444 * WebCore.exp.in: Export new WebkitSystemInterface functions.
1445 * WebCore.xcodeproj/project.pbxproj: Add CaptionPreferencesChangedListener.h.
1447 * css/mediaControls.css: Rearrange the caption CSS so it is possible to style the cue window,
1448 background, and text independently.
1450 * html/HTMLMediaElement.cpp:
1451 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_disableCaptions with theme->userPrefersCaptions().
1452 (WebCore::HTMLMediaElement::attach): Register for caption preferences change callbacks.
1453 (WebCore::HTMLMediaElement::detach): Unregister for caption preferences change callbacks.
1454 (WebCore::HTMLMediaElement::userPrefersCaptions): Return theme->userPrefersCaptions().
1455 (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Consider userPrefersCaptions().
1456 (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Move the code that marks all tracks as
1457 un-configured to markCaptionAndSubtitleTracksAsUnconfigured so it can be reused.
1458 (WebCore::HTMLMediaElement::captionPreferencesChanged): New, force a reevaluation of all text tracks.
1459 (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): New, code moved from
1460 setClosedCaptionsVisible
1461 * html/HTMLMediaElement.h: Inherit from CaptionPreferencesChangedListener.
1463 * html/shadow/MediaControlElements.cpp:
1464 (WebCore::MediaControlTextTrackContainerElement::userCaptionPreferencesChanged): New, if theme
1465 has a captions style sheet override, inject it into the current page group, otherwise
1466 remove injected sheet.
1467 (WebCore::MediaControlTextTrackContainerElement::updateSizes): Get rid of unnecessary member
1468 variable. Get caption font scale from theme instead of hard coding.
1469 * html/shadow/MediaControlElements.h:
1471 * html/shadow/MediaControlRootElement.cpp:
1472 (WebCore::MediaControlRootElement::userCaptionPreferencesChanged): New.
1473 (WebCore::MediaControlRootElement::updateTextTrackDisplay):
1474 * html/shadow/MediaControlRootElement.h: Add userCaptionPreferencesChanged, minor cleanup.
1476 * html/shadow/MediaControls.h:
1477 (WebCore::MediaControls::userCaptionPreferencesChanged): New.
1479 * html/track/TextTrackCue.cpp:
1480 (WebCore::TextTrackCueBox::TextTrackCueBox): Set the shadow pseudo id.
1481 (WebCore::TextTrackCueBox::textTrackCueBoxShadowPseudoId): New, class method to return the
1482 shadow pseudo id so it can be used elsewhere.
1483 (WebCore::TextTrackCueBox::shadowPseudoId): Call textTrackCueBoxShadowPseudoId.
1484 (WebCore::TextTrackCue::pastNodesShadowPseudoId): New, class method to return the
1485 shadow pseudo id so it can be used elsewhere.
1486 (WebCore::TextTrackCue::futureNodesShadowPseudoId): Ditto.
1487 (WebCore::TextTrackCue::updateDisplayTree):
1488 * html/track/TextTrackCue.h:
1490 * platform/mac/WebCoreSystemInterface.h: Updated.
1491 * platform/mac/WebCoreSystemInterface.mm: Ditto.
1493 * rendering/CaptionPreferencesChangedListener.h: Added.
1495 * rendering/RenderTheme.h:
1496 (WebCore::RenderTheme::userPrefersCaptions): New, default do-nothing implementation.
1497 (WebCore::RenderTheme::userHasCaptionPreferences): Ditto.
1498 (WebCore::RenderTheme::captionFontSizeScale): Ditto.
1499 (WebCore::RenderTheme::captionsStyleSheetOverride): Ditto.
1500 (WebCore::RenderTheme::registerForCaptionPreferencesChangedCallbacks): Ditto.
1501 (WebCore::RenderTheme::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
1503 * rendering/RenderThemeMac.h:
1504 * rendering/RenderThemeMac.mm:
1505 (WebCore::userCaptionPreferencesChangedNotificationCallback): New, receives preference changed notifications.
1506 (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_listeningForCaptionPreferenceNotifications.
1507 (WebCore::RenderThemeMac::~RenderThemeMac): Unregister for notifications if necessary.
1508 (WebCore::RenderThemeMac::userHasCaptionPreferences): New, passthrough to WKSI function.
1509 (WebCore::RenderThemeMac::userPrefersCaptions): Ditto.
1510 (WebCore::RenderThemeMac::captionsWindowColor): Return Color with user's caption window color preference.
1511 (WebCore::RenderThemeMac::captionsBackgroundColor): Return Color with user's caption
1512 background color preference.
1513 (WebCore::RenderThemeMac::captionsTextColor): Return Color with user's caption text color preference.
1514 (WebCore::RenderThemeMac::captionsEdgeColorForTextColor): Return Color for text edge effect.
1515 (WebCore::RenderThemeMac::cssPropertyWithTextEdgeColor): Return String with CSS to set a text-shadow
1516 or webkit-text-stroke property.
1517 (WebCore::RenderThemeMac::cssColorProperty): Return a String with css to set a property
1519 (WebCore::RenderThemeMac::captionsTextEdgeStyle): Return a String with css to style caption
1520 text with the user's preferred text edge stye.
1521 (WebCore::RenderThemeMac::captionsDefaultFont): Return a String with css to style caption
1522 text with the user's preferred font.
1523 (WebCore::RenderThemeMac::captionsStyleSheetOverride): Return a String with css to style captions
1524 with the user's preferred style.
1525 (WebCore::RenderThemeMac::captionFontSizeScale): Return the user's preferred caption font scale.
1526 (WebCore::RenderThemeMac::captionPreferencesChanged): Notify listeners of caption preference change.
1527 (WebCore::RenderThemeMac::registerForCaptionPreferencesChangedCallbacks): Add a caption preferences
1529 (WebCore::RenderThemeMac::unregisterForCaptionPreferencesChangedCallbacks): Remove a caption preferences
1532 2012-10-05 Takashi Sakamoto <tasak@google.com>
1534 Inline continuations create :after generated content on style recalcs
1535 https://bugs.webkit.org/show_bug.cgi?id=93170
1537 Reviewed by Abhishek Arya.
1539 The bug is caused by RenderInline::styleDidChange's setContinuation(0).
1540 RenderObjectChildList uses continuation to know whether the given
1541 renderer should have AFTER render object or not.
1542 However, setContinuation(0) makes RenderObjectChildList to
1543 misunderstand that all continuations are last continuation.
1544 To avoid the misunderstanding, added a new flag to class
1545 RenderObejctChildList to enable/disable updating :after content (and
1546 also :before content).
1548 Tests: fast/css-generated-content/after-with-inline-continuation.html
1549 fast/css-generated-content/dynamic-apply-after-for-inline.html
1551 * rendering/RenderInline.cpp:
1552 (WebCore::RenderInline::styleDidChange):
1553 Disable upating :after content for continuations which are not
1554 the last one during setStyle just after setContinuation(0).
1555 The setStyle invokes RenderInline::styleDidChange and also invokes
1556 updateBeforeAfterContent via the styleDidChange. This means,
1557 the last continuation's updateBeforeAfterContent is also invoked
1558 after setContinuation(0). We have to update :after for the last
1560 * rendering/RenderObjectChildList.cpp:
1562 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1563 If s_updateBeforeAfterContent is false, quickly exit
1564 updateBeforeAfterContent.
1565 * rendering/RenderObjectChildList.h:
1566 (RenderObjectChildList):
1567 Added a new flag s_enableUpdateBeforeAfterContent to enable/disable
1568 updating :before or :after content.
1570 2012-10-05 Simon Fraser <simon.fraser@apple.com>
1572 Don't assume that TileCache layers are opaque
1573 https://bugs.webkit.org/show_bug.cgi?id=98555
1575 Reviewed by Dean Jackson.
1577 TileCache previously set all its tile CALayers as opaque.
1578 However, we will need non-opaque tile caches when we use this
1579 tile cache for tiled layers, so add a member function to
1580 control tile opacity.
1582 RenderLayerBacking already calls m_graphicsLayer->setContentsOpaque()
1583 using the FrameView's notion of opaqueness, so this change will
1584 cause the main tile cache to be non-opaque if external forces have
1585 set the FrameView to be non-opaque.
1587 Also tweak the layer border widths on tiled layers.
1589 * platform/graphics/ca/mac/TileCache.h:
1591 (WebCore::TileCache::tilesAreOpaque):
1592 * platform/graphics/ca/mac/TileCache.mm:
1593 (WebCore::TileCache::TileCache):
1594 (WebCore::TileCache::setTilesOpaque):
1595 (WebCore::TileCache::createTileLayer):
1596 * platform/graphics/ca/mac/WebTileCacheLayer.mm:
1597 (-[WebTileCacheLayer setOpaque:]):
1598 (-[WebTileCacheLayer isOpaque]):
1599 (-[WebTileCacheLayer setBorderWidth:]):
1601 2012-10-05 Tony Chang <tony@chromium.org>
1603 Fix margin box ascent computation in flexbox
1604 https://bugs.webkit.org/show_bug.cgi?id=98540
1606 Reviewed by Ojan Vafai.
1608 The margin box ascent doesn't depend on the margin below the box.
1610 Tests: css3/flexbox/flex-align.html: Fixed a test case and removed a FIXME.
1611 css3/flexbox/flex-align-vertical-writing-mode.html: Similar test case.
1613 * rendering/RenderFlexibleBox.cpp:
1614 (WebCore::RenderFlexibleBox::marginBoxAscentForChild):
1616 2012-10-05 Ojan Vafai <ojan@chromium.org>
1618 Deprecated flexboxes subtract scrollbar width/height twice
1619 https://bugs.webkit.org/show_bug.cgi?id=98552
1621 Reviewed by Tony Chang.
1623 This is a regression from http://trac.webkit.org/changeset/119507.
1624 The problem is that contentHeight subtracts the scrollbar and
1625 RenderDeprecatedFlexbox subtracts the scrollbar.
1627 -Make it so that we only access override sizes if one has been set.
1628 I think this makes the calling code more clear.
1629 -If we don't have one set, grab the height/width - borderAndPadding.
1630 -Add a FIXME to change this all back to being borderbox sizes.
1631 There's something trick with making table padding/border work right for that
1632 though (noted in the original patch).
1634 Test: fast/flexbox/flexing-overflow-scroll-item.html
1636 * rendering/RenderBox.cpp:
1637 (WebCore::RenderBox::overrideLogicalContentWidth):
1638 (WebCore::RenderBox::overrideLogicalContentHeight):
1639 (WebCore::RenderBox::availableLogicalHeightUsing):
1640 * rendering/RenderBox.h:
1642 * rendering/RenderDeprecatedFlexibleBox.cpp:
1643 (WebCore::contentWidthForChild):
1645 (WebCore::contentHeightForChild):
1646 (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
1647 (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
1648 (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
1650 2012-10-05 Eric Seidel <eric@webkit.org>
1652 Make tables which don't use col/row span much faster to layout
1653 https://bugs.webkit.org/show_bug.cgi?id=98221
1655 Reviewed by Julien Chaffraix.
1657 My sense is that most tables on webpages do not use colspan/rowspan
1658 so I stole another bit from RenderTableCell::m_column to avoid
1659 having to re-parse the colSpan/rowSpan attributes for every cell
1660 when doing table layout.
1661 This made these symbols disappear from biggrid.html/redraw.html (dglazkov's spreadsheets benchmarks)
1662 as well as moved our robohornet/resizecol.html number from an average of 3221ms to 2608ms (~20%!).
1664 I removed m_hasHTMLTableCellElement (from http://trac.webkit.org/changeset/97691)
1665 since it was attempting to do the same sort of optimization.
1667 * rendering/RenderTableCell.cpp:
1668 (WebCore::RenderTableCell::RenderTableCell):
1669 (WebCore::RenderTableCell::parseColSpanFromDOM):
1670 (WebCore::RenderTableCell::parseRowSpanFromDOM):
1671 (WebCore::RenderTableCell::layout):
1672 * rendering/RenderTableCell.h:
1673 (WebCore::RenderTableCell::colSpan):
1674 (WebCore::RenderTableCell::rowSpan):
1677 2012-10-05 Oli Lan <olilan@chromium.org>
1679 Allow EventHandler to handle longpress gestures, including longpress selection on Android.
1680 https://bugs.webkit.org/show_bug.cgi?id=98173
1682 Reviewed by Ryosuke Niwa.
1684 Adds handling for GestureLongPress to EventHandler::handleGestureEvent, with a new
1685 handleGestureLongPress method. On Android, this method selects the closest word
1686 if the gesture event was over non-link text.
1688 This is tested via a new chromium test WebViewTest.LongPressSelection.
1690 * page/EventHandler.cpp:
1691 (WebCore::EventHandler::selectClosestWordFromHitTestResult):
1692 (WebCore::EventHandler::selectClosestWordFromMouseEvent):
1694 (WebCore::EventHandler::handleGestureEvent):
1695 (WebCore::EventHandler::handleGestureLongPress):
1696 * page/EventHandler.h:
1699 2012-10-05 Tab Atkins <jackalmage@gmail.com>
1701 <marquee> element forces itself to be at least 1em high, regardless of 'height' declaration
1702 https://bugs.webkit.org/show_bug.cgi?id=18098
1704 Reviewed by Eric Seidel.
1706 This restriction originally existed to match IE, but IE changed some time ago to be normal instead.
1707 We're the last browser, afaict, to still enforce this de-facto restriction.
1708 This patch makes <marquee> instead act like a normal element.
1710 Tests: fast/css/MarqueeLayoutTest.html (rewritten from the older, bad version)
1712 * rendering/RenderMarquee.cpp:
1713 (WebCore::RenderMarquee::updateMarqueeStyle):
1715 2012-10-05 Joe Mason <jmason@rim.com>
1717 [BlackBerry] Fix regression in proxy auth
1718 https://bugs.webkit.org/show_bug.cgi?id=98533
1720 Reviewed by Yong Li.
1722 The proxy auth dialog gets the proxy address from
1723 BlackBerry::Platform::Settings::proxyAddress, which returns
1724 "host:port", but we try to parse it with a KURL, which expects
1725 "scheme://host:port". Since this is an http proxy, add http:// to the
1726 url to get it to parse.
1730 * platform/network/blackberry/NetworkJob.cpp:
1731 (WebCore::NetworkJob::sendRequestWithCredentials):
1733 2012-10-05 Jer Noble <jer.noble@apple.com>
1735 No autorelease pool in place, causing buildup of autoreleased objects.
1736 https://bugs.webkit.org/show_bug.cgi?id=98522
1737 <rdar://problem/11647950>
1739 Reviewed by Alexey Proskuryakov.
1741 Wrap each timer callback in an AutodrainPool, ensuring an autorelease
1742 pool is present during calls from C/C++ into ObjC.
1744 * platform/cf/RunLoopTimerCF.cpp:
1745 (WebCore::timerFired):
1747 2012-10-05 Ryosuke Niwa <rniwa@webkit.org>
1749 Deleting across multiple paragraphs can change the style of surrounding text
1750 https://bugs.webkit.org/show_bug.cgi?id=97266
1752 Reviewed by Levi Weintraub.
1754 Preserve editing styles from CSS rules in wrappingStyleForSerialization as well as inline styles
1755 even when we're not annotating. We don't want to preserve all styles because it's against
1756 the user expectation to keep borders, etc... when merging paragraphs. We also don't want to copy
1757 styles from a mail blockquote because that's not a style the user has applied. See the comment
1758 in EditingStyle::wrappingStyleForSerialization.
1760 Test: editing/deleting/merge-paragraph-with-style-from-rule.html
1762 * editing/EditingStyle.cpp:
1763 (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
1764 (WebCore::EditingStyle::wrappingStyleForSerialization):
1766 2012-10-05 Dan Bernstein <mitz@apple.com>
1768 Reversing a GlyphBuffer needlessly queries its size multiple times
1769 https://bugs.webkit.org/show_bug.cgi?id=98530
1771 Reviewed by Simon Fraser.
1773 No new tests because there is no change in behavior.
1775 * WebCore.xcodeproj/project.pbxproj:
1776 * platform/graphics/FontFastPath.cpp:
1777 (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Replaced the condition
1778 (i < glyphBuffer.size() / 2) with the equivalent test (i < end).
1779 * platform/graphics/mac/FontComplexTextMac.cpp:
1780 (WebCore::Font::getGlyphsAndAdvancesForComplexText): Ditto.
1782 2012-10-05 José Dapena Paz <jdapena@igalia.com>
1784 [GTK] Add support for creating EGL contexts
1785 https://bugs.webkit.org/show_bug.cgi?id=77921
1787 Reviewed by Martin Robinson.
1789 This patch adds support for EGL, using OpenGL and OpenGL ES 2. Both
1790 options are set up on compile time, with the configure options
1791 --enable-egl and --enable-gles2.
1793 The implementation only adds support for EGL on top of X11, to
1794 isolate the changes to the minimum. More changes should come
1795 later to enable EGL for other targets (as Wayland).
1797 No new tests required, as existing WebGL and AC tests should cover
1801 * GNUmakefile.list.am:
1802 * platform/graphics/GraphicsContext3D.h:
1803 (GraphicsContext3D):
1804 * platform/graphics/OpenGLESShims.h:
1805 * platform/graphics/cairo/GLContext.cpp:
1807 (WebCore::GLContext::sharedX11Display):
1808 (WebCore::GLContext::cleanupSharedX11Display):
1809 (WebCore::activeContextList):
1810 (WebCore::GLContext::addActiveContext):
1811 (WebCore::GLContext::removeActiveContext):
1812 (WebCore::GLContext::cleanupActiveContextsAtExit):
1813 (WebCore::GLContext::createContextForWindow):
1814 (WebCore::GLContext::createOffscreenContext):
1815 * platform/graphics/cairo/GLContext.h:
1817 * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1818 (WebCore::GraphicsContext3D::create):
1819 (WebCore::GraphicsContext3D::GraphicsContext3D):
1820 (WebCore::GraphicsContext3D::~GraphicsContext3D):
1821 (WebCore::GraphicsContext3D::isGLES2Compliant):
1822 * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
1823 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
1824 * platform/graphics/clutter/GraphicsContext3DClutter.cpp:
1825 * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1826 * platform/graphics/egl/GLContextEGL.cpp: Added.
1828 (WebCore::sharedEGLDisplay):
1829 (WebCore::getEGLConfig):
1830 (WebCore::GLContextEGL::createWindowContext):
1831 (WebCore::GLContextEGL::createPbufferContext):
1832 (WebCore::GLContextEGL::createPixmapContext):
1833 (WebCore::GLContextEGL::createContext):
1834 (WebCore::GLContextEGL::GLContextEGL):
1835 (WebCore::GLContextEGL::~GLContextEGL):
1836 (WebCore::GLContextEGL::canRenderToDefaultFramebuffer):
1837 (WebCore::GLContextEGL::defaultFrameBufferSize):
1838 (WebCore::GLContextEGL::makeContextCurrent):
1839 (WebCore::GLContextEGL::swapBuffers):
1840 (WebCore::GLContextEGL::waitNative):
1841 (WebCore::GLContextEGL::platformContext):
1842 * platform/graphics/egl/GLContextEGL.h: Added.
1845 * platform/graphics/glx/GLContextGLX.cpp:
1846 (WebCore::GLContextGLX::createWindowContext):
1847 (WebCore::GLContextGLX::createPbufferContext):
1848 (WebCore::GLContextGLX::createPixmapContext):
1849 (WebCore::GLContextGLX::createContext):
1850 (WebCore::GLContextGLX::~GLContextGLX):
1851 (WebCore::GLContextGLX::defaultFrameBufferSize):
1852 (WebCore::GLContextGLX::makeContextCurrent):
1853 (WebCore::GLContextGLX::swapBuffers):
1855 (WebCore::GLContextGLX::waitNative):
1856 * platform/graphics/glx/GLContextGLX.h:
1858 * platform/graphics/mac/GraphicsContext3DMac.mm:
1859 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1860 (WebCore::GraphicsContext3D::releaseShaderCompiler):
1862 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1863 (WebCore::GraphicsContext3D::readPixels):
1864 (WebCore::GraphicsContext3D::reshapeFBOs):
1865 (WebCore::GraphicsContext3D::renderbufferStorage):
1866 * platform/graphics/qt/GraphicsContext3DQt.cpp:
1867 * platform/graphics/texmap/TextureMapper.h:
1868 * platform/gtk/RedirectedXCompositeWindow.cpp:
1869 (WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
1870 (WebCore::RedirectedXCompositeWindow::~RedirectedXCompositeWindow):
1871 (WebCore::RedirectedXCompositeWindow::resize):
1872 * platform/gtk/RedirectedXCompositeWindow.h:
1874 2012-10-04 Jon Lee <jonlee@apple.com>
1876 Add a setting to enable plugin snapshotting
1877 https://bugs.webkit.org/show_bug.cgi?id=98319
1878 <rdar://problem/12426480>
1880 Reviewed by Brady Eidson.
1882 Add a new bit for this preference.
1884 * page/Settings.cpp:
1885 (WebCore::Settings::Settings): Preference is false by default.
1886 * page/Settings.h: Added m_plugInSnapshottingEnabled bit.
1887 (WebCore::Settings::setPlugInSnapshottingEnabled): Set the bit.
1888 (WebCore::Settings::plugInSnapshottingEnabled): Return the bit.
1890 2012-10-05 Vsevolod Vlasov <vsevik@chromium.org>
1892 Unreviewed inspector front-end closure compilaiton fixes.
1894 * inspector/InjectedScriptCanvasModuleSource.js:
1895 * inspector/InjectedScriptExterns.js:
1896 (InjectedScriptHost.prototype.getInternalProperties):
1897 * inspector/front-end/DockController.js:
1898 * inspector/front-end/externs.js:
1899 (InspectorFrontendHostAPI.prototype.requestSetDockSide):
1901 2012-10-05 Tab Atkins <jackalmage@gmail.com>
1903 Replace uses of prefixed properties with unprefixed versions in the UA stylesheets
1904 https://bugs.webkit.org/show_bug.cgi?id=98453
1906 Reviewed by Ojan Vafai.
1908 Switched 'border-radius' and 'box-shadow' to their unprefixed version in the UA stylesheets.
1910 No new tests, because the unprefixed properties have the same behavior as the prefixed.
1912 * css/fullscreenQuickTime.css:
1913 (video:-webkit-full-screen::-webkit-media-controls-panel):
1916 (select[size][multiple]):
1918 (::-webkit-validation-bubble-message):
1919 * css/themeBlackBerry.css:
1921 * css/themeChromiumAndroid.css:
1922 (select[size][multiple]):
1923 * css/themeQtNoListboxes.css:
1924 (select[size][multiple]):
1927 * css/view-source.css:
1928 (.webkit-html-message-bubble):
1930 2012-10-05 Kevin Ellis <kevers@chromium.org>
1932 [chromium] Only inflate the height of rows in a popup menu when a touch device is detected.
1933 https://bugs.webkit.org/show_bug.cgi?id=98515
1935 Reviewed by Adam Barth.
1937 Enforces a minimum row height for popup menus when a touch device is
1938 detected. In a previous patch (r127597), the sizing of popup was
1939 consolidated for touch and non-touch. Based on user feedback, reverting
1940 to the old behavior for non-touch and only adding padding for touch
1941 devices seems like a much safer strategy. This patch is not a direct
1942 revert of r127567 since the padding previously used for touch is a bit
1945 Covered by existing tests.
1947 * platform/chromium/PopupListBox.cpp:
1948 (WebCore::PopupListBox::getRowHeight):
1949 * platform/chromium/PopupMenuChromium.cpp:
1951 * platform/chromium/PopupMenuChromium.h:
1952 (WebCore::PopupMenuChromium::optionRowHeightForTouch):
1953 (WebCore::PopupMenuChromium::setOptionRowHeightForTouch):
1954 (PopupMenuChromium):
1956 2012-10-05 Alexander Pavlov <apavlov@chromium.org>
1958 Web Inspector: [Styles] Unable to edit properties in broken stylesheets
1959 https://bugs.webkit.org/show_bug.cgi?id=98246
1961 Reviewed by Vsevolod Vlasov.
1963 Pop source data for invalid rules off the stack whenever we have consecutive CSSParser::markRuleHeaderStart() invocations.
1965 Test: inspector/styles/parse-stylesheet-errors.html
1967 * css/CSSParser.cpp:
1968 (WebCore::CSSParser::popRuleData):
1969 (WebCore::CSSParser::markRuleHeaderStart):
1970 (WebCore::CSSParser::markRuleBodyStart):
1974 2012-10-05 Gabor Rapcsanyi <rgabor@webkit.org>
1976 Add ARM-NEON support to VectorMath in WebAudio
1977 https://bugs.webkit.org/show_bug.cgi?id=98131
1979 Reviewed by Zoltan Herczeg.
1981 Speed up vector operations in WebAudio with NEON intrinsics.
1983 * platform/audio/VectorMath.cpp:
1984 (WebCore::VectorMath::vsma):
1985 (WebCore::VectorMath::vsmul):
1986 (WebCore::VectorMath::vadd):
1987 (WebCore::VectorMath::vmul):
1988 (WebCore::VectorMath::zvmul):
1989 (WebCore::VectorMath::vsvesq):
1990 (WebCore::VectorMath::vmaxmgv):
1992 2012-10-05 Simon Hausmann <simon.hausmann@digia.com>
1994 Unreviewed, rolling out r130495.
1995 http://trac.webkit.org/changeset/130495
1996 https://bugs.webkit.org/show_bug.cgi?id=98268
1998 Made WK2 tests crash.
2001 * platform/qt/QStyleFacade.cpp: Removed.
2002 * platform/qt/QStyleFacade.h: Removed.
2004 2012-10-05 Simon Hausmann <simon.hausmann@digia.com>
2006 [Qt] Make RenderThemeQStyle/ScrollbarThemeQStyle compile without QStyle/QtWidgets
2007 https://bugs.webkit.org/show_bug.cgi?id=98268
2009 Reviewed by Tor Arne Vestbø.
2011 Extracted QStyle/QWidget related code into a QWebStyle class that implements the QStyleFacade interface.
2013 QStyleFacade is a pure interface that lives in WebCore/platform/qt
2014 (next to RenderThemeQStyle and ScrollbarThemeQStyle) and provides a
2015 minimal interface of what we need to draw with QStyle as well as basic
2016 hit testing and metric retrieval. It also provides a
2017 QStyleFacadeOption class that aggregates common meta-data for
2018 rendering primitives, such as direction, rectangle, state (sunken,
2019 enabled, etc.) or palette. It also provides some more slider/scrollbar
2020 specific fields in a slider sub-structure.
2022 RenderThemeQStyle/ScrollbarThemeQStyle used to instantiate specific QStyleOption sub-classes and populate
2023 them with state information from render objects, before calling straight to QStyle. Most of the common code
2024 was encapsulated in StylePainterQStyle.
2026 The new RenderThemeQStyle/ScrolllbarThemeQStyle uses common code in
2027 StylePainterQStyle to populate state into QStyleFacadeOption before
2028 calling into QStyleFacade.
2030 The style facade is then implemented by QStyleFacadeImp, which extracts
2031 meta-data from QStyleFacadeOption arguments, populates style
2032 primitive specific QStyleOption objects and then calls on QStyle.
2034 RenderThemeQStyle/ScrollbarThemeQStyle can only use interface methods
2035 from QStyleFacade. QStyleFacadeImp on the other hand will live in the
2036 separate QtWebKitWidgets library in the future and therefore cannot use
2040 * platform/qt/QStyleFacade.cpp: Added.
2042 (WebCore::QStyleFacade::styleForPage):
2043 * platform/qt/QStyleFacade.h: Added.
2046 (WebCore::QStyleFacade::~QStyleFacade):
2047 (WebCore::QStyleFacadeOption::QStyleFacadeOption):
2048 (QStyleFacadeOption):
2049 * platform/qt/RenderThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.cpp.
2051 (WebCore::RenderThemeQStyle::getStylePainter):
2052 (WebCore::StylePainterQStyle::StylePainterQStyle):
2053 (WebCore::StylePainterQStyle::init):
2054 (WebCore::RenderThemeQStyle::create):
2055 (WebCore::RenderThemeQStyle::setStyleFactoryFunction):
2056 (WebCore::RenderThemeQStyle::styleFactory):
2057 (WebCore::RenderThemeQStyle::RenderThemeQStyle):
2058 (WebCore::RenderThemeQStyle::~RenderThemeQStyle):
2059 (WebCore::RenderThemeQStyle::setPaletteFromPageClientIfExists):
2060 (WebCore::RenderThemeQStyle::inflateButtonRect):
2061 (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
2062 (WebCore::RenderThemeQStyle::adjustButtonStyle):
2063 (WebCore::RenderThemeQStyle::setButtonPadding):
2064 (WebCore::RenderThemeQStyle::paintButton):
2065 (WebCore::RenderThemeQStyle::paintTextField):
2066 (WebCore::RenderThemeQStyle::adjustTextAreaStyle):
2067 (WebCore::RenderThemeQStyle::paintTextArea):
2068 (WebCore::RenderThemeQStyle::setPopupPadding):
2069 (WebCore::RenderThemeQStyle::colorPalette):
2070 (WebCore::RenderThemeQStyle::paintMenuList):
2071 (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
2072 (WebCore::RenderThemeQStyle::paintMenuListButton):
2073 (WebCore::RenderThemeQStyle::animationDurationForProgressBar):
2074 (WebCore::RenderThemeQStyle::paintProgressBar):
2075 (WebCore::RenderThemeQStyle::paintSliderTrack):
2076 (WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
2077 (WebCore::RenderThemeQStyle::paintSliderThumb):
2078 (WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
2079 (WebCore::RenderThemeQStyle::paintSearchField):
2080 (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
2081 (WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
2082 (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
2083 (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
2084 (WebCore::RenderThemeQStyle::paintInnerSpinButton):
2085 (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
2086 (WebCore::RenderThemeQStyle::adjustSliderThumbSize):
2087 * platform/qt/RenderThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.h.
2089 (RenderThemeQStyle):
2090 (WebCore::RenderThemeQStyle::qStyle):
2091 (StylePainterQStyle):
2092 (WebCore::StylePainterQStyle::isValid):
2093 (WebCore::StylePainterQStyle::paintButton):
2094 (WebCore::StylePainterQStyle::paintTextField):
2095 (WebCore::StylePainterQStyle::paintComboBox):
2096 (WebCore::StylePainterQStyle::paintComboBoxArrow):
2097 (WebCore::StylePainterQStyle::paintSliderTrack):
2098 (WebCore::StylePainterQStyle::paintSliderThumb):
2099 (WebCore::StylePainterQStyle::paintInnerSpinButton):
2100 (WebCore::StylePainterQStyle::paintProgressBar):
2101 (WebCore::StylePainterQStyle::paintScrollCorner):
2102 (WebCore::StylePainterQStyle::paintScrollBar):
2103 * platform/qt/ScrollbarThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.cpp.
2105 (WebCore::ScrollbarThemeQStyle::ScrollbarThemeQStyle):
2106 (WebCore::ScrollbarThemeQStyle::~ScrollbarThemeQStyle):
2108 (WebCore::scrollbarPart):
2109 (WebCore::initSliderStyleOption):
2110 (WebCore::ScrollbarThemeQStyle::paint):
2111 (WebCore::ScrollbarThemeQStyle::hitTest):
2112 (WebCore::ScrollbarThemeQStyle::shouldCenterOnThumb):
2113 (WebCore::ScrollbarThemeQStyle::invalidatePart):
2114 (WebCore::ScrollbarThemeQStyle::scrollbarThickness):
2115 (WebCore::ScrollbarThemeQStyle::thumbPosition):
2116 (WebCore::ScrollbarThemeQStyle::thumbLength):
2117 (WebCore::ScrollbarThemeQStyle::trackPosition):
2118 (WebCore::ScrollbarThemeQStyle::trackLength):
2119 (WebCore::ScrollbarThemeQStyle::paintScrollCorner):
2120 * platform/qt/ScrollbarThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.h.
2122 (ScrollbarThemeQStyle):
2123 (WebCore::ScrollbarThemeQStyle::qStyle):
2125 2012-10-05 Andrei Bucur <abucur@adobe.com>
2127 Incomplete repaint of boxes with inset box-shadow and padding when resized
2128 https://bugs.webkit.org/show_bug.cgi?id=59863
2130 Reviewed by Simon Fraser.
2132 The patch extends the repaint rectangle to include the inset shadow extent for renderers that resize and need to be repainted. The rectangle computations are also better fragmented and easier to read.
2134 New Test: fast/repaint/box-shadow-inset-repaint.html
2136 * rendering/RenderObject.cpp:
2137 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2138 * rendering/style/RenderStyle.cpp:
2139 (WebCore::RenderStyle::getShadowInsetExtent):
2141 * rendering/style/RenderStyle.h:
2143 2012-10-04 Kent Tamura <tkent@chromium.org>
2145 Fix sub-field width to the maximum width of a placeholder and the maximum value
2146 https://bugs.webkit.org/show_bug.cgi?id=98481
2148 Reviewed by Hajime Morita.
2150 We can't assume a placeholder text is shorter than the width of
2151 digits. The placeholder string for the year field of
2152 input[type=week] is "----", but input[type=date] will have a
2153 localized string for it.
2155 We should set the 'width' CSS property to the maximum of the
2156 placeholder width and the maximum value width in order to prevent
2157 the field width from growing/narrowing.
2159 Before this patch, we secured four digits space for a year field,
2160 and allowed the field to grow its width when a larger year is
2161 set. After this patch, we don't allow it to grow because the
2162 'width' property is set to the maximum width.
2164 Update week-multiple-fields-appearance-basic.html, and the
2165 following tests are affected.
2166 - fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes.html
2167 - fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements.html
2168 - fast/forms/week-multiple-fields/week-multiple-fields-appearance-style.html
2170 * html/shadow/DateTimeNumericFieldElement.cpp:
2171 (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
2172 Enable customStyleForRenderer.
2173 (WebCore::DateTimeNumericFieldElement::customStyleForRenderer):
2174 Added. The code is similar to DateTimeSymbolicFieldElement::customStyleForRenderer().
2175 (WebCore::DateTimeNumericFieldElement::formatValue):
2176 Made a function with the code in value(). This is used in
2177 customStyleForRenderer() and value().
2178 (WebCore::DateTimeNumericFieldElement::value): Use formatValue().
2179 * html/shadow/DateTimeNumericFieldElement.h:
2180 (DateTimeNumericFieldElement): Declare new functions.
2182 2012-10-05 Kent Tamura <tkent@chromium.org>
2184 Improve spelling and performance of Localizer.cpp
2185 https://bugs.webkit.org/show_bug.cgi?id=98485
2187 Reviewed by Kentaro Hara.
2189 Some improvements pointed in webkit.org/b/98229#c5.
2191 No new tests because of no behavior change.
2193 * platform/text/Localizer.h:
2195 - Rename dateTimeFormatWithSecond to dateTimeFormatWithSeconds
2196 - Rename dateTimeFormatWithoutSecond to dateTimeFormatWithoutSeconds
2197 - Add data members: m_dateTimeFormatWithSeconds and m_dateTimeFormatWithoutSeconds.
2198 * platform/text/Localizer.cpp:
2199 (WebCore::Localizer::timeFormat): Check isNull instead of isEmpty
2200 (WebCore::Localizer::shortTimeFormat): Ditto.
2201 (WebCore::Localizer::dateTimeFormatWithSeconds):
2203 - Cache the concatenation result to a data member.
2204 (WebCore::Localizer::dateTimeFormatWithoutSeconds): Ditto.
2206 * html/DateTimeInputType.cpp:
2207 (WebCore::DateTimeInputType::setupLayoutParameters): Follow the renaming.
2208 * html/DateTimeLocalInputType.cpp:
2209 (WebCore::DateTimeLocalInputType::setupLayoutParameters): Ditto.
2211 2012-10-04 Kenichi Ishibashi <bashi@chromium.org>
2213 [WebSocket] ExtensionParser should have its own file
2214 https://bugs.webkit.org/show_bug.cgi?id=98475
2216 Reviewed by Yuta Kitamura.
2218 Factor out ExtensionParser from WebSocketExtensionDispatcher and rename it as WebSocketExtensionParser.
2219 WebSocketExtensionParser has its own file.
2221 No changes in behavior. Added a test case for parsing Sec-WebSocket-Extensions field as a chromium unit test.
2223 * CMakeLists.txt: Added WebSocketExtensionParser.
2224 * GNUmakefile.list.am: Ditto.
2225 * Modules/websockets/WebSocketExtensionDispatcher.cpp:
2226 (WebCore::WebSocketExtensionDispatcher::processHeaderValue):
2227 Use WebSocketExtensionParser::parseExtension() to parser extension header value.
2228 * Modules/websockets/WebSocketExtensionParser.cpp: Added.
2230 (WebCore::WebSocketExtensionParser::finished): Moved from ExtensionParser.
2231 (WebCore::WebSocketExtensionParser::parsedSuccessfully): Ditto.
2232 (WebCore::isSeparator): Ditto.
2233 (WebCore::WebSocketExtensionParser::skipSpaces): Ditto.
2234 (WebCore::WebSocketExtensionParser::consumeToken): Ditto.
2235 (WebCore::WebSocketExtensionParser::consumeQuotedString): Ditto.
2236 (WebCore::WebSocketExtensionParser::consumeQuotedStringOrToken): Ditto.
2237 (WebCore::WebSocketExtensionParser::consumeCharacter): Ditto.
2238 (WebCore::WebSocketExtensionParser::parseExtension): Moved from WebSocketExtensionDispatcher.
2239 * Modules/websockets/WebSocketExtensionParser.h: Added.
2241 (WebSocketExtensionParser):
2242 (WebCore::WebSocketExtensionParser::WebSocketExtensionParser):
2243 (WebCore::WebSocketExtensionParser::currentToken):
2244 * Target.pri: Added WebSocketExtensionParser.
2245 * WebCore.gypi: Ditto.
2246 * WebCore.vcproj/WebCore.vcproj: Ditto.
2247 * WebCore.xcodeproj/project.pbxproj: Ditto.
2249 2012-10-04 Kunihiko Sakamoto <ksakamoto@chromium.org>
2251 <input> size attribute should throw INDEX_SIZE_ERR when set to 0
2252 https://bugs.webkit.org/show_bug.cgi?id=61675
2254 Reviewed by Kent Tamura.
2256 According to the spec, the size IDL attribute of input elements is limited
2257 to only non-negative numbers greater than zero. It should throw INDEX_SIZE_ERR
2258 exception when set to 0. New behavior matches both Firefox and IE.
2259 Spec: http://www.w3.org/TR/html5/common-input-element-attributes.html#the-size-attribute
2261 Test: fast/dom/HTMLInputElement/input-size-attribute.html
2263 * html/HTMLInputElement.cpp:
2264 (WebCore::HTMLInputElement::setSize):
2265 * html/HTMLInputElement.h:
2267 * html/HTMLInputElement.idl:
2269 2012-10-04 Kent Tamura <tkent@chromium.org>
2271 Fix font for date/time input types.
2272 https://bugs.webkit.org/show_bug.cgi?id=98478
2274 Reviewed by Kentaro Hara.
2276 input[type=date] should use monospace font if
2277 ENABLE_INPUT_MULTIPLE_FIELDS_UI && ENABLE_INPUT_TYPE_DATE.
2279 For other date/time types, they should use monospace font only
2280 if their types are enabled. input[type="foo"] matches input
2281 element with type="foo" even if the foo type is not supported.
2283 The input[type=date] change is covered by
2284 fast/forms/date/calendar-picker-appearance.html,
2285 platform/chromium/fast/forms/date/date-suggestion-picker-appearance*.html
2288 (input[type="date"]):
2289 (input[type="datetime"]):
2290 (input[type="datetime-local"]):
2291 (input[type="month"]):
2292 (input[type="time"]):
2294 2012-10-04 Hajime Morrita <morrita@google.com>
2296 [Refactoring] Some classes in StyleResolver.cpp/h could have its own file.
2297 https://bugs.webkit.org/show_bug.cgi?id=98469
2299 Reviewed by Dimitri Glazkov.
2301 This change extracts RuleData, RuleSet, RuleFeature and Featurs class
2302 to its own file: RuleSet.h/cpp and RuleFeature.h/cpp
2304 RuleFeature class is moved fro StyleResolver inner class to plain WebCore class.
2305 Feaures class is renamed to RuleFeatureSet to avoid possible name conflict.
2307 No new tests. Just splitting file and doing simple rename.
2310 * GNUmakefile.list.am:
2313 * WebCore.xcodeproj/project.pbxproj:
2314 * css/CSSAllInOne.cpp:
2315 * css/RuleFeature.cpp: Added.
2317 (WebCore::RuleFeatureSet::add):
2318 (WebCore::RuleFeatureSet::clear):
2319 (WebCore::RuleFeatureSet::reportMemoryUsage):
2320 * css/RuleFeature.h: Added.
2323 (WebCore::RuleFeature::RuleFeature):
2325 (WebCore::RuleFeatureSet::RuleFeatureSet):
2326 * css/RuleSet.cpp: Added.
2328 (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
2329 (WebCore::selectorListContainsUncommonAttributeSelector):
2330 (WebCore::isCommonAttributeSelectorAttribute):
2331 (WebCore::containsUncommonAttributeSelector):
2332 (WebCore::RuleData::RuleData):
2333 (WebCore::RuleData::reportMemoryUsage):
2334 (WebCore::reportAtomRuleMap):
2335 (WebCore::RuleSet::reportMemoryUsage):
2336 (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
2337 (WebCore::collectFeaturesFromSelector):
2338 (WebCore::collectFeaturesFromRuleData):
2339 (WebCore::RuleSet::addToRuleSet):
2340 (WebCore::RuleSet::addRule):
2341 (WebCore::RuleSet::addPageRule):
2342 (WebCore::RuleSet::addRegionRule):
2343 (WebCore::RuleSet::addRulesFromSheet):
2344 (WebCore::RuleSet::addStyleRule):
2345 (WebCore::shrinkMapVectorsToFit):
2346 (WebCore::RuleSet::shrinkToFit):
2347 * css/RuleSet.h: Added.
2350 (WebCore::RuleData::position):
2351 (WebCore::RuleData::rule):
2352 (WebCore::RuleData::selector):
2353 (WebCore::RuleData::selectorIndex):
2354 (WebCore::RuleData::hasFastCheckableSelector):
2355 (WebCore::RuleData::hasMultipartSelector):
2356 (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
2357 (WebCore::RuleData::containsUncommonAttributeSelector):
2358 (WebCore::RuleData::specificity):
2359 (WebCore::RuleData::linkMatchType):
2360 (WebCore::RuleData::hasDocumentSecurityOrigin):
2361 (WebCore::RuleData::isInRegionRule):
2362 (WebCore::RuleData::descendantSelectorIdentifierHashes):
2363 (SameSizeAsRuleData):
2365 (WebCore::RuleSet::create):
2366 (WebCore::RuleSet::disableAutoShrinkToFit):
2367 (WebCore::RuleSet::features):
2368 (WebCore::RuleSet::idRules):
2369 (WebCore::RuleSet::classRules):
2370 (WebCore::RuleSet::tagRules):
2371 (WebCore::RuleSet::shadowPseudoElementRules):
2372 (WebCore::RuleSet::linkPseudoClassRules):
2373 (WebCore::RuleSet::focusPseudoClassRules):
2374 (WebCore::RuleSet::universalRules):
2375 (WebCore::RuleSet::pageRules):
2376 (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
2377 (RuleSetSelectorPair):
2378 (WebCore::RuleSet::RuleSet):
2379 * css/StyleResolver.cpp:
2381 (WebCore::makeRuleSet):
2382 (WebCore::StyleResolver::collectMatchingRulesForList):
2383 * css/StyleResolver.h:
2386 2012-10-04 Adam Barth <abarth@webkit.org>
2388 FeatureObserver should distinguish between legacy HTML and text notifications
2389 https://bugs.webkit.org/show_bug.cgi?id=98441
2391 Reviewed by Tony Chang.
2393 We might be able to drop support for legacy HTML notifications before
2394 we can drop support for legacy text notifications. We should measure
2397 * Modules/notifications/NotificationCenter.idl:
2398 * page/FeatureObserver.h:
2400 2012-10-04 Pravin D <pravind.2k4@gmail.com>
2402 Removing the unused member variable m_wasMalformed from HTMLFormElement class and its related code frgment.
2403 https://bugs.webkit.org/show_bug.cgi?id=98444
2405 Reviewed by Eric Seidel.
2407 The member variable m_wasMalformed of HTMLFormElement class was used to determine if the <form> tag was malformed or not.
2408 This information was used elsewhere to decide if bottom margins have to be included for such a <form>.
2409 However currently this member variable is not being set by any code following code refactoring in HTML parser class.
2411 Code cleanup patch. No new tests required.
2413 * html/HTMLFormElement.cpp:
2414 (WebCore::HTMLFormElement::HTMLFormElement):
2415 Removed m_wasMalformed initialization.
2417 * html/HTMLFormElement.h:
2419 Removed m_wasMalformed variable.
2420 Removed m_wasMalformed variable's setter and getter functions.
2422 * rendering/RenderBlock.cpp:
2423 (WebCore::RenderBlock::layoutBlock):
2424 Removed code fragment using/dependent on m_wasMalformed.
2426 2012-10-04 Rik Cabanier <cabanier@adobe.com>
2428 Turn Compositing on by default in WebKit build
2429 https://bugs.webkit.org/show_bug.cgi?id=98315
2431 Reviewed by Simon Fraser.
2433 enable -webkit-blend-mode on trunk.
2435 No new tests. Existing blending test were updated.
2437 * Configurations/FeatureDefines.xcconfig:
2438 * css/CSSPropertyNames.in:
2439 * css/CSSValueKeywords.in:
2441 2012-10-04 Hayato Ito <hayato@chromium.org>
2443 [Refactoring] Introduce a traversal strategy in SelectorChecker
2444 https://bugs.webkit.org/show_bug.cgi?id=97298
2446 Reviewed by Antti Koivisto.
2448 We extract DOM traversal code from SelectorChecker so that we can use another traversal strategy.
2449 Another traversal strategy will be introduced in Bug 96990.
2451 Since this code path is very hot, we were very careful not to regress performance.
2452 We will use template specialization to change the traversal implementation.
2454 We confirmed that this patch does not regress SelectorCheckerPerformance. I have checked the performance of
2455 the added test in my Linux Box using run-perf-tests.
2457 The performance of the added test before using this patch was:
2459 RESULT CSS: PseudoClassSelectors= 3399.68308031 runs/s
2460 median= 3404.48685564 runs/s, stdev= 37.3480114449 runs/s, min= 3272.64871114 runs/s, max= 3438.72385184 runs/s
2462 When we used this patch, the performance was:
2464 RESULT CSS: PseudoClassSelectors= 3367.74473886 runs/s
2465 median= 3367.12072755 runs/s, stdev= 14.1464547639 runs/s, min= 3348.55881171 runs/s, max= 3395.98212857 runs/s
2467 Test: PerformanceTests/CSS/PseudoClass-Selectors.html
2469 * css/SelectorChecker.cpp:
2471 (WebCore::SelectorChecker::checkSelector): Make this a template method to accept another Context type.
2472 Another Context type will be introduced in coming patch.
2473 (WebCore::SelectorChecker::checkOneSelector):
2474 (WebCore::SelectorChecker::DOMTraversalStrategy::isFirstChild):
2475 (WebCore::SelectorChecker::DOMTraversalStrategy::isLastChild):
2476 (WebCore::SelectorChecker::DOMTraversalStrategy::isFirstOfType):
2477 (WebCore::SelectorChecker::DOMTraversalStrategy::isLastOfType):
2478 (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsBefore):
2479 (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsOfTypeBefore):
2480 (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsAfter):
2481 (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsOfTypeAfter):
2482 * css/SelectorChecker.h:
2483 (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
2484 (SelectorCheckingContext):
2486 (DOMTraversalStrategy): Extracted the DOM traversal code from SelectorChecker. Another traversal code
2487 will be introduced the coming patch.
2489 2012-10-04 Eric Seidel <eric@webkit.org>
2491 SVGAttributeHashTranslator does not need to copy QualifiedName in the common case
2492 https://bugs.webkit.org/show_bug.cgi?id=98473
2494 Reviewed by Adam Barth.
2496 I tested this using instruments on a test case which modified SVG attributes in a loop.
2497 I believe pdr has some perf-tests in this area, but they weren't needed here. A simple sample showed this as a huge win,
2498 since we're no longer creating a QualifiedName (and thus adding it to the hash) on each QualifiedName-based lookup in SVG.
2501 (WebCore::SVGAttributeHashTranslator::hash):
2502 (WebCore::SVGAttributeHashTranslator::equal):
2504 2012-10-04 Julien Chaffraix <jchaffraix@webkit.org>
2506 Split the intrinsic padding update code out of RenderTableSection::layoutRows
2507 https://bugs.webkit.org/show_bug.cgi?id=98454
2509 Reviewed by Eric Seidel.
2511 RenderTableSection::layoutRows is very long and it's difficult to see what's
2512 going on. This change moves the intrinsic padding update code into RenderTableCell
2513 for clarity. While at it, cleaned up a bit the code (renaming variables, functions).
2515 Change covered by existing table tests.
2517 * rendering/RenderTableCell.cpp:
2518 (WebCore::RenderTableCell::computeIntrinsicPadding):
2519 Added this new function that does the update. Removed the 'default' case, replaced by
2520 the explicit label BASELINE_MIDDLE.
2522 * rendering/RenderTableCell.h:
2523 (WebCore::RenderTableCell::setIntrinsicPaddingBefore):
2524 (WebCore::RenderTableCell::setIntrinsicPaddingAfter):
2525 (WebCore::RenderTableCell::setIntrinsicPadding):
2526 Moved those setters to the private section as we want other classes
2527 to use computeIntrinsicPadding.
2529 * rendering/RenderTableSection.cpp:
2530 (WebCore::RenderTableSection::layoutRows):
2531 Replaced the code with a call to RenderTableCell::computeIntrinsicPadding.
2532 Also moved 2 variables in the loop per our coding style.
2534 * rendering/RenderTableSection.h:
2535 (WebCore::RenderTableSection::rowBaseline):
2536 Renamed to match our coding style.
2538 2012-10-04 Nate Chapin <japhet@chromium.org>
2540 Crash in EventHandler::mouseMoved().
2541 https://bugs.webkit.org/show_bug.cgi?id=98460
2543 Reviewed by Abhishek Arya.
2545 No new tests, this fixes fast/events/mouse-moved-remove-frame-crash.html.
2547 * page/EventHandler.cpp:
2548 (WebCore::EventHandler::mouseMoved):
2550 2012-10-04 Adam Barth <abarth@webkit.org>
2552 [V8] NotificationCenter leaks because it uses buggy custom bindings
2553 https://bugs.webkit.org/show_bug.cgi?id=98445
2555 Reviewed by Tony Chang.
2557 There's no reason to use custom bindings here. All they do is cause leaks..
2559 * Modules/notifications/NotificationCenter.idl:
2560 * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2562 2012-10-04 Tab Atkins <jackalmage@gmail.com>
2564 Selector specificity categories "overflow" into higher categories
2565 https://bugs.webkit.org/show_bug.cgi?id=98295
2567 Reviewed by Eric Seidel.
2569 This patch adds per-component overflow guards for CSS selector specificity.
2570 Previously, we didn't guard against overflow.
2571 Since we stored each component as a byte mapped into a single unsigned int for the whole specificity,
2572 256 of a particular simple selector was equivalent to 1 of the next-higher-group selector.
2573 This violated the Selectors specification,
2574 which requires the components to be compared lexicographically.
2576 Tests: /fast/selectors/specificity-overflow.html
2578 * css/CSSSelector.cpp:
2579 (WebCore::CSSSelector::specificity):
2581 2012-10-04 Enrica Casucci <enrica@apple.com>
2583 Font::glyphDataAndPageForCharacter doesn't account for text orientation when using systemFallback on a cold cache.
2584 https://bugs.webkit.org/show_bug.cgi?id=98452.
2586 Reviewed by Dan Bernstein.
2588 The text orientation was considered only when there is a cache hit.
2589 This change moves the logic to handle text orientation to a separate
2590 inline function that is called also when the glyph is added to the cache.
2592 Test: fast/text/vertical-rl-rtl-linebreak.html
2594 * platform/graphics/FontFastPath.cpp:
2595 (WebCore::applyTextOrientationForCharacter): Added.
2596 (WebCore::Font::glyphDataAndPageForCharacter): Modified to use the new function in
2597 both cases of cold and warm cache.
2599 2012-10-04 Adam Klein <adamk@chromium.org>
2601 MutationRecord attributeName should be null for non attribute changes
2602 https://bugs.webkit.org/show_bug.cgi?id=98438
2604 Reviewed by Ojan Vafai.
2606 Test: fast/mutation/mutation-record-nullity.html
2608 * dom/MutationRecord.idl:
2610 2012-10-04 Simon Fraser <simon.fraser@apple.com>
2612 Final part of "sync" to "flush" renaming
2613 https://bugs.webkit.org/show_bug.cgi?id=98430
2615 Reviewed by Tim Horton.
2617 Change method names on GraphicsLayer and GraphicsLayerClient that
2618 refer to "sync" to use the term "flush" instead, to be consistent
2619 with the rest of the code.
2621 * platform/graphics/GraphicsLayer.h:
2622 (WebCore::GraphicsLayer::flushCompositingState):
2623 (WebCore::GraphicsLayer::flushCompositingStateForThisLayerOnly):
2624 * platform/graphics/GraphicsLayerClient.h:
2625 (GraphicsLayerClient):
2626 * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
2627 (WebCore::GraphicsLayerBlackBerry::notifyFlushRequired):
2628 * platform/graphics/blackberry/LayerWebKitThread.cpp:
2629 (WebCore::LayerWebKitThread::setNeedsCommit):
2630 * platform/graphics/ca/GraphicsLayerCA.cpp:
2631 (WebCore::GraphicsLayerCA::flushCompositingState):
2632 (WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly):
2633 (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
2634 (WebCore::GraphicsLayerCA::positionForCloneRootLayer):
2635 (WebCore::GraphicsLayerCA::noteLayerPropertyChanged):
2636 * platform/graphics/ca/GraphicsLayerCA.h:
2638 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2639 (WebCore::GraphicsLayerTextureMapper::notifyChange):
2640 (WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
2641 (WebCore::GraphicsLayerTextureMapper::flushCompositingState):
2642 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2643 (GraphicsLayerTextureMapper):
2644 * platform/graphics/texmap/TextureMapperLayer.cpp:
2645 (WebCore::TextureMapperLayer::flushCompositingState):
2646 (WebCore::TextureMapperLayer::flushCompositingStateSelf):
2647 * platform/graphics/texmap/TextureMapperLayer.h:
2648 (TextureMapperLayer):
2649 * rendering/RenderLayerBacking.cpp:
2650 (WebCore::RenderLayerBacking::notifyFlushRequired):
2651 * rendering/RenderLayerBacking.h:
2652 (RenderLayerBacking):
2653 * rendering/RenderLayerCompositor.cpp:
2654 (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
2655 * rendering/RenderLayerCompositor.h:
2656 (WebCore::RenderLayerCompositor::notifyFlushRequired):
2658 2012-10-04 Tab Atkins <tabatkins@google.com>
2660 1ex should equal .5em when the font has no x-height metric
2661 https://bugs.webkit.org/show_bug.cgi?id=80360
2663 Reviewed by Eric Seidel.
2665 Updated FontMetrics and CSSPrimitiveValue to have/use an explicit "hasXHeight" flag to determine how to size an 'ex' unit.
2667 Updated a few of the platform font files to set the flag properly.
2669 Patch cleanup by David Barr <davidbarr@chromium.org>.
2671 Test: fast/css/ex-unit-with-no-x-height.html
2673 * css/CSSPrimitiveValue.cpp:
2674 (WebCore::CSSPrimitiveValue::computeLengthDouble):
2675 * platform/graphics/FontMetrics.h:
2676 (WebCore::FontMetrics::FontMetrics):
2677 (WebCore::FontMetrics::setXHeight):
2679 (WebCore::FontMetrics::hasXHeight):
2680 (WebCore::FontMetrics::setHasXHeight):
2681 (WebCore::FontMetrics::reset):
2682 * platform/graphics/skia/SimpleFontDataSkia.cpp:
2683 (WebCore::SimpleFontData::platformInit):
2685 2012-10-04 Ryosuke Niwa <rniwa@webkit.org>
2687 Build fix after r130411. Add the right offset.
2688 Also use RefPtr instead of a raw pointer for next and previous pointers.
2690 * editing/ReplaceSelectionCommand.cpp:
2691 (WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
2693 2012-10-04 Alec Flett <alecflett@chromium.org>
2695 IndexedDB: promote objectstore/index backend ids to the frontend
2696 https://bugs.webkit.org/show_bug.cgi?id=97834
2698 Reviewed by Tony Chang.
2700 Expose int64-based database/objectStore/index ids to the renderer,
2701 step 1 of 2. Support both styles of createObjectStore and
2702 createIndex: those that take an explicit id, and those that take
2703 -1, meaning to autogenerate an id on the backend. In part 2, after
2704 the chromium side lands, support for the autogenerated ids will be
2705 removed. (See https://bugs.webkit.org/show_bug.cgi?id=98085)
2707 This is a part of larger refactoring work to ultimately make the interface
2708 between the frontend and the backend simpler.
2710 No new tests, extensive ASSERTs and existing tests cover correctness.
2712 * Modules/indexeddb/IDBBackingStore.h:
2714 * Modules/indexeddb/IDBDatabase.cpp:
2715 (WebCore::IDBDatabase::createObjectStore):
2716 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2717 (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
2718 (WebCore::IDBDatabaseBackendImpl::openInternal):
2719 (WebCore::IDBDatabaseBackendImpl::metadata):
2720 (WebCore::IDBDatabaseBackendImpl::createObjectStore):
2722 (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
2723 (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
2724 * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2725 (IDBDatabaseBackendImpl):
2726 * Modules/indexeddb/IDBDatabaseBackendInterface.h:
2727 (IDBDatabaseBackendInterface):
2728 * Modules/indexeddb/IDBIndexBackendImpl.cpp:
2729 (WebCore::IDBIndexBackendImpl::metadata):
2730 * Modules/indexeddb/IDBIndexBackendImpl.h:
2731 (WebCore::IDBIndexBackendImpl::create):
2732 (IDBIndexBackendImpl):
2733 * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
2735 (WebCore::getMaxObjectStoreId):
2736 (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
2737 (WebCore::IDBLevelDBBackingStore::deleteDatabase):
2738 (WebCore::IDBLevelDBBackingStore::getObjectStores):
2739 (WebCore::setMaxObjectStoreId):
2740 (WebCore::IDBLevelDBBackingStore::createObjectStore):
2741 (WebCore::getMaxIndexId):
2742 (WebCore::setMaxIndexId):
2743 (WebCore::IDBLevelDBBackingStore::createIndex):
2744 * Modules/indexeddb/IDBLevelDBBackingStore.h:
2745 (IDBLevelDBBackingStore):
2746 * Modules/indexeddb/IDBMetadata.h:
2747 (WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
2748 (IDBDatabaseMetadata):
2749 (WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):
2750 (IDBObjectStoreMetadata):
2751 (WebCore::IDBIndexMetadata::IDBIndexMetadata):
2753 * Modules/indexeddb/IDBObjectStore.cpp:
2754 (WebCore::IDBObjectStore::createIndex):
2755 * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2756 (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
2757 (WebCore::IDBObjectStoreBackendImpl::metadata):
2758 (WebCore::IDBObjectStoreBackendImpl::createIndex):
2760 (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
2761 * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
2762 (WebCore::IDBObjectStoreBackendImpl::create):
2763 (IDBObjectStoreBackendImpl):
2764 * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
2765 2012-10-04 Pravin D <pravind.2k4@gmail.com>
2767 Layout broken after cloning and re-inserting a table with a misplaced <form>
2768 https://bugs.webkit.org/show_bug.cgi?id=86746
2770 Reviewed by Julien Chaffraix.
2772 There is a concept of demotion for a <form> contained in a table. A <form> is demoted if its immediate parent
2773 is either a <table>, table sections (tbody, etc) or a table row (tr). A renderer for such a <form> is created only
2774 if its display is one of the table display types (TABLE, INLINE_TABLE, TABLE_FOOTER_GROUP, etc).
2775 However when a <table> containing a demoted <form> is cloned, the <form> does not retain its demotion state and
2776 results in the table getting improperly rendered.
2778 Test: fast/table/form-with-non-table-display-inside-table-elements.html
2780 * html/HTMLFormElement.cpp:
2781 (WebCore::HTMLFormElement::copyNonAttributePropertiesFromElement):
2782 Extended the virtual function for HTMLFormElement class specific implementation.
2783 The function is used to copy any necessary state information(member variables) associated with
2784 the <form> element being cloned to the current node.
2785 For HTMLFormElement node the member variable can be classified into five groups based on the
2786 information they hold:
2787 1) Variables containing information regarding <form> subtree and elements associated with it.
2788 These get updated as and when an element is added to the <form> subtree.
2789 2) Variables containing <form> submit state information.
2790 3) Flag to hold information if reset() has been called.
2791 4) Flag(m_wasDemoted) that indicates whether the form is demoted or not, based on which it needs to
2792 be handled differently during creation of its renderer.
2793 This information is currently being updated only during the HTML tree construction phase.
2794 5) Flag(m_wasMalformed) to hold information if the <form> is malformed or not.
2796 Variables of group (1) will be updated as and when elements are added to the <form> subtree. Whereas,
2797 (2) and (3) hold instance specific information, thus copying them is not required. Also (5) is currently not
2798 being used(not set by any code).
2800 On the other hand, (4) is required to be copied during cloning as this information cannot be accessed
2801 during the cloning process.
2804 * html/HTMLFormElement.h:
2805 Added copyNonAttributePropertiesFromElement() declaration.
2807 2012-10-04 Dean Jackson <dino@apple.com>
2809 Attribute and Uniform variable names need translation in shader
2810 https://bugs.webkit.org/show_bug.cgi?id=70989
2812 Reviewed by Tim Horton (and Darin Adler).
2814 WebGL specifies some maximum lengths for variable names (attributes
2815 and uniforms). Also, some GL drivers have issues with long names. For
2816 that reason, ANGLE has an option to rewrite the shader, translating
2817 long names into short names. Turning this on helps shaders compile,
2818 but we need to keep a mapping between the original names and the
2819 translated names, so that we bind to the right location from user code
2820 (which won't ever see the translated source).
2822 This provided an opportunity to clean up some other bits of code:
2823 CSS Filters examined the uniform names after a compilation; It can
2824 now use the variable name map. I also added a typedef for the
2825 HashMaps that keep the shader, the source code and the variable name
2828 I also opened a followup bug to make sure these tables are deleted
2829 when the associated shaders (or linked programs) go away:
2830 https://bugs.webkit.org/show_bug.cgi?id=98204
2832 Covered by existing tests (with some enhancements):
2833 - fast/canvas/webgl/attrib-location-length-limits.html:
2834 - fast/canvas/webgl/uniform-location-length-limits.html:
2836 * platform/graphics/ANGLEWebKitBridge.cpp:
2837 (WebCore::getSymbolInfo): Extracts all the information on symbols (either attributes
2838 or uniforms) from the newly compiled shader.
2840 (WebCore::ANGLEWebKitBridge::compileShaderSource): New method name.
2841 * platform/graphics/ANGLEWebKitBridge.h:
2842 (WebCore::getUniforms): Deleted this method.
2843 (WebCore::ANGLEShaderSymbol::isSampler): Make sure the symbol is a uniform.
2844 (ANGLEWebKitBridge):
2845 * platform/graphics/GraphicsContext3D.h:
2846 (WebCore::GraphicsContext3D::SymbolInfo::SymbolInfo): A new object that
2847 holds the size, type and translated name of a symbol from a WebGL shader.
2848 (ShaderSourceEntry):
2849 (WebCore::GraphicsContext3D::ShaderSourceEntry::ShaderSourceEntry): Now keeps track
2850 of the translated source code and symbol mappings.
2851 (WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap): Helper function to
2852 get the member variable corresponding to the type of symbol you're asking fo.
2853 * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
2854 (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram): Calls new method
2855 name which also produces a set of symbols to examine.
2856 * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2857 (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): We now can pass
2858 in some extra compile options to do translation of long symbol names. Also fill the
2859 map of translated symbol names.
2860 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2861 (WebCore::GraphicsContext3D::compileShader):
2862 (WebCore::GraphicsContext3D::mappedSymbolName): Returns the mapped name for
2863 a shader symbol if it was translated during compilation.
2865 (WebCore::GraphicsContext3D::getAttribLocation):
2866 (WebCore::GraphicsContext3D::getShaderiv):
2867 (WebCore::GraphicsContext3D::getShaderInfoLog):
2868 (WebCore::GraphicsContext3D::getShaderSource):
2869 (WebCore::GraphicsContext3D::getUniformLocation):
2871 2012-10-04 Alpha Lam <hclam@chromium.org>
2873 [skia] Drawing a subrect of bitmap image is misaligned
2874 https://bugs.webkit.org/show_bug.cgi?id=95121
2876 Reviewed by Stephen White.
2878 When drawing a subrect of BitmapImage and the subrect is not aligned
2879 to integer boundaries, skia expands it to the closest enclosing integer
2880 rectangle. This creates prominent rendering artifacts when an image
2881 is used as background and its sub-regions are invalidated frequently.
2883 This patch fixes the problem by doing alignment to integer boundaries
2884 and clipping for both cases of RESAMPLE_AWESOME and RESAMPLE_LINEAR.
2886 A clip rect is applied to the canvas using original destination
2887 rectangle, while source and destination rectangles are enlarged
2888 appropriately to ensure source rectangle is aligned.
2890 This patch also fixes a closely related problem. In RESAMPLE_AWESOME
2891 resampling mode the previous algorithm applies different approximated
2892 scale factor for each scaled image fragment. This caused the stitched
2895 Scale factor is approximated using entire image size, this gives a
2896 more accurate approximation because of greater denominator and a
2897 consistent scale factor across all fragments.
2899 Changes in Skia enable caching of the scaled image and return the
2900 scaled fragment because scale factor is now consistent for all
2903 Tests: fast/images/paint-subrect-grid.html
2904 fast/images/paint-subrect.html
2905 fast/images/repaint-subrect-grid.html
2907 * platform/graphics/skia/ImageSkia.cpp:
2908 (WebCore::computeResamplingMode): Use float for width and height.
2910 (WebCore::areBoundariesIntegerAligned):
2911 (WebCore::computeBitmapDrawRects):
2912 (WebCore::extractScaledImageFragment):
2913 (WebCore::drawResampledBitmap): New algorithm for drawing scaled image fragment.
2914 (WebCore::paintSkBitmap):
2915 (WebCore::Image::drawPattern):
2916 (WebCore::BitmapImage::draw): Use SkRect instead of SkIRect.
2917 (WebCore::BitmapImageSingleFrameSkia::draw):
2918 * platform/graphics/skia/NativeImageSkia.cpp:
2919 Changing the algorithm for extracting a scaled image fragment.
2920 A fragment is now identified by (scaledImageSize, scaledImageSubset).
2921 (WebCore::NativeImageSkia::hasResizedBitmap):
2922 (WebCore::NativeImageSkia::resizedBitmap):
2923 (WebCore::NativeImageSkia::shouldCacheResampling):
2924 (WebCore::NativeImageSkia::CachedImageInfo::CachedImageInfo):
2926 (WebCore::NativeImageSkia::CachedImageInfo::isEqual):
2927 (WebCore::NativeImageSkia::CachedImageInfo::set):
2928 (WebCore::NativeImageSkia::CachedImageInfo::rectInSubset):
2929 * platform/graphics/skia/NativeImageSkia.h:
2933 2012-10-03 Ryosuke Niwa <rniwa@webkit.org>
2935 ReplaceSelectionCommand should merge text nodes
2936 https://bugs.webkit.org/show_bug.cgi?id=98188
2938 Reviewed by Levi Weintraub.
2940 Added mergeTextNodesAroundPosition to ReplaceSelectionCommand to merge text nodes after the replace in
2941 completeHTMLReplacement. Also fixed a bunch of bugs in other classes and functions to make this work.
2943 This behavior change is tested by existing tests.
2945 * editing/InsertParagraphSeparatorCommand.cpp:
2946 (WebCore::InsertParagraphSeparatorCommand::doApply): When splitting a text node, place the insertionPosition
2947 at the end of the first half. Leaving it at the beginning of the second half confuses the rest of the code in
2948 the function. However, the logic to handle the "insignificant" white spaces needs the position at the start of
2949 the second half. So keep this position.
2950 * editing/ReplaceSelectionCommand.cpp:
2951 (WebCore::ReplaceSelectionCommand::doApply): Update visibleStart after inserting a paragraph separator so that
2952 the logic to cleanup the nested div checks the right condition (right beneath it starting with a long comment).
2953 (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace): Insert a space for smart paste at the appropriate
2954 offset instead of at the end of endNode. Also update the layout before obtaining startDownstream as we may have
2955 modified the DOM by inserting a space for endNode. Finally, a non-breaking space should be treated like a space
2956 isCharacterSmartReplaceExempt for the purpose of smart replace. e.g. if we're inserting "world" after
2957 "hello ", we shouldn't be inserting another space between "hello" and "world".
2958 (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
2959 (WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition): Added. Merge text nodes around position, and
2960 adjust position and positionOnlyToBeUpdated accordingly. We need to call updatePositionForNodeRemoval when
2961 positions were before or after the text node.
2962 * editing/ReplaceSelectionCommand.h:
2963 (ReplaceSelectionCommand):
2965 2012-10-04 Tony Chang <tony@chromium.org>
2967 Fix <input type="month"> tests
2968 https://bugs.webkit.org/show_bug.cgi?id=98426
2970 Reviewed by Ojan Vafai.
2972 The month picker uses flexbox and assumes that it will be aligned with
2973 the last line box. This looks visually correct. I will follow up on
2974 www-style to see what the expected behavior is.
2976 Tests: fast/forms/month-multiple-fields tests cover this.
2978 * rendering/RenderFlexibleBox.cpp:
2979 * rendering/RenderFlexibleBox.h:
2981 2012-10-04 Sheriff Bot <webkit.review.bot@gmail.com>
2983 Unreviewed, rolling out r130396.
2984 http://trac.webkit.org/changeset/130396
2985 https://bugs.webkit.org/show_bug.cgi?id=98421
2987 This patch is causing crashes on 4 tests on Lion Debug and
2988 Mountain Lion Debug (Requested by jernoble on #webkit).
2990 * rendering/RenderLayerCompositor.cpp:
2991 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2992 (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2993 * rendering/RenderLayerCompositor.h:
2994 * testing/InternalSettings.cpp:
2995 (WebCore::InternalSettings::Backup::Backup):
2996 (WebCore::InternalSettings::Backup::restoreTo):
2997 * testing/InternalSettings.h:
3000 2012-10-04 Tony Chang <tony@chromium.org>
3002 inline-flex baseline is sometimes wrong
3003 https://bugs.webkit.org/show_bug.cgi?id=96188
3005 Reviewed by Ojan Vafai.
3007 Implement the necessary methods to get the proper baseline alignment of flexbox.
3008 We were falling back to the inline-block behavior.
3010 Test: css3/flexbox/flexbox-baseline.html
3012 * rendering/RenderFlexibleBox.cpp:
3013 (WebCore::RenderFlexibleBox::RenderFlexibleBox):
3014 (WebCore::RenderFlexibleBox::baselinePosition): Used to get the baseline of the box.
3015 Mostly just the first line box baseline.
3017 (WebCore::RenderFlexibleBox::lastLineBoxBaseline): This is used for getting the baseline when in an inline-block.
3018 We actually don't want the last line, but the flexbox's baseline.
3019 (WebCore::RenderFlexibleBox::firstLineBoxBaseline): Compute the baseline according to the rules in the spec.
3020 (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): Keep track of the number of children on the
3021 first line so we don't have to re-compute this when getting the baseline.
3022 (WebCore::RenderFlexibleBox::crossAxisExtentForChild): Make const.
3023 (WebCore::RenderFlexibleBox::mainAxisExtentForChild): Make const.
3024 (WebCore::RenderFlexibleBox::hasAutoMarginsInCrossAxis): Make const.
3025 * rendering/RenderFlexibleBox.h: Add a size_t to keep track of how many children are in the first line.
3027 2012-10-04 Xianzhu Wang <wangxianzhu@chromium.org>
3029 [Chromium] Should set unitsPerEm in SimpleFontDataSkia.cpp
3030 https://bugs.webkit.org/show_bug.cgi?id=98100
3032 Reviewed by Stephen White.
3034 At least on chromium-linux and chromium-android, unitsPerEm was not set
3035 according to the information in the font, causing at least problems in
3036 OpenTypeVerticalData when calculating vertical advance.
3038 Test: fast/writing-mode/vertical-font-vmtx-units-per-em.html
3040 * platform/graphics/skia/SimpleFontDataSkia.cpp:
3041 (WebCore::SimpleFontData::platformInit):
3043 2012-10-04 Simon Fraser <simon.fraser@apple.com>
3045 Standardize on "flush" terminology for compositing layer flushing/syncing
3046 https://bugs.webkit.org/show_bug.cgi?id=98321
3048 Reviewed by Simon Fraser.
3050 Rename compositing-related methods that refer to "syncing" to instead
3051 refer to "flushing".
3054 * loader/EmptyClients.h:
3055 (WebCore::EmptyChromeClient::scheduleCompositingLayerFlush):
3056 * page/ChromeClient.h:
3058 * page/FrameView.cpp:
3059 (WebCore::FrameView::flushCompositingStateForThisFrame):
3060 (WebCore::FrameView::flushCompositingStateIncludingSubframes):
3061 (WebCore::FrameView::paintContents):
3064 * rendering/RenderLayerCompositor.cpp:
3065 (WebCore::RenderLayerCompositor::scheduleLayerFlush):
3066 (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
3068 2012-10-04 Peter Rybin <peter.rybin@gmail.com>
3070 Web Inspector: expose object internal properties such as PrimitiveValue or BoundThis
3071 https://bugs.webkit.org/show_bug.cgi?id=94397
3073 Reviewed by Yury Semikhatsky.
3075 Internal property access is built from Injected Script to V8 debug API. JSC binding
3076 has a stub imlpementation. Protocol is updated to explicitly reflect internal properties.
3078 Test: inspector-protocol/runtime-getProperties.html
3080 * bindings/js/JSInjectedScriptHostCustom.cpp:
3081 (WebCore::JSInjectedScriptHost::getInternalProperties):
3083 * bindings/v8/DebuggerScript.js:
3084 * bindings/v8/ScriptDebugServer.cpp:
3085 (WebCore::ScriptDebugServer::getInternalProperties):
3087 * bindings/v8/ScriptDebugServer.h:
3088 (ScriptDebugServer):
3089 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3090 (WebCore::V8InjectedScriptHost::getInternalPropertiesCallback):
3092 * inspector/InjectedScript.cpp:
3093 (WebCore::InjectedScript::getInternalProperties):
3095 * inspector/InjectedScript.h:
3097 * inspector/InjectedScriptHost.idl:
3098 * inspector/InjectedScriptSource.js:
3100 * inspector/Inspector.json:
3101 * inspector/InspectorRuntimeAgent.cpp:
3102 (WebCore::InspectorRuntimeAgent::getProperties):
3103 * inspector/InspectorRuntimeAgent.h:
3104 (InspectorRuntimeAgent):
3106 2012-10-04 Sami Kyostila <skyostil@chromium.org>
3108 Fixed position visibility check does not consider descendants
3109 https://bugs.webkit.org/show_bug.cgi?id=98144
3111 Reviewed by Simon Fraser.
3113 The check against creating composition layers for invisible fixed positioned
3114 elements is too aggressive in that it does not consider descendants of the
3115 fixed positioned element that may be visible even though the element itself is
3118 Fix the problem by calculating the true composited bounds of the fixed
3119 element instead of just using the size of the fixed layer. Because calculating
3120 the true bounds may be expensive, it is only done if the fixed layer itself is
3123 Test: compositing/layer-creation/fixed-position-absolute-descendant.html
3125 * rendering/RenderLayerCompositor.cpp:
3126 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3127 (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
3128 * rendering/RenderLayerCompositor.h:
3130 2012-10-04 Vsevolod Vlasov <vsevik@chromium.org>
3132 Web Inspector: When uiSourceCode content has diverged from VM script, call frames should be shown in temporary script based uiSourceCodes.
3133 https://bugs.webkit.org/show_bug.cgi?id=98385
3135 Reviewed by Pavel Feldman.
3137 When javaScriptSource diverges from VM, ResourceScriptMapping now switches debugging
3138 to temporary VM scripts based uiSourceCode with isDivergedReplacement property set.
3139 Added hasDivergedFromVM and isDivergingFromVM properties to JavaScriptSource.
3140 JavaScriptSourceFrame and ScriptSnippetsModel are updated to process breakpoint changes correctly.
3142 * inspector/front-end/BreakpointManager.js:
3143 (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
3144 (WebInspector.BreakpointManager.prototype._uiSourceCodeRemoved):
3145 * inspector/front-end/JavaScriptSource.js:
3146 (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
3147 (WebInspector.JavaScriptSource.prototype.workingCopyChanged):
3148 (WebInspector.JavaScriptSource.prototype.fireHasDivergedFromVMChanged):
3149 * inspector/front-end/JavaScriptSourceFrame.js:
3150 (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
3151 (WebInspector.JavaScriptSourceFrame.prototype._hasDivergedFromVM):
3152 (WebInspector.JavaScriptSourceFrame.prototype.onTextChanged):
3153 (WebInspector.JavaScriptSourceFrame.prototype._getBreakpointDecorations):
3154 (WebInspector.JavaScriptSourceFrame.prototype._muteBreakpointsWhileEditing):
3155 (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
3156 (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
3157 (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
3158 * inspector/front-end/ResourceScriptMapping.js:
3159 (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
3160 (WebInspector.ResourceScriptMapping.prototype._hasDivergedFromVMChanged):
3161 (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
3162 (WebInspector.ResourceScriptMapping.prototype._getOrCreateTemporaryUISourceCode):
3163 * inspector/front-end/ScriptSnippetModel.js:
3164 (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
3165 (WebInspector.ScriptSnippetModel.prototype._restoreBreakpoints):
3166 * inspector/front-end/ScriptsPanel.js:
3167 (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
3168 * inspector/front-end/UISourceCode.js:
3169 (WebInspector.UISourceCode.prototype.formatted):
3171 2012-10-04 Vsevolod Vlasov <vsevik@chromium.org>
3173 Web Inspector: Scripts panel should not automatically switch to snippet evaluation when previously evaluated snippet is edited.
3174 https://bugs.webkit.org/show_bug.cgi?id=98402
3176 Reviewed by Pavel Feldman.
3178 Scripts panel does not automatically switch to snippet evaluation when
3179 one edits previously evaluated snippet.
3181 * inspector/front-end/ScriptSnippetModel.js:
3182 (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
3183 * inspector/front-end/ScriptsPanel.js:
3184 (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
3186 2012-10-04 Balazs Kelemen <kbalazs@webkit.org>
3188 Don't allow to disable compositing in forced compositing mode
3189 https://bugs.webkit.org/show_bug.cgi?id=98048
3191 Reviewed by Jocelyn Turcotte.
3193 Make forced compositing mode imply accelerated compositing. This will
3194 avoid unexpected situations for platforms that don't want to support
3195 the non-accelerated rendering path.
3197 Covered by existing tests.
3199 * WebCore.exp.in: Export Settings::setAcceleratedCompositingEnabled
3200 because it has been deinlined.
3201 * page/Settings.cpp:
3202 (WebCore::Settings::setAcceleratedCompositingEnabled):
3203 (WebCore::Settings::setForceCompositingMode):
3207 (WebCore::Settings::forceCompositingMode): Make it const as a side fix.
3209 2012-10-04 Harald Alvestrand <hta@google.com>
3211 Change RTCPeerConnection GetStats to use Date timestamp format
3212 https://bugs.webkit.org/show_bug.cgi?id=98263
3214 Reviewed by Yury Semikhatsky.
3216 Tested by extension to RTCPeerConnection-stats test.
3218 * Modules/mediastream/RTCStatsElement.cpp:
3219 (WebCore::RTCStatsElement::create):
3220 (WebCore::RTCStatsElement::RTCStatsElement):
3221 * Modules/mediastream/RTCStatsElement.h: long -> double
3223 (WebCore::RTCStatsElement::timestamp):
3224 * Modules/mediastream/RTCStatsElement.idl: long -> Date
3225 * Modules/mediastream/RTCStatsReport.cpp:
3226 (WebCore::RTCStatsReport::addElement):
3227 * Modules/mediastream/RTCStatsReport.h:
3229 * Modules/mediastream/RTCStatsResponse.cpp:
3230 (WebCore::RTCStatsResponse::addElement):
3231 * Modules/mediastream/RTCStatsResponse.h:
3233 * platform/chromium/support/WebRTCStatsResponse.cpp:
3234 (WebKit::WebRTCStatsResponse::addElement):
3235 * platform/mediastream/RTCStatsResponseBase.h:
3236 (RTCStatsResponseBase):
3238 2012-10-04 Sheriff Bot <webkit.review.bot@gmail.com>
3240 Unreviewed, rolling out r130377.
3241 http://trac.webkit.org/changeset/130377
3242 https://bugs.webkit.org/show_bug.cgi?id=98392
3244 Chromium Win compilation is broken (Requested by yurys on
3247 * Modules/mediastream/RTCStatsElement.cpp:
3248 (WebCore::RTCStatsElement::create):
3249 (WebCore::RTCStatsElement::RTCStatsElement):
3250 * Modules/mediastream/RTCStatsElement.h:
3252 (WebCore::RTCStatsElement::timestamp):
3253 * Modules/mediastream/RTCStatsElement.idl:
3254 * Modules/mediastream/RTCStatsReport.cpp:
3255 (WebCore::RTCStatsReport::addElement):
3256 * Modules/mediastream/RTCStatsReport.h:
3258 * Modules/mediastream/RTCStatsResponse.cpp:
3259 (WebCore::RTCStatsResponse::addElement):
3260 * Modules/mediastream/RTCStatsResponse.h:
3262 * platform/chromium/support/WebRTCStatsResponse.cpp:
3263 (WebKit::WebRTCStatsResponse::addElement):
3264 * platform/mediastream/RTCStatsResponseBase.h:
3265 (RTCStatsResponseBase):
3267 2012-10-04 Harald Alvestrand <hta@google.com>
3269 Change RTCPeerConnection GetStats to use Date timestamp format
3270 https://bugs.webkit.org/show_bug.cgi?id=98263
3272 Reviewed by Adam Barth.
3274 Tested by extension to RTCPeerConnection-stats test.
3276 * Modules/mediastream/RTCStatsElement.cpp:
3277 (WebCore::RTCStatsElement::create):
3278 (WebCore::RTCStatsElement::RTCStatsElement):
3279 * Modules/mediastream/RTCStatsElement.h: long -> double
3281 (WebCore::RTCStatsElement::timestamp):
3282 * Modules/mediastream/RTCStatsElement.idl: long -> Date
3283 * Modules/mediastream/RTCStatsReport.cpp:
3284 (WebCore::RTCStatsReport::addElement):
3285 * Modules/mediastream/RTCStatsReport.h:
3287 * Modules/mediastream/RTCStatsResponse.cpp:
3288 (WebCore::RTCStatsResponse::addElement):
3289 * Modules/mediastream/RTCStatsResponse.h:
3291 * platform/chromium/support/WebRTCStatsResponse.cpp:
3292 (WebKit::WebRTCStatsResponse::addElement):
3293 * platform/mediastream/RTCStatsResponseBase.h:
3294 (RTCStatsResponseBase):
3296 2012-10-05 Kent Tamura <tkent@chromium.org>
3298 [Chromium] Enable the multiple fields UI for input[type=date]
3299 https://bugs.webkit.org/show_bug.cgi?id=98351
3301 Reviewed by Hajime Morita.
3303 Touch files related to ENABLE_INPUT_TYPE_DATE_LEGACY_UI to avoid build
3306 No new tests. Many tests will be landed shortly.
3308 * html/DateInputType.cpp:
3309 * html/DateInputType.h:
3311 2012-10-04 Kent Tamura <tkent@chromium.org>
3313 Add code for input[type=date] with the multiple fields UI
3314 https://bugs.webkit.org/show_bug.cgi?id=98340
3316 Reviewed by Hajime Morita.
3318 The new code is available if !ENABLE(INPUT_TYPE_DATE_LEGACY_UI). At this
3319 moment, there are no platforms enabling the new code. We're going to
3320 enable it soon on desktop Chromium, and add tests. Then we're going to
3321 remove the code for ENABLE(INPUT_TYPE_DATE_LEGACY_UI).
3323 ENABLE(INPUT_TYPE_DATE_LEGACY_UI) means the current UI; input[type=date]
3324 is represetnted as a kind of text field, and it has code to invoke a
3326 ENABLE(CALENDAR_PICKER) was used wrongly. It meant calendar picker
3327 support + text field UI of input[type=date]. Now it means only calendar
3330 * html/DateInputType.h:
3331 (WebCore): If ENABLE(INPUT_MULTIPLE_FIELDS_UI) &&
3332 !ENABLE(INPUT_TYPE_DATE_LEGACY_UI), change the base class to the class
3333 for multiple fields UI.
3334 (DateInputType): Wrap the code for text fields behavior and calendar
3335 picker UI with ENABLE(INPUT_TYPE_DATE_LEGACY_UI). Add functions for
3336 ENABLE(INPUT_MULTIPLE_FIELDS_UI)
3337 * html/DateInputType.cpp:
3338 (WebCore::DateInputType::DateInputType):
3339 Change the flag name; CALENDAR_PICKER -> INPUT_TYPE_DATE_LEGACY_UI
3341 (WebCore::DateInputType::formatDateTimeFieldsState):
3342 A callback for multiple fields UI. This constructs a string value from
3343 each of values of multiple fields.
3344 Note that we don't need to do +1 to month().
3345 (WebCore::DateInputType::setupLayoutParameters):
3346 A callback for multiple fields UI. Passes information to build UI.
3348 * html/BaseMultipleFieldsDateAndTimeInputType.h:
3349 (BaseMultipleFieldsDateAndTimeInputType):
3350 Add m_pickerIndicatorIsAlwaysVisible member, wrap some members with flags.
3351 * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
3352 (WebCore::BaseMultipleFieldsDateAndTimeInputType::BaseMultipleFieldsDateAndTimeInputType):
3353 Initialize m_pickerIndicatorIsAlwaysVisible.
3354 (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree):
3355 If a type supports calendar picker, we should always show the picker
3356 indicator. We introduce m_pickerIndicatorIsAlwaysVisible flag, and ask
3357 RenderTheme for support status of each of types.
3358 Add a local variable 'document' to avoid multiple element()->document().
3359 (WebCore::BaseMultipleFieldsDateAndTimeInputType::updatePickerIndicatorVisibility):
3360 - If m_pickerIndicatorIsAlwaysVisible, don't hide the picker indicator element.
3361 - Wrap the code with appropriate flags.
3363 * rendering/RenderTheme.h:
3364 (WebCore::RenderTheme::supportsCalendarPicker): Added.
3365 * rendering/RenderThemeChromiumMac.h: Override supportsCalendarPicker.
3366 * rendering/RenderThemeChromiumMac.mm:
3367 (WebCore::RenderThemeChromiumMac::supportsCalendarPicker):
3368 Added. Delegate to RenderThemeChromiumCommon.
3369 * rendering/RenderThemeChromiumSkia.h: Override supportsCalendarPicker.
3370 * rendering/RenderThemeChromiumSkia.cpp:
3371 (WebCore::RenderThemeChromiumSkia::supportsCalendarPicker):
3372 Added. Delegate to RenderThemeChromiumCommon.
3373 * rendering/RenderThemeChromiumCommon.h:
3374 (RenderThemeChromiumCommon): Declare supportsCalendarPicker.
3375 * rendering/RenderThemeChromiumCommon.cpp:
3376 (WebCore::RenderThemeChromiumCommon::supportsCalendarPicker):
3377 Returns true if the type is "date."
3379 * html/DateTimeFieldsState.h:
3380 (DateTimeFieldsState): Add a comment for the m_month field.
3382 2012-10-04 Kent Tamura <tkent@chromium.org>
3384 DateTimeYearFieldElement should respect min/max values specified by page authors
3385 https://bugs.webkit.org/show_bug.cgi?id=98227
3387 Reviewed by Hajime Morita.
3389 Before this patch, we always set 1 to the minimum limit and 275760 to
3390 the maximum limit for a year field, and a user can specify any year
3391 regardless of min/max attributes. Such wide range is unnecessary for
3392 normal applications and we should provide a way to limit the range.
3394 Test: fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html
3396 * html/shadow/DateTimeFieldElements.h:
3397 To add four constructor arguments, introduce Parameters struct.
3398 Actually, we add the followings;
3399 - minimum year in UI
3400 - maximum year in UI
3401 - min attribute is specified
3402 - max attribute is specified
3404 (WebCore::DateTimeYearFieldElement::Parameters::Parameters):
3405 (DateTimeYearFieldElement):
3406 * html/shadow/DateTimeFieldElements.cpp:
3407 (WebCore::DateTimeYearFieldElement::DateTimeYearFieldElement): ditto.
3408 (WebCore::DateTimeYearFieldElement::create): ditto.
3409 (WebCore::DateTimeYearFieldElement::clampValueForHardLimits):
3410 Override DateTimeNumericFieldElement::clampValueForHardLimits.
3411 By this, we allow to set out-of-range year values.