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