Win64 compile fix after r155226.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-09-25  Alex Christensen  <alex.christensen@flexsim.com>
2
3         Win64 compile fix after r155226.
4         https://bugs.webkit.org/show_bug.cgi?id=120969
5
6         Reviewed by Brent Fulgham.
7
8         * WebCore.vcxproj/WebCore.vcxproj:
9         Disable building StructuredExceptionHandlerSuppressor.cpp and makesafeseh.asm on Win64.
10
11 2013-09-25  Alexey Proskuryakov  <ap@apple.com>
12
13         Flaky Test: platform/mac/fonts/han-disunification.html
14         https://bugs.webkit.org/show_bug.cgi?id=114207
15
16         Reviewed by Anders Carlsson.
17
18         This test was affected by preceding tests changing font settings.
19
20         Save original font if it's changed, and restore it in Backup::restoreTo().
21
22         * WebCore.exp.in:
23         * testing/InternalSettings.cpp:
24         (WebCore::InternalSettings::Backup::restoreTo):
25         (WebCore::InternalSettings::setStandardFontFamily):
26         (WebCore::InternalSettings::setSerifFontFamily):
27         (WebCore::InternalSettings::setSansSerifFontFamily):
28         (WebCore::InternalSettings::setFixedFontFamily):
29         (WebCore::InternalSettings::setCursiveFontFamily):
30         (WebCore::InternalSettings::setFantasyFontFamily):
31         (WebCore::InternalSettings::setPictographFontFamily):
32         * testing/InternalSettings.h:
33
34 2013-09-25  Brady Eidson  <beidson@apple.com>
35
36         Enable the IndexedDB build on Mac, but leave the feature non-functional
37         https://bugs.webkit.org/show_bug.cgi?id=121918
38
39         Reviewed by Alexey Proskuryakov.
40
41         * Configurations/FeatureDefines.xcconfig: Enable the feature.
42
43         * Modules/indexeddb/IDBFactory.h:
44         (WebCore::IDBFactory::create): If the IDBFactoryBackend is null (which it is for on-levelDB platforms),
45           don't create an IDBFactory. This hides the feature from javascript even though upport code is in the build.
46
47         * WebCore.xcodeproj/project.pbxproj: Remove the Modules/indexedDB/leveldb directory now that Mac has no
48           further use for it.
49
50 2013-09-25  Andreas Kling  <akling@apple.com>
51
52         Make EventTarget::hasEventListeners() a const method.
53
54         This class needs a lot of love in the const correctness department
55         but for now let's limit ourselves to fixing the IndexedDB build.
56
57         * dom/EventTarget.h:
58         (WebCore::EventTarget::hasEventListeners):
59
60 2013-09-25  Brent Fulgham  <bfulgham@apple.com>
61
62         [Windows] Refactor RuntimeEnabledFeatures as a Singleton
63         https://bugs.webkit.org/show_bug.cgi?id=121883
64
65         Windows is experiencing crashes when client programs (such as
66         DumpRenderTree) attemp to change settings on the RuntimeEnabledFeatures
67         object. The inlined static accessor methods are not accessing
68         memory safely (when compiled by Visual Studio) resulting in
69         crashes.
70
71         Reviewed by Jer Noble.
72
73         * WebCore.exp.in: Remove static accessors for RuntimeEnabledFeatures.
74         * bindings/generic/RuntimeEnabledFeatures.cpp: Switch methods to
75         conform to a singleton pattern.
76         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
77         (WebCore::RuntimeEnabledFeatures::sharedRuntimeEnabledFeatures):
78         (WebCore::RuntimeEnabledFeatures::fileSystemEnabled):
79         (WebCore::RuntimeEnabledFeatures::javaScriptI18NAPIEnabled):
80         (WebCore::RuntimeEnabledFeatures::audioEnabled):
81         (WebCore::RuntimeEnabledFeatures::htmlMediaElementEnabled):
82         (WebCore::RuntimeEnabledFeatures::htmlAudioElementEnabled):
83         (WebCore::RuntimeEnabledFeatures::htmlVideoElementEnabled):
84         (WebCore::RuntimeEnabledFeatures::htmlSourceElementEnabled):
85         (WebCore::RuntimeEnabledFeatures::mediaControllerEnabled):
86         (WebCore::RuntimeEnabledFeatures::mediaErrorEnabled):
87         (WebCore::RuntimeEnabledFeatures::timeRangesEnabled):
88         (WebCore::RuntimeEnabledFeatures::sharedWorkerEnabled):
89         (WebCore::RuntimeEnabledFeatures::webSocketEnabled):
90         (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
91         (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
92         * bindings/generic/RuntimeEnabledFeatures.h: Ditto.
93         (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled):
94         (WebCore::RuntimeEnabledFeatures::localStorageEnabled):
95         (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled):
96         (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled):
97         (WebCore::RuntimeEnabledFeatures::setWebkitNotificationsEnabled):
98         (WebCore::RuntimeEnabledFeatures::webkitNotificationsEnabled):
99         (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
100         (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
101         (WebCore::RuntimeEnabledFeatures::setDataTransferItemsEnabled):
102         (WebCore::RuntimeEnabledFeatures::dataTransferItemsEnabled):
103         (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
104         (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
105         (WebCore::RuntimeEnabledFeatures::setWebkitIndexedDBEnabled):
106         (WebCore::RuntimeEnabledFeatures::webkitIndexedDBEnabled):
107         (WebCore::RuntimeEnabledFeatures::indexedDBEnabled):
108         (WebCore::RuntimeEnabledFeatures::setCanvasPathEnabled):
109         (WebCore::RuntimeEnabledFeatures::canvasPathEnabled):
110         (WebCore::RuntimeEnabledFeatures::setCSSExclusionsEnabled):
111         (WebCore::RuntimeEnabledFeatures::cssExclusionsEnabled):
112         (WebCore::RuntimeEnabledFeatures::setCSSShapesEnabled):
113         (WebCore::RuntimeEnabledFeatures::cssShapesEnabled):
114         (WebCore::RuntimeEnabledFeatures::setCSSRegionsEnabled):
115         (WebCore::RuntimeEnabledFeatures::cssRegionsEnabled):
116         (WebCore::RuntimeEnabledFeatures::setCSSCompositingEnabled):
117         (WebCore::RuntimeEnabledFeatures::cssCompositingEnabled):
118         (WebCore::RuntimeEnabledFeatures::setFontLoadEventsEnabled):
119         (WebCore::RuntimeEnabledFeatures::fontLoadEventsEnabled):
120         (WebCore::RuntimeEnabledFeatures::webkitFullScreenAPIEnabled):
121         (WebCore::RuntimeEnabledFeatures::setWebkitFullScreenAPIEnabled):
122         (WebCore::RuntimeEnabledFeatures::webkitRequestFullScreenEnabled):
123         (WebCore::RuntimeEnabledFeatures::webkitIsFullScreenEnabled):
124         (WebCore::RuntimeEnabledFeatures::webkitFullScreenKeyboardInputAllowedEnabled):
125         (WebCore::RuntimeEnabledFeatures::webkitCurrentFullScreenElementEnabled):
126         (WebCore::RuntimeEnabledFeatures::webkitCancelFullScreenEnabled):
127         (WebCore::RuntimeEnabledFeatures::webkitFullscreenEnabledEnabled):
128         (WebCore::RuntimeEnabledFeatures::webkitFullscreenElementEnabled):
129         (WebCore::RuntimeEnabledFeatures::webkitExitFullscreenEnabled):
130         (WebCore::RuntimeEnabledFeatures::webkitRequestFullscreenEnabled):
131         (WebCore::RuntimeEnabledFeatures::touchEnabled):
132         (WebCore::RuntimeEnabledFeatures::setTouchEnabled):
133         (WebCore::RuntimeEnabledFeatures::setDeviceMotionEnabled):
134         (WebCore::RuntimeEnabledFeatures::deviceMotionEnabled):
135         (WebCore::RuntimeEnabledFeatures::deviceMotionEventEnabled):
136         (WebCore::RuntimeEnabledFeatures::ondevicemotionEnabled):
137         (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
138         (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
139         (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
140         (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
141         (WebCore::RuntimeEnabledFeatures::setSpeechInputEnabled):
142         (WebCore::RuntimeEnabledFeatures::speechInputEnabled):
143         (WebCore::RuntimeEnabledFeatures::webkitSpeechEnabled):
144         (WebCore::RuntimeEnabledFeatures::webkitGrammarEnabled):
145         (WebCore::RuntimeEnabledFeatures::setScriptedSpeechEnabled):
146         (WebCore::RuntimeEnabledFeatures::scriptedSpeechEnabled):
147         (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionEnabled):
148         (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionErrorEnabled):
149         (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionEventEnabled):
150         (WebCore::RuntimeEnabledFeatures::webkitSpeechGrammarEnabled):
151         (WebCore::RuntimeEnabledFeatures::webkitSpeechGrammarListEnabled):
152         (WebCore::RuntimeEnabledFeatures::setFileSystemEnabled):
153         (WebCore::RuntimeEnabledFeatures::setJavaScriptI18NAPIEnabled):
154         (WebCore::RuntimeEnabledFeatures::mediaStreamEnabled):
155         (WebCore::RuntimeEnabledFeatures::setMediaStreamEnabled):
156         (WebCore::RuntimeEnabledFeatures::webkitGetUserMediaEnabled):
157         (WebCore::RuntimeEnabledFeatures::webkitMediaStreamEnabled):
158         (WebCore::RuntimeEnabledFeatures::peerConnectionEnabled):
159         (WebCore::RuntimeEnabledFeatures::setPeerConnectionEnabled):
160         (WebCore::RuntimeEnabledFeatures::webkitRTCPeerConnectionEnabled):
161         (WebCore::RuntimeEnabledFeatures::setLegacyCSSVendorPrefixesEnabled):
162         (WebCore::RuntimeEnabledFeatures::legacyCSSVendorPrefixesEnabled):
163         (WebCore::RuntimeEnabledFeatures::setWebkitGetGamepadsEnabled):
164         (WebCore::RuntimeEnabledFeatures::webkitGetGamepadsEnabled):
165         (WebCore::RuntimeEnabledFeatures::quotaEnabled):
166         (WebCore::RuntimeEnabledFeatures::setQuotaEnabled):
167         (WebCore::RuntimeEnabledFeatures::mediaSourceEnabled):
168         (WebCore::RuntimeEnabledFeatures::setMediaSourceEnabled):
169         (WebCore::RuntimeEnabledFeatures::encryptedMediaEnabled):
170         (WebCore::RuntimeEnabledFeatures::setEncryptedMediaEnabled):
171         (WebCore::RuntimeEnabledFeatures::webkitVideoTrackEnabled):
172         (WebCore::RuntimeEnabledFeatures::setWebkitVideoTrackEnabled):
173         (WebCore::RuntimeEnabledFeatures::shadowDOMEnabled):
174         (WebCore::RuntimeEnabledFeatures::setShadowDOMEnabled):
175         (WebCore::RuntimeEnabledFeatures::authorShadowDOMForAnyElementEnabled):
176         (WebCore::RuntimeEnabledFeatures::setAuthorShadowDOMForAnyElementEnabled):
177         (WebCore::RuntimeEnabledFeatures::customDOMElementsEnabled):
178         (WebCore::RuntimeEnabledFeatures::setCustomDOMElements):
179         (WebCore::RuntimeEnabledFeatures::styleScopedEnabled):
180         (WebCore::RuntimeEnabledFeatures::setStyleScopedEnabled):
181         (WebCore::RuntimeEnabledFeatures::inputTypeDateEnabled):
182         (WebCore::RuntimeEnabledFeatures::setInputTypeDateEnabled):
183         (WebCore::RuntimeEnabledFeatures::inputTypeDateTimeEnabled):
184         (WebCore::RuntimeEnabledFeatures::setInputTypeDateTimeEnabled):
185         (WebCore::RuntimeEnabledFeatures::inputTypeDateTimeLocalEnabled):
186         (WebCore::RuntimeEnabledFeatures::setInputTypeDateTimeLocalEnabled):
187         (WebCore::RuntimeEnabledFeatures::inputTypeMonthEnabled):
188         (WebCore::RuntimeEnabledFeatures::setInputTypeMonthEnabled):
189         (WebCore::RuntimeEnabledFeatures::inputTypeTimeEnabled):
190         (WebCore::RuntimeEnabledFeatures::setInputTypeTimeEnabled):
191         (WebCore::RuntimeEnabledFeatures::inputTypeWeekEnabled):
192         (WebCore::RuntimeEnabledFeatures::setInputTypeWeekEnabled):
193         (WebCore::RuntimeEnabledFeatures::experimentalContentSecurityPolicyFeaturesEnabled):
194         (WebCore::RuntimeEnabledFeatures::setExperimentalContentSecurityPolicyFeaturesEnabled):
195         (WebCore::RuntimeEnabledFeatures::seamlessIFramesEnabled):
196         (WebCore::RuntimeEnabledFeatures::setSeamlessIFramesEnabled):
197         (WebCore::RuntimeEnabledFeatures::langAttributeAwareFormControlUIEnabled):
198         (WebCore::RuntimeEnabledFeatures::setLangAttributeAwareFormControlUIEnabled):
199         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
200         (WebCore::getCSSPropertyNamePrefix): Use singleton accessors.
201         (WebCore::cssPropertyIDForJSCSSPropertyName): Ditto.
202         * bindings/scripts/CodeGeneratorJS.pm:
203         (GetRuntimeEnableFunctionName): Generate singleton version of
204         accessors.
205         * css/CSSFontFace.cpp:
206         (WebCore::CSSFontFace::fontLoaded): Use singleton accessors.
207         (WebCore::CSSFontFace::getFontData): Ditto.
208         * css/CSSFontSelector.cpp:
209         (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
210         * css/CSSParser.cpp:
211         (WebCore::isSimpleLengthPropertyID): Ditto.
212         (WebCore::isValidKeywordPropertyAndValue):
213         (WebCore::CSSParser::parseValue):
214         (WebCore::CSSParser::rewriteSpecifiers):
215         * css/CSSSegmentedFontFace.cpp:
216         (WebCore::CSSSegmentedFontFace::fontLoaded): Ditto.
217         * css/StyleResolver.h:
218         (WebCore::StyleResolver::ensureScopeResolver): Ditto.
219         * dom/Document.cpp:
220         (WebCore::Document::cssRegionsEnabled): Ditto.
221         (WebCore::Document::cssCompositingEnabled):
222         (WebCore::Document::shouldDisplaySeamlesslyWithParent):
223         (WebCore::Document::getCachedLocale):
224         * dom/Element.cpp:
225         (WebCore::Element::createShadowRoot): Ditto.
226         * dom/Position.cpp:
227         (WebCore::Position::Position): Ditto.
228         (WebCore::Position::findParent):
229         * dom/TreeScope.cpp:
230         (WebCore::TreeScope::getSelection): Ditto.
231         * dom/make_names.pl:
232         (printConstructorInterior): Generate singleton version of accessors.
233         (printWrapperFunctions): Ditto.
234         * html/HTMLInputElement.cpp:
235         (WebCore::HTMLInputElement::isSpeechEnabled): Use singleton accessors.
236         (WebCore::HTMLInputElement::setupDateTimeChooserParameters): Ditto.
237         * html/HTMLMediaElement.cpp:
238         (WebCore::HTMLMediaElement::finishParsingChildren): Ditto.
239         (WebCore::HTMLMediaElement::scheduleDelayedAction):
240         (WebCore::HTMLMediaElement::loadTimerFired):
241         (WebCore::HTMLMediaElement::prepareForLoad):
242         (WebCore::HTMLMediaElement::loadInternal):
243         (WebCore::HTMLMediaElement::setReadyState):
244         (WebCore::HTMLMediaElement::playbackProgressTimerFired):
245         (WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack):
246         (WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack):
247         (WebCore::HTMLMediaElement::mediaPlayerDidAddVideoTrack):
248         (WebCore::HTMLMediaElement::addAudioTrack):
249         (WebCore::HTMLMediaElement::addTextTrack):
250         (WebCore::HTMLMediaElement::addVideoTrack):
251         (WebCore::HTMLMediaElement::removeAudioTrack):
252         (WebCore::HTMLMediaElement::removeTextTrack):
253         (WebCore::HTMLMediaElement::removeVideoTrack):
254         (WebCore::HTMLMediaElement::audioTracks):
255         (WebCore::HTMLMediaElement::textTracks):
256         (WebCore::HTMLMediaElement::videoTracks):
257         (WebCore::HTMLMediaElement::didAddTextTrack):
258         (WebCore::HTMLMediaElement::didRemoveTextTrack):
259         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
260         (WebCore::HTMLMediaElement::userCancelledLoad):
261         (WebCore::HTMLMediaElement::hasClosedCaptions):
262         (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
263         (WebCore::HTMLMediaElement::configureTextTrackDisplay):
264         * html/HTMLStyleElement.cpp:
265         (WebCore::HTMLStyleElement::parseAttribute): Ditto.
266         (WebCore::HTMLStyleElement::scopedAttributeChanged):
267         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
268         (WebCore::HTMLStyleElement::scoped):
269         * html/HTMLTrackElement.cpp:
270         (WebCore::HTMLTrackElement::parseAttribute): Ditto.
271         (WebCore::HTMLTrackElement::scheduleLoad):
272         (WebCore::HTMLTrackElement::canLoadUrl):
273         * html/InputType.cpp:
274         (WebCore::createInputTypeFactoryMap): Ditto.
275         * page/ContentSecurityPolicy.cpp:
276         (WebCore::ContentSecurityPolicy::experimentalFeaturesEnabled): Ditto.
277         * page/DOMWindow.cpp:
278         (WebCore::DOMWindow::addEventListener): Ditto.
279         * page/FrameView.cpp:
280         (WebCore::FrameView::performPostLayoutTasks): Ditto.
281         * testing/InternalSettings.cpp:
282         (WebCore::InternalSettings::Backup::Backup): Ditto.
283         (WebCore::InternalSettings::Backup::restoreTo):
284         (WebCore::InternalSettings::setShadowDOMEnabled):
285         (WebCore::InternalSettings::setAuthorShadowDOMForAnyElementEnabled):
286         (WebCore::InternalSettings::setStyleScopedEnabled):
287         (WebCore::InternalSettings::setCSSExclusionsEnabled):
288         (WebCore::InternalSettings::setCSSShapesEnabled):
289         (WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled):
290
291 2013-09-25  Andreas Kling  <akling@apple.com>
292
293         Unreviewed build fix for IDBDatabase.
294
295         Turns out there was a much cleaner way to express this.
296
297 2013-09-25  Benjamin Poulain  <benjamin@webkit.org>
298
299         Tie the life of DocumentStyleSheetCollection and Document together
300         https://bugs.webkit.org/show_bug.cgi?id=121892
301
302         Reviewed by Andreas Kling.
303
304         DocumentStyleSheetCollection had an odd destruction pattern for no apparent reason.
305
306         The two objects strictly depend on eachother, this patch make that explicit by making
307         DocumentStyleSheetCollection a plain object in Document's memory space.
308
309         * css/CSSStyleSheet.cpp:
310         (WebCore::CSSStyleSheet::didMutateRules):
311         * css/DocumentRuleSets.cpp:
312         (WebCore::DocumentRuleSets::initUserStyle):
313         * css/DocumentRuleSets.h:
314         * css/InspectorCSSOMWrappers.cpp:
315         (WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection):
316         (WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets):
317         * css/InspectorCSSOMWrappers.h:
318         * css/SelectorChecker.cpp:
319         (WebCore::SelectorChecker::matchRecursively):
320         (WebCore::SelectorChecker::checkOne):
321         * css/StyleResolver.cpp:
322         (WebCore::StyleResolver::StyleResolver):
323         * css/StyleSheetList.cpp:
324         (WebCore::StyleSheetList::styleSheets):
325         (WebCore::StyleSheetList::detachFromDocument):
326         * dom/Document.cpp:
327         (WebCore::Document::Document):
328         (WebCore::Document::~Document):
329         (WebCore::Document::setCompatibilityMode):
330         (WebCore::Document::recalcStyle):
331         (WebCore::Document::createStyleResolver):
332         (WebCore::Document::processHttpEquiv):
333         (WebCore::Document::preferredStylesheetSet):
334         (WebCore::Document::selectedStylesheetSet):
335         (WebCore::Document::setSelectedStylesheetSet):
336         (WebCore::Document::scheduleOptimizedStyleSheetUpdate):
337         (WebCore::Document::styleResolverChanged):
338         (WebCore::Document::haveStylesheetsLoaded):
339         * dom/Document.h:
340         (WebCore::Document::styleSheetCollection):
341         * dom/DocumentStyleSheetCollection.cpp:
342         (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
343         (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
344         (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):
345         (WebCore::DocumentStyleSheetCollection::pageUserSheet):
346         (WebCore::DocumentStyleSheetCollection::clearPageUserSheet):
347         (WebCore::DocumentStyleSheetCollection::updatePageUserSheet):
348         (WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
349         (WebCore::DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache):
350         (WebCore::DocumentStyleSheetCollection::addAuthorSheet):
351         (WebCore::DocumentStyleSheetCollection::addUserSheet):
352         (WebCore::DocumentStyleSheetCollection::removePendingSheet):
353         (WebCore::DocumentStyleSheetCollection::addStyleSheetCandidateNode):
354         (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
355         (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
356         (WebCore::collectActiveCSSStyleSheetsFromSeamlessParents):
357         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
358         * dom/DocumentStyleSheetCollection.h:
359         * dom/Element.cpp:
360         (WebCore::Element::createPseudoElementIfNeeded):
361         * dom/InlineStyleSheetOwner.cpp:
362         (WebCore::InlineStyleSheetOwner::insertedIntoDocument):
363         (WebCore::InlineStyleSheetOwner::removedFromDocument):
364         (WebCore::InlineStyleSheetOwner::clearDocumentData):
365         (WebCore::InlineStyleSheetOwner::createSheet):
366         (WebCore::InlineStyleSheetOwner::sheetLoaded):
367         (WebCore::InlineStyleSheetOwner::startLoadingDynamicSheet):
368         * dom/ProcessingInstruction.cpp:
369         (WebCore::ProcessingInstruction::~ProcessingInstruction):
370         (WebCore::ProcessingInstruction::checkStyleSheet):
371         (WebCore::ProcessingInstruction::sheetLoaded):
372         (WebCore::ProcessingInstruction::insertedInto):
373         (WebCore::ProcessingInstruction::removedFrom):
374         * html/HTMLLinkElement.cpp:
375         (WebCore::HTMLLinkElement::~HTMLLinkElement):
376         (WebCore::HTMLLinkElement::insertedInto):
377         (WebCore::HTMLLinkElement::removedFrom):
378         (WebCore::HTMLLinkElement::addPendingSheet):
379         (WebCore::HTMLLinkElement::removePendingSheet):
380         * html/HTMLQuoteElement.cpp:
381         (WebCore::HTMLQuoteElement::insertedInto):
382         * html/HTMLViewSourceDocument.cpp:
383         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
384         * inspector/InspectorCSSAgent.cpp:
385         (WebCore::InspectorCSSAgent::willMatchRule):
386         * inspector/InspectorCSSAgent.h:
387         * inspector/InspectorInstrumentation.cpp:
388         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
389         * inspector/InspectorInstrumentation.h:
390         (WebCore::InspectorInstrumentation::willMatchRule):
391         * mathml/MathMLMathElement.cpp:
392         (WebCore::MathMLMathElement::insertedInto):
393         * page/Page.cpp:
394         (WebCore::Page::userStyleSheetLocationChanged):
395         * page/PageGroup.cpp:
396         (WebCore::PageGroup::invalidateInjectedStyleSheetCacheInAllFrames):
397         * rendering/RenderBlock.cpp:
398         (WebCore::RenderBlock::lineHeight):
399         (WebCore::RenderBlock::updateFirstLetter):
400         * rendering/RenderInline.cpp:
401         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
402         (WebCore::RenderInline::lineHeight):
403         * rendering/RenderLineBreak.cpp:
404         (WebCore::RenderLineBreak::lineHeight):
405         * rendering/RenderObject.cpp:
406         (WebCore::RenderObject::uncachedFirstLineStyle):
407         (WebCore::RenderObject::cachedFirstLineStyle):
408         * rendering/RenderObject.h:
409         (WebCore::RenderObject::firstLineStyle):
410         * rendering/RootInlineBox.cpp:
411         (WebCore::RootInlineBox::verticalPositionForBox):
412         * style/StyleResolveTree.cpp:
413         (WebCore::Style::resolveLocal):
414         * testing/Internals.cpp:
415         (WebCore::Internals::insertAuthorCSS):
416         (WebCore::Internals::insertUserCSS):
417
418 2013-09-25  Brady Eidson  <beidson@apple.com>
419
420         FeatureDefine.xcconfig cleanup (They should all be identical).
421         https://bugs.webkit.org/show_bug.cgi?id=121921
422
423         Reviewed by Mark Rowe.
424
425         * Configurations/FeatureDefines.xcconfig:
426
427 2013-09-25  Andreas Kling  <akling@apple.com>
428
429         JS wrappers should have strongly typed impl() functions.
430         <https://webkit.org/b/121919>
431
432         Reviewed by Geoffrey Garen.
433
434         Generate strongly typed JSFoo::impl() functions for all wrappers,
435         not just those marked with JSGenerateToNativeObject.
436
437         Removed 8.8 million static_casts that are no longer needed.
438
439 2013-09-24  Roger Fong  <roger_fong@apple.com>
440
441         [Windows] Overpanning occurs even when what is being panned isn't the main document.
442         https://bugs.webkit.org/show_bug.cgi?id=121885.
443         <rdar://problem/15072332>.
444
445         Reviewed by Brent Fulgham.
446
447         No new functionality added.
448
449         * rendering/RenderLayer.cpp:
450         (WebCore::RenderLayer::scrollByRecursively):
451         * rendering/RenderLayer.h:
452
453 2013-09-25  Andreas Kling  <akling@apple.com>
454
455         Reduce repetitive EventTarget subclassing.
456         <https://webkit.org/b/121915>
457
458         Reviewed by Antti Koivisto.
459
460         Add a EventTargetWithInlineData helper class to EventTarget.h.
461         It's a simple subclass with an EventTargetData member and FINAL
462         eventTargetData()/ensureEventTargetData() overrides.
463
464         Turns out that this fits almost every use case except Node and
465         SVGElementInstance.
466
467         Inlined most of the FINAL EventTarget overrides since they will
468         be called on tight pointers by generated bindings code and this
469         removes the need for virtual dispatch.
470
471         Spammed OVERRIDE FINAL as appropriate, we can't make the whole
472         classes FINAL until bug 121747 is fixed, so added FIXMEs.
473
474 2013-09-25  Sam White  <samuel_white@apple.com>
475
476         AX: WebKit doesn't map aria-sort=other on OS X
477         https://bugs.webkit.org/show_bug.cgi?id=118511
478
479         Reviewed by Chris Fleizach.
480
481         No new tests, updated existing aria-sort test to validate addition of "other"
482         sort order per http://www.w3.org/TR/wai-aria/complete#aria-sort.
483
484         * accessibility/AccessibilityObject.cpp:
485         (WebCore::AccessibilityObject::sortDirection):
486         * accessibility/AccessibilityObject.h:
487
488 2013-09-24  Sam Weinig  <sam@webkit.org>
489
490         CTTE: More Document references please
491         https://bugs.webkit.org/show_bug.cgi?id=121893
492
493         Reviewed by Anders Carlsson.
494
495         * Thread even more Document&s around. *
496
497 2013-09-25  Anders Carlsson  <andersca@apple.com>
498
499         HasMemoryCostMemberFunction should work for final classes
500         https://bugs.webkit.org/show_bug.cgi?id=121747
501
502         Reviewed by Sam Weinig.
503
504         Use decltype to check for the memoryCost() member function. This doesn't check that the return type is size_t, but
505         the build will fail anyway if that's the case (or if the return type is not convertible to size_t).
506
507         * bindings/js/JSDOMBinding.h:
508
509 2013-09-25  Brady Eidson  <beidson@apple.com>
510
511         More refactoring to make the LevelDB dependencies of IDB more obvious.
512         https://bugs.webkit.org/show_bug.cgi?id=121880
513
514         Reviewed by Alexey Proskuryakov.
515
516         This patch does three things:
517         1 - Moves some files to the indexeddb/leveldb subdirectory, renaming them in the process.
518         2 - Renames some classes.
519         3 - Adds "USE(LEVELDB)" guards in addition to the ENABLE(INDEXED_DATABASE) guard for those files.
520
521         Project file updates:
522         * GNUmakefile.am:
523         * GNUmakefile.list.am:
524         * Target.pri:
525         * WebCore.xcodeproj/project.pbxproj:
526         * WebCore.vcxproj/WebCore.vcxproj:
527
528         File renames, class renames, and USE(LEVELDB) guards:
529         * Modules/indexeddb/IDBBackingStore.cpp: Removed.
530         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
531         (WebCore::IDBFactoryBackendInterface::create): Add a null return if USE(LEVELDB) is disabled as a stop gap measure until
532           there is a non-LevelDB impl.
533         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
534         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBBackingStore.h.
535         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp.
536         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.h.
537         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp.
538         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h.
539         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.cpp.
540         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.h.
541         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
542         * Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
543         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp.
544         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.h.
545         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp.
546         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.h.
547         * Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.cpp.
548         * Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.h.
549
550
551 2013-09-25  Antti Koivisto  <antti@apple.com>
552
553         REGRESSION (r156355) Links / interactive elements inside nested tables are unclickable
554         https://bugs.webkit.org/show_bug.cgi?id=121904
555
556         Reviewed by Andreas Kling.
557
558         Test: fast/table/hittest-self-painting.html
559         
560         Original reduction by Philippe Wittenbergh.
561
562         * rendering/RenderTableRow.cpp:
563         (WebCore::RenderTableRow::styleDidChange):
564         
565             Tighten a bit.
566
567         (WebCore::RenderTableRow::nodeAtPoint):
568         * rendering/RenderTableSection.cpp:
569         (WebCore::RenderTableSection::nodeAtPoint):
570         
571             These flipped accidentally in r156355.
572
573 2013-09-25  Alberto Garcia  <berto@igalia.com>
574
575         Fix warning in makeprop.pl
576         https://bugs.webkit.org/show_bug.cgi?id=121900
577
578         Reviewed by Ryosuke Niwa.
579
580         %nameIsInherited and %nameToId were incorrectly initialized using
581         references instead of lists.
582
583         Anyway there's no need to initialize those variables explicitly,
584         they're already empty by default.
585
586         * css/makeprop.pl:
587
588 2013-09-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
589
590         REGRESSION(r156393): Build with !ENABLE(SVG_FONTS) broken
591
592         Unreviewed build-fix.
593
594         Protect SVG font code with #ifdef ENABLE(SVG_FONTS).
595
596         * platform/graphics/WidthIterator.cpp:
597         (WebCore::applyFontTransforms):
598
599 2013-09-25  Commit Queue  <commit-queue@webkit.org>
600
601         Unreviewed, rolling out r156272.
602         http://trac.webkit.org/changeset/156272
603         https://bugs.webkit.org/show_bug.cgi?id=121909
604
605         Has no real effect (Requested by carewolf on #webkit).
606
607         * platform/graphics/qt/TileQt.cpp:
608         (WebCore::TileQt::updateBackBuffer):
609
610 2013-09-25  Andreas Kling  <akling@apple.com>
611
612         Move wheel event dispatch from Node to Element.
613         <https://webkit.org/b/121908>
614
615         Reviewed by Anders Carlsson.
616
617         Wheel events are only ever dispatched on Elements, so move the logic out of Node.
618
619         Had to make RenderBox::scroll() and friends return a stopElement instead of a
620         stopNode (out argument) to make this work, though it was only ever returning
621         Elements there anyway.
622
623 2013-09-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
624
625         [Qt] Fix build with !ENABLE(BLOB) after r156330
626
627         Unreviewed build-fix.
628
629         * platform/network/qt/ResourceRequestQt.cpp:
630         (WebCore::ResourceRequest::toNetworkRequest):
631
632 2013-09-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
633
634         Support kerning with SVG web fonts
635         https://bugs.webkit.org/show_bug.cgi?id=117540
636
637         Reviewed by Stephen Chenney.
638
639         Adds the glue to WidthIterator to take advantage of kerning in SVG web fonts.
640         To supply SVG font kerning with its required text input, the signature of
641         applyFontTransforms has been extended.
642
643         Since SVG font kerning was extremely slow, it has been sped up by replacing
644         the iteration over all possible kerning definitions with a hash-map based
645         lookup of the leading symbol to be kerned. The new algorithm provides a
646         roughly 100x speed-up in SVG font kerning.
647
648         Test: fast/text/svg-font-face-with-kerning.html
649
650         * platform/graphics/TextRun.h:
651         (WebCore::TextRun::string):
652         * platform/graphics/WidthIterator.cpp:
653         (WebCore::applyFontTransforms):
654         (WebCore::WidthIterator::advanceInternal):
655         * rendering/svg/SVGTextRunRenderingContext.cpp:
656         (WebCore::SVGTextRunRenderingContext::applySVGKerning):
657         * rendering/svg/SVGTextRunRenderingContext.h:
658         * svg/SVGFontElement.cpp:
659         (WebCore::SVGFontElement::invalidateGlyphCache):
660         (WebCore::SVGFontElement::ensureGlyphCache):
661         (WebCore::SVGKerningMap::clear):
662         (WebCore::SVGKerningMap::insert):
663         (WebCore::stringMatchesUnicodeRange):
664         (WebCore::stringMatchesGlyphName):
665         (WebCore::stringMatchesUnicodeName):
666         (WebCore::matches):
667         (WebCore::kerningForPairOfStringsAndGlyphs):
668         (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
669         (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
670         * svg/SVGFontElement.h:
671         (WebCore::SVGKerning::SVGKerning):
672         (WebCore::SVGKerningMap::isEmpty):
673         * svg/SVGHKernElement.cpp:
674         (WebCore::SVGHKernElement::buildHorizontalKerningPair):
675         * svg/SVGHKernElement.h:
676         * svg/SVGVKernElement.cpp:
677         (WebCore::SVGVKernElement::buildVerticalKerningPair):
678         * svg/SVGVKernElement.h:
679
680 2013-09-25  Andrei Parvu  <parvu@adobe.com>
681
682         <https://webkit.org/b/120476> [CSS Masking] Implement luminance masking
683
684         Added implementation for luminance masking. A luminance mask is applied by transforming its RGB values into
685         an alpha value, using luminance-to-alpha coefficients. Because this conversion is already implemented in
686         the ImageBuffer class, we used it in our implementation.
687
688         Reviewed by Dirk Schulze.
689
690         Tests: css3/masking/mask-luminance-gradient.html
691                css3/masking/mask-luminance-png.html
692                css3/masking/mask-luminance-svg.html
693
694         * platform/graphics/BitmapImage.cpp: Add a drawPattern method, in which an ImageBuffer is created and converted from alpha to luminance, if there is a luminance mask.
695         (WebCore::BitmapImage::BitmapImage):
696         (WebCore::BitmapImage::drawPattern):
697         * platform/graphics/BitmapImage.h:
698         * platform/graphics/GeneratorGeneratedImage.cpp: Convert the ImageBuffer to luminance, if necessary.
699         (WebCore::GeneratorGeneratedImage::drawPattern):
700         * platform/graphics/GraphicsContext.cpp: Add methods which set and check if a luminance mask is drawn.
701         (WebCore::GraphicsContext::setDrawLuminanceMask):
702         (WebCore::GraphicsContext::drawLuminanceMask):
703         * platform/graphics/GraphicsContext.h: Add property to ContextState for luminance drawing.
704         (WebCore::GraphicsContextState::GraphicsContextState):
705         * rendering/RenderBoxModelObject.cpp: Set the luminance property of the mask, if the layer has a mask source type of luminance.
706         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
707         * svg/graphics/SVGImage.cpp: Convert the ImageBuffer to luminance, if necessary.
708         (WebCore::SVGImage::drawPatternForContainer):
709         * svg/graphics/SVGImageForContainer.cpp: Pass the luminance property to the SVG image.
710         (WebCore::SVGImageForContainer::drawPattern):
711
712 2013-09-25  Andreas Kling  <akling@apple.com>
713
714         Remove EventPathWalker.
715         <https://webkit.org/b/121890>
716
717         Reviewed by Antti Koivisto.
718
719         Purge some more leftover Shadow DOM code.
720
721         * dom/EventPathWalker.cpp:
722         * dom/EventPathWalker.h:
723
724             Removed.
725
726         * dom/EventRetargeter.cpp:
727         (WebCore::nodeOrHostIfPseudoElement):
728         (WebCore::EventRetargeter::calculateEventPath):
729         (WebCore::EventRetargeter::buildRelatedNodeMap):
730
731             If starting at a pseudo element, e.g for events originating from
732             a transition on :before/:after, retarget to the pseudo element's
733             host as appropriate. This was the only real "feature" we were
734             using in EventPathWalker.
735
736         * page/EventHandler.cpp:
737         (WebCore::EventHandler::handleMouseDraggedEvent):
738         (WebCore::EventHandler::updateDragAndDrop):
739         (WebCore::EventHandler::updateMouseEventTargetNode):
740         (WebCore::EventHandler::handleWheelEvent):
741         (WebCore::EventHandler::handleTouchEvent):
742
743             Replace use of EventPathWalker with parentOrShadowHostElement()
744             parent chain climbing.
745
746 2013-09-25  Gurpreet Kaur  <k.gurpreet@samsung.com>
747
748         :read-write pseudo-class should not be applied on <input type="text" disabled>
749         https://bugs.webkit.org/show_bug.cgi?id=118236
750
751         Reviewed by Darin Adler.
752
753         The :read-write pseudo-class must match any element falling into one
754         of the following categories i.e
755         input elements to which the readonly attribute applies, and that are mutable
756         (i.e. that do not have the readonly attribute specified and that are not disabled)
757         textarea elements that do not have a readonly attribute, and that are not disabled
758         elements that are editing hosts or editable and are neither input elements nor
759         textarea elements.
760
761         Test: fast/css/readwrite-pseudoclass-input.html
762
763         * html/HTMLInputElement.cpp:
764         (WebCore::HTMLInputElement::matchesReadWritePseudoClass):
765         * html/HTMLTextAreaElement.cpp:
766         (WebCore::HTMLTextAreaElement::matchesReadWritePseudoClass):
767         Checking for both readonly and disabled attribute on input ane textarea element.
768
769 2013-09-25  Krzysztof Czech  <k.czech@samsung.com>
770
771         [EFL] accessibility/loading-iframe-sends-notification.html is failing
772         https://bugs.webkit.org/show_bug.cgi?id=112003
773
774         Reviewed by Mario Sanchez Prada.
775
776         Enabled AXLayoutComplete on EFL platform.
777
778         * dom/Document.cpp:
779         (WebCore::Document::implicitClose):
780         * page/FrameView.cpp:
781         (WebCore::FrameView::layout):
782
783 2013-09-24  Commit Queue  <commit-queue@webkit.org>
784
785         Unreviewed, rolling out r156379.
786         http://trac.webkit.org/changeset/156379
787         https://bugs.webkit.org/show_bug.cgi?id=121894
788
789         Caused many assertion failures (Requested by ap on #webkit).
790
791         * css/CSSValue.cpp:
792         (WebCore::CSSValue::destroy):
793         * css/StyleResolver.cpp:
794         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
795         (WebCore::StyleResolver::createFilterOperations):
796         * css/TransformFunctions.cpp:
797         (WebCore::transformsForValue):
798         * css/WebKitCSSArrayFunctionValue.h:
799         * css/WebKitCSSFilterValue.h:
800         * css/WebKitCSSMatFunctionValue.h:
801         * css/WebKitCSSMixFunctionValue.h:
802         * css/WebKitCSSSVGDocumentValue.h:
803         * css/WebKitCSSShaderValue.h:
804         (WebCore::toWebKitCSSShaderValue):
805         * css/WebKitCSSTransformValue.h:
806
807 2013-09-24  Ryosuke Niwa  <rniwa@webkit.org>
808
809         Crash in Document::setFocusedElement
810         https://bugs.webkit.org/show_bug.cgi?id=121888
811
812         Reviewed by Andreas Kling.
813
814         Merge https://chromium.googlesource.com/chromium/blink/+/4a594a3de7d9761462b55fb27a6850d767419af2
815
816         The crash was caused by attempting to call Chrome:focusedNodeChanged() after m_page had already
817         been cleared. This could happen when blur's event handler removes the iframe from which
818         the focus had been moved. Fixed the bug by adding a null pointer check.
819
820         Test: fast/events/blur-remove-parent-crash.html
821
822         * dom/Document.cpp:
823         (WebCore::Document::setFocusedElement):
824
825 2013-09-24  Antti Koivisto  <antti@apple.com>
826
827         Remove HTMLContentElement
828         https://bugs.webkit.org/show_bug.cgi?id=121891
829
830         Reviewed by Andreas Kling.
831
832         Remove an unsused Shadow DOM type.
833
834         * DerivedSources.make:
835         * WebCore.exp.in:
836         * WebCore.xcodeproj/project.pbxproj:
837         * html/HTMLDetailsElement.cpp:
838         * html/HTMLSummaryElement.cpp:
839         * html/HTMLTagNames.in:
840         * html/shadow/ContentDistributor.cpp:
841         * html/shadow/HTMLContentElement.cpp: Removed.
842         * html/shadow/HTMLContentElement.h: Removed.
843         * html/shadow/HTMLContentElement.idl: Removed.
844         * html/shadow/InsertionPoint.h:
845         (WebCore::InsertionPoint::matchTypeFor):
846         * testing/Internals.cpp:
847         * testing/Internals.h:
848         * testing/Internals.idl:
849
850 2013-09-24  Benjamin Poulain  <benjamin@webkit.org>
851
852         Remove a contradiction from SelectorChecker
853         https://bugs.webkit.org/show_bug.cgi?id=121881
854
855         Reviewed by Andreas Kling.
856
857         The matching code for PseudoHover and PseudoActive is done on the current
858         selector pseudo type. The current selector match type must be CSSSelector::PseudoClass
859         in order to reach this code. Consequently, selector->m_match == CSSSelector::Tag can
860         never be true.
861
862         * css/SelectorChecker.cpp:
863         (WebCore::SelectorChecker::checkOne):
864
865 2013-09-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
866
867         Add toWebKitCSS*Value functions to cast from CSSValue
868         https://bugs.webkit.org/show_bug.cgi?id=121776
869
870         Reviewed by Darin Adler.
871
872         CSS_VALUE_TYPE_CASTS can't cover WebKitCSS*Value classes. So, this patch adds toWebKitCSS*Value manually.
873
874         No new tests, no behavior change.
875
876         * css/CSSValue.cpp:
877         (WebCore::CSSValue::destroy):
878         * css/StyleResolver.cpp:
879         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
880         (WebCore::StyleResolver::createFilterOperations):
881         * css/TransformFunctions.cpp:
882         (WebCore::transformsForValue):
883         * css/WebKitCSSArrayFunctionValue.h:
884         (WebCore::toWebKitCSSArrayFunctionValue):
885         * css/WebKitCSSFilterValue.h:
886         (WebCore::toWebKitCSSFilterValue):
887         * css/WebKitCSSMatFunctionValue.h:
888         (WebCore::toWebKitCSSMatFunctionValue):
889         * css/WebKitCSSMixFunctionValue.h:
890         (WebCore::toWebKitCSSMixFunctionValue):
891         * css/WebKitCSSSVGDocumentValue.h:
892         (WebCore::toWebKitCSSSVGDocumentValue):
893         * css/WebKitCSSShaderValue.h:
894         (WebCore::toWebKitCSSShaderValue):
895         * css/WebKitCSSTransformValue.h:
896         (WebCore::toWebKitCSSTransformValue):
897
898 2013-09-24  Antti Koivisto  <antti@apple.com>
899
900         Clean up some uses of first/lastChildSlow
901         https://bugs.webkit.org/show_bug.cgi?id=121882
902
903         Reviewed by Andreas Kling.
904
905         Tighten typing and use first/lastChild instead.
906
907         * dom/Position.cpp:
908         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
909         (WebCore::Position::isCandidate):
910         (WebCore::Position::getInlineBoxAndOffset):
911         * dom/Position.h:
912         * dom/PositionIterator.cpp:
913         (WebCore::PositionIterator::isCandidate):
914         * editing/CompositeEditCommand.cpp:
915         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
916         * rendering/RenderBlock.cpp:
917         (WebCore::canMergeAnonymousBlock):
918         (WebCore::canMergeContiguousAnonymousBlocks):
919         (WebCore::RenderBlock::firstLineBlock):
920         (WebCore::RenderBlock::updateFirstLetter):
921         * rendering/RenderRegion.cpp:
922         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
923         (WebCore::RenderRegion::computeChildrenStyleInRegion):
924         * rendering/RenderRegion.h:
925         * rendering/RenderRuby.cpp:
926         (WebCore::rubyBeforeBlock):
927         (WebCore::rubyAfterBlock):
928         (WebCore::lastRubyRun):
929         * rendering/RenderTreeAsText.cpp:
930         (WebCore::write):
931         (WebCore::writeCounterValuesFromChildren):
932         * rendering/svg/RenderSVGText.cpp:
933         (WebCore::findPreviousAndNextAttributes):
934         * style/StyleResolveTree.cpp:
935         (WebCore::Style::textRendererIsNeeded):
936
937 2013-09-24  Mark Lam  <mark.lam@apple.com>
938
939         Change JSC debug hooks to pass a CallFrame* instead of a DebuggerCallFrame.
940         https://bugs.webkit.org/show_bug.cgi?id=121867.
941
942         Reviewed by Geoffrey Garen.
943
944         No new tests.
945
946         * bindings/js/ScriptDebugServer.cpp:
947         (WebCore::ScriptDebugServer::createCallFrame):
948         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
949         (WebCore::ScriptDebugServer::callEvent):
950         (WebCore::ScriptDebugServer::atStatement):
951         (WebCore::ScriptDebugServer::returnEvent):
952         (WebCore::ScriptDebugServer::exception):
953         (WebCore::ScriptDebugServer::willExecuteProgram):
954         (WebCore::ScriptDebugServer::didExecuteProgram):
955         (WebCore::ScriptDebugServer::didReachBreakpoint):
956         * bindings/js/ScriptDebugServer.h:
957         * bindings/js/WorkerScriptDebugServer.cpp:
958         (WebCore::WorkerScriptDebugServer::willExecuteProgram):
959         * bindings/js/WorkerScriptDebugServer.h:
960
961 2013-09-24  Andreas Kling  <akling@apple.com>
962
963         Move keyboard event dispatch from Node to Element.
964         <https://webkit.org/b/121873>
965
966         Reviewed by Antti Koivisto.
967
968         We only dispatch keyboard events on Elements so that logic shouldn't be in Node.
969
970         * dom/Document.cpp:
971         (WebCore::eventTargetElementForDocument):
972
973             Reworked to return Element instead of Node.
974
975         * dom/Document.h:
976         * dom/Element.h:
977         * dom/Element.cpp:
978         (WebCore::Element::dispatchKeyEvent):
979
980             Moved from Node to Element.
981
982         * editing/AlternativeTextController.cpp:
983         (WebCore::AlternativeTextController::insertDictatedText):
984         * page/EventHandler.cpp:
985         (WebCore::EventHandler::keyEvent):
986         (WebCore::EventHandler::handleTextInputEvent):
987
988             Adjusted for above changes.
989
990 2013-09-24  Zoltan Horvath  <zoltan@webkit.org>
991
992         [CSS Shapes] Modify updateSegmentsForShapes function to use logical coordinates
993         https://bugs.webkit.org/show_bug.cgi?id=121864
994
995         Reviewed by David Hyatt.
996
997         When I landed updateSegmentsForShapes in r156022, I didn't use logical coordinates. This change modifies the
998         code to use coordinates for positioning the float and the content around the float in a shape-inside. Now I
999         added only one writing mode tests, but I will add more later in bug #121866.
1000
1001         Test: fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-vertical-lr-inline-content.html
1002
1003         * rendering/FloatingObjects.h:
1004         (WebCore::FloatingObject::logicalHeight):
1005         * rendering/RenderBlock.cpp:
1006         (WebCore::RenderBlock::computeLogicalLocationForFloat):
1007         * rendering/RenderBlockLineLayout.cpp:
1008         (WebCore::updateSegmentsForShapes):
1009
1010 2013-09-24  Brady Eidson  <beidson@apple.com>
1011
1012         Remove IDBTransactionCallbacks.h from the .xcodeproj, as it's gone from the repository.
1013
1014         Rubberstamped by Anders Carlsson and Alexey Proskuryakov.
1015
1016         * WebCore.xcodeproj/project.pbxproj:
1017
1018 2013-09-24  Antti Koivisto  <antti@apple.com>
1019
1020         Tighten table rendering code
1021         https://bugs.webkit.org/show_bug.cgi?id=121860
1022
1023         Reviewed by Andreas Kling.
1024
1025         Hide firstChild/lastChild/nextSibling/previousSibling in table renderers, 
1026         expose correctly typed firstRow/nextCell etc instead.
1027
1028 2013-09-24  Dean Jackson  <dino@apple.com>
1029
1030         Implement symbol name hashing for WebGL shaders
1031         https://bugs.webkit.org/show_bug.cgi?id=121849
1032
1033         Reviewed by Anders Carlsson.
1034
1035         Turn on ANGLE's symbol name mapping for shader programs.
1036         This avoids compilation failures (or worse, crashers)
1037         on some hardware that doesn't like it when shaders redefine
1038         symbols like "sin", even though that is valid.
1039
1040         The way ANGLE exposes this is via setting a pointer
1041         to a char* -> uint64_t hash function. Since we only have
1042         a 32-bit hash in WebKit, I combine the 32-bit value with
1043         a counter value that exists over the lifetime of a GC3D context.
1044         Before calling ANGLE, I point the global hash map to the local
1045         hash map, and then clean up after we're done. This introduces
1046         a memory hit, in that the symbol table will build up until
1047         the context is released.
1048
1049         Covered by Khronos WebGL tests, including
1050         conformance/glsl/misc/shader-with-non-reserved-words.html
1051
1052         * platform/graphics/GraphicsContext3D.h: Define a ShaderNameHash type,
1053         and add an OwnPtr to one as a member variable.
1054         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1055         (WebCore::nameHashForShader): Global function used for ANGLE hashing.
1056         (WebCore::GraphicsContext3D::compileShader): Set up the ANGLE properties,
1057         point to the local hash map, and call compile/translate.
1058
1059 2013-09-24  Dean Jackson  <dino@apple.com>
1060
1061         Use mapped name in attribute location binding
1062         https://bugs.webkit.org/show_bug.cgi?id=121847
1063         <rdar://problem/15067526>
1064
1065         Reviewed by Eric Carlson.
1066
1067         The shader that we send down to OpenGL to compile
1068         may have been translated by ANGLE, so we keep a
1069         table around that maps input symbols to output symbols.
1070         We used the table when binding to and looking up
1071         uniforms, and when looking up attributes, but not
1072         when actually binding to attribute locations.
1073
1074         Test: fast/canvas/webgl/gl-bind-attrib-mapped-names.html
1075
1076         * platform/graphics/ANGLEWebKitBridge.cpp:
1077         (WebCore::getSymbolInfo): Add logging of symbol mapping.
1078         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1079         (WebCore::GraphicsContext3D::bindAttribLocation): Used the mapped name.
1080         (WebCore::GraphicsContext3D::getAttribLocation): Remove comment since
1081         we do the lookup everywhere.
1082         (WebCore::GraphicsContext3D::getUniformLocation): Ditto.
1083
1084 2013-09-24  Enrica Casucci  <enrica@apple.com>
1085
1086         Upstream changes to Pasteboard implementation for iOS.
1087         https://bugs.webkit.org/show_bug.cgi?id=121818
1088
1089         Reviewed by Darin Adler.
1090
1091         * WebCore.xcodeproj/project.pbxproj:
1092         * editing/Editor.cpp:
1093         (WebCore::Editor::cut):
1094         (WebCore::Editor::copyImage):
1095         * editing/ios/EditorIOS.mm:
1096         (WebCore::attributedStringForRange):
1097         (WebCore::dataInRTFDFormat):
1098         (WebCore::dataInRTFFormat):
1099         (WebCore::Editor::stringSelectionForPasteboardWithImageAltText):
1100         (WebCore::Editor::selectionInWebArchiveFormat):
1101         (WebCore::Editor::writeSelectionToPasteboard):
1102         (WebCore::getImage):
1103         (WebCore::Editor::writeImageToPasteboard):
1104         * platform/Pasteboard.h:
1105         * platform/PasteboardStrategy.h:
1106         * platform/PlatformPasteboard.h:
1107         * platform/ios/PasteboardIOS.mm:
1108         * platform/ios/PlatformPasteboardIOS.mm: Added.
1109         (WebCore::PlatformPasteboard::PlatformPasteboard):
1110         (WebCore::PlatformPasteboard::getTypes):
1111         (WebCore::PlatformPasteboard::bufferForType):
1112         (WebCore::PlatformPasteboard::getPathnamesForType):
1113         (WebCore::PlatformPasteboard::stringForType):
1114         (WebCore::PlatformPasteboard::color):
1115         (WebCore::PlatformPasteboard::url):
1116         (WebCore::PlatformPasteboard::copy):
1117         (WebCore::PlatformPasteboard::addTypes):
1118         (WebCore::PlatformPasteboard::setTypes):
1119         (WebCore::PlatformPasteboard::setBufferForType):
1120         (WebCore::PlatformPasteboard::setPathnamesForType):
1121         (WebCore::PlatformPasteboard::setStringForType):
1122         (WebCore::PlatformPasteboard::changeCount):
1123         (WebCore::PlatformPasteboard::uniqueName):
1124         (WebCore::PlatformPasteboard::write):
1125
1126 2013-09-24  Mark Rowe  <mrowe@apple.com>
1127
1128         <rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8
1129
1130         Reviewed by Dan Bernstein.
1131
1132         * Configurations/Base.xcconfig:
1133
1134 2013-09-24  Daniel Bates  <dabates@apple.com>
1135
1136         [iOS] Upstream -webkit-touch-callout
1137         https://bugs.webkit.org/show_bug.cgi?id=121507
1138
1139         Reviewed by Antti Koivisto.
1140
1141         * css/CSSComputedStyleDeclaration.cpp:
1142         (WebCore::ComputedStyleExtractor::propertyValue):
1143         * css/CSSParser.cpp:
1144         (WebCore::CSSParser::parseValue):
1145         * css/CSSPropertyNames.in: Added -webkit-touch-callout.
1146         * css/StyleResolver.cpp:
1147         (WebCore::StyleResolver::applyProperty):
1148         * html/HTMLImageElement.cpp:
1149         (WebCore::HTMLImageElement::willRespondToMouseClickEvents): Added.
1150         * html/HTMLImageElement.h:
1151         * rendering/style/RenderStyle.h:
1152         * rendering/style/StyleRareInheritedData.cpp:
1153         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1154         (WebCore::StyleRareInheritedData::operator==):
1155         * rendering/style/StyleRareInheritedData.h:
1156
1157 2013-09-24  Bem Jones-Bey  <bjonesbe@adobe.com>
1158
1159         Properly handle bottom margin on float with shape-outside
1160         https://bugs.webkit.org/show_bug.cgi?id=121808
1161
1162         Reviewed by David Hyatt.
1163
1164         When a float has a shape-outside, inline content must conform to the
1165         shape, not to the margin box. Thus, if a float with shape-outside has
1166         a bottom margin and the shape does not intrude into that margin, then
1167         the inline content should ignore the margin. Before this patch, inline
1168         content would drop below the margin box instead of obeying the shape.
1169         
1170         Note that content that should clear the float still clears the margin
1171         box, not the shape's contour.
1172
1173         Tests: csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002.html
1174                csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003.html
1175                csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004.html
1176
1177         * rendering/LineWidth.cpp:
1178         (WebCore::LineWidth::fitBelowFloats): Compute the logical bottom based
1179         on the shape.
1180         * rendering/RenderBlock.cpp:
1181         (WebCore::RenderBlock::nextFloatLogicalBottomBelow): Add option to
1182         compute the logical bottom based on the shape instead of on the margin
1183         box.
1184         * rendering/RenderBlock.h:
1185
1186 2013-09-24  Lorenzo Tilve  <ltilve@igalia.com>
1187
1188         [GTK] Fix compilation problems when setting ENABLE_DRAG_SUPPORT = FALSE
1189         https://bugs.webkit.org/show_bug.cgi?id=121782
1190
1191         Reviewed by Martin Robinson.
1192
1193         Disabled drag functions.
1194
1195         * page/gtk/EventHandlerGtk.cpp:
1196         * platform/gtk/PasteboardGtk.cpp:
1197
1198 2013-09-24  Samuel White  <samuel_white@apple.com>
1199
1200         AX: Replace AXObjectCache postNotification method boolean arguments with enum values.
1201         https://bugs.webkit.org/show_bug.cgi?id=121504
1202
1203         Reviewed by Chris Fleizach.
1204
1205         No new tests, no functional changes. Changed argument type from bool
1206         to enum per "Names" rule #10 in the WebKit coding style guidelines.
1207
1208         * accessibility/AXObjectCache.cpp:
1209         (WebCore::AXObjectCache::textChanged):
1210         (WebCore::AXObjectCache::postNotification):
1211         (WebCore::AXObjectCache::checkedStateChanged):
1212         (WebCore::AXObjectCache::selectedChildrenChanged):
1213         (WebCore::AXObjectCache::handleAttributeChanged):
1214         * accessibility/AXObjectCache.h:
1215         (WebCore::AXObjectCache::postNotification):
1216         * accessibility/AccessibilityMenuList.cpp:
1217         (WebCore::AccessibilityMenuList::didUpdateActiveOption):
1218         * accessibility/AccessibilityMenuListPopup.cpp:
1219         (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
1220         * accessibility/AccessibilityNodeObject.cpp:
1221         (WebCore::AccessibilityNodeObject::childrenChanged):
1222         (WebCore::AccessibilityNodeObject::changeValueByStep):
1223         (WebCore::AccessibilityNodeObject::changeValueByPercent):
1224         * accessibility/AccessibilityRenderObject.cpp:
1225         (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
1226         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
1227         (WebCore::AccessibilityRenderObject::textChanged):
1228         * dom/Document.cpp:
1229         (WebCore::Document::implicitClose):
1230         * editing/Editor.cpp:
1231         (WebCore::Editor::respondToChangedContents):
1232         (WebCore::Editor::markAndReplaceFor):
1233         * editing/mac/FrameSelectionMac.mm:
1234         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
1235         * html/HTMLTextFormControlElement.cpp:
1236         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
1237         * html/InputType.cpp:
1238         (WebCore::InputType::applyStep):
1239         * html/RangeInputType.cpp:
1240         (WebCore::RangeInputType::handleKeydownEvent):
1241         * page/FocusController.cpp:
1242         (WebCore::FocusController::setInitialFocus):
1243         * page/FrameView.cpp:
1244         (WebCore::FrameView::layout):
1245
1246 2013-09-24  Andreas Kling  <akling@apple.com>
1247
1248         Make hoverAncestor() a RenderElement concept.
1249         <https://webkit.org/b/121845>
1250
1251         Reviewed by Antti Koivisto.
1252
1253         The hover ancestor renderer is always a RenderElement, we only ever
1254         ask RenderElements for their hover ancestors.
1255
1256         Updated Document::updateHoverActiveState() to take advantage of the
1257         tighter typing, removing a few isElementNode() checks.
1258
1259 2013-09-24  Daniel Bates  <dabates@apple.com>
1260
1261         [iOS] Initialize settings mediaPlayback{AllowsInline, RequiresUserGesture} and
1262         shouldRespectImageOrientation as appropriate
1263         https://bugs.webkit.org/show_bug.cgi?id=121792
1264
1265         Reviewed by Darin Adler.
1266
1267         On iOS we explicitly want to disable mediaPlaybackAllowsInline, and enable
1268         mediaPlaybackRequiresUserGesture and shouldRespectImageOrientation by default.
1269         This differs from other platforms. We need to extract the initialization logic
1270         for these settings into constants whose definition is conditioned on the platform.
1271
1272         * page/Settings.cpp:
1273         * page/Settings.in:
1274
1275 2013-09-24  peavo@outlook.com  <peavo@outlook.com>
1276
1277         [WinCairo] Compile error.
1278         https://bugs.webkit.org/show_bug.cgi?id=121839
1279
1280         Reviewed by Brent Fulgham.
1281
1282         * platform/graphics/GraphicsContext3DPrivate.cpp:
1283         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate): Added missing guard.
1284
1285 2013-09-24  Andreas Kling  <akling@apple.com>
1286
1287         Cache continuation() in a local to avoid repeat hash lookups.
1288         <https://webkit.org/b/121840>
1289
1290         Reviewed by Geoffrey Garen.
1291
1292         RenderBoxModelObject::continuation() does a hash lookup every time.
1293         Cache the result in a local instead of calling it repeatedly.
1294
1295         * rendering/RenderBlock.h:
1296         (WebCore::RenderBlock::isAnonymousBlockContinuation):
1297
1298             Reorder to check bitfield before hash map.
1299
1300         * rendering/RenderBlock.cpp:
1301         (WebCore::RenderBlock::updateDragState):
1302         * rendering/RenderInline.cpp:
1303         (WebCore::RenderInline::absoluteRects):
1304         (WebCore::RenderInline::absoluteQuads):
1305         (WebCore::RenderInline::clippedOverflowRectForRepaint):
1306         (WebCore::RenderInline::updateDragState):
1307         (WebCore::RenderInline::addFocusRingRects):
1308
1309             Cache continuation() in locals where it's used more than once.
1310
1311 2013-09-24  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1312
1313         [Qt] Crash when trying to download blob url
1314         https://bugs.webkit.org/show_bug.cgi?id=121681
1315
1316         Reviewed by Simon Hausmann.
1317
1318         Resolve any blob URLs before creating a QUrl.
1319
1320         * platform/network/qt/ResourceRequestQt.cpp:
1321         (WebCore::appendBlobResolved):
1322         (WebCore::resolveBlobUrl):
1323         (WebCore::ResourceRequest::toNetworkRequest):
1324
1325 2013-09-23  Antti Koivisto  <antti@apple.com>
1326
1327         Move more style change code from RenderObject to RenderElement
1328         https://bugs.webkit.org/show_bug.cgi?id=121822
1329
1330         Reviewed by Darin Adler.
1331
1332         * rendering/RenderElement.cpp:
1333         (WebCore::RenderElement::~RenderElement):
1334         
1335             RenderTexts are no longer registered as image clients. They don't need be unregistered either.
1336
1337         (WebCore::RenderElement::adjustStyleDifference):
1338         (WebCore::RenderElement::hasImmediateNonWhitespaceTextChild):
1339         (WebCore::RenderElement::shouldRepaintForStyleDifference):
1340         (WebCore::RenderElement::updateFillImages):
1341         (WebCore::RenderElement::updateImage):
1342         (WebCore::RenderElement::updateShapeImage):
1343         (WebCore::RenderElement::setStyle):
1344         
1345             Move from RenderObject and remove the text specific bits.
1346
1347         * rendering/RenderElement.h:
1348         * rendering/RenderObject.cpp:
1349         (WebCore::RenderObject::setStyle):
1350         (WebCore::RenderObject::arenaDelete):
1351         * rendering/RenderObject.h:
1352         
1353             Remove styleWill/DidChange which move to subclasses.
1354
1355         * rendering/RenderText.cpp:
1356         (WebCore::RenderText::setStyle):
1357         
1358             Add simple text specific setStyle.
1359
1360         * rendering/RenderText.h:
1361
1362 2013-09-24  Andrei Parvu  <parvu@adobe.com>
1363
1364         [CSS Background] repeat: round should round the number of tiles to the nearest natural number
1365         https://bugs.webkit.org/show_bug.cgi?id=120668
1366
1367         Reviewed by Darin Adler.
1368
1369         Tests already available in css3/masking and css3/background
1370
1371         * rendering/RenderBoxModelObject.cpp: Rounded the number of tiles to the nearest natural number.
1372         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1373
1374 2013-09-24  Ryuan Choi  <ryuan.choi@samsung.com>
1375
1376         Remove ScrollView::platformInit() and ScrollView::platformDestroy()
1377         https://bugs.webkit.org/show_bug.cgi?id=121824
1378
1379         Reviewed by Darin Adler.
1380
1381         ScrollView::platformInit() and ScrollView::platformDestroy() are just
1382         empty functions for all ports after removed WX port at r149186.
1383
1384         * PlatformEfl.cmake: Removed ScrollViewEfl.cpp from source list.
1385         * platform/ScrollView.cpp: Removed platformInit and PlatformDestroy.
1386         (WebCore::ScrollView::ScrollView):
1387         (WebCore::ScrollView::~ScrollView):
1388         * platform/ScrollView.h: Ditto.
1389         * platform/efl/ScrollViewEfl.cpp: Removed.
1390
1391 2013-09-23  Darin Adler  <darin@apple.com>
1392
1393         Use unique_ptr instead of deleteAllValues in FloatingObject code
1394         https://bugs.webkit.org/show_bug.cgi?id=121823
1395
1396         Reviewed by Sam Weinig.
1397
1398         * rendering/FloatingObjects.cpp:
1399         (WebCore::FloatingObject::create): Return a unique_ptr instead of PassOwnPtr.
1400         Use auto and a word for the local variable instead of an abbreviation. Also
1401         changed to take a reference instead of a pointer.
1402         (WebCore::FloatingObject::copyToNewContainer): Ditto.
1403         (WebCore::FloatingObject::unsafeClone): Ditto.
1404         (WebCore::FloatingObjects::~FloatingObjects): Removed call to deleteAllValues.
1405         (WebCore::FloatingObjects::clearLineBoxTreePointers): Use auto to make this
1406         read clearly.
1407         (WebCore::FloatingObjects::clear): Removed call to deleteAllValues.
1408         (WebCore::FloatingObjects::moveAllToFloatInfoMap): Use std::move to move values
1409         out of the set, into the map. Removed code to clear the set, since it was a
1410         trick to prevent the values from being deleted when they were not moved.
1411         (WebCore::FloatingObjects::add): Changed to take a unique_ptr and to move the
1412         pointer into the set instead of using leakPtr.
1413         (WebCore::FloatingObjects::remove): Rearranged code so that the remove is at
1414         the end of the function rather than the beginning. Also had to use a hash
1415         translator and a find/remove combo since we don't have hash translator version
1416         of the remove function.
1417         (WebCore::FloatingObjects::computePlacedFloatsTree): Updated for changes to
1418         the types.
1419         (WebCore::FloatingObjects::placedFloatsTree): Moved this function here instead
1420         of having it in the header, since it's only used within the file.
1421
1422         * rendering/FloatingObjects.h: Changed functions to take references instead
1423         of pointers and return unique_ptr instead of PassOwnPtr. Also made
1424         constructors public so we can use them with make_unique. Changed types to
1425         use unique_ptr instead of raw pointers, and made the FloatingObjectHashTranslator
1426         work for both RenderBox& and FloatingObject&.
1427
1428         * rendering/LineWidth.cpp:
1429         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
1430         Updated for changes to types.
1431
1432         * rendering/RenderBlock.cpp:
1433         (WebCore::RenderBlock::styleDidChange):
1434         (WebCore::RenderBlock::moveAllChildrenIncludingFloatsTo):
1435         (WebCore::RenderBlock::addOverflowFromFloats):
1436         (WebCore::RenderBlock::repaintOverhangingFloats):
1437         (WebCore::RenderBlock::paintFloats):
1438         (WebCore::RenderBlock::selectionGaps):
1439         (WebCore::RenderBlock::insertFloatingObject):
1440         (WebCore::RenderBlock::removeFloatingObject):
1441         (WebCore::RenderBlock::removeFloatingObjectsBelow):
1442         (WebCore::RenderBlock::positionNewFloats):
1443         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
1444         (WebCore::RenderBlock::lowestFloatLogicalBottom):
1445         (WebCore::RenderBlock::addOverhangingFloats):
1446         (WebCore::RenderBlock::hasOverhangingFloat):
1447         (WebCore::RenderBlock::addIntrudingFloats):
1448         (WebCore::RenderBlock::containsFloat):
1449         (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
1450         (WebCore::RenderBlock::updateLocalFloatingObjectsForPaintingContainer):
1451         (WebCore::RenderBlock::hitTestFloats):
1452         (WebCore::RenderBlock::adjustForBorderFit):
1453         Updated for changes to types.
1454
1455         * rendering/RenderBlockFlow.cpp:
1456         (WebCore::RenderBlockFlow::clearFloats): Updated to use take instead of
1457         a combination of remove and delete.
1458
1459         * rendering/RenderBlockLineLayout.cpp:
1460         (WebCore::RenderBlock::layoutRunsAndFloats):
1461         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1462         (WebCore::RenderBlock::linkToEndLineIfNeeded):
1463         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
1464         (WebCore::RenderBlock::positionNewFloatOnLine):
1465         Updated for changes to types.
1466
1467 2013-09-23  Gurpreet Kaur  <k.gurpreet@samsung.com>
1468
1469         CSS Unit vh, vw, vmin and vmax in box-shadow are not applied.
1470         https://bugs.webkit.org/show_bug.cgi?id=121422
1471
1472         Reviewed by Darin Adler.
1473
1474         Box-shadow properties were not applied incase its values
1475         were given in vh, vw, vmax, vmin unit.
1476
1477         Tests: fast/css/box-shadow-negative-viewportlength.html
1478                fast/css/box-shadow-viewport-height.html
1479                fast/css/box-shadow-viewport-vmax.html
1480                fast/css/box-shadow-viewport-vmin.html
1481                fast/css/box-shadow-viewport-width.html
1482
1483         * css/CSSParser.cpp:
1484         (WebCore::CSSParser::parseShadow):
1485         * css/StyleResolver.cpp:
1486         (WebCore::StyleResolver::applyProperty):
1487         (WebCore::StyleResolver::MatchedProperties::~MatchedProperties):
1488         (WebCore::StyleResolver::viewportPercentageHeight):
1489         (WebCore::StyleResolver::viewportPercentageWidth):
1490         (WebCore::StyleResolver::viewportPercentageMax):
1491         (WebCore::StyleResolver::viewportPercentageMin):
1492         * css/StyleResolver.h:
1493         Parsing and calculating the shadow values which has been specified
1494         in viewport units.The vh/vw units are calcultated as percent of
1495         viewport height and viewport width respectively. 1vmax: 1vw or 1vh,
1496         whatever is largest.1vmin: 1vw or 1vh, whatever is smallest.
1497
1498 2013-09-23  Ryuan Choi  <ryuan.choi@samsung.com>
1499
1500         Unreviewed build fix for CMake ports with INDEXED_DATABASE after r156296
1501
1502         * CMakeLists.txt: Removed IDBBackingStore.cpp from source list.
1503
1504 2013-09-23  Anders Carlsson  <andersca@apple.com>
1505
1506         Remove WTF_USE_SCROLLBAR_PAINTER #define
1507         https://bugs.webkit.org/show_bug.cgi?id=121819
1508
1509         Reviewed by Sam Weinig.
1510
1511         Remove unnecessary if checks and dead code.
1512
1513         * platform/mac/NSScrollerImpDetails.h:
1514         * platform/mac/ScrollAnimatorMac.mm:
1515         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1516         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1517         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
1518         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
1519         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
1520         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
1521         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
1522         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
1523         (WebCore::ScrollAnimatorMac::willStartLiveResize):
1524         (WebCore::ScrollAnimatorMac::contentsResized):
1525         (WebCore::ScrollAnimatorMac::willEndLiveResize):
1526         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
1527         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
1528         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
1529         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
1530         (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
1531         (WebCore::ScrollAnimatorMac::finishCurrentScrollAnimations):
1532         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
1533         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
1534         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
1535         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
1536         (WebCore::ScrollAnimatorMac::shouldScrollbarParticipateInHitTesting):
1537         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
1538         (WebCore::ScrollAnimatorMac::cancelAnimations):
1539         (WebCore::ScrollAnimatorMac::setIsActive):
1540         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
1541         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
1542         * platform/mac/ScrollViewMac.mm:
1543         (WebCore::toNSScrollerKnobStyle):
1544         (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
1545         * platform/mac/ScrollbarThemeMac.mm:
1546         (WebCore::updateArrowPlacement):
1547         (WebCore::ScrollbarThemeMac::registerScrollbar):
1548         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1549         (WebCore::ScrollbarThemeMac::scrollbarThickness):
1550         (WebCore::ScrollbarThemeMac::usesOverlayScrollbarsChanged):
1551         (WebCore::ScrollbarThemeMac::hasThumb):
1552         (WebCore::ScrollbarThemeMac::minimumThumbLength):
1553         (WebCore::ScrollbarThemeMac::updateEnabledState):
1554         (WebCore::ScrollbarThemeMac::paint):
1555
1556 2013-09-23  Brent Fulgham  <bfulgham@apple.com>
1557
1558         [Windows] Moving back in history from a page with <video>, then moving forward causes crash.
1559         https://bugs.webkit.org/show_bug.cgi?id=120475
1560
1561         Reviewed by Anders Carlsson.
1562
1563         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1564         (WebCore::AVFWrapper::AVFWrapper): Add assertion that creation is on main thread.
1565         (WebCore::AVFWrapper::~AVFWrapper): Add assertion that destruction is on main thread.
1566         (WebCore::destroyAVFWrapper): Helper function to dispatch on main queue.
1567         (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper): Spawn AVFoundationCF destruction to
1568         main queue.
1569
1570 2013-09-23  Andreas Kling  <akling@apple.com>
1571
1572         RenderTextControlSingleLine::updateFromElement() override not needed.
1573         <https://webkit.org/b/121815>
1574
1575         Reviewed by Anders Carlsson.
1576
1577         * rendering/RenderTextControlSingleLine.cpp:
1578         * rendering/RenderTextControlSingleLine.h:
1579
1580 2013-09-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1581
1582         Introduce CSS_VALUE_TYPE_CASTS macro in order to cast CSSValue type
1583         https://bugs.webkit.org/show_bug.cgi?id=121462
1584
1585         Reviewed by Darin Adler.
1586
1587         As r155429 introduced ELEMENT_TYPE_CASTS, CSS_VALUE_TYPE_CASTS can be used
1588         by css value type casting as well. This type cast macros will help to detect
1589         bad-cast bugs as well as improve a code readibility.
1590
1591         This patch adds the following methods,
1592
1593         - CSSFooValue* toCSSFooValue(CSSValue*)
1594         - const CSSFooValue* toCSSFooValue(const CSSValue*)
1595
1596         This patch support CSSImageSetValue and CSSReflectValue first. Other CSS*Values
1597         will use this macro step by step.
1598
1599         Besides this patch will remove unnecessary local variables.
1600
1601         No new tests, no behavior change.
1602
1603         * css/CSSCursorImageValue.cpp:
1604         (WebCore::CSSCursorImageValue::cachedImage):
1605         (WebCore::CSSCursorImageValue::cachedOrPendingImage):
1606         * css/CSSImageSetValue.h:
1607         * css/CSSReflectValue.h:
1608         * css/CSSValue.cpp:
1609         (WebCore::CSSValue::destroy):
1610         * css/CSSValue.h:
1611         * css/StyleResolver.cpp:
1612         (WebCore::hasVariableReference):
1613         (WebCore::StyleResolver::applyProperty):
1614         (WebCore::StyleResolver::styleImage):
1615         * rendering/style/StylePendingImage.h:
1616         (WebCore::StylePendingImage::cssImageSetValue):
1617
1618 2013-09-23  Antti Koivisto  <antti@apple.com>
1619
1620         Move style change analysis code to RenderElement
1621         https://bugs.webkit.org/show_bug.cgi?id=121812
1622
1623         Reviewed by Andreas Kling.
1624
1625         Text renderers don't need this. There is no text renderer specific invalidation and text
1626         style never changes independent from the containing RenderElement.
1627
1628 2013-09-23  Commit Queue  <commit-queue@webkit.org>
1629
1630         Unreviewed, rolling out r156307.
1631         http://trac.webkit.org/changeset/156307
1632         https://bugs.webkit.org/show_bug.cgi?id=121817
1633
1634         Broke the build, and crashes the compiler (Requested by ap on
1635         #webkit).
1636
1637         * css/MediaQuery.cpp:
1638         (WebCore::expressionCompare):
1639         (WebCore::MediaQuery::MediaQuery):
1640         * dom/MutationObserver.cpp:
1641         (WebCore::MutationObserver::ObserverLessThan::operator()):
1642         (WebCore::MutationObserver::deliverAllMutations):
1643         * page/CaptionUserPreferences.cpp:
1644         (WebCore::textTrackCompare):
1645         (WebCore::CaptionUserPreferences::sortedTrackListForMenu):
1646
1647 2013-09-23  Andreas Kling  <akling@apple.com>
1648
1649         Move rendererForRootBackground() to RenderElement.
1650         <http://webkit.org/b/121813>
1651
1652         Reviewed by Antti Koivisto.
1653
1654         Move this to RenderElement (and make it return one, too) since the
1655         document element renderer will always be a RenderElement.
1656
1657 2013-09-23  Brady Eidson  <beidson@apple.com>
1658
1659         Make the Mac build work with IndexedDB enabled.
1660         https://bugs.webkit.org/show_bug.cgi?id=121814
1661
1662         Reviewed by Alexey Proskuryakov.
1663
1664         This patch makes the Mac build work if one were to enable the IndexedDB feature flag.
1665         This patch does not actually enable the flag for everyone.
1666
1667         * DerivedSources.make:
1668         * WebCore.xcodeproj/project.pbxproj:
1669
1670         * Modules/indexeddb/IDBBackingStore.cpp: Added.
1671         (WebCore::IDBBackingStore::open):
1672         (WebCore::IDBBackingStore::openInMemory):
1673         (WebCore::IDBBackingStore::getObjectStores):
1674         (WebCore::IDBBackingStore::Cursor::advance):
1675         (WebCore::IDBBackingStore::Cursor::continueFunction):
1676         (WebCore::IDBBackingStore::Transaction::Transaction):
1677         (WebCore::IDBBackingStore::Transaction::begin):
1678         (WebCore::IDBBackingStore::Transaction::commit):
1679         (WebCore::IDBBackingStore::Transaction::rollback):
1680         * Modules/indexeddb/IDBBackingStore.h:
1681         (WebCore::LevelDBFactory::~LevelDBFactory):
1682         (WebCore::IDBBackingStore::Transaction::reset):
1683         (WebCore::IDBBackingStore::Transaction::levelDBTransactionFrom):
1684
1685         * Modules/indexeddb/IDBKeyPath.cpp:
1686         (WebCore::IDBIsValidKeyPath):
1687
1688         * bindings/js/IDBBindingUtilities.cpp:
1689         (WebCore::createIDBKeyFromValue):
1690
1691         * bindings/js/JSIDBAnyCustom.cpp:
1692         (WebCore::toJS):
1693
1694 2013-09-23  Andreas Kling  <akling@apple.com>
1695
1696         CTTE: RenderObject::container() should return a RenderElement*.
1697         <https://webkit.org/b/121811>
1698
1699         Reviewed by Antti Koivisto.
1700
1701         The containing renderer is always a RenderElement.
1702
1703 2013-09-23  Anders Carlsson  <andersca@apple.com>
1704
1705         Test the waters and begin using lambdas
1706         https://bugs.webkit.org/show_bug.cgi?id=121809
1707
1708         Reviewed by Andreas Kling.
1709
1710         Use lambdas instead of static functions and function objects.
1711         
1712         * css/MediaQuery.cpp:
1713         (WebCore::MediaQuery::MediaQuery):
1714         * dom/MutationObserver.cpp:
1715         (WebCore::MutationObserver::deliverAllMutations):
1716         * page/CaptionUserPreferences.cpp:
1717         (WebCore::CaptionUserPreferences::sortedTrackListForMenu):
1718
1719 2013-09-23  Patrick Gansterer  <paroga@webkit.org>
1720
1721         [WIN] Add implementation for WebCore::readFromFile()
1722         https://bugs.webkit.org/show_bug.cgi?id=119210
1723
1724         Reviewed by Brent Fulgham.
1725
1726         * platform/win/FileSystemWin.cpp:
1727         (WebCore::readFromFile):
1728
1729 2013-09-23  Patrick Gansterer  <paroga@webkit.org>
1730
1731         [WIN] Implement WebMutableURLRequest::setHTTPBody()
1732         https://bugs.webkit.org/show_bug.cgi?id=91920
1733
1734         Reviewed by Brent Fulgham.
1735
1736         Add a method to FormData for growing the internal buffer with a given size.
1737
1738         * platform/network/FormData.cpp:
1739         (WebCore::FormData::appendData):
1740         (WebCore::FormData::expandDataStore):
1741         * platform/network/FormData.h:
1742
1743 2013-09-23  Patrick Gansterer  <paroga@webkit.org>
1744
1745         use NOMINMAX instead of #define min min
1746         https://bugs.webkit.org/show_bug.cgi?id=73563
1747
1748         Reviewed by Brent Fulgham.
1749
1750         Use NOMINMAX instead of #define min/max as a cleaner
1751         way of ensuring that Windows system header files don't
1752         define min/max as macro in the first place.
1753
1754         * WebCorePrefix.h:
1755         * config.h:
1756
1757 2013-09-23  Simon Fraser  <simon.fraser@apple.com>
1758
1759         REGRESSION (r155998): when zooming in, tiles are too small
1760         https://bugs.webkit.org/show_bug.cgi?id=121765
1761
1762         Reviewed by Dean Jackson.
1763
1764         In r155998 I made GraphicsLayerCA take root-relative transforms
1765         into account when computing contentsScale, and landed a bunch of
1766         new results which should actually have told me that I broke page
1767         scaling.
1768         
1769         We don't want to take page scale into account when computing contentsScale,
1770         because we already do so, so ignore the transform on the layer that
1771         applies page scale (the only transform it should ever has is the page scale).
1772
1773         * platform/graphics/ca/GraphicsLayerCA.cpp:
1774         (WebCore::GraphicsLayerCA::updateRootRelativeScale):
1775
1776 2013-09-23  Antonio Gomes  <a1.gomes@sisa.samsung.com>
1777
1778         iframe and scrollbar with "overflow:auto" should support autoscroll with mousedrag
1779         https://bugs.webkit.org/show_bug.cgi?id=40981
1780
1781         Reviewed by Darin Adler.
1782
1783         RenderBox::calculateAutoscrollDirection does not properly translate
1784         inner frames' coordinates in order to determine its auto-scrollability.
1785         By coincidence, if the inner frame box it placed near to page's 0, 0 position
1786         (upper left corner), it might work.
1787
1788         Patch fixes it by changing ::calculateAutoscrollDirection algorithm to operate
1789         with window coordinates, taking inner frames offset and scroll position into account.
1790         The behavior of auto-scrollable non-frame overflow boxes, including divs, still works
1791         as it is used to.
1792
1793         Test: fast/events/drag-and-drop-autoscroll-inner-frame.html
1794
1795         * rendering/RenderBox.cpp:
1796         (WebCore::RenderBox::calculateAutoscrollDirection):
1797
1798 2013-09-23  Brady Eidson  <beidson@apple.com>
1799
1800         Move LevelDB specific IDB files into their own subdirectory.
1801         https://bugs.webkit.org/show_bug.cgi?id=121804
1802
1803         Rubberstamped by Alexey Proskuryakov.
1804
1805         * CMakeLists.txt:
1806         * GNUmakefile.list.am:
1807         * WebCore.xcodeproj/project.pbxproj:
1808
1809         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp.
1810         (WebCore::recordInternalError):
1811         (WebCore::putBool):
1812         (WebCore::getInt):
1813         (WebCore::putInt):
1814         (WebCore::getVarInt):
1815         (WebCore::putVarInt):
1816         (WebCore::getString):
1817         (WebCore::putString):
1818         (WebCore::putIDBKeyPath):
1819         (WebCore::compareKeys):
1820         (WebCore::compareIndexKeys):
1821         (WebCore::Comparator::compare):
1822         (WebCore::Comparator::name):
1823         (WebCore::isSchemaKnown):
1824         (WebCore::setUpMetadata):
1825         (WebCore::getMaxObjectStoreId):
1826         (WebCore::DefaultLevelDBFactory::openLevelDB):
1827         (WebCore::DefaultLevelDBFactory::destroyLevelDB):
1828         (WebCore::IDBBackingStore::IDBBackingStore):
1829         (WebCore::IDBBackingStore::~IDBBackingStore):
1830         (WebCore::IDBBackingStore::open):
1831         (WebCore::IDBBackingStore::openInMemory):
1832         (WebCore::IDBBackingStore::create):
1833         (WebCore::IDBBackingStore::getDatabaseNames):
1834         (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
1835         (WebCore::getNewDatabaseId):
1836         (WebCore::IDBBackingStore::createIDBDatabaseMetaData):
1837         (WebCore::IDBBackingStore::updateIDBDatabaseIntVersion):
1838         (WebCore::IDBBackingStore::updateIDBDatabaseMetaData):
1839         (WebCore::deleteRange):
1840         (WebCore::IDBBackingStore::deleteDatabase):
1841         (WebCore::checkObjectStoreAndMetaDataType):
1842         (WebCore::IDBBackingStore::getObjectStores):
1843         (WebCore::setMaxObjectStoreId):
1844         (WebCore::IDBBackingStore::createObjectStore):
1845         (WebCore::IDBBackingStore::deleteObjectStore):
1846         (WebCore::IDBBackingStore::getRecord):
1847         (WebCore::getNewVersionNumber):
1848         (WebCore::IDBBackingStore::putRecord):
1849         (WebCore::IDBBackingStore::clearObjectStore):
1850         (WebCore::IDBBackingStore::deleteRecord):
1851         (WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
1852         (WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
1853         (WebCore::IDBBackingStore::keyExistsInObjectStore):
1854         (WebCore::checkIndexAndMetaDataKey):
1855         (WebCore::IDBBackingStore::getIndexes):
1856         (WebCore::setMaxIndexId):
1857         (WebCore::IDBBackingStore::createIndex):
1858         (WebCore::IDBBackingStore::deleteIndex):
1859         (WebCore::IDBBackingStore::putIndexDataForRecord):
1860         (WebCore::findGreatestKeyLessThanOrEqual):
1861         (WebCore::versionExists):
1862         (WebCore::IDBBackingStore::findKeyInIndex):
1863         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
1864         (WebCore::IDBBackingStore::keyExistsInIndex):
1865         (WebCore::IDBBackingStore::Cursor::Cursor):
1866         (WebCore::IDBBackingStore::Cursor::firstSeek):
1867         (WebCore::IDBBackingStore::Cursor::advance):
1868         (WebCore::IDBBackingStore::Cursor::continueFunction):
1869         (WebCore::IDBBackingStore::Cursor::haveEnteredRange):
1870         (WebCore::IDBBackingStore::Cursor::isPastBounds):
1871         (WebCore::ObjectStoreKeyCursorImpl::create):
1872         (WebCore::ObjectStoreKeyCursorImpl::clone):
1873         (WebCore::ObjectStoreKeyCursorImpl::value):
1874         (WebCore::ObjectStoreKeyCursorImpl::encodeKey):
1875         (WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
1876         (WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
1877         (WebCore::ObjectStoreCursorImpl::create):
1878         (WebCore::ObjectStoreCursorImpl::clone):
1879         (WebCore::ObjectStoreCursorImpl::value):
1880         (WebCore::ObjectStoreCursorImpl::encodeKey):
1881         (WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
1882         (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
1883         (WebCore::IndexKeyCursorImpl::create):
1884         (WebCore::IndexKeyCursorImpl::clone):
1885         (WebCore::IndexKeyCursorImpl::value):
1886         (WebCore::IndexKeyCursorImpl::primaryKey):
1887         (WebCore::IndexKeyCursorImpl::recordIdentifier):
1888         (WebCore::IndexKeyCursorImpl::encodeKey):
1889         (WebCore::IndexKeyCursorImpl::IndexKeyCursorImpl):
1890         (WebCore::IndexKeyCursorImpl::loadCurrentRow):
1891         (WebCore::IndexCursorImpl::create):
1892         (WebCore::IndexCursorImpl::clone):
1893         (WebCore::IndexCursorImpl::value):
1894         (WebCore::IndexCursorImpl::primaryKey):
1895         (WebCore::IndexCursorImpl::recordIdentifier):
1896         (WebCore::IndexCursorImpl::encodeKey):
1897         (WebCore::IndexCursorImpl::IndexCursorImpl):
1898         (WebCore::IndexCursorImpl::loadCurrentRow):
1899         (WebCore::objectStoreCursorOptions):
1900         (WebCore::indexCursorOptions):
1901         (WebCore::IDBBackingStore::openObjectStoreCursor):
1902         (WebCore::IDBBackingStore::openObjectStoreKeyCursor):
1903         (WebCore::IDBBackingStore::openIndexKeyCursor):
1904         (WebCore::IDBBackingStore::openIndexCursor):
1905         (WebCore::IDBBackingStore::Transaction::Transaction):
1906         (WebCore::IDBBackingStore::Transaction::begin):
1907         (WebCore::IDBBackingStore::Transaction::commit):
1908         (WebCore::IDBBackingStore::Transaction::rollback):
1909         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.cpp.
1910         (WebCore::IDBLevelDBCoding::encodeByte):
1911         (WebCore::IDBLevelDBCoding::decodeByte):
1912         (WebCore::IDBLevelDBCoding::maxIDBKey):
1913         (WebCore::IDBLevelDBCoding::minIDBKey):
1914         (WebCore::IDBLevelDBCoding::encodeBool):
1915         (WebCore::IDBLevelDBCoding::decodeBool):
1916         (WebCore::IDBLevelDBCoding::encodeInt):
1917         (WebCore::IDBLevelDBCoding::decodeInt):
1918         (WebCore::IDBLevelDBCoding::compareInts):
1919         (WebCore::IDBLevelDBCoding::encodeVarInt):
1920         (WebCore::IDBLevelDBCoding::decodeVarInt):
1921         (WebCore::IDBLevelDBCoding::encodeString):
1922         (WebCore::IDBLevelDBCoding::decodeString):
1923         (WebCore::IDBLevelDBCoding::encodeStringWithLength):
1924         (WebCore::IDBLevelDBCoding::decodeStringWithLength):
1925         (WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength):
1926         (WebCore::IDBLevelDBCoding::encodeDouble):
1927         (WebCore::IDBLevelDBCoding::decodeDouble):
1928         (WebCore::IDBLevelDBCoding::encodeIDBKey):
1929         (WebCore::IDBLevelDBCoding::decodeIDBKey):
1930         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
1931         (WebCore::IDBLevelDBCoding::keyTypeByteToKeyType):
1932         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
1933         (WebCore::IDBLevelDBCoding::encodeIDBKeyPath):
1934         (WebCore::IDBLevelDBCoding::decodeIDBKeyPath):
1935         (WebCore::IDBLevelDBCoding::compare):
1936         (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
1937         (WebCore::IDBLevelDBCoding::KeyPrefix::createWithSpecialIndex):
1938         (WebCore::IDBLevelDBCoding::KeyPrefix::isValidDatabaseId):
1939         (WebCore::IDBLevelDBCoding::KeyPrefix::isValidObjectStoreId):
1940         (WebCore::IDBLevelDBCoding::KeyPrefix::isValidIndexId):
1941         (WebCore::IDBLevelDBCoding::KeyPrefix::decode):
1942         (WebCore::IDBLevelDBCoding::KeyPrefix::encodeEmpty):
1943         (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
1944         (WebCore::IDBLevelDBCoding::KeyPrefix::encodeInternal):
1945         (WebCore::IDBLevelDBCoding::KeyPrefix::compare):
1946         (WebCore::IDBLevelDBCoding::KeyPrefix::type):
1947         (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
1948         (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
1949         (WebCore::IDBLevelDBCoding::DataVersionKey::encode):
1950         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::DatabaseFreeListKey):
1951         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::decode):
1952         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
1953         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encodeMaxKey):
1954         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::databaseId):
1955         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::compare):
1956         (WebCore::IDBLevelDBCoding::DatabaseNameKey::decode):
1957         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
1958         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeMinKeyForOrigin):
1959         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeStopKeyForOrigin):
1960         (WebCore::IDBLevelDBCoding::DatabaseNameKey::compare):
1961         (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
1962         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
1963         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::decode):
1964         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
1965         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encodeMaxKey):
1966         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::objectStoreId):
1967         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::metaDataType):
1968         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
1969         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::IndexMetaDataKey):
1970         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::decode):
1971         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
1972         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encodeMaxKey):
1973         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::compare):
1974         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::indexId):
1975         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
1976         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::decode):
1977         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
1978         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encodeMaxKey):
1979         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::objectStoreId):
1980         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::compare):
1981         (WebCore::IDBLevelDBCoding::IndexFreeListKey::IndexFreeListKey):
1982         (WebCore::IDBLevelDBCoding::IndexFreeListKey::decode):
1983         (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
1984         (WebCore::IDBLevelDBCoding::IndexFreeListKey::encodeMaxKey):
1985         (WebCore::IDBLevelDBCoding::IndexFreeListKey::compare):
1986         (WebCore::IDBLevelDBCoding::IndexFreeListKey::objectStoreId):
1987         (WebCore::IDBLevelDBCoding::IndexFreeListKey::indexId):
1988         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::decode):
1989         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
1990         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::compare):
1991         (WebCore::IDBLevelDBCoding::IndexNamesKey::IndexNamesKey):
1992         (WebCore::IDBLevelDBCoding::IndexNamesKey::decode):
1993         (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
1994         (WebCore::IDBLevelDBCoding::IndexNamesKey::compare):
1995         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::decode):
1996         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
1997         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::compare):
1998         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::userKey):
1999         (WebCore::IDBLevelDBCoding::ExistsEntryKey::decode):
2000         (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
2001         (WebCore::IDBLevelDBCoding::ExistsEntryKey::compare):
2002         (WebCore::IDBLevelDBCoding::ExistsEntryKey::userKey):
2003         (WebCore::IDBLevelDBCoding::IndexDataKey::IndexDataKey):
2004         (WebCore::IDBLevelDBCoding::IndexDataKey::decode):
2005         (WebCore::IDBLevelDBCoding::IndexDataKey::encode):
2006         (WebCore::IDBLevelDBCoding::IndexDataKey::encodeMinKey):
2007         (WebCore::IDBLevelDBCoding::IndexDataKey::encodeMaxKey):
2008         (WebCore::IDBLevelDBCoding::IndexDataKey::compare):
2009         (WebCore::IDBLevelDBCoding::IndexDataKey::databaseId):
2010         (WebCore::IDBLevelDBCoding::IndexDataKey::objectStoreId):
2011         (WebCore::IDBLevelDBCoding::IndexDataKey::indexId):
2012         (WebCore::IDBLevelDBCoding::IndexDataKey::userKey):
2013         (WebCore::IDBLevelDBCoding::IndexDataKey::primaryKey):
2014         * Modules/indexeddb/leveldb/IDBLevelDBCoding.h: Renamed from Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.h.
2015         (WebCore::IDBLevelDBCoding::encodeIntSafely):
2016         (WebCore::IDBLevelDBCoding::KeyPrefix::validIds):
2017         (WebCore::IDBLevelDBCoding::DatabaseNameKey::origin):
2018         (WebCore::IDBLevelDBCoding::DatabaseNameKey::databaseName):
2019         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::metaDataType):
2020         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::objectStoreName):
2021         (WebCore::IDBLevelDBCoding::IndexNamesKey::indexName):
2022
2023 2013-09-23  Antti Koivisto  <antti@apple.com>
2024
2025         Try to fix GTK build.
2026         
2027         Not reviewed.
2028
2029         * accessibility/atk/AccessibilityObjectAtk.cpp:
2030         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2031         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2032         (textForRenderer):
2033
2034 2013-09-23  Alexandru Chiculita  <achicu@adobe.com>
2035
2036         Web Inspector: [CSS Regions] Display CSS Regions flow name in the inspector overlay
2037         https://bugs.webkit.org/show_bug.cgi?id=121794
2038
2039         Reviewed by Joseph Pecoraro.
2040
2041         No new tests, the previous test for CSS Regions highlighting covers the flow name.
2042
2043         This patch adds the "Flow" property in the inspector overlay. The region
2044         chain is already displayed with numbers, so it makes sense to have the flow 
2045         name around when a CSS region is highlighted.
2046
2047         I've consolidated the flow information into "elementInfo.flowInfo". 
2048         Flow info has two properties: "name" and "regions".
2049
2050         * inspector/InspectorOverlay.cpp:
2051         (WebCore::buildObjectForCSSRegionsHighlight):
2052         (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
2053         * inspector/InspectorOverlayPage.css:
2054         (.css-property): Added the CSS property font color that the Inspector uses.
2055         * inspector/InspectorOverlayPage.html: Added a new element to be used to display the flow-from property.
2056         * inspector/InspectorOverlayPage.js:
2057         (_drawElementTitle):
2058         (drawNodeHighlight):
2059
2060 2013-09-23  Simon Fraser  <simon.fraser@apple.com>
2061
2062         Rapidly loading pages can result in !needsLayout() assertions in FrameView::paintContents() and RenderView::paint()
2063         https://bugs.webkit.org/show_bug.cgi?id=121725
2064         <rdar://problem/13982161> ASSERT(!needsLayout()) in WebCore::RenderView::paint (121196)
2065
2066         Reviewed by Dean Jackson.
2067         
2068         Layout has to be up-to-date before we paint, and when composited we rely on a
2069         CFRunLoopObserver owned by LayerFlushScheduler to enforce this. The contract is
2070         that changes to GraphicsLayers accumulate in those layers, and are all pushed to
2071         CALayers only inside of flushCompositingState(). CALayers must not be touched
2072         directly outside of flushCompositingState(), since this may trigger a CA commit
2073         and resultant painting without us having updated layout.
2074         
2075         In addition, we rely on the CA commits only happening after our runloop observer
2076         has fired in order for LayerFlushScheduler's suspend/resume to work (these are used
2077         for freezing the layer tree during page transitions).
2078         
2079         However, TileController was violating this contract. It called revalidateTiles()
2080         at random times, and on a timer. This would result in CA commits happening when
2081         layer flushing was suspended at the LayerFlushScheduler level, and thus before
2082         we'd had a chance to do layout.
2083         
2084         Fix by only ever revalidatingTiles inside of flushCompositingState(). Calls
2085         that used to result in revalidateTiles() at other times now just set a bit
2086         on GraphicsLayerCA to indicate that revalidation is required, and this triggers
2087         a later flush like any other GraphicsLayerCA change.
2088         
2089         There is one exception to the revalidate-inside-flush rule: when purging
2090         files for background tabs on a timer, we are only dealing with an unparented
2091         layer tree, so CALayer manipulation is safe at any time.
2092
2093         Very timing dependent, so hard to test.
2094
2095         * platform/graphics/TiledBacking.h: Expose revalidateTiles()
2096         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Remove
2097         platformCALayerDidCreateTiles() override.
2098         * platform/graphics/ca/GraphicsLayerCA.h: Keep track of m_isCommittingChanges
2099         so we can assert. Add TilingAreaChanged flag.
2100         * platform/graphics/ca/GraphicsLayerCA.cpp:
2101         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
2102         (WebCore::GraphicsLayerCA::recursiveCommitChanges): noteSublayersChanged() is
2103         used inside of a commit in some cases to trigger a parent layer to update
2104         children after the children have been processed. To avoid trying to pointlessly
2105         schedule the flusher inside a flush, and for strong assertions, use a new flag
2106         that indicates that flushing is not required in this situation.
2107         Set the m_isCommittingChanges flag around committing state.
2108         (WebCore::GraphicsLayerCA::platformCALayerSetNeedsToRevalidateTiles): We used
2109         to use platformCALayerDidCreateTiles() to ensure that we would flush after adding
2110         new tiles to avoid garbage flashes. Now that we only ever create tiles inside
2111         a flush, this is no longer necessary.
2112         The new platformCALayerSetNeedsToRevalidateTiles() function just sets the
2113         TilingAreaChanged flag and triggers a flush.
2114         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): After updating
2115         visible rect, we look for the TilingAreaChanged flag to tell us whether to
2116         revalidate TiledBacking tiles.
2117         (WebCore::GraphicsLayerCA::ensureStructuralLayer): Use DontScheduleFlush when 
2118         telling a parent layer that it needs to reconsider sublayers.
2119         (WebCore::GraphicsLayerCA::updateTiles): The caller of revalidateTiles().
2120         (WebCore::GraphicsLayerCA::updateContentsRects): DontScheduleFlush again.
2121         (WebCore::GraphicsLayerCA::noteSublayersChanged): Pass scheduleFlush along.
2122         (WebCore::GraphicsLayerCA::noteLayerPropertyChanged): Handle scheduleFlush.
2123         * platform/graphics/ca/PlatformCALayerClient.h:
2124         (WebCore::PlatformCALayerClient::platformCALayerSetNeedsToRevalidateTiles): Added
2125         so that TileController can call back out to GraphicsLayerCA.
2126         (WebCore::PlatformCALayerClient::isCommittingChanges):
2127         * platform/graphics/ca/mac/TileController.h: Need to keep track of secondary
2128         coverage rects in m_secondaryTileCoverageRects.
2129         * platform/graphics/ca/mac/TileController.mm:
2130         (WebCore::TileController::tileCacheLayerBoundsChanged): Just trigger a tile revalidate,
2131         which will happen later in this same commit.
2132         (WebCore::TileController::setScale): This is called inside the commit. Does an extra
2133         revalidate, which is needed to prune tiles. This could be optimized in future.
2134         (WebCore::TileController::setVisibleRect): Assert that we're inside a commit,
2135         and trigger a revalidate.
2136         (WebCore::TileController::setExposedRect): Trigger a revalidate.
2137         (WebCore::TileController::setClipsToExposedRect): Ditto.
2138         (WebCore::TileController::prepopulateRect): Save the rect and trigger a revalidate.
2139         (WebCore::TileController::setIsInWindow): If we're in the window, trigger a revalidate
2140         otherwise schedule the timer.
2141         (WebCore::TileController::revalidateTiles): Wrapper for the real revalidateTiles().
2142         (WebCore::TileController::tileRevalidationTimerFired): If we're in the window,
2143         schedule a revalidate. Otherwise our layer tree is disconnected, and it's OK to call revalidateTiles().
2144         (WebCore::TileController::setNeedsRevalidateTiles): Call through the client to GraphicsLayerCA
2145         which will schedule a layer tree flush.
2146         (WebCore::TileController::revalidateTiles):
2147         (WebCore::TileController::ensureTilesForRect): Move code from prepopulateRect
2148         into here; ensureTilesForRect() for each secondary rect, then clear the rects.
2149         No need to call platformCALayerDidCreateTiles() at the end.
2150         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Remove
2151         platformCALayerDidCreateTiles() override.
2152         * rendering/RenderLayerCompositor.cpp:
2153         (WebCore::RenderLayerCompositor::scheduleLayerFlush): This should only be
2154         called when we're not inside a flush, otherwise it will fail to schedule
2155         another one.
2156
2157 2013-09-23  Sam Weinig  <sam@webkit.org>
2158
2159         CTTE: htmlediting.h Element creation function should take a Document&
2160         https://bugs.webkit.org/show_bug.cgi?id=121800
2161
2162         Reviewed by Antti Koivisto.
2163
2164         Thread the Document&!
2165
2166 2013-09-23  Jacky Jiang  <zhajiang@blackberry.com>
2167
2168         [BlackBerry] Poor rendering opening a Google map short link
2169         https://bugs.webkit.org/show_bug.cgi?id=121687
2170
2171         Reviewed by Yong Li.
2172         Internally reviewed by Liam Quinn and Joe Mason.
2173
2174         Fix a regression. It turns out that LayerCompositingThread already has
2175         an API named isVisible() which by default returns false. So rename the
2176         one in the LayerData to isLayerVisible().
2177
2178         * platform/graphics/blackberry/LayerData.h:
2179         (WebCore::LayerData::isLayerVisible):
2180         * platform/graphics/blackberry/LayerRenderer.cpp:
2181         (WebCore::LayerRenderer::compositeLayersRecursive):
2182
2183 2013-09-23  Antti Koivisto  <antti@apple.com>
2184
2185         Rename RenderObject::first/lastChild to RenderObject::first/lastChildSlow
2186         https://bugs.webkit.org/show_bug.cgi?id=121784
2187
2188         Reviewed by Andreas Kling.
2189
2190         This will make it obvious in code where typing should be tightened.
2191         Handled some simple cases by tightening the code instead of renaming.
2192
2193 2013-09-23  ChangSeok Oh  <changseok.oh@collabora.com>
2194
2195         [Texmap] Reloading a webgl page doesn't work
2196         https://bugs.webkit.org/show_bug.cgi?id=120593
2197
2198         Reviewed by Noam Rosenthal.
2199
2200         Let GraphicsLayerTextureMapper know it needs to detach the platform layer when a GraphicsContext3D is destroyed.
2201
2202         Test: fast/canvas/webgl/webgl-reload-crash.html
2203
2204         * platform/graphics/GraphicsContext3DPrivate.cpp:
2205         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2206         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2207         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
2208
2209 2013-09-23  Antti Koivisto  <antti@apple.com>
2210
2211         Remove RenderObjectChildList
2212         https://bugs.webkit.org/show_bug.cgi?id=121771
2213
2214         Reviewed by Darin Adler.
2215
2216         Most RenderElement subclasses have m_children member (>90% of instances on typical page). It is not worth optimising
2217         for memory for the few cases that don't (RenderImage, RenderLineBreak mostly) in expense of performance.
2218         
2219         This patch moves child handling to RenderElement. This gets rid of virtual children() calls and simplifies the code.
2220
2221 2013-09-23  Andreas Kling  <akling@apple.com>
2222
2223         Document::destroyRenderTree() shouldn't do anything but.
2224         <https://webkit.org/b/121786>
2225
2226         Reviewed by Anders Carlsson.
2227
2228         Move everything in destroyRenderTree() that doesn't actually destroy
2229         render trees to prepareForDestruction() instead.
2230
2231         Destroying the render tree is now a reparable operation.
2232
2233 2013-09-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2234
2235         [Qt] Tiled backing-store causes wrong translation
2236         https://bugs.webkit.org/show_bug.cgi?id=121789
2237
2238         Reviewed by Noam Rosenthal.
2239
2240         Move the translation inside save/restore of the GraphicsContext.
2241
2242         * platform/graphics/qt/TileQt.cpp:
2243         (WebCore::TileQt::updateBackBuffer):
2244
2245 2013-09-23  Andreas Kling  <akling@apple.com>
2246
2247         Unify code paths leading to render tree teardown.
2248         <https://webkit.org/b/121785>
2249
2250         Reviewed by Antti Koivisto.
2251
2252         Make Document::prepareForDestruction() fit all the call sites that were
2253         doing destroyRenderTree() + disconnectFromFrame().
2254
2255         - disconnectDescendantFrames() is already a no-op if there are no frames.
2256         - willDetachDocumentFromFrame() will only run if there is a frame.
2257
2258         This is another step towards making tree rebuild possible.
2259
2260         Removed some age-old FIXMEs about why we aren't calling willRemove(),
2261         a long-gone function.
2262
2263 2013-09-23  Patrick Gansterer  <paroga@webkit.org>
2264
2265         Cleanup CMake files in WebCore
2266         https://bugs.webkit.org/show_bug.cgi?id=119262
2267
2268         Reviewed by Gyuyoung Kim.
2269
2270         Sort files and unify style.
2271
2272         * CMakeLists.txt:
2273         * PlatformBlackBerry.cmake:
2274         * PlatformEfl.cmake:
2275         * PlatformGTK.cmake:
2276         * PlatformWin.cmake:
2277         * PlatformWinCE.cmake:
2278
2279 2013-09-22  Commit Queue  <commit-queue@webkit.org>
2280
2281         Unreviewed, rolling out r156254.
2282         http://trac.webkit.org/changeset/156254
2283         https://bugs.webkit.org/show_bug.cgi?id=121779
2284
2285         Caused assertions in fast/regions tests (Requested by ap on
2286         #webkit).
2287
2288         * CMakeLists.txt:
2289         * GNUmakefile.list.am:
2290         * Target.pri:
2291         * WebCore.vcxproj/WebCore.vcxproj:
2292         * WebCore.xcodeproj/project.pbxproj:
2293         * rendering/AutoTableLayout.cpp:
2294         (WebCore::AutoTableLayout::recalcColumn):
2295         * rendering/RenderBlock.cpp:
2296         (WebCore::RenderBlock::willBeDestroyed):
2297         (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
2298         (WebCore::RenderBlock::splitBlocks):
2299         (WebCore::RenderBlock::splitFlow):
2300         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
2301         (WebCore::RenderBlock::makeChildrenNonInline):
2302         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
2303         (WebCore::RenderBlock::collapseAnonymousBoxChild):
2304         (WebCore::RenderBlock::removeChild):
2305         (WebCore::RenderBlock::updateFirstLetterStyle):
2306         * rendering/RenderBlock.h:
2307         (WebCore::RenderBlock::firstChild):
2308         (WebCore::RenderBlock::lastChild):
2309         * rendering/RenderBox.cpp:
2310         (WebCore::RenderBox::splitAnonymousBoxesAroundChild):
2311         * rendering/RenderBoxModelObject.cpp:
2312         (WebCore::RenderBoxModelObject::moveChildTo):
2313         * rendering/RenderElement.cpp:
2314         (WebCore::RenderElement::RenderElement):
2315         (WebCore::RenderElement::addChild):
2316         (WebCore::RenderElement::removeChild):
2317         * rendering/RenderElement.h:
2318         * rendering/RenderEmbeddedObject.cpp:
2319         (WebCore::RenderEmbeddedObject::layout):
2320         * rendering/RenderEmbeddedObject.h:
2321         * rendering/RenderFrameSet.h:
2322         * rendering/RenderInline.cpp:
2323         (WebCore::RenderInline::willBeDestroyed):
2324         (WebCore::RenderInline::splitInlines):
2325         (WebCore::RenderInline::splitFlow):
2326         (WebCore::RenderInline::childBecameNonInline):
2327         * rendering/RenderInline.h:
2328         (WebCore::RenderInline::firstChild):
2329         (WebCore::RenderInline::lastChild):
2330         * rendering/RenderLayerModelObject.cpp:
2331         (WebCore::RenderLayerModelObject::willBeDestroyed):
2332         * rendering/RenderLineBreak.h:
2333         * rendering/RenderListMarker.h:
2334         * rendering/RenderMedia.cpp:
2335         (WebCore::RenderMedia::layout):
2336         * rendering/RenderMedia.h:
2337         (WebCore::RenderMedia::firstChild):
2338         (WebCore::RenderMedia::lastChild):
2339         * rendering/RenderObject.cpp:
2340         (WebCore::RenderObject::handleDynamicFloatPositionChange):
2341         (WebCore::RenderObject::willBeDestroyed):
2342         (WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
2343         * rendering/RenderObject.h:
2344         (WebCore::RenderObject::firstChild):
2345         (WebCore::RenderObject::lastChild):
2346         (WebCore::RenderObject::children):
2347         (WebCore::RenderObject::canHaveChildren):
2348         * rendering/RenderObjectChildList.cpp: Added.
2349         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
2350         (WebCore::RenderObjectChildList::removeChildNode):
2351         (WebCore::RenderObjectChildList::insertChildNode):
2352         * rendering/RenderObjectChildList.h: Copied from Source/WebCore/rendering/RenderMedia.h.
2353         (WebCore::RenderObjectChildList::RenderObjectChildList):
2354         (WebCore::RenderObjectChildList::firstChild):
2355         (WebCore::RenderObjectChildList::lastChild):
2356         (WebCore::RenderObjectChildList::setFirstChild):
2357         (WebCore::RenderObjectChildList::setLastChild):
2358         (WebCore::RenderObjectChildList::appendChildNode):
2359         * rendering/RenderReplaced.h:
2360         (WebCore::RenderReplaced::canHaveChildren):
2361         * rendering/RenderReplica.h:
2362         * rendering/RenderRubyBase.cpp:
2363         (WebCore::RenderRubyBase::moveInlineChildren):
2364         (WebCore::RenderRubyBase::moveBlockChildren):
2365         * rendering/RenderTableCol.h:
2366         * rendering/RenderTableRow.h:
2367         * rendering/RenderTableSection.h:
2368         * rendering/RenderText.h:
2369         * rendering/RenderingAllInOne.cpp:
2370         * rendering/mathml/RenderMathMLOperator.cpp:
2371         (WebCore::RenderMathMLOperator::updateFromElement):
2372         * rendering/svg/RenderSVGContainer.h:
2373         (WebCore::RenderSVGContainer::firstChild):
2374         (WebCore::RenderSVGContainer::lastChild):
2375         * rendering/svg/RenderSVGGradientStop.h:
2376         * rendering/svg/RenderSVGImage.h:
2377         * rendering/svg/RenderSVGModelObject.cpp:
2378         (WebCore::RenderSVGModelObject::willBeDestroyed):
2379         * rendering/svg/RenderSVGRoot.h:
2380         * rendering/svg/RenderSVGShape.h:
2381
2382 2013-09-22  Commit Queue  <commit-queue@webkit.org>
2383
2384         Unreviewed, rolling out r156253.
2385         http://trac.webkit.org/changeset/156253
2386         https://bugs.webkit.org/show_bug.cgi?id=121778
2387
2388         Caused >20 tests to crash with assertion failures (Requested
2389         by ap on #webkit).
2390
2391         * css/CSSAspectRatioValue.h:
2392         * css/CSSBorderImageSliceValue.h:
2393         * css/CSSCalculationValue.cpp:
2394         (WebCore::CSSCalcExpressionNodeParser::parseValue):
2395         * css/CSSCalculationValue.h:
2396         * css/CSSCrossfadeValue.cpp:
2397         (WebCore::subimageKnownToBeOpaque):
2398         * css/CSSCrossfadeValue.h:
2399         (WebCore::toCSSCrossfadeValue):
2400         * css/CSSCursorImageValue.cpp:
2401         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
2402         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2403         (WebCore::CSSCursorImageValue::cachedImage):
2404         (WebCore::CSSCursorImageValue::cachedOrPendingImage):
2405         (WebCore::CSSCursorImageValue::isSVGCursor):
2406         * css/CSSCursorImageValue.h:
2407         * css/CSSFilterImageValue.h:
2408         (WebCore::toCSSFilterImageValue):
2409         * css/CSSFontSelector.cpp:
2410         (WebCore::CSSFontSelector::addFontFaceRule):
2411         * css/CSSGradientValue.h:
2412         * css/CSSImageGeneratorValue.cpp:
2413         (WebCore::CSSImageGeneratorValue::image):
2414         (WebCore::CSSImageGeneratorValue::fixedSize):
2415         (WebCore::CSSImageGeneratorValue::loadSubimages):
2416         (WebCore::CSSImageGeneratorValue::subimageIsPending):
2417         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
2418         * css/CSSImageGeneratorValue.h:
2419         * css/CSSImageSetValue.cpp:
2420         (WebCore::CSSImageSetValue::fillImageSet):
2421         * css/CSSImageSetValue.h:
2422         * css/CSSImageValue.h:
2423         * css/CSSInheritedValue.h:
2424         * css/CSSInitialValue.h:
2425         * css/CSSLineBoxContainValue.h:
2426         * css/CSSParser.cpp:
2427         (WebCore::CSSParser::parseColor):
2428         (WebCore::CSSParser::addProperty):
2429         (WebCore::CSSParser::parse3ValuesFillPosition):
2430         (WebCore::CSSParser::parseFillPosition):
2431         (WebCore::CSSParser::parseFillRepeat):
2432         (WebCore::CSSParser::parseDeprecatedRadialGradient):
2433         (WebCore::CSSParser::parseRadialGradient):
2434         * css/CSSPrimitiveValue.h:
2435         * css/CSSReflectValue.h:
2436         * css/CSSToStyleMap.cpp:
2437         (WebCore::CSSToStyleMap::mapFillAttachment):
2438         (WebCore::CSSToStyleMap::mapFillClip):
2439         (WebCore::CSSToStyleMap::mapFillComposite):
2440         (WebCore::CSSToStyleMap::mapFillBlendMode):
2441         (WebCore::CSSToStyleMap::mapFillOrigin):
2442         (WebCore::CSSToStyleMap::mapFillRepeatX):
2443         (WebCore::CSSToStyleMap::mapFillRepeatY):
2444         (WebCore::CSSToStyleMap::mapFillSize):
2445         (WebCore::CSSToStyleMap::mapFillXPosition):
2446         (WebCore::CSSToStyleMap::mapFillYPosition):
2447         (WebCore::CSSToStyleMap::mapFillMaskSourceType):
2448         (WebCore::CSSToStyleMap::mapAnimationDelay):
2449         (WebCore::CSSToStyleMap::mapAnimationDirection):
2450         (WebCore::CSSToStyleMap::mapAnimationDuration):
2451         (WebCore::CSSToStyleMap::mapAnimationFillMode):
2452         (WebCore::CSSToStyleMap::mapAnimationIterationCount):
2453         (WebCore::CSSToStyleMap::mapAnimationName):
2454         (WebCore::CSSToStyleMap::mapAnimationPlayState):
2455         (WebCore::CSSToStyleMap::mapAnimationProperty):
2456         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
2457         (WebCore::CSSToStyleMap::mapNinePieceImageSlice):
2458         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
2459         (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
2460         * css/CSSValue.cpp:
2461         (WebCore::CSSValue::destroy):
2462         * css/CSSValue.h:
2463         (WebCore::CSSValue::isCSSLineBoxContainValue):
2464         (WebCore::CSSValue::isCalculationValue):
2465         * css/CSSValueList.h:
2466         * css/CSSVariableValue.h:
2467         * css/DeprecatedStyleBuilder.cpp:
2468         (WebCore::ApplyPropertyDefault::applyValue):
2469         (WebCore::ApplyPropertyNumber::applyValue):
2470         (WebCore::ApplyPropertyAuto::applyValue):
2471         (WebCore::ApplyPropertyClip::applyValue):
2472         (WebCore::ApplyPropertyColor::applyValue):
2473         (WebCore::ApplyPropertyLength::applyValue):
2474         (WebCore::ApplyPropertyString::applyValue):
2475         (WebCore::ApplyPropertyBorderRadius::applyValue):
2476         (WebCore::ApplyPropertyComputeLength::applyValue):
2477         (WebCore::ApplyPropertyFont::applyValue):
2478         (WebCore::ApplyPropertyFontFamily::applyValue):
2479         (WebCore::ApplyPropertyFontSize::applyValue):
2480         (WebCore::ApplyPropertyFontWeight::applyValue):
2481         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
2482         (WebCore::ApplyPropertyCounter::applyValue):
2483         (WebCore::ApplyPropertyCursor::applyValue):
2484         (WebCore::ApplyPropertyTextAlign::applyValue):
2485         (WebCore::ApplyPropertyTextDecoration::applyValue):
2486         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
2487         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
2488         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
2489         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
2490         (WebCore::ApplyPropertyLineHeight::applyValue):
2491         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
2492         (WebCore::ApplyPropertyPageSize::applyValue):
2493         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
2494         (WebCore::ApplyPropertyResize::applyValue):
2495         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2496         (WebCore::ApplyPropertyAspectRatio::applyValue):
2497         (WebCore::ApplyPropertyZoom::applyValue):
2498         (WebCore::ApplyPropertyDisplay::applyValue):
2499         (WebCore::ApplyPropertyClipPath::applyValue):
2500         (WebCore::ApplyPropertyShape::applyValue):
2501         (WebCore::ApplyPropertyImageResolution::applyValue):
2502         (WebCore::ApplyPropertyTextIndent::applyValue):
2503         * css/FontFeatureValue.h:
2504         * css/FontValue.h:
2505         * css/MediaList.cpp:
2506         (WebCore::reportMediaQueryWarningIfNeeded):
2507         * css/MediaQueryEvaluator.cpp:
2508         (WebCore::compareAspectRatioValue):
2509         (WebCore::numberValue):
2510         (WebCore::orientationMediaFeatureEval):
2511         (WebCore::evalResolution):
2512         (WebCore::device_pixel_ratioMediaFeatureEval):
2513         (WebCore::resolutionMediaFeatureEval):
2514         (WebCore::computeLength):
2515         (WebCore::view_modeMediaFeatureEval):
2516         (WebCore::pointerMediaFeatureEval):
2517         * css/SVGCSSStyleSelector.cpp:
2518         (WebCore::StyleResolver::applySVGProperty):
2519         * css/ShadowValue.h:
2520         * css/StylePropertySet.cpp:
2521         (WebCore::StylePropertySet::getLayeredShorthandValue):
2522         * css/StyleResolver.cpp:
2523         (WebCore::createGridTrackSize):
2524         (WebCore::createGridTrackList):
2525         (WebCore::createGridPosition):
2526         (WebCore::hasVariableReference):
2527         (WebCore::StyleResolver::applyProperty):
2528         (WebCore::StyleResolver::styleImage):
2529         (WebCore::StyleResolver::generatedOrPendingFromValue):
2530         (WebCore::StyleResolver::styleShader):
2531         (WebCore::StyleResolver::parseCustomFilterArrayParameter):
2532         (WebCore::StyleResolver::parseCustomFilterColorParameter):
2533         (WebCore::StyleResolver::parseCustomFilterNumberParameter):
2534         (WebCore::StyleResolver::parseCustomFilterParameter):
2535         (WebCore::StyleResolver::parseCustomFilterParameterList):
2536         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2537         (WebCore::StyleResolver::createFilterOperations):
2538         * css/TransformFunctions.cpp:
2539         (WebCore::transformsForValue):
2540         * css/ViewportStyleResolver.cpp:
2541         (WebCore::ViewportStyleResolver::getViewportArgumentValue):
2542         * css/WebKitCSSMatrix.cpp:
2543         (WebCore::WebKitCSSMatrix::setMatrixValue):
2544         * editing/ApplyStyleCommand.cpp:
2545         (WebCore::ApplyStyleCommand::computedFontSize):
2546         * editing/EditingStyle.cpp:
2547         (WebCore::identifierForStyleProperty):
2548         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
2549         (WebCore::cssValueToRGBA):
2550         (WebCore::EditingStyle::extractFontSizeDelta):
2551         (WebCore::EditingStyle::textDirection):
2552         (WebCore::EditingStyle::prepareToApplyAt):
2553         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
2554         (WebCore::EditingStyle::legacyFontSize):
2555         (WebCore::EditingStyle::textDirectionForSelection):
2556         (WebCore::StyleChange::extractTextStyles):
2557         (WebCore::fontWeightIsBold):
2558         (WebCore::isTransparentColorValue):
2559         * editing/markup.cpp:
2560         (WebCore::propertyMissingOrEqualToNone):
2561         * page/PageSerializer.cpp:
2562         (WebCore::PageSerializer::retrieveResourcesForProperties):
2563         * rendering/style/StylePendingImage.h:
2564         (WebCore::StylePendingImage::data):
2565         (WebCore::StylePendingImage::cssImageValue):
2566         (WebCore::StylePendingImage::cssImageGeneratorValue):
2567         (WebCore::StylePendingImage::cssCursorImageValue):
2568         (WebCore::StylePendingImage::cssImageSetValue):
2569
2570 2013-09-22  Commit Queue  <commit-queue@webkit.org>
2571
2572         Unreviewed, rolling out r156257.
2573         http://trac.webkit.org/changeset/156257
2574         https://bugs.webkit.org/show_bug.cgi?id=121777
2575
2576         The test from this patch fails (Requested by ap on #webkit).
2577
2578         * rendering/RenderBox.cpp:
2579         (WebCore::RenderBox::calculateAutoscrollDirection):
2580
2581 2013-09-22  Antonio Gomes  <a1.gomes@sisa.samsung.com>
2582
2583         iframe and scrollbar with "overflow:auto" should support autoscroll with mousedrag
2584         https://bugs.webkit.org/show_bug.cgi?id=40981
2585
2586         Reviewed by Darin Adler.
2587
2588         RenderBox::calculateAutoscrollDirection does not properly translate
2589         inner frames' coordinates in order to determine its auto-scrollability.
2590         By coincidence, if the inner frame box it placed near to page's 0, 0 position
2591         (upper left corner), it might work.
2592
2593         Patch fixes it by changing ::calculateAutoscrollDirection algorithm to operate
2594         with window coordinates, taking inner frames offset and scroll position into account.
2595         The behavior of auto-scrollable non-frame overflow boxes, including divs, still works
2596         as it is used to.
2597
2598         Test: fast/events/drag-and-drop-autoscroll-inner-frame.html
2599
2600         * rendering/RenderBox.cpp:
2601         (WebCore::RenderBox::calculateAutoscrollDirection):
2602
2603 2013-09-22  Sam Weinig  <sam@webkit.org>
2604
2605         CTTE: Use references more in ContainerNode, ContainerNodeAlgorithms and related classes
2606         https://bugs.webkit.org/show_bug.cgi?id=121772
2607
2608         Reviewed by Andreas Kling.
2609
2610         Use references for never null Nodes in ContainerNode and related classes.
2611
2612 2013-09-22  Antti Koivisto  <antti@apple.com>
2613
2614         Fix functions calling to RenderObject superclass to call RenderElement instead
2615         https://bugs.webkit.org/show_bug.cgi?id=121773
2616
2617         Reviewed by Andreas Kling.
2618
2619         The class hierarchy has a new class. Superclass calls should be pointed there instead to
2620         avoid future bugs.
2621
2622         * rendering/RenderBoxModelObject.cpp:
2623         (WebCore::RenderBoxModelObject::setSelectionState):
2624         * rendering/RenderLayerModelObject.cpp:
2625         (WebCore::RenderLayerModelObject::styleWillChange):
2626         (WebCore::RenderLayerModelObject::styleDidChange):
2627         * rendering/svg/RenderSVGGradientStop.cpp:
2628         (WebCore::RenderSVGGradientStop::styleDidChange):
2629         * rendering/svg/RenderSVGModelObject.cpp:
2630         (WebCore::RenderSVGModelObject::styleWillChange):
2631         (WebCore::RenderSVGModelObject::styleDidChange):
2632
2633 2013-09-22  Antti Koivisto  <antti@apple.com>
2634
2635         Remove RenderObjectChildList
2636         https://bugs.webkit.org/show_bug.cgi?id=121771
2637
2638         Reviewed by Darin Adler.
2639
2640         Most RenderElement subclasses have m_children member (>90% of instances on typical page). It is not worth optimising
2641         for memory for the few cases that don't (RenderImage, RenderLineBreak mostly) in expense of performance.
2642         
2643         This patch moves child handling to RenderElement. This gets rid of virtual children() calls and simplifies the code.
2644
2645 2013-09-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2646
2647         Introduce CSS_VALUE_TYPE_CASTS macro in order to cast CSSValue type
2648         https://bugs.webkit.org/show_bug.cgi?id=121462
2649
2650         Reviewed by Andreas Kling.
2651
2652         As r155429 introduced ELEMENT_TYPE_CASTS, CSS_VALUE_TYPE_CASTS can be used
2653         by css value type casting as well. This type cast macros will help to detect
2654         bad-cast bugs as well as improve a code readibility.
2655
2656         This patch adds the following methods,
2657
2658         - CSSFooValue* toCSSFooValue(CSSValue*)
2659         - const CSSFooValue* toCSSFooValue(const CSSValue*)
2660
2661         To be consistent with other is*Value() naming style, isCSSLineBoxContainValue() and isCalculationValue()
2662         are changed with isLineBoxContainValue() and isCalcValue().
2663
2664         FontValue, FontFeatureValue, ShadowValue have a manual type case function because of different
2665         class naming style. So, toFontValue(), toFontFeatureValue() and toShadowValue() are added manually.
2666
2667         This patch removes unnecessary local variables.
2668
2669         No new tests, no behavior change.
2670
2671         * css/CSSAspectRatioValue.h:
2672         * css/CSSBorderImageSliceValue.h:
2673         * css/CSSCalculationValue.cpp:
2674         (WebCore::CSSCalcExpressionNodeParser::parseValue):
2675         * css/CSSCalculationValue.h:
2676         * css/CSSCrossfadeValue.cpp:
2677         (WebCore::subimageKnownToBeOpaque):
2678         * css/CSSCrossfadeValue.h:
2679         * css/CSSCursorImageValue.cpp:
2680         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
2681         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2682         (WebCore::CSSCursorImageValue::cachedImage):
2683         (WebCore::CSSCursorImageValue::cachedOrPendingImage):
2684         (WebCore::CSSCursorImageValue::isSVGCursor):
2685         * css/CSSCursorImageValue.h:
2686         * css/CSSFilterImageValue.h:
2687         * css/CSSFontSelector.cpp:
2688         (WebCore::CSSFontSelector::addFontFaceRule):
2689         * css/CSSGradientValue.h:
2690         * css/CSSImageGeneratorValue.cpp:
2691         (WebCore::CSSImageGeneratorValue::image):
2692         (WebCore::CSSImageGeneratorValue::fixedSize):
2693         (WebCore::CSSImageGeneratorValue::loadSubimages):
2694         (WebCore::CSSImageGeneratorValue::subimageIsPending):
2695         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
2696         * css/CSSImageGeneratorValue.h:
2697         * css/CSSImageSetValue.cpp:
2698         (WebCore::CSSImageSetValue::fillImageSet):
2699         * css/CSSImageSetValue.h:
2700         * css/CSSImageValue.h:
2701         * css/CSSInheritedValue.h:
2702         * css/CSSInitialValue.h:
2703         * css/CSSLineBoxContainValue.h:
2704         * css/CSSParser.cpp:
2705         (WebCore::CSSParser::parseColor):
2706         (WebCore::CSSParser::addProperty):
2707         (WebCore::CSSParser::parse3ValuesFillPosition):
2708         (WebCore::CSSParser::parseFillPosition):
2709         (WebCore::CSSParser::parseFillRepeat):
2710         (WebCore::CSSParser::parseDeprecatedRadialGradient):
2711         (WebCore::CSSParser::parseRadialGradient):
2712         * css/CSSPrimitiveValue.h:
2713         * css/CSSReflectValue.h:
2714         * css/CSSToStyleMap.cpp:
2715         (WebCore::CSSToStyleMap::mapFillAttachment):
2716         (WebCore::CSSToStyleMap::mapFillClip):
2717         (WebCore::CSSToStyleMap::mapFillComposite):
2718         (WebCore::CSSToStyleMap::mapFillBlendMode):
2719         (WebCore::CSSToStyleMap::mapFillOrigin):
2720         (WebCore::CSSToStyleMap::mapFillRepeatX):
2721         (WebCore::CSSToStyleMap::mapFillRepeatY):
2722         (WebCore::CSSToStyleMap::mapFillSize):
2723         (WebCore::CSSToStyleMap::mapFillXPosition):
2724         (WebCore::CSSToStyleMap::mapFillYPosition):
2725         (WebCore::CSSToStyleMap::mapFillMaskSourceType):
2726         (WebCore::CSSToStyleMap::mapAnimationDelay):
2727         (WebCore::CSSToStyleMap::mapAnimationDirection):
2728         (WebCore::CSSToStyleMap::mapAnimationDuration):
2729         (WebCore::CSSToStyleMap::mapAnimationFillMode):
2730         (WebCore::CSSToStyleMap::mapAnimationIterationCount):
2731         (WebCore::CSSToStyleMap::mapAnimationName):
2732         (WebCore::CSSToStyleMap::mapAnimationPlayState):
2733         (WebCore::CSSToStyleMap::mapAnimationProperty):
2734         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
2735         (WebCore::CSSToStyleMap::mapNinePieceImageSlice):
2736         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
2737         (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
2738         * css/CSSValue.cpp:
2739         (WebCore::CSSValue::destroy):
2740         * css/CSSValue.h:
2741         (WebCore::CSSValue::isLineBoxContainValue):
2742         (WebCore::CSSValue::isCalcValue):
2743         * css/CSSValueList.h:
2744         * css/CSSVariableValue.h:
2745         * css/DeprecatedStyleBuilder.cpp:
2746         (WebCore::ApplyPropertyDefault::applyValue):
2747         (WebCore::ApplyPropertyNumber::applyValue):
2748         (WebCore::ApplyPropertyAuto::applyValue):
2749         (WebCore::ApplyPropertyClip::applyValue):
2750         (WebCore::ApplyPropertyColor::applyValue):
2751         (WebCore::ApplyPropertyLength::applyValue):
2752         (WebCore::ApplyPropertyString::applyValue):
2753         (WebCore::ApplyPropertyBorderRadius::applyValue):
2754         (WebCore::ApplyPropertyComputeLength::applyValue):
2755         (WebCore::ApplyPropertyFont::applyValue):
2756         (WebCore::ApplyPropertyFontFamily::applyValue):
2757         (WebCore::ApplyPropertyFontSize::applyValue):
2758         (WebCore::ApplyPropertyFontWeight::applyValue):
2759         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
2760         (WebCore::ApplyPropertyCounter::applyValue):
2761         (WebCore::ApplyPropertyCursor::applyValue):
2762         (WebCore::ApplyPropertyTextAlign::applyValue):
2763         (WebCore::ApplyPropertyTextDecoration::applyValue):
2764         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
2765         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
2766         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
2767         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
2768         (WebCore::ApplyPropertyLineHeight::applyValue):
2769         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
2770         (WebCore::ApplyPropertyPageSize::applyValue):
2771         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
2772         (WebCore::ApplyPropertyResize::applyValue):
2773         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2774         (WebCore::ApplyPropertyAspectRatio::applyValue):
2775         (WebCore::ApplyPropertyZoom::applyValue):
2776         (WebCore::ApplyPropertyDisplay::applyValue):
2777         (WebCore::ApplyPropertyClipPath::applyValue):
2778         (WebCore::ApplyPropertyShape::applyValue):
2779         (WebCore::ApplyPropertyImageResolution::applyValue):
2780         (WebCore::ApplyPropertyTextIndent::applyValue):
2781         * css/FontFeatureValue.h:
2782         (WebCore::toFontFeatureValue):
2783         * css/FontValue.h:
2784         (WebCore::toFontValue):
2785         * css/MediaList.cpp:
2786         (WebCore::reportMediaQueryWarningIfNeeded):
2787         * css/MediaQueryEvaluator.cpp:
2788         (WebCore::compareAspectRatioValue):
2789         (WebCore::numberValue):
2790         (WebCore::orientationMediaFeatureEval):
2791         (WebCore::evalResolution):
2792         (WebCore::device_pixel_ratioMediaFeatureEval):
2793         (WebCore::resolutionMediaFeatureEval):
2794         (WebCore::computeLength):
2795         (WebCore::view_modeMediaFeatureEval):
2796         (WebCore::pointerMediaFeatureEval):
2797         * css/SVGCSSStyleSelector.cpp:
2798         (WebCore::StyleResolver::applySVGProperty):
2799         * css/ShadowValue.h:
2800         (WebCore::toShadowValue):
2801         * css/StylePropertySet.cpp:
2802         (WebCore::StylePropertySet::getLayeredShorthandValue):
2803         * css/StyleResolver.cpp:
2804         (WebCore::createGridTrackSize):
2805         (WebCore::createGridTrackList):
2806         (WebCore::createGridPosition):
2807         (WebCore::hasVariableReference):
2808         (WebCore::StyleResolver::applyProperty):
2809         (WebCore::StyleResolver::styleImage):
2810         (WebCore::StyleResolver::generatedOrPendingFromValue):
2811         (WebCore::StyleResolver::styleShader):
2812         (WebCore::StyleResolver::parseCustomFilterArrayParameter):
2813         (WebCore::StyleResolver::parseCustomFilterColorParameter):
2814         (WebCore::StyleResolver::parseCustomFilterNumberParameter):
2815         (WebCore::StyleResolver::parseCustomFilterParameter):
2816         (WebCore::StyleResolver::parseCustomFilterParameterList):
2817         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2818         (WebCore::StyleResolver::createFilterOperations):
2819         * css/TransformFunctions.cpp:
2820         (WebCore::transformsForValue):
2821         * css/ViewportStyleResolver.cpp:
2822         (WebCore::ViewportStyleResolver::getViewportArgumentValue):
2823         * css/WebKitCSSMatrix.cpp:
2824         (WebCore::WebKitCSSMatrix::setMatrixValue):
2825         * css/WebKitCSSShaderValue.h:
2826         (WebCore::toWebKitCSSShaderValue):
2827         * editing/ApplyStyleCommand.cpp:
2828         (WebCore::ApplyStyleCommand::computedFontSize):
2829         * editing/EditingStyle.cpp:
2830         (WebCore::identifierForStyleProperty):
2831         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
2832         (WebCore::cssValueToRGBA):
2833         (WebCore::EditingStyle::extractFontSizeDelta):
2834         (WebCore::EditingStyle::textDirection):
2835         (WebCore::EditingStyle::prepareToApplyAt):
2836         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
2837         (WebCore::EditingStyle::legacyFontSize):
2838         (WebCore::EditingStyle::textDirectionForSelection):
2839         (WebCore::StyleChange::extractTextStyles):
2840         (WebCore::fontWeightIsBold):
2841         (WebCore::isTransparentColorValue):
2842         * editing/markup.cpp:
2843         (WebCore::propertyMissingOrEqualToNone):
2844         * page/PageSerializer.cpp:
2845         (WebCore::PageSerializer::retrieveResourcesForProperties):
2846         * rendering/style/StylePendingImage.h:
2847         (WebCore::StylePendingImage::data):
2848         (WebCore::StylePendingImage::cssImageValue):
2849         (WebCore::StylePendingImage::cssImageGeneratorValue):
2850         (WebCore::StylePendingImage::cssCursorImageValue):
2851         (WebCore::StylePendingImage::cssImageSetValue):
2852
2853 2013-09-22  Arunprasad Rajkumar  <ararunprasad@gmail.com>
2854
2855         Hiding a focused element should unfocus it and fire a blur event
2856         https://bugs.webkit.org/show_bug.cgi?id=29241
2857
2858         Reviewed by Darin Adler.
2859
2860         Test: fast/dom/HTMLDocument/active-element-gets-unfocusable.html
2861
2862         We check whether the current focus element is really focusable after
2863         the style recalculation and layout change. If it is not focusable then schedule a
2864         timer to reset it asynchronously.
2865
2866         * dom/Document.cpp:
2867         (WebCore::Document::Document):
2868         (WebCore::Document::recalcStyle): Check isFocusable() on the focus element after
2869         style recalculation.
2870         (WebCore::Document::updateLayout): Check isFocusable() on the focus element after
2871         layout.
2872         (WebCore::Document::resetHiddenFocusElementSoon):
2873         (WebCore::Document::resetHiddenFocusElementTimer):
2874         * dom/Document.h:
2875
2876 2013-09-22  Sam Weinig  <sam@webkit.org>
2877
2878         CTTE: StaticNodeLists often contain only Elements, we shouldn't store them as Vector<RefPtr<Node>> in those cases
2879         https://bugs.webkit.org/show_bug.cgi?id=121769
2880
2881         Reviewed by Andreas Kling.
2882
2883         Introduces StaticElementList and uses it.
2884
2885         * accessibility/AccessibilityRenderObject.cpp:
2886         (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
2887         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2888         (WebCore::getNamedItems):
2889         * bindings/js/JSHTMLCollectionCustom.cpp:
2890         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
2891         (WebCore::getNamedItems):
2892         * bindings/js/JSHTMLFormElementCustom.cpp:
2893         (WebCore::JSHTMLFormElement::nameGetter):
2894         * dom/SelectorQuery.cpp:
2895         (WebCore::AllElementExtractorSelectorQueryTrait::appendOutputForElement):
2896         (WebCore::SelectorDataList::queryAll):
2897         * dom/StaticNodeList.cpp:
2898         (WebCore::StaticElementList::length):
2899         (WebCore::StaticElementList::item):
2900         (WebCore::StaticElementList::namedItem):
2901         * dom/StaticNodeList.h:
2902         * dom/WebKitNamedFlow.cpp:
2903         (WebCore::WebKitNamedFlow::getRegionsByContent):
2904         (WebCore::WebKitNamedFlow::getRegions):
2905         (WebCore::WebKitNamedFlow::getContent):
2906         (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
2907         (WebCore::WebKitNamedFlow::dispatchRegionOversetChangeEvent):
2908         * html/HTMLCollection.cpp:
2909         (WebCore::HTMLCollection::namedItems):
2910         * html/HTMLCollection.h:
2911         * html/HTMLFormElement.cpp:
2912         (WebCore::HTMLFormElement::getNamedElements):
2913         * html/HTMLFormElement.h:
2914         * svg/SVGSVGElement.cpp:
2915         (WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):
2916
2917 2013-09-22  Sam Weinig  <sam@webkit.org>
2918
2919         CTTE: RenderNamedFlowThread and FlowThreadController should operate on Elements, not Nodes
2920         https://bugs.webkit.org/show_bug.cgi?id=121768
2921
2922         Reviewed by Andreas Kling.
2923
2924         * dom/Element.cpp:
2925         (WebCore::Element::unregisterNamedFlowContentElement):
2926         (WebCore::Element::shouldMoveToFlowThread):
2927         (WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
2928         * dom/Element.h:
2929         Update to new names and to pass this as a reference to the FlowThreadController.
2930
2931         * dom/Node.cpp:
2932         * dom/Node.h:
2933         Move isRegisteredWithNamedFlow() to Element.
2934
2935         * dom/WebKitNamedFlow.cpp:
2936         (WebCore::WebKitNamedFlow::getRegionsByContent):
2937         (WebCore::WebKitNamedFlow::getRegions):
2938         (WebCore::WebKitNamedFlow::getContent):
2939         Update for contentNodes() -> contentElements() name change. Modernize the code a bit
2940         as well.
2941
2942         * rendering/FlowThreadController.cpp:
2943         (WebCore::FlowThreadController::registerNamedFlowContentElement):
2944         (WebCore::FlowThreadController::unregisterNamedFlowContentElement):
2945         (WebCore::FlowThreadController::isContentElementRegisteredWithAnyNamedFlow):
2946         * rendering/FlowThreadController.h:
2947         Change the Node* -> RenderNamedFlowThread* map to a Element* -> RenderNamedFlowThread*. Update
2948         functions taking Node*s to take Element&s.
2949
2950         * rendering/RenderNamedFlowThread.cpp:
2951         (WebCore::RenderNamedFlowThread::~RenderNamedFlowThread):
2952         (WebCore::RenderNamedFlowThread::clearContentElements):
2953         (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
2954         (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
2955         (WebCore::RenderNamedFlowThread::hasContentElement):
2956         (WebCore::isContainedInElements):
2957         (WebCore::nextNodeInsideContentElement):
2958         (WebCore::RenderNamedFlowThread::getRanges):
2959         * rendering/RenderNamedFlowThread.h:
2960         Change the NamedFlowContent set to store Elements rather than Nodes. Like with FlowThreadController,
2961         update registration functions to take Element&s instead of Node*s, removing asserts.
2962         
2963         * rendering/RenderRegion.cpp:
2964         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
2965         Update for new names.
2966
2967         * style/StyleResolveTree.cpp:
2968         (WebCore::Style::moveToFlowThreadIfNeeded):
2969         Pass the Element and RenderNamedFlowThread as references.
2970
2971 2013-09-22  Andreas Kling  <akling@apple.com>
2972
2973         Give purity hints to compiler to avoid penalizing repeated calls to some functions.
2974         <https://webkit.org/b/121744>
2975
2976         Reviewed by Darin Adler.
2977
2978         Mark the following functions pure:
2979
2980             - gcController()
2981             - cssValuePool()
2982             - threadGlobalData()
2983
2984         I had this idea when I saw Darin's patch to cache cssValuePool() in a local.
2985         We know that this function will always return the same value, so we should just
2986         share this knowledge with the compiler and let it do the cleverness instead.
2987
2988 2013-09-21  Darin Adler  <darin@apple.com>
2989
2990         Fix too-strict type error exceptions introduced in WebGL bindings
2991         https://bugs.webkit.org/show_bug.cgi?id=121759
2992
2993         Reviewed by Alexey Proskuryakov.
2994
2995         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2996         (WebCore::JSWebGLRenderingContext::getAttachedShaders): Allow undefined
2997         or null without throwing type error.
2998         (WebCore::JSWebGLRenderingContext::getProgramParameter): Ditto.
2999         (WebCore::JSWebGLRenderingContext::getUniform): Ditto.
3000         (WebCore::dataFunctionf): Ditto.
3001         (WebCore::dataFunctioni): Ditto.
3002         (WebCore::dataFunctionMatrix): Ditto.
3003
3004 2013-09-21  Sam Weinig  <sam@webkit.org>
3005
3006         Event and EventTarget interfaces don't need to be store as AtomicStrings
3007         https://bugs.webkit.org/show_bug.cgi?id=121751
3008
3009         Reviewed by Andreas Kling.
3010
3011         Convert the Event and EventTarget interface identifiers from AtomicStrings to enums. They
3012         are not extensible and not exposed as Strings anywhere.
3013
3014         * Files elided *
3015
3016 2013-09-21  Darin Adler  <darin@apple.com>
3017
3018         Add ExecState::uncheckedArgument and use where possible to shrink a bit
3019         https://bugs.webkit.org/show_bug.cgi?id=121750
3020
3021         Reviewed by Andreas Kling.
3022
3023         * bindings/js/JSHTMLCanvasElementCustom.cpp:
3024         (WebCore::JSHTMLCanvasElement::probablySupportsContext): Already checked count.
3025         (WebCore::JSHTMLCanvasElement::toDataURL): Ditto.
3026         * bindings/js/JSHTMLDocumentCustom.cpp:
3027         (WebCore::documentWrite): In a loop.
3028         * bindings/js/JSInjectedScriptHostCustom.cpp:
3029         (WebCore::JSInjectedScriptHost::inspectedObject): Already checked count.
3030         (WebCore::JSInjectedScriptHost::internalConstructorName): Ditto.
3031         (WebCore::JSInjectedScriptHost::isHTMLAllCollection): Ditto.
3032         (WebCore::JSInjectedScriptHost::type): Ditto.
3033         (WebCore::JSInjectedScriptHost::functionDetails): Ditto.
3034         (WebCore::JSInjectedScriptHost::getEventListeners): Ditto.
3035         (WebCore::JSInjectedScriptHost::inspect): Ditto.
3036         (WebCore::JSInjectedScriptHost::databaseId): Ditto.
3037         (WebCore::JSInjectedScriptHost::storageId): Ditto.
3038         * bindings/js/JSSQLTransactionSyncCustom.cpp:
3039         (WebCore::JSSQLTransactionSync::executeSql): Ditto.
3040         * bindings/js/JSSVGLengthCustom.cpp:
3041         (WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto.
3042         * bindings/js/JSSharedWorkerCustom.cpp:
3043         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Ditto.
3044
3045         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3046         (WebCore::getObjectParameter): Already checked count.
3047         (WebCore::JSWebGLRenderingContext::getAttachedShaders): Removed tortured code
3048         to triply do the checking that the toWebGLProgram function already does, including
3049         spurious exception checking in code that can't create an exception. Also count is
3050         already checked.
3051         (WebCore::JSWebGLRenderingContext::getExtension): More of the same.
3052         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
3053         (WebCore::JSWebGLRenderingContext::getParameter): Ditto.
3054         (WebCore::JSWebGLRenderingContext::getProgramParameter): Ditto.
3055         (WebCore::JSWebGLRenderingContext::getShaderParameter): Ditto.
3056         (WebCore::JSWebGLRenderingContext::getUniform): Ditto.
3057         (WebCore::dataFunctionf): Ditto.
3058         (WebCore::dataFunctioni): Ditto.
3059         (WebCore::dataFunctionMatrix): Ditto.
3060
3061         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
3062         (WebCore::JSWorkerGlobalScope::importScripts): In a loop.
3063         * bindings/js/JSXMLHttpRequestCustom.cpp:
3064         (WebCore::JSXMLHttpRequest::open): Already checked. Also removed some unneeded
3065         argument count checks.
3066         (WebCore::JSXMLHttpRequest::send): Removed unneeded special case for 0 argument
3067         count that does the same thing as the undefined case, since asking for an
3068         argument past the count yields undefined.
3069
3070         * bindings/js/JSXSLTProcessorCustom.cpp:
3071         (WebCore::JSXSLTProcessor::setParameter): Already checked.
3072         (WebCore::JSXSLTProcessor::getParameter): Already checked.
3073         (WebCore::JSXSLTProcessor::removeParameter): Already checked.
3074
3075         * bindings/js/ScheduledAction.cpp:
3076         (WebCore::ScheduledAction::ScheduledAction): In a loop.
3077         * bindings/js/ScriptCallStackFactory.cpp:
3078         (WebCore::createScriptArguments): Ditto.
3079
3080         * bindings/scripts/CodeGeneratorJS.pm:
3081         (GenerateParametersCheck): Removed some excess argumentCount checks.
3082         Used uncheckedArgument in a few places. More needs to be done, especially for
3083         overloaded functions.
3084
3085         * bridge/c/c_instance.cpp:
3086         (JSC::Bindings::CInstance::invokeMethod): In a loop.
3087         (JSC::Bindings::CInstance::invokeDefaultMethod): Ditto.
3088         * bridge/objc/objc_instance.mm:
3089         (ObjcInstance::invokeObjcMethod): Ditto.
3090         (ObjcInstance::invokeDefaultMethod): Ditto.
3091
3092         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3093         * bindings/scripts/test/JS/JSTestObj.cpp:
3094         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3095         Updated.
3096
3097 2013-09-21  Jon Lee  <jonlee@apple.com>
3098
3099         Fix Obj-C bindings test expectations.
3100         Unreviewed.
3101
3102         Bindings tests failed with r156232, from https://bugs.webkit.org/show_bug.cgi?id=121745.
3103
3104         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3105         (-[DOMTestObj reflectedStringAttr]): Update test expectations.
3106
3107 2013-09-21  Andreas Kling  <akling@apple.com>
3108
3109         Node: FINAL-ize EventTarget overrides.
3110         <https://webkit.org/b/121748>
3111
3112         Reviewed by Darin Adler.
3113
3114         Mark the following Node functions FINAL:
3115
3116             - scriptExecutionContext()
3117             - eventTargetData()
3118             - ensureEventTargetData()
3119
3120         This devirtualizes a myriad of generated calls in the JSC bindings.
3121
3122 2013-09-21  Andreas Kling  <akling@apple.com>
3123
3124         Don't bloat Obj-C bindings with inlined attribute retrieval.
3125         <https://webkit.org/b/121745>
3126
3127         Reviewed by Anders Carlsson.
3128
3129         Hack bindings generator to always use getAttribute() for Objective-C.
3130         Reduces WebCore binary size by 25120 bytes.
3131
3132 2013-09-20  Darin Adler  <darin@apple.com>
3133
3134         Shink attribute event listener code
3135         https://bugs.webkit.org/show_bug.cgi?id=121735
3136
3137         Reviewed by Antti Koivisto.
3138
3139         * GNUmakefile.list.am: Eliminate ScriptEventListener source files.
3140         * Target.pri: Ditto.
3141         * UseJSC.cmake: Ditto.
3142         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
3143         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
3144         * WebCore.xcodeproj/project.pbxproj: Ditto.
3145         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
3146
3147         * bindings/js/JSDOMGlobalObject.h: Removed unneeded forward declarations
3148         of JSEventListener and JSLazyEventListener.
3149
3150         * bindings/js/JSLazyEventListener.cpp:
3151         (WebCore::JSLazyEventListener::JSLazyEventListener): Changed type to
3152         ContainerNode because the node pointer is only ever used for elements
3153         and documents.
3154         (WebCore::eventParameterName): Moved this function here from
3155         ScriptEventListener.cpp, but also rewrote to use NeverDestroyed.
3156         (WebCore::JSLazyEventListener::createForNode): Moved this function
3157         here from ScriptEventListener.cpp, cleaned up a bit.
3158         (WebCore::JSLazyEventListener::createForDOMWindow): Ditto.
3159
3160         * bindings/js/JSLazyEventListener.h: Replaced the old create function
3161         with two new create functions we can use directly. Also used some
3162         OVERRIDE, some FINAL, and a bit of WTF_DELETED_FUNCTION so we don't
3163         accidentally call create and create a non-lazy listener.
3164
3165         * bindings/js/ScriptEventListener.cpp: Removed.
3166         * bindings/js/ScriptEventListener.h: Removed.
3167
3168         * dom/ContainerNode.cpp:
3169         (WebCore::ContainerNode::setAttributeEventListener): Added.
3170         Calls JSLazyEventListener::createForNode and then calls the other
3171         overload of setAttributeEventListener, to obviate having more code
3172         at the call site.
3173         * dom/ContainerNode.h: Added overload of setAttributeEventListener
3174         for convenient use in Document and Element implementations.
3175
3176         * dom/Document.cpp:
3177         (WebCore::Document::prepareForDestruction): Use m_domWindow instead
3178         of the domWindow() function.
3179         (WebCore::Document::removeAllEventListeners): Ditto.
3180         (WebCore::Document::errorEventTarget): Ditto.
3181         (WebCore::Document::takeDOMWindowFrom): Ditto.
3182         (WebCore::Document::setWindowAttributeEventListener): Ditto. Also
3183         added an overload that calls JSLazyEventListener::createForDOMWindow.
3184         (WebCore::Document::getWindowAttributeEventListener): Use m_domWindow.
3185         (WebCore::Document::dispatchWindowEvent): Ditto.
3186         (WebCore::Document::dispatchWindowLoadEvent): Ditto.
3187         (WebCore::Document::enqueueWindowEvent): Ditto.
3188         (WebCore::Document::enqueuePopstateEvent): Ditto.
3189         * dom/Document.h: Added overload of setWindowAttributeEventListener.
3190
3191         * html/HTMLBodyElement.cpp: Removed unnneded include.
3192         (WebCore::HTMLBodyElement::parseAttribute): Removed all the calls to
3193         createAttributeEventListener, and use the setAttributeEventListener
3194         overloads instead.
3195         * html/HTMLButtonElement.cpp: Ditto.
3196         * html/HTMLElement.cpp:
3197         (WebCore::HTMLElement::parseAttribute): Ditto.
3198         * html/HTMLFormControlElement.cpp: Ditto.
3199         * html/HTMLFormElement.cpp: Ditto.
3200         * html/HTMLFrameElementBase.cpp:
3201         (WebCore::HTMLFrameElementBase::parseAttribute): Ditto.
3202         * html/HTMLFrameSetElement.cpp:
3203         (WebCore::HTMLFrameSetElement::parseAttribute): Ditto.
3204         * html/HTMLImageElement.cpp:
3205         (WebCore::HTMLImageElement::parseAttribute): Ditto.
3206         * html/HTMLInputElement.cpp:
3207         (WebCore::HTMLInputElement::parseAttribute): Ditto.
3208         * html/HTMLLinkElement.cpp:
3209         (WebCore::HTMLLinkElement::parseAttribute): Ditto.
3210         * html/HTMLMediaElement.cpp:
3211         (WebCore::HTMLMediaElement::parseAttribute): Ditto.
3212         * html/HTMLObjectElement.cpp:
3213         (WebCore::HTMLObjectElement::parseAttribute): Ditto.
3214         * html/HTMLScriptElement.cpp:
3215         (WebCore::HTMLScriptElement::parseAttribute): Ditto.
3216         * html/HTMLSelectElement.cpp: Ditto.
3217         * html/HTMLStyleElement.cpp: Ditto.
3218         * html/HTMLTextFormControlElement.cpp: Ditto.
3219         * html/HTMLTrackElement.cpp: Ditto.
3220         * html/track/LoadableTextTrack.cpp: Ditto.
3221         * svg/SVGElement.cpp:
3222         (WebCore::SVGElement::parseAttribute): Ditto.
3223         * svg/SVGSVGElement.cpp:
3224         (WebCore::SVGSVGElement::parseAttribute): Ditto.
3225         * svg/SVGScriptElement.cpp:
3226         (WebCore::SVGScriptElement::parseAttribute): Ditto.
3227
3228         * inspector/InspectorDOMAgent.cpp:
3229         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
3230         Moved the code here to dig inside a JSEventListener for things like
3231         the source location. This used to be spread across multiple function
3232         calls in ScriptEventListener.h, which were doing and redoing the same
3233         things, so better to just get it all at once.
3234
3235         * html/parser/XSSAuditor.cpp:
3236         (WebCore::XSSAuditor::init): Fixed "minium" typo.
3237
3238 2013-09-21  Anders Carlsson  <andersca@apple.com>
3239
3240         Don't store the "processing-instruction" string for PI tokens in the XPath parser
3241         https://bugs.webkit.org/show_bug.cgi?id=121746
3242
3243         Reviewed by Antti Koivisto.
3244
3245         For PI tokens, the string is always going to be "processing-instruction", and it's never used so we don't need to save it.
3246
3247         * xml/XPathGrammar.y:
3248         * xml/XPathParser.cpp:
3249         (Parser::nextTokenInternal):
3250         (Parser::lex):
3251
3252 2013-09-21  Patrick Gansterer  <paroga@webkit.org>
3253
3254         Handle windows lineendings in makeprop.pl after r155511
3255         https://bugs.webkit.org/show_bug.cgi?id=121740
3256
3257         Reviewed by Ryosuke Niwa.
3258
3259         Check for an optinal \r at the end of a line in regular expressions
3260         to make it work again on native windows machines which use CRLF.
3261
3262         * css/makeprop.pl:
3263
3264 2013-09-21  Andreas Kling  <akling@apple.com>
3265
3266         Re-inline some hot ElementData functions.
3267         <https://webkit.org/b/121743>
3268
3269         Reviewed by Antti Koivisto.
3270
3271         Make the following functions inline again:
3272
3273             - deref()
3274             - addAttribute()
3275             - removeAttribute()
3276             - attributeAt()
3277
3278         They were out-of-lined in r154249 and perf.webkit.org reports a 1.4%
3279         regression on the html5 spec for that revision. This'll hopefully steer
3280         the graph back in the right direction.
3281
3282 2013-09-21  Tim Horton  <timothy_horton@apple.com>
3283
3284         GeneratorGeneratedImage should be called GradientImage
3285         https://bugs.webkit.org/show_bug.cgi?id=121085
3286
3287         Reviewed by Simon Fraser.
3288
3289         No new tests, just a refactor.
3290
3291         r150053 removed the concept of a Generator, making GeneratorGeneratedImage
3292         take a Gradient. This leaves GeneratorGeneratedImage's name not making a
3293         whole lot of sense, so let's rename it to GradientImage.
3294
3295         * CMakeLists.txt:
3296         * GNUmakefile.list.am:
3297         * Target.pri:
3298         * WebCore.vcxproj/WebCore.vcxproj:
3299         * WebCore.vcxproj/WebCore.vcxproj.filters:
3300         * WebCore.xcodeproj/project.pbxproj:
3301         * css/CSSGradientValue.cpp:
3302         (WebCore::CSSGradientValue::image):
3303         * platform/graphics/BitmapImage.h:
3304         * platform/graphics/GradientImage.cpp: Renamed from Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp.
3305         (WebCore::GradientImage::draw):
3306         (WebCore::GradientImage::drawPattern):
3307         * platform/graphics/GradientImage.h: Renamed from Source/WebCore/platform/graphics/GeneratorGeneratedImage.h.
3308         * platform/graphics/Image.h:
3309         * platform/graphics/ImageBuffer.h:
3310         Rename.
3311
3312         * css/CSSImageGeneratorValue.cpp:
3313         (WebCore::CSSImageGeneratorValue::cachedImageForSize):
3314         (WebCore::CSSImageGeneratorValue::saveCachedImageForSize):
3315         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
3316         * css/CSSImageGeneratorValue.h:
3317         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::image):
3318         Drive-by, the CSSImageGeneratorValue generated image cache should be
3319         in terms of GeneratedImage, not a random subclass, regardless
3320         of the fact that it's only used for GradientImage as of yet.
3321
3322 2013-09-21  Darin Adler  <darin@apple.com>
3323
3324         Shrink valueForBasicShape by removing repeated calls to cssValuePool()
3325         https://bugs.webkit.org/show_bug.cgi?id=121736
3326
3327         Reviewed by Sam Weinig.
3328
3329         * css/BasicShapeFunctions.cpp:
3330         (WebCore::valueForBasicShape): Put the pool into a local variable and use that.
3331
3332 2013-09-20  Darin Adler  <darin@apple.com>
3333
3334         Another CSS parser leak fix
3335         https://bugs.webkit.org/show_bug.cgi?id=121730
3336
3337         Reviewed by Alexey Proskuryakov.
3338
3339         * css/CSSGrammar.y.in: Added a missing adoptPtr.
3340
3341 2013-09-20  Alexey Proskuryakov  <ap@apple.com>
3342
3343         Handle panning gestures messages properly on Windows
3344         https://bugs.webkit.org/show_bug.cgi?id=121711
3345
3346         Follow-up fix: five regression tests started to crash on Mac.
3347
3348         Reviewed by Anders Carlsson.
3349
3350         * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollByRecursively):
3351         Added null checks, not all callers are interested in scrolled view pointer.
3352
3353 2013-09-20  Ryosuke Niwa  <rniwa@webkit.org>
3354
3355         Bad cast from CSSInitialValue to CSSValueList
3356         https://bugs.webkit.org/show_bug.cgi?id=121729
3357
3358         Reviewed by Beth Dakin.
3359
3360         Merge https://chromium.googlesource.com/chromium/blink/+/fcfaa51f9207b32cffe751c1a1380a921e464cbb
3361
3362         The issue was that we would cast to CSSValueList without checking
3363         the type of the CSSValue. After this change, we use the ASSERT'ing
3364         cast and explicitly check the type of the CSSValue before the cast.
3365
3366         Test: fast/css/crash-inherit-value-font-family.html
3367
3368         * css/CSSParser.cpp:
3369         (WebCore::CSSParser::parseFontFaceValue):
3370
3371 2013-09-20  Zoltan Horvath  <zoltan@webkit.org>
3372
3373         Remove includes from LineWidth.h
3374         https://bugs.webkit.org/show_bug.cgi?id=121716
3375
3376         Reviewed by Darin Adler.
3377
3378         In r156197 I removed logicalLineHeight from LineWidth.h, so we don't need to include RenderBlock.h
3379         and RenderRubyRun.h anymore in LineWidth.h.
3380
3381         No new tests, no behavior change.
3382
3383         * rendering/LineWidth.cpp:
3384         * rendering/LineWidth.h:
3385
3386 2013-09-20  Roger Fong  <roger_fong@apple.com>
3387
3388         Handle panning gestures messages properly on Windows.
3389         https://bugs.webkit.org/show_bug.cgi?id=121711.
3390
3391         Reviewed by Brent Fulgham.
3392
3393         This is needed by the Windows port to keep track to determine whether or not
3394         we need to overpan.
3395
3396         No new functionality added.
3397
3398         * rendering/RenderLayer.cpp:
3399         (WebCore::RenderLayer::scrollByRecursively):
3400         * rendering/RenderLayer.h: 
3401         Added an argument to keep track of which scrollview was actually scrolled
3402
3403 2013-09-20  Alexandru Chiculita  <achicu@adobe.com>
3404
3405         Web Inspector: [CSS Regions] Display CSS Regions chain when highlighting a CSS Region node
3406         https://bugs.webkit.org/show_bug.cgi?id=121719
3407
3408         Reviewed by Joseph Pecoraro.
3409
3410         Test: inspector/elements/highlight-node-regions.html
3411
3412         When a CSS Region node is highlighted through the WebInspector, it will also lookup all the regions
3413         that are part of the same flow and inject enough information into InspectorOverlayPage.js to get the other
3414         CSS Regions highlighted as well. A chain will also link the regions and a number will display the ordering
3415         of the content.
3416
3417         * WebCore.exp.in:
3418         * inspector/InspectorController.cpp:
3419         (WebCore::InspectorController::buildObjectForHighlightedNode):
3420         * inspector/InspectorController.h:
3421         * inspector/InspectorOverlay.cpp:
3422         (WebCore::buildObjectForRegionHighlight):
3423         (WebCore::buildObjectForCSSRegionsHighlight):
3424         (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
3425         (WebCore::InspectorOverlay::drawNodeHighlight): Separated the InspectorObject building part out of this function,
3426         so that we can call buildObjectForHighlightedNode from the Internals APIs for testing.
3427         * inspector/InspectorOverlay.h:
3428         * inspector/InspectorOverlayPage.js:
3429         (_drawRegionNumber):
3430         (_quadMidPoint):
3431         (_drawRegionLink):
3432         (_fixQuadScrollPosition):
3433         (_drawRegionsHighlight):
3434         (drawNodeHighlight):
3435         * testing/Internals.cpp: Exposed the generated InspectorObject to the layout test.
3436         (WebCore::Internals::inspectorHighlightObject):
3437         * testing/Internals.h:
3438         * testing/Internals.idl:
3439
3440 2013-09-20  Commit Queue  <commit-queue@webkit.org>
3441
3442         Unreviewed, rolling out r156185.
3443         http://trac.webkit.org/changeset/156185
3444         https://bugs.webkit.org/show_bug.cgi?id=121727
3445
3446         Caused a lot of crashes in tests (Requested by ap on #webkit).
3447
3448         * dom/Document.cpp:
3449         (WebCore::Document::Document):
3450         (WebCore::Document::recalcStyle):
3451         (WebCore::Document::updateLayout):
3452         * dom/Document.h:
3453
3454 2013-09-20  Dean Jackson  <dino@apple.com>
3455
3456         Shaders that fail to compile should be marked as such
3457         https://bugs.webkit.org/show_bug.cgi?id=121721
3458