:first-line pseudo selector ignoring words created from :before
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-10-07  Arpita Bahuguna  <arpitabahuguna@gmail.com>
2
3         :first-line pseudo selector ignoring words created from :before
4         https://bugs.webkit.org/show_bug.cgi?id=80794
5
6         Reviewed by Daniel Bates.
7
8         The :first-line pseudo-element style is not applied for content
9         which is generated from the :before/:after pseudo-elements.
10
11         Test: fast/css/first-line-style-for-before-after-content.html
12
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.
20
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.
25
26         (WebCore):
27         (WebCore::RenderObject::uncachedFirstLineStyle):
28         (WebCore::RenderObject::firstLineStyleSlowCase):
29         Moved the duplicate code between the two functions to the common
30         helper function firstLineStyleForCachedUncachedType().
31
32 2012-10-07  Peter Wang  <peter.wang@torchmobile.com.cn>
33
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
36
37         Reviewed by Yury Semikhatsky.
38
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.
41
42         No new test case. This patch can be verified with cases in "LayoutTests/inspector/debugger/".
43
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:
50         (ScriptDebugServer):
51
52 2012-10-07  Martin Robinson  <mrobinson@igalia.com>
53
54         [Soup] Clean up ResourceError creation
55         https://bugs.webkit.org/show_bug.cgi?id=98521
56
57         Reviewed by Carlos Garcia Campos.
58
59         Simplify the creation of ResourcErrors in ResourceHandleSoup. This is
60         part of a process to make the libsoup networking backend more hackable.
61
62         No new tests. This shouldn't change functionality.
63
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.
79
80 2012-10-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
81
82         Rename first/second to key/value in HashMap iterators
83         https://bugs.webkit.org/show_bug.cgi?id=82784
84
85         Reviewed by Eric Seidel.
86
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:
236         (ObjectMap::add):
237         (ObjectMap::remove):
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):
266         * css/RuleSet.cpp:
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):
287         * dom/Document.cpp:
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):
314         * dom/Node.cpp:
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:
409         (WebCore):
410         * inspector/InspectorMemoryAgent.cpp:
411         (WebCore):
412         * inspector/InspectorPageAgent.cpp:
413         (WebCore::cachedResourcesForFrame):
414         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
415         (WebCore::InspectorPageAgent::frameDetached):
416         * inspector/InspectorProfilerAgent.cpp:
417         (WebCore::InspectorProfilerAgent::getProfileHeaders):
418         (WebCore):
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):
512         * page/Frame.cpp:
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):
529         * page/Settings.cpp:
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:
574         (WebKit::addHeader):
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:
911         (isAxisName):
912         * xml/XSLTProcessorLibxslt.cpp:
913         (WebCore::xsltParamArrayFromParameterMap):
914         * xml/XSLTProcessorQt.cpp:
915         (WebCore::XSLTProcessor::transformToString):
916
917 2012-10-07  Geoffrey Garen  <ggaren@apple.com>
918
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
921
922         Reviewed by Darin Adler.
923
924         Since DOM modification can happen outside of JS, calls into JS due to
925         DOM modification need to take the JS lock.
926
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.
930
931         * bindings/js/JSNodeCustom.h:
932         (WebCore::willCreatePossiblyOrphanedTreeByRemoval): Split out a slow case
933         to help the inliner.
934
935 2012-10-07  Nick Carter  <nick@chromium.org>
936
937         [chromium] Crash in WebCore::GraphicsLayerChromium::setContentsToImage
938         https://bugs.webkit.org/show_bug.cgi?id=98456
939
940         Reviewed by James Robinson.
941
942         Handle null return of nativeImageForCurrentFrame.
943
944         Test: compositing/images/truncated-direct-png-image.html
945
946         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
947         (WebCore::GraphicsLayerChromium::setContentsToImage):
948
949 2012-10-07  Benjamin Poulain  <benjamin@webkit.org>
950
951         WTFURL: implement URL port removal for HTMLAnchorElement
952         https://bugs.webkit.org/show_bug.cgi?id=98604
953
954         Reviewed by Adam Barth.
955
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.
961
962 2012-10-05  Dirk Schulze  <krit@webkit.org>
963
964         SVG radialGradient should support 'fr' for focal radius (just like Canvas)
965         https://bugs.webkit.org/show_bug.cgi?id=97986
966
967         Reviewed by Daniel Bates.
968
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
971         the focal radius.
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.
974
975         Test: svg/custom/radialGradient-focal-radius.svg
976
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:
996         (WebCore):
997         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
998         (WebCore::SVGRadialGradientElement::isSupportedAttribute):
999         (WebCore::SVGRadialGradientElement::parseAttribute):
1000         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
1001         (WebCore::SVGRadialGradientElement::selfHasRelativeLengths):
1002             Ditto.
1003         * svg/SVGRadialGradientElement.h:
1004         (SVGRadialGradientElement):
1005         * svg/SVGRadialGradientElement.idl:
1006         * svg/svgattrs.in:
1007             Add 'fr' as new attribute to the SVG attribute list.
1008
1009 2012-10-07  Glenn Adams  <glenn@skynav.com>
1010
1011         Use start instead of -webkit-auto in default and quirks mode stylesheets.
1012         https://bugs.webkit.org/show_bug.cgi?id=98609
1013
1014         Reviewed by Antti Koivisto.
1015
1016         Change text-align use of legacy '-webkit-auto' to 'start' in the few places where it is used
1017         in default/quirks stylesheets.
1018         
1019         No new tests. No change of rendering/styling behavior. No performance impact.
1020
1021         * css/html.css:
1022         (input, textarea, keygen, select, button, isindex):
1023         (ruby > rt):
1024         * css/quirks.css:
1025         (table):
1026
1027 2012-10-06  Raul Hudea  <rhudea@adobe.com>
1028
1029         -webkit-clip-path should parse IRIs
1030         https://bugs.webkit.org/show_bug.cgi?id=96381
1031
1032         Reviewed by Andreas Kling.
1033
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.
1036
1037         Tests: css3/masking/clip-path-reference-userSpaceOnUse.html
1038                css3/masking/clip-path-reference.html
1039                fast/masking/parsing-clip-path-iri.html
1040
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):
1054         (WebCore):
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.
1059
1060 2012-10-06  Pratik Solanki  <psolanki@apple.com>
1061
1062         Reduce calls to CGImageSourceCopyPropertiesAtIndex from frameSizeAtIndex
1063         https://bugs.webkit.org/show_bug.cgi?id=98607
1064
1065         Reviewed by Dan Bernstein.
1066
1067         Refactor code so that we avoid a second call to CGImageSourceCopyPropertiesAtIndex under
1068         ImageSource::frameSizeAtIndex().
1069
1070         No new tests because no functional change.
1071
1072         * platform/graphics/cg/ImageSourceCG.cpp:
1073         (WebCore::orientationFromProperties):
1074         (WebCore):
1075         (WebCore::ImageSource::frameSizeAtIndex):
1076         (WebCore::ImageSource::orientationAtIndex):
1077
1078 2012-10-06  Mark Rowe  <mrowe@apple.com>
1079
1080         Build fix.
1081
1082         Stop calling -[NSSliderCell setTitle:]. It's never done anything on OS X.
1083
1084         * rendering/RenderThemeMac.mm:
1085         (WebCore::RenderThemeMac::sliderThumbHorizontal):
1086         (WebCore::RenderThemeMac::sliderThumbVertical):
1087
1088 2012-10-06  Andreas Kling  <kling@webkit.org>
1089
1090         Clipboard::types() should return an ordered collection.
1091         <http://webkit.org/b/98547>
1092
1093         Reviewed by Darin Adler.
1094
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.
1097
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.
1100
1101         * bindings/js/JSClipboardCustom.cpp:
1102         (WebCore::JSClipboard::types):
1103         * bindings/v8/custom/V8ClipboardCustom.cpp:
1104         (WebCore::V8Clipboard::typesAccessorGetter):
1105         * dom/Clipboard.h:
1106         (Clipboard):
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:
1122         (ClipboardEfl):
1123         * platform/gtk/ClipboardGtk.cpp:
1124         (WebCore::ClipboardGtk::types):
1125         * platform/gtk/ClipboardGtk.h:
1126         (ClipboardGtk):
1127         * platform/mac/ClipboardMac.h:
1128         (ClipboardMac):
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:
1135         (ClipboardQt):
1136         * platform/win/ClipboardWin.cpp:
1137         (WebCore::addMimeTypesForFormat):
1138         (WebCore::ClipboardWin::types):
1139         * platform/win/ClipboardWin.h:
1140         (ClipboardWin):
1141         * platform/wx/ClipboardWx.cpp:
1142         (WebCore::ClipboardWx::types):
1143         * platform/wx/ClipboardWx.h:
1144         (ClipboardWx):
1145
1146 2012-10-06  Geoffrey Garen  <ggaren@apple.com>
1147
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
1150
1151         Reviewed by Gavin Barraclough.
1152
1153         Follow-up patch to address some comments by Darin Adler.
1154
1155         * bindings/js/JSNodeCustom.h:
1156         (WebCore::willCreatePossiblyOrphanedTreeByRemoval): Save some space by
1157         collapsing comment lines. Use Node::hasChildNodes() for brevity.
1158
1159 2012-10-06  Benjamin Poulain  <benjamin@webkit.org>
1160
1161         Fix weird use of KURL's protocolIs
1162         https://bugs.webkit.org/show_bug.cgi?id=98584
1163
1164         Reviewed by Adam Barth.
1165
1166         Converting a KURL to string is a bad idea.
1167
1168         Invalid URLs can return a string that pass the tests, while an
1169         invalid URL will fail protocolIs().
1170
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):
1177
1178 2012-10-06  Dan Bernstein  <mitz@apple.com>
1179
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
1182
1183         Reviewed by Darin Adler.
1184
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.
1193
1194 2012-10-04  Geoffrey Garen  <ggaren@apple.com>
1195
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
1198
1199         Reviewed by Gavin Barraclough.
1200
1201         * bindings/js/JSNodeCustom.cpp:
1202         (WebCore::isObservable): Clarified this comment, since it seems to have
1203         misled some folks. 
1204
1205         * bindings/js/JSNodeCustom.h:
1206         (WebCore::willCreatePossiblyOrphanedTreeByRemoval): New helper function
1207         to ensure that a disconnected tree is visible to JavaScript.
1208
1209         * bindings/js/ScriptState.cpp:
1210         (WebCore::mainWorldScriptState): Need to check for null because a document's
1211         frame can be null.
1212
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.
1218
1219 2012-10-06  Byungwoo Lee  <bw80.lee@samsung.com>
1220
1221         Fix build warning : -Wunused-parameter.
1222         https://bugs.webkit.org/show_bug.cgi?id=98583
1223
1224         Reviewed by Kentaro Hara.
1225
1226         Use ASSERT_UNUSED() macro to remove build warning.
1227
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):
1237
1238 2012-10-05  Adam Barth  <abarth@webkit.org>
1239
1240         [V8] toV8(Node*, ...) does more work than needed (6% faster on dom-traverse)
1241         https://bugs.webkit.org/show_bug.cgi?id=98567
1242
1243         Reviewed by Kentaro Hara.
1244
1245         This patch introduces toV8Fast for Node*. This function works a
1246         differently from the existing toV8 function in two ways:
1247
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.
1252
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.
1257
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.
1262
1263         * bindings/scripts/CodeGeneratorV8.pm:
1264         (GenerateHeader):
1265         (GenerateNormalAttrGetter):
1266
1267 2012-10-05  Huang Dongsung  <luxtella@company100.net>
1268
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
1271
1272         Reviewed by Simon Fraser.
1273
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.)
1277
1278         * loader/cache/CachedImage.cpp:
1279         (WebCore::CachedImage::shouldPauseAnimation):
1280         * loader/cache/CachedImage.h:
1281         (CachedImage):
1282         * loader/cache/CachedResource.h:
1283         * loader/cache/MemoryCache.cpp:
1284         (WebCore::MemoryCache::pruneLiveResourcesToSize):
1285         * rendering/RenderObject.cpp:
1286         (WebCore::RenderObject::willRenderImage):
1287
1288 2012-10-05  Xianzhu Wang  <wangxianzhu@chromium.org>
1289
1290         OpenTypeVerticalData issue with DroidSansFallback.ttf on chromium-android and chromium-linux
1291         https://bugs.webkit.org/show_bug.cgi?id=97824
1292
1293         Reviewed by Tony Chang.
1294
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
1297         handle the case.
1298
1299         Test: fast/writing-mode/vertical-subst-font-vert-no-dflt.html
1300
1301         * platform/graphics/opentype/OpenTypeVerticalData.cpp:
1302         (FeatureList):
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.
1305
1306 2012-10-05  Tony Chang  <tony@chromium.org>
1307
1308         Form controls should always be horizontal
1309         https://bugs.webkit.org/show_bug.cgi?id=98563
1310
1311         Reviewed by Ojan Vafai.
1312
1313         Fix a regression where we didn't force form controls to be horizontal.
1314
1315         Tests: fast/dom/HTMLMeterElement/meter-writing-mode.html
1316                fast/dom/HTMLProgressElement/progress-writing-mode.html
1317                fast/table/colspanMinWidth-vertical.html
1318
1319         * css/html.css:
1320         (input, textarea, keygen, select, button, isindex, meter, progress):
1321
1322 2012-10-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1323
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
1328
1329         The patch wasn't reviewed by a reviewer and it is breaking
1330         Chromium Windows (Requested by jchaffraix on #webkit).
1331
1332         * WebCore.exp.in:
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:
1347         (HTMLMediaElement):
1348         * html/shadow/MediaControlElements.cpp:
1349         (WebCore):
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:
1358         (MediaControls):
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):
1368         (TextTrack):
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):
1376         (WebCore):
1377         (WebCore::TextTrackCue::updateDisplayTree):
1378         * html/track/TextTrackCue.h:
1379         (TextTrackCueBox):
1380         (TextTrackCue):
1381         * platform/mac/WebCoreSystemInterface.h:
1382         * platform/mac/WebCoreSystemInterface.mm:
1383         * rendering/CaptionPreferencesChangedListener.h: Removed.
1384         * rendering/RenderTheme.h:
1385         (WebCore):
1386         (RenderTheme):
1387         * rendering/RenderThemeMac.h:
1388         (RenderThemeMac):
1389         * rendering/RenderThemeMac.mm:
1390         (WebCore):
1391         (WebCore::RenderThemeMac::RenderThemeMac):
1392         (WebCore::RenderThemeMac::~RenderThemeMac):
1393
1394 2012-10-05  Tim Horton  <timothy_horton@apple.com>
1395
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>
1399
1400         Reviewed by Simon Fraser.
1401
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.
1404
1405         No new tests, as this requires an obscure configuration to test.
1406
1407         * WebCore.exp.in:
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.
1413
1414 2012-10-05  Anders Carlsson  <andersca@apple.com>
1415
1416         Try to fix the build.
1417
1418         * rendering/RenderThemeMac.mm:
1419         (WebCore::RenderThemeMac::captionsWindowColor):
1420
1421 2012-10-05  Eric Seidel  <eric@webkit.org>
1422
1423         Remove needless virtual calls and inline RenderStyle::logical* to make table layout faster
1424         https://bugs.webkit.org/show_bug.cgi?id=98550
1425
1426         Reviewed by Andreas Kling.
1427
1428         This shaved another 5% (100ms) off of the runtime of resizecol.html microbenchmark:
1429         http://www.robohornet.org/tests/resizecol.html
1430
1431         * rendering/AutoTableLayout.cpp:
1432         (WebCore::AutoTableLayout::recalcColumn):
1433         * rendering/style/RenderStyle.cpp:
1434         * rendering/style/RenderStyle.h:
1435
1436 2012-10-04  Eric Carlson  <eric.carlson@apple.com>
1437
1438         Allow ports to override text track rendering style
1439         https://bugs.webkit.org/show_bug.cgi?id=97800
1440         <rdar://problem/12044964>
1441
1442         Reviewed by Silvia Pfeiffer.
1443
1444         * WebCore.exp.in: Export new WebkitSystemInterface functions.
1445         * WebCore.xcodeproj/project.pbxproj: Add CaptionPreferencesChangedListener.h.
1446
1447         * css/mediaControls.css: Rearrange the caption CSS so it is possible to style the cue window,
1448             background, and text independently.
1449
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.
1462
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:
1470
1471         * html/shadow/MediaControlRootElement.cpp:
1472         (WebCore::MediaControlRootElement::userCaptionPreferencesChanged): New.
1473         (WebCore::MediaControlRootElement::updateTextTrackDisplay):
1474         * html/shadow/MediaControlRootElement.h: Add userCaptionPreferencesChanged, minor cleanup.
1475
1476         * html/shadow/MediaControls.h:
1477         (WebCore::MediaControls::userCaptionPreferencesChanged): New.
1478
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:
1489
1490         * platform/mac/WebCoreSystemInterface.h: Updated.
1491         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1492
1493         * rendering/CaptionPreferencesChangedListener.h: Added.
1494
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.
1502
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 
1518             with a color value.
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 
1528             changes listener.
1529         (WebCore::RenderThemeMac::unregisterForCaptionPreferencesChangedCallbacks): Remove a caption preferences
1530             changes listener.
1531
1532 2012-10-05  Takashi Sakamoto  <tasak@google.com>
1533
1534         Inline continuations create :after generated content on style recalcs
1535         https://bugs.webkit.org/show_bug.cgi?id=93170
1536
1537         Reviewed by Abhishek Arya.
1538
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).
1547
1548         Tests: fast/css-generated-content/after-with-inline-continuation.html
1549                fast/css-generated-content/dynamic-apply-after-for-inline.html
1550
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
1559         continuation.
1560         * rendering/RenderObjectChildList.cpp:
1561         (WebCore):
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.
1569
1570 2012-10-05  Simon Fraser  <simon.fraser@apple.com>
1571
1572         Don't assume that TileCache layers are opaque
1573         https://bugs.webkit.org/show_bug.cgi?id=98555
1574
1575         Reviewed by Dean Jackson.
1576
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.
1581         
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.
1586         
1587         Also tweak the layer border widths on tiled layers.
1588
1589         * platform/graphics/ca/mac/TileCache.h:
1590         (TileCache):
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:]):
1600
1601 2012-10-05  Tony Chang  <tony@chromium.org>
1602
1603         Fix margin box ascent computation in flexbox
1604         https://bugs.webkit.org/show_bug.cgi?id=98540
1605
1606         Reviewed by Ojan Vafai.
1607
1608         The margin box ascent doesn't depend on the margin below the box.
1609
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.
1612
1613         * rendering/RenderFlexibleBox.cpp:
1614         (WebCore::RenderFlexibleBox::marginBoxAscentForChild):
1615
1616 2012-10-05  Ojan Vafai  <ojan@chromium.org>
1617
1618         Deprecated flexboxes subtract scrollbar width/height twice
1619         https://bugs.webkit.org/show_bug.cgi?id=98552
1620
1621         Reviewed by Tony Chang.
1622
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.
1626
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).
1633
1634         Test: fast/flexbox/flexing-overflow-scroll-item.html
1635
1636         * rendering/RenderBox.cpp:
1637         (WebCore::RenderBox::overrideLogicalContentWidth):
1638         (WebCore::RenderBox::overrideLogicalContentHeight):
1639         (WebCore::RenderBox::availableLogicalHeightUsing):
1640         * rendering/RenderBox.h:
1641         (RenderBox):
1642         * rendering/RenderDeprecatedFlexibleBox.cpp:
1643         (WebCore::contentWidthForChild):
1644         (WebCore):
1645         (WebCore::contentHeightForChild):
1646         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
1647         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
1648         (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
1649
1650 2012-10-05  Eric Seidel  <eric@webkit.org>
1651
1652         Make tables which don't use col/row span much faster to layout
1653         https://bugs.webkit.org/show_bug.cgi?id=98221
1654
1655         Reviewed by Julien Chaffraix.
1656
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%!).
1663
1664         I removed m_hasHTMLTableCellElement (from http://trac.webkit.org/changeset/97691)
1665         since it was attempting to do the same sort of optimization.
1666
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):
1675         (RenderTableCell):
1676
1677 2012-10-05  Oli Lan  <olilan@chromium.org>
1678
1679         Allow EventHandler to handle longpress gestures, including longpress selection on Android.
1680         https://bugs.webkit.org/show_bug.cgi?id=98173
1681         
1682         Reviewed by Ryosuke Niwa.
1683
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.
1687
1688         This is tested via a new chromium test WebViewTest.LongPressSelection.  
1689
1690         * page/EventHandler.cpp:
1691         (WebCore::EventHandler::selectClosestWordFromHitTestResult):
1692         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
1693         (WebCore):
1694         (WebCore::EventHandler::handleGestureEvent):
1695         (WebCore::EventHandler::handleGestureLongPress):
1696         * page/EventHandler.h:
1697         (EventHandler):
1698
1699 2012-10-05  Tab Atkins  <jackalmage@gmail.com>
1700
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
1703
1704         Reviewed by Eric Seidel.
1705
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.
1709
1710         Tests: fast/css/MarqueeLayoutTest.html (rewritten from the older, bad version)
1711
1712         * rendering/RenderMarquee.cpp:
1713         (WebCore::RenderMarquee::updateMarqueeStyle):
1714
1715 2012-10-05  Joe Mason  <jmason@rim.com>
1716
1717         [BlackBerry] Fix regression in proxy auth
1718         https://bugs.webkit.org/show_bug.cgi?id=98533
1719
1720         Reviewed by Yong Li.
1721
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.
1727
1728         PR 220567.
1729
1730         * platform/network/blackberry/NetworkJob.cpp:
1731         (WebCore::NetworkJob::sendRequestWithCredentials):
1732
1733 2012-10-05  Jer Noble  <jer.noble@apple.com>
1734
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>
1738
1739         Reviewed by Alexey Proskuryakov.
1740
1741         Wrap each timer callback in an AutodrainPool, ensuring an autorelease
1742         pool is present during calls from C/C++ into ObjC.
1743
1744         * platform/cf/RunLoopTimerCF.cpp:
1745         (WebCore::timerFired):
1746
1747 2012-10-05  Ryosuke Niwa  <rniwa@webkit.org>
1748
1749         Deleting across multiple paragraphs can change the style of surrounding text
1750         https://bugs.webkit.org/show_bug.cgi?id=97266
1751
1752         Reviewed by Levi Weintraub.
1753
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.
1759
1760         Test: editing/deleting/merge-paragraph-with-style-from-rule.html
1761
1762         * editing/EditingStyle.cpp:
1763         (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
1764         (WebCore::EditingStyle::wrappingStyleForSerialization):
1765
1766 2012-10-05  Dan Bernstein  <mitz@apple.com>
1767
1768         Reversing a GlyphBuffer needlessly queries its size multiple times
1769         https://bugs.webkit.org/show_bug.cgi?id=98530
1770
1771         Reviewed by Simon Fraser.
1772
1773         No new tests because there is no change in behavior.
1774
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.
1781
1782 2012-10-05  JosĂ© Dapena Paz  <jdapena@igalia.com>
1783
1784         [GTK] Add support for creating EGL contexts
1785         https://bugs.webkit.org/show_bug.cgi?id=77921
1786
1787         Reviewed by Martin Robinson.
1788
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.
1792
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).
1796
1797         No new tests required, as existing WebGL and AC tests should cover
1798         the cases.
1799
1800         * GNUmakefile.am:
1801         * GNUmakefile.list.am:
1802         * platform/graphics/GraphicsContext3D.h:
1803         (GraphicsContext3D):
1804         * platform/graphics/OpenGLESShims.h:
1805         * platform/graphics/cairo/GLContext.cpp:
1806         (WebCore):
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:
1816         (GLContext):
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.
1827         (WebCore):
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.
1843         (WebCore):
1844         (GLContextEGL):
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):
1854         (WebCore):
1855         (WebCore::GLContextGLX::waitNative):
1856         * platform/graphics/glx/GLContextGLX.h:
1857         (GLContextGLX):
1858         * platform/graphics/mac/GraphicsContext3DMac.mm:
1859         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1860         (WebCore::GraphicsContext3D::releaseShaderCompiler):
1861         (WebCore):
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:
1873
1874 2012-10-04  Jon Lee  <jonlee@apple.com>
1875
1876         Add a setting to enable plugin snapshotting
1877         https://bugs.webkit.org/show_bug.cgi?id=98319
1878         <rdar://problem/12426480>
1879
1880         Reviewed by Brady Eidson.
1881
1882         Add a new bit for this preference.
1883
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.
1889
1890 2012-10-05  Vsevolod Vlasov  <vsevik@chromium.org>
1891
1892         Unreviewed inspector front-end closure compilaiton fixes.
1893
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):
1900
1901 2012-10-05  Tab Atkins  <jackalmage@gmail.com>
1902
1903         Replace uses of prefixed properties with unprefixed versions in the UA stylesheets
1904         https://bugs.webkit.org/show_bug.cgi?id=98453
1905
1906         Reviewed by Ojan Vafai.
1907
1908         Switched 'border-radius' and 'box-shadow' to their unprefixed version in the UA stylesheets.
1909
1910         No new tests, because the unprefixed properties have the same behavior as the prefixed.
1911
1912         * css/fullscreenQuickTime.css:
1913         (video:-webkit-full-screen::-webkit-media-controls-panel):
1914         * css/html.css:
1915         (keygen, select):
1916         (select[size][multiple]):
1917         (select[size="1"]):
1918         (::-webkit-validation-bubble-message):
1919         * css/themeBlackBerry.css:
1920         (input, textarea):
1921         * css/themeChromiumAndroid.css:
1922         (select[size][multiple]):
1923         * css/themeQtNoListboxes.css:
1924         (select[size][multiple]):
1925         * css/themeWin.css:
1926         (select[size="1"]):
1927         * css/view-source.css:
1928         (.webkit-html-message-bubble):
1929
1930 2012-10-05  Kevin Ellis  <kevers@chromium.org>
1931
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
1934
1935         Reviewed by Adam Barth.
1936
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
1943         excessive.
1944
1945         Covered by existing tests.
1946
1947         * platform/chromium/PopupListBox.cpp:
1948         (WebCore::PopupListBox::getRowHeight):
1949         * platform/chromium/PopupMenuChromium.cpp:
1950         (WebCore):
1951         * platform/chromium/PopupMenuChromium.h:
1952         (WebCore::PopupMenuChromium::optionRowHeightForTouch):
1953         (WebCore::PopupMenuChromium::setOptionRowHeightForTouch):
1954         (PopupMenuChromium):
1955
1956 2012-10-05  Alexander Pavlov  <apavlov@chromium.org>
1957
1958         Web Inspector: [Styles] Unable to edit properties in broken stylesheets
1959         https://bugs.webkit.org/show_bug.cgi?id=98246
1960
1961         Reviewed by Vsevolod Vlasov.
1962
1963         Pop source data for invalid rules off the stack whenever we have consecutive CSSParser::markRuleHeaderStart() invocations.
1964
1965         Test: inspector/styles/parse-stylesheet-errors.html
1966
1967         * css/CSSParser.cpp:
1968         (WebCore::CSSParser::popRuleData):
1969         (WebCore::CSSParser::markRuleHeaderStart):
1970         (WebCore::CSSParser::markRuleBodyStart):
1971         * css/CSSParser.h:
1972         (CSSParser):
1973
1974 2012-10-05  Gabor Rapcsanyi  <rgabor@webkit.org>
1975
1976         Add ARM-NEON support to VectorMath in WebAudio
1977         https://bugs.webkit.org/show_bug.cgi?id=98131
1978
1979         Reviewed by Zoltan Herczeg.
1980
1981         Speed up vector operations in WebAudio with NEON intrinsics.
1982
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):
1991
1992 2012-10-05  Simon Hausmann  <simon.hausmann@digia.com>
1993
1994         Unreviewed, rolling out r130495.
1995         http://trac.webkit.org/changeset/130495
1996         https://bugs.webkit.org/show_bug.cgi?id=98268
1997
1998         Made WK2 tests crash.
1999
2000         * Target.pri:
2001         * platform/qt/QStyleFacade.cpp: Removed.
2002         * platform/qt/QStyleFacade.h: Removed.
2003
2004 2012-10-05  Simon Hausmann  <simon.hausmann@digia.com>
2005
2006         [Qt] Make RenderThemeQStyle/ScrollbarThemeQStyle compile without QStyle/QtWidgets
2007         https://bugs.webkit.org/show_bug.cgi?id=98268
2008
2009         Reviewed by Tor Arne Vestbø.
2010
2011         Extracted QStyle/QWidget related code into a QWebStyle class that implements the QStyleFacade interface.
2012
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.
2021
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.
2025
2026         The new RenderThemeQStyle/ScrolllbarThemeQStyle uses common code in
2027         StylePainterQStyle to populate state into QStyleFacadeOption before
2028         calling into QStyleFacade.
2029
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.
2033
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
2037         any WebCore types.
2038
2039         * Target.pri:
2040         * platform/qt/QStyleFacade.cpp: Added.
2041         (WebCore):
2042         (WebCore::QStyleFacade::styleForPage):
2043         * platform/qt/QStyleFacade.h: Added.
2044         (WebCore):
2045         (QStyleFacade):
2046         (WebCore::QStyleFacade::~QStyleFacade):
2047         (WebCore::QStyleFacadeOption::QStyleFacadeOption):
2048         (QStyleFacadeOption):
2049         * platform/qt/RenderThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.cpp.
2050         (WebCore):
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.
2088         (WebCore):
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.
2104         (WebCore):
2105         (WebCore::ScrollbarThemeQStyle::ScrollbarThemeQStyle):
2106         (WebCore::ScrollbarThemeQStyle::~ScrollbarThemeQStyle):
2107         (WebCore::scPart):
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.
2121         (WebCore):
2122         (ScrollbarThemeQStyle):
2123         (WebCore::ScrollbarThemeQStyle::qStyle):
2124
2125 2012-10-05  Andrei Bucur  <abucur@adobe.com>
2126
2127         Incomplete repaint of boxes with inset box-shadow and padding when resized
2128         https://bugs.webkit.org/show_bug.cgi?id=59863
2129
2130         Reviewed by Simon Fraser.
2131
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.
2133
2134         New Test: fast/repaint/box-shadow-inset-repaint.html
2135
2136         * rendering/RenderObject.cpp:
2137         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2138         * rendering/style/RenderStyle.cpp:
2139         (WebCore::RenderStyle::getShadowInsetExtent):
2140         (WebCore):
2141         * rendering/style/RenderStyle.h:
2142
2143 2012-10-04  Kent Tamura  <tkent@chromium.org>
2144
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
2147
2148         Reviewed by Hajime Morita.
2149
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.
2154
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.
2158
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.
2163
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
2169
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.
2181
2182 2012-10-05  Kent Tamura  <tkent@chromium.org>
2183
2184         Improve spelling and performance of Localizer.cpp
2185         https://bugs.webkit.org/show_bug.cgi?id=98485
2186
2187         Reviewed by Kentaro Hara.
2188
2189         Some improvements pointed in webkit.org/b/98229#c5.
2190
2191         No new tests because of no behavior change.
2192
2193         * platform/text/Localizer.h:
2194         (Localizer):
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):
2202         - Renamed.
2203         - Cache the concatenation result to a data member.
2204         (WebCore::Localizer::dateTimeFormatWithoutSeconds): Ditto.
2205
2206         * html/DateTimeInputType.cpp:
2207         (WebCore::DateTimeInputType::setupLayoutParameters): Follow the renaming.
2208         * html/DateTimeLocalInputType.cpp:
2209         (WebCore::DateTimeLocalInputType::setupLayoutParameters): Ditto.
2210
2211 2012-10-04  Kenichi Ishibashi  <bashi@chromium.org>
2212
2213         [WebSocket] ExtensionParser should have its own file
2214         https://bugs.webkit.org/show_bug.cgi?id=98475
2215
2216         Reviewed by Yuta Kitamura.
2217
2218         Factor out ExtensionParser from WebSocketExtensionDispatcher and rename it as WebSocketExtensionParser.
2219         WebSocketExtensionParser has its own file.
2220
2221         No changes in behavior. Added a test case for parsing Sec-WebSocket-Extensions field as a chromium unit test.
2222
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.
2229         (WebCore):
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.
2240         (WebCore):
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.
2248
2249 2012-10-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
2250
2251         <input> size attribute should throw INDEX_SIZE_ERR when set to 0
2252         https://bugs.webkit.org/show_bug.cgi?id=61675
2253
2254         Reviewed by Kent Tamura.
2255
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
2260
2261         Test: fast/dom/HTMLInputElement/input-size-attribute.html
2262
2263         * html/HTMLInputElement.cpp:
2264         (WebCore::HTMLInputElement::setSize):
2265         * html/HTMLInputElement.h:
2266         (HTMLInputElement):
2267         * html/HTMLInputElement.idl:
2268
2269 2012-10-04  Kent Tamura  <tkent@chromium.org>
2270
2271         Fix font for date/time input types.
2272         https://bugs.webkit.org/show_bug.cgi?id=98478
2273
2274         Reviewed by Kentaro Hara.
2275
2276         input[type=date] should use monospace font if
2277         ENABLE_INPUT_MULTIPLE_FIELDS_UI && ENABLE_INPUT_TYPE_DATE.
2278
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.
2282
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
2286
2287         * css/html.css:
2288         (input[type="date"]):
2289         (input[type="datetime"]):
2290         (input[type="datetime-local"]):
2291         (input[type="month"]):
2292         (input[type="time"]):
2293
2294 2012-10-04  Hajime Morrita  <morrita@google.com>
2295
2296         [Refactoring] Some classes in StyleResolver.cpp/h could have its own file.
2297         https://bugs.webkit.org/show_bug.cgi?id=98469
2298
2299         Reviewed by Dimitri Glazkov.
2300
2301         This change extracts RuleData, RuleSet, RuleFeature and Featurs class
2302         to its own file: RuleSet.h/cpp and RuleFeature.h/cpp
2303
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.
2306
2307         No new tests. Just splitting file and doing simple rename.
2308
2309         * CMakeLists.txt:
2310         * GNUmakefile.list.am:
2311         * Target.pri:
2312         * WebCore.gypi:
2313         * WebCore.xcodeproj/project.pbxproj:
2314         * css/CSSAllInOne.cpp:
2315         * css/RuleFeature.cpp: Added.
2316         (WebCore):
2317         (WebCore::RuleFeatureSet::add):
2318         (WebCore::RuleFeatureSet::clear):
2319         (WebCore::RuleFeatureSet::reportMemoryUsage):
2320         * css/RuleFeature.h: Added.
2321         (WebCore):
2322         (RuleFeature):
2323         (WebCore::RuleFeature::RuleFeature):
2324         (RuleFeatureSet):
2325         (WebCore::RuleFeatureSet::RuleFeatureSet):
2326         * css/RuleSet.cpp: Added.
2327         (WebCore):
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.
2348         (WebCore):
2349         (RuleData):
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):
2364         (RuleSet):
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:
2380         (WebCore):
2381         (WebCore::makeRuleSet):
2382         (WebCore::StyleResolver::collectMatchingRulesForList):
2383         * css/StyleResolver.h:
2384         (StyleResolver):
2385
2386 2012-10-04  Adam Barth  <abarth@webkit.org>
2387
2388         FeatureObserver should distinguish between legacy HTML and text notifications
2389         https://bugs.webkit.org/show_bug.cgi?id=98441
2390
2391         Reviewed by Tony Chang.
2392
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
2395         and find out.
2396
2397         * Modules/notifications/NotificationCenter.idl:
2398         * page/FeatureObserver.h:
2399
2400 2012-10-04  Pravin D  <pravind.2k4@gmail.com>
2401
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
2404
2405         Reviewed by Eric Seidel.
2406
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.
2410
2411         Code cleanup patch. No new tests required.
2412
2413         * html/HTMLFormElement.cpp:
2414         (WebCore::HTMLFormElement::HTMLFormElement):
2415           Removed m_wasMalformed initialization.
2416
2417         * html/HTMLFormElement.h:
2418         (HTMLFormElement):
2419          Removed m_wasMalformed variable.
2420          Removed m_wasMalformed variable's setter and getter functions.
2421
2422         * rendering/RenderBlock.cpp:
2423         (WebCore::RenderBlock::layoutBlock):
2424          Removed code fragment using/dependent on m_wasMalformed.
2425
2426 2012-10-04  Rik Cabanier  <cabanier@adobe.com>
2427
2428         Turn Compositing on by default in WebKit build
2429         https://bugs.webkit.org/show_bug.cgi?id=98315
2430
2431         Reviewed by Simon Fraser.
2432
2433         enable -webkit-blend-mode on trunk.
2434
2435         No new tests. Existing blending test were updated.
2436
2437         * Configurations/FeatureDefines.xcconfig:
2438         * css/CSSPropertyNames.in:
2439         * css/CSSValueKeywords.in:
2440
2441 2012-10-04  Hayato Ito  <hayato@chromium.org>
2442
2443         [Refactoring] Introduce a traversal strategy in SelectorChecker
2444         https://bugs.webkit.org/show_bug.cgi?id=97298
2445
2446         Reviewed by Antti Koivisto.
2447
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.
2450
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.
2453
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.
2456
2457         The performance of the added test before using this patch was:
2458
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
2461
2462         When we used this patch, the performance was:
2463
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
2466
2467         Test: PerformanceTests/CSS/PseudoClass-Selectors.html
2468
2469         * css/SelectorChecker.cpp:
2470         (WebCore):
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):
2485         (SelectorChecker):
2486         (DOMTraversalStrategy): Extracted the DOM traversal code from SelectorChecker. Another traversal code
2487         will be introduced the coming patch.
2488
2489 2012-10-04  Eric Seidel  <eric@webkit.org>
2490
2491         SVGAttributeHashTranslator does not need to copy QualifiedName in the common case
2492         https://bugs.webkit.org/show_bug.cgi?id=98473
2493
2494         Reviewed by Adam Barth.
2495
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.
2499
2500         * svg/SVGElement.h:
2501         (WebCore::SVGAttributeHashTranslator::hash):
2502         (WebCore::SVGAttributeHashTranslator::equal):
2503
2504 2012-10-04  Julien Chaffraix  <jchaffraix@webkit.org>
2505
2506         Split the intrinsic padding update code out of RenderTableSection::layoutRows
2507         https://bugs.webkit.org/show_bug.cgi?id=98454
2508
2509         Reviewed by Eric Seidel.
2510
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).
2514
2515         Change covered by existing table tests.
2516
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.
2521
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.
2528
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.
2533
2534         * rendering/RenderTableSection.h:
2535         (WebCore::RenderTableSection::rowBaseline):
2536         Renamed to match our coding style.
2537
2538 2012-10-04  Nate Chapin  <japhet@chromium.org>
2539
2540         Crash in EventHandler::mouseMoved().
2541         https://bugs.webkit.org/show_bug.cgi?id=98460
2542
2543         Reviewed by Abhishek Arya.
2544
2545         No new tests, this fixes fast/events/mouse-moved-remove-frame-crash.html.
2546
2547         * page/EventHandler.cpp:
2548         (WebCore::EventHandler::mouseMoved):
2549
2550 2012-10-04  Adam Barth  <abarth@webkit.org>
2551
2552         [V8] NotificationCenter leaks because it uses buggy custom bindings
2553         https://bugs.webkit.org/show_bug.cgi?id=98445
2554
2555         Reviewed by Tony Chang.
2556
2557         There's no reason to use custom bindings here. All they do is cause leaks..
2558
2559         * Modules/notifications/NotificationCenter.idl:
2560         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2561
2562 2012-10-04  Tab Atkins  <jackalmage@gmail.com>
2563
2564         Selector specificity categories "overflow" into higher categories
2565         https://bugs.webkit.org/show_bug.cgi?id=98295
2566
2567         Reviewed by Eric Seidel.
2568
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.
2575
2576         Tests: /fast/selectors/specificity-overflow.html
2577
2578         * css/CSSSelector.cpp:
2579         (WebCore::CSSSelector::specificity):
2580
2581 2012-10-04  Enrica Casucci  <enrica@apple.com>
2582
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.
2585
2586         Reviewed by Dan Bernstein.
2587
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.
2591
2592         Test: fast/text/vertical-rl-rtl-linebreak.html
2593
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.
2598
2599 2012-10-04  Adam Klein  <adamk@chromium.org>
2600
2601         MutationRecord attributeName should be null for non attribute changes
2602         https://bugs.webkit.org/show_bug.cgi?id=98438
2603
2604         Reviewed by Ojan Vafai.
2605
2606         Test: fast/mutation/mutation-record-nullity.html
2607
2608         * dom/MutationRecord.idl:
2609
2610 2012-10-04  Simon Fraser  <simon.fraser@apple.com>
2611
2612         Final part of "sync" to "flush" renaming
2613         https://bugs.webkit.org/show_bug.cgi?id=98430
2614
2615         Reviewed by Tim Horton.
2616
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.
2620
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:
2637         (GraphicsLayerCA):
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):
2657
2658 2012-10-04  Tab Atkins  <tabatkins@google.com>
2659
2660         1ex should equal .5em when the font has no x-height metric
2661         https://bugs.webkit.org/show_bug.cgi?id=80360
2662
2663         Reviewed by Eric Seidel.
2664
2665         Updated FontMetrics and CSSPrimitiveValue to have/use an explicit "hasXHeight" flag to determine how to size an 'ex' unit.
2666
2667         Updated a few of the platform font files to set the flag properly.
2668
2669         Patch cleanup by David Barr <davidbarr@chromium.org>.
2670
2671         Test: fast/css/ex-unit-with-no-x-height.html
2672
2673         * css/CSSPrimitiveValue.cpp:
2674         (WebCore::CSSPrimitiveValue::computeLengthDouble):
2675         * platform/graphics/FontMetrics.h:
2676         (WebCore::FontMetrics::FontMetrics):
2677         (WebCore::FontMetrics::setXHeight):
2678         (FontMetrics):
2679         (WebCore::FontMetrics::hasXHeight):
2680         (WebCore::FontMetrics::setHasXHeight):
2681         (WebCore::FontMetrics::reset):
2682         * platform/graphics/skia/SimpleFontDataSkia.cpp:
2683         (WebCore::SimpleFontData::platformInit):
2684
2685 2012-10-04  Ryosuke Niwa  <rniwa@webkit.org>
2686
2687         Build fix after r130411. Add the right offset.
2688         Also use RefPtr instead of a raw pointer for next and previous pointers.
2689
2690         * editing/ReplaceSelectionCommand.cpp:
2691         (WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
2692
2693 2012-10-04  Alec Flett  <alecflett@chromium.org>
2694
2695         IndexedDB: promote objectstore/index backend ids to the frontend
2696         https://bugs.webkit.org/show_bug.cgi?id=97834
2697
2698         Reviewed by Tony Chang.
2699
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)
2706
2707         This is a part of larger refactoring work to ultimately make the interface
2708         between the frontend and the backend simpler.
2709
2710         No new tests, extensive ASSERTs and existing tests cover correctness.
2711
2712         * Modules/indexeddb/IDBBackingStore.h:
2713         (IDBBackingStore):
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):
2721         (WebCore):
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:
2734         (WebCore):
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):
2752         (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):
2759         (WebCore):
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>
2766
2767         Layout broken after cloning and re-inserting a table with a misplaced <form>
2768         https://bugs.webkit.org/show_bug.cgi?id=86746
2769
2770         Reviewed by Julien Chaffraix.
2771
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.
2777
2778         Test: fast/table/form-with-non-table-display-inside-table-elements.html
2779
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.
2795
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).
2799
2800           On the other hand, (4) is required to be copied during cloning as this information cannot be accessed
2801           during the cloning process.
2802
2803         (WebCore):
2804         * html/HTMLFormElement.h:
2805           Added copyNonAttributePropertiesFromElement() declaration.
2806
2807 2012-10-04  Dean Jackson  <dino@apple.com>
2808
2809         Attribute and Uniform variable names need translation in shader
2810         https://bugs.webkit.org/show_bug.cgi?id=70989
2811
2812         Reviewed by Tim Horton (and Darin Adler).
2813
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).
2821
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
2826         mappings.
2827
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
2831
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:
2835
2836         * platform/graphics/ANGLEWebKitBridge.cpp:
2837         (WebCore::getSymbolInfo): Extracts all the information on symbols (either attributes
2838         or uniforms) from the newly compiled shader.
2839         (WebCore):
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.
2864         (WebCore):
2865         (WebCore::GraphicsContext3D::getAttribLocation):
2866         (WebCore::GraphicsContext3D::getShaderiv):
2867         (WebCore::GraphicsContext3D::getShaderInfoLog):
2868         (WebCore::GraphicsContext3D::getShaderSource):
2869         (WebCore::GraphicsContext3D::getUniformLocation):
2870
2871 2012-10-04  Alpha Lam  <hclam@chromium.org>
2872
2873         [skia] Drawing a subrect of bitmap image is misaligned
2874         https://bugs.webkit.org/show_bug.cgi?id=95121
2875
2876         Reviewed by Stephen White.
2877
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.
2882
2883         This patch fixes the problem by doing alignment to integer boundaries
2884         and clipping for both cases of RESAMPLE_AWESOME and RESAMPLE_LINEAR.
2885
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.
2889
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
2893         image to look ugly.
2894
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.
2898
2899         Changes in Skia enable caching of the scaled image and return the
2900         scaled fragment because scale factor is now consistent for all
2901         fragments.
2902
2903         Tests: fast/images/paint-subrect-grid.html
2904                fast/images/paint-subrect.html
2905                fast/images/repaint-subrect-grid.html
2906
2907         * platform/graphics/skia/ImageSkia.cpp:
2908         (WebCore::computeResamplingMode): Use float for width and height.
2909         (WebCore):
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):
2925         (WebCore):
2926         (WebCore::NativeImageSkia::CachedImageInfo::isEqual):
2927         (WebCore::NativeImageSkia::CachedImageInfo::set):
2928         (WebCore::NativeImageSkia::CachedImageInfo::rectInSubset):
2929         * platform/graphics/skia/NativeImageSkia.h:
2930         (NativeImageSkia):
2931         (CachedImageInfo):
2932
2933 2012-10-03  Ryosuke Niwa  <rniwa@webkit.org>
2934
2935         ReplaceSelectionCommand should merge text nodes
2936         https://bugs.webkit.org/show_bug.cgi?id=98188
2937
2938         Reviewed by Levi Weintraub.
2939
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.
2942
2943         This behavior change is tested by existing tests.
2944
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&nbsp;", 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):
2964
2965 2012-10-04  Tony Chang  <tony@chromium.org>
2966
2967         Fix <input type="month"> tests
2968         https://bugs.webkit.org/show_bug.cgi?id=98426
2969
2970         Reviewed by Ojan Vafai.
2971
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.
2975
2976         Tests: fast/forms/month-multiple-fields tests cover this.
2977
2978         * rendering/RenderFlexibleBox.cpp:
2979         * rendering/RenderFlexibleBox.h:
2980
2981 2012-10-04  Sheriff Bot  <webkit.review.bot@gmail.com>
2982
2983         Unreviewed, rolling out r130396.
2984         http://trac.webkit.org/changeset/130396
2985         https://bugs.webkit.org/show_bug.cgi?id=98421
2986
2987         This patch is causing crashes on 4 tests on Lion Debug and
2988         Mountain Lion Debug (Requested by jernoble on #webkit).
2989
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:
2998         (Backup):
2999
3000 2012-10-04  Tony Chang  <tony@chromium.org>
3001
3002         inline-flex baseline is sometimes wrong
3003         https://bugs.webkit.org/show_bug.cgi?id=96188
3004
3005         Reviewed by Ojan Vafai.
3006
3007         Implement the necessary methods to get the proper baseline alignment of flexbox.
3008         We were falling back to the inline-block behavior.
3009
3010         Test: css3/flexbox/flexbox-baseline.html
3011
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.
3016         (WebCore):
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.
3026
3027 2012-10-04  Xianzhu Wang  <wangxianzhu@chromium.org>
3028
3029         [Chromium] Should set unitsPerEm in SimpleFontDataSkia.cpp
3030         https://bugs.webkit.org/show_bug.cgi?id=98100
3031
3032         Reviewed by Stephen White.
3033
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.
3037
3038         Test: fast/writing-mode/vertical-font-vmtx-units-per-em.html
3039
3040         * platform/graphics/skia/SimpleFontDataSkia.cpp:
3041         (WebCore::SimpleFontData::platformInit):
3042
3043 2012-10-04  Simon Fraser  <simon.fraser@apple.com>
3044
3045         Standardize on "flush" terminology for compositing layer flushing/syncing
3046         https://bugs.webkit.org/show_bug.cgi?id=98321
3047
3048         Reviewed by Simon Fraser.
3049
3050         Rename compositing-related methods that refer to "syncing" to instead
3051         refer to "flushing".
3052
3053         * WebCore.exp.in:
3054         * loader/EmptyClients.h:
3055         (WebCore::EmptyChromeClient::scheduleCompositingLayerFlush):
3056         * page/ChromeClient.h:
3057         (ChromeClient):
3058         * page/FrameView.cpp:
3059         (WebCore::FrameView::flushCompositingStateForThisFrame):
3060         (WebCore::FrameView::flushCompositingStateIncludingSubframes):
3061         (WebCore::FrameView::paintContents):
3062         * page/FrameView.h:
3063         (FrameView):
3064         * rendering/RenderLayerCompositor.cpp:
3065         (WebCore::RenderLayerCompositor::scheduleLayerFlush):
3066         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
3067
3068 2012-10-04  Peter Rybin  <peter.rybin@gmail.com>
3069
3070         Web Inspector: expose object internal properties such as PrimitiveValue or BoundThis
3071         https://bugs.webkit.org/show_bug.cgi?id=94397
3072
3073         Reviewed by Yury Semikhatsky.
3074
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.
3077
3078         Test: inspector-protocol/runtime-getProperties.html
3079
3080         * bindings/js/JSInjectedScriptHostCustom.cpp:
3081         (WebCore::JSInjectedScriptHost::getInternalProperties):
3082         (WebCore):
3083         * bindings/v8/DebuggerScript.js:
3084         * bindings/v8/ScriptDebugServer.cpp:
3085         (WebCore::ScriptDebugServer::getInternalProperties):
3086         (WebCore):
3087         * bindings/v8/ScriptDebugServer.h:
3088         (ScriptDebugServer):
3089         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3090         (WebCore::V8InjectedScriptHost::getInternalPropertiesCallback):
3091         (WebCore):
3092         * inspector/InjectedScript.cpp:
3093         (WebCore::InjectedScript::getInternalProperties):
3094         (WebCore):
3095         * inspector/InjectedScript.h:
3096         (InjectedScript):
3097         * inspector/InjectedScriptHost.idl:
3098         * inspector/InjectedScriptSource.js:
3099         (.):
3100         * inspector/Inspector.json:
3101         * inspector/InspectorRuntimeAgent.cpp:
3102         (WebCore::InspectorRuntimeAgent::getProperties):
3103         * inspector/InspectorRuntimeAgent.h:
3104         (InspectorRuntimeAgent):
3105
3106 2012-10-04  Sami Kyostila  <skyostil@chromium.org>
3107
3108         Fixed position visibility check does not consider descendants
3109         https://bugs.webkit.org/show_bug.cgi?id=98144
3110
3111         Reviewed by Simon Fraser.
3112
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
3116         out of view.
3117
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
3121         invisible.
3122
3123         Test: compositing/layer-creation/fixed-position-absolute-descendant.html
3124
3125         * rendering/RenderLayerCompositor.cpp:
3126         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3127         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
3128         * rendering/RenderLayerCompositor.h:
3129
3130 2012-10-04  Vsevolod Vlasov  <vsevik@chromium.org>
3131
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
3134
3135         Reviewed by Pavel Feldman.
3136
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.
3141
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):
3170
3171 2012-10-04  Vsevolod Vlasov  <vsevik@chromium.org>
3172
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
3175
3176         Reviewed by Pavel Feldman.
3177
3178         Scripts panel does not automatically switch to snippet evaluation when
3179         one edits previously evaluated snippet.
3180
3181         * inspector/front-end/ScriptSnippetModel.js:
3182         (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
3183         * inspector/front-end/ScriptsPanel.js:
3184         (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
3185
3186 2012-10-04  Balazs Kelemen  <kbalazs@webkit.org>
3187
3188         Don't allow to disable compositing in forced compositing mode
3189         https://bugs.webkit.org/show_bug.cgi?id=98048
3190
3191         Reviewed by Jocelyn Turcotte.
3192
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.
3196
3197         Covered by existing tests.
3198
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):
3204         (WebCore):
3205         * page/Settings.h:
3206         (Settings):
3207         (WebCore::Settings::forceCompositingMode): Make it const as a side fix.
3208
3209 2012-10-04  Harald Alvestrand  <hta@google.com>
3210
3211         Change RTCPeerConnection GetStats to use Date timestamp format
3212         https://bugs.webkit.org/show_bug.cgi?id=98263
3213
3214         Reviewed by Yury Semikhatsky.
3215
3216         Tested by extension to RTCPeerConnection-stats test.
3217
3218         * Modules/mediastream/RTCStatsElement.cpp:
3219         (WebCore::RTCStatsElement::create):
3220         (WebCore::RTCStatsElement::RTCStatsElement):
3221         * Modules/mediastream/RTCStatsElement.h: long -> double
3222         (RTCStatsElement):
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:
3228         (RTCStatsReport):
3229         * Modules/mediastream/RTCStatsResponse.cpp:
3230         (WebCore::RTCStatsResponse::addElement):
3231         * Modules/mediastream/RTCStatsResponse.h:
3232         (RTCStatsResponse):
3233         * platform/chromium/support/WebRTCStatsResponse.cpp:
3234         (WebKit::WebRTCStatsResponse::addElement):
3235         * platform/mediastream/RTCStatsResponseBase.h:
3236         (RTCStatsResponseBase):
3237
3238 2012-10-04  Sheriff Bot  <webkit.review.bot@gmail.com>
3239
3240         Unreviewed, rolling out r130377.
3241         http://trac.webkit.org/changeset/130377
3242         https://bugs.webkit.org/show_bug.cgi?id=98392
3243
3244         Chromium Win compilation is broken (Requested by yurys on
3245         #webkit).
3246
3247         * Modules/mediastream/RTCStatsElement.cpp:
3248         (WebCore::RTCStatsElement::create):
3249         (WebCore::RTCStatsElement::RTCStatsElement):
3250         * Modules/mediastream/RTCStatsElement.h:
3251         (RTCStatsElement):
3252         (WebCore::RTCStatsElement::timestamp):
3253         * Modules/mediastream/RTCStatsElement.idl:
3254         * Modules/mediastream/RTCStatsReport.cpp:
3255         (WebCore::RTCStatsReport::addElement):
3256         * Modules/mediastream/RTCStatsReport.h:
3257         (RTCStatsReport):
3258         * Modules/mediastream/RTCStatsResponse.cpp:
3259         (WebCore::RTCStatsResponse::addElement):
3260         * Modules/mediastream/RTCStatsResponse.h:
3261         (RTCStatsResponse):
3262         * platform/chromium/support/WebRTCStatsResponse.cpp:
3263         (WebKit::WebRTCStatsResponse::addElement):
3264         * platform/mediastream/RTCStatsResponseBase.h:
3265         (RTCStatsResponseBase):
3266
3267 2012-10-04  Harald Alvestrand  <hta@google.com>
3268
3269         Change RTCPeerConnection GetStats to use Date timestamp format
3270         https://bugs.webkit.org/show_bug.cgi?id=98263
3271
3272         Reviewed by Adam Barth.
3273
3274         Tested by extension to RTCPeerConnection-stats test.
3275
3276         * Modules/mediastream/RTCStatsElement.cpp:
3277         (WebCore::RTCStatsElement::create):
3278         (WebCore::RTCStatsElement::RTCStatsElement):
3279         * Modules/mediastream/RTCStatsElement.h: long -> double
3280         (RTCStatsElement):
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:
3286         (RTCStatsReport):
3287         * Modules/mediastream/RTCStatsResponse.cpp:
3288         (WebCore::RTCStatsResponse::addElement):
3289         * Modules/mediastream/RTCStatsResponse.h:
3290         (RTCStatsResponse):
3291         * platform/chromium/support/WebRTCStatsResponse.cpp:
3292         (WebKit::WebRTCStatsResponse::addElement):
3293         * platform/mediastream/RTCStatsResponseBase.h:
3294         (RTCStatsResponseBase):
3295
3296 2012-10-05  Kent Tamura  <tkent@chromium.org>
3297
3298         [Chromium] Enable the multiple fields UI for input[type=date]
3299         https://bugs.webkit.org/show_bug.cgi?id=98351
3300
3301         Reviewed by Hajime Morita.
3302
3303         Touch files related to ENABLE_INPUT_TYPE_DATE_LEGACY_UI to avoid build
3304         issues.
3305
3306         No new tests. Many tests will be landed shortly.
3307
3308         * html/DateInputType.cpp:
3309         * html/DateInputType.h:
3310
3311 2012-10-04  Kent Tamura  <tkent@chromium.org>
3312
3313         Add code for input[type=date] with the multiple fields UI
3314         https://bugs.webkit.org/show_bug.cgi?id=98340
3315
3316         Reviewed by Hajime Morita.
3317
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).
3322
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
3325         calendar picker.
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
3328         picker support.
3329
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
3340         (WebCore): ditto.
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.
3347
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.
3362
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."
3378
3379         * html/DateTimeFieldsState.h:
3380         (DateTimeFieldsState): Add a comment for the m_month field.
3381
3382 2012-10-04  Kent Tamura  <tkent@chromium.org>
3383
3384         DateTimeYearFieldElement should respect min/max values specified by page authors
3385         https://bugs.webkit.org/show_bug.cgi?id=98227
3386
3387         Reviewed by Hajime Morita.
3388
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.
3393
3394         Test: fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html
3395
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
3403         (Parameters):
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.